:root {
    /* SJE crest palette: cardinal red, slate gray, anniversary gold, and white. */
    --red: #bd192f;
    --red-dark: #981326;
    --slate: #4b5563;
    --slate-dark: #343d49;
    --gold: #f8c703;
    --gold-dark: #9b7900;
    --gold-pale: #fff5c2;
    --navy: var(--slate);
    --navy-deep: var(--slate-dark);
    --blue: var(--red);
    --aqua: var(--gold);
    --aqua-pale: var(--gold-pale);
    --coral: var(--red);
    --cream: #f7f5f1;
    --ink: #2d3540;
    --muted: #68717d;
    --white: #fff;
    --line: #dfe2e5;
    --shadow: 0 18px 45px rgba(52, 61, 73, .12);
    --radius: 18px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: #fff; font-family: "DM Sans", sans-serif; line-height: 1.5; }
button, input, select, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; }
button, .button { cursor: pointer; }
[hidden] { display: none !important; }

.announcement { background: var(--navy-deep); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .08em; padding: 8px 20px; text-align: center; text-transform: uppercase; }
.announcement span { color: var(--gold); margin-left: 7px; }
.site-header { align-items: center; background: #fff; border-bottom: 1px solid #edf1f3; display: flex; min-height: 90px; justify-content: space-between; padding: 8px max(5vw, 28px); position: relative; z-index: 10; }
.brand { align-items: center; display: inline-flex; gap: 10px; }
.brand-mark { align-items: center; background: transparent; border: 0; border-radius: 0; box-shadow: none; display: flex; height: 66px; justify-content: center; overflow: visible; padding: 0; width: 66px; }
.brand-mark img { height: 100%; object-fit: contain; width: 100%; }
.brand-copy { display: flex; flex-direction: column; line-height: 1.02; }
.brand-copy strong { color: var(--navy); display: block; font-family: Montserrat, sans-serif; font-size: 21px; letter-spacing: -.045em; white-space: nowrap; }
.brand-copy small { color: var(--blue); display: block; font-size: 14.75px; font-weight: 800; letter-spacing: -.045em; text-transform: uppercase; white-space: nowrap; }
.site-header .brand .sub-title { color: var(--blue); display: block; font-size: 15.5px; font-weight: 800; letter-spacing: -.045em; line-height: 1.05; text-transform: uppercase; white-space: nowrap; }
.main-nav { display: flex; gap: 35px; }
.main-nav a { color: var(--slate); font-size: 14px; font-weight: 700; }
.main-nav a:hover { color: var(--blue); }
.cart-link { align-items: center; background: var(--navy); border-radius: 8px; color: #fff; display: flex; font-size: 13px; font-weight: 700; gap: 8px; padding: 10px 14px; }
.cart-link svg { fill: none; height: 19px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 19px; }
.cart-link b { align-items: center; background: var(--coral); border-radius: 50%; display: flex; font-size: 10px; height: 19px; justify-content: center; margin-left: 2px; width: 19px; }
.flash { border-radius: 8px; font-size: 14px; font-weight: 600; margin: 16px auto; max-width: 1180px; padding: 12px 18px; }
.flash-success { background: #ddf6eb; color: #176a4a; }
.flash-error { background: #ffe6e1; color: #963c31; }
.flash-notice { background: #e9f4f9; color: #235b79; }
.cart-popover { opacity: 0; pointer-events: none; position: fixed; right: 24px; top: 120px; transform: translateY(-8px); transition: opacity .18s ease, transform .18s ease; z-index: 30; }
.cart-popover.show { opacity: 1; transform: translateY(0); }
.cart-popover-card { align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); display: flex; gap: 13px; max-width: 340px; padding: 15px 17px; }
.cart-popover-icon { align-items: center; background: var(--red); border-radius: 50%; color: #fff; display: flex; flex: 0 0 auto; font-size: 14px; font-weight: 800; height: 28px; justify-content: center; width: 28px; }
.cart-popover strong { color: var(--navy); display: block; font-size: 14px; }
.cart-popover p { color: var(--muted); font-size: 12px; margin: 2px 0 0; }
.cart-popover-error .cart-popover-icon { background: #963c31; }
.lightbox-open > *:not(.image-lightbox) { filter: blur(3px); }
.lightbox-open { overflow: hidden; }
.image-lightbox { align-items: center; display: flex; inset: 0; justify-content: center; padding: 28px; position: fixed; z-index: 100; }
.image-lightbox[hidden] { display: none; }
.image-lightbox-backdrop { background: rgba(16,22,30,.78); cursor: zoom-out; inset: 0; position: absolute; }
.image-lightbox-card { align-items: center; display: flex; justify-content: center; max-height: min(86vh, 900px); max-width: min(92vw, 1100px); position: relative; z-index: 1; }
.image-lightbox-card img { background: #fff; border-radius: 14px; box-shadow: 0 28px 80px rgba(0,0,0,.38); max-height: 86vh; max-width: 92vw; object-fit: contain; padding: 10px; }
.image-lightbox-close { align-items: center; background: #fff; border: 0; border-radius: 50%; box-shadow: 0 12px 28px rgba(0,0,0,.25); color: var(--navy-deep); display: flex; font-size: 27px; font-weight: 500; height: 38px; justify-content: center; line-height: 1; position: absolute; right: -14px; top: -14px; width: 38px; z-index: 2; }
.image-lightbox-close:hover { background: var(--red); color: #fff; }

.hero { align-items: center; background: var(--navy-deep); display: flex; min-height: 560px; overflow: hidden; padding: 72px max(7vw, 35px); position: relative; }
.hero-photo { background: url("content/hero.jpg") center / cover no-repeat; filter: blur(2px); inset: -8px; position: absolute; transform: scale(1.02); z-index: 0; }
.hero-overlay { background: linear-gradient(90deg, rgba(52,61,73,.86) 0%, rgba(52,61,73,.64) 42%, rgba(189,25,47,.18) 72%, rgba(52,61,73,.36) 100%); inset: 0; position: absolute; z-index: 1; }
.hero-content { max-width: 650px; position: relative; z-index: 2; }
.eyebrow { align-items: center; color: var(--blue); display: flex; font-size: 11px; font-weight: 800; letter-spacing: .15em; margin-bottom: 13px; text-transform: uppercase; }
.eyebrow i { background: var(--gold); display: inline-block; height: 3px; margin-right: 9px; width: 20px; }
.hero h1, .section-heading h2, .how-intro h2, .payment-note h2, .page-title, .admin-title { font-family: Montserrat, sans-serif; letter-spacing: -.055em; line-height: .98; margin: 0; }
.hero .eyebrow { color: #fff; text-shadow: 0 2px 10px rgba(0,0,0,.25); }
.hero h1 { color: #fff; font-size: clamp(56px, 7vw, 96px); text-shadow: 0 5px 22px rgba(0,0,0,.28); text-transform: uppercase; }
.hero h1 em { color: var(--gold); font-style: normal; }
.hero-content > p { color: rgba(255,255,255,.92); font-size: clamp(17px, 2vw, 22px); font-weight: 600; margin: 24px 0 32px; max-width: 580px; text-shadow: 0 3px 14px rgba(0,0,0,.28); }
.button { align-items: center; border: 0; border-radius: 7px; display: inline-flex; font-size: 13px; font-weight: 800; gap: 16px; justify-content: center; padding: 13px 18px; }
.button-primary { background: var(--red); color: #fff; box-shadow: 0 8px 20px rgba(189, 25, 47, .24); }
.button-primary:hover { background: var(--red-dark); transform: translateY(-1px); }
.button-dark { background: var(--navy); color: #fff; }
.button-dark:hover { background: var(--blue); }
.button-outline { background: #fff; border: 1px solid var(--line); color: var(--ink); }
.button-danger { background: #fff0ed; color: #a33a2d; }
.button-wide { width: 100%; }
.trust-strip { background: #fff; box-shadow: var(--shadow); display: grid; grid-template-columns: repeat(3, 1fr); margin: -24px auto 0; max-width: 1120px; position: relative; z-index: 4; }
.trust-strip > div { align-items: center; display: flex; gap: 15px; justify-content: center; padding: 21px; }
.trust-strip > div + div { border-left: 1px solid var(--line); }
.trust-strip > div > span { align-items: center; background: var(--red); border-radius: 50%; color: #fff; display: flex; font-size: 21px; font-weight: 800; height: 38px; justify-content: center; width: 38px; }
.trust-strip p { display: flex; flex-direction: column; margin: 0; }
.trust-strip strong { font-size: 13px; }
.trust-strip small { color: var(--muted); font-size: 11px; }

.shop-section { margin: 0 auto; max-width: 1540px; padding: 75px 8px 105px 22px; }
.section-heading { align-items: end; display: flex; justify-content: space-between; margin-bottom: 32px; }
.section-heading h2, .how-intro h2, .payment-note h2 { color: var(--navy); font-size: clamp(34px, 4vw, 49px); }
.shop-layout { align-items: start; display: grid; gap: 22px; grid-template-columns: minmax(0, 1fr) 286px; }
.product-grid { display: grid; gap: 25px; grid-template-columns: repeat(3, 1fr); }
.product-card { background: white; border: 1px solid #e2eaed; border-radius: var(--radius); box-shadow: 0 4px 14px rgba(5,39,62,.04); display: flex; flex-direction: column; position: relative; transition: box-shadow .2s; }
.product-card:hover { box-shadow: var(--shadow); }
.product-visual { align-items: center; border-radius: var(--radius) var(--radius) 0 0; display: flex; height: 218px; justify-content: center; overflow: hidden; position: relative; }
.product-visual.color-1 { background: var(--gold-pale); }
.product-visual.color-2 { background: #e7e9ec; }
.product-visual.color-3 { background: #f7e3e6; }
.image-zoom-trigger { background: none; border: 0; cursor: zoom-in; height: 100%; inset: 0; padding: 0; position: absolute; width: 100%; z-index: 1; }
.image-zoom-trigger::after { align-items: center; background: rgba(52,61,73,.72); border-radius: 999px; bottom: 12px; color: #fff; content: "View larger"; display: flex; font-size: 10px; font-weight: 800; letter-spacing: .08em; opacity: 0; padding: 7px 10px; pointer-events: none; position: absolute; right: 12px; text-transform: uppercase; transform: translateY(4px); transition: opacity .18s ease, transform .18s ease; }
.image-zoom-trigger:hover::after,
.image-zoom-trigger:focus-visible::after { opacity: 1; transform: translateY(0); }
.product-visual img { height: 100%; object-fit: cover; position: relative; width: 100%; z-index: 1; }
.product-visual svg { fill: var(--navy); height: 155px; position: relative; stroke: #fff; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.2; width: 155px; z-index: 2; }
.product-visual.color-2 svg { fill: var(--red); }
.product-visual.color-3 svg { fill: var(--gold-dark); }
.watermark { color: rgba(255,255,255,.35); font-family: Montserrat, sans-serif; font-size: 76px; font-weight: 800; position: absolute; right: -8px; top: 58px; transform: rotate(-90deg); }
.product-info { display: flex; flex: 1 1 auto; flex-direction: column; padding: 20px; }
.product-title-row { align-items: start; display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr) auto; margin: 3px 0 8px; }
.product-info h3 { color: var(--navy); font-family: Montserrat, sans-serif; font-size: 18px; letter-spacing: -.03em; line-height: 1.18; margin: 0; }
.product-info > p { color: var(--muted); font-size: 12px; margin: 0 0 15px; min-height: 38px; }
.product-price { color: var(--navy); font-family: Montserrat, sans-serif; font-size: 18px; font-weight: 700; letter-spacing: -.03em; line-height: 1.18; text-align: right; white-space: nowrap; }
.product-price-wrap { text-align: right; }
.product-price-wrap > span { color: var(--red); display: block; font-size: 8px; font-weight: 800; letter-spacing: .04em; line-height: 1.15; margin-bottom: 3px; text-transform: uppercase; white-space: nowrap; }
.product-price-row { align-items: baseline; display: flex; gap: 6px; justify-content: flex-end; white-space: nowrap; }
.product-price-row del { color: var(--muted); font-size: 10px; font-weight: 600; }
.add-form { display: grid; gap: 11px; margin-top: auto; }
.add-form .product-option > span, .field label, .field > span { color: var(--muted); display: block; font-size: 10px; font-weight: 800; letter-spacing: .06em; margin-bottom: 4px; text-transform: uppercase; }
select, input, textarea { background: #fff; border: 1px solid #cfdce2; border-radius: 6px; color: var(--ink); outline: none; padding: 10px 11px; width: 100%; }
select:focus, input:focus, textarea:focus { border-color: var(--gold-dark); box-shadow: 0 0 0 3px rgba(248,199,3,.2); }
.product-sizes { border: 0; margin: 0; min-width: 0; padding: 0; }
.product-sizes legend { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .06em; margin-bottom: 6px; padding: 0; text-transform: uppercase; }
.size-choice-row { display: flex; gap: 6px; width: 100%; }
.size-choice { cursor: pointer; flex: 1 1 0; min-width: 0; position: relative; }
.size-choice input { opacity: 0; pointer-events: none; position: absolute; }
.size-choice span { align-items: center; background: #f8fafb; border: 1px solid #c6d3da; border-radius: 8px; color: var(--navy-deep); display: flex; font-size: 11px; font-weight: 800; height: 44px; justify-content: center; padding: 0 5px; transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease; white-space: nowrap; }
.size-choice:hover span { background: #fff; border-color: var(--red); }
.size-choice input:focus-visible + span { border-color: var(--gold-dark); box-shadow: 0 0 0 3px rgba(248,199,3,.25); }
.size-choice input:checked + span { background: var(--navy); border-color: var(--navy); color: #fff; }
.add-form .button { padding: 11px; }

.store-cart { background: #fff; border: 1px solid #dce5e9; border-radius: 16px; box-shadow: 0 14px 38px rgba(8,45,71,.1); display: flex; flex-direction: column; max-height: calc(100vh - 36px); min-height: 390px; overflow: hidden; position: sticky; top: 18px; }
.store-cart:focus { outline: none; }
.store-cart-header { align-items: center; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; padding: 18px 19px 15px; }
.store-cart-header > div { display: flex; flex-direction: column; }
.store-cart-header span { color: var(--navy); font-family: Montserrat, sans-serif; font-size: 20px; font-weight: 800; letter-spacing: -.03em; }
.store-cart-header strong { color: var(--muted); font-size: 11px; font-weight: 600; margin-top: 2px; }
.board-pricing-note { background: #fff8d9; border-bottom: 1px solid #ead77c; color: var(--slate-dark); padding: 10px 18px; }
.board-pricing-note strong, .board-pricing-note span { display: block; }
.board-pricing-note strong { font-size: 11px; }
.board-pricing-note span { font-size: 9px; line-height: 1.4; margin-top: 2px; }
.board-pricing-note a { color: var(--red); display: inline-block; font-size: 9px; font-weight: 800; margin-top: 4px; text-decoration: underline; }
.store-cart-close { align-items: center; appearance: none; background: #f3f6f7; border: 0; border-radius: 50%; color: var(--navy); display: none; height: 36px; justify-content: center; padding: 0; width: 36px; }
.store-cart-close svg { fill: none; height: 15px; stroke: currentColor; stroke-linecap: round; stroke-width: 1.8; width: 15px; }
.store-cart-empty { align-items: center; color: var(--muted); display: flex; flex: 1; flex-direction: column; justify-content: center; padding: 44px 24px; text-align: center; }
.store-cart-empty > span { align-items: center; background: var(--gold-pale); border-radius: 50%; color: var(--navy); display: flex; font-size: 23px; height: 54px; justify-content: center; margin-bottom: 14px; width: 54px; }
.store-cart-empty strong { color: var(--navy); font-family: Montserrat, sans-serif; font-size: 15px; }
.store-cart-empty p { font-size: 12px; line-height: 1.5; margin: 7px 0 0; max-width: 220px; }
.store-cart-items { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 4px 18px; overscroll-behavior: contain; }
.store-cart-item { align-items: start; border-bottom: 1px solid var(--line); display: grid; gap: 10px; grid-template-columns: 54px minmax(0, 1fr) 24px; padding: 14px 0; position: relative; }
.store-cart-item:last-child { border-bottom: 0; }
.store-cart-item[aria-busy="true"] { opacity: .62; }
.store-cart-thumb { background: var(--aqua-pale); border-radius: 9px; height: 54px; overflow: hidden; }
.store-cart-thumb img { height: 100%; object-fit: cover; width: 100%; }
.store-cart-item-copy { min-width: 0; }
.store-cart-item-copy > strong { color: var(--ink); display: block; font-size: 12px; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.store-cart-item-copy > span { color: var(--muted); display: block; font-size: 10px; margin-top: 3px; }
.store-cart-item-bottom { align-items: center; display: flex; gap: 8px; justify-content: space-between; margin-top: 9px; }
.store-cart-line-total { color: var(--navy); font-size: 12px; white-space: nowrap; }
.store-cart-remove { appearance: none; background: none; border: 0; color: #84919b; font-size: 20px; height: 25px; line-height: 1; padding: 0; width: 24px; }
.store-cart-remove:hover { color: var(--red); }
.quantity-control.quantity-control-compact { border-radius: 8px; height: 32px; width: 100px; }
.quantity-control.quantity-control-compact .quantity-button { flex-basis: 32px; width: 32px; }
.quantity-control.quantity-control-compact .quantity-button svg { height: 12px; width: 12px; }
.quantity-control.quantity-control-compact .quantity-input[type="number"] { flex-basis: 36px; font-size: 11px; width: 36px; }
.store-cart-footer { background: #fff; border-top: 1px solid var(--line); flex: 0 0 auto; padding: 17px 19px 19px; }
.store-cart-total { align-items: baseline; color: var(--navy); display: flex; justify-content: space-between; }
.store-cart-total span { font-size: 13px; font-weight: 700; }
.store-cart-total strong { font-family: Montserrat, sans-serif; font-size: 19px; }
.store-cart-footer p { color: var(--muted); font-size: 10px; margin: 4px 0 13px; }
.store-cart-footer .button { padding: 12px; }
.store-cart-backdrop { display: none; }

.how-section { background: var(--navy); color: white; display: grid; gap: 8%; grid-template-columns: .85fr 1.5fr; padding: 88px max(7vw, 35px); }
.eyebrow.light { color: var(--gold); }
.how-intro h2 { color: white; }
.how-intro > p { color: #d2d6db; font-size: 14px; max-width: 330px; }
.steps { counter-reset: steps; list-style: none; margin: 0; padding: 0; }
.steps li { align-items: flex-start; border-top: 1px solid rgba(255,255,255,.16); display: grid; gap: 20px; grid-template-columns: 55px 1fr; padding: 24px 0; }
.steps li:first-child { border-top: 0; }
.steps li > span { color: var(--gold); font-family: Montserrat, sans-serif; font-size: 24px; font-weight: 800; }
.steps h3 { font-family: Montserrat, sans-serif; font-size: 17px; margin: 2px 0 5px; }
.steps p { color: #d2d6db; font-size: 13px; margin: 0; }
.payment-note { align-items: center; background: var(--cream); display: flex; gap: 30px; justify-content: center; padding: 65px 30px; }
.payment-note > div:last-child { max-width: 710px; }
.payment-note h2 { font-size: 34px; }
.payment-note p { color: var(--muted); font-size: 14px; margin-bottom: 0; }
.note-icon { align-items: center; background: var(--gold); border: 9px solid var(--gold-pale); border-radius: 50%; color: var(--slate-dark); display: flex; flex: 0 0 auto; font-size: 29px; height: 75px; justify-content: center; width: 75px; }

.site-footer { background: var(--navy-deep); color: #d2d6db; padding: 55px max(7vw, 30px) 18px; }
.footer-main { display: grid; gap: 50px; grid-template-columns: 1.5fr 1fr 1fr; padding-bottom: 45px; }
.footer-brand .brand-copy strong { color: #fff; }
.site-footer .brand .sub-title { color: var(--gold); display: block; font-size: 15.5px; font-weight: 800; letter-spacing: -.045em; line-height: 1.05; text-transform: uppercase; white-space: nowrap; }
.footer-main p, .footer-main a { font-size: 12px; }
.footer-main h3 { color: white; font-size: 12px; letter-spacing: .08em; margin: 0 0 12px; text-transform: uppercase; }
.footer-main > div > a:not(.brand) { display: block; margin: 6px 0; }
.footer-main a:hover { color: white; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.12); display: flex; font-size: 10px; justify-content: space-between; padding-top: 17px; text-transform: uppercase; }

/* Cart and checkout */
.page-hero { background: var(--cream); padding: 55px max(7vw, 30px); }
.page-title { color: var(--navy); font-size: clamp(38px, 5vw, 58px); text-transform: uppercase; }
.page-subtitle { color: var(--muted); margin: 12px 0 0; }
.content-shell { margin: 0 auto; max-width: 1120px; padding: 50px 30px 90px; }
.two-column { align-items: start; display: grid; gap: 35px; grid-template-columns: 1.6fr .8fr; }
.panel { background: white; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 8px 25px rgba(8,45,71,.05); padding: 25px; }
.panel h2 { color: var(--navy); font-family: Montserrat, sans-serif; font-size: 21px; margin: 0 0 20px; }
.cart-items { margin-bottom: 22px; }
.cart-item { align-items: center; border-bottom: 1px solid var(--line); display: grid; gap: 16px; grid-template-columns: 64px minmax(160px, 1fr) auto; padding: 13px 0; }
.cart-item:last-child { border-bottom: 0; }
.cart-thumb { align-items: center; background: var(--aqua-pale); border-radius: 10px; display: flex; height: 60px; justify-content: center; }
.cart-thumb img { border-radius: 10px; height: 100%; object-fit: cover; width: 100%; }
.cart-thumb svg { fill: var(--navy); height: 60px; stroke: white; width: 60px; }
.cart-item h3 { font-size: 14px; margin: 0 0 3px; }
.cart-item p { color: var(--muted); font-size: 12px; margin: 0; }
.cart-item strong { font-size: 14px; text-align: right; }
.cart-item-actions { align-items: center; display: grid; gap: 6px 12px; grid-template-columns: auto auto; justify-items: end; }
.quantity-control { align-items: stretch; background: white; border: 1px solid #c6d3da; border-radius: 9px; display: inline-flex; flex-flow: row nowrap; height: 38px; overflow: hidden; width: 120px; }
.quantity-control .quantity-button { align-items: center; appearance: none; background: #f4f7f8; border: 0; border-radius: 0; color: var(--navy); display: inline-flex; flex: 0 0 38px; height: 100%; justify-content: center; margin: 0; padding: 0; width: 38px; }
.quantity-control .quantity-button:hover { background: var(--gold-pale); }
.quantity-control .quantity-button:active { background: #f5df9b; }
.quantity-control .quantity-button svg { fill: none; height: 14px; stroke: currentColor; stroke-linecap: round; stroke-width: 2; width: 14px; }
.quantity-control .quantity-input[type="number"] { -moz-appearance: textfield; appearance: textfield; background: white; border: 0; border-left: 1px solid #d7e0e4; border-radius: 0; border-right: 1px solid #d7e0e4; box-shadow: none; flex: 0 0 44px; font-size: 13px; font-weight: 800; height: 100%; margin: 0; min-width: 0; padding: 0 3px; text-align: center; width: 44px; }
.quantity-control .quantity-input[type="number"]::-webkit-inner-spin-button, .quantity-control .quantity-input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; appearance: none; margin: 0; }
.quantity-control .quantity-input:focus { box-shadow: inset 0 0 0 2px var(--gold); outline: 0; }
.quantity-control .quantity-button:focus-visible { box-shadow: inset 0 0 0 2px var(--gold); outline: 0; }
.cart-item-actions .remove-button { grid-column: 1 / -1; }
.remove-button { background: none; border: 0; color: var(--red); display: inline-block; font-size: 10px; font-weight: 800; letter-spacing: .06em; margin-top: 7px; padding: 0; text-align: left; text-transform: uppercase; width: auto; }
.remove-button:hover { color: var(--coral); }
.summary-row { display: flex; font-size: 13px; justify-content: space-between; margin: 12px 0; }
.summary-row.total { border-top: 1px solid var(--line); color: var(--navy); font-size: 19px; font-weight: 800; margin-top: 18px; padding-top: 18px; }
.muted-note { background: var(--gold-pale); border-radius: 8px; color: var(--slate-dark); font-size: 12px; margin: 19px 0; padding: 13px; }
.board-pricing-page-note { background: #fff8d9; border: 1px solid #ead77c; border-radius: 9px; color: var(--slate-dark); font-size: 12px; margin-bottom: 18px; padding: 12px 14px; }
.board-pricing-page-note strong { color: var(--navy); }
.board-pricing-page-note a { color: var(--red); font-weight: 800; text-decoration: underline; }
.board-pricing-page-note.compact { font-size: 10px; margin: 0 0 14px; padding: 10px; }
.board-pricing-page-note.compact strong { display: block; margin-bottom: 2px; }
.button.is-loading { cursor: wait; opacity: .68; pointer-events: none; }
.empty-state { padding: 45px 20px; text-align: center; }
.empty-state .note-icon { margin: 0 auto 20px; }
.empty-state h2 { font-size: 25px; }
.form-grid { display: grid; gap: 18px; grid-template-columns: 1fr 1fr; }
.field-full { grid-column: 1 / -1; }
.field textarea { min-height: 90px; resize: vertical; }
.checkout-note { background: var(--cream); border-radius: 8px; color: var(--slate-dark); padding: 14px; }
.checkout-note strong { color: var(--navy); }
.checkout-note p { font-size: 13px; margin: 6px 0 0; }
.acknowledgement { align-items: center; background: var(--cream); border-radius: 8px; display: flex; gap: 10px; padding: 13px; }
.acknowledgement input { flex: 0 0 auto; height: 17px; width: 17px; }
.acknowledgement span { display: inline; margin: 0; text-transform: none; }
.button:disabled { cursor: not-allowed; opacity: .5; }
.form-actions { border-top: 1px solid var(--line); display: flex; gap: 12px; justify-content: flex-end; margin-top: 24px; padding-top: 22px; }
.fine-print { color: var(--muted); font-size: 11px; margin-top: 12px; text-align: center; }
.success-card { margin: 40px auto 80px; max-width: 680px; padding: 45px; text-align: center; }
.success-card .note-icon { margin: 0 auto 20px; }
.confirmation-number { background: var(--cream); border-radius: 8px; color: var(--navy); font-size: 20px; font-weight: 800; margin: 25px auto; padding: 15px; }
.pickup-callout { background: var(--gold-pale); border: 1px solid rgba(155,121,0,.24); border-radius: 14px; margin: 24px 0; padding: 22px; }
.pickup-callout h3 { color: var(--navy); font-family: Montserrat, sans-serif; font-size: 22px; letter-spacing: -.035em; margin: 0 0 8px; }
.pickup-callout p { color: var(--slate-dark); font-size: 14px; margin: 0 auto 18px; max-width: 500px; }
.pickup-callout-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.print-summary-brand { align-items: center; border-bottom: 1px solid var(--line); display: flex; gap: 24px; margin-bottom: 22px; padding: 0 106px 18px 0; position: relative; }
.print-summary-identity { align-items: center; display: flex; gap: 18px; min-width: 0; }
.print-summary-identity > img { border: 0; border-radius: 12px; flex: 0 0 auto; height: 82px; object-fit: contain; padding: 4px; width: 82px; }
.print-summary-brand span { color: var(--red); display: block; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.print-summary-brand h2 { font-size: 30px; margin: 2px 0 4px; }
.print-summary-brand p { color: var(--muted); font-size: 13px; margin: 0; }
.order-summary-qr { position: absolute; right: 0; top: 0; width: 82px; }
.order-summary-qr [data-order-summary-qr] { align-items: center; display: flex; height: 82px; justify-content: center; width: 82px; }
.order-summary-qr svg { height: 100%; width: 100%; }
.summary-header { align-items: center; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; margin-bottom: 22px; padding-bottom: 18px; }
.summary-header h2 { font-size: 31px; margin: 0; }
.summary-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.summary-grid { display: grid; gap: 14px; grid-template-columns: repeat(3, 1fr); margin-bottom: 24px; }
.summary-grid div { background: var(--cream); border-radius: 8px; padding: 15px; }
.summary-grid span { color: var(--muted); display: block; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.summary-grid strong { color: var(--navy); display: block; font-size: 16px; margin: 4px 0; }
.summary-grid small { color: var(--muted); }
.pickup-groups { display: grid; gap: 18px; margin-top: 12px; }
.pickup-person { border: 1px solid var(--line); border-radius: 12px; break-inside: avoid; overflow: hidden; }
.pickup-person-header { align-items: center; background: var(--navy); color: #fff; display: flex; justify-content: space-between; padding: 13px 16px; }
.pickup-person-header h3 { font-family: Montserrat, sans-serif; font-size: 18px; letter-spacing: -.025em; margin: 0; }
.pickup-person-header span { color: rgba(255,255,255,.75); font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.pickup-person-items { list-style: none; margin: 0; padding: 0; }
.pickup-person-item { align-items: center; display: grid; gap: 18px; grid-template-columns: minmax(0, 1fr) auto; padding: 13px 16px; }
.pickup-person-item + .pickup-person-item { border-top: 1px solid var(--line); }
.pickup-item-main { align-items: baseline; display: flex; gap: 8px; min-width: 0; }
.pickup-item-main strong { color: var(--navy); font-size: 13px; }
.pickup-item-main span { color: var(--muted); font-size: 12px; }
.pickup-item-main span::before { content: "— "; }
.pickup-item-meta { align-items: center; display: flex; gap: 8px; }
.pickup-item-meta > span:not(.status) { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }

/* Admin */
.admin-body { background: #f4f7f8; }
.admin-body .announcement, .admin-body > .site-header, .admin-body > .site-footer { display: none; }
.admin-shell { display: grid; grid-template-columns: 235px 1fr; min-height: 100vh; }
.admin-sidebar { background: var(--navy-deep); color: #d2d6db; padding: 28px 20px; }
.admin-sidebar .brand-copy strong { color: white; }
.admin-sidebar nav { display: flex; flex-direction: column; gap: 6px; margin-top: 42px; }
.admin-sidebar nav a { border-radius: 7px; font-size: 13px; font-weight: 700; padding: 11px 13px; }
.admin-sidebar nav a:hover, .admin-sidebar nav a.active { background: rgba(255,255,255,.1); color: white; }
.admin-main { padding: 38px 42px; }
.admin-top { align-items: center; display: flex; justify-content: space-between; margin-bottom: 28px; }
.admin-title { color: var(--navy); font-size: 32px; }
.admin-subtitle { color: var(--muted); font-size: 12px; margin: 4px 0 0; }
.panel-heading { align-items: flex-start; display: flex; gap: 16px; justify-content: space-between; margin-bottom: 18px; }
.panel-heading h2 { margin-bottom: 0; }
.admin-heading-actions { display: flex; flex-wrap: wrap; gap: 9px; justify-content: flex-end; }
.stat-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); margin-bottom: 25px; }
.stat-card { background: white; border: 1px solid var(--line); border-radius: 12px; padding: 22px; }
.stat-card span { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.stat-card strong { color: var(--navy); display: block; font-family: Montserrat, sans-serif; font-size: 32px; margin-top: 6px; }
.data-table { border-collapse: collapse; font-size: 12px; width: 100%; }
.data-table th { color: var(--muted); font-size: 10px; letter-spacing: .07em; padding: 11px; text-align: left; text-transform: uppercase; }
.data-table td { border-top: 1px solid var(--line); padding: 13px 11px; }
.table-scroll { max-width: 100%; overflow-x: auto; }
.status { background: #e0f4ed; border-radius: 20px; color: #247056; display: inline-block; font-size: 9px; font-weight: 800; padding: 5px 8px; text-transform: uppercase; }
.status-pending { background: #fff1d6; color: #906315; }
.status-button { border: 0; cursor: pointer; font-family: inherit; }
.product-admin-layout { align-items: start; display: grid; gap: 26px; grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr); }
.reorder-form { display: none; }
.product-table tbody tr[draggable="true"] { cursor: grab; }
.product-table tbody tr.dragging { background: var(--gold-pale); opacity: .72; }
.admin-product-cell { align-items: center; display: flex; gap: 12px; min-width: 240px; }
.drag-handle { align-items: center; background: #dfe5e9; border: 1px solid #c7d0d6; border-radius: 6px; color: var(--slate-dark); cursor: grab; display: flex; flex: 0 0 auto; height: 34px; justify-content: center; width: 34px; }
.admin-product-cell .drag-handle svg { fill: none; height: 22px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.3; width: 22px; }
.drag-handle:hover { background: var(--slate-dark); border-color: var(--slate-dark); color: #fff; }
.admin-product-cell img { align-items: center; background: var(--gold-pale); border-radius: 8px; display: flex; flex: 0 0 auto; height: 54px; justify-content: center; overflow: hidden; width: 54px; }
.admin-product-cell img { object-fit: cover; }
.admin-product-cell svg { fill: var(--navy); height: 38px; stroke: white; width: 38px; }
.product-editor .field { margin-bottom: 14px; }
.compact-grid { gap: 12px; margin-bottom: 0; }
.checkbox-field { align-items: center; background: var(--cream); border-radius: 8px; display: flex; gap: 10px; padding: 12px; }
.checkbox-field input { height: 17px; width: 17px; }
.checkbox-field span { margin: 0; }
.image-dropzone { align-items: center; background: linear-gradient(135deg, #fff, var(--cream)); border: 2px dashed #c9d3da; border-radius: 12px; cursor: pointer; display: flex; flex-direction: column; gap: 4px; justify-content: center; min-height: 138px; padding: 22px; text-align: center; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.image-dropzone input { height: 1px; opacity: 0; overflow: hidden; position: absolute; width: 1px; }
.image-dropzone strong { color: var(--navy); font-family: Montserrat, sans-serif; font-size: 15px; }
.image-dropzone small { color: var(--muted); display: block; font-size: 11px; line-height: 1.4; max-width: 250px; }
.image-dropzone em { color: var(--red); display: block; font-size: 11px; font-style: normal; font-weight: 800; margin-top: 8px; }
.image-dropzone:hover,
.image-dropzone.is-dragging,
.image-dropzone.has-file { border-color: var(--red); box-shadow: 0 12px 28px rgba(193, 20, 43, .10); }
.image-dropzone.is-dragging { transform: scale(1.01); }
.current-image { align-items: center; background: var(--cream); border-radius: 8px; display: flex; gap: 12px; margin: 0 0 14px; padding: 10px; }
.current-image img { border-radius: 6px; height: 58px; object-fit: cover; width: 58px; }
.current-image span { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.current-image small,
.product-editor .field small { color: var(--muted); display: block; font-size: 11px; line-height: 1.4; margin-top: 5px; }
.text-link { background: none; border: 0; color: var(--red); cursor: pointer; font: inherit; font-weight: 800; padding: 0; text-decoration: underline; text-underline-offset: 2px; }
.text-link:hover { color: var(--navy); }
.admin-page-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.order-edit-overview { margin-bottom: 22px; }
.order-edit-total { color: var(--navy); font-family: Montserrat, sans-serif; font-size: 28px; }
.order-edit-meta { display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.order-edit-meta > div { background: var(--cream); border-radius: 8px; padding: 13px 14px; }
.order-edit-meta span { color: var(--muted); display: block; font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.order-edit-meta strong { color: var(--navy); display: block; font-size: 13px; margin-top: 3px; }
.order-edit-layout { align-items: start; display: grid; gap: 22px; grid-template-columns: minmax(0, 1fr) minmax(260px, 320px); }
.order-edit-table { min-width: 710px; }
.order-quantity-form { align-items: center; display: flex; gap: 7px; }
.order-quantity-form input { min-width: 64px; width: 64px; }
.button-compact { padding: 8px 10px; }
.order-add-panel { position: sticky; top: 22px; }
.order-add-panel > h2 { margin-bottom: 0; }
.order-add-panel form { display: grid; gap: 14px; margin-top: 20px; }
.admin-packing .admin-main { min-width: 0; padding: 12px 24px; }
.admin-packing .admin-shell { display: block; }
.admin-packing .admin-sidebar { display: none; }
.admin-packing .admin-top { float: right; }
.admin-packing .admin-top > span { display: none; }
.admin-packing .packing-workspace { clear: both; }
.packing-size-pairs { display: flex; flex-wrap: wrap; gap: 7px; padding: 10px; }
.packing-size-pair { display: flex; border: 1px solid #cbd2d7; border-radius: 6px; overflow: hidden; }
.packing-size-pair > div { min-width: 48px; padding: 4px 9px; text-align: center; }
.packing-size-pair > div:first-child { background: var(--navy-deep); color: white; }
.packing-size-pair small { display: block; font-size: 9px; text-transform: uppercase; letter-spacing: .05em; }
.packing-size-pair strong { display: block; font-size: 20px; line-height: 1.15; }
.packing-size-pair .packing-multiple { background: var(--gold-pale); color: var(--navy-deep); }
.admin-packing .admin-top { margin-bottom: 10px; }
.admin-packing .admin-title { font-size: 24px; margin: 0; }
.admin-packing .admin-top .eyebrow { display: none; }
.admin-packing .admin-page-actions { margin-bottom: 10px; }
.admin-packing .admin-page-actions .button { font-size: 12px; padding: 6px 12px; }
.packing-workspace { background: #fff; border: 1px solid var(--line); border-radius: 12px; margin: 0 auto; overflow: hidden; }
.packing-order-header { align-items: center; background: var(--navy-deep); border-bottom: 3px solid var(--gold); color: #fff; display: flex; gap: 20px; justify-content: space-between; padding: 10px 20px; }
.packing-kicker { color: var(--gold); display: block; font-size: 11px; font-weight: 800; letter-spacing: .06em; margin-bottom: 4px; text-transform: uppercase; }
.packing-order-header h2 { font-family: Montserrat, sans-serif; font-size: 25px; letter-spacing: -.035em; line-height: 1.2; margin: 0; overflow-wrap: anywhere; }
.packing-order-header > div:first-child { min-width: 0; }
.packing-order-reference { flex: 0 0 auto; text-align: right; }
.packing-order-reference span, .packing-order-reference small { color: #d2d6db; display: block; font-size: 11px; }
.packing-order-reference strong { display: block; font-size: 15px; margin: 2px 0; }
.packing-order-counts { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 6px; font-size: 12px; }
.packing-order-counts strong { color: var(--gold); font-size: 15px; }
.packing-list-title { align-items: baseline; display: flex; gap: 12px; justify-content: space-between; padding: 8px 16px 6px; }
.packing-list-title > span { color: var(--navy); font-size: 14px; font-weight: 800; }
.packing-list-title small { color: var(--muted); font-size: 12px; }
.packing-items { align-items: start; display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0 16px 14px; }
.packing-product-card { border: 1px solid var(--line); border-radius: 8px; overflow: hidden; min-width: 0; }
.packing-product-heading { align-items: center; background: var(--cream); display: flex; gap: 9px; padding: 6px 10px; }
.packing-item-image { background: #fff; border: 1px solid var(--line); border-radius: 5px; flex: 0 0 auto; height: 26px; object-fit: contain; width: 26px; }
.packing-product-heading h3 { min-width: 0; color: var(--navy-deep); flex: 1; font-size: 16px; line-height: 1.25; margin: 0; overflow-wrap: anywhere; }
.packing-product-total { color: var(--muted); font-size: 11px; white-space: nowrap; }
.packing-size-table { border-collapse: collapse; width: 100%; }
.packing-size-table thead th { color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .04em; padding: 4px 12px; text-transform: uppercase; white-space: nowrap; }
.packing-size-table th { text-align: left; }
.packing-size-table th:last-child, .packing-size-table td { text-align: right; width: 88px; }
.packing-size-table tbody th, .packing-size-table td { border-top: 1px solid #edf0f2; font-size: 15px; line-height: 1.3; padding: 2px 12px; overflow-wrap: anywhere; }
.packing-size-table td strong { border-radius: 4px; display: inline-block; min-width: 30px; padding: 2px 6px; text-align: center; }
.packing-size-table .packing-multiple { background: var(--gold-pale); color: var(--navy-deep); }
.packing-no-items { color: var(--muted); grid-column: 1 / -1; padding: 24px; text-align: center; }
.packing-actions { align-items: center; background: var(--cream); border-top: 1px solid var(--line); display: flex; gap: 12px; justify-content: space-between; padding: 10px 16px; }
.packing-actions form { display: flex; }
.packing-actions .button { font-size: 14px; min-height: 40px; padding: 8px 20px; }
.packing-skip { background: #fff; border: 1px solid #cbd2d7; color: var(--navy); }
.packing-done { background: #247056; color: #fff; }
.packing-done:hover { background: #195b44; }
/* Fit larger product assortments across a laptop without shrinking the text. */
@media (min-width: 1000px) {
    .packing-items-many { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.admin-packing .flash { font-size: 12px; margin: 6px 0; padding: 6px 12px; }
@media (min-width: 1450px) {
    .packing-items { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.packing-complete { margin: 60px auto; max-width: 650px; padding: 52px; text-align: center; }
.packing-complete-mark { align-items: center; background: #e0f4ed; border-radius: 50%; color: #247056; display: flex; font-size: 30px; font-weight: 800; height: 68px; justify-content: center; margin: 0 auto 18px; width: 68px; }
.packing-complete .packing-kicker { color: var(--red); }
.packing-complete h2 { color: var(--navy); font-family: Montserrat, sans-serif; font-size: 30px; margin: 5px 0 10px; }
.packing-complete p { color: var(--muted); font-size: 14px; margin: 0 auto 24px; max-width: 470px; }
.admin-login { align-items: center; background: linear-gradient(135deg, var(--navy-deep), var(--blue)); display: flex; justify-content: center; min-height: 100vh; padding: 25px; }
.login-card { background: white; border-radius: 16px; box-shadow: 0 25px 65px rgba(0,0,0,.22); max-width: 410px; padding: 38px; width: 100%; }
.login-card .brand { margin-bottom: 28px; }
.login-card h1 { color: var(--navy); font-family: Montserrat, sans-serif; font-size: 27px; margin: 0 0 8px; }
.login-card > p { color: var(--muted); font-size: 13px; margin: 0 0 24px; }
.login-card .field { margin-bottom: 15px; }
.login-card .button { margin-top: 8px; }
.login-help { background: var(--cream); border-radius: 7px; font-size: 11px; margin-top: 18px; padding: 11px; }

@media (max-width: 1180px) {
    .product-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1050px) {
    .shop-layout { display: block; }
    .store-cart { border: 0; border-radius: 20px 20px 0 0; bottom: 0; box-shadow: 0 -16px 50px rgba(5,39,62,.22); height: min(82vh, 680px); left: 0; max-height: 82vh; min-height: 0; opacity: 0; position: fixed; right: 0; top: auto; transform: translateY(102%); transition: opacity .2s ease, transform .28s ease; visibility: hidden; z-index: 31; }
    .store-cart-open { overflow: hidden; }
    .store-cart-open .store-cart { opacity: 1; transform: translateY(0); visibility: visible; }
    .store-cart-close { display: inline-flex; }
    .store-cart-backdrop { appearance: none; background: rgba(5,39,62,.48); border: 0; display: block; inset: 0; opacity: 0; padding: 0; pointer-events: none; position: fixed; transition: opacity .22s ease; visibility: hidden; width: 100%; z-index: 30; }
    .store-cart-open .store-cart-backdrop { opacity: 1; pointer-events: auto; visibility: visible; }
    .store-cart-footer { padding-bottom: calc(19px + env(safe-area-inset-bottom)); }
}

@media (max-width: 850px) {
    .main-nav { display: none; }
    .hero { min-height: 500px; padding: 58px 35px; }
    .hero-overlay { background: linear-gradient(90deg, rgba(52,61,73,.9), rgba(52,61,73,.58)); }
    .trust-strip { grid-template-columns: 1fr; margin: 0; }
    .trust-strip > div + div { border-left: 0; border-top: 1px solid var(--line); }
    .section-heading { align-items: flex-start; flex-direction: column; gap: 22px; }
    .product-grid { grid-template-columns: repeat(2, 1fr); }
    .how-section { grid-template-columns: 1fr; }
    .two-column { grid-template-columns: 1fr; }
    .summary-header, .summary-grid { display: block; }
    .summary-grid div { margin-bottom: 12px; }
    .product-admin-layout { grid-template-columns: 1fr; }
    .order-edit-layout { grid-template-columns: 1fr; }
    .order-add-panel { position: static; }
    .admin-shell { grid-template-columns: 1fr; }
    .admin-sidebar { padding: 18px 25px; }
    .admin-sidebar nav { flex-direction: row; flex-wrap: wrap; margin-top: 20px; }
}

@media (max-width: 580px) {
    .announcement { font-size: 9px; }
    .site-header { min-height: 74px; padding: 7px 18px; }
    .site-header .brand-mark { height: 56px; width: 56px; }
    .cart-popover { left: 18px; right: 18px; top: 92px; }
    .cart-popover-card { max-width: none; }
    .site-header .brand-copy strong { font-size: 17px; }
    .site-header .brand .sub-title { font-size: 12px; }
    .cart-link span { display: none; }
    .hero h1 { font-size: 49px; }
    .hero { min-height: 460px; padding: 48px 22px; }
    .hero-content > p { font-size: 16px; }
    .product-grid { grid-template-columns: 1fr; }
    .shop-section { padding-inline: 18px; }
    .store-cart { height: min(86vh, 680px); max-height: 86vh; }
    .store-cart-header { padding: 16px 18px 13px; }
    .store-cart-items { padding-inline: 16px; }
    .store-cart-footer { padding-inline: 17px; }
    .size-choice-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .size-choice:only-child { grid-column: 1 / -1; }
    .panel-heading { display: block; }
    .panel-heading .button { margin-top: 12px; }
    .admin-heading-actions { justify-content: flex-start; }
    .admin-heading-actions .button + .button { margin-left: 0; }
    .payment-note { align-items: flex-start; }
    .footer-main { grid-template-columns: 1fr; }
    .cart-item { align-items: start; gap: 11px; grid-template-columns: 52px minmax(0, 1fr); }
    .cart-thumb { height: 50px; }
    .cart-item-actions { grid-column: 2; grid-template-columns: auto 1fr; justify-items: start; }
    .cart-item-actions strong { justify-self: end; }
    .cart-item-actions .remove-button { justify-self: start; }
    .cart-item strong { text-align: left; }
    .form-grid, .stat-grid { grid-template-columns: 1fr; }
    .order-edit-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .field-full { grid-column: auto; }
    .admin-main { padding: 28px 18px; }
    .admin-packing .admin-main { padding: 14px; }
    .packing-order-header { align-items: flex-start; flex-direction: column; gap: 10px; padding: 14px; }
    .packing-order-reference { text-align: left; }
    .packing-list-title { align-items: flex-start; flex-direction: column; gap: 2px; padding: 10px 12px; }
    .packing-items { grid-template-columns: 1fr; padding: 0 12px 12px; }
    .packing-actions { flex-wrap: wrap; padding: 10px 12px; }
    .packing-complete { margin-top: 25px; padding: 36px 22px; }
    .print-summary-brand { align-items: flex-start; }
    .print-summary-identity { align-items: flex-start; }
    .print-summary-identity > img { height: 64px; width: 64px; }
    .print-summary-brand h2 { font-size: 23px; }
    .print-summary-brand { padding-right: 82px; }
    .order-summary-qr { width: 64px; }
    .order-summary-qr [data-order-summary-qr] { height: 64px; width: 64px; }
    .pickup-item-main { align-items: flex-start; flex-direction: column; gap: 3px; }
    .pickup-item-main span::before { content: ""; }
    .summary-actions { flex-direction: column; margin-top: 14px; }
    .summary-actions .button, .pickup-callout-actions .button { width: 100%; }
}


@media print {
    @page { margin: .45in; }
    .announcement, .site-header, .site-footer, .page-hero, .summary-header .button { display: none; }
    body { background: #fff; color: #111; font-size: 11pt; }
    .content-shell { max-width: none; padding: 0; }
    .panel { border: 0; box-shadow: none; padding: 0; }
    .print-summary-brand { border-bottom: 2px solid #333; margin-bottom: 18px; padding: 0 96px 14px 0; }
    .print-summary-identity > img { border: 0; height: 76px; width: 76px; }
    .print-summary-brand span { color: #333; font-size: 9pt; }
    .print-summary-brand h2 { color: #111; font-size: 22pt; letter-spacing: -.02em; }
    .print-summary-brand p { color: #333; font-size: 10pt; }
    .order-summary-qr { width: 76px; }
    .order-summary-qr [data-order-summary-qr] { height: 76px; width: 76px; }
    .summary-header { border-bottom: 1px solid #999; margin-bottom: 14px; padding-bottom: 12px; }
    .summary-header .eyebrow { color: #333; font-size: 8pt; margin-bottom: 4px; }
    .summary-header .eyebrow i { background: #333; }
    .summary-header h2 { color: #111; font-size: 24pt; letter-spacing: .02em; }
    .summary-grid { display: grid; gap: 10px; grid-template-columns: repeat(3, 1fr); margin-bottom: 18px; }
    .summary-grid div { background: #fff; border: 1px solid #bbb; break-inside: avoid; padding: 10px; }
    .summary-grid span { color: #333; font-size: 8pt; }
    .summary-grid strong { color: #111; font-size: 12pt; }
    .summary-grid small { color: #333; font-size: 9pt; }
    .data-table { border-collapse: collapse; font-size: 10pt; width: 100%; }
    .data-table th { border-bottom: 2px solid #333; color: #111; font-size: 8pt; padding: 8px 6px; }
    .data-table td { border-top: 1px solid #bbb; padding: 9px 6px; }
    .pickup-groups { gap: 10px; margin-top: 8px; }
    .pickup-person { border: 1px solid #777; border-radius: 0; break-inside: avoid-page; }
    .pickup-person-header { background: #fff; border-bottom: 2px solid #333; color: #111; padding: 8px 10px; }
    .pickup-person-header h3 { color: #111; font-size: 14pt; }
    .pickup-person-header span { color: #333; font-size: 8pt; }
    .pickup-person-item { gap: 12px; padding: 8px 10px; }
    .pickup-person-item + .pickup-person-item { border-top: 1px solid #bbb; }
    .pickup-item-main strong { color: #111; font-size: 10pt; }
    .pickup-item-main span { color: #333; font-size: 9pt; }
    .pickup-item-meta > span:not(.status) { color: #333; font-size: 8pt; }
    .pickup-item-meta .status { background: #fff; border: 1px solid #777; color: #111; }
    .muted-note { background: #fff; border: 1px solid #bbb; color: #111; margin-top: 14px; }
}
