/* MenXStyle AI Hair Studio v2 — premium dark editorial UI */
.mxs-ahs-studio,.mxs-ahs-modal__dialog{
  --mxs-ahs-primary:#1a1a1a;--mxs-ahs-accent:#c9a227;--mxs-ahs-text:#f5f5f5;
  --mxs-ahs-card:#242424;--mxs-ahs-muted:#a0a0a0;--mxs-ahs-border:rgba(255,255,255,.1);
  --mxs-ahs-radius:16px;--mxs-ahs-glow:rgba(201,162,39,.25);
  color:var(--mxs-ahs-text);font-family:inherit;
}
.mxs-ahs-studio{background:linear-gradient(160deg,rgba(26,26,26,.06),transparent);border:1px solid var(--mxs-ahs-border);border-radius:20px;padding:clamp(1rem,3vw,2rem);margin:2rem 0}
.mxs-ahs-studio__hero{text-align:center;margin-bottom:1.5rem}
.mxs-ahs-studio__badge-row{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1rem}
.mxs-ahs-badge{background:rgba(201,162,39,.12);border:1px solid rgba(201,162,39,.35);color:var(--mxs-ahs-accent);padding:.35rem .85rem;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.mxs-ahs-studio__title{font-size:clamp(1.6rem,3.5vw,2.4rem);line-height:1.15;margin:0 0 .75rem}
.mxs-ahs-studio__subtitle{max-width:700px;margin:0 auto;color:var(--mxs-ahs-muted);font-size:1.05rem}
.mxs-ahs-steps{display:flex;gap:.5rem;justify-content:center;margin:1.25rem 0;flex-wrap:wrap}
.mxs-ahs-step{display:flex;align-items:center;gap:.5rem;padding:.55rem 1rem;border-radius:999px;border:1px solid var(--mxs-ahs-border);color:var(--mxs-ahs-muted);font-size:.85rem;font-weight:600}
.mxs-ahs-step span{width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;font-size:.75rem}
.mxs-ahs-step.is-active{border-color:var(--mxs-ahs-accent);color:var(--mxs-ahs-text);box-shadow:0 0 20px var(--mxs-ahs-glow)}
.mxs-ahs-step.is-active span{background:var(--mxs-ahs-accent);color:#111}
.mxs-ahs-step.is-done span{background:rgba(201,162,39,.3);color:var(--mxs-ahs-accent)}
.mxs-ahs-status{text-align:center;padding:.65rem 1rem;border-radius:10px;background:rgba(0,0,0,.2);font-size:.92rem;margin-bottom:1rem}
.mxs-ahs-status--success{border:1px solid rgba(201,162,39,.4);color:var(--mxs-ahs-accent)}
.mxs-ahs-status--error{border:1px solid rgba(255,80,80,.4);color:#ff8a8a}
.mxs-ahs-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:1.25rem;align-items:start}
.mxs-ahs-panel{background:var(--mxs-ahs-card);border:1px solid var(--mxs-ahs-border);border-radius:var(--mxs-ahs-radius);padding:1rem;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.mxs-ahs-upload{position:relative;min-height:400px;border:2px dashed rgba(201,162,39,.3);border-radius:var(--mxs-ahs-radius);background:rgba(0,0,0,.25);overflow:hidden}
.mxs-ahs-upload.is-dragover{border-color:var(--mxs-ahs-accent);background:rgba(201,162,39,.06)}
.mxs-ahs-upload__placeholder{display:grid;place-items:center;text-align:center;min-height:400px;padding:2rem}
.mxs-ahs-upload__icon{font-size:2.5rem;margin-bottom:.5rem}
.mxs-ahs-upload__placeholder h3{margin:0 0 .35rem;font-size:1.3rem}
.mxs-ahs-upload__placeholder p{color:var(--mxs-ahs-muted);margin:0 0 1.25rem;max-width:320px}
.mxs-ahs-btn{border:none;border-radius:999px;padding:.75rem 1.35rem;font:inherit;font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .15s}
.mxs-ahs-btn:hover{transform:translateY(-1px)}
.mxs-ahs-btn--gold{background:linear-gradient(135deg,#d4b44a,var(--mxs-ahs-accent));color:#111;box-shadow:0 8px 24px var(--mxs-ahs-glow)}
.mxs-ahs-btn--ghost{background:transparent;border:1px solid var(--mxs-ahs-border);color:var(--mxs-ahs-text)}
.mxs-ahs-btn--ghost.is-active,.mxs-ahs-btn--ghost:hover{border-color:var(--mxs-ahs-accent);color:var(--mxs-ahs-accent)}
.mxs-ahs-btn--full{width:100%;margin-top:.75rem}
.mxs-ahs-canvas-wrap{position:relative}
.mxs-ahs-canvas-labels{display:flex;justify-content:space-between;padding:0 .25rem .35rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--mxs-ahs-muted)}
.mxs-ahs-canvas-wrap canvas{display:block;width:100%;height:auto;border-radius:12px;background:#111}
.mxs-ahs-compare{position:absolute;inset:1.8rem 0 0;pointer-events:none}
.mxs-ahs-compare__handle{position:absolute;top:0;bottom:0;width:4px;background:var(--mxs-ahs-accent);pointer-events:auto;cursor:ew-resize;box-shadow:0 0 12px var(--mxs-ahs-glow)}
.mxs-ahs-loading{position:absolute;inset:0;display:grid;place-content:center;gap:.75rem;background:rgba(0,0,0,.65);z-index:5;border-radius:12px}
.mxs-ahs-spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.15);border-top-color:var(--mxs-ahs-accent);border-radius:50%;animation:mxsAhsSpin .7s linear infinite;margin:0 auto}
@keyframes mxsAhsSpin{to{transform:rotate(360deg)}}
.mxs-ahs-sliders{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:1rem}
.mxs-ahs-sliders label{display:grid;gap:.3rem;font-size:.8rem;color:var(--mxs-ahs-muted)}
.mxs-ahs-sliders input{accent-color:var(--mxs-ahs-accent)}
.mxs-ahs-result-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.mxs-ahs-block+.mxs-ahs-block{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--mxs-ahs-border)}
.mxs-ahs-block h4{margin:0 0 .65rem;font-size:.95rem}
.mxs-ahs-search{width:100%;border:1px solid var(--mxs-ahs-border);background:rgba(0,0,0,.3);color:var(--mxs-ahs-text);border-radius:999px;padding:.6rem .9rem;margin-bottom:.65rem;font:inherit}
.mxs-ahs-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}
.mxs-ahs-tab{border:1px solid var(--mxs-ahs-border);background:transparent;color:var(--mxs-ahs-muted);border-radius:999px;padding:.35rem .75rem;font:inherit;font-size:.78rem;cursor:pointer}
.mxs-ahs-tab.is-active{background:var(--mxs-ahs-accent);color:#111;border-color:var(--mxs-ahs-accent);font-weight:700}
.mxs-ahs-colors{display:flex;flex-wrap:wrap;gap:.4rem}
.mxs-ahs-color{display:flex;align-items:center;gap:.4rem;border:1px solid var(--mxs-ahs-border);background:rgba(0,0,0,.2);border-radius:999px;padding:.3rem .65rem;cursor:pointer;font:inherit;font-size:.75rem;color:var(--mxs-ahs-muted)}
.mxs-ahs-color.is-active{border-color:var(--mxs-ahs-accent);color:var(--mxs-ahs-text)}
.mxs-ahs-color__dot{width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,#4a3728,#2a2118)}
.mxs-ahs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.55rem;max-height:340px;overflow:auto;padding-right:.25rem}
.mxs-ahs-style{display:grid;gap:.35rem;padding:.4rem;border:1px solid var(--mxs-ahs-border);border-radius:12px;background:rgba(0,0,0,.15);cursor:pointer;text-align:left;color:inherit;transition:border-color .15s,box-shadow .15s}
.mxs-ahs-style:hover{border-color:rgba(201,162,39,.5)}
.mxs-ahs-style.is-active{border-color:var(--mxs-ahs-accent);box-shadow:0 0 16px var(--mxs-ahs-glow)}
.mxs-ahs-style__img{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:8px;background:#111}
.mxs-ahs-style__img img{width:100%;height:100%;object-fit:cover}
.mxs-ahs-style__name{font-size:.75rem;line-height:1.2}
/* Try On badge on post images */
.mxs-ahs-wrap{position:relative;display:inline-block;max-width:100%}
.mxs-ahs-wrap img{display:block}
.mxs-ahs-trigger{position:absolute;bottom:12px;left:12px;z-index:3;display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;border:none;border-radius:999px;background:linear-gradient(135deg,#d4b44a,#c9a227);color:#111;font:inherit;font-size:.82rem;font-weight:800;cursor:pointer;box-shadow:0 8px 28px rgba(0,0,0,.4);transition:transform .15s}
.mxs-ahs-trigger:hover{transform:scale(1.04)}
.mxs-ahs-trigger svg{flex-shrink:0}
/* Modal */
.mxs-ahs-modal[hidden]{display:none!important}
.mxs-ahs-modal{position:fixed;inset:0;z-index:999999}
.mxs-ahs-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(4px)}
.mxs-ahs-modal__dialog{position:relative;width:min(1180px,calc(100vw - 1.5rem));max-height:calc(100vh - 1.5rem);margin:.75rem auto;overflow:auto;background:var(--mxs-ahs-primary);border:1px solid var(--mxs-ahs-border);border-radius:20px;padding:1rem}
.mxs-ahs-modal__close{position:sticky;top:.5rem;float:right;z-index:2;width:40px;height:40px;border:none;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:1.4rem;cursor:pointer}
body.mxs-ahs-modal-open{overflow:hidden}
@media(max-width:960px){.mxs-ahs-layout{grid-template-columns:1fr}.mxs-ahs-sliders{grid-template-columns:1fr}}
