.sec-head{justify-content:space-between;align-items:flex-end;gap:var(--s-6);margin-bottom:var(--s-7);flex-wrap:wrap;display:flex}.sec-head h2{font-family:var(--font-display);font-weight:400;font-size:var(--fs-display-m);letter-spacing:var(--ls-display);margin:0;line-height:1.05}.sec-head .sec-side{align-items:center;gap:var(--s-6);flex-wrap:wrap;display:flex}.tabs{gap:var(--s-6);scrollbar-width:none;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{font-size:var(--fs-sm);color:var(--muted);transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 0 6px;font-weight:500}.tab:hover{color:var(--ink)}.tab.is-active{color:var(--ink);border-bottom-color:var(--accent)}.stars{align-items:center;gap:1px;line-height:1;display:inline-flex}.stars svg{width:13px;height:13px;display:block}.stars-lg svg{width:17px;height:17px}.star-full{fill:var(--accent)}.star-empty{fill:var(--line)}.stars-note{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.swatch{border:1px solid var(--line);width:30px;height:30px;transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);background-clip:padding-box;border-radius:50%;padding:0;position:relative}.swatch:after{content:"";transition:border-color var(--dur) var(--ease);border:1px solid #0000;border-radius:50%;position:absolute;inset:-4px}.swatch:hover:not(:disabled){transform:scale(1.06)}.swatch.is-active:after{border-color:var(--ink)}.swatch:disabled{opacity:.35;cursor:not-allowed}.swatch-row{gap:var(--s-3);flex-wrap:wrap;align-items:center;display:flex}.swatch-mini{border:1px solid var(--line);border-radius:50%;flex:none;width:13px;height:13px;display:inline-block}.size-row{gap:var(--s-2);flex-wrap:wrap;display:flex}.size-btn{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);min-width:52px;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;transition:all var(--dur) var(--ease);padding:10px 12px;font-weight:500;position:relative}.size-btn:hover:not(:disabled){border-color:var(--ink)}.size-btn.is-active{background:var(--ink);color:var(--ivory);border-color:var(--ink)}.size-btn:disabled{color:var(--ink-30,#a9a296);cursor:not-allowed;background:var(--bg);opacity:.6;overflow:hidden}.size-btn:disabled:after{content:"";background:var(--line);height:1px;position:absolute;top:50%;left:-10%;right:-10%;transform:rotate(-14deg)}.qty{border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);align-items:center;display:inline-flex;overflow:hidden}.qty button{width:34px;height:34px;color:var(--ink);font-size:var(--fs-md);transition:background var(--dur-fast) var(--ease);background:0 0;border:0;place-items:center;line-height:1;display:grid}.qty button:hover:not(:disabled){background:var(--cream)}.qty button:disabled{opacity:.35;cursor:not-allowed}.qty .n{text-align:center;min-width:30px;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;font-weight:600}.acc{border-top:1px solid var(--line)}.acc:last-of-type{border-bottom:1px solid var(--line)}.acc-head{justify-content:space-between;align-items:center;gap:var(--s-4);width:100%;padding:var(--s-5) 0;text-align:left;font-size:var(--fs-md);color:var(--ink);background:0 0;border:0;font-weight:600;display:flex}.acc-head .ind{width:20px;height:20px;color:var(--muted);transition:transform var(--dur) var(--ease-out);flex:none;place-items:center;display:grid}.acc.is-open .acc-head .ind{color:var(--accent);transform:rotate(45deg)}.acc-body{padding:0 0 var(--s-6);font-size:var(--fs-base);line-height:var(--lh-body);color:var(--muted)}.acc-body p+p{margin-top:var(--s-3)}.spec{gap:var(--s-4) var(--s-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.spec-item .k{font-size:var(--fs-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}.spec-item .v{font-size:var(--fs-base);color:var(--ink);margin-top:2px}@media (width<=480px){.spec{grid-template-columns:minmax(0,1fr)}}.crumbs{align-items:center;gap:var(--s-2);font-size:var(--fs-xs);color:var(--muted);flex-wrap:wrap;display:flex}.crumbs a:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.crumbs .sep{opacity:.5}.crumbs .now{color:var(--ink)}.pager{justify-content:center;align-items:center;gap:var(--s-2);margin-top:var(--s-10);flex-wrap:wrap;display:flex}.pager button{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);min-width:40px;height:40px;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;transition:all var(--dur) var(--ease);padding:0 12px}.pager button:hover:not(:disabled):not(.is-active){border-color:var(--muted)}.pager button.is-active{background:var(--ink);color:var(--ivory);border-color:var(--ink);font-weight:600}.pager button:disabled{opacity:.35;cursor:not-allowed}.pager .gap{color:var(--muted);padding:0 4px}.modal-scrim{background:var(--overlay);z-index:var(--z-modal);padding:var(--s-5);animation:fadeIn var(--dur) var(--ease-out);place-items:center;display:grid;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border-radius:var(--r-2xl);box-shadow:var(--sh-xl);width:min(460px,100%);padding:var(--s-8);animation:modalIn var(--dur) var(--ease-out)}.modal-wide{width:min(820px,100%);max-height:86vh;overflow-y:auto}@keyframes modalIn{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:none}}.modal h2{font-family:var(--font-display);font-size:var(--fs-display-s);margin-bottom:var(--s-3)}.modal p{color:var(--muted);font-size:var(--fs-md);line-height:var(--lh-body)}.modal-actions{gap:var(--s-3);margin-top:var(--s-7);flex-wrap:wrap;justify-content:flex-end;display:flex}.toast-wrap{bottom:var(--s-6);z-index:var(--z-toast);gap:var(--s-2);pointer-events:none;padding-inline:var(--s-4);flex-direction:column;align-items:center;width:min(520px,100% - 32px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;align-items:center;gap:var(--s-3);width:100%;padding:13px var(--s-5);border-radius:var(--r-pill);background:var(--ink);color:var(--ivory);font-size:var(--fs-sm);box-shadow:var(--sh-lg);animation:toastIn var(--dur) var(--ease-out);display:flex}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.toast .msg{flex:1;min-width:0}.toast .tone-dot{background:var(--success);border-radius:50%;flex:none;width:7px;height:7px}.toast.tone-error .tone-dot{background:var(--danger-soft)}.toast.tone-info .tone-dot{background:var(--info-soft)}.toast a,.toast button{color:var(--ivory);font-size:var(--fs-xs);text-underline-offset:3px;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.toast .close{opacity:.6;font-size:var(--fs-md);text-decoration:none}.toast .close:hover{opacity:1}.state-block{align-items:center;gap:var(--s-4);padding:var(--s-11) var(--s-6);text-align:center;flex-direction:column;display:flex}.state-block .state-title{font-family:var(--font-display);font-size:var(--fs-xl);color:var(--ink)}.state-block .state-text{font-size:var(--fs-sm);color:var(--muted);max-width:420px;line-height:var(--lh-body)}.btn .spinner{border-width:2px;border-color:currentColor #ffffff59 #ffffff59;width:14px;height:14px}.btn-outline .spinner,.btn-ghost .spinner{border-color:var(--line);border-top-color:var(--accent)}.progress{border-radius:var(--r-pill);background:var(--cream);height:5px;overflow:hidden}.progress>i{border-radius:var(--r-pill);background:var(--accent);height:100%;transition:width var(--dur-slow) var(--ease-out);display:block}.rbar{align-items:center;gap:var(--s-3);font-size:var(--fs-xs);color:var(--muted);grid-template-columns:42px 1fr 34px;display:grid}.rbar .track{border-radius:var(--r-pill);background:var(--cream);height:6px;overflow:hidden}.rbar .track>i{background:var(--accent);border-radius:var(--r-pill);height:100%;display:block}.rbar .n{text-align:right;font-variant-numeric:tabular-nums}.link-underline{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);transition:text-decoration-color var(--dur) var(--ease)}.link-underline:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.link-accent{color:var(--accent);font-weight:600}.link-accent:hover{color:var(--accent-deep)}.pill-note{font-size:var(--fs-xs);color:var(--muted);align-items:center;gap:6px;display:inline-flex}
