/* ==== YOUR ORIGINAL / CURRENT RULES (kept & de-duped) ===================== */

/* ========== PRODUCT CARDS (GRID + BLOCKS) ========== */
:is(.wc-block-grid__products .wc-block-grid__product,
    .woocommerce ul.products li.product){
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:14px;
    box-shadow:0 6px 18px rgba(0,0,0,.05);
    position:relative;
    overflow:visible;
}
:is(.wc-block-grid__product-image img,
    .wc-block-components-product-image img,
    .woocommerce ul.products li.product a img){
    width:100%;
    height:260px;
    object-fit:contain;
    background:#fff;
}
:is(.wc-block-grid__product-title,
    .woocommerce-loop-product__title,
    .wc-block-woocommerce-product-title){
    font-weight:700;
    font-size:16px;
    margin-top:.25rem;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    min-height:2.4em;
}
.woocommerce ul.products li.product .price,
.wc-block-grid__product-price,
.wp-block-woocommerce-product-price,
.wc-block-components-product-price{
    margin:.2rem 0 .45rem !important;
    font-size:1.1em !important;
    font-weight:500 !important;
}
.woocommerce-Price-amount{ font-size:100% !important; }
.price{ font-size:1.1em; font-weight:600; }
.price del,
.woocommerce ul.products li.product .price del,
.wc-block-grid__product-price del,
.wp-block-woocommerce-product-price del,
.woocommerce div.product p.price del .woocommerce-Price-amount,
.woocommerce div.product span.price del .woocommerce-Price-amount,
.wc-block-components-product-price del{
    color:#a0a0a0 !important;
    font-weight:400 !important;
    text-decoration:line-through !important;
    margin-right:.5em;
    font-size:.9em !important;
    opacity:.7 !important;
}
.price ins,
.woocommerce ul.products li.product .price ins,
.wc-block-grid__product-price ins,
.wp-block-woocommerce-product-price ins,
.woocommerce div.product p.price ins .woocommerce-Price-amount,
.woocommerce div.product span.price ins .woocommerce-Price-amount,
.wc-block-components-product-price ins{
    color:#dc2626 !important;
    font-weight:700 !important;
    text-decoration:none !important;
}
.woocommerce ul.products li.product .price del{
    opacity:.45 !important;
    font-size:.92em !important;
    margin-right:.45em !important;
}
.woocommerce ul.products li.product .price ins{ font-weight:800 !important; }
.woocommerce ul.products li.product,
.wc-block-grid__product{
    transition:transform .16s ease, box-shadow .16s ease;
}
.woocommerce ul.products li.product:hover,
.wc-block-grid__product:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(0,0,0,.08);
}
@media (min-width:1400px){
    .woocommerce ul.products{
        display:grid !important;
        grid-template-columns:repeat(4, minmax(260px,1fr)) !important;
        gap:26px !important;
    }
    .wc-block-grid__products{
        grid-template-columns:repeat(4, minmax(260px,1fr)) !important;
        gap:26px !important;
    }
}

/* ========== ADD-TO-CART BUTTONS (GRID ONLY) ========== */
.wc-block-grid__product .wp-block-button__link,
.woocommerce ul.products li.product .button{
    width:100%;
    border-radius:10px;
    padding:.6rem .9rem;
    background:#0f172a;
    color:#fff;
    border:none;
}
.wc-block-grid__product .wp-block-button__link:hover,
.woocommerce ul.products li.product .button:hover{ filter:brightness(.92); }
.home ul.products li.product .button,
.archive ul.products li.product .button,
.wc-block-grid__products .wp-block-button__link,
.wp-block-woocommerce-product-button .wp-block-button__link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 14px;
    border:none;
    border-radius:12px;
    font-weight:700;
    line-height:1;
    box-shadow:none;
    width:auto !important;
    min-width:110px;
    margin-top:.2rem;
    transition:transform .15s ease, filter .15s ease;
}
.home ul.products li.product .button:hover,
.archive ul.products li.product .button:hover,
.wc-block-grid__products .wp-block-button__link:hover,
.wp-block-woocommerce-product-button .wp-block-button__link:hover,
.home ul.products li.product .button:focus,
.archive ul.products li.product .button:focus,
.wc-block-grid__products .wp-block-button__link:focus,
.wp-block-woocommerce-product-button .wp-block-button__link:focus{
    transform:translateY(-1px);
    filter:brightness(.95);
}
ul.products li.product .button.disabled,
ul.products li.product .button.added,
.wc-block-grid__products .wp-block-button__link[aria-disabled="true"]{
    opacity:.75; cursor:default; transform:none;
}
.single-product .single_add_to_cart_button{ /* left default */ }
.home ul.products li.product .button:focus-visible,
.archive ul.products li.product .button:focus-visible,
.wc-block-grid__products .wp-block-button__link:focus-visible{
    outline:2px solid #60a5fa; outline-offset:2px;
}
.woocommerce ul.products li.product,
.wc-block-grid__product{ position:relative !important; overflow:visible !important; }

/* ========== TRUST LINE UNDER PRICES ========== */
:root{
    --mp-trust-grid:"Lab-tested • Ships from USA";
    --mp-trust-single:"Batch-tested by HPLC • Ships from USA";
}
.woocommerce .price::after,
.woocommerce .price *::after,
.wc-block-grid__product-price::after,
.wc-block-grid__product-price *::after,
.wp-block-woocommerce-product-price *::after,
.wc-block-components-product-price::after,
.wc-block-components-product-price *::after,
.mp-trustline{ content:none !important; display:none !important; }
.wp-block-woocommerce-product-price::after{
    content:var(--mp-trust-grid) !important;
    display:block !important;
    margin-top:6px !important;
    font-size:var(--mp-trust-size) !important;
    line-height:1.3 !important;
    color:var(--mp-trust-color) !important;
    font-weight:500 !important;
    letter-spacing:.1px !important;
    word-spacing:.5px !important;
}
.single-product .summary .price::after{
    content:var(--mp-trust-single) !important;
    display:block !important;
    margin-top:6px !important;
    font-size:var(--mp-trust-size) !important;
    line-height:1.3 !important;
    color:var(--mp-trust-color) !important;
    font-weight:500 !important;
    letter-spacing:.12px !important;
    word-spacing:.6px !important;
}
ul.products li.product .price{ margin-bottom:.35rem !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title:hover{ text-decoration:underline; }
@media (max-width:480px){
    :root{ --mp-trust-size:11px; }
    ul.products li.product .price{ margin-bottom:.3rem !important; }
}
@media (max-width:520px){
    .woocommerce ul.products li.product .woocommerce-loop-product__title{
        line-height:1.25; -webkit-line-clamp:2;
    }
}

/* Cart/checkout trustbar */
.woocommerce-cart .mpp-trustbar,
.woocommerce-checkout .mpp-trustbar{ background:#eef4ff; border-top-color:#d7e3ff; }
@media (max-width:480px){ ul.products li.product .price{ margin-bottom:.28rem !important; } }

/* ========== OFFLINE PAYMENT CARDS ========== */
.offline-pay-box{
    background:#fff9e8; border:2px solid #f6c158; border-radius:12px;
    padding:16px 18px; margin-top:16px;
}
.offline-pay-box h3{ margin:0 0 8px; font-size:1.1rem; }
.offline-pay-box .offline-note{ margin-top:10px; }
.pay-grid{
    display:grid; grid-template-columns:repeat(auto-fit, minmax(180px,1fr));
    gap:14px; margin:10px 0;
}
.pay-card{
    background:#fff; border:1px solid #e9e9e9; border-radius:10px;
    padding:10px; text-align:center;
}
.pay-card h4{ margin:0 0 6px; }
.pay-btn{
    display:inline-block; margin-top:4px; padding:.5rem .8rem;
    background:#111; color:#fff !important; text-decoration:none;
    border-radius:8px; font-weight:600;
}
.pay-btn:hover{ opacity:.9; }
body.woocommerce-order-received .pay-grid,
body.woocommerce-view-order .pay-grid,
body.woocommerce-checkout .pay-grid{
    display:flex !important; flex-wrap:wrap !important; gap:18px !important;
    justify-content:center !important; align-items:stretch !important; margin:10px 0 !important;
}
body.woocommerce-order-received .pay-card,
body.woocommerce-view-order .pay-card,
body.woocommerce-checkout .pay-card{
    flex:1 1 280px !important; max-width:340px !important; width:100% !important;
    display:flex !important; flex-direction:column !important; align-items:center !important;
    justify-content:flex-start !important; height:100% !important;
    padding:12px !important; border:1px solid #e9e9e9 !important; border-radius:12px !important;
    background:#fff !important; text-align:center !important;
}
body.woocommerce-order-received .pay-card h4,
body.woocommerce-view-order .pay-card h4,
body.woocommerce-checkout .pay-card h4{ margin:0 0 8px; font-size:1rem; }
body.woocommerce-order-received .pay-card p,
body.woocommerce-view-order .pay-card p,
body.woocommerce-checkout .pay-card p{ margin:0 0 6px; line-height:1.3; }
body.woocommerce-order-received .pay-card img,
body.woocommerce-view-order .pay-card img,
body.woocommerce-checkout .pay-card img{
    width:160px !important; max-width:160px !important; height:auto !important;
    display:block !important; margin:8px auto 0 !important; border:1px solid #eee !important; border-radius:8px !important;
}
body.woocommerce-order-received .pay-card .pay-btn,
body.woocommerce-view-order .pay-card .pay-btn,
body.woocommerce-checkout .pay-card .pay-btn{ margin-top:auto !important; }
@media (max-width:480px){
    body.woocommerce-order-received .pay-grid,
    body.woocommerce-view-order .pay-grid,
    body.woocommerce-checkout .pay-grid{ gap:14px !important; }
}

/* ========== LEGAL MICROCOPY ========== */
.legal-mini{ font-size:13px; line-height:1.4; color:#6b7280; margin-top:.5rem; }
.legal-mini a{ color:#0ea5e9; text-decoration:underline; }
.legal-mini a:hover{ color:#0284c7; text-decoration:none; }
.mpp-legal-mini{
    padding:12px 16px; text-align:center; font-size:13px; line-height:1.4;
    color:#6b7280; background:#f8fafc; border-top:1px solid #e5e7eb;
}
.mpp-legal-mini a{ color:#0ea5e9; text-decoration:underline; }
.mpp-legal-mini a:hover{ color:#0284c7; text-decoration:none; }

/* ========== PROMO BAR / ANNOUNCEMENT BAR ========== */
.home .mpp-promo-bar{
    position:sticky; top:0; z-index:9999; width:100%;
    background:#111827; color:#fff; padding:.7rem .75rem;
    box-shadow:0 1px 0 rgba(255,255,255,.08) inset, 0 10px 20px rgba(0,0,0,.05);
}
.home .mpp-promo-inner{ max-width:1200px; margin:0 auto; text-align:center; font-size:15px; letter-spacing:.2px; }
.home .mpp-promo-inner strong{ color:#ff4d6d; }
.home .mpp-promo-close{
    position:absolute; right:10px; top:50%; transform:translateY(-50%);
    background:transparent; border:0; color:#fff; opacity:.8; cursor:pointer; font-size:22px; line-height:1;
}
.home .mpp-promo-close:hover{ opacity:1; }

#mpp-promo-bar{
    position:fixed; left:0; right:0; top:0; z-index:99999;
    background:#0f172a; color:#fff; padding:10px 44px 10px 14px; text-align:center;
    font-size:14px; line-height:1.35; border-bottom:1px solid rgba(255,255,255,.08);
    box-shadow:0 8px 20px rgba(0,0,0,.06);
}
#mpp-promo-bar a{ color:#a7f3d0; text-decoration:underline; }
#mpp-promo-bar b, #mpp-promo-bar strong{ color:#a7f3d0; }
#mpp-promo-bar .mpp-promo-close{
    position:absolute; right:10px; top:50%; transform:translateY(-50%);
    background:transparent; border:0; color:#fff; opacity:.85; cursor:pointer; font-size:22px; line-height:1; padding:0 6px;
}
#mpp-promo-bar .mpp-promo-close:hover{ opacity:1; }
.announcement-bar a{ text-decoration:underline; }
.announcement-bar, .promo-bar{ margin-bottom:0 !important; }
.announcement-bar + .site-header,
.announcement-bar + .header,
.promo-bar + .site-header,
.promo-bar + .header{ margin-top:0 !important; }
.top-bar, .site-header-message-bar, .promo-bar, .site-branding + *{
    background-color:#007FFF !important; color:#ffffff !important; font-size:1.05em !important;
    font-weight:600 !important; padding-top:12px; padding-bottom:12px;
}
.top-bar .close-button, .top-bar .close-button a{ color:#ffffff !important; }

/* ========== GLOBAL BUTTON THEME OVERRIDES ========== */
:root{
    --wp--custom--button--color--background:#007FFF !important;
    --wp--custom--button--color--text:#ffffff !important;
    --wp--custom--button--hover--color--background:#0055AA !important;
    --wp--custom--button--hover--color--text:#ffffff !important;
    --wp--custom--button--border--color:#007FFF !important;
    --wp--custom--button--hover--border--color:#0055AA !important;
}
.button, .add_to_cart_button, .product-form__submit{ border-radius:10px; font-weight:600; }
.button:hover, .add_to_cart_button:hover, .product-form__submit:hover{ transform:translateY(-1px); }

/* ========== SINGLE PRODUCT – PRICE + SHORT DESCRIPTION + LINKS ========== */
.woocommerce div.product p.price del .woocommerce-Price-amount{
    color:#a0a0a0 !important; text-decoration:line-through !important; font-size:.9em !important;
}
.woocommerce div.product p.price ins .woocommerce-Price-amount{
    color:#CC0000 !important; font-weight:700 !important;
}
.single-product .summary > p,
.single-product .summary > div{ display:block !important; visibility:visible !important; height:auto !important; }
.single-product .summary .woocommerce-product-details__short-description,
.single-product .summary .woocommerce-product-details__short-description p,
.single-product .summary .wp-block-woocommerce-product-short-description{
    display:block !important; visibility:visible !important; height:auto !important;
    margin:.8rem 0 1.1rem !important; color:inherit !important;
}
.woocommerce div.product .summary a.purity-link,
.woocommerce div.product .summary a.purity-link:link,
.woocommerce div.product .summary a.purity-link:visited{
    color:#007FFF !important; font-weight:bold !important; text-decoration:underline !important;
}
.woocommerce div.product .summary a.purity-link:hover{ color:#0055AA !important; text-decoration:none !important; }
.woocommerce div.product .summary p.trust-pill{ display:block !important; padding:0 !important; margin:0 0 5px 0 !important; line-height:1.4 !important; }
.woocommerce div.product .summary p.trust-pill a.purity-link{ color:#007FFF !important; font-weight:bold !important; text-decoration:underline !important; }
.mpp-trust-wrapper{ margin-top:10px !important; margin-bottom:20px !important; }
.mpp-trust-wrapper p.trust-pill{ margin-bottom:0 !important; line-height:1.3 !important; }
.mpp-trust-wrapper a.purity-link{ color:#007FFF !important; font-weight:bold !important; }
.woocommerce div.product .summary a[href="/lab-tests"]{ color:#007FFF !important; font-weight:bold !important; }

/* ========== HEADER / NAV ========== */
:root{ --mpp-accent:#08c6ff; --mpp-accent-2:#6a5cff; --mpp-ink:#0f172a; --mpp-header-bg:#f5f9fc; --mpp-border:rgba(15,23,42,.06); }
.site-header, .header, .header-wrapper, .main-header-bar{
    position:sticky; top:var(--mpp-promo-offset, 0); z-index:9998;
    background:var(--mpp-header-bg); border-bottom:1px solid var(--mpp-border);
    box-shadow:0 2px 8px rgba(15,23,42,.04); padding-top:4px !important; padding-bottom:4px !important;
}
@media (prefers-color-scheme: dark){
    .site-header, .header, .header-wrapper, .main-header-bar{
        background:#f5f9fc !important; border-bottom:1px solid rgba(148,163,184,.15);
        box-shadow:0 6px 24px rgba(0,0,0,.35);
    }
}
.site-header, .header, .main-header-bar{ padding-top:4px !important; padding-bottom:4px !important; }
.site-logo img, .header__heading-logo, .header .logo img{
    max-height:46px; height:auto; width:auto; display:block;
}
.wp-block-navigation a, .primary-navigation > li > a, .header__menu-item{
    position:relative; display:inline-flex; align-items:center; padding:8px 12px;
    border-radius:10px; font-weight:600; color:var(--mpp-ink); text-decoration:none;
    transition:color .16s ease, background .16s ease;
}
.wp-block-navigation a::after, .primary-navigation > li > a::after, .header__menu-item::after{
    content:""; position:absolute; left:10px; right:10px; bottom:4px; height:1.5px; border-radius:2px;
    background:linear-gradient(90deg, var(--mpp-accent), var(--mpp-accent-2));
    transform:scaleX(0); transform-origin:0 50%; transition:transform .16s ease;
}
.wp-block-navigation a:hover::after, .primary-navigation > li > a:hover::after, .header__menu-item:hover::after{ transform:scaleX(1); }
.current-menu-item > a,
.wp-block-navigation-item__content[aria-current="page"],
.wp-block-navigation-item__content[aria-current="true"]{
    background:rgba(8,198,255,.08) !important; box-shadow:0 0 0 2px rgba(8,198,255,.22) inset !important;
}
.current-menu-item > a::after,
.wp-block-navigation-item__content[aria-current="page"]::after{ transform:scaleX(1); }
.primary-navigation, .site-nav, .header__menu, .menu--main{ display:flex; align-items:center; }
.primary-navigation > li > a, .site-nav > li > a, .header__menu-item{ padding-top:10px; padding-bottom:10px; line-height:1.2; }
.wc-block-mini-cart__button, .header .cart, .site-header .cart{
    transition:transform .18s ease, box-shadow .18s ease; border-radius:10px;
}
.wc-block-mini-cart__button:hover, .header .cart:hover{
    transform:translateY(-1px); box-shadow:0 6px 16px rgba(0,0,0,.08);
}
@media (prefers-reduced-motion: reduce){ *{ transition:none !important; } }

/* ========== SALE / OUT-OF-STOCK BADGES (GRID) ========== */
.woocommerce ul.products li.product .onsale,
.wc-block-grid__product-onsale,
.wc-block-components-product-sale-badge{
    position:absolute !important; top:10px !important; right:10px !important; z-index:20 !important;
    display:inline-flex !important; align-items:center; justify-content:center;
    padding:6px 14px !important; border-radius:999px !important;
    background:#dc2626 !important; color:#ffffff !important;
    font:800 12px/1 system-ui,-apple-system,"Segoe UI",sans-serif !important;
    text-transform:uppercase !important; letter-spacing:.08em !important; margin:0 !important;
    min-height:0 !important; min-width:0 !important;
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
.wc-block-product .wc-block-components-product-image,
.wc-block-product .wc-block-grid__product-image{ position:relative !important; }
.woocommerce ul.products li.product.outofstock .woocommerce-LoopProduct-link::before,
.wc-block-product.outofstock .wc-block-components-product-image::before,
.wc-block-product.outofstock .wc-block-grid__product-image::before{
    content:"OUT OF STOCK";
    position:absolute; top:10px; left:10px; z-index:20;
    display:inline-flex; align-items:center; justify-content:center;
    padding:6px 14px; border-radius:999px; background:#6b7280; color:#ffffff;
    font:800 12px/1 system-ui,-apple-system,"Segoe UI",sans-serif; text-transform:uppercase; letter-spacing:.08em;
    box-shadow:0 8px 18px rgba(107,114,128,.20), 0 0 0 1px rgba(255,255,255,.65) inset;
}
@media (max-width:480px){
    .woocommerce ul.products li.product.outofstock .woocommerce-LoopProduct-link::before,
    .wc-block-product.outofstock .wc-block-components-product-image::before,
    .wc-block-product.outofstock .wc-block-grid__product-image::before{
        top:8px; left:8px; padding:5px 11px; font-size:11px;
    }
}
.woocommerce ul.products li.product .stock,
.wc-block-product .wc-block-components-product-stock-status{ display:none !important; }
.woocommerce ul.products li.product.outofstock .button,
.wp-block-woocommerce-product-collection .wc-block-product.outofstock .wp-block-woocommerce-product-button{ display:none !important; }

/* ==== FIXES & ENHANCEMENTS (kept; no dupes) =============================== */

/* Single product: consistent SALE pill and zoom trigger behavior */
.single-product .woocommerce-product-gallery{ position:relative; }
.single-product div.product .onsale{
  position:absolute !important; top:10px !important; right:10px !important; left:auto !important;
  width:auto !important; max-width:none !important; display:inline-flex !important;
  padding:6px 14px !important; border-radius:999px !important;
  background:#dc2626 !important; color:#fff !important;
  font:800 12px/1 system-ui,-apple-system,"Segoe UI",sans-serif !important;
  text-transform:uppercase !important; letter-spacing:.08em !important;
  box-shadow:0 8px 18px rgba(220,38,38,.20), 0 0 0 1px rgba(255,255,255,.60) inset !important;
}
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger{
  position:absolute; top:10px; right:10px; z-index:31; opacity:0; visibility:hidden; transform:scale(.96);
  transition:opacity .15s ease, transform .15s ease, visibility .15s;
}
.single-product .woocommerce-product-gallery:hover .woocommerce-product-gallery__trigger,
.single-product .woocommerce-product-gallery:focus-within .woocommerce-product-gallery__trigger{
  opacity:1; visibility:visible; transform:scale(1);
}
@media (max-width:480px){
  .single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger{ display:none !important; }
}

/* Savings line: smaller, muted */
.single-product .mpp-save-line{ margin:2px 0 8px !important; font-size:13px; color:#94a3b8; }
.single-product .mpp-save-line strong{ color:#0f172a; font-weight:700; }

/* Trust line variables (fallbacks) */
:root{
  --mp-trust-size: 12px;
  --mp-trust-color: #8091a7;
}

/* Custom bulk note banners (drawer + pages) */
.mpp-bulk-note{ margin:12px 0 18px !important; border-radius:10px; padding:12px 14px !important; font-weight:600; }
.mpp-bulk-note.woocommerce-info::before,
.mpp-bulk-note.woocommerce-message::before{ content:none !important; display:none !important; }
.mpp-bulk-note.woocommerce-info,
.mpp-bulk-note.woocommerce-message{ padding-left:14px !important; }
.wc-block-mini-cart__drawer #mpp-mini-bulk-banner .mpp-bulk-note{ margin:8px 16px 12px !important; border-radius:10px; }
.wc-block-mini-cart__drawer #mpp-mini-bulk-banner .mpp-bulk-note.woocommerce-info::before,
.wc-block-mini-cart__drawer #mpp-mini-bulk-banner .mpp-bulk-note.woocommerce-message::before{ content:none !important; display:none !important; }
.wc-block-mini-cart__drawer #mpp-mini-bulk-banner .mpp-bulk-note{ padding-left:14px !important; }

/* --- Trust band: one-line scroll on small screens (single kept) --- */
.mpp-trustband{ position:relative; overflow:hidden; }
.mpp-trustband .trust-grid{
  display:flex; flex-wrap:nowrap; gap:18px; padding:12px 14px; overflow-x:auto;
  overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; scroll-snap-type:x proximity;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 12px, #000 calc(100% - 12px), transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 12px, #000 calc(100% - 12px), transparent 100%);
}
.mpp-trustband .trust-item{ flex:0 0 auto; min-width:max-content; scroll-snap-align:center; }
.mpp-trustband .trust-grid::-webkit-scrollbar{ display:none; }
.mpp-trustband .trust-grid{ scrollbar-width:none; }
@media (max-width:640px){
  .mpp-trustband{ margin:10px 12px 14px; border-radius:14px; }
  .mpp-trustband .trust-grid{ gap:14px; padding:10px 12px; }
  .mpp-trustband .trust-item{ font-size:15px; padding:10px 12px; }
}

/* --- Never let the PAGE horizontally overflow --- */
html, body{ max-width:100%; overflow-x:hidden; }

/************ MPP — CONSOLIDATED OVERRIDES (put last) ************/

/* ---------- Variables ---------- */
:root{
  /* Used by your JS promo bar to push header/page down */
  --mpp-promo-offset: 46px;

  /* Trustline on cards + singles */
  --mp-trust-size: 12px;
  --mp-trust-color:#8091a7;

  /* Brand ink (already used above) */
  --mpp-ink:#0f172a;
}
@media (max-width:480px){
  :root{ --mpp-promo-offset:54px; --mp-trust-size:11px; }
}

/* Never allow horizontal overflow site-wide */
html, body{ max-width:100%; overflow-x:hidden; }

/* ---------- Header sits below promo bar ---------- */
.site-header, .header, .header-wrapper, .main-header-bar{
  position: sticky;
  top: var(--mpp-promo-offset) !important;
  z-index: 9998;
}

/* ---------- Product grid: force clean responsive columns ---------- */
/* Classic loop cards */
.woocommerce ul.products{
  display:grid !important;
  gap:26px !important;
  grid-template-columns:repeat(4, minmax(260px,1fr)) !important;
}
@media (max-width:1024px){
  .woocommerce ul.products{ grid-template-columns:repeat(3, minmax(220px,1fr)) !important; }
}
@media (max-width:640px){
  /* ✅ 2×2 on phones */
  .woocommerce ul.products{ grid-template-columns:repeat(2, minmax(0,1fr)) !important; gap:14px !important; }
}

/* Block-based grids (Product Collection, etc.) */
.wc-block-grid__products{
  display:grid !important;
  gap:26px !important;
  grid-template-columns:repeat(4, minmax(260px,1fr)) !important;
}
@media (max-width:1024px){
  .wc-block-grid__products{ grid-template-columns:repeat(3, minmax(220px,1fr)) !important; }
}
@media (max-width:640px){
  /* ✅ 2×2 on phones */
  .wc-block-grid__products{ grid-template-columns:repeat(2, minmax(0,1fr)) !important; gap:14px !important; }
  .wc-block-components-product-image img,
  .wc-block-grid__product-image img,
  .woocommerce ul.products li.product a img{ height:220px !important; }
}

/* ---------- Card polish (keeps your look) ---------- */
:is(.wc-block-grid__products .wc-block-grid__product,
    .woocommerce ul.products li.product){
  background:#fff; border:1px solid #e5e7eb; border-radius:14px; padding:14px;
  box-shadow:0 6px 18px rgba(0,0,0,.05); transition:transform .16s, box-shadow .16s;
  position:relative; overflow:visible;
}
:is(.wc-block-grid__products .wc-block-grid__product:hover,
    .woocommerce ul.products li.product:hover){
  transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.08);
}
:is(.wc-block-grid__product-image img,
    .wc-block-components-product-image img,
    .woocommerce ul.products li.product a img){
  width:100%; height:260px; object-fit:contain; background:#fff;
}
:is(.wc-block-grid__product-title,
    .woocommerce-loop-product__title,
    .wc-block-woocommerce-product-title){
  font-weight:700; font-size:16px; margin-top:.25rem;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.4em;
}
ul.products li.product .price{ margin:.35rem 0 !important; font-size:1.1em; font-weight:600; }

/* Price trustline (grid + single) */
.wc-block-grid__product .wp-block-woocommerce-product-price::after,
.wc-block-grid__product .wc-block-components-product-price::after,
.woocommerce ul.products li.product .price::after{
  content: "Lab-tested • Ships from USA" !important;
  display:block !important; margin-top:6px !important; font-size:var(--mp-trust-size) !important;
  line-height:1.3 !important; color:var(--mp-trust-color) !important; font-weight:500 !important;
}
.single-product .summary .price::after{
  content:"Batch-tested by HPLC • Ships from USA" !important;
  display:block !important; margin-top:6px !important; font-size:var(--mp-trust-size) !important;
  line-height:1.3 !important; color:var(--mp-trust-color) !important; font-weight:500 !important;
}

/* SALE / OOS pills (unchanged look, trimmed) */
.woocommerce ul.products li.product .onsale,
.wc-block-grid__product-onsale,
.wc-block-components-product-sale-badge{
  position:absolute !important; top:10px !important; right:10px !important; z-index:20 !important;
  display:inline-flex !important; align-items:center; justify-content:center;
  padding:6px 14px !important; border-radius:999px !important; background:#dc2626 !important; color:#fff !important;
  font:800 12px/1 system-ui,-apple-system,"Segoe UI",sans-serif !important; text-transform:uppercase !important; letter-spacing:.08em !important;
}
.woocommerce ul.products li.product.outofstock a:first-child::before,
.wc-block-product.outofstock .wc-block-grid__product-image::before{
  content:"OUT OF STOCK"; position:absolute; top:10px; left:10px; z-index:20;
  display:inline-flex; align-items:center; justify-content:center; padding:6px 14px; border-radius:999px;
  background:#6b7280; color:#fff; font:800 12px/1 system-ui,-apple-system,"Segoe UI",sans-serif; text-transform:uppercase; letter-spacing:.08em;
}

/* ---------- Add to cart buttons (grid) ---------- */
.wc-block-grid__product .wp-block-button__link,
.woocommerce ul.products li.product .button{
  display:inline-flex; align-items:center; justify-content:center;
  padding:8px 14px; border:none; border-radius:12px; font-weight:700; line-height:1;
  background:#0f172a; color:#fff; min-width:110px; transition:transform .15s, filter .15s;
}
.wc-block-grid__product .wp-block-button__link:hover,
.woocommerce ul.products li.product .button:hover{ transform:translateY(-1px); filter:brightness(.95); }
@media (max-width:640px){
  ul.products li.product .button{ width:100% !important; padding:12px 14px !important; }
}

/* ---------- Mini-cart drawer: always visible, content scrolls ---------- */
.wc-block-mini-cart__drawer{
  top: var(--mpp-promo-offset) !important;
  height: calc(100vh - var(--mpp-promo-offset)) !important;
  display:flex !important; flex-direction:column !important; overflow:hidden !important;
}
.wc-block-mini-cart__drawer .wc-block-mini-cart__drawer__contents{
  flex:1 1 auto !important; min-height:0 !important; overflow:auto !important;
  padding-bottom: env(safe-area-inset-bottom, 12px);
}
.wc-block-mini-cart__footer{
  flex:0 0 auto !important; position:sticky !important; bottom:0 !important;
  box-shadow:0 -6px 12px rgba(0,0,0,.04);
}
.wc-block-mini-cart__drawer .components-modal__screen-overlay,
.components-modal__screen-overlay{
  top: var(--mpp-promo-offset) !important;
  height: calc(100vh - var(--mpp-promo-offset)) !important;
}

/* Trim long text in drawer lines to keep it compact */
.wc-block-mini-cart__drawer .wc-block-mini-cart__product .wc-block-mini-cart__product-description,
.wc-block-mini-cart__drawer .wc-block-mini-cart__product .wc-block-mini-cart__product-metadata,
.wc-block-mini-cart__drawer .wc-block-mini-cart__product .woocommerce-product-details__short-description,
.wc-block-mini-cart__drawer .wc-block-mini-cart__product .product-details,
.wc-block-mini-cart__drawer .wc-block-mini-cart__product .entry-summary,
.wc-block-mini-cart__drawer .wc-block-mini-cart__product .short,
.wc-block-mini-cart__drawer .wc-block-mini-cart__product .wc-block-mini-cart__product-details p:not(.price),
.wc-block-mini-cart__drawer .wc-block-mini-cart__product .wc-block-mini-cart__product-details ul,
.wc-block-mini-cart__drawer .wc-block-mini-cart__product .wc-block-mini-cart__product-details ol,
.wc-block-mini-cart__drawer .wc-block-mini-cart__product .wc-block-mini-cart__product-details dl{
  display:none !important;
}

/* ---------- Mobile header + cart FAB polish ---------- */
@media (max-width:640px){
  .site-header, .header, .main-header-bar{ padding:6px 10px !important; }
  .site-logo img, .header__heading-logo, .header .logo img{ max-height:34px !important; height:auto !important; }
  .site-branding .site-title, .header .site-title{
    font-size: clamp(22px, 7vw, 30px) !important; line-height:1.1 !important; margin:0 !important;
  }

  /* Floating cart button */
  .wc-block-mini-cart__button{
    position: fixed !important; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    width: 52px; height: 52px; border-radius:999px !important; padding:0 !important;
    display:flex; align-items:center; justify-content:center; background:#0f172a; color:#fff;
    box-shadow:0 10px 24px rgba(0,0,0,.18); z-index:10000;
  }
  .wc-block-mini-cart__button .wc-block-mini-cart__amount,
  .wc-block-mini-cart__button .wc-block-mini-cart__subtotal{ display:none !important; }

  /* Give cookie bars a bit of clearance from the FAB */
  .cky-consent-bar, .cookie-notice, #cookie-law-info-bar{ margin-bottom:70px !important; }
}

/* ---------- Trust band: internal scroll only on small screens ---------- */
.mpp-trustband{ position:relative; overflow:hidden; }
.mpp-trustband .trust-grid{
  display:flex; flex-wrap:nowrap; gap:18px; padding:12px 14px; overflow-x:auto;
  overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; scroll-snap-type:x proximity;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 12px, #000 calc(100% - 12px), transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 12px, #000 calc(100% - 12px), transparent 100%);
}
.mpp-trustband .trust-item{ flex:0 0 auto; min-width:max-content; scroll-snap-align:center; }
.mpp-trustband .trust-grid::-webkit-scrollbar{ display:none; }
.mpp-trustband .trust-grid{ scrollbar-width:none; }

/************ End consolidated overrides ************/
/* ===== Cookies: shrink the floating icon on mobile & keep it clear of UI ===== */
@media (max-width:640px){
  /* Floating revisit/manage buttons (CookieYes, Complianz, Cookie Notice, CookieConsent) */
  .cky-btn-revisit,
  .cky-revisit,
  .cky-revisit-bottom-left,
  .cky-revisit-bottom-right,
  #cmplz-manage-consent,
  .cookie-notice-revoke-button,
  .cc-revoke {
    width: 48px !important;
    height: 48px !important;
    border-radius: 999px !important;
    padding: 0 !important;
    font-size: 0 !important; /* hide any text inside */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.15) !important;
    z-index: 10001 !important; /* above content, below your cart FAB */
  }

  /* Icon inside the button */
  .cky-btn-revisit svg,
  #cmplz-manage-consent svg,
  .cookie-notice-revoke-button svg,
  .cc-revoke svg {
    width: 22px !important;
    height: 22px !important;
  }

  /* Keep it off the very edge and clear of the cart FAB */
  .cky-revisit-bottom-left,
  .cookie-notice-revoke-button,
  .cc-revoke {
    left: 12px !important;
    bottom: 84px !important; /* give space for any bottom bars/FABs */
    right: auto !important;
  }
  .cky-revisit-bottom-right { /* if your plugin uses bottom-right */
    right: 12px !important;
    bottom: 84px !important;
    left: auto !important;
  }

  /* Preference / settings panel readability on phones (CookieYes) */
  .cky-preference-center { font-size: 14px !important; }
  .cky-preference-center .cky-title,
  .cky-preference-center .cky-accordion-header { font-size: 16px !important; }

  /* Initial cookie bar buttons (various plugins) */
  #cookie-notice .cn-button,
  .cky-consent-bar .cky-btn,
  .cmplz-cookiebanner .cmplz-btn {
    padding: 10px 14px !important;
    font-size: 14px !important;
  }
}
/* ===== CookieYes banner: compact mobile layout ===== */
@media (max-width:640px){
  /* Card container */
  .cky-consent-container,
  .cky-consent-bar { 
    z-index: 10001 !important;               /* above content, below cart FAB if needed */
  }
  .cky-consent-container .cky-consent {
    padding: 12px 14px !important;           /* was very roomy */
    border-radius: 14px !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.12) !important;
  }

  /* Header + body text */
  .cky-consent-container .cky-title { 
    font-size: 18px !important;              /* down from ~22–24 */
    line-height: 1.2 !important;
    margin-bottom: 8px !important;
  }
  .cky-consent-container .cky-description,
  .cky-consent-container .cky-content p {
    font-size: 14px !important;
    line-height: 1.4 !important;
    margin: 0 0 10px !important;
  }

  /* Button stack */
  .cky-consent-container .cky-btn {
    height: 44px !important;
    padding: 10px 14px !important;
    font-size: 15px !important;
    border-radius: 10px !important;
  }
  .cky-consent-container .cky-btn + .cky-btn {
    margin-top: 8px !important;              /* tighter gaps */
  }

  /* “Customize” drawer / preference center text sizes */
  .cky-preference-center { font-size: 14px !important; }
  .cky-preference-center .cky-title,
  .cky-preference-center .cky-accordion-header { font-size: 16px !important; }

  /* If CookieYes renders a footer bar instead of the card */
  .cky-consent-bar .cky-btn {
    padding: 10px 14px !important;
    font-size: 14px !important;
    height: 40px !important;
  }
}

/* (keep the smaller floating revisit icon you already added) */
/* === CookieYes banner: compact, phone-sized (final pass) === */
@media (max-width:640px){
  /* Outer container: inset from edges, above content but below your cart FAB */
  .cky-consent-container,
  .cky-consent-bar{
    left: 10px !important;
    right: 10px !important;
    width: auto !important;
    z-index: 10001 !important;
  }

  /* Card */
  .cky-consent-container .cky-consent{
    padding: 12px 14px !important;          /* tighter */
    border-radius: 12px !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.12) !important;
  }

  /* Title + body */
  .cky-consent-container .cky-title{
    font-size: 18px !important;             /* was ~22–24 */
    line-height: 1.2 !important;
    margin: 0 0 6px !important;
  }
  .cky-consent-container .cky-description,
  .cky-consent-container .cky-content p{
    font-size: 13.5px !important;           /* was very large */
    line-height: 1.38 !important;
    margin: 0 0 10px !important;
  }

  /* Buttons */
  .cky-consent-container .cky-btn{
    height: 42px !important;                /* shorter */
    padding: 8px 12px !important;
    font-size: 14px !important;
    border-radius: 10px !important;
  }
  .cky-consent-container .cky-btn + .cky-btn{
    margin-top: 8px !important;
  }

  /* If your install uses the bottom bar layout instead of the card */
  .cky-consent-bar .cky-btn{
    height: 40px !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
  }

  /* Preference center (Customize) */
  .cky-preference-center{ font-size: 13.5px !important; }
  .cky-preference-center .cky-title,
  .cky-preference-center .cky-accordion-header{ font-size: 16px !important; }
}
/* === CookieYes banner: MINI CARD (much smaller) === */
/* Phones */
@media (max-width: 640px){
  /* Position + size */
  .cky-consent-container,
  .cky-consent-bar{
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    bottom: 16px !important;
    width: 90vw !important;
    max-width: 320px !important;   /* <- hard size cap */
    z-index: 10000 !important;
  }

  /* Card shell */
  .cky-consent-container .cky-consent{
    padding: 10px 12px !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.18) !important;
  }

  /* Typography (tight) */
  .cky-consent-container .cky-title{
    font-size: 15px !important;
    line-height: 1.2 !important;
    margin: 0 0 4px !important;
  }
  .cky-consent-container .cky-description,
  .cky-consent-container .cky-content p{
    font-size: 12.5px !important;
    line-height: 1.35 !important;
    margin: 0 0 8px !important;
  }

  /* Buttons (short) */
  .cky-consent-container .cky-btn{
    height: 36px !important;
    padding: 6px 10px !important;
    font-size: 13px !important;
    border-radius: 10px !important;
  }
  .cky-consent-container .cky-btn + .cky-btn{
    margin-top: 6px !important;
  }

  /* If your install uses the “bar” variant */
  .cky-consent-bar .cky-btn{
    height: 34px !important;
    padding: 6px 10px !important;
    font-size: 12.5px !important;
    border-radius: 10px !important;
  }
}

/* Desktops/tablets: keep it modest too (optional) */
@media (min-width: 641px){
  .cky-consent-container,
  .cky-consent-bar{
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    bottom: 24px !important;
    width: 520px !important;
    max-width: 520px !important;
  }
  .cky-consent-container .cky-consent{ padding: 14px 16px !important; border-radius: 14px !important; }
  .cky-consent-container .cky-title{ font-size: 16px !important; margin-bottom: 6px !important; }
  .cky-consent-container .cky-description{ font-size: 13.5px !important; }
  .cky-consent-container .cky-btn{ height: 38px !important; font-size: 13.5px !important; }
}
/* ===== MOBILE HEADER: WORDMARK-ONLY ===== */
@media (max-width: 640px){
  .site-header{
    padding:10px 0 !important;
    background:#f8fafc;
    border-bottom:1px solid #e5e7eb;
  }
  /* hide round logo, keep title */
  .site-header .wp-block-site-logo{ display:none !important; }
  .site-header .wp-block-site-title{
    font-weight:700 !important;
    font-size:20px !important;
    line-height:1.05 !important;
    margin:0 !important;
  }
  .site-header .wp-block-site-tagline{ display:none !important; }
}
/* DESKTOP slight tighten */
@media (min-width: 641px){
  .site-header{ padding-top:14px !important; padding-bottom:14px !important; }
}
/* ===== Wordmark polish (works with Option C) ===== */
.site-header .wp-block-site-title a{
  /* modern, professional system stack */
  font-family: system-ui, -apple-system, "SF Pro Display", "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;          /* tighten tracking */
  line-height: 1.05 !important;
  text-decoration: none !important;
  text-underline-offset: 3px;
  color: #0f172a !important;
  font-kerning: normal;
  -webkit-font-smoothing: antialiased;
}

/* Subtle brand accent bar under the title (looks “designed” but restrained) */
.site-header .wp-block-site-title a::after{
  content: "";
  display: block;
  width: 36px;                      /* short, confident underline */
  height: 3px;
  margin-top: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, #0891b2, #0ea5b7);  /* teal brand accent */
}

/* Mobile sizing + spacing */
@media (max-width: 640px){
  .site-header{ padding: 10px 0 !important; border-bottom: 1px solid #e5e7eb; background:#f8fafc; }
  .site-header .wp-block-site-title{ margin: 0 !important; }
  .site-header .wp-block-site-title a{ font-size: 20px !important; }

  /* Hamburger alignment/size so it feels intentional */
  .site-header .wp-block-navigation__responsive-container-open{
    transform: translateY(1px);
  }
  .site-header .wp-block-navigation__responsive-container-open svg{
    width: 24px; height: 24px;
    stroke: #0f172a;
  }
}

/* Desktop tweak (keeps it bold but not screaming) */
@media (min-width: 641px){
  .site-header .wp-block-site-title a{ font-size: 22px !important; }
  .site-header{ padding-top: 14px !important; padding-bottom: 14px !important; }
}
/* --- MOBILE HEADER: slimmer, crisper wordmark & aligned burger --- */
@media (max-width: 640px){
  .site-header{
    padding: 8px 0 !important;          /* a touch shorter */
    background:#f9fbfc;
    border-bottom:1px solid #e6edf2;
    box-shadow:0 1px 0 rgba(15,23,42,.03);
  }
  .site-header .wp-block-site-title a{
    font-size:19px !important;           /* slightly smaller so it breathes */
    letter-spacing:-0.015em;             /* keep the “designed” feel */
  }
  /* shorter accent bar so it looks intentional, not underlined text */
  .site-header .wp-block-site-title a::after{
    width:28px; height:2px; margin-top:3px;
  }
  /* nudge hamburger to baseline align with the title */
  .site-header .wp-block-navigation__responsive-container-open{
    transform: translateY(2px);
  }
  .site-header .wp-block-navigation__responsive-container-open svg{
    width:24px; height:24px; stroke:#0f172a;
  }
}

/* --- WOO STORE NOTICE (the “Buy 10+ vials…” bar): make it shorter on phones --- */
@media (max-width: 640px){
  .woocommerce-store-notice,
  .woocommerce-store-notice p{
    padding:6px 10px !important;
    font-size:13px !important;
    line-height:1.25 !important;
  }
  .woocommerce-store-notice .woocommerce-store-notice__dismiss-link{
    font-size:13px !important;
  }
}
/* ===== Header polish (desktop) ===== */
.site-header{
  background:#fff;
  box-shadow:0 6px 24px rgba(2,14,31,.06);
  border-radius:0 0 16px 16px;
}

/* Site title styling + accent underline */
.site-header .wp-block-site-title a{
  font-weight:800;
  letter-spacing:-.2px;
  color:#0f172a;
  text-decoration:none;
}
@media (min-width:783px){
  .site-header .wp-block-site-title a{ font-size:clamp(22px,1.6vw,28px); }
}
.site-header .wp-block-site-title a::after{
  content:"";
  display:block;
  width:44px;height:3px;
  background:linear-gradient(90deg,#06b6d4,#60a5fa);
  border-radius:2px;
  margin-top:6px;
}

/* Tighter padding overall */
.site-header{ padding-block:10px !important; }

/* Hide tagline on mobile for less clutter */
@media (max-width:782px){
  .site-header .wp-block-site-tagline{ display:none !important; }
}

/* ===== Mobile: inline menu under the title (no full-screen drawer) ===== */
@media (max-width:782px){
  .site-header{ padding:10px 14px !important; border-radius:0 0 14px 14px; }
  .site-header .site-brand{ gap:10px; align-items:center; }
  .site-header .wp-block-site-title a{ font-size:clamp(20px,7vw,28px); }

  /* Force the nav container to render inline, not as an overlay */
  .site-header .wp-block-navigation__responsive-container,
  .site-header .wp-block-navigation__responsive-container.is-menu-open{
    position:static !important;
    inset:auto !important;
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
    height:auto !important;
    background:transparent !important;
    box-shadow:none !important;
    padding:6px 0 0;
  }
  /* Hide open/close buttons (hamburger/close) */
  .site-header .wp-block-navigation__responsive-container-open-button,
  .site-header .wp-block-navigation__responsive-close{ display:none !important; }

  /* Stack links as clean “pills” under the brand */
  .site-header .wp-block-navigation ul{
    display:block !important;
    gap:0 !important;
    margin:6px 0 2px !important;
  }
  .site-header .wp-block-navigation li{ margin:6px 0 0 !important; }
  .site-header .wp-block-navigation a{
    display:block;
    padding:12px 14px;
    font-weight:700;
    font-size:clamp(15px,4.4vw,17px);
    line-height:1.1;
    border-radius:12px;
    background:#f8fafc;
    border:1px solid #e5e7eb;
    color:#0f172a;
    text-decoration:none;
  }
  .site-header .wp-block-navigation a:hover{
    background:#eef6ff;
    border-color:#bfdbfe;
  }

  /* Tighten space above the hero */
  .site-header + *{ margin-top:10px; }
}

/* Slightly stronger desktop hover */
.site-header .wp-block-navigation a:hover{ color:#0b1220; }

/* MPP — FINAL clamp around chip nav (wins specificity) */
@media (max-width:781.98px){
  header.site-header{ padding-block:0 !important; }
  header.site-header .wp-block-group.site-brand{ margin:0 !important; }
  header.site-header .wp-block-navigation__container{ margin-block:0 !important; }

  /* keep chips clear of the cart bubble */
  header.site-header .wp-block-navigation__container{
    padding-right:112px !important;  /* adjust 96–128 if your cart size changes */
  }

  /* nuke any stray spacer/margin below header */
  header.site-header + *{ margin-top:0 !important; }
  header.site-header + .wp-block-spacer{ display:none !important; height:0 !important; }

  /* hero (Cover) sometimes adds padding—keep it tight */
  header.site-header + .wp-block-cover .wp-block-cover__inner-container{
    padding-top:6px !important; 
    padding-bottom:8px !important;
  }
}
/* promo bar shouldn't add gap */
#mpp-promo-bar{ margin-bottom:0 !important; }
/* MPP — kill the extra space above/below the chip nav on phones (final pass) */
@media (max-width: 782px){
  /* zero out any theme gaps inside the header */
  .site-header{
    --wp--style--block-gap:0 !important;
    --wp--custom--gap--vertical:0 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
  }

  /* title row: no margins */
  .site-header .wp-block-group.site-brand{ margin:0 !important; gap:2px !important; }
  .site-header .wp-block-site-title{ margin:0 !important; line-height:1.02 !important; }

  /* nav row = one tight line, no top/btm margin */
  .site-header .wp-block-navigation,
  .site-header .wp-block-navigation__responsive-container,
  .site-header .wp-block-navigation__responsive-container-content{
    position:static !important; transform:none !important; height:auto !important; opacity:1 !important;
  }
  .site-header .wp-block-navigation__container{
    display:flex !important; flex-wrap:nowrap !important; align-items:center !important;
    margin:0 !important;                       /* <<< kills the “mystery” gap */
    padding-inline:8px 112px !important;       /* room for the floating cart */
    overflow-x:auto !important; white-space:nowrap !important;
    scrollbar-width:none;
  }
  .site-header .wp-block-navigation__container::-webkit-scrollbar{ display:none; }

  /* chips: short height only */
  .site-header .wp-block-navigation__container > li{ margin:0 !important; flex:0 0 auto !important; }
  .site-header .wp-block-navigation__container > li > a,
  .site-header a.wp-block-navigation-item__content{
    padding:3px 10px !important; font-size:13.5px !important;
    border:1px solid #e3edf8 !important; border-radius:999px !important; background:#fff !important;
  }

  /* remove any gap right below the header */
  .site-header + *{ margin-top:0 !important; }
  .site-header + .wp-block-spacer{ display:none !important; height:0 !important; }

  /* some themes add root padding – kill it */
  .wp-site-blocks, .entry-content, .wp-block-template-part{
    --wp--style--root--padding-top:0 !important; padding-top:0 !important; margin-top:0 !important;
  }
}
/* MPP — remove any Spacers/Separators INSIDE the header (mobile & desktop) */
header.site-header .wp-block-spacer,
header.site-header .wp-block-separator,
header.site-header hr {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* also nuke any margins Groups may add inside the header */
header.site-header .wp-block-group { margin: 0 !important; }

/* MPP – Mobile top-gap killer (paste LAST) */
@media (max-width: 782px){
  html, body{ margin:0 !important; padding:0 !important; }

  /* ensure no offset is applied */
  :root{ --mpp-promo-offset:0px !important; }
  #mpp-promo-bar{ display:none !important; }

  /* header should not sit below any phantom offset */
  header.site-header{ top:0 !important; margin-top:0 !important; }

  /* kill theme root padding above header */
  .wp-site-blocks,
  .wp-block-template-part,
  .wp-block-group:has(> header.site-header){
    padding-top:0 !important; margin-top:0 !important;
  }

  /* if WooCommerce Store Notice is on, don't push header down */
  .woocommerce-store-notice{ position:fixed !important; top:0; left:0; right:0; }
  .woocommerce-store-notice + header.site-header{ margin-top:0 !important; }

  /* nuke any spacer right under the header */
  header.site-header + .wp-block-spacer{ display:none !important; height:0 !important; }
}
/* MPP — tighten space between title and chip nav on phones */
@media (max-width: 782px){
  /* kill any internal gaps the theme adds */
  header.site-header{
    --wp--style--block-gap:0 !important;
    --wp--custom--gap--vertical:0 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    margin:0 !important;
  }

  /* title row: no margins */
  header.site-header .wp-block-group.site-brand{ margin:0 !important; }
  header.site-header .wp-block-site-title{ margin:0 !important; }

  /* chip nav: pull it right up under the title */
  header.site-header .wp-block-navigation,
  header.site-header .wp-block-navigation__responsive-container,
  header.site-header .wp-block-navigation__responsive-container-content{
    margin:0 !important;
  }
  header.site-header .wp-block-navigation__container{
    margin:0 !important;
    padding:2px 8px 0 !important;   /* ↓ tighten this number if you want them touching */
  }
}
/* MPP — tighten space between title and chip nav on phones */
@media (max-width: 782px){
  /* kill any internal gaps the theme adds */
  header.site-header{
    --wp--style--block-gap:0 !important;
    --wp--custom--gap--vertical:0 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    margin:0 !important;
  }

  /* title row: no margins */
  header.site-header .wp-block-group.site-brand{ margin:0 !important; }
  header.site-header .wp-block-site-title{ margin:0 !important; }

  /* chip nav: pull it right up under the title */
  header.site-header .wp-block-navigation,
  header.site-header .wp-block-navigation__responsive-container,
  header.site-header .wp-block-navigation__responsive-container-content{
    margin:0 !important;
  }
  header.site-header .wp-block-navigation__container{
    margin:0 !important;
    padding:2px 8px 0 !important;   /* ↓ tighten this number if you want them touching */
  }
}
/* MPP — FINAL mobile top-gap clamp */
@media (max-width: 782px){
  /* No header offset from any promo/store notice */
  :root{ --mpp-promo-offset:0 !important; }
  #mpp-promo-bar{ display:none !important; }
  .woocommerce-store-notice{ position:fixed !important; top:0; left:0; right:0; }

  /* Header sticks to the very top, no extra spacing */
  header.site-header{
    position:sticky !important;
    top:0 !important;
    margin:0 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    --wp--style--block-gap:0 !important;
    --wp--custom--gap--vertical:0 !important;
  }

  /* Title row + chip nav: remove margins and tighten */
  header.site-header .wp-block-group.site-brand,
  header.site-header .wp-block-site-title,
  header.site-header .wp-block-navigation,
  header.site-header .wp-block-navigation__responsive-container,
  header.site-header .wp-block-navigation__responsive-container-content{
    margin:0 !important;
  }
  header.site-header .wp-block-navigation__container{
    margin:0 !important;
    padding:2px 8px 0 !important; /* ↓ make 0 if you want them touching */
    overflow-x:auto; white-space:nowrap; scrollbar-width:none;
  }
  header.site-header .wp-block-navigation__container::-webkit-scrollbar{ display:none; }

  /* Kill any global padding the theme adds above the header */
  .wp-site-blocks, .wp-block-template-part{ padding-top:0 !important; margin-top:0 !important; }

  /* No spacer right under the header */
  header.site-header + .wp-block-spacer{ display:none !important; height:0 !important; }
}

/* Remove after verifying — this was only for debugging
html{ border-top:3px solid #14b8a6 !important; }
*/
/***** MPP — PROMO BAR + ZERO-GAP HEADER (FINAL) *****/

/* ---------- 0) Safe defaults ---------- */
:root{
  --mpp-promo-offset: 0px;          /* default when no promo bar exists */
  --mpp-ink:#0f172a;
}

/* ---------- 1) The promo bar itself (always visible, fixed) ---------- */
#mpp-promo-bar{
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 99999;
  background:#0f172a;               /* dark slate */
  color:#fff;
  padding: 10px 44px 10px 14px;
  text-align: center;
  font-size: 14px;
  line-height: 1.35;
  border-bottom: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 8px 20px rgba(0,0,0,.06);
}
#mpp-promo-bar a{ color:#a7f3d0; text-decoration: underline; }
#mpp-promo-bar b, #mpp-promo-bar strong{ color:#a7f3d0; }
#mpp-promo-bar .mpp-promo-close{ display:none; } /* no close button for now */

/* ---------- 2) Auto-offset header/page *only if* the bar exists ---------- */
/* Desktop/tablet height */
html:has(#mpp-promo-bar){ --mpp-promo-offset: 46px; }
/* Phone height */
@media (max-width: 480px){
  html:has(#mpp-promo-bar){ --mpp-promo-offset: 54px; }
}

/* Push the whole page down exactly the bar’s height (no JS) */
html:has(#mpp-promo-bar) body{ padding-top: var(--mpp-promo-offset) !important; }

/* Keep the header “stuck” just below the promo bar */
.site-header, .header, .header-wrapper, .main-header-bar{
  position: sticky;
  top: var(--mpp-promo-offset) !important;
  z-index: 9998;
  background:#f8fafc;
  border-bottom:1px solid #e5e7eb;
  box-shadow:0 2px 8px rgba(15,23,42,.04);
}

/* ---------- 3) Kill all stray gaps around the mobile chip nav ---------- */
@media (max-width: 782px){
  /* Remove theme block gaps and margins inside header */
  header.site-header{
    --wp--style--block-gap:0 !important;
    --wp--custom--gap--vertical:0 !important;
    margin:0 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }
  header.site-header .wp-block-group,
  header.site-header .wp-block-site-title,
  header.site-header .wp-block-navigation,
  header.site-header .wp-block-navigation__responsive-container,
  header.site-header .wp-block-navigation__responsive-container-content{
    margin:0 !important;
  }
  /* chip row = tight, single line, scrollable if needed */
  header.site-header .wp-block-navigation__container{
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    margin:0 !important;
    padding:2px 8px 0 !important;    /* tighten under the title */
    overflow-x:auto !important;
    white-space:nowrap !important;
    scrollbar-width:none;
  }
  header.site-header .wp-block-navigation__container::-webkit-scrollbar{ display:none; }

  /* chip pill sizing */
  header.site-header .wp-block-navigation__container > li{ margin:0 !important; flex:0 0 auto !important; }
  header.site-header .wp-block-navigation__container > li > a,
  header.site-header a.wp-block-navigation-item__content{
    padding:3px 10px !important;
    font-size:13.5px !important;
    border:1px solid #e3edf8 !important;
    border-radius:999px !important;
    background:#fff !important;
    color:var(--mpp-ink) !important;
    text-decoration:none !important;
  }

  /* remove any space right below the header before the hero */
  header.site-header + *{ margin-top:0 !important; }
  header.site-header + .wp-block-spacer{ display:none !important; height:0 !important; }

  /* some themes add root padding—nuke it */
  .wp-site-blocks, .entry-content, .wp-block-template-part{
    --wp--style--root--padding-top:0 !important;
    padding-top:0 !important; margin-top:0 !important;
  }
}

/* ---------- 4) Wordmark polish + subtle accent line (kept tidy) ---------- */
.site-header .wp-block-site-title a{
  font-family: system-ui,-apple-system,"Segoe UI",Inter,Roboto,"Helvetica Neue",Arial,sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
  line-height: 1.05 !important;
  text-decoration: none !important;
  color: #0f172a !important;
}
.site-header .wp-block-site-title a::after{
  content:"";
  display:block;
  width: 32px; height: 2px; margin-top: 4px; border-radius: 999px;
  background: linear-gradient(90deg,#0891b2,#0ea5b7);
}
@media (max-width:640px){
  .site-header .wp-block-site-title a{ font-size:20px !important; }
}

/* ---------- 5) Optional: slimmer Woo Store Notice so it doesn't create a “second gap” ---------- */
@media (max-width:640px){
  .woocommerce-store-notice,
  .woocommerce-store-notice p{
    padding:6px 10px !important;
    font-size:13px !important;
    line-height:1.25 !important;
  }
}
/***** End *****/
/************ 1) PROMO BAR (works with Woo Store Notice or #mpp-promo-bar) ************/
:root{ --mpp-promo-h:0px; }

/* Your custom promo bar (if present) */
#mpp-promo-bar{
  position:fixed; left:0; right:0; top:0; z-index:10000;
  background:#0f172a; color:#fff;
  padding:8px 44px 8px 12px; line-height:1.25; font-size:14px;
  border-bottom:1px solid rgba(255,255,255,.08); box-shadow:0 8px 20px rgba(0,0,0,.06);
}
#mpp-promo-bar a{ color:#a7f3d0; text-decoration:underline; }
#mpp-promo-bar b, #mpp-promo-bar strong{ color:#a7f3d0; }
#mpp-promo-bar .mpp-promo-close{
  position:absolute; right:10px; top:50%; transform:translateY(-50%);
  background:transparent; border:0; color:#fff; font-size:20px; line-height:1; opacity:.9; cursor:pointer;
}

/* WooCommerce Store Notice (if you prefer using Woo’s built-in banner) */
.woocommerce-store-notice{
  position:fixed !important; left:0; right:0; top:0; z-index:9999;
  background:#0f172a !important; color:#fff !important;
  padding:8px 12px !important; line-height:1.25 !important; font-size:14px !important;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.woocommerce-store-notice a{ color:#a7f3d0 !important; text-decoration:underline !important; }

/* Set the header offset ONLY when a promo bar exists */
body:has(#mpp-promo-bar){ --mpp-promo-h:36px; }
body:has(.woocommerce-store-notice){ --mpp-promo-h:36px; }
@media (max-width:480px){
  body:has(#mpp-promo-bar){ --mpp-promo-h:42px; }
  body:has(.woocommerce-store-notice){ --mpp-promo-h:42px; }
}

/************ 2) HEADER STICKS UNDER THE BAR, NO GAPS ************/
.site-header, .header, .header-wrapper, .main-header-bar{
  position:sticky; top:var(--mpp-promo-h) !important; z-index:9998;
  margin:0 !important; /* never add theme margins */
  background:#f8fafc; border-bottom:1px solid #e6edf2;
  box-shadow:0 1px 0 rgba(15,23,42,.03);
}

/* Remove any root padding/margin the theme adds above/below header */
.wp-site-blocks, .entry-content, .wp-block-template-part{
  --wp--style--root--padding-top:0 !important;
  padding-top:0 !important; margin-top:0 !important;
}

/* The element after the header should not create a gap */
.site-header + *{ margin-top:0 !important; }

/************ 3) CHIP NAV (mobile) – tighten spacing and prevent wrap ************/
@media (max-width:782px){
  header.site-header{
    --wp--style--block-gap:0 !important;
    --wp--custom--gap--vertical:0 !important;
    padding-top:0 !important; padding-bottom:0 !important;
  }
  header.site-header .wp-block-group.site-brand,
  header.site-header .wp-block-site-title{ margin:0 !important; }

  /* Inline chip row directly under the title, no extra margins */
  header.site-header .wp-block-navigation,
  header.site-header .wp-block-navigation__responsive-container,
  header.site-header .wp-block-navigation__responsive-container-content{
    position:static !important; transform:none !important; height:auto !important;
    margin:0 !important; opacity:1 !important; visibility:visible !important;
  }
  header.site-header .wp-block-navigation__container{
    margin:0 !important; padding:2px 8px 0 !important;
    display:flex !important; flex-wrap:nowrap !important; overflow-x:auto !important; white-space:nowrap !important;
    scrollbar-width:none;
  }
  header.site-header .wp-block-navigation__container::-webkit-scrollbar{ display:none; }

  /* Compact “pill” look */
  header.site-header .wp-block-navigation__container > li{ margin:0 !important; flex:0 0 auto !important; }
  header.site-header .wp-block-navigation__container > li > a,
  header.site-header a.wp-block-navigation-item__content{
    padding:6px 10px !important; font-size:13.5px !important;
    border:1px solid #e3edf8 !important; border-radius:999px !important; background:#fff !important; color:#0f172a !important;
  }
}

/************ 4) DESKTOP – remove the “Trusted Purity” line & tighten ************/
.site-header .site-tagline,
.site-branding .site-description,
.site-header .wp-block-site-tagline{ display:none !important; } /* hides “Trusted Purity” */

@media (min-width:783px){
  .site-header{ padding-block:12px !important; }
  .site-header .wp-block-site-title a{
    font-weight:800; letter-spacing:-.02em; color:#0f172a !important; text-decoration:none !important;
  }
}

/************ 5) MISC POLISH ************/
/* Don’t let the page ever scroll sideways */
html, body{ max-width:100%; overflow-x:hidden; }

/* If your floating cart or cookie bars overlap, give them space from the bottom edge */
@media (max-width:640px){
  .cky-consent-bar, .cookie-notice, #cookie-law-info-bar{ margin-bottom:70px !important; }
}
/***** MPP — FIX MOBILE HAMBURGER + KEEP PROMO BAR + ZERO GAPS (paste LAST) *****/

/* --- Promo bar (use your #mpp-promo-bar or Woo Store Notice) --- */
:root{ --mpp-promo-h:0px; }
body:has(#mpp-promo-bar){ --mpp-promo-h:46px; }
body:has(.woocommerce-store-notice){ --mpp-promo-h:46px; }
@media (max-width:480px){
  body:has(#mpp-promo-bar){ --mpp-promo-h:54px; }
  body:has(.woocommerce-store-notice){ --mpp-promo-h:54px; }
}

/* If you use your custom bar */
#mpp-promo-bar{
  position:fixed; top:0; left:0; right:0; z-index:10000;
  background:#0f172a; color:#fff; font-size:14px; line-height:1.3;
  padding:8px 44px 8px 12px; border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 8px 20px rgba(0,0,0,.06);
}

/* Header sits directly under the bar; no stray gaps */
.site-header{
  position:sticky; top:var(--mpp-promo-h) !important; z-index:9998;
  margin:0 !important; padding-block:10px !important;
  background:#fff; border-bottom:1px solid #e6edf2; box-shadow:0 1px 0 rgba(15,23,42,.03);
}
.wp-site-blocks, .entry-content, .wp-block-template-part{ padding-top:0 !important; margin-top:0 !important; }
.site-header + *{ margin-top:0 !important; }

/* Hide the tagline (“Trusted Purity”) that adds desktop space */
.site-header .wp-block-site-tagline,
.site-branding .site-description{ display:none !important; }

/* --- CRITICAL: Restore the Navigation overlay on mobile --- */
/* Undo old “inline chips” hack */
@media (max-width:782px){
  /* Show the hamburger and the close button */
  .site-header .wp-block-navigation__responsive-container-open,
  .site-header .wp-block-navigation__responsive-container-close,
  .site-header .wp-block-navigation__responsive-container-open-button{
    display:block !important;
  }

  /* Make the overlay a full-screen panel under the promo bar */
  .site-header .wp-block-navigation__responsive-container{
    position:fixed !important;
    inset: var(--mpp-promo-h) 0 0 0 !important;
    height: calc(100vh - var(--mpp-promo-h)) !important;
    background:#ffffff !important;
    transform:none !important; opacity:1 !important; visibility:visible !important;
    z-index:10010 !important;
    padding:14px 16px !important;
  }

  /* Ensure content inside the overlay scrolls */
  .site-header .wp-block-navigation__responsive-container-content{
    height:100% !important; overflow:auto !important;
  }

  /* Vertical link list in the overlay */
  .site-header .wp-block-navigation__container{
    display:flex !important; flex-direction:column !important;
    gap:10px !important; padding:0 !important; margin:0 !important;
    overflow:visible !important; white-space:normal !important;
  }

  /* Link style */
  .site-header .wp-block-navigation__container > li > a,
  .site-header a.wp-block-navigation-item__content{
    display:block; padding:12px 14px !important; border-radius:12px !important;
    background:#f8fafc !important; border:1px solid #e5e7eb !important;
    color:#0f172a !important; text-decoration:none !important; font-weight:700 !important;
  }
}

/* Keep the minicart button above page stuff on phones */
@media (max-width:640px){
  .wc-block-mini-cart__button{ z-index:10020 !important; }
}

/* Prevent horizontal scroll, always */
html, body{ max-width:100%; overflow-x:hidden; }
/* =======================
   FIX MOBILE NAV OVERLAY
   (Blockbase / Navigation block)
   ======================= */

/* Height of your promo bar; page + header offset below it */
:root{ --mpp-promo-h: 40px; }            /* ~40–46 desktop, 42–54 mobile */
@media (max-width:480px){ :root{ --mpp-promo-h: 44px; } }

/* Promo bar itself (fixed, no gap) */
#mpp-promo-bar{
  position:fixed; top:0; left:0; right:0; z-index:10000;
  background:#0f172a; color:#fff; padding:8px 12px; line-height:1.25; font-size:14px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
html body{ padding-top:var(--mpp-promo-h) !important; } /* push page down exactly bar height */

/* Header sticks directly under the bar */
.site-header{ position:sticky; top:var(--mpp-promo-h) !important; z-index:9998; }

/* ---------- UNDO earlier "inline chips" so hamburger works ---------- */
@media (max-width: 782px){
  /* Make the overlay container ACT like an overlay again */
  .site-header .wp-block-navigation__responsive-container{
    position: fixed !important;
    inset: 0 !important;
    top: var(--mpp-promo-h) !important;      /* sit under promo bar */
    background: #fff !important;
    display: none !important;                /* hidden by default */
    transform: none !important; opacity: 1 !important; visibility: visible !important;
    z-index: 10002 !important;               /* above promo/header */
    padding: 10px 14px !important;
  }
  /* Only show when menu is open */
  .site-header .wp-block-navigation__responsive-container.is-menu-open{
    display: block !important;
  }

  /* Make sure the hamburger and close buttons are visible */
  .site-header .wp-block-navigation__responsive-container-open-button,
  .site-header .wp-block-navigation__responsive-close{
    display: inline-flex !important;
  }

  /* Stack nav links vertically with comfy targets */
  .site-header .wp-block-navigation__container{
    display:block !important;
    margin:0 !important; padding:8px 0 !important;
  }
  .site-header .wp-block-navigation__container > li{ margin:0 0 8px 0 !important; }
  .site-header .wp-block-navigation__container a,
  .site-header a.wp-block-navigation-item__content{
    display:block !important;
    padding:12px 14px !important;
    font-size:16px !important;
    line-height:1.2 !important;
    border-radius:12px !important;
    border:1px solid #e6edf2 !important;
    background:#fff !important; color:#0f172a !important; text-decoration:none !important;
  }
}

/* ---------- Keep desktop tidy; hide tagline line (“Trusted Purity”) ---------- */
.site-header .site-tagline,
.site-branding .site-description,
.site-header .wp-block-site-tagline{ display:none !important; }

/* Never allow sideways scroll */
html, body{ max-width:100%; overflow-x:hidden; }
/************* MPP — FINAL FIX (put LAST) *************/

/* 1) Promo bar visible on all sizes */
#mpp-promo-bar{
  position:fixed; top:0; left:0; right:0; z-index:10000;
  background:#0f172a; color:#fff; padding:8px 44px 8px 12px;
  line-height:1.25; font-size:14px; border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 8px 20px rgba(0,0,0,.06);
}
@media (max-width:782px){ #mpp-promo-bar{ display:block !important; } } /* override any earlier 'display:none' */

/* 2) Define the bar height → offset page & sticky header */
:root{ --mpp-promo-h:46px; }
@media (max-width:480px){ :root{ --mpp-promo-h:54px; } }
html body{ padding-top:var(--mpp-promo-h) !important; }
.site-header{ position:sticky; top:var(--mpp-promo-h) !important; z-index:9998; }

/* 3) MOBILE NAV OVERLAY — undo previous “inline chips” rules */
@media (max-width:782px){
  /* show hamburger & close */
  .site-header .wp-block-navigation__responsive-container-open-button,
  .site-header .wp-block-navigation__responsive-close{
    display:inline-flex !important;
  }

  /* make the drawer an overlay under the promo bar */
  .site-header .wp-block-navigation__responsive-container{
    position:fixed !important;
    top:var(--mpp-promo-h) !important; left:0 !important; right:0 !important; bottom:0 !important;
    background:#fff !important;
    display:none !important;            /* hidden until opened */
    transform:none !important; opacity:1 !important; visibility:visible !important;
    z-index:10010 !important; padding:14px 16px !important;
  }
  /* show when toggled */
  .site-header .wp-block-navigation__responsive-container.is-menu-open{
    display:block !important;
  }

  /* container content scrolls */
  .site-header .wp-block-navigation__responsive-container-content{
    height:100% !important; overflow:auto !important;
  }

  /* vertical link list inside overlay */
  .site-header .wp-block-navigation__container{
    display:block !important; margin:0 !important; padding:8px 0 !important;
    overflow:visible !important; white-space:normal !important;
  }
  .site-header .wp-block-navigation__container > li{ margin:0 0 10px 0 !important; }
  .site-header .wp-block-navigation__container a,
  .site-header a.wp-block-navigation-item__content{
    display:block !important; padding:12px 14px !important; border-radius:12px !important;
    border:1px solid #e6edf2 !important; background:#f8fafc !important; color:#0f172a !important; font-weight:700 !important;
  }

  /* nuke earlier 'position:static' hacks that break the overlay */
  .site-header .wp-block-navigation,
  .site-header .wp-block-navigation__responsive-container,
  .site-header .wp-block-navigation__responsive-container-content{
    margin:0 !important;               /* keep, but don't force position/static */
  }
}

/* 4) Safety: never hide the promo bar on phones (wins over any old rules) */
@media (max-width:782px){
  #mpp-promo-bar{ display:block !important; }
}
/* === MPP HERO — INTEGRATION PATCH (paste LAST) ===================== */

/* 1) Make sure the hero sits exactly under the promo/header stack */
:root{ --mpp-promo-h: var(--mpp-promo-h, 0px); } /* keep existing var if present */
.mpp-hero2.alignfull{
  scroll-margin-top: var(--mpp-promo-h);
}

/* 2) Kill any theme-added gap above the first full-bleed block */
.wp-site-blocks > .mpp-hero2.alignfull:first-child,
.entry-content > .mpp-hero2.alignfull:first-child{
  margin-top: 0 !important;
}

/* 3) Ensure no overlap on phones (promo bar + header + hero) */
@media (max-width: 782px){
  html body{ padding-top: var(--mpp-promo-h) !important; }
  header.site-header{ top: var(--mpp-promo-h) !important; }
  .mpp-hero2__inner{ padding: 12px 12px 10px !important; }
  .mpp-hero2__copy{ left: 12px; right: 12px; }
}

/* 4) Make sure the full-bleed actually bleeds (some themes clip it) */
.mpp-hero2.mpp-fullbleed{ overflow: clip; }
/* === MPP — Emergency mobile promo-bar offset (paste LAST) === */

/* 1) Define the bar height once (phones vs larger) */
@media (max-width:480px){
  :root{ --mpp-promo-h: 54px !important; }
}
@media (min-width:481px){
  :root{ --mpp-promo-h: 46px !important; }
}

/* 2) Map any old variable name to this one */
:root{
  --mpp-promo-offset: var(--mpp-promo-h) !important;
}

/* 3) Keep the bar visible on mobile (some earlier rules hide it) */
#mpp-promo-bar{ display:block !important; position:fixed; top:0; left:0; right:0; z-index:10000; }

/* 4) Push the page and header down exactly the bar’s height */
html body{ padding-top: var(--mpp-promo-h) !important; }
header.site-header,
.site-header, .header, .main-header-bar{
  position:sticky !important;
  top: var(--mpp-promo-h) !important;
  margin-top:0 !important;
}

/* 5) Nuke any theme/root padding that re-inserts a gap above header */
.wp-site-blocks, .entry-content, .wp-block-template-part{
  --wp--style--root--padding-top:0 !important;
  padding-top:0 !important; margin-top:0 !important;
}
/* === MPP — Tighter Header (desktop + mobile, paste LAST) === */

/* Base: slimmer header and controls */
.site-header, .header, .main-header-bar{
  padding-block: 8px !important;                 /* was ~10–14px */
  line-height: 1 !important;
}

/* Logo / wordmark sizing */
.site-logo img,
.header__heading-logo,
.header .logo img{
  max-height: 42px !important;                   /* desktop logo cap */
  height: auto !important; width: auto !important;
}

/* Navigation link pills: shorter vertically, tighter gaps */
.wp-block-navigation a,
.primary-navigation > li > a,
.header__menu-item{
  padding: 8px 10px !important;                  /* was 10–12px */
  border-radius: 10px !important;
}

/* Woo mini-cart + account icons slightly smaller so the row feels lean */
.wc-block-mini-cart__button,
.wc-block-customer-account__account-icon{
  font-size: 26px !important;                    /* was ~30px */
}

/* Kill any stray margin directly under the header */
.site-header + *{ margin-top: 0 !important; }

/* ---------- Mobile (<=640) ---------- */
@media (max-width:640px){
  .site-header, .header, .main-header-bar{
    padding-block: 6px !important;               /* tighter mobile header */
    top: var(--mpp-promo-h) !important;          /* keep under promo bar */
  }

  /* Wordmark size + hamburger alignment */
  .site-header .wp-block-site-title a{
    font-size: 18.5px !important;
    letter-spacing: -0.015em !important;
  }
  .site-logo img{ max-height: 32px !important; }

  .wp-block-navigation__responsive-container-open svg{
    width: 22px !important; height: 22px !important;
  }

  /* Drawer links: comfy but compact */
  .site-header .wp-block-navigation__container a,
  .site-header a.wp-block-navigation-item__content{
    padding: 10px 12px !important;
    font-size: 15px !important;
    border-radius: 10px !important;
  }
}

/* ---------- Tablet (641–980): a touch slimmer too ---------- */
@media (min-width:641px) and (max-width:980px){
  .site-header, .header, .main-header-bar{ padding-block: 8px !important; }
  .wp-block-navigation a,
  .primary-navigation > li > a{ padding: 8px 10px !important; }
  .site-logo img{ max-height: 38px !important; }
}

/* Keep sticky position and promo offset intact (belt + suspenders) */
.site-header, .header, .main-header-bar{
  position: sticky !important;
  top: var(--mpp-promo-h) !important;
  z-index: 9998;
}
/* === MPP HERO: full-bleed banner, no box styling (paste LAST) === */

/* kill the rounded corners + drop shadow */
.mpp-hero2{
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* make sure the block truly bleeds edge-to-edge */
.mpp-hero2.alignfull,
.mpp-hero2.mpp-fullbleed{
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  overflow: clip; /* avoids any accidental scrollbars */
}

/* remove any theme gap above/below the first full-bleed section */
.wp-site-blocks > .mpp-hero2.alignfull:first-child,
.entry-content > .mpp-hero2.alignfull:first-child{
  margin-top: 0 !important;
}
.site-header + .mpp-hero2.alignfull{ margin-top: 0 !important; }

/* keep phone version flush too */
@media (max-width:980px){
  .mpp-hero2{ border-radius: 0 !important; }
}
/* Ensure transparent PNGs show through */
.wc-block-grid__product-image img,
.wc-block-components-product-image img,
.woocommerce ul.products li.product a img,
.single-product div.images img {
  background: transparent !important;
}

/* Optional: consistent, classy shadow (not baked into the PNG) */
.wc-block-grid__product .wc-block-grid__product-image,
.woocommerce ul.products li.product a img {
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.12));
}
/* CONTACT PAGE POLISH
   Hide the default page title only when our contact block is next on the page */
h1.entry-title:has(+ .mpp-contact){ display:none; }

/* Pull our section a hair closer to the header */
.mpp-contact{ padding-top: 4px; }

/* Chips & badges a bit tidier */
.mpp-contact .mpp-chips{ gap:6px; margin:4px 0 14px; }
.mpp-contact .mpp-chip{ padding:7px 10px; font-size:.9rem; }

/* Jetpack field rhythm (labels + inputs) */
.mpp-contact .wp-block-jetpack-contact-form .jetpack-field{ margin-bottom:10px; }
.mpp-contact .wp-block-jetpack-contact-form label{ margin-bottom:5px; }
.mpp-contact .wp-block-jetpack-contact-form input[type="text"],
.mpp-contact .wp-block-jetpack-contact-form input[type="email"],
.mpp-contact .wp-block-jetpack-contact-form input[type="tel"],
.mpp-contact .wp-block-jetpack-contact-form textarea{
  padding:10px 12px; border-radius:10px;
}

/* Radio list spacing */
.mpp-contact .wp-block-jetpack-contact-form .jetpack-field-radio li{ margin:6px 0; }

/* Submit button sizing and mobile behavior */
.mpp-contact .wp-block-jetpack-contact-form .wp-block-jetpack-button button{
  padding:12px 16px; border-radius:12px; font-weight:800;
}
@media (max-width:640px){
  .mpp-contact .wp-block-jetpack-contact-form .wp-block-jetpack-button button{
    width:100%;
  }
}

/* Success/notice styling after submit */
.mpp-contact .contact-form-submission,
.mpp-contact .contact-form-submission p{
  background:#f0f9ff; border:1px solid #bae6fd; color:#0c4a6e;
  padding:10px 12px; border-radius:10px;
}
/* ===== MPP Contact page polish ===== */

/* Pull our custom block closer to the header */
.mpp-contact { padding-top: 0; margin-top: -6px; }

/* Chips: slightly smaller, tighter gap */
.mpp-contact .mpp-chips { gap: 6px; margin: 2px 0 12px; }
.mpp-contact .mpp-chip { padding: 6px 10px; font-size: .90rem; line-height: 1; }

/* Labels + inputs rhythm */
.mpp-contact .wp-block-jetpack-contact-form .jetpack-field { margin-bottom: 10px; }
.mpp-contact .wp-block-jetpack-contact-form label { margin-bottom: 5px; }

.mpp-contact .wp-block-jetpack-contact-form input[type="text"],
.mpp-contact .wp-block-jetpack-contact-form input[type="email"],
.mpp-contact .wp-block-jetpack-contact-form input[type="tel"],
.mpp-contact .wp-block-jetpack-contact-form textarea {
  padding: 10px 12px;
  border-radius: 10px;
}

/* Radios: cleaner spacing */
.mpp-contact .wp-block-jetpack-contact-form .jetpack-field-radio li { margin: 6px 0; }

/* Submit button sizing */
.mpp-contact .wp-block-jetpack-contact-form .wp-block-jetpack-button button {
  padding: 12px 16px;
  border-radius: 12px;
  font-weight: 800;
}

/* Sidebar card: a touch denser for desktop, keeps it readable */
.mpp-contact .mpp-help { padding: 12px 14px; line-height: 1.5; }
.mpp-contact .mpp-help h3 { margin: 2px 0 8px; }

/* Mobile: make the submit full width & stack columns nicely */
@media (max-width: 640px){
  .mpp-contact .wp-block-jetpack-contact-form .wp-block-jetpack-button button { width: 100%; }
  .mpp-contact { margin-top: -4px; }
}

/* Success notice after submit */
.mpp-contact .contact-form-submission,
.mpp-contact .contact-form-submission p{
  background: #f0f9ff;
  border: 1px solid #bae6fd;
  color: #0c4a6e;
  padding: 10px 12px;
  border-radius: 10px;
}
/* Hide the theme page title on the Contact page by slug */
body.page-contact h1.entry-title,
body.page-contact-us h1.entry-title { display:none; }


/* ==== Checkout payment card styling (applies to all payment methods) ==== */

/* Make the payment option look like a clean card */
.wc-block-checkout__payment-method .wc-block-components-radio-control__option {
  position: relative;
  margin: 0 0 12px !important;
  padding: 14px 16px 14px 56px !important; /* keep room for the radio circle */
  border-radius: 12px !important;
  background: #f8fafc !important;
}

/* Draw the border + shadow on the card (Woo uses ::after for this) */
.wc-block-checkout__payment-method .wc-block-components-radio-control__option::after {
  border-radius: 12px !important;
  border-width: 1px !important;
  border-color: #e2e8f0 !important;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}

/* Highlight when selected */
.wc-block-checkout__payment-method .wc-block-components-radio-control__option-checked {
  background: #eff6ff !important;
}
.wc-block-checkout__payment-method .wc-block-components-radio-control__option-checked::after {
  border-color: #0ea5e9 !important;
  box-shadow:
    0 0 0 1px rgba(14, 165, 233, 0.45),
    0 10px 24px rgba(15, 23, 42, 0.08);
}

/* Description text inside the card */
.wc-block-checkout__payment-method .wc-block-components-radio-control__description {
  font-size: 13px;
  line-height: 1.4;
  color: #475569;
  margin-top: 6px;
}
/* Checkout payment section – remove the big outer box */
.wc-block-checkout__payment-method fieldset,
.wc-block-checkout__payment-method .wc-block-components-radio-control {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Payment options list wrapper */
.wc-block-checkout__payment-method .wc-block-components-radio-control__options {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Legend “Payment options” spacing */
.wc-block-checkout__payment-method legend {
  margin-bottom: 8px !important;
}
/* Checkout payment card clean-up */

/* 1) Left-align the method title text inside the card */
.wc-block-checkout__payment-method .wc-block-components-radio-control__label {
  justify-content: flex-start !important;
  text-align: left !important;
}

.wc-block-checkout__payment-method .wc-block-components-radio-control__label-text {
  text-align: left !important;
  width: 100%;
}

/* 2) Kill any extra outer border/background */
.wc-block-checkout__payment-method fieldset,
.wc-block-checkout__payment-method .wc-block-components-radio-control,
.wc-block-checkout__payment-method .wc-block-components-radio-control__options {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* === MPP – FORCE CLEAN PAYMENT CARD (paste at very bottom) === */

/* Remove the big outer box */
.wc-block-checkout__payment-methods,
.wc-block-checkout__payment-method,
.wc-block-checkout__payment-method fieldset,
.wc-block-checkout__payment-method .wc-block-components-radio-control,
.wc-block-checkout__payment-method .wc-block-components-radio-control__options {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* The actual card for each method */
.wc-block-components-radio-control__option {
  position: relative !important;
  list-style: none !important;
  margin: 0 0 14px !important;
  padding: 14px 16px 14px 56px !important; /* room on the left for the radio */
  border-radius: 12px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 6px 18px rgba(15,23,42,.06) !important;
}

/* Kill Woo’s extra pseudo-box that makes it look weird */
.wc-block-components-radio-control__option::after {
  content: none !important;
}

/* Highlight state when selected */
.wc-block-components-radio-control__option-checked {
  background: #eff6ff !important;
  border-color: #0ea5e9 !important;
  box-shadow:
    0 0 0 1px rgba(14,165,233,.45),
    0 10px 24px rgba(15,23,42,.10) !important;
}

/* Put the radio circle in the left margin of the card */
.wc-block-components-radio-control__input {
  position: absolute !important;
  left: 18px !important;
  top: 18px !important;
}

/* Title row inside the card */
.wc-block-components-radio-control__label {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  justify-content: flex-start !important;
  background: transparent !important;
  padding: 0 !important;
  text-align: left !important;
}

.wc-block-components-radio-control__label-text {
  text-align: left !important;
  width: 100%;
  font-weight: 600 !important;
}

/* Description text under the title */
.wc-block-components-radio-control__description {
  margin-top: 6px !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: #475569 !important;
}
/* === MPP — Simple payment card, no inner pill (FINAL) === */

/* Whole card (title + description) */
.wc-block-checkout__payment-method .wc-block-components-radio-control__option {
  position: relative !important;
  margin: 0 0 16px !important;
  padding: 14px 16px 14px 52px !important;  /* room for radio */
  border-radius: 10px !important;
  border: 1px solid #e5e7eb !important;
  background: #ffffff !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06) !important;
}

/* Remove Woo's pill outline/extra box */
.wc-block-checkout__payment-method .wc-block-components-radio-control__option::after {
  content: none !important;
}

/* Kill the blue "pill" styling on the label itself */
.wc-block-checkout__payment-method .wc-block-components-radio-control__label {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

/* Title text */
.wc-block-checkout__payment-method .wc-block-components-radio-control__label-text {
  text-align: left !important;
  width: 100%;
  font-weight: 600 !important;
}

/* Description under title */
.wc-block-checkout__payment-method .wc-block-components-radio-control__description {
  margin-top: 6px !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: #475569 !important;
}

/* Radio circle position */
.wc-block-checkout__payment-method .wc-block-components-radio-control__input {
  position: absolute !important;
  left: 18px !important;
  top: 18px !important;
}

/* Selected state */
.wc-block-checkout__payment-method
.wc-block-components-radio-control__option-checked {
  background: #eff6ff !important;
  border-color: #0ea5e9 !important;
  box-shadow:
    0 0 0 1px rgba(14, 165, 233, 0.45),
    0 10px 24px rgba(15, 23, 42, 0.08) !important;
}
/* Long product description styling (mpp-prose) */
.mpp-prose .mpp-cols{
  display:grid;
  gap:14px;
}
@media (min-width:700px){
  .mpp-prose .mpp-cols{
    grid-template-columns:1fr 1fr;
  }
}
.mpp-prose h2,
.mpp-prose h3{
  margin:.2em 0 .35em;
}
.mpp-prose h4{
  margin:.2em 0 .25em;
}
.mpp-prose ul{
  margin:.2em 0 .6em;
  padding-left:1.1em;
}
.mpp-prose p{
  margin:.4em 0 .8em;
  line-height:1.55;
}
.mpp-prose code{
  background:#f6f8fb;
  border:1px solid #e5e7eb;
  border-radius:6px;
  padding:.04em .35em;
}
/* Short spec list under price */
.single-product .mpp-spec{
  list-style:none;
  margin:10px 0 0;
  padding:8px 0 6px;
  border-top:1px solid #e5e7eb;
  border-bottom:1px solid #e5e7eb;
  font-size:0.92rem;
}

.single-product .mpp-spec li{
  display:flex;
  gap:6px;
  padding:2px 0;
  margin:0;
}

.single-product .mpp-spec .label{
  flex:0 0 135px;
  font-weight:600;
  color:#111827;
}

.single-product .mpp-spec .value{
  flex:1 1 auto;
  color:#374151;
}

/* MOBILE: show as inline "Label: value" so it doesn't look broken */
@media (max-width:480px){
  .single-product .mpp-spec li{
    display:block;
  }
  .single-product .mpp-spec .label{
    display:inline;
    flex:none;
    font-weight:600;
    margin-right:4px;
  }
  .single-product .mpp-spec .label::after{
    content:":";
  }
  .single-product .mpp-spec .value{
    display:inline;
  }
}
/* MPP – Fix stretched product images on desktop */
@media (min-width: 768px) {
  :is(.wc-block-grid__product-image img,
      .wc-block-components-product-image img,
      .wp-block-woocommerce-product-template img,
      .woocommerce ul.products li.product a img) {
    width: auto !important;
    max-width: 100%;
    height: auto !important;
    max-height: 260px; /* adjust if you want them taller/shorter */
    object-fit: contain;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}
/* MPP – Center product grids on desktop */
@media (min-width: 768px) {
  /* Limit how wide the collections can get */
  .wp-block-woocommerce-product-collection {
    max-width: 1200px;
    margin: 0 auto 3rem;   /* center + some space below */
    padding: 0 16px;
  }

  /* Keep products nicely centered, not stretched to edges */
  .wp-block-woocommerce-product-collection .wc-block-grid__products {
    justify-content: center;
    gap: 24px; /* spacing between cards */
  }

  /* Optional: keep each card from getting too wide */
  .wp-block-woocommerce-product-collection .wc-block-grid__product {
    flex: 0 1 260px;
    max-width: 260px;
  }
}

.mpp-preorder-note{
  margin:10px 0 0;
  font-size:14px;
  opacity:.85;
}

.mpp-preorder-badge{
  position:absolute;
  top:10px;
  left:10px;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  background:#111;
  color:#fff;
  z-index:5;
}
/* === MPP: Make PRE-ORDER buttons stand out === */
/* Classic Woo product cards */
.woocommerce ul.products li.product.onbackorder .button{
  background:#f59e0b !important;      /* amber */
  color:#111827 !important;
  border:1px solid rgba(17,24,39,.25) !important;
  box-shadow:0 10px 22px rgba(245,158,11,.28) !important;
}

/* Add a little icon so it reads differently at a glance */
.woocommerce ul.products li.product.onbackorder .button::before{
  content:"⏳ ";
  font-weight:800;
}

/* Hover state */
.woocommerce ul.products li.product.onbackorder .button:hover{
  filter:brightness(.95) !important;
  transform:translateY(-1px);
}

/* If you’re using Woo Blocks collections too */
.wc-block-product.onbackorder .wp-block-button__link{
  background:#f59e0b !important;
  color:#111827 !important;
  border:1px solid rgba(17,24,39,.25) !important;
  box-shadow:0 10px 22px rgba(245,158,11,.28) !important;
}
.wc-block-product.onbackorder .wp-block-button__link::before{
  content:"⏳ ";
  font-weight:800;
}
/* === Shop section heading – refined / luxury === */
.mpp-grid-title{
  max-width:1200px;
  margin:20px auto 8px;
  padding:0 16px;
  font-family:system-ui,-apple-system,"SF Pro Display","Segoe UI","Helvetica Neue",Arial,sans-serif;
  font-weight:700;
  font-size:clamp(24px, 5vw, 30px);
  line-height:1.2;
  letter-spacing:0.06em;
  color:#020617;
  text-align:left;
}

.mpp-grid-title::after{
  content:"";
  display:block;
  width:80px;
  height:3px;
  margin-top:8px;
  border-radius:999px;
  background:linear-gradient(90deg,#fbbf24,#f59e0b);
}

.mpp-grid-sub{
  max-width:1200px;
  margin:4px auto 18px;
  padding:0 16px;
  font-family:system-ui,-apple-system,"SF Pro Text","Segoe UI","Helvetica Neue",Arial,sans-serif;
  font-size:14px;
  line-height:1.5;
  text-transform:uppercase;
  letter-spacing:0.12em;
  color:#6b7280;
  text-align:left;
}

@media (max-width:768px){
  .mpp-grid-title,
  .mpp-grid-sub{ text-align:left; }
}

/* === Hide the default WP page title (Learn page = 11, Peptides 101 = 3111) === */
/* NOTE: using .page-id-XX (no "body") to avoid selector rejection in some fields */
.page-id-11 .entry-title,
.page-id-11 h1.entry-title,
.page-id-11 .wp-block-post-title,
.page-id-11 .page-title,
.page-id-3111 .entry-title,
.page-id-3111 h1.entry-title,
.page-id-3111 .wp-block-post-title,
.page-id-3111 .page-title{
  display:none !important;
  margin:0 !important;
  padding:0 !important;
}

/* Learn page: stop wpautop from creating blank grid items */
.page-id-11 #mpp-learn-root .mpp-guides-grid > br,
.page-id-11 #mpp-learn-root .mpp-actions > br{
  display:none !important;
}

.page-id-11 #mpp-learn-root .mpp-guides-grid > p{
  margin:0 !important;
  display:contents !important;
}

.page-id-11 #mpp-learn-root .mpp-guides-grid p:empty{
  display:none !important;
}

/* ---------- Full-bleed helpers ---------- */
.mpp-fullbleed,
.is-full-bleed{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}
@supports (overflow:clip){
  .mpp-fullbleed,
  .is-full-bleed{ overflow:clip; }
}

/* ---------- Section background ---------- */
.mpp-hero2{
  --mpp-bg:url('https://mypurepeptide.com/wp-content/uploads/2025/11/shop-banner.jpg.webp');
  background-image:var(--mpp-bg);
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
  position:relative;
  overflow:hidden;
  border-radius:16px;
  box-shadow:0 10px 28px rgba(15,23,42,.12);
}
.mpp-hero2::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    90deg,
    rgba(8,16,28,.78) 0%,
    rgba(8,16,28,.50) 46%,
    rgba(8,16,28,.12) 78%,
    rgba(8,16,28,0) 100%
  );
  pointer-events:none;
}

/* ---------- Layout (desktop/tablet) ---------- */
.mpp-hero2__inner{
  position:relative;
  z-index:1;
  max-width:1200px;
  margin:0 auto;
  padding:clamp(18px,3vw,30px) clamp(16px,3vw,32px);
  min-height:clamp(320px,34vw,440px);
  display:flex;
  align-items:center;
  gap:clamp(12px,3vw,40px);
}
.mpp-hero2__copy{ flex:0 1 560px; min-width:280px; }
.mpp-hero2__title{
  margin:0 0 .35rem;
  font:800 clamp(24px,3.4vw,40px)/1.12 system-ui,-apple-system,"Segoe UI",Inter,Roboto,"Helvetica Neue",Arial,sans-serif;
  color:#f7fbff;
  letter-spacing:.2px;
  text-shadow:0 2px 18px rgba(140,180,230,.18);
}
.mpp-hero2__sub{
  margin:.15rem 0 0;
  font:600 clamp(13px,1.5vw,17px)/1.35 system-ui,-apple-system,"Segoe UI",Inter,Roboto,"Helvetica Neue",Arial,sans-serif;
  color:#d9e6f7;
  letter-spacing:.15px;
}

/* ---------- Vials image ---------- */
.mpp-hero2__media{ flex:0 0 auto; margin:0; transform:translateX(-2vw); }
.mpp-hero2__media img{
  width:clamp(380px,46vw,560px);
  height:auto;
  display:block;
  max-width:100%;
  filter:drop-shadow(0 14px 26px rgba(0,0,0,.28));
}

/* ---------- Trust strip ---------- */
.mpp-trustbar{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.mpp-trustbar .trust-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:9999px;
  background:rgba(15,23,42,.35);
  border:1px solid rgba(255,255,255,.10);
  color:#e7f0ff;
  font-weight:600;
  font-size:13.5px;
  text-decoration:none;
  backdrop-filter:saturate(140%) blur(4px);
  -webkit-backdrop-filter:saturate(140%) blur(4px);
}
.mpp-trustbar .trust-item:hover{
  background:rgba(15,23,42,.45);
  border-color:rgba(255,255,255,.18);
}
.mpp-trustbar .ti-icon{
  width:18px;
  height:18px;
  display:inline-flex;
  color:#bcd3ff;
}
.mpp-trustbar .ti-icon svg{ width:18px; height:18px; display:block; }

/* ---------- Tablet ---------- */
@media (max-width:980px){
  .mpp-hero2{ border-radius:12px; }
  .mpp-hero2__inner{ min-height:clamp(340px,50vw,480px); gap:14px; }
  .mpp-hero2__media{ transform:none; }
  .mpp-hero2__media img{ width:clamp(340px,60vw,520px); }
}

/* ---------- Phones ---------- */
@media (max-width:640px){
  .mpp-hero2{ border-radius:12px; background-position:center 16%; }
  .mpp-hero2__inner{
    min-height:clamp(260px, 88vw, 360px);
    padding:14px 14px 12px;
    display:block;
    position:relative;
  }
  .mpp-hero2__copy{
    position:absolute;
    left:14px; top:14px; right:14px;
    max-width:75vw;
  }
  .mpp-hero2__title{
    font:800 clamp(20px,6vw,26px)/1.1 system-ui,-apple-system,"Segoe UI",Inter,Roboto,"Helvetica Neue",Arial,sans-serif;
    margin:0 0 .2rem;
  }
  .mpp-hero2__sub{
    font:600 clamp(12px,3.6vw,14px)/1.3 system-ui,-apple-system,"Segoe UI",Inter,Roboto,"Helvetica Neue",Arial,sans-serif;
    margin:0;
  }
  .mpp-trustbar{ gap:6px; margin-top:8px; }
  .mpp-trustbar .trust-item{ font-size:12.5px; padding:6px 9px; }
  .mpp-trustbar .ti-icon{ width:16px; height:16px; }
  .mpp-trustbar .ti-icon svg{ width:16px; height:16px; }
  .mpp-hero2__media{
    position:absolute;
    right:min(10px,4vw);
    bottom:-10px;
    transform:none;
    margin:0;
  }
  .mpp-hero2__media img{ width:min(50vw,290px); }
}
