/* Shared premium storefront layer, using configured theme tokens. */
body { font-size:max(16px,var(--base)); }
body :where(p,a,span,small,label,input,select,textarea,button,li,dt,dd,th,td,summary,legend,figcaption,div) { font-size:max(14px,1em); }
.container { width:min(calc(100% - 64px),var(--container,1280px)); }
.section { padding-block:clamp(48px,6vw,96px); }
h1,h2,h3,h4 { text-wrap:balance; overflow-wrap:break-word; }
h1 { font-size:clamp(38px,4.5vw,66px); }
h2 { font-size:clamp(32px,3.5vw,48px); }
h3 { font-size:clamp(24px,2.4vw,32px); }
.eyebrow,.announcement,.breadcrumbs,.product-category-label,.pack-note,.site-footer small,.copyright,.woocommerce span.onsale { font-size:14px; }
.button,button,input[type=submit],.woocommerce a.button,.woocommerce button.button { min-height:46px; font-size:15px; border-radius:4px; box-shadow:none; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.header-inner { gap:24px; min-height:88px; }
.header-inner>.button { display:none; }
.desktop-nav { flex:1; }
.desktop-nav>ul { justify-content:center; gap:20px; }
.desktop-nav a { font-size:15px; }
.header-tools { gap:4px; }
.cart-link { position:relative; }
.ts-cart-count { position:absolute; top:-4px; right:-6px; background:var(--primary); color:var(--background); border-radius:50%; min-width:22px; min-height:22px; font-size:14px; text-align:center; }
.home-hero { position:relative; isolation:isolate; min-height:50vw; background:var(--surface); overflow:hidden; }
.home-hero-picture { position:absolute; inset:0; z-index:-2; }
.home-hero-picture img { width:100%; height:100%; object-fit:cover; object-position:right center; }
.home-hero-content { min-height:inherit; display:flex; align-items:flex-start; }
.home-hero-copy { width:37%; max-width:470px; padding-block:clamp(50px,6vw,115px); }
.home-hero-copy h1 { font-family:var(--font-heading); font-weight:var(--heading-weight); line-height:1.06; margin:20px 0 24px; font-size:clamp(40px,3.1vw,58px); }
.home-hero-copy p { font-size:18px; max-width:490px; line-height:1.7; }
.home-hero-copy .actions { margin-top:30px; gap:12px; }
.home-hero .button-outline { background:var(--background); }
.awaiting-artwork .home-hero-copy { width:100%; max-width:700px; }
.home-categories .category-card { border-radius:6px; }
.collections { padding-block:56px; }
.collection-card { border-radius:6px; }
.promise-section { background:var(--surface); }
.home-seo { max-width:1000px; }
.home-seo p { max-width:80ch; }
.support-callout { background:var(--surface); padding:48px; display:flex; align-items:center; justify-content:space-between; gap:32px; border-top:1px solid var(--border); }
.support-callout h2 { margin:0 0 12px; }
.woocommerce ul.products { gap:24px; }
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product { background:white; border-radius:6px; padding:14px; box-shadow:none; }
.woocommerce ul.products li.product a img { border-radius:3px; aspect-ratio:1; object-fit:contain; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:clamp(18px,1.6vw,23px); line-height:1.25; }
.woocommerce ul.products li.product .price { font-size:16px; }
.woocommerce ul.products li.product .button { display:flex; align-items:center; justify-content:center; padding:12px; }
.woocommerce div.product div.images { border:1px solid var(--border); background:white; border-radius:6px; overflow:hidden; }
.woocommerce div.product .product_title { font-size:clamp(36px,3.8vw,54px); }
.woocommerce div.product .summary { padding-left:20px; }
.woocommerce div.product form.cart { margin-block:24px; }
.pack-chips { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.pack-chips button { background:transparent; color:var(--primary); border:1px solid var(--border); min-width:66px; padding:9px 16px; }
.pack-chips button[aria-pressed=true] { background:var(--primary); color:var(--background); border-color:var(--primary); }
.pack-chips button:disabled { opacity:.45; cursor:not-allowed; }
.food-details { display:grid; grid-template-columns:minmax(160px,1fr) 2fr; gap:14px 24px; }
.food-details dd { margin:0; }
.catalog-filters { clear:both; margin:24px 0; padding:20px; border:1px solid var(--border); background:white; border-radius:4px; }
.catalog-filters summary { cursor:pointer; font-weight:600; min-height:32px; }
.filter-fields { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; margin:20px 0; }
.filter-fields label { display:grid; gap:8px; }
.filter-fields input,.filter-fields select { width:100%; min-width:0; }
.commerce-hold { padding:clamp(28px,5vw,64px); border:1px solid var(--border); background:var(--surface); border-radius:6px; max-width:900px; margin:auto; text-align:center; }
.commerce-hold .actions { justify-content:center; }
.woocommerce form.checkout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr); column-gap:48px; }
.woocommerce form.checkout #customer_details { width:100%; grid-row:1/4; }
.woocommerce form.checkout .col-1,.woocommerce form.checkout .col-2 { float:none; width:100%; }
.woocommerce table.shop_table { border-color:var(--border); border-radius:4px; background:white; }
.woocommerce table.shop_table th,.woocommerce table.shop_table td { padding:18px; }
.woocommerce .cart-collaterals .cart_totals { background:var(--surface); padding:28px; border-radius:4px; }
.woocommerce-MyAccount-navigation { background:var(--surface); border-radius:4px; padding:16px; }
.woocommerce-MyAccount-navigation ul { margin:0; padding:0; list-style:none; }
.woocommerce-MyAccount-navigation a { display:block; padding:12px 16px; border-bottom:1px solid var(--border); }
.woocommerce-MyAccount-navigation .is-active a { color:var(--background); background:var(--primary); }
.woocommerce form.login,.woocommerce form.register { background:white; border:1px solid var(--border); padding:32px; }
.woocommerce-message,.woocommerce-info,.woocommerce-error { font-size:16px; background:var(--surface); border-color:var(--primary); }
.site-footer { border-top:1px solid var(--border); }
.site-footer a { min-height:32px; display:inline-flex; align-items:center; }
.wp-block-woocommerce-cart .wc-block-components-product-name,
.wp-block-woocommerce-cart .wc-block-components-sale-badge,
.wp-block-woocommerce-cart .wc-block-cart__totals-title { font-size:14px!important; }
@media(max-width:1100px) { .desktop-nav { display:none; } .menu-toggle { display:inline-flex; } .header-tools { margin-left:auto; } .filter-fields { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(min-width:768px) and (max-width:1024px) { .home-hero { min-height:680px; } .home-hero-copy { width:46%; } .home-hero-copy h1 { font-size:44px; } .home-hero-copy p { font-size:16px; } .home-hero .actions { flex-direction:column; align-items:flex-start; } .home-hero-picture img { object-position:70% center; } }
@media(max-width:767px) {
 .container { width:calc(100% - 36px); } .header-inner { min-height:76px; gap:12px; } .brand-image { max-width:145px; } .header-tools .icon-button { width:40px; min-width:40px; } .announcement { padding:8px 18px; line-height:1.5; }
 .home-hero { min-height:900px; } .home-hero-content { align-items:flex-start; } .home-hero-copy { width:100%; max-width:100%; padding:34px 0 490px; } .home-hero-copy h1 { font-size:clamp(38px,10vw,46px); max-width:410px; margin:14px 0 16px; } .home-hero-copy p { font-size:16px; line-height:1.55; margin:0; } .home-hero-copy .actions { margin-top:20px; gap:8px; } .home-hero-copy .button { padding:12px 14px; font-size:14px; }
 .home-hero-picture { top:auto; height:370px; } .home-hero-picture img { object-position:78% bottom; } .has-mobile-artwork .home-hero-picture { inset:0; height:100%; } .has-mobile-artwork .home-hero-picture img { object-fit:contain; object-position:center bottom; } .has-mobile-artwork:after { content:''; position:absolute; inset:0 0 48%; background:linear-gradient(var(--background),transparent); z-index:-1; } .awaiting-artwork { min-height:480px; } .awaiting-artwork .home-hero-copy { padding-bottom:56px; }
 .woocommerce ul.products,.woocommerce ul.products.columns-4,.woocommerce ul.products.columns-3 { grid-template-columns:repeat(1,minmax(0,1fr)); gap:12px; } .woocommerce ul.products li.product { padding:10px; } .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:18px; } .woocommerce div.product .summary { padding:0; } .woocommerce form.checkout { display:block; } .support-callout { padding:28px; flex-direction:column; align-items:flex-start; } .food-details { grid-template-columns:1fr; gap:8px; } .food-details dd { margin-bottom:16px; } .woocommerce table.shop_table th,.woocommerce table.shop_table td { padding:14px; } .woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content { width:100%!important; float:none!important; margin-bottom:24px; }
}
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media(max-width:767px) {
 .has-mobile-artwork { background:var(--background); }
 .has-mobile-artwork:after { inset:0 0 40%; background:linear-gradient(var(--background) 50%,transparent); }
}
.woocommerce div.product form.cart .reset_variations { font-size:14px; }
.gform_wrapper .gfield_required, .gform_wrapper .gfield_required_text { font-size:14px!important; }
