/* ALDA component contract. Reference: /design-system.html */
:root {
 --alda-type-page:clamp(36px,4.2vw,64px);
 --alda-type-section:clamp(28px,3.2vw,44px);
 --alda-type-product:16px;
 --alda-type-body:16px;
 --alda-type-small:13px;
 --alda-ease:cubic-bezier(.2,.7,.2,1);
 --alda-motion-fast:160ms;
 --alda-motion-ui:240ms;
 --alda-motion-story:600ms;
}
body .pa-title, body[data-layout="product"] .pa-title {font-size:clamp(32px,3.2vw,48px);line-height:1.08;letter-spacing:-.035em;font-weight:500;text-wrap:balance}
body[data-layout="collection"] .mi-head h1,body .pg-title,body .ds-page-title {font-size:var(--alda-type-page);line-height:1.05;letter-spacing:-.04em;font-weight:500}
body .ac-related>h2,body .pm-sec h2,body .v2-h,body .ds-section-title {font-size:var(--alda-type-section);line-height:1.12;letter-spacing:-.035em;font-weight:500}
body .pa-lede,body .ds-body {font-size:var(--alda-type-body);line-height:1.6}
body .ac-card .n,body .pl-minimal .pc-name,body .pc-name,body .v2-card-n,body .hm-pcard .n {font-size:var(--alda-type-product);font-weight:500;line-height:1.4;letter-spacing:-.01em;min-height:2.8em;overflow-wrap:anywhere}
body .ac-card .p,body .pl-minimal .pc-price,body .pc-price,body .v2-card-p {font-size:15px;line-height:1.5;font-variant-numeric:tabular-nums;text-align:left;white-space:normal}
body .ac-card .t,body .pl-minimal .pc-meta,body .pc-meta,body .v2-card-m {font-size:12px;line-height:1.5;color:var(--alda-muted);letter-spacing:.02em}
body .ac-card {display:flex;flex-direction:column}
body .ac-card[hidden] {display:none}
body .pl-minimal .pc,body .pc {padding:var(--alda-card-padding);border-radius:12px;background:var(--alda-paper);box-shadow:inset 0 0 0 1px var(--alda-card-edge)}
body .pl-minimal .pc-body,body .pc-body {grid-template-columns:minmax(0,1fr);gap:8px;padding:16px 0 0}
body .pc-meta {grid-column:1}
body .pc-art {border:0}
body .v2-card {padding:var(--alda-card-padding);box-sizing:border-box}
body .v2-card-row {display:grid;grid-template-columns:1fr;gap:8px}
body[data-layout="collection"] .mi-grid {gap:var(--alda-card-gap)}
/* Preserve complete studio photographs; lifestyle alternates keep their intentional crop. */
body .ac-card>img {aspect-ratio:1;object-fit:contain}
body .pc.has-photography .pc-img,body .pl-minimal .pc.has-photography .pc-img {object-fit:contain;mix-blend-mode:normal}
body .v2-card-main {object-fit:contain}
body .ac-add,body .ac-buynow,body .ac-checkout,body .ds-button {
 min-height:48px;border-radius:999px;padding:12px 24px;font:500 15px/1.35 Geist,Arial,sans-serif;
 transition:background-color var(--alda-motion-fast) var(--alda-ease),color var(--alda-motion-fast) var(--alda-ease),border-color var(--alda-motion-fast) var(--alda-ease);
}
body .pa-add,body .ds-button.is-primary {background:var(--alda-ink);color:var(--alda-paper);border:1px solid var(--alda-ink)}
body .pa-buy,body .ds-button.is-secondary {background:var(--alda-paper);color:var(--alda-ink);border:1px solid var(--alda-line)}
body .ds-button {display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;cursor:pointer}
body .ds-button.is-primary:hover {background:var(--alda-red);border-color:var(--alda-red)}
body .ds-button.is-secondary:hover {border-color:var(--alda-ink)}
body .ds-text-link {text-underline-offset:4px;text-decoration-thickness:1px}
/* Visible keyboard focus must win over older component outline resets. */
html body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {outline:2px solid var(--alda-ink);outline-offset:4px}
html body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {box-shadow:0 0 0 4px var(--alda-paper)}
/* Search uses its shared baseline as the focus indicator, rather than a box. */
html body .srch-bar input:is(:focus,:focus-visible) {outline:0;box-shadow:none}
html body .srch-bar:focus-within {border-bottom-color:var(--alda-ink);box-shadow:0 1px 0 var(--alda-ink)}
html body :is(button,input,select):disabled {opacity:.45;cursor:not-allowed;box-shadow:none}
html body button[aria-busy="true"] {cursor:progress;opacity:.7}
body .pc-add,body .mi-dialog-head button,body .pa-size,body .ac-close {min-width:44px;min-height:44px}
.alda-skip {position:fixed;top:12px;left:16px;z-index:200000;padding:12px 20px;background:var(--alda-ink);color:var(--alda-paper);border-radius:8px;transform:translateY(-180%)}
.alda-skip:focus {transform:none}
.alda-sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
body .pc-img,body .pc-alt,body .v2-card-alt {transition-duration:var(--alda-motion-ui);transition-timing-function:var(--alda-ease)}
@media(max-width:700px) {
 :root {--alda-type-product:15px}
 body .pc-price,body .pl-minimal .pc-price,body .ac-card .p {font-size:14px}
 body .pc-name,body .pl-minimal .pc-name {min-height:4.2em}
 body .pa-cta {gap:12px}
 body .pc-meta {flex-wrap:wrap}
 body .pl-minimal .pc-meta span:first-child {white-space:normal}
 body .pg-summary>div {min-width:0;padding:16px;overflow-wrap:anywhere}
 body .mi-density button,body .sf-form button {min-width:44px;min-height:44px}
 body input:not([type=checkbox]):not([type=radio]):not([type=range]),body textarea,body select {font-size:16px}
 body .nav-expand .nav-study-type-links:has(.nav-study-product) {grid-template-columns:repeat(2,minmax(0,1fr))}
 body .nav-expand .nav-study-type-links:not(:has(.nav-study-product)) a {min-height:44px;display:flex;align-items:center}
 body .pl-dock .pl-dock-add {min-height:48px}
}
@media(max-width:900px) {
 body[data-layout=product] .pl-rings {margin-inline:0;padding-inline:0;max-width:100%;scroll-padding-inline:0}
}
@media(max-width:359px) {
 body .pl-related .ac-grid,body .mi-grid[data-density],body .pg-summary {grid-template-columns:minmax(0,1fr)}
 body .pc-name,body .pl-minimal .pc-name {min-height:0}
}
@media(max-height:650px) and (min-width:701px) {
 body .pl-dock {top:auto;bottom:16px}
 body .pl-dock .pl-dock-in {max-width:640px;margin-inline:auto}
}
@media(prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto!important}
 body :is(.pc,.pc-img,.pc-alt,.hm-pcard,.v2-card-alt,.shelf-scene-card,.ac-drawer,.pl-dock-in) {transition-duration:.01ms!important;animation-duration:.01ms!important}
 body .pc:hover .pc-img,body .hm-pcard:hover {transform:none}
}
