/* ===== site.css ===== */
/* Bundled into home/cart/checkout/product bundles; they rebuild automatically on push (.github/workflows/bundle.yml). */
:root{--ink:#102c22;--ink-soft:#245b42;--cream:#f7f0e4;--paper:#fffdf8;--gold:#bd812a;--gold-soft:#f0dfaa;--clay:#8b6042;--sage:#cbd8c3;--line:rgba(16,44,34,.15);--muted:#557064;--shadow:0 18px 45px rgba(16,44,34,.12);--display:Fraunces,Georgia,serif;--body:"DM Sans",system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);line-height:1.55}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.skip{position:fixed;z-index:100;left:12px;top:-60px;background:var(--paper);padding:10px 14px}.skip:focus{top:12px}.notice{overflow:hidden;background:var(--ink);color:#fffdf8;font-size:12px;font-weight:700;letter-spacing:.12em;text-align:center;text-transform:uppercase;white-space:nowrap}.notice span{display:inline-block;padding:9px 0;animation:marquee 20s linear infinite}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:10px max(4vw,20px);background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:10px;flex:none}.brand img{width:52px;height:52px;object-fit:contain}.brand small{display:block;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.nav-links{display:flex;align-items:center;justify-content:center;gap:clamp(12px,2vw,28px);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.nav-links a{padding:12px 0;border-bottom:2px solid transparent}.nav-links a:hover,.nav-links a.active{border-color:var(--gold)}.nav-actions{display:flex;align-items:center;gap:8px}.icon-btn,.cart-trigger,.menu-toggle{min-width:44px;min-height:44px;display:inline-grid;place-items:center;border:1px solid transparent;background:transparent;color:var(--ink);cursor:pointer}.cart-trigger{border-color:var(--ink);border-radius:999px;gap:7px;padding:0 15px;font-weight:800}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.02fr .98fr;min-height:calc(100svh - 119px);max-width:1440px;margin:auto}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(54px,8vw,118px) clamp(24px,7vw,108px);background:var(--cream)}.eyebrow{margin:0 0 18px;color:#96620f;font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.accent{font-family:var(--display);font-style:italic;color:#96620f;font-size:1.15em}.display,h1,h2,h3{font-family:var(--display);letter-spacing:-.025em;line-height:.98}.display,h1{margin:0;font-size:clamp(48px,6.2vw,90px);max-width:720px}.lead{margin:24px 0 30px;max-width:540px;color:var(--muted);font-size:17px;line-height:1.65}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 21px;border:1px solid #9a6418;background:#9a6418;color:#fffdf8;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:#a96e1e}.button.secondary{background:transparent;color:var(--ink);border-color:var(--ink)}.button.whats{background:#245b42;border-color:#245b42}.proof{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:35px;font-size:12px;font-weight:700;color:var(--muted)}.proof span:before{content:"•";margin-right:8px;color:#96620f;font-size:17px}.hero-media{position:relative;min-height:480px;overflow:hidden;background:#d7c3a6}.hero-media>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.floating-note{position:absolute;right:6%;bottom:7%;max-width:210px;padding:15px 17px;background:var(--paper);box-shadow:var(--shadow);font-family:var(--display);font-size:18px;transform:rotate(-3deg)}.trust{display:grid;grid-template-columns:repeat(4,1fr);background:var(--paper);border-block:1px solid var(--line)}.trust div{padding:19px 12px;border-right:1px solid var(--line);font-size:12px;font-weight:800;letter-spacing:.06em;text-align:center;text-transform:uppercase}.trust div:last-child{border:0}.section{max-width:1340px;margin:auto;padding:clamp(64px,8vw,112px) max(4vw,24px)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:34px}.section-title{margin:0;font-size:clamp(36px,4.5vw,62px);max-width:680px}.text-link{padding-bottom:4px;color:#96620f;border-bottom:1px solid currentColor;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.product-card{overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--paper);transition:transform .25s,box-shadow .25s}.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.product-image{position:relative;display:grid;place-items:center;aspect-ratio:1;overflow:hidden}.product-image.cream{background:#f0e1bb}.product-image.brown{background:#76523b}.product-image.sage{background:var(--sage)}.product-image img{width:100%;height:100%;object-fit:contain;transition:transform .35s}.product-card:hover .product-image img{transform:scale(1.055)}.number{position:absolute;top:13px;left:13px;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:var(--paper);font-weight:800;font-size:12px}.card-copy{padding:18px}.tag{margin:0;color:#96620f;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.product-card h3{margin:7px 0 13px;font-size:24px}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:14px}.quick-add{min-width:42px;height:42px;border:0;border-radius:50%;background:var(--ink);color:#fff;cursor:pointer;font-size:22px;transition:transform .2s}.quick-add:hover{transform:rotate(90deg)}.story-band{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:#fffdf8}.story-copy{padding:clamp(52px,7vw,106px)}.story-copy .section-title{max-width:550px}.story-copy .body{max-width:470px;color:#c8d3cc}.story-image{min-height:420px;overflow:hidden}.story-image img{width:100%;height:100%;object-fit:cover}.ingredient-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(34px,7vw,100px);align-items:center}.ingredient-art{position:relative;aspect-ratio:1;background:var(--gold-soft);border-radius:50%;display:grid;place-items:center;overflow:hidden}.ingredient-art img{width:88%;height:88%;object-fit:contain;transform:rotate(-7deg)}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);margin-top:34px;border-top:1px solid var(--line)}.stat-row div{padding:18px 14px 0 0}.stat-row strong{display:block;font-family:var(--display);font-size:31px;line-height:1}.stat-row span{font-size:12px;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.step{min-height:220px;padding:24px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);transition:background .2s}.step:hover{background:var(--gold-soft)}.step-num{font-size:12px;color:#96620f;font-weight:800}.step h3{font-size:26px;margin:35px 0 10px}.step p{font-size:13px;color:var(--muted)}.quote-section{background:#e5d7be}.quote-section .lead{color:#3f574c}.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.quote{padding:30px;background:var(--paper);border-radius:8px}.quote p{margin:0 0 20px;font-family:var(--display);font-size:clamp(24px,2.5vw,35px);line-height:1.12}.quote small{font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.subscribe{display:grid;grid-template-columns:1fr 1fr;background:var(--clay);color:#fff8ed}.subscribe-copy{padding:clamp(52px,7vw,100px)}.subscribe-copy p{color:#f5ddc4;max-width:480px}.subscribe-card{align-self:center;margin:30px;max-width:450px;padding:28px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow)}.subscribe-card h3{font-size:29px;margin:0 0 8px}.footer{background:var(--ink);color:#e7eee7;padding:58px max(4vw,24px) 26px}.footer-grid{max-width:1340px;margin:auto;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:28px}.footer h3{font-size:25px;margin:0 0 14px}.footer h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#bbcabd}.footer a{display:block;margin:8px 0;font-size:13px;color:#cad5cb}.email-row{display:flex;border-bottom:1px solid #718276}.email-row input{min-width:0;flex:1;padding:11px 0;border:0;background:transparent;color:#fff;outline:0}.email-row button{border:0;background:none;color:#fff;font-weight:800;cursor:pointer}.footer-bottom{max-width:1340px;margin:48px auto 0;padding-top:18px;border-top:1px solid #455a4d;display:flex;justify-content:space-between;gap:16px;font-size:12px;color:#aebdaf}.drawer{position:fixed;z-index:60;top:0;right:0;width:min(430px,100%);height:100%;padding:24px;background:var(--paper);box-shadow:-12px 0 40px rgba(0,0,0,.18);transform:translateX(102%);transition:transform .28s ease}.drawer.open{transform:translateX(0)}.scrim{position:fixed;inset:0;z-index:55;background:rgba(16,44,34,.45);opacity:0;pointer-events:none;transition:opacity .25s}.scrim.open{opacity:1;pointer-events:auto}.drawer-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:16px}.drawer h2{font-size:36px}.close{width:44px;height:44px;border:1px solid var(--line);background:transparent;font-size:23px;cursor:pointer}.cart-items{min-height:160px;padding:20px 0}.cart-item{display:grid;grid-template-columns:65px 1fr auto;gap:12px;align-items:center;margin:0 0 15px}.cart-item img{width:65px;height:65px;object-fit:contain;background:var(--cream)}.cart-item strong{display:block;font-family:var(--display);font-size:18px}.cart-item small{color:var(--muted)}.remove{border:0;background:none;color:var(--clay);cursor:pointer;text-decoration:underline}.cart-total{position:absolute;right:24px;bottom:24px;left:24px;border-top:1px solid var(--line);padding-top:18px}.cart-total div{display:flex;justify-content:space-between;margin-bottom:14px;font-weight:800}.empty{color:var(--muted);padding:25px 0}.page-hero{padding:clamp(58px,9vw,130px) max(4vw,24px);background:var(--cream);text-align:center}.page-hero .display{margin:auto;max-width:860px}.page-hero .lead{margin-inline:auto}.crumb{max-width:1340px;margin:0 auto 18px;font-size:12px;color:var(--muted)}.detail{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,88px);max-width:1340px;margin:auto;padding:48px max(4vw,24px) 90px}.gallery{position:sticky;top:102px;height:max-content;display:grid;grid-template-columns:76px 1fr;gap:18px}.thumbs{display:grid;gap:12px}.thumb{aspect-ratio:1;border:1px solid var(--line);background:var(--paper);padding:5px;cursor:pointer}.thumb.active{border:2px solid var(--ink)}.thumb img{width:100%;height:100%;object-fit:contain}.main-product-image{aspect-ratio:.98;background:var(--gold-soft);display:grid;place-items:center}.main-product-image img{max-width:92%;max-height:92%;object-fit:contain}.rating{color:#96620f;font-size:14px;font-weight:800}.product-info h1{font-size:clamp(45px,5.3vw,76px);margin:10px 0}.price{font-size:25px;font-weight:800}.product-info .lead{font-size:16px}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.chip{padding:8px 10px;border:1px solid var(--line);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.option-row{display:flex;gap:9px;margin:14px 0 25px}.option{padding:11px 16px;border:1px solid var(--line);background:var(--paper);cursor:pointer}.option.selected{border-color:var(--ink);background:var(--ink);color:#fff}.buy-row{display:grid;grid-template-columns:120px 1fr;gap:10px}.quantity{display:flex;align-items:center;justify-content:space-around;border:1px solid var(--line);background:var(--paper)}.quantity button{border:0;background:transparent;cursor:pointer;font-size:22px}.delivery{margin-top:24px;padding:16px;background:#e4ebdf;color:var(--ink);font-size:13px}.accordion{margin-top:25px;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:15px 0}summary{cursor:pointer;font-weight:800;font-size:14px}details p{color:var(--muted);font-size:14px;max-width:60ch}.toast{position:fixed;z-index:80;right:20px;bottom:20px;max-width:300px;padding:13px 17px;background:var(--ink);color:#fff;border-radius:4px;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}.form-panel{max-width:700px;margin:0 auto;background:var(--paper);padding:clamp(24px,5vw,56px);border:1px solid var(--line)}.field{display:grid;gap:7px;margin:0 0 18px;font-size:13px;font-weight:700}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:#fffdf8;padding:13px;color:var(--ink)}.field textarea{min-height:125px;resize:vertical}.form-success{display:none;margin-top:14px;padding:12px;background:#e4ebdf;color:var(--ink);font-size:14px}.form-success.show{display:block}.faq{max-width:850px;margin:auto}.rewards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.reward{padding:28px;background:var(--paper);border:1px solid var(--line)}.reward strong{display:block;font-family:var(--display);font-size:42px;line-height:1;margin-bottom:10px}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.post{background:var(--paper);border:1px solid var(--line)}.post img{width:100%;aspect-ratio:1.35;object-fit:cover}.post div{padding:20px}.post h3{font-size:27px;margin:10px 0}.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:none}@keyframes marquee{to{transform:translateX(-15%)}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}@media(max-width:900px){.nav-links{display:none}.menu-toggle{display:grid}.nav-links.open{display:flex;position:absolute;top:100%;right:0;left:0;flex-direction:column;align-items:stretch;padding:16px 24px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 20px rgba(16,44,34,.08)}.nav-links.open a{padding:12px 0}.hero,.story-band,.subscribe,.ingredient-grid,.detail{grid-template-columns:1fr}.hero{min-height:auto}.hero-media{min-height:500px}.trust{grid-template-columns:repeat(2,1fr)}.trust div:nth-child(2){border-right:0}.products,.blog-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.gallery{position:static}.footer-grid{grid-template-columns:repeat(2,1fr)}.detail{padding-top:32px}.buy-row{max-width:560px}}@media(max-width:560px){.notice span{animation:none;white-space:normal;padding:8px 16px}.brand small,.icon-btn{display:none}.nav{min-height:66px}.cart-trigger{min-width:44px;padding:0 11px}.hero-copy{padding-block:58px}.hero-media{min-height:390px}.floating-note{font-size:15px;right:5%;bottom:5%;max-width:165px}.trust{grid-template-columns:1fr 1fr}.trust div{padding:15px 8px;font-size:12px}.trust div:nth-child(2){border-right:0}.trust div:nth-child(3){border-top:1px solid var(--line)}.trust div:nth-child(4){border-top:1px solid var(--line);border-right:0}.section-head{align-items:start;flex-direction:column}.products,.blog-grid,.rewards-grid{grid-template-columns:1fr}.product-card{display:grid;grid-template-columns:42% 58%}.product-image{aspect-ratio:auto;min-height:190px}.card-copy{padding:15px}.steps{grid-template-columns:1fr}.step{min-height:150px}.quote-grid{grid-template-columns:1fr}.story-image{min-height:310px}.subscribe-card{margin:0 24px 24px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.page-hero{text-align:left}.gallery{grid-template-columns:1fr}.thumbs{grid-template-columns:repeat(3,1fr);order:2}.main-product-image{order:1}.buy-row{grid-template-columns:100px 1fr}.detail{gap:28px}.quote p{font-size:28px}}

/* Nov 2026 audit fixes, shared by every page */
/* Keyboard focus: a dark ring with a light gap, visible on cream and on dark green */
:focus-visible{outline:2px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 4px var(--paper)}
/* Form fields: an edge you can see (was 1.3:1, now above 3:1) */
.field input,.field textarea,.field select{border-color:var(--muted)}
/* Tap targets at least 44px */
.nav .brand,.nav .nav-actions>a{display:inline-flex;align-items:center;min-height:44px}
.card-bottom a,.card-bottom .quick-add{min-height:44px}
/* Text links keep their look; an invisible layer makes the tap area 44px tall */
.row-head>a,.text-link,.cart-total a,.reward-review a,.guide>a,.gob-pdp-rating{position:relative}
.row-head>a::before,.text-link::before,.cart-total a::before,.reward-review a::before,.guide>a::before,.gob-pdp-rating::before{content:"";position:absolute;inset:-14px -6px}
.private-code summary{padding-block:12px}
.policy-check input[type=checkbox],.payment-option input[type=radio],.footer-consent input[type=checkbox]{width:20px;height:20px;flex:none;accent-color:var(--ink)}
/* Footer sign-up: keep "Join" on one line and easy to tap */
.email-row button{flex:none;white-space:nowrap;min-height:44px;padding:0 4px 0 12px}

/* Nov 2026: labels in normal case. Small labels, tags, buttons and nav links were set in
   tracked capitals; they now read in the case they are written, without letter spacing.
   To bring the capitals back, delete this block. */
:root .account-tab,
:root .account-field,
:root .review-status,
:root .review-form legend,
:root .review-copy-label,
:root .review-photo-label,
:root .analytics-consent button,
:root .journal-product-copy p,
:root .journal-product-add,
:root .journal-feature-stamp,
:root .journal-filter,
:root .journal-save,
:root .journal-next button,
:root .sale-badge,
:root .bulk-discount span,
:root .checkout-promo>label,
:root .notice .gob-live-ticker span,
:root .gob-pay-t,
:root .login-trigger,
:root .search-trigger,
:root .toast.jar-toast b,
:root .notice-track span,
:root .hv2 .eyebrow,
:root .hv2 .card .tag,
:root .journal-grid a,
:root .home-sale-badge,
:root .dog-video-caption,
:root .hm-k,
:root .loyalty-earn span,
:root .buy-tier strong small,
:root .buy-tier span,
:root .notice .mp-ticker b,
:root .nutrient-grid small,
:root .analysis-note span,
:root .notice .offer-copy,
:root .notice .offer-link,
:root .pincode-checker label,
:root .policy-columns h4,
:root .policy-identity strong,
:root .filter,
:root .catalog-link,
:root .spec small,
:root .label-card small,
:root .serve-point strong,
:root .product-loyalty small,
:root .media-count,
:root .gallery-notes>p,
:root .product-return a,
:root .v2-fact small,
:root .v2-tbl th,
:root .option em,
:root .value-stamp,
:root .mobile-purchase-bar small,
:root .reward-shortcut,
:root .sale-price-presentation small,
:root .notice,
:root .brand small,
:root .nav-links,
:root .eyebrow,
:root .button,
:root .trust div,
:root .text-link,
:root .tag,
:root .quote small,
:root .footer h4,
:root .chip,
:root .confirmation-details dt,
:root .tb-badge,
:root .tb-add,
:root .gob-rv-p,
:root .gob-foot-h,
:root .wheel-card .wheel-form-label,
:root .wheel-again,
:root .wheel-card .wheel-rewards-title,
:root .wheel-card .wheel-rewards li span,
:root .gob-facts small,
:root .gob-why .eyebrow,
:root .spin-gift-note strong{text-transform:none!important;letter-spacing:normal!important}
:root .eyebrow,:root .hv2 .eyebrow,:root .gob-why .eyebrow{font-size:14px!important}
/* Shop cards: "Notify me" on sold-out treats, styled like the product page button, 44px to tap */
.card-bottom .restock-notify-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px!important;padding:0 16px;border:1.5px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font:700 13px/1.2 var(--body);white-space:nowrap;cursor:pointer}
.card-bottom .restock-notify-button:hover{background:var(--ink);color:var(--paper)}

/* Unslop (Nov 2026): fewer pills. Pack chips and buttons keep their shape; decorative tags become plain text. */
.hv2 .offer{display:block!important;background:none!important;border-radius:0!important;padding:0!important;font-weight:600!important}
.hv2 .offer code{border:0!important;background:none!important;padding:0!important;font-weight:800!important;color:#102c22}
.shop-trust li,.tb-chips li,.tb-traits li{background:none!important;border:0!important;border-radius:0!important;padding:0!important;min-height:0!important;box-shadow:none!important}
.tb-chips li:not(:last-child)::after,.tb-traits li:not(:last-child)::after{content:" · ";color:#557064}
/* Footer email signup (13 Nov 2026): the consent text sat in the same row and squeezed the email box to 0px.
   Email + Join on one line; consent on its own line below. */
.email-row{flex-wrap:wrap;align-items:center;row-gap:6px}
.email-row input[type=email]{flex:1 1 180px;min-width:160px}
.email-row .footer-consent{order:3;flex:1 0 100%;display:flex;align-items:flex-start;gap:8px;margin:4px 0 8px;font-size:13px;line-height:1.4;color:#d8e2da}
.email-row .form-success{order:4;flex:1 0 100%}
/* footer contact links: one row, no dot separators (13 Nov) */
.footer-bottom .footer-contact{display:flex;flex-wrap:wrap;gap:4px 18px}
.footer-bottom .footer-contact a{display:inline-flex;align-items:center;min-height:44px}
/* Checkout consent tick-boxes: one per line, box beside its text (the marketing box ran on after "cookies.") */
.checkout-legal .policy-check{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;line-height:1.5}
.checkout-legal .policy-check input[type=checkbox]{margin-top:2px}

/* Nov 2026: buy buttons and sale tags in Rust Brown. Rust sits opposite the brand green,
   so "Add" and checkout stand out; white text on it reads at 7.4:1 (the old gold was 4.9:1).
   Keep rust for buying and offers only; headings, nav and footer stay green.
   To go back, delete this block. */
:root{--buy:#8d3d00;--buy-hover:#a3470a}
/* The main rules are in header-navigation.css and home-v2.css; these cover pages without them (checkout), the shop cards and sale tags. */
:root .button:not(.secondary):not(.whats),:root .quick-add,:root .sale-badge{background:var(--buy);border-color:var(--buy);color:#fffdf8}
:root .button:not(.secondary):not(.whats):hover,:root .quick-add:hover{background:var(--buy-hover);border-color:var(--buy-hover)}
/* ===== commerce.css ===== */
.commerce-wrap{max-width:1240px;margin:auto;padding:clamp(36px,7vw,86px) max(4vw,24px)}.commerce-title{font-family:var(--display);font-size:clamp(45px,6vw,76px);letter-spacing:-.025em;line-height:.94;margin:0 0 12px}.commerce-sub{max-width:58ch;color:var(--muted);margin:0 0 35px}.commerce-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:28px;align-items:start}.cart-panel,.order-panel,.checkout-form{background:var(--paper);border:1px solid var(--line)}.cart-panel{padding:clamp(18px,3vw,36px)}.cart-line{display:grid;grid-template-columns:92px 1fr auto;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.cart-line:first-child{padding-top:0}.cart-line img{width:92px;height:92px;object-fit:contain;background:var(--cream)}.cart-line h2{font-family:var(--display);font-size:25px;line-height:1;margin:0 0 7px}.cart-line p{margin:0;color:var(--muted);font-size:13px}.line-actions{display:flex;align-items:center;gap:14px;margin-top:11px}.mini-qty{display:flex;align-items:center;border:1px solid var(--line)}.mini-qty button{width:30px;height:30px;border:0;background:transparent;cursor:pointer;font-size:18px}.mini-qty span{min-width:25px;text-align:center;font-size:13px;font-weight:800}.remove-link{border:0;background:none;padding:0;color:var(--clay);font-size:12px;text-decoration:underline;cursor:pointer}.line-price{font-weight:800;align-self:start}.order-panel{position:sticky;top:100px;padding:25px}.order-panel h2{font-family:var(--display);font-size:30px;margin:0 0 20px}.order-row{display:flex;justify-content:space-between;gap:16px;margin:12px 0;color:var(--muted);font-size:14px}.order-row.total{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);font-weight:800;color:var(--ink);font-size:18px}.promo{display:flex;margin:22px 0;border:1px solid var(--line)}.promo input{width:100%;min-width:0;border:0;padding:12px;background:#fffdf8}.promo button{border:0;background:var(--ink);color:#fff;padding:0 13px;font-size:12px;font-weight:800;cursor:pointer}.order-note{margin:16px 0 0;font-size:12px;color:var(--muted);line-height:1.6}.checkout-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:start}.checkout-form{padding:clamp(20px,4vw,42px)}.form-section{padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--line)}.form-section:last-child{margin:0;padding:0;border:0}.form-section h2{font-family:var(--display);font-size:31px;margin:0 0 18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .wide{grid-column:1/-1}.payment-option{display:flex;align-items:start;gap:12px;padding:15px;border:1px solid var(--line);margin:8px 0;cursor:pointer}.payment-option:has(input:checked){background:#e4ebdf;border-color:var(--ink)}.payment-option input{margin-top:4px}.payment-option strong{display:block;font-size:14px}.payment-option small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.checkout-success{display:none;padding:18px;margin-top:18px;background:#e4ebdf;color:var(--ink)}.checkout-success.show{display:block}.empty-cart{padding:52px 12px;text-align:center}.empty-cart h2{font-family:var(--display);font-size:38px;margin:0 0 10px}.secure-strip{display:flex;gap:15px;padding:16px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}@media(max-width:850px){.commerce-grid,.checkout-layout{grid-template-columns:1fr}.order-panel{position:static}.commerce-wrap{padding-bottom:90px}}@media(max-width:520px){.cart-line{grid-template-columns:70px 1fr;gap:12px}.cart-line img{width:70px;height:70px}.line-price{grid-column:2}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.secure-strip{flex-direction:column;gap:6px}}

/* Checkout offer choices are cards, not a paragraph of controls. */
.checkout-promo{margin:20px 0;padding:15px;background:#fffdf8;border:1px solid #e4c46e}.checkout-promo>label{display:block;font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.checkout-promo .promo{margin:10px 0}.checkout-coupon-status{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
@media(max-width:520px){.commerce-wrap{padding:30px 16px 108px}.commerce-title{font-size:clamp(42px,13vw,56px)}.commerce-sub{margin-bottom:24px}.checkout-layout,.commerce-grid{gap:16px}.checkout-form,.order-panel,.cart-panel{padding:18px}.order-panel h2{font-size:28px}.form-section{padding-bottom:22px;margin-bottom:22px}.form-section h2{font-size:28px}.payment-option{padding:14px}.checkout-form>.button{min-height:52px}.checkout-success{font-size:14px;line-height:1.5}.checkout-success p{margin:9px 0 0}}
.checkout-perks{padding:20px!important;border:1px solid #e4c46e!important;background:#fffdf8!important}.checkout-perks h3{margin:0 0 13px;font-family:var(--display);font-size:28px;letter-spacing:-.025em;line-height:1}.checkout-perks>label{display:grid;grid-template-columns:19px minmax(0,1fr);align-items:start;gap:10px;margin:8px 0;padding:13px 14px;border:1px solid rgba(16,44,34,.16);background:var(--paper);color:var(--ink);font-size:13px;font-weight:700;line-height:1.35;cursor:pointer;transition:transform .18s,border-color .18s,background .18s}.checkout-perks>label:hover{transform:translateY(-1px);border-color:var(--gold)}.checkout-perks>label:has(input:checked){border-color:var(--ink);background:#e4ebdf;box-shadow:inset 4px 0 0 var(--gold)}.checkout-perks input{width:18px;height:18px;margin:0;accent-color:var(--ink);cursor:pointer}.checkout-perks small{display:block;margin-top:4px;color:var(--muted);font-size:12px;font-weight:600;line-height:1.5}.checkout-perks>label:last-child{margin-top:13px;border-style:dashed;background:#f5f0e7}.checkout-perks>label:last-child input{accent-color:var(--gold)}.checkout-perks>label:has(input:disabled){cursor:not-allowed;color:var(--ink-soft)}.checkout-perks>label:has(input:disabled):hover{transform:none;border-color:rgba(16,44,34,.16)}@media(max-width:520px){.checkout-perks{padding:15px!important}.checkout-perks>label{padding:12px;font-size:12px}.checkout-perks h3{font-size:25px}}
.checkout-perks a{color:var(--ink);font-weight:800;text-underline-offset:2px}.checkout-perks>label[hidden],.order-row[hidden]{display:none!important}.perk-status{margin:14px 0 0!important;padding:12px 13px!important;border:1px solid rgba(16,44,34,.15)!important;background:#f6efdf!important;color:var(--ink)!important;font-size:12px!important;font-weight:700!important;line-height:1.55!important}.line-price s{display:block;color:var(--muted);font-size:12px;font-weight:600}
.cart-save{margin:20px 0 0;padding:17px;border:1px solid #d8c58e;background:#fbf5df}.cart-save .eyebrow{margin:0 0 5px;color:#8a5a0e;font-size:12px}.cart-save h3{margin:0;font-family:var(--display);font-size:23px;line-height:1}.cart-save>p:not(.eyebrow){margin:8px 0 13px;color:var(--muted);font-size:12px;line-height:1.45}.cart-save form{display:grid;grid-template-columns:1fr 1fr auto;gap:7px}.cart-save input{min-width:0;border:1px solid var(--line);background:#fffef9;padding:10px;font:inherit;font-size:12px}.cart-save button{border:0;background:var(--ink);color:#fff;padding:0 12px;font-size:12px;font-weight:800;cursor:pointer}.cart-save-status{grid-column:1/-1;margin:1px 0 0;color:var(--muted);font-size:12px;line-height:1.4}.cart-save-status.success{color:#276344;font-weight:700}.cart-save-status.error{color:#a22c22;font-weight:700}.cart-assurance{display:grid;gap:4px;margin:18px 0 0;padding:14px 0;border-top:1px solid var(--line);font-size:12px;line-height:1.5}.cart-assurance strong{color:var(--ink);font-size:12px}.cart-assurance span{color:var(--muted)}@media(max-width:520px){.cart-save form{grid-template-columns:1fr}.cart-save input,.cart-save button{min-height:42px}.cart-save button{padding:11px}}
/* Checkout PIN-first: delivery status under the PIN field */
.pin-status{display:block;margin-top:7px;font:600 13px/1.45 var(--body,'DM Sans',sans-serif);color:#557064;min-height:0}
.pin-status.ok{color:#245b42}.pin-status.ok b{color:#102c22}
.pin-status.error{color:#b8442f}.pin-status.checking{color:#557064}
.payment-option.is-unavailable{opacity:.55}.payment-option .pay-note{display:block;font-style:normal;font-size:12px;color:#b8442f;margin-top:2px}

/* Nov 2026 audit fixes: visible field edges, readable payment note, button on one line */
.promo,.cart-save input{border-color:var(--muted)}
.payment-option:has(input:checked) small{color:var(--ink-soft)}
@media(max-width:380px){.checkout-form>.button{padding-inline:12px;letter-spacing:.06em;white-space:nowrap}}
.cart-save input,.cart-save button{min-height:44px}
/* Private birthday code: a full-width field you can type in (was squashed to 18px) */
.private-code label{display:grid;gap:6px;margin-top:10px}
.private-code input{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--muted);background:#fffdf8;color:var(--ink);font:inherit}
/* Cart "Remove" link: 44px tap target */
[data-delete]{min-height:44px;display:inline-flex;align-items:center;padding:0 6px}
/* Treat jar quantity buttons: 44px tap targets */
.mini-qty button{width:44px;height:44px}
/* Buy-more hint and price-check notes (commerce.js) */
.buy-more-hint{margin:14px 0 0;padding:10px 12px;border-left:3px solid #bd812a;background:#fbf4e6;color:#102c22;font-size:13px;font-weight:600;line-height:1.5}
.quote-message{margin:12px 0 0;padding:10px 12px;border:1px solid #e3b9ae;background:#fdf1ee;color:#102c22;font-size:13px;line-height:1.5}
.buy-more-hint[hidden],.quote-message[hidden]{display:none}
/* ===== header.css ===== */
.brand small{display:none!important}.compact-nav{gap:clamp(14px,2.3vw,34px)}
.login-trigger{min-height:44px;display:inline-flex;align-items:center;padding:0 8px;color:var(--ink);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.search-trigger{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 8px;border:0;background:transparent;color:var(--ink);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.search-trigger svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.search-trigger:hover,.login-trigger:hover{color:#96620f}
.login-trigger:hover{text-decoration:underline;text-underline-offset:4px}
.cart-trigger{position:relative;min-width:46px!important;width:46px;height:46px;padding:0!important;border-radius:50%!important;gap:0!important}
.jar-icon{width:22px;height:25px}.jar-count{position:absolute;right:-5px;top:-5px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border-radius:50%;background:#9a6418;color:var(--paper);font-size:12px;font-weight:800;line-height:1}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.toast.jar-toast{display:flex;align-items:center;gap:11px;right:24px;bottom:24px;padding:12px 16px 12px 12px;border:1px solid #e2be62;background:var(--ink);font-size:13px}.toast.jar-toast b{display:block;color:#f5d676;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.toast-jar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#f5d676;color:var(--ink);flex:none}.toast-jar svg{width:21px;height:23px}
@media(min-width:901px){.compact-nav a:nth-of-type(n+6){display:none}.compact-nav{gap:clamp(14px,2vw,30px)}}
@media(max-width:900px){.login-trigger,.search-trigger span{display:none}.search-trigger{min-width:44px;padding:0;justify-content:center}.nav-links.open.compact-nav a{display:block}.nav-links.open.compact-nav a:nth-of-type(n+5){display:block}}
@media(max-width:560px){.cart-trigger{width:44px;height:44px}.jar-count{right:-4px;top:-4px}.toast.jar-toast{right:12px;left:12px;bottom:14px;max-width:none}}
@media(prefers-reduced-motion:reduce){.toast.jar-toast{transition:none}}
.notice{overflow:hidden;min-height:35px;background:var(--ink);color:#fffdf8;white-space:nowrap}.notice-track{display:flex;width:max-content;animation:gob-ticker 30s linear infinite}.notice-track span{display:block;flex:none;padding:9px 0;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.notice:hover .notice-track{animation-play-state:paused}@keyframes gob-ticker{to{transform:translateX(-50%)}}.search-sheet{position:fixed;z-index:90;inset:0;display:grid;place-items:start center;padding:clamp(70px,12vh,130px) 18px 18px;background:rgba(16,44,34,.58);opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.search-sheet.open{opacity:1;visibility:visible}.search-panel{width:min(650px,100%);padding:clamp(22px,4vw,38px);background:var(--paper);box-shadow:var(--shadow);transform:translateY(-16px);transition:transform .24s}.search-sheet.open .search-panel{transform:none}.search-top{display:flex;align-items:start;justify-content:space-between;gap:16px}.search-top h2{margin:0;font-size:clamp(31px,5vw,48px)}.search-close{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);background:transparent;font-size:26px;line-height:1;cursor:pointer}.search-field{display:flex;align-items:center;gap:10px;margin:25px 0 14px;padding:0 14px;border:1px solid var(--ink);background:#fff}.search-field input{width:100%;min-width:0;padding:15px 0;border:0;outline:0;background:transparent;font-size:16px}.search-field span:last-child{font-size:26px}.search-results{display:grid;gap:8px}.search-results a{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:13px;padding:8px;border:1px solid transparent}.search-results a:hover{border-color:var(--line);background:var(--cream)}.search-results img{width:54px;height:54px;object-fit:contain;background:var(--gold-soft)}.search-results b,.search-results small{display:block}.search-results b{font-family:var(--display);font-size:19px}.search-results small{margin-top:1px;color:var(--muted);font-size:12px}.search-results i{font-style:normal;font-size:20px;color:#96620f}.search-results p{margin:7px 0;color:var(--muted)}@media(max-width:560px){.notice-track{animation-duration:23s}.notice-track span{font-size:12px}}
/* ===== reward-shortcut.css ===== */
.reward-shortcut{position:fixed;z-index:45;right:22px;bottom:22px;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 15px;border:1px solid #d8a52f;border-radius:999px;background:#102c22;color:#fffdf8;box-shadow:0 10px 28px rgba(16,44,34,.25);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:transform .2s,background .2s}
.reward-shortcut:hover,.reward-shortcut:focus-visible{background:#245b42;transform:translateY(-2px)}
.reward-shortcut svg{width:19px;height:19px;fill:#e7bd68;stroke:#e7bd68;stroke-width:1.5}
.reward-shortcut svg path:last-child{fill:none;stroke:#e7bd68;stroke-linecap:round}
@media(max-width:560px){
  /* One aligned bottom-right action stack: rewards above the wheel. */
  .reward-shortcut{right:16px;bottom:82px;min-width:50px;min-height:50px;padding:0;justify-content:center}
  .reward-shortcut span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .wheel-launch{right:16px;bottom:18px;left:auto;width:50px;height:50px;font-size:12px}
  body:has(.mobile-purchase-bar) .reward-shortcut{z-index:53;bottom:112px}
}
/* ===== form-feedback.css ===== */
/* Shared, accessible feedback for native storefront forms. */
:where(input, select, textarea)[aria-invalid="true"] {
  border-color: #a22d2d !important;
  box-shadow: 0 0 0 3px rgba(162, 45, 45, .13) !important;
}

.field-error {
  margin: .35rem 0 0;
  color: #9d2525;
  font-size: .86rem;
  font-weight: 650;
  line-height: 1.35;
}

button:disabled,
.button[aria-disabled="true"] {
  cursor: wait;
  opacity: .68;
}
/* ===== header-navigation.css ===== */
/* Do not silently drop links at desktop widths.  At tighter widths the full
   set moves into the existing Menu control instead of being clipped. */
.notice {
  position: sticky;
  top: 0;
  z-index: 45;
  min-height: 38px;
  overflow: hidden;
  background: #102c22;
}
.notice .gob-live-ticker { display: block; width: 100%; }
.notice .gob-live-ticker span {
  display: block;
  padding: 10px 16px;
  color: #fffdf8;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .07em;
  line-height: 1.35;
  text-align: center;
  text-transform: uppercase;
}
.nav { top: var(--gob-notice-height, 38px); }

@media (min-width: 1181px) {
  .compact-nav a:nth-of-type(n) { display: inline-flex !important; }
  .compact-nav { gap: clamp(10px, 1.55vw, 24px) !important; }
}

@media (min-width: 901px) and (max-width: 1180px) {
  .nav .menu-toggle { display: grid !important; }
  .nav .compact-nav { display: none !important; }
  .nav .compact-nav.open {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    padding: 16px 24px;
    background: var(--paper);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 12px 20px rgba(16,44,34,.08);
  }
  .nav .compact-nav.open a { display: block !important; padding: 12px 0; }
}

@media (max-width: 760px) {
  /* The live deadline is a primary sale cue on ad traffic. Keep it readable
     and pinned above the compact mobile navigation instead of letting it look
     like a clipped decorative ticker. */
  .notice { min-height: 40px; }
  .notice .gob-live-ticker span {
    min-height: 40px;
    display: grid;
    place-items: center;
    padding: 8px 12px;
    font-size: 12px;
    letter-spacing: .055em;
    line-height: 1.25;
    white-space: normal;
  }
  /* Keep the two floating actions in one reliable right-hand stack. */
  .wheel-launch {
    position: fixed !important;
    z-index: 54 !important;
    right: max(16px, env(safe-area-inset-right)) !important;
    bottom: max(16px, env(safe-area-inset-bottom)) !important;
    left: auto !important;
    width: 54px !important;
    height: 54px !important;
  }
  .reward-shortcut {
    position: fixed !important;
    z-index: 55 !important;
    right: max(16px, env(safe-area-inset-right)) !important;
    bottom: calc(max(16px, env(safe-area-inset-bottom)) + 66px) !important;
    min-width: 54px !important;
    min-height: 54px !important;
    padding: 0 !important;
    justify-content: center;
  }
  .reward-shortcut span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
  body:has(.mobile-purchase-bar) .wheel-launch {
    bottom: calc(max(16px, env(safe-area-inset-bottom)) + 66px) !important;
  }
  body:has(.mobile-purchase-bar) .reward-shortcut {
    bottom: calc(max(16px, env(safe-area-inset-bottom)) + 132px) !important;
  }

  /* Product imagery should sit on one clean surface, without coloured bands. */
  .product-card .product-image,
  .product-card .product-image.cream,
  .product-card .product-image.brown,
  .product-card .product-image.sage {
    background: #fffdf8 !important;
  }
  .product-card .product-image img {
    background: #fffdf8;
    mix-blend-mode: normal;
  }
}

/* Calmer screens: no floating launcher bubbles over the products */
.br-launch, .reward-shortcut { display: none !important; }

/* Readability: small gold labels were ~2.9:1 contrast and 9–11px. Darker gold for text on
   light backgrounds (5:1+) and a 12px minimum for labels, chips and the top bar. */
.notice .gob-live-ticker span { font-size: 12px !important; }
.eyebrow, .product-card .tag, .catalog-desc + .tag, .bestseller-tag, .v2-acc .eyebrow { color: #7a4f0e; }
.eyebrow { font-size: 12px !important; }
.product-card .tag, .bestseller-tag { font-size: 12px !important; }
.catalog-filters button, .catalog-filters a { font-size: 12px !important; min-height: 44px; }
.shop-trust li { font-size: 12px !important; }
/* keep light gold where the background is dark */
.footer .eyebrow, .hv2 .trial .eyebrow, .h-hero .eyebrow.on-dark, [class*="dark"] .eyebrow { color: #e7bd68; }
/* Benefit lines on product cards: show the whole sentence (was cut at 2 lines). */
.products .catalog-desc { -webkit-line-clamp: unset !important; display: block !important; overflow: visible !important; }
.strip b svg { width: 17px; height: 17px; }
/* Tap targets: quantity steppers at least 44 x 44 px */
.quantity button, .mini-qty button, .tb-qty button { min-width: 44px; min-height: 44px; }
.quantity { min-height: 44px; }
/* Buttons: deeper gold so white button text is easy to read (5:1 contrast) */
/* Buy buttons and offer tags: Rust Brown (see the note at the end of site.css). */
.button:not(.secondary):not(.whats), .tb-add, .hv2 .btn.gold, .journal-next button, .tb-badge.off { background: var(--buy, #8d3d00) !important; border-color: var(--buy, #8d3d00) !important; color: #fff !important; }
.button:not(.secondary):not(.whats):hover, .tb-add:hover, .hv2 .btn.gold:hover { background: var(--buy-hover, #a3470a) !important; border-color: var(--buy-hover, #a3470a) !important; }
/* Small labels stay gold. */
.option em, .jar-count { background: #9a6418 !important; border-color: #9a6418 !important; color: #fff !important; }
/* Icons: one weight and colour everywhere */
.v2-trust svg, .strip b svg, .ti svg { color: #102c22; }

/* Accepted payment methods */
.gob-pay{margin:18px 0 0}
.gob-pay-t{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.gob-pay-t svg{width:18px;height:18px;flex:0 0 18px}
.gob-pay ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.gob-pay-logos li{width:58px;height:38px;border-radius:7px;background:#fff;border:1px solid rgba(16,44,34,.14);display:grid;place-items:center;overflow:hidden}
.gob-pay-logos img{width:100%;height:100%;object-fit:contain;display:block}
.gob-pay-logos .gob-pay-upi img,.gob-pay-logos .gob-pay-rupay img,.gob-pay-logos .gob-pay-paytm img{padding:8px 7px}
.gob-pay-logos .gob-pay-visa img{padding:10px 8px}
.gob-pay-logos .gob-pay-googlepay img{padding:8px 6px}
.gob-pay-logos .gob-pay-mastercard,.gob-pay-logos .gob-pay-maestro{border:0}
.gob-pay-logos .gob-pay-mastercard img,.gob-pay-logos .gob-pay-maestro img{object-fit:cover}
.gob-pay-more{margin-top:8px !important}
.gob-pay-more li{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 11px;border-radius:7px;background:#fffdf8;color:#102c22;border:1px solid rgba(16,44,34,.14);font:800 12px/1 "DM Sans",Poppins,sans-serif}
.gob-pay-more li svg{width:16px;height:16px;color:#245b42}
.gob-pay-footer{padding:22px 0 0;margin-top:26px;border-top:1px solid rgba(255,253,248,.18)}
.gob-pay-footer .gob-pay-t{color:#e7bd68}
.gob-pay-product{margin-top:14px;padding-top:12px;border-top:1px dashed rgba(16,44,34,.15)}
.gob-pay-product .gob-pay-t{justify-content:center;color:#102c22}
.gob-pay-product ul{justify-content:center}
.v2-trust .gob-pay ul{display:flex !important;flex-wrap:wrap;justify-content:center;gap:6px;grid-template-columns:none !important}
.v2-trust .gob-pay li{flex:0 0 auto !important;box-shadow:none !important;padding:0 !important;min-height:0 !important}
.v2-trust .gob-pay-logos li{display:grid !important;width:54px !important;height:36px !important}
.v2-trust .gob-pay-more li{display:inline-flex !important;flex-direction:row !important;width:auto !important;min-height:30px !important;padding:0 10px !important;font-size:12px !important}
/* ===== trust.css ===== */
/* Trust details */
.gob-st{color:#96620f;letter-spacing:1px;font-size:14px}.gob-st i{font-style:normal;color:rgba(16,44,34,.2)}
.gob-card-rating{display:flex;align-items:center;gap:5px;margin:4px 0 2px;font-size:13px;color:#3d4a43}
.gob-card-rating b{color:#102c22;font-weight:800}
.gob-pdp-rating{display:inline-flex;align-items:center;gap:6px;margin:4px 0 6px;font-size:14px;color:#3d4a43;text-decoration:none}
.gob-pdp-rating .gob-st{font-size:16px}.gob-pdp-rating b{color:#102c22}.gob-pdp-rating span{text-decoration:underline;text-underline-offset:3px}
.gob-promise{display:flex;gap:10px;align-items:flex-start;margin:12px 0 0;padding:12px 14px;border-radius:12px;background:#f0f5ef;border:1px solid rgba(36,91,66,.18);text-align:left}
.gob-promise svg{width:22px;height:22px;flex:0 0 22px;color:#245b42;margin-top:1px}
.gob-promise p{margin:0;font-size:14px;line-height:1.5;color:#102c22}.gob-promise a{color:#245b42;font-weight:800}
.gob-courier{display:flex;gap:8px;align-items:flex-start;justify-content:flex-start;margin:12px 0 0;font-size:13.5px;color:#3d4a43;text-align:left}
.gob-courier svg{width:20px;height:20px;flex:0 0 20px;color:#102c22}.gob-courier a{color:#245b42;font-weight:800}
.gob-help{display:flex;gap:10px;align-items:center;margin:12px 0 0;padding:12px 14px;border-radius:12px;background:#fffdf8;border:1px solid rgba(16,44,34,.14);color:#102c22;text-decoration:none;font-size:14px;line-height:1.45}
.gob-help svg{width:22px;height:22px;flex:0 0 22px;color:#245b42}
.gob-cart-trust,.gob-checkout-trust{margin-top:16px}
.gob-pay-cart .gob-pay-t{color:#102c22}
/* homepage reviews */
.gob-rv-sum{flex-basis:100%;display:flex;align-items:center;gap:6px;margin:0;font-size:15px;color:#3d4a43}.gob-rv-sum .gob-st{font-size:18px}.gob-rv-sum b{color:#102c22}
.gob-rv-row{display:grid;grid-auto-flow:column;grid-auto-columns:min(82%,320px);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 14px;margin-top:14px;-webkit-overflow-scrolling:touch}
.gob-rv{margin:0;scroll-snap-align:start;background:#fffdf8;border:1px solid rgba(16,44,34,.12);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:10px;box-shadow:0 10px 26px rgba(16,44,34,.06)}
.gob-rv-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.gob-rv-p{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#7a4f0e}
.gob-rv blockquote{margin:0;font-size:15.5px;line-height:1.55;color:#102c22;flex:1}
.gob-rv figcaption{font-size:13px;font-weight:800;color:#245b42}
.gob-rv-note{margin:4px 0 0;font-size:13px;color:#557064}
/* footer contact + policies */
.gob-foot{display:grid;gap:22px;margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,253,248,.18)}
.gob-foot a{display:flex;align-items:center;gap:8px;color:inherit;text-decoration:none;padding:6px 0;opacity:.92}
.gob-foot a:hover{opacity:1;text-decoration:underline}
.gob-foot svg{width:18px;height:18px;flex:0 0 18px}
.gob-foot-h{margin:0 0 4px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#e7bd68}
.gob-foot-l{display:flex;flex-wrap:wrap;gap:0 18px;align-content:flex-start}.gob-foot-l .gob-foot-h{flex-basis:100%}
@media(min-width:880px){.gob-foot{grid-template-columns:1fr 1fr}}
/* contact page */
.gob-contact-cta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:18px 0 6px}
.gob-contact-cta p{flex-basis:100%;margin:2px 0 0;font-size:14px;color:#557064}
.gob-wa-btn,.gob-map-btn{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 20px;border-radius:999px;font-weight:800;font-size:15px;text-decoration:none}
.gob-wa-btn{background:#1f7a4d;color:#fff}.gob-wa-btn svg{width:20px;height:20px;color:#fff}
.gob-map-btn{background:#fffdf8;color:#102c22;border:1px solid rgba(16,44,34,.18)}.gob-map-btn svg{width:18px;height:18px}
#gobReviews .row-head{flex-wrap:wrap;align-items:flex-end;gap:8px 16px}#gobReviews .gob-rv-sum{white-space:nowrap}

/* Payment-logo row (copy of header-navigation.css, for checkout which has no header-navigation) */
/* Accepted payment methods */
.gob-pay{margin:18px 0 0}.gob-pay-t{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.gob-pay-t svg{width:18px;height:18px;flex:0 0 18px}.gob-pay ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.gob-pay-logos li{width:58px;height:38px;border-radius:7px;background:#fff;border:1px solid rgba(16,44,34,.14);display:grid;place-items:center;overflow:hidden}.gob-pay-logos img{width:100%;height:100%;object-fit:contain;display:block}.gob-pay-logos .gob-pay-upi img,.gob-pay-logos .gob-pay-rupay img,.gob-pay-logos .gob-pay-paytm img{padding:8px 7px}.gob-pay-logos .gob-pay-visa img{padding:10px 8px}.gob-pay-logos .gob-pay-googlepay img{padding:8px 6px}.gob-pay-logos .gob-pay-mastercard,.gob-pay-logos .gob-pay-maestro{border:0}.gob-pay-logos .gob-pay-mastercard img,.gob-pay-logos .gob-pay-maestro img{object-fit:cover}.gob-pay-more{margin-top:8px !important}.gob-pay-more li{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 11px;border-radius:7px;background:#fffdf8;color:#102c22;border:1px solid rgba(16,44,34,.14);font:800 12px/1 "DM Sans",Poppins,sans-serif}.gob-pay-more li svg{width:16px;height:16px;color:#245b42}.gob-pay-footer{padding:22px 0 0;margin-top:26px;border-top:1px solid rgba(255,253,248,.18)}.gob-pay-footer .gob-pay-t{color:#e7bd68}.gob-pay-product{margin-top:14px;padding-top:12px;border-top:1px dashed rgba(16,44,34,.15)}.gob-pay-product .gob-pay-t{justify-content:center;color:#102c22}.gob-pay-product ul{justify-content:center}.v2-trust .gob-pay ul{display:flex !important;flex-wrap:wrap;justify-content:center;gap:6px;grid-template-columns:none !important}.v2-trust .gob-pay li{flex:0 0 auto !important;box-shadow:none !important;padding:0 !important;min-height:0 !important}.v2-trust .gob-pay-logos li{display:grid !important;width:54px !important;height:36px !important}.v2-trust .gob-pay-more li{display:inline-flex !important;flex-direction:row !important;width:auto !important;min-height:30px !important;padding:0 10px !important;font-size:12px !important}
/* ===== mobile-polish.css ===== */
/* Mobile-first polish layer (loaded on every page from site.js).
   Phones are most of our traffic, so this file only changes screens up to
   760px wide; desktop is untouched. Kept in one place so it is easy to tune. */

/* Rotating offer bar is phone-only; desktop keeps the full one-line banner. */
.notice .mp-ticker, .notice .gob-live-ticker .mp-ticker { display: none !important; }
/* The menu copy of Log in is only for phones (the header shows it on desktop) */
@media (min-width: 761px) { .nav .compact-nav a.mp-login-link, .nav .nav-links a.mp-login-link { display: none !important; } }
/* Card price split (all widths): bold price, muted pack size */
.mp-price { color: var(--ink, #102c22); font-weight: 800; }
.mp-weight { margin-left: 6px; color: var(--muted, #557064); font-size: max(12px, .88em); font-weight: 600; }

/* Product page: the restock note sits under the quantity + Add row, full width */
.buy-row > .restock-notify-area { grid-column: 1 / -1 !important; width: 100%; margin-top: 4px; }

@media (max-width: 760px) {
  :root { --mp-notice: 34px; --mp-nav: 58px; }
  html { scroll-padding-top: calc(var(--mp-notice) + var(--mp-nav) + 8px); }
  body { -webkit-text-size-adjust: 100%; }

  /* ---- 1. Offer bar: one line that rotates through every offer ---- */
  .notice { position: sticky !important; top: 0 !important; min-height: var(--mp-notice) !important; height: var(--mp-notice) !important; overflow: hidden !important; }
  .notice .gob-live-ticker, .notice .mp-ticker { height: var(--mp-notice); }
  /* Original text stays readable to screen readers but is visually replaced */
  .notice .gob-live-ticker > span:not(.mp-ticker) { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important; padding: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; }
  .notice .gob-live-ticker .mp-ticker { position: relative; display: block !important; width: 100%; padding: 0 !important; }
  .notice .mp-ticker b {
    position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    padding: 0 14px; color: #fffdf8; font-size: 12px; font-weight: 800; letter-spacing: .06em;
    line-height: 1.2; text-align: center; text-transform: uppercase; white-space: nowrap;
    overflow: hidden; text-overflow: ellipsis;
    opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .2s ease, transform .3s ease, visibility 0s linear .2s;
  }
  .notice .mp-ticker b.is-on { opacity: 1; visibility: visible; transform: none; transition: opacity .3s ease .15s, transform .35s ease .15s, visibility 0s; }

  /* ---- 2. Compact header that sits flush under the offer bar ---- */
  .nav {
    position: sticky !important; top: var(--mp-notice) !important; z-index: 44 !important;
    min-height: var(--mp-nav) !important; height: var(--mp-nav); padding: 0 12px !important; gap: 8px !important;
    box-shadow: 0 1px 0 var(--line, rgba(16,44,34,.15));
  }
  .nav .brand img { width: auto !important; height: 38px !important; max-height: 38px !important; }
  .nav .brand small { display: none !important; }
  .nav .nav-actions { gap: 6px !important; }
  .nav .login-trigger, .nav .nav-actions > a[href*="login"] { display: none !important; }
  .nav .search-trigger { width: 44px !important; height: 44px !important; min-width: 44px; padding: 0 !important; display: grid !important; place-items: center; }
  .nav .search-trigger span:not(.sr-only) { display: none !important; }
  .nav .cart-trigger {
    position: relative; width: 44px !important; height: 44px !important; min-width: 44px !important;
    min-height: 44px !important; padding: 0 !important; display: grid !important; place-items: center;
  }
  .nav .cart-trigger svg { width: 20px; height: 20px; }
  .nav .cart-trigger .jar-count { top: -3px !important; right: -3px !important; min-width: 19px; height: 19px; font-size: 12px !important; line-height: 19px !important; }
  .nav .menu-toggle { min-height: 44px !important; padding: 0 12px !important; font-size: 14px !important; }
  .nav .compact-nav.open, .nav .nav-links.open { max-height: calc(100vh - var(--mp-notice) - var(--mp-nav)); overflow-y: auto; }
  .nav .compact-nav .mp-login-link { font-weight: 800; }

  /* ---- 3. Shop page header: less scrolling before the first treat ---- */
  .shop-hero { padding-top: 22px !important; padding-bottom: 14px !important; }
  .shop-hero .display { font-size: clamp(30px, 9vw, 40px) !important; line-height: 1.04 !important; margin-bottom: 8px !important; }
  .shop-hero .lead { font-size: 15px !important; line-height: 1.45 !important; margin-bottom: 10px !important; }
  .shop-trust {
    display: flex !important; flex-wrap: nowrap !important; gap: 8px !important; overflow-x: auto;
    margin: 0 -16px !important; padding: 2px 16px 6px !important; scrollbar-width: none; -webkit-overflow-scrolling: touch;
  }
  .shop-trust::-webkit-scrollbar, .catalog-filters::-webkit-scrollbar { display: none; }
  .shop-trust li { flex: none; white-space: nowrap; }
  .catalogue-section { padding-top: 10px !important; }
  .catalogue-section .section-head { margin-bottom: 10px !important; }
  .catalogue-section .section-title { font-size: 24px !important; line-height: 1.12 !important; }
  .catalogue-section .section-head .eyebrow { display: none; }

  /* Restock note: one tidy line instead of a paragraph */
  .catalogue-section .restock-notify-area {
    display: flex !important; align-items: center; gap: 8px; margin: 0 0 10px !important; padding: 9px 12px !important;
    border-radius: 10px; font-size: 12.5px !important; line-height: 1.35 !important;
  }
  .catalogue-section .restock-notify-area > span { display: none !important; }
  .catalogue-section .restock-notify-area::after { content: "Sold out? Tap Notify me on the treat."; color: inherit; opacity: .85; }

  /* Category filters: one swipeable row that stays in reach */
  .catalog-filters {
    position: sticky; top: calc(var(--mp-notice) + var(--mp-nav)); z-index: 30;
    display: flex !important; flex-wrap: nowrap !important; gap: 8px !important; overflow-x: auto;
    margin: 0 -16px 12px !important; padding: 10px 16px !important;
    background: var(--paper, #fffdf8); box-shadow: 0 6px 12px -10px rgba(16,44,34,.35);
    scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity;
  }
  .catalog-filters .filter {
    flex: none; min-height: 44px !important; padding: 0 14px !important; border-radius: 999px !important;
    font-size: 12px !important; letter-spacing: .04em !important; white-space: nowrap; scroll-snap-align: start;
  }

  /* ---- 4. Product cards: image, name, bold price, one clear button ---- */
  #liveCatalog, .catalogue-section .products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  .products .product-card:not([data-home-product]) { display: flex !important; flex-direction: column; border-radius: 14px !important; overflow: hidden; }
  .products .product-card:not([data-home-product]) > a:first-child { display: block; }
  .products .product-card:not([data-home-product]) .product-image { aspect-ratio: 1 / 1 !important; height: auto !important; min-height: 0 !important; }
  .products .product-card:not([data-home-product]) .product-image img { width: 100%; height: 100%; object-fit: cover; }
  .products .product-card:not([data-home-product]) .card-copy { display: flex !important; flex: 1; flex-direction: column; gap: 4px !important; padding: 10px 10px 12px !important; }
  .products .product-card:not([data-home-product]) .tag {
    display: flex !important; align-items: center; gap: 6px; margin: 0 !important; min-width: 0;
    font-size: 12px !important; letter-spacing: .06em !important; line-height: 1.2 !important;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex-wrap: wrap; row-gap: 4px;
  }
  .products .product-card:not([data-home-product]) .bestseller-tag { flex: none; padding: 2px 6px !important; font-size: 12px !important; }
  .products .product-card:not([data-home-product]) h3 {
    margin: 2px 0 0 !important; font-size: 17px !important; line-height: 1.15 !important;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 0 !important;
  }
  .products .product-card:not([data-home-product]) .catalog-desc { display: none !important; }
  .products .product-card:not([data-home-product]) .card-bottom {
    display: flex !important; flex-direction: column !important; align-items: stretch !important;
    gap: 8px !important; margin-top: auto !important; padding-top: 6px !important;
  }
  .products .product-card:not([data-home-product]) .card-bottom > span:first-child { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; font-size: 12px !important; color: var(--muted, #557064); }
  .mp-price { color: var(--ink, #102c22); font-size: 17px; font-weight: 800; letter-spacing: -.01em; }
  .mp-weight { color: var(--muted, #557064); font-size: 12px; font-weight: 600; }
  .products .product-card:not([data-home-product]) .quick-add, .products .product-card:not([data-home-product]) .card-bottom > a {
    width: 100% !important; min-height: 44px !important; height: auto !important; margin: 0 !important;
    border-radius: 999px !important; font-size: 14px !important; justify-content: center;
  }
  /* "Notify me" is secondary while a treat is in stock, primary once it sells out */
  .products .product-card:not([data-home-product]) .restock-notify-button {
    align-self: center; min-height: 32px; margin: -2px 0 0 !important; padding: 4px 8px !important;
    border: 0 !important; background: none !important; box-shadow: none !important;
    color: var(--ink-soft, #245b42) !important; font-size: 12.5px !important; font-weight: 700 !important;
    text-decoration: underline; text-underline-offset: 3px;
  }
  .products .product-card:not([data-home-product]).mp-sold-out .restock-notify-button {
    align-self: stretch; min-height: 42px; border: 1.5px solid var(--ink, #102c22) !important; border-radius: 999px !important;
    text-decoration: none; font-size: 14px !important;
  }
  .products .product-card:not([data-home-product]).mp-sold-out .quick-add { display: none !important; }
  .products .product-card:not([data-home-product]).mp-sold-out .product-image img { filter: grayscale(.35); opacity: .8; }
  .products .product-card:not([data-home-product]) .stock-note { margin: 2px 0 0 !important; font-size: 12px !important; text-align: center; }
  .products .product-card:not([data-home-product]) .stock-note::before { content: "● "; font-size: 12px; vertical-align: 1px; }
  /* Keep Add buttons level across a row: stock note sits above the price, never below the button */
  .products .product-card:not([data-home-product]) .card-copy > .stock-note { order: 1; margin-top: auto !important; text-align: left; }
  .products .product-card:not([data-home-product]) .card-copy > .card-bottom { order: 2; }
  .products .product-card:not([data-home-product]) .card-copy:has(> .stock-note) > .card-bottom { margin-top: 0 !important; }

  /* Product page restock note: short and tidy */
  .buy-row > .restock-notify-area { display: flex !important; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; padding: 10px 12px !important; font-size: 13px !important; line-height: 1.4 !important; }
  .buy-row > .restock-notify-area > span { display: none !important; }
  .buy-row > .restock-notify-area::after { content: "Sold out or want more? Tap Notify me and we'll tell you when it's back."; }

  /* ---- 5. Floating buttons: small, out of the way, never over checkout ---- */
  .br-launch {
    left: 12px !important; bottom: calc(12px + env(safe-area-inset-bottom)) !important;
    width: 52px !important; height: 52px !important; min-height: 52px !important; padding: 0 !important;
    border-radius: 50% !important; justify-content: center !important; gap: 0 !important;
  }
  .br-launch .br-txt { display: none !important; }
  .br-launch .br-medal { margin: 0 !important; }
  .reward-shortcut {
    right: 12px !important; bottom: calc(12px + env(safe-area-inset-bottom)) !important;
    min-width: 46px !important; min-height: 46px !important; width: 46px; height: 46px; padding: 0 !important;
    border-radius: 50% !important; justify-content: center !important;
  }
  .reward-shortcut span:not(.sr-only):not([aria-hidden="true"]) { display: none !important; }
  body.mp-hide-floaters .br-launch, body.mp-hide-floaters .reward-shortcut { display: none !important; }
  body.has-cart-sticky .br-launch, body.has-cart-sticky .reward-shortcut { bottom: calc(84px + env(safe-area-inset-bottom)) !important; }
  body.mp-scrolling-down .br-launch, body.mp-scrolling-down .reward-shortcut { transform: translateY(calc(100% + 24px)); transition: transform .25s ease; }
  .br-launch, .reward-shortcut { transition: transform .25s ease; }

  /* ---- 6. Comfortable tap targets and readable forms ---- */
  input, select, textarea { font-size: 16px !important; } /* stops iOS zooming into fields */
  .button, button.button, a.button { min-height: 46px; }
}

@media (max-width: 380px) {
  .products .product-card:not([data-home-product]) h3 { font-size: 15.5px !important; }
  .mp-price { font-size: 16px; }
  .nav .menu-toggle { padding: 0 8px !important; }
}

/* Notify me only once a treat has sold out */
.products .product-card:not(.mp-sold-out) .restock-notify-button { display: none !important; }
