:root {
  --white: #ffffff;
  --cream: #fffaf1;
  --sand: #fcdeb0;
  --rust: #a04d27;
  --olive: #465f17;
  --green: #173f33;
  --ink: #28201a;
  --muted: #6d625a;
  --line: rgba(40, 32, 26, 0.17);
  --serif: Georgia, "Times New Roman", serif;
  --sans: var(--font-geist-sans), Arial, Helvetica, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
body:has(.drawer-layer) { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
.shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.section { padding: 112px 0; }

.announcement { min-height: 38px; padding: 8px 28px; background: var(--ink); color: var(--white); display: flex; justify-content: center; align-items: center; gap: 32px; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.announcement p { margin: 0; }
.announcement a { color: var(--sand); border-bottom: 1px solid currentColor; }
.announcement-campaign { min-height: 52px; justify-content: space-between; background: var(--rust); }
.announcement-campaign p { display: flex; align-items: center; gap: 12px; }
.announcement-campaign p::before { content: "Sale"; padding: 5px 7px; background: var(--sand); color: var(--ink); font-size: 7px; letter-spacing: .14em; }
.campaign-countdown { display: flex; align-items: center; gap: 8px; }
.campaign-countdown b { min-width: 34px; display: inline-flex; flex-direction: column; align-items: center; color: var(--white); font-size: 13px; letter-spacing: .04em; }
.campaign-countdown small { margin-top: 2px; color: rgba(255,255,255,.64); font-size: 6px; letter-spacing: .12em; }
.campaign-countdown i { color: var(--sand); font-style: normal; }
.site-header { position: sticky; top: 0; z-index: 40; background: rgba(255,250,241,.93); border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); }
.nav { height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 34px; }
.brand, .confirmation-brand { display: inline-flex; align-items: center; gap: 10px; }
.brand img, .confirmation-brand img { width: 33px; height: 45px; object-fit: contain; }
.brand span, .confirmation-brand span { display: flex; flex-direction: column; }
.brand strong, .confirmation-brand strong { font: 700 22px/1 var(--serif); }
.brand small, .confirmation-brand small { margin-top: 4px; font-size: 8px; letter-spacing: .17em; text-transform: uppercase; }
/* Stretched to the header's full 82px rather than shrink-wrapped around the
   link text. That makes the bottom of .nav-more the bottom of the header, so
   the More panel can be anchored with `top: 100%` instead of an offset guessed
   from the font metrics. `align-items: center` still centres the links. */
.nav-links { display: flex; align-items: center; align-self: stretch; gap: 30px; margin-left: auto; }
.nav-links a { font-size: 13px; font-weight: 650; }
.nav-links a:hover { color: var(--rust); }
/* Available to assistive tech, invisible on screen. Used for the labels on
   search and filter controls whose purpose is obvious from context. */
.visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }

/* The mobile toggle is hidden this way rather than with the `hidden`
   attribute: `hidden` also drops it out of the tab order, which left the
   mobile menu impossible to open from a keyboard. */
.mobile-menu-toggle { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); }
/* The checkbox itself is invisible, so the focus ring has to be drawn on the
   label the user can actually see. */
.mobile-menu-toggle:focus-visible ~ .mobile-menu-button { outline: 2px solid var(--rust); outline-offset: 3px; }

/* Full header height, with "More" centred inside it. The stretch is what lets
   the panel sit flush against the header's bottom edge. */
.nav-more { position: relative; align-self: stretch; display: flex; align-items: center; }
.nav-more summary { list-style: none; font-size: 13px; font-weight: 650; cursor: pointer; }
.nav-more summary::-webkit-details-marker { display: none; }
.nav-more summary::after { content: " +"; color: var(--rust); }
.nav-more[open] summary::after { content: " −"; }
/* `top: 100%` is the bottom of .nav-more, which is now the bottom of the
   header -- so the panel hangs flush off the header with no gap, and can never
   creep up over "More" and steal the click that closes it. The offsets this
   replaced (28px, then 28px + 10px) were both guesses at the same measurement.
   `margin-top: -1px` laps the header's 1px bottom border so the two edges read
   as one line rather than a doubled rule. */
.nav-more > div { position: absolute; z-index: 6; top: 100%; margin-top: -1px; right: 0; width: 210px; padding: 12px; border: 1px solid var(--line); display: grid; background: var(--cream); box-shadow: 0 18px 40px rgba(40,32,26,.14); }
.nav-more > div a { min-height: 40px; padding: 10px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; font-size: 11px; }
.nav-more > div a:last-child { border-bottom: 0; }
.mobile-menu-button { display: none; width: 43px; height: 43px; border: 1px solid var(--line); background: transparent; font-size: 20px; cursor: pointer; }
.bag-button { min-height: 43px; padding: 0 10px 0 18px; border: 1px solid var(--ink); background: var(--ink); color: var(--white); display: inline-flex; align-items: center; gap: 13px; font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; cursor: pointer; }
.bag-button span { width: 25px; height: 25px; border-radius: 50%; display: grid; place-items: center; background: var(--sand); color: var(--ink); font-size: 10px; }

.button { min-height: 54px; padding: 0 24px; border: 1px solid var(--ink); display: inline-flex; align-items: center; justify-content: center; gap: 14px; background: transparent; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: transform .18s ease, background .18s ease, color .18s ease; }
.button:hover:not(:disabled) { transform: translateY(-2px); }
.button:disabled { opacity: .6; cursor: wait; }
.button-dark { background: var(--ink); color: var(--white); }
.button-primary { background: var(--sand); border-color: var(--sand); color: var(--ink); }
.button-light { background: var(--white); border-color: var(--white); color: var(--ink); }
.button-wide { width: 100%; }
.new-product-panel { margin: 0 12px 16px; border: 1px solid var(--line); background: #fffdf8; }
.new-product-panel summary { padding: 16px 18px; color: var(--rust); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.new-product-panel form { padding: 0 18px 18px; display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.new-product-panel label { display: flex; flex-direction: column; gap: 7px; }
.new-product-panel label > span { color: var(--muted); font-size: 7px; font-weight: 800; text-transform: uppercase; }
.new-product-panel input, .new-product-panel textarea { width: 100%; padding: 11px; border: 1px solid var(--line); background: var(--white); }
.new-product-panel .wide { grid-column: span 3; }
.shipping-setting { margin: 0 14px 14px; padding: 14px; border: 1px solid var(--line); display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 10px; background: #fffdf8; }
.shipping-setting label { display: flex; flex-direction: column; gap: 7px; }
.shipping-setting label span { color: var(--muted); font-size: 7px; font-weight: 800; text-transform: uppercase; }
.shipping-setting input { min-height: 42px; padding: 0 11px; border: 1px solid var(--line); background: var(--white); }
.shipping-quote { margin: 22px 0 0; padding: 15px; border: 1px solid var(--line); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; background: var(--white); }
.shipping-quote.live { border-color: rgba(70,95,23,.55); box-shadow: inset 3px 0 var(--olive); }
.shipping-quote > div { display: flex; flex-direction: column; gap: 4px; }
.shipping-quote strong { font: 600 16px/1.1 var(--serif); }
.shipping-quote small { color: var(--muted); font-size: 8px; line-height: 1.45; }
.shipping-quote > b { color: var(--rust); font: 650 18px/1 var(--serif); }
.jnt-mini-mark { min-width: 40px; padding: 8px 6px; border-radius: 3px; background: #d71920; color: white; font-size: 9px; font-weight: 900; text-align: center; }
.jnt-mini-mark.fallback { background: var(--green); }
.shipping-total { margin-top: 9px; padding-top: 9px; border-top: 1px solid var(--line); }
.grand-total { margin-top: 9px; color: var(--rust); font-size: 13px; }
.payment-options label.disabled { opacity: .55; cursor: not-allowed; }
.finance-order-action:has(.state-released) .admin-button { display: none; }
.text-link { display: inline-flex; align-items: center; gap: 10px; padding-bottom: 5px; border-bottom: 1px solid currentColor; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.store-campaign { border-bottom: 1px solid var(--line); background: var(--sand); }
.store-campaign-inner { min-height: 128px; padding-block: 24px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 45px; }
.store-campaign h2 { margin: 6px 0 8px; font: 600 clamp(29px,3.4vw,45px)/.96 var(--serif); letter-spacing: -.04em; }
.store-campaign p { margin: 0; color: rgba(40,32,26,.68); font-size: 11px; }
.store-campaign-offer { display: grid; grid-template-columns: auto auto; align-items: center; gap: 2px 18px; }
.store-campaign-offer > strong { grid-row: 1/3; display: flex; align-items: flex-end; gap: 5px; color: var(--rust); font: 700 49px/.8 var(--serif); letter-spacing: -.05em; }
.store-campaign-offer > strong small { padding-bottom: 3px; font: 850 9px/1 var(--sans); letter-spacing: .12em; }
.store-campaign-offer > span { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.store-campaign-offer > a { width: max-content; border-bottom: 1px solid currentColor; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }

.hero { position: relative; min-height: 735px; overflow: hidden; background: var(--green); color: var(--white); }
.hero::after { content: ""; position: absolute; z-index: 3; left: -2%; right: -2%; bottom: -1px; height: 42px; background: var(--cream); clip-path: polygon(0 66%,4% 54%,9% 70%,14% 38%,20% 64%,25% 47%,30% 69%,35% 45%,41% 61%,47% 35%,52% 63%,57% 45%,63% 70%,70% 48%,76% 67%,82% 42%,88% 65%,94% 47%,100% 64%,100% 100%,0 100%); }
.hero-grid { position: relative; z-index: 2; min-height: 735px; padding-top: 58px; padding-bottom: 84px; display: grid; grid-template-columns: 1.06fr .94fr; align-items: center; gap: 65px; }
.hero-glow { position: absolute; border-radius: 50%; filter: blur(8px); opacity: .52; }
.hero-glow-one { width: 440px; height: 440px; right: 2%; top: 5%; background: rgba(252,222,176,.48); }
.hero-glow-two { width: 350px; height: 350px; right: 32%; bottom: -28%; background: rgba(160,77,39,.45); }
.eyebrow, .kicker { margin: 0 0 24px; display: flex; align-items: center; gap: 10px; color: var(--rust); font-size: 10px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.eyebrow { color: var(--sand); }
.eyebrow span { width: 28px; height: 2px; background: currentColor; }
.hero h1, .section-heading h2, .purpose h2, .faq h2, .final-cta h2, .confirmation-card h1 { margin: 0; font-family: var(--serif); font-weight: 600; letter-spacing: -.055em; }
.hero h1 { max-width: 720px; font-size: clamp(58px,6.5vw,94px); line-height: .89; }
h1 em, h2 em { color: var(--sand); font-weight: 500; }
.hero-lead { max-width: 610px; margin: 32px 0 0; color: rgba(255,255,255,.78); font-size: 17px; line-height: 1.75; }
.hero-actions { margin-top: 34px; display: flex; align-items: center; gap: 28px; }
.hero-proof { max-width: 560px; margin-top: 48px; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.2); display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.hero-proof div { display: flex; flex-direction: column; gap: 6px; }
.hero-proof strong { color: var(--sand); font: 600 24px/1 var(--serif); }
.hero-proof span { color: rgba(255,255,255,.58); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.hero-visual { position: relative; height: 600px; }
.hero-photo { position: absolute; inset: 10px 0 28px 65px; border-radius: 240px 240px 8px 8px; background: linear-gradient(180deg,rgba(252,222,176,.1),rgba(23,63,51,.35)),url('/assets/field-sunrise.webp') center 51%/cover; filter: saturate(.72); box-shadow: 0 40px 100px rgba(0,0,0,.28); }
.hero-photo::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.28); border-radius: inherit; }
.hero-models { position: absolute; z-index: 2; left: 2%; bottom: 5px; width: 73%; max-height: 570px; object-fit: contain; object-position: bottom; filter: drop-shadow(0 24px 20px rgba(0,0,0,.28)); }
.hero-product-duo { left: -7%; bottom: 48px; width: 104%; max-height: 500px; filter: drop-shadow(0 30px 26px rgba(0,0,0,.38)); }
.hero-statement { position: absolute; z-index: 3; top: 62px; right: -18px; width: 180px; padding: 18px; background: var(--cream); color: var(--ink); transform: rotate(3deg); box-shadow: 0 18px 40px rgba(0,0,0,.16); }
.hero-statement span { font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }
.hero-statement strong { display: block; margin-top: 8px; font: 600 25px/1.03 var(--serif); }
.hero-badge { position: absolute; z-index: 4; right: -2px; bottom: 50px; width: 138px; height: 138px; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--sand); color: var(--ink); transform: rotate(-7deg); box-shadow: 0 14px 30px rgba(0,0,0,.24); }
.hero-badge img { width: 26px; height: 33px; object-fit: contain; margin-bottom: 5px; }
.hero-badge span { text-align: center; font-size: 9px; line-height: 1.15; letter-spacing: .09em; text-transform: uppercase; }

.trust-strip { position: relative; z-index: 5; padding: 58px 0 70px; background: var(--cream); }
.trust-grid { display: grid; grid-template-columns: repeat(3,1fr); border-block: 1px solid var(--line); }
.trust-grid article { min-height: 110px; padding: 28px; display: flex; align-items: flex-start; gap: 20px; }
.trust-grid article + article { border-left: 1px solid var(--line); }
.trust-grid b { color: var(--rust); font-size: 9px; letter-spacing: .1em; }
.trust-grid div { display: flex; flex-direction: column; gap: 7px; }
.trust-grid strong { font: 600 21px/1.1 var(--serif); }
.trust-grid span { color: var(--muted); font-size: 11px; }

.section-heading { margin-bottom: 55px; display: grid; grid-template-columns: 1.15fr .7fr; align-items: end; gap: 80px; }
.section-heading h2, .faq h2 { font-size: clamp(50px,6vw,79px); line-height: .9; }
.section-heading h2 em, .faq h2 em { color: var(--rust); }
.section-intro { padding-bottom: 5px; }
.section-intro p { margin: 0 0 22px; color: var(--muted); font-size: 15px; line-height: 1.75; }
.section-intro span { color: var(--rust); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.product-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.product-card { overflow: hidden; border: 1px solid var(--line); background: var(--white); }
.product-image { position: relative; aspect-ratio: 4/4.75; overflow: hidden; background: #fff; }
.product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.product-card:hover .product-image img { transform: scale(1.035); }
.product-tag { position: absolute; left: 15px; top: 15px; padding: 8px 10px; background: var(--cream); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.product-info { padding: 24px 22px 22px; }
.product-info > p:first-child { margin: 0 0 7px; color: var(--rust); font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.product-title-row { display: flex; align-items: end; justify-content: space-between; gap: 18px; }
.product-title-row h3 { margin: 0; font: 600 28px/1 var(--serif); }
.product-title-row strong { white-space: nowrap; font-size: 12px; }
.product-title-row .sale-price { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; color: var(--rust); }
.product-title-row .sale-price del { color: var(--muted); font-size: 9px; font-weight: 600; }
.product-description { min-height: 41px; margin: 14px 0 20px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.product-fit-help { margin: -8px 0 17px; color: var(--muted); font-size: 8px; line-height: 1.5; }
.product-fit-help a { color: var(--rust); border-bottom: 1px solid currentColor; font-weight: 750; }
.product-buy-row { display: grid; grid-template-columns: 86px 1fr; gap: 10px; }
.product-buy-row label { display: grid; grid-template-rows: auto 1fr; gap: 5px; }
.product-buy-row label span { font-size: 8px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.product-buy-row select { height: 54px; width: 100%; padding: 0 11px; border: 1px solid var(--ink); background: var(--cream); }
.product-buy-row .button { padding-inline: 15px; }
.catalog-note { margin-top: 34px; padding: 24px 28px; border-left: 4px solid var(--rust); background: rgba(252,222,176,.45); display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.catalog-note p { max-width: 720px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.catalog-note strong { color: var(--ink); }
.catalog-note .button { min-width: 190px; flex: 0 0 auto; }

.shop-hero { position: relative; overflow: hidden; background: var(--green); color: var(--white); }
.shop-hero::before { content: "SHOP"; position: absolute; right: -25px; bottom: -70px; color: rgba(255,255,255,.04); font: 700 220px/1 var(--serif); letter-spacing: -.08em; }
.shop-hero-grid { position: relative; z-index: 2; min-height: 620px; padding-block: 72px; display: grid; grid-template-columns: 1.03fr .97fr; align-items: center; gap: 75px; }
.shop-hero h1 { margin: 0; font: 600 clamp(58px,6.6vw,94px)/.89 var(--serif); letter-spacing: -.06em; }
.shop-hero h1 em { color: var(--sand); }
.shop-hero-grid > div:first-child > p:not(.eyebrow) { max-width: 620px; margin: 30px 0 0; color: rgba(255,255,255,.74); font-size: 16px; line-height: 1.75; }
.shop-hero .text-link { color: var(--white); }
.shop-hero-art { position: relative; min-height: 470px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.14); background: radial-gradient(circle at 50% 45%,rgba(252,222,176,.38),rgba(252,222,176,.04) 59%,transparent 70%); }
.shop-hero-art::before { content: "GOSPEL LIFEWEAR"; position: absolute; top: 24px; left: 24px; color: var(--sand); font-size: 8px; font-weight: 850; letter-spacing: .2em; }
.shop-hero-art img { width: 105%; filter: drop-shadow(0 32px 28px rgba(0,0,0,.32)); }
.shop-hero-art > span { position: absolute; right: 20px; bottom: 20px; padding: 15px 18px; display: flex; align-items: center; gap: 9px; background: var(--sand); color: var(--ink); font-size: 8px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.shop-hero-art > span strong { color: var(--rust); font: 700 30px/1 var(--serif); letter-spacing: -.04em; }
.shop-featured { background: var(--cream); }
.shop-all-products { background: var(--green); color: var(--white); }
.shop-all-products .section-heading h2 em { color: var(--sand); }
.shop-all-products .section-intro p { color: rgba(255,255,255,.7); }
.shop-all-products .section-intro span { color: var(--sand); }
.shop-all-products .catalog-note { border-left-color: var(--sand); background: rgba(255,255,255,.08); }
.shop-all-products .catalog-note p, .shop-all-products .catalog-note strong { color: var(--white); }
.catalog-image-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.catalog-image-button { position: relative; aspect-ratio: 4/5; padding: 0; border: 0; overflow: hidden; background: var(--white); cursor: pointer; }
.catalog-image-button::after { content: "+"; position: absolute; right: 14px; bottom: 14px; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: var(--white); font-size: 23px; box-shadow: 0 8px 25px rgba(0,0,0,.25); transform: translateY(65px); transition: transform .3s ease; }
.catalog-image-button img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease, filter .45s ease; }
.catalog-image-button:hover img, .catalog-image-button:focus-visible img { transform: scale(1.045); filter: brightness(.88); }
.catalog-image-button:hover::after, .catalog-image-button:focus-visible::after { transform: translateY(0); }
.catalog-image-button:focus-visible { outline: 3px solid var(--sand); outline-offset: 3px; }
.catalog-product-layer { position: fixed; z-index: 120; inset: 0; padding: 30px; display: grid; place-items: center; }
.catalog-product-backdrop { position: absolute; inset: 0; border: 0; background: rgba(20,17,14,.78); backdrop-filter: blur(10px); cursor: pointer; }
.catalog-product-modal { position: relative; z-index: 2; width: min(940px,100%); max-height: min(820px,calc(100vh - 60px)); border: 1px solid rgba(255,255,255,.16); display: grid; grid-template-columns: 1.05fr .95fr; overflow: auto; background: var(--cream); box-shadow: 0 40px 120px rgba(0,0,0,.45); }
.catalog-product-close { position: absolute; z-index: 4; right: 14px; top: 14px; width: 43px; height: 43px; border: 0; border-radius: 50%; background: var(--ink); color: var(--white); font-size: 26px; cursor: pointer; }
.catalog-product-photo { min-height: 610px; background: var(--white); }
.catalog-product-photo img { width: 100%; height: 100%; object-fit: cover; }
.catalog-product-info { padding: 70px 48px 42px; display: flex; flex-direction: column; align-items: flex-start; }
.catalog-product-info > p:first-child { margin: 0 0 11px; color: var(--rust); font-size: 9px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.catalog-product-info h2 { margin: 0; font: 600 clamp(42px,5vw,65px)/.9 var(--serif); letter-spacing: -.05em; }
.catalog-product-info > strong { margin-top: 20px; color: var(--rust); font: 700 21px/1 var(--serif); }
.catalog-product-info > strong.catalog-sale-price { display: flex; align-items: baseline; gap: 12px; }
.catalog-product-info > strong.catalog-sale-price del { color: var(--muted); font: 600 13px/1 var(--sans); }
.catalog-product-info > p:nth-of-type(2) { margin: 24px 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.catalog-product-info label { width: 100%; margin-top: auto; display: flex; flex-direction: column; gap: 8px; }
.catalog-product-info label span { font-size: 8px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.catalog-product-info select { width: 100%; height: 52px; padding: 0 13px; border: 1px solid var(--ink); background: var(--white); }
.catalog-product-info .button { margin-top: 12px; }
.catalog-product-notes { width: 100%; margin: -8px 0 20px; border-block: 1px solid var(--line); display: grid; }
.catalog-product-notes span { padding: 10px 0; display: grid; grid-template-columns: 110px 1fr; gap: 14px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.catalog-product-notes span + span { border-top: 1px solid var(--line); }
.catalog-product-notes strong { color: var(--ink); font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.catalog-policy-link { margin-top: 12px; color: var(--rust); border-bottom: 1px solid currentColor; font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.shop-service-strip { padding: 62px 0; background: var(--cream); }

.purpose { position: relative; overflow: hidden; background: var(--olive); color: var(--white); }
.purpose::before { content: "BLESSED"; position: absolute; left: -35px; bottom: -68px; color: rgba(255,255,255,.045); font: 700 210px/1 var(--serif); letter-spacing: -.08em; }
.purpose-grid { position: relative; min-height: 690px; padding-block: 80px; display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: 80px; }
.kicker-light { color: var(--sand); }
.purpose h2 { font-size: clamp(50px,5.6vw,76px); line-height: .94; }
.purpose-copy > p:not(.kicker) { max-width: 520px; margin: 30px 0; color: rgba(255,255,255,.73); font-size: 15px; line-height: 1.75; }
.purpose-art { position: relative; min-height: 560px; }
.shirt-halo { position: absolute; width: 490px; height: 490px; right: 2%; top: 2%; border-radius: 50%; background: radial-gradient(circle,rgba(252,222,176,.9),rgba(252,222,176,.1) 60%,transparent 69%); }
.purpose-art > img { position: absolute; z-index: 2; right: -18px; top: 82px; width: 100%; filter: drop-shadow(0 32px 28px rgba(0,0,0,.3)); }
.purpose-art blockquote { position: absolute; z-index: 4; left: -12px; bottom: 12px; max-width: 275px; margin: 0; padding: 22px; background: var(--cream); color: var(--ink); font: 600 25px/1.05 var(--serif); box-shadow: 0 20px 45px rgba(0,0,0,.18); }
.purpose-art cite { display: block; margin-top: 12px; font: 700 9px/1 var(--sans); letter-spacing: .15em; text-transform: uppercase; }

.featured-message { overflow: hidden; background: var(--cream); }
.mission-intro { display: grid; grid-template-columns: 1.12fr .88fr; align-items: end; gap: 90px; }
.mission-intro h2 { max-width: 760px; margin: 0; font: 600 clamp(50px,5.8vw,78px)/.9 var(--serif); letter-spacing: -.055em; }
.mission-intro h2 em { color: var(--rust); }
.mission-intro-copy > p { margin: 0 0 27px; color: var(--muted); font-size: 15px; line-height: 1.78; }
.mission-pledge { padding: 20px 22px; border-left: 4px solid var(--rust); display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 17px; background: var(--sand); }
.mission-pledge strong { color: var(--rust); font: 600 42px/1 var(--serif); letter-spacing: -.04em; }
.mission-pledge span { font-size: 10px; font-weight: 800; line-height: 1.5; letter-spacing: .07em; text-transform: uppercase; }
.mission-storyline { margin-top: 65px; display: grid; grid-template-columns: repeat(3,1fr); border-block: 1px solid var(--line); }
.mission-storyline article { min-height: 235px; padding: 30px; display: flex; flex-direction: column; }
.mission-storyline article + article { border-left: 1px solid var(--line); }
.mission-storyline span { color: var(--rust); font-size: 9px; font-weight: 850; letter-spacing: .12em; }
.mission-storyline h3 { margin: auto 0 13px; font: 600 30px/1.02 var(--serif); letter-spacing: -.03em; }
.mission-storyline p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.mission-stories-head { margin: 82px 0 38px; display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 90px; }
.mission-stories-head h3 { margin: 0; font: 600 clamp(36px,4vw,54px)/.95 var(--serif); letter-spacing: -.045em; }
.mission-stories-head > div:last-child > p { margin: 0 0 24px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.featured-message-actions { display: flex; align-items: center; gap: 24px; }
.featured-reel-stage { margin-bottom: 18px; min-height: 680px; display: grid; grid-template-columns: 1.05fr .95fr; overflow: hidden; background: var(--green); color: var(--white); }
.featured-reel-stage-copy { position: relative; padding: 70px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.featured-reel-stage-copy::after { content: "PLAY"; position: absolute; left: 40px; bottom: -35px; color: rgba(255,255,255,.035); font: 700 135px/1 var(--serif); letter-spacing: -.06em; }
.featured-reel-stage-copy > span { color: var(--sand); font-size: 9px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.featured-reel-stage-copy h3 { margin: 26px 0 24px; font: 600 clamp(48px,5vw,72px)/.9 var(--serif); letter-spacing: -.055em; }
.featured-reel-stage-copy h3 em { color: var(--sand); }
.featured-reel-stage-copy p { max-width: 520px; margin: 0 0 30px; color: rgba(255,255,255,.7); font-size: 14px; line-height: 1.75; }
.featured-reel-stage-copy .text-link { position: relative; z-index: 2; color: var(--white); }
.featured-reel-player { min-height: 680px; padding: 24px; display: grid; place-items: center; background: var(--ink); }
.featured-reel-player iframe { width: min(405px,100%); height: 720px; max-height: 640px; border: 0; background: #000; }
.featured-media-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.featured-social-frame { min-width: 0; min-height: 620px; padding: 14px; border: 1px solid var(--line); background: var(--white); box-shadow: 0 32px 80px rgba(40,32,26,.12); }
.featured-social-frame > span { display: block; padding: 4px 2px 13px; color: var(--rust); font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.featured-social-frame iframe { width: 100%; height: 535px; border: 0; background: var(--ink); }
.featured-social-frame p { margin: 11px 2px 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.featured-social-frame a { color: var(--rust); border-bottom: 1px solid currentColor; font-weight: 700; }
.mission-uploaded-photo { width: 100%; height: 535px; object-fit: cover; background: var(--cream); }
.mission-preview { padding: 72px 0; overflow: hidden; background: var(--green); color: var(--white); }
.mission-preview-grid { display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 75px; }
.mission-preview-grid h2 { margin: 0; font: 600 clamp(45px,5.2vw,70px)/.9 var(--serif); letter-spacing: -.055em; }
.mission-preview-grid h2 em { color: var(--sand); }
.mission-preview-grid > div:first-child > p:not(.kicker) { max-width: 650px; margin: 25px 0; color: rgba(255,255,255,.68); font-size: 13px; line-height: 1.72; }
.mission-preview-proof { position: relative; min-height: 370px; display: grid; place-items: center; }
.mission-preview-proof::before { content: ""; position: absolute; width: 330px; height: 330px; border: 1px solid rgba(252,222,176,.24); border-radius: 50%; box-shadow: 0 0 0 35px rgba(252,222,176,.035); }
.mission-preview-proof > img { position: relative; z-index: 2; width: min(590px,112%); height: auto; filter: drop-shadow(0 30px 35px rgba(0,0,0,.25)); }
.mission-preview-proof > div { position: absolute; z-index: 3; right: 0; bottom: 15px; width: 190px; padding: 20px; background: var(--sand); color: var(--ink); }
.mission-preview-proof strong { display: block; color: var(--rust); font: 600 43px/1 var(--serif); }
.mission-preview-proof span { display: block; margin-top: 7px; font-size: 8px; font-weight: 800; line-height: 1.45; text-transform: uppercase; }

.customer-circle-section { padding: 82px 0; background: var(--sand); }
.customer-circle-grid { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 80px; }
.customer-circle-grid h2 { margin: 0; font: 600 clamp(43px,4.8vw,65px)/.92 var(--serif); letter-spacing: -.05em; }
.customer-circle-grid > div > p:last-child { max-width: 600px; margin: 25px 0 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.customer-circle-form { padding: 30px; display: grid; grid-template-columns: 1fr 1fr; gap: 15px; background: var(--cream); box-shadow: 0 25px 70px rgba(40,32,26,.12); }
.customer-circle-form > label { display: flex; flex-direction: column; gap: 7px; }
.customer-circle-form > label.wide, .circle-channel-options, .customer-circle-form > p, .customer-circle-form > small { grid-column: 1/-1; }
.customer-circle-form label > span, .circle-channel-options legend { font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.customer-circle-form label i { color: var(--muted); font-weight: 500; font-style: normal; }
.customer-circle-form input[type="text"], .customer-circle-form input[type="email"], .customer-circle-form input[type="tel"] { height: 48px; padding: 0 13px; border: 1px solid var(--line); background: var(--white); outline: none; }
.customer-circle-form input:focus { border-color: var(--rust); }
.circle-channel-options { padding: 0; border: 0; display: flex; align-items: center; gap: 12px 24px; }
.circle-channel-options legend { margin-bottom: 10px; }
.circle-channel-options label { display: flex; align-items: center; gap: 7px; cursor: pointer; }
.circle-channel-options input { accent-color: var(--rust); }
.customer-circle-form .button { align-self: end; }
.customer-circle-form > p { margin: 0; padding: 12px; border-left: 3px solid var(--olive); background: #e8efe2; color: #456528; font-size: 9px; }
.customer-circle-form > small { color: var(--muted); font-size: 8px; line-height: 1.55; }

.contact-section { overflow: hidden; background: var(--green); color: var(--white); }
.contact-grid { display: grid; grid-template-columns: .82fr 1.18fr; align-items: start; gap: 78px; }
.contact-copy { position: sticky; top: 110px; }
.contact-copy h2 { margin: 0; font: 600 clamp(50px,5.8vw,78px)/.9 var(--serif); letter-spacing: -.055em; }
.contact-copy h2 em { color: var(--sand); }
.contact-copy > p:not(.kicker) { max-width: 560px; margin: 28px 0 32px; color: rgba(255,255,255,.7); font-size: 13px; line-height: 1.75; }
.contact-channels { border-top: 1px solid rgba(255,255,255,.18); }
.contact-channels a { min-height: 84px; padding: 17px 4px; border-bottom: 1px solid rgba(255,255,255,.18); display: grid; grid-template-columns: 88px 1fr auto; align-items: center; gap: 12px; }
.contact-channels span { color: var(--sand); font-size: 7px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.contact-channels strong { min-width: 0; font: 500 18px/1.2 var(--serif); overflow-wrap: anywhere; }
.contact-channels b { color: rgba(255,255,255,.55); font-size: 8px; letter-spacing: .06em; text-transform: uppercase; }
.contact-form { padding: 34px; background: var(--cream); color: var(--ink); box-shadow: 0 35px 90px rgba(0,0,0,.28); }
.contact-form-heading { margin-bottom: 27px; padding-bottom: 20px; border-bottom: 1px solid var(--line); display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.contact-form-heading span { color: var(--rust); font-size: 8px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.contact-form-heading strong { font: 600 27px/1 var(--serif); }
.contact-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.contact-form-grid label { display: flex; flex-direction: column; gap: 7px; }
.contact-form-grid label.wide { grid-column: 1/-1; }
.contact-form-grid label > span { font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.contact-form-grid label i { color: var(--muted); font-weight: 500; font-style: normal; }
.contact-form-grid input, .contact-form-grid select, .contact-form-grid textarea { width: 100%; border: 1px solid var(--line); border-radius: 0; background: var(--white); color: var(--ink); outline: none; font: inherit; }
.contact-form-grid input, .contact-form-grid select { height: 50px; padding: 0 13px; }
.contact-form-grid textarea { min-height: 145px; padding: 13px; resize: vertical; line-height: 1.55; }
.contact-form-grid input:focus, .contact-form-grid select:focus, .contact-form-grid textarea:focus { border-color: var(--rust); box-shadow: 0 0 0 1px var(--rust); }
.contact-honeypot { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.contact-form > .button { margin-top: 18px; }
.contact-form > small { margin-top: 14px; display: block; color: var(--muted); font-size: 8px; line-height: 1.55; }
.contact-form > small a { color: var(--rust); border-bottom: 1px solid currentColor; }
.contact-result { margin-top: 18px; padding: 15px 17px; border-left: 4px solid; display: flex; flex-direction: column; gap: 4px; font-size: 9px; line-height: 1.45; }
.contact-result.success { border-color: var(--olive); background: #e8efe2; color: #456528; }
.contact-result.error { border-color: #9d3d32; background: #f7e4df; color: #7b2f27; }
.contact-result strong { font-size: 11px; }
.contact-result small { font-weight: 800; letter-spacing: .04em; }

.testimonials { position: relative; overflow: hidden; background: var(--green); color: var(--white); }
.testimonials::before { content: "TESTIMONY"; position: absolute; left: -24px; bottom: -53px; color: rgba(255,255,255,.04); font: 700 165px/1 var(--serif); letter-spacing: -.07em; }
.testimonials-head { position: relative; z-index: 2; margin-bottom: 55px; display: grid; grid-template-columns: 1fr .7fr; align-items: end; gap: 85px; }
.testimonials-head h2 { margin: 0; font: 600 clamp(50px,5.8vw,78px)/.9 var(--serif); letter-spacing: -.055em; }
.testimonials-head h2 em { color: var(--sand); font-weight: 500; }
.testimonials-head > div:last-child > p { margin: 0 0 25px; color: rgba(255,255,255,.7); font-size: 14px; line-height: 1.72; }
.testimonial-grid { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3,1fr); border-block: 1px solid rgba(255,255,255,.2); }
.testimonial-grid blockquote { min-height: 310px; margin: 0; padding: 34px; display: flex; flex-direction: column; }
.testimonial-grid blockquote + blockquote { border-left: 1px solid rgba(255,255,255,.2); }
.testimonial-grid blockquote > span { color: var(--sand); font: 600 55px/.7 var(--serif); }
.testimonial-grid blockquote > p { margin: 30px 0; color: rgba(255,255,255,.88); font: 500 24px/1.25 var(--serif); }
.testimonial-author { margin-top: auto; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.16); display: flex; flex-direction: column; gap: 5px; }
.testimonial-author strong { color: var(--sand); font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }
.testimonial-author small { color: rgba(255,255,255,.55); font-size: 9px; }

.checkout-story { background: var(--sand); }
.steps-grid { display: grid; grid-template-columns: repeat(3,1fr); border-block: 1px solid rgba(40,32,26,.24); }
.steps-grid > div { min-height: 230px; padding: 30px; display: flex; flex-direction: column; }
.steps-grid > div + div { border-left: 1px solid rgba(40,32,26,.24); }
.steps-grid span { color: var(--rust); font-size: 9px; font-weight: 800; }
.steps-grid h3 { margin: auto 0 12px; font: 600 29px/1.05 var(--serif); }
.steps-grid p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.order-tracker-section { position: relative; overflow: hidden; background: var(--green); color: var(--white); }
.order-tracker-section::before { content: "TRACK"; position: absolute; right: -30px; bottom: -42px; color: rgba(255,255,255,.035); font: 700 185px/1 var(--serif); letter-spacing: -.07em; }
.order-tracker-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.12fr .88fr; align-items: center; gap: 100px; }
.order-tracker-grid h2 { max-width: 760px; margin: 0; font: 600 clamp(48px,5.4vw,75px)/.92 var(--serif); letter-spacing: -.055em; }
.order-tracker-grid h2 em { color: var(--sand); }
.order-tracker-grid > div > p:not(.kicker) { max-width: 680px; margin: 28px 0; color: rgba(255,255,255,.7); font-size: 14px; line-height: 1.75; }
.order-tracker-proof { display: flex; flex-wrap: wrap; gap: 12px 24px; color: var(--sand); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.order-tracker-form { padding: 38px; border: 1px solid rgba(255,255,255,.18); background: var(--cream); color: var(--ink); box-shadow: 0 30px 80px rgba(0,0,0,.2); }
.order-tracker-form > span { display: block; margin-bottom: 28px; color: var(--rust); font: 600 30px/1 var(--serif); }
.order-tracker-form label { display: block; margin-bottom: 8px; font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.order-tracker-form input { width: 100%; height: 55px; padding: 0 15px; border: 1px solid var(--line); background: var(--white); outline: none; font-size: 15px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.order-tracker-form input:focus { border-color: var(--rust); box-shadow: 0 0 0 3px rgba(160,77,39,.12); }
.order-tracker-form .button { width: 100%; margin-top: 13px; }
.order-tracker-form small { display: block; margin-top: 15px; color: var(--muted); font-size: 9px; line-height: 1.55; }
.faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 110px; }
.faq-contact { margin-top: 30px; color: var(--muted); font-size: 13px; }
.faq-contact a { color: var(--rust); border-bottom: 1px solid currentColor; }
.faq-list { border-top: 1px solid var(--line); }
details { border-bottom: 1px solid var(--line); }
summary { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 20px; list-style: none; cursor: pointer; font: 600 22px/1.15 var(--serif); }
summary::-webkit-details-marker { display: none; }
summary b { font: 300 26px/1 var(--sans); transition: transform .2s ease; }
details[open] summary b { transform: rotate(45deg); }
details > p { max-width: 680px; margin: -5px 48px 25px 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.final-cta { position: relative; min-height: 630px; overflow: hidden; display: grid; place-items: center; color: var(--white); text-align: center; }
.final-photo { position: absolute; inset: 0; background: linear-gradient(180deg,rgba(23,63,51,.58),rgba(23,63,51,.88)),url('/assets/field-sunrise.webp') center 48%/cover; transform: scale(1.02); }
.final-content { position: relative; z-index: 2; padding: 90px 0; display: flex; flex-direction: column; align-items: center; }
.final-content > img { width: 42px; height: 60px; object-fit: contain; filter: invert(1); }
.final-content > p:first-of-type { margin: 16px 0 30px; color: var(--sand); font-size: 10px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; }
.final-cta h2 { font-size: clamp(62px,8vw,105px); line-height: .86; }
.final-content > p:last-of-type { margin: 28px 0 30px; color: rgba(255,255,255,.72); }
footer { padding: 52px 0; background: var(--ink); color: var(--white); }
/* Two columns, not three. The original put brand | tagline | links on one row
   with the links in an `auto` column and no wrapping -- which cannot hold
   eleven of them, so the links column pushed the tagline down to a few
   characters wide and every label broke across two lines. The links now get a
   row of their own. */
.footer-grid { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 26px 34px; }
.footer-brand { display: flex; align-items: center; gap: 12px; }
.footer-brand img { width: 35px; height: 48px; object-fit: contain; filter: invert(1); }
.footer-brand div { display: flex; flex-direction: column; }
.footer-brand strong { font: 600 21px/1 var(--serif); }
.footer-brand span { margin-top: 4px; color: rgba(255,255,255,.5); font-size: 8px; letter-spacing: .14em; text-transform: uppercase; }
.footer-grid > p { color: var(--sand); font: 500 17px/1.2 var(--serif); }
/* Full width on its own row, wrapping as needed. `nowrap` on the anchors keeps
   two-word labels like "Track Order" and "Shipping & Returns" whole -- they
   were breaking mid-phrase inside the squeezed column. */
.footer-links { grid-column: 1/-1; display: flex; flex-wrap: wrap; gap: 14px 22px; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.footer-links a { white-space: nowrap; color: rgba(255,255,255,.78); }
.footer-links a:hover { color: var(--sand); }
.footer-grid small { grid-column: 1/-1; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.4); font-size: 10px; }

.drawer-layer { position: fixed; z-index: 100; inset: 0; height: 100dvh; display: grid; justify-items: end; }
.drawer-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(15,25,21,.64); backdrop-filter: blur(4px); cursor: default; }
.drawer { position: relative; z-index: 2; width: min(580px,100vw); height: 100dvh; min-height: 0; display: flex; flex-direction: column; background: var(--cream); box-shadow: -25px 0 70px rgba(0,0,0,.24); animation: drawer-in .25s ease both; }
.drawer-head { min-height: 106px; padding: 24px 28px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; }
.drawer-head p { margin: 0 0 5px; color: var(--rust); font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.drawer-head h2 { margin: 0; font: 600 31px/1 var(--serif); }
.drawer-head > button { width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 50%; background: transparent; font-size: 26px; cursor: pointer; }
.drawer-body { min-height: 0; flex: 1; padding: 26px 28px; overflow-y: auto; }
.drawer-foot { padding: 22px 28px 26px; border-top: 1px solid var(--line); background: var(--white); }
.total-row { display: flex; align-items: center; justify-content: space-between; }
.total-row span { color: var(--muted); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.total-row strong { font: 600 25px/1 var(--serif); }
.drawer-foot > p { margin: 8px 0 18px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.campaign-cart-saving { margin: 11px 0; padding: 11px 12px; border-left: 3px solid var(--rust); background: rgba(252,222,176,.45); display: flex; justify-content: space-between; gap: 16px; }
.campaign-cart-saving span { color: var(--rust); font-size: 8px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.campaign-cart-saving strong { color: var(--rust); font-size: 10px; }
.promo-code-form { margin: 14px 0 10px; padding: 13px; border: 1px solid var(--line); background: var(--cream); }
.promo-code-form.applied { border-color: rgba(70,95,23,.55); box-shadow: inset 3px 0 var(--olive); }
.promo-code-form label > span { margin-bottom: 7px; display: block; color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.promo-code-form label > div { display: flex; }
.promo-code-form input { min-width: 0; height: 42px; padding: 0 11px; border: 1px solid var(--line); flex: 1; background: var(--white); font-weight: 750; text-transform: uppercase; }
.promo-code-form button { min-width: 84px; border: 0; background: var(--ink); color: var(--white); font-size: 8px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; cursor: pointer; }
.promo-code-form.applied button { background: var(--olive); }
.promo-code-form > p { margin: 9px 0 0; color: var(--olive); font-size: 9px; line-height: 1.45; }
.promo-code-form > p.error { color: #8b3029; }
.influencer-saving { border-left-color: var(--olive); background: #edf3e4; }
.influencer-saving span, .influencer-saving strong { color: var(--olive); }
.sale-total { margin-top: 9px; padding-top: 12px; border-top: 1px solid var(--line); }
.checkout-form .campaign-checkout-note { margin: 16px 0 0; padding: 12px 14px; background: rgba(252,222,176,.45); color: var(--rust); font-size: 9px; font-weight: 750; line-height: 1.5; }
.cart-line { padding: 0 0 22px; margin-bottom: 22px; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 102px 1fr; gap: 18px; }
.cart-line > img { width: 102px; height: 122px; object-fit: cover; background: var(--white); }
.cart-line p { margin: 5px 0 5px; color: var(--rust); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cart-line h3 { margin: 0 0 8px; font: 600 23px/1 var(--serif); }
.cart-line span { color: var(--muted); font-size: 11px; }
.quantity { width: max-content; margin-top: 14px; border: 1px solid var(--line); display: flex; align-items: center; }
.quantity button { width: 32px; height: 30px; border: 0; background: transparent; cursor: pointer; }
.quantity strong { width: 28px; text-align: center; font-size: 11px; }
.empty-cart { min-height: 420px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.empty-cart > span { width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; background: var(--sand); font-size: 22px; }
.empty-cart h3 { max-width: 320px; margin: 22px 0 10px; font: 600 30px/1 var(--serif); }
.empty-cart p { margin: 0 0 25px; color: var(--muted); font-size: 12px; }
.checkout-upsell { margin: 4px 0 8px; border: 1px solid rgba(180,95,47,.34); overflow: hidden; background: linear-gradient(145deg,var(--white),rgba(252,222,176,.34)); box-shadow: 0 16px 34px rgba(33,46,31,.08); }
.checkout-upsell-heading { padding: 13px 15px; border-bottom: 1px solid rgba(180,95,47,.2); display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.checkout-upsell-heading > div:first-child { display: flex; flex-direction: column; gap: 4px; }
.checkout-upsell-heading span { color: var(--rust); font-size: 8px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.checkout-upsell-heading strong { color: var(--ink); font: 600 19px/1 var(--serif); }
.checkout-upsell-controls { display: flex; align-items: center; gap: 5px; }
.checkout-upsell-controls small { margin-right: 4px; color: var(--muted); font-size: 7px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.checkout-upsell-controls button { width: 31px; height: 31px; border: 1px solid var(--line); border-radius: 50%; display: grid; place-items: center; background: var(--white); color: var(--ink); cursor: pointer; }
.checkout-upsell-controls button:hover, .checkout-upsell-controls button:focus-visible { border-color: var(--rust); background: var(--rust); color: var(--white); }
.checkout-upsell-rail { padding: 14px; display: flex; gap: 12px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--rust) rgba(180,95,47,.12); }
.checkout-upsell-card { width: 216px; min-width: 216px; border: 1px solid var(--line); scroll-snap-align: start; overflow: hidden; background: var(--white); }
.checkout-upsell-card > img { width: 100%; height: 164px; object-fit: cover; background: var(--cream); }
.checkout-upsell-card .checkout-upsell-details { padding: 13px; }
.checkout-upsell-details > p { margin: 1px 0 5px; color: var(--rust); font-size: 7px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.checkout-upsell-details h3 { min-height: 42px; margin: 0; font: 600 21px/1 var(--serif); }
.checkout-upsell-price { margin-top: 6px; display: flex; align-items: baseline; gap: 8px; }
.checkout-upsell-price del { color: var(--muted); font-size: 9px; }
.checkout-upsell-price strong { color: var(--rust); font-size: 13px; }
.checkout-upsell-actions { margin-top: 11px; display: grid; grid-template-columns: 69px 1fr; gap: 7px; }
.checkout-upsell-actions label { display: grid; grid-template-columns: 28px 1fr; align-items: center; border: 1px solid var(--line); background: var(--white); }
.checkout-upsell-actions label span { padding-left: 7px; color: var(--muted); font-size: 7px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.checkout-upsell-actions select { min-width: 0; height: 38px; border: 0; background: transparent; font-size: 10px; font-weight: 750; }
.checkout-upsell-actions button { min-height: 40px; padding: 0 8px; border: 0; background: var(--ink); color: var(--white); font-size: 7px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; cursor: pointer; }
.checkout-upsell-actions button:hover, .checkout-upsell-actions button:focus-visible { background: var(--rust); }
.checkout-upsell-actions button:disabled { cursor: not-allowed; opacity: .55; }
.checkout-form { min-height: 0; flex: 1; display: flex; flex-direction: column; }
.back-link { margin: 0 0 20px; padding: 0; border: 0; background: transparent; color: var(--rust); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 12px; }
.form-grid label { display: flex; flex-direction: column; gap: 7px; }
.form-grid label.full { grid-column: 1/-1; }
.form-grid label > span { font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.form-grid i { color: var(--muted); font-weight: 500; font-style: normal; }
.form-grid input, .form-grid textarea { width: 100%; border: 1px solid var(--line); background: var(--white); padding: 12px 13px; outline: none; }
.form-grid input { height: 46px; }
.form-grid input:focus, .form-grid textarea:focus { border-color: var(--rust); box-shadow: 0 0 0 2px rgba(160,77,39,.12); }
.payment-options { margin: 28px 0 0; padding: 0; border: 0; }
.payment-options legend { margin-bottom: 11px; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.payment-options > label { margin-top: 9px; padding: 15px; border: 1px solid var(--line); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; background: var(--white); cursor: pointer; }
.payment-options > label.selected { border-color: var(--rust); box-shadow: inset 3px 0 var(--rust); }
.payment-options input { accent-color: var(--rust); }
.payment-options span { display: flex; flex-direction: column; gap: 4px; }
.payment-options strong { font: 600 17px/1 var(--serif); }
.payment-options small { color: var(--muted); font-size: 9px; line-height: 1.4; }
.payment-options b { color: var(--rust); font-size: 8px; letter-spacing: .12em; }
.marketing-consent { margin-top: 22px; padding: 16px; border: 1px solid var(--line); display: grid; grid-template-columns: auto 1fr; align-items: flex-start; gap: 12px; background: var(--sand); cursor: pointer; }
.marketing-consent input { margin-top: 3px; accent-color: var(--rust); }
.marketing-consent > span { display: flex; flex-direction: column; gap: 5px; }
.marketing-consent strong { font: 600 16px/1.1 var(--serif); }
.marketing-consent small { color: var(--muted); font-size: 8px; line-height: 1.5; }
.checkout-error { margin: 18px 0 0; padding: 12px 14px; border-left: 3px solid #b52d2d; background: #fff0ed; color: #76201b; font-size: 11px; line-height: 1.5; }
@keyframes drawer-in { from { transform: translateX(100%); } to { transform: translateX(0); } }

.confirmation-page { position: relative; min-height: 100vh; overflow: hidden; padding: 44px 20px; display: flex; flex-direction: column; align-items: center; background: var(--green); color: var(--white); }
.confirmation-glow { position: absolute; width: 720px; height: 720px; left: calc(50% - 360px); top: 70px; border-radius: 50%; background: radial-gradient(circle,rgba(252,222,176,.22),transparent 68%); }
.confirmation-brand { position: relative; z-index: 2; margin-bottom: 35px; color: var(--white); }
.confirmation-brand img { filter: invert(1); }
.confirmation-card { position: relative; z-index: 2; width: min(720px,100%); padding: 58px 60px; background: var(--cream); color: var(--ink); text-align: center; box-shadow: 0 28px 80px rgba(0,0,0,.26); }
.confirmation-icon { width: 66px; height: 66px; margin: 0 auto 25px; border-radius: 50%; display: grid; place-items: center; background: var(--sand); color: var(--green); font-size: 27px; font-weight: 700; }
.confirmation-card .kicker { justify-content: center; margin-bottom: 15px; }
.confirmation-card h1 { font-size: clamp(44px,7vw,68px); line-height: .92; }
.confirmation-lead { max-width: 560px; margin: 24px auto 30px; color: var(--muted); font-size: 14px; line-height: 1.75; }
.confirmation-summary { margin: 28px 0 34px; padding: 19px 0; border-block: 1px solid var(--line); text-align: left; }
.confirmation-summary > div { padding: 8px 0; display: flex; justify-content: space-between; gap: 24px; color: var(--muted); font-size: 11px; }
.confirmation-summary > div strong { color: var(--ink); }
.confirmation-summary .confirmation-total { margin-top: 8px; padding-top: 16px; border-top: 1px solid var(--line); font-size: 14px; }
.confirmation-summary .confirmation-total strong { font: 600 22px/1 var(--serif); }
.confirmation-summary .confirmation-discount { color: var(--rust); }
.confirmation-summary .confirmation-discount strong { color: var(--rust); }
.confirmation-actions { display: flex; align-items: center; justify-content: center; gap: 24px; }
.confirmation-footer { position: relative; z-index: 2; margin: 32px 0 0; color: var(--sand); font: 500 17px/1 var(--serif); }
.unsubscribe-page { min-height: 100vh; padding: 30px 18px; display: grid; place-items: center; background: var(--green); }
.unsubscribe-card { width: min(620px,100%); padding: 55px; display: flex; flex-direction: column; align-items: center; background: var(--cream); color: var(--ink); text-align: center; box-shadow: 0 30px 90px rgba(0,0,0,.28); }
.unsubscribe-card > img { width: 45px; height: 65px; object-fit: contain; margin-bottom: 25px; }
.unsubscribe-card h1 { margin: 12px 0 20px; font: 600 clamp(44px,7vw,65px)/.92 var(--serif); letter-spacing: -.05em; }
.unsubscribe-card > p:not(.kicker) { margin: 0 0 25px; color: var(--muted); font-size: 13px; line-height: 1.7; }
.unsubscribe-card .text-link { margin-top: 23px; }
.privacy-page { min-height: 100vh; padding: 30px; background: var(--cream); color: var(--ink); }
.privacy-page > header { width: min(1050px,100%); min-height: 70px; margin: 0 auto 35px; padding-bottom: 20px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.privacy-page > header > a:last-child { border-bottom: 1px solid currentColor; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.privacy-page > article { width: min(850px,100%); margin: auto; padding: 55px; background: var(--white); box-shadow: 0 25px 70px rgba(40,32,26,.1); }
.privacy-page h1 { margin: 15px 0 25px; font: 600 clamp(48px,7vw,76px)/.9 var(--serif); letter-spacing: -.055em; }
.privacy-lead { color: var(--muted); font: 500 20px/1.5 var(--serif); }
.privacy-page article section { margin-top: 34px; padding-top: 24px; border-top: 1px solid var(--line); }
.privacy-page article h2 { margin: 0 0 12px; font: 600 25px/1 var(--serif); }
.privacy-page article section p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.75; }
.privacy-page article section a, .customer-circle-form > small a, .marketing-consent a { color: var(--rust); border-bottom: 1px solid currentColor; }
.privacy-page article > small { margin-top: 35px; display: block; color: var(--muted); font-size: 8px; }
.customer-order-progress { margin: -8px 0 32px; display: grid; grid-template-columns: repeat(5,1fr); }
.customer-order-progress > p { grid-column: 1/-1; margin: 0 0 12px; color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .1em; text-align: left; text-transform: uppercase; }
.customer-order-progress > div { position: relative; padding-top: 25px; display: flex; flex-direction: column; align-items: center; gap: 7px; color: #aaa29b; }
.customer-order-progress > div::before { content: ""; position: absolute; left: 0; right: 0; top: 9px; border-top: 2px solid #d8d2ca; }
.customer-order-progress > div:first-of-type::before { left: 50%; }
.customer-order-progress > div:last-child::before { right: 50%; }
.customer-order-progress span { position: absolute; z-index: 2; top: 0; width: 19px; height: 19px; border-radius: 50%; display: grid; place-items: center; background: #d8d2ca; color: white; font-size: 7px; }
.customer-order-progress strong { font-size: 7px; letter-spacing: .05em; text-transform: uppercase; }
.customer-order-progress > div.active { color: var(--olive); }
.customer-order-progress > div.active::before { border-color: var(--olive); }
.customer-order-progress > div.active span { background: var(--olive); }
.order-report-card { width: min(1040px,100%); }
.order-report-meta { margin: 32px 0 22px; border: 1px solid var(--line); display: grid; grid-template-columns: repeat(4,1fr); text-align: left; }
.order-report-meta > div { min-height: 86px; padding: 17px; display: flex; flex-direction: column; justify-content: space-between; gap: 10px; }
.order-report-meta > div + div { border-left: 1px solid var(--line); }
.order-report-meta span, .order-next-step > span, .order-report-section-title > span { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.order-report-meta strong { font-size: 10px; line-height: 1.4; }
.order-next-step { margin-bottom: 28px; padding: 20px 22px; border-left: 4px solid var(--olive); background: #edf1e8; text-align: left; }
.order-next-step.status-cancelled { border-color: #a1463c; background: #fff0ed; }
.order-next-step p { margin: 9px 0 7px; font: 600 20px/1.25 var(--serif); }
.order-next-step small { color: var(--muted); font-size: 8px; }
.order-report-grid { margin-top: 40px; display: grid; grid-template-columns: .92fr 1.08fr; gap: 46px; text-align: left; }
.order-report-section-title { padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.order-report-section-title h2 { margin: 7px 0 0; font: 600 30px/1 var(--serif); }
.order-report-summary .confirmation-summary { margin-top: 0; border-top: 0; }
.order-timeline-list { padding-top: 20px; }
.order-timeline-list article { position: relative; min-height: 92px; padding: 0 0 24px 31px; border-left: 1px solid var(--line); }
.order-timeline-list article:last-child { border-left-color: transparent; }
.order-timeline-list i { position: absolute; left: -6px; top: 2px; width: 11px; height: 11px; border: 3px solid var(--cream); border-radius: 50%; background: var(--rust); box-shadow: 0 0 0 1px var(--rust); }
.order-timeline-list small { color: var(--muted); font-size: 8px; }
.order-timeline-list h3 { margin: 7px 0 5px; font: 600 18px/1.1 var(--serif); }
.order-timeline-list p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.order-report-notice { margin: 15px 0 34px; padding: 22px; border: 1px solid var(--line); display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 26px; text-align: left; }
.order-report-notice strong { color: var(--rust); font: 600 19px/1.1 var(--serif); }
.order-report-notice p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.order-report-error { margin: 26px 0; padding: 20px; background: #fff0ed; color: #76201b; }
.order-report-error p { margin: 0 0 10px; }
.order-report-error a { border-bottom: 1px solid currentColor; font-size: 9px; font-weight: 800; text-transform: uppercase; }

/* Protected store operations */
.admin-page { min-height: 100vh; background: #f4f0e7; color: var(--ink); }
.admin-shell { width: min(1360px, calc(100% - 48px)); margin-inline: auto; }
.admin-header { position: sticky; z-index: 50; top: 0; border-bottom: 1px solid rgba(40,32,26,.14); background: rgba(244,240,231,.94); backdrop-filter: blur(18px); }
.admin-nav { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.admin-brand { display: inline-flex; align-items: center; gap: 11px; }
.admin-brand img { width: 31px; height: 43px; object-fit: contain; }
.admin-brand span { display: flex; flex-direction: column; }
.admin-brand strong { font: 700 21px/1 var(--serif); }
.admin-brand small { margin-top: 5px; color: var(--rust); font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.admin-nav-actions { display: flex; align-items: center; gap: 22px; }
.admin-nav-actions > a { padding-bottom: 3px; border-bottom: 1px solid rgba(40,32,26,.24); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.admin-user { padding-right: 22px; border-right: 1px solid var(--line); display: flex; flex-direction: column; align-items: flex-end; }
.admin-user b { font-size: 11px; }
.admin-user small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.admin-content { padding: 64px 0 100px; }
.admin-hero { margin-bottom: 42px; display: grid; grid-template-columns: 1.1fr .7fr; align-items: end; gap: 80px; }
.admin-kicker { margin: 0 0 15px; color: var(--rust); font-size: 9px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.admin-hero h1 { margin: 0; font: 600 clamp(52px,5.6vw,82px)/.9 var(--serif); letter-spacing: -.055em; }
.admin-hero h1 em { color: var(--rust); }
.admin-hero-copy { padding-bottom: 5px; }
.admin-hero-copy p { max-width: 600px; margin: 0 0 18px; color: var(--muted); font-size: 14px; line-height: 1.75; }
.admin-hero-copy span { color: var(--olive); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.admin-alert { margin: 0 0 20px; padding: 14px 18px; border-left: 3px solid var(--olive); background: #eef3e2; display: flex; align-items: center; justify-content: space-between; gap: 16px; color: #304313; font-size: 11px; font-weight: 700; }
.admin-alert-error { border-color: #b63428; background: #fff0ed; color: #79251d; }
.admin-alert button { border: 0; background: transparent; color: inherit; text-decoration: underline; cursor: pointer; }
.admin-metrics { margin-bottom: 24px; display: grid; grid-template-columns: 1fr 1fr 1fr 1.35fr; border: 1px solid var(--line); background: var(--cream); }
.admin-metrics article { min-height: 150px; padding: 25px 27px; display: flex; flex-direction: column; justify-content: space-between; }
.admin-metrics article + article { border-left: 1px solid var(--line); }
.admin-metrics span { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.admin-metrics strong { margin: 11px 0; font: 600 42px/1 var(--serif); letter-spacing: -.04em; }
.admin-metrics small { color: var(--muted); font-size: 9px; }
.admin-metrics .metric-revenue { background: var(--green); color: var(--white); }
.admin-metrics .metric-revenue span, .admin-metrics .metric-revenue small { color: rgba(255,255,255,.65); }
.admin-metrics .metric-revenue strong { color: var(--sand); }
.admin-panel { border: 1px solid var(--line); background: var(--cream); }
.admin-orders-panel { margin-bottom: 24px; }
.admin-panel-head { padding: 27px 30px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.admin-panel-head .admin-kicker { margin-bottom: 7px; }
.admin-panel h2 { margin: 0; font: 600 34px/1 var(--serif); letter-spacing: -.035em; }
.admin-button { min-height: 42px; padding: 0 16px; border: 1px solid var(--ink); display: inline-flex; align-items: center; justify-content: center; background: transparent; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.admin-button:disabled { opacity: .55; cursor: wait; }
.admin-button-dark { background: var(--ink); color: var(--white); }
.admin-button-ghost { border-color: var(--line); }
.admin-toolbar { padding: 18px 30px; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 1fr 210px auto; align-items: end; gap: 12px; }
.admin-toolbar label { display: flex; flex-direction: column; gap: 7px; }
.admin-toolbar label > span, .inventory-list label > span { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.admin-toolbar input, .admin-toolbar select, .inventory-list input[type="number"] { height: 43px; padding: 0 12px; border: 1px solid var(--line); background: var(--white); outline: none; }
.admin-toolbar input:focus, .admin-toolbar select:focus, .inventory-list input:focus { border-color: var(--rust); box-shadow: 0 0 0 2px rgba(160,77,39,.1); }
.order-list { padding: 12px; }
.order-card { margin-bottom: 8px; border: 1px solid var(--line); background: var(--white); }
.order-card:last-child { margin-bottom: 0; }
.order-summary { width: 100%; min-height: 84px; padding: 14px 18px; border: 0; background: transparent; display: grid; grid-template-columns: 12px 1.1fr 1.35fr .8fr auto 20px; align-items: center; gap: 18px; text-align: left; cursor: pointer; }
.order-summary:hover { background: rgba(252,222,176,.18); }
.status-dot { width: 9px; height: 9px; border-radius: 50%; background: #a39990; box-shadow: 0 0 0 4px rgba(163,153,144,.16); }
.status-dot.status-processing, .status-dot.status-packed { background: #c07a27; box-shadow: 0 0 0 4px rgba(192,122,39,.14); }
.status-dot.status-shipped { background: #2f7188; box-shadow: 0 0 0 4px rgba(47,113,136,.14); }
.status-dot.status-completed { background: #477421; box-shadow: 0 0 0 4px rgba(71,116,33,.14); }
.status-dot.status-cancelled { background: #a13a31; box-shadow: 0 0 0 4px rgba(161,58,49,.14); }
.order-identity, .order-customer, .order-payment { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.order-identity strong { font: 600 19px/1 var(--serif); }
.order-customer strong, .order-payment strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.order-identity small, .order-customer small, .order-payment small { overflow: hidden; color: var(--muted); font-size: 8px; letter-spacing: .02em; text-overflow: ellipsis; white-space: nowrap; }
.status-pill { padding: 8px 10px; border-radius: 20px; background: #eeeae4; color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.status-pill.status-processing, .status-pill.status-packed { background: #fff0d9; color: #81501d; }
.status-pill.status-shipped { background: #e2f1f5; color: #285c6d; }
.status-pill.status-completed { background: #e7f0dc; color: #385d1a; }
.status-pill.status-cancelled { background: #fae5e2; color: #813028; }
.order-chevron { font-size: 18px; transition: transform .2s ease; }
.order-card.expanded .order-chevron { transform: rotate(180deg); }
.order-detail { border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr 320px; }
.order-detail-main { padding: 28px 30px; }
.order-section-title { margin: 0 0 14px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.order-section-title:not(:first-child) { margin-top: 30px; }
.order-section-title h3 { margin: 0; font: 600 21px/1 var(--serif); }
.order-section-title > span { color: var(--muted); font-size: 8px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.order-items { border-block: 1px solid var(--line); }
.order-items > div { min-height: 58px; padding: 10px 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.order-items > div + div { border-top: 1px solid var(--line); }
.order-items span { display: flex; flex-direction: column; gap: 5px; font-size: 12px; font-weight: 700; }
.order-items small { color: var(--muted); font-size: 9px; font-weight: 500; }
.order-items strong { font-size: 11px; }
.order-totals { width: min(320px,100%); margin: 16px 0 0 auto; }
.order-totals span, .order-totals > strong { padding: 5px 0; display: flex; justify-content: space-between; color: var(--muted); font-size: 10px; }
.order-totals span b { color: var(--ink); }
.order-totals .order-discount, .order-totals .order-discount b { color: var(--rust); }
.order-totals > strong { margin-top: 5px; padding-top: 12px; border-top: 1px solid var(--line); color: var(--ink); font-size: 12px; }
.order-totals > strong b { font: 600 20px/1 var(--serif); }
.status-actions { display: grid; grid-template-columns: repeat(6,1fr); border: 1px solid var(--line); }
.status-actions button { min-height: 47px; padding: 6px; border: 0; background: transparent; font-size: 8px; font-weight: 800; text-transform: uppercase; cursor: pointer; }
.status-actions button + button { border-left: 1px solid var(--line); }
.status-actions button:hover:not(:disabled) { background: var(--sand); }
.status-actions button.active { background: var(--green); color: var(--white); }
.status-actions button:disabled:not(.active) { opacity: .5; cursor: wait; }
.customer-card { padding: 30px; border-left: 1px solid var(--line); background: #f8f4eb; }
.customer-card h3 { margin: 0 0 15px; font: 600 25px/1 var(--serif); }
.customer-card > a { width: max-content; max-width: 100%; margin: 6px 0; display: block; border-bottom: 1px solid rgba(40,32,26,.25); font-size: 10px; overflow-wrap: anywhere; }
.customer-card address { margin-top: 22px; color: var(--muted); font-size: 11px; font-style: normal; line-height: 1.75; }
.customer-note { margin-top: 22px; padding: 15px; border-left: 3px solid var(--rust); background: var(--white); }
.customer-note strong { font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.customer-note p { margin: 7px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.payment-card { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 5px; }
.payment-card span { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.payment-card strong { font: 600 17px/1.2 var(--serif); }
.payment-card small { color: var(--muted); font-size: 8px; }
.order-history { margin-top: 30px; padding-top: 2px; }
.order-history > div:not(.order-section-title) { position: relative; padding: 0 0 16px 28px; display: flex; gap: 10px; }
.order-history > div:not(.order-section-title)::before { content: ""; position: absolute; left: 7px; top: 17px; bottom: 0; border-left: 1px solid var(--line); }
.order-history > div:last-child::before { display: none; }
.order-history > div > span { position: absolute; left: 0; width: 15px; height: 15px; border-radius: 50%; display: grid; place-items: center; background: var(--olive); color: white; font-size: 7px; }
.order-history p { margin: 0; display: flex; flex-direction: column; gap: 4px; }
.order-history strong { font-size: 10px; }
.order-history small { color: var(--muted); font-size: 8px; }
.admin-empty { min-height: 260px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.admin-empty > span { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: var(--sand); }
.admin-empty h3 { margin: 16px 0 7px; font: 600 27px/1 var(--serif); }
.admin-empty p { margin: 0; color: var(--muted); font-size: 10px; }
.admin-grid { display: grid; grid-template-columns: 1fr 370px; align-items: start; gap: 24px; }
.panel-count { color: var(--rust); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.panel-intro { margin: 0; padding: 17px 30px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 10px; line-height: 1.6; }
.inventory-list { padding: 12px; }
.inventory-list form { min-height: 105px; padding: 10px; border: 1px solid var(--line); display: grid; grid-template-columns: 76px minmax(150px,1.2fr) repeat(5,minmax(66px,80px)) 60px auto; align-items: center; gap: 11px; background: var(--white); }
.inventory-list form + form { margin-top: 8px; }
.inventory-list form > img { width: 76px; height: 84px; object-fit: cover; background: var(--cream); }
.inventory-name { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.inventory-name strong { overflow: hidden; font: 600 17px/1 var(--serif); text-overflow: ellipsis; white-space: nowrap; }
.inventory-name small { overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.inventory-name b { width: max-content; padding: 4px 6px; background: #fae5e2; color: #813028; font-size: 7px; letter-spacing: .08em; text-transform: uppercase; }
.inventory-list form > label:not(.toggle-label) { display: flex; flex-direction: column; gap: 6px; }
.inventory-list input[type="number"] { width: 100%; }
.toggle-label { display: flex; flex-direction: column; align-items: center; gap: 6px; color: var(--muted); font-size: 7px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; cursor: pointer; }
.toggle-label input { position: absolute; opacity: 0; }
.toggle-label span { position: relative; width: 34px; height: 19px; border-radius: 20px; background: #b9b2a9; }
.toggle-label span::after { content: ""; position: absolute; width: 13px; height: 13px; left: 3px; top: 3px; border-radius: 50%; background: white; transition: transform .18s ease; }
.toggle-label input:checked + span { background: var(--olive); }
.toggle-label input:checked + span::after { transform: translateX(15px); }
.automation-column { display: grid; gap: 24px; }
.automation-panel { padding: 28px; }
.automation-panel h2 { margin-bottom: 24px; }
.automation-list article { min-height: 71px; border-top: 1px solid var(--line); display: grid; grid-template-columns: 10px 1fr auto; align-items: center; gap: 13px; }
.automation-list article > span { width: 9px; height: 9px; border-radius: 50%; }
.automation-list article > span.online { background: #5b842e; box-shadow: 0 0 0 4px rgba(91,132,46,.12); }
.automation-list article > span.setup { background: #c37a25; box-shadow: 0 0 0 4px rgba(195,122,37,.12); }
.automation-list article div { display: flex; flex-direction: column; gap: 5px; }
.automation-list article strong { font-size: 10px; }
.automation-list article small { color: var(--muted); font-size: 8px; line-height: 1.4; }
.automation-list article b { color: var(--muted); font-size: 7px; letter-spacing: .08em; text-transform: uppercase; }
.shopee-panel { padding: 28px; background: var(--rust); color: var(--white); }
.shopee-mark { width: 43px; height: 43px; margin-bottom: 25px; border: 2px solid white; border-radius: 9px 9px 13px 13px; display: grid; place-items: center; font: 700 22px/1 var(--serif); }
.shopee-panel .admin-kicker { color: var(--sand); }
.shopee-panel p:not(.admin-kicker) { margin: 18px 0 24px; color: rgba(255,255,255,.72); font-size: 11px; line-height: 1.65; }
.admin-button-shopee { width: 100%; border-color: var(--white); background: var(--white); color: var(--rust); }
.shopee-panel > a { width: max-content; margin: 18px auto 0; padding-bottom: 3px; border-bottom: 1px solid rgba(255,255,255,.55); display: block; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.jnt-panel { padding: 28px; border-top: 5px solid #d71920; background: var(--white); }
.jnt-mark { width: fit-content; padding: 9px 11px; border-radius: 3px; display: block; background: #d71920; color: var(--white); font-size: 11px; font-weight: 950; letter-spacing: -.03em; }
.jnt-panel .admin-kicker { margin-top: 22px; }
.jnt-panel p:not(.admin-kicker) { margin: 16px 0 22px; color: var(--muted); font-size: 11px; line-height: 1.65; }
.jnt-panel > a:last-child { width: fit-content; margin-top: 18px; padding-bottom: 3px; border-bottom: 1px solid currentColor; display: block; color: var(--rust); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.admin-loading, .admin-gate { min-height: 100vh; padding: 30px; display: grid; place-items: center; background: var(--green); color: var(--white); }
.admin-loading { align-content: center; gap: 15px; color: var(--sand); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.admin-loading span { width: 60px; height: 60px; border-radius: 50%; display: grid; place-items: center; background: rgba(252,222,176,.15); font-size: 22px; }
.admin-gate-card { width: min(600px,100%); padding: 55px; background: var(--cream); color: var(--ink); text-align: center; }
.admin-gate-card > img { width: 45px; height: 62px; margin: 0 auto 24px; object-fit: contain; }
.admin-gate-card h1 { margin: 0; font: 600 45px/.95 var(--serif); }
.admin-gate-card > p:not(.admin-kicker) { margin: 22px auto 26px; color: var(--muted); font-size: 12px; line-height: 1.7; }

.partner-callout { margin-top: 18px; padding: 34px; display: flex; align-items: center; justify-content: space-between; gap: 34px; background: var(--green); color: var(--white); }
.partner-callout .kicker { margin-bottom: 9px; color: var(--sand); }
.partner-callout h3 { margin: 0 0 8px; font: 600 30px/1 var(--serif); }
.partner-callout p:not(.kicker) { margin: 0; color: rgba(255,255,255,.67); font-size: 11px; }
.partner-callout .button { flex: 0 0 auto; border-color: var(--sand); }
.movement-section { padding-top: 64px; padding-bottom: 64px; background: var(--cream); }
.movement-section .partner-callout { margin-top: 0; }
.movement-actions { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.movement-actions .button-light { border-color: var(--white); }
.drawer-foot a { color: inherit; }
.drawer-foot > p a { color: var(--rust); border-bottom: 1px solid currentColor; font-weight: 750; }
.order-next-action { margin-bottom: 14px; padding: 15px; border: 1px solid rgba(70,95,23,.25); display: flex; align-items: center; gap: 16px; background: #f0f4e5; }
.order-next-action .admin-button { min-width: 190px; }
.order-next-action p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.waybill-link { width: 100%; margin-top: 20px; }

/* Affiliate public program */
.affiliate-page { background: var(--cream); color: var(--ink); }
.affiliate-shell, .partner-shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.affiliate-header { position: sticky; z-index: 40; top: 0; border-bottom: 1px solid var(--line); background: rgba(255,250,241,.94); backdrop-filter: blur(16px); }
.affiliate-nav { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.affiliate-brand { display: inline-flex; align-items: center; gap: 11px; }
.affiliate-brand img { width: 31px; height: 43px; object-fit: contain; }
.affiliate-brand span { display: flex; flex-direction: column; }
.affiliate-brand strong { font: 700 22px/1 var(--serif); }
.affiliate-brand small { margin-top: 5px; color: var(--rust); font-size: 8px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.affiliate-nav nav { display: flex; align-items: center; gap: 28px; }
.affiliate-nav nav a { font-size: 11px; font-weight: 750; }
.affiliate-nav .affiliate-login { min-height: 42px; padding: 0 16px; border: 1px solid var(--ink); display: inline-flex; align-items: center; background: var(--ink); color: var(--white); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.affiliate-hero { position: relative; overflow: hidden; background: var(--green); color: var(--white); }
.affiliate-hero::after { content: ""; position: absolute; left: -2%; right: -2%; bottom: -1px; height: 36px; background: var(--cream); clip-path: polygon(0 65%,7% 42%,14% 69%,22% 43%,30% 66%,38% 40%,46% 64%,55% 38%,64% 66%,73% 44%,82% 67%,91% 42%,100% 62%,100% 100%,0 100%); }
.affiliate-hero-grid { min-height: 680px; padding: 65px 0 90px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 75px; }
.affiliate-kicker { margin: 0 0 22px; color: var(--rust); font-size: 9px; font-weight: 900; letter-spacing: .2em; text-transform: uppercase; }
.affiliate-kicker-light { color: var(--sand); }
.affiliate-hero-copy h1, .affiliate-section-heading h2, .affiliate-apply-copy h2, .partner-welcome h1, .partner-gate h1 { margin: 0; font: 600 clamp(58px,6vw,88px)/.89 var(--serif); letter-spacing: -.055em; }
.affiliate-hero-copy h1 em, .affiliate-section-heading h2 em, .affiliate-apply-copy h2 em, .partner-welcome h1 em { color: var(--sand); font-weight: 500; }
.affiliate-hero-copy > p:not(.affiliate-kicker) { max-width: 650px; margin: 30px 0 0; color: rgba(255,255,255,.75); font-size: 16px; line-height: 1.75; }
.affiliate-hero-actions { margin-top: 32px; display: flex; align-items: center; gap: 24px; }
.affiliate-button { min-height: 52px; padding: 0 22px; border: 1px solid var(--ink); display: inline-flex; align-items: center; justify-content: center; background: transparent; font-size: 9px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; cursor: pointer; }
.affiliate-button:disabled { opacity: .55; cursor: wait; }
.affiliate-button-primary { border-color: var(--sand); background: var(--sand); color: var(--ink); }
.affiliate-button-dark { background: var(--ink); color: var(--white); }
.affiliate-text-link { padding-bottom: 4px; border-bottom: 1px solid currentColor; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.affiliate-proof { max-width: 590px; margin-top: 45px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.2); display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.affiliate-proof div { display: flex; flex-direction: column; gap: 6px; }
.affiliate-proof strong { color: var(--sand); font: 600 23px/1 var(--serif); }
.affiliate-proof span { color: rgba(255,255,255,.55); font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.affiliate-hero-art { position: relative; height: 560px; }
.affiliate-photo { position: absolute; inset: 0 12px 0 55px; border-radius: 230px 230px 8px 8px; background: linear-gradient(180deg,rgba(252,222,176,.08),rgba(23,63,51,.36)),url('/assets/field-sunrise.webp') center/cover; box-shadow: 0 35px 75px rgba(0,0,0,.26); }
.affiliate-hero-art > img { position: absolute; z-index: 2; left: 0; bottom: 0; width: 78%; height: 100%; object-fit: contain; object-position: bottom; filter: drop-shadow(0 24px 24px rgba(0,0,0,.27)); }
.affiliate-quote { position: absolute; z-index: 3; right: -5px; top: 75px; width: 180px; padding: 20px; background: var(--cream); color: var(--ink); transform: rotate(3deg); box-shadow: 0 18px 40px rgba(0,0,0,.18); }
.affiliate-quote span { font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.affiliate-quote strong { display: block; margin-top: 8px; font: 600 25px/1 var(--serif); }
.affiliate-role-section { padding: 105px 0; }
.affiliate-section-heading { margin-bottom: 45px; }
.affiliate-section-heading h2 { max-width: 800px; color: var(--ink); font-size: clamp(50px,5.5vw,76px); }
.affiliate-section-heading h2 em, .affiliate-apply-copy h2 em { color: var(--rust); }
.affiliate-role-grid { display: grid; grid-template-columns: 1fr 1fr; border-block: 1px solid var(--line); }
.affiliate-role-grid article { min-height: 390px; padding: 45px; display: flex; flex-direction: column; }
.affiliate-role-grid article + article { border-left: 1px solid var(--line); }
.affiliate-role-grid article > span { color: var(--rust); font-size: 9px; font-weight: 900; }
.affiliate-role-grid h3 { margin: auto 0 18px; font: 600 39px/1 var(--serif); }
.affiliate-role-grid p { max-width: 480px; margin: 0 0 24px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.affiliate-role-grid ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.affiliate-role-grid li { padding-left: 20px; position: relative; color: var(--muted); font-size: 10px; }
.affiliate-role-grid li::before { content: "✓"; position: absolute; left: 0; color: var(--olive); font-weight: 900; }
.affiliate-how { padding: 85px 0; background: var(--olive); color: var(--white); }
.affiliate-how-grid { display: grid; grid-template-columns: repeat(4,1fr); border-block: 1px solid rgba(255,255,255,.2); }
.affiliate-how-grid article { min-height: 230px; padding: 28px; display: flex; flex-direction: column; }
.affiliate-how-grid article + article { border-left: 1px solid rgba(255,255,255,.2); }
.affiliate-how-grid b { color: var(--sand); font-size: 9px; }
.affiliate-how-grid h3 { margin: auto 0 12px; font: 600 27px/1 var(--serif); }
.affiliate-how-grid p { margin: 0; color: rgba(255,255,255,.64); font-size: 10px; line-height: 1.55; }
.affiliate-apply { padding: 110px 0; background: var(--sand); }
.affiliate-apply-grid { display: grid; grid-template-columns: .8fr 1.2fr; align-items: start; gap: 80px; }
.affiliate-apply-copy { position: sticky; top: 120px; }
.affiliate-apply-copy h2 { font-size: clamp(50px,5vw,72px); color: var(--ink); }
.affiliate-apply-copy > p:not(.affiliate-kicker) { margin: 28px 0; color: var(--muted); font-size: 13px; line-height: 1.75; }
.affiliate-apply-copy blockquote { margin: 45px 0 0; padding: 22px 0; border-block: 1px solid rgba(40,32,26,.22); font: 600 24px/1.15 var(--serif); }
.affiliate-form { padding: 36px; border: 1px solid rgba(40,32,26,.22); background: var(--cream); box-shadow: 0 24px 65px rgba(64,44,25,.11); }
.affiliate-form fieldset { margin: 0 0 25px; padding: 0; border: 0; }
.affiliate-form legend, .affiliate-form-grid label > span { margin-bottom: 9px; color: var(--muted); font-size: 8px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.affiliate-type-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.affiliate-type-options label { padding: 16px; border: 1px solid var(--line); display: flex; align-items: center; gap: 12px; cursor: pointer; }
.affiliate-type-options label.selected { border-color: var(--rust); box-shadow: inset 3px 0 var(--rust); }
.affiliate-type-options input { accent-color: var(--rust); }
.affiliate-type-options span { display: flex; flex-direction: column; gap: 5px; }
.affiliate-type-options strong { font: 600 17px/1 var(--serif); }
.affiliate-type-options small { color: var(--muted); font-size: 8px; }
.affiliate-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 12px; }
.affiliate-form-grid label { display: flex; flex-direction: column; }
.affiliate-form-grid label.full { grid-column: 1/-1; }
.affiliate-form-grid input, .affiliate-form-grid select, .affiliate-form-grid textarea { width: 100%; border: 1px solid var(--line); background: var(--white); padding: 12px; outline: none; }
.affiliate-form-grid input, .affiliate-form-grid select { height: 46px; }
.affiliate-form-grid input:focus, .affiliate-form-grid select:focus, .affiliate-form-grid textarea:focus { border-color: var(--rust); box-shadow: 0 0 0 2px rgba(160,77,39,.1); }
.affiliate-form-message { margin: 18px 0 0; padding: 12px 14px; border-left: 3px solid; font-size: 10px; line-height: 1.5; }
.affiliate-form-message.success { border-color: var(--olive); background: #edf3e4; color: #385818; }
.affiliate-form-message.error { border-color: #9e372e; background: #fff0ed; color: #7a2821; }
.affiliate-form > .affiliate-button { width: 100%; margin-top: 20px; }
.affiliate-form-note { margin-top: 13px; display: block; color: var(--muted); font-size: 8px; line-height: 1.5; text-align: center; }
.affiliate-footer { padding: 35px 0; background: var(--ink); color: var(--white); }
.affiliate-footer > div { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.affiliate-footer a { color: var(--sand); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.affiliate-footer p { margin: 0; color: rgba(255,255,255,.5); font: 500 16px/1 var(--serif); }

/* Partner dashboard */
.partner-dashboard-page { min-height: 100vh; background: #f4f0e7; }
.partner-header { position: sticky; z-index: 40; top: 0; border-bottom: 1px solid var(--line); background: rgba(244,240,231,.94); backdrop-filter: blur(16px); }
.partner-nav { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.partner-nav > div { display: flex; gap: 22px; }
.partner-nav > div a { padding-bottom: 3px; border-bottom: 1px solid var(--line); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.partner-content { padding: 65px 0 100px; }
.partner-welcome { margin-bottom: 38px; display: grid; grid-template-columns: 1fr .55fr; align-items: end; gap: 60px; }
.partner-welcome h1 { color: var(--ink); font-size: clamp(50px,5.7vw,76px); }
.partner-welcome h1 em { color: var(--rust); }
.partner-welcome > div:last-child { padding-bottom: 6px; }
.partner-welcome > div:last-child p { margin: 17px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.partner-status { width: max-content; padding: 7px 10px; border-radius: 20px; display: inline-block; background: #eee8df; color: var(--muted); font-size: 8px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.partner-status.status-active { background: #e6efd9; color: #3c6219; }
.partner-status.status-pending { background: #fff0d5; color: #81501d; }
.partner-status.status-suspended, .partner-status.status-rejected { background: #f8e1de; color: #823128; }
.partner-link-card { margin-bottom: 22px; padding: 32px; display: grid; grid-template-columns: .7fr 1.3fr; align-items: end; gap: 45px; background: var(--green); color: var(--white); }
.partner-link-card .affiliate-kicker { margin-bottom: 8px; }
.partner-link-card h2 { margin: 0 0 9px; color: var(--sand); font: 600 34px/1 var(--serif); }
.partner-link-card p { margin: 0; color: rgba(255,255,255,.65); font-size: 9px; line-height: 1.5; }
.partner-link-field { min-height: 54px; border: 1px solid rgba(255,255,255,.25); display: flex; align-items: center; background: rgba(0,0,0,.13); }
.partner-link-field code { padding: 0 17px; flex: 1; overflow: hidden; color: var(--white); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.partner-link-field button { align-self: stretch; min-width: 105px; border: 0; background: var(--sand); color: var(--ink); font-size: 8px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.partner-promo-card { margin-bottom: 22px; padding: 30px 32px; border: 1px solid var(--line); display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 24px 45px; background: var(--sand); }
.partner-promo-card .affiliate-kicker { margin-bottom: 9px; }
.partner-promo-card h2 { margin: 0; font: 600 32px/1 var(--serif); letter-spacing: -.03em; }
.partner-promo-card h2 em { color: var(--rust); font-weight: 500; }
.partner-promo-card blockquote { margin: 0; padding: 20px; border-left: 4px solid var(--rust); background: rgba(255,255,255,.58); font: 500 17px/1.45 var(--serif); }
.partner-promo-card > div:last-of-type { grid-column: 1/-1; display: flex; gap: 10px; }
.partner-promo-card > small { grid-column: 1/-1; color: var(--muted); font-size: 8px; line-height: 1.55; }
.partner-metrics { margin-bottom: 22px; display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--line); background: var(--cream); }
.partner-metrics article { min-height: 145px; padding: 24px; display: flex; flex-direction: column; justify-content: space-between; }
.partner-metrics article + article { border-left: 1px solid var(--line); }
.partner-metrics span { color: var(--muted); font-size: 8px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.partner-metrics strong { margin: 10px 0; font: 600 34px/1 var(--serif); }
.partner-metrics small { color: var(--muted); font-size: 8px; }
.partner-metrics .partner-earnings { background: var(--olive); color: var(--white); }
.partner-metrics .partner-earnings span, .partner-metrics .partner-earnings small { color: rgba(255,255,255,.65); }
.partner-metrics .partner-earnings strong { color: var(--sand); }
.partner-grid { display: grid; grid-template-columns: 1fr 310px; align-items: start; gap: 22px; }
.partner-panel { border: 1px solid var(--line); background: var(--cream); }
.partner-panel-head { padding: 25px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; }
.partner-panel-head .affiliate-kicker { margin-bottom: 6px; }
.partner-panel-head h2, .payout-panel h2 { margin: 0; font: 600 31px/1 var(--serif); }
.partner-panel-head button { border: 0; border-bottom: 1px solid var(--line); background: transparent; font-size: 8px; font-weight: 850; text-transform: uppercase; cursor: pointer; }
.partner-orders { padding: 10px; }
.partner-orders article { min-height: 75px; padding: 13px; border: 1px solid var(--line); display: grid; grid-template-columns: 1.05fr 1fr .7fr .7fr auto; align-items: center; gap: 15px; background: var(--white); }
.partner-orders article + article { margin-top: 7px; }
.partner-orders article > div { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.partner-orders article small { overflow: hidden; color: var(--muted); font-size: 7px; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.partner-orders article strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.partner-order-status { padding: 7px 8px; border-radius: 20px; background: #eee8df; color: var(--muted); font-size: 7px; font-weight: 850; text-transform: uppercase; }
.partner-order-status.status-completed { background: #e6efd9; color: #3c6219; }
.partner-order-status.status-cancelled { background: #f8e1de; color: #823128; }
.payout-panel { padding: 26px; background: var(--rust); color: var(--white); }
.payout-panel .affiliate-kicker { color: var(--sand); }
.payout-panel h2 { color: var(--sand); font-size: 40px; }
.payout-panel > p:not(.affiliate-kicker) { margin: 7px 0 22px; color: rgba(255,255,255,.55); font-size: 8px; text-transform: uppercase; }
.payout-panel > div { border-block: 1px solid rgba(255,255,255,.2); padding: 14px 0; display: grid; gap: 12px; }
.payout-panel > div span { display: flex; justify-content: space-between; color: rgba(255,255,255,.65); font-size: 9px; }
.payout-panel > div b { color: var(--white); }
.payout-panel > small { margin-top: 18px; display: block; color: rgba(255,255,255,.55); font-size: 8px; line-height: 1.5; }
.partner-empty { min-height: 230px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.partner-empty > span { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: var(--sand); }
.partner-empty h3 { margin: 15px 0 7px; font: 600 25px/1 var(--serif); }
.partner-empty p { margin: 0; color: var(--muted); font-size: 9px; }
.partner-loading, .partner-gate { min-height: calc(100vh - 76px); padding: 30px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.partner-loading { color: var(--olive); font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.partner-loading span { width: 58px; height: 58px; margin-bottom: 15px; border-radius: 50%; display: grid; place-items: center; background: var(--sand); font-size: 21px; }
.partner-gate h1 { max-width: 680px; margin-top: 18px; color: var(--ink); font-size: 55px; }
.partner-gate > p:not(.affiliate-kicker) { max-width: 570px; margin: 22px 0; color: var(--muted); font-size: 12px; line-height: 1.7; }

/* Homepage content manager */
.homepage-manager-callout { margin: -16px 0 34px; padding: 24px 28px; border: 1px solid rgba(70,95,23,.28); display: grid; grid-template-columns: 1fr 1.5fr auto; align-items: center; gap: 28px; background: #eff4e4; }
.homepage-manager-callout span { color: var(--olive); font-size: 8px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.homepage-manager-callout strong { font: 600 22px/1.1 var(--serif); }
.homepage-manager-callout b { color: var(--rust); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.homepage-editor { display: grid; gap: 24px; }
.homepage-editor-section { overflow: hidden; }
.homepage-field-grid { padding: 28px 30px 32px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px 14px; }
.homepage-field-grid label, .homepage-image-control label, .testimonial-editor-list label { display: flex; flex-direction: column; gap: 7px; }
.homepage-field-grid label > span, .homepage-image-control label > span, .testimonial-editor-list label > span { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.homepage-field-grid input, .homepage-field-grid textarea, .homepage-image-control input, .testimonial-editor-list input, .testimonial-editor-list textarea { width: 100%; padding: 11px 12px; border: 1px solid var(--line); background: var(--white); outline: none; }
.homepage-field-grid input, .homepage-image-control input, .testimonial-editor-list input { min-height: 44px; }
.homepage-field-grid textarea, .testimonial-editor-list textarea { resize: vertical; }
.homepage-field-grid input:focus, .homepage-field-grid textarea:focus, .homepage-image-control input:focus, .testimonial-editor-list input:focus, .testimonial-editor-list textarea:focus { border-color: var(--rust); box-shadow: 0 0 0 2px rgba(160,77,39,.1); }
.homepage-field-grid .wide { grid-column: 1/-1; }
.homepage-editor-split { padding: 28px 30px 32px; display: grid; grid-template-columns: .78fr 1.22fr; align-items: start; gap: 30px; }
.homepage-editor-split .homepage-field-grid { padding: 0; }
.homepage-image-control { display: grid; gap: 17px; }
.homepage-image-control > img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border: 1px solid var(--line); background: var(--cream); }
.homepage-image-control small, .homepage-file-row small { color: var(--muted); font-size: 8px; }
.homepage-image-control input[type="file"], .homepage-file-row input[type="file"] { height: auto; min-height: 46px; padding: 9px; }
.homepage-mission-fields { grid-template-columns: 1fr 1fr; }
.homepage-editor-note { margin: 0; padding: 18px 30px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 9px; line-height: 1.6; }
.testimonial-editor-list { padding: 12px; display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.testimonial-editor-list article { padding: 18px; border: 1px solid var(--line); display: grid; align-content: start; gap: 14px; background: var(--white); }
.testimonial-editor-list article > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.testimonial-editor-list article > div span { color: var(--rust); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.testimonial-editor-list article > div button { padding: 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--muted); font-size: 7px; text-transform: uppercase; cursor: pointer; }
.homepage-product-picker { padding: 12px; display: grid; grid-template-columns: repeat(4,1fr); gap: 9px; }
.homepage-product-picker > label { min-width: 0; padding: 10px; border: 1px solid var(--line); display: grid; grid-template-columns: auto 56px 1fr; align-items: center; gap: 10px; background: var(--white); cursor: pointer; }
.homepage-product-picker > label.selected { border-color: var(--olive); box-shadow: inset 3px 0 var(--olive); background: #f2f6e8; }
.homepage-product-picker input { accent-color: var(--olive); }
.homepage-product-picker img { width: 56px; height: 68px; object-fit: cover; background: var(--cream); }
.homepage-product-picker span { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.homepage-product-picker strong, .homepage-product-picker small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.homepage-product-picker strong { font-size: 9px; }
.homepage-product-picker small { color: var(--muted); font-size: 7px; }
.homepage-save-bar { position: sticky; z-index: 20; bottom: 16px; padding: 18px 22px; border: 1px solid rgba(255,255,255,.18); display: flex; align-items: center; justify-content: space-between; gap: 25px; background: rgba(23,63,51,.97); color: var(--white); box-shadow: 0 18px 50px rgba(0,0,0,.22); backdrop-filter: blur(12px); }
.homepage-save-bar > div { display: flex; flex-direction: column; gap: 5px; }
.homepage-save-bar strong { color: var(--sand); font: 600 20px/1 var(--serif); }
.homepage-save-bar span { color: rgba(255,255,255,.62); font-size: 8px; }
.homepage-save-bar .admin-button { flex: 0 0 auto; border-color: var(--sand); background: var(--sand); color: var(--ink); }

/* Marketing automation */
.campaign-builder { margin-bottom: 24px; }
.campaign-form { padding: 26px 30px 30px; display: grid; grid-template-columns: repeat(4,1fr); align-items: end; gap: 18px 14px; }
.campaign-form label, .campaign-edit-grid label, .team-invite-form label, .team-user-card > label { display: flex; flex-direction: column; gap: 7px; }
.campaign-form label > span, .campaign-edit-grid label > span, .team-invite-form label > span, .team-user-card > label > span { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.campaign-form input, .campaign-form select, .campaign-edit-grid input, .campaign-edit-grid select, .team-invite-form input, .team-invite-form select, .team-user-card input, .team-user-card select { width: 100%; height: 43px; padding: 0 11px; border: 1px solid var(--line); background: var(--white); outline: none; }
.campaign-form input:focus, .campaign-form select:focus, .campaign-edit-grid input:focus, .campaign-edit-grid select:focus, .team-invite-form input:focus, .team-invite-form select:focus, .team-user-card input:focus, .team-user-card select:focus { border-color: var(--rust); box-shadow: 0 0 0 2px rgba(160,77,39,.1); }
.campaign-form .wide, .campaign-edit-grid .wide { grid-column: span 2; }
.campaign-countdown-toggle { min-height: 43px; padding: 8px 10px; border: 1px solid var(--line); flex-direction: row !important; align-items: center; gap: 10px !important; background: var(--white); cursor: pointer; }
.campaign-countdown-toggle > input { width: 15px; height: 15px; padding: 0; accent-color: var(--rust); }
.campaign-countdown-toggle > span { display: flex; flex-direction: column; gap: 3px; }
.campaign-countdown-toggle strong { font-size: 9px; }
.campaign-countdown-toggle small { color: var(--muted); font-size: 7px; }
.campaign-list { padding: 12px; }
.campaign-card { border: 1px solid var(--line); background: var(--white); }
.campaign-card + .campaign-card { margin-top: 12px; }
.campaign-card-head { padding: 22px; display: flex; align-items: center; justify-content: space-between; gap: 28px; background: #f8f4eb; }
.campaign-card-head > div:first-child { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 8px 12px; }
.campaign-card-head h3 { margin: 0; font: 600 29px/1 var(--serif); }
.campaign-card-head button { grid-column: 2; width: max-content; padding: 0 0 3px; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--rust); font-size: 8px; font-weight: 800; cursor: pointer; }
.campaign-state { width: max-content; padding: 7px 9px; border-radius: 20px; background: #eee8df; color: var(--muted); font-size: 7px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.campaign-state.state-live { background: #e6efd9; color: #3c6219; }
.campaign-state.state-scheduled { background: #e2f1f5; color: #285c6d; }
.campaign-state.state-paused { background: #fff0d5; color: #81501d; }
.campaign-state.state-ended { background: #eee8df; color: #6d625a; }
.campaign-state.state-draft { background: #f8e1de; color: #823128; }
.campaign-performance { display: flex; align-items: stretch; border: 1px solid var(--line); }
.campaign-performance span { min-width: 90px; padding: 12px; display: flex; flex-direction: column; gap: 4px; color: var(--muted); font-size: 7px; text-transform: uppercase; }
.campaign-performance span + span { border-left: 1px solid var(--line); }
.campaign-performance b { color: var(--ink); font-size: 10px; }
.campaign-edit-grid { padding: 22px; display: grid; grid-template-columns: repeat(4,1fr); align-items: end; gap: 16px 12px; border-top: 1px solid var(--line); }
.campaign-card footer { padding: 14px 22px; display: flex; flex-wrap: wrap; gap: 10px 24px; background: var(--green); color: rgba(255,255,255,.63); }
.campaign-card footer span { font-size: 7px; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }

/* Team access */
.team-invite-panel { margin-bottom: 24px; }
.team-invite-form { padding: 26px 30px 30px; display: grid; grid-template-columns: 1fr 1.35fr 1fr auto; align-items: end; gap: 14px; }
.team-user-list { padding: 12px; }
.team-user-card { min-height: 112px; padding: 16px; border: 1px solid var(--line); display: grid; grid-template-columns: 52px 1.2fr .85fr .75fr .9fr auto; align-items: center; gap: 18px; background: var(--white); }
.team-user-card + .team-user-card { margin-top: 9px; }
.team-user-card.owner { grid-template-columns: 52px 1fr auto; background: #f8f4eb; }
.team-avatar { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: var(--sand); color: var(--rust); font: 700 16px/1 var(--serif); }
.team-user-identity { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; }
.team-user-identity > input { height: 32px; margin-top: 5px; padding: 0; border-width: 0 0 1px; background: transparent; font: 600 21px/1 var(--serif); }
.team-user-identity h3 { margin: 8px 0 4px; font: 600 23px/1 var(--serif); }
.team-user-identity a { max-width: 100%; margin-top: 5px; color: var(--rust); border-bottom: 1px solid var(--line); overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.team-user-identity p { margin: 6px 0 0; color: var(--muted); font-size: 8px; }
.team-login { display: flex; flex-direction: column; gap: 5px; }
.team-login span { color: var(--muted); font-size: 7px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.team-login strong { font-size: 9px; }
.team-login small { color: var(--muted); font-size: 7px; }

/* Affiliate admin */
.affiliate-admin-list { padding: 12px; }
.affiliate-admin-list > form { padding: 18px; border: 1px solid var(--line); display: grid; grid-template-columns: 1.2fr .9fr .85fr 1fr; gap: 24px; background: var(--white); }
.affiliate-admin-list > form + form { margin-top: 10px; }
.affiliate-admin-identity { display: flex; flex-direction: column; align-items: flex-start; }
.affiliate-admin-identity h3 { margin: 12px 0 4px; font: 600 25px/1 var(--serif); }
.affiliate-admin-identity p { margin: 0 0 12px; color: var(--rust); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.affiliate-admin-identity a { margin: 3px 0; border-bottom: 1px solid var(--line); font-size: 9px; }
.affiliate-admin-identity > small { margin-top: 7px; color: var(--muted); font-size: 8px; }
.affiliate-admin-identity blockquote { margin: 13px 0 0; padding: 10px; border-left: 2px solid var(--rust); background: var(--cream); color: var(--muted); font-size: 8px; line-height: 1.5; }
.affiliate-admin-performance, .affiliate-admin-wallet { padding-left: 22px; border-left: 1px solid var(--line); display: flex; flex-direction: column; justify-content: center; gap: 13px; }
.affiliate-admin-performance > div, .affiliate-admin-wallet > span { display: flex; justify-content: space-between; gap: 10px; }
.affiliate-admin-performance span, .affiliate-admin-wallet span { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.affiliate-admin-performance strong, .affiliate-admin-wallet b { font-size: 9px; }
.affiliate-admin-wallet button { min-height: 33px; border: 1px solid var(--olive); background: transparent; color: var(--olive); font-size: 7px; font-weight: 850; text-transform: uppercase; cursor: pointer; }
.affiliate-admin-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.affiliate-admin-controls label { display: flex; flex-direction: column; gap: 5px; }
.affiliate-admin-controls label > span { color: var(--muted); font-size: 7px; font-weight: 850; text-transform: uppercase; }
.affiliate-admin-controls input, .affiliate-admin-controls select { width: 100%; height: 37px; padding: 0 8px; border: 1px solid var(--line); background: var(--cream); }
.affiliate-admin-controls .admin-button { grid-column: 1/-1; }

/* Christian Collab public program */
.collab-page { background: var(--cream); }
.collab-hero { overflow: hidden; background: var(--green); color: var(--white); }
.collab-hero-grid { min-height: 700px; padding: 70px 0 90px; display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 70px; }
.collab-hero h1, .collab-submit-copy h2 { margin: 0; font: 600 clamp(58px,6.5vw,94px)/.88 var(--serif); letter-spacing: -.055em; }
.collab-hero h1 em, .collab-submit-copy h2 em { color: var(--sand); font-weight: 500; }
.collab-hero-grid > div:first-child > p:not(.affiliate-kicker) { max-width: 650px; margin: 30px 0 0; color: rgba(255,255,255,.73); font-size: 16px; line-height: 1.75; }
.collab-proof { max-width: 620px; margin-top: 45px; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.2); display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.collab-proof div { display: flex; flex-direction: column; gap: 7px; }
.collab-proof strong { color: var(--sand); font: 600 27px/1 var(--serif); }
.collab-proof span { color: rgba(255,255,255,.55); font-size: 8px; line-height: 1.4; letter-spacing: .08em; text-transform: uppercase; }
.collab-hero-art { position: relative; min-height: 570px; }
.collab-halo { position: absolute; width: 510px; height: 510px; right: 0; top: 0; border-radius: 50%; background: radial-gradient(circle,rgba(252,222,176,.82),rgba(252,222,176,.1) 62%,transparent 69%); }
.collab-hero-art > img { position: absolute; z-index: 2; left: -4%; bottom: 30px; width: 108%; max-height: 520px; object-fit: contain; filter: drop-shadow(0 30px 28px rgba(0,0,0,.35)); }
.collab-hero-art blockquote { position: absolute; z-index: 3; right: 0; bottom: 15px; margin: 0; padding: 21px; background: var(--cream); color: var(--ink); font: 600 24px/1.08 var(--serif); transform: rotate(2deg); box-shadow: 0 20px 45px rgba(0,0,0,.18); }
.collab-hero-art blockquote small { margin-top: 10px; display: block; color: var(--rust); font: 800 8px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.collab-economics { padding: 80px 0; background: var(--sand); }
.collab-economics-grid { display: grid; grid-template-columns: repeat(3,1fr); border-block: 1px solid rgba(40,32,26,.24); }
.collab-economics-grid article { min-height: 220px; padding: 28px; display: flex; flex-direction: column; }
.collab-economics-grid article + article { border-left: 1px solid rgba(40,32,26,.24); }
.collab-economics-grid span { color: var(--rust); font-size: 8px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.collab-economics-grid strong { margin: auto 0 14px; font: 600 32px/1 var(--serif); }
.collab-economics-grid p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.collab-process { padding: 110px 0; }
.collab-submit { padding: 110px 0; background: #f2ede4; }
.collab-submit-grid { display: grid; grid-template-columns: .75fr 1.25fr; align-items: start; gap: 70px; }
.collab-submit-copy { position: sticky; top: 120px; }
.collab-submit-copy h2 { color: var(--ink); font-size: clamp(50px,5.2vw,74px); }
.collab-submit-copy h2 em { color: var(--rust); }
.collab-submit-copy > p:not(.affiliate-kicker) { margin: 27px 0; color: var(--muted); font-size: 13px; line-height: 1.75; }
.collab-submit-copy blockquote { margin: 42px 0 0; padding: 21px 0; border-block: 1px solid var(--line); font: 600 23px/1.2 var(--serif); }
.collab-submit-copy cite { margin-top: 10px; display: block; color: var(--rust); font: 800 8px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; }
.collab-application-form { padding: 36px; border: 1px solid var(--line); background: var(--cream); box-shadow: 0 25px 65px rgba(60,42,26,.1); }
.collab-form-intro { margin-bottom: 28px; padding-bottom: 25px; border-bottom: 1px solid var(--line); }
.collab-form-intro h2 { margin: 0; font: 600 38px/1 var(--serif); }
.collab-form-intro > p:last-child { max-width: 660px; margin: 14px 0 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.collab-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 12px; }
.collab-form-grid label { display: flex; flex-direction: column; gap: 8px; }
.collab-form-grid label.full { grid-column: 1/-1; }
.collab-form-grid label > span { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.collab-form-grid input, .collab-form-grid select, .collab-form-grid textarea { width: 100%; border: 1px solid var(--line); background: var(--white); padding: 12px; outline: none; }
.collab-form-grid input, .collab-form-grid select { height: 46px; }
.collab-form-grid input:focus, .collab-form-grid select:focus, .collab-form-grid textarea:focus { border-color: var(--rust); box-shadow: 0 0 0 2px rgba(160,77,39,.1); }
.collab-upload { padding: 17px; border: 1px dashed var(--rust); background: rgba(252,222,176,.25); }
.collab-upload input { height: auto; padding: 0; border: 0; background: transparent; }
.collab-upload small { color: var(--muted); font-size: 8px; }
.collab-form-grid .collab-rights { padding: 15px; flex-direction: row; align-items: flex-start; background: var(--white); }
.collab-rights input { width: 15px; height: 15px; flex: 0 0 auto; padding: 0; accent-color: var(--rust); }
.collab-rights span { font-weight: 650 !important; line-height: 1.55; letter-spacing: 0 !important; text-transform: none !important; }
.collab-application-form > .affiliate-button { width: 100%; margin-top: 22px; }

/* Christian Collab admin */
.collab-margin-panel { margin-bottom: 24px; }
.collab-margin-grid { padding: 24px 30px 30px; display: grid; grid-template-columns: repeat(4,1fr); align-items: end; gap: 14px; }
.collab-margin-grid > label { display: flex; flex-direction: column; gap: 7px; }
.collab-margin-grid label span { color: var(--muted); font-size: 8px; font-weight: 850; text-transform: uppercase; }
.collab-margin-grid input { height: 43px; padding: 0 11px; border: 1px solid var(--line); background: var(--white); }
.collab-margin-result { grid-column: 1/-1; display: grid; grid-template-columns: repeat(6,1fr); border: 1px solid var(--line); background: var(--white); }
.collab-margin-result span, .collab-margin-result > strong { min-height: 74px; padding: 13px; display: flex; flex-direction: column; justify-content: space-between; color: var(--muted); font-size: 7px; text-transform: uppercase; }
.collab-margin-result > * + * { border-left: 1px solid var(--line); }
.collab-margin-result b { color: var(--ink); font-size: 11px; }
.collab-margin-result > strong { background: var(--green); color: rgba(255,255,255,.65); }
.collab-margin-result > strong b { color: var(--sand); }
.collab-admin-list { padding: 12px; }
.collab-admin-card { border: 1px solid var(--line); display: grid; grid-template-columns: 230px 1fr 185px; background: var(--white); }
.collab-admin-card + .collab-admin-card { margin-top: 12px; }
.collab-admin-art { position: relative; min-height: 300px; background: #eee9df; }
.collab-admin-art > img { width: 100%; height: 100%; min-height: 300px; object-fit: contain; }
.collab-admin-art > a { min-height: 300px; display: grid; place-items: center; color: var(--rust); font-size: 9px; font-weight: 850; text-transform: uppercase; }
.collab-admin-art > span { position: absolute; left: 12px; top: 12px; }
.collab-admin-story { padding: 24px; }
.collab-admin-story h3 { margin: 0 0 13px; font: 600 32px/1 var(--serif); }
.collab-admin-story > p:not(.admin-kicker) { margin: 0 0 15px; color: var(--muted); font-size: 10px; line-height: 1.65; }
.collab-admin-story blockquote { margin: 18px 0; padding: 13px; border-left: 3px solid var(--rust); background: var(--cream); color: var(--muted); font-size: 9px; line-height: 1.55; }
.collab-admin-story > a { width: max-content; max-width: 100%; margin: 6px 0; display: block; border-bottom: 1px solid var(--line); color: var(--rust); font-size: 8px; overflow-wrap: anywhere; }
.collab-admin-performance { padding: 22px; border-left: 1px solid var(--line); display: flex; flex-direction: column; justify-content: center; gap: 13px; background: #f8f4eb; }
.collab-admin-performance > span { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 8px; text-transform: uppercase; }
.collab-admin-performance b { color: var(--ink); }
.collab-admin-performance button { min-height: 36px; border: 1px solid var(--olive); background: transparent; color: var(--olive); font-size: 7px; font-weight: 850; text-transform: uppercase; cursor: pointer; }
.collab-admin-controls { grid-column: 1/-1; padding: 20px; border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(4,1fr); align-items: end; gap: 14px 12px; }
.collab-admin-controls label { display: flex; flex-direction: column; gap: 6px; }
.collab-admin-controls label.wide { grid-column: span 2; }
.collab-admin-controls label > span { color: var(--muted); font-size: 7px; font-weight: 850; text-transform: uppercase; }
.collab-admin-controls input, .collab-admin-controls select, .collab-admin-controls textarea { width: 100%; border: 1px solid var(--line); background: var(--cream); padding: 10px; }
.collab-admin-controls input, .collab-admin-controls select { height: 40px; }

/* Finance and mission ledger */
.finance-metrics { margin-bottom: 24px; display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--line); background: var(--cream); }
.finance-metrics article { min-height: 132px; padding: 22px; display: flex; flex-direction: column; justify-content: space-between; }
.finance-metrics article + article { border-left: 1px solid var(--line); }
.finance-metrics article:nth-child(n+5) { border-top: 1px solid var(--line); }
.finance-metrics span { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.finance-metrics strong { font: 600 31px/1 var(--serif); }
.finance-metrics small { color: var(--muted); font-size: 8px; }
.finance-metrics .finance-mission { background: var(--rust); color: var(--white); }
.finance-metrics .finance-retained { background: var(--green); color: var(--white); }
.finance-metrics .finance-mission span, .finance-metrics .finance-mission small, .finance-metrics .finance-retained span, .finance-metrics .finance-retained small { color: rgba(255,255,255,.62); }
.finance-metrics .finance-mission strong, .finance-metrics .finance-retained strong { color: var(--sand); }
.finance-filter { min-height: 40px; padding: 0 10px; border: 1px solid var(--line); background: var(--white); }
.finance-order-list { padding: 12px; }
.finance-order-list article { padding: 16px; border: 1px solid var(--line); display: grid; grid-template-columns: 190px 1fr 185px; align-items: center; gap: 20px; background: var(--white); }
.finance-order-list article + article { margin-top: 8px; }
.finance-order-title { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; }
.finance-order-title > strong { font: 600 18px/1 var(--serif); }
.finance-order-title small { color: var(--muted); font-size: 7px; }
.finance-order-math { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--line); }
.finance-order-math span, .finance-order-math > strong { min-height: 47px; padding: 8px; display: flex; flex-direction: column; justify-content: space-between; color: var(--muted); font-size: 6px; text-transform: uppercase; }
.finance-order-math > * { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.finance-order-math b { color: var(--ink); font-size: 8px; }
.finance-order-math .mission-line, .finance-order-math .mission-line b { color: var(--rust); }
.finance-order-math > strong { background: var(--green); color: rgba(255,255,255,.6); }
.finance-order-math > strong b { color: var(--sand); }
.finance-order-action { display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
.finance-order-action small { color: var(--muted); font-size: 7px; line-height: 1.4; }

/* Artist royalty dashboard */
.artist-dashboard-grid { margin-bottom: 22px; display: grid; grid-template-columns: 1fr 310px; align-items: start; gap: 22px; }
.artist-design-list { padding: 10px; }
.artist-design-list article { padding: 12px; border: 1px solid var(--line); display: grid; grid-template-columns: 100px 1fr 150px; align-items: center; gap: 18px; background: var(--white); }
.artist-design-list article + article { margin-top: 8px; }
.artist-design-list img { width: 100px; height: 115px; object-fit: contain; background: #f3eee6; }
.artist-pdf { width: 100px; height: 115px; display: grid; place-items: center; background: var(--sand); color: var(--rust); font-size: 9px; font-weight: 850; }
.artist-design-list h3 { margin: 9px 0 5px; font: 600 23px/1 var(--serif); }
.artist-design-list p { margin: 0 0 7px; color: var(--rust); font-size: 8px; }
.artist-design-list small { color: var(--muted); font-size: 7px; }
.artist-design-list blockquote { margin: 11px 0 0; padding: 9px; border-left: 2px solid var(--rust); background: var(--cream); color: var(--muted); font-size: 7px; }
.artist-design-list article > div:last-child { padding-left: 17px; border-left: 1px solid var(--line); display: flex; flex-direction: column; gap: 10px; }
.artist-design-list article > div:last-child span { display: flex; justify-content: space-between; color: var(--muted); font-size: 7px; text-transform: uppercase; }
.artist-design-list article > div:last-child b { color: var(--ink); }
.artist-royalty-ledger > div:last-child { padding: 10px; }
.artist-royalty-ledger article { min-height: 70px; padding: 12px; border: 1px solid var(--line); display: grid; grid-template-columns: 1fr 1.1fr .8fr .8fr auto; align-items: center; gap: 14px; background: var(--white); }
.artist-royalty-ledger article + article { margin-top: 7px; }
.artist-royalty-ledger article > div { display: flex; flex-direction: column; gap: 5px; }
.artist-royalty-ledger small { color: var(--muted); font-size: 7px; text-transform: uppercase; }
.artist-royalty-ledger strong { font-size: 9px; }

/* Printable BT waybill */
.waybill-page { min-height: 100vh; padding: 30px; background: #e8e4dc; color: #111; }
.waybill-toolbar { width: min(720px,100%); margin: 0 auto 18px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.waybill-toolbar a, .waybill-toolbar button { border: 0; border-bottom: 1px solid #111; background: transparent; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.waybill-toolbar p { margin: 0; color: #655f59; font-size: 9px; }
.waybill-sheet { width: 4in; min-height: 6in; margin: 0 auto; padding: .18in; background: white; box-shadow: 0 20px 60px rgba(0,0,0,.18); font-family: Arial, Helvetica, sans-serif; }
.waybill-brand { padding-bottom: .09in; border-bottom: 2px solid #111; display: flex; align-items: center; justify-content: space-between; }
.waybill-brand > div { display: flex; align-items: center; gap: .08in; }
.waybill-brand img { width: .26in; height: .38in; object-fit: contain; }
.waybill-brand span { display: flex; flex-direction: column; }
.waybill-brand strong { font: 700 .17in/1 Georgia,serif; }
.waybill-brand small { margin-top: .03in; font-size: .055in; letter-spacing: .07em; text-transform: uppercase; }
.waybill-brand > b { padding: .07in .1in; border: 2px solid #111; font-size: .14in; }
.waybill-reference { padding: .11in 0 .09in; border-bottom: 1px solid #111; text-align: center; }
.waybill-reference > span, .waybill-route span, .waybill-order span, .waybill-notes span, .waybill-footer span { display: block; font-size: .055in; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.waybill-reference > strong { display: block; margin: .04in 0 .03in; font-size: .24in; letter-spacing: .04em; }
.waybill-bars { height: .32in; margin: 0 .18in .02in; background: repeating-linear-gradient(90deg,#111 0,#111 2px,transparent 2px,transparent 4px,#111 4px,#111 5px,transparent 5px,transparent 8px,#111 8px,#111 11px,transparent 11px,transparent 13px); }
.waybill-reference > small { font-size: .06in; letter-spacing: .18em; }
.waybill-route { min-height: 1.42in; border-bottom: 1px solid #111; display: grid; grid-template-columns: 1fr .2in 1.35fr; gap: .08in; }
.waybill-route > div:not(.waybill-arrow) { padding: .12in 0; }
.waybill-route strong { margin: .06in 0; display: block; font-size: .11in; }
.waybill-route p { margin: 0; font-size: .072in; line-height: 1.42; }
.waybill-arrow { display: grid; place-items: center; border-inline: 1px solid #111; font-size: .15in; }
.waybill-order { min-height: .92in; border-bottom: 1px solid #111; display: grid; grid-template-columns: 1fr 1.18fr; }
.waybill-items { padding: .1in .08in .08in 0; }
.waybill-items p { margin: .06in 0 0; font-size: .073in; line-height: 1.25; }
.waybill-cod { padding: .1in 0 .08in .1in; border-left: 1px solid #111; display: flex; flex-direction: column; justify-content: center; }
.waybill-cod > strong { margin: .06in 0; font-size: .2in; }
.waybill-cod small { font-size: .06in; }
.waybill-scan { min-height: .68in; padding: .07in 0; border-bottom: 1px solid #111; display: grid; grid-template-columns: .58in 1fr; align-items: center; gap: .1in; }
.waybill-scan svg { width: .54in; height: .54in; }
.waybill-scan > div { display: flex; flex-direction: column; gap: .03in; }
.waybill-scan span { font-size: .06in; font-weight: 900; letter-spacing: .09em; }
.waybill-scan strong { font-size: .085in; }
.waybill-scan p { margin: 0; font-size: .057in; line-height: 1.3; }
.waybill-notes { min-height: .42in; padding: .08in 0; border-bottom: 1px solid #111; }
.waybill-notes p { margin: .04in 0 0; font-size: .068in; line-height: 1.25; }
.waybill-footer { min-height: .43in; display: grid; grid-template-columns: repeat(5,1fr); }
.waybill-footer > div { padding: .08in .05in; }
.waybill-footer > div + div { border-left: 1px solid #111; }
.waybill-footer strong { margin-top: .04in; display: block; font-size: .068in; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* QR fulfillment handoff */
.qr-scan-page { min-height: 100vh; padding: 35px 18px 55px; display: flex; flex-direction: column; align-items: center; background: var(--green); color: var(--white); }
.qr-scan-brand { margin-bottom: 28px; display: flex; align-items: center; gap: 10px; }
.qr-scan-brand img { width: 32px; height: 46px; object-fit: contain; filter: invert(1); }
.qr-scan-brand span { display: flex; flex-direction: column; }
.qr-scan-brand strong { font: 700 22px/1 var(--serif); }
.qr-scan-brand small { margin-top: 5px; color: var(--sand); font-size: 7px; letter-spacing: .16em; text-transform: uppercase; }
.qr-scan-card { width: min(690px,100%); padding: 52px; background: var(--cream); color: var(--ink); text-align: center; box-shadow: 0 30px 90px rgba(0,0,0,.28); }
.qr-scan-icon { width: 68px; height: 68px; margin: 0 auto 24px; border-radius: 50%; display: grid; place-items: center; background: var(--sand); color: var(--green); font-size: 28px; font-weight: 800; }
.phase-scanning .qr-scan-icon { animation: qr-pulse 1.2s ease-in-out infinite; }
.phase-error .qr-scan-icon { background: #f5d8d2; color: #8b3027; }
.phase-duplicate .qr-scan-icon { background: #ebe5dc; color: var(--muted); }
.qr-scan-card .admin-kicker { justify-content: center; }
.qr-scan-card h1 { margin: 13px 0 18px; font: 600 clamp(43px,7vw,64px)/.92 var(--serif); letter-spacing: -.05em; }
.qr-scan-lead { max-width: 520px; min-height: 44px; margin: 0 auto 28px; color: var(--muted); font-size: 12px; line-height: 1.65; }
.qr-scan-order { border: 1px solid var(--line); display: grid; grid-template-columns: 1fr 1fr; text-align: left; }
.qr-scan-order > div { min-height: 82px; padding: 15px; display: flex; flex-direction: column; justify-content: space-between; gap: 7px; }
.qr-scan-order > div:nth-child(even) { border-left: 1px solid var(--line); }
.qr-scan-order > div:nth-child(n+3) { border-top: 1px solid var(--line); }
.qr-scan-order span { color: var(--muted); font-size: 7px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.qr-scan-order strong { font-size: 10px; }
.qr-scan-order small { color: var(--rust); font-size: 7px; text-transform: uppercase; }
.qr-notification-proof { margin: 20px 0 0; padding: 17px; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 20px; background: #e8efe2; color: #456528; font-size: 8px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.qr-scan-safety { margin: 20px 0 0; padding: 15px; border-left: 3px solid var(--rust); background: #f3ede4; color: var(--muted); font-size: 9px; line-height: 1.55; text-align: left; }
.qr-scan-actions { margin-top: 28px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 18px; }
.qr-scan-actions > a:not(.admin-button) { border-bottom: 1px solid currentColor; color: var(--rust); font-size: 8px; font-weight: 800; }
.qr-scan-user { margin: 25px 0 0; color: var(--muted); font-size: 7px; }
@keyframes qr-pulse { 0%,100% { transform: scale(1); opacity: .65; } 50% { transform: scale(1.08); opacity: 1; } }

/* Dedicated BT Missions page */
.missions-page { min-height: 100vh; background: var(--cream); color: var(--ink); }
.mission-page-header { position: sticky; z-index: 30; top: 0; border-bottom: 1px solid rgba(40,32,26,.12); background: rgba(244,240,231,.95); backdrop-filter: blur(16px); }
.mission-page-nav { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.mission-page-nav > div { display: flex; align-items: center; gap: 25px; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.mission-page-hero { padding: 100px 0; background: var(--green); color: var(--white); }
.mission-page-hero .mission-intro h1 { margin: 0; font: 600 clamp(54px,6.7vw,91px)/.88 var(--serif); letter-spacing: -.06em; }
.mission-page-hero .mission-intro h1 em { color: var(--sand); }
.mission-page-hero .mission-intro-copy > p { color: rgba(255,255,255,.7); }
.mission-page-cta { padding: 100px 0; background: var(--rust); color: var(--white); text-align: center; }
.mission-page-cta h2 { margin: 18px 0 32px; font: 600 clamp(55px,7vw,90px)/.9 var(--serif); letter-spacing: -.055em; }
.mission-page-cta > div > div { display: flex; justify-content: center; gap: 12px; }

/* Consent-based customer marketing */
.marketing-audience-panel { margin-bottom: 24px; border: 1px solid var(--line); display: grid; grid-template-columns: repeat(3,180px) 1fr; background: var(--white); }
.marketing-audience-panel > div { min-height: 125px; padding: 22px; display: flex; flex-direction: column; justify-content: space-between; }
.marketing-audience-panel > div + div { border-left: 1px solid var(--line); }
.marketing-audience-panel span { color: var(--muted); font-size: 7px; font-weight: 850; text-transform: uppercase; }
.marketing-audience-panel strong { font: 600 35px/1 var(--serif); }
.marketing-audience-panel small { color: var(--muted); font-size: 7px; line-height: 1.4; }
.marketing-audience-panel > p { margin: 0; padding: 25px; display: flex; align-items: center; background: var(--green); color: rgba(255,255,255,.7); font-size: 9px; line-height: 1.65; }
.marketing-broadcast-list { padding: 12px; }
.marketing-broadcast-list article { min-height: 84px; padding: 15px; border: 1px solid var(--line); display: grid; grid-template-columns: 1.4fr repeat(4,100px) 130px; align-items: center; gap: 15px; background: var(--white); }
.marketing-broadcast-list article + article { margin-top: 8px; }
.marketing-broadcast-list article > div { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.marketing-broadcast-list article > div > span { color: var(--rust); font-size: 7px; font-weight: 850; text-transform: uppercase; }
.marketing-broadcast-list h3 { margin: 0; font: 600 18px/1 var(--serif); }
.marketing-broadcast-list article > div > small { color: var(--muted); font-size: 7px; }
.marketing-broadcast-list article > strong { display: flex; flex-direction: column; gap: 5px; font: 600 20px/1 var(--serif); }
.marketing-broadcast-list article > strong small { color: var(--muted); font: 500 6px/1 var(--sans); text-transform: uppercase; }
.marketing-broadcast-list .has-failures { color: #9f382e; }
.marketing-broadcast-list article > em { padding: 8px; background: #e8efe2; color: #456528; font-size: 7px; font-style: normal; font-weight: 850; text-align: center; text-transform: uppercase; }

/* Role-based team notifications and operational reports */
.notification-tabs { margin-bottom: 14px; display: flex; gap: 8px; }
.notification-tabs button { min-height: 44px; padding: 0 18px; border: 1px solid var(--line); background: var(--white); color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.notification-tabs button.active { border-color: var(--green); background: var(--green); color: var(--white); }
.notification-head-actions { display: flex; align-items: center; gap: 10px; }
.notification-head-actions select { min-height: 40px; padding: 0 12px; border: 1px solid var(--line); background: var(--white); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.team-notification-list { padding: 12px; }
.team-notification-list > article { position: relative; min-height: 112px; padding: 20px; border: 1px solid var(--line); display: grid; grid-template-columns: 12px 1fr auto; align-items: center; gap: 17px; background: var(--white); }
.team-notification-list > article + article { margin-top: 8px; }
.team-notification-list > article.unread { border-left: 4px solid var(--green); }
.team-notification-list > article.priority-high.unread { border-left-color: var(--rust); background: #fffaf5; }
.team-notification-list > article.read { opacity: .68; }
.notification-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--line); }
.unread .notification-dot { background: var(--green); box-shadow: 0 0 0 4px rgba(23,63,51,.1); }
.priority-high.unread .notification-dot { background: var(--rust); box-shadow: 0 0 0 4px rgba(160,77,39,.1); }
.team-notification-list article > div:nth-child(2) { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; }
.team-notification-list small { color: var(--muted); font-size: 7px; text-transform: uppercase; }
.team-notification-list h3 { margin: 0; font: 600 21px/1 var(--serif); }
.team-notification-list p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.team-notification-list article > div:last-child { display: flex; align-items: center; gap: 10px; }
.team-notification-list article > div:last-child > button { border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--muted); font-size: 7px; cursor: pointer; }
.notification-report-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 14px; }
.notification-report-grid .admin-panel { margin-bottom: 0; }
.notification-stage-grid { padding: 12px; display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }
.notification-stage-grid article { min-height: 92px; padding: 16px; border: 1px solid var(--line); display: flex; flex-direction: column; justify-content: space-between; background: var(--white); }
.notification-stage-grid span { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.notification-stage-grid strong { font: 600 31px/1 var(--serif); }
.overdue-order-list, .customer-update-list { padding: 12px; }
.overdue-order-list article { min-height: 83px; padding: 15px; border: 1px solid var(--line); display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 20px; background: var(--white); }
.overdue-order-list article + article, .customer-update-list article + article { margin-top: 7px; }
.overdue-order-list article > div { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.overdue-order-list strong { font: 600 17px/1 var(--serif); }
.overdue-order-list small { color: var(--muted); font-size: 7px; }
.overdue-order-list b { color: var(--rust); font-size: 9px; }
.overdue-order-list a { border-bottom: 1px solid currentColor; font-size: 8px; font-weight: 800; }
.customer-update-list article { min-height: 72px; padding: 15px; border: 1px solid var(--line); display: grid; grid-template-columns: 1.25fr 70px 1fr 80px; align-items: center; gap: 16px; background: var(--white); }
.customer-update-list article > div { display: flex; flex-direction: column; gap: 6px; }
.customer-update-list strong { font: 600 16px/1 var(--serif); }
.customer-update-list small { color: var(--muted); font-size: 7px; }
.customer-update-list > article > span, .customer-update-list > article > b, .customer-update-list > article > em { font-size: 8px; font-style: normal; text-transform: uppercase; }
.customer-update-list > article > span { width: fit-content; padding: 6px 8px; border-radius: 20px; background: var(--sand); }
.customer-update-list > article > em { color: var(--olive); font-weight: 850; }
.customer-update-list .delivery-failed { border-left: 4px solid #9f382e; background: #fff7f5; }
.customer-update-list .delivery-failed > em { color: #9f382e; }
.customer-update-list article > p { grid-column: 1/-1; margin: 0; padding-top: 9px; border-top: 1px solid var(--line); color: #8c3028; font-size: 8px; }

/* Administration, sales, releasing, and audit dashboards */
.admin-module-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.admin-module-grid > a { min-height: 220px; padding: 28px; border: 1px solid var(--line); display: flex; flex-direction: column; align-items: flex-start; background: var(--white); transition: transform .2s ease, border-color .2s ease; }
.admin-module-grid > a:hover { border-color: var(--rust); transform: translateY(-3px); }
.admin-module-grid span { color: var(--rust); font-size: 8px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.admin-module-grid h2 { margin: 34px 0 12px; font: 600 29px/1 var(--serif); }
.admin-module-grid p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.7; }
.admin-module-grid b { margin-top: auto; padding-top: 25px; border-bottom: 1px solid var(--ink); font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }

/* Customer inquiry operations */
.inquiry-admin-list { padding: 12px; }
.inquiry-admin-list > article { border: 1px solid var(--line); background: var(--white); }
.inquiry-admin-list > article + article { margin-top: 10px; }
.inquiry-admin-head { min-height: 76px; padding: 15px 20px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.inquiry-admin-head > div { display: grid; grid-template-columns: auto auto; align-items: center; justify-content: start; gap: 7px 12px; }
.inquiry-admin-head strong { font: 600 19px/1 var(--serif); }
.inquiry-admin-head small { grid-column: 1/-1; color: var(--muted); font-size: 7px; letter-spacing: .05em; text-transform: uppercase; }
.inquiry-admin-head > a { color: var(--rust); border-bottom: 1px solid currentColor; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.status-pill.inquiry-open { background: #fff0d9; color: #81501d; }
.status-pill.inquiry-in_progress { background: #e2f1f5; color: #285c6d; }
.status-pill.inquiry-resolved { background: #e7f0dc; color: #385d1a; }
.inquiry-admin-body { display: grid; grid-template-columns: 1fr 340px; }
.inquiry-admin-body > div { min-width: 0; padding: 26px 24px; }
.inquiry-admin-body h3 { margin: 0 0 13px; font: 600 28px/1 var(--serif); }
.inquiry-admin-body p { margin: 0 0 20px; color: var(--muted); font-size: 11px; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; }
.inquiry-admin-body > div > small { color: var(--muted); font-size: 8px; }
.inquiry-contact-actions { margin-bottom: 14px; display: flex; flex-wrap: wrap; gap: 9px; }
.inquiry-contact-actions a { min-height: 35px; padding: 0 12px; border: 1px solid var(--line); display: inline-flex; align-items: center; font-size: 8px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.inquiry-contact-actions a:first-child { border-color: var(--ink); background: var(--ink); color: var(--white); }
.inquiry-admin-body form { padding: 22px; border-left: 1px solid var(--line); display: flex; flex-direction: column; gap: 12px; background: #f8f4eb; }
.inquiry-admin-body form label { display: flex; flex-direction: column; gap: 7px; }
.inquiry-admin-body form label > span { color: var(--muted); font-size: 7px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.inquiry-admin-body form select, .inquiry-admin-body form textarea { width: 100%; padding: 10px; border: 1px solid var(--line); border-radius: 0; background: var(--white); font: inherit; outline: none; }
.inquiry-admin-body form select { height: 42px; padding-block: 0; }
.inquiry-admin-body form textarea { resize: vertical; line-height: 1.5; }
.inquiry-admin-body form select:focus, .inquiry-admin-body form textarea:focus { border-color: var(--rust); }
.inquiry-admin-body form > small { color: var(--muted); font-size: 7px; overflow-wrap: anywhere; }
.admin-dashboard-split { margin-bottom: 24px; display: grid; grid-template-columns: 1.35fr .85fr; gap: 24px; }
.admin-dashboard-split > .admin-panel { margin-bottom: 0; }
.sales-bars { min-height: 285px; padding: 28px 22px 20px; display: flex; align-items: flex-end; gap: 9px; overflow-x: auto; }
.sales-bars > div { min-width: 44px; flex: 1; display: flex; flex-direction: column; align-items: center; gap: 7px; }
.sales-bars > div > span { width: 100%; height: 190px; display: flex; align-items: flex-end; background: #f1ece3; }
.sales-bars i { width: 100%; display: block; background: var(--rust); }
.sales-bars b { font-size: 7px; }
.sales-bars small { color: var(--muted); font-size: 6px; white-space: nowrap; }
.sales-channel-list { padding: 12px; }
.sales-channel-list article { min-height: 78px; padding: 15px; border: 1px solid var(--line); display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 6px; }
.sales-channel-list article + article { margin-top: 8px; }
.sales-channel-list span { color: var(--muted); font-size: 8px; font-weight: 850; text-transform: uppercase; }
.sales-channel-list strong { font: 600 21px/1 var(--serif); }
.sales-channel-list small { grid-column: 1/-1; color: var(--muted); font-size: 7px; }
.sales-table { padding: 12px; }
.sales-table article { min-height: 61px; padding: 12px; border: 1px solid var(--line); display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 12px; }
.sales-table article + article { margin-top: 7px; }
.sales-table article > b { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; background: var(--sand); color: var(--rust); font-size: 8px; }
.sales-table article > span { display: flex; flex-direction: column; gap: 5px; }
.sales-table article strong { font-size: 9px; }
.sales-table article small { color: var(--muted); font-size: 7px; }
.sales-table article em { color: var(--rust); font: 600 15px/1 var(--serif); }
.recent-sales-table article { grid-template-columns: 1fr auto auto; }
.recent-sales-table article > i { font-style: normal; }
.release-list { padding: 12px; }
.release-list > article { padding: 18px; border: 1px solid var(--line); display: grid; grid-template-columns: 180px 1.2fr 1.2fr 150px 155px; align-items: center; gap: 18px; background: var(--white); }
.release-list > article + article { margin-top: 9px; }
.release-order-title { display: flex; align-items: flex-start; gap: 11px; }
.release-order-title > div { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.release-order-title small { color: var(--muted); font-size: 7px; }
.release-order-title h3 { margin: 0; font: 600 18px/1 var(--serif); }
.release-customer { display: flex; flex-direction: column; gap: 6px; }
.release-customer strong { font-size: 10px; }
.release-customer a { color: var(--rust); font-size: 8px; }
.release-customer p { margin: 0; color: var(--muted); font-size: 7px; line-height: 1.5; }
.release-items { display: flex; flex-direction: column; gap: 6px; }
.release-items span { font-size: 8px; }
.release-payment { display: flex; flex-direction: column; gap: 7px; }
.release-payment > span { color: var(--muted); font-size: 7px; font-weight: 850; text-transform: uppercase; }
.release-payment strong { font: 600 18px/1 var(--serif); }
.release-payment small { color: var(--muted); font-size: 6px; line-height: 1.4; }
.release-actions { display: flex; flex-direction: column; gap: 8px; }
.release-actions .admin-button { width: 100%; text-align: center; }
.audit-tabs { margin-bottom: 14px; display: flex; gap: 8px; }
.audit-tabs button { min-height: 42px; padding: 0 16px; border: 1px solid var(--line); background: var(--white); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.audit-tabs button.active { border-color: var(--green); background: var(--green); color: var(--white); }
.audit-activity-list, .audit-reconciliation-list, .audit-access-list { padding: 12px; }
.audit-activity-list article { min-height: 74px; padding: 14px; border: 1px solid var(--line); display: grid; grid-template-columns: 92px 1fr 220px; align-items: center; gap: 18px; }
.audit-activity-list article + article, .audit-reconciliation-list article + article, .audit-access-list article + article { margin-top: 7px; }
.audit-category { width: fit-content; padding: 7px 9px; border-radius: 20px; background: #eee8df; font-size: 7px; font-weight: 850; text-transform: uppercase; }
.audit-order { background: #e8efe2; color: #456528; }
.audit-campaign { background: #f5e4d8; color: var(--rust); }
.audit-notification { background: #e6e9f1; color: #3b4f76; }
.audit-activity-list article > div { display: flex; flex-direction: column; gap: 6px; }
.audit-activity-list strong { font-size: 8px; }
.audit-activity-list p { margin: 0; color: var(--muted); font-size: 8px; }
.audit-activity-list small { color: var(--muted); font-size: 7px; }
.audit-reconciliation-list article { padding: 15px; border: 1px solid var(--line); display: grid; grid-template-columns: 165px 1fr 110px; align-items: center; gap: 18px; }
.audit-reconciliation-list article.flagged { border-color: #b95b4d; background: #fff8f6; }
.audit-reconciliation-list article > div:first-child { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.audit-reconciliation-list article > div:first-child > strong { font: 600 17px/1 var(--serif); }
.audit-reconciliation-list article > div:first-child > small { color: var(--muted); font-size: 7px; }
.audit-order-math { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--line); }
.audit-order-math span { min-height: 43px; padding: 7px; display: flex; flex-direction: column; justify-content: space-between; color: var(--muted); font-size: 6px; text-transform: uppercase; }
.audit-order-math span + span { border-left: 1px solid var(--line); }
.audit-order-math b { color: var(--ink); font-size: 8px; }
.audit-ok, .audit-flag { padding: 8px; text-align: center; font-size: 7px; text-transform: uppercase; }
.audit-ok { background: #e8efe2; color: #456528; }
.audit-flag { background: #f8e1de; color: #823128; }
.audit-access-list article { min-height: 72px; padding: 14px; border: 1px solid var(--line); display: grid; grid-template-columns: 1fr 160px 120px 260px; align-items: center; gap: 18px; }
.audit-access-list article.owner { background: #f8f4eb; }
.audit-access-list article > div { display: flex; flex-direction: column; gap: 6px; }
.audit-access-list strong { font-size: 9px; }
.audit-access-list small { color: var(--muted); font-size: 7px; line-height: 1.45; }
.audit-access-list > article > span { font-size: 8px; font-weight: 850; text-transform: uppercase; }
.audit-access-list > article > b { font-size: 8px; text-transform: uppercase; }

@media (max-width: 980px) {
  .mobile-menu-button { display: grid; place-items: center; margin-left: auto; }
  .nav-links { position: absolute; top: 82px; left: 0; right: 0; display: none; padding: 20px; border-bottom: 1px solid var(--line); background: var(--cream); box-shadow: 0 18px 35px rgba(40,32,26,.14); }
  /* Each rule carries two selectors. `.open` is the class the previous React
     build toggled; the `:checked ~` pair is what this port uses, because the
     menu is a CSS checkbox toggle that opens with no JavaScript. Without the
     second selector the mobile menu could never open at all. */
  .nav-links.open,
  .mobile-menu-toggle:checked ~ .nav-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; }
  .nav-links.open a,
  .mobile-menu-toggle:checked ~ .nav-links a { min-height: 48px; padding: 14px 10px; border-bottom: 1px solid var(--line); display: flex; align-items: center; }
  /* Back to block here. On desktop .nav-more is a flex row so "More" can be
     centred in the full-height header; in the mobile sheet the panel is in
     normal flow, and leaving it flex would put it beside "More" instead of
     under it. */
  .nav-links.open .nav-more,
  .mobile-menu-toggle:checked ~ .nav-links .nav-more { grid-column: 1/-1; display: block; }
  .nav-links.open .nav-more summary,
  .mobile-menu-toggle:checked ~ .nav-links .nav-more summary { min-height: 48px; padding: 14px 10px; border-bottom: 1px solid var(--line); display: flex; align-items: center; }
  /* Inside the mobile sheet the panel sits in normal flow, so it pushes the
     menu open rather than floating over it. */
  .nav-links.open .nav-more > div,
  .mobile-menu-toggle:checked ~ .nav-links .nav-more > div { position: static; width: 100%; padding: 0; border: 0; grid-template-columns: repeat(2,minmax(0,1fr)); box-shadow: none; }
  .shop-hero-grid { grid-template-columns: 1fr; gap: 28px; }
  .shop-hero-grid > div:first-child { max-width: 760px; }
  .shop-hero-art { width: min(650px,100%); margin-inline: auto; }
  .catalog-image-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .catalog-product-modal { grid-template-columns: 1fr 1fr; }
  .catalog-product-photo { min-height: 540px; }
  .catalog-product-info { padding: 65px 34px 35px; }
  .hero-grid { grid-template-columns: 1fr; gap: 30px; padding-top: 74px; }
  .hero-copy { max-width: 760px; }
  .hero-visual { width: min(620px,100%); margin-inline: auto; }
  .section-heading { gap: 45px; }
  .purpose-grid { grid-template-columns: 1fr; padding-top: 100px; gap: 20px; }
  .purpose-copy { max-width: 720px; }
  .purpose-art { width: min(650px,100%); margin-inline: auto; }
  .mission-intro { grid-template-columns: 1fr; align-items: start; gap: 35px; }
  .mission-intro-copy { max-width: 720px; }
  .mission-stories-head { gap: 45px; }
  .mission-preview-grid, .customer-circle-grid, .contact-grid { grid-template-columns: 1fr; gap: 42px; }
  .contact-copy { position: static; }
  .featured-media-grid { width: 100%; }
  .testimonials-head { gap: 45px; }
  .faq-grid { gap: 60px; }
  .admin-hero { gap: 42px; }
  .admin-metrics { grid-template-columns: repeat(2,1fr); }
  .admin-metrics article:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .admin-metrics article:nth-child(4) { border-top: 1px solid var(--line); }
  .admin-grid { grid-template-columns: 1fr; }
  .automation-column { grid-template-columns: 1fr 1fr; }
  .inventory-list form { grid-template-columns: 68px 1fr repeat(3,72px) auto; }
  .inventory-list form > img { width: 68px; }
  .inventory-list .toggle-label:first-of-type { display: none; }
  .order-summary { grid-template-columns: 12px 1fr 1fr auto 20px; }
  .order-customer { display: none; }
  .affiliate-hero-grid { gap: 38px; }
  .affiliate-how-grid { grid-template-columns: repeat(2,1fr); }
  .affiliate-how-grid article:nth-child(3) { border-left: 0; border-top: 1px solid rgba(255,255,255,.2); }
  .affiliate-how-grid article:nth-child(4) { border-top: 1px solid rgba(255,255,255,.2); }
  .affiliate-apply-grid { gap: 45px; }
  .partner-metrics { grid-template-columns: repeat(2,1fr); }
  .partner-metrics article:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .partner-metrics article:nth-child(4) { border-top: 1px solid var(--line); }
  .partner-grid { grid-template-columns: 1fr; }
  .campaign-form, .campaign-edit-grid { grid-template-columns: repeat(2,1fr); }
  .homepage-editor-split { grid-template-columns: 1fr; }
  .homepage-image-control { max-width: 680px; }
  .testimonial-editor-list { grid-template-columns: repeat(2,1fr); }
  .homepage-product-picker { grid-template-columns: repeat(3,1fr); }
  .team-invite-form { grid-template-columns: 1fr 1fr; }
  .team-user-card { grid-template-columns: 48px 1fr 1fr; }
  .team-user-card > label, .team-user-card > .team-login, .team-user-card > .admin-button { grid-column: auto; }
  .collab-hero-grid { grid-template-columns: 1fr; gap: 25px; }
  .collab-hero-grid > div:first-child { max-width: 760px; }
  .collab-hero-art { width: min(650px,100%); margin-inline: auto; }
  .collab-submit-grid { gap: 40px; }
  .collab-admin-card { grid-template-columns: 190px 1fr; }
  .collab-admin-performance { grid-column: 1/-1; border-left: 0; border-top: 1px solid var(--line); flex-direction: row; flex-wrap: wrap; }
  .collab-admin-performance > span { min-width: 130px; flex: 1; }
  .collab-admin-controls { grid-template-columns: repeat(2,1fr); }
  .finance-order-list article { grid-template-columns: 160px 1fr; }
  .finance-order-action { grid-column: 1/-1; flex-direction: row; align-items: center; }
  .artist-dashboard-grid { grid-template-columns: 1fr; }
  .affiliate-admin-list > form { grid-template-columns: 1fr 1fr; }
  .affiliate-admin-controls { padding-left: 22px; border-left: 1px solid var(--line); }
  .marketing-audience-panel { grid-template-columns: repeat(3,1fr); }
  .marketing-audience-panel > p { grid-column: 1/-1; }
  .marketing-broadcast-list article { grid-template-columns: 1.4fr repeat(4,75px); }
  .marketing-broadcast-list article > em { grid-column: 1/-1; justify-self: start; }
  .inquiry-admin-body { grid-template-columns: 1fr; }
  .inquiry-admin-body form { border-left: 0; border-top: 1px solid var(--line); }
}

@media (max-width: 720px) {
  .shell { width: min(100% - 28px,1180px); }
  .section { padding: 78px 0; }
  .announcement { min-height: 34px; padding: 8px 14px; text-align: center; }
  .announcement p { font-size: 8px; }
  .announcement a { display: none; }
  .announcement-campaign { min-height: 68px; flex-direction: column; gap: 7px; }
  .announcement-campaign p { line-height: 1.45; }
  .campaign-countdown b { min-width: 29px; font-size: 11px; }
  .campaign-countdown small { font-size: 5px; }
  .nav { height: 68px; }
  .brand strong { font-size: 19px; }
  .brand img { width: 28px; height: 38px; }
  .bag-button { min-height: 39px; }
  .store-campaign-inner { grid-template-columns: 1fr; gap: 22px; padding-block: 25px; }
  .store-campaign-offer { justify-content: start; }
  .store-campaign-offer > strong { font-size: 42px; }
  .shop-hero-grid { min-height: auto; padding-block: 62px 74px; }
  .shop-hero h1 { font-size: clamp(50px,14.4vw,71px); }
  .shop-hero-grid > div:first-child > p:not(.eyebrow) { font-size: 15px; }
  .shop-hero-art { min-height: 390px; }
  .catalog-image-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .catalog-image-button::after { right: 9px; bottom: 9px; width: 34px; height: 34px; font-size: 19px; transform: translateY(0); }
  .catalog-product-layer { padding: 12px; align-items: end; }
  .catalog-product-modal { max-height: calc(100vh - 24px); grid-template-columns: 1fr; }
  .catalog-product-photo { min-height: 0; aspect-ratio: 4/4.35; }
  .catalog-product-info { padding: 30px 20px 22px; }
  .catalog-product-info h2 { font-size: 43px; }
  .catalog-product-info > p:nth-of-type(2) { margin: 17px 0 22px; }
  .catalog-product-notes span { grid-template-columns: 92px 1fr; }
  .shop-service-strip { padding: 45px 0 60px; }
  .hero-grid { min-height: auto; padding-top: 58px; padding-bottom: 80px; }
  .hero h1 { font-size: clamp(50px,14.4vw,71px); }
  .hero-lead { font-size: 15px; line-height: 1.65; }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .hero-proof { gap: 8px; }
  .hero-proof strong { font-size: 20px; }
  .hero-proof span { font-size: 8px; line-height: 1.4; }
  .hero-visual { height: 510px; }
  .hero-photo { inset: 5px 8px 20px 45px; }
  .hero-models { width: 84%; left: -2%; }
  .hero-product-duo { width: 109%; left: -9%; bottom: 55px; }
  .hero-statement { right: 4px; width: 145px; }
  .hero-badge { width: 112px; height: 112px; right: 4px; bottom: 28px; }
  .trust-strip { padding: 45px 0 60px; }
  .trust-grid { grid-template-columns: 1fr; }
  .trust-grid article + article { border-left: 0; border-top: 1px solid var(--line); }
  .section-heading { grid-template-columns: 1fr; gap: 28px; }
  .section-heading h2, .faq h2 { font-size: clamp(48px,14vw,67px); }
  .product-grid { grid-template-columns: 1fr; gap: 34px; }
  .product-description { min-height: 0; }
  .catalog-note { align-items: stretch; flex-direction: column; }
  .catalog-note .button { width: 100%; }
  .purpose-grid { padding-top: 82px; padding-bottom: 70px; }
  .purpose h2 { font-size: 51px; }
  .purpose-art { min-height: 430px; }
  .purpose-art > img { top: 58px; right: 0; }
  .shirt-halo { width: 360px; height: 360px; right: 0; }
  .purpose-art blockquote { left: 0; bottom: 0; max-width: 230px; font-size: 21px; }
  .mission-intro h2 { font-size: clamp(49px,14vw,67px); }
  .mission-pledge { grid-template-columns: 1fr; }
  .mission-storyline { grid-template-columns: 1fr; }
  .mission-storyline article { min-height: 185px; padding: 26px 22px; }
  .mission-storyline article + article { border-left: 0; border-top: 1px solid var(--line); }
  .mission-stories-head { margin-top: 62px; grid-template-columns: 1fr; align-items: start; gap: 24px; }
  .featured-message-actions { align-items: flex-start; flex-direction: column; }
  .featured-reel-stage { grid-template-columns: 1fr; }
  .featured-reel-stage-copy { padding: 55px 30px; }
  .featured-reel-player { min-height: 620px; }
  .featured-reel-player iframe { height: 700px; max-height: 590px; }
  .featured-media-grid { grid-template-columns: 1fr; gap: 24px; }
  .featured-social-frame { min-height: 0; padding: 12px; }
  .featured-social-frame iframe { height: 560px; }
  .mission-uploaded-photo { height: 560px; }
  .mission-preview-proof { min-height: 330px; }
  .customer-circle-form { padding: 24px 18px; grid-template-columns: 1fr; }
  .customer-circle-form > label.wide, .circle-channel-options, .customer-circle-form > p, .customer-circle-form > small { grid-column: auto; }
  .contact-form { padding: 25px 18px; }
  .contact-form-heading { align-items: flex-start; flex-direction: column; }
  .contact-form-grid { grid-template-columns: 1fr; }
  .contact-form-grid label.wide { grid-column: auto; }
  .contact-channels a { grid-template-columns: 78px 1fr; }
  .contact-channels b { display: none; }
  .testimonials-head { grid-template-columns: 1fr; align-items: start; gap: 26px; }
  .testimonial-grid { grid-template-columns: 1fr; }
  .testimonial-grid blockquote { min-height: 260px; padding: 28px 22px; }
  .testimonial-grid blockquote + blockquote { border-left: 0; border-top: 1px solid rgba(255,255,255,.2); }
  .steps-grid { grid-template-columns: 1fr; }
  .steps-grid > div { min-height: 180px; }
  .steps-grid > div + div { border-left: 0; border-top: 1px solid rgba(40,32,26,.24); }
  .order-tracker-grid { grid-template-columns: 1fr; gap: 45px; }
  .order-tracker-form { padding: 28px 22px; }
  .faq-grid { grid-template-columns: 1fr; gap: 34px; }
  summary { font-size: 19px; }
  .final-cta { min-height: 550px; }
  .final-cta h2 { font-size: clamp(55px,15vw,80px); }
  .footer-grid { grid-template-columns: 1fr; align-items: start; }
  .footer-grid > p { margin: 0; }
  .footer-links { flex-wrap: wrap; }
  .footer-grid small { grid-column: auto; }
  .drawer-head { min-height: 88px; padding: 18px 20px; }
  .drawer-head h2 { font-size: 27px; }
  .drawer-body { padding: 22px 20px; }
  .drawer-foot { padding: 18px 20px 22px; }
  .checkout-upsell-heading { align-items: flex-end; padding-inline: 12px; }
  .checkout-upsell-controls small { display: none; }
  .checkout-upsell-rail { padding: 12px; }
  .checkout-upsell-card { width: min(216px,72vw); min-width: min(216px,72vw); }
  .checkout-upsell-card > img { height: 158px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid label.full { grid-column: auto; }
  .confirmation-page { padding: 28px 14px; }
  .confirmation-card { padding: 42px 22px; }
  .confirmation-actions { flex-direction: column; }
  .privacy-page { padding: 18px 14px; }
  .privacy-page > header { align-items: flex-start; }
  .privacy-page > article { padding: 38px 20px; }
  .order-report-meta { grid-template-columns: 1fr 1fr; }
  .order-report-meta > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .order-report-meta > div:nth-child(4) { border-top: 1px solid var(--line); }
  .order-report-grid { grid-template-columns: 1fr; gap: 10px; }
  .order-report-notice { grid-template-columns: 1fr; gap: 8px; }
  .admin-shell { width: min(100% - 24px,1360px); }
  .admin-nav { min-height: 68px; }
  .admin-user { display: none; }
  .admin-nav-actions { max-width: 58vw; padding: 9px 0; gap: 13px; overflow-x: auto; }
  .admin-nav-actions > a { flex: 0 0 auto; }
  .admin-nav-actions > a { font-size: 8px; }
  .admin-content { padding-top: 42px; }
  .admin-hero { grid-template-columns: 1fr; gap: 25px; }
  .admin-hero h1 { font-size: clamp(49px,14vw,70px); }
  .admin-metrics { grid-template-columns: 1fr 1fr; }
  .admin-metrics article { min-height: 124px; padding: 20px; }
  .admin-metrics strong { font-size: 32px; }
  .admin-panel-head { padding: 22px 18px; align-items: flex-start; }
  .admin-panel-head .admin-button { min-height: 37px; padding: 0 10px; }
  .admin-toolbar { padding: 15px 18px; grid-template-columns: 1fr; }
  .order-list { padding: 7px; }
  .order-summary { min-height: 96px; padding: 12px; grid-template-columns: 10px 1fr auto 16px; gap: 10px; }
  .order-payment { display: none; }
  .order-identity strong { font-size: 16px; }
  .order-detail { grid-template-columns: 1fr; }
  .order-detail-main { padding: 24px 17px; }
  .customer-card { border-left: 0; border-top: 1px solid var(--line); }
  .status-actions { grid-template-columns: repeat(2,1fr); }
  .status-actions button:nth-child(odd) { border-left: 0; }
  .status-actions button:nth-child(n+3) { border-top: 1px solid var(--line); }
  .inventory-list form { padding: 13px; grid-template-columns: 60px 1fr; gap: 11px; }
  .inventory-list form > img { width: 60px; height: 70px; }
  .inventory-list form > label:not(.toggle-label), .inventory-list form > .toggle-label, .inventory-list form > .admin-button { grid-column: 1/-1; grid-row: auto; }
  .inventory-name { align-self: center; }
  .automation-column { grid-template-columns: 1fr; }
  .admin-gate-card { padding: 40px 23px; }
  .admin-gate-card h1 { font-size: 38px; }
  .partner-callout { padding: 28px 22px; align-items: stretch; flex-direction: column; }
  .partner-callout .button { width: 100%; }
  .movement-actions { align-items: stretch; flex-direction: column; }
  .order-next-action { align-items: stretch; flex-direction: column; }
  .order-next-action .admin-button { width: 100%; }
  .affiliate-shell, .partner-shell { width: min(100% - 28px,1180px); }
  .affiliate-nav { min-height: 68px; }
  .affiliate-nav nav > a:not(.affiliate-login) { display: none; }
  .affiliate-nav nav { gap: 0; }
  .affiliate-nav .affiliate-login { min-height: 38px; padding: 0 11px; }
  .affiliate-hero-grid { min-height: auto; padding: 58px 0 80px; grid-template-columns: 1fr; }
  .affiliate-hero-copy h1 { font-size: clamp(52px,15vw,73px); }
  .affiliate-hero-copy > p:not(.affiliate-kicker) { font-size: 14px; }
  .affiliate-hero-actions { align-items: flex-start; flex-direction: column; }
  .affiliate-proof { gap: 10px; }
  .affiliate-hero-art { width: min(540px,100%); height: 480px; margin-inline: auto; }
  .affiliate-photo { left: 35px; }
  .affiliate-role-section, .affiliate-apply { padding: 78px 0; }
  .affiliate-role-grid { grid-template-columns: 1fr; }
  .affiliate-role-grid article { min-height: 330px; padding: 30px 18px; }
  .affiliate-role-grid article + article { border-left: 0; border-top: 1px solid var(--line); }
  .affiliate-how-grid { grid-template-columns: 1fr; }
  .affiliate-how-grid article { min-height: 165px; }
  .affiliate-how-grid article + article { border-left: 0; border-top: 1px solid rgba(255,255,255,.2); }
  .affiliate-apply-grid { grid-template-columns: 1fr; }
  .affiliate-apply-copy { position: static; }
  .affiliate-form { padding: 24px 18px; }
  .affiliate-type-options, .affiliate-form-grid { grid-template-columns: 1fr; }
  .affiliate-form-grid label.full { grid-column: auto; }
  .affiliate-footer > div { align-items: flex-start; flex-direction: column; }
  .partner-nav > div { gap: 12px; }
  .partner-content { padding-top: 42px; }
  .partner-welcome { grid-template-columns: 1fr; gap: 22px; }
  .partner-welcome h1 { font-size: clamp(48px,14vw,68px); }
  .partner-link-card { padding: 23px 18px; grid-template-columns: 1fr; gap: 21px; }
  .partner-promo-card { padding: 23px 18px; grid-template-columns: 1fr; gap: 18px; }
  .partner-promo-card > div:last-of-type, .partner-promo-card > small { grid-column: auto; }
  .partner-promo-card > div:last-of-type { align-items: stretch; flex-direction: column; }
  .partner-promo-card .affiliate-button { width: 100%; }
  .partner-link-field { align-items: stretch; flex-direction: column; }
  .partner-link-field code { padding: 15px; }
  .partner-link-field button { min-height: 43px; }
  .partner-metrics { grid-template-columns: 1fr 1fr; }
  .partner-metrics article { min-height: 120px; padding: 18px; }
  .partner-metrics strong { font-size: 26px; }
  .partner-panel-head { padding: 20px 17px; }
  .partner-orders article { grid-template-columns: 1fr 1fr auto; }
  .partner-orders article > div:nth-child(2), .partner-orders article > div:nth-child(3) { display: none; }
  .campaign-form, .campaign-edit-grid { padding: 20px 17px; grid-template-columns: 1fr; }
  .campaign-form .wide, .campaign-edit-grid .wide { grid-column: auto; }
  .homepage-manager-callout { margin-top: -5px; padding: 20px; grid-template-columns: 1fr; gap: 9px; }
  .homepage-field-grid, .homepage-editor-split { padding: 20px 17px; grid-template-columns: 1fr; }
  .homepage-field-grid .wide { grid-column: auto; }
  .homepage-editor-note { padding: 15px 17px; }
  .testimonial-editor-list { padding: 7px; grid-template-columns: 1fr; }
  .homepage-product-picker { padding: 7px; grid-template-columns: 1fr; }
  .homepage-save-bar { bottom: 8px; align-items: stretch; flex-direction: column; }
  .homepage-save-bar .admin-button { width: 100%; }
  .campaign-card-head { padding: 18px 15px; align-items: flex-start; flex-direction: column; }
  .campaign-card-head h3 { font-size: 24px; }
  .campaign-performance { width: 100%; }
  .campaign-performance span { min-width: 0; flex: 1; padding: 10px 8px; }
  .campaign-card footer { padding: 13px 16px; }
  .team-invite-form { padding: 20px 17px; grid-template-columns: 1fr; }
  .team-user-list { padding: 7px; }
  .team-user-card, .team-user-card.owner { padding: 15px; grid-template-columns: 46px 1fr; gap: 13px; }
  .team-user-card > label, .team-user-card > .team-login, .team-user-card > .admin-button { grid-column: 1/-1; }
  .team-user-card.owner .team-login { grid-column: 1/-1; padding-top: 12px; border-top: 1px solid var(--line); }
  .collab-hero-grid { min-height: auto; padding: 60px 0 78px; }
  .collab-hero h1 { font-size: clamp(52px,15vw,73px); }
  .collab-proof { gap: 10px; }
  .collab-hero-art { min-height: 450px; }
  .collab-halo { width: 360px; height: 360px; }
  .collab-hero-art > img { width: 112%; left: -7%; }
  .collab-hero-art blockquote { right: 5px; font-size: 20px; }
  .collab-economics { padding: 65px 0; }
  .collab-economics-grid { grid-template-columns: 1fr; }
  .collab-economics-grid article { min-height: 175px; }
  .collab-economics-grid article + article { border-left: 0; border-top: 1px solid rgba(40,32,26,.24); }
  .collab-process, .collab-submit { padding: 78px 0; }
  .collab-submit-grid { grid-template-columns: 1fr; }
  .collab-submit-copy { position: static; }
  .collab-application-form { padding: 24px 18px; }
  .collab-form-grid { grid-template-columns: 1fr; }
  .collab-form-grid label.full { grid-column: auto; }
  .collab-margin-grid { padding: 20px 17px; grid-template-columns: 1fr 1fr; }
  .collab-margin-result { grid-template-columns: 1fr 1fr; }
  .collab-margin-result > * + * { border-left: 0; }
  .collab-margin-result > *:nth-child(even) { border-left: 1px solid var(--line); }
  .collab-admin-card { grid-template-columns: 1fr; }
  .collab-admin-art { min-height: 270px; }
  .collab-admin-art > img, .collab-admin-art > a { min-height: 270px; max-height: 410px; }
  .collab-admin-performance { grid-column: auto; flex-direction: column; }
  .collab-admin-controls { grid-column: auto; grid-template-columns: 1fr; }
  .collab-admin-controls label.wide { grid-column: auto; }
  .finance-metrics { grid-template-columns: 1fr 1fr; }
  .finance-metrics article:nth-child(odd) { border-left: 0; }
  .finance-metrics article { border-top: 1px solid var(--line); }
  .finance-order-list { padding: 7px; }
  .finance-order-list article { grid-template-columns: 1fr; gap: 15px; }
  .finance-order-math { grid-template-columns: 1fr 1fr; }
  .finance-order-action { grid-column: auto; align-items: stretch; flex-direction: column; }
  .artist-design-list article { grid-template-columns: 80px 1fr; }
  .artist-design-list img, .artist-pdf { width: 80px; height: 95px; }
  .artist-design-list article > div:last-child { grid-column: 1/-1; padding: 13px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .artist-royalty-ledger article { grid-template-columns: 1fr 1fr auto; }
  .artist-royalty-ledger article > div:nth-child(2), .artist-royalty-ledger article > div:nth-child(3) { display: none; }
  .affiliate-admin-list { padding: 7px; }
  .affiliate-admin-list > form { padding: 15px; grid-template-columns: 1fr; gap: 20px; }
  .affiliate-admin-performance, .affiliate-admin-wallet, .affiliate-admin-controls { padding: 17px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .waybill-page { padding: 12px; }
  .waybill-toolbar { align-items: flex-start; flex-wrap: wrap; }
  .admin-module-grid { grid-template-columns: 1fr; }
  .inquiry-admin-list { padding: 7px; }
  .inquiry-admin-head { align-items: flex-start; flex-direction: column; }
  .inquiry-admin-body > div, .inquiry-admin-body form { padding: 19px 16px; }
  .inquiry-contact-actions { align-items: stretch; flex-direction: column; }
  .inquiry-contact-actions a { justify-content: center; }
  .admin-dashboard-split { grid-template-columns: 1fr; }
  .release-list > article { grid-template-columns: 1fr; }
  .release-payment, .release-actions { grid-column: auto; }
  .audit-tabs { overflow-x: auto; }
  .audit-tabs button { flex: 0 0 auto; }
  .audit-activity-list article { grid-template-columns: 1fr; }
  .audit-activity-list article > div:last-child { grid-column: auto; }
  .audit-reconciliation-list article { grid-template-columns: 1fr; }
  .audit-reconciliation-list article > b { grid-column: 1/-1; }
  .audit-order-math { grid-template-columns: 1fr 1fr; }
  .audit-access-list article { grid-template-columns: 1fr 1fr; }
  .audit-access-list article > small { grid-column: 1/-1; }
  .qr-scan-card { padding: 42px 20px; }
  .qr-scan-order { grid-template-columns: 1fr; }
  .qr-scan-order > div:nth-child(even) { border-left: 0; }
  .qr-scan-order > div:nth-child(n+2) { border-top: 1px solid var(--line); }
  .qr-scan-actions { align-items: stretch; flex-direction: column; }
  .qr-scan-actions .admin-button { width: 100%; }
  .notification-tabs { overflow-x: auto; }
  .notification-tabs button { flex: 0 0 auto; }
  .notification-head-actions { align-items: stretch; flex-direction: column; }
  .team-notification-list > article { grid-template-columns: 12px 1fr; }
  .team-notification-list article > div:last-child { grid-column: 2; align-items: flex-start; flex-direction: column; }
  .notification-report-grid { grid-template-columns: 1fr; }
  .overdue-order-list article { grid-template-columns: 1fr auto; }
  .overdue-order-list article > a { grid-column: 1/-1; justify-self: start; }
  .customer-update-list article { grid-template-columns: 1fr 70px; }
  .mission-page-nav > div { max-width: 58vw; overflow-x: auto; }
  .mission-page-nav > div > a { flex: 0 0 auto; }
  .mission-page-hero { padding: 72px 0; }
  .mission-page-cta > div > div { align-items: center; flex-direction: column; }
  .marketing-audience-panel { grid-template-columns: 1fr 1fr; }
  .marketing-audience-panel > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .marketing-broadcast-list article { grid-template-columns: 1fr 1fr 1fr; }
  .marketing-broadcast-list article > div, .marketing-broadcast-list article > em { grid-column: 1/-1; }
}

@media print {
  @page waybill { size: 4in 6in; margin: 0; }
  @page orderreport { size: A4; margin: 12mm; }
  body:has(.waybill-page) { background: white; }
  .waybill-page { min-height: 0; padding: 0; background: white; }
  .waybill-toolbar { display: none; }
  .waybill-sheet { width: 4in; min-height: 6in; margin: 0; box-shadow: none; break-inside: avoid; page: waybill; }
  body:has(.order-report-page) { background: white; }
  .order-report-page { min-height: 0; padding: 0; overflow: visible; background: white; color: #111; }
  .order-report-page .confirmation-glow, .order-report-page .confirmation-brand, .order-report-page .confirmation-footer, .order-report-actions { display: none; }
  .order-report-card { width: 100%; padding: 0; box-shadow: none; page: orderreport; }
  .order-report-card .confirmation-icon, .order-report-card > .kicker, .order-report-card > h1, .order-report-card > .confirmation-lead { display: none; }
  .order-report-meta, .order-next-step, .customer-order-progress, .order-report-grid, .order-report-notice { break-inside: avoid; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* ===========================================================================
   Screens the previous build did not have.

   The Next.js version kept the bag in a JavaScript drawer and rendered the
   whole admin client-side, so its stylesheet has no rules for a server-rendered
   cart, checkout, order page, or data table. These fill that gap in the same
   visual language as the rest of the file: flat 1px rules, cream panels,
   uppercase micro-labels, serif numerals. No new colours are introduced.
   =========================================================================== */

/* Cart --------------------------------------------------------------------- */
.cart-lines { margin: 32px 0; }
/* Scoped to .cart-lines so the drawer's own .cart-line grid is left alone. */
.cart-lines .cart-line { grid-template-columns: 90px minmax(0,1fr) auto auto auto; align-items: center; gap: 16px; }
.cart-lines .cart-line > img { width: 90px; height: 108px; }
.cart-lines .cart-line strong { display: block; font: 600 19px/1.15 var(--serif); }
.cart-lines .cart-line small { color: var(--muted); font-size: 11px; }
.cart-lines .cart-line form { display: flex; align-items: center; gap: 8px; }
.cart-lines .cart-line input[type="number"] { width: 62px; height: 40px; padding: 0 8px; border: 1px solid var(--ink); background: var(--white); font: inherit; font-size: 13px; }
.cart-line-total { white-space: nowrap; font-size: 14px; font-weight: 700; }
/* .text-link was written for <a>. On a <button> the browser still supplies a
   grey face, an outset border, its own font family and its own colour -- and
   the anchor rules reset none of those, so the cart's Remove control rendered
   as a default browser button. This makes the two render identically.
   `border-bottom` is restated because `border: 0` above it wipes the underline
   .text-link sets. */
button.text-link { padding: 0 0 5px; border: 0; border-bottom: 1px solid currentColor; background: none; color: inherit; font-family: inherit; cursor: pointer; }
button.text-link:hover { color: var(--rust); }
.cart-summary { max-width: 400px; margin-left: auto; padding: 24px; border: 1px solid var(--line); background: var(--cream); display: grid; gap: 14px; }
.cart-summary > div { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; }
.cart-summary > div span { font-size: 9px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.cart-summary > div strong { font: 600 30px/1 var(--serif); }
.cart-summary p { margin: 0; }

/* Checkout ----------------------------------------------------------------- */
.checkout-grid { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,.8fr); gap: 34px; align-items: start; }
.checkout-form fieldset { margin: 0 0 22px; padding: 22px 24px; border: 1px solid var(--line); background: var(--white); }
.checkout-form legend { padding: 0 8px; color: var(--rust); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.checkout-form label { margin-bottom: 14px; display: grid; gap: 5px; }
.checkout-form label:last-child { margin-bottom: 0; }
.checkout-form label > span { font-size: 8px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.checkout-form label i { font-style: normal; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--muted); }
.checkout-form input, .checkout-form select, .checkout-form textarea { width: 100%; min-height: 46px; padding: 11px; border: 1px solid var(--ink); background: var(--white); font: inherit; font-size: 13px; }
.checkout-form textarea { min-height: 0; line-height: 1.5; }
/* More specific than `.checkout-form label`, so the radio sits beside its text
   instead of stacking above it. */
.checkout-form .payment-option { padding: 14px 16px; border: 1px solid var(--line); grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 12px; cursor: pointer; }
.checkout-form .payment-option input { width: auto; min-height: 0; }
.checkout-form .payment-option strong { display: block; font-size: 13px; }
.checkout-form .payment-option small { color: var(--muted); font-size: 11px; }
.checkout-summary { position: sticky; top: 102px; padding: 24px; border: 1px solid var(--line); background: var(--cream); }
.checkout-summary h2 { margin: 0 0 16px; font: 600 24px/1 var(--serif); }
.checkout-summary-line { padding: 9px 0; border-bottom: 1px solid var(--line); display: flex; align-items: baseline; justify-content: space-between; gap: 16px; font-size: 12px; }
.checkout-summary-line:last-of-type { border-bottom: 0; }

/* Order status ------------------------------------------------------------- */
/* .confirmation-card centres its text for the success screen; an itemised
   order needs these blocks left-aligned inside it. */
.confirmation-card .order-items,
.confirmation-card .order-totals,
.confirmation-card .order-timeline,
.confirmation-card address { text-align: left; }
.order-status-head { margin-bottom: 20px; display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap; }
.order-status-badge { padding: 7px 12px; border: 1px solid var(--line); background: var(--white); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.order-status-paid, .order-status-cod_collected { border-color: var(--olive); background: var(--olive); color: var(--white); }
.order-status-cancelled, .order-status-payment_failed { border-color: #b63428; background: #fff0ed; color: #79251d; }
.order-status-cod_pending, .order-status-payment_pending { background: var(--sand); }
.order-items { margin: 0 0 20px; }
.order-item { padding: 11px 0; border-bottom: 1px solid var(--line); display: flex; align-items: baseline; justify-content: space-between; gap: 18px; font-size: 12px; }
.order-item:last-child { border-bottom: 0; }
.order-totals { margin: 0 0 26px; }
.order-totals > div { padding: 9px 0; display: flex; align-items: baseline; justify-content: space-between; gap: 18px; font-size: 12px; }
.order-total-grand { border-top: 1px solid var(--ink); }
.order-total-grand strong { font: 600 26px/1 var(--serif); }
.order-timeline { margin: 0 0 22px; padding-left: 18px; }
.order-timeline li { margin-bottom: 13px; }
.order-timeline strong { display: block; font-size: 12px; }
.order-timeline span { display: block; color: var(--muted); font-size: 11px; }
.order-timeline small { color: var(--muted); font-size: 9px; }

/* Data tables and admin bits ----------------------------------------------- */
.admin-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.admin-table th { padding: 11px 12px; border-bottom: 1px solid var(--ink); text-align: left; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.admin-table td { padding: 13px 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
.admin-table tbody tr:last-child td { border-bottom: 0; }
.admin-table small { color: var(--muted); }
.admin-table form { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.admin-table input, .admin-table select { min-height: 36px; padding: 0 9px; border: 1px solid var(--ink); background: var(--white); font: inherit; font-size: 11px; }
.admin-status { display: inline-block; padding: 5px 9px; border: 1px solid var(--line); background: var(--white); font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
.admin-status-completed, .admin-status-active, .admin-status-approved, .admin-status-shipped { border-color: var(--olive); background: var(--olive); color: var(--white); }
.admin-status-cancelled, .admin-status-rejected, .admin-status-suspended { border-color: #b63428; background: #fff0ed; color: #79251d; }
.admin-status-pending, .admin-status-unfulfilled, .admin-status-processing, .admin-status-packed { background: var(--sand); }
.admin-timeline { margin: 0; padding-left: 18px; }
.admin-timeline li { margin-bottom: 14px; }
.admin-timeline strong { display: block; font-size: 12px; }
.admin-timeline span { display: block; color: var(--muted); font-size: 11px; }
.admin-timeline small { color: var(--muted); font-size: 9px; }
.admin-repeat-row { margin-bottom: 14px; padding: 14px 16px; border: 1px solid var(--line); background: var(--white); display: grid; gap: 10px; }
/* A module in the roadmap that is not built. Dashed, so it reads as a
   placeholder rather than a link that failed. */
.admin-module-pending { padding: 26px 28px; border: 1px dashed var(--line); color: var(--muted); }
.admin-module-pending h2 { margin: 9px 0; font: 600 22px/1.1 var(--serif); }
.admin-module-pending b { font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.admin-bar { border-radius: 2px; }

/* The panel body is otherwise flush against its own border. */
.admin-panel > :not(.admin-panel-head):not(.admin-orders-panel) { margin-inline: 30px; }
.admin-panel > .admin-orders-panel { margin: 0 30px; overflow-x: auto; }
.admin-panel > :last-child { margin-bottom: 26px; }
.admin-panel form:not(.admin-toolbar) { display: grid; gap: 12px; max-width: 620px; }
.admin-panel form label { display: grid; gap: 5px; }
.admin-panel form label > span { font-size: 8px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.admin-panel form input, .admin-panel form select, .admin-panel form textarea { width: 100%; min-height: 42px; padding: 10px; border: 1px solid var(--ink); background: var(--white); font: inherit; font-size: 12px; }
.admin-panel form textarea { min-height: 0; line-height: 1.5; }
.admin-panel form button { justify-self: start; }

@media (max-width: 860px) {
  .checkout-grid { grid-template-columns: 1fr; }
  .checkout-summary { position: static; }
  .cart-lines .cart-line { grid-template-columns: 72px minmax(0,1fr); }
  .cart-summary { max-width: none; }
}
