/* Storefront only: the admin dashboard keeps its own layout. */
body.storefront{--store-border:#dbe4d5;--store-muted:#586a59;line-height:1.55}
body.storefront [hidden]{display:none!important}
body.storefront :is(button,.btn,input,select,textarea){font-size:15px}
body.storefront :is(button,.btn){min-height:44px}
body.storefront :is(input,select,textarea){font-size:16px}
body.storefront :is(section,form)[id]{scroll-margin-top:90px}
body.storefront>header{position:sticky;top:0;z-index:100;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:22px!important;padding:12px clamp(18px,3vw,46px)!important;box-shadow:0 2px 14px #10271925}
body.storefront>header .brand{font-size:22px!important}
body.storefront>header nav.store-nav{justify-content:center!important;gap:clamp(12px,2vw,28px)!important}
body.storefront>header nav.store-nav>a{font-size:14px!important;padding:10px 0!important}
body.storefront>header #cartBtn{font-size:14px!important;padding:10px 15px!important;min-height:44px}
.store-menu-toggle{display:none}
body.storefront .hero{padding:48px 24px}
body.storefront .hero-brand-panel{max-width:680px;margin-inline:auto}
body.storefront main.wrap{max-width:1240px;padding:26px 24px}
body.storefront .featurebar{margin-bottom:24px;gap:12px;justify-content:center}
body.storefront #shop{margin-bottom:32px}
body.storefront #shop>h2{font-size:clamp(28px,3vw,40px);margin-bottom:18px}
.catalog-toolbar{display:grid;grid-template-columns:minmax(190px,1fr) repeat(4,minmax(110px,150px));gap:10px;padding:12px;background:#edf3e7;border:1px solid var(--store-border);border-radius:10px;align-items:end}
.catalog-toolbar .catalog-search{grid-column:auto}
.catalog-toolbar label{min-width:0;color:#26432c;font-size:12px}
body.storefront .catalog-toolbar :is(input,select){margin:4px 0 0;min-height:38px;height:38px;padding:6px 9px;background:white;font-size:14px;border-radius:6px}
.catalog-results-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}
.catalog-results-bar p{font-size:14px;color:var(--store-muted);margin:0}
.catalog-results-bar button{padding:6px 12px;font-size:13px}
body.storefront #filters{flex-wrap:nowrap;overflow-x:auto;gap:8px;padding-bottom:8px;margin:8px 0 18px;scrollbar-width:thin}
body.storefront #filters button{flex:0 0 auto;white-space:nowrap;font-size:13px;min-height:40px;padding:8px 13px}
body.storefront #products.grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px}
body.storefront #products .card{border-radius:14px;border-color:var(--store-border);box-shadow:0 4px 18px #1c39200c;transition:box-shadow .2s ease}
body.storefront #products .card:hover{box-shadow:0 8px 24px #1c392020}
body.storefront #products .product-image{height:auto;aspect-ratio:4/3;overflow:hidden;background:#e7eee1}
body.storefront #products .product-image img{width:100%;height:100%;object-fit:cover}
body.storefront #products .details{padding:17px;gap:0}
body.storefront #products .details h3{font-size:20px;margin:5px 0 9px}
body.storefront #products .product-title-button{display:inline;padding:0;margin:0;background:transparent;color:inherit;font:inherit;font-weight:700;text-align:left;min-height:0;width:auto}
body.storefront #products .product-title-button:hover{text-decoration:underline}
body.storefront #products .details>p.muted{margin:0 0 12px;line-height:1.6}
.product-packet,.product-rating,.product-delivery-note{font-size:12px;line-height:1.5;margin:0 0 8px;color:var(--store-muted)}
.product-rating{color:#6a5519}
.product-price-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0 6px}
.product-price-row .price{font-size:23px}
.product-price-row .stock-label{font-size:11px;font-weight:700;border-radius:20px;padding:4px 8px}
.product-price-row .stock-available{background:#e1f0df;color:#245b32}
.product-price-row .stock-soldout{background:#f0e6df;color:#75432b}
.product-price-row .stock-coming{background:#e7edf8;color:#315077}
.product-card-actions{margin-top:auto;padding-top:8px;display:grid;gap:8px}
body.storefront #products .product-card-actions button{margin:0;font-size:13px;min-height:44px;padding:10px 8px}
.product-cart-count{display:block;margin-top:7px;text-align:center;color:#326b3e;font-size:12px}
.catalog-empty{grid-column:1/-1;text-align:center;padding:40px 20px;border:1px dashed #aabc9f;border-radius:12px;background:#f4f7ef}
.store-toast{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:calc(100vw - 30px);padding:12px 18px;background:#173d2d;color:#fff;box-shadow:0 5px 25px #0003;border-radius:9px;z-index:1500;font-size:14px;text-align:center;pointer-events:none}
body.storefront .product-dialog{width:min(670px,94vw);padding:20px}
body.storefront .product-dialog .product-image.large{height:auto;max-height:340px;aspect-ratio:4/3;border-radius:10px;margin-bottom:18px}
body.storefront .product-dialog .product-image.large img{object-fit:contain;background:#eef3e8}
.product-detail-price{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.product-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:15px;background:#edf3e7;border-radius:9px}
.product-facts dt{font-size:12px;color:var(--store-muted)}.product-facts dd{margin:4px 0 0;font-weight:650;font-size:14px}
.product-tags{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.product-tags span{padding:4px 9px;border-radius:20px;background:#e6eddc;color:#3a583a;font-size:12px}
.growing-instructions{padding:16px;border:1px solid var(--store-border);border-radius:9px;margin:18px 0;line-height:1.7}
body.storefront #cart{width:min(520px,100vw);color:#233629;background:#fbfcf8}
.cart-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--store-border)}
.cart-item small{display:block;font-size:12px;color:var(--store-muted);margin-top:4px}
.cart-quantity{display:flex;align-items:center;gap:10px}.cart-quantity button{min-width:36px;padding:6px 10px}.cart-quantity span{min-width:14px;text-align:center}
.checkout-totals{padding:16px;background:#edf3e7;border-radius:10px;margin:12px 0}
.checkout-totals>div{display:flex;justify-content:space-between;gap:14px;padding:6px 0;font-size:14px}.checkout-totals dd{margin:0;font-weight:650}
.checkout-totals .checkout-grand-total{font-size:19px;border-top:1px solid #cbdac3;margin-top:6px;padding-top:13px;font-weight:750}
#cartQuoteMessage,#cartMessage{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
#cartMessage:not(:empty){padding:12px;border-radius:8px;background:#fff0ce;color:#684f1d}
body.storefront #orderForm>button[type=submit]{width:100%;min-height:50px;margin:8px 0;font-size:16px;background:#173d2d}
body.storefront #ordering .notice{font-size:13px;line-height:1.6}
.order-confirmation{text-align:left}.receipt-check{display:grid;place-items:center;width:52px;height:52px;background:#def1dc;color:#256234;border-radius:50%;font-size:28px;margin:12px 0}
.receipt-order-number{font-size:19px;font-weight:750;padding:10px;border:1px solid #c5d7bc;border-radius:8px;overflow-wrap:anywhere}
.receipt-items{list-style:none;padding:0}.receipt-items li{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--store-border)}
.receipt-actions{display:flex;gap:8px;flex-wrap:wrap}.receipt-actions button{flex:1;min-width:150px}
@media(max-width:1000px){body.storefront>header{gap:14px!important;padding:10px 16px!important}body.storefront>header .brand{font-size:19px!important}body.storefront>header nav.store-nav>a{font-size:12px!important}.catalog-toolbar{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-toolbar .catalog-search{grid-column:1/-1}}
@media(max-width:760px){
 body.storefront>header{grid-template-columns:minmax(0,1fr) auto auto!important;gap:9px!important;padding:9px 12px!important}
 body.storefront>header>.brand{grid-column:1!important;font-size:18px!important;white-space:normal!important}
 body.storefront>header>.store-menu-toggle{display:block;grid-column:2;grid-row:1;background:#2d5c3d;padding:10px 12px;min-height:44px}
 body.storefront>header>.header-actions{grid-column:3!important}
 body.storefront>header .brand-long{display:none}body.storefront>header .brand-short{display:inline}
 body.storefront>header>nav.store-nav{display:none!important;position:absolute;left:0;right:0;top:100%;width:100%!important;max-height:70dvh;overflow-y:auto;background:var(--forest);padding:10px 14px 16px;box-shadow:0 8px 16px #0002;flex-direction:column;align-items:stretch!important;gap:0!important}
 body.storefront>header>nav.store-nav[data-open=true]{display:flex!important}
 body.storefront>header>nav.store-nav>a{font-size:16px!important;padding:13px 10px!important;min-height:48px;border-bottom:1px solid #ffffff25}
 body.storefront>header #cartBtn{font-size:13px!important;padding:10px!important}
 body.storefront .hero{padding:28px 16px}
 body.storefront main.wrap{padding:20px 14px}
 .catalog-toolbar{grid-template-columns:1fr 1fr;padding:10px;gap:9px}
 .catalog-toolbar .catalog-search{grid-column:1/-1}
 .catalog-toolbar label{font-size:12px}
 body.storefront .catalog-toolbar :is(input,select){font-size:16px;height:38px;min-height:38px}
 body.storefront #filters{display:none}
 body.storefront #products.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 body.storefront #products .details{padding:12px}
 body.storefront #products .details h3{font-size:18px!important;line-height:1.3}
 body.storefront #products .details>p.muted{font-size:13px}
 .product-price-row{align-items:flex-start;flex-direction:column;gap:5px}.product-price-row .price{font-size:21px}
 .product-facts{grid-template-columns:1fr 1fr}
 .cart-item{gap:8px;font-size:13px}.cart-quantity{gap:6px}
}
@media(max-width:370px){body.storefront>header>.brand{font-size:15px!important}body.storefront #products.grid{grid-template-columns:1fr}body.storefront #products .product-image{aspect-ratio:16/10}}
@media(prefers-reduced-motion:reduce){body.storefront #products .card{transition:none}}
@media print{
 body.storefront:has(#orderConfirmation:not([hidden])){position:static!important;overflow:visible!important;background:white!important;color:black!important}
 body.storefront:has(#orderConfirmation:not([hidden]))>:not(#cart){display:none!important}
 body.storefront:has(#orderConfirmation:not([hidden])) #cart{position:static!important;width:100%!important;height:auto!important;max-height:none!important;overflow:visible!important;box-shadow:none!important}
 body.storefront:has(#orderConfirmation:not([hidden])) #cart .cart-scroll-content{overflow:visible!important;height:auto!important;padding:0!important}
 body.storefront:has(#orderConfirmation:not([hidden])) #cart .cart-scroll-content>:not(#orderConfirmation),body.storefront .receipt-actions,body.storefront #cart .cart-bottom-actions{display:none!important}
}
