/* ==========================================================================
AFTER/DARK 1.0 — the drop-first layer
--------------------------------------------------------------------------
Sits on top of afterdark.css and reuses its tokens. Everything here is
prefixed ad1- so it cannot collide with the base system; the cart drawer,
checkout, account and order pages keep their base styling.
Dark throughout. Amber is the only accent, and it only ever means
"the drop": dates, what is live, what is nearly gone.
========================================================================== */

:root {
--ad1-accent: #e8a53c;
--ad1-panel: #151517;
--ad1-line: #26262a;
--ad1-line-2: #4a4a50;
--ad1-text-2: #c9c9cd;
--ad1-text-3: #9a9aa0;
--ad1-pad: clamp(1rem, 4vw, 3.5rem);
--ad1-max: 1440px;
}

.ad1-wrap { width: 100%; max-width: var(--ad1-max); margin-inline: auto; padding-inline: var(--ad1-pad); }
.is-accent { color: var(--ad1-accent) !important; }

/* type ------------------------------------------------------------------- */
.ad1-eyebrow, .ad1-label {
margin: 0 0 1.4rem; font-size: .75rem; font-weight: 600;
letter-spacing: .22em; text-transform: uppercase; color: var(--ad1-text-3);
}
.ad1-label { margin: 0; color: var(--ad-paper); }
.ad1-display {
margin: 0; font-weight: 900; text-transform: uppercase;
font-size: clamp(3.1rem, 7.4vw, 7rem); line-height: .9; letter-spacing: -.035em;
max-width: 9ch;
}
.ad1-display--sm { font-size: clamp(2.4rem, 5vw, 4.75rem); max-width: 10ch; }
.ad1-h2 {
margin: 0; font-weight: 900; text-transform: uppercase;
font-size: clamp(2.3rem, 5vw, 4.5rem); line-height: .92; letter-spacing: -.035em;
}
.ad1-h3 { margin: 0; font-size: 1.6rem; font-weight: 900; text-transform: uppercase; letter-spacing: -.02em; line-height: 1; }
.ad1-lede { margin: 1.8rem 0 0; max-width: 32rem; font-size: clamp(1.02rem, 1.3vw, 1.2rem); line-height: 1.55; color: var(--ad1-text-2); }
.ad1-fine { margin: .9rem 0 0; font-size: .82rem; line-height: 1.55; color: var(--ad1-text-3); }
.ad1-fine--strong { color: var(--ad1-text-2); font-size: .95rem; }
.ad1-fine--center { text-align: center; }
.ad1-done {
margin: 0; padding: 1rem 1.1rem; border: 1px solid var(--ad1-accent);
font-size: .95rem; line-height: 1.5; color: var(--ad-paper);
}
.ad-form__err { margin: .7rem 0 0; font-size: .85rem; color: #ff9a8a; }

/* buttons ------------------------------------------------------------------ */
.ad1-btn {
display: flex; align-items: center; justify-content: center; text-align: center;
min-height: 3.4rem; padding: 0 1.8rem; width: 100%;
border: 1px solid var(--ad1-line-2); background: transparent; color: var(--ad-paper);
font: 700 .75rem/1.2 var(--ad-font); letter-spacing: .2em; text-transform: uppercase;
cursor: pointer; transition: background .25s var(--ad-ease), color .25s var(--ad-ease), border-color .25s var(--ad-ease);
}
.ad1-btn:hover { border-color: var(--ad-paper); }
.ad1-btn--solid { background: var(--ad-paper); border-color: var(--ad-paper); color: var(--ad-ink); font-weight: 800; }
.ad1-btn--solid:hover { background: #ffffff; border-color: #ffffff; color: var(--ad-ink); }
.ad1-btn--ghost { border-color: var(--ad1-line-2); }
.ad1-btn--inline { display: inline-flex; width: auto; margin-top: 2.2rem; }
.ad1-btn[disabled] { background: transparent; border-color: var(--ad1-line); color: #6a6a70; cursor: not-allowed; }
.ad1-textlink {
padding: 0; font-size: .72rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase;
color: var(--ad1-text-3); text-decoration: underline; text-underline-offset: 4px;
}
.ad1-textlink:hover { color: var(--ad-paper); }

/* drop bar -------------------------------------------------------------- */
.ad1-bar {
display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
gap: .35rem 1.8rem; padding: .7rem 1.25rem; text-align: center;
background: var(--ad1-accent); color: var(--ad-ink);
font-size: .7rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase;
}
.ad1-bar__item.is-strong { font-weight: 800; }
.ad1-bar__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ad-ink); animation: ad1-pulse 1.4s infinite; }
.ad1-bar--quiet { background: var(--ad1-panel); color: var(--ad-paper); border-bottom: 1px solid var(--ad1-line); }
@keyframes ad1-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }

/* header ------------------------------------------------------------------ */
.ad1-header {
position: sticky; top: 0; z-index: 90;
background: rgba(13,13,15,.9); backdrop-filter: saturate(140%) blur(14px);
border-bottom: 1px solid var(--ad1-line);
}
.admin-bar .ad1-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .ad1-header { top: 0; } }
.ad1-header__inner {
display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
max-width: var(--ad1-max); margin-inline: auto; padding: 1.15rem var(--ad1-pad); gap: 1rem;
}
.ad1-header__left, .ad1-header__right { display: flex; align-items: center; gap: 1.8rem; }
.ad1-header__right { justify-content: flex-end; }
.ad1-header .ad-nav { display: flex; gap: 2rem; }
.ad1-header .ad-nav a, .ad1-hlink {
display: inline-flex; align-items: center; gap: .55rem; min-height: 44px;
font-size: .75rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--ad-paper);
}
.ad1-header .ad-nav a:hover, .ad1-hlink:hover { color: #ffffff; }
.ad1-header__brand { display: block; color: var(--ad-paper); line-height: 0; }
.ad1-header__brand .ad-logo { height: 30px; width: auto; }
.ad1-iconbtn { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; color: var(--ad-paper); margin-left: -10px; }
.ad1-badge {
display: inline-flex; align-items: center; justify-content: center;
min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px;
background: var(--ad-paper); color: var(--ad-ink); font-size: .7rem; letter-spacing: 0; font-weight: 700;
}
.ad1-badge[hidden] { display: none; }
.ad1-only-narrow { display: none !important; }
@media (max-width: 860px) {
.ad1-only-wide { display: none !important; }
.ad1-only-narrow { display: inline-flex !important; }
.ad1-header__inner { padding-block: .5rem; }
.ad1-header__brand .ad-logo { height: 24px; }
.ad1-header__right { gap: .5rem; }
}

/* hero -------------------------------------------------------------------- */
.ad1-hero { position: relative; min-height: min(92vh, 900px); display: flex; align-items: flex-end; overflow: hidden; background: var(--ad-ink); }
.ad1-hero--short { min-height: min(70vh, 640px); }
.ad1-hero__media, .ad1-close__media { position: absolute; inset: 0; }
.ad1-hero__media img, .ad1-close__media img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 55%; }
.ad1-hero__scrim {
position: absolute; inset: 0;
background:
linear-gradient(90deg, rgba(13,13,15,.92) 0%, rgba(13,13,15,.55) 38%, rgba(13,13,15,0) 62%),
linear-gradient(0deg, var(--ad-ink) 0%, rgba(13,13,15,0) 32%);
}
.ad1-hero__scrim--heavy { background: linear-gradient(90deg, rgba(13,13,15,.95) 0%, rgba(13,13,15,.75) 50%, rgba(13,13,15,.55) 100%); }
.ad1-hero__body { position: relative; padding-top: 7rem; padding-bottom: 4.5rem; }
.ad1-hero__body--split { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 30rem), 1fr)); gap: 3.5rem; align-items: end; }
@media (max-width: 700px) {
.ad1-hero { min-height: 0; }
.ad1-hero__media { position: relative; height: 56vw; min-height: 260px; }
.ad1-hero__media img { object-position: 66% 45%; }
.ad1-hero__scrim { background: linear-gradient(0deg, var(--ad-ink) 0%, rgba(13,13,15,0) 55%); height: 56vw; min-height: 260px; }
.ad1-hero { flex-direction: column; align-items: stretch; }
.ad1-hero__body { padding-top: 0; margin-top: -4.5rem; padding-bottom: 3rem; }
}

/* countdown ------------------------------------------------------------- */
.ad1-count { display: flex; gap: .6rem; margin-top: 2.6rem; }
.ad1-count__unit {
min-width: 5.8rem; padding: 1rem 0 .8rem; text-align: center;
border: 1px solid #34343a; background: rgba(13,13,15,.55);
}
.ad1-count__n { font-size: 2.75rem; font-weight: 300; line-height: 1; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.ad1-count__unit:last-child .ad1-count__n { color: var(--ad1-accent); }
.ad1-count__l { margin-top: .5rem; font-size: .62rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--ad1-text-3); }
@media (max-width: 520px) {
.ad1-count { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .4rem; }
.ad1-count__unit { min-width: 0; }
.ad1-count__n { font-size: 2rem; }
}

/* waitlist form ----------------------------------------------------------- */
.ad1-join { margin-top: 1.8rem; max-width: 36rem; }
.ad1-join--panel { margin: 0; border-top: 1px solid var(--ad-paper); padding-top: 1.8rem; display: flex; flex-direction: column; gap: 1rem; }
.ad1-join__row { display: flex; flex-wrap: wrap; border: 1px solid var(--ad-paper); }
.ad1-join--panel .ad1-join__row, .ad1-pdp__buy .ad1-join__row { margin-top: .4rem; }
.ad1-join__row input {
flex: 1 1 15rem; min-width: 0; height: 3.6rem; padding: 0 1.2rem;
background: transparent; border: 0; color: var(--ad-paper); font: inherit; font-size: 1rem; outline: none;
}
.ad1-join__row input::placeholder, .ad1-input::placeholder { color: #7c7c83; }
.ad1-join__row .ad1-btn { width: auto; flex: 0 0 auto; min-height: 3.6rem; border: 0; }
@media (max-width: 520px) { .ad1-join__row .ad1-btn { flex: 1 1 100%; } }
.ad1-input {
width: 100%; height: 3.4rem; padding: 0 1.1rem; margin-top: 1rem;
background: var(--ad1-panel); border: 1px solid #34343a; color: var(--ad-paper); font: inherit; font-size: 1rem;
}
.ad1-input:focus { border-color: var(--ad-paper); outline: none; }

/* terms strip --------------------------------------------------------------- */
.ad1-terms { border-block: 1px solid var(--ad1-line); }
.ad1-terms__grid { max-width: var(--ad1-max); margin-inline: auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); }
.ad1-terms__grid > div { padding: 1.9rem var(--ad1-pad); border-right: 1px solid var(--ad1-line); }
.ad1-terms__grid > div:last-child { border-right: 0; }
.ad1-terms strong { display: block; font-size: 2.5rem; font-weight: 800; letter-spacing: -.03em; line-height: 1; font-variant-numeric: tabular-nums; }
.ad1-terms span { display: block; margin-top: .55rem; font-size: .72rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--ad1-text-3); }
@media (max-width: 700px) {
.ad1-terms__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ad1-terms__grid > div { padding: 1.4rem var(--ad1-pad); border-bottom: 1px solid var(--ad1-line); }
.ad1-terms__grid > div:nth-child(2n) { border-right: 0; }
.ad1-terms strong { font-size: 2rem; }
}

/* two frames ---------------------------------------------------------------- */
.ad1-pair { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 32rem), 1fr)); }
.ad1-pair > div { aspect-ratio: 4 / 3.6; overflow: hidden; background: var(--ad-ink); }
.ad1-pair img { width: 100%; height: 100%; object-fit: cover; }
/* The weight plate at the top of the left frame carries a maker's mark: crop it out. */
.ad1-pair > div:first-child img, .ad1-shot--men img { transform: scale(1.28); transform-origin: 50% 100%; }

/* sections ------------------------------------------------------------------ */
.ad1-section { padding-block: clamp(4.5rem, 8vw, 7.5rem); }
.ad1-section--panel { background: var(--ad1-panel); border-block: 1px solid var(--ad1-line); }
.ad1-sechead { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 1.5rem 3rem; margin-bottom: 2.8rem; }
.ad1-sechead .ad1-lede { margin: 0; max-width: 26rem; font-size: 1rem; }

/* product grid ------------------------------------------------------------- */
.ad1-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); gap: 1.25rem; }
.ad1-card { display: flex; flex-direction: column; background: var(--ad1-panel); border: 1px solid var(--ad1-line); }
.ad1-card__media { position: relative; display: block; aspect-ratio: 4 / 5; background: #0b0b0d; overflow: hidden; }
.ad1-card__media img { width: 100%; height: 100%; object-fit: contain; transition: transform .6s var(--ad-ease); }
.ad1-card:hover .ad1-card__media img { transform: scale(1.03); }
.ad1-card--soldout .ad1-card__media img { opacity: .45; }
.ad1-card__stamp {
position: absolute; left: 1rem; top: 1rem; padding: .45rem .7rem;
background: var(--ad-ink); border: 1px solid var(--ad1-line-2);
font-size: .65rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
}
.ad1-card__body { display: flex; flex-direction: column; gap: 1rem; padding: 1.4rem 1.4rem 1.5rem; flex: 1; }
.ad1-card__meta { display: flex; justify-content: space-between; gap: 1rem; font-size: .7rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--ad1-text-3); }
.ad1-card__head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.ad1-card__title { margin: 0; font-size: 1.22rem; font-weight: 700; letter-spacing: -.01em; line-height: 1.2; }
.ad1-card__title a:hover { color: #ffffff; }
.ad1-card__price { font-size: 1.1rem; font-weight: 500; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ad1-card__price del { opacity: .5; margin-right: .4rem; }
.ad1-card .ad1-btn { margin-top: auto; min-height: 3rem; }

/* meter + size availability ----------------------------------------------- */
.ad1-meter__head { display: flex; justify-content: space-between; gap: 1rem; font-size: .7rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--ad1-text-3); }
.ad1-meter__bar { height: 3px; margin-top: .65rem; background: #2a2a2e; }
.ad1-meter__bar span { display: block; height: 3px; background: var(--ad1-accent); }
.ad1-meter--quiet .ad1-meter__head { color: var(--ad1-text-2); }
.ad1-avail { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.ad1-chip {
min-width: 3.2rem; min-height: 2.9rem; padding: .3rem .6rem;
display: inline-flex; flex-direction: column; align-items: center; justify-content: center;
border: 1px solid var(--ad1-line-2); font-size: .82rem; font-weight: 600; letter-spacing: .05em;
}
.ad1-chip:hover { border-color: var(--ad-paper); }
.ad1-chip small { font-size: .58rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ad1-accent); margin-top: 2px; }
.ad1-chip.is-gone { border-color: var(--ad1-line); color: #5e5e64; text-decoration: line-through; }

/* how the drop works ------------------------------------------------------- */
.ad1-steps { list-style: none; margin: 3rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); border-top: 2px solid var(--ad-paper); }
.ad1-steps li { padding: 1.8rem 1.8rem 0 0; }
.ad1-steps__n { font-size: .95rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.ad1-steps h3 { margin: 1.1rem 0 .6rem; font-size: 1.3rem; font-weight: 800; text-transform: uppercase; letter-spacing: -.01em; }
.ad1-steps p { margin: 0; font-size: .95rem; line-height: 1.6; color: #b4b4ba; }

/* closing band --------------------------------------------------------------- */
.ad1-close { position: relative; min-height: 38rem; display: flex; align-items: center; overflow: hidden; }
.ad1-close__media img { transform: scaleX(-1); }
.ad1-close__scrim { position: absolute; inset: 0; background: linear-gradient(270deg, rgba(13,13,15,.92) 0%, rgba(13,13,15,.5) 38%, rgba(13,13,15,0) 62%); }
.ad1-close__body { position: relative; display: flex; flex-direction: column; align-items: flex-end; text-align: right; padding-block: 5rem; }
@media (max-width: 700px) {
.ad1-close { min-height: 30rem; align-items: flex-end; }
.ad1-close__scrim { background: linear-gradient(0deg, rgba(13,13,15,.95) 0%, rgba(13,13,15,.2) 70%); }
.ad1-close__body { align-items: flex-start; text-align: left; padding-block: 3rem; }
}

/* reassurance strip -------------------------------------------------------- */
.ad1-assure { border-block: 1px solid var(--ad1-line); }
.ad1-assure__grid { max-width: var(--ad1-max); margin-inline: auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.ad1-assure__grid > div { padding: 1.9rem var(--ad1-pad); border-right: 1px solid var(--ad1-line); }
.ad1-assure__grid > div:last-child { border-right: 0; }
.ad1-assure h3 { margin: 0 0 .5rem; font-size: .75rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.ad1-assure p { margin: 0; font-size: .88rem; line-height: 1.55; color: var(--ad1-text-3); }

/* footer ---------------------------------------------------------------------- */
.ad1-footer { border-top: 1px solid var(--ad1-line); padding: 4.5rem 0 2.5rem; }
.ad1-footer__mark { display: block; color: var(--ad-paper); line-height: 0; }
.ad1-footer__mark .ad-logo { width: 100%; height: auto; }
.ad1-footer__row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1.2rem 2rem; margin-top: 3.5rem; padding-top: 1.5rem; border-top: 1px solid var(--ad1-line); }
.ad1-footer__row--quiet { margin-top: 0; border-top: 0; padding-top: 1.2rem; }
.ad1-footer__nav { display: flex; flex-wrap: wrap; gap: .4rem 1.8rem; }
.ad1-footer__nav a, .ad1-footer__terms, .ad1-footer__row--quiet p {
margin: 0; font-size: .72rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--ad1-text-3);
}
.ad1-footer__nav a { min-height: 44px; display: inline-flex; align-items: center; }
.ad1-footer__nav a:hover { color: var(--ad-paper); }

/* product page ---------------------------------------------------------------- */
.ad1-pdp {
max-width: var(--ad1-max); margin-inline: auto; padding: 2.5rem var(--ad1-pad) 6rem;
display: flex; flex-wrap: wrap; gap: 3.5rem; align-items: flex-start;
}
.ad1-pdp__gallery { flex: 999 1 34rem; min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.ad1-shot { margin: 0; background: #0b0b0d; overflow: hidden; aspect-ratio: 4 / 5; }
.ad1-shot img { width: 100%; height: 100%; object-fit: cover; }
.ad1-shot--main { grid-column: 1 / -1; aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; }
.ad1-shot--main img { object-fit: contain; height: 96%; width: auto; }
.ad1-shot--detail img { object-fit: cover; transform: scale(2.6); transform-origin: 50% 33%; }
.ad1-shot--mood img { object-position: 50% 30%; }
.ad1-pdp__buy { flex: 1 1 24rem; min-width: 0; position: sticky; top: 7rem; display: flex; flex-direction: column; gap: 1.6rem; }
.ad1-pdp__buy .ad1-eyebrow { margin: 0; }
.ad1-pdp__title { margin: -0.6rem 0 0; font-size: clamp(2.4rem, 4vw, 3.6rem); font-weight: 900; text-transform: uppercase; line-height: .92; letter-spacing: -.035em; }
.ad1-pdp__price { margin: -0.4rem 0 0; font-size: 1.4rem; font-weight: 500; font-variant-numeric: tabular-nums; }
@media (max-width: 900px) { .ad1-pdp__buy { position: static; } .ad1-pdp { gap: 2rem; padding-top: 1rem; } }

.ad1-sizehead { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: .8rem; }
.ad1-sizes { display: grid; grid-template-columns: repeat(auto-fit, minmax(3.6rem, 1fr)); gap: .4rem; }
.ad1-size {
min-height: 3.8rem; padding: .3rem; display: flex; flex-direction: column; align-items: center; justify-content: center;
border: 1px solid var(--ad1-line-2); background: transparent; color: var(--ad-paper);
font: 700 .95rem/1 var(--ad-font); letter-spacing: .04em; cursor: pointer;
}
.ad1-size:hover { border-color: var(--ad-paper); }
.ad1-size[aria-pressed="true"], .ad1-size[aria-checked="true"] { background: var(--ad-paper); border-color: var(--ad-paper); color: var(--ad-ink); }
.ad1-size__n { margin-top: .3rem; font-size: .6rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ad1-accent); min-height: .6rem; }
.ad1-size[aria-pressed="true"] .ad1-size__n { color: var(--ad-ink); }
.ad1-size--gone, .ad1-size.is-gone, .ad1-size[disabled] { border-color: var(--ad1-line); color: #5e5e64; text-decoration: line-through; cursor: not-allowed; }
.ad1-size--gone .ad1-size__n { color: #5e5e64; }
.ad1-sizes--display .ad1-size { cursor: default; }
.ad1-save .ad1-btn, .ad1-buyform .ad1-btn { margin-top: 1rem; min-height: 3.9rem; }

.ad1-acc { border-top: 1px solid #2a2a2e; }
.ad1-acc details { border-bottom: 1px solid #2a2a2e; }
.ad1-acc summary {
list-style: none; display: flex; justify-content: space-between; align-items: center; min-height: 3.5rem; cursor: pointer;
font-size: .75rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase;
}
.ad1-acc summary::-webkit-details-marker { display: none; }
.ad1-acc summary::after { content: "+"; font-size: 1.2rem; font-weight: 300; letter-spacing: 0; }
.ad1-acc details[open] summary::after { content: "\2212"; }
.ad1-acc__body { padding-bottom: 1.3rem; font-size: .95rem; line-height: 1.65; color: #b4b4ba; }
.ad1-acc__body p { margin: 0 0 .8rem; }
