/*
  Crafty Cook page-level CSS, 30 Sept 2026 pixel-match pass.
  Loads after cc-tokens-bundle.css. Every rule here closes a measured difference
  between the design frames (390px / 1280px) and staging; the numbered diffs live
  in crafty-cook-ops/ in the repo. Uses the cc- tokens only, no hard-coded colours.
*/

/* ---------- Global: Bricks container width ----------
   Bricks gives every .brxe-container a fixed width:1100px. Inside the design's
   grid/flex layouts that fixed width became the grid track itself (the footer
   rendered 1100px wide at a 390px viewport). Design sections are full-bleed with
   their own padding, so a container fills its parent. */
.cc-root .brxe-container{width:100%}

/* ---------- Header ---------- */
/* Topbar: Wholesale / My Account sat touching; design gap is 16px. The links'
   wrapper is a Bricks div whose cc-nav-utility-links class was never registered
   (Bricks drops unregistered classes), so target it structurally. */
.hdr .cc-nav-utility > .brxe-div{display:flex !important;flex-direction:row !important;gap:var(--cc-space-4)}
/* Deliberate deviation (Mark, 30 Sept): the frame draws these links dark green on the dark green
   bar, nearly invisible. Paper colour like the phone number so they're readable. */
.cc-root .hdr .cc-nav-utility a{color:var(--cc-color-bg)}
/* Desktop nav: Bricks' Nav Menu puts margin-left:30px on every item; design is a 16px gap. */
.hdr .cc-nav-links .bricks-nav-menu{gap:var(--cc-space-4)}
.hdr .cc-nav-links .bricks-nav-menu > li{margin:0}
/* Mobile hamburger: Bricks Nav Menu (class cc-mnav) whose toggle always shows; its desktop
   list is never used. Styled as the design's cc-btn-icon (40px surface circle, ink bars),
   first in the bar, hidden from 900px where the full nav shows. */
.hdr .cc-mnav{order:-1;margin-right:var(--cc-space-2);flex:none}
.hdr .cc-mnav > .bricks-nav-menu-wrapper{display:none !important}
.hdr .cc-mnav .bricks-mobile-menu-toggle{display:grid !important;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--cc-color-surface);color:var(--cc-color-text);position:relative}
.hdr .cc-mnav .bricks-mobile-menu-toggle span{left:11px;width:18px;height:2px;background:currentColor}
/* Bricks sets the bars at top 0/7/14px (sized for a bare 16px toggle); centre them in the 40px circle. */
.hdr .cc-mnav:not(.show-mobile-menu) .bricks-mobile-menu-toggle .bar-top{top:13px}
.hdr .cc-mnav:not(.show-mobile-menu) .bricks-mobile-menu-toggle .bar-center{top:19px}
.hdr .cc-mnav:not(.show-mobile-menu) .bricks-mobile-menu-toggle .bar-bottom{top:25px}
.hdr .cc-mnav .bricks-mobile-menu-wrapper{background:var(--cc-color-bg);padding:96px var(--cc-space-4) var(--cc-space-6);justify-content:flex-start}
.hdr .cc-mnav .bricks-mobile-menu-wrapper::before{background:var(--cc-color-bg) !important}
.hdr .cc-mnav .bricks-mobile-menu{width:100%}
.hdr .cc-mnav .bricks-mobile-menu > li > a{display:block;font-family:var(--cc-font-body);font-weight:600;font-size:17px;line-height:1.4;color:var(--cc-color-text);padding:var(--cc-space-3) 0;border-bottom:1px solid var(--cc-color-divider);text-decoration:none}
.hdr .cc-mnav .bricks-mobile-menu > li.current-menu-item > a{color:var(--cc-accent-700)}
.hdr .cc-mnav.show-mobile-menu .bricks-mobile-menu-toggle{background:var(--cc-color-surface);color:var(--cc-color-text);z-index:1000}
.hdr .cc-mnav .bricks-mobile-menu-overlay{background:color-mix(in srgb,var(--cc-color-text) 40%,transparent)}
@media (min-width: 900px){ .hdr .cc-mnav{display:none !important} }
/* Mobile: hamburger first, wordmark straight after it pushing the basket right. */
.hdr .cc-nav-brand{margin-left:0;margin-right:auto}
/* Category chips: design keeps the link underline; current chip is filled green
   (aria-current is set by the small script in functions.php). */
.hdr .chip-a{display:block;text-decoration:underline}
.hdr .chip-a[aria-current]{background:var(--cc-color-accent-2);border-color:var(--cc-color-accent-2);color:var(--cc-color-bg)}
/* Desktop nav: current page link green with underline (brief: "current link green underline"). */
.hdr .cc-nav-links .current-menu-item > a,
.hdr .cc-nav-links a[aria-current="page"]{color:var(--cc-accent-700);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
/* Basket count badge: Woo mini-cart's own .cart-count, styled as the design's .cc-count. */
.hdr .cc-nav-cart{position:relative}
.hdr .cc-nav-cart .cart-count{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:var(--cc-radius-pill);background:var(--cc-color-accent);color:var(--cc-color-bg);font-size:10px;font-weight:800;line-height:16px;display:grid !important;place-items:center}
.hdr .cc-nav-cart .cart-count.hide{display:none !important}

/* ---------- Footer ---------- */
.ftr{align-items:stretch}
.ftr > .stack,.ftr .cols,.ftr .cols > .brxe-container{align-items:stretch}
.ftr .stack > p{max-width:34ch}
.ftr .cols a{display:block}
.ftr .legal a{text-decoration:underline}
/* Newsletter: Bricks Form wraps each control in a padded .form-group; flatten it
   so the input and button sit like the design's cc-input + cc-btn-secondary pair. */
.ftr .newsletter .form-group{margin:0;padding:0;width:100%}
.ftr .newsletter input{width:100%;min-height:44px;height:auto;padding:10px 14px;font:inherit;font-size:15px;line-height:24px;color:var(--cc-color-text);background:var(--cc-color-bg);border:1.5px solid var(--cc-color-divider);border-radius:var(--cc-radius-sm)}
.ftr .newsletter input::placeholder{color:color-mix(in srgb,var(--cc-color-text) 62%,transparent);opacity:1}
.ftr .newsletter .bricks-button{width:100%;letter-spacing:normal;background:var(--cc-color-accent-2) !important}
@media (min-width: 900px){
  .ftr .newsletter{flex-wrap:nowrap !important;max-width:420px}
  .ftr .newsletter .form-group{width:auto}
  .ftr .newsletter .form-group:not(.submit-button-wrapper){flex:1 1 auto}
  .ftr .newsletter .bricks-button{width:auto;white-space:nowrap}
}

/* ---------- Buttons (site-wide) ----------
   .cc-root a{color:green} beat every link-button's own text colour, so "Shop
   bestsellers", "Start a subscription" etc. rendered green on green. */
.cc-root a.cc-btn-primary,.cc-root a.cc-btn-secondary,
.cc-root a.cc-btn-primary:hover,.cc-root a.cc-btn-secondary:hover{color:var(--cc-color-bg)}
.cc-root a.cc-btn-outline{color:var(--cc-color-text)}
.cc-root a.cc-btn-ghost{color:var(--cc-accent-700)}

/* ---------- Home A ---------- */
/* Hero note: 13px muted line under the buttons. */
.hero .hero-note{font-size:13px}
/* Section background for "How it works" (was a dead %root% rule). */
.sec-surface{background:var(--cc-color-surface)}

/* Shop tiles: range colours by data-cat (tokens), label pill with an inset bar in the range colour. */
.cat-tile[data-cat="soup"]{--tint:var(--cc-cat-soup-tint);--c:var(--cc-cat-soup)}
.cat-tile[data-cat="stew"]{--tint:var(--cc-cat-stew-tint);--c:var(--cc-cat-stew)}
.cat-tile[data-cat="rice"]{--tint:var(--cc-cat-rice-tint);--c:var(--cc-cat-rice)}
.cat-tile[data-cat="pud"]{--tint:var(--cc-cat-pud-tint);--c:var(--cc-cat-pud)}
.cat-tile[data-cat="gf"],.cat-tile[data-cat="vegan"]{--tint:var(--cc-mint-pale);--c:var(--cc-color-accent-2)}
.cat-tile[data-cat="gfv"]{--tint:var(--cc-accent2-100);--c:var(--cc-color-accent-2)}
.cat-tile[data-cat="bundle"]{--tint:var(--cc-gold-100);--c:var(--cc-gold-500)}
.cc-root .cat-tile{background:var(--tint,var(--cc-color-surface));color:var(--cc-color-text);text-decoration:none}
.cat-tile .pack-mini{position:absolute;inset:auto;left:50%;top:44%;transform:translate(-50%,-50%);height:66%;width:auto;border-radius:3px;box-shadow:0 6px 16px rgba(0,0,0,.2)}
.cat-tile .lbl,.cat-tile .cnt{background:#fff}
.cat-tile .lbl{box-shadow:inset 4px 0 0 var(--c,transparent);padding-left:14px;color:var(--cc-color-text)}
.cat-tile .cnt{color:var(--cc-color-text)}
/* Segmented control: hug its content, active tab filled green. */
.brxe-tabs-nested > .cc-seg{align-self:flex-start;width:auto}
.cc-seg .cc-seg-opt{cursor:pointer;color:var(--cc-color-text)}
.cc-seg .cc-seg-opt.brx-open{background:var(--cc-color-accent-2);color:var(--cc-color-bg)}
/* Tile panes: grid when open, hidden when not (Bricks tabs toggle .brx-open). */
.brxe-tabs-nested{gap:var(--cc-space-4)}
@media (min-width: 900px){.brxe-tabs-nested{gap:var(--cc-space-6)}}
/* Bricks' layered .tab-pane.brx-open{display:block!important} can only be beaten from the
   cc-important layer (declared ahead of `bricks` in functions.php). */
@layer cc-important{
  .brxe-tabs-nested .cat-tiles.tab-pane.brx-open{display:grid !important}
}
.brxe-tabs-nested .cat-tiles.tab-pane.brx-open{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--cc-space-3)}
@media (min-width: 900px){.brxe-tabs-nested .cat-tiles.tab-pane.brx-open{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Product card (query loop): whole-card link, tinted 1:1 photo, descriptor in SKU colour. */
.cc-product-card .card-link{display:contents;color:inherit;text-decoration:none}
.cc-product-card .pack{background:var(--tint,var(--cc-color-surface))}
.cc-product-card .pack .pack-img,.cc-product-card .pack .pack-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;box-shadow:none;border-radius:0}
.cc-product-card .desc:empty{display:none}
.cc-product-card .cc-product-name{color:var(--cc-color-text)}
.cc-product-card .add_to_cart_button,.cc-product-card .button{width:100%}

/* Videos: thumb image fills the 16:9 frame. */
.video .video-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cc-root a.video,.cc-root a.video:hover{color:var(--cc-color-text);text-decoration:none}

/* Reviews: curly quotes and italic attribution as the QuoteCard draws them. */
.cc-card-quote .cc-card-body::before{content:"\201C"}
.cc-card-quote .cc-card-body::after{content:"\201D"}
.cc-card-quote .cc-card-meta{font-style:italic}

/* Dragons' Den band: gold kicker, paper outline button (both were dead %root% rules). */
.band .cc-h6{color:var(--cc-gold-300);margin:0}
.cc-root .band a.cc-btn-outline{border-color:var(--cc-color-bg);color:var(--cc-color-bg)}
/* Card photo fills the 1:1 tile (bundle's .pack img caps it at 90% / contain for pack PNGs). */
.cc-product-card .pack .pack-img,.cc-product-card .pack .pack-img img{max-width:none;height:100%;object-fit:cover}
/* Card price "from £X" and full-width button. */
.cc-product-card .cc-product-price .cc-from{font-size:12px;font-weight:500;opacity:.7;margin-right:3px}
.cc-product-card .card-cta,.cc-product-card .card-cta .button{width:100%}
/* Section head: kicker/title block and ghost action stay on one row (Bricks blocks default to 100% width). */
.sec-head{flex-wrap:nowrap !important}
.sec-head > .brxe-block{width:auto;flex:1 1 auto;min-width:0}
.sec-head > .cc-btn-ghost{flex:none}
/* Steps: circle beside the text on mobile (Bricks' mobile flex-wrap + 100%-wide inner block pushed the text below). */
.steps .cc-card{flex-wrap:nowrap !important}
.steps .cc-card > .brxe-block{width:auto;flex:1 1 auto;min-width:0}
/* Bricks gives link buttons letter-spacing:.5px; the design's buttons use normal tracking. */
.cc-root .cc-btn,.cc-root .button,.cc-root .bricks-button{letter-spacing:normal}
@media (max-width: 899px){.sub-card .cc-btn{width:100%}}
/* Home A diff round 2 (computed-style comparison, 390 + 1280). */
.sec-head .cc-h6{margin:0 0 2px}
.trust{gap:var(--cc-space-3)}
@media (min-width: 900px){.trust{gap:var(--cc-space-12)}}
.cat-tile .cnt{color:var(--cc-accent-700)}
.cc-product-card .desc{display:inline;font-weight:600}
.cc-product-card > .card-cta{margin-top:auto}
.cc-card-quote .cc-card-meta{font-family:var(--cc-font-heading);font-weight:500;font-size:12px;line-height:1.35;margin-top:8px}
.cc-root .brxe-section.sec{align-items:stretch}
/* Tiles: label + count stay on the bottom row (Bricks' mobile flex-wrap stacked them). */
.cat-tile{flex-wrap:nowrap !important;align-items:flex-end !important}
/* Active segment stays green even while hovered (bundle hover rule is more specific). */
.cc-seg .cc-seg-opt.brx-open,.cc-seg .cc-seg-opt.brx-open:hover{background:var(--cc-color-accent-2);color:var(--cc-color-bg)}

/* ---------- Home B ---------- */
.photo.photo-square{aspect-ratio:1}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.row.row-center{justify-content:center}
.story-copy{gap:14px}
.story-copy .kicker{margin:0}
.story-copy .cc-h2{margin:0}
.hero-b .stack{gap:18px}
.hero-b .hero-b-kicker{margin:0}
.cc-root .hero-b a.cc-btn-outline{color:var(--cc-color-bg);border-color:var(--cc-color-bg)}

/* ---------- Story-style heroes (Our Story, Wholesale, Subscriptions) ---------- */
.story-hero .stack{gap:14px}
.story-hero .kicker{margin:0}
.story-hero .cc-display{font-size:40px}
/* ---------- Subscriptions ---------- */
.plan.plan-one{grid-template-columns:minmax(0,560px)}
.kicker-gold{color:var(--cc-gold-700)}
/* ---------- Wholesale / Stockists ---------- */
.cc-h2.h2-sm{margin:0;font-size:28px}
.stockist-search{display:flex;gap:8px;margin:12px 0}
.stockist-search .cc-input{flex:1;min-width:0}
.stockist-msg{font-size:14px;margin:0 0 4px;opacity:.8}
.stockist-results .stockist{grid-template-columns:1fr auto;align-items:baseline}
.stockist-results .stockist span{grid-column:1}
.stockist-results .stockist em{grid-column:2;grid-row:1 / span 2;font-style:normal;font-weight:600;font-size:14px;color:var(--cc-color-accent-2)}
.stockist-region{border-bottom:1px solid var(--cc-color-divider)}
.stockist-region summary{cursor:pointer;padding:12px 0;font-family:var(--cc-font-heading);font-size:17px;display:flex;justify-content:space-between;align-items:center;list-style:none}
.stockist-region summary::-webkit-details-marker{display:none}
.stockist-region summary span{font-family:var(--cc-font-body,inherit);font-size:12px;opacity:.65}
.stockist-region .stockist:last-child{border-bottom:0}
.stockist-region .stockist{padding-left:12px}
/* ---------- Small text helpers (replace dead _cssCustom) ---------- */
.buy-note{font-size:13px}
.pay-note{font-size:12px;text-align:center}
.stack.stack-24{gap:24px}
.m0{margin:0}
.contact-meta a{color:inherit}
/* ---------- Shop ---------- */
.shop-intro{font-size:15px;max-width:60ch}
.sec.sec-tight-top{padding-top:12px}
.filters .cc-hr{margin:0}
.shop-layout > .stack{gap:20px}
/* ---------- Single product ---------- */
.buy-head{gap:10px}
.pdp-gallery .woocommerce-product-gallery{opacity:1 !important;margin:0;width:100%;float:none}
.pdp-gallery .woocommerce-product-gallery__trigger{display:none}
.pdp-gallery .woocommerce-product-gallery__image img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:var(--cc-radius-lg);display:block}
.pdp-gallery .flex-viewport{border-radius:var(--cc-radius-lg)}
.pdp-gallery .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0 0;padding:0;list-style:none}
.pdp-gallery .flex-control-thumbs li{width:auto;float:none;margin:0}
.pdp-gallery .flex-control-thumbs img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:10px;display:block;cursor:pointer;opacity:.75}
.pdp-gallery .flex-control-thumbs img.flex-active,.pdp-gallery .flex-control-thumbs img:hover{opacity:1}
.buy .price .price{margin:0;font-size:26px;font-weight:700;color:var(--cc-accent-700);font-family:var(--cc-font-heading)}
.buy .price .cc-from{font-size:13px;font-weight:400;color:var(--cc-color-text);opacity:.7;font-family:var(--cc-font-body)}
.pdp-cart form.cart{display:flex;flex-direction:column;gap:12px;margin:0}
.pdp-cart form.cart:not(.variations_form){flex-direction:row;align-items:center}
.pdp-cart table.variations{width:100%;border:0;margin:0;border-collapse:collapse}
.pdp-cart table.variations tr{display:grid;gap:6px}
.pdp-cart table.variations th,.pdp-cart table.variations td{display:block;padding:0;border:0;text-align:left;background:none}
.pdp-cart table.variations label{font:700 11px/1 var(--cc-font-body);letter-spacing:.08em;text-transform:uppercase}
.pdp-cart table.variations select{width:100%;min-height:52px;padding:0 16px;border:1.5px solid var(--cc-color-divider);border-radius:var(--cc-radius-md,12px);background-color:#fff;font:600 15px/1.2 var(--cc-font-body);color:var(--cc-color-text)}
.pdp-cart table.variations select:focus{border-color:var(--cc-color-accent-2);outline:0}
.pdp-cart .reset_variations{font-size:12px;display:inline-block;margin-top:6px}
.pdp-cart .single_variation{margin:0}
.pdp-cart .woocommerce-variation-price .price{font-size:22px;font-weight:700;color:var(--cc-accent-700);margin:0 0 4px}
.pdp-cart .woocommerce-variation-add-to-cart{display:flex;gap:12px;align-items:center}
.pdp-cart .quantity{flex:none;display:flex;align-items:center;border:1.5px solid var(--cc-color-divider);border-radius:999px;background:#fff;height:48px;overflow:hidden;margin:0}
.pdp-cart .quantity input.qty{width:44px;height:44px;border:0;background:none;text-align:center;font:600 15px/1 var(--cc-font-body);padding:0;-moz-appearance:textfield}
.pdp-cart .quantity .action{width:40px;height:44px;display:grid;place-items:center;cursor:pointer;border:0;background:none;font-size:18px}
.pdp-cart button.single_add_to_cart_button{flex:1;min-height:48px;margin:0}
.pdp-cart .stock{margin:0;font-size:13px}
.pdp-acc .accordion-title-wrapper{cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:14px 0;font-weight:600;font-size:15px}
.pdp-acc .accordion-title-wrapper::after{content:"+";font-size:20px;line-height:1;color:var(--cc-accent2-700)}
.pdp-acc .brx-open > .accordion-title-wrapper::after{content:"–"}
.pdp-acc > .brxe-block{border-bottom:1px solid var(--cc-color-divider)}
.pdp-acc .body{overflow-wrap:anywhere}
.pdp-acc .body table{width:100%;border-collapse:collapse;font-size:13px;margin:8px 0}
.pdp-acc .body td,.pdp-acc .body th{border:1px solid var(--cc-color-divider);padding:6px 8px;text-align:left}
.pdp-acc .body img{max-width:100%;height:auto;border-radius:10px}
.sticky-name{font-size:12px;opacity:.7}
.sticky-price .price{color:var(--cc-accent-700);font-weight:700;margin:0}
.pdp-acc .accordion-title-wrapper{width:100%}
/* ---------- Basket ---------- */
.basket-main{gap:0}
.progress .progress-row{display:flex;justify-content:space-between;align-items:baseline}
.woocommerce-cart-form table.shop_table thead{display:none}
.woocommerce-cart-form table.shop_table td.product-name a{font-family:var(--cc-font-heading);font-weight:600;font-size:16px;color:var(--cc-color-text);text-decoration:none}
.woocommerce-cart-form table.shop_table td.product-price{opacity:.7;font-size:13px}
.woocommerce-cart-form table.shop_table td.product-subtotal{font-weight:700;color:var(--cc-accent-700)}
.woocommerce-cart-form table.shop_table .product-thumbnail img{width:72px;height:72px}
.woocommerce-cart-form .quantity{display:inline-flex;align-items:center;border:1.5px solid var(--cc-color-divider);border-radius:999px;background:#fff;height:40px;overflow:hidden}
.woocommerce-cart-form .quantity input.qty{width:40px;height:36px;border:0;background:none;text-align:center;font:600 15px/1 var(--cc-font-body);padding:0;-moz-appearance:textfield}
.woocommerce-cart-form .quantity .action{width:34px;height:36px;display:grid;place-items:center;cursor:pointer;border:0;background:none}
.woocommerce-cart-form td.actions{padding:12px 0 0 !important;text-align:right}
.woocommerce-cart-form td.actions .coupon{display:none}
.woocommerce-cart-form button[name="update_cart"]{background:none;border:1.5px solid var(--cc-color-divider);border-radius:999px;padding:8px 18px;font:600 13px/1 var(--cc-font-body);color:var(--cc-color-text);cursor:pointer}
.woocommerce-cart-form button[name="update_cart"]:disabled{opacity:.45;cursor:default}
.brxe-woocommerce-cart-coupon{border:0 !important;padding:0 !important;background:none !important;margin-top:16px}
.brxe-woocommerce-cart-coupon .coupon{display:flex;gap:8px;width:100%}
.brxe-woocommerce-cart-coupon input[type=text]{flex:1;min-width:0;height:46px;padding:0 14px;border:1.5px solid var(--cc-color-divider);border-radius:var(--cc-radius-md,12px);background:#fff;font:400 15px/1 var(--cc-font-body)}
.brxe-woocommerce-cart-coupon button{flex:none;height:46px;padding:0 22px;border:1.5px solid var(--cc-color-text);border-radius:999px;background:none;font:600 15px/1 var(--cc-font-body);color:var(--cc-color-text);cursor:pointer}
.cart_totals > h2{display:none}
.cart_totals table.shop_table{margin-top:0}
.cart_totals table.shop_table th{border-bottom:0 !important;font-weight:400;padding-left:0}
.cart_totals table.shop_table td{padding-right:0}
.cart_totals table.shop_table tr.order-total th,.cart_totals table.shop_table tr.order-total td{font-weight:700;font-size:18px;border-top:1.5px solid var(--cc-color-divider) !important}
.cart_totals .woocommerce-shipping-methods{list-style:none;margin:0;padding:0}
.cart_totals .woocommerce-shipping-destination,.cart_totals .woocommerce-shipping-calculator{font-size:12px;opacity:.7;margin:4px 0 0}
.wc-proceed-to-checkout{padding:12px 0 4px}
.wc-proceed-to-checkout a.checkout-button{display:flex;justify-content:center;align-items:center;min-height:48px;border-radius:999px;background:var(--cc-color-accent-2);color:var(--cc-color-bg);font:600 16px/1 var(--cc-font-body);text-decoration:none;margin:0}
.wc-proceed-to-checkout a.checkout-button:hover{filter:brightness(.94)}
/* ---------- Checkout ---------- */
#order_review_heading{display:none}
.woocommerce-checkout .woocommerce-billing-fields > h3,.woocommerce-checkout .woocommerce-shipping-fields h3,.woocommerce-checkout .woocommerce-additional-fields > h3{font:600 18px/1.3 var(--cc-font-heading);margin:0 0 12px}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.woocommerce-checkout .form-row{margin:0;padding:0;width:auto;float:none;grid-column:1 / -1;display:grid;gap:6px}
.woocommerce-checkout .form-row-first{grid-column:1}
.woocommerce-checkout .form-row-last{grid-column:2}
.woocommerce-checkout .form-row label{font:600 13px/1.2 var(--cc-font-body)}
.woocommerce-checkout .form-row .woocommerce-input-wrapper{display:block;width:100%}
.woocommerce-checkout .form-row input.input-text,.woocommerce-checkout .form-row textarea,.woocommerce-checkout .form-row select,.woocommerce-checkout .select2-container .select2-selection--single{width:100%;min-height:46px;padding:0 14px;border:1.5px solid var(--cc-color-divider);border-radius:var(--cc-radius-md,12px);background:#fff;font:400 15px/1.4 var(--cc-font-body);box-sizing:border-box}
.woocommerce-checkout .form-row textarea{padding:12px 14px;min-height:90px}
.woocommerce-checkout .select2-container{width:100% !important}
.woocommerce-checkout .select2-container .select2-selection__rendered{line-height:43px;padding:0}
.woocommerce-checkout .select2-container .select2-selection__arrow{height:44px}
.woocommerce-checkout .woocommerce-shipping-fields,.woocommerce-checkout .woocommerce-additional-fields{margin-top:20px}
.woocommerce-checkout #ship-to-different-address{font:600 16px/1.3 var(--cc-font-heading);margin:0 0 12px}
.woocommerce-checkout #payment{background:none;border:0;padding:0;margin-top:12px}
.woocommerce-checkout #payment ul.payment_methods{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px;text-align:left}
.woocommerce-checkout #payment ul.payment_methods li{border:1.5px solid var(--cc-color-divider);border-radius:var(--cc-radius-md,12px);padding:12px 14px;background:#fff;text-align:left}
.woocommerce-checkout #payment ul.payment_methods label{font-weight:600;margin-left:6px}
.woocommerce-checkout #payment .payment_box{background:none;padding:8px 0 0;margin:0;font-size:13px;text-align:left}
.woocommerce-checkout #payment .payment_box p{text-align:left;margin:0}
.woocommerce-checkout .woocommerce-privacy-policy-text p{font-size:12px;opacity:.75;text-align:left}
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping ul{list-style:none;margin:0;padding:0}
.co-note{font-size:13px;flex:1}
.co-trust{gap:8px;align-items:center;flex-wrap:nowrap !important}
.co-trust .cc-trust-badge{flex:none}
/* ---------- Woo notices, basket/checkout polish ---------- */
.woocommerce-notices-wrapper,.woocommerce-form-login-toggle,.woocommerce-form-coupon-toggle{padding-inline:max(var(--cc-space-4),calc((100vw - 1180px)/2));margin:12px 0 0}
.woocommerce-message,.woocommerce-info,.woocommerce-error{background:var(--cc-color-surface) !important;color:var(--cc-color-text) !important;border:1px solid var(--cc-color-divider) !important;border-radius:var(--cc-radius-md,12px);padding:12px 16px !important;font-size:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 8px !important;list-style:none}
.woocommerce-message a.button,.woocommerce-info a.button{min-height:36px;padding:0 16px;font-size:13px}
.woocommerce-info a{color:var(--cc-accent-700);font-weight:600}
form.checkout_coupon,form.woocommerce-form-login{margin-inline:max(var(--cc-space-4),calc((100vw - 1180px)/2));padding:16px;border:1px solid var(--cc-color-divider);border-radius:var(--cc-radius-md,12px)}
.cart_totals .woocommerce-shipping-destination,.cart_totals .woocommerce-shipping-calculator{display:none}
.cart_totals tr.shipping td{text-align:right}
.cart_totals .woocommerce-shipping-methods label,.woocommerce-checkout-review-order-table .shipping label{font-weight:400;opacity:1}
.wc-proceed-to-checkout a.checkout-button{width:100%}
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{width:100%;float:none;max-width:none}
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name{text-align:left}
.photo img.photo-top,.photo .photo-top img{object-position:50% 15%}
/* ---------- Blog listing, posts and plain content pages ---------- */
.blog-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--cc-space-4)}
@media (min-width:700px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.blog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
a.blog-card{text-decoration:none;color:inherit;display:flex !important;flex-direction:column !important;gap:8px;width:auto}
a.blog-card:hover{border-color:var(--cc-color-accent-2)}
.blog-card .cc-card-title{font-size:19px;margin:0}
.blog-date{font-size:12px;opacity:.65;text-transform:uppercase;letter-spacing:.06em}
.blog-more{margin-top:auto;font-weight:600;font-size:14px;color:var(--cc-accent-700)}
article#brx-content.wordpress,main#brx-content.layout-default{padding:var(--cc-space-8) max(var(--cc-space-4),calc((100vw - 860px)/2)) var(--cc-space-12);width:auto;max-width:none;margin:0}
main#brx-content.layout-default .brxe-container{width:100%;max-width:none;padding:0}
article#brx-content.wordpress h1,article#brx-content.wordpress h2,article#brx-content.wordpress h3,main#brx-content.layout-default h1,main#brx-content.layout-default h2,main#brx-content.layout-default h3{font-family:var(--cc-font-heading);font-weight:600;line-height:1.2;margin:1.2em 0 .5em}
article#brx-content.wordpress h1,main#brx-content.layout-default h1{font-size:36px;margin-top:0}
article#brx-content.wordpress h2,main#brx-content.layout-default h2{font-size:24px}
article#brx-content.wordpress p,main#brx-content.layout-default p{margin:0 0 1em;line-height:1.65}
article#brx-content.wordpress img,main#brx-content.layout-default img{max-width:100%;height:auto;border-radius:var(--cc-radius-md,12px)}
body.woocommerce-cart article#brx-content.wordpress,body.woocommerce-checkout article#brx-content.wordpress{padding:0}
body.woocommerce-cart article#brx-content.wordpress > h1,body.woocommerce-checkout article#brx-content.wordpress > h1{display:none}
body.woocommerce-account article#brx-content.wordpress .u-columns{display:grid;gap:24px}
@media (min-width:900px){body.woocommerce-account article#brx-content.wordpress .u-columns{grid-template-columns:1fr 1fr}}
body.woocommerce-account .u-columns .u-column1,body.woocommerce-account .u-columns .u-column2{width:auto;float:none;padding:0}
body.woocommerce-account .u-columns h2{font-size:22px;margin-top:0}
body.woocommerce-account form.woocommerce-form{border:1px solid var(--cc-color-divider);border-radius:var(--cc-radius-md,12px);padding:20px;margin:0;display:grid;gap:12px}
body.woocommerce-account form.woocommerce-form input.input-text{width:100%;min-height:46px;padding:0 14px;border:1.5px solid var(--cc-color-divider);border-radius:var(--cc-radius-md,12px);background:#fff;box-sizing:border-box}
body.woocommerce-account form.woocommerce-form p{margin:0}
.pdp{grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.pdp{grid-template-columns:560px minmax(0,1fr)}}
.pdp > *{min-width:0;max-width:100%}
.pdp-gallery,.pdp-gallery .woocommerce-product-gallery{max-width:100%;overflow:hidden}
.pdp-cart,.pdp-cart form.cart,.pdp-cart .single_variation_wrap{min-width:0;max-width:100%;width:100%}
.pdp-cart .woocommerce-variation-add-to-cart{width:100%;max-width:100%;box-sizing:border-box}
.pdp-cart button.single_add_to_cart_button{min-width:0;width:auto;flex:1 1 0}
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper{display:grid;gap:12px}
@media (min-width:900px){.usp:has(> :nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ---------- Client feedback round, 2 Oct 2026 ---------- */
/* Five meal tiles (Curries added), so five across on desktop; the odd one spans the row on phones. */
@media (min-width: 900px){.brxe-tabs-nested .cat-tiles.tab-pane.brx-open:has(> :nth-child(5)){grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width: 899px){.brxe-tabs-nested .cat-tiles.tab-pane.brx-open > .cat-tile:nth-child(5):last-child{grid-column:1 / -1;aspect-ratio:2 / 1}}
.cat-tile[data-cat="curries"]{--tint:var(--cc-gold-100);--c:var(--cc-gold-500)}
/* "Free UK delivery over £50" under the hero buttons: bigger and bolder, as the client asked. */
.hero .hero-note{font-size:17px;font-weight:700;color:var(--cc-accent-700)}
/* Subscribe page: four plans, one per card; buttons line up along the bottom. */
.plan.plan-four{grid-template-columns:minmax(0,1fr)}
@media (min-width:700px){.plan.plan-four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.plan.plan-four{grid-template-columns:repeat(4,minmax(0,1fr))}}
.plan.plan-four > .cc-card{display:flex;flex-direction:column;gap:var(--cc-space-2)}
.plan.plan-four > .cc-card > .brxe-button{margin-top:auto}
/* Single posts: Bricks reserves 450px for a featured image even when the post has none,
   which left a big empty gap under the title. Collapse it when there is no image. */
.bricks-post-header:not([style*="background-image"]){min-height:0;height:auto;padding:var(--cc-space-6) 0 var(--cc-space-2)}
.blog-hero{margin-bottom:var(--cc-space-6)}
/* Stockists page: the finder runs the full width of the column. */
.cc-stockists{max-width:900px}
/* Card button now a plain link to the product page ("Find out more"). */
.cc-product-card .card-cta a.cc-find-out-more{display:block;width:100%;text-align:center}
/* Second feedback round (5 Oct 2026). Blog posts: share on Facebook and LinkedIn only. */
.brxe-post-sharing li:has(> a.twitter),.brxe-post-sharing li:has(> a.pinterest),.brxe-post-sharing li:has(> a.email){display:none}
.brxe-post-sharing a.twitter,.brxe-post-sharing a.pinterest,.brxe-post-sharing a.email{display:none}
/* Wholesale: the note for trade customers outside the UK, under the hero buttons. */
.ws-faire{display:flex;flex-direction:column;gap:6px;margin-top:var(--cc-space-2);padding-top:var(--cc-space-3);border-top:1px solid var(--cc-color-divider);font-size:15px;max-width:520px}
.ws-faire p{margin:0}
.ws-faire a{font-weight:600;text-decoration:underline;align-self:flex-start}
/* Third feedback round (6 Oct 2026). Wholesale login page: the login and register forms get the
   My account layout. Without it the checkout's login-form margin squeezed the Login box into a
   narrow strip on wide screens. */
article#brx-content.wordpress #customer_login.u-columns{display:grid;gap:24px}
article#brx-content.wordpress #customer_login.u-columns::before,article#brx-content.wordpress #customer_login.u-columns::after{display:none}
@media (min-width:900px){article#brx-content.wordpress #customer_login.u-columns{grid-template-columns:1fr 1fr;align-items:start}}
#customer_login .u-column1,#customer_login .u-column2{width:auto;max-width:none;float:none;padding:0}
#customer_login h2{font-size:22px;margin-top:0}
#customer_login form.woocommerce-form{border:1px solid var(--cc-color-divider);border-radius:var(--cc-radius-md,12px);padding:20px;margin:0;display:grid;gap:12px}
#customer_login form.woocommerce-form input.input-text,#customer_login form.woocommerce-form textarea,#customer_login form.woocommerce-form select{width:100%;min-height:46px;padding:0 14px;border:1.5px solid var(--cc-color-divider);border-radius:var(--cc-radius-md,12px);background:#fff;box-sizing:border-box}
#customer_login form.woocommerce-form textarea{padding:10px 14px;min-height:96px}
#customer_login form.woocommerce-form p{margin:0}
/* Blog posts: say what the two icons are for. */
.brxe-post-sharing{align-items:center}
.brxe-post-sharing::before{content:"Share this post";font-weight:600;font-size:14px;margin-right:4px;color:var(--cc-color-text)}
/* Wholesale page: room between the enquiry heading and its form. */
#wholesale-form .h2-sm{margin-bottom:var(--cc-space-3)}
/* Shop tiles on a phone: a smaller label, so it does not cover the pack picture. */
@media (max-width:599px){.cat-tile .lbl{font-size:14px;line-height:1.2;padding:5px 10px 5px 12px}}
