/*
Theme Name: Hello Elementor Child
Theme URI: https://example.com/
Description: Child theme for Hello Elementor - solar energy battery homepage.
Author: OneStack
Author URI: https://onestack.io.vn/
Template: hello-elementor
Version: 31.0.0
Text Domain: hello-elementor-child
*/

:root {
    --jmb-primary: #232F99;
    --jmb-primary-dark: #171F68;
    --jmb-secondary: #232F99;
    --jmb-accent: #ff2b2b;
    --jmb-text: #1f2933;
    --jmb-muted: #687482;
    --jmb-border: #E1E5FF;
    --jmb-bg: #F6F7FF;
    --jmb-white: #ffffff;
    --jmb-shadow: 0 12px 35px rgba(35, 47, 153, .12);
    --jmb-radius: 16px;
    --jmb-container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.jmb-site,
body.jmb-site,
body.jmb-site * { font-family: 'Roboto', Arial, Helvetica, sans-serif; }
body.jmb-site { margin: 0; color: var(--jmb-text); background: var(--jmb-white); line-height: 1.55; }
body.jmb-menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; transition: color .22s ease, background .22s ease, border .22s ease, transform .22s ease, box-shadow .22s ease; }
img { max-width: 100%; height: auto; display: block; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
svg { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }

.jmb-container { width: min(var(--jmb-container), calc(100% - 32px)); margin-inline: auto; }
.jmb-section { padding: 54px 0; }
.jmb-section-heading { text-align: center; margin-bottom: 26px; }
.jmb-eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--jmb-primary-dark); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.jmb-eyebrow::before, .jmb-eyebrow::after { content: ""; width: 28px; height: 2px; background: linear-gradient(90deg, transparent, var(--jmb-primary)); border-radius: 99px; }
.jmb-eyebrow::after { background: linear-gradient(90deg, var(--jmb-primary), transparent); }
.jmb-section-heading h2, .jmb-system-info h2, .jmb-cta-box h2, .jmb-intro-info h2 { margin: 8px 0 0; font-size: clamp(24px, 3vw, 38px); line-height: 1.16; color: #141A55; }
.jmb-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 11px 22px; border-radius: 999px; border: 1px solid var(--jmb-primary); background: var(--jmb-primary); color: var(--jmb-white); font-weight: 700; font-size: 12px; box-shadow: 0 10px 20px rgba(35,47,153,.24); }
.jmb-btn:hover { color: var(--jmb-white); background: var(--jmb-primary-dark); border-color: var(--jmb-primary-dark); transform: translateY(-2px); }
.jmb-btn-light { background: var(--jmb-white); color: var(--jmb-primary-dark); box-shadow: none; }
.jmb-btn-light:hover { color: var(--jmb-white); }
.jmb-btn-small { min-height: 34px; padding: 8px 16px; font-size: 13px; }

/* Header */
.jmb-header { position: sticky; top: 0; z-index: 999; background: var(--jmb-white); box-shadow: 0 2px 15px rgba(35,47,153,.08); transition: transform .28s ease, box-shadow .28s ease; will-change: transform; }
body.admin-bar .jmb-header { top: 32px; }
.jmb-header.jmb-header-hidden { transform: translateY(calc(-100% - 2px)); box-shadow: none; }
.jmb-header.jmb-header-compact { transform: translateY(calc(-1 * var(--jmb-topbar-height, 32px))); box-shadow: 0 8px 28px rgba(35,47,153,.10); }
.jmb-header.jmb-header-at-top { transform: translateY(0); }
body.jmb-menu-open .jmb-header { transform: translateY(0) !important; }
.jmb-topbar { background: linear-gradient(90deg, #3545C7, #232F99); color: var(--jmb-white); font-size: 12px; }
.jmb-topbar-inner { min-height: 32px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.jmb-topbar-right { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.jmb-topbar a { display: inline-flex; align-items: center; gap: 6px; opacity: .94; }
.jmb-topbar svg { width: 15px; height: 15px; }
.jmb-main-header-inner { min-height: 74px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 24px; }
.jmb-logo { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; font-weight: 900; color: var(--jmb-secondary); letter-spacing: .02em; }
.jmb-logo img, .jmb-logo .custom-logo { max-height: 54px; width: auto; }
.jmb-logo .jmb-brand-logo-img { max-height: 56px; width: auto; display: block; object-fit: contain; }
.jmb-footer-logo .jmb-brand-logo-img { max-height: 58px; }
.jmb-logo-mark { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 30px; color: var(--jmb-white); background: linear-gradient(135deg, var(--jmb-primary), var(--jmb-secondary)); border-radius: 7px; font-size: 14px; transform: skew(-8deg); }
.jmb-logo-text { font-size: 15px; white-space: nowrap; }
.jmb-menu { list-style: none; padding: 0; margin: 0; display: flex; align-items: center; justify-content: center; gap: 24px; }
.jmb-menu li { position: relative; }
.jmb-menu a { color: #20285E; font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .02em; padding: 28px 0; display: inline-flex; }
.jmb-menu a:hover, .jmb-menu .current-menu-item > a { color: var(--jmb-primary-dark); }
.jmb-menu .sub-menu { position: absolute; top: 100%; left: -18px; min-width: 210px; background: var(--jmb-white); border: 1px solid var(--jmb-border); border-radius: 14px; list-style: none; margin: 0; padding: 10px; box-shadow: var(--jmb-shadow); opacity: 0; visibility: hidden; transform: translateY(12px); transition: .22s ease; }
.jmb-menu li:hover > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.jmb-menu .sub-menu a { padding: 10px 12px; text-transform: none; font-size: 13px; font-weight: 600; width: 100%; border-radius: 10px; }
.jmb-menu .sub-menu a:hover { background: var(--jmb-bg); }
.jmb-header-actions { display: flex; align-items: center; gap: 9px; justify-content: flex-end; }
.jmb-search { width: 220px; height: 42px; border: 1px solid var(--jmb-border); border-radius: 999px; display: flex; align-items: center; overflow: hidden; background: #F6F7FF; }
.jmb-search input { width: 100%; height: 100%; border: 0; outline: none; background: transparent; padding: 0 8px 0 14px; font-size: 13px; }
.jmb-search button { width: 42px; height: 42px; border: 0; background: transparent; color: var(--jmb-primary-dark); display: inline-flex; align-items: center; justify-content: center; }
.jmb-header-icon, .jmb-mobile-toggle { width: 42px; height: 42px; border: 1px solid var(--jmb-border); background: var(--jmb-white); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--jmb-secondary); position: relative; padding: 0; }
.jmb-header-icon:hover, .jmb-mobile-toggle:hover { background: var(--jmb-bg); color: var(--jmb-primary-dark); }
.jmb-cart-widget { position: relative; }
.jmb-cart-count, .jmb-wishlist-count { position: absolute; top: -5px; right: -5px; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 999px; background: var(--jmb-accent); color: var(--jmb-white); font-size: 11px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; line-height: 1; }
.jmb-cart-dropdown { position: absolute; top: calc(100% + 14px); right: 0; width: min(340px, calc(100vw - 32px)); background: var(--jmb-white); border: 1px solid var(--jmb-border); border-radius: 16px; box-shadow: var(--jmb-shadow); padding: 16px; opacity: 0; visibility: hidden; transform: translateY(10px); transition: .22s ease; }
.jmb-cart-widget:hover .jmb-cart-dropdown, .jmb-cart-widget.is-open .jmb-cart-dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.jmb-mini-cart-empty { text-align: center; color: var(--jmb-muted); margin-bottom: 12px; }
.jmb-mini-cart-list { display: grid; gap: 12px; max-height: 310px; overflow-y: auto; padding-right: 4px; }
.jmb-mini-cart-item { display: grid; grid-template-columns: 58px 1fr; gap: 10px; align-items: center; }
.jmb-mini-cart-thumb img { width: 58px; height: 58px; object-fit: cover; border-radius: 10px; border: 1px solid var(--jmb-border); }
.jmb-mini-cart-info { display: grid; gap: 2px; font-size: 12px; color: var(--jmb-muted); }
.jmb-mini-cart-info strong { color: var(--jmb-text); font-size: 13px; line-height: 1.35; }
.jmb-mini-cart-total { display: flex; align-items: center; justify-content: space-between; margin: 14px 0 12px; padding-top: 12px; border-top: 1px solid var(--jmb-border); }
.jmb-mini-cart-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.jmb-mobile-toggle { display: none; }
.jmb-mobile-panel, .jmb-overlay { display: none; }

/* Hero */
.jmb-hero { position: relative; min-height: 520px; display: flex; align-items: center; background: radial-gradient(circle at 74% 32%, rgba(255,255,255,.9) 0 7%, transparent 28%), linear-gradient(120deg, #F1F3FF 0%, #DDE2FF 46%, #F6F7FF 100%); overflow: hidden; }
.jmb-hero::before { content: ""; position: absolute; inset: auto -10% -45% -10%; height: 70%; background: linear-gradient(0deg, rgba(255,255,255,.95), rgba(255,255,255,0)); transform: skewY(-6deg); transform-origin: 0 100%; }
.jmb-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr); align-items: center; gap: 40px; padding: 58px 0; }
.jmb-hero-kicker { display: inline-flex; align-items: center; min-height: 30px; padding: 6px 14px; border-radius: 999px; background: rgba(255,255,255,.72); color: var(--jmb-primary-dark); font-size: 13px; font-weight: 800; box-shadow: 0 10px 30px rgba(35,47,153,.12); }
.jmb-hero h1 { margin: 18px 0 14px; color: #171F68; font-size: clamp(38px, 6vw, 72px); line-height: .96; letter-spacing: -.05em; text-transform: uppercase; max-width: 640px; text-shadow: 0 2px 0 rgba(255,255,255,.8); }
.jmb-hero p { max-width: 520px; color: #3E4777; font-size: 17px; margin: 0 0 26px; }
.jmb-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.jmb-hero-visual { position: relative; min-height: 360px; display: flex; align-items: center; justify-content: center; }
.jmb-hero-visual::before { content: "UP TO\A 45% OFF"; white-space: pre; position: absolute; top: 30px; right: 10px; width: 114px; height: 114px; border-radius: 50%; background: linear-gradient(135deg, var(--jmb-primary), #171F68); color: var(--jmb-white); display: flex; align-items: center; justify-content: center; text-align: center; font-size: 13px; font-weight: 900; box-shadow: 0 15px 28px rgba(35,47,153,.28); z-index: 2; }
.jmb-hero-visual img { width: min(560px, 100%); filter: drop-shadow(0 22px 24px rgba(35,47,153,.16)); animation: jmb-float 4.8s ease-in-out infinite; }
@keyframes jmb-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }

/* Intro */
.jmb-intro-grid { display: grid; grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr); gap: 42px; align-items: center; }
.jmb-intro-image-card { position: relative; background: linear-gradient(180deg, #F2F4FF, var(--jmb-white)); border: 1px solid var(--jmb-border); box-shadow: var(--jmb-shadow); border-radius: 18px; min-height: 440px; padding: 24px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.jmb-sale-badge { position: absolute; top: 16px; right: 16px; z-index: 2; background: var(--jmb-accent); color: var(--jmb-white); font-size: 12px; font-weight: 800; border-radius: 999px; padding: 7px 12px; }
.jmb-intro-image-card img { max-height: 390px; object-fit: contain; animation: jmb-float 5.4s ease-in-out infinite; }
.jmb-intro-info p { color: var(--jmb-muted); margin: 14px 0; }
.jmb-feature-price { display: flex; align-items: baseline; gap: 14px; margin: 12px 0; }
.jmb-feature-price del { color: #98a6b5; }
.jmb-feature-price strong { color: var(--jmb-accent); font-size: 25px; }
.jmb-check-list { list-style: none; padding: 0; margin: 18px 0 24px; display: grid; gap: 10px; }
.jmb-check-list li { position: relative; padding-left: 30px; color: #3E4777; }
.jmb-check-list li::before { content: "✓"; position: absolute; left: 0; top: 0; width: 20px; height: 20px; border-radius: 50%; background: #E8EBFF; color: var(--jmb-primary-dark); font-weight: 900; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; }
.jmb-product-purchase { display: flex; gap: 12px; flex-wrap: wrap; }

/* Category */
.jmb-category-strip { padding: 16px 0 26px; }
.jmb-category-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.jmb-category-grid a { min-height: 110px; border: 1px solid var(--jmb-border); border-radius: 14px; background: var(--jmb-white); box-shadow: 0 8px 24px rgba(35,47,153,.06); padding: 14px; display: grid; place-items: center; gap: 8px; text-align: center; color: #303968; font-size: 13px; font-weight: 800; }
.jmb-category-grid a:hover { transform: translateY(-4px); box-shadow: var(--jmb-shadow); color: var(--jmb-primary-dark); }
.jmb-category-grid img { height: 58px; object-fit: contain; }

/* Products */
.jmb-products-section { padding-top: 38px; }
.jmb-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.jmb-product-card { position: relative; border: 1px solid var(--jmb-border); background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 6px 18px rgba(35,47,153,.045); transform: translateY(0); transition: transform .28s ease, box-shadow .28s ease, border-color .24s ease; }
.jmb-product-card:hover { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(35,47,153,.10); border-color: #D6DDFF; }
.jmb-product-badge { position: absolute; top: 10px; right: 10px; z-index: 3; background: var(--jmb-accent); color: var(--jmb-white); font-size: 11px; font-weight: 900; line-height: 1; border-radius: 4px; padding: 5px 7px; }
.jmb-product-image { display: flex; align-items: stretch; justify-content: stretch; height: 245px; background: #fff; border-bottom: 1px solid #EBEEFF; padding: 0; overflow: hidden; }
.jmb-product-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.01); transform-origin: center center; transition: transform .30s ease; }
.jmb-product-card:hover .jmb-product-image img { transform: scale(1.04); }
.jmb-product-body { padding: 12px 13px 14px; }
.jmb-stars { display: inline-flex; gap: 2px; color: #ffc107; }
.jmb-stars svg { width: 13px; height: 13px; fill: currentColor; stroke: currentColor; }
.jmb-product-card h3 { min-height: 48px; margin: 7px 0 8px; font-size: 15px; line-height: 1.4; font-weight: 700; color: #1F285F; }
.jmb-product-card h3 a:hover { color: var(--jmb-primary-dark); }
.jmb-product-price { min-height: 28px; display: flex; align-items: center; flex-wrap: wrap; gap: 7px; font-size: 15px; line-height: 1.35; }
.jmb-product-price del { color: #98a6b5; font-size: 14px; }
.jmb-product-price ins, .jmb-product-price .amount { color: var(--jmb-accent); text-decoration: none; font-weight: 800; font-size: 15px; }
.jmb-product-actions { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 14px; }
.jmb-round-btn { flex: 0 0 auto; width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--jmb-border); background: var(--jmb-white); color: var(--jmb-secondary); display: inline-flex; align-items: center; justify-content: center; padding: 0; transition: color .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease; }
.jmb-round-btn svg { width: 18px; height: 18px; }
.jmb-round-btn:hover { color: var(--jmb-primary-dark); background: var(--jmb-bg); border-color: var(--jmb-primary); box-shadow: 0 6px 12px rgba(35,47,153,.08); }
.jmb-round-btn.is-busy { pointer-events: none; opacity: .6; }
.jmb-wishlist-toggle.is-active { color: #ed1c24; border-color: rgba(237,28,36,.32); background: #fff7f8; }
.jmb-wishlist-toggle.is-active:hover { color: #ed1c24; border-color: rgba(237,28,36,.46); background: #fff1f3; }
/* Keep the cart action visually consistent with the view and wishlist actions. */
.jmb-product-cart-icon { color: var(--jmb-secondary) !important; background: var(--jmb-white) !important; border-color: var(--jmb-border) !important; box-shadow: none !important; }
.jmb-product-cart-icon:hover { color: var(--jmb-primary-dark) !important; background: var(--jmb-bg) !important; border-color: var(--jmb-primary) !important; }

/* Blog + feedback */
.jmb-blog-section { background: #FAFBFF; }
.jmb-blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.jmb-blog-card { background: var(--jmb-white); border: 1px solid var(--jmb-border); border-radius: 15px; overflow: hidden; box-shadow: 0 10px 25px rgba(35,47,153,.06); transition: .24s ease; }
.jmb-blog-card:hover { transform: translateY(-5px); box-shadow: var(--jmb-shadow); }
.jmb-blog-image { height: 170px; display: block; overflow: hidden; background: #F2F4FF; }
.jmb-blog-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .28s ease; }
.jmb-blog-card:hover .jmb-blog-image img { transform: scale(1.05); }
.jmb-blog-body { padding: 16px; }
.jmb-blog-body time { font-size: 12px; color: var(--jmb-muted); }
.jmb-blog-body h3 { margin: 7px 0 10px; font-size: 17px; line-height: 1.35; min-height: 46px; }
.jmb-blog-body p { color: var(--jmb-muted); margin: 0 0 10px; }
.jmb-read-more { color: var(--jmb-primary-dark); font-size: 13px; font-weight: 800; }
.jmb-feedback-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.jmb-feedback-card { background: var(--jmb-white); border-radius: 16px; box-shadow: 0 16px 34px rgba(35,47,153,.15); padding: 26px 24px; text-align: center; border: 1px solid var(--jmb-border); }
.jmb-feedback-card img { width: 78px; height: 78px; border-radius: 50%; object-fit: cover; margin: 0 auto 12px; border: 5px solid #EEF1FF; }
.jmb-feedback-card p { color: var(--jmb-muted); font-size: 14px; line-height: 1.55; margin: 12px 0 14px; }
.jmb-feedback-card strong { color: #141A55; display: block; }
.jmb-feedback-role { display: block; margin-top: 5px; color: #6B789D; font-size: 12px; font-weight: 600; }

/* System + CTA */
/* Keep the original copy on the left and constrain the source video to the right column. */
.jmb-system-section {
    background: linear-gradient(180deg, #fff, #F8F9FF);
    overflow: hidden;
}
.jmb-system-grid {
    display: grid;
    grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
    gap: clamp(28px, 4vw, 54px);
    align-items: center;
    min-width: 0;
}
.jmb-system-info {
    position: relative;
    z-index: 1;
    min-width: 0;
    max-width: 500px;
}
.jmb-system-info p { color: var(--jmb-muted); max-width: 480px; }
.jmb-system-image {
    display: block;
    position: relative;
    width: 100%;
    min-width: 0;
    aspect-ratio: 16 / 9;
    max-height: 430px;
    overflow: hidden;
    background: transparent;
    border: 0;
    box-shadow: none;
}
.jmb-system-image img { width: min(620px, 100%); }
/* Home energy system video: no controls, no border, no bars; it is clipped to the right-side media area only. */
.jmb-system-video {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    object-fit: cover;
    object-position: center center;
}
.jmb-system-video::-webkit-media-controls { display: none !important; }
@media (max-width: 1024px) {
    .jmb-system-grid { grid-template-columns: 1fr; }
    .jmb-system-info { max-width: 620px; }
    .jmb-system-image { max-width: 720px; margin-inline: auto; }
}
@media (max-width: 640px) {
    .jmb-system-section { padding: 42px 0; }
    .jmb-system-image { aspect-ratio: 4 / 3; }
}

.jmb-contact-cta { padding-top: 0; }
.jmb-cta-box { background: linear-gradient(135deg, #EEF1FF, #ffffff); border: 1px solid var(--jmb-border); border-radius: 20px; box-shadow: var(--jmb-shadow); padding: 28px; display: grid; grid-template-columns: minmax(0, .88fr) minmax(320px, 1.12fr); gap: 24px; align-items: center; }
.jmb-cta-box h2 { font-size: clamp(22px, 2.8vw, 34px); }
.jmb-cta-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px; }
.jmb-cta-form input, .jmb-newsletter input, .jmb-mobile-search input { height: 44px; border: 1px solid var(--jmb-border); border-radius: 999px; padding: 0 14px; outline: none; background: var(--jmb-white); }
.jmb-cta-form input:focus, .jmb-newsletter input:focus, .jmb-mobile-search input:focus { border-color: var(--jmb-primary); box-shadow: 0 0 0 4px rgba(35,47,153,.13); }
.jmb-cta-form button, .jmb-newsletter button { height: 44px; border: 0; border-radius: 999px; background: #111; color: var(--jmb-white); padding: 0 22px; font-weight: 800; }
.jmb-cta-form button:hover, .jmb-newsletter button:hover { background: var(--jmb-primary-dark); }

/* Footer */
.jmb-footer { background: #f7f9fb; color: #3E4777; }
.jmb-footer-features { background: var(--jmb-white); border-top: 1px solid var(--jmb-border); border-bottom: 1px solid var(--jmb-border); }
.jmb-footer-features-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; min-height: 86px; align-items: center; }
.jmb-footer-features-grid div { display: flex; align-items: center; justify-content: center; gap: 10px; text-align: center; font-size: 13px; font-weight: 800; color: #20285E; }
.jmb-footer-features-grid svg { color: var(--jmb-primary-dark); }
.jmb-brand-strip { background: linear-gradient(90deg, #3545C7, #6F7DFF); color: var(--jmb-white); font-weight: 900; font-style: italic; letter-spacing: .05em; }
.jmb-brand-strip .jmb-container { min-height: 38px; display: flex; align-items: center; justify-content: space-around; gap: 30px; overflow: hidden; }
.jmb-footer-main { padding: 48px 0; }
.jmb-footer-grid { display: grid; grid-template-columns: 1.55fr .8fr .8fr 1.2fr; gap: 34px; }
.jmb-footer-logo { margin-bottom: 12px; }
.jmb-footer-col h3 { font-size: 13px; margin: 4px 0 16px; color: #141A55; }
.jmb-footer-company h3 { color: #ed1c24; font-size: 18px; line-height: 1.25; margin: 0 0 12px; text-transform: uppercase; }
.jmb-footer-col p { margin: 0 0 9px; color: #6B718E; font-size: 14px; }
.jmb-footer-company p { margin-bottom: 7px; line-height: 1.45; }
.jmb-footer-company strong { color: #141A55; }
.jmb-footer-contact-source { display: grid; gap: 10px; max-width: 330px; }
.jmb-footer-contact-source p { margin: 0; }
.jmb-footer-contact-row { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 9px; align-items: start; color: #6B718E; line-height: 1.5; }
.jmb-footer-contact-icon { display: inline-flex; width: 20px; height: 20px; align-items: center; justify-content: center; color: #7B839F; margin-top: 1px; }
.jmb-footer-contact-icon svg { width: 17px; height: 17px; stroke-width: 1.7; }
.jmb-footer-contact-row a { word-break: break-word; }

.jmb-footer-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.jmb-footer-col a { color: #545B7A; font-size: 14px; }
.jmb-footer-col a:hover { color: var(--jmb-primary-dark); }
.jmb-newsletter { display: flex; align-items: center; gap: 8px; margin-top: 14px; }
.jmb-newsletter input { min-width: 0; flex: 1; }
.jmb-footer-bottom { border-top: 1px solid #e4ebf1; padding: 16px 0; font-size: 13px; color: #747A91; }
.jmb-footer-bottom .jmb-container { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.jmb-floating-tools { position: fixed; right: 18px; bottom: 18px; z-index: 900; display: grid; gap: 10px; }
.jmb-floating-tools a { box-shadow: 0 10px 24px rgba(35,47,153,.18); }
.jmb-float-phone { width: 46px; height: 46px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--jmb-primary); color: var(--jmb-white); }
.jmb-float-chat { height: 40px; display: inline-flex; align-items: center; justify-content: center; padding: 0 16px; border-radius: 999px; background: #111; color: var(--jmb-white); font-size: 13px; font-weight: 800; }
.jmb-default-content { min-height: 55vh; }

/* WooCommerce helpers */
.woocommerce a.added_to_cart { display: none !important; }
.added_to_cart.wc-forward { display: none !important; }
.jmb-product-card .jmb-product-cart-icon.added { color: var(--jmb-primary-dark) !important; background: var(--jmb-bg) !important; border-color: var(--jmb-primary) !important; }

/* Responsive */
@media (max-width: 1100px) {
    .jmb-search { width: 180px; }
    .jmb-menu { gap: 16px; }
    .jmb-menu a { font-size: 12px; }
    .jmb-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 960px) {
    body.admin-bar .jmb-header { top: 46px; }
    body.admin-bar.jmb-header-compact .stb-shop-category-bar { top: 110px; }
    body.admin-bar.jmb-header-hidden .stb-shop-category-bar { top: 46px; }
    .jmb-main-header-inner { grid-template-columns: auto 1fr; gap: 14px; }
    .jmb-nav, .jmb-search, .jmb-header-actions > .jmb-header-icon:not(.jmb-cart-link):not(.jmb-wishlist-link) { display: none; }
    .jmb-header-actions { display: flex; }
    .jmb-mobile-toggle { display: inline-flex; }
    .jmb-topbar-inner { justify-content: center; text-align: center; }
    .jmb-topbar-right { display: none; }
    .jmb-mobile-panel { display: block; position: fixed; top: 0; right: 0; bottom: 0; width: min(380px, 86vw); background: var(--jmb-white); z-index: 1002; transform: translateX(105%); transition: .28s ease; padding: 20px; box-shadow: -10px 0 30px rgba(0,0,0,.14); }
    .jmb-overlay { display: block; position: fixed; inset: 0; background: rgba(10, 16, 65, .46); z-index: 1001; opacity: 0; visibility: hidden; transition: .25s ease; }
    body.jmb-menu-open .jmb-mobile-panel { transform: translateX(0); }
    body.jmb-menu-open .jmb-overlay { opacity: 1; visibility: visible; }
    .jmb-mobile-panel-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
    .jmb-mobile-close { width: 40px; height: 40px; border: 1px solid var(--jmb-border); border-radius: 50%; background: #fff; display: inline-flex; align-items: center; justify-content: center; }
    .jmb-mobile-search { display: grid; grid-template-columns: 1fr 44px; gap: 8px; margin-bottom: 20px; }
    .jmb-mobile-search button { border: 0; border-radius: 50%; background: var(--jmb-primary); color: var(--jmb-white); }
    .jmb-mobile-menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
    .jmb-mobile-menu a { display: block; padding: 13px 0; border-bottom: 1px solid var(--jmb-border); color: #1E265A; font-weight: 800; }
    .jmb-mobile-menu .sub-menu { list-style: none; padding: 0 0 0 16px; margin: 0; }
    .jmb-hero { min-height: auto; }
    .jmb-hero-grid { grid-template-columns: 1fr; padding: 48px 0; }
    .jmb-hero-content { text-align: center; }
    .jmb-hero p { margin-inline: auto; }
    .jmb-hero-actions { justify-content: center; }
    .jmb-hero-visual { min-height: 300px; }
    .jmb-intro-grid, .jmb-system-grid, .jmb-cta-box { grid-template-columns: 1fr; }
    .jmb-intro-info { text-align: center; }
    .jmb-check-list { text-align: left; max-width: 600px; margin-inline: auto; }
    .jmb-product-purchase { justify-content: center; }
    .jmb-category-grid { grid-template-columns: repeat(3, 1fr); }
    .jmb-blog-grid, .jmb-feedback-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .jmb-footer-grid { grid-template-columns: 1fr 1fr; }
    .jmb-footer-features-grid { grid-template-columns: 1fr 1fr; padding: 18px 0; }
    .jmb-cta-form { grid-template-columns: 1fr 1fr; }
    .jmb-cta-form button { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
    .jmb-container { width: min(100% - 24px, var(--jmb-container)); }
    .jmb-section { padding: 42px 0; }
    .jmb-topbar { font-size: 11px; }
    .jmb-main-header-inner { min-height: 64px; }
    body.jmb-header-compact .stb-shop-category-bar { top: 64px; }
    .jmb-logo-mark { width: 38px; height: 28px; }
    .jmb-logo-text { font-size: 13px; }
    .jmb-logo .jmb-brand-logo-img { max-height: 46px; }
    .jmb-header-actions { gap: 6px; }
    .jmb-header-icon, .jmb-mobile-toggle { width: 38px; height: 38px; }
    .jmb-cart-dropdown { right: -45px; }
    .jmb-hero h1 { font-size: clamp(34px, 12vw, 52px); }
    .jmb-hero-visual::before { width: 86px; height: 86px; font-size: 10px; right: 0; top: 12px; }
    .jmb-hero-visual { min-height: 250px; }
    .jmb-intro-image-card { min-height: 320px; padding: 18px; }
    .jmb-category-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .jmb-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    .jmb-product-image { height: 150px; padding: 0; }
    .jmb-product-body { padding: 10px; }
    .jmb-product-card h3 { font-size: 12px; min-height: 48px; }
    .jmb-product-actions { justify-content: center; gap: 14px; }
    .jmb-round-btn { width: 38px; height: 38px; }
    .jmb-blog-grid, .jmb-feedback-grid, .jmb-footer-grid, .jmb-footer-features-grid { grid-template-columns: 1fr; }
    .jmb-blog-image { height: 190px; }
    .jmb-cta-form { grid-template-columns: 1fr; }
    .jmb-newsletter { flex-direction: column; align-items: stretch; }
    .jmb-footer-bottom .jmb-container { justify-content: center; text-align: center; }
    .jmb-brand-strip .jmb-container { justify-content: flex-start; overflow-x: auto; }
    .jmb-floating-tools { right: 12px; bottom: 12px; }
}

@media (max-width: 420px) {
    .jmb-product-grid { grid-template-columns: 1fr; }
    .jmb-product-image { height: 220px; }
}

/* About page - Solartech */
.st-about-hero {
    position: relative;
    overflow: hidden;
    background: radial-gradient(circle at 20% 12%, rgba(255,255,255,.18), transparent 28%), linear-gradient(135deg, #171F68 0%, #232F99 52%, #6572F3 100%);
    color: #fff;
    padding: clamp(70px, 9vw, 128px) 0 clamp(62px, 8vw, 112px);
}
.st-about-hero::before,
.st-about-hero::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    pointer-events: none;
}
.st-about-hero::before { width: 420px; height: 420px; right: -140px; top: -170px; }
.st-about-hero::after { width: 280px; height: 280px; left: -110px; bottom: -140px; }
.st-about-hero-inner { position: relative; z-index: 1; max-width: 1120px; text-align: center; }
.st-about-hero .jmb-eyebrow { color: #fff; background: rgba(255,255,255,.13); border-color: rgba(255,255,255,.22); }
.st-about-hero h1 { margin: 16px 0 12px; color: #fff; font-size: clamp(34px, 4.6vw, 60px); line-height: 1.02; letter-spacing: -.035em; text-transform: uppercase; white-space: nowrap; }
.st-about-hero p { margin: 0 auto; max-width: 780px; color: #42508f; font-size: clamp(16px, 2vw, 20px); }

.st-section-title { margin-bottom: 28px; }
.st-section-title-center { text-align: center; max-width: 780px; margin-left: auto; margin-right: auto; }
.st-section-title span { display: inline-flex; align-items: center; gap: 8px; color: var(--jmb-primary); text-transform: uppercase; letter-spacing: .12em; font-size: 12px; font-weight: 900; }
.st-section-title h2 { color: #101858; font-size: clamp(28px, 4.2vw, 50px); line-height: 1.06; margin: 10px 0 12px; letter-spacing: -.025em; }
.st-section-title p { color: var(--jmb-muted); margin: 0; font-size: 16px; }

.st-about-video-section { background: linear-gradient(180deg, #F6F7FF, #fff); padding-top: 46px; }
.st-video-card { position: relative; overflow: hidden; border-radius: 26px; background: #fff; box-shadow: 0 24px 65px rgba(35,47,153,.18); border: 1px solid rgba(35,47,153,.12); }
.st-video-card img { width: 100%; aspect-ratio: 16 / 7.6; object-fit: cover; }
.st-video-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(12,18,70,.62)); pointer-events: none; }
.st-video-play { position: absolute; z-index: 3; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 82px; height: 82px; border-radius: 50%; background: #ed1c24; display: flex; align-items: center; justify-content: center; box-shadow: 0 20px 42px rgba(237,28,36,.32); }
.st-video-play:hover { transform: translate(-50%, -50%) scale(1.06); }
.st-video-play span { display: block; width: 0; height: 0; border-top: 16px solid transparent; border-bottom: 16px solid transparent; border-left: 24px solid #fff; margin-left: 6px; }
.st-video-caption { position: absolute; z-index: 4; left: 30px; right: 30px; bottom: 24px; color: #fff; display: flex; align-items: end; justify-content: space-between; gap: 22px; }
.st-video-caption strong { font-size: clamp(18px, 2.4vw, 28px); line-height: 1.15; }
.st-video-caption em { font-style: normal; color: rgba(255,255,255,.86); font-weight: 700; }

.st-factory-overview { background: #fff; }
.st-factory-banner,
.st-wide-image-card { overflow: hidden; border-radius: 24px; background: #fff; box-shadow: 0 18px 45px rgba(35,47,153,.12); border: 1px solid var(--jmb-border); }
.st-factory-banner img,
.st-wide-image-card img { width: 100%; }

.st-about-intro-block { background: linear-gradient(180deg, #fff 0%, #F7F8FF 100%); }
.st-about-intro-grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr); gap: 36px; align-items: center; }
.st-about-copy-card { background: #fff; border: 1px solid var(--jmb-border); border-radius: 24px; padding: clamp(26px, 4vw, 44px); box-shadow: var(--jmb-shadow); }
.st-about-copy-card h2 { color: #101858; font-size: clamp(26px, 3.7vw, 44px); line-height: 1.08; margin: 14px 0 16px; letter-spacing: -.025em; }
.st-about-copy-card p { color: #5F677D; margin: 0 0 14px; font-size: 16px; }
.st-about-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.st-about-badges span { border: 1px solid rgba(35,47,153,.17); color: var(--jmb-primary); background: #F3F5FF; border-radius: 999px; padding: 9px 14px; font-size: 13px; font-weight: 900; }
.st-about-production-card { border-radius: 24px; overflow: hidden; box-shadow: 0 22px 54px rgba(35,47,153,.15); }
.st-about-production-card img { width: 100%; }

.st-why-section { position: relative; overflow: hidden; background: linear-gradient(135deg, #101858 0%, #232F99 54%, #6572F3 100%); color: #fff; }
.st-why-section::before { content: ""; position: absolute; inset: auto -80px -180px auto; width: 460px; height: 460px; border-radius: 50%; background: rgba(255,255,255,.1); }
.st-why-grid { position: relative; display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 42px; align-items: center; }
.st-why-image { border-radius: 24px; overflow: hidden; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); box-shadow: 0 22px 54px rgba(0,0,0,.22); }
.st-why-image img { width: 100%; }
.st-why-content .jmb-eyebrow { color: #fff; border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.12); }
.st-why-content h2 { color: #fff; font-size: clamp(32px, 5vw, 62px); line-height: .96; margin: 16px 0; letter-spacing: -.04em; }
.st-why-content p { color: rgba(255,255,255,.86); margin: 0 0 24px; font-size: 16px; }
.st-why-list { display: grid; gap: 12px; }
.st-why-list div { padding: 18px 20px; border-radius: 18px; background: rgba(255,255,255,.11); border: 1px solid rgba(255,255,255,.16); }
.st-why-list strong { display: block; font-size: 17px; margin-bottom: 4px; }
.st-why-list span { color: rgba(255,255,255,.78); }

.st-gallery-section { background: #F7F8FF; }
.st-gallery-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.st-gallery-card { position: relative; overflow: hidden; border-radius: 18px; background: #fff; border: 1px solid var(--jmb-border); box-shadow: 0 12px 30px rgba(35,47,153,.09); transition: transform .24s ease, box-shadow .24s ease; }
.st-gallery-card:hover { transform: translateY(-5px); box-shadow: 0 20px 44px rgba(35,47,153,.15); }
.st-gallery-card img { width: 100%; aspect-ratio: 1.42 / 1; object-fit: cover; }
.st-gallery-card span { position: absolute; left: 12px; right: 12px; bottom: 12px; border-radius: 14px; background: rgba(255,255,255,.92); color: #111A5A; padding: 9px 12px; font-size: 13px; font-weight: 900; text-align: center; box-shadow: 0 8px 18px rgba(16,24,88,.12); }
.st-gallery-note { max-width: 860px; margin: 26px auto 0; text-align: center; color: var(--jmb-muted); font-size: 14px; }

.st-cert-section { background: #fff; }
.st-partner-section { background: linear-gradient(180deg, #F7F8FF, #fff); }
.st-partner-card { margin-bottom: 22px; }
.st-showroom-card { border-radius: 20px; }

.st-feedback-showcase { background: #fff; }
.st-feedback-grid-large { display: grid; grid-template-columns: minmax(0, .85fr) minmax(420px, 1.15fr); gap: 34px; align-items: center; }
.st-feedback-mini-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 26px; }
.st-feedback-mini-grid div { padding: 20px; border: 1px solid var(--jmb-border); border-radius: 18px; background: #F7F8FF; }
.st-feedback-mini-grid strong { display: block; color: var(--jmb-primary); font-size: 18px; margin-bottom: 6px; }
.st-feedback-mini-grid span { color: var(--jmb-muted); font-size: 14px; }
.st-feedback-image { border-radius: 24px; overflow: hidden; box-shadow: 0 22px 54px rgba(35,47,153,.13); }
.st-feedback-image img { width: 100%; }
.st-service-section { background: linear-gradient(180deg, #fff, #F7F8FF); padding-top: 0; }

.st-mission-section { background: #fff; }
.st-mission-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.st-mission-grid article { position: relative; overflow: hidden; padding: 30px; border-radius: 24px; background: linear-gradient(135deg, #F3F5FF, #fff); border: 1px solid var(--jmb-border); box-shadow: 0 14px 34px rgba(35,47,153,.08); }
.st-mission-grid article::after { content: ""; position: absolute; width: 120px; height: 120px; border-radius: 50%; background: rgba(35,47,153,.08); right: -42px; top: -42px; }
.st-mission-grid span { display: inline-flex; color: var(--jmb-primary); font-size: 12px; text-transform: uppercase; letter-spacing: .12em; font-weight: 900; }
.st-mission-grid h3 { color: #101858; font-size: 24px; margin: 10px 0; }
.st-mission-grid p { color: var(--jmb-muted); margin: 0; }

.st-team-section { background: #F7F8FF; }
.st-team-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.st-team-card { text-align: center; background: #fff; border: 1px solid var(--jmb-border); border-radius: 24px; padding: 18px 18px 22px; box-shadow: 0 16px 38px rgba(35,47,153,.09); }
.st-team-card img { width: 100%; border-radius: 18px; margin-bottom: 16px; background: #F3F5FF; }
.st-team-card h3 { margin: 0 0 4px; color: #101858; font-size: 20px; }
.st-team-card p { margin: 0; color: var(--jmb-muted); font-size: 14px; }

.st-about-cta { background: #fff; padding-top: 0; }
.st-about-cta-box { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; border-radius: 26px; padding: clamp(28px, 4vw, 42px); background: linear-gradient(135deg, #101858, #232F99); color: #fff; box-shadow: 0 22px 54px rgba(35,47,153,.18); }
.st-about-cta-box h2 { color: #fff; font-size: clamp(24px, 3.4vw, 40px); line-height: 1.1; margin: 12px 0 0; }
.st-about-cta-actions { display: flex; gap: 12px; flex-wrap: wrap; justify-content: flex-end; }
.st-about-cta-actions .jmb-btn-light { background: #fff; color: var(--jmb-primary); border-color: #fff; }

@media (max-width: 1024px) {
    .st-about-intro-grid,
    .st-why-grid,
    .st-feedback-grid-large { grid-template-columns: 1fr; }
    .st-gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .st-about-production-card,
    .st-feedback-image { max-width: 760px; width: 100%; margin-inline: auto; }
}

@media (max-width: 780px) {
    .st-about-hero { padding: 58px 0 64px; }
    .st-about-hero h1 { font-size: clamp(22px, 8vw, 36px); white-space: nowrap; letter-spacing: -.025em; }
    .st-about-hero p { max-width: 92%; }
    .st-video-card { border-radius: 18px; }
    .st-video-card img { aspect-ratio: 16 / 10; }
    .st-video-play { width: 64px; height: 64px; }
    .st-video-play span { border-top-width: 12px; border-bottom-width: 12px; border-left-width: 18px; }
    .st-video-caption { position: static; padding: 16px; color: #101858; background: #fff; display: grid; }
    .st-video-caption em { color: var(--jmb-muted); }
    .st-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .st-mission-grid,
    .st-team-grid { grid-template-columns: 1fr; }
    .st-team-card { max-width: 420px; margin-inline: auto; width: 100%; }
    .st-about-cta-box { grid-template-columns: 1fr; text-align: center; }
    .st-about-cta-actions { justify-content: center; }
}

@media (max-width: 520px) {
    .st-section-title h2 { font-size: 28px; }
    .st-gallery-grid,
    .st-feedback-mini-grid { grid-template-columns: 1fr; }
    .st-about-copy-card { padding: 22px; border-radius: 18px; }
    .st-why-list div,
    .st-mission-grid article { padding: 18px; }
    .st-about-cta-actions { display: grid; }
    .st-about-cta-actions .jmb-btn { width: 100%; }
}

/* Product archive + product detail */
.stb-shop-hero { position: relative; overflow: hidden; min-height: 420px; display: flex; align-items: center; color: #fff; background: linear-gradient(115deg, rgba(14, 23, 95, .9), rgba(35,47,153,.54)), var(--stb-shop-hero-bg); background-size: cover; background-position: center; }
.stb-shop-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 78% 20%, rgba(255,255,255,.22), transparent 28%), linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.36)); pointer-events: none; }
.stb-shop-hero-inner { position: relative; padding: 76px 0 68px; max-width: 980px; margin-left: max(16px, calc((100vw - var(--jmb-container)) / 2)); }
.stb-shop-breadcrumb { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 18px; font-size: 13px; color: rgba(255,255,255,.78); }
.stb-shop-breadcrumb a { color: rgba(255,255,255,.9); }
.stb-shop-breadcrumb a:hover { color: #fff; text-decoration: underline; }
.stb-shop-breadcrumb strong { color: #fff; font-weight: 800; }
.stb-shop-hero .jmb-eyebrow { color: #fff; }
.stb-shop-hero h1 { max-width: 780px; margin: 12px 0 16px; font-size: clamp(34px, 5.4vw, 66px); line-height: 1.02; letter-spacing: -.035em; text-transform: uppercase; }
.stb-shop-hero p { max-width: 760px; margin: 0 0 18px; font-size: clamp(15px, 1.55vw, 18px); color: #42508f; }
.stb-shop-hero-points { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; max-width: 680px; }
.stb-shop-hero-points li { position: relative; padding-left: 28px; color: rgba(255,255,255,.92); font-size: 14px; }
.stb-shop-hero-points li::before { content: "✓"; position: absolute; left: 0; top: 0; width: 19px; height: 19px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255,255,255,.18); color: #fff; font-weight: 900; font-size: 12px; }
.stb-shop-category-bar { position: sticky; top: 106px; z-index: 80; background: rgba(255,255,255,.94); backdrop-filter: blur(12px); border-bottom: 1px solid var(--jmb-border); box-shadow: 0 6px 18px rgba(35,47,153,.05); }
body.admin-bar .stb-shop-category-bar { top: 138px; }
body.jmb-header-compact .stb-shop-category-bar { top: 74px; }
body.admin-bar.jmb-header-compact .stb-shop-category-bar { top: 106px; }
body.jmb-header-hidden .stb-shop-category-bar { top: 0; }
body.admin-bar.jmb-header-hidden .stb-shop-category-bar { top: 32px; }

.stb-shop-category-scroll { display: flex; align-items: center; gap: 10px; overflow-x: auto; padding: 13px 0; scrollbar-width: thin; }
.stb-shop-category-scroll a { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 8px 16px; border: 1px solid var(--jmb-border); border-radius: 999px; background: #fff; color: #232a62; font-size: 13px; font-weight: 800; }
.stb-shop-category-scroll a:hover,
.stb-shop-category-scroll a.is-active { background: var(--jmb-primary); border-color: var(--jmb-primary); color: #fff; box-shadow: 0 8px 18px rgba(35,47,153,.18); }
.stb-shop-main-section { background: linear-gradient(180deg, #fff, #FAFBFF 34%, #fff); }
.stb-shop-toolbar { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(0, 620px); align-items: center; gap: 18px; margin-bottom: 26px; padding: 18px 20px; border: 1px solid var(--jmb-border); border-radius: 18px; background: #fff; box-shadow: 0 10px 26px rgba(35,47,153,.06); }
.stb-result-count { color: #24306f; font-weight: 800; font-size: 15px; line-height: 1.45; }
.stb-toolbar-actions { display: grid; grid-template-columns: minmax(220px, 1fr) 220px auto; align-items: center; gap: 12px; width: 100%; }
.stb-toolbar-actions input,
.stb-toolbar-actions select { width: 100%; min-height: 46px; border: 1px solid var(--jmb-border); border-radius: 999px; background: #F8F9FF; padding: 0 16px; outline: none; color: #1f285f; }
.stb-toolbar-actions input::placeholder { color: #7a84a6; }
.stb-toolbar-actions input:focus,
.stb-toolbar-actions select:focus { border-color: var(--jmb-primary); box-shadow: 0 0 0 4px rgba(35,47,153,.12); }
.stb-toolbar-submit { min-height: 46px; border: 0; border-radius: 999px; background: #111; color: #fff; font-weight: 800; padding: 0 24px; white-space: nowrap; justify-self: end; }
.stb-toolbar-submit:hover { background: var(--jmb-primary); }
.stb-shop-grid { align-items: stretch; }
.stb-shop-grid .jmb-product-card { min-height: 100%; }
.stb-shop-pagination { margin-top: 34px; display: flex; justify-content: center; }
.stb-shop-pagination ul { display: flex; align-items: center; justify-content: center; gap: 8px; list-style: none; padding: 0; margin: 0; }
.stb-shop-pagination a,
.stb-shop-pagination span { min-width: 38px; height: 38px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--jmb-border); background: #fff; color: #232a62; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; }
.stb-shop-pagination .current,
.stb-shop-pagination a:hover { background: var(--jmb-primary); border-color: var(--jmb-primary); color: #fff; }
.stb-shop-empty { padding: 56px 24px; border: 1px dashed #cbd1f5; border-radius: 22px; background: #fff; text-align: center; }
.stb-shop-empty h2 { margin: 0 0 8px; color: #121a59; font-size: 28px; }
.stb-shop-empty p { margin: 0 auto 18px; max-width: 560px; color: var(--jmb-muted); }
.stb-price-contact { color: var(--jmb-primary); font-weight: 900; }

.stb-product-detail-hero { background: linear-gradient(135deg, #101858, #232F99); padding: 38px 0; color: #fff; }
.stb-product-detail-main { background: linear-gradient(180deg, #F7F8FF, #fff); }
.stb-product-detail-grid { display: grid; grid-template-columns: minmax(360px, .9fr) minmax(0, 1.1fr); gap: 30px; align-items: start; }
.stb-product-gallery-card,
.stb-product-summary-card,
.stb-product-content-card,
.stb-product-spec-card { position: relative; border: 1px solid var(--jmb-border); border-radius: 24px; background: #fff; box-shadow: 0 18px 42px rgba(35,47,153,.09); }
.stb-product-gallery-card { padding: 28px; display: flex; align-items: center; justify-content: center; min-height: 480px; }
.stb-product-gallery-card img { width: 100%; max-height: 520px; object-fit: contain; }
.stb-product-summary-card { padding: clamp(24px, 3vw, 38px); }
.stb-product-summary-card h1 { margin: 10px 0 14px; color: #101858; font-size: clamp(28px, 4vw, 48px); line-height: 1.08; }
.stb-product-detail-price { font-size: 22px; margin-bottom: 16px; }
.stb-product-detail-price ins,
.stb-product-detail-price .amount { font-size: 26px; }
.stb-product-short { color: #56607c; font-size: 16px; margin: 0 0 18px; }
.stb-product-feature-list { margin-top: 18px; }
.stb-product-detail-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px; }
.stb-product-content-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 30px; margin-top: 30px; align-items: start; }
.stb-product-content-card { padding: clamp(22px, 3vw, 34px); }
.stb-product-content-card h2,
.stb-product-spec-card h2 { margin: 0 0 18px; color: #101858; font-size: 26px; }
.stb-product-content-card p { color: #4d5874; }
.stb-product-spec-card { padding: 26px; }
.stb-product-spec-card dl { display: grid; gap: 0; margin: 0; }
.stb-product-spec-card dl div { display: grid; grid-template-columns: 120px 1fr; gap: 10px; padding: 12px 0; border-bottom: 1px solid #edf0ff; }
.stb-product-spec-card dl div:last-child { border-bottom: 0; }
.stb-product-spec-card dt { color: #6b7390; font-weight: 700; }
.stb-product-spec-card dd { margin: 0; color: #111a5a; font-weight: 900; }

@media (max-width: 1100px) {
    .stb-shop-category-bar { top: 98px; }
    body.admin-bar .stb-shop-category-bar { top: 130px; }
    .stb-product-detail-grid,
    .stb-product-content-grid { grid-template-columns: 1fr; }
    .stb-product-gallery-card { min-height: 360px; }
}

@media (max-width: 960px) {
    .stb-shop-category-bar { position: static; }
    body.admin-bar .stb-shop-category-bar { top: auto; }
    .stb-shop-toolbar { grid-template-columns: 1fr; align-items: stretch; }
    .stb-toolbar-actions { grid-template-columns: minmax(0, 1fr) minmax(180px, 220px) auto; }
}

@media (max-width: 900px) { .st-contact-hero h1 { white-space: normal; font-size: clamp(34px, 9vw, 46px); } }
@media (max-width: 640px) {
    .stb-shop-hero { min-height: 360px; }
    .stb-shop-hero-inner { padding: 54px 0; }
    .stb-shop-hero h1 { font-size: 34px; }
    .stb-shop-hero-points li { font-size: 13px; }
    .stb-shop-toolbar { padding: 16px; gap: 14px; }
    .stb-toolbar-actions { display: grid; grid-template-columns: 1fr; }
    .stb-toolbar-actions input,
    .stb-toolbar-actions select,
    .stb-toolbar-submit { width: 100%; }
    .stb-toolbar-submit { justify-self: stretch; }
    .stb-product-gallery-card { padding: 18px; min-height: 280px; }
    .stb-product-summary-card { padding: 22px; }
    .stb-product-detail-actions { display: grid; }
    .stb-product-detail-actions .jmb-btn { width: 100%; }
    .stb-product-spec-card dl div { grid-template-columns: 1fr; gap: 3px; }
}


/* Cart drawer and cart page - v9 */
body.jmb-cart-open { overflow: hidden; }
.jmb-cart-overlay { position: fixed; inset: 0; z-index: 1200; background: rgba(6, 10, 34, .54); opacity: 0; visibility: hidden; transition: opacity .24s ease, visibility .24s ease; }
.jmb-cart-drawer { position: fixed; top: 0; right: 0; bottom: 0; width: min(520px, 100vw); z-index: 1201; background: #fff; box-shadow: -24px 0 60px rgba(9, 15, 44, .25); transform: translateX(105%); transition: transform .28s ease; display: flex; flex-direction: column; }
body.admin-bar .jmb-cart-drawer { top: 32px; }
body.jmb-cart-open .jmb-cart-overlay { opacity: 1; visibility: visible; }
body.jmb-cart-open .jmb-cart-drawer { transform: translateX(0); }
.jmb-cart-drawer-head { min-height: 88px; padding: 0 30px; border-bottom: 1px solid #EDF0F9; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.jmb-cart-drawer-head h2 { margin: 0; color: #12172d; font-size: 28px; line-height: 1.1; text-transform: uppercase; letter-spacing: .02em; }
.jmb-cart-close { width: 46px; height: 46px; border: 0; background: #fff; color: #111827; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; }
.jmb-cart-close:hover { background: #F3F5FF; color: var(--jmb-primary); }
.jmb-cart-close svg { width: 28px; height: 28px; }
.jmb-cart-drawer-body { min-height: 0; flex: 1; overflow-y: auto; display: flex; flex-direction: column; }
.jmb-cart-drawer-empty { padding: 34px 30px; text-align: center; display: grid; justify-items: center; gap: 18px; color: var(--jmb-muted); }
.jmb-cart-drawer-empty p { margin: 0; font-size: 16px; }
.jmb-cart-drawer-items { display: grid; gap: 0; }
.jmb-cart-drawer-item { position: relative; display: grid; grid-template-columns: 175px minmax(0, 1fr); gap: 22px; padding: 28px 30px 30px; border-bottom: 1px solid #EDF0F9; }
.jmb-cart-drawer-thumb { display: block; border-radius: 16px; overflow: hidden; background: #F7F8FF; border: 1px solid #EDF0F9; }
.jmb-cart-drawer-thumb img { width: 100%; aspect-ratio: 1 / 1.05; object-fit: contain; padding: 10px; }
.jmb-cart-drawer-info { display: grid; gap: 13px; align-content: start; min-width: 0; }
.jmb-cart-drawer-name { color: #111827; font-size: 17px; line-height: 1.35; font-weight: 800; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.jmb-cart-drawer-name:hover { color: var(--jmb-primary); }
.jmb-cart-drawer-prices { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; }
.jmb-cart-drawer-prices del { color: #7b8497; font-size: 17px; }
.jmb-cart-drawer-prices ins { color: #ed1c24; text-decoration: none; font-size: 20px; font-weight: 800; }
.jmb-cart-qty { width: 180px; max-width: 100%; min-height: 50px; border: 1px solid #111827; border-radius: 999px; display: grid; grid-template-columns: 46px 1fr 46px; align-items: center; text-align: center; color: #111827; background: #fff; overflow: hidden; }
.jmb-cart-qty span { font-size: 24px; font-weight: 900; line-height: 1; }
.jmb-cart-qty-btn { height: 50px; display: inline-flex; align-items: center; justify-content: center; color: #111827; }
.jmb-cart-qty-btn:hover { color: var(--jmb-primary); background: #F4F6FF; }
.jmb-cart-qty svg { width: 22px; height: 22px; stroke-width: 2.4; }
.jmb-cart-drawer-remove { width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; color: #111827; }
.jmb-cart-drawer-remove:hover { color: #ed1c24; }
.jmb-cart-drawer-service { margin-top: auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; justify-items: center; padding: 28px 30px; background: #F6F7FF; border-top: 1px solid #EDF0F9; border-bottom: 1px solid #EDF0F9; }
.jmb-cart-drawer-service span { width: 74px; height: 74px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #fff; color: #111827; box-shadow: 0 12px 28px rgba(35,47,153,.10); }
.jmb-cart-drawer-service svg { width: 30px; height: 30px; }
.jmb-cart-drawer-summary { padding: 28px 30px 34px; display: grid; gap: 16px; background: #fff; }
.jmb-cart-drawer-summary > div { display: flex; align-items: center; justify-content: space-between; gap: 18px; color: #111827; font-size: 26px; font-weight: 900; }
.jmb-cart-drawer-summary > div span { font-size: 24px; }
.jmb-cart-drawer-summary p { margin: 0; color: #7C8492; font-size: 15px; }
.jmb-cart-drawer-summary label { color: #7C8492; display: flex; align-items: center; gap: 10px; font-size: 15px; }
.jmb-cart-drawer-summary input[type="checkbox"] { width: 24px; height: 24px; accent-color: var(--jmb-primary); }

.jmb-wishlist-drawer { position: fixed; top: 0; right: 0; bottom: 0; width: min(520px, 100vw); z-index: 1201; background: #fff; box-shadow: -24px 0 60px rgba(9, 15, 44, .25); transform: translateX(105%); transition: transform .28s ease; display: flex; flex-direction: column; }
body.admin-bar .jmb-wishlist-drawer { top: 32px; }
.jmb-wishlist-overlay { position: fixed; inset: 0; background: rgba(10, 16, 65, .46); z-index: 1200; opacity: 0; visibility: hidden; transition: .25s ease; }
body.jmb-wishlist-open .jmb-wishlist-drawer { transform: translateX(0); }
body.jmb-wishlist-open .jmb-wishlist-overlay { opacity: 1; visibility: visible; }
.jmb-wishlist-close { width: 42px; height: 42px; border: 1px solid #E3E7F5; border-radius: 50%; background: #fff; color: #111827; display: inline-flex; align-items: center; justify-content: center; padding: 0; }
.jmb-wishlist-close:hover { color: var(--jmb-primary); border-color: var(--jmb-primary); }
.jmb-wishlist-drawer-actions { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 2px; }
.jmb-wishlist-drawer-actions .jmb-round-btn { width: 40px; height: 40px; }
.jmb-cart-view, .jmb-cart-checkout, .st-cart-checkout-main { height: 56px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; text-transform: uppercase; letter-spacing: .22em; font-weight: 900; font-size: 14px; }
.jmb-cart-view { background: #F4F4F5; color: #111827; }
.jmb-cart-view:hover { background: #E8EBFF; color: var(--jmb-primary); }
.jmb-cart-checkout, .st-cart-checkout-main { background: linear-gradient(135deg, #3545C7, #232F99); color: #fff; box-shadow: 0 12px 24px rgba(35,47,153,.22); }
.jmb-cart-checkout:hover, .st-cart-checkout-main:hover { color: #fff; background: linear-gradient(135deg, #232F99, #171F68); transform: translateY(-2px); }

.st-cart-hero { background: linear-gradient(135deg, rgba(35,47,153,.96), rgba(23,31,104,.96)), radial-gradient(circle at 80% 0%, rgba(255,255,255,.25), transparent 30%); color: #fff; padding: 76px 0; text-align: center; }
.st-cart-hero h1 { margin: 0 0 10px; color: #fff; font-size: clamp(36px, 5vw, 56px); line-height: 1.05; text-transform: uppercase; letter-spacing: -.02em; }
.st-cart-hero p { margin: 0 auto; max-width: 560px; color: rgba(255,255,255,.84); font-size: 16px; }
.st-cart-section { padding: 58px 0 70px; background: #fff; }
.st-cart-empty { min-height: 360px; display: grid; place-items: center; align-content: center; gap: 14px; text-align: center; border: 1px solid var(--jmb-border); border-radius: 24px; background: #F8F9FF; padding: 40px 20px; }
.st-cart-empty h2 { margin: 0; color: #141A55; font-size: clamp(24px, 3vw, 36px); }
.st-cart-empty p { margin: 0 0 8px; color: var(--jmb-muted); }
.st-cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 46px; align-items: start; }
.st-cart-table { border-bottom: 1px solid #E8EAF4; }
.st-cart-row { display: grid; grid-template-columns: minmax(360px, 1fr) 160px 190px 150px; gap: 20px; align-items: center; }
.st-cart-head { padding: 12px 0; border-bottom: 1px solid #E8EAF4; color: #0F172A; font-size: 13px; font-weight: 900; text-transform: uppercase; }
.st-cart-item { padding: 34px 0; border-bottom: 1px solid #E8EAF4; }
.st-cart-product { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 24px; align-items: center; }
.st-cart-thumb { border: 1px solid #EDF0F9; border-radius: 16px; background: #F8F9FF; overflow: hidden; }
.st-cart-thumb img { width: 100%; aspect-ratio: 4 / 3; object-fit: contain; padding: 10px; }
.st-cart-name { color: #111827; font-size: 16px; line-height: 1.35; font-weight: 900; display: block; max-width: 420px; }
.st-cart-name:hover { color: var(--jmb-primary); }
.st-cart-remove { display: inline-flex; align-items: center; gap: 7px; margin-top: 12px; color: #6B7280; font-size: 13px; font-weight: 700; }
.st-cart-remove:hover { color: #ed1c24; }
.st-cart-remove svg { width: 17px; height: 17px; }
.st-cart-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; }
.st-cart-price del { color: #737B8C; font-size: 14px; }
.st-cart-price ins { color: #ed1c24; text-decoration: none; font-weight: 900; }
.st-cart-total { color: #111827; font-weight: 900; }
.st-cart-extras { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 42px; max-width: 620px; }
.st-cart-note label, .st-cart-coupon label, .st-cart-shipping label { color: #111827; font-size: 15px; font-weight: 800; display: grid; gap: 10px; }
.st-cart-note textarea, .st-cart-coupon input, .st-cart-shipping input, .st-cart-shipping select { width: 100%; border: 1px solid #E2E6F1; border-radius: 0; background: #fff; outline: none; padding: 14px 16px; color: #111827; transition: border .2s ease, box-shadow .2s ease; }
.st-cart-note textarea:focus, .st-cart-coupon input:focus, .st-cart-shipping input:focus, .st-cart-shipping select:focus { border-color: var(--jmb-primary); box-shadow: 0 0 0 3px rgba(35,47,153,.10); }
.st-cart-coupon p { margin: 0 0 12px; color: #7C8492; font-size: 14px; }
.st-cart-summary { position: sticky; top: 130px; }
.st-cart-summary-card { display: grid; gap: 17px; padding: 28px 26px; border: 1px solid #E5E8F4; border-radius: 24px; background: #fff; box-shadow: 0 18px 45px rgba(35,47,153,.10); }
.st-cart-summary-card h2 { margin: 0; color: #111827; font-size: 24px; }
.st-cart-summary-line { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: #111827; font-size: 20px; }
.st-cart-summary-line span { font-weight: 900; }
.st-cart-summary-line strong { font-size: 24px; }
.st-cart-summary-card p { margin: 0; color: #7C8492; }
.st-cart-terms { color: #7C8492; display: flex; align-items: center; gap: 10px; font-size: 14px; }
.st-cart-terms input { width: 20px; height: 20px; accent-color: var(--jmb-primary); }
.st-cart-checkout-main { width: 100%; letter-spacing: .04em; }
.st-cart-shipping { margin-top: 54px; padding: 34px 30px; border: 1px solid #E5E8F4; border-radius: 24px; background: linear-gradient(180deg, #fff, #F8F9FF); }
.st-cart-shipping h2 { margin: -54px auto 28px; width: max-content; max-width: 100%; padding: 0 24px; background: #fff; color: #111827; font-size: 26px; }
.st-cart-shipping-grid { display: grid; grid-template-columns: 1fr 1fr 1fr 220px; gap: 22px; align-items: end; }
.st-cart-shipping button { height: 50px; border: 0; border-radius: 999px; background: linear-gradient(135deg, #3545C7, #232F99); color: #fff; font-weight: 900; text-transform: uppercase; }
.st-cart-shipping button:hover { background: linear-gradient(135deg, #232F99, #171F68); }

/* Hide old/third-party live chat buttons that cover the cart. */
.jmb-floating-tools,
#tidio-chat,
.tidio-chat,
#tawkchat-container,
.tawk-min-container,
#chat-widget-container,
#crisp-chatbox,
.crisp-client,
.fb_dialog,
.fb-customerchat,
.livechat,
.live-chat,
#livechat,
[id*="livechat"],
[class*="livechat"],
[id*="live-chat"],
[class*="live-chat"],
iframe[title*="chat" i],
iframe[src*="livechat" i],
iframe[src*="tidio" i],
iframe[src*="tawk" i],
iframe[src*="crisp" i] { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; }

@media (max-width: 1100px) {
    .st-cart-layout { grid-template-columns: 1fr; }
    .st-cart-summary { position: static; }
    .st-cart-row { grid-template-columns: minmax(320px, 1fr) 140px 170px 130px; }
    .st-cart-shipping-grid { grid-template-columns: 1fr 1fr; }
    .st-cart-shipping button { grid-column: 1 / -1; }
}

@media (max-width: 780px) {
    body.admin-bar .jmb-cart-drawer { top: 46px; }
    .jmb-cart-drawer { width: min(460px, 100vw); }
    .jmb-cart-drawer-head { min-height: 76px; padding: 0 20px; }
    .jmb-cart-drawer-head h2 { font-size: 23px; }
    .jmb-cart-drawer-item { grid-template-columns: 128px 1fr; gap: 16px; padding: 22px 20px; }
    .jmb-cart-drawer-name { font-size: 15px; }
    .jmb-cart-drawer-prices del { font-size: 14px; }
    .jmb-cart-drawer-prices ins { font-size: 17px; }
    .jmb-cart-qty { width: 150px; min-height: 44px; grid-template-columns: 42px 1fr 42px; }
    .jmb-cart-qty span { font-size: 20px; }
    .jmb-cart-qty-btn { height: 44px; }
    .jmb-cart-drawer-service { gap: 12px; padding: 22px 20px; }
    .jmb-cart-drawer-service span { width: 62px; height: 62px; }
    .jmb-cart-drawer-summary { padding: 22px 20px 28px; }
    .jmb-cart-drawer-summary > div, .jmb-cart-drawer-summary > div span { font-size: 20px; }
    body.admin-bar .jmb-wishlist-drawer { top: 46px; }
    .jmb-wishlist-drawer { width: min(460px, 100vw); }
    .st-cart-section { padding: 42px 0 54px; }
    .st-cart-table { border-bottom: 0; }
    .st-cart-head { display: none; }
    .st-cart-row, .st-cart-item { display: block; }
    .st-cart-item { padding: 22px 0; }
    .st-cart-product { grid-template-columns: 110px minmax(0, 1fr); gap: 16px; margin-bottom: 16px; }
    .st-cart-price, .st-cart-quantity, .st-cart-total { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-top: 1px dashed #E4E7F2; }
    .st-cart-price::before, .st-cart-quantity::before, .st-cart-total::before { content: attr(data-label); color: #5B6475; font-weight: 800; }
    .st-cart-quantity { align-items: center; }
    .st-cart-quantity .jmb-cart-qty { margin-left: auto; }
    .st-cart-shipping { padding: 28px 18px; }
    .st-cart-shipping-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .jmb-cart-drawer-item { grid-template-columns: 104px 1fr; gap: 13px; padding: 20px 16px; }
    .jmb-cart-drawer-summary, .jmb-cart-drawer-service, .jmb-cart-drawer-head { padding-left: 16px; padding-right: 16px; }
    .jmb-wishlist-drawer .jmb-cart-drawer-item { grid-template-columns: 104px 1fr; gap: 13px; padding: 20px 16px; }
    .jmb-cart-qty { width: 132px; grid-template-columns: 38px 1fr 38px; }
    .jmb-cart-view, .jmb-cart-checkout, .st-cart-checkout-main { height: 50px; letter-spacing: .08em; }
}

/* Contact page */
.st-contact-hero { position: relative; overflow: hidden; background: radial-gradient(circle at 82% 18%, rgba(255,255,255,.22), transparent 28%), linear-gradient(135deg, #171F68 0%, #232F99 55%, #3545C7 100%); color: #fff; padding: 84px 0; }
.st-contact-hero::before { content: ""; position: absolute; inset: auto -10% -38% -10%; height: 62%; background: rgba(35,47,153,.05); transform: skewY(-5deg); }
.st-contact-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) 390px; gap: 44px; align-items: center; }
.st-contact-kicker { display: inline-flex; align-items: center; gap: 8px; min-height: 32px; padding: 7px 14px; border-radius: 999px; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.22); color: #fff; font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.st-contact-hero h1 { margin: 18px 0 16px; color: #fff; font-size: clamp(36px, 4vw, 56px); line-height: 1.04; letter-spacing: -.035em; text-transform: uppercase; max-width: 100%; white-space: nowrap; }
.st-contact-hero p { margin: 0; color: rgba(255,255,255,.84); font-size: 17px; max-width: 680px; }
.st-contact-hero-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.st-contact-hero-actions .jmb-btn { gap: 8px; border-color: rgba(255,255,255,.34); }
.st-contact-hero-actions .jmb-btn-light { background: #fff; color: #171F68; }
.st-contact-hero-actions .jmb-btn-light:hover { background: #E8EBFF; color: #171F68; }
.st-contact-hero-card { position: relative; padding: 30px; border-radius: 28px; background: rgba(255,255,255,.96); color: #141A55; box-shadow: 0 24px 70px rgba(0,0,0,.18); border: 1px solid rgba(255,255,255,.44); overflow: hidden; }
.st-contact-hero-card::before { content: ""; position: absolute; right: -60px; top: -60px; width: 150px; height: 150px; border-radius: 50%; background: rgba(35,47,153,.10); }
.st-contact-hero-card-top { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; }
.st-contact-hero-card-top span { width: 58px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 11px; background: linear-gradient(135deg, #232F99, #3545C7); color: #fff; font-size: 20px; font-weight: 900; transform: skew(-8deg); }
.st-contact-hero-card-top strong { font-size: 24px; letter-spacing: -.03em; }
.st-contact-hero-card ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.st-contact-hero-card li { display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 12px; color: #3E4777; font-weight: 800; }
.st-contact-hero-card li span { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: #EEF1FF; color: #232F99; }
.st-contact-hero-card svg { width: 18px; height: 18px; }

.st-contact-main { padding: 70px 0; background: linear-gradient(180deg, #fff 0%, #F7F8FF 100%); }
.st-contact-alert { margin: 0 0 26px; border-radius: 18px; padding: 16px 18px; font-weight: 800; border: 1px solid transparent; }
.st-contact-alert.is-success { background: #EAFBF0; color: #0F6B34; border-color: #BFEBCD; }
.st-contact-alert.is-error { background: #FFF1F1; color: #A51616; border-color: #FFD0D0; }
.st-contact-layout { display: grid; grid-template-columns: minmax(300px, .88fr) minmax(0, 1.12fr); gap: 34px; align-items: start; }
.st-contact-info-panel, .st-contact-form-card { border: 1px solid #E5E8F4; border-radius: 30px; background: #fff; box-shadow: 0 18px 55px rgba(35,47,153,.10); }
.st-contact-info-panel { padding: 30px; position: sticky; top: 126px; }
.st-contact-section-heading span, .st-contact-form-head span { color: #232F99; font-weight: 900; font-size: 12px; text-transform: uppercase; letter-spacing: .10em; }
.st-contact-section-heading h2, .st-contact-form-head h2 { margin: 8px 0 10px; color: #141A55; font-size: clamp(24px, 3vw, 34px); line-height: 1.14; letter-spacing: -.03em; }
.st-contact-section-heading p, .st-contact-form-head p { margin: 0; color: #687482; }
.st-contact-info-list { display: grid; gap: 12px; margin: 24px 0; }
.st-contact-info-card { display: grid; grid-template-columns: 48px 1fr; gap: 14px; align-items: center; padding: 16px; border: 1px solid #E8EBFF; border-radius: 18px; background: #F8F9FF; }
.st-contact-info-card:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(35,47,153,.10); }
.st-contact-info-card > span { width: 48px; height: 48px; border-radius: 50%; background: linear-gradient(135deg, #3545C7, #232F99); color: #fff; display: inline-flex; align-items: center; justify-content: center; }
.st-contact-info-card small { display: block; color: #687482; font-size: 13px; margin-bottom: 2px; }
.st-contact-info-card strong { color: #141A55; font-size: 15px; }
.st-contact-branches { display: grid; gap: 10px; }
.st-contact-branches div { display: grid; grid-template-columns: 58px 1fr; gap: 12px; padding: 13px 0; border-top: 1px dashed #E2E6F1; }
.st-contact-branches strong { color: #232F99; font-size: 14px; }
.st-contact-branches span { color: #3E4777; font-weight: 600; }
.st-contact-map-card { position: relative; margin-top: 24px; padding: 26px; min-height: 190px; border-radius: 24px; overflow: hidden; background: linear-gradient(135deg, rgba(35,47,153,.94), rgba(23,31,104,.94)), repeating-linear-gradient(45deg, rgba(255,255,255,.16) 0 1px, transparent 1px 22px); color: #fff; display: grid; align-content: end; }
.st-contact-map-card::before { content: ""; position: absolute; inset: 18px; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; }
.st-contact-map-card strong { position: relative; color: #fff; font-size: 23px; }
.st-contact-map-card p { position: relative; margin: 8px 0 0; color: rgba(255,255,255,.78); }
.st-map-pin { position: absolute; top: 24px; right: 24px; width: 56px; height: 56px; border-radius: 50%; background: #fff; color: #232F99; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 12px 25px rgba(0,0,0,.18); }

.st-contact-form-card { padding: 34px; }
.st-contact-form { margin-top: 24px; display: grid; gap: 18px; }
.st-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.st-contact-form label { display: grid; gap: 8px; color: #111827; font-weight: 800; font-size: 14px; }
.st-contact-form em { color: #ed1c24; font-style: normal; }
.st-contact-form input, .st-contact-form select, .st-contact-form textarea { width: 100%; border: 1px solid #E2E6F1; border-radius: 14px; background: #F9FAFF; outline: none; padding: 14px 15px; color: #111827; transition: border .2s ease, box-shadow .2s ease, background .2s ease; }
.st-contact-form textarea { resize: vertical; min-height: 130px; }
.st-contact-form input:focus, .st-contact-form select:focus, .st-contact-form textarea:focus { border-color: #232F99; background: #fff; box-shadow: 0 0 0 4px rgba(35,47,153,.10); }
.st-contact-submit { min-height: 56px; width: max-content; border: 0; border-radius: 999px; padding: 0 28px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; background: linear-gradient(135deg, #3545C7, #232F99); color: #fff; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; box-shadow: 0 14px 26px rgba(35,47,153,.22); }
.st-contact-submit:hover { transform: translateY(-2px); background: linear-gradient(135deg, #232F99, #171F68); }
.st-contact-benefits { padding: 0 0 70px; background: #F7F8FF; }
.st-contact-benefits-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.st-contact-benefits-grid > div { padding: 26px; border-radius: 24px; background: #fff; border: 1px solid #E5E8F4; box-shadow: 0 12px 38px rgba(35,47,153,.08); }
.st-contact-benefits-grid span { width: 52px; height: 52px; border-radius: 16px; background: #EEF1FF; color: #232F99; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 14px; }
.st-contact-benefits-grid h3 { margin: 0 0 8px; color: #141A55; font-size: 20px; }
.st-contact-benefits-grid p { margin: 0; color: #687482; }

.stb-contact-admin-box { padding: 4px 0; }
.stb-contact-status-row { margin-bottom: 18px; }
.stb-contact-status-row select { margin-left: 12px; min-width: 170px; }
.stb-contact-admin-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.stb-contact-admin-item { padding: 12px; border: 1px solid #d9def5; border-radius: 8px; background: #f8f9ff; }
.stb-contact-admin-item.is-wide { grid-column: 1 / -1; }
.stb-contact-admin-item span { display: block; color: #1d255f; font-weight: 700; margin-bottom: 5px; }
.stb-contact-admin-item strong { color: #111827; font-weight: 500; white-space: pre-wrap; }
.stb-contact-status { display: inline-flex; align-items: center; min-height: 26px; padding: 4px 10px; border-radius: 999px; font-weight: 800; font-size: 12px; }
.stb-contact-status.is-new { background: #fff1f1; color: #b32d2e; }
.stb-contact-status.is-processing { background: #fff7e6; color: #9a5b00; }
.stb-contact-status.is-done { background: #eafbf0; color: #0f6b34; }

@media (max-width: 1024px) {
    .st-contact-hero-grid, .st-contact-layout { grid-template-columns: 1fr; }
    .st-contact-info-panel { position: static; }
    .st-contact-hero-card { max-width: 560px; }
}

@media (max-width: 720px) {
    .st-contact-hero { padding: 58px 0; }
    .st-contact-main { padding: 44px 0; }
    .st-contact-form-card, .st-contact-info-panel { padding: 22px; border-radius: 22px; }
    .st-form-grid, .st-contact-benefits-grid { grid-template-columns: 1fr; }
    .st-contact-submit { width: 100%; }
    .st-contact-branches div { grid-template-columns: 1fr; gap: 4px; }
}

/* Header scroll state refinements */
@media (max-width: 1100px) and (min-width: 961px) {
    body.jmb-header-compact .stb-shop-category-bar { top: 74px; }
    body.admin-bar.jmb-header-compact .stb-shop-category-bar { top: 106px; }
    body.jmb-header-hidden .stb-shop-category-bar { top: 0; }
    body.admin-bar.jmb-header-hidden .stb-shop-category-bar { top: 32px; }
}

/* Home banner slider - v14 */
.stb-home-banner { position: relative; width: 100%; aspect-ratio: 1920 / 700; min-height: 260px; max-height: 700px; overflow: hidden; background: #75bdec; isolation: isolate; }
.stb-home-banner-track, .stb-home-banner-slide { position: absolute; inset: 0; }
.stb-home-banner-slide { opacity: 0; visibility: hidden; transition: opacity .55s ease, visibility .55s ease; }
.stb-home-banner-slide.is-active { opacity: 1; visibility: visible; z-index: 2; }
.stb-home-banner-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center center; display: block; z-index: 1; }
.stb-home-banner-content { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
.stb-home-banner-copy { position: absolute; pointer-events: auto; color: #fff; text-shadow: 0 4px 2px rgba(0,0,0,.48); }
.stb-banner-tone-dark .stb-home-banner-copy { color: #1c2679; text-shadow: 0 2px 0 rgba(255,255,255,.85); }
.stb-home-banner-title { margin: 0; font-size: clamp(24px, 4.45vw, 74px); line-height: 1.05; font-weight: 900; letter-spacing: .035em; text-transform: uppercase; color: currentColor; }
.stb-home-banner-subtitle { margin: clamp(8px, 1.15vw, 20px) 0 0; font-size: clamp(13px, 1.85vw, 34px); line-height: 1.18; font-weight: 700; color: currentColor; }
.stb-home-banner-highlight { display: flex; flex-direction: column; align-items: flex-start; gap: clamp(5px, .65vw, 10px); margin-top: clamp(9px, 1.15vw, 19px); }
.stb-home-banner-highlight span { display: inline-flex; width: fit-content; max-width: 100%; border: 2px solid rgba(255,255,255,.92); border-radius: 7px; background: rgba(255,255,255,.22); color: currentColor; padding: clamp(2px, .42vw, 8px) clamp(8px, 1.15vw, 18px); font-size: clamp(13px, 1.75vw, 32px); line-height: 1.08; font-weight: 900; box-shadow: 0 3px 0 rgba(0,0,0,.16); }
.stb-home-banner-bullets { list-style: none; margin: clamp(10px, 1.4vw, 26px) 0 0; padding: 0; display: grid; gap: clamp(7px, 1.05vw, 16px); }
.stb-home-banner-bullets li { position: relative; padding-left: clamp(18px, 2vw, 38px); color: currentColor; font-size: clamp(12px, 1.6vw, 30px); line-height: 1.14; font-weight: 500; }
.stb-home-banner-bullets li::before { content: ""; position: absolute; left: 0; top: .38em; width: clamp(7px, .95vw, 16px); height: clamp(7px, .95vw, 16px); border-radius: 999px; background: currentColor; box-shadow: 0 0 0 2px rgba(255,255,255,.18); }
.stb-home-banner-btn { display: inline-flex; align-items: center; justify-content: center; min-height: clamp(30px, 3.1vw, 56px); margin-top: clamp(12px, 1.75vw, 30px); padding: 0 clamp(14px, 2.15vw, 38px); border-radius: 999px; background: linear-gradient(135deg, #fff 0%, #f0f7ff 100%); color: #2287c9; font-size: clamp(12px, 1.3vw, 24px); font-weight: 900; letter-spacing: .03em; text-transform: uppercase; text-decoration: none; text-shadow: none; box-shadow: 0 10px 28px rgba(0,78,133,.25), inset 0 0 0 1px rgba(255,255,255,.8); transition: transform .25s ease, box-shadow .25s ease, color .25s ease; }
.stb-home-banner-btn:hover { transform: translateY(-2px); color: #232F99; box-shadow: 0 16px 36px rgba(0,78,133,.32), inset 0 0 0 1px rgba(255,255,255,.96); }
.stb-banner-layout-1 .stb-home-banner-copy { left: 10%; top: 7%; right: 10%; text-align: center; }
.stb-banner-layout-1 .stb-home-banner-title { font-size: clamp(27px, 4.2vw, 72px); letter-spacing: .045em; }
.stb-banner-layout-1 .stb-home-banner-subtitle { font-size: clamp(15px, 1.75vw, 34px); }
.stb-banner-layout-1 .stb-home-banner-highlight, .stb-banner-layout-1 .stb-home-banner-bullets { align-items: center; justify-items: center; }
.stb-banner-layout-2 .stb-home-banner-copy { left: 9.2%; top: 18%; width: 47%; }
.stb-banner-layout-2 .stb-home-banner-title { font-size: clamp(22px, 3.2vw, 60px); letter-spacing: .045em; }
.stb-banner-layout-2 .stb-home-banner-bullets { max-width: 690px; }
.stb-banner-layout-3 .stb-home-banner-copy { left: 12.8%; top: 22%; width: 43%; }
.stb-banner-layout-3 .stb-home-banner-title { font-size: clamp(30px, 4.15vw, 78px); letter-spacing: .06em; line-height: 1.12; }
.stb-banner-layout-3 .stb-home-banner-subtitle { font-weight: 500; }
.stb-banner-layout-3 .stb-home-banner-highlight span { font-size: clamp(14px, 1.7vw, 34px); }
.stb-banner-layout-4 .stb-home-banner-copy { left: 12.8%; top: 19%; width: 48%; }
.stb-banner-layout-4 .stb-home-banner-title { font-size: clamp(34px, 4.45vw, 82px); letter-spacing: .055em; }
.stb-banner-layout-4 .stb-home-banner-subtitle { font-size: clamp(18px, 2.6vw, 50px); font-weight: 900; }
.stb-banner-layout-4 .stb-home-banner-highlight span:first-child { background: rgba(255,255,255,.92); color: #2e9ed2; border: none; text-shadow: none; }
.stb-banner-layout-4 .stb-home-banner-highlight span:last-child { background: transparent; border: none; padding-inline: 0; font-size: clamp(18px, 2.3vw, 42px); }
.stb-banner-layout-5 .stb-home-banner-copy { left: 11.8%; top: 18%; width: 52%; }
.stb-banner-layout-5 .stb-home-banner-title { font-size: clamp(25px, 3.75vw, 70px); letter-spacing: .06em; }
.stb-banner-layout-5 .stb-home-banner-bullets { gap: clamp(6px, .8vw, 13px); }
.stb-banner-layout-5 .stb-home-banner-bullets li { font-weight: 900; font-size: clamp(14px, 2vw, 36px); }
.stb-banner-layout-5 .stb-home-banner-bullets li:nth-child(even) { display: inline-flex; width: fit-content; background: rgba(255,255,255,.92); color: #2d97c9; text-shadow: none; padding: clamp(2px, .35vw, 6px) clamp(9px, 1.25vw, 22px); margin-left: clamp(22px, 3vw, 58px); }
.stb-banner-layout-5 .stb-home-banner-bullets li:nth-child(even)::before { display: none; }
.stb-banner-layout-6 .stb-home-banner-copy { left: 7.6%; top: 19%; width: 52%; }
.stb-banner-layout-6 .stb-home-banner-title { font-size: clamp(24px, 3.2vw, 61px); letter-spacing: .06em; }
.stb-banner-layout-6 .stb-home-banner-highlight span:first-child { border-radius: 8px 8px 0 0; padding-bottom: 0; }
.stb-banner-layout-6 .stb-home-banner-highlight span { background: rgba(255,255,255,.16); }
.stb-banner-layout-6 .stb-home-banner-subtitle { display: inline-flex; background: rgba(255,255,255,.92); color: #2d97c9; text-shadow: none; padding: clamp(3px, .5vw, 8px) clamp(9px, 1.1vw, 18px); font-weight: 900; }
.stb-home-banner-arrow { position: absolute; z-index: 8; top: 50%; transform: translateY(-50%); width: 42px; height: 42px; border-radius: 50%; border: 1px solid rgba(255,255,255,.7); background: rgba(255,255,255,.32); backdrop-filter: blur(8px); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; opacity: 0; transition: opacity .25s ease, background .25s ease; }
.stb-home-banner:hover .stb-home-banner-arrow { opacity: 1; }
.stb-home-banner-arrow svg { width: 18px; height: 18px; stroke-width: 3; }
.stb-home-banner-prev { left: 22px; }
.stb-home-banner-next { right: 22px; }
.stb-home-banner-next svg { transform: rotate(90deg); }
.stb-home-banner-prev svg { transform: rotate(90deg); }
.stb-home-banner-dots { position: absolute; z-index: 9; left: 50%; bottom: clamp(8px, 1.1vw, 18px); transform: translateX(-50%); display: flex; gap: 8px; align-items: center; padding: 7px 10px; border-radius: 999px; background: rgba(255,255,255,.28); backdrop-filter: blur(8px); }
.stb-home-banner-dots button { width: 9px; height: 9px; border-radius: 999px; border: none; background: rgba(255,255,255,.72); padding: 0; cursor: pointer; transition: width .25s ease, background .25s ease; }
.stb-home-banner-dots button.is-active { width: 26px; background: #fff; }

@media (max-width: 1024px) {
    .stb-home-banner { min-height: 230px; }
    .stb-home-banner-copy { transform: scale(.92); transform-origin: left top; }
    .stb-banner-layout-1 .stb-home-banner-copy { transform-origin: top center; }
    .stb-home-banner-arrow { display: none; }
}
@media (max-width: 767px) {
    .stb-home-banner { min-height: 190px; }
    .stb-home-banner-title { font-size: clamp(18px, 6vw, 34px); }
    .stb-home-banner-subtitle { font-size: clamp(11px, 3.3vw, 18px); }
    .stb-home-banner-bullets li { font-size: clamp(10px, 2.8vw, 15px); padding-left: 14px; }
    .stb-home-banner-highlight span { font-size: clamp(10px, 3vw, 16px); border-width: 1px; }
    .stb-home-banner-btn { min-height: 26px; padding: 0 14px; font-size: 10px; margin-top: 8px; }
    .stb-banner-layout-1 .stb-home-banner-copy { top: 8%; left: 4%; right: 4%; }
    .stb-banner-layout-2 .stb-home-banner-copy { left: 7%; top: 15%; width: 56%; }
    .stb-banner-layout-3 .stb-home-banner-copy { left: 9%; top: 18%; width: 55%; }
    .stb-banner-layout-4 .stb-home-banner-copy { left: 8%; top: 17%; width: 57%; }
    .stb-banner-layout-5 .stb-home-banner-copy { left: 8%; top: 16%; width: 62%; }
    .stb-banner-layout-6 .stb-home-banner-copy { left: 6%; top: 16%; width: 62%; }
    .stb-home-banner-dots { bottom: 5px; padding: 5px 7px; gap: 6px; }
    .stb-home-banner-dots button { width: 6px; height: 6px; }
    .stb-home-banner-dots button.is-active { width: 18px; }
}

.stb-home-banner-arrow { font-size: 32px; line-height: 1; font-weight: 400; text-shadow: 0 2px 8px rgba(0,0,0,.2); }
.stb-home-banner-arrow svg { display: none; }

/* Home banner slider - v15 Vietnamese layout refinements */
.stb-home-banner-title { font-size: clamp(22px, 3.7vw, 64px); line-height: 1.04; }
.stb-home-banner-subtitle { font-size: clamp(13px, 1.55vw, 30px); }
.stb-home-banner-highlight span { font-size: clamp(12px, 1.45vw, 28px); }
.stb-home-banner-bullets li { font-size: clamp(12px, 1.35vw, 26px); line-height: 1.18; }
.stb-home-banner-btn { min-height: clamp(30px, 2.75vw, 52px); margin-top: clamp(12px, 1.8vw, 28px); padding: 0 clamp(17px, 2.2vw, 40px); font-size: clamp(11px, 1.08vw, 21px); background: linear-gradient(135deg, #ffffff 0%, #eaf8ff 100%); color: #248ec8; box-shadow: 0 8px 0 rgba(0,0,0,.22), 0 18px 34px rgba(0,76,135,.2), inset 0 0 0 1px rgba(255,255,255,.9); }
.stb-home-banner-btn:hover { transform: translateY(-3px); box-shadow: 0 10px 0 rgba(0,0,0,.2), 0 22px 40px rgba(0,76,135,.28), inset 0 0 0 1px rgba(255,255,255,1); }
.stb-banner-layout-1 .stb-home-banner-copy { left: 9.6%; top: 5.4%; right: auto; width: 57%; text-align: center; }
.stb-banner-layout-1 .stb-home-banner-title { font-size: clamp(25px, 3.35vw, 62px); letter-spacing: .05em; line-height: 1.03; }
.stb-banner-layout-1 .stb-home-banner-subtitle { font-size: clamp(14px, 1.48vw, 29px); }
.stb-banner-layout-1 .stb-home-banner-btn { margin-top: clamp(17px, 2vw, 34px); }
.stb-banner-layout-2 .stb-home-banner-copy { left: 9.1%; top: 17%; width: 46%; }
.stb-banner-layout-2 .stb-home-banner-title { font-size: clamp(21px, 2.8vw, 54px); letter-spacing: .035em; }
.stb-banner-layout-2 .stb-home-banner-bullets { max-width: 680px; }
.stb-banner-layout-3 .stb-home-banner-copy { left: 12.5%; top: 20%; width: 44%; }
.stb-banner-layout-3 .stb-home-banner-title { font-size: clamp(25px, 3.4vw, 66px); letter-spacing: .05em; line-height: 1.08; }
.stb-banner-layout-4 .stb-home-banner-copy { left: 12.6%; top: 18%; width: 49%; }
.stb-banner-layout-4 .stb-home-banner-title { font-size: clamp(29px, 3.7vw, 68px); letter-spacing: .05em; }
.stb-banner-layout-4 .stb-home-banner-subtitle { font-size: clamp(16px, 2.08vw, 40px); }
.stb-banner-layout-4 .stb-home-banner-highlight span:last-child { font-size: clamp(17px, 2.05vw, 38px); }
.stb-banner-layout-5 .stb-home-banner-copy { left: 11.8%; top: 17%; width: 50%; }
.stb-banner-layout-5 .stb-home-banner-title { font-size: clamp(23px, 3.15vw, 60px); letter-spacing: .055em; }
.stb-banner-layout-5 .stb-home-banner-bullets li { font-size: clamp(13px, 1.72vw, 32px); }
.stb-banner-layout-6 .stb-home-banner-copy { left: 7.55%; top: 18%; width: 52%; }
.stb-banner-layout-6 .stb-home-banner-title { font-size: clamp(22px, 2.75vw, 54px); letter-spacing: .055em; }
.stb-banner-layout-6 .stb-home-banner-subtitle { font-size: clamp(13px, 1.55vw, 28px); }
.stb-home-banner-slide .stb-home-banner-title,
.stb-home-banner-slide .stb-home-banner-subtitle,
.stb-home-banner-slide .stb-home-banner-highlight,
.stb-home-banner-slide .stb-home-banner-bullets,
.stb-home-banner-slide .stb-home-banner-btn { opacity: 0; transform: translateY(20px); }
.stb-home-banner-slide.is-active .stb-home-banner-title { animation: stbBannerTextIn .78s cubic-bezier(.2,.72,.18,1) .08s both; }
.stb-home-banner-slide.is-active .stb-home-banner-subtitle { animation: stbBannerTextIn .78s cubic-bezier(.2,.72,.18,1) .22s both; }
.stb-home-banner-slide.is-active .stb-home-banner-highlight { animation: stbBannerTextIn .78s cubic-bezier(.2,.72,.18,1) .34s both; }
.stb-home-banner-slide.is-active .stb-home-banner-bullets { animation: stbBannerTextIn .78s cubic-bezier(.2,.72,.18,1) .32s both; }
.stb-home-banner-slide.is-active .stb-home-banner-btn { animation: stbBannerButtonIn .82s cubic-bezier(.2,.72,.18,1) .48s both; }
@keyframes stbBannerTextIn { from { opacity: 0; transform: translateY(22px); filter: blur(5px); } to { opacity: 1; transform: translateY(0); filter: blur(0); } }
@keyframes stbBannerButtonIn { from { opacity: 0; transform: translateY(20px) scale(.96); filter: blur(4px); } to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); } }

@media (max-width: 1024px) {
    .stb-banner-layout-1 .stb-home-banner-copy { left: 7%; top: 6%; width: 68%; }
    .stb-banner-layout-1 .stb-home-banner-title { font-size: clamp(24px, 4.3vw, 48px); }
}
@media (max-width: 767px) {
    .stb-home-banner-title { font-size: clamp(17px, 5.2vw, 30px); }
    .stb-home-banner-subtitle { font-size: clamp(10px, 2.8vw, 15px); }
    .stb-home-banner-bullets li { font-size: clamp(9px, 2.4vw, 13px); line-height: 1.16; }
    .stb-home-banner-highlight span { font-size: clamp(9px, 2.6vw, 14px); }
    .stb-home-banner-btn { min-height: 24px; padding: 0 13px; font-size: 9px; margin-top: 7px; box-shadow: 0 4px 0 rgba(0,0,0,.2), 0 10px 18px rgba(0,76,135,.18); }
    .stb-banner-layout-1 .stb-home-banner-copy { left: 4%; right: auto; top: 7%; width: 72%; }
    .stb-banner-layout-1 .stb-home-banner-title { font-size: clamp(18px, 5.5vw, 32px); }
    .stb-banner-layout-1 .stb-home-banner-subtitle { font-size: clamp(10px, 2.9vw, 15px); }
    .stb-banner-layout-2 .stb-home-banner-title { font-size: clamp(14px, 4vw, 24px); }
    .stb-banner-layout-3 .stb-home-banner-title { font-size: clamp(16px, 4.6vw, 28px); }
    .stb-banner-layout-4 .stb-home-banner-title { font-size: clamp(17px, 5vw, 30px); }
    .stb-banner-layout-5 .stb-home-banner-title { font-size: clamp(15px, 4.5vw, 27px); }
    .stb-banner-layout-6 .stb-home-banner-title { font-size: clamp(14px, 4.1vw, 25px); }
}

/* v16 - keep first banner title on one line on desktop */
@media (min-width: 1025px) {
    .stb-banner-layout-1 .stb-home-banner-copy {
        left: 6.5%;
        top: 6.2%;
        width: 66%;
        right: auto;
        text-align: center;
    }
    .stb-banner-layout-1 .stb-home-banner-title {
        white-space: nowrap;
        font-size: clamp(28px, 2.85vw, 52px);
        line-height: 1.02;
        letter-spacing: .032em;
    }
    .stb-banner-layout-1 .stb-home-banner-subtitle {
        font-size: clamp(14px, 1.25vw, 24px);
        line-height: 1.15;
    }
    .stb-banner-layout-1 .stb-home-banner-btn {
        margin-top: clamp(16px, 1.55vw, 28px);
    }
}

@media (min-width: 1300px) {
    .stb-banner-layout-1 .stb-home-banner-copy {
        left: 5.8%;
        width: 70%;
    }
    .stb-banner-layout-1 .stb-home-banner-title {
        font-size: clamp(34px, 2.75vw, 54px);
    }
}

@media (max-width: 1024px) {
    .stb-banner-layout-1 .stb-home-banner-title {
        white-space: normal;
    }
}

/* v19 - product admin/detail rebuild from v17 */
.st-product-page { background: #fff; color: #191f3f; }
.st-product-topline { background: #f6f7fb; border-top: 1px solid #eef1fb; border-bottom: 1px solid #eef1fb; }
.st-product-breadcrumb { min-height: 58px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; color: #7c8497; font-size: 13px; }
.st-product-breadcrumb a { color: #6c738b; }
.st-product-breadcrumb a:hover { color: var(--jmb-primary); }
.st-product-breadcrumb strong { color: #1c244d; font-weight: 600; }
.st-product-main-section { background: #fff; padding: 48px 0 58px; }
.st-product-main-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr); gap: 48px; align-items: start; }
.st-product-gallery { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 20px; align-items: stretch; }
.st-product-thumbs { display: grid; align-content: start; gap: 12px; max-height: 640px; overflow-y: auto; padding-right: 4px; }
.st-product-thumb { border: 1px solid #e5e8f5; background: #fff; border-radius: 4px; padding: 3px; min-height: 76px; cursor: pointer; opacity: .68; transition: .22s ease; }
.st-product-thumb:hover, .st-product-thumb.is-active { opacity: 1; border-color: var(--jmb-primary); box-shadow: 0 8px 18px rgba(35,47,153,.12); }
.st-product-thumb img { width: 100%; height: 70px; object-fit: contain; display: block; }
.st-product-main-image { position: relative; min-height: 610px; display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid #eef1fb; box-shadow: 0 14px 38px rgba(12,18,60,.06); overflow: hidden; }
.st-product-main-image > img { width: 100%; height: 100%; max-height: 610px; object-fit: contain; padding: 18px; transition: opacity .2s ease, transform .2s ease; }
.st-product-main-image.is-changing > img { opacity: .35; transform: scale(.985); }
.st-product-sale-badge { position: absolute; top: 16px; right: 16px; z-index: 3; min-width: 62px; height: 34px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; background: #ff1717; color: #fff; font-size: 15px; font-weight: 800; }
.st-product-gallery-nav { position: absolute; top: 50%; z-index: 3; transform: translateY(-50%); width: 44px; height: 44px; padding: 0; border-radius: 50%; border: 2px solid #1b1b1b; background: rgba(255,255,255,.94); color: #111; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: opacity .2s ease, visibility .2s ease, background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease; box-shadow: 0 8px 20px rgba(0,0,0,.08); }
.st-product-gallery-nav svg { width: 18px; height: 18px; display: block; flex: 0 0 18px; }
.st-product-gallery-nav:hover { background: var(--jmb-primary); border-color: var(--jmb-primary); color: #fff; box-shadow: 0 12px 24px rgba(35,47,153,.22); }
.st-product-gallery-nav:focus-visible { outline: none; background: var(--jmb-primary); border-color: var(--jmb-primary); color: #fff; box-shadow: 0 0 0 3px rgba(35,47,153,.18); }
.st-product-gallery-prev { left: 20px; }
.st-product-gallery-next { right: 20px; }
@media (hover: hover) and (pointer: fine) {
    .st-product-gallery-nav { opacity: 0; visibility: hidden; pointer-events: none; }
    .st-product-main-image:hover .st-product-gallery-nav,
    .st-product-main-image:focus-within .st-product-gallery-nav { opacity: 1; visibility: visible; pointer-events: auto; }
}
.st-product-zoom { position: absolute; right: 18px; bottom: 18px; z-index: 3; width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,.92); box-shadow: 0 8px 22px rgba(0,0,0,.12); color: #111; display: flex; align-items: center; justify-content: center; font-size: 22px; }
.st-product-summary { padding-top: 14px; }
.st-product-summary h1 { margin: 0 0 15px; color: #151515; font-size: clamp(21px, 1.95vw, 33px); line-height: 1.2; letter-spacing: -.02em; font-weight: 800; }
.st-product-price-row { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin: 6px 0 24px; }
.st-product-price { min-height: 0; font-size: 25px; }
.st-product-price del { font-size: 24px; color: #777; font-weight: 400; }
.st-product-price ins, .st-product-price .amount { font-size: 28px; color: #ff1717; font-weight: 500; text-decoration: none; }
.st-product-saving { background: #ff1717; color: #fff; border-radius: 4px; font-size: 13px; font-weight: 800; padding: 8px 10px; text-transform: uppercase; }
.st-product-meta-list { display: grid; gap: 10px; margin: 0 0 22px; color: #6d6d6d; font-size: 16px; }
.st-product-meta-list p { margin: 0; }
.st-product-meta-list span { color: #888; }
.st-product-viewing, .st-product-sold { margin: 18px 0; color: #222; font-size: 15px; font-weight: 600; }
.st-product-options { margin: 22px 0; }
.st-product-options strong { display: block; margin-bottom: 12px; text-transform: uppercase; font-size: 15px; color: #1f1f1f; }
.st-product-options div { display: flex; flex-wrap: wrap; gap: 10px; }
.st-product-options button { border: 1px solid #e5e5e5; background: #fff; color: #8a8a8a; min-height: 38px; border-radius: 999px; padding: 0 16px; font-weight: 700; cursor: pointer; }
.st-product-options button.is-active, .st-product-options button:hover { background: #3b3b3b; color: #fff; border-color: #3b3b3b; }
.st-product-short-summary { color: #555; line-height: 1.7; font-size: 15px; margin: 18px 0; }
.st-product-feature-list { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 9px; }
.st-product-feature-list li { position: relative; padding-left: 24px; color: #4d5675; font-weight: 600; }
.st-product-feature-list li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--jmb-primary); font-weight: 900; }
.st-product-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 24px 0 12px; }
.st-product-qty { width: 156px; height: 54px; padding: 0 6px; border: 1.5px solid #111; border-radius: 999px; display: grid; grid-template-columns: 42px 1fr 42px; align-items: center; overflow: hidden; background: #fff; }
.st-product-qty button { height: 100%; padding: 0; border: 0; background: transparent; display: inline-flex; align-items: center; justify-content: center; font-size: 30px; font-weight: 600; line-height: 1; cursor: pointer; color: #111; }
.st-product-qty button[data-st-qty-minus] { font-size: 34px; transform: translateY(-1px); }
.st-product-qty button[data-st-qty-plus] { font-size: 30px; }
.st-product-qty button:hover { background: #f4f6ff; color: var(--jmb-primary); }
.st-product-qty input { width: 100%; height: 100%; padding: 0; border: 0; background: transparent; text-align: center; font-size: 20px; font-weight: 800; line-height: 1; color: #111; -moz-appearance: textfield; }
.st-product-qty input::-webkit-outer-spin-button, .st-product-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.st-product-add-cart { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; padding: 0 30px; border-radius: 999px; background: #56d0df; color: #fff !important; border: 0; font-size: 15px; font-weight: 900; text-transform: uppercase; letter-spacing: .02em; box-shadow: 0 10px 24px rgba(86,208,223,.28); }
.st-product-add-cart:hover { background: var(--jmb-primary); color: #fff !important; transform: translateY(-2px); }
.st-product-icon-btn { width: 52px; height: 52px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; border: 1.5px solid #111; color: #111; background: #fff; transition: background-color .22s ease, color .22s ease, border-color .22s ease, transform .22s ease, box-shadow .22s ease; }
.st-product-icon-btn:hover { background: #f6f8ff; border-color: #111; color: #111; transform: translateY(-1px); box-shadow: 0 8px 18px rgba(17,17,17,.08); }
.st-product-icon-btn svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.st-product-icon-btn:focus, .st-product-icon-btn:active { background: #fff; color: #111; border-color: #111; outline: 0; }
.st-product-icon-btn:focus-visible { outline: 2px solid #232F99; outline-offset: 2px; background: #F5F7FF; color: #232F99; border-color: #232F99; }
.st-product-wishlist-btn.is-active, .st-product-compare-btn.is-active { background: #F5F7FF; color: #232F99; border-color: #232F99; }
.st-product-wishlist-btn.is-active svg { fill: currentColor; }
.st-product-compare-btn svg { width: 21px; height: 21px; }
.st-product-compare-btn.is-active svg { stroke-width: 2.15; }
.st-product-share { margin-top: 24px; color: #111; }
.st-product-share strong { display: block; margin-bottom: 18px; font-size: 18px; font-weight: 800; color: #111; }
.st-product-social-icons { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 14px; }
.st-product-social-icons a { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; color: #222; line-height: 1; text-decoration: none; transition: color .2s ease, transform .2s ease; }
.st-product-social-icons a svg { display: block; fill: currentColor; shape-rendering: geometricPrecision; }
.st-product-social-icons a[aria-label="Facebook"] svg { width: 18px; height: 22px; }
.st-product-social-icons a[aria-label="Twitter"] svg { width: 22px; height: 22px; }
.st-product-social-icons a[aria-label="Instagram"] svg { width: 22px; height: 22px; }
.st-product-social-icons a[aria-label="LinkedIn"] svg { width: 19px; height: 22px; }
.st-product-social-icons a[aria-label="Pinterest"] svg { width: 20px; height: 22px; }
.st-product-social-icons a[aria-label="YouTube"] svg { width: 24px; height: 22px; }
.st-product-social-icons a[aria-label="TikTok"] svg { width: 20px; height: 22px; }
.st-product-social-icons a:hover { color: var(--jmb-primary); transform: translateY(-1px); }
.st-product-tabs-section { background: #f7f7f9; padding: 58px 0; }
.st-product-tabs { max-width: 1320px; margin: 0 auto; }
.st-product-tab-nav { display: flex; justify-content: center; align-items: center; gap: 22px; margin-bottom: 32px; flex-wrap: wrap; }
.st-product-tab-nav button { min-height: 48px; border-radius: 999px; border: 1px solid transparent; background: transparent; color: #8b8b8b; font-size: 15px; font-weight: 800; padding: 0 26px; cursor: pointer; }
.st-product-tab-nav button.is-active, .st-product-tab-nav button:hover { border-color: #1f1f1f; color: #1f1f1f; background: #fff; }
.st-product-tab-panel { display: none; animation: stProductTabIn .25s ease both; }
.st-product-tab-panel.is-active { display: block; }
@keyframes stProductTabIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.st-product-spec-table { width: 100%; border-collapse: collapse; background: #fff; color: #7d7d7d; font-size: 15px; }
.st-product-spec-table th, .st-product-spec-table td { border: 1px solid #e1e1e1; padding: 15px 18px; text-align: left; vertical-align: top; }
.st-product-spec-table th { width: 32%; font-weight: 500; color: #888; background: #fff; }
.st-product-spec-table td { color: #777; }

.st-product-spec-gallery { display: flex; flex-direction: column; gap: 28px; margin-top: 28px; }
.st-product-spec-image { margin: 0; width: 100%; }
.st-product-spec-image img { display: block; width: 100%; height: auto; border-radius: 0; box-shadow: none; }
@media (max-width: 767px) { .st-product-spec-gallery { gap: 18px; margin-top: 20px; } }
.st-product-long-content { margin-top: 28px; background: #fff; padding: clamp(20px, 3vw, 36px); color: #555; line-height: 1.8; }
.st-product-long-content:empty { display: none; }
.st-product-review-empty, .st-product-tab-panel[data-st-tab-panel="shipping"], .st-product-tab-panel[data-st-tab-panel="returns"] { background: #fff; padding: clamp(22px, 3vw, 36px); color: #555; line-height: 1.8; border: 1px solid #e7e7e7; }
.st-product-related-section { padding: 74px 0 82px; background: #fff; }
.st-product-related-heading { text-align: center; margin-bottom: 34px; }
.st-product-related-heading h2 { color: #191919; font-size: clamp(26px, 3vw, 34px); }
.st-product-related-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1180px) {
    .st-product-main-grid { grid-template-columns: 1fr; gap: 34px; }
    .st-product-main-image { min-height: 520px; }
}
@media (max-width: 900px) {
    .st-product-gallery { grid-template-columns: 1fr; }
    .st-product-thumbs { display: flex; overflow-x: auto; overflow-y: hidden; max-height: none; order: 2; }
    .st-product-thumb { flex: 0 0 82px; }
    .st-product-main-image { min-height: 420px; }
    .st-product-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .st-product-main-section { padding: 28px 0 38px; }
    .st-product-main-image { min-height: 330px; }
    .st-product-gallery-nav { width: 36px; height: 36px; }
    .st-product-gallery-nav svg { width: 15px; height: 15px; flex-basis: 15px; }
    .st-product-gallery-prev { left: 10px; }
    .st-product-gallery-next { right: 10px; }
    .st-product-summary h1 { font-size: 22px; }
    .st-product-price del { font-size: 18px; }
    .st-product-price ins, .st-product-price .amount { font-size: 22px; }
    .st-product-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .st-product-qty, .st-product-add-cart { grid-column: 1 / -1; width: 100%; }
    .st-product-qty { max-width: 180px; margin: 0 auto 0 0; }
    .st-product-tab-nav { justify-content: flex-start; gap: 10px; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 8px; }
    .st-product-tab-nav button { flex: 0 0 auto; min-height: 42px; padding: 0 16px; font-size: 13px; }
    .st-product-spec-table th, .st-product-spec-table td { display: block; width: 100%; padding: 11px 13px; }
    .st-product-spec-table th { border-bottom: 0; background: #fafafa; }
    .st-product-related-grid { grid-template-columns: 1fr; }
}

.st-product-policy-content { color: #555; line-height: 1.85; }
.st-product-policy-content h2, .st-product-policy-content h3, .st-product-policy-content h4 { color: #202020; margin: 0 0 14px; }
.st-product-policy-content p { margin: 0 0 14px; }
.st-product-policy-content ul, .st-product-policy-content ol { margin: 0 0 16px 22px; padding: 0; }
.st-product-policy-content table { width: 100%; border-collapse: collapse; margin: 14px 0; }
.st-product-policy-content th, .st-product-policy-content td { border: 1px solid #e7e7e7; padding: 12px 14px; text-align: left; }
.st-product-policy-content img { max-width: 100%; height: auto; border-radius: 12px; }

.st-product-spec-text { max-width: 980px; margin: 0 auto; color: #333; font-size: 18px; line-height: 1.75; }
.st-product-spec-text p { margin: 0 0 16px; }
.st-product-spec-text p:last-child { margin-bottom: 0; }

/* v146: category product sections may expose the full category after the home preview. */
.jmb-section-more{display:flex;justify-content:center;margin-top:30px}.jmb-section-more .jmb-btn{min-width:220px;text-align:center}

/* The Top Selling heading links to its product category without changing the visual title style. */
.jmb-section-title-link{color:inherit;text-decoration:none}.jmb-section-title-link:hover{color:#232F99;text-decoration:none}

/* v154: enlarge and balance the footer service highlights. */
.jmb-footer-features {
    background: #fff;
}
.jmb-footer-features-grid {
    min-height: 108px;
    gap: 0;
}
.jmb-footer-features-grid > div {
    position: relative;
    min-height: 76px;
    padding: 12px 30px;
    gap: 14px;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 850;
    letter-spacing: -.01em;
    color: #141A55;
}
.jmb-footer-features-grid > div + div::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 1px;
    height: 44px;
    transform: translateY(-50%);
    background: #E5E9F7;
}
.jmb-footer-features-grid svg {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    stroke-width: 1.85;
    color: #232F99;
}

@media (max-width: 1024px) {
    .jmb-footer-features-grid {
        min-height: 0;
        gap: 0;
        padding: 18px 0;
    }
    .jmb-footer-features-grid > div {
        min-height: 66px;
        padding: 10px 20px;
        font-size: 15px;
    }
    .jmb-footer-features-grid > div:nth-child(3)::before {
        display: none;
    }
}

@media (max-width: 680px) {
    .jmb-footer-features-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 14px 0;
    }
    .jmb-footer-features-grid > div {
        min-height: 62px;
        padding: 10px 12px;
        gap: 9px;
        font-size: 13px;
        text-align: left;
        justify-content: flex-start;
    }
    .jmb-footer-features-grid > div + div::before {
        display: none;
    }
    .jmb-footer-features-grid svg {
        width: 23px;
        height: 23px;
    }
}


/* v155: official ST logo on header and footer, proportioned to each area. */
.jmb-main-header-inner .jmb-logo .jmb-brand-logo-img {
    height: 48px;
    max-height: 48px;
    width: auto;
    max-width: 220px;
    object-fit: contain;
    object-position: left center;
}
.jmb-footer-logo .jmb-brand-logo-img {
    height: 62px;
    max-height: 62px;
    width: auto;
    max-width: 250px;
    object-fit: contain;
    object-position: left center;
}
@media (max-width: 767px) {
    .jmb-main-header-inner .jmb-logo .jmb-brand-logo-img {
        height: 42px;
        max-height: 42px;
        max-width: 190px;
    }
    .jmb-footer-logo .jmb-brand-logo-img {
        height: 56px;
        max-height: 56px;
        max-width: 220px;
    }
}

/* Product card visual tune: larger images and clean white cards */
.stb-shop-grid .jmb-product-card,
.jmb-product-grid .jmb-product-card,
.stb-shop-grid .jmb-product-body,
.jmb-product-grid .jmb-product-body { background: #fff; }

/* Native cart, checkout and order confirmation */
.jmb-product-cart-icon, .st-product-add-cart, .jmb-cart-drawer-remove, .st-cart-remove, .jmb-cart-qty-btn { cursor: pointer; font: inherit; }
.jmb-product-cart-icon:disabled, .st-product-add-cart:disabled, .jmb-cart-qty-btn:disabled, .jmb-cart-drawer-remove:disabled, .st-cart-remove:disabled { cursor: wait; opacity: .62; }
.st-product-add-cart { border: 0; }
.stb-cart-variant-label { display: block; color: #677085; font-size: 13px; font-weight: 700; line-height: 1.25; }
.jmb-cart-drawer-remove { border: 0; background: transparent; padding: 0; }
.st-cart-remove { border: 0; background: transparent; padding: 0; cursor: pointer; }
.st-cart-continue, .st-checkout-back-cart { display: inline-flex; justify-content: center; align-items: center; min-height: 46px; color: var(--jmb-primary); font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.st-cart-continue:hover, .st-checkout-back-cart:hover { color: #111d78; }
.st-cart-native-note { display: flex; gap: 16px; align-items: flex-start; margin-top: 36px; padding: 20px 22px; border: 1px solid #dfe4f5; border-radius: 18px; background: #f8f9ff; }
.st-cart-native-note > span { flex: 0 0 36px; width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; color: #fff; background: var(--jmb-primary); }
.st-cart-native-note svg { width: 19px; height: 19px; }
.st-cart-native-note strong { display: block; color: #111827; font-size: 15px; }
.st-cart-native-note p { margin: 5px 0 0; color: #647087; font-size: 14px; line-height: 1.55; }

.st-checkout-section, .st-order-received-section { padding: 58px 0 74px; background: #fff; }
.st-checkout-layout { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 34px; align-items: start; }
.st-checkout-form-card, .st-checkout-summary-card, .st-order-received-card { border: 1px solid #e1e6f4; border-radius: 24px; background: #fff; box-shadow: 0 18px 45px rgba(35,47,153,.09); }
.st-checkout-form-card { padding: 34px; }
.st-checkout-summary-card { position: sticky; top: 130px; padding: 28px; }
.st-checkout-card-head { display: flex; gap: 14px; align-items: flex-start; }
.st-checkout-card-head > span { flex: 0 0 38px; width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff; background: linear-gradient(135deg, #3545c7, #232f99); font-size: 14px; font-weight: 900; }
.st-checkout-card-head h2 { margin: 0; color: #111827; font-size: 24px; line-height: 1.2; }
.st-checkout-card-head p { margin: 5px 0 0; color: #768096; font-size: 14px; line-height: 1.45; }
.st-checkout-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 30px; }
.st-checkout-field { display: grid; gap: 8px; min-width: 0; color: #1b2437; font-size: 14px; font-weight: 800; }
.st-checkout-field-wide { grid-column: 1 / -1; }
.st-checkout-field input, .st-checkout-field textarea { width: 100%; min-width: 0; border: 1px solid #dfe4f1; border-radius: 12px; padding: 13px 14px; outline: none; color: #111827; font: inherit; font-size: 15px; font-weight: 500; background: #fff; transition: border .2s ease, box-shadow .2s ease; }
.st-checkout-field textarea { resize: vertical; min-height: 112px; line-height: 1.5; }
.st-checkout-field input:focus, .st-checkout-field textarea:focus { border-color: var(--jmb-primary); box-shadow: 0 0 0 3px rgba(35,47,153,.10); }
.st-checkout-payment-head { margin-top: 38px; padding-top: 32px; border-top: 1px solid #e7eaf4; }
.st-checkout-payment-options { display: grid; gap: 12px; margin-top: 24px; }
.st-checkout-payment-option { display: flex; align-items: flex-start; gap: 12px; padding: 15px 16px; border: 1px solid #e0e5f3; border-radius: 14px; cursor: pointer; transition: border .2s ease, background .2s ease; }
.st-checkout-payment-option:hover { border-color: var(--jmb-primary); background: #fafbff; }
.st-checkout-payment-option input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--jmb-primary); }
.st-checkout-payment-option strong, .st-checkout-payment-option small { display: block; }
.st-checkout-payment-option strong { color: #111827; font-size: 15px; }
.st-checkout-payment-option small { margin-top: 4px; color: #707b91; font-size: 13px; line-height: 1.45; }
.st-checkout-note { margin-top: 26px; }
.st-checkout-terms { display: flex; align-items: flex-start; gap: 10px; margin-top: 20px; color: #69738a; font-size: 13px; line-height: 1.5; cursor: pointer; }
.st-checkout-terms input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 1px; accent-color: var(--jmb-primary); }
.st-checkout-items { display: grid; gap: 0; margin-top: 24px; border-top: 1px solid #e9ecf5; }
.st-checkout-item { display: grid; grid-template-columns: 58px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 16px 0; border-bottom: 1px solid #e9ecf5; }
.st-checkout-item img { width: 58px; height: 58px; padding: 5px; border: 1px solid #e3e8f4; border-radius: 10px; object-fit: contain; background: #fff; }
.st-checkout-item strong, .st-checkout-item small { display: block; }
.st-checkout-item strong { color: #111827; font-size: 14px; line-height: 1.35; }
.st-checkout-item small { margin-top: 4px; color: #778198; font-size: 12px; }
.st-checkout-item b { color: #111827; font-size: 14px; white-space: nowrap; }
.st-checkout-total { display: flex; justify-content: space-between; gap: 20px; padding: 21px 0 8px; color: #111827; font-size: 18px; font-weight: 900; }
.st-checkout-total strong { font-size: 25px; }
.st-checkout-total-note { margin: 2px 0 18px; color: #748096; font-size: 13px; line-height: 1.5; }
.st-checkout-place-order { width: 100%; min-height: 56px; border: 0; border-radius: 999px; color: #fff; background: linear-gradient(135deg, #3545c7, #232f99); box-shadow: 0 12px 24px rgba(35,47,153,.22); font: inherit; font-size: 14px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; cursor: pointer; transition: transform .2s ease, background .2s ease; }
.st-checkout-place-order:hover { background: linear-gradient(135deg, #232f99, #171f68); transform: translateY(-2px); }
.st-checkout-back-cart { width: 100%; margin-top: 7px; }
.st-checkout-notice { margin: 0 0 24px; padding: 17px 20px; border-radius: 14px; font-size: 14px; }
.st-checkout-notice strong { display: block; }
.st-checkout-notice ul { margin: 8px 0 0 18px; padding: 0; }
.st-checkout-notice-error { border: 1px solid #f1bfc1; color: #9b1620; background: #fff7f7; }
.st-order-received-card { max-width: 860px; margin: 0 auto; padding: 48px 42px; text-align: center; }
.st-order-received-icon { width: 70px; height: 70px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg, #3545c7, #232f99); box-shadow: 0 12px 25px rgba(35,47,153,.23); }
.st-order-received-icon svg { width: 36px; height: 36px; }
.st-order-received-kicker { display: block; margin-top: 20px; color: var(--jmb-primary); font-size: 13px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.st-order-received-card h2 { max-width: 660px; margin: 10px auto; color: #111827; font-size: clamp(28px, 4vw, 40px); line-height: 1.15; }
.st-order-received-card > p { max-width: 680px; margin: 0 auto; color: #6e788e; line-height: 1.6; }
.st-order-received-meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 32px 0 20px; text-align: left; }
.st-order-received-meta > div { min-height: 96px; padding: 16px; border: 1px solid #e3e7f3; border-radius: 14px; background: #fbfcff; }
.st-order-received-meta span, .st-order-received-meta strong { display: block; }
.st-order-received-meta span { color: #798398; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.st-order-received-meta strong { margin-top: 8px; color: #111827; font-size: 14px; line-height: 1.4; }
.st-order-received-items { margin: 0 0 28px; border-top: 1px solid #e7eaf4; text-align: left; }
.st-order-received-items > div { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid #e7eaf4; color: #3f485d; font-size: 14px; }
.st-order-received-items strong { flex: 0 0 auto; color: #111827; }

@media (max-width: 960px) {
    .st-checkout-layout { grid-template-columns: 1fr; }
    .st-checkout-summary-card { position: static; }
}
@media (max-width: 640px) {
    .st-cart-native-note { padding: 16px; }
    .st-checkout-section, .st-order-received-section { padding: 38px 0 54px; }
    .st-checkout-form-card, .st-checkout-summary-card { padding: 20px 16px; border-radius: 18px; }
    .st-checkout-fields { grid-template-columns: 1fr; gap: 14px; }
    .st-checkout-field-wide { grid-column: auto; }
    .st-checkout-card-head h2 { font-size: 21px; }
    .st-checkout-item { grid-template-columns: 52px minmax(0,1fr); }
    .st-checkout-item b { grid-column: 2; }
    .st-order-received-card { padding: 34px 18px; border-radius: 18px; }
    .st-order-received-meta { grid-template-columns: 1fr; }
    .st-order-received-items > div { align-items: flex-start; }
}

/* Cart utility buttons and panels: native cart v165 */
.jmb-cart-drawer-body { position: relative; }
.jmb-cart-drawer-service { align-items: center; }
.jmb-cart-drawer-service > button { appearance: none; border: 0; padding: 0; margin: 0; background: transparent; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; border-radius: 50%; }
.jmb-cart-drawer-service > button > span { transition: transform .18s ease, box-shadow .18s ease, color .18s ease; }
.jmb-cart-drawer-service > button:hover > span, .jmb-cart-drawer-service > button:focus-visible > span { color: var(--jmb-primary); transform: translateY(-2px); box-shadow: 0 15px 30px rgba(35,47,153,.16); }
.jmb-cart-drawer-service > button:focus-visible { outline: 3px solid rgba(35,47,153,.26); outline-offset: 4px; }
.jmb-cart-drawer-summary .stb-cart-summary-adjustment, .jmb-cart-drawer-summary .stb-cart-summary-total { font-size: 16px; font-weight: 800; }
.jmb-cart-drawer-summary .stb-cart-summary-adjustment strong { color: #0f7b47; font-size: 17px; }
.jmb-cart-drawer-summary .stb-cart-summary-total { padding-top: 13px; border-top: 1px solid #EDF0F9; }
.jmb-cart-drawer-summary .stb-cart-summary-total strong { font-size: 20px; }
.stb-cart-tool-panel { position: absolute; inset: 0; z-index: 30; overflow-y: auto; background: #fff; padding: 0; }
.stb-cart-tool-panel[hidden] { display: none !important; }
.stb-cart-tool-form { min-height: 100%; display: flex; flex-direction: column; padding: 28px 24px 34px; background: #fff; }
.stb-cart-tool-form h3 { margin: 0 0 14px; color: #111827; font-size: 18px; line-height: 1.3; font-weight: 800; }
.stb-cart-tool-form > p:not(.stb-cart-tool-feedback) { margin: 0 0 20px; color: #7b8497; font-size: 15px; line-height: 1.45; }
.stb-cart-tool-form label { display: grid; gap: 7px; margin: 0 0 16px; color: #7b8497; font-size: 15px; font-weight: 500; }
.stb-cart-tool-form input, .stb-cart-tool-form select, .stb-cart-tool-form textarea { width: 100%; color: #111827; border: 1px solid #D9DEE8; background: #fff; outline: 0; font: inherit; transition: border-color .18s ease, box-shadow .18s ease; }
.stb-cart-tool-form input, .stb-cart-tool-form select { min-height: 42px; padding: 0 16px; border-radius: 999px; }
.stb-cart-tool-form select { appearance: none; padding-right: 42px; background-image: linear-gradient(45deg, transparent 50%, #a0a8b4 50%), linear-gradient(135deg, #a0a8b4 50%, transparent 50%); background-position: calc(100% - 20px) 17px, calc(100% - 15px) 17px; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }
.stb-cart-tool-form textarea { min-height: 100px; resize: vertical; padding: 13px 16px; border-radius: 0; }
.stb-cart-tool-form input:focus, .stb-cart-tool-form select:focus, .stb-cart-tool-form textarea:focus { border-color: #55c6da; box-shadow: 0 0 0 4px rgba(85,198,218,.16); }
.stb-cart-tool-feedback { min-height: 22px; margin: 0 0 14px; color: #677386; font-size: 13px; line-height: 1.45; }
.stb-cart-tool-feedback.is-success { color: #087a47; }
.stb-cart-tool-feedback.is-error { color: #bb1f2a; }
.stb-cart-tool-primary, .stb-cart-tool-secondary { width: 100%; min-height: 42px; border-radius: 999px; font: inherit; font-size: 15px; font-weight: 800; cursor: pointer; transition: transform .18s ease, opacity .18s ease; }
.stb-cart-tool-primary { margin-top: auto; border: 0; color: #fff; background: #55c6da; }
.stb-cart-tool-secondary { margin-top: 18px; border: 2px solid #1d1d1d; color: #151515; background: #fff; }
.stb-cart-tool-primary:hover, .stb-cart-tool-secondary:hover { transform: translateY(-1px); }
.stb-cart-tool-form.is-busy .stb-cart-tool-primary { opacity: .65; cursor: wait; }
.st-cart-summary-adjustment strong, .st-checkout-total-adjustment strong { color: #0f7b47 !important; }
.st-cart-summary-grand, .st-checkout-total-grand { padding-top: 12px; margin-top: 6px; border-top: 1px solid #E7EAF4; }
.st-checkout-coupon { margin: 18px 0 0; }
.st-checkout-coupon input { text-transform: uppercase; }
@media (max-width: 640px) {
    .jmb-cart-drawer-head { min-height: 76px; padding: 0 20px; }
    .jmb-cart-drawer-head h2 { font-size: 23px; }
    .jmb-cart-drawer-item { grid-template-columns: 112px minmax(0, 1fr); gap: 15px; padding: 20px; }
    .jmb-cart-drawer-service { padding: 22px 20px; gap: 12px; }
    .jmb-cart-drawer-service span { width: 62px; height: 62px; }
    .jmb-cart-drawer-summary { padding: 22px 20px 28px; }
    .stb-cart-tool-form { padding: 24px 16px 28px; }
}

/* v168: featured product artwork fits a clean white frame */
.jmb-intro-product .jmb-intro-image-card {
    min-height: 440px;
    height: 440px;
    padding: 0 !important;
    background: #ffffff !important;
    overflow: hidden;
}
.jmb-intro-product .jmb-featured-product-image-link {
    display: flex;
    align-self: stretch;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 0;
    background: #ffffff;
}
.jmb-intro-product .jmb-featured-product-image-link > img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: 100%;
    max-height: 100%;
    margin: 0;
    object-fit: contain;
    object-position: center center;
    background: #ffffff;
    animation: none !important;
}
.jmb-intro-product .jmb-featured-product-image-link:focus-visible {
    outline: 3px solid rgba(35, 47, 153, .28);
    outline-offset: -5px;
}
@media (max-width: 680px) {
    .jmb-intro-product .jmb-intro-image-card {
        min-height: min(88vw, 380px);
        height: min(88vw, 380px);
    }
}



/* v176: Homepage category showcase — logo badge cards, responsive across devices. */
.jmb-category-showcase {
    padding: 42px 0 56px;
}

.jmb-category-grid.jmb-category-grid--showcase {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: 22px;
    row-gap: 54px;
}

.jmb-category-grid .jmb-category-showcase-card {
    position: relative;
    min-height: 138px;
    padding: 0;
    display: flex;
    align-items: stretch;
    justify-content: center;
    overflow: visible;
    border: 1px solid #E0E5FF;
    border-radius: 18px;
    background: #FFFFFF;
    color: #172461;
    text-align: center;
    box-shadow: 0 8px 22px rgba(35, 47, 153, .055);
    transform: translateY(0);
    transition: transform .28s ease, box-shadow .28s ease, border-color .24s ease;
}

.jmb-category-grid .jmb-category-showcase-card:hover,
.jmb-category-grid .jmb-category-showcase-card:focus-visible {
    transform: translateY(-3px);
    border-color: #C9D5FF;
    color: #172461;
    box-shadow: 0 14px 26px rgba(35, 47, 153, .10);
}

.jmb-category-grid .jmb-category-showcase-card:focus-visible {
    outline: 3px solid rgba(35, 47, 153, .18);
    outline-offset: 3px;
}

.jmb-category-showcase-image {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 2;
    width: 74px;
    height: 74px;
    padding: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    border: 1px solid #DDE4FF;
    background: #FFFFFF;
    box-shadow: 0 8px 18px rgba(35, 47, 153, .10);
    transition: transform .28s ease, box-shadow .28s ease, border-color .24s ease;
}

.jmb-category-showcase-card:hover .jmb-category-showcase-image,
.jmb-category-showcase-card:focus-visible .jmb-category-showcase-image {
    transform: translate(-50%, -50%) scale(1.015);
    box-shadow: 0 12px 22px rgba(35, 47, 153, .12);
    border-color: #D3DCFF;
}

.jmb-category-showcase-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    border-radius: 50%;
    transition: transform .28s ease;
}

.jmb-category-showcase-card:hover .jmb-category-showcase-image img,
.jmb-category-showcase-card:focus-visible .jmb-category-showcase-image img {
    transform: scale(1.015);
}

.jmb-category-showcase-content {
    width: 100%;
    min-height: 138px;
    padding: 50px 12px 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.jmb-category-showcase-content strong {
    color: #111827;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 800;
    display: block;
    text-wrap: balance;
}

@media (max-width: 1200px) {
    .jmb-category-grid.jmb-category-grid--showcase {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        column-gap: 18px;
        row-gap: 46px;
    }
}

@media (max-width: 980px) {
    .jmb-category-grid.jmb-category-grid--showcase {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: 18px;
        row-gap: 44px;
    }

    .jmb-category-grid .jmb-category-showcase-card,
    .jmb-category-showcase-content {
        min-height: 132px;
    }

    .jmb-category-showcase-image {
        width: 68px;
        height: 68px;
        padding: 10px;
    }

    .jmb-category-showcase-content {
        padding: 46px 10px 16px;
    }

    .jmb-category-showcase-content strong {
        font-size: 13px;
    }
}

@media (max-width: 680px) {
    .jmb-category-showcase {
        padding: 36px 0 42px;
    }

    .jmb-category-grid.jmb-category-grid--showcase {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 14px;
        row-gap: 38px;
    }

    .jmb-category-grid .jmb-category-showcase-card,
    .jmb-category-showcase-content {
        min-height: 118px;
    }

    .jmb-category-showcase-image {
        width: 62px;
        height: 62px;
        padding: 9px;
    }

    .jmb-category-showcase-content {
        padding: 42px 8px 14px;
    }

    .jmb-category-showcase-content strong {
        font-size: 12px;
        line-height: 1.28;
    }
}


}

/* v182: Dedicated News archive — 20 posts per page with a responsive four-column grid. */
.st-news-hero {
    position: relative;
    overflow: hidden;
    padding: 58px 0 26px;
    background: linear-gradient(180deg, #f8faff 0%, #ffffff 100%);
    color: #19265f;
    text-align: center;
}
.st-news-hero::before,
.st-news-hero::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.st-news-hero::before {
    width: 360px;
    height: 360px;
    top: -220px;
    left: -90px;
    background: rgba(35,47,153,.05);
}
.st-news-hero::after {
    width: 280px;
    height: 280px;
    right: -88px;
    bottom: -185px;
    background: rgba(35,47,153,.06);
}
.st-news-hero .jmb-container { position: relative; z-index: 1; max-width: 850px; margin-inline: auto; display: flex; flex-direction: column; align-items: center; text-align: center; }
.st-news-eyebrow {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    color: #42508f;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.st-news-eyebrow::before,
.st-news-eyebrow::after {
    content: "";
    width: 26px;
    height: 1px;
    background: rgba(35,47,153,.24);
}
.st-news-hero h1 {
    margin: 0;
    color: #172461;
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.1;
    letter-spacing: -.03em;
}
.st-news-hero p {
    max-width: 670px;
    margin: 17px auto 0;
    color: #67748e;
    font-size: 16px;
    line-height: 1.7;
}
.st-news-section { padding: 24px 0 80px; background: #fff; }
.st-news-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 26px;
}
.st-news-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e3e7fb;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(25, 38, 118, .06);
    transition: transform .26s ease, box-shadow .26s ease, border-color .22s ease;
}
.st-news-card:hover {
    transform: translateY(-4px);
    border-color: #cbd5ff;
    box-shadow: 0 18px 38px rgba(25, 38, 118, .12);
}
.st-news-card-image {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #f2f5ff;
}
.st-news-card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .34s ease;
}
.st-news-card:hover .st-news-card-image img { transform: scale(1.035); }
.st-news-card-content {
    display: flex;
    min-height: 242px;
    flex: 1;
    flex-direction: column;
    padding: 20px 20px 19px;
}
.st-news-card-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 12px;
    color: #8590af;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.25;
}
.st-news-card-category {
    max-width: 55%;
    overflow: hidden;
    color: #27389f;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .06em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}
.st-news-card h2 {
    margin: 0 0 11px;
    color: #16225a;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.36;
}
.st-news-card h2 a { color: inherit; text-decoration: none; }
.st-news-card h2 a:hover { color: #23319a; }
.st-news-card p {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: #66728f;
    font-size: 13px;
    line-height: 1.65;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.st-news-read-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin-top: auto;
    padding-top: 17px;
    color: #203094;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .03em;
    text-decoration: none;
    text-transform: uppercase;
}
.st-news-read-more span:last-child {
    font-size: 17px;
    line-height: .8;
    transition: transform .22s ease;
}
.st-news-read-more:hover { color: #101a5a; }
.st-news-read-more:hover span:last-child { transform: translateX(4px); }
.st-news-pagination { display: flex; justify-content: center; margin-top: 48px; }
.st-news-pagination .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.st-news-pagination .page-numbers li { margin: 0; }
.st-news-pagination .page-numbers a,
.st-news-pagination .page-numbers .current {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border: 1px solid #e0e5fb;
    border-radius: 50%;
    background: #fff;
    color: #26315d;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.st-news-pagination .page-numbers a:hover,
.st-news-pagination .page-numbers .current {
    border-color: #23319a;
    background: #23319a;
    color: #fff;
    box-shadow: 0 9px 18px rgba(35,47,153,.22);
}
.st-news-pagination .page-numbers .dots {
    width: 30px;
    border: 0;
    background: transparent;
    color: #8993b0;
    box-shadow: none;
}
.st-news-empty {
    min-height: 320px;
    display: grid;
    place-content: center;
    border: 1px dashed #ced6f7;
    border-radius: 18px;
    background: #fafbff;
    text-align: center;
}
.st-news-empty h2 { margin: 0; color: #19265f; font-size: 28px; }
.st-news-empty p { margin: 10px 0 0; color: #697592; }
@media (max-width: 1160px) {
    .st-news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
}
@media (max-width: 850px) {
    .st-news-hero { padding: 46px 0 20px; }
    .st-news-section { padding: 18px 0 62px; }
    .st-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
    .st-news-card-content { min-height: 226px; }
}
@media (max-width: 560px) {
    .st-news-hero { padding: 38px 0 16px; }
    .st-news-hero p { font-size: 14px; }
    .st-news-section { padding: 36px 0 48px; }
    .st-news-grid { grid-template-columns: 1fr; gap: 16px; }
    .st-news-card-content { min-height: 0; padding: 18px; }
    .st-news-card h2 { font-size: 18px; }
    .st-news-card-image { aspect-ratio: 16 / 9; }
    .st-news-pagination { margin-top: 34px; }
    .st-news-pagination .page-numbers { gap: 5px; }
    .st-news-pagination .page-numbers a,
    .st-news-pagination .page-numbers .current { width: 38px; height: 38px; }
}


/* v187: Keep the News eyebrow comfortably below the fixed site header. */
body.jmb-site .st-news-hero {
    padding-top: 72px !important;
}
@media (max-width: 850px) {
    body.jmb-site .st-news-hero {
        padding-top: 54px !important;
    }
}
@media (max-width: 560px) {
    body.jmb-site .st-news-hero {
        padding-top: 44px !important;
    }
}

/* v188: Standard blog article detail and related articles. */
.st-article-hero {
    position: relative;
    overflow: hidden;
    padding: 56px 0 54px;
    background: linear-gradient(180deg, #f7f9ff 0%, #ffffff 100%);
    border-bottom: 1px solid #edf0ff;
}
.st-article-hero::before,
.st-article-hero::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.st-article-hero::before {
    width: 380px;
    height: 380px;
    left: -190px;
    top: -260px;
    background: rgba(35, 47, 153, .055);
}
.st-article-hero::after {
    width: 300px;
    height: 300px;
    right: -105px;
    bottom: -220px;
    background: rgba(85, 208, 223, .12);
}
.st-article-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 1020px;
    margin-inline: auto;
}
.st-article-breadcrumb {
    display: flex;
    align-items: center;
    gap: 9px;
    max-width: 900px;
    margin: 0 auto 26px;
    color: #77829f;
    font-size: 13px;
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
}
.st-article-breadcrumb a {
    color: #4a5c9c;
    text-decoration: none;
    flex: 0 0 auto;
}
.st-article-breadcrumb a:hover { color: #232f99; }
.st-article-breadcrumb span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
}
.st-article-heading {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}
.st-article-category {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 12px;
    border-radius: 999px;
    background: #e9edff;
    color: #23319a;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
}
a.st-article-category:hover { background: #dce3ff; color: #172368; }
.st-article-heading h1 {
    max-width: 900px;
    margin: 18px auto 0;
    color: #172461;
    font-size: clamp(30px, 3.4vw, 50px);
    line-height: 1.14;
    letter-spacing: -.035em;
    font-weight: 900;
}
.st-article-meta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 17px;
    color: #73809d;
    font-size: 13px;
    font-weight: 600;
}
.st-article {
    padding: 54px 0 10px;
    background: #fff;
}
.st-article-layout {
    width: min(100% - 32px, 920px);
    margin-inline: auto;
}
.st-article-main { width: 100%; }
.st-article-featured-image {
    width: 100%;
    margin: 0 0 38px;
    overflow: hidden;
    border: 1px solid #e4e8f7;
    border-radius: 20px;
    background: #f8f9ff;
    box-shadow: 0 20px 48px rgba(35, 47, 153, .10);
}
.st-article-featured-image img {
    width: 100%;
    height: auto;
    max-height: 560px;
    object-fit: contain;
    display: block;
    background: #fff;
}
.st-article-content {
    color: #4a5875;
    font-size: 17px;
    line-height: 1.85;
    overflow-wrap: anywhere;
}
.st-article-content > *:first-child { margin-top: 0; }
.st-article-content > *:last-child { margin-bottom: 0; }
.st-article-content p,
.st-article-content ul,
.st-article-content ol,
.st-article-content blockquote,
.st-article-content figure,
.st-article-content table,
.st-article-content .wp-block-image { margin: 0 0 24px; }
.st-article-content h2,
.st-article-content h3,
.st-article-content h4 {
    color: #172461;
    line-height: 1.28;
    letter-spacing: -.018em;
    font-weight: 900;
}
.st-article-content h2 { margin: 42px 0 18px; font-size: clamp(27px, 3vw, 36px); }
.st-article-content h3 { margin: 34px 0 16px; font-size: clamp(22px, 2.6vw, 29px); }
.st-article-content h4 { margin: 26px 0 12px; font-size: 20px; }
.st-article-content a {
    color: #23319a;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: rgba(35, 49, 154, .28);
    text-underline-offset: 3px;
}
.st-article-content a:hover { color: #101a5a; text-decoration-color: currentColor; }
.st-article-content strong { color: #28385f; }
.st-article-content ul,
.st-article-content ol { padding-left: 1.35em; }
.st-article-content li { margin-bottom: 8px; }
.st-article-content blockquote {
    padding: 18px 22px;
    border-left: 4px solid #232f99;
    border-radius: 0 12px 12px 0;
    background: #f5f7ff;
    color: #33436d;
    font-size: 18px;
    font-style: italic;
}
.st-article-content img,
.st-article-content figure img,
.st-article-content .wp-block-image img {
    width: auto;
    max-width: 100%;
    height: auto;
    margin-inline: auto;
    border-radius: 14px;
}
.st-article-content figure,
.st-article-content .wp-block-image { text-align: center; }
.st-article-content figcaption {
    margin-top: 8px;
    color: #7b86a0;
    font-size: 13px;
    line-height: 1.5;
}
.st-article-content table {
    display: block;
    width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
    border: 1px solid #e4e8f5;
}
.st-article-content th,
.st-article-content td {
    min-width: 130px;
    padding: 10px 12px;
    border: 1px solid #e4e8f5;
    text-align: left;
}
.st-article-content th { background: #f4f6ff; color: #23319a; }
.st-article-content iframe,
.st-article-content video { max-width: 100%; border-radius: 14px; }
.st-article-bottom {
    display: flex;
    align-items: center;
    padding: 38px 0 52px;
    margin-top: 44px;
    border-top: 1px solid #e9edfa;
}
.st-article-back {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 0 17px;
    border: 1px solid #d9e0f8;
    border-radius: 999px;
    color: #23319a;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
    transition: color .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.st-article-back:hover {
    border-color: #23319a;
    background: #23319a;
    color: #fff;
    box-shadow: 0 10px 22px rgba(35, 47, 153, .18);
}
.st-related-articles {
    position: relative;
    overflow: hidden;
    padding: 70px 0 82px;
    background: #f7f9ff;
    border-top: 1px solid #edf0fa;
}
.st-related-articles::after {
    content: "";
    position: absolute;
    right: -100px;
    bottom: -160px;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: rgba(35, 47, 153, .05);
    pointer-events: none;
}
.st-related-articles .jmb-container { position: relative; z-index: 1; }
.st-related-heading { margin-bottom: 30px; text-align: center; }
.st-related-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #4d5e99;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.st-related-eyebrow::before,
.st-related-eyebrow::after {
    content: "";
    width: 25px;
    height: 1px;
    background: #bfc8ec;
}
.st-related-heading h2 {
    margin: 10px 0 0;
    color: #172461;
    font-size: clamp(28px, 3vw, 38px);
    line-height: 1.15;
    letter-spacing: -.025em;
    font-weight: 900;
}
.st-related-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}
.st-related-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e0e6fb;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(35,47,153,.05);
    transition: transform .26s ease, box-shadow .26s ease, border-color .22s ease;
}
.st-related-card:hover {
    transform: translateY(-3px);
    border-color: #cbd5ff;
    box-shadow: 0 16px 30px rgba(35,47,153,.11);
}
.st-related-image {
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: #f8f9ff;
}
.st-related-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .30s ease;
}
.st-related-card:hover .st-related-image img { transform: scale(1.025); }
.st-related-card-content {
    min-height: 180px;
    padding: 17px 17px 18px;
    display: flex;
    flex-direction: column;
}
.st-related-meta {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 11px;
    color: #77839e;
    font-size: 10px;
    line-height: 1.3;
    font-weight: 800;
    text-transform: uppercase;
}
.st-related-meta span { color: #25339a; }
.st-related-card h3 {
    margin: 0;
    color: #172461;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 900;
}
.st-related-card h3 a { color: inherit; text-decoration: none; }
.st-related-card h3 a:hover { color: #23319a; }
.st-related-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    padding-top: 18px;
    color: #23319a;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .025em;
    text-decoration: none;
}
.st-related-link span:last-child { transition: transform .22s ease; }
.st-related-link:hover span:last-child { transform: translateX(4px); }
@media (max-width: 1024px) {
    .st-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .st-article-hero { padding: 42px 0 40px; }
    .st-article-breadcrumb { margin-bottom: 21px; }
    .st-article-heading h1 { font-size: clamp(28px, 7vw, 38px); }
    .st-article { padding-top: 36px; }
    .st-article-featured-image { margin-bottom: 28px; border-radius: 14px; }
    .st-article-content { font-size: 16px; line-height: 1.8; }
    .st-article-content h2 { margin-top: 35px; }
    .st-article-bottom { padding: 30px 0 40px; margin-top: 34px; }
    .st-related-articles { padding: 52px 0 58px; }
}
@media (max-width: 560px) {
    .st-article-hero { padding: 34px 0 32px; }
    .st-article-breadcrumb { margin-bottom: 18px; font-size: 12px; }
    .st-article-meta { font-size: 12px; }
    .st-article-layout { width: min(100% - 24px, 920px); }
    .st-article-content { font-size: 15px; }
    .st-article-content blockquote { padding: 16px 17px; font-size: 16px; }
    .st-related-grid { grid-template-columns: 1fr; gap: 16px; }
    .st-related-card-content { min-height: 160px; }
}


/* v193: Native share popover for product details — no JavaScript dependency. */
body.jmb-site .st-product-actions .st-product-share-trigger {
    position: relative;
    flex: 0 0 auto;
    z-index: 8;
}
body.jmb-site .st-product-actions .st-product-share-trigger > summary {
    list-style: none;
    cursor: pointer;
}
body.jmb-site .st-product-actions .st-product-share-trigger > summary::-webkit-details-marker { display: none; }
body.jmb-site .st-product-actions .st-product-share-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border: 1.5px solid #111 !important;
    border-radius: 50%;
    background: #fff !important;
    color: #111 !important;
    outline: none;
}
body.jmb-site .st-product-actions .st-product-share-btn svg {
    display: block !important;
    width: 22px;
    height: 22px;
    stroke: currentColor !important;
    fill: none !important;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
body.jmb-site .st-product-actions .st-product-share-trigger[open] .st-product-share-btn,
body.jmb-site .st-product-actions .st-product-share-btn:hover,
body.jmb-site .st-product-actions .st-product-share-btn:focus {
    border-color: #232F99 !important;
    background: #F5F7FF !important;
    color: #232F99 !important;
}
body.jmb-site .st-product-share-popover {
    position: absolute;
    right: 0;
    top: calc(100% + 12px);
    z-index: 90;
    width: 294px;
    padding: 16px;
    border: 1px solid #E2E7FB;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 20px 42px rgba(23,36,97,.17);
}
body.jmb-site .st-product-share-popover strong {
    display: block;
    margin-bottom: 13px;
    color: #172461;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}
body.jmb-site .st-product-share-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}
body.jmb-site .st-product-share-grid a {
    min-height: 43px;
    padding: 8px 10px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid #E7EBFC;
    border-radius: 11px;
    background: #fff !important;
    color: #172461 !important;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
}
body.jmb-site .st-product-share-grid a:hover,
body.jmb-site .st-product-share-grid a:focus {
    border-color: #B9C7FF;
    background: #F7F9FF !important;
    color: #172461 !important;
}
body.jmb-site .st-product-share-letter {
    width: 19px;
    height: 19px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 19px;
    color: #232F99;
    line-height: 1;
}
body.jmb-site .st-product-share-letter i {
    display: inline-block;
    font-size: 15px;
    line-height: 1;
    font-style: normal;
}
body.jmb-site .st-product-share { display: none !important; }
@media (max-width: 767px) {
    body.jmb-site .st-product-share-popover { left: 0; right: auto; width: min(294px, calc(100vw - 40px)); }
}


/* v195: preserve Font Awesome families against the global Roboto selector. */
body.jmb-site .st-product-share-letter i.fa-brands {
    font-family: "Font Awesome 6 Brands" !important;
    font-weight: 400 !important;
    font-style: normal !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body.jmb-site .st-product-share-letter i.fa-solid {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    font-style: normal !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


/* v197 fallback: product gallery thumbnail accent lock. */
body.jmb-site .st-product-thumbs .st-product-thumb:hover,
body.jmb-site .st-product-thumbs .st-product-thumb:focus,
body.jmb-site .st-product-thumbs .st-product-thumb:active,
body.jmb-site .st-product-thumbs .st-product-thumb.is-active {
    border-color: #232F99 !important;
    background: #FFFFFF !important;
    color: #232F99 !important;
}


/* v199: Privacy Policy page */
.st-policy-hero {
    position: relative;
    overflow: hidden;
    padding: 66px 0 56px;
    background: linear-gradient(180deg, #f7f9ff 0%, #ffffff 100%);
    text-align: center;
}
.st-policy-hero::before,
.st-policy-hero::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.st-policy-hero::before { width: 330px; height: 330px; top: -214px; left: -80px; background: rgba(35,47,153,.055); }
.st-policy-hero::after { width: 270px; height: 270px; right: -95px; bottom: -188px; background: rgba(85,208,223,.12); }
.st-policy-hero-inner { position: relative; z-index: 1; width: min(100% - 32px, 900px); margin-inline: auto; display: flex; flex-direction: column; align-items: center; }
.st-policy-breadcrumb { width: 100%; display: flex; justify-content: center; align-items: center; gap: 9px; margin: 0 0 24px; color: #73809a; font-size: 13px; }
.st-policy-breadcrumb a { color: #4d63ba; }
.st-policy-breadcrumb a:hover { color: #172461; }
.st-policy-eyebrow { display: inline-flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 14px; color: #3f4f9b; font-size: 12px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.st-policy-eyebrow::before, .st-policy-eyebrow::after { content: ""; width: 26px; height: 1px; background: #bac5ed; }
.st-policy-hero h1 { margin: 0; color: #172461; font-size: clamp(36px, 4vw, 52px); line-height: 1.1; letter-spacing: -.03em; }
.st-policy-hero p { max-width: 690px; margin: 17px auto 0; color: #667590; font-size: 16px; line-height: 1.7; }
.st-policy-updated { display: inline-flex; margin-top: 18px; padding: 7px 12px; border: 1px solid #e1e6fb; border-radius: 999px; background: rgba(255,255,255,.76); color: #5c6c88; font-size: 12px; font-weight: 700; }
.st-policy-section { padding: 62px 0 82px; background: #fff; }
.st-policy-layout { display: grid; grid-template-columns: minmax(200px, 242px) minmax(0, 780px); justify-content: center; gap: 54px; align-items: start; }
.st-policy-toc { position: sticky; top: 24px; padding: 20px; border: 1px solid #e4e8fb; border-radius: 16px; background: #fbfcff; box-shadow: 0 10px 26px rgba(35,47,153,.045); }
.st-policy-toc > strong { display: block; margin: 0 0 12px; color: #172461; font-size: 14px; font-weight: 900; }
.st-policy-toc nav { display: grid; gap: 3px; }
.st-policy-toc a { display: block; padding: 8px 9px; border-radius: 8px; color: #64718c; font-size: 13px; font-weight: 600; line-height: 1.35; }
.st-policy-toc a:hover { background: #edf1ff; color: #23319a; }
.st-policy-content { color: #4e596f; font-size: 16px; line-height: 1.8; }
.st-policy-content > section { scroll-margin-top: 24px; margin: 0 0 43px; }
.st-policy-content > section:last-child { margin-bottom: 0; }
.st-policy-content h2 { margin: 0 0 16px; color: #172461; font-size: clamp(25px, 2.7vw, 33px); line-height: 1.22; letter-spacing: -.02em; }
.st-policy-content h3 { margin: 0 0 16px; color: #23319a; font-size: 19px; line-height: 1.35; }
.st-policy-content p { margin: 0 0 16px; }
.st-policy-content a { color: #23319a; text-decoration: underline; text-decoration-color: rgba(35,49,154,.3); text-underline-offset: 3px; }
.st-policy-content a:hover { color: #101a5a; text-decoration-color: currentColor; }
.st-policy-lead { margin-bottom: 42px !important; padding: 22px 24px; border-left: 4px solid #232f99; border-radius: 0 14px 14px 0; background: #f6f8ff; color: #31405e; font-size: 18px; line-height: 1.75; }
.st-policy-data-card { margin: 0 0 18px; padding: 24px 25px; border: 1px solid #e4e8fb; border-radius: 16px; background: #fff; box-shadow: 0 10px 26px rgba(35,47,153,.04); }
.st-policy-data-card dl { margin: 0; }
.st-policy-data-card dt { margin: 16px 0 4px; color: #263252; font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .055em; }
.st-policy-data-card dt:first-child { margin-top: 0; }
.st-policy-data-card dd { margin: 0; color: #63708a; }
.st-policy-link-list { margin: 0; padding-left: 21px; }
.st-policy-link-list li { margin: 9px 0; }
.st-policy-contact-card { padding: 30px; border-radius: 18px; background: linear-gradient(135deg, #172461, #2839a8); color: rgba(255,255,255,.88); box-shadow: 0 18px 38px rgba(23,36,97,.17); }
.st-policy-contact-card h2 { color: #fff; }
.st-policy-contact-card a { color: #fff; text-decoration-color: rgba(255,255,255,.48); }
.st-policy-contact-card a:hover { color: #fff; }
@media (max-width: 980px) {
    .st-policy-section { padding: 48px 0 64px; }
    .st-policy-layout { grid-template-columns: 1fr; gap: 28px; }
    .st-policy-toc { position: static; display: grid; grid-template-columns: 150px 1fr; gap: 16px; align-items: start; }
    .st-policy-toc > strong { margin: 8px 0 0; }
    .st-policy-toc nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
    .st-policy-hero { padding: 44px 0 38px; }
    .st-policy-breadcrumb { justify-content: flex-start; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
    .st-policy-hero h1 { font-size: 34px; }
    .st-policy-hero p { font-size: 14px; }
    .st-policy-section { padding: 34px 0 50px; }
    .st-policy-toc { display: block; padding: 16px; }
    .st-policy-toc > strong { margin: 0 0 9px; }
    .st-policy-toc nav { grid-template-columns: 1fr; }
    .st-policy-content { font-size: 15px; }
    .st-policy-content h2 { font-size: 25px; }
    .st-policy-lead { margin-bottom: 30px !important; padding: 18px; font-size: 16px; }
    .st-policy-data-card { padding: 19px; }
    .st-policy-contact-card { padding: 22px; }
}


/* v200: Extra breathing space below the header on the privacy-policy screen. */
body.jmb-site .st-policy-hero { padding-top: 88px !important; }
@media (max-width: 980px) { body.jmb-site .st-policy-hero { padding-top: 68px !important; } }
@media (max-width: 680px) { body.jmb-site .st-policy-hero { padding-top: 56px !important; } }


/* v201: Keep homepage banner navigation free from the theme's pink accent. */
body.jmb-site .stb-home-banner .stb-home-banner-arrow,
body.jmb-site .stb-home-banner .stb-home-banner-arrow:visited {
    background: rgba(35, 47, 153, .82) !important;
    border-color: rgba(255, 255, 255, .86) !important;
    color: #ffffff !important;
    box-shadow: 0 8px 18px rgba(23, 31, 104, .22) !important;
}

body.jmb-site .stb-home-banner .stb-home-banner-arrow:hover,
body.jmb-site .stb-home-banner .stb-home-banner-arrow:focus,
body.jmb-site .stb-home-banner .stb-home-banner-arrow:focus-visible,
body.jmb-site .stb-home-banner .stb-home-banner-arrow:active,
body.jmb-site .stb-home-banner .stb-home-banner-arrow.is-active {
    background: #171f68 !important;
    border-color: #ffffff !important;
    color: #ffffff !important;
    outline: none !important;
    box-shadow: 0 10px 22px rgba(23, 31, 104, .32) !important;
}

body.jmb-site .stb-home-banner .stb-home-banner-arrow::before,
body.jmb-site .stb-home-banner .stb-home-banner-arrow::after {
    color: #ffffff !important;
    border-color: #ffffff !important;
}


/* v202: Refine homepage banner arrows for a better-balanced translucent look. */
body.jmb-site .stb-home-banner .stb-home-banner-arrow,
body.jmb-site .stb-home-banner .stb-home-banner-arrow:visited {
    width: 48px !important;
    height: 48px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255, 255, 255, .58) !important;
    background: rgba(255, 255, 255, .18) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    color: #ffffff !important;
    font-size: 0 !important;
    line-height: 0 !important;
    box-shadow: 0 10px 26px rgba(20, 34, 90, .18) !important;
    transition: opacity .28s ease, background-color .28s ease, border-color .28s ease, box-shadow .28s ease, transform .28s ease !important;
}

body.jmb-site .stb-home-banner .stb-home-banner-arrow:hover,
body.jmb-site .stb-home-banner .stb-home-banner-arrow:focus,
body.jmb-site .stb-home-banner .stb-home-banner-arrow:focus-visible,
body.jmb-site .stb-home-banner .stb-home-banner-arrow:active,
body.jmb-site .stb-home-banner .stb-home-banner-arrow.is-active {
    background: rgba(35, 47, 153, .34) !important;
    border-color: rgba(255, 255, 255, .82) !important;
    color: #ffffff !important;
    box-shadow: 0 14px 32px rgba(20, 34, 90, .24) !important;
    transform: translateY(-50%) scale(1.03) !important;
}

body.jmb-site .stb-home-banner .stb-home-banner-arrow::before {
    content: '' !important;
    display: block !important;
    width: 11px !important;
    height: 11px !important;
    border-top: 2.2px solid currentColor !important;
    border-right: 2.2px solid currentColor !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    box-sizing: border-box !important;
}

body.jmb-site .stb-home-banner .stb-home-banner-prev::before {
    transform: rotate(-135deg) translate(-1px, -1px) !important;
}

body.jmb-site .stb-home-banner .stb-home-banner-next::before {
    transform: rotate(45deg) translate(-1px, 1px) !important;
}

body.jmb-site .stb-home-banner .stb-home-banner-arrow::after {
    display: none !important;
    content: none !important;
}

@media (max-width: 767px) {
    body.jmb-site .stb-home-banner .stb-home-banner-arrow,
    body.jmb-site .stb-home-banner .stb-home-banner-arrow:visited {
        width: 40px !important;
        height: 40px !important;
    }

    body.jmb-site .stb-home-banner .stb-home-banner-arrow::before {
        width: 9px !important;
        height: 9px !important;
        border-top-width: 2px !important;
        border-right-width: 2px !important;
    }
}


/* v203: Soften homepage banner text shadow for cleaner readability. */
body.jmb-site .stb-home-banner .stb-home-banner-copy {
    text-shadow: 0 2px 8px rgba(0, 0, 0, .18), 0 1px 2px rgba(0, 0, 0, .10) !important;
}

body.jmb-site .stb-home-banner .stb-home-banner-title,
body.jmb-site .stb-home-banner .stb-home-banner-subtitle,
body.jmb-site .stb-home-banner .stb-home-banner-highlight span,
body.jmb-site .stb-home-banner .stb-home-banner-bullets li {
    text-shadow: inherit;
}


/* v204: Reduce banner button shadows and refine banner arrow centering. */
body.jmb-site .stb-home-banner .stb-home-banner-highlight span {
    text-shadow: none !important;
    box-shadow: 0 4px 14px rgba(16, 44, 96, .10) !important;
}

body.jmb-site .stb-home-banner .stb-home-banner-btn,
body.jmb-site .stb-home-banner .stb-home-banner-btn:visited {
    text-shadow: none !important;
    box-shadow: 0 6px 16px rgba(0, 78, 133, .14), inset 0 0 0 1px rgba(255, 255, 255, .72) !important;
}

body.jmb-site .stb-home-banner .stb-home-banner-btn:hover,
body.jmb-site .stb-home-banner .stb-home-banner-btn:focus,
body.jmb-site .stb-home-banner .stb-home-banner-btn:focus-visible {
    box-shadow: 0 8px 18px rgba(0, 78, 133, .16), inset 0 0 0 1px rgba(255, 255, 255, .72) !important;
}

body.jmb-site .stb-home-banner .stb-home-banner-arrow,
body.jmb-site .stb-home-banner .stb-home-banner-arrow:visited {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}

body.jmb-site .stb-home-banner .stb-home-banner-arrow::before {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    margin: 0 !important;
    transform-origin: center center !important;
}

body.jmb-site .stb-home-banner .stb-home-banner-prev::before {
    transform: translate(-38%, -50%) rotate(-135deg) !important;
}

body.jmb-site .stb-home-banner .stb-home-banner-next::before {
    transform: translate(-62%, -50%) rotate(45deg) !important;
}


/* v207: About-page video preview and centered autoplay modal. */
.st-about-video-section { padding-top: 46px; }
.st-about-video-section .st-video-card {
    width: 100%;
    min-height: 0;
    padding: 0;
    display: block;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(35,47,153,.12);
    border-radius: 26px;
    background: #0f1746;
    box-shadow: 0 24px 65px rgba(35,47,153,.18);
    cursor: pointer;
    appearance: none;
    text-align: left;
}
.st-about-video-section .st-video-card:focus-visible { outline: 3px solid rgba(35,47,153,.35); outline-offset: 4px; }
.st-video-preview { display: block; width: 100%; aspect-ratio: 16 / 7.6; object-fit: cover; object-position: center; background: #0f1746; }
.st-video-preview-overlay { position: absolute; inset: 0; display: block; background: linear-gradient(180deg, rgba(7,14,49,.08) 10%, rgba(7,14,49,.36) 100%); transition: background .28s ease; }
.st-about-video-section .st-video-card:hover .st-video-preview-overlay { background: linear-gradient(180deg, rgba(7,14,49,.04) 10%, rgba(7,14,49,.26) 100%); }
.st-about-video-section .st-video-play { width: 78px; height: 78px; background: rgba(35,47,153,.96); box-shadow: 0 16px 34px rgba(15,24,88,.28); transition: transform .25s ease, background-color .25s ease, box-shadow .25s ease; }
.st-about-video-section .st-video-card:hover .st-video-play { transform: translate(-50%, -50%) scale(1.06); background: #171f68; box-shadow: 0 20px 38px rgba(15,24,88,.36); }
.st-about-video-section .st-video-play span { border-top-width: 14px; border-bottom-width: 14px; border-left-width: 21px; margin-left: 5px; }
.st-video-modal { position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center; padding: 30px; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .25s ease, visibility .25s ease; }
.st-video-modal.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.st-video-modal-backdrop { position: absolute; inset: 0; background: rgba(7,12,42,.78); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); }
.st-video-modal-dialog { position: relative; z-index: 1; width: min(1120px, 94vw); max-height: calc(100vh - 60px); transform: translateY(16px) scale(.98); transition: transform .28s cubic-bezier(.22,1,.36,1); }
.st-video-modal.is-open .st-video-modal-dialog { transform: translateY(0) scale(1); }
.st-video-modal-player { display: block; width: 100%; max-height: calc(100vh - 60px); border-radius: 18px; background: #000; box-shadow: 0 24px 70px rgba(0,0,0,.35); }
.st-video-modal-close { position: absolute; z-index: 2; top: -16px; right: -16px; width: 42px; height: 42px; padding: 0; border: 1px solid rgba(255,255,255,.75); border-radius: 50%; background: #fff; color: #172461; font-size: 29px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 10px 28px rgba(0,0,0,.18); }
.st-video-modal-close:hover, .st-video-modal-close:focus-visible { background: #232f99; color: #fff; border-color: #232f99; outline: none; }
body.st-about-video-open { overflow: hidden; }
@media (max-width: 767px) {
    .st-about-video-section .st-video-card { border-radius: 18px; }
    .st-video-preview { aspect-ratio: 16 / 10; }
    .st-about-video-section .st-video-play { width: 62px; height: 62px; }
    .st-about-video-section .st-video-play span { border-top-width: 11px; border-bottom-width: 11px; border-left-width: 17px; }
    .st-video-modal { padding: 16px; }
    .st-video-modal-dialog { width: min(100%, 94vw); max-height: calc(100vh - 32px); }
    .st-video-modal-player { max-height: calc(100vh - 32px); border-radius: 12px; }
    .st-video-modal-close { top: -12px; right: -8px; width: 38px; height: 38px; }
}

/* v214: Native language + currency selector. One language always carries one currency. */
.jmb-topbar .stb-language-switcher { position: relative; z-index: 60; color: #fff; }
.jmb-topbar .stb-language-switcher summary { list-style: none; display: inline-flex; align-items: center; gap: 6px; min-height: 32px; cursor: pointer; color: inherit; user-select: none; }
.jmb-topbar .stb-language-switcher summary::-webkit-details-marker { display: none; }
.jmb-topbar .stb-language-flag { display: inline-flex; align-items: center; justify-content: center; line-height: 1; font-size: 15px; }
.jmb-topbar .stb-language-current { font-weight: 700; }
.jmb-topbar .stb-language-currency { padding-left: 7px; border-left: 1px solid rgba(255,255,255,.34); font-size: 11px; font-weight: 800; letter-spacing: .04em; }
.stb-language-chevron { width: 7px; height: 7px; margin: -3px 0 0 2px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); transition: transform .2s ease; }
.stb-language-switcher[open] .stb-language-chevron { transform: rotate(225deg); margin-top: 3px; }
.stb-language-menu { position: absolute; top: calc(100% + 7px); right: 0; width: 190px; overflow: hidden; border: 1px solid #DCE3FF; border-radius: 12px; background: #fff; box-shadow: 0 16px 36px rgba(15, 27, 93, .18); }
.stb-language-menu a { min-height: 42px; padding: 0 12px; display: grid !important; grid-template-columns: 22px minmax(0,1fr) auto; align-items: center; gap: 8px; color: #172461 !important; text-decoration: none; opacity: 1 !important; }
.stb-language-menu a + a { border-top: 1px solid #EEF1FF; }
.stb-language-menu a:hover, .stb-language-menu a.is-current { color: #232F99 !important; background: #F4F6FF; }
.stb-language-menu a.is-current::after { content: '✓'; color: #232F99; font-weight: 900; }
.stb-language-menu a small { color: #5D6A91; font-size: 11px; font-weight: 800; letter-spacing: .04em; }
.jmb-mobile-language { padding: 8px 0 15px; }
.jmb-mobile-language .stb-language-switcher { display: block; position: relative; color: #172461; }
.jmb-mobile-language .stb-language-switcher summary { min-height: 44px; padding: 0 13px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--jmb-border); border-radius: 10px; background: #fff; cursor: pointer; list-style: none; }
.jmb-mobile-language .stb-language-switcher summary::-webkit-details-marker { display: none; }
.jmb-mobile-language .stb-language-currency { border-left-color: #DDE3FF; color: #5D6A91; }
.jmb-mobile-language .stb-language-menu { left: 0; right: auto; top: calc(100% + 6px); width: min(250px, calc(100vw - 64px)); }
@media (max-width: 980px) {
    .jmb-topbar .stb-language-switcher { display: none; }
}
