/* ==========================================================================
   WooCommerce styling — aligns Woo catalog / product / cart / checkout to the
   JoRoBee's design system. Loaded only when WooCommerce is active (functions.php).
   Woo markup can't be renamed, so we style Woo's own classes with our tokens.
   ========================================================================== */

/* Layout: use the theme container + section rhythm */
.woocommerce-page .jdc-main,
.woocommerce .jdc-main{background:var(--surface-page)}

/* Hello Elementor caps its WooCommerce wrapper (main.site-main) at ~800px, which
   squeezes the catalog. Let Woo pages use the full container width (jdc-wrap's
   1200 governs instead). */
.woocommerce main.site-main,
.woocommerce-page main.site-main,
body.woocommerce main.site-main,
body.woocommerce-page main.site-main{max-width:none !important;width:100% !important;padding:0 !important}
.woocommerce .woocommerce-breadcrumb{font-size:var(--fs-caption);color:var(--text-muted);padding:var(--sp-5) 0 0}
.woocommerce .woocommerce-breadcrumb a{color:var(--link);text-decoration:none}

/* Page title */
.woocommerce-products-header__title,
.woocommerce-products-header .woocommerce-products-header__title{font-family:var(--font-display);font-size:var(--fs-h1);color:var(--text-heading)}

/* ---- Product grid (archive / shop) ---- */
.woocommerce ul.products{display:grid;gap:var(--grid-gap);grid-template-columns:1fr;margin:0;padding:0}
/* Woo's clearfix ::before/::after become phantom grid items (empty first cell) — kill them */
.woocommerce ul.products::before,
.woocommerce ul.products::after{content:none !important;display:none !important}
@media(min-width:640px){.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.woocommerce ul.products{grid-template-columns:repeat(3,1fr);gap:var(--grid-gap-lg)}}
.woocommerce ul.products li.product{width:auto !important;margin:0 !important;float:none !important;
  display:flex;flex-direction:column;background:var(--surface-card);border-radius:var(--r-lg);
  box-shadow:var(--sh-2);overflow:hidden;padding:0;
  transition:box-shadow var(--dur) var(--ease-out),transform var(--dur) var(--ease-out)}
.woocommerce ul.products li.product:hover{box-shadow:var(--sh-3);transform:translateY(var(--lift-hover))}
.woocommerce ul.products li.product a img{margin:0;border-radius:0;aspect-ratio:1/1;object-fit:cover}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--font-display);font-size:var(--fs-h5);color:var(--text-heading);padding:var(--sp-4) var(--sp-4) 0;line-height:1.25}
.woocommerce ul.products li.product .price{display:block;padding:6px var(--sp-4) 0;font-family:var(--font-display);font-weight:var(--fw-bold);color:var(--text-price);font-size:var(--fs-h5)}
.woocommerce ul.products li.product .price del{color:var(--text-subtle);font-weight:400;font-size:var(--fs-caption)}
.woocommerce ul.products li.product .price ins{color:var(--text-sale);text-decoration:none}
.woocommerce ul.products li.product .button{display:block;width:calc(100% - 2*var(--sp-4));margin:var(--sp-4);margin-top:auto;text-align:center;white-space:nowrap;padding-left:12px;padding-right:12px}
.woocommerce ul.products li.product .added_to_cart{display:block;text-align:center;margin:0 var(--sp-4) var(--sp-4)}
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale{background:var(--strawberry);color:#fff;border-radius:var(--r-pill);font-family:var(--font-body);font-weight:var(--fw-bold);font-size:var(--fs-eyebrow);letter-spacing:.08em;text-transform:uppercase;min-height:0;line-height:1.2;padding:5px 11px;top:12px;left:12px;margin:0}
.woocommerce ul.products li.product.outofstock{opacity:1}
.woocommerce ul.products li.product .out-of-stock-badge,
.woocommerce p.stock.out-of-stock{color:var(--cocoa-60)}

/* ---- Buttons: map Woo buttons to jdc-btn ---- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .button.alt,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt{background:var(--btn-primary-bg);color:#fff;font-family:var(--font-body);font-weight:var(--fw-bold);letter-spacing:var(--ls-button);border:var(--bw-strong) solid transparent;border-radius:var(--r-pill);padding:13px 24px;min-height:var(--tap-min);box-shadow:var(--sh-2);transition:background var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .button.alt:hover{background:var(--btn-primary-bg-hover);color:#fff;box-shadow:var(--sh-3)}
.woocommerce a.added_to_cart{color:var(--link);font-weight:var(--fw-semibold);text-decoration:none;padding-left:8px}

/* ---- Single product ---- */
.woocommerce div.product .product_title{font-family:var(--font-display);font-size:var(--fs-h1);color:var(--text-heading)}
.woocommerce div.product p.price,
.woocommerce div.product span.price{color:var(--text-price);font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-h3)}
.woocommerce div.product .woocommerce-product-details__short-description{font-size:var(--fs-body-lg);color:var(--text-muted)}
.woocommerce div.product form.cart .quantity input.qty{border:var(--bw) solid var(--line);border-radius:var(--r-pill);min-height:var(--tap-min);padding:0 8px;font-family:var(--font-body);font-weight:var(--fw-bold)}
.woocommerce .woocommerce-tabs ul.tabs li.active{border-bottom-color:var(--strawberry)}
.woocommerce div.product .images img{border-radius:var(--r-image)}
.woocommerce div.product form.cart .variations select{border:var(--bw) solid var(--line);border-radius:var(--r-md);min-height:var(--tap-min);padding:10px 14px}
.woocommerce .stock.in-stock{color:var(--status-instock)}
.woocommerce .stock.available-on-backorder{color:var(--status-lead)}

/* ---- Cart + checkout ---- */
.woocommerce table.shop_table{border-radius:var(--r-lg);border-color:var(--line)}
.woocommerce table.shop_table th{font-family:var(--font-body);font-weight:var(--fw-bold);color:var(--text-heading)}
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce form.checkout_coupon{background:var(--surface-card);border:var(--bw) solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-2);padding:var(--sp-6)}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-checkout .select2-container .select2-selection{border:var(--bw) solid var(--line) !important;border-radius:var(--r-md) !important;min-height:var(--tap-min);padding:10px 14px}
.woocommerce-message,
.woocommerce-info{border-top-color:var(--strawberry)}
.woocommerce-message::before,
.woocommerce-info::before{color:var(--strawberry)}

/* ---- Notices / badges ---- */
.woocommerce .woocommerce-result-count{color:var(--text-muted);font-size:var(--fs-small)}
.woocommerce .woocommerce-ordering select{border:var(--bw) solid var(--line);border-radius:var(--r-md);padding:8px 12px}

/* Lead-time / allergen note box reused from jdc */
.jdc-prodnote{background:var(--surface-section);border-radius:var(--r-md);padding:var(--sp-5);font-size:var(--fs-small);display:grid;gap:10px;margin-top:var(--sp-4)}
.jdc-prodnote > span{display:flex;gap:10px;align-items:flex-start}

/* ---- Catalog: two-column (filters + grid) ---- */
.jdc-catalog{display:grid;gap:var(--sp-6);grid-template-columns:1fr;padding-bottom:var(--sp-16)}
@media(min-width:900px){.jdc-catalog{grid-template-columns:248px 1fr;gap:var(--sp-10)}}
.jdc-catalog__main .woocommerce-result-count{float:none;margin:0 0 var(--sp-4)}
.jdc-catalog__main .woocommerce-ordering{float:none;margin:0 0 var(--sp-5)}
@media(min-width:640px){
  .jdc-catalog__main .woocommerce-result-count{display:inline-block}
  .jdc-catalog__main .woocommerce-ordering{display:inline-block;float:right}
}
.jdc-filters{border:0}
.jdc-filters__summary{list-style:none;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-family:var(--font-body);font-weight:var(--fw-bold);color:var(--text-body);padding:10px 16px;border:var(--bw-strong) solid var(--strawberry);border-radius:var(--r-pill);color:var(--text-accent-small)}
.jdc-filters__summary::-webkit-details-marker{display:none}
.jdc-filters__body{margin-top:var(--sp-5)}
.jdc-filters__note{font-size:var(--fs-caption);color:var(--text-subtle);margin-top:var(--sp-4)}
@media(min-width:900px){
  .jdc-filters__summary{display:none}
  .jdc-filters__body{margin-top:0}
  .jdc-catalog__filters{position:sticky;top:calc(var(--header-h-lg) + 16px)}
}
.jdc-filtergroup{padding-bottom:var(--sp-5);margin-bottom:var(--sp-5);border-bottom:var(--bw) solid var(--line)}
.jdc-filtergroup__head{font-family:var(--font-display);font-size:var(--fs-h5);margin-bottom:8px}
.jdc-filterlist{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.jdc-filterlist a{display:flex;justify-content:space-between;gap:8px;text-decoration:none;color:var(--text-body);padding:6px 10px;border-radius:var(--r-sm)}
.jdc-filterlist a:hover{background:var(--surface-muted)}
.jdc-filterlist a.is-active{background:var(--strawberry-tint);color:var(--text-accent-small);font-weight:var(--fw-bold)}
.jdc-filterlist__count{color:var(--text-subtle);font-size:var(--fs-caption)}

/* ---- Catering PDP fields (event date + fulfillment) ---- */
.jdc-catering-fields{display:grid;gap:var(--sp-4);margin:var(--sp-5) 0;max-width:460px}
.jdc-field{display:flex;flex-direction:column;gap:6px;margin:0}
.jdc-field label{font-size:var(--fs-small);font-weight:var(--fw-bold);color:var(--text-body)}
.jdc-req{color:var(--text-accent-small);font-weight:var(--fw-bold)}
.jdc-field input[type=date]{border:var(--bw) solid var(--line);border-radius:var(--r-md);min-height:var(--tap-min);padding:10px 14px;font-family:var(--font-body)}
.jdc-field__hint{font-size:var(--fs-caption);color:var(--text-muted)}
.jdc-fulfil{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}
.jdc-fulfil__opt{display:flex;flex-direction:column;gap:2px;padding:var(--sp-4);border:var(--bw-strong) solid var(--line);border-radius:var(--r-md);cursor:pointer;font-weight:var(--fw-bold)}
.jdc-fulfil__opt span{font-size:var(--fs-caption);color:var(--text-muted);font-weight:400}
.jdc-fulfil__opt:has(input:checked){border-color:var(--strawberry);background:var(--strawberry-tint)}

/* ---- Cart / checkout polish (7.x) ---- */
.woocommerce-cart .cart-collaterals .cart_totals > h2,
.woocommerce-checkout #order_review_heading{font-family:var(--font-display);font-size:var(--fs-h4)}
.woocommerce-cart table.cart img{border-radius:var(--r-sm);width:64px}
.woocommerce a.remove{color:var(--strawberry-dark) !important;border-color:var(--strawberry-dark)}
.woocommerce a.remove:hover{background:var(--strawberry) !important;color:#fff !important}
.woocommerce .cart_totals .order-total .amount,
.woocommerce-checkout .order-total .amount{font-family:var(--font-display);color:var(--text-price)}
.jdc-checkout-assurance{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:var(--sp-4);font-size:var(--fs-caption);color:var(--text-muted)}

/* ---- Catalog card: design-system ProductCard parity (note + stock + badge) ---- */
.woocommerce ul.products li.product{position:relative}
.woocommerce ul.products li.product .jdc-loop-note{margin:6px var(--sp-4) 0;font-family:var(--font-body);font-size:var(--fs-small);color:var(--text-muted);line-height:var(--lh-snug)}
.woocommerce ul.products li.product .jdc-loop-stock{margin:8px var(--sp-4) 0;font-family:var(--font-body);font-size:var(--fs-caption);display:flex;align-items:center;gap:7px}
.woocommerce ul.products li.product .jdc-loop-stock::before{content:"";width:7px;height:7px;border-radius:999px;flex:none}
.jdc-loop-stock.is-in{color:var(--status-instock)}
.jdc-loop-stock.is-in::before{background:var(--status-instock)}
.jdc-loop-stock.is-out{color:var(--status-oos)}
.jdc-loop-stock.is-out::before{background:var(--status-oos)}
.woocommerce ul.products li.product .jdc-loop-badge{position:absolute;top:12px;left:12px;z-index:2;background:var(--tart-gold);color:var(--cocoa);font-family:var(--font-body);font-weight:var(--fw-bold);font-size:var(--fs-eyebrow);letter-spacing:.06em;text-transform:uppercase;padding:5px 11px;border-radius:var(--r-pill);line-height:1.2}
.woocommerce ul.products li.product .button{display:flex;align-items:center;justify-content:center;gap:8px}
.woocommerce ul.products li.product .button .jdc-ico{flex:none}

/* ---- PDP reassurance chips ---- */
.jdc-pdp-badges{display:flex;flex-wrap:wrap;gap:8px;margin:var(--sp-5) 0 var(--sp-2)}
.jdc-pdp-badges .jdc-chip{display:inline-flex;align-items:center;gap:7px;background:var(--surface-muted);color:var(--text-body);border-radius:var(--r-pill);padding:7px 13px;font-family:var(--font-body);font-size:var(--fs-caption);font-weight:var(--fw-semibold)}
.jdc-pdp-badges .jdc-chip .jdc-ico{color:var(--strawberry);flex:none}

/* ==========================================================================
   WooCommerce BLOCKS — Cart & Checkout blocks (.wc-block-*). The classic
   shop_table/cart_totals rules above don't apply to the block templates, so
   brand the block components explicitly.
   ========================================================================== */
/* Primary CTAs: Proceed to Checkout / Place Order */
.wc-block-components-button.contained,
a.wc-block-cart__submit-button,
.wc-block-cart__submit-button{
  background:var(--btn-primary-bg)!important;color:#fff!important;border:0!important;
  border-radius:var(--r-pill)!important;font-family:var(--font-body)!important;
  font-weight:var(--fw-bold)!important;letter-spacing:var(--ls-button);
  min-height:var(--tap-min);box-shadow:var(--sh-2);transition:background var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}
.wc-block-components-button.contained:hover,
a.wc-block-cart__submit-button:hover{background:var(--btn-primary-bg-hover)!important;box-shadow:var(--sh-3)}
.wc-block-components-button.contained .wc-block-components-button__text{color:#fff!important}
.wc-block-components-button.is-link{color:var(--link)}

/* Section + summary headings in the display face */
.wc-block-components-title,
.wc-block-components-checkout-step__title,
.wp-block-woocommerce-cart-order-summary-heading-block{font-family:var(--font-display)!important;color:var(--text-heading)}

/* Order summary sidebar as a brand card */
.wc-block-checkout__sidebar.is-large,
.wp-block-woocommerce-cart-totals-block{background:var(--surface-card);border:var(--bw) solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-2)}

/* Totals: emphasise the final amount in the display face */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-family:var(--font-display);color:var(--text-price);font-weight:var(--fw-bold)}

/* Inputs: brand radius + focus ring (keep the block float-label behaviour) */
.wc-block-components-text-input input,
.wc-block-components-address-form input,
.wc-blocks-components-select .wc-blocks-components-select__container{border-radius:var(--r-md)!important}
.wc-block-components-text-input input:focus{border-color:var(--berry-deep)!important;box-shadow:var(--sh-focus)!important}

/* Line-item titles in the display face */
.wc-block-components-product-name{font-family:var(--font-display);color:var(--text-heading);font-weight:var(--fw-bold)}

/* Catalog pagination — breathing room + pill buttons (Desserts + Take Out) */
.woocommerce nav.woocommerce-pagination{margin:var(--sp-10) 0 var(--sp-12);text-align:center;clear:both}
.woocommerce nav.woocommerce-pagination ul{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-2);border:0;margin:0;padding:0;white-space:normal}
.woocommerce nav.woocommerce-pagination ul li{border:0;float:none;overflow:visible;margin:0;padding:0}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 var(--sp-3);border:1px solid var(--border-subtle,rgba(0,0,0,.14));border-radius:var(--r-pill);background:var(--surface-card,#fff);color:var(--text-body);font-family:var(--font-body);font-weight:var(--fw-bold);line-height:1;text-decoration:none;transition:background var(--dur) var(--ease,ease),color var(--dur) var(--ease,ease),border-color var(--dur) var(--ease,ease)}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li a:focus-visible{background:var(--surface-muted);border-color:var(--strawberry);color:var(--strawberry)}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--strawberry);border-color:var(--strawberry);color:#fff}
.woocommerce nav.woocommerce-pagination ul li span.dots{border-color:transparent;background:transparent}

/* ---- No-photo mode: products without an image hide the placeholder and reflow ---- */
.woocommerce ul.products li.product.jdc-noimg a img,
.woocommerce ul.products li.product.jdc-noimg .woocommerce-placeholder{display:none}
.woocommerce ul.products li.product.jdc-noimg .woocommerce-loop-product__title{padding-top:var(--sp-5)}
.woocommerce ul.products li.product.jdc-noimg .jdc-loop-badge{position:static;display:inline-block;margin:var(--sp-4) var(--sp-4) 0}
/* Product page: no gallery column -> single readable column */
.woocommerce div.product.jdc-noimg .woocommerce-product-gallery,
.woocommerce div.product.jdc-noimg .images{display:none}
.woocommerce div.product.jdc-noimg .summary{float:none;width:100%;max-width:720px;margin-inline:auto}
/* Cart / checkout (block-based) + any leftover placeholder image */
img[src*="woocommerce-placeholder"]{display:none}
.wc-block-cart-item__image:has(img[src*="woocommerce-placeholder"]),
.wc-block-components-order-summary-item__image:has(img[src*="woocommerce-placeholder"]){display:none}

/* ---- Compact menu rows (no-photo cards): details left, small red + button right ---- */
.woocommerce ul.products li.product .jdc-plus{display:none}
.woocommerce ul.products li.product.jdc-noimg{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;column-gap:var(--sp-3);padding:var(--sp-4) var(--sp-4) var(--sp-4) var(--sp-5)}
.woocommerce ul.products li.product.jdc-noimg > a.woocommerce-LoopProduct-link{grid-column:1;grid-row:1;min-width:0}
.woocommerce ul.products li.product.jdc-noimg .woocommerce-loop-product__title{padding:0;font-size:var(--fs-h5)}
.woocommerce ul.products li.product.jdc-noimg .price{padding:4px 0 0}
.woocommerce ul.products li.product.jdc-noimg .jdc-loop-note{margin:6px 0 0}
.woocommerce ul.products li.product.jdc-noimg .jdc-loop-badge{margin:0 0 var(--sp-2)}
.woocommerce ul.products li.product.jdc-noimg .jdc-loop-stock{grid-column:1;grid-row:2;margin:6px 0 0}
.woocommerce ul.products li.product.jdc-noimg .button{grid-column:2;grid-row:1 / span 2;align-self:center;width:44px;height:44px;min-height:44px;margin:0;padding:0;border-radius:var(--r-pill);font-size:0;line-height:0;gap:0;display:inline-flex;align-items:center;justify-content:center}
.woocommerce ul.products li.product.jdc-noimg .button .jdc-ico{display:none}
.woocommerce ul.products li.product.jdc-noimg .button .jdc-plus{display:inline-flex}
.woocommerce ul.products li.product.jdc-noimg .button.added .jdc-plus{transform:rotate(45deg);transition:transform var(--dur) var(--ease-out)}
.woocommerce ul.products li.product.jdc-noimg .added_to_cart{display:none}

/* ---- Prices in Roboto: sets the price apart from the Playfair item titles ---- */
.woocommerce .price,
.woocommerce .price .amount,
.woocommerce-Price-amount,
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce-checkout .order-total .amount,
.wc-block-components-formatted-money-amount,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-cart-item__prices,
.wc-block-components-product-price{font-family:Roboto,var(--font-body),system-ui,sans-serif;font-weight:400;letter-spacing:0;font-variant-numeric:tabular-nums}
.woocommerce ul.products li.product .price{font-size:var(--fs-small)}
/* Medium (500) item titles on the menu cards: lighter than the bold default */
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-weight:500}

/* Cart / Checkout / My account: contain the page header + block content in the
   site container. Hello's .page-header/.page-content have no container, and the
   block cart's .alignwide offsets pushed content past the left edge (clipped). */
body.woocommerce-cart.woocommerce-page main.site-main,
body.woocommerce-checkout.woocommerce-page main.site-main,
body.woocommerce-account.woocommerce-page main.site-main{box-sizing:border-box;max-width:var(--container) !important;margin:0 auto !important;padding:0 var(--gutter) var(--sp-10) !important}
body.woocommerce-cart.woocommerce-page main.site-main .page-header,
body.woocommerce-checkout.woocommerce-page main.site-main .page-header,
body.woocommerce-account.woocommerce-page main.site-main .page-header{padding:var(--sp-8) 0 var(--sp-4);margin:0}
body.woocommerce-cart.woocommerce-page main.site-main .page-content,
body.woocommerce-checkout.woocommerce-page main.site-main .page-content,
body.woocommerce-account.woocommerce-page main.site-main .page-content{padding:0;margin:0}
.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-checkout .wp-block-woocommerce-checkout{margin-left:0 !important;margin-right:0 !important;max-width:100% !important;width:100% !important;box-sizing:border-box}
.wp-block-woocommerce-cart .wc-block-cart__main,
.wp-block-woocommerce-checkout .wc-block-checkout__main{min-width:0}
@media (min-width:1024px){
	body.woocommerce-cart.woocommerce-page main.site-main,
	body.woocommerce-checkout.woocommerce-page main.site-main,
	body.woocommerce-account.woocommerce-page main.site-main{padding-left:var(--gutter-lg) !important;padding-right:var(--gutter-lg) !important}
}
body.woocommerce-cart.woocommerce-page main.site-main .page-header,
body.woocommerce-checkout.woocommerce-page main.site-main .page-header,
body.woocommerce-account.woocommerce-page main.site-main .page-header,
body.woocommerce-cart.woocommerce-page main.site-main .page-content,
body.woocommerce-checkout.woocommerce-page main.site-main .page-content,
body.woocommerce-account.woocommerce-page main.site-main .page-content{max-width:none;width:100%}
/* Inner padding for the totals / order-summary cards (content sat on the card edge) */
.wp-block-woocommerce-cart-totals-block,
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block{box-sizing:border-box;padding:var(--sp-5) var(--sp-5) var(--sp-6)}
.wc-block-checkout__sidebar{box-sizing:border-box;padding:var(--sp-5)}
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block{padding:0;border:0 !important;box-shadow:none !important;background:transparent !important}
body.woocommerce-cart.woocommerce-page .page-header .entry-title,
body.woocommerce-checkout.woocommerce-page .page-header .entry-title,
body.woocommerce-account.woocommerce-page .page-header .entry-title{max-width:none;margin-inline:0;width:100%}

/* Single product pages: Woo's main.site-main is zeroed above, and (unlike the catalog, which has its
   own container) the PDP had none, so content sat flush to the screen edge on phones. */
body.single-product main.site-main{box-sizing:border-box;max-width:1280px !important;margin:0 auto !important;padding:0 var(--gutter) var(--sp-10) !important}
@media (min-width:1024px){
	body.single-product main.site-main{padding-left:var(--gutter-lg) !important;padding-right:var(--gutter-lg) !important}
}

/* No-photo product pages: details + modifiers on the left, "You might also like" as ONE narrow column on the right
   (stacked below on tablets/phones). The old 720px centered column is gone so the details can be wider. */
.woocommerce div.product.jdc-noimg{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-8)}
.woocommerce div.product.jdc-noimg .summary{float:none;width:100%;max-width:none;margin:0}
.woocommerce div.product.jdc-noimg section.related{max-width:none;margin:0}
.woocommerce div.product.jdc-noimg section.related > h2{font-size:var(--fs-h4);margin:0 0 var(--sp-4)}
.woocommerce div.product.jdc-noimg section.related ul.products{grid-template-columns:1fr;gap:var(--sp-3)}
@media (min-width:1180px){
	.woocommerce div.product.jdc-noimg{grid-template-columns:minmax(0,1fr) 300px;gap:var(--sp-10);align-items:start}
	.woocommerce div.product.jdc-noimg .summary{grid-column:1;grid-row:1}
	.woocommerce div.product.jdc-noimg section.related{grid-column:2;grid-row:1;position:sticky;top:96px}
}

