/* MPBD-WOO — WooCommerce storefront styling (shop, single, cart, checkout, wishlist, compare)
   Matches the AppleGadgets-style brand design (navy #1e3e72 / accent orange #f5821f). */

/* ---------- Shop toolbar (result count + ordering) ---------- */
.woocommerce .woocommerce-result-count { color: var(--mpbd-muted); font-size: 14px; margin-top: 6px; }
.woocommerce .woocommerce-ordering select,
.woocommerce select.orderby { border: 1px solid var(--mpbd-line); border-radius: 8px; padding: 9px 34px 9px 14px; font-size: 14px; color: var(--mpbd-ink); background-color: #fff; }

/* ---------- Product grid ---------- */
/* clear:both + width:100%: the result-count (float:left) + ordering (float:right)
   precede the grid; a grid box is a BFC, so without clearing it SQUEEZES BETWEEN the
   floats (1200 - 174 - 205 = ~820px "narrow grid"). Was masked by WP Rocket's critical
   CSS until the shop/category markup changed (v1.8.1 title cleanup regenerated it). */
.woocommerce ul.products,
.woocommerce-page ul.products { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 22px; margin: 0 0 30px; clear: both; width: 100%; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; content: none; }
/* Loop cells now render our unified .mpbd-pcard (via content-product.php override).
   Keep the <li> as a plain grid cell — .mpbd-pcard is the visible card. */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; background: transparent; border: 0; padding: 0; box-shadow: none; list-style: none; position: relative; }
.woocommerce ul.products li.product::before { display: none; content: none; }
.woocommerce ul.products li.product > .mpbd-pcard { width: 100%; height: 100%; }
/* Single-product sale flash stays red */
.woocommerce span.onsale { background: var(--mpbd-sale) !important; color: #fff !important; font-size: 12px; font-weight: 700; min-height: 0; min-width: 0; line-height: 1; padding: 6px 10px; border-radius: 6px; margin: 0; }

/* ---------- Pagination ---------- */
.woocommerce nav.woocommerce-pagination ul { border: 0; gap: 6px; display: flex; justify-content: center; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span { border: 1px solid var(--mpbd-line); border-radius: 8px; min-width: 42px; height: 42px; line-height: 42px; padding: 0; color: var(--mpbd-ink); }
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--mpbd-primary); color: #fff; border-color: var(--mpbd-primary); }

/* ---------- Sidebar widgets / filters ---------- */
.woocommerce .widget-area .widget { background: #fff; border: 1px solid var(--mpbd-line); border-radius: 12px; padding: 18px 18px; margin-bottom: 20px; }
.woocommerce .widget-area .widget-title { color: var(--mpbd-primary); font-size: 16px; margin: 0 0 14px; padding-bottom: 10px; border-bottom: 1px solid var(--mpbd-line); }

/* ---------- Single product (MPBD-SINGLE redesign) ---------- */
/* Flex layout: compact gallery left, roomy summary right; tabs/related stack full-width below. */
.single-product div.product { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 40px; }
.single-product div.product .woocommerce-product-gallery { float: none !important; flex: 0 0 40%; max-width: 440px; width: auto !important; margin: 0 !important; border: 1px solid var(--mpbd-line); border-radius: 14px; padding: 16px; background: #fff; box-sizing: border-box; }
.single-product div.product .summary,
.single-product div.product .entry-summary { float: none !important; flex: 1 1 340px; width: auto !important; margin: 0 !important; }
.single-product div.product .woocommerce-tabs,
.single-product div.product .related,
.single-product div.product .upsells { flex: 1 0 100%; margin-top: 8px; }

/* Gallery image — contained, never oversized */
.single-product .woocommerce-product-gallery__wrapper { margin: 0; }
.single-product .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery img { border-radius: 10px; }
/* Gallery thumbnails. NOTE: the <ol class="flex-control-thumbs"> is BUILT BY flexslider
   JS, so it doesn't exist in the initial HTML — a CSS optimizer can't see it and its
   styling can land late, flashing a numbered, full-width stacked list. The critical
   layout is therefore ALSO printed inline in wp_head (MPBD-GALLERY-FOUC in functions.php);
   these rules are the polish + the maintainable copy. */
.single-product .flex-control-thumbs { display: flex; flex-wrap: wrap; gap: 8px; list-style: none !important; margin: 12px 0 0; padding: 0; }
.single-product .flex-control-thumbs li { list-style: none !important; float: none !important; width: calc(25% - 6px); margin: 0; }
.single-product .flex-control-thumbs img { display: block; width: 100%; height: auto; border-radius: 8px; cursor: pointer; opacity: .65; transition: opacity .15s ease; }
.single-product .flex-control-thumbs img.flex-active,
.single-product .flex-control-thumbs img:hover { opacity: 1; }

/* Summary vertical rhythm */
.single-product div.product .summary > * { margin-bottom: 16px; }
.single-product div.product .summary > *:last-child { margin-bottom: 0; }
.single-product div.product .woocommerce-breadcrumb { font-size: 12.5px; color: var(--mpbd-muted); margin-bottom: 6px; }
.single-product div.product .single-product-category { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--mpbd-accent); margin-bottom: 4px; }
.single-product div.product .product_title { color: var(--mpbd-ink); font-size: 27px; line-height: 1.25; margin: 0 0 10px; }
.single-product div.product .summary .price,
.single-product div.product p.price { color: var(--mpbd-primary); font-weight: 700; font-size: 26px; margin: 0 0 4px; }
.single-product div.product .summary .price del { color: var(--mpbd-muted); font-weight: 400; font-size: 17px; }
.single-product div.product .summary .price ins { text-decoration: none; color: var(--mpbd-sale); }
.single-product div.product .woocommerce-product-details__short-description { color: var(--mpbd-muted); font-size: 15px; line-height: 1.75; }
.single-product div.product .woocommerce-product-details__short-description p { margin: 0 0 8px; }

/* Action area — qty + Add to Cart (row 1), Wishlist + Compare grouped (row 2, moved together by JS) */
.single-product div.product form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0; padding: 18px 0 0; border-top: 1px solid var(--mpbd-line); max-width: 540px; }
.single-product .quantity input.qty { border: 1px solid var(--mpbd-line); border-radius: 8px; height: 50px; width: 76px; text-align: center; }
.single-product div.product form.cart .single_add_to_cart_button,
.single-product div.product form.cart .button { display: flex; align-items: center; justify-content: center; flex: 1 1 auto; min-width: 190px; background: var(--mpbd-accent); color: #fff; border: 0; border-radius: 8px; padding: 0 26px !important; font-weight: 700; font-size: 15px; text-transform: none; height: 50px; line-height: 1; }
.single-product div.product form.cart .single_add_to_cart_button:hover { filter: brightness(1.06); }
/* MPBD-SINGLE-FOUC: hide the raw Wishlist/Compare in their default spots so they never
   flash unstyled right after Add to Cart; custom.js relocates them into .mpbd-single-secondary
   (querySelector still finds display:none nodes, so the move still runs). noscript reveal + a
   WP Rocket delay-JS exclusion (functions.php) keep them visible if JS is off/deferred. */
.single-product div.product form.cart > .tinv-wraper,
.single-product div.product .summary > .woosc-btn,
.single-product div.product .entry-summary > .woosc-btn { display: none; }
.mpbd-single-secondary { flex: 1 0 100%; display: flex; align-items: stretch; gap: 12px; margin: 2px 0 0; }
.mpbd-single-secondary .tinv-wraper { flex: 1; display: flex; align-items: center; margin: 0 !important; }
.mpbd-single-secondary .woosc-btn { flex: 1; margin: 0 !important; }
/* TI-Wishlist wrapper ships hidden clearfix divs + a tooltip that shove the button down — kill them so it aligns with Compare */
.mpbd-single-secondary .tinv-wishlist-clear { display: none !important; }
.mpbd-single-secondary .tinvwl-tooltip { display: none !important; }
.single-product .mpbd-single-secondary .tinvwl_add_to_wishlist_button,
.single-product .mpbd-single-secondary .woosc-btn { display: flex !important; width: 100%; justify-content: center; align-items: center; gap: 7px; margin: 0 !important; background: #fff !important; color: var(--mpbd-primary) !important; border: 1px solid var(--mpbd-line) !important; border-radius: 8px; padding: 0 14px; height: 46px; font-size: 13.5px; font-weight: 600; box-shadow: none; box-sizing: border-box; }
.single-product .mpbd-single-secondary .tinvwl_add_to_wishlist_button:hover,
.single-product .mpbd-single-secondary .woosc-btn:hover { background: var(--mpbd-primary) !important; color: #fff !important; border-color: var(--mpbd-primary) !important; }
.single-product .mpbd-single-secondary .tinvwl_add_to_wishlist_button i,
.single-product .mpbd-single-secondary .tinvwl_add_to_wishlist_button .tinvwl-icon-heart { color: inherit; }

/* Product meta */
.single-product div.product .product_meta { border-top: 1px solid var(--mpbd-line); padding-top: 16px; margin-top: 4px; font-size: 13.5px; line-height: 1.9; color: var(--mpbd-muted); }
.single-product div.product .product_meta > span { display: block; }
.single-product div.product .product_meta a { color: var(--mpbd-primary); text-decoration: none; }
.single-product div.product .product_meta a:hover { color: var(--mpbd-accent); }

/* Tabs */
.single-product .woocommerce-tabs ul.tabs { border: 0; padding: 0; margin: 0 0 -1px; display: flex; gap: 6px; }
.single-product .woocommerce-tabs ul.tabs::before { border: 0; }
.single-product .woocommerce-tabs ul.tabs li { background: var(--mpbd-bg-soft); border: 1px solid var(--mpbd-line); border-radius: 8px 8px 0 0; margin: 0; }
.single-product .woocommerce-tabs ul.tabs li.active { background: #fff; border-bottom-color: #fff; }
.single-product .woocommerce-tabs ul.tabs li a { color: var(--mpbd-ink); font-weight: 600; padding: 12px 20px; }
.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--mpbd-primary); }
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel { border: 1px solid var(--mpbd-line); border-radius: 0 12px 12px 12px; padding: 28px 32px !important; margin: 0; }
.single-product .woocommerce-tabs .woocommerce-Tabs-panel > h1:first-child,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel > h2:first-child { margin-top: 0; }
.single-product .woocommerce-tabs .woocommerce-Tabs-panel p { line-height: 1.8; }
.single-product .woocommerce-tabs .woocommerce-Tabs-panel table.shop_attributes { width: 100%; }

.single-product .related.products > h2, .single-product .upsells > h2 { color: var(--mpbd-primary); font-size: 22px; }

/* ---------- Cart ---------- */
.woocommerce table.shop_table { border: 1px solid var(--mpbd-line); border-radius: 12px; border-collapse: separate; overflow: hidden; }
.woocommerce table.shop_table thead th { background: var(--mpbd-bg-soft); color: var(--mpbd-ink); font-size: 14px; padding: 14px 12px; }
.woocommerce table.shop_table td { padding: 16px 12px; }
.woocommerce .cart_totals h2, .woocommerce-cart-form + .cart-collaterals h2 { color: var(--mpbd-primary); }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce .wc-proceed-to-checkout a.checkout-button { background: var(--mpbd-primary); color: #fff; border-radius: 8px; padding: 12px 24px; font-weight: 700; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--mpbd-primary-dark); color: #fff; }
.woocommerce .wc-proceed-to-checkout a.checkout-button { background: var(--mpbd-accent); font-size: 16px; text-align: center; }
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover { filter: brightness(1.06); background: var(--mpbd-accent); }
.woocommerce .cart-collaterals .cart_totals, .woocommerce .cart_totals { background: #fff; border: 1px solid var(--mpbd-line); border-radius: 12px; padding: 8px 20px 18px; }

/* ---------- Checkout ---------- */
.woocommerce-checkout #customer_details, .woocommerce-checkout #order_review { }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce-checkout .input-text, .woocommerce-checkout select, .select2-container .select2-selection { border: 1px solid var(--mpbd-line) !important; border-radius: 8px !important; padding: 11px 14px; min-height: 46px; }
.woocommerce-checkout h3, .woocommerce-checkout #order_review_heading { color: var(--mpbd-primary); }
.woocommerce-checkout #order_review { background: #fff; border: 1px solid var(--mpbd-line); border-radius: 12px; padding: 18px; }
.woocommerce #payment, .woocommerce-checkout #payment { background: var(--mpbd-bg-soft); border-radius: 10px; }
.woocommerce-checkout #place_order, .woocommerce #place_order { background: var(--mpbd-accent); color: #fff; border-radius: 8px; padding: 15px 30px; font-weight: 700; font-size: 16px; width: 100%; }
.woocommerce-checkout #place_order:hover { filter: brightness(1.06); }

/* ---------- Notices ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-radius: 10px; border-top: 0; padding: 14px 16px 14px 46px; }
.woocommerce-message { border-left: 4px solid var(--mpbd-success); }
.woocommerce-info { border-left: 4px solid var(--mpbd-primary); }
.woocommerce-error { border-left: 4px solid var(--mpbd-sale); }

/* ---------- Wishlist (TI) + Compare (WPC) ---------- */
.tinv-wishlist table.tinvwl-table, .woosc-table table { border: 1px solid var(--mpbd-line); border-radius: 12px; }
.tinv-wishlist .tinvwl_add_to_wishlist_button, .tinvwl-table .product-action .button { background: var(--mpbd-primary); color: #fff; border-radius: 8px; }
.tinv-wishlist .tinv-header h2 { color: var(--mpbd-primary); }
/* WPC Smart Compare loop button -> subtle outline (secondary to Add to Cart) */
/* Compare button (generic — single product etc.; the loop card styles its own in row 2) */
.woosc-btn { background: #fff; color: var(--mpbd-primary); border: 1px solid var(--mpbd-line); border-radius: 8px; padding: 9px 16px; font-size: 13px; font-weight: 600; box-shadow: none; }
.woosc-btn:hover { background: var(--mpbd-primary); color: #fff; border-color: var(--mpbd-primary); }
.woosc-btn.woosc-btn-added { background: var(--mpbd-primary); color: #fff; }

/* ---------- My Account ---------- */
.woocommerce-account .woocommerce { display: flex; flex-wrap: wrap; gap: 28px; align-items: flex-start; }
/* WooCommerce's clearfix ::before/::after become stray flex items (the gap after ::before
   shoved the sidebar 28px right, out of line with the title) — remove them. */
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after { display: none !important; content: none !important; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { flex: 1 0 100%; }
.woocommerce-account .woocommerce-MyAccount-navigation { float: none !important; width: 264px !important; flex: 0 0 264px; margin: 0 !important; }
.woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: auto !important; flex: 1 1 340px; margin: 0 !important; background: #fff; border: 1px solid var(--mpbd-line); border-radius: 14px; padding: 28px 30px; box-sizing: border-box; }

/* Nav card */
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 8px; background: #fff; border: 1px solid var(--mpbd-line); border-radius: 14px; }
.woocommerce-MyAccount-navigation li { margin: 0; border: 0; }
.woocommerce-MyAccount-navigation li a { display: block; padding: 12px 16px 12px 46px; border-radius: 10px; color: var(--mpbd-ink); text-decoration: none; font-weight: 600; font-size: 14.5px; transition: .15s; background-repeat: no-repeat; background-position: 16px center; background-size: 18px 18px; }
.woocommerce-MyAccount-navigation li a:hover { background-color: var(--mpbd-bg-soft); color: var(--mpbd-primary); }
.woocommerce-MyAccount-navigation li.is-active a { background-color: var(--mpbd-bg-soft); color: var(--mpbd-primary); box-shadow: inset 3px 0 0 var(--mpbd-primary); }
.woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--mpbd-sale); }

/* Nav icons */
.woocommerce-MyAccount-navigation-link--dashboard a { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--orders a { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--downloads a { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-address a { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-account a { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--wishlist a { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8l1 1.1L12 21.2l7.8-7.7 1-1.1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--compare a { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='17 1 21 5 17 9'/%3E%3Cpath d='M3 11V9a4 4 0 0 1 4-4h14'/%3E%3Cpolyline points='7 23 3 19 7 15'/%3E%3Cpath d='M21 13v2a4 4 0 0 1-4 4H3'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--customer-logout a { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23e63946' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E"); }

/* Content area */
.woocommerce-MyAccount-content p { color: var(--mpbd-muted); line-height: 1.75; }
.woocommerce-MyAccount-content a:not(.button) { color: var(--mpbd-primary-light); font-weight: 600; }
.woocommerce-MyAccount-content > h2, .woocommerce-MyAccount-content h3, .woocommerce-MyAccount-content .woocommerce-Address-title h3 { color: var(--mpbd-primary); }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table { border: 1px solid var(--mpbd-line); border-radius: 12px; }
.woocommerce-account .woocommerce-MyAccount-content .button { background: var(--mpbd-accent); color: #fff; border-radius: 8px; }
.woocommerce-MyAccount-content .woocommerce-Address { background: var(--mpbd-bg-soft); border: 1px solid var(--mpbd-line); border-radius: 12px; padding: 20px 22px; }

/* ---------- Responsive ---------- */
@media (max-width: 768px) {
  .woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { flex: 1 0 100%; width: 100% !important; }
}
@media (max-width: 1024px) { .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px) {
  /* Single product: stack gallery over summary (no narrow orphan gallery) */
  .single-product div.product { gap: 24px; }
  /* Cap + center the gallery so it isn't a full-width giant, and keep top spacing */
  .single-product div.product .woocommerce-product-gallery { flex: 1 0 100%; max-width: 440px; margin-left: auto !important; margin-right: auto !important; }
  .single-product div.product .summary, .single-product div.product .entry-summary { flex: 1 0 100%; }
  .single-product .woocommerce-tabs .panel, .single-product .woocommerce-tabs .woocommerce-Tabs-panel { padding: 20px 18px !important; }
  .single-product #primary, .single-product .content-area { margin-top: 24px !important; }
}
@media (max-width: 480px) {
  /* Phone: smaller gallery so it doesn't fill the whole screen */
  .single-product div.product .woocommerce-product-gallery { max-width: 340px; padding: 12px; }
}
@media (max-width: 768px)  { .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr); gap: 14px; } .single-product div.product .product_title { font-size: 22px; } }
@media (max-width: 480px)  { .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr); } }
/* ---------- Category description (moved below the products) ---------- */
.mpbd-cat-desc { margin-top: 44px; padding-top: 30px; border-top: 1px solid var(--mpbd-line); }
.mpbd-cat-desc .mpbd-prose { max-width: var(--mpbd-container); margin: 0 auto; }
.mpbd-cat-desc h1, .mpbd-cat-desc h2 { color: var(--mpbd-primary); font-size: 24px; line-height: 1.3; margin: 26px 0 12px; }
.mpbd-cat-desc h3 { color: var(--mpbd-primary); font-size: 19px; margin: 22px 0 10px; }
.mpbd-cat-desc h4 { color: var(--mpbd-ink); font-size: 17px; margin: 18px 0 8px; }
.mpbd-cat-desc p { color: var(--mpbd-ink); line-height: 1.8; margin: 0 0 14px; }
.mpbd-cat-desc ul, .mpbd-cat-desc ol { margin: 0 0 14px; padding-left: 22px; }
.mpbd-cat-desc li { margin-bottom: 6px; color: var(--mpbd-ink); line-height: 1.7; }
.mpbd-cat-desc a { color: var(--mpbd-primary-light); }
.mpbd-cat-desc img { max-width: 100%; height: auto; border-radius: 10px; }
.mpbd-cat-desc :first-child { margin-top: 0; }

/* MPBD-COD-GAP: form.cart already provides a 12px flex gap between rows; BH-COD's
   wrapper padding-top (12px) AND Woo/Astra's margin-bottom on qty + Add to Cart (15px)
   stack on top of it (flex margins don't collapse) — total was ~27px. Keep only the gap. */
.single-product div.product form.cart .bhcod-buttons-wrap { padding-top: 0 !important; }
.single-product div.product form.cart .quantity,
.single-product div.product form.cart .single_add_to_cart_button { margin-bottom: 0 !important; }
/* VARIABLE products nest qty/ATC/COD inside .woocommerce-variation-add-to-cart
   (a plain block — no flex gap), so the zeroed margins left 0px between Add to Cart
   and the COD button there. Give it the same 12px flex rhythm as simple products. */
.single-product div.product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.single-product div.product form.cart .bhcod-buttons-wrap { flex: 1 0 100%; }
/* END MPBD-COD-GAP */
/* END MPBD-WOO */
