/* Shared public review UI: product summary, product review list, Home CTAs and modal. */
body.review-modal-open{overflow:hidden}
.product-review-summary{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin:.4rem 0 1rem;font-size:.9rem;color:var(--storefront-muted)}
.product-review-summary__link{display:inline-flex;align-items:center;gap:.45rem;color:inherit;text-decoration:none}
.product-review-summary__link:hover,.product-review-summary__link:focus-visible,.product-review-summary__add:hover,.product-review-summary__add:focus-visible{color:var(--storefront-accent)}
.product-review-summary__star{color:var(--storefront-accent);font-size:1.05rem}
.product-review-summary__add{appearance:none;border:0;background:transparent;padding:0;color:var(--storefront-text);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.product-template-reviews{scroll-margin-top:110px}
.product-template-reviews:focus{outline:none}
.product-reviews-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:2rem}
.product-reviews-heading h2{margin:.3rem 0 0}
.product-reviews-heading__summary{margin:.55rem 0 0;color:var(--storefront-muted)}
.product-reviews-heading__summary span,.product-review-card__stars{color:var(--storefront-accent)}
.product-review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.product-review-card{padding:1.35rem;border:1px solid color-mix(in srgb,var(--storefront-text) 12%,transparent);border-radius:18px;background:var(--storefront-surface)}
.product-review-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.product-review-card__stars{letter-spacing:.08em;margin-bottom:.35rem}
.product-review-card__stars span{opacity:.25}
.product-review-card p{margin:1rem 0;color:var(--storefront-text);line-height:1.7}
.product-review-card time{color:var(--storefront-muted);font-size:.82rem}
.product-review-verified{display:inline-flex;align-items:center;border-radius:999px;padding:.35rem .65rem;background:var(--storefront-accent-soft);color:var(--storefront-accent-dark);font-size:.72rem;font-weight:700;white-space:nowrap}
.product-review-images{display:flex;gap:.55rem;margin-top:1rem}
.product-review-images img{width:72px;height:72px;object-fit:cover;border-radius:10px}
.product-review-empty{text-align:center;padding:2.5rem 1.25rem;border:1px dashed color-mix(in srgb,var(--storefront-text) 18%,transparent);border-radius:18px;background:var(--storefront-surface)}
.product-review-empty h3{margin:0 0 .55rem}.product-review-empty p{max-width:560px;margin:0 auto 1.2rem;color:var(--storefront-muted)}
.home-review-ctas,.home-review-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1.25rem}
.home-review-ctas .button,.home-review-ctas a,.home-review-actions .button,.home-review-actions a{margin:0}
.review-stage.is-empty{min-height:0}
.home-review-empty[hidden]{display:none!important}

.review-modal[hidden]{display:none!important}
.review-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:1rem;overflow-y:auto;overscroll-behavior:contain}
.review-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(4px);touch-action:none}
.review-modal__dialog{position:relative;z-index:1;width:min(680px,100%);max-height:min(90vh,820px);max-height:min(90dvh,820px);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;background:var(--storefront-surface);color:var(--storefront-text);border-radius:22px;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 24px 70px rgba(0,0,0,.25)}
.review-modal__dialog:focus{outline:none}
.review-modal__close{position:absolute;top:.8rem;right:.9rem;width:42px;height:42px;border:0;border-radius:50%;background:color-mix(in srgb,var(--storefront-text) 7%,transparent);color:var(--storefront-text);font-size:1.7rem;line-height:1;cursor:pointer}
.review-modal__heading{padding-right:3rem;margin-bottom:1.35rem}.review-modal__heading h2{margin:.25rem 0 .4rem}.review-modal__heading p{margin:0;color:var(--storefront-muted)}
.review-modal__form{display:grid;gap:1rem}.review-modal__grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.review-modal__field{display:grid;gap:.4rem}.review-modal__field label,.review-modal__label,.review-modal__rating legend{font-size:.86rem;font-weight:700}
.review-modal__field input,.review-modal__field select,.review-modal__field textarea{width:100%;border:1px solid color-mix(in srgb,var(--storefront-text) 18%,transparent);border-radius:12px;background:var(--storefront-bg);color:var(--storefront-text);padding:.82rem .9rem;font:inherit}
.review-modal__field textarea{resize:vertical;min-height:120px}.review-modal__field small{color:var(--storefront-muted);line-height:1.45}.review-modal__optional{font-weight:400;color:var(--storefront-muted)}
.review-modal__fixed-product{padding:.8rem .9rem;border-radius:12px;background:var(--storefront-accent-soft)}
.review-modal__rating{border:0;padding:0;margin:0}.review-modal__rating legend{margin-bottom:.45rem}
.review-modal__stars{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:.15rem}
.review-modal__stars input{position:absolute;opacity:0;pointer-events:none}.review-modal__stars label{font-size:2rem;line-height:1;color:color-mix(in srgb,var(--storefront-text) 22%,transparent);cursor:pointer;transition:color .15s ease,transform .15s ease}
.review-modal__stars label:hover,.review-modal__stars label:hover~label,.review-modal__stars input:checked~label{color:var(--storefront-accent)}
.review-modal__stars input:focus-visible+label{outline:2px solid var(--storefront-accent);outline-offset:3px;border-radius:4px}.review-modal__stars label:hover{transform:translateY(-1px)}
.review-modal__status{padding:.8rem 1rem;border-radius:12px;font-size:.9rem}.review-modal__status.is-success{background:#eef8f1;color:#1b6438}.review-modal__status.is-error{background:#fff1f1;color:#8d2323}
.review-modal__actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.2rem}.review-modal__privacy{margin:0;color:var(--storefront-muted);font-size:.78rem;line-height:1.5}

@media (max-width:700px){
  .product-review-list{grid-template-columns:1fr}.product-reviews-heading{align-items:flex-start;flex-direction:column}.product-reviews-add{width:100%}
  .review-modal{padding:.55rem}.review-modal__dialog{max-height:calc(100vh - 1.1rem);max-height:calc(100dvh - 1.1rem);border-radius:18px;padding:1.2rem}.review-modal__grid{grid-template-columns:1fr}.review-modal__actions .button{flex:1 1 100%}
}
.review-modal .button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.78rem 1.2rem;border:1px solid var(--storefront-accent);border-radius:999px;background:var(--storefront-accent);color:#fff;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;transition:transform .18s ease,opacity .18s ease,background .18s ease,color .18s ease}
.review-modal .button:hover,.review-modal .button:focus-visible{transform:translateY(-1px)}
.review-modal .button:disabled{opacity:.6;cursor:wait;transform:none}
.review-modal .button--ghost{background:transparent;color:var(--storefront-text);border-color:color-mix(in srgb,var(--storefront-text) 25%,transparent)}
.review-modal__field input:focus,.review-modal__field select:focus,.review-modal__field textarea:focus{outline:2px solid var(--storefront-accent);outline-offset:1px;border-color:var(--storefront-accent)}
