/* A single, spacious two-panel fitting room; extend the existing LUNEVE palette. */
body[data-view-mode="sets"] .hero { display:none; }
body[data-view-mode="sets"] #shopSection { max-width:1440px; margin-inline:auto; padding-top:26px; }
body[data-view-mode="sets"] #shopSection > .section-head .eyebrow,
body[data-view-mode="sets"] #shopSection > .section-head > .section-meta,
body[data-view-mode="sets"] .set-controls > .section-meta { display:none; }
body[data-view-mode="sets"] .set-controls { gap:12px; margin-bottom:22px; flex-direction:row; align-items:center; }
body[data-view-mode="sets"] .budget-chips { margin-right:auto; min-width:0; max-width:100%; }
body[data-view-mode="sets"] .set-grid { display:block; }
.set-showcase { min-width:0; }
.set-showcase-header { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:20px; }
.set-kicker { margin:0 0 8px; font-size:14px; color:var(--muted); }
.set-showcase h3 { margin:0; font-family:Georgia,"Noto Serif KR",serif; font-size:clamp(28px,3.2vw,42px); line-height:1.15; font-weight:400; overflow-wrap:anywhere; }
.set-pagination { display:flex; align-items:center; gap:16px; flex-shrink:0; }
.set-counter { font-size:14px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.set-counter strong { font-size:18px; font-weight:500; }
.set-counter > span { color:var(--muted); }
.set-arrow { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:44px; height:44px; border:1px solid var(--line-strong); border-radius:50%; background:var(--surface); color:var(--ink); cursor:pointer; }
.set-arrow:hover:not(:disabled) { background:var(--ink); color:var(--surface); }
.set-arrow:disabled { opacity:.35; cursor:default; }
.set-showcase-visuals { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; touch-action:pan-y; }
.set-garment-panel,.set-avatar-panel { position:relative; min-width:0; background:#f7f6f2; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.set-panel-label { position:absolute; inset:0 0 auto; display:flex; justify-content:space-between; gap:14px; padding:20px 22px; z-index:1; pointer-events:none; font-size:14px; }
.set-panel-label > span:first-child { font-weight:650; }
.set-panel-label > span:last-child { color:var(--muted); }
.set-garment-view { position:relative; height:clamp(350px,40vw,550px); padding:54px 48px 8px; }
.set-product-photo { display:block; height:100%; width:100%; background:transparent; border:0; padding:0 0 27px; cursor:zoom-in; color:var(--ink); position:relative; }
.set-product-photo img { display:block; width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.set-product-photo > span { position:absolute; bottom:0; left:0; right:0; text-align:center; color:var(--muted); font-size:12px; }
.set-item-navigation { position:absolute; left:12px; right:12px; top:48%; display:flex; justify-content:space-between; pointer-events:none; }
.set-item-navigation .set-arrow { pointer-events:auto; width:40px; height:44px; background:rgba(255,255,255,.9); }
.set-product-caption { min-height:74px; padding:14px 24px 22px; display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:16px; border-top:1px solid var(--line); }
.set-product-caption strong { font-weight:500; overflow-wrap:anywhere; }
.set-product-caption > span { flex-shrink:0; }
.set-avatar-panel { display:flex; flex-direction:column; justify-content:center; background:#e9e6df; }
.set-avatar-panel,.set-avatar-panel.has-look { background:#fff; }
.set-avatar-panel.has-look .set-panel-label { background:linear-gradient(rgba(255,255,255,.9),rgba(255,255,255,0)); padding-bottom:40px; }
.set-avatar-image { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.set-avatar-disclaimer { position:absolute; bottom:0; left:0; right:0; text-align:center; padding:12px 16px; margin:0; background:rgba(255,255,255,.85); color:#555; font-size:12px; }
.set-avatar-empty { padding:76px 34px 42px; margin:auto; max-width:440px; width:100%; text-align:center; }
.set-avatar-wordmark { display:block; font-family:Georgia,serif; font-size:clamp(40px,5.2vw,70px); letter-spacing:-.035em; color:#837b70; margin-bottom:24px; }
.set-avatar-empty h4 { margin:0 0 14px; font-size:20px; font-weight:500; }
.set-avatar-empty p { margin:0 auto 24px; color:#635d53; font-size:16px; line-height:1.7; max-width:290px; }
.set-avatar-empty .btn { width:100%; min-height:50px; white-space:normal; }
.set-avatar-empty small { display:block; margin-top:16px; font-size:14px; color:#6e675c; line-height:1.7; }
.set-avatar-empty progress { width:100%; height:6px; accent-color:var(--ink); margin:10px 0 20px; }
#setGenerationStatus { display:block; font-size:14px; }
.set-avatar-empty .set-generation-error { margin:16px 0 0; color:#963c30; font-size:14px; }
.set-image-missing { display:grid; place-items:center; height:100%; color:var(--muted); }
.set-pieces { display:flex; gap:10px; overflow-x:auto; padding:16px 3px 20px; scroll-snap-type:x proximity; }
.set-piece { flex:1 0 190px; min-width:0; display:flex; align-items:center; gap:12px; text-align:left; padding:12px; border:1px solid var(--line); border-radius:8px; background:transparent; color:var(--ink); cursor:pointer; scroll-snap-align:start; }
.set-piece.is-selected { border-color:var(--ink); background:var(--surface); box-shadow:inset 0 0 0 1px var(--ink); }
.set-piece img { width:62px; height:76px; object-fit:contain; mix-blend-mode:multiply; flex-shrink:0; }
.set-piece > span { display:grid; gap:6px; min-width:0; }
.set-piece small { font-size:12px; color:var(--muted); }
.set-piece strong { font-size:14px; line-height:1.4; font-weight:500; overflow-wrap:anywhere; }
.set-piece > span > span { font-size:14px; }
.set-showcase-footer { padding:20px 0 8px; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:30px; }
.set-showcase-footer > p { max-width:470px; margin:0; color:var(--muted); font-size:16px; line-height:1.7; }
.set-purchase { display:flex; gap:26px; align-items:center; }
.set-purchase > div { display:grid; gap:6px; white-space:nowrap; }
.set-purchase span { font-size:14px; }
.set-purchase strong { font-size:26px; font-weight:500; }
.set-purchase small { font-size:12px; color:var(--muted); }
.set-purchase .btn { white-space:nowrap; min-height:50px; }
@media(max-width:900px) {
  .set-garment-view { padding-inline:42px; }
  .set-avatar-empty { padding-inline:24px; }
  .set-showcase-footer { align-items:stretch; flex-direction:column; gap:20px; }
  .set-purchase { justify-content:space-between; }
}
@media(max-width:620px) {
  body[data-view-mode="sets"] #shopSection { padding-top:22px; }
  body[data-view-mode="sets"] .set-controls { gap:10px; }
  body[data-view-mode="sets"] .budget-chips { flex-basis:100%; }
  body[data-view-mode="sets"] .set-controls > select { flex:1; min-width:0; }
  .set-showcase-header { align-items:center; gap:12px; }
  .set-showcase h3 { font-size:28px; }
  .set-pagination { gap:8px; }
  .set-pagination .set-arrow { width:40px; }
  .set-counter { font-size:12px; }
  .set-counter strong { font-size:16px; }
  .set-showcase-visuals { grid-template-columns:minmax(0,1fr); gap:12px; }
  .set-garment-view { height:clamp(330px,85vw,440px); padding-top:52px; }
  .set-panel-label { padding:18px; }
  .set-product-caption { padding:14px 18px; min-height:62px; font-size:14px; }
  .set-avatar-panel { min-height:420px; }
  .set-avatar-panel.has-look { min-height:0; aspect-ratio:2/3; }
  .set-avatar-wordmark { font-size:52px; }
  .set-pieces { gap:8px; padding-bottom:18px; }
  .set-piece { flex-basis:185px; }
  .set-showcase-footer > p { font-size:14px; }
  .set-purchase { flex-wrap:wrap; gap:16px; }
  .set-purchase .btn { flex:1; }
}
@media(prefers-reduced-motion:no-preference) {
  .set-showcase-visuals { animation:set-reveal .18s ease-out; }
  @keyframes set-reveal { from { opacity:.65; } to { opacity:1; } }
}
