/* FUDO official logo and brand palette — 2026-10-07. Loaded after all component styles. */
/* Two distinct storefronts; the native runtime remains responsible for commerce. */
.service-preparing main{visibility:hidden}.service-preparing:has(dialog[open]) main{visibility:visible;filter:blur(5px);pointer-events:none}
.service-entry{background:#f7faf4;color:#203019;min-height:100svh}.choice-header{display:flex;align-items:center;justify-content:space-between;max-width:1140px;margin:auto;padding:30px 28px}.choice-header .language-control{background:#fff;border:1px solid #dce9d2;border-radius:30px;padding:5px 13px}.choice-main{max-width:1100px;margin:36px auto 0;padding:0 28px 48px}.choice-heading{text-align:center;margin-bottom:38px}.choice-eyebrow{color:#376e0c;font-size:11px;letter-spacing:.16em;font-weight:700;margin-bottom:18px}.choice-heading h1{font-size:clamp(32px,4.6vw,60px);letter-spacing:-.05em;line-height:1.08;max-width:800px;margin:0 auto 18px;text-wrap:balance}.choice-heading>p:last-child{color:#65715e;font-size:16px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-choice-card{position:relative;display:flex;flex-direction:column;border-radius:28px;background:#fff;border:1px solid #dce9d2;overflow:hidden;box-shadow:0 12px 38px #315c0c09;transition:transform .2s,box-shadow .2s}.service-choice-card:hover{transform:translateY(-5px);box-shadow:0 20px 48px #315c0c18}.service-choice-card:focus-visible{outline:3px solid #376e0c;outline-offset:5px}.choice-art{display:flex;align-items:center;justify-content:center;height:188px;position:relative;background:#f4ebdd}.choice-art:before,.choice-art:after{content:'';position:absolute;border:1px solid #53a51226;border-radius:50%;height:205px;width:205px}.choice-art:after{height:267px;width:267px;border-style:dashed}.choice-art>svg{height:78px;width:78px;stroke:#376e0c;stroke-width:1.25;fill:none;z-index:1}.choice-products .choice-art{background:#eaf4e0}.choice-copy{padding:27px 30px 28px;background:#53a512;color:#fff;flex:1;display:flex;flex-direction:column;position:relative}.choice-copy h2{font-size:38px;line-height:1.1;letter-spacing:-.04em;margin:0 0 11px;color:#fff}.choice-description{font-size:14px;line-height:1.65;margin:0 45px 25px 0;color:#fff}.choice-action{font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:auto;color:#fff}.choice-action svg{width:39px;height:39px;border:1px solid #ffffff85;border-radius:50%;padding:9px;stroke:currentColor;fill:none;stroke-width:1.6}.choice-note{text-align:center;font-size:12px;color:#65715e;margin:27px 0 0}.choice-footer{max-width:1044px;margin:0 auto;padding:20px 0 30px;border-top:1px solid #dce9d2;text-align:center;font-size:11px;color:#65715e}.choice-status{padding:14px;border:1px solid #dce9d2;border-radius:12px;background:#fff;margin-bottom:18px}[aria-disabled=true].service-choice-card{opacity:.6;cursor:not-allowed}
.service-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:62px;border-bottom:1px solid #e6eddf;padding-top:8px;padding-bottom:8px}.service-bar-caption{font-size:12px;font-weight:600;color:#65715e}.service-tabs{display:flex;gap:5px;padding:4px;background:#f1f6eb;border:1px solid #e0ead7;border-radius:50px}.service-tab{display:flex;align-items:center;justify-content:center;gap:8px;min-width:123px;padding:9px 20px;border-radius:26px;font-size:13px;font-weight:700;color:#376e0c;transition:background .18s}.service-tab:hover{background:#e2f0d5}.service-tab.active,.service-tab.active:hover{background:#53a512;color:#fff}.service-tab>svg{fill:none;stroke:currentColor}.site-header:has(.service-bar) .location-trigger{display:none}.fudo-choice-dialog{width:min(660px,calc(100vw - 32px));max-height:calc(100svh - 32px);border:0;border-radius:25px;padding:0;color:#203019}.fudo-choice-dialog::backdrop{background:#1724109e;backdrop-filter:blur(8px)}.fudo-choice-box{padding:34px}.fudo-choice-box h2{font-size:30px;line-height:1.2;letter-spacing:-.035em;margin:0 0 15px}.fudo-choice-box p{font-size:14px;line-height:1.75}.choice-subtitle{color:#65715e;margin-bottom:20px}.choice-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.service-mini-card{background:#f2f8ed;border:1px solid #d6e6c8;border-radius:20px;padding:26px 20px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:14px;color:#376e0c;min-height:180px;cursor:pointer}.service-mini-card:hover{background:#e8f4df;border-color:#53a512}.service-mini-card strong{font-size:24px}.service-mini-card small{color:#65715e;font-size:12px;line-height:1.6}.service-confirm-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.service-confirm-actions .button{flex:1;min-width:175px}
[data-service=food]{background:#fcfaf6}[data-service=food] .meal-hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:380px;margin-top:24px;border-radius:28px;overflow:hidden;background:#53a512;color:#fff}.meal-copy{padding:42px 44px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.meal-eyebrow{font-size:10px;letter-spacing:.17em;font-weight:700;margin-bottom:21px}.meal-copy h1{font-size:clamp(38px,4.6vw,67px);white-space:pre-line;line-height:1.04;letter-spacing:-.045em;margin:0 0 19px;color:#fff}.meal-copy p:not(.meal-eyebrow){font-size:14px;line-height:1.7;max-width:315px;color:#fff;margin-bottom:25px}.meal-copy .btn{background:#fff;color:#376e0c}.meal-visual{background:#f2eadb;position:relative;display:grid;place-items:center;min-height:330px;overflow:hidden}.meal-visual>.icon{height:100px;width:100px;color:#53a512}.meal-visual>.image-wrap{position:absolute;inset:0}.meal-visual img{width:100%;height:100%;object-fit:cover}.meal-caption{position:absolute;bottom:22px;left:22px;border:1px solid #d6e6c8;background:#ffffffed;color:#376e0c;padding:10px 15px;border-radius:30px;font-size:10px;letter-spacing:.1em;font-weight:700}.meal-menu{padding-top:43px;padding-bottom:55px;scroll-margin-top:20px}.meal-menu-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px}.meal-menu-heading h2{font-size:34px;letter-spacing:-.04em;margin:0 0 10px}.meal-menu-heading p{color:#65715e;font-size:13px}.meal-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:0 0 23px}.meal-controls select{border:1px solid #dce9d2;border-radius:12px;padding:12px 16px;background:#fff;font:inherit;font-size:13px;max-width:100%}.meal-controls label{display:flex;gap:8px;align-items:center;font-size:12px}.meal-controls input{accent-color:#376e0c}.meal-menu #active-filters{margin-bottom:20px}
[data-service=food] #catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}[data-service=food] #catalog-grid .product-card{display:grid;grid-template-columns:154px minmax(0,1fr);padding:12px;border-radius:20px;background:#fff}[data-service=food] #catalog-grid .product-media{aspect-ratio:1;margin:0;min-height:154px;border-radius:14px;background:#faf6ef}[data-service=food] #catalog-grid .product-media img{object-fit:cover}[data-service=food] #catalog-grid .product-card-body{padding:8px 6px 8px 18px}[data-service=food] #catalog-grid .product-title{font-size:16px;line-height:1.35;min-height:0}[data-service=food] #catalog-grid .product-brand{display:none}[data-service=food] #catalog-grid .product-meta{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.6;margin-top:8px;margin-bottom:15px}[data-service=food] #catalog-grid .product-add{width:38px;height:38px;flex-basis:38px}[data-service=food] .product-gallery{background:#f2eadb}[data-service=food] .product-detail-layout{gap:38px}[data-service=food] .category-nav-wrap{background:#fff}[data-service=food] #brand-filter{display:none}
@media(max-width:1000px){[data-service=food] #catalog-grid .product-card{grid-template-columns:118px minmax(0,1fr)}[data-service=food] #catalog-grid .product-media{min-height:118px}.meal-copy{padding:32px}.meal-copy h1{font-size:48px}}
@media(max-width:800px){[data-service=food] #catalog-grid{grid-template-columns:1fr}[data-service=food] #catalog-grid .product-card{grid-template-columns:140px minmax(0,1fr)}.choice-main{margin-top:20px}.choice-header{padding-top:22px}.choice-copy{padding:23px}.choice-copy h2{font-size:33px}.choice-art{height:162px}}
@media(max-width:600px){.choice-header{padding:20px}.choice-main{padding:0 18px 30px;margin-top:12px}.choice-heading{margin-bottom:24px}.choice-heading h1{font-size:34px}.choice-heading>p:last-child{font-size:14px}.choice-eyebrow{font-size:9px}.choice-grid{gap:14px;grid-template-columns:1fr}.service-choice-card{display:grid;grid-template-columns:98px minmax(0,1fr);border-radius:22px;min-height:165px}.choice-art{height:100%;min-height:165px;overflow:hidden}.choice-art>svg{height:52px;width:52px}.choice-art:before{width:118px;height:118px}.choice-art:after{width:160px;height:160px}.choice-copy{padding:20px}.choice-copy h2{font-size:28px;margin-bottom:7px}.choice-description{font-size:12px;margin:0 0 13px;line-height:1.5}.choice-action{font-size:11px}.choice-action svg{width:29px;height:29px;padding:6px}.choice-footer{margin:0 18px}.service-bar{min-height:55px;gap:10px}.service-bar-caption{font-size:10px}.service-tab{min-width:0;padding:8px 12px;font-size:11px;gap:6px}.service-tab svg{width:16px;height:16px}.fudo-choice-box{padding:24px}.fudo-choice-box h2{font-size:26px}.choice-mini-grid{gap:10px}.service-mini-card{padding:19px 14px;min-height:177px}.service-mini-card strong{font-size:21px}.service-mini-card small{font-size:11px}[data-service=food] .meal-hero{display:flex;flex-direction:column;margin-top:16px;border-radius:22px}.meal-copy{padding:28px}.meal-copy h1{font-size:46px}.meal-copy p:not(.meal-eyebrow){font-size:12px}.meal-visual{min-height:240px}.meal-eyebrow{font-size:9px;margin-bottom:17px}.meal-caption{bottom:17px;left:17px;font-size:8px}.meal-menu{padding-top:29px;padding-bottom:36px}.meal-menu-heading h2{font-size:29px}.meal-menu-heading p{font-size:11px}.meal-controls{gap:9px}.meal-controls select{font-size:11px;padding:10px;max-width:47%}[data-service=food] #catalog-grid{gap:12px}[data-service=food] #catalog-grid .product-card{grid-template-columns:110px minmax(0,1fr);padding:9px;border-radius:16px}[data-service=food] #catalog-grid .product-media{min-height:110px}[data-service=food] #catalog-grid .product-card-body{padding:5px 2px 5px 12px}[data-service=food] #catalog-grid .product-title{font-size:14px}[data-service=food] #catalog-grid .product-meta{font-size:11px;margin-top:5px;margin-bottom:10px}.meal-menu-heading{align-items:start}.meal-menu-heading>.page-count{font-size:10px;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.service-choice-card,.service-tab{transition:none}.service-choice-card:hover{transform:none}}

:root{--brand:#53A512;--brand-hover:#4A9510;--brand-text:#376E0C;--on-brand:#FFFFFF;--forest:var(--brand);--forest-dark:var(--brand-hover);--leaf:#EEF7E8;--leaf-light:#EEF7E8;--cream:#F8FBF5;--paper:#FFFFFF;--ink:#1F2A17;--muted:#65715E;--line:#DCE9D2;--soft:#F1F7EB;--green:var(--brand);--border:var(--line)}
::selection{background:var(--brand);color:var(--on-brand)}
.brand{gap:0;color:var(--brand);flex:none;line-height:1}.brand::before,.brand::after{content:none}.brand .fudo-logo{display:block;width:164px;height:49px;max-width:100%;flex:none;overflow:visible}.brand .fudo-logo path{fill:var(--brand)}.footer-brand .brand .fudo-logo{width:190px;height:57px}
.announcement{background:var(--brand);color:var(--on-brand)}.announcement-dot{background:var(--on-brand)}
.hero{background:var(--brand);color:var(--on-brand)}.hero-title{color:#fff}.hero-title em{color:var(--on-brand)}.hero-eyebrow,.hero-description,.hero-bottom-note,.hero-bottom .text-link,.hero-eyebrow .icon,.hero-bottom-note>.icon{color:var(--on-brand)}.hero-visual{background:#EEF7E8}.hero-image-shade{background:linear-gradient(90deg,rgba(83,165,18,.1),transparent 30%)}.hero-stamp{background:#fff;color:var(--brand-text)}.hero-visual-caption{color:var(--brand-text)}
.btn-primary,.button-primary,.product-add,.add-to-cart,.add-button,.add-btn{background:var(--brand);color:var(--on-brand)}.btn-primary:hover,.button-primary:hover,.product-add:hover,.add-to-cart:hover,.add-button:hover,.add-btn:hover{background:var(--brand-hover);color:var(--on-brand)}.btn-leaf,.button-leaf,.btn-soft{background:var(--leaf-light);color:var(--brand-text)}.btn-leaf:hover,.button-leaf:hover,.btn-soft:hover{background:#E0F0D2;color:var(--brand-text)}.btn-white,.btn-secondary,.btn-outline,.button-secondary,.button-outline,.text-link,.text-button{color:var(--brand-text)}
.cart-count,.pill,.badge,.product-favorite[aria-pressed=true],.favorite-button[aria-pressed=true],.favorite-btn[aria-pressed=true]{background:var(--leaf-light);color:var(--brand-text)}.product-favorite[aria-pressed=true] svg,.favorite-button[aria-pressed=true] svg,.favorite-btn[aria-pressed=true] svg{fill:currentColor}.product-badge{background:var(--brand);color:var(--on-brand)}
.category-chip.active,.category-nav>.active,.category-chip[aria-current=page],.category-chip:hover,.category-nav>a:hover,.category-nav>button:hover,.search-submit,.location-trigger .icon,.header-icon:hover{color:var(--brand-text)}.category-chip.active:after,.category-nav>.active:after{background:var(--brand)}.search-form:focus-within{border-color:var(--brand);box-shadow:0 0 0 2px var(--leaf-light)}
.eyebrow,.page-title,.product-price,.price,.product-detail-price,.cart-item-price,.order-card-total,.summary-row.total,.summary-total,.summary-row.total strong,.summary-total strong,.summary-row.total>span{color:var(--brand-text)}.pantry-promo{background:var(--leaf-light)}.pantry-promo h2,.info-hero h1,.footer-heading,.footer-cta h3{color:var(--brand-text)}.quick-link-icon,.step-number,.category-tile-icon,.empty-state>svg,.empty-state-icon,.empty-icon,.order-success .success-icon{background:var(--leaf-light);color:var(--brand-text)}.quick-link:hover .quick-link-copy strong,.product-card-body h3 a:hover,.product-title a:hover,.product-name a:hover{color:var(--brand-text)}.category-tile:hover,.product-card:hover{border-color:#9BC874}
.filter-pill,.stock-pill,.account-status-pill{background:var(--leaf-light);color:var(--brand-text)}.filter-pill:hover{background:#E0F0D2}.stock-pill:before{background:var(--brand)}.stock-pill.unavailable{background:#F5EDE7;color:#926F61}.option-choice:has(input:checked),.payment-choice:has(input:checked){background:var(--leaf-light);border-color:var(--brand)}.option-choice input,.payment-choice input,.checkbox-field input,.radio-card input,.payment-option input{accent-color:var(--brand-text)}.option-set.has-error .option-choice{border-color:#C96D56}.address-confirmed{background:var(--leaf-light)!important;border-color:var(--brand)!important}.quantity-button,.quantity-control button,.quantity-stepper button,.location-option,.store-filter button{color:var(--brand-text)}.quantity-button:hover,.quantity-control button:hover{background:var(--leaf-light)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.account-form input:focus-visible{outline-color:var(--brand-text)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--leaf-light);outline-color:var(--brand-text)}
.fudo-account,.fudo-orders{--account-border:var(--line);--account-green:var(--brand-text);--account-muted:var(--muted)}.account-text-button,.account-password-toggle,.account-order-open,.account-eyebrow,.account-balance-value,.account-tab.is-active{color:var(--brand-text)}.account-tabs,.account-tracking{background:var(--leaf-light)}.account-order-card:hover,.account-order-card.is-selected{border-color:var(--brand);background:#F7FBF2}
.help-card{background:var(--brand);color:var(--on-brand)}.help-card p,.help-card .icon,.help-card h2{color:var(--on-brand)}.site-footer{background:var(--leaf-light);border-color:var(--line)}.footer-brand p,.footer-links,.footer-bottom{color:#596A4D}.footer-links a:hover,.mobile-nav a.active,.mobile-nav a[aria-current=page]{color:var(--brand-text)}.mobile-nav a.active:before,.mobile-nav a[aria-current=page]:before{background:var(--brand)}.toast:not([data-kind=error]):not(.error){background:var(--brand);color:var(--on-brand)}
@media(max-width:1050px){.brand .fudo-logo{width:146px;height:44px}}
@media(max-width:600px){.brand .fudo-logo{width:140px;height:42px}.footer-brand .brand .fudo-logo{width:158px;height:48px}}
@media(max-width:370px){.brand .fudo-logo{width:124px;height:38px}.footer-brand .brand .fudo-logo{width:140px;height:42px}}

/* Selected category — same brand green and white lettering on every language. */
#category-nav{gap:8px;padding-block:6px;scroll-padding-inline:4px}
#category-nav>a.category-link{flex:0 0 auto;min-height:36px;padding:8px 14px;border:1px solid transparent;border-radius:999px;line-height:1.4;font-weight:600;white-space:nowrap;transition:background-color .15s,color .15s,border-color .15s}
#category-nav>a.category-link:hover{background:var(--leaf-light);color:var(--brand-text)}
#category-nav>a.category-link.active,#category-nav>a.category-link[aria-current=page]{background:var(--brand);border-color:var(--brand);color:var(--on-brand,#fff);font-weight:700}
#category-nav>a.category-link.active:hover,#category-nav>a.category-link[aria-current=page]:hover{background:var(--brand-hover);border-color:var(--brand-hover);color:var(--on-brand,#fff)}
#category-nav>a.category-link.active:after,#category-nav>a.category-link[aria-current=page]:after{content:none}
#category-nav>a.category-link:focus-visible{outline:2px solid var(--brand-text);outline-offset:2px}
#category-filter.is-category-active{background-color:var(--brand);border-color:var(--brand);color:var(--on-brand,#fff);font-weight:700}
#category-filter option{background:#fff;color:var(--ink)}
#active-filters>.category-filter-pill{background:var(--brand);color:var(--on-brand,#fff)}
#active-filters>.category-filter-pill:hover{background:var(--brand-hover);color:var(--on-brand,#fff)}
#category-tiles>a.category-tile.active{background:var(--brand);border-color:var(--brand);color:var(--on-brand,#fff)}
#category-tiles>a.category-tile.active .category-tile-name,#category-tiles>a.category-tile.active>svg{color:var(--on-brand,#fff)}
#category-tiles>a.category-tile.active .category-tile-icon{background:#ffffff26;color:var(--on-brand,#fff)}
@media(max-width:600px){#category-nav{gap:6px;padding-block:5px}#category-nav>a.category-link{min-height:34px;padding:8px 12px;font-size:11px}}
@media(prefers-reduced-motion:reduce){#category-nav>a.category-link{transition:none}}

/* Compact product lists: never reserve an empty column or a missing photo. */
.product-card .product-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.5;color:var(--muted);margin:6px 0 8px;min-height:0;max-height:3em}
.product-card .product-meta.product-unit-note{display:block;line-clamp:unset;-webkit-line-clamp:unset;margin:0 0 8px;min-height:0;color:var(--muted);font-size:11px}
#product-details>.product-description{display:block;overflow:visible;max-height:none;height:auto;line-clamp:unset;-webkit-line-clamp:unset;padding:22px 0 0;margin:22px 0 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
#product-details>.product-description h2{font-size:20px;line-height:1.25;color:var(--ink);margin:0 0 12px}
#product-details>.product-description p{display:block;overflow:visible;max-height:none;line-clamp:unset;-webkit-line-clamp:unset;white-space:pre-line;font-size:14px;line-height:1.75;margin:0;color:var(--muted)}
#product-details>.product-description p+p{margin-top:14px}
body[data-service=food] :is(#catalog-grid,#featured-products,#favorites-grid){grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch;grid-auto-rows:auto}
body[data-service=food] :is(#catalog-grid,#featured-products,#favorites-grid) .product-card{display:flex;flex-direction:row;align-items:stretch;gap:14px;padding:12px;width:100%;min-width:0;min-height:0;height:auto;border-radius:18px;grid-template-columns:none}
body[data-service=food] :is(#catalog-grid,#featured-products,#favorites-grid) .product-card>.product-media{flex:0 0 120px;width:120px;height:120px;min-height:0;max-height:120px;aspect-ratio:1;margin:0;border-radius:12px;align-self:flex-start}
body[data-service=food] :is(#catalog-grid,#featured-products,#favorites-grid) .product-media img{width:100%;height:100%;object-fit:cover}
body[data-service=food] :is(#catalog-grid,#featured-products,#favorites-grid) .product-card>.product-card-body{display:flex;flex:1 1 0%;flex-direction:column;align-self:stretch;width:auto;min-width:0;min-height:0;padding:0;overflow:hidden}
body[data-service=food] :is(#catalog-grid,#featured-products,#favorites-grid) .product-title{font-size:15px;line-height:1.35;min-height:0;margin:0;overflow-wrap:anywhere}
body[data-service=food] :is(#catalog-grid,#featured-products,#favorites-grid) .product-brand{display:none}
body[data-service=food] :is(#catalog-grid,#featured-products,#favorites-grid) .product-summary{margin:7px 0 9px;font-size:12px;line-height:1.5}
body[data-service=food] :is(#catalog-grid,#featured-products,#favorites-grid) .price-row{margin-top:auto;padding-top:8px;gap:8px;min-width:0;width:100%}
body[data-service=food] :is(#catalog-grid,#featured-products,#favorites-grid) .product-price{font-size:17px;white-space:normal;overflow-wrap:anywhere}
body[data-service=food] :is(#catalog-grid,#featured-products,#favorites-grid) .product-add{width:34px;height:34px;flex:0 0 34px;margin-left:auto}
body[data-service=food] :is(#catalog-grid,#featured-products,#favorites-grid) .product-card.is-text-only{min-height:0;align-self:start}
body[data-service=food] :is(#catalog-grid,#featured-products,#favorites-grid) .is-text-only>.product-media{display:none}
body[data-service=food] :is(#catalog-grid,#featured-products,#favorites-grid) .is-text-only .product-title{padding-right:38px}
body[data-service=food] :is(#catalog-grid,#featured-products,#favorites-grid) .is-text-only>.product-favorite{top:10px;right:10px}
body[data-service=food] :is(#catalog-grid,#featured-products,#favorites-grid) .is-text-only>.product-badge{position:static;align-self:flex-start;order:-1}
body[data-service=food] .product-card .product-summary:empty{display:none;margin:0}
#category-tiles.home-categories{display:flex;flex-wrap:wrap;gap:10px}
#category-tiles.home-categories>.category-tile{flex:1 1 150px;min-width:0;padding:12px 14px;gap:10px;border-radius:13px;min-height:60px}
#category-tiles.home-categories .category-tile-icon{width:36px;height:36px;flex:0 0 36px;border-radius:10px}
#category-tiles.home-categories .category-tile-icon svg{width:22px;height:22px}
#category-tiles.home-categories .category-tile-name{font-size:12px;line-height:1.35;overflow-wrap:anywhere}
#active-filters:empty,#featured-status:empty,.load-more-wrap:has(>button[hidden]){display:none;margin:0}
body[data-service=food] #category-tiles-section{padding-top:24px;padding-bottom:0}
body[data-service=food] .meal-menu{padding-top:28px;padding-bottom:36px}
body[data-service=food] .meal-menu-heading{margin-bottom:18px}
body[data-service=food] .meal-controls{margin-bottom:16px}
@media(max-width:1279px){body[data-service=food] :is(#catalog-grid,#featured-products,#favorites-grid){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){body[data-service=food] :is(#catalog-grid,#featured-products,#favorites-grid) .product-card{gap:11px;padding:10px}body[data-service=food] :is(#catalog-grid,#featured-products,#favorites-grid) .product-card>.product-media{flex-basis:96px;width:96px;height:96px;max-height:96px}body[data-service=food] :is(#catalog-grid,#featured-products,#favorites-grid) .product-title{font-size:14px}}
@media(max-width:700px){body[data-service=food] :is(#catalog-grid,#featured-products,#favorites-grid){grid-template-columns:1fr;gap:10px}body[data-service=food] :is(#catalog-grid,#featured-products,#favorites-grid) .product-card>.product-media{flex-basis:108px;width:108px;height:108px;max-height:108px}#category-tiles.home-categories{gap:8px}#category-tiles.home-categories>.category-tile{flex-basis:calc(50% - 8px);padding:10px 12px;min-height:54px}#product-details>.product-description p{font-size:13px}}
@media(max-width:370px){body[data-service=food] :is(#catalog-grid,#featured-products,#favorites-grid) .product-card>.product-media{flex-basis:88px;width:88px;height:88px;max-height:88px}.product-card .product-summary{font-size:11px}#category-tiles.home-categories .category-tile-name{font-size:11px}}
/* Native edge-to-edge layout. One inset owner per edge; no second chrome.
 * TOP: existing announcement on shop pages, choice-header on the entry page.
 * SIDES: existing header/main/footer, not body plus nested containers.
 * BOTTOM: mobile-nav padding + one document reserve; footer's old reserve replaced.
 */
:root{--fudo-safe-top:var(--sabsus-safe-top,env(safe-area-inset-top,0px));--fudo-safe-right:var(--sabsus-safe-right,env(safe-area-inset-right,0px));--fudo-safe-bottom:var(--sabsus-safe-bottom,env(safe-area-inset-bottom,0px));--fudo-safe-left:var(--sabsus-safe-left,env(safe-area-inset-left,0px));--fudo-nav-base:65px;--fudo-nav-reserve:0px;--fudo-announcement-base:30px}
body,body.service-entry{min-height:100dvh}
body>.announcement{padding-top:var(--fudo-safe-top);padding-left:var(--fudo-safe-left);padding-right:var(--fudo-safe-right);min-height:calc(var(--fudo-announcement-base) + var(--fudo-safe-top))}
body>.site-header{padding-left:var(--fudo-safe-left);padding-right:var(--fudo-safe-right)}
body>#main:not(.choice-main){padding-left:var(--fudo-safe-left);padding-right:var(--fudo-safe-right)}
body>.site-footer{padding-left:var(--fudo-safe-left);padding-right:var(--fudo-safe-right);padding-bottom:var(--fudo-safe-bottom)}
body>.choice-header{padding-top:calc(30px + var(--fudo-safe-top));padding-left:calc(28px + var(--fudo-safe-left));padding-right:calc(28px + var(--fudo-safe-right))}
body>.choice-main{padding-left:calc(28px + var(--fudo-safe-left));padding-right:calc(28px + var(--fudo-safe-right))}
body>.choice-footer{padding-left:var(--fudo-safe-left);padding-right:var(--fudo-safe-right);padding-bottom:calc(30px + var(--fudo-safe-bottom))}
/* Keep the accessibility shortcut out of view until keyboard focus. Clipping is independent of safe-area size. */
body > .skip-link,body > .skip-link:focus:not(:focus-visible){position:fixed;top:0;left:0;width:1px;height:1px;min-width:0;min-height:0;padding:0;margin:0;border:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;transform:none;box-shadow:none;outline:none;pointer-events:none}
body > .skip-link:focus-visible{top:calc(8px + var(--fudo-safe-top));left:calc(8px + var(--fudo-safe-left));width:auto;height:auto;max-width:calc(100vw - var(--fudo-safe-left) - var(--fudo-safe-right) - 16px);padding:12px 20px;overflow:visible;clip:auto;clip-path:none;white-space:normal;transform:none;background:var(--brand-text,#376E0C);color:#fff;outline:2px solid var(--brand-text,#376E0C);outline-offset:3px;z-index:130;pointer-events:auto}
body>.toast{bottom:calc(30px + max(var(--fudo-nav-reserve),var(--fudo-safe-bottom)));max-width:min(500px,calc(90vw - var(--fudo-safe-left) - var(--fudo-safe-right)))}
@media(max-width:800px){:root{--fudo-announcement-base:27px}body>.choice-header{padding-top:calc(22px + var(--fudo-safe-top))}}
@media(max-width:680px){body>.toast{bottom:calc(85px + var(--fudo-safe-bottom))}}
@media(max-width:600px){
  :root{--fudo-announcement-base:25px}
  body:has(>.mobile-nav){--fudo-nav-reserve:var(--fudo-measured-nav,calc(var(--fudo-nav-base) + var(--fudo-safe-bottom)));padding-bottom:var(--fudo-nav-reserve)}
  body:has(>.mobile-nav)>.site-footer{padding-bottom:0}
  body>.toast{bottom:calc(20px + max(var(--fudo-nav-reserve),var(--fudo-safe-bottom)))}
  body>.mobile-nav{height:auto;min-height:calc(var(--fudo-nav-base) + var(--fudo-safe-bottom));padding-top:7px;padding-bottom:calc(7px + var(--fudo-safe-bottom));padding-left:max(12px,var(--fudo-safe-left));padding-right:max(12px,var(--fudo-safe-right))}
  body>.choice-header{padding-top:calc(20px + var(--fudo-safe-top));padding-left:calc(20px + var(--fudo-safe-left));padding-right:calc(20px + var(--fudo-safe-right))}
  body>.choice-main{padding-left:calc(18px + var(--fudo-safe-left));padding-right:calc(18px + var(--fudo-safe-right))}
}
/* Existing dialogs remain the only overlay scrollers; body/main keep document scroll. */
body :is(dialog,.modal,.fudo-choice-dialog){max-width:calc(100vw - var(--fudo-safe-left) - var(--fudo-safe-right) - 28px);max-height:calc(100dvh - var(--fudo-safe-top) - var(--fudo-safe-bottom) - 32px)}
html[data-fudo-native-ios] body :is(dialog,.modal,.fudo-choice-dialog)[open]{position:fixed;top:calc(var(--fudo-visible-top,0px) + var(--fudo-safe-top) + 16px);bottom:calc(var(--fudo-visible-bottom,0px) + var(--fudo-safe-bottom) + 16px);left:calc(var(--fudo-safe-left) + 14px);right:calc(var(--fudo-safe-right) + 14px);margin:auto;height:fit-content;max-height:calc(var(--fudo-visible-height,100dvh) - var(--fudo-safe-top) - var(--fudo-safe-bottom) - 32px);overscroll-behavior:contain}
html[data-fudo-native-ios] .modal-header{position:sticky;top:0;z-index:2;background:var(--paper,#fff);padding-bottom:12px}
html[data-fudo-native-ios] .modal-footer{position:sticky;bottom:0;z-index:2;background:var(--paper,#fff);padding-top:12px}
html[data-fudo-native-ios] .fudo-choice-box{overflow-wrap:anywhere}
html[data-fudo-native-ios] .service-confirm-actions{position:sticky;bottom:0;background:var(--paper,#fff);padding-top:12px}
html[data-fudo-native-ios]{scroll-padding-top:calc(var(--fudo-safe-top) + 20px);scroll-padding-bottom:calc(var(--fudo-measured-nav,0px) + 20px)}
html[data-fudo-native-ios] :is(.checkout-sidebar,.account-order-detail,.summary-card,.cart-summary,.checkout-summary){top:calc(25px + var(--fudo-safe-top))}
html[data-fudo-keyboard] body>.mobile-nav{visibility:hidden;pointer-events:none}
html[data-fudo-keyboard]{scroll-padding-bottom:calc(var(--fudo-visible-bottom,0px) + 20px)}
html[data-fudo-keyboard] body>.toast{bottom:calc(var(--fudo-visible-bottom,0px) + 16px)}
html[data-fudo-native-logged-out] :is(#account-root,#orders-root,#favorites-grid,#favorites-status),html[data-fudo-native-ios] [data-native-private-stale]{visibility:hidden;pointer-events:none}
html[data-fudo-native-ios] :is(input,textarea,[contenteditable=true]){scroll-margin-block:24px}
/* Text fields in the WebView stay readable when the keyboard opens; pinch zoom stays enabled. */
@media(pointer:coarse){html[data-fudo-native-ios] :is(.field input,.field textarea,.account-form input,.search-form input,.address-search-row input){font-size:16px}}

/* Public modifier groups in the existing product detail screen. */
.modifier-section-title{font-size:21px;letter-spacing:-.025em;margin:26px 0 12px}
.option-set.modifier-set{border:1px solid var(--line,#dce9d2);padding:16px;border-radius:16px;margin:15px 0;background:#fff;min-width:0}
.modifier-set .option-title{display:flex;align-items:center;justify-content:space-between;gap:12px;float:none;width:100%;padding:0;margin:0 0 12px;font-weight:700;color:var(--ink,#1f2a17)}
.modifier-set .option-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.modifier-set .option-choice{background:#fafcf8;display:flex;align-items:center;min-width:0;gap:10px;cursor:pointer;transition:background .15s,border-color .15s}
.modifier-set .option-choice:has(input:checked){background:var(--leaf-light,#eef7e8);border-color:var(--brand,#53a512)}
.modifier-set .option-choice input{accent-color:var(--brand-text,#376e0c);flex:none}
.modifier-set .option-choice .option-copy{min-width:0;overflow-wrap:anywhere}
.modifier-set .option-choice:has(input:disabled){opacity:.55;cursor:not-allowed}
.modifier-set.has-error{border-color:#bd4a38}
.modifier-unavailable{margin:12px 0 20px;background:#fff4ee;border:1px solid #eac0ad;color:#934635}
@media(max-width:600px){.modifier-section-title{font-size:19px}.modifier-set .option-values{grid-template-columns:1fr}.option-set.modifier-set{padding:13px}}
@media(prefers-reduced-motion:reduce){.modifier-set .option-choice{transition:none}}


/* Make the real basket action unmistakable while preserving the shop header. */
.site-header .header-actions .cart-button{
  width:auto;min-width:0;height:44px;display:inline-flex;align-items:center;justify-content:center;
  gap:9px;padding:0 12px 0 15px;border:1px solid var(--brand,#53A512);border-radius:999px;
  background:var(--brand,#53A512);color:#fff;font-size:12px;font-weight:700;line-height:1.2;
  white-space:nowrap;box-shadow:0 5px 14px rgba(83,165,18,.17);
  transition:background-color .15s,border-color .15s,box-shadow .15s;
}
.site-header .header-actions .cart-button:hover,
.site-header .header-actions .cart-button[aria-current="page"]{
  background:var(--brand-hover,#4A9510);border-color:var(--brand-hover,#4A9510);color:#fff;
  box-shadow:0 6px 17px rgba(83,165,18,.24);
}
.site-header .header-actions .cart-button:focus-visible{
  outline:2px solid var(--brand-text,#376E0C);outline-offset:3px;color:#fff;
}
.site-header .header-actions .cart-button>.icon{
  width:20px;height:20px;stroke:currentColor;color:inherit;flex:none;
}
.site-header .header-actions .cart-button .cart-button-label{
  display:inline;flex:none;color:inherit;font-weight:700;letter-spacing:0;
}
.site-header .header-actions .cart-button .cart-count{
  position:static;flex:none;display:inline-flex;align-items:center;justify-content:center;
  min-width:22px;height:22px;border:0;border-radius:50%;padding:0 5px;
  background:#fff;color:var(--brand-text,#376E0C);font-size:11px;font-weight:800;line-height:1;
}
@media(max-width:800px){
  .site-header .header-actions .cart-button{height:42px;padding:0 10px 0 12px;gap:7px;font-size:11px}
}
@media(max-width:600px){
  .site-header .header-actions .cart-button{height:38px;padding:0 9px;gap:6px;font-size:11px}
  .site-header .header-actions .cart-button>.icon{width:19px;height:19px}
  .site-header .header-actions .cart-button .cart-count{min-width:19px;height:19px;font-size:10px}
  body>.mobile-nav a[href$="/cart"],
  body>.mobile-nav a[href$="/cart"].active,
  body>.mobile-nav a[href$="/cart"][aria-current="page"]{
    background:var(--brand,#53A512);color:#fff;border-radius:13px;
    min-height:49px;padding:5px 9px;
  }
  body>.mobile-nav a[href$="/cart"]:before{display:none}
  body>.mobile-nav a[href$="/cart"] .cart-count{
    top:-2px;right:1px;background:#fff;color:var(--brand-text,#376E0C);border:1px solid #dce9d2;
  }
}
@media(max-width:420px){
  /* Narrow phones already show the localized Basket text in the fixed bottom navigation. */
  .site-header .header-actions .cart-button .cart-button-label{display:none}
}
@media(prefers-reduced-motion:reduce){
  .site-header .header-actions .cart-button{transition:none}
}



/* Compact flag-first language menu, native select remains usable with a screen reader. */
.language-control:has([data-flag-control]){position:relative;gap:0;min-width:42px}
.language-control .language-flag{font-size:22px;line-height:1;display:inline-flex;align-items:center;pointer-events:none}
.language-control select[data-flag-control]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2;min-width:38px}
.language-control:focus-within{outline:2px solid var(--brand-text,#376e0c);outline-offset:4px;border-radius:5px}
