/* Every rule is scoped to this plugin. No global reset, web fonts or layout changes. */
.tzvr {
  --tzvr-ink: #47313e;
  --tzvr-muted: #725b68;
  --tzvr-pink: #a33369;
  --tzvr-line: #edd8e3;
  --tzvr-soft: #fff7fb;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  font-family: inherit;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--tzvr-ink);
  text-align: left;
  letter-spacing: normal;
}
.tzvr *, .tzvr *::before, .tzvr *::after { box-sizing: border-box; }
.tzvr [hidden] { display: none !important; }
.tzvr p { margin: 0; font: inherit; color: inherit; text-transform: none; }
.tzvr h2, .tzvr h3 { margin: 0; font-family: inherit; font-style: normal; text-transform: none; letter-spacing: -.025em; color: var(--tzvr-ink); }
.tzvr h2 { font-size: clamp(23px, 2.5vw, 30px); font-weight: 650; line-height: 1.25; }
.tzvr h3 { font-size: 18px; font-weight: 650; line-height: 1.4; }
.tzvr strong { font-family: inherit; font-weight: 650; color: inherit; }
.tzvr a { color: var(--tzvr-pink); text-decoration: none; box-shadow: none; }
.tzvr a:hover { color: #75234a; text-decoration: underline; }
.tzvr a::before, .tzvr a::after { content: none; }
.tzvr a:focus-visible, .tzvr button:focus-visible, .tzvr summary:focus-visible { outline: 3px solid #a33369; outline-offset: 4px; }
.tzvr-panel {
  clear: both;
  margin: 26px 0;
  padding: clamp(16px, 3vw, 30px);
  border: 1px solid var(--tzvr-line);
  border-radius: 22px;
  background: linear-gradient(130deg, #fff8fc 0%, #fff1f7 70%, #f8f0ff 100%);
  box-shadow: 0 6px 24px rgba(94, 37, 70, .035);
}
.tzvr-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-bottom: 21px; }
.tzvr-panel__head > div:first-child { min-width: 0; max-width: 600px; }
.tzvr .tzvr-eyebrow { display: block; margin: 0 0 7px; font-family: inherit; font-size: 10px; font-weight: 700; line-height: 1.5; color: #8b496a; letter-spacing: .09em; }
.tzvr-panel__head h2 + p { margin-top: 8px; color: var(--tzvr-muted); font-size: 14px; }
.tzvr-summary { flex: 0 0 auto; min-width: 150px; padding-left: 24px; border-left: 1px solid #e8cddd; text-align: center; }
.tzvr-summary__number { font-size: 38px; font-weight: 650; line-height: 1.05; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.tzvr-summary__number > span { font-size: 16px; font-weight: 400; color: var(--tzvr-muted); letter-spacing: 0; }
.tzvr-summary .tzvr-stars { margin-top: 6px; }
.tzvr-summary > p { font-size: 11px; color: var(--tzvr-muted); margin-top: 4px; }
.tzvr-summary__empty { font-size: 32px; color: var(--tzvr-pink); }
.tzvr .tzvr-stars { position: relative; display: inline-block; vertical-align: middle; width: max-content; max-width: none; font-family: Arial, sans-serif; font-size: 19px; font-style: normal; font-weight: 400; line-height: 1.2; letter-spacing: 2px; color: #e3c3d3; white-space: nowrap; }
.tzvr .tzvr-stars__fill { position: absolute; display: block; top: 0; left: 0; height: 100%; overflow: hidden; color: #a43c72; white-space: nowrap; }
.tzvr-trust { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 18px; padding: 13px 15px; background: rgba(255,255,255,.66); border: 1px solid #eed9e4; border-radius: 13px; }
.tzvr-trust > span { display: grid; place-items: center; flex-shrink: 0; width: 27px; height: 27px; border-radius: 50%; background: #f5e2ed; color: #843052; font-size: 16px; font-weight: 700; }
.tzvr-trust strong { display: block; font-size: 13px; line-height: 1.4; }
.tzvr-trust p { margin-top: 3px; color: var(--tzvr-muted); font-size: 12px; line-height: 1.6; }
.tzvr-list { display: grid; gap: 12px; }
.tzvr-card { display: grid; grid-template-columns: minmax(140px, 21%) minmax(0, 1fr); gap: 22px; padding: 20px; min-width: 0; margin: 0; background: #fff; border: 1px solid #eee1e8; border-radius: 16px; box-shadow: 0 2px 8px rgba(82,37,63,.025); }
.tzvr .tzvr-product { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; min-width: 0; padding: 0 18px 0 0; border-right: 1px solid #f0e5ec; color: var(--tzvr-ink); text-align: left; }
.tzvr-product > span:not(.tzvr-product__placeholder) { min-width: 0; }
.tzvr .tzvr-product__image, .tzvr .tzvr-product > img { display: block; position: static; width: 62px; height: 62px; min-width: 62px; margin: 0; object-fit: cover; border: 1px solid #eedbe5; border-radius: 12px; opacity: 1; }
.tzvr .tzvr-product__placeholder { display: grid; place-items: center; width: 62px; height: 62px; flex-shrink: 0; border: 1px solid #ebd5e4; border-radius: 12px; background: radial-gradient(ellipse at 35% 15%, #fff 0%, #f1d1e3 80%); font-size: 33px; line-height: 1; color: #98406c; }
.tzvr-product .tzvr-eyebrow { font-size: 9px; margin-bottom: 3px; }
.tzvr .tzvr-product__name { display: block; font-size: 13px; font-weight: 650; line-height: 1.5; overflow-wrap: anywhere; }
.tzvr-product__hint { display: block; margin-top: 5px; font-size: 10px; line-height: 1.5; color: #95617c; }
.tzvr-card__main { min-width: 0; }
.tzvr-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.tzvr-card__identity { display: flex; align-items: center; gap: 9px; min-width: 0; }
.tzvr-avatar { display: grid; place-items: center; width: 33px; height: 33px; flex-shrink: 0; border-radius: 50%; background: #f9edf3; color: #a94b7a; font-size: 18px; }
.tzvr .tzvr-alias { display: block; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.tzvr .tzvr-badge { display: inline-flex; align-items: center; gap: 4px; width: fit-content; max-width: 100%; margin: 2px 0 0; color: #854365; font-size: 10px; font-weight: 600; line-height: 1.5; }
.tzvr-card__rating { display: flex; align-items: center; flex-shrink: 0; gap: 7px; padding-top: 2px; }
.tzvr-card__rating .tzvr-stars { font-size: 16px; letter-spacing: 1px; }
.tzvr-card__rating > span:last-child { color: var(--tzvr-muted); font-size: 11px; }
.tzvr .tzvr-anonymity { margin-top: 9px; color: var(--tzvr-muted); font-size: 11px; line-height: 1.65; }
.tzvr .tzvr-body { margin: 12px 0 0; color: #493c45; font-size: 14px; line-height: 1.75; overflow-wrap: anywhere; white-space: normal; text-align: left; }
.tzvr-dates { display: flex; flex-wrap: wrap; gap: 3px 16px; margin-top: 12px; color: var(--tzvr-muted); font-size: 10px; line-height: 1.6; }
.tzvr .tzvr-small { font-size: 11px; line-height: 1.7; color: var(--tzvr-muted); }
.tzvr-card .tzvr-small { margin-top: 7px; }
.tzvr-reply { margin-top: 13px; padding: 11px 13px; border-left: 2px solid #dca3c0; border-radius: 0 9px 9px 0; background: #fbf5f8; }
.tzvr-reply > strong { font-size: 11px; }
.tzvr-reply > p { margin-top: 3px; font-size: 12px; overflow-wrap: anywhere; }
.tzvr .tzvr-empty { padding: 18px 12px; text-align: center; }
.tzvr-empty > strong { display: block; font-size: 15px; }
.tzvr-empty > p { margin-top: 7px; font-size: 13px; color: var(--tzvr-muted); }
.tzvr-panel__bottom { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px 22px; margin-top: 18px; }
.tzvr .tzvr-button { display: inline-flex; position: relative; align-items: center; justify-content: center; min-height: 42px; width: auto; height: auto; max-width: 100%; gap: 5px; margin: 0; padding: 10px 17px; background: #983260; color: #fff; border: 1px solid #983260; border-radius: 10px; box-shadow: none; font-family: inherit; font-size: 12px; font-weight: 600; font-style: normal; letter-spacing: 0; line-height: 1.5; text-align: center; text-transform: none; text-decoration: none; white-space: normal; cursor: pointer; transition: background .15s ease; }
.tzvr .tzvr-button:hover { background: #7f2850; border-color: #7f2850; color: #fff; text-decoration: none; }
.tzvr .tzvr-button--light { background: #fff; border-color: #dab2c7; color: #88305a; }
.tzvr .tzvr-button--light:hover { background: #fbebf3; border-color: #cd8faf; color: #702447; }
.tzvr .tzvr-button[aria-disabled="true"], .tzvr .tzvr-button:disabled { opacity: .6; cursor: wait; }
.tzvr .tzvr-textlink { display: inline-block; color: #8a365e; font-size: 12px; font-weight: 600; }
.tzvr-how { margin-top: 19px; padding-top: 13px; border-top: 1px solid #ecd6e1; }
.tzvr-how > summary { cursor: pointer; font-size: 11px; color: #755060; line-height: 1.6; }
.tzvr-how > p { margin-top: 9px; font-size: 11px; color: var(--tzvr-muted); line-height: 1.75; }
.tzvr-demo-banner { margin-bottom: 20px; padding: 11px 13px; border: 1px solid #cdb391; border-radius: 9px; background: #fff6e6; font-size: 12px; color: #664923; }
.tzvr-account { margin: 18px 0; padding: clamp(16px, 3vw, 25px); border: 1px solid #edd7e3; border-radius: 16px; background: #fff8fb; }
.tzvr-account > p { margin-top: 9px; font-size: 13px; }
.tzvr-account > .tzvr-small { margin-top: 15px; }
.tzvr-order-list { margin: 18px 0 10px; }
.tzvr-order-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid #eedee7; padding: 12px 0; font-size: 13px; }
.tzvr-order-row small { display: block; font-size: 11px; color: #725b68; }
.tzvr-form-card { margin-top: 17px; padding: 18px; border: 1px solid #ead8e3; border-radius: 12px; background: #fff; }
.tzvr-form-card > h3 { margin-bottom: 13px; }
.tzvr .tzvr-form { margin: 0; padding: 0; }
.tzvr .tzvr-rating-picker { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 16px; padding: 0; border: 0; min-width: 0; }
.tzvr-rating-picker > legend { display: block; width: 100%; padding: 0 0 8px; font-family: inherit; font-size: 13px; font-weight: 600; color: var(--tzvr-ink); }
.tzvr-rating-picker > label { display: block; position: relative; margin: 0; cursor: pointer; }
.tzvr-rating-picker > label > input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.tzvr-rating-picker > label > span:not(.tzvr-sr-only) { display: block; min-width: 46px; padding: 9px; border: 1px solid #d9b7ca; border-radius: 8px; color: #864766; font-size: 15px; text-align: center; background: #fff; }
.tzvr-rating-picker input:checked + span { color: #fff !important; background: #983260 !important; border-color: #983260 !important; }
.tzvr-rating-picker input:focus-visible + span { outline: 3px solid #ad3f77; outline-offset: 3px; }
.tzvr .tzvr-field-label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 600; }
.tzvr .tzvr-form textarea { display: block; width: 100%; min-height: 115px; padding: 12px; margin: 0; border: 1px solid #d8bdcc; border-radius: 9px; background: #fff; color: var(--tzvr-ink); font-family: inherit; font-size: 16px; line-height: 1.6; resize: vertical; box-shadow: none; }
.tzvr .tzvr-form textarea:focus { outline: 2px solid #a74776; outline-offset: 2px; }
.tzvr .tzvr-consent { display: flex; align-items: flex-start; gap: 9px; margin: 15px 0; color: var(--tzvr-muted); font-size: 12px; line-height: 1.7; cursor: pointer; }
.tzvr-consent > input { flex: 0 0 auto; width: 16px; height: 16px; margin: 4px 0 0; accent-color: #983260; }
.tzvr-form-preview { margin: 12px 0; padding: 15px; border: 1px solid #e7cfdd; border-radius: 10px; background: #fff7fb; }
.tzvr-form-preview > .tzvr-button { margin-top: 13px; }
.tzvr .tzvr-success { margin: 14px 0; padding: 12px; border: 1px solid #b5d9c7; border-radius: 9px; background: #f1faf6; color: #2d624b; }
.tzvr .tzvr-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.woocommerce a.button.tzvr-review { background: #f8e8f0; color: #88305a; border: 1px solid #e3bace; }
.tzvr-admin { max-width: 1150px; }
.tzvr-admin-box { padding: 20px; margin: 20px 0; background: #fff; border: 1px solid #dedede; border-radius: 12px; }
.tzvr-admin-box > h2:first-child { margin-top: 0; }
.tzvr-admin-tabs { margin: 15px 0; }
.tzvr-admin-tabs > .button { margin-bottom: 5px; }
.tzvr-admin-text { white-space: pre-wrap; overflow-wrap: anywhere; background: #faf8fa; padding: 15px; border-radius: 8px; }
@media (max-width: 760px) {
  .tzvr-card { grid-template-columns: minmax(112px, 22%) minmax(0, 1fr); padding: 16px; gap: 17px; }
  .tzvr-panel__head { gap: 16px; }
  .tzvr-summary { min-width: 126px; padding-left: 16px; }
  .tzvr-card__top { flex-wrap: wrap; gap: 8px; }
}
@media (max-width: 540px) {
  .tzvr-panel { padding: 16px 12px; margin: 20px 0; border-radius: 17px; }
  .tzvr-panel__head { flex-direction: column; align-items: stretch; gap: 14px; padding: 2px 3px 16px; }
  .tzvr-panel__head h2 { font-size: 25px; }
  .tzvr-summary { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; padding: 11px 0 0; min-width: 0; border-left: 0; border-top: 1px solid #e8cddd; text-align: left; }
  .tzvr-summary__number { font-size: 31px; }
  .tzvr-summary .tzvr-stars { margin: 0; }
  .tzvr-summary > p { margin: 0; font-size: 11px; }
  .tzvr-trust { padding: 11px; gap: 9px; }
  .tzvr-card { display: flex; flex-direction: column; gap: 13px; padding: 14px; border-radius: 12px; }
  .tzvr .tzvr-product { flex-direction: row; align-items: center; gap: 10px; padding: 0 0 12px; border-right: 0; border-bottom: 1px solid #f0e5ec; }
  .tzvr .tzvr-product__image, .tzvr .tzvr-product > img, .tzvr .tzvr-product__placeholder { width: 44px; height: 44px; min-width: 44px; font-size: 25px; border-radius: 9px; }
  .tzvr-product__hint { margin-top: 1px; }
  .tzvr-card__rating { margin-left: 42px; }
  .tzvr .tzvr-body { font-size: 14px; line-height: 1.75; }
  .tzvr-anonymity { font-size: 11px; }
  .tzvr-panel__bottom { flex-direction: column; gap: 13px; }
  .tzvr-form-card { padding: 14px 11px; }
  .tzvr-order-row { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { .tzvr .tzvr-button { transition: none; } }

/* 1.1.0 additions: scoped pagination, product context and explicitly editorial store notes. */
.tzvr .tzvr-toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; margin: 17px 0 8px; padding: 0; border: 0; }
.tzvr-toolbar label { display: grid; gap: 5px; margin: 0; min-width: 0; font: inherit; color: var(--tzvr-muted); font-size: 12px; }
.tzvr .tzvr-toolbar select { box-sizing: border-box; width: 100%; max-width: 100%; min-height: 42px; height: auto; margin: 0; padding: 9px 28px 9px 11px; border: 1px solid var(--tzvr-line); border-radius: 9px; background-color: #fff; color: var(--tzvr-ink); font-family: inherit; font-size: 14px; line-height: 1.35; text-transform: none; }
.tzvr .tzvr-sort-note { margin: 9px 0 17px; font-size: 12px; line-height: 1.65; color: var(--tzvr-muted); }
.tzvr .tzvr-context { display: grid; gap: 4px; padding: 13px 0 2px; font-size: 14px; }
.tzvr-context small { color: var(--tzvr-muted); font-size: 12px; }
.tzvr-summary > small { display: block; font-size: 10px; line-height: 1.5; color: var(--tzvr-muted); }
.tzvr .tzvr-group-label { margin: 9px 0 0; font-size: 16px; letter-spacing: 0; }
.tzvr-panel .tzvr-panel__bottom { flex-wrap: wrap; }
.tzvr .tzvr-pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 7px; margin: 6px 0; width: 100%; }
.tzvr-pagination > a, .tzvr-pagination__current, .tzvr-pagination .page-numbers { display: inline-flex; min-width: 38px; min-height: 38px; justify-content: center; align-items: center; padding: 6px 11px; border: 1px solid var(--tzvr-line); border-radius: 9px; background: #fff; color: var(--tzvr-pink); font: inherit; font-size: 13px; line-height: 1.35; text-decoration: none; }
.tzvr .tzvr-pagination__current, .tzvr-pagination .page-numbers.current { border-color: var(--tzvr-pink); background: var(--tzvr-pink); color: #fff; }
.tzvr-pagination > a:hover { background: #f9e5ef; }
.tzvr-pagination__gap { padding: 0 3px; color: var(--tzvr-muted); }
.tzvr-panel[aria-busy="true"] .tzvr-list { opacity: .6; }
.tzvr .tzvr-list:focus { outline: 0; }
.tzvr-privacy-notice { margin-bottom: 17px; padding: 13px 15px; border: 1px solid var(--tzvr-line); border-radius: 11px; background: #fff8fb; }
.tzvr-privacy-notice > strong { display: block; font-size: 14px; margin-bottom: 5px; }
.tzvr-privacy-notice > p { font-size: 13px; line-height: 1.65; color: var(--tzvr-muted); }
.tzvr-store-notes { margin: 25px 0; padding: 23px; border: 1px solid #e6dde5; border-radius: 18px; background: #faf7fa; }
.tzvr-store-note { box-shadow: none; background: #fff; }
.tzvr .tzvr-note-label { display: inline-block; padding: 5px 10px; background: #f2e9f0; border-radius: 7px; color: #744563; font-size: 13px; margin-bottom: 5px; }
.tzvr .tzvr-store-note .tzvr-body { margin-top: 12px; }
.tzvr-admin .tzvr-admin-disclosure { margin: 10px 0 18px; padding: 14px 17px; background: #fbf2f7; border: 1px solid #e8cbda; border-radius: 10px; color: #654253; }
.tzvr-admin .tzvr-admin-disclosure p { margin: 6px 0 0; }
.tzvr-admin .tzvr-product-results { display: flex; flex-wrap: wrap; gap: 6px; max-height: 260px; overflow-y: auto; }
.tzvr-admin [data-tzvr-selected-product] { display: block; margin-top: 5px; }
@media (max-width: 540px) {
  .tzvr .tzvr-toolbar { align-items: stretch; }
  .tzvr-toolbar label { flex: 1 1 100%; }
  .tzvr .tzvr-toolbar select { font-size: 16px; }
  .tzvr-toolbar > .tzvr-button { align-self: start; }
  .tzvr-store-notes { padding: 17px 12px; }
  .tzvr .tzvr-pagination { gap: 5px; }
  .tzvr-pagination > a, .tzvr-pagination__current { min-width: 34px; padding: 6px 8px; }
}

/* 1.1.1: a single service choice within a single order-review form. */
.tzvr .tzvr-form .tzvr-item-picker { box-sizing: border-box; display: block; width: 100%; max-width: 100%; min-height: 44px; margin: 0; padding: 10px; border: 1px solid #d8bdcc; border-radius: 9px; background: #fff; color: var(--tzvr-ink); font-family: inherit; font-size: 16px; line-height: 1.4; }
.tzvr .tzvr-form .tzvr-item-picker:focus { outline: 2px solid #a74776; outline-offset: 2px; }

/* 1.2.0: compact controls and private image-based order cards. */
.tzvr-panel .tzvr-toolbar--compact { align-items:center; gap:8px; margin:12px 0; }
.tzvr-toolbar--compact .tzvr-sort-control { display:block; flex:0 1 200px; min-width:0; }
.tzvr .tzvr-toolbar--compact select { min-height:42px; padding:8px 27px 8px 10px; font-size:13px; }
.tzvr-panel.tzvr-enhanced .tzvr-filter-apply { display:none; }
.tzvr .tzvr-filter-options { position:relative; flex:0 0 auto; margin:0; padding:0; border:0; }
.tzvr-filter-options > summary { display:flex; align-items:center; justify-content:center; min-height:42px; margin:0; padding:7px 12px; background:#fff; border:1px solid var(--tzvr-line); border-radius:9px; color:var(--tzvr-pink); cursor:pointer; font-size:12px; list-style:none; }
.tzvr-filter-options > summary::-webkit-details-marker { display:none; }
.tzvr-filter-options > summary::after { content:'⌄'; margin-left:7px; }
.tzvr-filter-options[open] > summary { background:#f8e5ef; }
.tzvr-filter-options > div { position:absolute; z-index:8; right:0; top:calc(100% + 5px); width:235px; max-width:76vw; padding:12px; background:#fff; border:1px solid #e7c9d9; border-radius:11px; box-shadow:0 6px 22px #74354f18; }
.tzvr .tzvr-context--compact { display:flex; flex-wrap:wrap; align-items:baseline; gap:3px 10px; padding:0; margin:0 0 7px; font-size:12px; }
.tzvr-context--compact > span { color:var(--tzvr-muted); }
.tzvr .tzvr-avatar { width:37px; height:37px; font-family:'Segoe UI Symbol','Apple Symbols',sans-serif; font-size:26px; line-height:1; }
.tzvr .tzvr-trust { padding:10px 12px; margin-bottom:12px; }
.tzvr .tzvr-trust p { line-height:1.5; }
.tzvr .tzvr-private-product { display:flex; align-items:center; gap:12px; width:100%; min-width:0; color:var(--tzvr-ink); text-align:left; }
.tzvr-private-product > span:last-child { display:grid; gap:3px; min-width:0; }
.tzvr-private-product strong { display:block; font-size:14px; line-height:1.4; overflow-wrap:anywhere; }
.tzvr-private-product small { font-size:9px; font-weight:600; letter-spacing:.08em; color:var(--tzvr-muted); }
.tzvr .tzvr-private-product > img, .tzvr .tzvr-choice-placeholder { display:block; flex:0 0 58px; width:58px; height:58px; max-width:58px; object-fit:cover; border:1px solid var(--tzvr-line); border-radius:10px; margin:0; }
.tzvr .tzvr-choice-placeholder { display:grid; place-items:center; color:#a34576; background:#f9edf4; font-size:28px; }
.tzvr .tzvr-product-choices { display:grid; gap:8px; padding:0; margin:0 0 8px; min-width:0; border:0; }
.tzvr-product-choices legend { margin:0 0 9px; padding:0; font-size:14px; font-weight:600; }
.tzvr .tzvr-product-choice { display:flex; align-items:center; gap:10px; padding:10px; margin:0; min-width:0; border:1px solid #e2cada; border-radius:11px; background:#fff; cursor:pointer; }
.tzvr-product-choice > input { flex:0 0 18px; width:18px; height:18px; margin:0; accent-color:#983260; }
.tzvr-product-choice > span { min-width:0; width:100%; }
.tzvr-product-choice:has(input:checked) { border-color:#ab467a; background:#fff5fa; box-shadow:0 0 0 1px #ab467a22; }
.tzvr-product-choice:focus-within { outline:2px solid #aa4677; outline-offset:2px; }
.tzvr .tzvr-single-product { padding:12px; border:1px solid #ecd4e2; border-radius:12px; margin:0 0 18px; background:#fff8fb; }
.tzvr .tzvr-form [data-tzvr-preview-product] { margin:14px 0; }
.tzvr .tzvr-rating-picker { margin-top:18px; }
.tzvr .tzvr-order-list { display:grid; gap:12px; margin:15px 0; }
.tzvr .tzvr-order-card { min-width:0; margin:0; padding:16px; border:1px solid #ebd7e3; border-radius:13px; background:#fff; }
.tzvr .tzvr-order-card.is-available { border-color:#d6a4bf; }
.tzvr-order-card__head { display:flex; flex-wrap:wrap; justify-content:space-between; gap:7px; margin-bottom:12px; font-size:11px; color:var(--tzvr-muted); }
.tzvr-order-state { background:#f6edf3; border-radius:6px; padding:3px 7px; }
.is-available .tzvr-order-state { color:#923865; background:#fae5f0; font-weight:600; }
.tzvr-order-products { display:grid; gap:9px; margin:0 0 12px; }
.tzvr .tzvr-available-banner { display:grid; gap:3px; padding:12px 14px; margin:16px 0 0; border:1px solid #dab8cb; border-radius:10px; background:#f8e9f2; }
.tzvr-available-banner strong { font-size:14px; }
.tzvr-available-banner span { font-size:12px; color:var(--tzvr-muted); }
.tzvr .tzvr-opportunity { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; margin:20px 0 10px; padding:16px; background:#f8e6f0; border:1px solid #dfb6cc; border-radius:12px; }
.tzvr-opportunity > div { min-width:0; flex:1 1 260px; }
.tzvr-opportunity p { margin:4px 0 10px; font-size:12px; }
.tzvr-opportunity .tzvr-order-products { margin-bottom:0; }
.tzvr .tzvr-other-orders { margin-top:12px; }
@media (max-width:540px) {
  .tzvr-panel .tzvr-panel__head { gap:10px; padding-bottom:12px; }
  .tzvr-panel .tzvr-panel__head h2 { font-size:23px; }
  .tzvr .tzvr-panel__head .tzvr-eyebrow { font-size:9px; margin-bottom:4px; }
  .tzvr .tzvr-summary { padding-top:9px; gap:5px 9px; }
  .tzvr .tzvr-summary > small { width:100%; }
  .tzvr-panel .tzvr-toolbar--compact { flex-wrap:nowrap; gap:7px; margin:10px 0; }
  .tzvr-toolbar--compact label.tzvr-sort-control { flex:1 1 170px; min-width:0; max-width:235px; }
  .tzvr .tzvr-toolbar--compact select { font-size:16px; min-height:44px; }
  .tzvr .tzvr-filter-options { flex:0 0 auto; }
  .tzvr .tzvr-filter-options > summary { min-height:44px; padding:7px 10px; }
  .tzvr-toolbar--compact .tzvr-filter-apply { padding:9px; font-size:11px; }
  .tzvr .tzvr-card__rating { margin-left:46px; }
  .tzvr .tzvr-privacy-notice { padding:10px; margin-bottom:14px; }
  .tzvr-private-product strong { font-size:13px; }
  .tzvr .tzvr-order-card { padding:12px; }
  .tzvr .tzvr-order-card > .tzvr-button { width:100%; }
  .tzvr .tzvr-opportunity > .tzvr-button { width:100%; }
}

/* Saved zodiac is an informational icon, not another field or approval step. */
.tzvr .tzvr-identity-notice{display:flex;align-items:center;gap:8px;font-size:12px;margin:6px 0 0;line-height:1.45}
.tzvr .tzvr-identity-notice>[role="img"]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#fff3f8;color:#973967;font:24px/1 Georgia,serif}
