/*
Theme Name: Luxe MegaBag
Theme URI: https://luxemegabag.com
Description: Luxe MegaBag storefront - the Shopify (Shrine Pro) look, rebuilt on Astra + WooCommerce. Burgundy on cream, serif typography, soft cards.
Author: MegaBag
Template: astra
Version: 1.0.0
Text Domain: megabag
*/

/* ---------- Design tokens (from Shrine settings_data.json) ---------- */
:root {
  --mb-accent: #6e1e1e;        /* colors_accent_1  */
  --mb-accent-2: #262628;      /* colors_accent_2  */
  --mb-outline: #681414;       /* outline button   */
  --mb-text: #2d2d2d;          /* colors_text      */
  --mb-bg: #fcf9f7;            /* background_1     */
  --mb-bg-2: #ffffff;          /* background_2     */
  --mb-rose: #e3cece;          /* gradient_accent_2 */
  --mb-checkout: #3bc2c3;      /* checkout accent  */
  --mb-radius-btn: 4px;
  --mb-radius-card: 12px;
  --mb-radius-media: 4px;
  --mb-radius-badge: 2px;
  --mb-shadow-card: 10px 10px 35px rgba(0,0,0,.05);
  --mb-shadow-btn: 0 0 20px rgba(0,0,0,.10);
  --mb-font-head: 'Noto Serif JP', 'Noto Serif Japanese', Georgia, serif;
  /* Shopify's "custom body font" never loaded, so shoppers saw the browser's sans-serif fallback. */
  --mb-font-body: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --mb-ink: #2e2a39;           /* section foreground (Shrine custom schemes) */
  --mb-red: #dd1d1d;           /* section button colour (Shrine custom schemes) */
  --mb-sand: #f5f3ef;          /* logo-list band */
  --mb-dark: #121212;          /* footer */
}

/* ---------- Base ---------- */
body, .ast-container {
  background: var(--mb-bg);
  color: var(--mb-text);
  font-family: var(--mb-font-body);
  font-weight: 400;
  font-size: 16px;
  letter-spacing: .1px;
  line-height: 1.6;
}
body, .site-content, #content, .content-area { background: var(--mb-bg) !important; }
.site-content { overflow-x: clip; }
h1, h2, h3, h4, h5, h6,
.woocommerce-loop-product__title,
.product_title,
.wp-block-heading {
  font-family: var(--mb-font-head);
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0;
  color: var(--mb-text);
}
h1 { font-size: clamp(30px, 3.2vw, 44px); }
h2 { font-size: clamp(26px, 2.6vw, 36px); }
h3 { font-size: clamp(20px, 1.8vw, 24px); }
a { color: var(--mb-accent); }
a:hover { color: var(--mb-outline); }
img, video { border-radius: var(--mb-radius-media); }

/* ---------- Buttons ---------- */
.ast-button, .button, .wp-block-button__link,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce button.button.alt,
.woocommerce a.button.alt, .woocommerce .single_add_to_cart_button,
.wc-block-components-button, .wc-block-cart__submit-button,
.ast-site-header-cart .ast-site-header-cart-li a.button {
  background: var(--mb-accent) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: var(--mb-radius-btn) !important;
  box-shadow: var(--mb-shadow-btn);
  font-family: var(--mb-font-body);
  font-weight: 600;
  letter-spacing: .3px;
  text-transform: none;
  padding: 14px 28px;
  transition: background .2s ease, transform .1s ease;
}
.button:hover, .wp-block-button__link:hover, .woocommerce a.button:hover,
.woocommerce button.button:hover, .woocommerce .single_add_to_cart_button:hover {
  background: var(--mb-outline) !important;
  color: #fff !important;
}
.is-style-outline .wp-block-button__link, .button--outline {
  background: transparent !important;
  color: var(--mb-outline) !important;
  border: 1px solid var(--mb-outline) !important;
  box-shadow: none;
}
.woocommerce .single_add_to_cart_button { width: 100%; font-size: 17px; padding: 16px 28px; }

/* ---------- Announcement bar (Astra above-header HTML) ---------- */
.mb-announcement {
  background: var(--mb-accent);
  color: #fff;
  text-align: center;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .3px;
  padding: 11px 12px;
}
.mb-announcement__track { position: relative; height: 22px; overflow: hidden; }
.mb-announcement__track span { position: absolute; left: 0; right: 0; top: 0; line-height: 22px; opacity: 0; transition: opacity .6s ease; }
.mb-announcement__track span.is-active { opacity: 1; }

/* ---------- Header (Shrine "middle-center": menu left, logo centre, icons right) ---------- */
.site-header, .ast-primary-header-bar, .ast-above-header-bar { background: var(--mb-bg); }
.ast-primary-header-bar { border-bottom: 1px solid rgba(45,45,45,.08); }
.main-header-menu .menu-item > .menu-link {
  font-family: var(--mb-font-body);
  font-weight: 400;
  font-size: 14px;
  color: var(--mb-text);
  letter-spacing: .2px;
  padding: 6px 10px;
}
.main-header-menu .menu-item > .menu-link:hover { color: var(--mb-accent); }
.ast-desktop .main-header-menu > .current-menu-item > .menu-link { background: var(--mb-bg-2); border-radius: 4px; }
.ast-desktop .main-header-menu .sub-menu { border-radius: 4px; box-shadow: 0 10px 30px rgba(0,0,0,.08); }
.ast-desktop .main-header-menu .sub-menu .menu-link { font-size: 14px; }
.site-logo-img img { max-height: 46px; width: auto; }
/* Cart: outline bag icon (drawn here) with a small count bubble, like the Shopify header */
.ast-site-header-cart .ast-cart-menu-wrap {
  position: relative; display: inline-block !important; width: 28px !important; min-width: 28px !important; height: 28px !important;
  line-height: 28px !important; padding: 0 !important; margin: 0 !important; vertical-align: middle; border: 0 !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%232d2d2d' stroke-width='2.2' stroke-linejoin='round'%3E%3Cpath d='M8 13h24l-2 22H10z'/%3E%3Cpath d='M14 13V10a6 6 0 0 1 12 0v3'/%3E%3C/svg%3E") center / contain no-repeat;
}
.ast-site-header-cart .ast-cart-menu-wrap .count {
  position: absolute !important; top: -7px !important; right: -9px !important; left: auto !important;
  width: auto !important; min-width: 18px !important; height: 18px !important; padding: 0 5px !important; margin: 0 !important;
  border-radius: 9px !important; background: var(--mb-accent) !important; color: #fff !important; border: 0 !important;
  font: 600 11px/18px var(--mb-font-body) !important; text-align: center; display: block !important;
}
.ast-site-header-cart .ast-cart-menu-wrap .count::before,
.ast-site-header-cart .ast-cart-menu-wrap .count::after { display: none !important; content: none !important; }
.ast-site-header-cart .ast-cart-menu-wrap .count .ast-count-text { line-height: inherit; }

/* ---------- Product cards (Shrine "card" style) ---------- */
.woocommerce ul.products li.product,
.wc-block-grid__product,
.wc-block-product {
  background: var(--mb-bg-2);
  border-radius: var(--mb-radius-card);
  box-shadow: var(--mb-shadow-card);
  padding: 4px 4px 18px;
  text-align: center;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
}
.woocommerce ul.products li.product:hover { transform: translateY(-3px); box-shadow: 10px 14px 40px rgba(0,0,0,.09); }
.woocommerce ul.products li.product a img,
.wc-block-grid__product-image img, .wc-block-components-product-image img {
  border-radius: 10px 10px 4px 4px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title, .wc-block-components-product-title {
  font-size: 16px; padding: 12px 10px 4px; color: var(--mb-text);
}
.woocommerce ul.products li.product .price,
.wc-block-grid__product-price, .wc-block-components-product-price {
  color: var(--mb-text); font-weight: 400; font-size: 16px;
}
.woocommerce ul.products li.product .price del { opacity: .55; margin-right: 6px; }
.woocommerce ul.products li.product .price ins { text-decoration: none; color: var(--mb-accent); }
/* Cards show image / title / price only, exactly like the Shopify grid */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap { position: relative; }
.woocommerce ul.products li.product .ast-on-card-button { display: none !important; } /* Astra's own "Sale!" + icon button */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .ast-shop-product-out-of-stock { display: none !important; }
.woocommerce ul.products li.product .price ins { font-weight: 400; }
.woocommerce span.onsale, .wc-block-components-product-sale-badge {
  background: var(--mb-accent-2); color: #fff; border-radius: var(--mb-radius-badge);
  min-height: 0; min-width: 0; line-height: 1; padding: 6px 10px; font-size: 12px; font-weight: 500;
  top: auto; bottom: 14px; left: 14px; right: auto;
}
.woocommerce .star-rating span::before, .woocommerce .star-rating::before { color: #d4a017; }

/* ---------- Single product (PDP) ---------- */
.single-product div.product .product_title { font-size: clamp(26px, 2.4vw, 34px); margin-bottom: 8px; }
.single-product div.product p.price { font-size: 24px; color: var(--mb-text); font-weight: 400; }
.single-product div.product p.price del { opacity: .5; font-size: 18px; margin-right: 8px; }
.single-product div.product p.price ins { text-decoration: none; color: var(--mb-accent); }
.single-product .woocommerce-product-gallery__image img { border-radius: var(--mb-radius-media); }
/* Never leave the gallery invisible while flexslider boots (WC sets inline opacity:0) */
.single-product .woocommerce-product-gallery { opacity: 1 !important; }
/* Gallery thumbnails: single horizontal strip that scrolls (41 images stay tidy) */
.single-product .woocommerce-product-gallery .flex-control-thumbs {
  display: flex !important; flex-wrap: nowrap; overflow-x: auto; gap: 8px; padding: 10px 2px 6px; margin: 0;
  scrollbar-width: thin; scroll-snap-type: x proximity;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs li {
  flex: 0 0 76px; width: 76px !important; margin: 0 !important; float: none !important; scroll-snap-align: start;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar { height: 6px; }
.single-product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar-thumb { background: rgba(45,45,45,.25); border-radius: 3px; }
.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img { width: 100%; }
.single-product .flex-control-thumbs li img { border-radius: 4px; opacity: .6; }
.single-product .flex-control-thumbs li img.flex-active, .single-product .flex-control-thumbs li img:hover { opacity: 1; }
.single-product table.variations th { font-weight: 400; text-transform: uppercase; letter-spacing: .5px; font-size: 13px; color: var(--mb-text); }
.single-product .quantity .qty { border: 2px solid rgba(45,45,45,.55); border-radius: 0; height: 52px; }
.single-product form.cart:not(.variations_form) { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; }
.single-product .woocommerce-variation-add-to-cart { display: flex; gap: 10px; width: 100%; }
.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button { flex: 1; }
.single-product table.variations { width: 100%; margin-bottom: 8px; }
.single-product table.variations td, .single-product table.variations th { display: block; width: 100%; padding: 4px 0; }
.single-product table.variations select { width: 100%; max-width: 100%; height: 48px; }
.single-product .reset_variations { font-size: 12px; }

/* Astra sale badge -> Shrine style (accent-2, 2px radius, bottom-left) */
.ast-onsale-card, .woocommerce span.onsale {
  background: var(--mb-accent-2) !important; color: #fff !important; border-radius: var(--mb-radius-badge) !important;
  min-height: 0 !important; min-width: 0 !important; line-height: 1 !important; padding: 6px 10px !important;
  font-size: 12px !important; font-weight: 700 !important; letter-spacing: 1px; top: auto !important; bottom: 14px !important; left: 14px !important; right: auto !important;
  border: 0 !important; box-shadow: none !important; z-index: 2; transform: none !important;
}
@media (max-width: 767px) {
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 14px; }
  .mb-logo-list { gap: 18px 26px; padding: 22px 12px; }
  .mb-logo-list img { max-height: 22px; }
  .mb-band { padding: 32px 16px; }
  .mb-reels { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding-bottom: 6px; }
  .mb-reels > * { flex: 0 0 calc(50% - 6px); scroll-snap-align: start; }
  .mb-gift { grid-template-columns: 1fr; }
  .mb-gift__text { padding: 32px 22px; }
}

/* Header: hide text site title next to logo */
.site-title, .site-description, .ast-site-title-wrap .site-title { display: none !important; }
.ast-below-header-bar { display: none; }

/* Variation swatches: round colour dots (Shrine), pill buttons for options */
.woo-variation-swatches .variable-items-wrapper { gap: 10px; margin: 6px 0 4px; }
.woo-variation-swatches .variable-items-wrapper .color-variable-item {
  width: 34px !important; height: 34px !important; border-radius: 50% !important; padding: 2px !important;
  border: 2px solid transparent !important; box-shadow: none !important; background: transparent !important;
}
.woo-variation-swatches .variable-items-wrapper .color-variable-item .variable-item-span-color,
.woo-variation-swatches .variable-items-wrapper .color-variable-item .variable-item-span {
  border-radius: 50% !important; width: 100% !important; height: 100% !important; box-shadow: inset 0 0 0 1px rgba(0,0,0,.12);
}
.woo-variation-swatches .variable-items-wrapper .color-variable-item.selected { border-color: var(--mb-text) !important; }
.woo-variation-swatches .variable-items-wrapper .button-variable-item {
  height: auto !important; min-width: 0 !important; padding: 9px 18px !important; background: var(--mb-bg-2) !important;
  color: var(--mb-text) !important; border: 1px solid rgba(38,38,40,.45) !important; border-radius: 4px !important;
  box-shadow: 0 4px 5px rgba(0,0,0,.05) !important; font-size: 14px; text-shadow: none !important; line-height: 1.2 !important;
}
.woo-variation-swatches .variable-items-wrapper .button-variable-item.selected { background: var(--mb-accent-2) !important; color: #fff !important; border-color: var(--mb-accent-2) !important; }
.woo-variation-swatches .variable-items-wrapper .button-variable-item .variable-item-span { text-shadow: none !important; }
.woo-variation-swatches .wvs-selected-label, .woo-variation-swatches label .woo-selected-variation-item-name { font-weight: 400; text-transform: none; letter-spacing: 0; opacity: .8; }
/* legacy rules kept below */
.wvs-style-squared .variable-item:not(.radio-variable-item),
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item) {
  border-radius: 92% !important; box-shadow: none !important; border: 2px solid transparent !important;
}
.woo-variation-swatches .variable-items-wrapper .variable-item.selected:not(.radio-variable-item) {
  border-color: var(--mb-text) !important;
}
.woo-variation-swatches .variable-items-wrapper .button-variable-item {
  border-radius: 4px !important; border: 1px solid rgba(38,38,40,.55) !important;
  box-shadow: 0 4px 5px rgba(0,0,0,.05); font-size: 14px;
}
.woo-variation-swatches .variable-items-wrapper .button-variable-item.selected { background: var(--mb-accent-2); color: #fff; }

/* Trust badges + NBC badge under add-to-cart */
.mb-trust { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 18px 0 8px; }
.mb-trust div { background: var(--mb-bg-2); border-radius: 8px; padding: 12px 8px; text-align: center; font-size: 13px; box-shadow: var(--mb-shadow-card); }
.mb-trust div svg { width: 22px; height: 22px; display: block; margin: 0 auto 6px; fill: none; stroke: var(--mb-accent); stroke-width: 1.8; }
.mb-nbc { display: inline-flex; align-items: center; gap: 8px; margin: 6px 0 14px; padding: 6px 12px; border: 1px solid var(--mb-outline); border-radius: 4px; color: var(--mb-outline); font-size: 13px; letter-spacing: .3px; }
.mb-nbc strong { font-weight: 600; }

/* Sticky add-to-cart (mobile) */
.mb-sticky-atc {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 999;
  display: none; align-items: center; gap: 12px;
  padding: 10px 14px; background: var(--mb-bg-2);
  box-shadow: 0 -4px 20px rgba(0,0,0,.08); border-top: 1px solid rgba(45,45,45,.08);
}
.mb-sticky-atc img { width: 44px; height: 44px; object-fit: cover; border-radius: 6px; flex: 0 0 44px; }
.mb-sticky-atc .mb-sticky-title { flex: 1 1 auto; min-width: 0; font-size: 13px; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mb-sticky-atc .mb-sticky-price { font-weight: 600; white-space: nowrap; font-size: 13px; flex: 0 0 auto; }
.mb-sticky-atc .mb-sticky-price del { display: none; }
.mb-sticky-atc .button { padding: 11px 14px !important; font-size: 13px; white-space: nowrap; flex: 0 0 auto; }
@media (max-width: 480px) { .mb-sticky-atc { gap: 8px; padding: 8px 10px; } .mb-sticky-atc .mb-sticky-price { display: none; } }
body.mb-sticky-visible .mb-sticky-atc { display: flex; }
@media (min-width: 922px) { body.mb-sticky-visible .mb-sticky-atc { display: none; } }

/* Tabs / description */
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-family: var(--mb-font-body); font-weight: 400; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--mb-accent); }

/* ---------- Home sections (1:1 with the Shopify/Shrine home) ---------- */
/* Full-bleed bands: each Shopify section paints its own background edge to edge. */
.mb-band { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); padding: clamp(40px, 5vw, 64px) 20px; color: var(--mb-ink); }
.mb-band > * { max-width: 1400px; margin-left: auto; margin-right: auto; }
.mb-band--white { background: var(--mb-bg-2); }
.mb-band--sand { background: var(--mb-sand); }
.mb-band--flush { padding: 0; }
.mb-band--flush > * { max-width: none; }
.mb-band h2, .mb-band h1 { color: var(--mb-ink); }
.mb-band__title { text-align: center; margin: 0 0 8px; font-size: clamp(28px, 3vw, 40px); }
.mb-band__sub { text-align: center; margin: 0 0 32px; font-size: 16px; }
.mb-band .mb-band__title + .mb-band__sub { margin-top: -2px; }
/* Section buttons use the Shrine section scheme (red on white) */
.mb-btn { display: inline-block; padding: 14px 30px; border-radius: var(--mb-radius-btn); font: 600 15px/1.3 var(--mb-font-body); letter-spacing: .3px; text-decoration: none; transition: filter .2s; }
.mb-btn--solid { background: var(--mb-red); color: #fff !important; box-shadow: var(--mb-shadow-btn); }
.mb-btn--outline { background: transparent; color: var(--mb-red) !important; box-shadow: inset 0 0 0 1px var(--mb-red); }
.mb-btn:hover { filter: brightness(.92); }
/* Hero: image only, edge to edge, height adapts to the image */
.mb-hero { display: block; }
.mb-hero img { display: block; width: 100%; height: auto; border-radius: 0; }
/* Product grid */
.mb-grid ul.products { margin: 0 0 32px; }
.mb-grid ul.products li.product .woocommerce-loop-product__title { font-size: 17px; }
.mb-band__cta { text-align: center; }
/* Logo list (NBC / VOGUE / InStyle / ELLE / Expedia / Forbes) */
.mb-logo-list { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 24px 56px; padding: 8px 12px; }
.mb-logo-list img { max-height: 36px; width: auto; border-radius: 0; }
/* Vertical video reels (3 up) */
.mb-reels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.mb-reels video { display: block; width: 100%; aspect-ratio: 9 / 16; object-fit: cover; border-radius: var(--mb-radius-media); box-shadow: 0 0 20px rgba(0,0,0,.35); background: #000; }
/* Click-to-play YouTube (poster first, iframe on click) */
.mb-yt { position: relative; max-width: 1000px; aspect-ratio: 16 / 9; border-radius: var(--mb-radius-media); overflow: hidden; box-shadow: 0 0 20px rgba(0,0,0,.35); background: #000; cursor: pointer; }
.mb-yt img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0; }
.mb-yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mb-yt__play { position: absolute; left: 50%; top: 50%; width: 76px; height: 76px; margin: -38px 0 0 -38px; border-radius: 50%; background: rgba(255,255,255,.92); border: 0; cursor: pointer; box-shadow: 0 6px 24px rgba(0,0,0,.3); }
.mb-yt__play::after { content: ''; position: absolute; left: 30px; top: 22px; border-style: solid; border-width: 16px 0 16px 26px; border-color: transparent transparent transparent var(--mb-ink); }
.mb-yt.is-playing .mb-yt__play { display: none; }
/* Gift card: image + dark text box (Shrine image-with-text) */
.mb-gift { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; border-radius: var(--mb-radius-card); overflow: hidden; box-shadow: 10px 12px 20px rgba(0,0,0,.05); }
.mb-gift__media { background: var(--mb-bg-2); display: flex; align-items: center; justify-content: center; }
.mb-gift__media img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0; }
.mb-gift__text { background: var(--mb-ink); color: #fff; padding: clamp(32px, 4vw, 64px); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 16px; }
.mb-gift__text h2 { color: #fff; margin: 0; font-size: clamp(26px, 2.6vw, 38px); }
.mb-gift__text p { margin: 0; font-size: 16px; line-height: 1.6; }
/* Newsletter: white scheme, full-width red button under the field */
.mb-newsletter { text-align: center; color: var(--mb-ink); }
.mb-newsletter h2 { color: var(--mb-ink); font-size: clamp(28px, 3vw, 40px); margin: 0 0 8px; }
.mb-newsletter p { margin: 0 0 22px; }
.mb-newsletter form { display: flex; flex-direction: column; gap: 10px; max-width: 380px; margin: 0 auto; }
.mb-newsletter input[type=email] { width: 100%; height: 46px; border: 1px solid rgba(46,42,57,.55); border-radius: 0; padding: 0 14px; background: #fff; color: var(--mb-ink); font: 400 15px var(--mb-font-body); }
.mb-newsletter input::placeholder { color: rgba(46,42,57,.6); }
.mb-newsletter .button { background: var(--mb-red) !important; width: 100%; }

/* ---------- Footer (Shrine footer scheme: #121212, white text) ---------- */
.site-footer, .ast-footer-row, .site-footer .ast-builder-grid-row-container { background: var(--mb-dark); color: #fff; }
.site-footer .ast-footer-copyright, .site-footer a, .site-footer p, .site-footer h2, .site-footer h4, .site-footer .ast-footer-html-inner-wrap { color: #fff; }
.site-footer a:hover { color: #fff; text-decoration: underline; }
.site-footer h2, .site-footer .mb-foot__title { font-family: var(--mb-font-head); font-size: 16px; letter-spacing: .3px; margin: 0 0 14px; }
.mb-foot__story { font-family: var(--mb-font-head); font-size: 17px; line-height: 1.55; max-width: 420px; }
.mb-foot__story p { margin: 0 0 14px; }
.mb-foot__links { list-style: none; margin: 0; padding: 0; }
.mb-foot__links li { margin: 0 0 8px; }
.mb-foot__links a { font-size: 14px; color: rgba(255,255,255,.85); text-decoration: none; }
.ast-footer-social-wrap .ast-builder-social-element, .site-footer .ast-builder-social-element svg { color: #fff; fill: #fff; }
.ast-footer-social-wrap { justify-content: flex-end; }
.site-footer .ast-footer-copyright { font-size: 13px; opacity: .9; }
.mb-foot__pay { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0 0 12px; }
.mb-foot__pay span { border: 1px solid rgba(255,255,255,.3); border-radius: 4px; padding: 3px 9px; font-size: 11px; font-family: var(--mb-font-body); letter-spacing: .2px; color: #fff; }
.mb-foot__policies { font-size: 12px; opacity: .8; }
.mb-foot__policies a { margin: 0 8px; }
.ast-builder-grid-row-container.ast-builder-grid-row-3-equal .ast-builder-grid-row { grid-template-columns: 1.3fr 1fr .7fr; }
@media (max-width: 921px) { .ast-footer-social-wrap { justify-content: center; } .mb-foot__story { max-width: none; } }

/* ---------- PDP conversion blocks ---------- */
.mb-benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 6px 0 16px; }
.mb-benefits div { background: var(--mb-bg-2); border-radius: 8px; padding: 10px 6px; text-align: center; font-size: 12.5px; line-height: 1.2; box-shadow: var(--mb-shadow-card); }
.mb-benefits svg { width: 22px; height: 22px; display: block; margin: 0 auto 6px; fill: none; stroke: var(--mb-accent); stroke-width: 1.7; stroke-linejoin: round; stroke-linecap: round; }
.mb-bundle { display: grid; gap: 8px; margin: 4px 0 14px; flex: 0 0 100%; width: 100%; order: -1; }
.single-product .woocommerce-variation-add-to-cart, .single-product form.cart:not(.variations_form) { flex-wrap: wrap; }
.mb-bundle__main .mb-bundle__save { align-self: flex-start; margin: 2px 0 2px; }
.mb-bundle__main b { display: inline-flex; align-items: center; gap: 8px; }
.mb-bundle__opt { display: flex; align-items: center; justify-content: space-between; gap: 10px; background: var(--mb-bg-2); border: 1px solid rgba(38,38,40,.35); border-radius: 6px; padding: 10px 14px; cursor: pointer; margin: 0; transition: border-color .15s; }
.mb-bundle__opt input { position: absolute; opacity: 0; pointer-events: none; }
.mb-bundle__opt.is-selected { border: 2px solid var(--mb-accent); background: #fff9f8; padding: 9px 13px; }
.mb-bundle__main { display: flex; flex-direction: column; font-size: 15px; }
.mb-bundle__main small { font-size: 12px; color: #666; font-weight: 300; }
.mb-bundle__save { display: inline-block; margin-left: 8px; padding: 2px 7px; border-radius: 2px; background: var(--mb-accent-2); color: #fff; font-size: 11px; letter-spacing: .3px; vertical-align: middle; }
.mb-bundle__total { font-weight: 600; white-space: nowrap; }
.mb-pay { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 8px; }
.mb-pay span { border: 1px solid rgba(45,45,45,.2); border-radius: 4px; padding: 3px 9px; font-size: 11px; background: var(--mb-bg-2); font-family: Helvetica, Arial, sans-serif; letter-spacing: .2px; }
.mb-riskfree { font-size: 13px; margin: 0 0 14px; opacity: .85; }
.mb-pack { background: var(--mb-bg-2); border-radius: 12px; box-shadow: var(--mb-shadow-card); padding: 16px; margin: 6px 0 18px; }
.mb-pack__title { font-family: var(--mb-font-head); font-size: 17px; margin-bottom: 10px; }
.mb-pack__item { display: flex; align-items: center; gap: 12px; padding: 7px 0; border-bottom: 1px solid rgba(45,45,45,.06); }
.mb-pack__item img, .mb-pack__thumb img { width: 56px; height: 56px; object-fit: cover; border-radius: 6px; }
.mb-pack__name { font-size: 14px; }
.mb-pack__price { font-size: 13px; }
.mb-pack__price del { opacity: .5; margin-right: 4px; }
.mb-pack__price ins { text-decoration: none; }
.mb-pack__total { display: flex; gap: 8px; align-items: baseline; margin: 12px 0 10px; font-size: 15px; }
.mb-pack__total s { opacity: .5; } .mb-pack__total b { color: var(--mb-accent); font-size: 18px; font-weight: 600; }
.mb-pack__btn { width: 100%; text-align: center; }
.mb-pack__btn.is-busy { opacity: .6; pointer-events: none; }
@media (max-width: 480px) { .mb-benefits { grid-template-columns: repeat(2, 1fr); } }
@keyframes mb-shake { 0%,100% { transform: translateX(0); } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }
.mb-shake { animation: mb-shake .3s ease 2; color: var(--mb-accent) !important; }

/* ---------- Free-gift progress bar + drawer upsells ---------- */
.mb-gift-bar { padding: 12px 16px 10px; background: var(--mb-bg); border-bottom: 1px solid rgba(45,45,45,.08); font-size: 14px; }
.mb-gift-bar__text { margin-bottom: 8px; }
.mb-gift-bar__track { height: 8px; background: rgba(45,45,45,.1); border-radius: 4px; overflow: hidden; }
.mb-gift-bar__fill { display: block; height: 100%; background: linear-gradient(90deg, var(--mb-accent), #a03a3a); border-radius: 4px; transition: width .4s ease; }
.mb-gift-bar__sub { margin-top: 6px; font-size: 12px; opacity: .65; }
.woocommerce-cart .mb-gift-bar { border-radius: 8px; border: 0; margin-bottom: 18px; }
.mb-gift-tag { display: inline-block; margin-left: 6px; padding: 2px 6px; font-size: 11px; border-radius: 2px; background: var(--mb-accent); color: #fff; vertical-align: middle; }
.mb-gift-price { color: var(--mb-accent); font-weight: 600; }
.mb-upsells { padding: 14px 16px; border-top: 1px solid rgba(45,45,45,.08); }
.mb-upsells__title { font-family: var(--mb-font-head); font-size: 15px; margin-bottom: 10px; }
.mb-upsell { display: flex; align-items: center; gap: 10px; padding: 8px 0; }
.mb-upsell img { width: 52px; height: 52px; object-fit: cover; border-radius: 6px; }
.mb-upsell__body { flex: 1; min-width: 0; }
.mb-upsell__name { font-size: 13px; line-height: 1.25; }
.mb-upsell__price { font-size: 13px; }
.mb-upsell__price del { opacity: .5; margin-right: 4px; }
.mb-upsell__price ins { text-decoration: none; color: var(--mb-accent); }
.mb-upsell__btn { padding: 7px 12px; font-size: 12px; border-radius: 4px; background: var(--mb-accent-2); color: #fff !important; white-space: nowrap; }

/* ---------- Shipping protection toggle ---------- */
.mb-protect { display: flex; align-items: center; gap: 12px; margin: 10px 16px 12px; padding: 10px 12px; background: var(--mb-bg); border-radius: 8px; cursor: pointer; font-size: 13px; }
.woocommerce-cart .mb-protect { margin: 0 0 18px; background: var(--mb-bg-2); box-shadow: var(--mb-shadow-card); }
.mb-protect__cb { position: absolute; opacity: 0; pointer-events: none; }
.mb-protect__switch { flex: 0 0 38px; width: 38px; height: 22px; border-radius: 11px; background: #c8c2be; position: relative; transition: background .2s; }
.mb-protect__switch::after { content: ''; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: transform .2s; }
.mb-protect__cb:checked + .mb-protect__switch { background: var(--mb-accent); }
.mb-protect__cb:checked + .mb-protect__switch::after { transform: translateX(16px); }
.mb-protect__text { display: flex; flex-direction: column; line-height: 1.25; }
.mb-protect__text small { color: #666; }
.mb-gift-tag--addon { background: var(--mb-accent-2); }

/* ---------- Cart drawer (FunnelKit) accents ---------- */
.fkcart-toggler, .fkcart-floating-icon, .fkcart-floating-toggler { display: none !important; } /* no floating bubble - header bag icon opens the drawer (JS clicks the hidden toggler) */
.mb-upsell img { display: block; }
.fkcart-panel, #fkcart-modal .fkcart-modal-container { font-family: var(--mb-font-body); }
#fkcart-modal .fkcart-modal-header, .fkcart-modal-header h2 { font-family: var(--mb-font-head); font-weight: 400; }
.fkcart-panel .fkcart-checkout-btn, .fkcart-checkout-button { background: var(--mb-accent) !important; border-radius: 4px !important; }
.fkcart-progress-bar .fkcart-progress-fill, .fkcart-shipping-bar__fill { background: var(--mb-accent) !important; }

/* ---------- Forms ---------- */
input[type=text], input[type=email], input[type=tel], input[type=number], select, textarea, .select2-container .select2-selection--single {
  border: 2px solid rgba(45,45,45,.35); border-radius: 0; background: var(--mb-bg-2); color: var(--mb-text);
}
input:focus, select:focus, textarea:focus { border-color: var(--mb-accent) !important; outline: 0; }

/* ---------- PDP info column (1:1 with the Shopify product template) ---------- */
.mb-rating { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 6px; font-size: 13px; color: var(--mb-text); text-decoration: none; }
.mb-rating__stars { display: inline-flex; gap: 1px; }
.mb-rating__stars svg { width: 15px; height: 15px; fill: #f5a623; }
.mb-rating__label strong { font-weight: 600; }
.single-product div.product p.price { display: inline-block; margin-right: 10px; margin-bottom: 8px; vertical-align: middle; }
.mb-save-badge { display: inline-block; vertical-align: middle; background: var(--mb-accent); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .5px; padding: 4px 8px; border-radius: 2px; }
.mb-nbc-link { display: flex; align-items: center; gap: 10px; margin: 10px 0 12px; font-size: 14px; color: var(--mb-text); text-decoration: underline; }
.mb-nbc-link img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.mb-checks { list-style: none; margin: 0 0 14px; padding: 0; }
.mb-checks li { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 8px; font-size: 15px; line-height: 1.35; color: #121212; }
.mb-ic { width: 20px; height: 20px; flex: 0 0 20px; color: #121212; margin-top: 1px; }
.mb-ic--filled circle { fill: #691c1c; }
.mb-checks__bonus span { color: #8b0f0f; font-weight: 600; }
.mb-bundle__title { font-weight: 600; font-size: 15px; margin: 4px 0 8px; text-align: center; }
.mb-bundle__num { flex: 0 0 auto; background: var(--mb-accent-2); color: #fff; font-size: 11px; font-weight: 700; padding: 2px 6px; border-radius: 2px; }
.mb-bundle__opt { gap: 10px; }
.mb-bundle__main b { font-weight: 600; font-size: 15px; }
.mb-bundle__prices { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.2; margin-left: auto; }
.mb-bundle__compare { font-size: 12px; opacity: .5; }
.mb-giftline { display: flex; align-items: center; gap: 12px; width: 100%; flex: 0 0 100%; order: -1; margin: 2px 0 6px; padding: 10px 12px; background: var(--mb-bg-2); border-radius: 6px; box-shadow: var(--mb-shadow-card); }
.mb-giftline img { width: 56px; height: 56px; object-fit: cover; border-radius: 6px; display: block; }
.mb-giftline__name { font-size: 14px; }
.mb-giftline__price { font-size: 13px; }
.mb-giftline__price ins { text-decoration: none; color: var(--mb-accent); font-weight: 600; }
.mb-giftline__price del { opacity: .5; }
.mb-check-line { display: flex; align-items: center; gap: 8px; flex: 0 0 100%; width: 100%; order: -1; margin: 0 0 10px; font-size: 14px; color: #8b0f0f; font-weight: 600; }
.woocommerce .single_add_to_cart_button { text-transform: uppercase; letter-spacing: .6px; }
.mb-upsell-card { display: flex; align-items: center; gap: 12px; margin: 14px 0 10px; padding: 10px 12px; background: var(--mb-bg-2); border-radius: 8px; box-shadow: var(--mb-shadow-card); }
.mb-upsell-card img { width: 64px; height: 64px; object-fit: cover; border-radius: 6px; display: block; }
.mb-upsell-card__body { flex: 1; min-width: 0; }
.mb-upsell-card__name { font-size: 14px; font-weight: 600; }
.mb-upsell-card__price { font-size: 13px; }
.mb-upsell-card__price del { opacity: .5; margin-right: 4px; }
.mb-upsell-card__price ins { text-decoration: none; color: var(--mb-accent); }
.mb-upsell-card__desc { font-size: 12px; color: #666; }
.mb-upsell-card__btn { padding: 9px 14px; border-radius: 4px; background: var(--mb-accent-2); color: #fff !important; font-size: 13px; white-space: nowrap; text-decoration: none; }
.mb-trust-row { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 12px 0 14px; padding: 0; }
.mb-trust-row li { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; font-size: 12.5px; font-weight: 600; }
.mb-trust-row svg { width: 30px; height: 30px; fill: none; stroke: #1f1f1f; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- PDP long-form sections ---------- */
.mb-pdp-band { padding: clamp(28px, 4vw, 56px) 0; }
.mb-pdp-band--tight { padding: 12px 0 8px; }
.mb-pdp-band--sand { background: var(--mb-sand); margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); padding-left: 20px; padding-right: 20px; }
.mb-pdp-band .mb-band__title { margin-bottom: 24px; }
.mb-acc-group { border-top: 1px solid rgba(45,45,45,.12); }
.mb-acc { border-bottom: 1px solid rgba(45,45,45,.12); }
.mb-acc summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 0; cursor: pointer; }
.mb-acc summary::-webkit-details-marker { display: none; }
.mb-acc__title { font-family: var(--mb-font-body); font-weight: 600; font-size: 15px; margin: 0; }
.mb-acc__icon { width: 12px; height: 12px; position: relative; flex: 0 0 12px; }
.mb-acc__icon::before, .mb-acc__icon::after { content: ''; position: absolute; background: #121212; left: 0; top: 5px; width: 12px; height: 2px; }
.mb-acc__icon::after { transform: rotate(90deg); transition: transform .2s; }
.mb-acc[open] .mb-acc__icon::after { transform: rotate(0); }
.mb-acc__body { padding: 0 0 18px; font-size: 15px; line-height: 1.6; }
.mb-acc__body p { margin: 0 0 10px; }
.mb-reels--slider { grid-template-columns: repeat(4, 1fr); gap: 20px; }
.mb-iwt { display: grid; grid-template-columns: 1fr 1fr; align-items: center; background: var(--mb-bg-2); border-radius: 12px; overflow: hidden; box-shadow: var(--mb-shadow-card); margin: 18px 0; padding: 0; }
.mb-iwt__media img, .mb-iwt__media video { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0; }
.mb-iwt__text { padding: clamp(24px, 4vw, 56px); }
.mb-iwt__caption { font-size: 13px; letter-spacing: 1px; text-transform: uppercase; margin: 0 0 8px; opacity: .75; }
.mb-iwt__text h2 { margin: 0 0 12px; font-size: clamp(24px, 2.4vw, 34px); }
.mb-iwt__text p:last-child { margin: 0; font-size: 16px; line-height: 1.6; }
.mb-logo-list--airlines img { max-height: 34px; filter: grayscale(1); opacity: .85; }
.mb-cmp-scroll { overflow-x: auto; }
.mb-cmp { width: 100%; max-width: 720px; margin: 0 auto; border-collapse: separate; border-spacing: 0; font-size: 15px; }
.mb-cmp th, .mb-cmp td { padding: 14px 12px; text-align: center; border-bottom: 1px solid rgba(45,45,45,.08); }
.mb-cmp td:first-child { text-align: left; font-weight: 600; }
.mb-cmp th { font-family: var(--mb-font-head); font-size: 18px; font-weight: 400; border-bottom: 0; }
.mb-cmp .mb-cmp__hl { background: var(--mb-ink); color: #fff; }
.mb-cmp thead .mb-cmp__hl { border-radius: 8px 8px 0 0; }
.mb-cmp tbody tr:last-child .mb-cmp__hl { border-radius: 0 0 8px 8px; }
.mb-cmp svg { width: 22px; height: 22px; vertical-align: middle; }
.mb-cmp__no { color: #b0b0b0; }
.mb-results__title { font-size: clamp(24px, 2.4vw, 32px); margin: 0 0 24px; }
.mb-results__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.mb-result { text-align: center; }
.mb-result__ring { position: relative; width: 120px; height: 120px; margin: 0 auto 12px; }
.mb-result__ring svg { width: 100%; height: 100%; }
.mb-result__bg { fill: none; stroke: rgba(45,45,45,.1); stroke-width: 8; }
.mb-result__fg { fill: none; stroke: var(--mb-accent); stroke-width: 8; stroke-linecap: round; }
.mb-result__ring span { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: var(--mb-font-head); font-size: 26px; }
.mb-result p { margin: 0; font-size: 15px; }
.mb-iconbar { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; text-align: center; }
.mb-iconbar__item img { width: 64px; height: 64px; object-fit: contain; margin: 0 auto 8px; display: block; border-radius: 0; }
.mb-iconbar__item p { margin: 0; font-size: 13.5px; line-height: 1.35; }
.mb-deals { max-width: 640px; margin: 0 auto; background: var(--mb-bg-2); border-radius: 12px; box-shadow: var(--mb-shadow-card); padding: 16px; }
.mb-deal { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid rgba(45,45,45,.06); cursor: pointer; margin: 0; }
.mb-deal input { width: 18px; height: 18px; accent-color: var(--mb-accent); flex: 0 0 18px; margin: 0; }
.mb-deal img { width: 60px; height: 60px; object-fit: cover; border-radius: 6px; display: block; }
.mb-deal__title { margin: 0; font-size: 14px; }
.mb-deal__price { font-size: 13px; }
.mb-deal__price ins { text-decoration: none; }
.mb-deal__price del { opacity: .5; margin-left: 4px; }
.mb-deals__total { display: flex; align-items: baseline; gap: 8px; margin: 14px 0 10px; font-size: 15px; }
.mb-deals__sum { font-size: 20px; color: var(--mb-accent); font-weight: 600; }
.mb-deals__compare { opacity: .5; }
.mb-deals__btn { width: 100%; text-align: center; }
.mb-deals__btn.is-busy { opacity: .6; pointer-events: none; }
.mb-faq .mb-acc__title { font-weight: 400; font-family: var(--mb-font-head); font-size: 17px; }
.mb-testis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.mb-testi { margin: 0; background: var(--mb-bg-2); border-radius: 12px; overflow: hidden; box-shadow: var(--mb-shadow-card); display: flex; flex-direction: column; }
.mb-testi img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; border-radius: 0; }
.mb-testi figcaption { padding: 16px 18px 18px; }
.mb-testi h3 { font-size: 18px; margin: 0 0 8px; }
.mb-testi p { margin: 0 0 10px; font-size: 14.5px; line-height: 1.55; }
.mb-testi cite { font-style: normal; font-size: 13px; opacity: .7; }
.mb-banner { padding: 0; margin: 12px 0; }
.mb-banner img { width: 100%; height: auto; display: block; border-radius: 12px; }
.mb-banner__text { text-align: center; padding: 18px 0 0; }
.mb-rich { text-align: center; max-width: 820px; margin: 0 auto; }
.mb-rich p { font-size: 16px; line-height: 1.65; }
.mb-slides { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; }
.mb-slides img { flex: 0 0 min(100%, 720px); width: min(100%, 720px); height: auto; scroll-snap-align: start; border-radius: 12px; }
.mb-gallery-video video { width: 100%; height: auto; display: block; background: #000; border-radius: var(--mb-radius-media); }
.woocommerce-product-gallery__wrapper .mb-gallery-video { position: relative; }
/* Collection page: Shopify-style facet bar + "SAVE x%" label */
.mb-facets { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin: 0 0 22px; padding: 0 0 14px; border-bottom: 1px solid rgba(45,45,45,.1); font-size: 14px; }
.mb-facets__label { opacity: .7; }
.mb-facet { position: relative; }
.mb-facet summary { list-style: none; cursor: pointer; padding: 6px 0; display: inline-flex; align-items: center; gap: 6px; }
.mb-facet summary::-webkit-details-marker { display: none; }
.mb-facet summary::after { content: ''; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); margin-top: -4px; }
.mb-facet__panel { position: absolute; z-index: 20; top: 100%; left: 0; min-width: 240px; background: var(--mb-bg-2); border: 1px solid rgba(45,45,45,.12); border-radius: 6px; box-shadow: 0 10px 30px rgba(0,0,0,.08); padding: 14px; }
.mb-facet__panel label { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font-size: 14px; }
.mb-facet__panel input[type=number] { width: 90px; height: 38px; padding: 0 8px; }
.mb-facet__row { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; }
.mb-facet__panel .button { padding: 8px 14px !important; font-size: 13px; }
.mb-facets__sort { margin-left: auto; display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.mb-save-label { text-align: center; padding: 0 10px 6px; }
.mb-announcement__track span { transition: opacity .35s ease; }
.mb-facets__sort select { height: 38px; border: 0; background: transparent; font-size: 14px; padding: 0 4px; }
.mb-facets__count { opacity: .7; white-space: nowrap; }
.mb-facets__clear { font-size: 13px; text-decoration: underline; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering, .ast-shop-toolbar-container { display: none !important; }
.mb-save-label { display: block; font-size: 11px; letter-spacing: 1px; font-weight: 700; color: var(--mb-accent); margin: -2px 0 8px; }
@media (max-width: 767px) { .mb-testis { grid-template-columns: 1fr; } .mb-facets__sort { margin-left: 0; width: 100%; } }
/* Cart drawer trust line (Shopify "Enjoy Tax-Free Shopping & Secure Payment") */
.mb-drawer-trust { text-align: center; padding: 10px 16px 14px; font-size: 12.5px; opacity: .85; }
.mb-drawer-trust .mb-foot__pay { margin: 8px 0 0; }
.mb-drawer-trust .mb-foot__pay span { color: var(--mb-text); border-color: rgba(45,45,45,.2); }
.mb-reviews { border-top: 1px solid rgba(45,45,45,.1); }
.single-product .woocommerce-tabs, .single-product section.related, .single-product section.upsells, .single-product .product_meta,
.single-product .woocommerce-breadcrumb, .single-product .ast-breadcrumbs-wrapper { display: none !important; }
.mb-reels > *, .mb-reels video { min-width: 0; }
@media (max-width: 767px) {
  .mb-iwt { grid-template-columns: 1fr; }
  .mb-results__grid { grid-template-columns: 1fr; }
  .mb-iconbar { grid-template-columns: repeat(2, 1fr); }
  /* Reels become a 2-up horizontal scroller on phones (Shopify: --columns-mobile: 2) */
  .mb-reels, .mb-reels--slider { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding-bottom: 6px; -webkit-overflow-scrolling: touch; }
  .mb-reels > * { flex: 0 0 calc(50% - 6px); width: calc(50% - 6px); scroll-snap-align: start; }
}

/* ---------- Utilities ---------- */
.mb-center { text-align: center; }
.mb-muted { opacity: .7; }
.screen-reader-text { position: absolute !important; clip: rect(1px,1px,1px,1px); }

/* =====================================================================
   1:1 fidelity pass (2026-09-07) — values taken from the Shrine Pro export
   (settings_data.json + rendered section CSS). Overrides earlier rules.
   ===================================================================== */
/* Type: Shopify body 1.5rem × 1.05 scale, letter-spacing .06rem, line-height 1+0.8/1.05 */
body, .ast-container { font-size: 15.75px; letter-spacing: .6px; line-height: 1.76; }
h1 { font-size: 31.4px; } h2 { font-size: 25.1px; } h3 { font-size: 18.9px; } h4 { font-size: 15.2px; } h5 { font-size: 13.6px; }
@media (max-width: 749px) { h1 { font-size: 23.6px; } h2 { font-size: 21px; } h3 { font-size: 17.8px; } }
/* Buttons: min-height 4.5rem, padding 0 3rem, weight 700, font inherit */
.ast-button, .button, .wp-block-button__link, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce button.button.alt, .woocommerce a.button.alt, .woocommerce .single_add_to_cart_button, .mb-btn {
  min-height: 45px; padding: 0 30px; font-weight: 700; font-size: inherit; letter-spacing: .6px; line-height: 1.2;
  display: inline-flex; align-items: center; justify-content: center;
}
.woocommerce .single_add_to_cart_button { min-height: 45px; }

/* Announcement bar: static, 14px desktop / 13px mobile, padding 10/8 (mobile 8/6), Shrine gradient */
.mb-announcement {
  background: linear-gradient(64deg, rgba(231,226,225,1), rgba(110,30,30,1) 1%, rgba(110,30,30,1) 99%, rgba(241,233,216,1) 100%);
  font-size: 14px; font-weight: 400; letter-spacing: .6px; padding: 10px 12px 8px;
}
.mb-announcement__track { height: 20px; }
.mb-announcement__track span { line-height: 20px; opacity: 0; transition: none; }
.mb-announcement__track span.is-active { opacity: 1; }
.mb-announcement strong { font-weight: 700; }
@media (max-width: 749px) { .mb-announcement { font-size: 13px; padding: 8px 12px 6px; } }

/* Header: padding 8px, menu 14px with 12px item padding that wraps, logo 140px, no search icon, border-bottom */
#ast-desktop-header .ast-primary-header-bar .site-primary-header-wrap { min-height: 0 !important; padding: 8px 0 !important; }
#ast-desktop-header .ast-primary-header-bar { min-height: 0 !important; line-height: 1; }
#ast-desktop-header .ast-builder-grid-row { align-items: center; }
#ast-desktop-header .site-header-primary-section-left { padding-left: 0; }
.main-header-menu { flex-wrap: wrap; row-gap: 0; }
.main-header-menu .menu-item > .menu-link { padding: 12px 12px !important; line-height: 20px; letter-spacing: .6px; color: rgba(45,45,45,.9); }
.main-header-menu .menu-item > .menu-link:hover { color: var(--mb-text); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 2px; }
.ast-desktop .main-header-menu > .current-menu-item > .menu-link,
.ast-desktop .main-header-menu > .current_page_item > .menu-link { background: var(--mb-bg-2); border-radius: 3px; font-weight: 700; padding: 6px 10px !important; margin: 6px 2px; text-decoration: none; }
.site-logo-img img, .ast-site-identity img { max-height: none; width: 140px; height: auto; }
@media (max-width: 921px) { .site-logo-img img, .ast-site-identity img { width: 120px; } }
.site-header-primary-section-right .ast-header-search, .ast-header-search { display: none !important; }
.ast-site-header-cart .ast-cart-menu-wrap .count.mb-zero { display: none !important; }
.ast-primary-header-bar { border-bottom: 1px solid rgba(45,45,45,.08); }
/* Sticky on scroll-up (Shopify sticky_header_type: on-scroll-up) */
.mb-sticky-header #ast-desktop-header, .mb-sticky-header #ast-mobile-header { position: sticky; top: 0; z-index: 90; transition: transform .25s ease; }
.mb-sticky-header.mb-header-hidden #ast-desktop-header, .mb-sticky-header.mb-header-hidden #ast-mobile-header { transform: translateY(-100%); }

/* Home sections: page width 1400 with 50px side padding, 36px vertical (27px mobile) */
.mb-band { padding: 36px 50px; }
.mb-band > * { max-width: 1300px; }
.mb-band--flush { padding: 0; }
.mb-band--cream { background: var(--mb-bg); }
.mb-band__title { font-size: 39px; margin: 0 0 6px; color: var(--mb-text); }
.mb-band__sub { font-size: 15.75px; margin: 0 0 24px; }
.mb-band h2, .mb-band h1 { color: var(--mb-text); }
.mb-band { color: var(--mb-text); }
@media (max-width: 749px) { .mb-band { padding: 27px 15px; } .mb-band__title { font-size: 28px; } }
/* Featured collection: no badges on the home grid, card title 15px, "View all" is an underlined text link */
.mb-grid .ast-onsale-card, .mb-grid span.onsale, .mb-grid .mb-save-label { display: none !important; }
.mb-grid ul.products li.product .woocommerce-loop-product__title { font-size: 15px; padding: 10px 10px 2px; }
.mb-grid ul.products li.product .price { font-size: 15.75px; }
.mb-grid ul.products { margin: 0 0 20px; }
.mb-band__cta .mb-btn--outline { background: none; box-shadow: none; color: var(--mb-text) !important; min-height: 0; padding: 0; font: 400 14px/1.4 var(--mb-font-body); letter-spacing: .6px; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.mb-band__cta .mb-btn--outline:hover { text-decoration-thickness: 2px; filter: none; }
/* Logo list: 30px desktop / 40px mobile, horizontal, 3-up slider on phones */
.mb-logo-list { gap: 20px 48px; padding: 24px 0; }
.mb-logo-list img { max-height: 30px; height: 30px; }
@media (max-width: 749px) {
  .mb-logo-list { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; gap: 0; padding: 22px 0; scroll-snap-type: x mandatory; }
  .mb-logo-list img { flex: 0 0 33.333%; max-height: 40px; height: 40px; object-fit: contain; scroll-snap-align: start; }
}
/* Video reels: 12px radius, no shadow */
.mb-reels video { border-radius: 12px; box-shadow: none; }
/* NBC video: page width, 12px radius */
.mb-yt { max-width: none; border-radius: 12px; box-shadow: none; }
/* Gift card block: Shopify renders it in the background-1 scheme (cream box, dark text, accent-1 button), image first 50/50 */
.mb-gift { box-shadow: var(--mb-shadow-card); }
.mb-gift__text { background: var(--mb-bg); color: var(--mb-text); padding: 40px; gap: 0; }
.mb-gift__text h2 { color: var(--mb-text); font-size: 39px; font-weight: 700; margin: 15px 0; }
.mb-gift__text p { font-size: 14px; margin: 15px 0; }
.mb-gift__text .mb-btn { margin: 15px 0; }
.mb-gift__text .mb-btn--solid { background: var(--mb-accent); }
@media (max-width: 749px) { .mb-gift__text h2 { font-size: 28px; } .mb-gift__text { padding: 24px 20px; } .mb-band--gift { padding-top: 0; padding-bottom: 16px; } }
/* Newsletter: background-1 scheme, h1 heading, 36rem form, accent-1 button */
.mb-band--newsletter { padding: 40px 50px 52px; }
@media (max-width: 749px) { .mb-band--newsletter { padding: 30px 15px 39px; } }
.mb-newsletter { color: var(--mb-text); }
.mb-newsletter h2 { color: var(--mb-text); font-size: 31.4px; margin: 0 0 10px; }
.mb-newsletter p { font-weight: 700; font-size: 15.75px; opacity: 1; margin: 0 0 20px; }
.mb-newsletter form { max-width: 360px; gap: 10px; }
.mb-newsletter input[type=email] { height: 45px; border: 1px solid rgba(45,45,45,.55); color: var(--mb-text); font-size: 15.75px; }
.mb-newsletter .button { background: var(--mb-accent) !important; }
@media (max-width: 749px) { .mb-newsletter h2 { font-size: 23.6px; } }

/* Footer: Shopify background-1 scheme (cream, dark text), border-top, 32/20 padding, 3/4/3 columns, social centred, payment SVGs */
.site-footer, .ast-footer-row, .site-footer .ast-builder-grid-row-container { background: var(--mb-bg) !important; color: var(--mb-text); }
.site-footer { border-top: 1px solid rgba(45,45,45,.08); }
.site-footer .ast-footer-copyright, .site-footer a, .site-footer p, .site-footer h2, .site-footer h4, .site-footer .ast-footer-html-inner-wrap { color: rgba(45,45,45,.9); }
.site-footer a:hover { color: var(--mb-text); text-decoration: underline; text-underline-offset: 3px; }
.site-footer .site-primary-footer-wrap .ast-builder-grid-row-container-inner { padding-top: 32px; padding-bottom: 30px; }
.ast-builder-grid-row-container.ast-builder-grid-row-3-equal .ast-builder-grid-row { grid-template-columns: 3fr 4fr 3fr; column-gap: 40px; }
.mb-foot__story { font-size: 15.2px; line-height: 1.3; max-width: none; }
.mb-foot__story p, .mb-foot__story h4 { font-family: var(--mb-font-head); font-size: 15.2px; font-weight: 400; margin: 0 0 15px; color: var(--mb-text); }
.site-footer h2, .site-footer .mb-foot__title { font-size: 18.9px; margin: 0 0 20px; color: var(--mb-text); }
.mb-foot__links li { margin: 0 0 10px; }
.mb-foot__links a { font-size: 14px; color: rgba(45,45,45,.9); }
.site-footer .ast-footer-social-wrap { justify-content: center; }
.ast-footer-social-wrap .ast-builder-social-element, .site-footer .ast-builder-social-element svg { color: var(--mb-text); fill: var(--mb-text); }
.site-footer .site-below-footer-wrap .ast-builder-grid-row-container-inner { border-top: 1px solid rgba(45,45,45,.08); padding-top: 30px; padding-bottom: 20px; }
.site-footer .ast-footer-copyright { font-size: 11px; opacity: 1; letter-spacing: .6px; }
.mb-foot__pay { gap: 6px; margin: 0 0 15px; }
.mb-foot__pay svg { width: 38px; height: 24px; border-radius: 3px; display: block; }
.mb-foot__pay span { border: 0; padding: 0; }
.mb-foot__copy { display: inline-block; margin-right: 8px; }
.mb-foot__policies { display: inline; font-size: 11px; opacity: 1; }
.mb-foot__policies a { margin: 0 6px; }
.mb-foot__policies a + a::before { content: '·'; margin-right: 12px; opacity: .6; }
@media (max-width: 921px) { .ast-builder-grid-row-container.ast-builder-grid-row-3-equal .ast-builder-grid-row { grid-template-columns: 1fr; } }

/* Collection pages: cards use the background-1 scheme with a stronger shadow (collection_card_shadow_opacity 15) */
.post-type-archive-product ul.products li.product, .tax-product_cat ul.products li.product { background: var(--mb-bg); box-shadow: 10px 10px 35px rgba(0,0,0,.15); }
/* Footer alignment like Shopify: columns left-aligned, social row above the bottom border, copyright below it */
.site-footer .ast-footer-html-1, .site-footer .ast-footer-html-2, .site-footer .ast-footer-html-1 .ast-header-html, .site-footer .ast-footer-html-2 .ast-header-html { text-align: left; }
.site-footer .site-footer-section-1, .site-footer .site-footer-section-2 { justify-content: flex-start; align-items: flex-start; }
.site-footer .site-below-footer-wrap .ast-builder-grid-row-container-inner { border-top: 0; padding-top: 0; }
.site-footer .site-below-footer-wrap .ast-footer-social-wrap { padding: 0 0 30px; }
.site-footer .site-below-footer-wrap .ast-footer-copyright { border-top: 1px solid rgba(45,45,45,.08); padding: 30px 0 20px; width: 100%; }
.site-footer .site-below-footer-wrap .ast-builder-grid-row { display: flex; flex-direction: column; align-items: center; }
@media (max-width: 921px) { .site-footer .ast-footer-html-1, .site-footer .ast-footer-html-2, .site-footer .ast-footer-html-1 .ast-header-html, .site-footer .ast-footer-html-2 .ast-header-html { text-align: left; } }
/* Active menu item pill (Shopify highlight_active_link) — JS marks the link matching the current URL */
.ast-desktop .main-header-menu > .mb-current > .menu-link { background: var(--mb-bg-2); border-radius: 3px; font-weight: 700; padding: 6px 10px !important; margin: 6px 2px; text-decoration: none; }

/* ===== PDP 1:1 pass (flagship template, from the Shrine product template) ===== */
/* Rating line + NBC pill (review-avatars block: avatar overlapping a #f9efee pill, bold 12px) */
.mb-rating { font-size: 13px; margin: 0 0 8px; }
.mb-rating__label strong { font-weight: 700; }
.mb-nbc-link { display: inline-flex; align-items: center; margin: 4px 0 14px; text-decoration: none; color: #121212; }
.mb-nbc-link img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; position: relative; z-index: 1; box-shadow: 0 0 0 2px var(--mb-bg); }
.mb-nbc-link span { background: #f9efee; color: #121212; font-weight: 700; font-size: 12px; letter-spacing: .3px; padding: 6px 14px 6px 34px; margin-left: -30px; border-radius: 999px; text-decoration: none; }
/* No price block on templates with quantity breaks (price lives inside the options) */
body.mb-has-qb.single-product div.product p.price, body.mb-has-qb .mb-save-badge { display: none !important; }
body.mb-has-qb.single-product .quantity { display: none !important; }
/* Checks: 13.5px, 24px icons */
.mb-checks li { font-size: 13.5px; margin: 0 0 6px; }
/* Quantity breaks: divider title, radio rows, price-first-vertical on the right */
.mb-bundle__title { display: flex; align-items: center; gap: 12px; font-family: var(--mb-font-head); font-weight: 400; font-size: 14px; letter-spacing: .3px; margin: 14px 0 6px; color: var(--mb-text); }
.mb-bundle__title::before, .mb-bundle__title::after { content: ''; flex: 1; height: 1px; background: rgba(45,45,45,.35); }
.mb-bundle { gap: 6px; }
.mb-bundle__opt { border: 1px solid rgba(45,45,45,.3); border-radius: 4px; padding: 12px 14px; background: var(--mb-bg-2); flex-wrap: wrap; }
.mb-bundle__opt.is-selected { border: 2px solid var(--mb-accent-2); background: var(--mb-bg-2); padding: 11px 13px; }
.mb-bundle__radio { flex: 0 0 16px; width: 16px; height: 16px; border-radius: 50%; border: 1px solid rgba(45,45,45,.6); position: relative; margin-right: 4px; }
.mb-bundle__opt.is-selected .mb-bundle__radio { border: 2px solid var(--mb-accent-2); }
.mb-bundle__opt.is-selected .mb-bundle__radio::after { content: ''; position: absolute; inset: 3px; border-radius: 50%; background: var(--mb-accent-2); }
.mb-bundle__num { display: none; }
.mb-bundle__main b { font-weight: 400; font-size: 14px; }
.mb-bundle__save { display: none; }
.mb-bundle__prices { align-items: flex-end; }
.mb-bundle__total { font-size: 14px; font-weight: 400; }
.mb-bundle__compare { font-size: 12px; opacity: .55; }
/* Variant pickers live inside option #1 as plain dropdowns ("#1  Full Black ▾  Classic ▾") */
.mb-bundle__variants { display: none; flex: 0 0 100%; width: 100%; align-items: center; gap: 8px; margin: 10px 0 0; padding-top: 10px; }
.mb-bundle__opt.is-selected .mb-bundle__variants { display: flex; }
.mb-bundle__variants b { font-size: 12px; font-weight: 400; }
.mb-bundle__bagicon { width: 20px; height: 20px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%232d2d2d' stroke-width='2.2' stroke-linejoin='round'%3E%3Cpath d='M8 13h24l-2 22H10z'/%3E%3Cpath d='M14 13V10a6 6 0 0 1 12 0v3'/%3E%3C/svg%3E") center/contain no-repeat; }
.mb-bundle__variants table.variations { margin: 0; width: auto; display: flex; gap: 6px; }
.mb-bundle__variants table.variations tbody, .mb-bundle__variants table.variations tr { display: contents; }
.mb-bundle__variants table.variations th { display: none; }
.mb-bundle__variants table.variations td { display: block; width: auto; padding: 0; }
.mb-bundle__variants table.variations select, .mb-bundle__variants .woo-variation-raw-select { display: inline-block !important; width: auto !important; height: 28px; font-size: 11px; padding: 0 22px 0 8px; border: 1px solid rgba(45,45,45,.35); border-radius: 3px; background: #fff; opacity: 1 !important; position: static !important; }
.mb-bundle__variants .variable-items-wrapper, .mb-bundle__variants .wvs-selected-label, .mb-bundle__variants .reset_variations { display: none !important; }
/* Gift rows and add-on rows: toggle switch left, 60px image, name + price, description */
.mb-toggle-row { display: flex; align-items: center; gap: 12px; padding: 10px 12px; margin: 8px 0; background: var(--mb-bg-2); border: 1px solid rgba(45,45,45,.15); border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,.04); }
.mb-toggle-row img { width: 60px; height: 60px; object-fit: cover; border-radius: 4px; display: block; flex: 0 0 60px; }
.mb-toggle-row__body { flex: 1; min-width: 0; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 10px; }
.mb-toggle-row__name { font-family: var(--mb-font-head); font-size: 14px; line-height: 1.25; }
.mb-toggle-row__price { font-size: 12px; white-space: nowrap; text-align: right; }
.mb-toggle-row__price ins { text-decoration: none; font-weight: 700; }
.mb-toggle-row__price del { opacity: .5; font-size: 11px; margin-left: 4px; }
.mb-toggle-row__desc { flex: 0 0 100%; font-size: 12px; opacity: .8; }
.mb-switch { position: relative; flex: 0 0 40px; width: 40px; height: 22px; border-radius: 11px; background: #cfcaca; border: 0; cursor: pointer; padding: 0; transition: background .2s; }
.mb-switch::after { content: ''; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: transform .2s; }
.mb-switch.is-on { background: #121212; }
.mb-switch.is-on::after { transform: translateX(18px); }
.mb-switch[disabled] { cursor: default; }
.mb-addons__title { text-align: center; font-family: var(--mb-font-head); font-weight: 400; font-size: 17px; margin: 12px 0 4px; }
.mb-check-line { font-size: 13px; }
/* Add to cart: uppercase, full width, no quantity box (the options set it) */
.single-product form.cart .single_add_to_cart_button { width: 100%; text-transform: uppercase; letter-spacing: 1px; font-weight: 700; min-height: 48px; }
/* Sticky add-to-cart bar on every width (Shrine sticky ATC) */
@media (min-width: 922px) { body.mb-sticky-visible .mb-sticky-atc { display: flex; } .mb-sticky-atc { padding: 10px 40px; } .mb-sticky-atc .button { padding: 12px 24px !important; font-size: 14px; } }
.mb-sticky-atc .mb-sticky-title { display: none; }
@media (min-width: 922px) { .mb-sticky-atc .mb-sticky-price { display: none; } .mb-sticky-atc .button { margin-left: auto; } }
/* Gallery: thumbnail strip above the main image */
.single-product .woocommerce-product-gallery { display: flex; flex-direction: column; }
.single-product .woocommerce-product-gallery .flex-control-thumbs { order: -1; padding: 0 2px 10px; }
.single-product .woocommerce-product-gallery .flex-control-thumbs li { flex: 0 0 96px; width: 96px !important; }
.single-product .flex-control-thumbs li img { opacity: 1; border: 1px solid transparent; }
.single-product .flex-control-thumbs li img.flex-active { border-color: #121212; }
/* Left-column accordions: serif 14px titles with a chevron */
.mb-acc__title { font-family: var(--mb-font-head); font-weight: 400; font-size: 14px; }
.mb-acc summary { padding: 13px 0; }
.mb-acc__icon::before { transform: rotate(45deg); width: 8px; height: 8px; border-right: 1.5px solid #121212; border-bottom: 1.5px solid #121212; background: none; top: 2px; left: 2px; }
.mb-acc__icon::after { display: none; }
.mb-acc[open] .mb-acc__icon::before { transform: rotate(-135deg); top: 6px; }
.mb-acc__body { font-size: 13.5px; }
/* Image + text sections on the PDP: full-bleed 50/50, no card styling, text block vertically centred */
.mb-pdp-band.mb-iwt { margin: 0 calc(50% - 50vw); padding: 0; border-radius: 0; box-shadow: none; background: var(--mb-bg-2); }
.mb-pdp-band.mb-iwt .mb-iwt__text { padding: 40px 50px; }
.mb-pdp-band.mb-iwt .mb-iwt__caption { text-transform: none; letter-spacing: 0; font-size: 12.5px; opacity: 1; margin: 0 0 10px; }
.mb-pdp-band.mb-iwt .mb-iwt__text h2 { font-size: 29px; margin: 0 0 14px; }
.mb-pdp-band.mb-iwt .mb-iwt__text p:last-child { font-size: 12.5px; line-height: 1.5; }
/* "Why LuxeBag?" 4-up cards */
.mb-iconbar { grid-template-columns: repeat(4, 1fr); gap: 20px; max-width: 1300px; margin: 0 auto; }
.mb-iconbar__item { background: var(--mb-bg-2); border-radius: 6px; box-shadow: 10px 10px 35px rgba(0,0,0,.05); padding: 18px 14px 16px; }
.mb-iconbar__item img { width: 52px; height: 52px; }
.mb-iconbar__item p { font-size: 13px; }
@media (max-width: 767px) { .mb-iconbar { grid-template-columns: repeat(2, 1fr); gap: 12px; } }
/* PDP section headings: 25px h2 default (Shrine h2 at heading scale) */
.mb-pdp-band .mb-band__title { font-size: 25px; }
.mb-results__title { font-size: 25px; }
/* PDP layout: the accordion group sits under the gallery in the left column (Shopify), other sections clear the floats */
.single-product .mb-pdp-band--tight { float: left; clear: left; width: 48%; margin: 8px 0 24px; }
.single-product .mb-pdp-band:not(.mb-pdp-band--tight) { clear: both; }
.single-product .ast-article-single::after { content: ''; display: table; clear: both; }
.mb-bundle__variants label, .mb-bundle__variants .wvs-label, .mb-bundle__variants th label { display: none !important; }
.mb-sticky-atc .mb-sticky-button { margin-left: auto; background: #570c0c !important; }
.woocommerce-product-gallery__trigger { display: none !important; }
.mb-toggle-row[data-gift] .mb-switch { pointer-events: none; }
.single-product .mb-pack { display: none; }
/* PDP: variation price and swatch labels inside the option row are not part of the Shopify layout */
body.mb-has-qb.single-product .woocommerce-variation-price, body.mb-has-qb.single-product .woocommerce-variation-availability { display: none !important; }
.mb-bundle__variants .woo-selected-variation-item-name, .mb-bundle__variants .wvs-selected-label, .mb-bundle__variants .wvs-label, .mb-bundle__variants .variations label { display: none !important; }
.mb-bundle__variants table.variations td.value { display: inline-block; }
/* Collection page (Shopify main-collection-banner + product grid) */
.post-type-archive-product .woocommerce-products-header, .tax-product_cat .woocommerce-products-header, .woocommerce-products-header { text-align: center; }
.woocommerce-products-header .woocommerce-products-header__title, .tax-product_cat h1.page-title, .post-type-archive-product h1.page-title { font-size: 31.4px; text-align: center; margin: 12px 0 24px; }
.woocommerce ul.products li.product .price { display: inline-flex; align-items: baseline; gap: 6px; flex-wrap: wrap; justify-content: center; }
.woocommerce ul.products li.product .price del { order: 2; margin: 0; font-size: 12px; }
.woocommerce ul.products li.product .price ins { order: 1; }
.woocommerce ul.products li.product .price .from, .woocommerce ul.products li.product .price .mb-from { order: 0; }
/* One "SAVE x%" pill at the bottom-left of the image (Shrine badge, accent-2, 2px radius) — hide the bare "56%" square */
.post-type-archive-product ul.products li.product .ast-onsale-card, .tax-product_cat ul.products li.product .ast-onsale-card,
.post-type-archive-product ul.products li.product span.onsale, .tax-product_cat ul.products li.product span.onsale { display: none !important; }
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap { position: relative; }
.woocommerce ul.products li.product .mb-save-label { position: absolute; left: 14px; bottom: 14px; margin: 0; padding: 4px 8px 4px 22px; background: var(--mb-accent-2); color: #fff; font-size: 10px; letter-spacing: 1px; border-radius: 2px; z-index: 2; box-shadow: 1px 1px 3px rgba(0,0,0,.05); }
.woocommerce ul.products li.product .mb-save-label::before { content: ''; position: absolute; left: 7px; top: 50%; width: 10px; height: 10px; margin-top: -5px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M21.4 11.6l-9-9A2 2 0 0 0 11 2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 .6 1.4l9 9a2 2 0 0 0 2.8 0l7-7a2 2 0 0 0 0-2.8zM6.5 8A1.5 1.5 0 1 1 8 6.5 1.5 1.5 0 0 1 6.5 8z'/%3E%3C/svg%3E") center/contain no-repeat; }
/* "Filter and sort" toggle like Shopify's facets drawer link */
.mb-facets { border-bottom: 0; padding: 0; margin: 0 0 18px; }
.mb-facets__toggle { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font-size: 14px; list-style: none; }
.mb-facets__toggle::-webkit-details-marker { display: none; }
.mb-facets__toggle::before { content: ''; width: 16px; height: 16px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232d2d2d' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h16M7 12h10M10 18h4'/%3E%3C/svg%3E") center/contain no-repeat; }
.mb-facets__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; padding: 14px 0 0; }
.mb-facets__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 0 14px; border-bottom: 1px solid rgba(45,45,45,.1); }
.mb-facets { display: block !important; }
/* Mobile parity (Shopify columns_mobile / mobile_direction settings) */
@media (max-width: 767px) {
  .mb-gift { grid-template-columns: 1fr !important; }
  .mb-gift__text { padding: 24px 20px 28px; }
  .mb-gift__text h2 { font-size: 28px; }
  .mb-gift__text p { font-size: 14px; }
  .mb-gift__text .mb-btn { text-decoration: none; white-space: nowrap; }
  /* Featured collection: 2-up slider with a peek at the next card (Shopify enable_mobile_preview) */
  .mb-grid ul.products { display: flex !important; flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding: 4px 0 12px; -webkit-overflow-scrolling: touch; }
  .mb-grid ul.products li.product { flex: 0 0 calc(50% - 16px); width: auto !important; margin: 0 !important; scroll-snap-align: start; }
  .mb-grid ul.products li.product .woocommerce-loop-product__title { font-size: 13px; padding: 8px 6px 2px; }
  .mb-grid ul.products li.product .price { font-size: 13px; }
  .mb-grid ul.products li.product .price del { font-size: 11px; }
  .mb-band__sub { font-size: 14px; }
  .mb-logo-list img { flex: 0 0 auto; width: 33.333%; max-width: 33.333%; height: 40px; max-height: 40px; padding: 0 14px; box-sizing: border-box; }
  .mb-newsletter form { max-width: none; }
}
.mb-btn { text-decoration: none !important; }
.ast-header-woo-cart .count.mb-zero, .ast-cart-menu-wrap .count.mb-zero { display: none !important; }

/* ===== PDP info column v2 (ordered blocks from each Shopify template) ===== */
body.single-product div.product p.price, body.single-product .woocommerce-variation-price, body.single-product .woocommerce-variation-availability, body.single-product .mb-save-badge { display: none !important; }
body.single-product form.cart .quantity { display: none !important; }
.mb-info--before { width: 100%; flex: 0 0 100%; order: -1; }
.mb-subtitle { margin: 0 0 12px; font-size: 15px; }
.mb-subtitle--center { text-align: center; }
.mb-checks li[style] svg { color: currentColor; }
.mb-checks li[style] .mb-ic--filled circle { fill: currentColor; }
.mb-info-image img { max-width: 220px; height: auto; margin: 4px 0 12px; display: block; }
/* Variant dropdowns where the template had no quantity breaks (Shopify select__select) */
.mb-variants-slot { margin: 6px 0 14px; }
.mb-variants-slot table.variations { display: flex; flex-wrap: wrap; gap: 10px; width: 100%; margin: 0; }
.mb-variants-slot table.variations tbody, .mb-variants-slot table.variations tr { display: contents; }
.mb-variants-slot table.variations th { display: block; width: 100%; padding: 0 0 4px; font-size: 12px; letter-spacing: .5px; text-transform: uppercase; }
.mb-variants-slot table.variations td { display: block; width: 100%; padding: 0; }
.mb-variants-slot table.variations select, .mb-variants-slot .woo-variation-raw-select { display: block !important; width: 100% !important; height: 45px; padding: 0 36px 0 14px; border: 1px solid rgba(45,45,45,.55); border-radius: 0; background: var(--mb-bg-2); font-size: 14px; opacity: 1 !important; position: static !important; }
.mb-variants-slot .variable-items-wrapper, .mb-variants-slot .wvs-selected-label, .mb-variants-slot .reset_variations { display: none !important; }
/* Quantity-break extras: benefit pill, caption, corner badge */
.mb-bundle__benefit { display: inline-block; margin-left: 6px; padding: 1px 8px; border: 1px solid var(--mb-accent-2); border-radius: .6em; font-size: 10px; letter-spacing: .5px; color: var(--mb-accent-2); vertical-align: middle; }
.mb-bundle__caption { display: block; font-size: 12px; opacity: .75; margin-top: 2px; }
.mb-bundle__opt { position: relative; }
.mb-bundle__badge { position: absolute; top: -10px; right: 14px; background: var(--mb-accent); color: #fff; font-size: 10px; letter-spacing: 1px; padding: 3px 10px; border-radius: 3px; z-index: 1; }
/* Trust row after the button: inline centred items with check icons */
.mb-trust-inline { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 22px; margin: 14px 0 10px; padding: 0; }
.mb-trust-inline li { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; }
.mb-trust-inline .mb-ic { width: 18px; height: 18px; flex: 0 0 18px; margin: 0; }
/* Testimonial box (review-avatars block) */
.mb-testimonial { background: #e2cdcd; color: #121212; border-radius: 10px; padding: 8px 14px; margin: 15px 0; text-align: left; }
.mb-testimonial__quote { font-size: 14px; line-height: 1.3; }
.mb-testimonial__author { font-size: 12px; margin-top: 4px; font-weight: 700; }
.mb-testimonial__author .mb-ic { width: 14px; height: 14px; flex: none; display: inline-block; vertical-align: -2px; margin: 0; }
/* "+" style upsell rows (Pair It With / Handpicked Deals) */
.mb-toggle-row--plus_button { justify-content: space-between; }
.mb-plus { flex: 0 0 34px; width: 34px; height: 34px; border: 1px solid rgba(45,45,45,.45); border-radius: 4px; background: var(--mb-bg-2); font-size: 20px; line-height: 1; cursor: pointer; color: var(--mb-text); }
.mb-plus.is-on { background: var(--mb-accent-2); color: #fff; border-color: var(--mb-accent-2); }
/* Payment icons row under the button */
.mb-pay-row { justify-content: center; margin: 10px 0 14px; }
.mb-pay-row svg { width: 38px; height: 24px; }
.mb-pay-row span { padding: 0; border: 0; }
/* Rating shown under the title on some templates; Shopify shipping-checkpoints timeline */
.mb-rating-below { margin: -4px 0 12px; }
.mb-delivery { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 24px 0; text-align: center; }
.mb-delivery::before { content: ''; position: absolute; left: 16.6%; right: 16.6%; top: 22px; height: 2px; background: rgba(45,45,45,.15); }
.mb-delivery__icon { position: relative; z-index: 1; width: 44px; height: 44px; margin: 0 auto 8px; border-radius: 50%; background: var(--mb-bg-2); box-shadow: 0 2px 8px rgba(0,0,0,.08); display: flex; align-items: center; justify-content: center; }
.mb-delivery__icon svg { width: 22px; height: 22px; fill: none; stroke: #121212; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.mb-delivery__label { display: block; font-size: 13px; font-weight: 700; }
.mb-delivery__date { display: block; font-size: 12px; opacity: .8; }
.single-product form.cart:not(.variations_form) .single_add_to_cart_button { flex: 1 1 100%; }
.mb-variants-slot .woo-selected-variation-item-name, .mb-variants-slot .wvs-selected-label { display: none !important; }
/* Shrine "urgency text" promo box above the title (two templates) */
.mb-promo { margin: 0 0 15px; padding: 6px 10px; border: 2px solid var(--mb-accent); color: var(--mb-accent); text-align: center; font-size: 12px; font-weight: 700; letter-spacing: .3px; line-height: 1.35; text-transform: uppercase; }

/* ---- PDP info column v3: per-template quantity-break layouts, upsell button side, icon row ---- */
.mb-bundle__prices--compare-price-first-horizontal { flex-direction: row-reverse; align-items: center; gap: 6px; }
.mb-bundle__prices--price-first-horizontal { flex-direction: row; align-items: center; gap: 6px; }
.mb-bundle__prices--compare-price-first-vertical { flex-direction: column-reverse; }
.mb-bundle__opt .mb-bundle__img { width: min(18%, 60px); max-width: 60px; height: auto; flex: 0 0 auto; margin-right: 4px; border-radius: 3px; }
.mb-toggle-row--btn-right .mb-switch, .mb-toggle-row--btn-right .mb-plus { margin-left: auto; }
.mb-toggle-row--plain { border-color: transparent; box-shadow: none; }
.mb-icons { list-style: none; display: flex; justify-content: center; column-gap: 30px; margin: 12px 0 6px; padding: 0; }
.mb-icons li { display: flex; flex-direction: column; align-items: center; width: 33%; }
.mb-icons svg { height: 40px; width: auto; margin-bottom: 12px; }
.mb-icons__text { font-family: 'Noto Serif JP', Georgia, serif; font-size: 16px; text-align: center; line-height: 1.3; }
@media (max-width: 749px) { .mb-icons svg { height: 28px; margin-bottom: 10px; } .mb-icons__text { font-size: 12px; } }

/* ==== v4: measured 1:1 against the Shopify flagship page (1385px viewport, computed styles) ==== */
/* Body copy: Shopify's custom font never loaded, so browsers used the generic sans-serif at weight 300
   (Helvetica Light on Apple devices), 1.6rem x 1.05 scale = 16.8px, line-height 1.286, 0.02em tracking. */
html body, body .ast-container, body button, body input, body select, body textarea { font-family: Helvetica, Arial, sans-serif; }
html body, body .ast-container { font-weight: 300; font-size: 16.8px; line-height: 1.286; letter-spacing: .336px; color: rgba(45,45,45,.9); }
body strong, body b { font-weight: 700; }
/* Header / announcement */
.mb-announcement { font-size: 14.7px; font-weight: 300; letter-spacing: 1.05px; }
.main-header-menu > li > a, .ast-builder-menu .menu-item > a { font-size: 14.7px; font-weight: 300; }
/* Product page frame: 1400 max, 52.5px sides; media 65% / info 35% with 42px gutter */
@media (min-width: 922px) {
  .single-product .site-content .ast-container { max-width: 1400px; padding-left: 52.5px; padding-right: 52.5px; }
  .woocommerce.single-product div.product div.images, .single-product div.product .woocommerce-product-gallery { width: 65% !important; float: left; margin-bottom: 0; }
  .woocommerce.single-product div.product div.summary, .single-product div.product .summary.entry-summary { width: 35% !important; float: right; padding-left: 42px; box-sizing: border-box; margin-bottom: 0; }
  /* Thumbnails: 175px squares in a scrolling strip with 44px round arrows (Shrine thumbnail slider) */
  .single-product .woocommerce-product-gallery { position: relative; }
  .single-product .woocommerce-product-gallery .flex-control-thumbs { display: flex !important; flex-wrap: nowrap; overflow-x: auto; scroll-behavior: smooth; scrollbar-width: none; gap: 10px; padding: 5px 0 6px !important; margin: 0 44px 0 !important; width: auto !important; }
  .single-product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar { display: none; }
  .single-product .woocommerce-product-gallery .flex-control-thumbs li { flex: 0 0 175px !important; width: 175px !important; height: 175px; margin: 0 !important; float: none; }
  .single-product .woocommerce-product-gallery .flex-control-thumbs li img { width: 175px; height: 175px; object-fit: cover; border-radius: 4px; }
  .mb-thumbs-nav { position: absolute; top: 70px; width: 44px; height: 44px; border-radius: 50%; background: #fff; border: 1px solid rgba(45,45,45,.15); box-shadow: 0 2px 8px rgba(0,0,0,.06); cursor: pointer; z-index: 5; display: flex; align-items: center; justify-content: center; padding: 0; color: #2d2d2d; }
  .mb-thumbs-nav svg { width: 16px; height: 16px; }
  .mb-thumbs-nav--prev { left: 0; } .mb-thumbs-nav--next { right: 0; }
  .mb-thumbs-nav[disabled] { opacity: .35; cursor: default; }
  /* Accordions under the product: centred, 57% wide (729px at 1280) */
  .single-product .mb-pdp-band--tight { float: none; clear: both; width: 57%; max-width: 729px; margin: 0 auto 24px; padding-top: 0; }
}
/* Info column typography (Shopify computed values) */
.single-product h1.product_title { font-size: 34.65px; line-height: 1.2864; font-weight: 400; margin: 6px 0 6px; }
.mb-rating-line, .mb-rating-below { font-size: 14.49px; font-weight: 300; margin: 0 0 6px; }
.mb-rating-line b, .mb-rating-line strong { font-weight: 700; }
.mb-nbc-link { margin: 10px 0 10px; }
.mb-nbc-link span { font-size: 12.6px; font-weight: 300; padding: 4px 14.7px 4px 46px; border-radius: 31.5px; min-height: 42px; display: inline-flex; align-items: center; }
.mb-checks li, .mb-checks li span { font-size: 15.75px; font-weight: 300; line-height: 1.3; color: #121212; }
.mb-checks li { margin: 0 0 6px; gap: 6px; }
.mb-checks li .mb-ic { width: 19px; height: 19px; flex-basis: 19px; margin-top: 0; }
.mb-subtitle { font-size: 16.8px; font-weight: 300; }
.mb-subtitle strong { font-weight: 700; }
.mb-promo { font-size: 15.75px; }
.mb-bundle { margin-top: 18.9px; }
.mb-bundle__title { font-size: 14.7px; letter-spacing: 0; margin: 0 0 13.65px; }
.mb-bundle__opt { padding: 18px 18px 18px 42px; border-radius: 4px; border: 1px solid #121212; color: #121212; background: transparent; margin: 0 0 12px; }
.mb-bundle__opt.is-selected { border-width: 1px; box-shadow: 0 0 0 1px #121212; }
.mb-bundle__radio { left: 0; }
.mb-bundle__main b, .mb-bundle__main { font-size: 16.8px; font-weight: 300; color: #121212; line-height: 1; }
.mb-bundle__main small.mb-bundle__caption { font-size: 12.6px; }
.mb-bundle__total { font-size: 16.8px; font-weight: 300; color: #121212; line-height: 1; }
.mb-bundle__compare { font-size: 14.7px; font-weight: 300; color: #121212; opacity: 1; line-height: 1; }
.mb-bundle__variants { padding: 10.5px 0 0; }
.mb-bundle__variants select { font-size: 16.8px; font-weight: 300; height: 24px; padding: 0 22px 0 4px; border: 0; border-bottom: 1px solid rgba(45,45,45,.35); border-radius: 0; background-position: right 2px center; }
/* Gift / add-on rows */
.mb-toggle-row { padding: 10.5px; border-radius: 5px; gap: 10.5px; background: #f9f9f9; border: 1px solid #6e1e1e; box-shadow: 2.625px 2.625px 7.875px rgba(0,0,0,.12); margin: 8px 0; }
.mb-toggle-row--plain { background: #f9f9f9; border-color: transparent; box-shadow: none; }
.mb-toggle-row img { width: 53px; height: 53px; flex-basis: 53px; border-radius: 2px; }
.mb-toggle-row__name { font-size: 14.7px; line-height: 1.2; }
.mb-toggle-row__desc { font-size: 12.6px; font-weight: 300; line-height: 1.3; opacity: 1; color: rgba(45,45,45,.9); margin-top: 3px; }
.mb-toggle-row__price { font-size: 14.7px; }
.mb-toggle-row__price ins { color: #6e1e1e; letter-spacing: 1.05px; font-weight: 700; }
.mb-toggle-row__price del { font-size: 11.76px; font-weight: 300; opacity: .7; color: #2d2d2d; }
.mb-switch { flex-basis: 42px; width: 42px; height: 21px; border-radius: 21px; background: rgba(45,45,45,.2); }
.mb-switch::after { width: 18px; height: 18px; top: 1.5px; left: 1.5px; }
.mb-switch.is-on { background: #262628; }
.mb-switch.is-on::after { transform: translateX(21px); }
.mb-toggle-row--btn-left .mb-switch { margin-right: 4px; }
.mb-toggle-row--btn-right .mb-switch, .mb-toggle-row--btn-right .mb-plus { margin-left: 15.75px; }
.mb-plus { font-size: 27.3px; width: 27.3px; height: 27.3px; flex-basis: 27.3px; border-radius: 3px; border: 1px solid rgba(45,45,45,.75); }
.mb-addons__title { font-size: 17.85px; margin: 12.6px 0 9.45px; }
/* Add to cart + trust */
.single-product form.cart .single_add_to_cart_button, .woocommerce .single_add_to_cart_button { font-size: 19.95px; min-height: 47px; padding: 0 31.5px; margin: 12.6px 0 12.6px; letter-spacing: 0; }
.mb-trust-inline li { font-size: 15.75px; font-weight: 300; }
.mb-testimonial__quote { font-size: 14.7px; font-weight: 300; }
.mb-icons { margin: 12.6px 0 6.3px; }
.mb-icons__text { font-size: 16.8px; }
.mb-delivery { font-size: 14.7px; }
/* Accordions */
.mb-acc summary { padding: 13.125px 0; min-height: 45px; font-family: var(--mb-font-head); font-size: 13.2px; font-weight: 400; }
.mb-acc__title { display: none; }
/* Long-form sections */
.mb-pdp-band .mb-band__title { font-size: 26.4px; font-weight: 400; line-height: 1.2864; margin: 0 0 31.5px; color: #121212; }
.mb-pdp-band.mb-iwt .mb-iwt__text h2 { font-size: 33px; line-height: 1.2864; margin: 0 0 15.75px; }
.mb-pdp-band.mb-iwt .mb-iwt__text p:last-child, .mb-pdp-band.mb-iwt .mb-iwt__caption { font-size: 16.8px; font-weight: 300; line-height: 1.286; }
.mb-pdp-band .button, .mb-band .button, .mb-deals__btn { font-size: 16.8px; font-weight: 700; min-height: 47px; padding: 0 31.5px; border-radius: 4px; line-height: 47px; }
/* Footer */
.mb-foot__story h4 { font-family: var(--mb-font-head); font-size: 19.8px; font-weight: 400; margin: 0 0 21px; }
.mb-foot__story p { font-family: Helvetica, Arial, sans-serif; font-size: 16.8px; font-weight: 300; line-height: 1.286; color: rgba(45,45,45,.9); }
.mb-foot__copy, .mb-foot__policies, .ast-footer-copyright { font-size: 11.55px; font-weight: 300; }
/* Sticky add-to-cart (desktop): 76px bar, image 51x55, button 177x55 at the right */
@media (min-width: 922px) {
  body.mb-sticky-visible .mb-sticky-atc { display: flex; padding: 10.5px 52.5px; min-height: 76px; align-items: center; gap: 14px; }
  .mb-sticky-atc img { width: 51px; height: 55px; flex-basis: 51px; border-radius: 2px; }
  .mb-sticky-atc .mb-sticky-title { display: block; font-family: var(--mb-font-head); font-size: 16.8px; }
  .mb-sticky-atc .mb-sticky-price { display: block; font-size: 14.7px; font-weight: 700; }
  .mb-sticky-atc .button { font-size: 19.95px; font-weight: 700; min-height: 55px; padding: 0 29.925px !important; margin-left: auto; }
}

/* ==== v4.1: flagship option boxes, gift rows, accordions, header gutter (Shopify computed values) ==== */
#ast-desktop-header .ast-primary-header-bar .ast-container, #ast-desktop-header .ast-above-header-bar .ast-container, .ast-primary-header-bar .ast-builder-grid-row-container-inner { padding-left: 52.5px !important; padding-right: 52.5px !important; max-width: 100% !important; }
.ast-site-header-cart .ast-cart-menu-wrap .count.mb-zero, .ast-header-woo-cart .count.mb-zero { display: none !important; }
/* Quantity-break boxes: 1px border (#121212 selected / #a2a2a2 idle), r4.2, padding 18.375, selected bg #f6f2ef, idle #fbfbfb,
   16px indicator centred 21px from the left, content starts at 42px; variant row inside option #1 with a 32px thumb + small bordered selects */
.mb-bundle__opt, .mb-bundle__opt.is-selected { display: grid; grid-template-columns: 42px auto minmax(0, 1fr) auto; grid-template-areas: "radio img main prices" "variants variants variants variants"; align-items: center; column-gap: 0; padding: 18.375px 18.375px 18.375px 0; border: 1px solid #a2a2a2; border-radius: 4.2px; background: #fbfbfb; box-shadow: none; margin: 0 0 12.6px; min-height: 0; }
.mb-bundle__opt.is-selected { border-color: #121212; background: #f6f2ef; }
.mb-bundle__opt > input[type=radio] { position: absolute; opacity: 0; pointer-events: none; }
.mb-bundle__radio { grid-area: radio; position: relative; transform: none; justify-self: center; width: 15.75px; height: 15.75px; margin: 0; border: 2px solid rgba(38,38,40,.3); background: transparent; box-shadow: none; }
.mb-bundle__opt.is-selected .mb-bundle__radio { border: 2px solid #fff; background: #262628; box-shadow: 0 0 0 1px #262628; }
.mb-bundle__opt .mb-bundle__img { grid-area: img; margin-right: 10px; }
.mb-bundle__main { grid-area: main; }
.mb-bundle__prices { grid-area: prices; margin-left: 10px; }
.mb-bundle__variants { grid-area: variants; padding: 10.5px 0 0 21px; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.mb-bundle__variants .mb-bundle__bagicon { width: 32px; height: 32px; border-radius: 2px; }
.mb-bundle__variants b { font-size: 14.7px; font-weight: 300; }
.mb-bundle__variants table.variations, .mb-bundle__variants table.variations tbody, .mb-bundle__variants table.variations tr { display: contents; }
.mb-bundle__variants table.variations th { display: none; }
.mb-bundle__variants table.variations td { display: block; padding: 0; }
.mb-bundle__variants select, .single-product form.cart .variations select { -webkit-appearance: none; appearance: none; border: 1px solid rgba(45,45,45,.55) !important; border-radius: 4px !important; height: 22px !important; min-height: 0 !important; line-height: 20px !important; padding: 0 26px 0 8.4px !important; font-size: 12.6px !important; font-weight: 300; color: #2d2d2d; background: #fcf9f7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%232d2d2d' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat right 8px center !important; box-shadow: none !important; width: auto !important; }
.mb-bundle__variants .reset_variations { display: none !important; }
/* Gift / add-on rows: title + price on one line (price stacked, right), description under the title */
.mb-toggle-row__body { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "name price" "desc price"; align-items: start; gap: 0 10px; }
.mb-toggle-row__name { grid-area: name; }
.mb-toggle-row__price { grid-area: price; display: flex; flex-direction: column; align-items: flex-end; line-height: 1.1; text-align: right; }
.mb-toggle-row__price del { margin: 2px 0 0; }
.mb-toggle-row__desc { grid-area: desc; flex: none; }
/* Accordion titles live inside <summary> (h2.mb-acc__title) - Shopify: 13.2px heading font */
.mb-acc summary .mb-acc__title { display: block; font-family: var(--mb-font-head); font-size: 13.2px; font-weight: 400; line-height: 1.286; margin: 0; }
.mb-acc summary { padding: 13.125px 0; min-height: 45px; }
.mb-bundle__opt.is-selected .mb-bundle__radio::after { display: none; content: none; }

/* ==== v4.2: long-form sections measured on the Shopify flagship (comparison, results, icon bar, bundle, FAQ, airlines, reels, footer) ==== */
/* Comparison table: text left / table right (2 x 613px, gap 52.5px), maroon row-name cells, cream check cells, 21px corners */
.mb-pdp-band.mb-cmp-wrap { display: grid; grid-template-columns: 1fr 1fr; column-gap: 52.5px; row-gap: 21px; align-items: center; padding: 36px 0; }
.mb-cmp-wrap .mb-band__title { grid-column: 1; font-size: 33px; margin: 0; text-align: center; }
.mb-cmp-wrap .mb-band__sub { grid-column: 1; text-align: center; font-size: 16.8px; font-weight: 300; margin: 0; }
.mb-cmp-wrap .mb-cmp-scroll { grid-column: 2; grid-row: 1 / span 2; display: flex; justify-content: center; }
.mb-cmp { width: 525px; max-width: 100%; border-collapse: separate; border-spacing: 0; }
.mb-cmp th { background: transparent; color: rgba(45,45,45,.9); font-size: 18.9px; font-weight: 700; padding: 5.25px 7.875px; text-align: center; height: 35px; }
.mb-cmp th:first-child { width: 290px; }
.mb-cmp td { height: 45px; padding: 10.5px 21px; text-align: center; background: #fcf9f7; font-size: 16.8px; font-weight: 300; color: rgba(45,45,45,.9); border: 0; }
.mb-cmp td:first-child { background: #6e1e1e; color: rgba(255,255,255,.9); font-size: 18.9px; font-weight: 300; padding: 10.5px 15.75px; text-align: center; width: 290px; }
.mb-cmp td.mb-cmp__hl { background: #fcf9f7; color: inherit; }
.mb-cmp tbody tr:first-child td:first-child { border-top-left-radius: 21px; }
.mb-cmp tbody tr:first-child td:last-child { border-top-right-radius: 21px; }
.mb-cmp tbody tr:last-child td:first-child { border-bottom-left-radius: 21px; }
.mb-cmp tbody tr:last-child td:last-child { border-bottom-right-radius: 21px; }
.mb-cmp tbody tr:not(:last-child) td:not(:first-child) { box-shadow: inset 0 -1px 0 rgba(45,45,45,.1); }
.mb-cmp svg { width: 21px; height: 21px; }
.mb-cmp .mb-cmp__yes { color: #53af01; } .mb-cmp .mb-cmp__no { color: rgba(45,45,45,.9); }
/* Results: heading left, rows (ring 74px + text) separated by 2px lines */
.mb-pdp-band.mb-results { padding: 36px 0; }
.mb-results__title { font-size: 26.4px; font-weight: 400; text-align: left; margin: 0 0 8px; width: 728px; max-width: 100%; margin-left: auto; margin-right: auto; }
.mb-results__grid { display: block; width: 728px; max-width: 100%; margin: 0 auto; }
.mb-result { display: flex; align-items: center; gap: 21px; padding: 10.5px 0; border-bottom: 2px solid rgba(45,45,45,.05); text-align: left; }
.mb-result:first-child { border-top: 2px solid rgba(45,45,45,.05); }
.mb-result__ring { position: relative; width: 74px; height: 74px; flex: 0 0 74px; }
.mb-result__ring svg { width: 74px; height: 74px; }
.mb-result__ring span { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 18.9px; font-weight: 700; color: #6e1e1e; }
.mb-result p { margin: 0; font-size: 15.75px; font-weight: 300; line-height: 1.3; }
/* Icon bar: 46.75px heading, 4 white cards per row (290px, 1px border), icon 54px, text 16.8/300 centred */
.mb-iconbar { display: grid; grid-template-columns: repeat(4, 290px); justify-content: space-between; gap: 21px 0; }
.mb-iconbar__item { background: #fff; border: 1px solid rgba(45,45,45,.1); border-radius: 0; box-shadow: none; padding: 21px 15px; text-align: center; }
.mb-iconbar__item img { width: 54px; height: 53px; object-fit: contain; margin: 0 auto 10px; display: block; }
.mb-iconbar__item p { margin: 0; font-size: 16.8px; font-weight: 300; line-height: 1.286; }
.mb-pdp-band .mb-iconbar ~ *, .mb-iconbar-title { }
section.mb-pdp-band:has(> .mb-iconbar) > .mb-band__title { font-size: 46.75px; margin-bottom: 21px; }
/* Bundle deals: media row (3 x 185px + "+") left, list right (473px): title 21px serif, selects, prices 16.8/300, 47px button */
.mb-deals { display: grid; grid-template-columns: 1fr 1fr; column-gap: 42px; align-items: start; background: transparent; box-shadow: none; padding: 0; border-radius: 0; max-width: none; }
.mb-deals__media { display: flex; align-items: center; gap: 0; }
.mb-deals__img { flex: 0 0 185px; width: 185px; }
.mb-deals__img img { width: 185px; height: 185px; object-fit: cover; border-radius: 5.25px; display: block; }
.mb-deals__plus { flex: 0 0 32px; text-align: center; font-size: 26px; font-weight: 300; line-height: 1; }
.mb-deals__list { width: 473px; max-width: 100%; }
.mb-deal { display: grid; grid-template-columns: 24px 1fr auto; column-gap: 10px; align-items: start; padding: 10px 0; border: 0; background: transparent; margin: 0; }
.mb-deal__check input { width: 13px; height: 13px; margin: 6px 0 0; accent-color: #262628; }
.mb-deal__title { margin: 0; font-family: var(--mb-font-head); font-size: 21px; font-weight: 400; line-height: 1.25; }
.mb-deal__selects { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.mb-deal__price { font-size: 16.8px; font-weight: 300; color: rgba(46,42,57,.9); white-space: nowrap; text-align: right; display: flex; flex-direction: column; align-items: flex-end; }
.mb-deal__price ins { text-decoration: none; font-weight: 700; color: #6e1e1e; }
.mb-deal__price del { opacity: .7; font-size: 14.7px; }
.mb-deals__total { display: flex; align-items: baseline; gap: 8px; font-size: 16.8px; font-weight: 300; padding: 12px 0 16px; border-top: 1px solid rgba(45,45,45,.1); margin-top: 8px; }
.mb-deals__total b { font-size: 21px; font-weight: 700; color: #6e1e1e; }
.mb-deals__total s { opacity: .6; }
.mb-deals__btn, a.button.mb-deals__btn { display: block; width: 100%; text-align: center; font-size: 19.95px; font-weight: 700; min-height: 47px; line-height: 47px; padding: 0 31.5px; border-radius: 4px; background: #6e1e1e; color: #fff; text-transform: uppercase; }
.mb-deals__btn.is-busy { opacity: .6; pointer-events: none; }
/* FAQ: 33px heading with maroon highlight, 729px centred list, 1px separators, check-box icon left + caret right */
.mb-pdp-band.mb-faq { padding: 36px 0; }
.mb-faq .mb-band__title { font-size: 33px; margin: 0 0 31.5px; }
.mb-faq .mb-band__title strong, .mb-band__title strong { color: #6e1e1e; font-weight: 700; }
.mb-faq .mb-acc-group { width: 729px; max-width: 100%; margin: 0 auto; }
.mb-faq .mb-acc { border-bottom: 1px solid rgba(45,45,45,.12); }
.mb-faq .mb-acc summary { padding: 13.125px 0; min-height: 46px; gap: 12px; }
.mb-faq .mb-acc summary .mb-acc__title { font-family: Helvetica, Arial, sans-serif; font-size: 15.75px; font-weight: 300; flex: 1; }
.mb-faq .mb-acc summary::before { content: ''; width: 20px; height: 20px; flex: 0 0 20px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' fill='%232d2d2d'%3E%3Cpath d='m424-312 282-282-56-56-226 226-114-114-56 56 170 170ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm0-560v560-560Z'/%3E%3C/svg%3E") center/contain no-repeat; }
.mb-faq .mb-acc__body { font-size: 15.75px; font-weight: 300; padding: 0 0 14px 32px; }
/* Airlines: 12 grey logos, 60px tall, wrapping rows */
.mb-logo-list--airlines { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 24px 42px; padding: 0 0 8px; }
.mb-logo-list--airlines img { height: 60px !important; width: auto; max-width: 340px; filter: grayscale(1); opacity: .85; }
/* Reels: play / mute overlays (Shopify internal-video) */
.mb-reel { position: relative; }
.mb-reel video { display: block; width: 100%; }
.mb-reel__play { position: absolute; left: 50%; top: 50%; width: 52px; height: 52px; margin: -26px 0 0 -26px; border-radius: 50%; border: 0; background: rgba(255,255,255,.92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23121212'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E") center/22px no-repeat; cursor: pointer; box-shadow: 0 2px 10px rgba(0,0,0,.15); }
.mb-reel.is-playing .mb-reel__play { display: none; }
.mb-reel__mute { position: absolute; right: 10px; bottom: 10px; width: 30px; height: 30px; border-radius: 50%; border: 0; background: rgba(0,0,0,.45) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M16.5 12A4.5 4.5 0 0 0 14 7.97v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51A8.8 8.8 0 0 0 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3 3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06a8.99 8.99 0 0 0 3.69-1.81L19.73 21 21 19.73l-9-9L4.27 3zM12 4 9.91 6.09 12 8.18V4z'/%3E%3C/svg%3E") center/16px no-repeat; cursor: pointer; }
.mb-reel:not(.is-muted) .mb-reel__mute { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M3 9v6h4l5 5V4L7 9H3zm13.5 3A4.5 4.5 0 0 0 14 7.97v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z'/%3E%3C/svg%3E"); }
/* Footer columns: story 290px, quick links from 330px in; bottom bar with 1px rule */
@media (min-width: 922px) {
  .site-footer .ast-builder-grid-row { column-gap: 40px; }
  .site-footer .mb-foot__story { max-width: 290px; }
}
/* v4.2 fixes: airline logos 60px (override the 30/40px logo rules), transparent comparison header, borderless icon cards, bundle selects, button case */
.mb-logo-list.mb-logo-list--airlines img { height: 60px !important; max-height: 60px !important; width: auto !important; max-width: 340px !important; flex: 0 0 auto !important; padding: 0 !important; }
.mb-cmp, .mb-cmp thead, .mb-cmp th.mb-cmp__hl, .mb-cmp thead .mb-cmp__hl { background: transparent !important; color: rgba(45,45,45,.9); border-radius: 0; font-family: Helvetica, Arial, sans-serif; }
.mb-cmp th, .mb-cmp td { border-bottom: 0; }
.mb-cmp tbody tr:last-child .mb-cmp__hl { border-radius: 0; }
.mb-iconbar__item { border: 0; }
.mb-deal__selects select.mb-deal__select { -webkit-appearance: none; appearance: none; border: 1px solid rgba(45,45,45,.55); border-radius: 4px; height: 22px; min-height: 0; line-height: 20px; padding: 0 26px 0 8.4px; font-size: 12.6px; font-weight: 300; color: #2d2d2d; width: auto; background: #fcf9f7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%232d2d2d' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat right 8px center; box-shadow: none; }
.mb-deals__btn, a.button.mb-deals__btn { text-transform: none; letter-spacing: 0; }
.mb-reel__play { background-color: rgba(255,255,255,.92) !important; border: 0 !important; padding: 0 !important; width: 52px !important; height: 52px !important; z-index: 3; }
.mb-reel__play, .mb-reel__mute { display: block; }
.mb-logo-list.mb-logo-list--airlines img { mix-blend-mode: multiply; opacity: .8 !important; }
.mb-logo-list img { mix-blend-mode: multiply; }
/* v4.3 mobile: thumbnail arrows are desktop-only (they rendered as giant Astra buttons on phones), accordions full width, sticky bar button right */
@media (max-width: 921px) {
  .mb-thumbs-nav { display: none !important; }
  .single-product .mb-pdp-band--tight { float: none; width: 100%; max-width: none; margin: 8px 0 24px; }
  .mb-sticky-atc { left: 0; right: 0; width: 100%; box-sizing: border-box; }
  .mb-sticky-atc .mb-sticky-button { margin-left: auto; }
}
/* v4.4: styled subtitle boxes (Silver Glow "Wherever you go…"), image-icon check lines (NBC logo), "+" button size */
.mb-subtitle-box { padding: 15.75px; margin: 15.75px 0; font-size: 16.8px; font-weight: 400; color: #121212; line-height: 1.286; text-align: left; }
.mb-subtitle-box.mb-subtitle--center { text-align: center; }
.mb-subtitle-box--serif { font-family: var(--mb-font-head); }
.mb-subtitle-box--shadow { box-shadow: 4px 10px 14px 0 rgba(110,30,30,.05); }
.mb-checks li.mb-checks__img img { width: auto; height: 19px; flex: 0 0 auto; margin-top: 0; border-radius: 0; }
.mb-plus, .mb-toggle-row .mb-plus { flex: 0 0 27.3px; width: 27.3px; min-width: 0; height: 27.3px; padding: 0; line-height: 1; display: inline-flex; align-items: center; justify-content: center; font-size: 22px; }
.mb-bundle__opt .mb-bundle__img { width: 60px !important; max-width: 60px; height: auto; }
.mb-sticky-atc .mb-sticky-button, .mb-sticky-atc a.button.mb-sticky-button { margin-left: auto !important; }

/* ==== v5: Shopify variant picker block (colour swatches + pills) - measured on the flagship: 45px round swatches, 5.25px gap, 13.65/600 labels ==== */
.mb-picker { margin: 15.75px 0; }
.mb-picker + .mb-picker { margin-top: 13px; }
.mb-picker__label { display: block; font-size: 13.65px; font-weight: 600; letter-spacing: .42px; line-height: 20px; margin: 0 0 3px; color: rgba(45,45,45,.9); }
.mb-swatches { display: flex; flex-wrap: wrap; gap: 5.25px; }
.mb-swatch, .mb-swatch:hover, .mb-swatch:focus { width: 45px; height: 45px; flex: 0 0 45px; border-radius: 46%; border: 2px solid #fff; background: #fff; padding: 0; position: relative; cursor: pointer; box-shadow: 0 0 0 2px transparent; transition: box-shadow .15s; }
.mb-swatch.is-active { box-shadow: 0 0 0 2.1px #2d2d2d; }
.mb-swatch__color { position: absolute; left: 50%; top: 50%; width: 95%; height: 95%; transform: translate(-50%, -50%); border-radius: 46%; background: var(--c); box-shadow: inset 0 0 0 1px rgba(45,45,45,.3); }
.mb-swatch img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 46%; }
.mb-pills { display: flex; flex-wrap: wrap; }
.mb-pill, .mb-pill:hover, .mb-pill:focus { font-family: inherit; font-size: 14.7px; font-weight: 300; letter-spacing: 1.05px; line-height: 1; padding: 10.5px 21px; margin: 7.35px 10.5px 2.1px 0; border: 1px solid rgba(38,38,40,.55); border-radius: 4px; background: transparent; color: #262628; cursor: pointer; box-shadow: none; }
.mb-pill.is-active, .mb-pill.is-active:hover { background: #262628; color: #fff; border-color: #262628; }
tr.mb-row-hidden { display: none !important; }
.mb-variants-slot:empty { display: none; }
@media (max-width: 749px) { .mb-swatch, .mb-swatch:hover, .mb-swatch:focus { width: 35px; height: 35px; flex-basis: 35px; } .mb-swatch.is-active { box-shadow: 0 0 0 1px #2d2d2d; } }

/* ==== v6: blocks that were hidden in the no-JS mirror (price line, divider, gallery badge, sticky variant select, Afterpay, wave, dots) + Judge.me-style reviews ==== */
.mb-price { display: flex; align-items: center; column-gap: 5.25px; margin: 6.3px 0; line-height: 1; letter-spacing: 1.365px; }
.mb-price__sale { font-size: 15.75px; font-weight: 700; color: #262628; }
.mb-price__compare { font-size: 12.6px; font-weight: 700; color: rgba(45,45,45,.9); text-decoration: line-through; }
.mb-price__badge { display: inline-flex; align-items: center; height: 24px; padding: 0 6.3px; margin-left: 5px; border: 1px solid #6e1e1e; border-radius: 2.1px; background: #6e1e1e; color: rgba(255,255,255,.9); font-size: 12.6px; font-weight: 700; letter-spacing: 1.05px; line-height: 22px; white-space: nowrap; }
.mb-divider { height: 1px; width: 100%; background: #f2f2f2; }
.single-product .woocommerce-product-gallery__image { position: relative; }
.mb-trust-badge { position: absolute; z-index: 2; width: 25%; height: auto; pointer-events: none; }
.mb-trust-badge--medium { width: 20%; } .mb-trust-badge--small { width: 15%; }
.mb-trust-badge--top-left { top: 10.5px; left: 10.5px; } .mb-trust-badge--top-right { top: 10.5px; right: 10.5px; }
.mb-trust-badge--bottom-left { bottom: 10.5px; left: 10.5px; } .mb-trust-badge--bottom-right { bottom: 10.5px; right: 10.5px; }
.flex-control-thumbs .mb-trust-badge { display: none; }
/* Thumbnails BELOW the main image on desktop (Shopify: media-gallery--desktop-thumbnails-bottom) */
@media (min-width: 922px) {
  .single-product .woocommerce-product-gallery .flex-control-thumbs { order: 1 !important; padding: 10px 0 6px !important; }
  .mb-thumbs-nav { top: auto; bottom: 72px; }
}
/* Mobile: no thumbnails, dots under the slider (Shopify: media-gallery--mobile-thumbnails-hidden + slider-buttons--dots) */
@media (max-width: 921px) {
  .single-product .woocommerce-product-gallery .flex-control-thumbs { display: none !important; }
  .mb-dots { display: flex; justify-content: center; align-items: center; gap: 0; padding: 8px 0 4px; }
  .mb-dots__dot { width: 10px; height: 10px; margin: 5px; padding: 0; border-radius: 50%; border: 1px solid rgba(45,45,45,.5); background: transparent; cursor: pointer; }
  .mb-dots__dot.is-active { background: #2d2d2d; border-color: #2d2d2d; }
}
@media (min-width: 922px) { .mb-dots { display: none; } }
/* Sticky bar: 76px, image 51x55, variant select 208x42 cream, button 177x55 right (Shopify sticky-atc) */
.mb-sticky-atc { box-shadow: 0 -1px 10px rgba(0,0,0,.2); background: #fff; }
.mb-sticky-select { -webkit-appearance: none; appearance: none; width: 208px; max-width: 45vw; height: 42px; padding: 5.25px 32px 5.25px 12.6px; border: 0; border-radius: 2px; background: #fcf9f7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%232d2d2d' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat right 12px center; font-size: 14.7px; font-weight: 300; color: #2d2d2d; margin-left: 1px; }
.mb-sticky-atc .mb-sticky-title--variable { display: none !important; }
@media (max-width: 921px) { .mb-sticky-select { font-size: 12.6px; height: 36px; max-width: 48vw; } }
/* Afterpay messaging under the button */
.mb-afterpay { text-align: center; margin: 6px 0 15px; font-size: 12.6px; min-height: 0; flex: 1 1 100%; }
.mb-afterpay:empty { display: none; }
/* Wave divider (Shrine section_divider: white waves over the cream page, 63px) */
.mb-wave { position: relative; margin: 0 calc(50% - 50vw); height: 63px; overflow: hidden; transform: translateY(1px); }
.mb-wave__svg { display: block; width: 100%; height: 63px; color: var(--wave-fill, #fff); }
.mb-wave__svg use { fill: currentColor; }
.mb-wave__p1 use { animation: mb-wave1 10s linear infinite; }
.mb-wave__p2 use { animation: mb-wave2 8s linear infinite; opacity: .4; }
.mb-wave__p3 use { animation: mb-wave3 6s linear infinite; opacity: .3; }
.mb-wave__p4 use { animation: mb-wave4 4s linear infinite; opacity: .2; }
@keyframes mb-wave1 { 0% { transform: translate(85px, 0); } 100% { transform: translate(-90px, 0); } }
@keyframes mb-wave2 { 0% { transform: translate(-90px, 0); } 100% { transform: translate(85px, 0); } }
@keyframes mb-wave3 { 0% { transform: translate(85px, 0); } 100% { transform: translate(-90px, 0); } }
@keyframes mb-wave4 { 0% { transform: translate(-90px, 0); } 100% { transform: translate(85px, 0); } }
/* Scroll-to-top: 40px round, shadow, 20px from the corner (Shrine scroll-to-top-btn) */
#ast-scroll-top, .ast-scroll-top-icon { width: 40px !important; height: 40px !important; border-radius: 50% !important; background: #fff !important; color: #2d2d2d !important; box-shadow: 1px 1px 10px rgba(0,0,0,.3) !important; bottom: 20px !important; right: 20px !important; display: flex; align-items: center; justify-content: center; font-size: 18px; }
/* Reviews: Judge.me widget look */
.mb-reviews .woocommerce-Reviews-title { display: none; }
.mb-rev-summary { text-align: center; margin: 0 auto 10px; }
.mb-rev-summary__stars { font-size: 21px; line-height: 1; }
.mb-jstar { color: #cfcfcf; padding: 0 4px 0 0; } .mb-jstar.is-on { color: #108474; }
.mb-rev-summary__text { display: none; }
.mb-rev-hist { display: inline-block; text-align: left; margin: 12px 0 4px; }
.mb-rev-hist__row { display: flex; align-items: center; height: 18px; margin-bottom: 12px; white-space: nowrap; font-size: 13px; }
.mb-rev-hist__row.is-empty { opacity: .6; }
.mb-rev-hist__stars { font-size: 15px; line-height: 1; }
.mb-rev-hist__bar { display: inline-block; width: 80px; height: 18px; margin: 0 2px 0 4px; box-shadow: inset 0 0 1px #666; background: #fff; }
.mb-rev-hist__bar span { display: block; height: 100%; background: #9f4d44; }
.mb-rev-hist__pct { width: 42px; text-align: right; } .mb-rev-hist__n { margin-left: 6px; color: rgba(45,45,45,.7); }
.mb-reviews #comments { max-width: 1200px; margin: 0 auto; }
.mb-reviews .commentlist { list-style: none; margin: 0; padding: 0; }
.mb-reviews .commentlist li.review { padding: 16px; margin: 0; border-top: 1px solid rgba(45,45,45,.1); }
.mb-reviews .commentlist li.review .comment_container { display: flex; gap: 12px; align-items: flex-start; }
.mb-rev__icon { width: 40px; height: 40px; flex: 0 0 40px; border-radius: 50%; background: #9f4d44; color: #fff; font-size: 18px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.mb-reviews .comment-text { flex: 1; min-width: 0; }
.mb-reviews .review-rating { float: left; margin: 0 0 6px; }
.mb-reviews .star-rating { color: #108474 !important; font-size: 15px; }
.mb-reviews .star-rating::before { color: #cfcfcf; }
.mb-reviews p.meta { clear: both; margin: 0 0 8px; font-size: 14.7px; }
.mb-reviews p.meta .woocommerce-review__author { font-weight: 700; }
.mb-reviews p.meta .woocommerce-review__dash { display: none; }
.mb-reviews p.meta time { float: right; font-size: 13px; opacity: .8; margin-top: -22px; }
.mb-reviews .description { font-size: 15.75px; font-weight: 300; line-height: 1.4; }
.mb-reviews #review_form_wrapper, .mb-reviews .cr-reviews-form { display: none; }
/* v6.1 fixes */
.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img.mb-trust-badge, img.mb-trust-badge { width: 25% !important; height: auto !important; max-width: 25%; }
img.mb-trust-badge.mb-trust-badge--medium { width: 20% !important; max-width: 20%; } img.mb-trust-badge.mb-trust-badge--small { width: 15% !important; max-width: 15%; }
.mb-reviews .comment-text { position: relative; padding-right: 110px; }
.mb-reviews p.meta time { position: absolute; top: 0; right: 0; margin: 0; float: none; }
.mb-wave { background: transparent; }
/* Astra draws the cart count with ::after{content:attr(data-cart-total)} - Shopify shows no bubble at 0 */
.ast-site-header-cart .astra-icon[data-cart-total="0"]::after, .ast-header-woo-cart .astra-icon[data-cart-total="0"]::after { display: none !important; content: none !important; }
/* v6.2: price line placement (moved under the title by JS), mobile dots styling */
.summary .mb-price:not(.is-placed) { visibility: hidden; height: 0; margin: 0; overflow: hidden; }
.single-product .woocommerce-product-gallery .mb-dots { order: 99; width: 100%; flex-wrap: wrap; }
.single-product .woocommerce-product-gallery .mb-dots__dot, .single-product .woocommerce-product-gallery .mb-dots__dot:hover { display: block; width: 10px; height: 10px; min-height: 0; line-height: 0; padding: 0; margin: 5px; border-radius: 50%; border: 1px solid rgba(45,45,45,.5); background: transparent; box-shadow: none; font-size: 0; }
.single-product .woocommerce-product-gallery .mb-dots--many .mb-dots__dot { width: 8px; height: 8px; margin: 4px; }
.single-product .woocommerce-product-gallery .mb-dots__dot.is-active { background: #2d2d2d; border-color: #2d2d2d; }
.single-product .woocommerce-product-gallery .mb-dots--many .mb-dots__dot { width: 6px; height: 6px; margin: 3px 1.5px; }

/* ==== v7: per-colour galleries + "#1 / #2" pickers inside multi-bag options ==== */
.mb-bundle__variants--multi { flex-direction: column; align-items: stretch; gap: 8px; }
.mb-bundle__row { display: flex; align-items: center; gap: 8px; flex-wrap: nowrap; }
.mb-bundle__row-slot { display: flex; align-items: center; gap: 6px; flex-wrap: nowrap; min-width: 0; }
.mb-bundle__row-slot table.variations, .mb-bundle__row-slot table.variations tbody, .mb-bundle__row-slot table.variations tr { display: contents; }
.mb-bundle__row-slot table.variations th { display: none; }
.mb-bundle__row-slot table.variations td { display: block; padding: 0; width: auto !important; }
.mb-bundle__variants .mb-clone-select { -webkit-appearance: none; appearance: none; border: 1px solid rgba(45,45,45,.55); border-radius: 4px; height: 22px; line-height: 20px; padding: 0 22px 0 8px; font-size: 12.6px; font-weight: 300; color: #2d2d2d; background: #fcf9f7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%232d2d2d' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat right 8px center; width: auto; max-width: 140px; }
.mb-bundle__opt:not(.is-selected) .mb-bundle__variants { display: none; }
.mb-bundle__opt.is-selected .mb-bundle__variants { display: flex; }
.single_add_to_cart_button.loading { opacity: .6; pointer-events: none; }
.mb-bundle__variants .mb-clone-select { display: inline-block !important; }
@media (max-width: 749px) { .mb-bundle__row, .mb-bundle__row-slot { flex-wrap: wrap; } .mb-bundle__row-slot { row-gap: 6px; } }

/* ==== v8: launch polish (my touch): motion, hover/focus states, 404, mobile picker rows ==== */
.mb-gal-enter { animation: mb-gal-in .35s ease both; }
@keyframes mb-gal-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.mb-swatch { transition: transform .15s ease, box-shadow .15s ease; }
.mb-swatch:hover { transform: scale(1.06); }
.mb-pill { transition: background .15s ease, color .15s ease, border-color .15s ease; }
.mb-pill:hover:not(.is-active) { border-color: #262628; }
.single-product form.cart .single_add_to_cart_button, .mb-deals__btn, .mb-sticky-atc .button { transition: background .15s ease, transform .15s ease; }
.single-product form.cart .single_add_to_cart_button:hover, a.button.mb-deals__btn:hover, .mb-sticky-atc .button:hover { background: #5b1717 !important; }
.mb-bundle__opt { transition: border-color .15s ease, background .15s ease; }
.mb-bundle__opt:not(.is-selected):hover { border-color: #6b6b6b; }
.mb-toggle-row .mb-switch, .mb-plus { transition: background .2s ease, border-color .2s ease; }
.mb-thumbs-nav { transition: box-shadow .15s ease, transform .15s ease; }
.mb-thumbs-nav:hover:not([disabled]) { box-shadow: 0 4px 12px rgba(0,0,0,.12); transform: translateY(-1px); }
.woocommerce ul.products li.product { transition: box-shadow .2s ease, transform .2s ease; }
.woocommerce ul.products li.product:hover { box-shadow: 10px 10px 35px rgba(0,0,0,.08); transform: translateY(-2px); }
.woocommerce ul.products li.product a img { transition: transform .35s ease; }
.woocommerce ul.products li.product:hover a img { transform: scale(1.03); }
.woocommerce ul.products li.product .woocommerce-loop-product__link { overflow: hidden; display: block; }
a:focus-visible, button:focus-visible, .mb-swatch:focus-visible, .mb-pill:focus-visible, select:focus-visible, input:focus-visible { outline: 2px solid #6e1e1e; outline-offset: 2px; }
.mb-404-cta { margin: 18px 0 0; display: flex; gap: 16px; align-items: center; justify-content: center; flex-wrap: wrap; }
.mb-404-cta .button { background: #6e1e1e; color: #fff; border-radius: 4px; padding: 0 31.5px; min-height: 45px; line-height: 45px; font-weight: 700; }
.mb-404-link { text-decoration: underline; color: #2d2d2d; }
.error404 .ast-404-layout-1 .page-title { font-size: 33px; }
@media (max-width: 749px) {
  .mb-bundle__row { flex-wrap: wrap; }
  .mb-bundle__row-slot { flex: 1 1 100%; flex-wrap: nowrap; }
  .mb-bundle__row-slot select, .mb-bundle__row-slot .mb-clone-select { max-width: 48%; }
}

/* ==== v9: design pass (free hand) - rhythm, cards, buttons, forms, reviews ==== */
:root { --mb-radius-card: 12px; --mb-shadow-card: 10px 10px 35px rgba(0,0,0,.05); --mb-shadow-hover: 14px 14px 40px rgba(0,0,0,.09); }
/* Section rhythm */
.mb-pdp-band { padding: 42px 0; }
.mb-pdp-band + .mb-pdp-band { padding-top: 0; }
.mb-pdp-band .mb-band__title { margin-bottom: 26px; }
@media (max-width: 749px) { .mb-pdp-band { padding: 28px 0; } .mb-pdp-band .mb-band__title { font-size: 24px; margin-bottom: 18px; } }
/* Product cards: white, 12px radius, soft shadow, square image, serif title, clear price */
.woocommerce ul.products li.product { background: #fff; border-radius: var(--mb-radius-card); box-shadow: var(--mb-shadow-card); overflow: hidden; padding: 0 0 18px; }
.woocommerce ul.products li.product:hover { box-shadow: var(--mb-shadow-hover); transform: translateY(-3px); }
.woocommerce ul.products li.product .woocommerce-loop-product__link { display: block; }
.woocommerce ul.products li.product a img { aspect-ratio: 1 / 1; object-fit: cover; width: 100%; height: auto; margin: 0; background: #fff; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h2 { font-family: var(--mb-font-head); font-size: 15.75px; font-weight: 400; line-height: 1.3; padding: 14px 14px 4px; text-align: center; color: #2d2d2d; min-height: 0; }
.woocommerce ul.products li.product .price { font-size: 14.7px; font-weight: 300; text-align: center; color: #2d2d2d; display: block; padding: 0 14px; }
.woocommerce ul.products li.product .price ins { font-weight: 700; color: #6e1e1e; text-decoration: none; }
.woocommerce ul.products li.product .price del { font-size: 12.6px; opacity: .6; margin-left: 4px; }
.woocommerce ul.products li.product .mb-save-badge, .woocommerce ul.products li.product .mb-save-pill { border-radius: 4px; font-size: 11px; letter-spacing: .6px; padding: 4px 8px; }
.woocommerce ul.products li.product .star-rating { margin: 0 auto 6px; }
@media (max-width: 749px) { .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h2 { font-size: 14px; padding: 10px 10px 2px; } .woocommerce ul.products li.product .price { font-size: 13.5px; } }
/* Buttons & links */
.button, a.button, button.button, input[type=submit], .wc-block-components-button, .wp-element-button { border-radius: 4px !important; font-weight: 700; letter-spacing: .2px; transition: background .15s ease, box-shadow .15s ease, transform .15s ease; }
.button:hover, a.button:hover, button.button:hover, input[type=submit]:hover { box-shadow: 0 6px 16px rgba(110,30,30,.18); }
.button:active, a.button:active, button.button:active { transform: translateY(1px); }
.site-footer a:hover, .mb-foot__policies a:hover { text-decoration: underline; }
/* Forms (contact, track order, newsletter, checkout inputs) */
.wpcf7 input:not([type=submit]), .wpcf7 textarea, .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .track_order input.input-text, .mb-newsletter input[type=email], form.wc-block-components-form input { border: 1px solid rgba(45,45,45,.3); border-radius: 4px; padding: 10px 14px; font-size: 15px; background: #fff; box-shadow: none; }
.wpcf7 input:not([type=submit]):focus, .wpcf7 textarea:focus, .woocommerce form .form-row input.input-text:focus, .track_order input.input-text:focus { border-color: #6e1e1e; box-shadow: 0 0 0 3px rgba(110,30,30,.12); outline: 0; }
.wpcf7 label, .track_order label { font-size: 13.65px; font-weight: 600; letter-spacing: .3px; }
/* Reviews: customer photos */
.mb-rev__pics { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 4px; }
.mb-rev__pic { display: block; width: 84px; height: 84px; border-radius: 6px; overflow: hidden; box-shadow: 0 1px 4px rgba(0,0,0,.12); }
.mb-rev__pic img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
.mb-rev__pic:hover img { transform: scale(1.05); }
.mb-reviews .commentlist li.review .comment-text .description p:last-child { margin-bottom: 0; }
/* Announcement + header polish */
.mb-announcement strong { letter-spacing: .5px; }
.main-header-menu > li > a { transition: color .15s ease; }
/* Icon bar & benefit cards */
.mb-iconbar__item { border-radius: 8px; box-shadow: var(--mb-shadow-card); transition: transform .2s ease; }
.mb-iconbar__item:hover { transform: translateY(-2px); }
/* Comparison / results / FAQ breathing room */
.mb-faq .mb-acc summary:hover .mb-acc__title { color: #6e1e1e; }
.mb-acc summary { transition: color .15s ease; }
/* v9.1: reviews on phones - date under the name, full-width text */
@media (max-width: 749px) {
  .mb-reviews .comment-text { padding-right: 0; }
  .mb-reviews p.meta time { position: static; display: block; margin: 2px 0 0; font-size: 12px; }
  .mb-reviews .commentlist li.review { padding: 14px 0; }
  .mb-rev__icon { width: 34px; height: 34px; flex-basis: 34px; font-size: 15px; }
}

/* =====================================================================
   v10 - "editorial" design system (BÉIS-grade): white page, stone tiles,
   flat surfaces, uppercase micro-labels, serif display headings, one accent.
   Overrides every earlier layer. 2026-09-07
   ===================================================================== */
:root {
  --mb-bg: #ffffff; --mb-bg-2: #ffffff; --mb-sand: #f3f0ec; --mb-stone: #efece7; --mb-line: #e4e0db; --mb-line-strong: #141414;
  --mb-text: #141414; --mb-muted: #6f6b67; --mb-accent: #6e1e1e; --mb-accent-dark: #4f1414; --mb-accent-2: #141414; --mb-outline: #141414; --mb-ink: #141414; --mb-red: #6e1e1e;
  --mb-radius-card: 0; --mb-radius-btn: 0; --mb-radius-media: 0; --mb-radius-badge: 0;
  --mb-shadow-card: none; --mb-shadow-btn: none; --mb-shadow-hover: none;
  --mb-font-head: 'Noto Serif JP', 'Noto Serif Japanese', Georgia, 'Times New Roman', serif;
  --mb-font-body: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --mb-gutter: 40px; --mb-max: 1440px;
}
html body, body .ast-container, body button, body input, body select, body textarea { font-family: var(--mb-font-body); }
html body, body .ast-container { font-weight: 400; font-size: var(--mb-base, 14px); line-height: 1.6; letter-spacing: .1px; color: var(--mb-text); }
body, .site-content, #content, .content-area, .ast-container, .site-header, .ast-primary-header-bar, .ast-above-header-bar { background: #fff !important; }
img, video { border-radius: var(--mb-radius-media, 0) !important; }
a { color: var(--mb-text); }
a:hover { color: var(--mb-accent); }
h1, h2, h3, h4, .product_title, .woocommerce-loop-product__title { color: var(--mb-text); letter-spacing: -.005em; }
h1 { font-size: 40px; line-height: 1.12; } h2 { font-size: 30px; line-height: 1.18; } h3 { font-size: 18px; line-height: 1.3; }
.mb-eyebrow { display: block; margin: 0 0 12px; font: 500 11px/1.4 var(--mb-font-body); letter-spacing: .16em; text-transform: uppercase; color: var(--mb-muted); }
.mb-center { text-align: center; }
.mb-link { font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; color: var(--mb-text); }
.mb-link:hover { color: var(--mb-accent); }
::selection { background: #141414; color: #fff; }

/* ---- Buttons: squared, uppercase, tracked. Primary = brand maroon, hover = near-black ---- */
.ast-button, .button, a.button, button.button, input[type=submit], .wp-block-button__link, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce button.button.alt, .woocommerce a.button.alt, .woocommerce .single_add_to_cart_button, .single-product form.cart .single_add_to_cart_button,
.wc-block-components-button, .wc-block-cart__submit-button, .wp-element-button, .mb-btn, .mb-deals__btn, a.button.mb-deals__btn, .mb-404-cta .button, .mb-newsletter .button, .mb-sticky-atc .button, .mb-pdp-band .button, .mb-band .button {
  border-radius: var(--mb-radius-btn, 0) !important; box-shadow: none !important; border: 1px solid var(--mb-accent) !important; background: var(--mb-accent) !important; color: #fff !important;
  font-family: var(--mb-font-body); font-size: 12.5px !important; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; line-height: 1 !important;
  min-height: 50px; padding: 0 30px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none !important; transition: background .18s ease, border-color .18s ease, color .18s ease;
}
.button:hover, a.button:hover, button.button:hover, input[type=submit]:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce .single_add_to_cart_button:hover,
.single-product form.cart .single_add_to_cart_button:hover, a.button.mb-deals__btn:hover, .mb-sticky-atc .button:hover, .mb-btn--solid:hover, .mb-newsletter .button:hover, .wp-element-button:hover {
  background: #141414 !important; border-color: #141414 !important; color: #fff !important; box-shadow: none !important; filter: none;
}
.button:active, a.button:active, button.button:active { transform: none; }
.mb-btn--solid { background: var(--mb-accent) !important; }
.mb-btn--ghost, .mb-btn--outline, .is-style-outline .wp-block-button__link, .button--outline { background: transparent !important; color: var(--mb-text) !important; border: 1px solid var(--mb-text) !important; }
.mb-btn--ghost:hover, .mb-btn--outline:hover { background: var(--mb-text) !important; color: #fff !important; }
.mb-btn--light { background: #fff !important; color: var(--mb-text) !important; border-color: #fff !important; }
.mb-btn--light:hover { background: var(--mb-text) !important; border-color: var(--mb-text) !important; color: #fff !important; }
.mb-band__cta .mb-btn--outline { background: none !important; border: 0 !important; color: var(--mb-text) !important; min-height: 0; padding: 0; font: 500 12px/1.4 var(--mb-font-body) !important; letter-spacing: .14em; text-decoration: underline !important; text-underline-offset: 5px; text-transform: uppercase; }

/* ---- Announcement + header: quiet, white, one hairline ---- */
.mb-announcement { background: var(--mb-accent); color: #fff; font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; padding: 9px 12px 8px; }
.mb-announcement strong { font-weight: 700; letter-spacing: .14em; }
.mb-announcement__track { height: 16px; } .mb-announcement__track span { line-height: 16px; }
@media (max-width: 749px) { .mb-announcement { font-size: 10px; letter-spacing: .12em; padding: 8px 12px 7px; } }
#ast-desktop-header .ast-primary-header-bar .site-primary-header-wrap { padding: 14px 0 !important; }
#ast-desktop-header .ast-primary-header-bar .ast-container, #ast-desktop-header .ast-above-header-bar .ast-container, .ast-primary-header-bar .ast-builder-grid-row-container-inner { padding-left: var(--mb-gutter) !important; padding-right: var(--mb-gutter) !important; }
.ast-primary-header-bar { border-bottom: 1px solid var(--mb-line); }
.main-header-menu .menu-item > .menu-link, .main-header-menu > li > a, .ast-builder-menu .menu-item > a { font-size: 13px; font-weight: 400; letter-spacing: .04em; color: var(--mb-text); padding: 10px 11px !important; line-height: 20px; }
.main-header-menu .menu-item > .menu-link:hover { color: var(--mb-text); text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
.ast-desktop .main-header-menu > .current-menu-item > .menu-link, .ast-desktop .main-header-menu > .current_page_item > .menu-link, .ast-desktop .main-header-menu > .mb-current > .menu-link { background: none; border-radius: 0; font-weight: 400; padding: 10px 11px !important; margin: 0; text-decoration: underline; text-underline-offset: 6px; }
.ast-desktop .main-header-menu .sub-menu { border-radius: 0; box-shadow: 0 12px 30px rgba(0,0,0,.08); border: 1px solid var(--mb-line); }
.site-logo-img img, .ast-site-identity img { width: 128px; }
@media (max-width: 921px) { .site-logo-img img, .ast-site-identity img { width: 104px; } }
.site-header-primary-section-right .ast-header-search, .ast-header-search { display: flex !important; }
.ast-header-search .astra-search-icon, .ast-header-search .ast-search-menu-icon { color: var(--mb-text); }
.ast-site-header-cart .ast-cart-menu-wrap .count { background: var(--mb-text) !important; }
.ast-site-header-cart .ast-cart-menu-wrap { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%23141414' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M8 13h24l-2 22H10z'/%3E%3Cpath d='M14 13V10a6 6 0 0 1 12 0v3'/%3E%3C/svg%3E"); }
.ast-mobile-header-content, .ast-mobile-popup-drawer .ast-mobile-popup-inner { background: #fff !important; }
.ast-mobile-popup-drawer .menu-item > .menu-link { font-size: 15px; letter-spacing: .02em; padding: 14px 20px; border-bottom: 1px solid var(--mb-line); }

/* ---- Bands / layout ---- */
.mb-band { padding: var(--mb-section, 72px) var(--mb-gutter); color: var(--mb-text); }
.mb-band > * { max-width: var(--mb-max); }
.mb-band--flush { padding: 0; }
.mb-band--sand { background: var(--mb-sand); }
.mb-band--cream { background: #fff; }
.mb-band__head { margin: 0 0 32px; }
.mb-band__head .mb-band__title { text-align: left; margin: 0; }
.mb-band__head--row { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.mb-band__title, .mb-band h2.mb-band__title { font-size: 32px; font-weight: 400; line-height: 1.15; letter-spacing: -.005em; margin: 0 0 10px; text-align: left; }
.mb-band__sub { text-align: left; font-size: 15px; color: var(--mb-muted); margin: 0 0 28px; }
.mb-band + .mb-band--white, .mb-band--white + .mb-band--white { padding-top: 0; }
@media (max-width: 749px) { :root { --mb-gutter: 20px; } .mb-band { padding: calc(var(--mb-section, 72px) * .66) var(--mb-gutter); } .mb-band__title, .mb-band h2.mb-band__title { font-size: 26px; } .mb-band__head { margin-bottom: 22px; } }

/* ---- Home: hero with copy on the image ---- */
.mb-hero { position: relative; overflow: hidden; background: var(--mb-stone); }
.mb-hero img { display: block; width: 100%; height: auto; }
.mb-hero__copy { position: absolute; left: var(--mb-gutter); top: 9%; max-width: 520px; color: var(--mb-text); }
.mb-hero__copy .mb-eyebrow { color: rgba(20,20,20,.75); margin-bottom: 18px; }
.mb-hero__copy h1 { font-size: clamp(40px, 4.4vw, 64px); line-height: 1.05; margin: 0 0 18px; font-weight: 400; }
.mb-hero__sub { font-size: 15.5px; line-height: 1.55; max-width: 420px; margin: 0 0 26px; color: rgba(20,20,20,.85); }
.mb-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 22px; }
.mb-hero__rating { margin: 0; font-size: 12px; letter-spacing: .04em; color: rgba(20,20,20,.8); }
.mb-store-rating__stars { color: var(--mb-text); letter-spacing: 1px; }
@media (max-width: 921px) {
  .mb-hero__copy { position: static; max-width: none; padding: 32px var(--mb-gutter) 36px; background: #fff; }
  .mb-hero__copy h1 { font-size: 34px; }
}

/* ---- Home: category tiles ---- */
.mb-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.mb-tile { display: block; text-decoration: none; color: var(--mb-text); }
.mb-tile__media { display: block; aspect-ratio: 4 / 5; background: var(--mb-stone); overflow: hidden; border-radius: var(--mb-radius-card, 0); }
.mb-tile__media img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.mb-tile:hover .mb-tile__media img { transform: scale(1.04); }
.mb-tile__label { display: block; padding: 14px 0 0; font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }
.mb-tile__label small { display: block; margin-top: 4px; font-size: 13px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--mb-muted); }
@media (max-width: 749px) { .mb-tiles { grid-template-columns: repeat(2, 1fr); gap: 12px; } .mb-tile__label { font-size: 11px; padding-top: 10px; } .mb-tile__label small { font-size: 12px; } }

/* ---- Product cards (grid, home, related): stone tile, left-aligned copy, colour dots ---- */
.woocommerce ul.products, .mb-grid ul.products { gap: 16px 16px; }
.woocommerce ul.products li.product, .post-type-archive-product ul.products li.product, .tax-product_cat ul.products li.product, .wc-block-grid__product {
  background: transparent; border-radius: 0; box-shadow: none !important; padding: 0 0 8px; text-align: left; overflow: visible; transform: none !important;
}
.woocommerce ul.products li.product:hover { transform: none !important; box-shadow: none !important; }
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap, .woocommerce ul.products li.product .woocommerce-loop-product__link { display: block; position: relative; background: var(--mb-stone); overflow: hidden; border-radius: var(--mb-radius-card, 0); }
.woocommerce ul.products li.product a img { aspect-ratio: 1 / 1; object-fit: cover; width: 100%; height: auto; margin: 0; background: transparent; mix-blend-mode: multiply; transition: transform .6s cubic-bezier(.2,.7,.2,1); border-radius: 0; }
.woocommerce ul.products li.product:hover a img { transform: scale(1.035); }
.woocommerce ul.products li.product .astra-shop-summary-wrap { padding: 12px 0 0; text-align: left; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h2, .mb-grid ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--mb-font-body); font-size: 14px; font-weight: 500; line-height: 1.35; letter-spacing: 0; padding: 0 0 4px; text-align: left; color: var(--mb-text);
}
.woocommerce ul.products li.product .price, .mb-grid ul.products li.product .price { display: flex; justify-content: flex-start; align-items: baseline; gap: 6px; padding: 0; font-size: 13.5px; font-weight: 400; color: var(--mb-text); text-align: left; }
.woocommerce ul.products li.product .price ins { font-weight: 400; color: var(--mb-text); }
.woocommerce ul.products li.product .price del { font-size: 12.5px; opacity: 1; color: var(--mb-muted); margin: 0; }
.woocommerce ul.products li.product .price .from, .woocommerce ul.products li.product .price .mb-from { color: var(--mb-muted); }
.woocommerce ul.products li.product .star-rating { display: none; }
.mb-card-dots { display: flex; align-items: center; gap: 6px; padding: 0 0 8px; }
.mb-card-dot { width: 11px; height: 11px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0,0,0,.12); }
.mb-card-dots__more { font-size: 11px; color: var(--mb-muted); margin-left: 2px; }
.woocommerce ul.products li.product .mb-save-label { left: 12px; top: 12px; bottom: auto; padding: 6px 8px; background: #fff; color: var(--mb-text); font-size: 10px; font-weight: 500; letter-spacing: .14em; border-radius: 0; box-shadow: none; }
.woocommerce ul.products li.product .mb-save-label::before { display: none; }
.mb-grid ul.products li.product .woocommerce-loop-product__title { font-size: 14px; padding: 0 0 4px; }
@media (max-width: 749px) {
  .woocommerce ul.products, .mb-grid ul.products { gap: 22px 12px; }
  .mb-grid ul.products { display: grid !important; grid-template-columns: repeat(2, 1fr); overflow: visible; padding: 0; }
  .mb-grid ul.products li.product { flex: none; width: auto !important; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h2, .mb-grid ul.products li.product .woocommerce-loop-product__title { font-size: 13px; padding: 0 0 3px; }
  .woocommerce ul.products li.product .price, .mb-grid ul.products li.product .price { font-size: 12.5px; }
}

/* ---- Home: press, why, quotes, gift, newsletter ---- */
.mb-band--press { padding: 40px var(--mb-gutter); }
.mb-band--press .mb-eyebrow { text-align: center; margin-bottom: 18px; }
.mb-logo-list { gap: 18px 56px; padding: 0; }
.mb-logo-list img { height: 26px; max-height: 26px; filter: grayscale(1); opacity: .72; mix-blend-mode: multiply; }
.mb-why { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.mb-why__item { border-top: 1px solid var(--mb-line-strong); padding-top: 20px; }
.mb-why__num { display: block; font: 400 12px/1 var(--mb-font-body); letter-spacing: .14em; color: var(--mb-muted); margin: 0 0 40px; }
.mb-why__item h3 { font-family: var(--mb-font-head); font-size: 20px; font-weight: 400; margin: 0 0 10px; }
.mb-why__item p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--mb-muted); }
.mb-quotes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.mb-quote { margin: 0; background: var(--mb-sand); padding: 32px 28px 28px; display: flex; flex-direction: column; min-height: 240px; }
.mb-quote__stars { font-size: 13px; letter-spacing: 2px; margin: 0 0 16px; color: var(--mb-text); }
.mb-quote blockquote { margin: 0 0 22px; padding: 0; border: 0; font-family: var(--mb-font-head); font-size: 18px; line-height: 1.5; color: var(--mb-text); flex: 1; }
.mb-quote figcaption { font-size: 12px; letter-spacing: .04em; }
.mb-quote figcaption b { display: block; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; font-size: 11px; margin-bottom: 3px; }
.mb-quote figcaption span { color: var(--mb-muted); }
.mb-band--quotes .mb-band__cta { text-align: left; margin-top: 28px; }
.mb-reels { gap: 16px; }
.mb-reels video, .mb-reel video { border-radius: 0 !important; box-shadow: none; background: var(--mb-stone); }
.mb-yt { border-radius: 0; box-shadow: none; max-width: none; }
.mb-yt__play { width: 68px; height: 68px; margin: -34px 0 0 -34px; background: #fff; box-shadow: none; }
.mb-yt__play::after { left: 27px; top: 20px; border-width: 14px 0 14px 22px; }
.mb-gift { border-radius: 0; box-shadow: none; grid-template-columns: 1fr 1fr; background: var(--mb-sand); }
.mb-gift__media { background: var(--mb-sand); }
.mb-gift__text { background: transparent; padding: clamp(32px, 5vw, 72px); }
.mb-gift__text h2 { font-size: 32px; font-weight: 400; margin: 0 0 14px; }
.mb-gift__text p { font-size: 14.5px; line-height: 1.6; color: var(--mb-muted); margin: 0 0 24px; max-width: 420px; }
.mb-gift__text .mb-btn { margin: 0; }
.mb-band--newsletter { padding: var(--mb-section, 72px) var(--mb-gutter) calc(var(--mb-section, 72px) + 8px); border-top: 1px solid var(--mb-line); }
.mb-newsletter h2 { font-size: 30px; font-weight: 400; margin: 0 0 8px; }
.mb-newsletter p { font-weight: 400; font-size: 14.5px; color: var(--mb-muted); margin: 0 0 22px; }
.mb-newsletter form { flex-direction: row; gap: 0; max-width: 480px; }
.mb-newsletter input[type=email] { flex: 1; height: 50px; border: 1px solid var(--mb-text) !important; border-right: 0 !important; border-radius: 0 !important; font-size: 14px; padding: 0 16px; }
.mb-newsletter .button { width: auto; padding: 0 24px; }
@media (max-width: 921px) { .mb-why { grid-template-columns: repeat(2, 1fr); gap: 24px; } .mb-quotes { grid-template-columns: 1fr; } }
@media (max-width: 749px) {
  .mb-why { grid-template-columns: 1fr; gap: 20px; } .mb-why__num { margin-bottom: 18px; }
  .mb-gift { grid-template-columns: 1fr !important; } .mb-gift__text { padding: 28px 22px 32px; } .mb-gift__text h2 { font-size: 26px; }
  .mb-newsletter form { flex-direction: row; max-width: none; } .mb-newsletter .button { padding: 0 16px; }
  .mb-logo-list img { height: 22px; max-height: 22px; }
  .mb-reels > * { flex: 0 0 62%; width: 62%; }
}

/* ---- Collection pages ---- */
.woocommerce-products-header .woocommerce-products-header__title, .tax-product_cat h1.page-title, .post-type-archive-product h1.page-title { font-size: 34px; font-weight: 400; text-align: left; margin: 28px 0 6px; }
.woocommerce-products-header, .post-type-archive-product .woocommerce-products-header, .tax-product_cat .woocommerce-products-header { text-align: left; }
.mb-facets__head { border-bottom: 1px solid var(--mb-line); padding: 0 0 14px; margin-bottom: 28px; }
.mb-facets__toggle, .mb-facets__count, .mb-facets__label, .mb-facets__sort { font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--mb-text); }
.mb-facets__count { color: var(--mb-muted); }
.mb-facet summary { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.mb-facet__panel { border-radius: 0; box-shadow: 0 12px 30px rgba(0,0,0,.08); }
.mb-facets__sort select { text-transform: uppercase; letter-spacing: .08em; font-size: 11.5px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { font-size: 12px; letter-spacing: .1em; padding: 10px 12px; background: none; color: var(--mb-text); }
.woocommerce nav.woocommerce-pagination ul li span.current { text-decoration: underline; text-underline-offset: 5px; }

/* ---- PDP: sticky gallery on a stone tile, info column at 40% ---- */
@media (min-width: 922px) {
  .single-product .site-content .ast-container { max-width: var(--mb-max); padding-left: var(--mb-gutter); padding-right: var(--mb-gutter); }
  .single-product div.product { display: block; }
  .single-product .mb-pdp-top { display: flex; align-items: flex-start; margin: 0 0 24px; }
  .woocommerce.single-product div.product div.images, .single-product div.product .woocommerce-product-gallery { float: none; width: 58% !important; flex: 0 0 58%; position: sticky; top: 16px; margin: 0 0 24px; }
  .woocommerce.single-product div.product div.summary, .single-product div.product .summary.entry-summary { float: none; width: 42% !important; flex: 0 0 42%; padding-left: 64px; box-sizing: border-box; margin: 0 0 24px; }
  .single-product .mb-pdp-band--tight { float: none; clear: both; width: 100%; max-width: 760px; margin: 0 auto 8px; }
  .single-product div.product .woocommerce-product-gallery .flex-control-thumbs { margin: 0 !important; padding: 12px 0 0 !important; gap: 8px; }
  .single-product .woocommerce-product-gallery .flex-control-thumbs li { flex: 0 0 72px !important; width: 72px !important; height: 72px; }
  .single-product .woocommerce-product-gallery .flex-control-thumbs li img { width: 72px; height: 72px; border-radius: 0; }
  .mb-thumbs-nav { top: auto; bottom: 22px; width: 28px; height: 28px; border-radius: 0; border: 0; background: rgba(255,255,255,.92); box-shadow: none; }
  .mb-thumbs-nav--prev { left: 0; } .mb-thumbs-nav--next { right: 0; }
  .mb-thumbs-nav:hover:not([disabled]) { box-shadow: none; transform: none; background: #fff; }
  .mb-thumbs-nav[disabled] { display: none; }
}
.single-product div.product > span.onsale { display: none !important; }
.single-product .woocommerce-product-gallery__wrapper { background: var(--mb-stone); }
.single-product .woocommerce-product-gallery__image img, .single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img { mix-blend-mode: multiply; border-radius: 0; }
.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img.mb-trust-badge { mix-blend-mode: normal; }
.single-product .flex-control-thumbs li img { opacity: 1; border: 0; box-shadow: inset 0 -2px 0 transparent; background: var(--mb-stone); mix-blend-mode: multiply; }
.single-product .flex-control-thumbs li img.flex-active { border: 0; outline: 1px solid var(--mb-text); outline-offset: -1px; }
.single-product .woocommerce-product-gallery .mb-dots__dot { border-color: rgba(20,20,20,.35); }
.single-product .woocommerce-product-gallery .mb-dots__dot.is-active { background: var(--mb-text); border-color: var(--mb-text); }

/* PDP info column */
.single-product h1.product_title { font-size: 30px; line-height: 1.15; font-weight: 400; margin: 4px 0 10px; letter-spacing: -.005em; }
.mb-subtitle, .mb-subtitle strong { font-size: 11px; font-weight: 500 !important; letter-spacing: .16em; text-transform: uppercase; color: var(--mb-muted); }
.mb-subtitle { margin: 0 0 8px; }
.mb-rating, .mb-rating-line, .mb-rating-below { font-size: 12.5px; letter-spacing: .02em; }
.mb-rating__stars svg { fill: var(--mb-text); width: 13px; height: 13px; }
.mb-price { margin: 2px 0 18px; letter-spacing: 0; column-gap: 10px; }
.mb-price__sale { font-size: 17px; font-weight: 400; color: var(--mb-text); }
.mb-price__compare { font-size: 14px; font-weight: 400; color: var(--mb-muted); }
.mb-price__badge { height: auto; padding: 0; margin: 0; border: 0; background: none; color: var(--mb-accent); font-size: 11px; font-weight: 600; letter-spacing: .14em; line-height: 1; text-transform: uppercase; }
.mb-divider { background: var(--mb-line) !important; }
.mb-nbc-link span { background: var(--mb-sand); font-size: 11.5px; font-weight: 500; letter-spacing: .04em; }
.mb-checks li, .mb-checks li span { font-size: 14px; font-weight: 400; color: var(--mb-text); line-height: 1.45; }
.mb-checks li .mb-ic { width: 17px; height: 17px; flex-basis: 17px; margin-top: 2px; }
.mb-ic--filled circle { fill: var(--mb-text); }
.mb-promo { border: 1px solid var(--mb-text); color: var(--mb-text); font-size: 11px; letter-spacing: .14em; padding: 9px 12px; }
/* Pickers */
.mb-picker { margin: 18px 0 6px; }
.mb-picker__label { font-size: 11px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--mb-muted); margin: 0 0 10px; }
.mb-picker__label b, .mb-picker__label strong { color: var(--mb-text); font-weight: 500; }
.mb-swatches { gap: 10px; }
.mb-swatch, .mb-swatch:hover, .mb-swatch:focus { width: 30px; height: 30px; flex-basis: 30px; border-radius: 50%; border: 0; background: transparent; box-shadow: none; transform: none !important; }
.mb-swatch__color, .mb-swatch img { width: 100%; height: 100%; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0,0,0,.14); }
.mb-swatch.is-active { box-shadow: none; }
.mb-swatch.is-active::after { content: ''; position: absolute; inset: -5px; border: 1px solid var(--mb-text); border-radius: 50%; }
.mb-swatch:hover:not(.is-active)::after { content: ''; position: absolute; inset: -5px; border: 1px solid var(--mb-line); border-radius: 50%; }
.mb-pills { gap: 8px; }
.mb-pill, .mb-pill:hover, .mb-pill:focus { font-size: 11.5px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; padding: 12px 18px; margin: 0; border: 1px solid var(--mb-line); border-radius: 0; color: var(--mb-text); background: #fff; }
.mb-pill:hover:not(.is-active) { border-color: var(--mb-text); }
.mb-pill.is-active, .mb-pill.is-active:hover { background: var(--mb-text); color: #fff; border-color: var(--mb-text); }
/* Quantity options */
.mb-bundle { margin-top: 22px; gap: 10px; }
.mb-bundle__title { font-family: var(--mb-font-body); font-size: 11px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--mb-muted); margin: 0 0 12px; }
.mb-bundle__title::before, .mb-bundle__title::after { display: none; }
.mb-bundle__opt, .mb-bundle__opt.is-selected { border: 1px solid var(--mb-line); border-radius: 0; background: #fff; padding: 16px 16px 16px 0; margin: 0; box-shadow: none; }
.mb-bundle__opt.is-selected { border-color: var(--mb-text); background: var(--mb-sand); box-shadow: inset 0 0 0 1px var(--mb-text); }
.mb-bundle__opt:not(.is-selected):hover { border-color: var(--mb-text); }
.mb-bundle__radio { width: 14px; height: 14px; border: 1px solid rgba(20,20,20,.5); background: #fff; }
.mb-bundle__opt.is-selected .mb-bundle__radio { border: 4px solid var(--mb-text); background: #fff; box-shadow: none; }
.mb-bundle__main b, .mb-bundle__main { font-size: 14px; font-weight: 500; color: var(--mb-text); }
.mb-bundle__main small.mb-bundle__caption { font-size: 12px; color: var(--mb-muted); font-weight: 400; margin-top: 3px; }
.mb-bundle__benefit { border-color: var(--mb-text); color: var(--mb-text); border-radius: 0; font-size: 9.5px; letter-spacing: .12em; text-transform: uppercase; padding: 3px 7px; }
.mb-bundle__badge { background: var(--mb-text); color: #fff; font-size: 9.5px; letter-spacing: .14em; text-transform: uppercase; border-radius: 0; padding: 4px 9px; top: -11px; right: 14px; }
.mb-bundle__total { font-size: 14px; font-weight: 500; color: var(--mb-text); }
.mb-bundle__compare { font-size: 12.5px; color: var(--mb-muted); }
.mb-bundle__variants b { font-size: 12px; color: var(--mb-muted); }
.mb-bundle__variants select, .single-product form.cart .variations select, .mb-bundle__variants .mb-clone-select, .mb-deal__selects select.mb-deal__select, .mb-sticky-select {
  border: 1px solid var(--mb-line) !important; border-radius: 0 !important; background-color: #fff !important; height: 30px !important; line-height: 28px !important; font-size: 12px !important; font-weight: 400; color: var(--mb-text);
}
.mb-bundle__variants .mb-bundle__bagicon { display: none; }
/* Rows: gifts, add-ons */
.mb-toggle-row, .mb-toggle-row--plain { background: #fff; border: 1px solid var(--mb-line); border-radius: 0; box-shadow: none; padding: 12px; gap: 12px; margin: 8px 0; }
.mb-toggle-row img { width: 56px; height: 56px; flex-basis: 56px; border-radius: 0; background: var(--mb-stone); mix-blend-mode: multiply; object-fit: cover; }
.mb-toggle-row__name { font-family: var(--mb-font-body); font-size: 13.5px; font-weight: 500; line-height: 1.3; }
.mb-toggle-row__desc { font-size: 12px; color: var(--mb-muted); }
.mb-toggle-row__price { font-size: 13px; }
.mb-toggle-row__price ins { color: var(--mb-text); letter-spacing: 0; font-weight: 500; }
.mb-toggle-row__price del { font-size: 11.5px; color: var(--mb-muted); opacity: 1; }
.mb-switch { background: #d6d2cd; } .mb-switch.is-on { background: var(--mb-text); }
.mb-plus { border: 1px solid var(--mb-line); border-radius: 0; color: var(--mb-text); } .mb-plus.is-on { background: var(--mb-text); border-color: var(--mb-text); }
.mb-addons__title { font-family: var(--mb-font-body); font-size: 11px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--mb-muted); text-align: left; margin: 22px 0 8px; }
.mb-check-line { color: var(--mb-text); font-size: 12.5px; font-weight: 500; letter-spacing: .02em; }
.mb-check-line .mb-ic--filled circle { fill: var(--mb-accent); }
/* Add to cart + trust */
.single-product form.cart .single_add_to_cart_button, .woocommerce .single_add_to_cart_button { min-height: 54px; margin: 16px 0 12px; letter-spacing: .16em; }
.mb-afterpay { font-size: 12px; color: var(--mb-muted); margin: 4px 0 18px; }
.mb-trust-inline { gap: 8px 18px; margin: 4px 0 14px; }
.mb-trust-inline li { font-size: 11px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--mb-muted); }
.mb-trust-inline .mb-ic { width: 15px; height: 15px; flex-basis: 15px; color: var(--mb-text); }
.mb-testimonial { background: var(--mb-sand); color: var(--mb-text); border-radius: 0; padding: 16px 18px; margin: 18px 0; }
.mb-testimonial__quote { font-family: var(--mb-font-head); font-size: 15px; line-height: 1.45; }
.mb-testimonial__author { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; margin-top: 8px; }
.mb-icons { margin: 26px 0 8px; column-gap: 20px; }
.mb-icons svg { height: 30px; margin-bottom: 10px; }
.mb-icons__text { font-family: var(--mb-font-body); font-size: 11px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--mb-muted); }
.mb-delivery { margin: 22px 0; }
.mb-delivery__icon { background: #fff; box-shadow: none; border: 1px solid var(--mb-line); }
.mb-delivery__label { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.mb-delivery__date { font-size: 12px; color: var(--mb-muted); }
.mb-pay-row { margin: 8px 0 18px; opacity: .85; }
.mb-subtitle-box { background: var(--mb-sand) !important; box-shadow: none !important; border-radius: 0; font-size: 14px; }
.mb-info-image img { max-width: 200px; }
/* Accordions (under the gallery + FAQ) */
.mb-acc-group { border-top: 1px solid var(--mb-text); }
.mb-acc { border-bottom: 1px solid var(--mb-line); }
.mb-acc summary { padding: 18px 0; min-height: 0; }
.mb-acc summary .mb-acc__title, .mb-faq .mb-acc summary .mb-acc__title { font-family: var(--mb-font-body); font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--mb-text); }
.mb-acc__icon::before { border-color: var(--mb-text); }
.mb-acc__body, .mb-faq .mb-acc__body { font-size: 14px; line-height: 1.65; color: var(--mb-text); padding: 0 0 22px; }
.mb-acc__body p, .mb-acc__body li { color: #3a3835; }
.mb-faq .mb-acc summary::before { display: none; }
.mb-faq .mb-acc__body { padding-left: 0; }
.mb-faq .mb-acc summary:hover .mb-acc__title { color: var(--mb-accent); }
/* Long-form bands */
.mb-pdp-band { padding: var(--mb-section, 72px) 0; }
.mb-pdp-band + .mb-pdp-band { padding-top: 0; }
.mb-pdp-band .mb-band__title, .mb-faq .mb-band__title, .mb-cmp-wrap .mb-band__title, section.mb-pdp-band:has(> .mb-iconbar) > .mb-band__title, .mb-results__title, .mb-pdp-band.mb-iwt .mb-iwt__text h2 {
  font-family: var(--mb-font-head); font-size: 32px; font-weight: 400; line-height: 1.15; letter-spacing: -.005em; color: var(--mb-text); margin: 0 0 32px; text-align: center;
}
.mb-band__title strong, .mb-faq .mb-band__title strong, .mb-pdp-band .mb-iwt__text h2 strong { color: var(--mb-text); font-weight: 400; font-style: italic; }
.mb-wave { display: none; }
.mb-pdp-band.mb-iwt { margin: 0 calc(50% - 50vw) var(--mb-section, 72px); background: var(--mb-sand); min-height: 560px; }
.mb-pdp-band.mb-iwt.mb-iwt--flip { background: #fff; }
.mb-iwt--flip .mb-iwt__media { order: 2; }
.mb-pdp-band.mb-iwt .mb-iwt__media { align-self: stretch; }
.mb-pdp-band.mb-iwt .mb-iwt__media img, .mb-pdp-band.mb-iwt .mb-iwt__media video { height: 100%; min-height: 560px; }
.mb-pdp-band.mb-iwt .mb-iwt__text { padding: 64px; }
.mb-iwt__inner { max-width: 460px; margin: 0 auto; }
.mb-pdp-band.mb-iwt .mb-iwt__caption { font: 500 11px/1.4 var(--mb-font-body); letter-spacing: .16em; text-transform: uppercase; color: var(--mb-muted); margin: 0 0 16px; }
.mb-pdp-band.mb-iwt .mb-iwt__text h2 { text-align: left; margin: 0 0 18px; }
.mb-pdp-band.mb-iwt .mb-iwt__text p:last-child { font-size: 15px; line-height: 1.65; color: #3a3835; font-weight: 400; }
.mb-iconbar { grid-template-columns: repeat(4, 1fr); gap: 24px; justify-content: stretch; }
.mb-iconbar__item { background: transparent; border: 0; border-top: 1px solid var(--mb-text); border-radius: 0; box-shadow: none; padding: 22px 0 0; text-align: left; transition: none; }
.mb-iconbar__item:hover { transform: none; }
.mb-iconbar__item img { width: 34px; height: 34px; margin: 0 0 16px; opacity: .9; }
.mb-iconbar__item p { font-size: 14px; line-height: 1.5; color: var(--mb-text); }
.mb-pdp-band.mb-cmp-wrap { column-gap: 64px; }
.mb-cmp-wrap .mb-band__title { text-align: left; margin: 0 0 8px; }
.mb-cmp-wrap .mb-band__sub { text-align: left; font-size: 15px; color: var(--mb-muted); }
.mb-cmp { width: 100%; font-family: var(--mb-font-body); }
.mb-cmp th { font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--mb-muted); height: auto; padding: 0 12px 12px; }
.mb-cmp th.mb-cmp__hl { color: var(--mb-text); }
.mb-cmp td { height: 52px; padding: 12px 16px; background: #fff; border-bottom: 1px solid var(--mb-line); font-size: 14px; color: var(--mb-text); }
.mb-cmp td:first-child { background: #fff; color: var(--mb-text); font-size: 14px; font-weight: 500; text-align: left; padding-left: 0; width: auto; }
.mb-cmp td.mb-cmp__hl { background: var(--mb-sand); }
.mb-cmp tbody tr:first-child td { border-top: 1px solid var(--mb-text); }
.mb-cmp tbody tr td { border-radius: 0 !important; box-shadow: none !important; }
.mb-cmp .mb-cmp__yes { color: var(--mb-text); } .mb-cmp .mb-cmp__no { color: #b9b4ae; }
.mb-results__title { text-align: left; width: 760px; }
.mb-results__grid { width: 760px; }
.mb-result { border-color: var(--mb-line); padding: 14px 0; }
.mb-result:first-child { border-top-color: var(--mb-text); }
.mb-result__fg { stroke: var(--mb-accent); stroke-width: 5; } .mb-result__bg { stroke: var(--mb-line); stroke-width: 5; }
.mb-result__ring span { font-family: var(--mb-font-head); font-weight: 400; font-size: 17px; color: var(--mb-text); }
.mb-result p { font-size: 14.5px; color: var(--mb-text); }
.mb-deals { column-gap: 56px; }
.mb-deals__img img { border-radius: 0; background: var(--mb-stone); mix-blend-mode: multiply; }
.mb-deals__plus { color: var(--mb-muted); }
.mb-deal__title { font-family: var(--mb-font-body); font-size: 14.5px; font-weight: 500; }
.mb-deal__price { font-size: 14px; color: var(--mb-text); }
.mb-deal__price ins { color: var(--mb-text); font-weight: 500; }
.mb-deal__price del { font-size: 12.5px; color: var(--mb-muted); opacity: 1; }
.mb-deals__total { border-top: 1px solid var(--mb-text); font-size: 14px; }
.mb-deals__total b { font-family: var(--mb-font-body); font-size: 18px; font-weight: 500; color: var(--mb-text); }
.mb-deals__btn, a.button.mb-deals__btn { line-height: 1 !important; min-height: 52px; }
.mb-faq .mb-acc-group { width: 760px; }
.mb-logo-list.mb-logo-list--airlines img { height: 44px !important; max-height: 44px !important; opacity: .75 !important; }
.mb-testis { gap: 16px; }
.mb-testi { border-radius: 0; box-shadow: none; background: var(--mb-sand); }
.mb-testi h3 { font-size: 17px; }
.mb-testi p { font-size: 14px; color: #3a3835; } .mb-testi cite { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; opacity: 1; color: var(--mb-muted); }
.mb-banner img, .mb-slides img { border-radius: 0; }
.mb-rich p { font-size: 15.5px; line-height: 1.65; color: #3a3835; }
.mb-reel__play { background-color: #fff !important; box-shadow: none; }
/* Reviews: number + stars summary, cards in a 3-column grid */
.mb-reviews { border-top: 1px solid var(--mb-text); padding-top: 56px !important; }
.mb-rev-summary { display: flex; flex-direction: column; align-items: center; gap: 6px; margin: 0 auto 36px; text-align: center; }
.mb-rev-summary__avg { font-family: var(--mb-font-head); font-size: 56px; line-height: 1; letter-spacing: -.01em; }
.mb-rev-summary__stars { font-size: 16px; letter-spacing: 3px; }
.mb-jstar { color: #d9d5d0; padding: 0; } .mb-jstar.is-on { color: var(--mb-text); }
.mb-rev-summary__text { display: block; font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--mb-muted); }
.mb-rev-hist { display: none; }
.mb-reviews #comments { max-width: none; }
.mb-reviews .commentlist { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.mb-reviews .commentlist li.review { border: 0; padding: 26px 24px 24px; background: var(--mb-sand); margin: 0; }
.mb-reviews .commentlist li.review .comment_container { display: block; }
.mb-rev__icon { display: none; }
.mb-reviews .comment-text { padding-right: 0; position: static; }
.mb-reviews .review-rating { float: none; margin: 0 0 12px; }
.mb-reviews .star-rating { color: var(--mb-text) !important; font-size: 12px; letter-spacing: 2px; }
.mb-reviews .star-rating::before { color: #d9d5d0; }
.mb-reviews .description { font-size: 14.5px; font-weight: 400; line-height: 1.55; color: var(--mb-text); }
.mb-reviews .description p { margin: 0 0 10px; }
.mb-reviews p.meta { order: 3; margin: 14px 0 0; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.mb-reviews p.meta .woocommerce-review__author { font-weight: 600; }
.mb-reviews p.meta time { position: static; display: block; margin: 4px 0 0; font-size: 11px; letter-spacing: .06em; text-transform: none; color: var(--mb-muted); opacity: 1; }
.mb-reviews .comment-text { display: flex; flex-direction: column; }
.mb-reviews .comment-text .review-rating { order: 0; } .mb-reviews .comment-text .description { order: 1; } .mb-reviews .comment-text .mb-rev__pics { order: 2; }
.mb-rev__pic { border-radius: 0; box-shadow: none; width: 72px; height: 72px; }
.mb-reviews .woocommerce-pagination, .mb-reviews .commentlist + nav { margin-top: 24px; }
/* Sticky add-to-cart bar */
.mb-sticky-atc { background: #fff; box-shadow: none; border-top: 1px solid var(--mb-line); }
.mb-sticky-atc img { border-radius: 0; background: var(--mb-stone); mix-blend-mode: multiply; }
@media (min-width: 922px) {
  body.mb-sticky-visible .mb-sticky-atc { padding: 10px var(--mb-gutter); min-height: 68px; }
  .mb-sticky-atc img { width: 44px; height: 48px; flex-basis: 44px; }
  .mb-sticky-atc .mb-sticky-title { font-family: var(--mb-font-body); font-size: 13.5px; font-weight: 500; }
  .mb-sticky-atc .mb-sticky-price { font-size: 13px; font-weight: 400; }
  .mb-sticky-atc .button { min-height: 46px; padding: 0 26px !important; font-size: 12px !important; }
}
.mb-sticky-select { width: 200px; height: 36px !important; padding: 0 30px 0 12px; }
.mb-sticky-atc .mb-sticky-button, .mb-sticky-atc a.button.mb-sticky-button { background: var(--mb-accent) !important; }
#ast-scroll-top, .ast-scroll-top-icon { border-radius: 0 !important; box-shadow: none !important; border: 1px solid var(--mb-line); background: #fff !important; color: var(--mb-text) !important; }
@media (max-width: 921px) {
  .single-product h1.product_title { font-size: 26px; }
  .single-product .woocommerce-product-gallery { margin-bottom: 20px; }
  .mb-pdp-band { padding: calc(var(--mb-section, 72px) * .66) 0; }
  .mb-pdp-band.mb-iwt { min-height: 0; margin-bottom: calc(var(--mb-section, 72px) * .66); }
  .mb-pdp-band.mb-iwt .mb-iwt__media img, .mb-pdp-band.mb-iwt .mb-iwt__media video { min-height: 0; }
  .mb-pdp-band.mb-iwt .mb-iwt__text { padding: 32px var(--mb-gutter) 40px; }
  .mb-iwt--flip .mb-iwt__media { order: 0; }
  .mb-pdp-band .mb-band__title, .mb-faq .mb-band__title, .mb-cmp-wrap .mb-band__title, section.mb-pdp-band:has(> .mb-iconbar) > .mb-band__title, .mb-results__title, .mb-pdp-band.mb-iwt .mb-iwt__text h2 { font-size: 26px; margin-bottom: 22px; }
  .mb-iconbar { grid-template-columns: repeat(2, 1fr); gap: 18px; }
  .mb-pdp-band.mb-cmp-wrap { grid-template-columns: 1fr; row-gap: 20px; }
  .mb-cmp-wrap .mb-cmp-scroll { grid-column: 1; grid-row: auto; }
  .mb-reviews .commentlist { grid-template-columns: 1fr; }
  .mb-reviews .commentlist li.review { padding: 20px 18px; }
  .mb-rev-summary__avg { font-size: 44px; }
  .mb-results__title, .mb-results__grid { width: 100%; }
  .mb-deals { grid-template-columns: 1fr; }
  .mb-deals__img { flex: 0 0 28%; width: 28%; } .mb-deals__img img { width: 100%; height: auto; }
  .mb-deals__list { width: 100%; }
}

/* ---- Footer: white, four columns, hairlines ---- */
.site-footer, .ast-footer-row, .site-footer .ast-builder-grid-row-container { background: #fff !important; }
.site-footer { border-top: 1px solid var(--mb-text); }
.site-footer .site-primary-footer-wrap .ast-builder-grid-row-container-inner { padding-top: 56px; padding-bottom: 40px; }
.site-footer h2, .site-footer .mb-foot__title { font-family: var(--mb-font-body); font-size: 11px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--mb-muted); margin: 0 0 18px; }
.mb-foot__story h4 { font-family: var(--mb-font-head); font-size: 20px; font-weight: 400; line-height: 1.3; margin: 0 0 14px; }
.mb-foot__story p { font-size: 14px; line-height: 1.6; color: #3a3835; }
.mb-foot__links li { margin: 0 0 10px; }
.mb-foot__links a, .site-footer a { font-size: 13.5px; color: var(--mb-text); text-decoration: none; }
.site-footer a:hover { color: var(--mb-accent); text-decoration: underline; text-underline-offset: 4px; }
.site-footer .site-below-footer-wrap .ast-footer-copyright { border-top: 1px solid var(--mb-line); padding: 24px 0 28px; }
.mb-foot__copy, .mb-foot__policies, .ast-footer-copyright { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--mb-muted); }
.mb-foot__policies a { color: var(--mb-muted); }
.mb-foot__pay { gap: 8px; margin: 0 0 18px; opacity: .8; }
.mb-foot__pay svg { border-radius: 0; }
.ast-footer-social-wrap .ast-builder-social-element, .site-footer .ast-builder-social-element svg { color: var(--mb-text); fill: var(--mb-text); }

/* ---- Forms, cart, checkout, account ---- */
input[type=text], input[type=email], input[type=tel], input[type=number], input[type=password], select, textarea, .select2-container .select2-selection--single,
.wpcf7 input:not([type=submit]), .wpcf7 textarea, .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .track_order input.input-text, form.wc-block-components-form input {
  border: 1px solid var(--mb-line) !important; border-radius: 0 !important; background: #fff; color: var(--mb-text); font-size: 14px; padding: 10px 14px; box-shadow: none !important;
}
input:focus, select:focus, textarea:focus, .woocommerce form .form-row input.input-text:focus, .wpcf7 input:not([type=submit]):focus, .wpcf7 textarea:focus, .track_order input.input-text:focus { border-color: var(--mb-text) !important; box-shadow: none !important; outline: 0; }
.wpcf7 label, .track_order label, .woocommerce form .form-row label { font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--mb-muted); }
a:focus-visible, button:focus-visible, .mb-swatch:focus-visible, .mb-pill:focus-visible, select:focus-visible, input:focus-visible { outline: 1px solid var(--mb-text); outline-offset: 3px; }
.woocommerce table.shop_table { border: 0; border-top: 1px solid var(--mb-text); border-radius: 0; }
.woocommerce table.shop_table th { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--mb-muted); font-weight: 500; }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-color: var(--mb-line); }
.woocommerce-cart .cart-collaterals .cart_totals h2, .woocommerce-checkout h3 { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; font-family: var(--mb-font-body); font-weight: 500; color: var(--mb-muted); }
.woocommerce-info, .woocommerce-message, .woocommerce-error { border-top: 0; border-left: 2px solid var(--mb-text); background: var(--mb-sand); color: var(--mb-text); border-radius: 0; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--mb-text); }
.mb-gift-bar { background: var(--mb-sand); border: 0; border-radius: 0; font-size: 13px; }
.mb-gift-bar__track { border-radius: 0; background: #fff; } .mb-gift-bar__fill { background: var(--mb-text); border-radius: 0; }
.mb-protect, .woocommerce-cart .mb-protect { background: var(--mb-sand); border-radius: 0; box-shadow: none; }
.mb-protect__switch { background: #d6d2cd; } .mb-protect__cb:checked + .mb-protect__switch { background: var(--mb-text); }
.mb-upsell img { border-radius: 0; background: var(--mb-stone); mix-blend-mode: multiply; }
.mb-upsell__btn, .mb-upsell-card__btn { background: var(--mb-text); border-radius: 0; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; padding: 9px 12px; }
.mb-upsells__title { font-family: var(--mb-font-body); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--mb-muted); }
.fkcart-panel .fkcart-checkout-btn, .fkcart-checkout-button { background: var(--mb-accent) !important; border-radius: 0 !important; text-transform: uppercase; letter-spacing: .14em; font-size: 12.5px !important; }
#fkcart-modal .fkcart-modal-header, .fkcart-modal-header h2 { font-family: var(--mb-font-body); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
.fkcart-progress-bar .fkcart-progress-fill, .fkcart-shipping-bar__fill { background: var(--mb-text) !important; }
.mb-gift-tag, .mb-gift-tag--addon { background: var(--mb-text); border-radius: 0; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.mb-gift-price { color: var(--mb-text); }
.error404 .ast-404-layout-1 .page-title { font-size: 34px; font-weight: 400; }
.mb-404-cta .button { border-radius: 0; line-height: 1; }
.entry-content h1, .entry-content h2, .entry-content h3 { font-weight: 400; }
.single-post .entry-title, .page .entry-title { font-size: 34px; font-weight: 400; }

/* v10.1: H1 short name + tagline, top row wrapper */
.single-product h1.product_title .mb-tagline { display: block; margin-top: 8px; font-family: var(--mb-font-body); font-size: 14px; line-height: 1.5; letter-spacing: 0; color: var(--mb-muted); }
@media (max-width: 921px) { .single-product .mb-pdp-top { display: block; } }

/* v10.2: split hero (copy | image), card summary order, footer columns, tiles */
@media (min-width: 922px) {
  .mb-hero { display: grid; grid-template-columns: 5fr 7fr; align-items: stretch; background: var(--mb-sand); }
  .mb-hero img { order: 2; width: 100%; height: 100%; min-height: 560px; max-height: 720px; object-fit: cover; }
  .mb-hero__copy { position: static; order: 1; align-self: center; max-width: 520px; padding: 64px var(--mb-gutter) 64px; }
}
.mb-tile, .mb-tile__label, .mb-tile__label small, .woocommerce ul.products li.product a, .woocommerce ul.products li.product .woocommerce-loop-product__title a, .mb-quotes a, .mb-why a { text-decoration: none !important; }
.woocommerce ul.products li.product .astra-shop-summary-wrap { display: flex; flex-direction: column; align-items: flex-start; }
.woocommerce ul.products li.product .astra-shop-summary-wrap .mb-card-dots { order: -1; padding: 0 0 8px; }
.woocommerce ul.products li.product .astra-shop-summary-wrap .woocommerce-loop-product__title { order: 0; }
.woocommerce ul.products li.product .astra-shop-summary-wrap .price { order: 1; }
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap .mb-card-dots { display: none; }
.site-footer .ast-footer-html-1, .site-footer .ast-footer-html-2, .site-footer .ast-header-html, .site-footer .ast-footer-html-inner-wrap { text-align: left !important; }
.site-footer .ast-builder-grid-row-container.ast-builder-grid-row-2-equal .ast-builder-grid-row { grid-template-columns: 5fr 7fr; column-gap: 64px; }
.mb-foot__story { max-width: 380px !important; }
.mb-foot__story .mb-eyebrow { margin-bottom: 16px; }
.mb-foot__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.mb-foot__cols .mb-foot__links li { margin: 0 0 9px; }
@media (max-width: 921px) {
  .site-footer .ast-builder-grid-row-container.ast-builder-grid-row-2-equal .ast-builder-grid-row { grid-template-columns: 1fr; row-gap: 40px; }
  .mb-foot__cols { grid-template-columns: 1fr 1fr; gap: 24px; }
}
.site-footer .site-below-footer-wrap .ast-footer-social-wrap { padding: 0 0 22px; }
.site-footer .site-below-footer-wrap .ast-builder-grid-row { flex-direction: row; justify-content: space-between; align-items: center; flex-wrap: wrap; }
.site-footer .site-below-footer-wrap .ast-footer-copyright { width: 100%; }
.mb-foot__bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.mb-foot__bottom .mb-foot__pay { margin: 0; }
/* v10.3: footer bottom row spans the full width; no Astra sale badge anywhere on the product page */
.site-footer .site-below-footer-wrap .ast-builder-grid-row { display: flex !important; flex-direction: column; grid-template-columns: 1fr !important; }
.site-footer .site-below-footer-wrap .site-footer-below-section-1, .site-footer .site-below-footer-wrap .ast-builder-footer-grid-columns { width: 100%; grid-column: 1 / -1; display: flex; flex-direction: column; align-items: stretch; }
.site-footer .site-below-footer-wrap .ast-footer-social-wrap { justify-content: flex-start; padding: 0 0 22px; }
.single-product span.onsale, .single-product .ast-onsale-card { display: none !important; }
/* v10.4: mobile multi-bag rows - WooCommerce's own selects in row #1 must not size to their longest option */
@media (max-width: 749px) {
  .mb-bundle__row-slot { display: flex; flex: 1 1 100%; gap: 6px; min-width: 0; }
  .mb-bundle__row-slot table.variations td { flex: 1 1 0; min-width: 0; }
  .mb-bundle__row-slot table.variations select, .mb-bundle__variants table.variations select, .mb-bundle__row-slot .mb-clone-select { width: 100% !important; max-width: 100%; min-width: 0; text-overflow: ellipsis; }
  .mb-bundle__row-slot .mb-clone-select { flex: 1 1 0; }
}
@media (max-width: 749px) {
  .single-product form.cart .mb-bundle__row-slot table.variations select, .single-product form.cart .mb-bundle__variants table.variations select { width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
  .mb-bundle__variants--multi { padding-right: 12px; }
}
/* v10.5: audit fixes - minimum 10px labels, empty info containers collapse, media slots never show a white hole */
.mb-bundle__benefit, .mb-bundle__badge { font-size: 10px; }
.mb-info:empty { display: none; }
.mb-iwt__media, .mb-pdp-band.mb-iwt .mb-iwt__media { background: var(--mb-stone); }
.mb-reel, .mb-reels video { background: var(--mb-stone); }
/* v10.6: template family polish - slideshow grid, logos wrap on phones, testimonials centred, 3-up icon bars/reels, trust strip, gift-card form */
.mb-slides { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; overflow: visible; padding: 0; }
.mb-slides img { flex: none; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
@media (max-width: 749px) { .mb-slides { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; } .mb-slides::-webkit-scrollbar { display: none; } .mb-slides img { flex: 0 0 82%; width: 82%; } }
@media (max-width: 749px) {
  .mb-logo-list, .mb-pdp-band .mb-logo-list { flex-wrap: wrap; overflow: visible; justify-content: center; gap: 16px 22px; padding: 4px 0; scroll-snap-type: none; }
  .mb-logo-list img { flex: 0 0 auto !important; width: auto !important; max-width: 30% !important; height: 20px !important; max-height: 20px !important; padding: 0 !important; }
  .mb-logo-list.mb-logo-list--airlines img { height: 30px !important; max-height: 30px !important; max-width: 40% !important; }
}
.mb-testis { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
.mb-testi { flex: 0 1 calc(33.333% - 11px); min-width: 0; }
@media (max-width: 921px) { .mb-testi { flex-basis: calc(50% - 8px); } }
@media (max-width: 749px) { .mb-testi { flex-basis: 100%; } }
.mb-iconbar:has(> :nth-child(6):last-child), .mb-iconbar:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, 1fr); }
.mb-reels--slider:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, 1fr); }
.mb-reels--slider:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, 1fr); max-width: 760px; margin: 0 auto; }
@media (max-width: 921px) { .mb-iconbar:has(> :nth-child(6):last-child), .mb-iconbar:has(> :nth-child(3):last-child) { grid-template-columns: repeat(2, 1fr); } }
.mb-trust-strip { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 0; padding: 0; }
.mb-trust-strip li { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 28px 16px; background: var(--mb-sand); }
.mb-trust-strip svg { width: 28px; height: 28px; fill: none; stroke: var(--mb-text); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; margin-bottom: 6px; }
.mb-trust-strip b { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.mb-trust-strip span { font-size: 13px; color: var(--mb-muted); }
@media (max-width: 749px) { .mb-trust-strip { grid-template-columns: 1fr 1fr; gap: 10px; } .mb-trust-strip li { padding: 20px 10px; } }
.mb-promo { display: none !important; }
/* PW gift card form: label as eyebrow, full-width controls */
.single-product form.cart .pwgc-label, .single-product form.cart label[for="pwgc-amount"] { display: block; font-size: 11px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--mb-muted); margin: 0 0 8px; }
.single-product form.cart #pwgc-amount, .single-product form.cart select.pwgc-amount, .single-product form.cart #pwgc-purchase-container select, .single-product form.cart .pwgc-input-text, .single-product form.cart #pwgc-purchase-container textarea { width: 100% !important; max-width: 100%; height: 48px; min-height: 48px; border: 1px solid var(--mb-line) !important; border-radius: 0 !important; padding: 0 14px; font-size: 14px; background: #fff; }
.single-product form.cart #pwgc-purchase-container textarea { height: auto; padding: 12px 14px; }
.single-product form.cart .pwgc-field-container { margin: 0 0 14px; }
.single-product form.cart .single_add_to_cart_button[disabled], .single-product form.cart .single_add_to_cart_button.disabled { opacity: .45; cursor: not-allowed; }

/* ==== v11: Customizer-driven design (Appearance → Customize → MegaBag design) + product page CTA focus ==== */
.mb-quote, .mb-trust-strip li, .mb-reviews .commentlist li.review, .mb-testi, .mb-bundle__opt, .mb-toggle-row, .mb-gift, .single-product .woocommerce-product-gallery__wrapper, .mb-iwt__media { border-radius: var(--mb-radius-card, 0); }
.mb-bundle__opt, .mb-bundle__opt.is-selected, .mb-toggle-row, .mb-toggle-row--plain, .mb-pill, .mb-pill:hover, .mb-pill:focus,
input[type=text], input[type=email], input[type=tel], input[type=number], input[type=password], select, textarea { border-radius: var(--mb-radius-btn, 0) !important; }
/* heading scale */
body.mb-h-small h1.product_title { font-size: 26px; } body.mb-h-small .mb-band__title, body.mb-h-small .mb-band h2.mb-band__title, body.mb-h-small .mb-pdp-band .mb-band__title, body.mb-h-small .mb-faq .mb-band__title, body.mb-h-small .mb-results__title, body.mb-h-small .mb-pdp-band.mb-iwt .mb-iwt__text h2, body.mb-h-small .mb-gift__text h2, body.mb-h-small .mb-newsletter h2 { font-size: 26px; } body.mb-h-small .mb-hero__copy h1 { font-size: clamp(34px, 3.6vw, 52px); }
body.mb-h-large h1.product_title { font-size: 36px; } body.mb-h-large .mb-band__title, body.mb-h-large .mb-band h2.mb-band__title, body.mb-h-large .mb-pdp-band .mb-band__title, body.mb-h-large .mb-faq .mb-band__title, body.mb-h-large .mb-results__title, body.mb-h-large .mb-pdp-band.mb-iwt .mb-iwt__text h2, body.mb-h-large .mb-gift__text h2, body.mb-h-large .mb-newsletter h2 { font-size: 40px; } body.mb-h-large .mb-hero__copy h1 { font-size: clamp(46px, 5.2vw, 76px); }
@media (max-width: 749px) { body.mb-h-large .mb-band__title, body.mb-h-large .mb-pdp-band .mb-band__title, body.mb-h-large .mb-pdp-band.mb-iwt .mb-iwt__text h2 { font-size: 30px; } body.mb-h-large h1.product_title { font-size: 30px; } }
/* labels without uppercase */
body.mb-no-upper .mb-eyebrow, body.mb-no-upper .mb-subtitle, body.mb-no-upper .mb-picker__label, body.mb-no-upper .mb-bundle__title, body.mb-no-upper .mb-addons__title, body.mb-no-upper .mb-acc summary .mb-acc__title, body.mb-no-upper .mb-faq .mb-acc summary .mb-acc__title, body.mb-no-upper .mb-tile__label, body.mb-no-upper .mb-link, body.mb-no-upper .mb-pill, body.mb-no-upper .mb-trust-inline li, body.mb-no-upper .mb-icons__text, body.mb-no-upper .mb-trust-strip b, body.mb-no-upper .site-footer h2, body.mb-no-upper .mb-rev-summary__text, body.mb-no-upper .mb-reviews p.meta, body.mb-no-upper .mb-quote figcaption b, body.mb-no-upper .mb-why__num { text-transform: none !important; letter-spacing: .02em !important; }
/* product page: one call to action - no payment-method rows or instalment messaging above the fold (they stay in the cart and checkout) */
.single-product .summary .mb-pay-row, .single-product .summary .mb-afterpay, .single-product .summary afterpay-placement, .single-product .summary .mb-pay { display: none !important; }

/* v11.1 - mobile: Astra's scroll-to-top button collided with the Add to cart button / sticky bar on product pages. */
@media (max-width: 768px) {
	.single-product #ast-scroll-top { display: none !important; }
}

/* ==================================================================
 * v11.2 (8.9) - product page + cart polish from Daniel's list
 * ================================================================== */
/* 1. Buttons slightly rounded (buttons only; cards and media keep the Customizer value). */
.woocommerce #respond input#submit, .woocommerce button.button, .woocommerce a.button, .woocommerce .single_add_to_cart_button, .single-product form.cart .single_add_to_cart_button, .single-product form.cart button.single_add_to_cart_button, .woocommerce button.button.alt, .mb-btn, .mb-sticky-atc .button, .wc-block-components-button, .wp-element-button, .mb-deals__btn, .mb-upsell__btn, .mb-upsell-card__btn, .pwgc-redeem-button, .fkcart-checkout-btn, #fkcart-checkout-button, .mb-newsletter-form button, .wpcf7-submit { border-top-left-radius: 4px !important; border-top-right-radius: 4px !important; border-bottom-left-radius: 4px !important; border-bottom-right-radius: 4px !important; }
/* 2. Links in copy: brand burgundy, never browser blue. */
.single-product .summary a:not(.button):not(.mb-swatch):not(.mb-pill):not(.mb-nbc-link), .mb-acc__body a, .mb-pdp-band a:not(.button):not(.mb-deals__img):not(.mb-tile), .entry-content a:not(.button):not(.mb-btn), .mb-reviews a, .wc-block-components-product-name, .wc-block-components-totals-coupon-link, .wc-block-checkout__terms a, .wc-block-components-checkout-return-to-cart-button, .wc-block-cart__empty-cart__title + a, .woocommerce-info a, .woocommerce-message a, .fkcart-item-title a, .mb-gift-bar a { color: var(--mb-accent, #6e1e1e) !important; }
/* 3. Add-to-cart area: tighter rhythm. */
.single-product .mb-bundle { margin-top: 14px; gap: 8px; }
.single-product .mb-bundle__opt { margin: 0; padding: 14px 16px 14px 40px; }
.single-product .mb-toggle-row { margin: 6px 0; padding: 9px 10px; }
.single-product .mb-addons__title { margin: 14px 0 6px; }
.single-product .mb-icons { margin: 16px 0 4px; }
.single-product form.cart .single_add_to_cart_button, .woocommerce .single_add_to_cart_button { margin: 10px 0 8px; }
.single-product .mb-info--after { margin-top: 4px; }
/* 4. Bigger add-to-cart label. */
.single-product form.cart .single_add_to_cart_button, .woocommerce .single_add_to_cart_button { font-size: 15px !important; letter-spacing: .12em; font-weight: 600; min-height: 54px; }
.mb-sticky-atc .button { font-size: 13px !important; letter-spacing: .1em; font-weight: 600; }
/* 5. Bundle rows: a real thumbnail of the chosen colour next to #1 / #2. */
.mb-bundle__variants .mb-bundle__bagicon { display: block; width: 40px; height: 40px; object-fit: cover; border-radius: 3px; background: var(--mb-stone, #efece7); flex: 0 0 40px; }
.mb-bundle__row { align-items: center; gap: 10px; }
/* 6. "As seen in" logos: transparent (multiply), one height, centred. */
.mb-logo-list { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 22px 44px; padding: 10px 12px; }
.mb-logo-list img { height: 30px; max-height: 30px; width: auto; max-width: 150px; object-fit: contain; mix-blend-mode: multiply; filter: grayscale(1) contrast(1.05); opacity: .85; border-radius: 0; background: transparent; }
/* 7. Airline logos: an aligned grid, same height, transparent. */
.mb-logo-list.mb-logo-list--airlines { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 28px 20px; justify-items: center; align-items: center; max-width: 1100px; margin: 0 auto; padding: 16px 12px; }
.mb-logo-list.mb-logo-list--airlines img { height: 32px !important; max-height: 32px !important; max-width: 140px; opacity: .85 !important; filter: grayscale(1) brightness(1.14) contrast(1.2); mix-blend-mode: multiply; }
@media (max-width: 749px) {
	.mb-logo-list { gap: 16px 24px; }
	.mb-logo-list img { height: 22px; max-height: 22px; max-width: 110px; }
	.mb-logo-list.mb-logo-list--airlines { grid-template-columns: repeat(3, 1fr); gap: 18px 12px; }
	.mb-logo-list.mb-logo-list--airlines img { height: 22px !important; max-height: 22px !important; max-width: 96px; }
}
/* 8. "Our Customers Say" rating rings: centred, aligned grid. */
.mb-results__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 24px 16px; justify-items: center; align-items: start; max-width: 960px; margin: 0 auto; }
.mb-result { text-align: center; width: 100%; }
.mb-result__ring { margin: 0 auto; }
.mb-result p { margin: 10px auto 0; max-width: 210px; }
.mb-rev-summary { align-items: center; text-align: center; }
/* 9. Reviews: photo-first cards, 6 per page, tidy pagination (mobile: 2 columns instead of one long list). */
.mb-reviews .commentlist { grid-template-columns: repeat(3, 1fr); gap: 16px; align-items: stretch; }
.mb-reviews .commentlist li.review { display: flex; flex-direction: column; }
.mb-rev__pics { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0; }
.mb-rev__pic { width: 88px; height: 88px; object-fit: cover; }
.mb-reviews .woocommerce-pagination { margin-top: 28px; text-align: center; }
.mb-reviews .woocommerce-pagination ul, .mb-reviews nav.woocommerce-pagination ul { display: inline-flex; justify-content: center; gap: 6px; list-style: none; padding: 0; margin: 0; border: 0; }
.mb-reviews .woocommerce-pagination li { border: 0; }
.mb-reviews .page-numbers { display: inline-block; padding: 9px 13px; border: 1px solid var(--mb-text, #2d2d2d); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--mb-text, #2d2d2d) !important; text-decoration: none; }
.mb-reviews .page-numbers.current { background: var(--mb-text, #2d2d2d); color: #fff !important; }
@media (max-width: 749px) {
	.mb-reviews .commentlist { grid-template-columns: 1fr 1fr; gap: 10px; }
	.mb-reviews .commentlist li.review { padding: 14px; }
	.mb-reviews .description { font-size: 13px; }
	.mb-rev__pic { width: 64px; height: 64px; }
}
/* 10. Change colour / edition from the cart (drawer + cart page). */
.mb-swap { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0 4px; }
.mb-swap__select { -webkit-appearance: none; appearance: none; height: 28px; padding: 0 24px 0 8px; border: 1px solid rgba(45,45,45,.35); border-radius: 3px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%232d2d2d' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat right 8px center; font: 12px/26px var(--mb-font-body, Helvetica, Arial, sans-serif); color: var(--mb-text, #2d2d2d); max-width: 100%; }
.mb-swap.is-busy { opacity: .5; pointer-events: none; }
.wc-block-cart-items .mb-swap { margin: 8px 0 0; }
.fkcart-item-meta .mb-swap + .fkcart-item-meta-content dl, .mb-swap ~ .fkcart-item-meta-content .variation { display: none; }
/* 11. Cart page: original price, discount and final price per line; protection toggle. */
.wc-block-cart-items__row .wc-block-components-product-price__regular, .wc-block-components-order-summary-item__individual-prices del { color: var(--mb-muted, #6f6a64); }
.wc-block-cart-items__row .wc-block-components-sale-badge, .wc-block-components-order-summary-item .wc-block-components-sale-badge { background: var(--mb-sand, #f3efe8); color: var(--mb-accent, #6e1e1e); border: 0; border-radius: 2px; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.woocommerce-cart .mb-protect { margin: 0 0 18px; }
.mb-cart-upsells { margin: 28px 0 0; padding-top: 24px; border-top: 1px solid rgba(45,45,45,.12); }
/* 12. Gift card at checkout: a code field with a small "Apply" link-button, clearly separate from the coupon. */
.pwgc-redeem-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 8px 0 0; }
.pwgc-redeem-form::before { content: 'Gift card'; flex: 0 0 100%; font-size: 11px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--mb-muted, #6f6a64); }
.pwgc-redeem-form .pwgc-redeem-gift-card-number, .pwgc-redeem-form input[type=text] { flex: 1 1 160px; min-height: 40px; border: 1px solid rgba(45,45,45,.35) !important; border-radius: 3px !important; padding: 0 12px; font-size: 13px; }
.pwgc-redeem-form .pwgc-redeem-button, .pwgc-redeem-form button { flex: 0 0 auto; min-height: 40px !important; padding: 0 14px !important; background: transparent !important; color: var(--mb-text, #2d2d2d) !important; border: 1px solid var(--mb-text, #2d2d2d) !important; font-size: 11px !important; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; width: auto !important; }
.pwgc-redeem-form .pwgc-redeem-button:hover { background: var(--mb-text, #2d2d2d) !important; color: #fff !important; }
.pwgc-redeem-error { flex: 0 0 100%; color: #b32d2e; font-size: 12px; }
/* v11.2b - gift card redeem form at checkout (PW Gift Cards block) + drawer: hide the duplicate variation text under the swap selects */
#pwgc-redeem-gift-card-container { margin: 18px 0 0; padding: 16px 0 0; border-top: 1px solid rgba(45,45,45,.12); }
#pwgc-redeem-gift-card-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
#pwgc-redeem-gift-card-form label, #pwgc-redeem-gift-card-container > label, #pwgc-redeem-gift-card-container h3, #pwgc-redeem-gift-card-container p:first-child { flex: 0 0 100%; margin: 0 0 4px; font-size: 11px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--mb-muted, #6f6a64); }
#pwgc-redeem-gift-card-form input[type=text], #pwgc-redeem-gift-card-form input:not([type=submit]):not([type=button]) { flex: 1 1 160px; width: auto; min-height: 40px; border: 1px solid rgba(45,45,45,.35) !important; border-radius: 3px !important; padding: 0 12px; font-size: 13px; background: #fff; box-shadow: none; }
#pwgc-redeem-gift-card-form button, #pwgc-redeem-gift-card-form input[type=submit], #pwgc-redeem-gift-card-form input[type=button], #pwgc-redeem-gift-card-form .button, #pwgc-redeem-gift-card-form .wp-element-button { flex: 0 0 auto; width: auto !important; min-height: 40px !important; padding: 0 14px !important; margin: 0 !important; background: transparent !important; color: var(--mb-text, #2d2d2d) !important; border: 1px solid var(--mb-text, #2d2d2d) !important; font-size: 11px !important; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; box-shadow: none !important; }
#pwgc-redeem-gift-card-form button:hover, #pwgc-redeem-gift-card-form input[type=submit]:hover { background: var(--mb-text, #2d2d2d) !important; color: #fff !important; }
.fkcart-item-title-price .mb-swap + .fkcart-item-meta-content { display: none; }
/* v11.2c - sold-out colour / edition: struck swatch, muted pill, "(Sold out)" in the dropdowns (data from WooCommerce stock) */
.mb-swatch.is-soldout { position: relative; opacity: .45; }
.mb-swatch.is-soldout::after { content: ''; position: absolute; left: 50%; top: 50%; width: 140%; height: 1.5px; background: var(--mb-text, #2d2d2d); transform: translate(-50%, -50%) rotate(-45deg); pointer-events: none; }
.mb-pill.is-soldout { opacity: .45; text-decoration: line-through; }
/* v11.3 - no marketing popups where people are paying: Omnisend forms stay off the cart and checkout pages. */
.woocommerce-checkout [id^="omnisend-form"], .woocommerce-cart [id^="omnisend-form"], .woocommerce-checkout [class*="omnisend-form"], .woocommerce-cart [class*="omnisend-form"], .woocommerce-checkout .omnisend-form-container, .woocommerce-cart .omnisend-form-container { display: none !important; }
/* v11.4 - mobile checkout polish (Daniel's iPhone screenshot 8.9): aligned edges, no dead gap under the title, summary as a card, bigger Place order. */
@media (max-width: 782px) {
	.woocommerce-checkout .wp-block-woocommerce-checkout, .woocommerce-cart .wp-block-woocommerce-cart { padding: 0 4px; margin-top: 0; }
	.woocommerce-checkout .entry-header, .woocommerce-checkout h1.entry-title, .woocommerce-checkout .ast-container h1:first-of-type, .woocommerce-cart h1.entry-title { margin: 0 0 6px; padding-left: 4px; font-size: 26px; }
	.woocommerce-checkout .wc-block-components-sidebar-layout, .woocommerce-checkout .wc-block-checkout { margin-top: 0; }
	.wc-block-checkout.is-mobile .wc-block-checkout__sidebar, .wc-block-checkout.is-small .wc-block-checkout__sidebar { margin: 0 0 6px; padding: 0; width: 100%; }
	.wc-block-checkout.is-mobile .wc-block-components-order-summary, .wc-block-checkout.is-small .wc-block-components-order-summary, .wc-block-checkout.is-mobile .wp-block-woocommerce-checkout-order-summary-block, .wc-block-checkout.is-small .wp-block-woocommerce-checkout-order-summary-block { background: var(--mb-sand, #f3efe8); padding: 2px 14px; border-radius: 4px; border: 0; }
	.wc-block-checkout.is-mobile .wc-block-components-order-summary .wc-block-components-panel__button, .wc-block-checkout.is-small .wc-block-components-order-summary .wc-block-components-panel__button { padding: 12px 0; }
	.wc-block-components-express-payment { margin-top: 16px; }
	.wc-block-components-express-payment__title-container { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
	.wc-block-components-checkout-step__title { font-size: 18px; margin-bottom: 10px; }
	.wc-block-components-checkout-step { margin-bottom: 20px; }
	.wc-block-components-checkout-step__description { font-size: 12px; }
	.wc-block-components-checkout-place-order-button { font-size: 14px !important; min-height: 54px; width: 100%; letter-spacing: .12em; }
	.wc-block-checkout__actions { margin-top: 8px; }
}
/* v11.4b - mobile checkout: align the block with the page title, taller Place order */
@media (max-width: 782px) {
	.woocommerce-checkout .wp-block-woocommerce-checkout, .woocommerce-cart .wp-block-woocommerce-cart { padding: 0 20px; }
	.woocommerce-checkout h1.entry-title, .woocommerce-checkout .ast-container h1:first-of-type, .woocommerce-cart h1.entry-title { padding-left: 0; }
	.wc-block-components-checkout-place-order-button { height: 54px !important; min-height: 54px !important; padding: 0 20px !important; }
}
/* ==================================================================
 * v11.5 - checkout: one calm system (Daniel, 8.9). White sections with hairline dividers,
 * hairline cards for express / summary / payment (no heavy black frames), sand side column on
 * desktop like a classic Shopify checkout, identical proportions on mobile.
 * ================================================================== */
.woocommerce-checkout .wp-block-woocommerce-checkout { max-width: 1140px; margin: 0 auto; }
.woocommerce-checkout h1.entry-title, .woocommerce-checkout .ast-container h1:first-of-type { font-size: 30px; margin: 8px 0 18px; }
/* sections */
.wc-block-components-checkout-step { padding: 0 0 24px; margin: 0 0 24px; border-bottom: 1px solid rgba(45,45,45,.1); background: transparent; }
.wc-block-components-checkout-step:last-of-type, .wc-block-checkout__payment-method { border-bottom: 0; }
.wc-block-components-checkout-step__title { font-size: 19px; font-weight: 400; margin: 0 0 12px; }
.wc-block-components-checkout-step__description { color: var(--mb-muted, #6f6a64); font-size: 13px; }
/* express checkout card */
.wc-block-components-express-payment.wc-block-components-express-payment--checkout { border: 1px solid rgba(45,45,45,.16) !important; border-radius: 4px; background: #fff; }
.wc-block-components-express-payment__title-container { font-family: var(--mb-font-body, Helvetica, Arial, sans-serif); }
.wc-block-components-express-payment__title { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--mb-muted, #6f6a64); font-family: inherit; }
.wc-block-components-express-payment-continue-rule { color: var(--mb-muted, #6f6a64); font-size: 13px; }
/* inputs: one border colour and radius everywhere */
.wc-block-components-text-input input, .wc-block-components-text-input textarea, .wc-block-components-combobox .components-combobox-control__input, .wc-block-components-select .components-custom-select-control__button, .wc-block-components-country-input select, .wc-block-components-form .wc-block-components-checkbox .wc-block-components-checkbox__input { border-color: rgba(45,45,45,.28) !important; border-radius: 4px !important; box-shadow: none !important; }
.wc-block-components-text-input.is-active input, .wc-block-components-text-input input:focus { border-color: var(--mb-text, #2d2d2d) !important; }
/* payment methods: hairline frame, selected = dark hairline, never a heavy black box */
.wc-block-checkout__payment-method .wc-block-components-radio-control, .wc-block-checkout__payment-method .wc-block-components-radio-control--highlight-checked { border: 1px solid rgba(45,45,45,.16) !important; border-radius: 4px; box-shadow: none !important; overflow: hidden; background: #fff; }
.wc-block-components-radio-control-accordion-option, .wc-block-components-radio-control__option, .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted, .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; }
.wc-block-components-radio-control-accordion-option + .wc-block-components-radio-control-accordion-option, .wc-block-components-radio-control__option + .wc-block-components-radio-control__option { border-top: 1px solid rgba(45,45,45,.1) !important; }
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted, .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted { background: var(--mb-sand, #f3efe8) !important; }
.wc-block-components-radio-control-accordion-content { background: #fff; }
.wc-block-components-radio-control__input:checked { border-color: var(--mb-text, #2d2d2d) !important; background: var(--mb-text, #2d2d2d) !important; }
/* shipping options: same hairline card */
.wc-block-components-shipping-rates-control .wc-block-components-radio-control { border: 1px solid rgba(45,45,45,.16) !important; border-radius: 4px; }
/* order summary + totals */
.wp-block-woocommerce-checkout-order-summary-block { background: transparent; }
.wc-block-components-order-summary-item__description .wc-block-components-product-name { font-size: 12px; letter-spacing: .06em; }
.wc-block-components-totals-item { font-size: 14px; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label, .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-family: var(--mb-font-head, Georgia, serif); font-size: 22px; font-weight: 400; }
.wc-block-components-totals-coupon-link, .wc-block-components-panel__button { font-size: 13px; }
/* place order */
.wc-block-components-checkout-place-order-button { font-size: 14px !important; letter-spacing: .12em; font-weight: 600; }
/* terms line */
.wc-block-checkout__terms { font-size: 12px; color: var(--mb-muted, #6f6a64); }
/* desktop: side column in sand, sticky, same width feel as a classic checkout */
@media (min-width: 783px) {
	.wc-block-checkout.is-large .wc-block-checkout__main, .wc-block-checkout.is-medium .wc-block-checkout__main { padding-right: 48px; }
	.wc-block-checkout.is-large .wc-block-checkout__sidebar, .wc-block-checkout.is-medium .wc-block-checkout__sidebar { background: var(--mb-sand, #f3efe8); padding: 26px 26px 22px !important; border-radius: 4px; top: 24px; }
	.wc-block-checkout__sidebar .wc-block-components-totals-wrapper { border-color: rgba(45,45,45,.1); }
	.wc-block-checkout__sidebar #pwgc-redeem-gift-card-container { border-top-color: rgba(45,45,45,.12); }
	.wc-block-checkout__sidebar #pwgc-redeem-gift-card-form input[type=text] { background: #fff; }
}
/* mobile: both summary panels (top, and the one WooCommerce repeats above Place order) are white hairline cards */
@media (max-width: 782px) {
	.wc-block-checkout.is-mobile .wp-block-woocommerce-checkout-order-summary-block, .wc-block-checkout.is-small .wp-block-woocommerce-checkout-order-summary-block, .wc-block-checkout.is-mobile .wc-block-components-order-summary, .wc-block-checkout.is-small .wc-block-components-order-summary { background: #fff !important; }
	.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block { border: 1px solid rgba(45,45,45,.16); border-radius: 4px; padding: 0 14px; }
	.wc-block-checkout__actions .wp-block-woocommerce-checkout-order-summary-block, .checkout-order-summary-block-fill-wrapper { border: 1px solid rgba(45,45,45,.16); border-radius: 4px; padding: 6px 14px; margin: 0 0 14px; background: #fff; }
	.checkout-order-summary-block-fill-wrapper .wc-block-components-totals-wrapper { border-color: rgba(45,45,45,.1); }
	.wc-block-components-checkout-step { padding-bottom: 20px; margin-bottom: 20px; }
	.wc-block-components-checkout-step__title { font-size: 18px; }
}
/* v11.5b - checkout details: round radios with a dot (not black squares), breathing room between the top summary card and Express Checkout */
.wc-block-components-radio-control__input { border-radius: 50% !important; width: 20px !important; height: 20px !important; border: 1px solid rgba(45,45,45,.45) !important; background: #fff !important; box-shadow: none !important; }
.wc-block-components-radio-control__input:checked { border-color: var(--mb-text, #2d2d2d) !important; background: #fff !important; }
.wc-block-components-radio-control__input:checked::before { background: var(--mb-text, #2d2d2d) !important; border-radius: 50% !important; width: 10px !important; height: 10px !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input { border-radius: 3px !important; }
@media (max-width: 782px) {
	.wc-block-checkout.is-mobile .wc-block-checkout__sidebar, .wc-block-checkout.is-small .wc-block-checkout__sidebar { margin: 0 0 16px; }
	.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block { border: 1px solid rgba(45,45,45,.16) !important; border-radius: 4px; padding: 0 14px; background: #fff; }
	.wc-block-checkout__sidebar .wc-block-components-order-summary .wc-block-components-panel__button { padding: 12px 0; }
	.wc-block-checkout__sidebar .wc-block-components-totals-wrapper { border-top: 0; }
	.wc-block-components-express-payment.wc-block-components-express-payment--checkout { margin-top: 18px; }
}
/* v11.5c - radios: WooCommerce/Astra win on specificity, so be explicit */
html body .wc-block-checkout .wc-block-components-radio-control input.wc-block-components-radio-control__input[type=radio], html body .wc-block-checkout input.wc-block-components-radio-control__input[type=radio] { -webkit-appearance: none !important; appearance: none !important; width: 20px !important; height: 20px !important; min-width: 20px !important; border-radius: 50% !important; border: 1px solid rgba(45,45,45,.45) !important; background: #fff !important; box-shadow: none !important; margin: 0 !important; position: absolute !important; left: 16px !important; top: 50% !important; transform: translateY(-50%) !important; }
html body .wc-block-checkout input.wc-block-components-radio-control__input[type=radio]:checked { border-color: var(--mb-text, #2d2d2d) !important; background: #fff !important; }
html body .wc-block-checkout input.wc-block-components-radio-control__input[type=radio]:checked::before { content: ''; position: absolute; left: 50%; top: 50%; width: 10px !important; height: 10px !important; margin: -5px 0 0 -5px; border-radius: 50% !important; background: var(--mb-text, #2d2d2d) !important; transform: none !important; }
/* v11.5d - keep the radio on the same line as its label (WooCommerce positions it absolutely inside the padded option) */
html body .wc-block-checkout .wc-block-components-radio-control__option, html body .wc-block-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option { position: relative; padding-left: 52px !important; }
html body .wc-block-checkout .wc-block-components-radio-control-accordion-option { position: relative; }
/* v11.6 - mobile checkout: no second "Order summary" above Place order. What stays there is one collapsible line,
 * "Gift card or discount code", that opens the coupon field and the gift-card field together. (Daniel, 8.9) */
@media (max-width: 782px) {
	.checkout-order-summary-block-fill-wrapper .wc-block-components-checkout-order-summary__title, .checkout-order-summary-block-fill-wrapper .wc-block-components-order-summary, .checkout-order-summary-block-fill-wrapper .wp-block-woocommerce-checkout-order-summary-cart-items-block, .checkout-order-summary-block-fill-wrapper .wp-block-woocommerce-checkout-order-summary-subtotal-block, .checkout-order-summary-block-fill-wrapper .wp-block-woocommerce-checkout-order-summary-fee-block, .checkout-order-summary-block-fill-wrapper .wp-block-woocommerce-checkout-order-summary-discount-block, .checkout-order-summary-block-fill-wrapper .wp-block-woocommerce-checkout-order-summary-shipping-block, .checkout-order-summary-block-fill-wrapper .wp-block-woocommerce-checkout-order-summary-taxes-block, .checkout-order-summary-block-fill-wrapper .wp-block-woocommerce-checkout-order-summary-totals-block, .checkout-order-summary-block-fill-wrapper .wc-block-components-totals-footer-item, .checkout-order-summary-block-fill-wrapper .wc-block-components-order-summary-item { display: none !important; }
	.checkout-order-summary-block-fill-wrapper { padding: 0 14px !important; margin: 0 0 14px !important; }
	.checkout-order-summary-block-fill-wrapper .wc-block-components-totals-wrapper { border: 0; padding: 0; }
	/* the coupon panel becomes the single "Gift card or discount code" line */
	.checkout-order-summary-block-fill-wrapper .wc-block-components-panel__button { font-size: 0 !important; padding: 14px 0 !important; }
	.checkout-order-summary-block-fill-wrapper .wc-block-components-panel__button::before { content: 'Gift card or discount code'; font-size: 13px; letter-spacing: .02em; }
	.checkout-order-summary-block-fill-wrapper .wc-block-components-panel__button svg { width: 18px; height: 18px; }
	/* gift card field shows only when that line is opened */
	.checkout-order-summary-block-fill-wrapper #pwgc-redeem-gift-card-container { display: none; margin: 0 0 14px !important; padding: 0 !important; border: 0 !important; }
	.checkout-order-summary-block-fill-wrapper:has(.wc-block-components-panel__button[aria-expanded="true"]) #pwgc-redeem-gift-card-container { display: block; }
	.checkout-order-summary-block-fill-wrapper #pwgc-redeem-gift-card-form label { display: none; }
	.checkout-order-summary-block-fill-wrapper .wc-block-components-totals-coupon { padding-bottom: 6px; }
}
/* v11.6b - the bottom line: no "Order summary" heading above it; both Apply buttons in the same small outline style */
@media (max-width: 782px) {
	.checkout-order-summary-block-fill-wrapper h2, .checkout-order-summary-block-fill-wrapper .wc-block-components-title, .checkout-order-summary-block-fill-wrapper .wc-block-components-checkout-step__title { display: none !important; }
	.checkout-order-summary-block-fill-wrapper .wc-block-components-totals-coupon__button, .checkout-order-summary-block-fill-wrapper .wc-block-components-totals-coupon button { background: transparent !important; color: var(--mb-text, #2d2d2d) !important; border: 1px solid var(--mb-text, #2d2d2d) !important; font-size: 11px !important; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; min-height: 40px !important; height: 40px !important; padding: 0 14px !important; box-shadow: none !important; }
	.checkout-order-summary-block-fill-wrapper .wc-block-components-totals-coupon__input input { min-height: 40px; height: 40px; }
	.checkout-order-summary-block-fill-wrapper #pwgc-redeem-gift-card-container { margin-top: 10px !important; }
}
/* v11.7 - checkout (Daniel, 8.9): full-width on phones, ONE thin frame around the summary card and the Express box
 * (no inner lines, no legend lines through the border), and a centred full-width "Pay now" button. */
@media (max-width: 782px) {
	.woocommerce-checkout .wp-block-woocommerce-checkout, .woocommerce-cart .wp-block-woocommerce-cart { padding: 0 10px !important; }
	.woocommerce-checkout h1.entry-title, .woocommerce-checkout .ast-container h1:first-of-type, .woocommerce-cart h1.entry-title { padding-left: 10px; }
	.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block { padding: 2px 14px !important; }
}
/* summary card: the outer frame is the only line; inner separators only when the card is opened */
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper, .wc-block-checkout__sidebar .wc-block-components-order-summary, .wc-block-checkout__sidebar .wc-block-components-panel, .wc-block-checkout__sidebar .wc-block-components-order-summary__content, .wc-block-checkout__sidebar .wc-block-components-panel__content, .wc-block-checkout__sidebar .wc-block-components-panel__button { border: 0 !important; box-shadow: none !important; }
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper::before, .wc-block-checkout__sidebar .wc-block-components-totals-wrapper::after, .wc-block-checkout__sidebar .wc-block-components-order-summary::before, .wc-block-checkout__sidebar .wc-block-components-order-summary::after { display: none !important; content: none !important; }
.wc-block-checkout__sidebar .wc-block-components-order-summary__content .wc-block-components-order-summary-item { border-top: 1px solid rgba(45,45,45,.08); }
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper + .wc-block-components-totals-wrapper { border-top: 1px solid rgba(45,45,45,.1) !important; }
/* express box: one frame, the title sits inside as plain text */
.wc-block-components-express-payment.wc-block-components-express-payment--checkout { padding-top: 8px; }
.wc-block-components-express-payment__title-container { position: static !important; margin: 4px 0 4px !important; padding: 0 !important; text-align: center; background: transparent !important; }
.wc-block-components-express-payment__title-container::before, .wc-block-components-express-payment__title-container::after { display: none !important; content: none !important; border: 0 !important; }
.wc-block-components-express-payment__title { background: transparent !important; padding: 0 !important; margin: 0 !important; }
.wc-block-components-express-payment__content { padding-top: 6px; }
/* Pay now: full width and centred, everywhere */
.wc-block-checkout__actions_row { display: flex; justify-content: center; }
.wc-block-components-checkout-place-order-button { width: 100% !important; max-width: 100% !important; margin: 0 auto !important; display: flex !important; align-items: center; justify-content: center; text-align: center; }
.wc-block-components-checkout-place-order-button .wc-block-components-button__text { text-align: center; width: 100%; }
/* v11.7b - the last lines: no border on the summary title row; Express title centred inside its box; Pay now text centred */
html body .wc-block-checkout .wc-block-components-checkout-order-summary__title { border: 0 !important; box-shadow: none !important; }
html body .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title { padding: 12px 0 !important; }
html body .wc-block-components-express-payment__title-container { display: flex !important; justify-content: center !important; align-items: center; }
html body .wc-block-checkout .wc-block-components-checkout-place-order-button { display: flex !important; justify-content: center !important; align-items: center !important; }
html body .wc-block-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text { flex: 0 1 auto !important; width: auto !important; text-align: center !important; margin: 0 !important; }
html body .wc-block-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__prefix, html body .wc-block-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__suffix { margin: 0 6px !important; }

/* ==================================================================
 * v12 - checkout modelled 1:1 on beistravel.com (Daniel, 8.9). Our express buttons and the
 * currency choice stay; the page title goes. Tokens measured on their page: system sans 14px,
 * inputs 49px / radius 12 / #dedede, sections 20px bold uppercase, grey summary bar #f6f6f6,
 * beige side column #ebd9c8 with #dfdfdf border, black "Pay now" 50px / radius 12.
 * ================================================================== */
body.woocommerce-checkout { --ck-line: #dedede; --ck-grey: #f6f6f6; --ck-side: #ebd9c8; --ck-muted: rgba(0,0,0,.56); }
body.woocommerce-checkout .wp-block-woocommerce-checkout, body.woocommerce-checkout .wc-block-checkout, body.woocommerce-checkout .ck-policies { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color: #000; font-size: 14px; }
/* page chrome: logo + bag only, hairline under the header, no announcement bar, no menu, no site footer, no page title */
body.woocommerce-checkout .mb-announcement, body.woocommerce-checkout .ast-above-header-bar, body.woocommerce-checkout .ast-above-header-wrap, body.woocommerce-checkout .ast-mobile-header-navigation, body.woocommerce-checkout .ast-builder-menu-mobile, body.woocommerce-checkout .ast-mobile-menu-trigger-minimal, body.woocommerce-checkout .ast-button-wrap, body.woocommerce-checkout .main-header-menu, body.woocommerce-checkout .ast-builder-menu-1, body.woocommerce-checkout .ast-header-search, body.woocommerce-checkout .ast-header-account, body.woocommerce-checkout #colophon, body.woocommerce-checkout .site-footer, body.woocommerce-checkout h1.entry-title, body.woocommerce-checkout .entry-header, body.woocommerce-checkout #ast-scroll-top { display: none !important; }
body.woocommerce-checkout #masthead, body.woocommerce-checkout .site-header { border-bottom: 1px solid #dfdfdf; }
body.woocommerce-checkout .ast-container { padding-left: 12px; padding-right: 12px; }
body.woocommerce-checkout .wp-block-woocommerce-checkout { max-width: 1100px; margin: 0 auto; padding: 0 !important; }
/* sections */
body.woocommerce-checkout .wc-block-components-checkout-step { border: 0 !important; padding: 0 !important; margin: 0 0 32px !important; background: transparent; }
body.woocommerce-checkout .wc-block-components-checkout-step__title, body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text, body.woocommerce-checkout .wc-block-components-title { font-family: inherit !important; font-size: 18px !important; line-height: 1.2; font-weight: 700 !important; text-transform: uppercase; letter-spacing: -.01em; color: #000; margin: 0 0 12px !important; }
body.woocommerce-checkout .wc-block-components-checkout-step__description { font-size: 14px; color: var(--ck-muted); margin: -6px 0 12px; }
body.woocommerce-checkout .wc-block-components-checkout-step__container > p, body.woocommerce-checkout .wc-block-checkout__guest-message { display: none !important; } /* "You are currently checking out as a guest." */
/* inputs: 49px, radius 12, #dedede, floating label */
body.woocommerce-checkout .wc-block-components-text-input input, body.woocommerce-checkout .wc-block-components-text-input textarea, body.woocommerce-checkout .wc-block-components-combobox .components-combobox-control__input, body.woocommerce-checkout .wc-block-components-select .components-custom-select-control__button, body.woocommerce-checkout .wc-block-components-country-input select, body.woocommerce-checkout .wc-block-components-state-input select, body.woocommerce-checkout .wc-block-components-totals-coupon__input input, body.woocommerce-checkout #pwgc-redeem-gift-card-form input[type=text] { height: 49px !important; min-height: 49px !important; border: 1px solid var(--ck-line) !important; border-radius: 12px !important; background: #fff !important; font-size: 14px !important; color: #000 !important; box-shadow: none !important; padding-left: 12px !important; }
body.woocommerce-checkout .wc-block-components-text-input.is-active input, body.woocommerce-checkout .wc-block-components-text-input input:focus, body.woocommerce-checkout .wc-block-components-combobox.is-active .components-combobox-control__input { border-color: #000 !important; box-shadow: inset 0 0 0 1px #000 !important; }
body.woocommerce-checkout .wc-block-components-text-input label, body.woocommerce-checkout .wc-block-components-combobox label, body.woocommerce-checkout .wc-block-components-select label, body.woocommerce-checkout .wc-block-components-country-input label, body.woocommerce-checkout .wc-block-components-state-input label { font-size: 14px !important; color: var(--ck-muted); left: 12px; }
body.woocommerce-checkout .wc-block-components-text-input, body.woocommerce-checkout .wc-block-components-combobox, body.woocommerce-checkout .wc-block-components-select, body.woocommerce-checkout .wc-block-components-country-input, body.woocommerce-checkout .wc-block-components-state-input { margin-top: 10px; }
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-address-form__first_name, body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-address-form__last_name { margin-top: 10px; }
/* checkboxes: 18px, radius 6, black when checked */
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input { width: 18px !important; height: 18px !important; min-width: 18px; border: 1px solid var(--ck-line) !important; border-radius: 6px !important; background: #fff; }
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input:checked { background: #000 !important; border-color: #000 !important; }
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__mark { color: #fff; }
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__label { font-size: 14px; }
/* express: no frame, small centred label, two-column grid, "OR" */
body.woocommerce-checkout .wc-block-components-express-payment.wc-block-components-express-payment--checkout { border: 0 !important; padding: 0 !important; margin: 20px 0 0; background: transparent; }
body.woocommerce-checkout .wc-block-components-express-payment__title-container { margin: 0 0 12px !important; }
body.woocommerce-checkout .wc-block-components-express-payment__title { font-size: 14px !important; font-weight: 400; letter-spacing: 0 !important; text-transform: none !important; color: var(--ck-muted); }
body.woocommerce-checkout .wc-block-components-express-payment__event-buttons { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px; padding: 0; margin: 0; }
body.woocommerce-checkout .wc-block-components-express-payment__event-buttons > li { margin: 0 !important; width: auto !important; padding: 0 !important; }
body.woocommerce-checkout .wc-block-components-express-payment__event-buttons > li:only-child, body.woocommerce-checkout .wc-block-components-express-payment__event-buttons > li:nth-child(odd):last-child { grid-column: 1 / -1; }
body.woocommerce-checkout .wc-block-components-express-payment__event-buttons > li > *, body.woocommerce-checkout .wc-block-components-express-payment__event-buttons .paypal-buttons { border-radius: 8px; overflow: hidden; }
body.woocommerce-checkout .wc-block-components-express-payment-continue-rule { font-size: 14px; color: var(--ck-muted); text-transform: uppercase; margin: 16px 0 18px; }
body.woocommerce-checkout .wc-block-components-express-payment-continue-rule::before, body.woocommerce-checkout .wc-block-components-express-payment-continue-rule::after { border-color: var(--ck-line) !important; }
/* shipping options + payment: one 12px-radius frame, selected row on grey */
body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control, body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control, body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control--highlight-checked { border: 1px solid var(--ck-line) !important; border-radius: 12px !important; overflow: hidden; background: #fff; }
body.woocommerce-checkout .wc-block-components-radio-control__option, body.woocommerce-checkout .wc-block-components-radio-control-accordion-option { padding: 16px 16px 16px 48px !important; }
body.woocommerce-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted, body.woocommerce-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted { background: var(--ck-grey) !important; }
body.woocommerce-checkout .wc-block-components-radio-control-accordion-content { background: var(--ck-grey); padding: 0 16px 16px; }
html body.woocommerce-checkout .wc-block-checkout input.wc-block-components-radio-control__input[type=radio] { width: 18px !important; height: 18px !important; min-width: 18px !important; border: 1px solid var(--ck-line) !important; background: #fff !important; }
html body.woocommerce-checkout .wc-block-checkout input.wc-block-components-radio-control__input[type=radio]:checked { border: 6px solid #000 !important; background: #fff !important; }
html body.woocommerce-checkout .wc-block-checkout input.wc-block-components-radio-control__input[type=radio]:checked::before { display: none !important; }
body.woocommerce-checkout .wc-block-components-radio-control__label, body.woocommerce-checkout .wc-block-components-radio-control__option-layout { font-size: 14px; }
/* order summary content */
body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name { font-size: 14px; font-weight: 500; letter-spacing: 0; text-transform: none; color: #000 !important; }
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity { background: #666 !important; color: #fff !important; border: 2px solid #fff; }
body.woocommerce-checkout .wc-block-components-totals-item { font-size: 14px; }
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-family: inherit !important; font-size: 19px !important; font-weight: 700 !important; }
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-family: inherit !important; font-size: 19px !important; font-weight: 700 !important; }
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value::before { content: 'USD'; font-size: 11px; font-weight: 400; color: var(--ck-muted); margin-right: 8px; vertical-align: middle; }
body.woocommerce-checkout .wc-block-components-totals-coupon-link, body.woocommerce-checkout .wc-block-components-panel__button { font-size: 14px; }
body.woocommerce-checkout .wc-block-components-totals-coupon__button, body.woocommerce-checkout #pwgc-redeem-gift-card-form button { background: #f6f6f6 !important; color: #000 !important; border: 1px solid var(--ck-line) !important; border-radius: 12px !important; height: 49px !important; min-height: 49px !important; font-size: 14px !important; font-weight: 500; letter-spacing: 0 !important; text-transform: none !important; padding: 0 18px !important; }
body.woocommerce-checkout #pwgc-redeem-gift-card-form label { display: none; }
body.woocommerce-checkout #pwgc-redeem-gift-card-form { display: flex; gap: 8px; flex-wrap: nowrap; margin: 10px 0 0; }
body.woocommerce-checkout #pwgc-redeem-gift-card-form input[type=text] { flex: 1 1 auto; }
/* Pay now: black, 50px, radius 12, sentence case */
html body.woocommerce-checkout .wc-block-checkout .wc-block-components-checkout-place-order-button { background: #000 !important; color: #fff !important; border: 0 !important; border-radius: 12px !important; height: 50px !important; min-height: 50px !important; font-size: 14px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; }
html body.woocommerce-checkout .wc-block-checkout .wc-block-components-checkout-place-order-button:hover { background: #222 !important; }
body.woocommerce-checkout .wc-block-checkout__terms { font-size: 12px; color: var(--ck-muted); margin: 14px 0 10px; }
body.woocommerce-checkout .wc-block-checkout__terms a, body.woocommerce-checkout .wc-block-checkout a:not(.button):not(.wc-block-components-button) { color: #000 !important; text-decoration: underline; }
/* policy links under the form (added by megabag.js) */
body.woocommerce-checkout .ck-policies { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 22px 0 40px; padding-top: 16px; border-top: 1px solid var(--ck-line); }
body.woocommerce-checkout .ck-policies a { font-size: 14px; color: #000 !important; text-decoration: underline; }
/* ---------- phones ---------- */
@media (max-width: 782px) {
	body.woocommerce-checkout .wc-block-checkout__main { padding: 0 !important; }
	/* grey full-bleed "Order summary ▾ $x" bar */
	body.woocommerce-checkout .wc-block-checkout.is-mobile .wc-block-checkout__sidebar, body.woocommerce-checkout .wc-block-checkout.is-small .wc-block-checkout__sidebar { margin: 0 -12px 0 !important; width: calc(100% + 24px) !important; }
	body.woocommerce-checkout .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block { border: 0 !important; border-top: 1px solid var(--ck-line) !important; border-bottom: 1px solid var(--ck-line) !important; border-radius: 0 !important; background: var(--ck-grey) !important; padding: 0 12px !important; }
	body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title { padding: 22px 0 !important; }
	body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-text { font-size: 14px !important; font-weight: 400 !important; text-transform: none !important; letter-spacing: 0 !important; margin: 0 !important; }
	body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title .wc-block-components-totals-item__value, body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title .wc-block-formatted-money-amount { font-size: 18px !important; font-weight: 700 !important; }
	body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary__content, body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-wrapper { background: var(--ck-grey); }
	/* bottom: "Add discount" pill, Total row, Pay now */
	body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper { border: 0 !important; padding: 0 !important; margin: 0 0 16px !important; background: transparent !important; }
	body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wc-block-components-panel__button { display: inline-flex !important; align-items: center; width: auto !important; height: 40px; padding: 0 16px !important; border: 1px solid var(--ck-line) !important; border-radius: 12px !important; font-size: 0 !important; background: #fff; }
	body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wc-block-components-panel__button::before { content: 'Add discount'; font-size: 14px; font-weight: 500; }
	body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wc-block-components-panel__button svg { display: none; }
	body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wc-block-components-totals-footer-item, body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wp-block-woocommerce-checkout-order-summary-totals-block { display: flex !important; }
	body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wp-block-woocommerce-checkout-order-summary-totals-block { display: block !important; border-top: 0 !important; margin-top: 14px; }
	body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wc-block-components-totals-footer-item { padding: 8px 0 !important; border: 0 !important; }
	body.woocommerce-checkout .wc-block-checkout__actions { margin-top: 6px; }
	body.woocommerce-checkout .ck-policies { margin-top: 18px; }
}
/* ---------- desktop: form left, beige column right ---------- */
@media (min-width: 783px) {
	body.woocommerce-checkout .wc-block-checkout.is-large .wc-block-checkout__main, body.woocommerce-checkout .wc-block-checkout.is-medium .wc-block-checkout__main { padding: 28px 44px 60px 0 !important; }
	body.woocommerce-checkout .wc-block-checkout.is-large .wc-block-checkout__sidebar, body.woocommerce-checkout .wc-block-checkout.is-medium .wc-block-checkout__sidebar { background: var(--ck-side); border-left: 1px solid #dfdfdf; border-radius: 0 !important; padding: 36px 0 36px 36px !important; align-self: stretch; top: 0; }
	body.woocommerce-checkout .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block { background: transparent; }
	body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-wrapper { border-color: rgba(0,0,0,.12); }
	body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-coupon__input input, body.woocommerce-checkout .wc-block-checkout__sidebar #pwgc-redeem-gift-card-form input[type=text] { background: #fff !important; }
}
/* v12b - fixes after the first look: the block must not escape the viewport (alignwide margins), the Express
 * content box loses its own frame, the bottom summary loses its inner frame, radios sized for real */
body.woocommerce-checkout .wp-block-woocommerce-checkout.alignwide, body.woocommerce-checkout .wp-block-woocommerce-checkout { margin-left: auto !important; margin-right: auto !important; width: auto !important; max-width: 1100px !important; }
body.woocommerce-checkout .wc-block-components-express-payment__content, body.woocommerce-checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__content { border: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; }
body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wp-block-woocommerce-checkout-order-summary-block, body.woocommerce-checkout .wc-block-checkout__actions .wp-block-woocommerce-checkout-order-summary-block { border: 0 !important; padding: 0 !important; margin: 0 !important; background: transparent !important; }
html body.woocommerce-checkout .wc-block-checkout input.wc-block-components-radio-control__input[type=radio] { padding: 0 !important; box-sizing: border-box !important; transform: translateY(-50%) !important; flex: 0 0 18px !important; max-width: 18px !important; max-height: 18px !important; }
html body.woocommerce-checkout .wc-block-checkout input.wc-block-components-radio-control__input[type=radio]:checked { border-width: 5px !important; }
@media (max-width: 782px) {
	body.woocommerce-checkout .wp-block-woocommerce-checkout { padding: 0 !important; }
	body.woocommerce-checkout .wc-block-components-sidebar-layout { margin: 0 !important; }
}
/* v12c - bottom block on phones: no frame at all around "Add discount" + Total (only the pill has a border) */
@media (max-width: 782px) {
	body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper, body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper > *, body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wc-block-components-totals-wrapper, body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wp-block-woocommerce-checkout-order-summary-coupon-form-block, body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wc-block-components-panel, body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wc-block-components-panel__content, body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wp-block-woocommerce-checkout-order-summary-totals-block { border: 0 !important; box-shadow: none !important; border-radius: 0 !important; background: transparent !important; }
	body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wc-block-components-panel__button { border: 1px solid var(--ck-line) !important; border-radius: 12px !important; background: #fff !important; }
	body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wc-block-components-totals-coupon { padding: 12px 0 0; }
}
/* v12d - checkbox: black box with a WHITE tick when checked (the block's own tick was lost under our sizing) */
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input { -webkit-appearance: none !important; appearance: none !important; position: relative; }
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input:checked::before { content: ''; position: absolute; inset: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px 12px no-repeat; }
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__mark { display: none !important; }
/* v12e - payment rows (card / PayPal) start at the same left edge as the shipping row: no double padding on the accordion */
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control, body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control--highlight-checked, body.woocommerce-checkout .wc-block-components-radio-control-accordion-option { padding: 0 !important; }
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option > .wc-block-components-radio-control__option, body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control__option, body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option { padding: 16px 16px 16px 46px !important; margin: 0 !important; }
html body.woocommerce-checkout .wc-block-checkout input.wc-block-components-radio-control__input[type=radio] { left: 16px !important; }
body.woocommerce-checkout .wc-block-components-radio-control-accordion-content { padding: 0 16px 16px !important; }
/* v12f - product gallery on phones: no dots, thin light arrows over the image; NBC pill a little closer to the price */
.mb-dots { display: none !important; }
.mb-gal-nav { display: none; position: absolute; top: 50%; transform: translateY(-50%); z-index: 6; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: #fff; cursor: pointer; filter: drop-shadow(0 1px 2px rgba(0,0,0,.35)); }
.mb-gal-nav svg { width: 30px; height: 30px; }
.mb-gal-nav--prev { left: 2px; } .mb-gal-nav--next { right: 2px; }
.mb-gal-nav:active { opacity: .7; }
@media (max-width: 921px) { .mb-gal-nav { display: flex; align-items: center; justify-content: center; } .single-product .woocommerce-product-gallery { margin-bottom: 6px; } }
.single-product .summary .mb-price { margin-bottom: 6px !important; }
.single-product form.cart .mb-info--before { margin-top: -10px; }
.single-product .mb-nbc-link { margin: 0 0 10px !important; }
/* v12g - gallery arrows: still thin and light, but readable on light product photos (soft dark outline) */
.mb-gal-nav { color: #fff; filter: drop-shadow(0 0 1.5px rgba(0,0,0,.75)) drop-shadow(0 1px 3px rgba(0,0,0,.35)); }
.mb-gal-nav svg { width: 32px; height: 32px; stroke-width: 1.5; }
/* v12h - press logos ("As seen in"): transparent band, a little larger, endless ticker sliding to one side and re-entering from the other */
.mb-press-band { background: transparent !important; padding-top: 28px !important; padding-bottom: 28px !important; }
.mb-logo-marquee { overflow: hidden; width: 100%; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.mb-logo-list.mb-logo-list--marquee { display: flex; flex-wrap: nowrap; justify-content: flex-start; align-items: center; gap: 0; padding: 0; width: max-content; will-change: transform; animation: mb-marquee 32s linear infinite; }
.mb-logo-list.mb-logo-list--marquee img { height: 40px; max-height: 40px; width: auto; max-width: 200px; margin: 0 44px; opacity: .92; filter: grayscale(1) contrast(1.05); mix-blend-mode: multiply; background: transparent; }
.mb-logo-marquee:hover .mb-logo-list--marquee { animation-play-state: paused; }
@keyframes mb-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (max-width: 749px) { .mb-press-band { padding-top: 22px !important; padding-bottom: 22px !important; } .mb-logo-list.mb-logo-list--marquee img { height: 30px; max-height: 30px; max-width: 150px; margin: 0 26px; } .mb-logo-list.mb-logo-list--marquee { animation-duration: 24s; } }
@media (prefers-reduced-motion: reduce) { .mb-logo-list.mb-logo-list--marquee { animation: none; width: auto; flex-wrap: wrap; justify-content: center; } .mb-logo-list.mb-logo-list--marquee img:nth-child(n+6) { display: none; } }
/* v12h-b - ticker logos: enforce the larger size (an older max-height rule was winning) and a bit more presence */
.mb-logo-list.mb-logo-list--marquee img { height: 42px !important; max-height: 42px !important; max-width: 210px !important; opacity: 1 !important; filter: grayscale(1) contrast(1.1) !important; }
@media (max-width: 749px) { .mb-logo-list.mb-logo-list--marquee img { height: 32px !important; max-height: 32px !important; max-width: 160px !important; margin: 0 24px !important; } }
/* v12i - section headings upright: the v10 "emphasised word in italic" treatment tilted "Your Ideal Bag", "Detachable Rollers Edition" etc. (Daniel, 8.9) */
.mb-band__title strong, .mb-band__title em, .mb-faq .mb-band__title strong, .mb-pdp-band .mb-iwt__text h2 strong, .mb-pdp-band .mb-iwt__text h2 em, .mb-iwt__text h2, .mb-results__title, .mb-band__title { font-style: normal !important; }

/* ==================================================================
 * v12j - reviews modelled on the BÉIS product page (Yotpo layout), in our colours (Daniel, 8.9)
 * ================================================================== */
.mb-reviews { background: var(--mb-sand, #f3efe8); box-shadow: 0 0 0 100vmax var(--mb-sand, #f3efe8); clip-path: inset(0 -100vmax); border-top: 0 !important; padding: 44px 0 36px !important; }
.mb-reviews .mb-rev-summary, .mb-reviews #comments, .mb-reviews #review_form_wrapper { max-width: 760px; margin-left: auto; margin-right: auto; }
/* summary */
.mb-reviews .mb-rev-summary { display: flex; flex-direction: column; align-items: center; gap: 0; margin-bottom: 26px; text-align: center; }
.mb-rev-summary__top { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.mb-reviews .mb-rev-summary__avg { font-family: var(--mb-font-body, Helvetica, Arial, sans-serif) !important; font-size: 52px !important; font-weight: 700 !important; line-height: 1 !important; letter-spacing: -.03em !important; color: var(--mb-text, #2d2d2d); }
.mb-rev-summary__right { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.mb-reviews .mb-rev-summary__stars { font-size: 24px !important; letter-spacing: 1px !important; line-height: 1; color: var(--mb-accent, #6e1e1e); }
.mb-reviews .mb-rev-summary__stars .mb-jstar { color: rgba(45,45,45,.18); } .mb-reviews .mb-rev-summary__stars .mb-jstar.is-on { color: var(--mb-accent, #6e1e1e); }
.mb-reviews .mb-rev-summary__text { display: block !important; font-size: 13px !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--mb-text, #2d2d2d) !important; }
.mb-reviews .mb-rev-hist { display: grid !important; grid-template-columns: 1fr; gap: 6px; width: 280px; max-width: 100%; margin: 0 0 22px !important; text-align: left; }
.mb-rev-hist__row { display: grid !important; grid-template-columns: 12px 16px 1fr 44px; align-items: center; gap: 8px; height: auto !important; margin: 0 !important; font-size: 13px; white-space: nowrap; }
.mb-rev-hist__row.is-empty { opacity: 1 !important; }
.mb-rev-hist__label { text-align: right; }
.mb-rev-hist__star { color: var(--mb-accent, #6e1e1e); font-size: 15px; line-height: 1; }
.mb-reviews .mb-rev-hist__bar { display: block !important; width: auto !important; height: 6px !important; margin: 0 !important; border-radius: 3px; background: rgba(45,45,45,.12) !important; box-shadow: none !important; overflow: hidden; }
.mb-reviews .mb-rev-hist__bar span { display: block; height: 100%; min-width: 3px; border-radius: 3px; background: var(--mb-text, #2d2d2d) !important; }
.mb-rev-hist__row.is-empty .mb-rev-hist__bar span { display: none; }
.mb-rev-hist__n { text-align: right; }
.mb-rev-hist__stars, .mb-rev-hist__pct { display: none !important; }
.mb-rev-summary__write { display: inline-block; background: var(--mb-accent, #6e1e1e); color: #fff !important; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; padding: 12px 24px; border-radius: 4px; text-decoration: none !important; }
.mb-rev-summary__write:hover { filter: brightness(1.1); }
/* list: one column, hairlines, avatar + name + date, stars, text, photos */
.mb-reviews .commentlist { display: block !important; grid-template-columns: none !important; gap: 0 !important; }
.mb-reviews .commentlist li.review { display: block !important; background: transparent !important; border: 0 !important; border-top: 1px solid rgba(45,45,45,.14) !important; padding: 22px 0 !important; margin: 0 !important; }
.mb-reviews .commentlist li.review:last-child { border-bottom: 1px solid rgba(45,45,45,.14) !important; }
.mb-reviews .commentlist li.review .comment_container { display: grid !important; grid-template-columns: 44px 1fr; column-gap: 10px; align-items: start; }
.mb-reviews .mb-rev__icon { display: flex !important; width: 40px; height: 40px; border-radius: 50%; background: #dcd5c9; color: var(--mb-text, #2d2d2d); font-size: 15px; font-weight: 600; align-items: center; justify-content: center; position: relative; }
.mb-reviews .mb-rev__icon::after { content: ''; position: absolute; right: -3px; bottom: -3px; width: 15px; height: 15px; border-radius: 50%; border: 2px solid var(--mb-sand, #f3efe8); background: var(--mb-text, #2d2d2d) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 9px no-repeat; }
.mb-reviews .comment-text { grid-column: 2; display: flex !important; flex-direction: column; padding: 0 !important; position: static; }
.mb-reviews .comment-text p.meta { order: 0 !important; display: grid !important; grid-template-columns: 1fr auto; column-gap: 12px; align-items: start; margin: 0 0 8px !important; font-size: 15px !important; letter-spacing: 0 !important; text-transform: none !important; line-height: 1.3; }
.mb-reviews p.meta .woocommerce-review__author { grid-column: 1; grid-row: 1; font-weight: 500 !important; }
.mb-reviews p.meta .woocommerce-review__verified { grid-column: 1; grid-row: 2; font-size: 0 !important; font-style: normal !important; color: var(--mb-muted, #6f6a64); }
.mb-reviews p.meta .woocommerce-review__verified::before { content: 'Verified Buyer'; font-size: 12px; }
.mb-reviews p.meta .woocommerce-review__dash { display: none !important; }
.mb-reviews p.meta time { grid-column: 2; grid-row: 1 / span 2; position: static !important; display: block !important; margin: 0 !important; font-size: 13px !important; letter-spacing: 0 !important; color: var(--mb-text, #2d2d2d) !important; opacity: 1; text-transform: none; }
.mb-reviews .comment-text .review-rating { order: 1 !important; float: none !important; margin: 0 0 8px !important; }
.mb-reviews .star-rating { color: var(--mb-accent, #6e1e1e) !important; font-size: 17px !important; letter-spacing: 1px !important; }
.mb-reviews .star-rating::before { color: rgba(45,45,45,.18) !important; }
.mb-reviews .comment-text .description { order: 2 !important; font-size: 14px !important; line-height: 1.6 !important; color: var(--mb-text, #2d2d2d) !important; }
.mb-reviews .comment-text .description p { margin: 0 0 8px; }
.mb-reviews .comment-text .mb-rev__pics { order: 3 !important; margin: 10px 0 0 !important; }
.mb-reviews .mb-rev__pic { width: 84px; height: 84px; border-radius: 6px; }
/* pagination + form */
.mb-reviews .woocommerce-pagination { margin-top: 22px; }
.mb-reviews .page-numbers { border-radius: 999px !important; padding: 8px 14px !important; letter-spacing: .06em !important; }
.mb-reviews #review_form_wrapper { margin-top: 28px; padding-top: 22px; border-top: 1px solid rgba(45,45,45,.14); }
@media (max-width: 749px) {
	.mb-reviews { padding: 34px 0 28px !important; }
	.mb-reviews .mb-rev-summary__avg { font-size: 46px !important; }
	.mb-reviews .commentlist { grid-template-columns: none !important; }
	.mb-reviews .commentlist li.review { padding: 18px 0 !important; }
	.mb-reviews .mb-rev__pic { width: 72px; height: 72px; }
}
/* v12k - reviews: stars in our burgundy and left-aligned (the review plugin floated them right in gold), readable Write-a-review button */
.mb-reviews .star-rating, .mb-reviews .review-rating .star-rating { float: none !important; margin: 0 !important; color: var(--mb-accent, #6e1e1e) !important; }
.mb-reviews .star-rating::before { color: rgba(45,45,45,.18) !important; }
.mb-reviews .star-rating span::before, .mb-reviews .star-rating span { color: var(--mb-accent, #6e1e1e) !important; }
.mb-reviews .mb-rev-summary__write, .mb-reviews a.mb-rev-summary__write { color: #fff !important; }
.mb-reviews p.meta .woocommerce-review__author { white-space: normal; }
/* v12k-b - Write a review: carries .button so the generic burgundy-link rule leaves it alone */
.mb-reviews .mb-rev-summary a.mb-rev-summary__write.button { background: var(--mb-accent, #6e1e1e) !important; color: #fff !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .08em !important; text-transform: uppercase; padding: 12px 24px !important; min-height: 0 !important; line-height: 1.2 !important; border: 0 !important; }
/* v12l - product gallery: no "jump" on first paint. Until WooCommerce's slider has wrapped the slides
 * (.flex-viewport), only the first image is shown; the others stacked underneath were the flash Daniel saw. */
.single-product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child) { display: none; }
.single-product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child img { aspect-ratio: 1 / 1; object-fit: cover; }
/* v12m - first paint without jumps (CLS): metric-matched fallback for the heading font, summary order fixed in CSS
 * (no JS reshuffle visible), variation table hidden until it is placed in the quantity box, room for the thumbnails strip */
@font-face { font-family: "MB Head Fallback"; src: local("Georgia"), local("Times New Roman"); size-adjust: 101%; ascent-override: 96%; descent-override: 26%; line-gap-override: 0%; }
.single-product div.product .summary { display: flex; flex-direction: column; }
.single-product div.product .summary > * { order: 10; }
.single-product div.product .summary > .mb-rating { order: 1; }
.single-product div.product .summary > .product_title, .single-product div.product .summary > h1 { order: 2; }
.single-product div.product .summary > .mb-tagline, .single-product div.product .summary > .mb-subtitle { order: 3; }
.single-product div.product .summary > .mb-price { order: 4; }
.single-product div.product .summary > form.cart, .single-product div.product .summary > .mb-variants-slot { order: 5; }
.single-product div.product .summary > .mb-info--after { order: 6; }
body.mb-has-qb form.cart > table.variations, form.cart:has(.mb-variants-slot) > table.variations { display: none; }
@media (min-width: 922px) { .single-product .woocommerce-product-gallery:not(:has(.flex-control-thumbs)) { padding-bottom: 96px; } }

/* v12n — cart page: WooCommerce's stock "You may be interested in…" collection duplicated our "Complete your set" upsells. */
body.woocommerce-cart .wp-block-woocommerce-cart-items-block > .wp-block-woocommerce-product-collection { display: none; }

/* v12o — price line: 17px digits sat in a 14px line box with a 6px gap, so the divider cut through the price. */
.single-product .summary .mb-price { line-height: 1.3 !important; margin-bottom: 16px !important; }
.single-product form.cart > .mb-info--before { margin-top: -2px !important; } /* was -10px: it pulled the divider back onto the digits */
/* v12o — quantity options on phones: the radio was pushed to the middle (40px padding + 42px column) and squeezed the text
   and the "% OFF" badge into the prices. Radio at the edge, narrower image column, the text gets the room. */
@media (max-width: 768px) {
  .single-product .mb-bundle__opt, .single-product .mb-bundle__opt.is-selected { padding: 14px 12px 14px 0; grid-template-columns: 34px 66px minmax(0, 1fr) auto; }
  .single-product .mb-bundle__opt .mb-bundle__img { margin-right: 8px; }
  .single-product .mb-bundle__prices { margin-left: 6px; }
  .single-product .mb-bundle__variants { padding-left: 12px; }
}
