/* ============================================================
 * BAMMAT — GLOBAL.CSS
 * Extracted from PART 9 (was 10 inline <style> blocks tied to
 * functions). Pure presentation, now editable in one place.
 * Loaded site-wide via the child theme.
 * ============================================================ */

/* ---- Hide sticky bottom toolbar on desktop (mobile-only) ---- */
@media (min-width: 769px) {
    .wd-toolbar { display: none !important; }
}

/* ---- Mobile toolbar spacing ---- */
@media only screen and (max-width: 768px) {
        .wd-toolbar {
            padding-top: 30px !important;
            padding-bottom: calc(35px + env(safe-area-inset-bottom)) !important;
        }
    }

/* ---- Mobile header rounded ---- */
@media (max-width: 1024px) {
        .whb-general-header {
            border-radius: 0 0 20px 20px;
            overflow: hidden;
        }
    }

/* ---- Shop product image size ---- */
.product-grid-item .product-image-link img,
    .product-grid-item .hover-img img {
        display: block;
        max-width: 150px;
        max-height: 150px;
        width: auto;
        height: auto;
        margin-left: auto;
        margin-right: auto;
    }

/* ---- Shop product title one line ---- */
.product-grid-item .product-image-link img {
        object-fit: contain !important;
        height: 25em !important;
    }

/* ---- Mobile account label ----
   (Guest "Login" override removed — the account button now shows its real
   "My Account" label for everyone, styled by the shared .wd-toolbar-label rule.) */

/* ---- Dokan store background ---- */
.dokan-store .wd-page-content {
        background-color: rgb(249,249,249);
    }
    .dokan-store .wd-products-with-bg:not(.products-bordered-grid) :is(.product-wrapper,.wd-cat-wrap) {
        background-color: #fff;
    }

/* ---- Trash bin icons ---- */
/* ── MINI CART remove button ── */
    .cart-widget-side .woocommerce-mini-cart .remove {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        top: 5px;
        inset-inline-end: 5px;
        z-index: 10;
    }
    .cart-widget-side .woocommerce-mini-cart .remove:after {
        font-size: 16px;
    }
    .cart-widget-side .woocommerce-mini-cart-item {
        position: relative;
    }
    .cart-widget-side .woocommerce-mini-cart-item a.cart-item-link {
        padding-inline-end: 55px;
    }
    .woocommerce-mini-cart .remove { font-family: inherit !important; }
    .woocommerce-mini-cart .remove:after {
        content: "" !important;
        display: inline-block;
        width: 15px;
        height: 15px;
        background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="3 6 5 6 21 6"></polyline><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path></svg>');
        background-size: contain;
        background-repeat: no-repeat;
    }

    /* ── CART PAGE remove button ── */
    .woocommerce-cart-form .product-remove .remove {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 44px !important;
        font-family: inherit !important;
        font-size: 0 !important;
        color: transparent !important;
        text-indent: -9999px !important;
    }
    .woocommerce-cart-form .product-remove .remove::after {
        content: "" !important;
        display: inline-block !important;
        width: 15px !important;
        height: 15px !important;
        background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="3 6 5 6 21 6"></polyline><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path></svg>') !important;
        background-size: contain !important;
        background-repeat: no-repeat !important;
        text-indent: 0 !important;
    }

    @media (max-width: 768px) {
        .woocommerce-cart-form .product-remove .remove {
            width: 40px !important;
            height: 40px !important;
        }
    }

/* ---- Mobile bottom toolbar: matched minimal SVG icon set ----
   Stores = .wd-toolbar-link-1, Cart = .wd-header-cart, Account = .wd-toolbar-link-2.
   Same line style / brand blue for all three. The old custom PNGs are hidden so
   this works whether or not they're still set in Theme Settings. */

/* hide the previous custom PNG imgs + any default glyph */
.wd-toolbar .wd-toolbar-link-1 .wd-custom-icon img,
.wd-toolbar .wd-toolbar-link-2 .wd-custom-icon img { display: none !important; }
.wd-toolbar .wd-header-cart .wd-tools-icon::before,
.wd-toolbar .wd-toolbar-link-1 .wd-toolbar-icon::before,
.wd-toolbar .wd-toolbar-link-2 .wd-toolbar-icon::before { display: none !important; }

/* shared icon box */
.wd-toolbar .wd-toolbar-link-1 .wd-toolbar-icon,
.wd-toolbar .wd-header-cart .wd-tools-icon,
.wd-toolbar .wd-toolbar-link-2 .wd-toolbar-icon {
    width: 26px !important; height: 26px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 24px 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
}

/* Stores — storefront */
.wd-toolbar .wd-toolbar-link-1 .wd-toolbar-icon {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23517dfc' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 10.2V19a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-8.8'/><path d='M2.6 7.6 4.3 4h15.4l1.7 3.6a2.15 2.15 0 0 1-4.3 0 2.15 2.15 0 0 1-4.3 0 2.15 2.15 0 0 1-4.3 0 2.15 2.15 0 0 1-4.3 0Z'/><path d='M9.6 20v-5.4h4.8V20'/></svg>") !important;
}
/* Cart — shopping cart */
.wd-toolbar .wd-header-cart .wd-tools-icon {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23517dfc' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='20' r='1.4'/><circle cx='17.4' cy='20' r='1.4'/><path d='M3 4h2.2l2.1 10.4a1.4 1.4 0 0 0 1.37 1.1h7.9a1.4 1.4 0 0 0 1.37-1.1L20.6 8H6.2'/></svg>") !important;
}
/* My Account — person */
.wd-toolbar .wd-toolbar-link-2 .wd-toolbar-icon {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23517dfc' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='8' r='3.8'/><path d='M4.6 20a7.4 7.4 0 0 1 14.8 0'/></svg>") !important;
}

    /* Badge */
    .wd-toolbar .wd-header-cart .wd-cart-number {
        position: absolute !important;
        top: -6px !important;
        right: -8px !important;
        background: #ff4444 !important;
        color: white !important;
        font-size: 9px !important;
        font-weight: 700 !important;
        border-radius: 50% !important;
        min-width: 16px !important;
        height: 16px !important;
        line-height: 16px !important;
        text-align: center !important;
        padding: 0 2px !important;
        z-index: 1 !important;
        box-shadow: 0 1px 3px rgba(0,0,0,0.2) !important;
    }

    /* Hide "items" text inside badge */
    .wd-toolbar .wd-header-cart .wd-cart-number span { display: none !important; }

    /* Cart container alignment */
    .wd-toolbar .wd-header-cart a {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 4px !important;
    }

    /* Remove items count label on cart button */
    .wd-cart-number.wd-tools-count { display: none !important; }

/* ---- Account menu cleanup ---- */
/* ── Header dropdown ── */
    .wd-dropdown-my-account .woocommerce-MyAccount-navigation-link--request-a-quote,
    .wd-dropdown-my-account .woocommerce-MyAccount-navigation-link--downloads,
    .wd-dropdown-my-account .woocommerce-MyAccount-navigation-link--rma-requests,
    .wd-dropdown-my-account .woocommerce-MyAccount-navigation-link--support-tickets,
    .wd-dropdown-my-account .woocommerce-MyAccount-navigation-link--following,
    .wd-dropdown-my-account .woocommerce-MyAccount-navigation-link--dokan { display: none !important; }

    /* ── Dashboard icon grid ── */
    .wd-my-account-links .wd-my-acc-request-a-quote,
    .wd-my-account-links .wd-my-acc-downloads,
    .wd-my-account-links .wd-my-acc-rma-requests,
    .wd-my-account-links .wd-my-acc-support-tickets,
    .wd-my-account-links .wd-my-acc-following,
    .wd-my-account-links .wd-my-acc-dokan { display: none !important; }

    /* ── "All Stores" nav button — subtle minimal on blue header ── */
    #menu-item-33 > a.woodmart-nav-link {
    background: rgba(255,255,255,0.15) !important;
    border: 1.5px solid rgba(255,255,255,0.35) !important;
    border-radius: 20px !important;
    padding: 0 14px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    line-height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    transition: background .2s, border-color .2s !important;
    backdrop-filter: blur(4px) !important;
    box-sizing: border-box !important;
	}

    /* ── Desktop header cart button — same pill style as All Stores ── */
.wd-header-cart.wd-design-1 > a {
    background: rgba(255,255,255,0.15) !important;
    border: 1.5px solid rgba(255,255,255,0.35) !important;
    border-radius: 20px !important;
    padding: 0 14px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    transition: background .2s, border-color .2s !important;
    backdrop-filter: blur(4px) !important;
    box-sizing: border-box !important;
    text-decoration: none !important;
}
.wd-header-cart.wd-design-1 > a:hover {
    background: rgba(255,255,255,0.25) !important;
    border-color: rgba(255,255,255,0.6) !important;
}
.wd-header-cart.wd-design-1 .wd-tools-icon::before {
    font-size: 18px !important;
    color: #fff !important;
}

.wd-header-cart.wd-design-1 .wd-cart-number {
    background: #FF6B35 !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    border-radius: 9px !important;
    min-width: 16px !important;
    height: 16px !important;
    line-height: 16px !important;
    text-align: center !important;
    padding: 0 3px !important;
    box-sizing: border-box !important;
    display: inline-block !important;
    position: static !important;
    box-shadow: none !important;
}
.wd-header-cart.wd-design-1 .wd-cart-number span { display: none !important; }

    #menu-item-33 > a.woodmart-nav-link:hover {
    background: rgba(255,255,255,0.25) !important;
    border-color: rgba(255,255,255,0.6) !important;
    color: #fff !important;
	}

	#menu-item-33 > a.woodmart-nav-link .nav-link-text {
    color: #fff !important;
	}

    /* ── Address selector button — smaller to match ── */
    #address-selector-btn-shortcode {
        height: 32px !important;
        min-height: 32px !important;
        max-height: 32px !important;
        font-size: 12px !important;
        padding: 0 12px !important;
    }
    #address-text-shortcode {
        font-size: 12px !important;
    }

    /* ── Dokan "Become a Wholesale Customer" + "Become a Vendor" prompts ── */
    .dokan-account-migration-lists { display: none !important; }

/* ---- Mobile account label ----
   (Second guest "Login" override removed too — account button shows its real
   "My Account" label in all states, at the same size as Stores and Carts.) */
/* ============================================================
 * FLOATING PILL TOOLBAR — mobile bottom nav restyle
 * Turns Woodmart's full-width sticky .wd-toolbar into a centered
 * floating "island" (Instacart-style) holding the 3 existing
 * buttons: Stores · Carts · Account. CSS-only override of the
 * parent theme base:
 *   .wd-toolbar{position:fixed;inset-inline:0;bottom:0;height:55px;
 *     background:var(--bgcolor-white);box-shadow:0 0 9px …}
 *   .wd-toolbar>a,.wd-toolbar>div{flex:1 0 20%}
 *   body.sticky-toolbar-on{padding-bottom:55px}
 * Tokens from design-system.css.
 * ============================================================ */
@media only screen and (max-width: 768px){

  /* ---- the floating pill itself ---- */
  .wd-toolbar{
    /* Explicit width — iOS WebKit was dropping max-content/fit-content and
       falling back to auto, which it mis-sizes on fixed elements (narrow →
       overflow:hidden clips the edges). 3×76 items + 2×2 gaps + 2×10 pad = 252.
       Fixed px removes all sizing ambiguity. Centered via left/right:0 + margin. */
    inset-inline:0 !important;
    left:0 !important;
    right:0 !important;
    width:252px !important;
    margin-inline:auto !important;
    max-width:calc(100% - 16px) !important;
    bottom:calc(env(safe-area-inset-bottom, 0px) + 22px) !important;  /* sit a bit higher */
    transform:none !important;                   /* centering is margin-based */
    height:auto !important;
    padding:4px 10px !important;                 /* slimmer bar */
    gap:2px !important;
    justify-content:center !important;
    align-items:stretch !important;
    background:linear-gradient(180deg,#5b83fd 0%, var(--bm-blue) 55%, var(--bm-blue-dark) 130%) !important;
    border-radius:24px !important;
    box-shadow:
      0 10px 28px rgba(81,125,252,.38),
      0 3px 10px rgba(28,35,51,.14),
      inset 0 1px 0 rgba(255,255,255,.22) !important;
    overflow:hidden !important;                  /* clip the sheen + rounded corners */
    animation:bmPillIn .5s cubic-bezier(.34,1.56,.64,1) both;  /* loads in on every page view */
  }

  /* one-time sheen sweep right after it lands */
  .wd-toolbar::before{
    content:"";
    position:absolute; inset:0; z-index:0; pointer-events:none;
    background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.38) 50%,transparent 68%);
    transform:translateX(-120%);
    animation:bmPillSheen 1.1s ease-out .45s 1 both;
  }

  /* keep the 3 items above the sheen; fixed medium width, no stretch */
  .wd-toolbar > a,
  .wd-toolbar > div{
    position:relative; z-index:1;
    flex:0 0 76px !important;
    min-width:0 !important;
  }

  /* unified icon-over-label layout for all three tappable anchors */
  .wd-toolbar > a,
  .wd-toolbar > div > a{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:2px !important;
    height:38px !important;
    padding:0 !important;
    border-radius:13px !important;
    transition:transform .15s ease, background-color .15s ease !important;
  }

  /* labels: static under the icon, single line, white on blue */
  .wd-toolbar .wd-toolbar-label{
    position:static !important;
    inset:auto !important;
    display:block !important;
    max-width:72px !important;
    margin:0 !important; padding:0 !important;
    font-size:10px !important;
    font-weight:600 !important;
    line-height:1 !important;
    color:#fff !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  /* slightly smaller icons for the slimmer bar (shared rule sets 26px) */
  .wd-toolbar .wd-toolbar-link-1 .wd-toolbar-icon,
  .wd-toolbar .wd-header-cart .wd-tools-icon,
  .wd-toolbar .wd-toolbar-link-2 .wd-toolbar-icon{
    width:22px !important; height:22px !important;
    background-size:20px 20px !important;
  }

  /* ---- white icons on the blue pill (recolour the existing SVGs) ---- */
  .wd-toolbar .wd-toolbar-link-1 .wd-toolbar-icon{
    background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 10.2V19a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-8.8'/><path d='M2.6 7.6 4.3 4h15.4l1.7 3.6a2.15 2.15 0 0 1-4.3 0 2.15 2.15 0 0 1-4.3 0 2.15 2.15 0 0 1-4.3 0 2.15 2.15 0 0 1-4.3 0Z'/><path d='M9.6 20v-5.4h4.8V20'/></svg>") !important;
  }
  .wd-toolbar .wd-header-cart .wd-tools-icon{
    background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='20' r='1.4'/><circle cx='17.4' cy='20' r='1.4'/><path d='M3 4h2.2l2.1 10.4a1.4 1.4 0 0 0 1.37 1.1h7.9a1.4 1.4 0 0 0 1.37-1.1L20.6 8H6.2'/></svg>") !important;
  }
  .wd-toolbar .wd-toolbar-link-2 .wd-toolbar-icon{
    background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='8' r='3.8'/><path d='M4.6 20a7.4 7.4 0 0 1 14.8 0'/></svg>") !important;
  }

  /* ---- press feedback: subtle, tactile ---- */
  .wd-toolbar > a:active,
  .wd-toolbar > div > a:active{
    transform:scale(.9) !important;
    background-color:rgba(255,255,255,.16) !important;
  }

  /* ---- cart count badge on the blue pill ---- */
  .wd-toolbar .wd-header-cart .wd-cart-number{
    top:-5px !important;
    right:-9px !important;
    background:#ff5a5f !important;
    box-shadow:0 0 0 2px rgba(81,125,252,.95), 0 1px 3px rgba(0,0,0,.25) !important;
  }

  /* ---- rename Cart → Carts (multi-store) ---- */
  .wd-toolbar .wd-header-cart .wd-toolbar-label{ font-size:0 !important; }
  .wd-toolbar .wd-header-cart .wd-toolbar-label::after{
    content:"Carts";
    font-size:10px !important;
    font-weight:600 !important;
    line-height:1 !important;
    color:#fff !important;
  }

  /* ---- content clearance so nothing hides behind the floating pill ---- */
  body.sticky-toolbar-on{
    padding-bottom:calc(84px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* entrance + sheen keyframes */
@keyframes bmPillIn{
  from{ opacity:0; transform:translateY(24px); }
  to  { opacity:1; transform:translateY(0); }
}
@keyframes bmPillSheen{
  from{ transform:translateX(-120%); }
  to  { transform:translateX(120%); }
}

/* ============================================================
 * SINGLE-PRODUCT WEBVIEW BACK BUTTON — match the nav pill
 * PART 8 injects <button class="webview-back-button"> with a "<"
 * glyph, styled as a white half-pill on the left edge. Here we
 * restyle it to the same brand-blue look as the floating nav:
 * blue gradient, white chevron, circular, soft shadow, press-shrink.
 * PART 8's rules have no !important, so these win. We keep its
 * position:fixed + top from the snippet and only change the look.
 * ============================================================ */
.webview-back-button{
  /* white chevron on top of the brand gradient (two background layers) */
  background:
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='15 6 9 12 15 18'/></svg>") center center / 20px 20px no-repeat,
    linear-gradient(180deg,#5b83fd 0%, var(--bm-blue) 55%, var(--bm-blue-dark) 130%) !important;
  color:transparent !important;                 /* hide the "<" glyph */
  font-size:0 !important;
  width:44px !important;
  height:44px !important;
  border:none !important;
  border-radius:50% !important;                 /* circular, app-like */
  /* sit on the SAME row as the nav pill, just to its left.
     Pill is 252px wide and centered, so its left edge is at 50%-126px;
     place the 44px button 8px to the left of that (single-product only —
     PART 8 injects it only there, in webview). */
  top:auto !important;
  bottom:calc(env(safe-area-inset-bottom, 0px) + 23px) !important;
  inset-inline-start:auto !important;
  left:calc(50% - 178px) !important;
  right:auto !important;
  box-shadow:0 6px 18px rgba(81,125,252,.40), 0 2px 6px rgba(28,35,51,.14) !important;
  transition:transform .15s ease, box-shadow .15s ease !important;
  z-index:350 !important;
  -webkit-tap-highlight-color:transparent;
}
.webview-back-button:hover{
  background-color:transparent !important;      /* neutralize PART 8's grey hover */
  box-shadow:0 8px 22px rgba(81,125,252,.48), 0 2px 6px rgba(28,35,51,.16) !important;
}
.webview-back-button:active{
  transform:scale(.9) !important;               /* same press feedback as the nav */
}

/* ============================================================
 * ORDER-RECEIVED — "(includes … VAT)" note in brand blue
 * Comes from get_formatted_order_total() as <small class="includes_tax">
 * in the thank-you hero. Was default black; match the brand.
 * ============================================================ */
body.woocommerce-order-received .includes_tax,
body.woocommerce-order-received .includes_tax .woocommerce-Price-amount{
  color:var(--bm-blue) !important;
}

@media only screen and (max-width: 768px) {
    .footer-container,
    .copyrights-wrapper { display: none !important; }
}

/* ============================================================
 * BAMMAT INFO PAGES — shared design system
 * Paste ONCE at the end of your child-theme global.css.
 * Every page's HTML is wrapped in <div class="bmt-page"> … </div>
 * so all rules below are scoped and won't leak into the rest of
 * the site. Matches the app: #517dfc, rounded cards, soft shadows.
 * ============================================================ */

.bmt-page{
    --bmt-blue:#517dfc;
    --bmt-blue-dark:#3a63e0;
    --bmt-blue-soft:#eef2ff;
    --bmt-ink:#0a1628;
    --bmt-body:#3d4757;
    --bmt-muted:#78828f;
    --bmt-line:#eceff4;
    --bmt-soft:#f6f8fc;
    --bmt-amber:#e8912b;
    --bmt-amber-soft:#fff4e4;
    --bmt-green:#1a9c4f;
    --bmt-green-soft:#e8f7ee;
    --bmt-radius:18px;
    --bmt-shadow:0 6px 22px rgba(20,35,80,.07);
    --bmt-shadow-h:0 10px 30px rgba(20,35,80,.12);

    max-width:860px; margin:0 auto; padding:8px 18px 64px;
    color:var(--bmt-body);
    font-family:inherit;
    line-height:1.62; font-size:16px;
    -webkit-font-smoothing:antialiased;
}
.bmt-page *{ box-sizing:border-box; }

/* ---- Hero ---- */
.bmt-hero{ text-align:center; padding:20px 0 26px; }
.bmt-hero .bmt-emoji{ font-size:44px; line-height:1; display:block; margin-bottom:10px; }
.bmt-hero h1{
    margin:0 0 10px; color:var(--bmt-ink);
    font-size:clamp(28px,6vw,40px); font-weight:800; letter-spacing:-.02em;
}
.bmt-hero p{ margin:0 auto; max-width:600px; color:var(--bmt-muted); font-size:17px; }
.bmt-updated{ display:inline-block; margin-top:14px; padding:5px 12px; border-radius:999px;
    background:var(--bmt-soft); color:var(--bmt-muted); font-size:13px; font-weight:600; }

/* ---- Generic blocks ---- */
.bmt-page h2{ color:var(--bmt-ink); font-size:22px; font-weight:800; letter-spacing:-.01em;
    margin:34px 0 14px; }
.bmt-page h3{ color:var(--bmt-ink); font-size:17px; font-weight:700; margin:20px 0 8px; }
.bmt-page p{ margin:0 0 14px; }
.bmt-page a{ color:var(--bmt-blue); text-decoration:none; font-weight:600; }
.bmt-page a:hover{ text-decoration:underline; }
.bmt-lead{ font-size:18px; color:var(--bmt-ink); font-weight:500; }

/* ---- Card ---- */
.bmt-card{ background:#fff; border:1px solid var(--bmt-line); border-radius:var(--bmt-radius);
    box-shadow:var(--bmt-shadow); padding:22px 22px; margin:14px 0; }
.bmt-card h3:first-child{ margin-top:0; }

/* ---- Grid of cards ---- */
.bmt-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; margin:16px 0; }
.bmt-grid .bmt-card{ margin:0; }

/* ---- Icon bubble ---- */
.bmt-ic{ width:42px; height:42px; border-radius:12px; background:var(--bmt-blue-soft);
    display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.bmt-ic svg{ width:22px; height:22px; stroke:var(--bmt-blue); fill:none; stroke-width:2;
    stroke-linecap:round; stroke-linejoin:round; }

/* ---- Feature / info rows ---- */
.bmt-rows{ list-style:none; margin:16px 0; padding:0; }
.bmt-rows li{ display:flex; gap:14px; align-items:flex-start; padding:14px 0; border-top:1px solid var(--bmt-line); }
.bmt-rows li:first-child{ border-top:none; }
.bmt-rows .bmt-rt{ font-weight:700; color:var(--bmt-ink); display:block; margin-bottom:2px; }
.bmt-rows .bmt-rd{ color:var(--bmt-muted); font-size:15px; }

/* ---- Numbered steps ---- */
.bmt-steps{ counter-reset:s; list-style:none; margin:18px 0; padding:0; }
.bmt-steps li{ position:relative; padding:4px 0 20px 56px; }
.bmt-steps li::before{ counter-increment:s; content:counter(s); position:absolute; left:0; top:0;
    width:38px; height:38px; border-radius:50%; background:var(--bmt-blue); color:#fff;
    font-weight:800; display:flex; align-items:center; justify-content:center; }
.bmt-steps li::after{ content:""; position:absolute; left:18px; top:38px; bottom:0; width:2px; background:var(--bmt-line); }
.bmt-steps li:last-child::after{ display:none; }
.bmt-steps .bmt-rt{ font-weight:700; color:var(--bmt-ink); display:block; margin-bottom:2px; }
.bmt-steps .bmt-rd{ color:var(--bmt-muted); font-size:15px; }

/* ---- Pills / badges ---- */
.bmt-pill{ display:inline-block; padding:5px 12px; border-radius:999px; font-size:13px; font-weight:700; }
.bmt-pill.blue{ background:var(--bmt-blue-soft); color:var(--bmt-blue-dark); }
.bmt-pill.amber{ background:var(--bmt-amber-soft); color:var(--bmt-amber); }
.bmt-pill.green{ background:var(--bmt-green-soft); color:var(--bmt-green); }

/* ---- Callout / note ---- */
.bmt-note{ display:flex; gap:12px; align-items:flex-start; background:var(--bmt-blue-soft);
    border-radius:14px; padding:14px 16px; margin:16px 0; color:#2c3a63; font-size:15px; }
.bmt-note.warn{ background:var(--bmt-amber-soft); color:#7a4a12; }
.bmt-note strong{ color:inherit; }

/* ---- Buttons ---- */
.bmt-page a.bmt-btn{ display:inline-flex; align-items:center; gap:8px; background:var(--bmt-blue); color:#fff !important;
    padding:13px 22px; border-radius:999px; font-weight:700; box-shadow:0 6px 18px rgba(81,125,252,.35);
    transition:transform .12s ease; }
.bmt-page a.bmt-btn:hover{ text-decoration:none; transform:translateY(-1px); color:#fff !important; }
.bmt-page a.bmt-btn.ghost{ background:#fff; color:var(--bmt-blue) !important; border:1.5px solid var(--bmt-blue); box-shadow:none; }
.bmt-cta{ text-align:center; margin:30px 0 6px; }
.bmt-cta .bmt-btn{ margin:6px 6px 0; }

/* ---- Fee / data table ---- */
.bmt-table{ width:100%; border-collapse:collapse; margin:16px 0; font-size:15px; }
.bmt-table th,.bmt-table td{ text-align:left; padding:12px 14px; border-bottom:1px solid var(--bmt-line); }
.bmt-table th{ color:var(--bmt-ink); font-weight:700; background:var(--bmt-soft); }
.bmt-table tr:last-child td{ border-bottom:none; }

/* ---- Accordion (pure CSS via <details>) ---- */
.bmt-acc{ background:#fff; border:1px solid var(--bmt-line); border-radius:14px; box-shadow:var(--bmt-shadow);
    margin:10px 0; overflow:hidden; }
.bmt-acc summary{ list-style:none; cursor:pointer; padding:16px 48px 16px 18px; position:relative;
    font-weight:700; color:var(--bmt-ink); font-size:15.5px; }
.bmt-acc summary::-webkit-details-marker{ display:none; }
.bmt-acc summary::after{ content:""; position:absolute; right:18px; top:50%; width:9px; height:9px;
    border-right:2.4px solid var(--bmt-muted); border-bottom:2.4px solid var(--bmt-muted);
    transform:translateY(-70%) rotate(45deg); transition:transform .2s ease; }
.bmt-acc[open] summary::after{ transform:translateY(-30%) rotate(225deg); }
.bmt-acc .bmt-acc-body{ padding:0 18px 18px; color:var(--bmt-body); font-size:15px; }
.bmt-acc .bmt-acc-body p:last-child{ margin-bottom:0; }
.bmt-faqgroup{ margin:8px 0 26px; }
.bmt-faqgroup > h2{ margin-bottom:8px; }

/* ---- Contact tiles ---- */
.bmt-contact{ display:flex; gap:14px; align-items:center; background:#fff; border:1px solid var(--bmt-line);
    border-radius:var(--bmt-radius); box-shadow:var(--bmt-shadow); padding:18px; margin:12px 0; }
.bmt-contact .bmt-ct{ font-weight:700; color:var(--bmt-ink); }
.bmt-contact .bmt-cd{ color:var(--bmt-muted); font-size:15px; }

/* ---- Table of contents (legal pages) ---- */
.bmt-toc{ background:var(--bmt-soft); border-radius:var(--bmt-radius); padding:18px 22px; margin:18px 0 26px; }
.bmt-toc strong{ display:block; color:var(--bmt-ink); margin-bottom:8px; font-size:14px; text-transform:uppercase; letter-spacing:.04em; }
.bmt-toc ol{ margin:0; padding-left:20px; columns:2; column-gap:26px; }
.bmt-toc li{ margin:5px 0; }

/* ---- Legal typography ---- */
.bmt-legal h2{ scroll-margin-top:90px; font-size:20px; }
.bmt-legal{ font-size:15.5px; }
.bmt-legal ul{ padding-left:20px; }
.bmt-legal li{ margin:6px 0; }
.bmt-fine{ color:var(--bmt-muted); font-size:13.5px; }

/* ---- Divider ---- */
.bmt-hr{ height:1px; background:var(--bmt-line); border:0; margin:30px 0; }

/* ---- Responsive ---- */
@media (max-width:600px){
    .bmt-page{ padding:6px 4px 52px; font-size:15.5px; }
    .bmt-toc ol{ columns:1; }
    .bmt-hero h1{ font-size:28px; }
}