:root {
    --cream: #f8edcf;
    --paper: #fffaf0;
    --ink: #211a20;
    --muted: #665b50;
    --brand-green: #39783b;
    --brand-green-dark: #27582c;
    --brand-yellow: #f4df24;
    --brand-orange-dark: #a94308;
    --brand-red: #cf2925;
    --rust: var(--brand-green);
    --rust-dark: var(--brand-green-dark);
    --sage: var(--brand-green);
    --line: #ddcc9f;
    --shadow: 0 18px 55px rgb(49 72 37 / 12%);
}
body { border-top: 6px solid var(--brand-yellow); }
.site-header { padding: .7rem max(1.2rem, calc((100vw - 76rem) / 2)); background: rgb(255 250 240 / 94%); }
.brand { display: flex; align-items: center; gap: .8rem; }
.brand img { display: block; width: clamp(5.4rem, 9vw, 7.5rem); height: auto; }
.brand .brand-market { color: var(--brand-green-dark); font: 800 .78rem/1.2 system-ui, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.cart-preview { border: 2px solid var(--brand-green); color: var(--brand-green-dark); text-decoration: none; }
.cart-preview:hover { background: var(--brand-green); color: #fff; }
.header-actions { display:flex; align-items:center; gap:.75rem; }
.header-actions form { margin:0; }
.age-change { padding:.45rem .2rem; border:0; background:transparent; color:var(--brand-green-dark); font:700 .78rem system-ui,sans-serif; text-decoration:underline; cursor:pointer; }
.eyebrow { color: var(--brand-orange-dark); }
.pickup-card { border-top: 5px solid var(--brand-yellow); }
.pickup-card button, .product-footer button, .dialog-submit, .cart-page > form button, .square-checkout-button { background: var(--brand-green); }
.pickup-card button:hover, .product-footer button:hover, .dialog-submit:hover, .cart-page > form button:hover, .square-checkout-button:hover { background: var(--brand-green-dark); }
.item-title span { background: var(--brand-yellow); color: var(--ink); }
.sold-out-label { background: var(--brand-red); }
.age-badge { position:absolute; top:.8rem; left:.8rem; padding:.4rem .65rem; border-radius:999px; background:var(--ink); color:#fff; font:800 .7rem system-ui,sans-serif; text-transform:uppercase; }
footer { background: var(--brand-green-dark); color: #f8edcf; }
.market-welcome { width: min(76rem, calc(100% - 2rem)); margin: 0 auto; padding: clamp(3rem, 7vw, 6rem) 0 1rem; }
.market-welcome h1 { max-width: 18ch; margin: 0; font-size: clamp(2.8rem, 6vw, 5.5rem); font-weight: 500; line-height: .95; letter-spacing: -.04em; }
.market-welcome > p:not(.eyebrow) { max-width: 52rem; color: var(--muted); font: 1.05rem/1.7 system-ui, sans-serif; }
.market-welcome .welcome-lead { margin: 1.5rem 0 .25rem; color: var(--brand-green-dark); font-weight: 800; }
.market-policies { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 2rem; }
.market-policies p { margin: 0; padding: 1rem; border: 1px solid var(--line); border-left: 5px solid var(--brand-yellow); border-radius: .55rem; background: var(--paper); color: var(--ink); font: .9rem/1.55 system-ui, sans-serif; }
.age-gate { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; margin:2rem 0 0; padding:1rem; border:2px solid var(--brand-green); border-radius:.7rem; background:var(--paper); font-family:system-ui,sans-serif; }
.age-gate div { display:grid; gap:.2rem; flex:1 1 22rem; }
.age-gate span { color:var(--muted); font-size:.88rem; }
.age-gate button { width:auto; margin:0; padding:.75rem 1rem; border:0; border-radius:.45rem; background:var(--brand-green); color:#fff; font-weight:800; cursor:pointer; }
.age-gate button:hover { background:var(--brand-green-dark); }
.age-gate .age-no { background:#6f6256; }
.age-certification { margin:1rem 0; padding:1rem; border:2px solid var(--brand-yellow); border-radius:.55rem; background:var(--paper); font:700 .92rem/1.5 system-ui,sans-serif; }
.age-certification input { width:auto; margin-right:.5rem; }
.age-dialog { width:min(34rem,calc(100% - 2rem)); padding:0; border:2px solid var(--brand-green); border-radius:1rem; background:var(--paper); color:var(--ink); box-shadow:0 24px 80px rgb(33 26 32 / 40%); }
.age-dialog::backdrop { background:rgb(33 26 32 / 72%); }
.age-dialog form { display:grid; gap:1rem; padding:clamp(1.5rem,5vw,2.4rem); }
.age-dialog h2,.age-dialog p { margin:0; }
.age-dialog > form > p:not(.eyebrow) { color:var(--muted); font:1rem/1.55 system-ui,sans-serif; }
.age-dialog-actions { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
.age-dialog-actions button { padding:.9rem; border:0; border-radius:.45rem; background:var(--brand-green); color:#fff; font:800 .86rem/1.3 system-ui,sans-serif; cursor:pointer; }
.age-dialog-actions button:hover { background:var(--brand-green-dark); }
.age-dialog-actions .age-no { background:#6f6256; }
.hero { padding-top: 2rem; }
.hero > div:first-child > .eyebrow, .hero > div:first-child > h1, .hero > div:first-child > .hero-copy { display: none; }
@media (max-width: 580px) {
    .site-header { padding: .6rem 1rem; }
    .brand img { width: 4.7rem; }
    .brand .brand-market { font-size: .65rem; letter-spacing: .1em; }
    .market-policies { grid-template-columns: 1fr; }
    .header-actions { gap:.4rem; }
    .age-change { max-width:5rem; }
    .age-dialog-actions { grid-template-columns:1fr; }
}
