/* ===== Virtual try-on ===== */
.hz-tryon-btn{display:flex;align-items:center;gap:1rem;width:100%;margin:1rem 0 0;padding:1rem 1.2rem;border:1px solid var(--hz-gold-lt);border-radius:18px;background:linear-gradient(120deg,#fff,#faf1f4);color:var(--hz-plum);font:inherit;text-align:start;cursor:pointer;position:relative;overflow:hidden;transition:transform .35s var(--hz-ease),box-shadow .35s var(--hz-ease)}
.hz-tryon-btn:hover{transform:translateY(-2px);box-shadow:0 18px 34px -24px rgba(62,23,48,.7)}
.hz-tryon-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(230,207,160,.45) 50%,transparent 65%);transform:translateX(120%);animation:hz-shine 4.5s infinite}
@keyframes hz-shine{0%,60%{transform:translateX(120%)}100%{transform:translateX(-120%)}}
.hz-tryon-btn__ic{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:1.3rem;background:var(--hz-plum);color:#fff}
.hz-tryon-btn b{display:block;font:500 1.25rem var(--hz-serif)}
.hz-tryon-btn small{display:block;font-size:.8rem;color:var(--hz-muted)}

.hz-tryon{position:fixed;inset:0;z-index:100002;display:none;align-items:center;justify-content:center;padding:clamp(8px,2vw,24px)}
.hz-tryon.is-open{display:flex}
.hz-tryon__ov{position:absolute;inset:0;background:rgba(30,10,24,.62);backdrop-filter:blur(6px)}
.hz-tryon__box{position:relative;width:min(1040px,100%);max-height:100%;overflow:auto;background:var(--hz-ivory);border-radius:28px;padding:clamp(20px,3vw,40px);box-shadow:0 60px 100px -40px rgba(0,0,0,.6)}
.hz-tryon__x{position:absolute;inset-block-start:12px;inset-inline-start:12px}
.hz-tryon__box h2{font-size:clamp(1.6rem,3vw,2.4rem);margin:.3rem 0 1.2rem}
.hz-tryon__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,3vw,36px)}
.hz-tryon__stage{position:relative;aspect-ratio:3/4;border-radius:999px 999px 22px 22px;overflow:hidden;background:var(--hz-blush);display:grid;place-items:center}
.hz-tryon__prev{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hz-tryon__drop{display:flex;flex-direction:column;align-items:center;gap:.4rem;text-align:center;padding:2rem;cursor:pointer;color:var(--hz-plum)}
.hz-tryon__drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.hz-tryon__plus{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:2rem;background:var(--hz-ivory);box-shadow:0 14px 24px -14px rgba(62,23,48,.6)}
.hz-tryon__drop b{font:500 1.35rem var(--hz-serif)}.hz-tryon__drop small{color:var(--hz-muted)}
.hz-tryon__consent{display:flex;gap:.6rem;align-items:flex-start;margin:1rem 0;font-size:.88rem;line-height:1.5;color:#3d2f37}
.hz-tryon__consent input{margin-top:.25rem;accent-color:var(--hz-wine)}
.hz-tryon__go{width:100%;min-height:54px}.hz-tryon__go:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.hz-tryon__result{background:var(--hz-sand)}
.hz-tryon__empty,.hz-tryon__busy,.hz-tryon__done{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;text-align:center}
.hz-tryon__empty img{width:100%;height:100%;object-fit:cover;opacity:.55;filter:saturate(.8)}
.hz-tryon__empty small{position:absolute;inset-block-end:18px;background:rgba(255,255,255,.9);padding:.35rem .9rem;border-radius:999px;font-size:.78rem;color:var(--hz-plum)}
.hz-tryon [hidden]{display:none!important}
.hz-tryon__busy{background:linear-gradient(135deg,#f4e8ea,#fbf7f2,#f4e8ea);background-size:200% 200%;animation:hz-gradmove 2.4s ease infinite;color:var(--hz-plum)}
@keyframes hz-gradmove{50%{background-position:100% 100%}}
.hz-spin{width:46px;height:46px;border-radius:50%;border:3px solid var(--hz-blush);border-top-color:var(--hz-wine);animation:hz-rot 1s linear infinite}
@keyframes hz-rot{to{transform:rotate(360deg)}}
.hz-tryon__done img{width:100%;height:100%;object-fit:cover;animation:hz-reveal 1s var(--hz-ease)}
@keyframes hz-reveal{from{opacity:0;transform:scale(1.05)}}
.hz-tryon__ai{position:absolute;inset-block-end:14px;inset-inline:14px;margin-inline:auto;width:max-content;max-width:calc(100% - 28px);padding:.4rem 1rem;border-radius:999px;background:rgba(62,23,48,.82);color:#fff;font-size:.78rem;font-weight:600;backdrop-filter:blur(6px)}
.hz-tryon__err{margin:.8rem 0 0;padding:.8rem 1rem;border-radius:14px;background:#fdecec;color:#8a1f1f;font-size:.9rem}
.hz-tryon__acts{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.hz-tryon__acts .hz-cta{padding:.8em 1.4em;font-size:.9rem}
.hz-tryon__fine{margin:1.4rem 0 0;font-size:.78rem;line-height:1.6;color:var(--hz-muted)}
@media (max-width:760px){
	.hz-tryon__box{border-radius:22px 22px 0 0;align-self:flex-end;max-height:94%}
	.hz-tryon__grid{grid-template-columns:1fr}
	.hz-tryon__stage{aspect-ratio:4/5;max-height:46vh;width:auto;margin-inline:auto}
}
@media (prefers-reduced-motion:reduce){.hz-tryon-btn:before,.hz-tryon__busy,.hz-spin{animation:none}}

/* theme img rules must not shrink the preview/result */
.hz-tryon__stage img.hz-tryon__prev,.hz-tryon__done img,.hz-tryon__empty img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important}
.hz-tryon__stage img.hz-tryon__prev[hidden]{display:none!important}

.hz-tryon__ai{display:none!important}
.hz-tryon__pickbox{text-align:center}
.hz-tryon__pickbox b{display:block;margin-bottom:.5rem;font:500 1.15rem var(--hz-serif);color:var(--hz-plum)}
.hz-tryon__pickbox[hidden]{display:none}
.hz-tryon__pickimg{position:relative;border-radius:22px;overflow:hidden;line-height:0}
.hz-tryon__pickimg img{display:block;width:100%;height:auto;max-height:52vh;object-fit:contain;margin-inline:auto}
.hz-tryon__face{all:unset;box-sizing:border-box;position:absolute;border:3px solid #d9a85a;border-radius:50%;cursor:pointer;box-shadow:0 0 0 2px rgba(255,255,255,.75),0 6px 18px rgba(0,0,0,.35);transition:background .25s,transform .25s;animation:hz-face 1.8s ease-in-out infinite}
.hz-tryon__face:hover,.hz-tryon__face:focus-visible{background:rgba(217,168,90,.28);transform:scale(1.06)}
@keyframes hz-face{50%{box-shadow:0 0 0 7px rgba(217,168,90,.35),0 6px 18px rgba(0,0,0,.35)}}
.hz-tryon__scan{display:block;text-align:center;color:var(--hz-muted);margin:.4rem 0}.hz-tryon__scan[hidden]{display:none}

.hz-tryon__face.is-chosen{animation:none;pointer-events:none;border-color:#3e1730;box-shadow:0 0 0 3px #d9a85a,0 6px 18px rgba(0,0,0,.35)}

/* Photos are always shown whole: the frame takes the photo's own proportions, no arch, no cropping */
.hz-tryon__stage.has-photo{aspect-ratio:var(--r);width:min(100%,calc(56vh * var(--r)));max-height:none;margin-inline:auto;border-radius:22px;background:var(--hz-blush)}
.hz-tryon__stage.has-photo img.hz-tryon__prev,.hz-tryon__stage.has-photo .hz-tryon__done img{object-fit:contain!important}
.hz-tryon__pickimg img{max-height:56vh}

/* Members-only gate */
.hz-tryon__auth{max-width:420px;margin:1.2rem auto .4rem;display:grid;gap:1rem}
.hz-tryon__auth[hidden],.hz-tryon__grid[hidden]{display:none}
.hz-tryon__authhead b{display:block;font:600 1.15rem var(--hz-serif,inherit);color:var(--hz-plum)}
.hz-tryon__authhead small{display:block;margin-top:.25rem;color:var(--hz-muted);font-size:.88rem}
.hz-tryon__authtabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:999px;background:var(--hz-sand,#f1e8e2)}
.hz-tryon__authtabs button{appearance:none;border:0;background:transparent;padding:.6rem 1rem;border-radius:999px;font:600 .95rem var(--hz-sans,inherit);color:var(--hz-plum);cursor:pointer;transition:background .2s,color .2s}
.hz-tryon__authtabs button.is-on{background:var(--hz-plum);color:#fff}
.hz-tryon__authform{display:grid;gap:.8rem}
.hz-tryon__authform label{display:grid;gap:.3rem;font-size:.85rem;color:var(--hz-muted)}
.hz-tryon__authform input{width:100%;box-sizing:border-box;padding:.8rem 1rem;border-radius:12px;border:1.5px solid rgba(62,23,48,.18);background:#fff;font:1rem var(--hz-sans,inherit);color:var(--hz-plum)}
.hz-tryon__authform input:focus{outline:0;border-color:var(--hz-gold);box-shadow:0 0 0 3px rgba(185,138,60,.22)}
.hz-tryon__autherr{margin:0;padding:.6rem .8rem;border-radius:10px;background:#fbeaea;color:#8a2323;font-size:.88rem}
.hz-tryon__authgo{justify-content:center;width:100%}
.hz-tryon__lost{justify-self:center;font-size:.88rem;color:var(--hz-plum)}
.hz-tryon__authfine{margin:0;text-align:center;font-size:.78rem;color:var(--hz-muted)}
.hz-tryon__authfine a{color:inherit;text-decoration:underline}
