/* =========================================================
BatteryVault site CSS
Clean consolidated version
Generated for Magento HTML Head external stylesheet
========================================================= */

/* ---------- Design tokens ---------- */
:root {
    --bv-navy: #0D1B2A;
    --bv-navy-dark: #081529;
    --bv-green: #4CAF50;
    --bv-green-dark: #43A047;
    --bv-text: #222831;
    --bv-muted: #5d6678;
    --bv-light: #E5E7EB;
    --bv-soft: #f5f7fa;
    --bv-border: #e5e7eb;
    --bv-white: #ffffff;
    --bv-container: 1280px;
    --bv-wide: 1980px;
    --bv-gutter: 24px;
    --bv-radius: 16px;
    --bv-shadow: 0 18px 45px rgba(13, 27, 42, 0.08);
    --bv-shadow-hover: 0 24px 58px rgba(13, 27, 42, 0.14);
}

html,
body {
    overflow-x: hidden !important;
}

body {
    font-family: 'Montserrat', Arial, sans-serif !important;
    color: var(--bv-text);
}

/* ---------- Core layout ---------- */
.bv-page {
    font-family: 'Montserrat', Arial, sans-serif;
    color: var(--bv-text);
    background: var(--bv-white);
}

.bv-full-bleed {
    width: 100vw;
    margin-left: calc(50% - 50vw);
}

.bv-container {
    max-width: var(--bv-container);
    margin: 0 auto;
    padding-left: var(--bv-gutter);
    padding-right: var(--bv-gutter);
    box-sizing: border-box;
}

.bv-wide-container {
    max-width: var(--bv-wide);
    margin: 0 auto;
    padding-left: var(--bv-gutter);
    padding-right: var(--bv-gutter);
    box-sizing: border-box;
}

.bv-section {
    padding: 74px 0;
}

.bv-section-light {
    background: var(--bv-soft);
}

.bv-grid-2,
.bv-grid-2-reverse {
    display: grid;
    gap: 52px;
    align-items: start;
}

.bv-grid-2 {
    grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.88fr);
}

.bv-grid-2-reverse {
    grid-template-columns: minmax(320px, 0.88fr) minmax(0, 1.12fr);
}

.bv-kicker {
    display: inline-block;
    color: var(--bv-green);
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.bv-green-text {
    color: var(--bv-green);
}

/* =========================================================
MOBILE CATEGORY PAGE FIX
Filters above products, tidy toolbar, better mobile product cards
========================================================= */

@media (max-width: 980px) {

    /* Mobile order: title > toolbar > filters > products */
    .catalog-category-view .columns {
        display: flex !important;
        flex-direction: column !important;
        gap: 28px !important;
    }

    .catalog-category-view .column.main {
        order: 1 !important;
        width: 100% !important;
    }

    .catalog-category-view .sidebar-main {
        order: 2 !important;
        width: 100% !important;
    }

    .catalog-category-view .sidebar-additional {
        display: none !important;
    }

    /* Move filters visually above products */
    .catalog-category-view .sidebar-main {
        margin-top: -10px !important;
    }

    /* Product list stays after filter block */
    .catalog-category-view .products.wrapper {
        margin-top: 28px !important;
    }
}

/* Mobile toolbar cleanup */
@media (max-width: 768px) {

    .catalog-category-view .toolbar-products {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        padding: 20px 22px !important;
        border-radius: 16px !important;
        margin-bottom: 24px !important;
    }

    .catalog-category-view .toolbar-products .toolbar-amount,
    .catalog-category-view .toolbar-products .sorter,
    .catalog-category-view .toolbar-products .limiter {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: auto 1fr !important;
        align-items: center !important;
        gap: 12px !important;
        justify-content: initial !important;
        text-align: left !important;
    }

    .catalog-category-view .toolbar-products .toolbar-amount {
        display: block !important;
        font-size: 15px !important;
        font-weight: 800 !important;
        color: #5d6678 !important;
    }

    .catalog-category-view .toolbar-products .toolbar-amount .toolbar-number {
        margin-right: 5px !important;
    }

    .catalog-category-view .toolbar-products .sorter-label,
    .catalog-category-view .toolbar-products .limiter label,
    .catalog-category-view .toolbar-products .limiter-text {
        font-size: 15px !important;
        font-weight: 800 !important;
        color: #5d6678 !important;
        margin: 0 !important;
    }

    .catalog-category-view .toolbar-products .sorter select,
    .catalog-category-view .toolbar-products .limiter select {
        justify-self: end !important;
        width: auto !important;
        min-width: 120px !important;
        height: 42px !important;
    }

    .catalog-category-view .toolbar-products .sorter-action {
        display: none !important;
    }

    /* Hide duplicate bottom toolbar completely */
    .catalog-category-view .products.wrapper + .toolbar-products {
        display: none !important;
    }

    /* Dark filter panel sits neatly above products */
    .catalog-category-view .filter {
        margin: 0 0 6px !important;
        padding: 24px 24px 18px !important;
        border-radius: 18px !important;
    }

    .catalog-category-view .filter:before {
        margin-bottom: 14px !important;
    }

    .catalog-category-view .filter-options-title {
        padding: 13px 0 !important;
    }

    /* Product card sizing on mobile */
    .catalog-category-view .products-grid .product-items {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }

    .catalog-category-view .product-item-info {
        min-height: auto !important;
        padding: 24px !important;
    }

    .catalog-category-view .product-item-photo {
        height: 240px !important;
        min-height: 240px !important;
    }

    .catalog-category-view .product-item-name {
        min-height: auto !important;
    }
}

.bv-led-dot {
    color: var(--bv-green) !important;
    text-shadow:
        0 0 4px rgba(76,175,80,0.95),
        0 0 9px rgba(76,175,80,0.7),
        0 0 16px rgba(76,175,80,0.45);
}

.bv-copy h2,
.bv-section-title {
    color: var(--bv-navy);
    font-size: clamp(30px, 3.2vw, 44px);
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: -0.7px;
    margin: 0 0 20px;
}

.bv-copy p,
.bv-section-text {
    color: var(--bv-muted);
    font-size: 17px;
    line-height: 1.75;
    margin: 0 0 18px;
}

/* ---------- Buttons ---------- */
.bv-btn,
.bv-button,
.bv-fmb-form button,
.action.primary,
button.action.primary,
.pagebuilder-button-primary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--bv-green) !important;
    border: 1px solid var(--bv-green) !important;
    color: var(--bv-white) !important;
    text-decoration: none !important;
    border-radius: 6px !important;
    padding: 14px 26px !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer !important;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.bv-btn:hover,
.bv-button:hover,
.bv-fmb-form button:hover,
.action.primary:hover,
button.action.primary:hover,
.pagebuilder-button-primary:hover {
    background: var(--bv-green-dark) !important;
    border-color: var(--bv-green-dark) !important;
    color: var(--bv-white) !important;
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(76,175,80,0.22);
}

.bv-btn-secondary {
    background: transparent !important;
    border-color: rgba(255,255,255,0.42) !important;
    color: var(--bv-white) !important;
}

.bv-btn-secondary:hover {
    background: rgba(255,255,255,0.08) !important;
    border-color: rgba(255,255,255,0.72) !important;
    box-shadow: none !important;
}

/* ---------- Cards and lists ---------- */
.bv-card {
    background: var(--bv-white);
    border: 1px solid var(--bv-border);
    border-radius: var(--bv-radius);
    padding: 30px;
    box-shadow: var(--bv-shadow);
}

.bv-card h3 {
    color: var(--bv-navy);
    font-size: 23px;
    font-weight: 900;
    margin: 0 0 20px;
}

.bv-card-dark,
.bv-card-dark-on-light {
    background:
        radial-gradient(circle at 100% 0%, rgba(76,175,80,0.22), transparent 38%),
        var(--bv-navy) !important;
    border: none !important;
    color: var(--bv-white) !important;
}

.bv-card-dark h3,
.bv-card-dark-on-light h3 {
    color: var(--bv-white) !important;
}

.bv-hero-card-light {
    background: rgba(255,255,255,0.96) !important;
    border: 1px solid rgba(255,255,255,0.75) !important;
    color: var(--bv-navy) !important;
    box-shadow: 0 28px 70px rgba(0,0,0,0.18) !important;
}

.bv-hero-card-light h3 {
    color: var(--bv-navy) !important;
}

.bv-bullet-list,
.bv-card ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.bv-bullet-list li {
    position: relative;
    padding-left: 32px;
    margin-bottom: 14px;
    color: #4b5563;
    font-size: 16px;
    line-height: 1.55;
}

.bv-card-dark .bv-bullet-list li,
.bv-card-dark-on-light .bv-bullet-list li {
    color: rgba(255,255,255,0.9) !important;
}

.bv-bullet-list li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #55bd50;
    box-shadow:
        0 0 0 6px rgba(76,175,80,0.10),
        0 0 22px rgba(76,175,80,0.32);
}

.bv-card-dark .bv-bullet-list li:before,
.bv-card-dark-on-light .bv-bullet-list li:before {
    box-shadow:
        0 0 0 6px rgba(76,175,80,0.13),
        0 0 24px rgba(76,175,80,0.40);
}

.bv-card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.bv-hover-card {
    display: block;
    text-decoration: none !important;
    background: var(--bv-white);
    border: 1px solid var(--bv-border);
    border-radius: var(--bv-radius);
    padding: 28px;
    box-shadow: 0 8px 20px rgba(13,27,42,0.05);
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.bv-hover-card:hover {
    transform: translateY(-4px);
    border-color: var(--bv-green);
    box-shadow: var(--bv-shadow-hover);
}

.bv-hover-card h3 {
    color: var(--bv-navy);
    font-size: 21px;
    font-weight: 900;
    margin: 0 0 12px;
}

.bv-hover-card p {
    color: #6b7280;
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
}

/* ---------- Header, top bar and navigation ---------- */
.page-header .panel.wrapper {
    background: var(--bv-navy) !important;
    border: none !important;
}

.page-header .panel.header {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 var(--bv-gutter) !important;
    height: 32px !important;
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box;
}

.page-header .panel.header > .header.links,
.page-header .panel.header > .links {
    display: none !important;
}

.page-header .panel.header .widget,
.page-header .panel.header .block,
.page-header .panel.header .block-content {
    width: 100% !important;
    margin: 0 !important;
}

.bv-topbar {
    width: 100% !important;
    max-width: var(--bv-wide);
    margin: 0 auto;
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    align-items: center !important;
    color: var(--bv-white);
    font-size: 13px !important;
    font-weight: 700;
}

.bv-topbar-left,
.bv-topbar-right {
    display: flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
}

.bv-topbar-right {
    justify-content: flex-end;
}

.bv-topbar a {
    color: var(--bv-white) !important;
    text-decoration: none;
}

.bv-topbar a:hover {
    color: var(--bv-green) !important;
}

.bv-mobile-text,
.bv-mobile-delivery {
    display: none;
}

.bv-van-icon,
.bv-mail-icon {
    display: inline-flex;
    width: 17px;
    height: 17px;
    color: var(--bv-white);
    flex: 0 0 auto;
}

.bv-van-icon svg,
.bv-mail-icon svg {
    width: 17px;
    height: 17px;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.page-header .header.content {
    max-width: var(--bv-wide) !important;
    padding: 24px var(--bv-gutter) !important;
    box-sizing: border-box;
    display: flex !important;
    align-items: center !important;
    gap: 28px !important;
    border: none !important;
    box-shadow: none !important;
}

.page-header .logo {
    flex: 0 0 auto !important;
    margin: 0 !important;
}

.page-header .nav-sections,
.sections.nav-sections,
.page-header .navigation {
    display: none !important;
}

.bv-desktop-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    flex: 1 1 auto;
    margin: 0;
    padding: 0;
}

.bv-desktop-menu a {
    color: var(--bv-text);
    text-decoration: none;
    font-size: 16px;
    font-weight: 750;
    line-height: 1;
    letter-spacing: 0.1px;
    transition: color 0.2s ease;
}

.bv-desktop-menu a:hover {
    color: var(--bv-green);
}

.bv-mobile-menu {
    display: none !important;
}

.page-header .block-search {
    flex: 0 0 auto !important;
    width: 24px !important;
    height: 24px !important;
    margin-left: 0 !important;
    padding: 0 !important;
    position: relative !important;
}

.page-header .block-search form,
.page-header .block-search .field.search,
.page-header .block-search .control,
.page-header .block-search input,
.page-header .block-search .actions,
.page-header .block-search .action.search,
.page-header .block-search .nested,
.page-header .block-search .label,
.page-header .block-search .label:before {
    display: none !important;
    content: none !important;
}

.page-header .block-search::before {
    content: "" !important;
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    background-color: var(--bv-navy);
    mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='11' cy='11' r='7' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M20 20l-4-4' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='11' cy='11' r='7' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M20 20l-4-4' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.bv-account-icon {
    width: 24px !important;
    height: 24px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--bv-navy) !important;
    background: transparent !important;
}

.bv-account-icon svg {
    width: 24px !important;
    height: 24px !important;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.page-header .minicart-wrapper {
    flex: 0 0 auto !important;
    margin: 0 !important;
}

.page-header .minicart-wrapper .action.showcart:before {
    display: none !important;
}

.page-header .minicart-wrapper .action.showcart {
    width: 24px !important;
    height: 24px !important;
    display: inline-block;
    background-color: var(--bv-navy);
    mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 6h15l-2 9H8L6 6z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M6 6L5 3H2' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3Ccircle cx='9' cy='21' r='1.5' fill='black'/%3E%3Ccircle cx='18' cy='21' r='1.5' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 6h15l-2 9H8L6 6z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M6 6L5 3H2' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3Ccircle cx='9' cy='21' r='1.5' fill='black'/%3E%3Ccircle cx='18' cy='21' r='1.5' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
}

.bv-account-icon:hover {
    color: var(--bv-green) !important;
}

.page-header .block-search:hover::before,
.page-header .minicart-wrapper .action.showcart:hover {
    background-color: var(--bv-green) !important;
}

.minicart-wrapper .counter.qty {
    background: var(--bv-green) !important;
    color: var(--bv-white) !important;
    border-radius: 999px !important;
    font-weight: 800 !important;
    font-size: 11px !important;
}

/* ---------- Main heroes ---------- */
.bv-dark-hero,
.bv-home-hero,
.bv-legal-hero,
.bv-guide-hero {
    background:
        radial-gradient(circle at 78% 30%, rgba(76,175,80,0.22), transparent 34%),
        linear-gradient(135deg, #081529 0%, #0D1B2A 58%, #123733 100%);
    color: var(--bv-white);
    overflow: hidden;
}

.bv-dark-hero {
    padding: 84px 0 90px;
}

.bv-dark-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
    gap: 54px;
    align-items: center;
}

.bv-dark-hero-copy {
    max-width: 760px;
}

.bv-fmb-page .bv-dark-hero-copy {
    max-width: 820px;
}

.bv-about-page .bv-dark-hero-copy {
    max-width: 720px;
}

.bv-help-page .bv-dark-hero-copy {
    max-width: 780px;
}

.bv-dark-hero h1,
.bv-dark-hero-copy h1 {
    color: var(--bv-white);
    font-size: clamp(36px, 4.1vw, 56px);
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -0.04em;
    margin: 0 0 26px;
}

.bv-dark-hero h1 .bv-green-text {
    display: inline;
}

.bv-dark-hero p {
    color: rgba(255,255,255,0.84);
    font-size: 19px;
    line-height: 1.65;
    max-width: 820px;
    margin: 0 0 32px;
}

.bv-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
}

.bv-hero-visual {
    min-height: 340px;
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,0.12);
    background:
        radial-gradient(circle at 50% 45%, rgba(76,175,80,0.20), transparent 38%),
        rgba(255,255,255,0.045);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 34px;
}

.bv-hero-visual img {
    max-width: 100%;
    max-height: 330px;
    height: auto;
    display: block;
    object-fit: contain;
    filter: drop-shadow(0 24px 44px rgba(0,0,0,0.28));
}

.bv-fmb-page .bv-hero-visual {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    min-height: 360px !important;
}

.bv-fmb-page .bv-hero-visual img {
    max-width: 520px !important;
    width: 100% !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* ---------- Homepage ---------- */
.cms-index-index .page-main,
.cms-home .page-main {
    max-width: none !important;
    padding: 0 !important;
}

.cms-index-index .columns .column.main,
.cms-home .columns .column.main {
    padding-bottom: 0 !important;
}

.bv-home-hero {
    padding: 64px 0 78px;
}

.bv-home-hero-grid {
    max-width: var(--bv-container);
    margin: 0 auto;
    padding-left: var(--bv-gutter);
    padding-right: var(--bv-gutter);
    box-sizing: border-box;
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1.05fr);
    gap: 48px;
    align-items: center;
}

.bv-home-copy {
    max-width: 640px;
}

.bv-home-hero h1 {
    color: var(--bv-white);
    font-size: clamp(40px, 4.6vw, 64px);
    line-height: 1.04;
    font-weight: 800;
    letter-spacing: -0.04em;
    margin: 0 0 22px;
}

.bv-home-copy h1 span {
    color: var(--bv-green);
    display: inline;
}

.bv-home-hero p {
    font-size: 19px;
    line-height: 1.55;
    color: var(--bv-light);
    margin: 0 0 32px;
    max-width: 720px;
}

.bv-home-image {
    text-align: right;
}

.bv-home-image img {
    max-width: 560px;
    width: 100%;
    height: auto;
    filter: drop-shadow(0 24px 44px rgba(0,0,0,0.24));
}

/* ---------- Pills, brands, trust bar and CTA ---------- */
.bv-pill-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    max-width: 920px;
    margin-top: 36px;
}

.bv-pill {
    border: 1px solid rgba(255,255,255,0.14);
    background: rgba(255,255,255,0.045);
    border-radius: 14px;
    padding: 19px 20px;
}

.bv-pill strong {
    display: block;
    color: var(--bv-white);
    font-size: 20px;
    font-weight: 900;
    margin-bottom: 5px;
}

.bv-pill span {
    color: rgba(255,255,255,0.68);
    font-size: 14px;
}

.bv-brand-grid {
    margin-top: 34px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 14px;
}

.bv-brand-tile {
    background: var(--bv-white);
    border: 1px solid var(--bv-border);
    border-radius: 14px;
    padding: 20px 12px;
    color: var(--bv-navy) !important;
    font-size: 16px;
    font-weight: 900;
    text-decoration: none !important;
    text-align: center;
    box-shadow: 0 8px 18px rgba(13,27,42,0.06);
    transition: 0.2s ease;
}

.bv-brand-tile:hover {
    transform: translateY(-3px);
    border-color: var(--bv-green);
    box-shadow: var(--bv-shadow-hover);
}

.bv-cta-dark {
    background:
        radial-gradient(circle at 20% 50%, rgba(76,175,80,0.22), transparent 30%),
        var(--bv-navy);
    color: var(--bv-white);
    text-align: center;
    padding: 76px 0;
}

.bv-cta-dark h2 {
    color: var(--bv-white);
    font-size: clamp(32px, 3.5vw, 46px);
    line-height: 1.1;
    font-weight: 900;
    margin: 0 0 18px;
}

.bv-cta-dark p {
    color: var(--bv-light);
    max-width: 710px;
    margin: 0 auto 30px;
    font-size: 17px;
    line-height: 1.7;
}

.bv-cta-with-trust {
    position: relative !important;
    padding-bottom: 92px !important;
    margin-bottom: 92px !important;
}

.bv-cta-with-trust .bv-trust-section {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: -58px !important;
    background: transparent !important;
    padding: 0 var(--bv-gutter) !important;
    margin: 0 !important;
    z-index: 20 !important;
}

.bv-trustbar {
    max-width: var(--bv-container);
    margin: 0 auto;
    padding: 26px var(--bv-gutter);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 26px;
    background: var(--bv-white);
    border: 1px solid var(--bv-border);
    border-radius: 14px;
    box-shadow: 0 20px 55px rgba(13,27,42,0.14);
    position: relative;
    z-index: 2;
}

.bv-trust-item {
    display: flex;
    align-items: center;
    gap: 14px;
}

.bv-trust-icon {
    width: 30px;
    height: 30px;
    color: var(--bv-green);
    flex: 0 0 auto;
}

.bv-trust-icon svg {
    width: 30px;
    height: 30px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.bv-trust-text strong {
    display: block;
    font-size: 14px;
    font-weight: 900;
    color: var(--bv-text);
}

.bv-trust-text span {
    display: block;
    font-size: 13px;
    color: #6b7280;
    margin-top: 2px;
}

/* ---------- FMB form ---------- */
.bv-fmb-form {
    background:
        radial-gradient(circle at 100% 0%, rgba(76,175,80,0.20), transparent 38%),
        var(--bv-navy);
    border: none;
    border-radius: 18px;
    padding: 34px;
    box-shadow: 0 26px 70px rgba(13,27,42,0.18);
    color: var(--bv-white);
}

.bv-fmb-two {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.bv-fmb-form label {
    display: block;
    margin: 16px 0 7px;
    font-weight: 900;
    color: var(--bv-white);
}

.bv-fmb-form input,
.bv-fmb-form textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid rgba(255,255,255,0.55);
    border-radius: 10px;
    padding: 13px 14px;
    font-size: 15px;
    background: var(--bv-white);
    color: var(--bv-navy);
}

.bv-fmb-form textarea {
    margin-bottom: 22px;
}

.bv-fmb-form input:focus,
.bv-fmb-form textarea:focus {
    outline: none;
    border-color: var(--bv-green);
    box-shadow: 0 0 0 3px rgba(76,175,80,0.16);
}

.bv-fmb-upload-area {
    position: relative;
    border: 2px dashed rgba(76,175,80,0.55);
    border-radius: 16px;
    background:
        radial-gradient(circle at 50% 0%, rgba(76,175,80,0.14), transparent 46%),
        rgba(255,255,255,0.96);
    padding: 30px;
    text-align: center;
}

.bv-fmb-upload-area strong {
    display: block;
    color: var(--bv-navy);
    font-size: 18px;
    margin-bottom: 6px;
}

.bv-fmb-upload-area span {
    display: block;
    color: #687385;
    font-size: 14px;
    margin-bottom: 14px;
}

.bv-fmb-upload-area input[type="file"] {
    width: 100%;
    color: #5d6678;
    font-family: 'Montserrat', Arial, sans-serif !important;
}

.bv-fmb-upload-area input[type="file"]::file-selector-button {
    background: var(--bv-navy);
    color: #ffffff;
    border: 0;
    border-radius: 6px;
    padding: 11px 18px;
    margin-right: 14px;
    font-family: 'Montserrat', Arial, sans-serif;
    font-weight: 800;
    cursor: pointer;
}

.bv-fmb-upload-area input[type="file"]::file-selector-button:hover {
    background: var(--bv-green);
}

.bv-fmb-small {
    font-size: 13px;
    color: rgba(255,255,255,0.78);
    line-height: 1.5;
    margin: 16px 0 0;
}

/* ---------- Help landing page ---------- */
.bv-help-featured {
    background:
        radial-gradient(circle at 100% 0%, rgba(76,175,80,0.20), transparent 34%),
        var(--bv-navy);
    border-radius: 18px;
    padding: 44px;
    color: var(--bv-white);
    box-shadow: var(--bv-shadow);
}

.bv-help-featured h2 {
    color: var(--bv-white);
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.12;
    font-weight: 900;
    margin: 0 0 16px;
}

.bv-help-featured p {
    color: rgba(255,255,255,0.78);
    max-width: 780px;
    font-size: 17px;
    line-height: 1.7;
}

.bv-help-label {
    display: inline-block;
    color: var(--bv-green);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 10px;
}

/* ---------- Legal and support pages ---------- */
.bv-legal-hero,
.bv-guide-hero {
    padding: 72px 0 74px;
}

.bv-legal-hero .bv-container,
.bv-guide-hero .bv-container {
    max-width: 980px;
}

.bv-legal-hero h1,
.bv-guide-hero h1 {
    color: var(--bv-white);
    font-size: clamp(38px, 4.4vw, 58px);
    line-height: 1.05;
    margin: 12px 0 22px;
    font-weight: 800;
    letter-spacing: -0.035em;
}

.bv-legal-hero p,
.bv-guide-hero p {
    max-width: 820px;
    color: rgba(255,255,255,0.82);
    font-size: 17px;
    line-height: 1.7;
    margin: 0;
}

.bv-legal-section,
.bv-guide-section {
    background: var(--bv-soft);
    padding: 56px 0 76px;
}

.bv-legal-section .bv-container {
    max-width: 980px;
}

.bv-legal-card,
.bv-guide-card {
    background: var(--bv-white);
    border: 1px solid rgba(13,27,42,0.09);
    border-radius: 18px;
    padding: clamp(30px, 5vw, 58px);
    box-shadow: 0 24px 70px rgba(13,27,42,0.08);
}

.bv-legal-card h2,
.bv-guide-card h2 {
    color: var(--bv-navy);
    font-size: clamp(22px, 2.2vw, 30px);
    line-height: 1.18;
    margin: 38px 0 14px;
    font-weight: 800;
    letter-spacing: -0.025em;
}

.bv-legal-card h2:first-of-type,
.bv-guide-card h2:first-child {
    margin-top: 0;
}

.bv-legal-card h3,
.bv-guide-card h3 {
    color: var(--bv-navy);
    font-size: 20px;
    line-height: 1.25;
    margin: 0 0 10px;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.bv-legal-card p,
.bv-legal-card li,
.bv-guide-card p,
.bv-guide-card li {
    color: var(--bv-muted);
    font-size: 16px;
    line-height: 1.8;
}

.bv-legal-card p,
.bv-guide-card p {
    margin: 0 0 18px;
}

.bv-legal-card ul,
.bv-guide-card ul,
.bv-guide-sidebar-card ul {
    margin: 18px 0 26px;
    padding: 0;
    list-style: none;
}

.bv-legal-card li,
.bv-guide-card li,
.bv-guide-sidebar-card li {
    position: relative;
    padding-left: 28px;
    margin: 0 0 13px;
}

.bv-legal-card li:before,
.bv-guide-card li:before,
.bv-guide-sidebar-card li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.72em;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--bv-green);
    box-shadow:
        0 0 0 5px rgba(76,175,80,0.10),
        0 0 18px rgba(76,175,80,0.22);
}

.bv-legal-card a,
.bv-guide-card a {
    color: var(--bv-green);
    font-weight: 800;
    text-decoration: none;
}

.bv-legal-card a:hover,
.bv-guide-card a:hover {
    text-decoration: underline;
}

.bv-legal-updated {
    background:
        radial-gradient(circle at 100% 0%, rgba(76,175,80,0.13), transparent 42%),
        #f7fafc;
    border: 1px solid rgba(13,27,42,0.08);
    border-radius: 14px;
    padding: 18px 20px;
    margin-bottom: 34px;
    color: var(--bv-muted);
    font-size: 15px;
    line-height: 1.7;
}

.bv-legal-updated strong {
    color: var(--bv-navy);
}

/* ---------- Contact page ---------- */
.bv-contact-card {
    max-width: 1060px;
    margin: 0 auto;
}

.bv-contact-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 42px;
    align-items: start;
}

.bv-contact-main h2,
.bv-contact-side h3 {
    margin-top: 0 !important;
}

.bv-contact-email-card {
    background:
        radial-gradient(circle at 100% 0%, rgba(76,175,80,0.18), transparent 42%),
        var(--bv-navy);
    border-radius: 16px;
    padding: 24px 26px;
    margin: 28px 0;
    color: #ffffff;
    max-width: 520px;
}

.bv-contact-email-card span {
    display: block;
    color: var(--bv-green);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.bv-contact-email-card a {
    display: inline-block;
    color: #ffffff !important;
    font-size: clamp(20px, 2.1vw, 30px) !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    letter-spacing: -0.035em;
    text-decoration: none !important;
    overflow-wrap: anywhere !important;
}

.bv-contact-email-card a:hover {
    color: var(--bv-green) !important;
}

.bv-contact-side {
    border-radius: 16px;
    padding: 26px 26px 18px;
}

.bv-contact-side-dark {
    background:
        radial-gradient(circle at 100% 0%, rgba(76,175,80,0.20), transparent 38%),
        var(--bv-navy) !important;
    border: none !important;
    color: #ffffff !important;
    box-shadow: 0 22px 56px rgba(13,27,42,0.13);
}

.bv-contact-side-dark h3 {
    color: #ffffff !important;
}

.bv-contact-side-dark ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.bv-contact-side-dark li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 22px;
    color: rgba(255,255,255,0.82) !important;
}

.bv-contact-side-dark li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.45em;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--bv-green);
    box-shadow:
        0 0 0 6px rgba(76,175,80,0.13),
        0 0 20px rgba(76,175,80,0.36);
}

.bv-contact-side-dark li strong {
    display: block;
    color: #ffffff !important;
    margin-bottom: 6px;
}

.bv-contact-side-dark li span {
    display: block;
    color: rgba(255,255,255,0.78) !important;
    line-height: 1.65;
}

.bv-contact-links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin: 42px 0 0;
}

.bv-contact-mini-card {
    display: block;
    background: #ffffff;
    border: 1px solid rgba(13,27,42,0.10);
    border-radius: 14px;
    padding: 22px;
    text-decoration: none !important;
    box-shadow: 0 16px 42px rgba(13,27,42,0.06);
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.bv-contact-mini-card:hover {
    transform: translateY(-3px);
    border-color: rgba(76,175,80,0.55);
    box-shadow: 0 22px 56px rgba(13,27,42,0.10);
}

.bv-contact-mini-card strong {
    display: block;
    color: var(--bv-navy);
    font-size: 18px;
    line-height: 1.25;
    margin-bottom: 8px;
}

.bv-contact-mini-card span {
    display: block;
    color: var(--bv-muted);
    font-size: 14px;
    line-height: 1.55;
}

.bv-contact-footer-note {
    margin-top: 38px;
    margin-bottom: 0;
}

/* ---------- Guide article pages ---------- */
.bv-guide-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 34px;
    align-items: start;
}

.bv-guide-intro {
    font-size: 19px !important;
    color: var(--bv-navy) !important;
    font-weight: 600;
}

.bv-guide-table {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 20px 0 28px;
}

.bv-guide-table div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    background: #f7fafc;
    border: 1px solid rgba(13,27,42,0.08);
    border-radius: 12px;
    padding: 14px 16px;
}

.bv-guide-table strong {
    color: var(--bv-navy);
}

.bv-guide-table span {
    color: var(--bv-green);
    font-weight: 800;
}

.bv-guide-mini-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin: 22px 0 26px;
}

.bv-guide-mini-grid div {
    background: #f7fafc;
    border: 1px solid rgba(13,27,42,0.08);
    border-radius: 14px;
    padding: 20px 20px 8px;
}

.bv-guide-help-box {
    background:
        radial-gradient(circle at 100% 0%, rgba(76,175,80,0.20), transparent 38%),
        var(--bv-navy);
    border-radius: 18px;
    padding: clamp(26px, 4vw, 42px);
    color: #ffffff;
    margin: 48px 0;
}

.bv-guide-help-box h2 {
    color: #ffffff;
    margin-top: 0;
}

.bv-guide-help-box p,
.bv-guide-help-box li {
    color: rgba(255,255,255,0.82);
}

.bv-guide-help-box strong {
    color: #ffffff;
}

.bv-guide-sidebar {
    position: sticky;
    top: 110px;
    display: grid;
    gap: 18px;
}

.bv-guide-sidebar-card {
    background: #ffffff;
    border: 1px solid rgba(13,27,42,0.09);
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 18px 50px rgba(13,27,42,0.07);
}

.bv-guide-sidebar-card h3 {
    color: var(--bv-navy);
    font-size: 22px;
    line-height: 1.2;
    margin: 0 0 18px;
    font-weight: 800;
    letter-spacing: -0.025em;
}

.bv-guide-sidebar-card li {
    color: var(--bv-muted);
    font-size: 15px;
    line-height: 1.5;
}

.bv-guide-sidebar-dark {
    background:
        radial-gradient(circle at 100% 0%, rgba(76,175,80,0.20), transparent 38%),
        var(--bv-navy);
    border: none;
    color: #ffffff;
}

.bv-guide-sidebar-dark h3 {
    color: #ffffff;
}

.bv-guide-sidebar-dark p {
    color: rgba(255,255,255,0.78);
    font-size: 15px;
    line-height: 1.65;
    margin: 0 0 20px;
}

.bv-guide-sidebar-dark .bv-btn {
    width: 100%;
}

/* ---------- 404 page ---------- */
.bv-404-card {
    text-align: center;
    max-width: 760px;
    margin: 0 auto;
}

.bv-404-card h2 {
    margin-top: 0 !important;
}

.bv-404-actions {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 16px !important;
    width: 100% !important;
    margin: 30px 0 22px;
    flex-wrap: wrap;
}

.bv-404-actions .bv-btn {
    margin-left: auto !important;
    margin-right: auto !important;
}

.bv-404-note {
    color: #7a8495 !important;
    font-size: 15px !important;
    margin-bottom: 0 !important;
}

/* ---------- Footer ---------- */
.bv-footer-links {
    background: var(--bv-white);
    padding: 0 20px 16px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 22px;
    text-align: center;
    margin-top: -18px !important;
    border-top: none !important;
}

.bv-footer-links a {
    font-size: 12px;
    font-weight: 700;
    color: var(--bv-navy);
    text-decoration: none;
    opacity: 0.78;
    transition: 0.2s ease;
}

.bv-footer-links a:hover {
    color: var(--bv-green);
    opacity: 1;
}

.page-footer,
.footer.content {
    background: var(--bv-white) !important;
    border-top: none !important;
    padding-top: 0 !important;
    box-shadow: none !important;
}

.page-footer:before,
.footer.content:before {
    display: none !important;
}

/* ---------- Mobile ---------- */
@media (max-width: 980px) {
    .bv-guide-layout {
        grid-template-columns: 1fr;
    }

    .bv-guide-sidebar {
        position: static;
    }

    .bv-guide-sidebar-card {
        display: none;
    }

    .bv-guide-sidebar-dark {
        display: block;
    }
}

@media (max-width: 900px) {
    :root {
        --bv-gutter: 16px;
    }

    .bv-dark-hero,
    .bv-home-hero,
    .bv-legal-hero,
    .bv-guide-hero {
        padding: 50px 0 54px;
    }

    .bv-dark-hero-grid,
    .bv-grid-2,
    .bv-grid-2-reverse,
    .bv-home-hero-grid,
    .bv-contact-grid,
    .bv-contact-links {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .bv-dark-hero-copy,
    .bv-fmb-page .bv-dark-hero-copy,
    .bv-about-page .bv-dark-hero-copy,
    .bv-help-page .bv-dark-hero-copy {
        max-width: 100% !important;
    }

    .bv-dark-hero h1,
    .bv-dark-hero-copy h1,
    .bv-legal-hero h1,
    .bv-guide-hero h1 {
        font-size: 38px !important;
        line-height: 1.08 !important;
    }

    .bv-home-hero h1 {
        font-size: 40px !important;
        line-height: 1.08 !important;
    }

    .bv-dark-hero p,
    .bv-legal-hero p,
    .bv-guide-hero p {
        font-size: 16px !important;
        line-height: 1.65 !important;
    }

    .bv-hero-actions,
    .bv-404-actions {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 14px !important;
    }

    .bv-page .bv-btn,
    .bv-page .bv-button,
    .bv-page .bv-fmb-form button,
    .bv-page .pagebuilder-button-primary {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        white-space: normal !important;
        text-align: center !important;
    }

    .bv-hero-visual,
    .bv-home-image {
        text-align: center;
    }

    .bv-home-image img {
        max-width: 100% !important;
    }

    .bv-pill-row,
    .bv-card-grid,
    .bv-trustbar,
    .bv-guide-table,
    .bv-guide-mini-grid {
        grid-template-columns: 1fr;
    }

    .bv-section,
    .bv-legal-section,
    .bv-guide-section {
        padding: 34px 0 54px;
    }

    .bv-legal-card,
    .bv-guide-card {
        border-radius: 16px;
        padding: 28px 22px;
    }

    .bv-legal-card h2,
    .bv-guide-card h2 {
        font-size: 24px;
        line-height: 1.2;
        margin-top: 34px;
    }

    .bv-legal-card p,
    .bv-legal-card li,
    .bv-guide-card p,
    .bv-guide-card li {
        font-size: 15px;
    }

    .bv-brand-grid {
        grid-template-columns: 1fr 1fr;
    }

    .bv-fmb-two {
        grid-template-columns: 1fr;
    }

    .bv-fmb-form,
    .bv-card,
    .bv-help-featured {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .bv-contact-email-card {
        max-width: 100%;
        padding: 22px 20px;
    }

    .bv-contact-email-card a {
        font-size: 20px !important;
    }

    .bv-404-actions .bv-btn {
        width: 100% !important;
    }

    .bv-cta-with-trust {
        padding-bottom: 170px !important;
        margin-bottom: 150px !important;
    }

    .bv-cta-with-trust .bv-trust-section {
        bottom: -115px !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .bv-cta-with-trust .bv-trustbar {
        padding: 26px 22px !important;
        gap: 22px !important;
    }

    .bv-cta-with-trust .bv-btn {
        margin-bottom: 42px !important;
    }

    .bv-trust-item {
        align-items: center !important;
        gap: 16px !important;
    }

    .bv-trust-icon {
        flex: 0 0 34px !important;
    }

    .bv-trust-text strong {
        font-size: 18px !important;
        line-height: 1.2 !important;
    }

    .bv-trust-text span {
        font-size: 15px !important;
        line-height: 1.35 !important;
    }
}

@media (max-width: 768px) {
    .page-header,
    .header.content,
    .nav-sections,
    .sections.nav-sections,
    .block-search,
    .block-search .block-content,
    .block-search .control,
    .block-search input {
        box-shadow: none !important;
        border-top: none !important;
        border-bottom: none !important;
    }

    .page-header .panel.header {
        height: 32px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .bv-topbar {
        font-size: 11px !important;
        gap: 8px;
    }

    .bv-desktop-text,
    .bv-desktop-delivery {
        display: none;
    }

    .bv-mobile-text,
    .bv-mobile-delivery {
        display: inline;
    }

    .page-header .header.content {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 12px !important;
        padding: 14px 16px !important;
        position: relative !important;
    }

    .page-header .logo {
        order: 1 !important;
        flex: 1 1 auto !important;
        max-width: 210px !important;
        margin: 0 !important;
        text-align: left !important;
    }

    .page-header .logo img {
        max-width: 210px !important;
        height: auto !important;
        display: block !important;
        margin: 0 !important;
    }

    .bv-desktop-menu,
    .nav-toggle {
        display: none !important;
    }

    .bv-account-icon {
        order: 2 !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
    }

    .page-header .minicart-wrapper {
        order: 3 !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
    }

    .bv-mobile-menu {
        display: block !important;
        order: 4 !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
    }

    .bv-mobile-menu-checkbox {
        display: none !important;
    }

    .bv-mobile-menu-button {
        width: 28px;
        height: 21px;
        display: flex !important;
        flex-direction: column;
        justify-content: space-between;
        cursor: pointer;
    }

    .bv-mobile-menu-button span {
        display: block;
        height: 3px;
        background: var(--bv-navy);
        border-radius: 2px;
    }

    .bv-mobile-drawer {
        display: none;
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        top: 100% !important;
        width: 100%;
        padding: 18px 24px !important;
        order: 6;
        background: var(--bv-white) !important;
        z-index: 50 !important;
        box-shadow: 0 10px 20px rgba(0,0,0,0.08) !important;
    }

    .bv-mobile-menu-checkbox:checked ~ .bv-mobile-drawer {
        display: grid !important;
        gap: 14px !important;
    }

    .bv-mobile-drawer a {
        color: var(--bv-text);
        text-decoration: none;
        font-size: 16px;
        font-weight: 750;
    }

    .page-header .block-search {
        order: 5 !important;
        display: block !important;
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: none !important;
        height: 46px !important;
        margin: 12px 0 4px !important;
        padding: 0 4px !important;
        position: relative !important;
        background: transparent !important;
        clear: both !important;
        border: none !important;
        box-shadow: none !important;
    }

    .page-header .block-search::before {
        display: none !important;
        content: none !important;
    }

    .page-header .block-search .block-content,
    .page-header .block-search form,
    .page-header .block-search .field.search,
    .page-header .block-search .control,
    .page-header .block-search .actions,
    .page-header .block-search .action.search,
    .page-header .block-search input {
        display: block !important;
    }

    .page-header .block-search .block-content,
    .page-header .block-search form,
    .page-header .block-search .field.search,
    .page-header .block-search .control {
        width: 100% !important;
        height: 46px !important;
    }

    .page-header .block-search .label {
        display: none !important;
    }

    .page-header .block-search input {
        width: 100% !important;
        height: 46px !important;
        opacity: 1 !important;
        position: static !important;
        margin: 0 !important;
        border: 2px solid rgba(13,27,42,0.10) !important;
        border-radius: 999px !important;
        background: #f9fafb !important;
        color: var(--bv-text) !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        padding: 0 82px 0 18px !important;
        box-sizing: border-box !important;
        box-shadow: none !important;
    }

    .page-header .block-search input:focus {
        border-color: var(--bv-green) !important;
        background: var(--bv-white) !important;
        box-shadow: 0 0 0 3px rgba(76,175,80,0.14) !important;
        outline: none !important;
    }

    .page-header .block-search .action.search {
        position: absolute !important;
        right: 14px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        min-width: 60px !important;
        height: 34px !important;
        border-radius: 999px !important;
        background: var(--bv-green) !important;
        color: var(--bv-white) !important;
        border: none !important;
        box-shadow: none !important;
        font-size: 0 !important;
        padding: 0 !important;
    }

    .page-header .block-search .action.search:before {
        color: var(--bv-white) !important;
        font-size: 18px !important;
    }

    .bv-home-image {
        margin-top: 30px;
    }
}

@media (max-width: 560px) {
    .bv-brand-grid {
        grid-template-columns: 1fr;
    }

    .bv-card,
    .bv-fmb-form,
    .bv-help-featured {
        padding: 24px;
    }
}

/* Guide page desktop button overflow fix */

.bv-guide-sidebar-dark .bv-btn,
.bv-guide-help-box .bv-btn {
    max-width: 100%;
    box-sizing: border-box;
    white-space: normal;
    text-align: center;
}

/* =========================================================
CATALOG CATEGORY / SHOP PAGE
Emergency lighting batteries category pages
========================================================= */

.catalog-category-view .page-main {
    max-width: var(--bv-container) !important;
    padding-left: var(--bv-gutter) !important;
    padding-right: var(--bv-gutter) !important;
    box-sizing: border-box !important;
}

.catalog-category-view .columns {
    display: grid !important;
    grid-template-columns: 280px minmax(0, 1fr) !important;
    gap: 48px !important;
    align-items: start !important;
}

.catalog-category-view .column.main {
    width: 100% !important;
    max-width: none !important;
    padding-bottom: 70px !important;
}

.catalog-category-view .sidebar-main,
.catalog-category-view .sidebar-additional {
    width: 100% !important;
}

/* Breadcrumbs */

.catalog-category-view .breadcrumbs {
    margin: 24px 0 20px !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
}

.catalog-category-view .breadcrumbs a,
.catalog-category-view .breadcrumbs strong {
    color: #6b7280 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

/* Page title */

.catalog-category-view .page-title-wrapper {
    margin: 0 0 28px !important;
}

.catalog-category-view .page-title {
    color: var(--bv-navy) !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: clamp(38px, 4vw, 58px) !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
    margin: 0 !important;
}

/* Optional category intro content */

.bv-category-intro {
    background:
        radial-gradient(circle at 100% 0%, rgba(76,175,80,0.16), transparent 38%),
        var(--bv-navy);
    color: #ffffff;
    border-radius: 18px;
    padding: 34px 38px;
    margin: 0 0 34px;
    box-shadow: 0 22px 56px rgba(13,27,42,0.12);
}

.bv-category-intro h2 {
    color: #ffffff;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.035em;
    margin: 0 0 14px;
}

.bv-category-intro p {
    color: rgba(255,255,255,0.82);
    font-size: 16px;
    line-height: 1.7;
    max-width: 850px;
    margin: 0 0 14px;
}

.bv-category-intro p:last-child {
    margin-bottom: 0;
}

/* Toolbar */

.catalog-category-view .toolbar-products {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    background: #ffffff !important;
    border: 1px solid rgba(13,27,42,0.08) !important;
    border-radius: 14px !important;
    padding: 14px 16px !important;
    margin: 0 0 28px !important;
    box-shadow: 0 12px 30px rgba(13,27,42,0.05) !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
}

.catalog-category-view .toolbar-products .modes {
    display: none !important;
}

.catalog-category-view .toolbar-products .toolbar-amount {
    color: #5d6678 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

.catalog-category-view .toolbar-products .sorter {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.catalog-category-view .toolbar-products .sorter-label {
    color: #5d6678 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

.catalog-category-view .toolbar-products select {
    border: 1px solid rgba(13,27,42,0.12) !important;
    border-radius: 8px !important;
    height: 38px !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-weight: 600 !important;
}

/* Sidebar filters */

.catalog-category-view .filter {
    background: #ffffff !important;
    border: 1px solid rgba(13,27,42,0.09) !important;
    border-radius: 18px !important;
    padding: 24px 24px 10px !important;
    box-shadow: 0 18px 50px rgba(13,27,42,0.07) !important;
}

.catalog-category-view .filter-title strong {
    color: var(--bv-navy) !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
}

.catalog-category-view .filter-subtitle {
    display: none !important;
}

.catalog-category-view .filter-options-title {
    color: var(--bv-navy) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    padding: 15px 0 !important;
    border-top: 1px solid rgba(13,27,42,0.10) !important;
}

.catalog-category-view .filter-options-item:first-child .filter-options-title {
    border-top: none !important;
}

.catalog-category-view .filter-options-content {
    padding: 0 0 14px !important;
}

.catalog-category-view .filter-options-content a {
    color: #5d6678 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    text-decoration: none !important;
}

.catalog-category-view .filter-options-content a:hover {
    color: var(--bv-green) !important;
}

.catalog-category-view .filter-count-label {
    color: #9aa3b2 !important;
}

/* Hide unused Magento sidebar clutter */

.catalog-category-view .block-compare,
.catalog-category-view .block-wishlist {
    display: none !important;
}

/* Product grid */

.catalog-category-view .products-grid .product-items {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 30px !important;
    margin: 0 !important;
}

.catalog-category-view .products-grid .product-item {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.catalog-category-view .product-item-info {
    width: 100% !important;
    background: #ffffff !important;
    border: 1px solid rgba(13,27,42,0.08) !important;
    border-radius: 18px !important;
    padding: 22px !important;
    box-shadow: 0 16px 42px rgba(13,27,42,0.055) !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease !important;
    box-sizing: border-box !important;
}

.catalog-category-view .product-item-info:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(76,175,80,0.55) !important;
    box-shadow: 0 24px 60px rgba(13,27,42,0.11) !important;
}

.catalog-category-view .product-item-photo {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 230px !important;
    margin: 0 0 18px !important;
    background: #ffffff !important;
}

.catalog-category-view .product-image-container,
.catalog-category-view .product-image-wrapper {
    width: 100% !important;
}

.catalog-category-view .product-image-photo {
    max-height: 220px !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    margin: 0 auto !important;
}

.catalog-category-view .product-item-name {
    margin: 0 0 12px !important;
}

.catalog-category-view .product-item-link {
    color: var(--bv-navy) !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.catalog-category-view .product-item-link:hover {
    color: var(--bv-green) !important;
}

.catalog-category-view .price-box {
    margin: 12px 0 18px !important;
}

.catalog-category-view .price {
    color: var(--bv-navy) !important;
    font-size: 18px !important;
    font-weight: 900 !important;
}

.catalog-category-view .product-item-actions {
    margin-top: 16px !important;
}

.catalog-category-view .product-item-actions .actions-primary {
    display: block !important;
}

.catalog-category-view .product-item-actions .action.tocart {
    width: 100% !important;
    min-height: 42px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

/* Empty placeholder image tidying */

.catalog-category-view img[src*="placeholder"],
.catalog-category-view .product-image-photo[src*="placeholder"] {
    opacity: 0.25 !important;
}

/* Pagination */

.catalog-category-view .pages .item {
    font-family: 'Montserrat', Arial, sans-serif !important;
}

.catalog-category-view .pages strong.page,
.catalog-category-view .pages a.page {
    border-radius: 8px !important;
}

/* Mobile category */

@media (max-width: 980px) {
    .catalog-category-view .columns {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    .catalog-category-view .sidebar-main {
        order: 2 !important;
    }

    .catalog-category-view .column.main {
        order: 1 !important;
    }

    .catalog-category-view .products-grid .product-items {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px !important;
    }

    .catalog-category-view .filter {
        padding: 20px !important;
    }
}

@media (max-width: 640px) {
    .catalog-category-view .page-title {
        font-size: 36px !important;
        line-height: 1.08 !important;
    }

    .bv-category-intro {
        padding: 26px 22px;
        border-radius: 16px;
    }

    .catalog-category-view .toolbar-products {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .catalog-category-view .products-grid .product-items {
        grid-template-columns: 1fr !important;
    }

    .catalog-category-view .product-item-photo {
        min-height: 200px !important;
    }
}

/* =========================================================
CATEGORY PAGE LAYOUT FIX
Magento outputs main column first, sidebar second.
Force sidebar left and products right.
========================================================= */

.catalog-category-view .columns {
    display: grid !important;
    grid-template-columns: 280px minmax(0, 1fr) !important;
    gap: 48px !important;
    align-items: start !important;
}

/* Magento outputs this first, but visually we want it second */
.catalog-category-view .column.main {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

/* Magento outputs sidebar after main, but visually we want it first */
.catalog-category-view .sidebar-main {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
}

/* Keep additional sidebar junk hidden/tucked away */
.catalog-category-view .sidebar-additional {
    display: none !important;
}

/* Product grid should use the proper main column width */
.catalog-category-view .products-grid .product-items {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(220px, 1fr)) !important;
    gap: 30px !important;
    align-items: stretch !important;
}

/* Stop product cards becoming silly thin columns */
.catalog-category-view .products-grid .product-item,
.catalog-category-view .product-item-info {
    min-width: 0 !important;
    width: 100% !important;
}

/* Mobile/tablet: stack normally */
@media (max-width: 980px) {
    .catalog-category-view .columns {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    .catalog-category-view .column.main {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .catalog-category-view .sidebar-main {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    .catalog-category-view .products-grid .product-items {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    .catalog-category-view .products-grid .product-items {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
CATEGORY PAGE POLISH PASS
Dark title hero, dark filters, equal product cards, remove Magento clutter
========================================================= */

/* Kill breadcrumbs hard on category/shop pages */
.catalog-category-view .breadcrumbs,
.catalog-category-view .breadcrumbs *,
.catalog-category-view .page-main > .breadcrumbs {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Slim dark category hero */
.catalog-category-view .page-title-wrapper {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    background:
        radial-gradient(circle at 78% 32%, rgba(76,175,80,0.20), transparent 34%),
        linear-gradient(135deg, #081529 0%, #0D1B2A 58%, #123733 100%) !important;
    padding: 52px var(--bv-gutter) 56px !important;
    margin-top: 0 !important;
    margin-bottom: 42px !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

.catalog-category-view .page-title {
    max-width: var(--bv-container) !important;
    margin: 0 auto !important;
    color: #ffffff !important;
    font-size: clamp(38px, 4.2vw, 58px) !important;
    line-height: 1.06 !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
}

/* Fix overall spacing after hero */
.catalog-category-view .page-main {
    padding-top: 0 !important;
}

/* Layout */
.catalog-category-view .columns {
    max-width: var(--bv-container) !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: 300px minmax(0, 1fr) !important;
    gap: 42px !important;
    align-items: start !important;
}

.catalog-category-view .sidebar-main {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

.catalog-category-view .column.main {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
}

/* Dark filter / layered navigation panel */
.catalog-category-view .filter {
    background:
        radial-gradient(circle at 100% 0%, rgba(76,175,80,0.20), transparent 38%),
        var(--bv-navy) !important;
    border: none !important;
    border-radius: 18px !important;
    padding: 24px 24px 18px !important;
    box-shadow: 0 22px 56px rgba(13,27,42,0.13) !important;
    color: #ffffff !important;
}

/* Hide filter heading if Magento tries to show it */
.catalog-category-view .filter-title,
.catalog-category-view .filter-subtitle {
    display: none !important;
}

/* Kill duplicated Category filter */
.catalog-category-view .filter-options-item:first-child {
    display: none !important;
}

/* Filter rows */
.catalog-category-view .filter-options-title {
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.025em !important;
    padding: 15px 0 !important;
    border-top: none !important;
    border-bottom: none !important;
    position: relative !important;
}

.catalog-category-view .filter-options-title:after {
    color: var(--bv-green) !important;
    font-weight: 900 !important;
}

.catalog-category-view .filter-options-content {
    padding: 0 0 12px !important;
    border: none !important;
}

.catalog-category-view .filter-options-content a {
    color: rgba(255,255,255,0.78) !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
    text-decoration: none !important;
}

.catalog-category-view .filter-options-content a:hover {
    color: var(--bv-green) !important;
}

.catalog-category-view .filter-count-label,
.catalog-category-view .filter-count {
    color: rgba(255,255,255,0.48) !important;
}

/* Remove Magento compare/wishlist clutter everywhere in category */
.catalog-category-view .block-compare,
.catalog-category-view .block-wishlist,
.catalog-category-view .actions-secondary,
.catalog-category-view .action.towishlist,
.catalog-category-view .action.tocompare,
.catalog-category-view .product-item-actions .actions-secondary {
    display: none !important;
}

/* Top toolbar: one tidy control strip */
.catalog-category-view .toolbar-products {
    background: #ffffff !important;
    border: 1px solid rgba(13,27,42,0.08) !important;
    border-radius: 16px !important;
    padding: 16px 18px !important;
    margin: 0 0 30px !important;
    box-shadow: 0 16px 42px rgba(13,27,42,0.06) !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 18px !important;
}

/* Hide grid/list mode toggle */
.catalog-category-view .toolbar-products .modes {
    display: none !important;
}

.catalog-category-view .toolbar-products .toolbar-amount {
    color: #5d6678 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

.catalog-category-view .toolbar-products .sorter,
.catalog-category-view .toolbar-products .limiter {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: #5d6678 !important;
    font-weight: 700 !important;
}

.catalog-category-view .toolbar-products select {
    height: 38px !important;
    border: 1px solid rgba(13,27,42,0.12) !important;
    border-radius: 8px !important;
    background-color: #f7fafc !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-weight: 650 !important;
}

/* Bottom toolbar: keep pagination if needed, hide duplicate amount/sort/limiter */
.catalog-category-view .products.wrapper + .toolbar-products {
    margin-top: 42px !important;
    justify-content: center !important;
}

.catalog-category-view .products.wrapper + .toolbar-products .toolbar-amount,
.catalog-category-view .products.wrapper + .toolbar-products .sorter,
.catalog-category-view .products.wrapper + .toolbar-products .limiter {
    display: none !important;
}

/* Product grid */
.catalog-category-view .products-grid .product-items {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 30px !important;
    align-items: stretch !important;
    margin: 0 !important;
}

/* Equal-height product cards */
.catalog-category-view .products-grid .product-item {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
}

.catalog-category-view .product-item-info {
    width: 100% !important;
    min-height: 470px !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    border: 1px solid rgba(13,27,42,0.08) !important;
    border-radius: 18px !important;
    padding: 22px !important;
    box-shadow: 0 14px 36px rgba(13,27,42,0.055) !important;
    transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease !important;
    box-sizing: border-box !important;
}

/* Much calmer hover */
.catalog-category-view .product-item-info:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(76,175,80,0.45) !important;
    box-shadow: 0 18px 44px rgba(13,27,42,0.085) !important;
}

/* Image area consistent */
.catalog-category-view .product-item-photo {
    min-height: 230px !important;
    height: 230px !important;
    margin: 0 0 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ffffff !important;
}

.catalog-category-view .product-image-photo {
    max-height: 220px !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    margin: 0 auto !important;
}

/* Product details area stretches evenly */
.catalog-category-view .product-item-details {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
}

.catalog-category-view .product-item-name {
    margin: 0 0 12px !important;
    min-height: 66px !important;
}

.catalog-category-view .product-item-link {
    color: var(--bv-navy) !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 750 !important;
    text-decoration: none !important;
}

.catalog-category-view .product-item-link:hover {
    color: var(--bv-green) !important;
}

.catalog-category-view .price-box {
    margin: 0 0 18px !important;
}

.catalog-category-view .price {
    color: var(--bv-navy) !important;
    font-size: 18px !important;
    font-weight: 900 !important;
}

/* Add to cart pinned to bottom */
.catalog-category-view .product-item-actions {
    margin-top: auto !important;
    padding-top: 18px !important;
}

.catalog-category-view .product-item-actions .actions-primary {
    display: block !important;
    width: 100% !important;
}

.catalog-category-view .product-item-actions .action.tocart {
    width: 100% !important;
    min-height: 42px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

/* If product has no add-to-cart, still keep card spacing stable */
.catalog-category-view .product-item-info .price-box:last-child {
    margin-bottom: 0 !important;
}

/* Placeholder image less ugly */
.catalog-category-view img[src*="placeholder"],
.catalog-category-view .product-image-photo[src*="placeholder"] {
    opacity: 0.18 !important;
}

/* Category bottom CTA block, if added into category content later */
.bv-category-bottom-cta {
    margin-top: 68px;
}

/* Mobile category */
@media (max-width: 980px) {
    .catalog-category-view .columns {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }

    .catalog-category-view .column.main {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .catalog-category-view .sidebar-main {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    .catalog-category-view .products-grid .product-items {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px !important;
    }
}

@media (max-width: 640px) {
    .catalog-category-view .page-title-wrapper {
        padding: 42px var(--bv-gutter) 44px !important;
        margin-bottom: 30px !important;
    }

    .catalog-category-view .page-title {
        font-size: 36px !important;
        line-height: 1.08 !important;
    }

    .catalog-category-view .toolbar-products {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .catalog-category-view .toolbar-products .sorter,
    .catalog-category-view .toolbar-products .limiter {
        justify-content: space-between !important;
    }

    .catalog-category-view .products-grid .product-items {
        grid-template-columns: 1fr !important;
    }

    .catalog-category-view .product-item-info {
        min-height: auto !important;
    }
}

/* =========================================================
CATEGORY PAGE POLISH PASS 2
Fix product cards, toolbar, filters and category hero
========================================================= */

/* Hero title with green final word effect */
.catalog-category-view .page-title {
    color: #ffffff !important;
}

.catalog-category-view .page-title span,
.catalog-category-view .page-title .base {
    color: #ffffff !important;
}

/* Not perfect, but gives the hero a BatteryVault feel */
.catalog-category-view .page-title-wrapper {
    position: relative !important;
}

.catalog-category-view .page-title-wrapper:after {
    content: "";
    display: block;
    width: 88px;
    height: 5px;
    background: var(--bv-green);
    border-radius: 999px;
    margin: 22px auto 0;
    box-shadow: 0 0 16px rgba(76,175,80,0.45);
}

/* Filter title */
.catalog-category-view .filter:before {
    content: "Filter results";
    display: block;
    color: var(--bv-green);
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin: 0 0 18px;
}

/* Cleaner filter panel */
.catalog-category-view .filter-options-title {
    border: none !important;
    padding: 13px 0 !important;
}

.catalog-category-view .filter-options-title:after {
    color: var(--bv-green) !important;
}

.catalog-category-view .filter-options-item {
    border: none !important;
    margin: 0 !important;
}

.catalog-category-view .filter-options-content {
    border: none !important;
}

/* Stop Magento adding grey divider lines inside dark filters */
.catalog-category-view .filter-options,
.catalog-category-view .filter-options-item,
.catalog-category-view .filter-options-title,
.catalog-category-view .filter-options-content {
    border-color: transparent !important;
}

/* Product grid cards should behave like normal cards, not Magento hover overlays */
.catalog-category-view .product-item-info {
    position: relative !important;
    overflow: hidden !important;
    min-height: 500px !important;
    height: 100% !important;
}

.catalog-category-view .product-item-inner {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    clip: auto !important;
    overflow: visible !important;
}

/* Kill Magento hover panel behaviour */
.catalog-category-view .product-item-info:hover .product-item-inner,
.catalog-category-view .product-item-info .product-item-inner {
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Proper product card structure */
.catalog-category-view .product-item-details {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 220px !important;
}

.catalog-category-view .product-item-name {
    min-height: 88px !important;
    margin-bottom: 14px !important;
}

.catalog-category-view .price-box {
    margin-top: auto !important;
    margin-bottom: 18px !important;
}

/* Add to cart pinned to bottom, but not floating over content */
.catalog-category-view .product-item-actions {
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.catalog-category-view .product-item-actions .actions-primary {
    width: 100% !important;
}

.catalog-category-view .product-item-actions .action.tocart {
    width: 100% !important;
    margin: 0 !important;
}

/* Remove wishlist/compare icons fully */
.catalog-category-view .actions-secondary,
.catalog-category-view .action.towishlist,
.catalog-category-view .action.tocompare,
.catalog-category-view .towishlist,
.catalog-category-view .tocompare {
    display: none !important;
}

/* Product card hover should be subtle */
.catalog-category-view .product-item-info:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 18px 42px rgba(13,27,42,0.08) !important;
}

/* Top toolbar should include amount, sort and limiter */
.catalog-category-view .toolbar-products {
    display: grid !important;
    grid-template-columns: auto auto auto !important;
    justify-content: start !important;
    align-items: center !important;
    gap: 22px !important;
}

.catalog-category-view .toolbar-products .toolbar-amount,
.catalog-category-view .toolbar-products .sorter,
.catalog-category-view .toolbar-products .limiter {
    display: flex !important;
    align-items: center !important;
}

/* Hide bottom duplicate toolbar controls */
.catalog-category-view .products.wrapper + .toolbar-products {
    display: none !important;
}

/* More consistent product image area */
.catalog-category-view .product-item-photo {
    height: 245px !important;
    min-height: 245px !important;
}

.catalog-category-view .product-image-photo {
    max-height: 235px !important;
}

/* Mobile toolbar */
@media (max-width: 640px) {
    .catalog-category-view .toolbar-products {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .catalog-category-view .toolbar-products .toolbar-amount,
    .catalog-category-view .toolbar-products .sorter,
    .catalog-category-view .toolbar-products .limiter {
        justify-content: space-between !important;
        width: 100% !important;
    }

    .catalog-category-view .product-item-info {
        min-height: auto !important;
    }

    .catalog-category-view .product-item-name {
        min-height: auto !important;
    }
}

/* Remove green underline from category hero */

.catalog-category-view .page-title-wrapper:after {
    display: none !important;
    content: none !important;
}

/* Category toolbar with moved limiter */

.catalog-category-view .toolbar-products {
    grid-template-columns: auto auto auto !important;
    justify-content: start !important;
}

.catalog-category-view .toolbar-products .limiter {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.catalog-category-view .toolbar-products .limiter label,
.catalog-category-view .toolbar-products .limiter-text {
    color: #5d6678 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

/* Category toolbar final alignment */

.catalog-category-view .toolbar-products {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    align-items: center !important;
    gap: 24px !important;
    padding: 18px 24px !important;
}

.catalog-category-view .toolbar-products .toolbar-amount {
    justify-self: start !important;
    display: block !important;
    white-space: nowrap !important;
}

.catalog-category-view .toolbar-products .toolbar-amount .toolbar-number {
    margin-right: 4px !important;
}

.catalog-category-view .toolbar-products .sorter {
    justify-self: center !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.catalog-category-view .toolbar-products .limiter {
    justify-self: end !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    white-space: nowrap !important;
}

/* Hide the little Magento sort arrow if it still looks random */
.catalog-category-view .toolbar-products .sorter-action {
    display: none !important;
}

@media (max-width: 768px) {
    .catalog-category-view .toolbar-products {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .catalog-category-view .toolbar-products .toolbar-amount,
    .catalog-category-view .toolbar-products .sorter,
    .catalog-category-view .toolbar-products .limiter {
        justify-self: stretch !important;
        width: 100% !important;
        justify-content: space-between !important;
    }
}

/* Category toolbar final fix - single clean row */

.catalog-category-view .toolbar-products {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 28px !important;
    padding: 18px 26px !important;
    flex-wrap: nowrap !important;
}

.catalog-category-view .toolbar-products .toolbar-amount,
.catalog-category-view .toolbar-products .sorter,
.catalog-category-view .toolbar-products .limiter {
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
    float: none !important;
    clear: none !important;
}

.catalog-category-view .toolbar-products .toolbar-amount {
    flex: 0 0 auto !important;
}

.catalog-category-view .toolbar-products .sorter {
    flex: 0 0 auto !important;
    gap: 10px !important;
}

.catalog-category-view .toolbar-products .limiter {
    flex: 0 0 auto !important;
    gap: 10px !important;
}

.catalog-category-view .toolbar-products .toolbar-amount .toolbar-number {
    margin-right: 5px !important;
}

.catalog-category-view .toolbar-products .limiter label,
.catalog-category-view .toolbar-products .sorter-label,
.catalog-category-view .toolbar-products .limiter-text {
    margin: 0 !important;
    color: #5d6678 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

.catalog-category-view .toolbar-products select {
    margin: 0 !important;
}

.catalog-category-view .toolbar-products .sorter-action {
    display: none !important;
}

@media (max-width: 768px) {
    .catalog-category-view .toolbar-products {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 14px !important;
    }

    .catalog-category-view .toolbar-products .toolbar-amount,
    .catalog-category-view .toolbar-products .sorter,
    .catalog-category-view .toolbar-products .limiter {
        width: 100% !important;
        justify-content: space-between !important;
    }
}

/* =========================================================
MOBILE CATEGORY PAGE FIX
Filters above products, tidy toolbar, better mobile product cards
========================================================= */

@media (max-width: 980px) {

    /* Mobile order: title > toolbar > filters > products */
    .catalog-category-view .columns {
        display: flex !important;
        flex-direction: column !important;
        gap: 28px !important;
    }

    .catalog-category-view .column.main {
        order: 1 !important;
        width: 100% !important;
    }

    .catalog-category-view .sidebar-main {
        order: 2 !important;
        width: 100% !important;
    }

    .catalog-category-view .sidebar-additional {
        display: none !important;
    }

    /* Move filters visually above products */
    .catalog-category-view .sidebar-main {
        margin-top: -10px !important;
    }

    /* Product list stays after filter block */
    .catalog-category-view .products.wrapper {
        margin-top: 28px !important;
    }
}

/* Mobile toolbar cleanup */
@media (max-width: 768px) {

    .catalog-category-view .toolbar-products {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        padding: 20px 22px !important;
        border-radius: 16px !important;
        margin-bottom: 24px !important;
    }

    .catalog-category-view .toolbar-products .toolbar-amount,
    .catalog-category-view .toolbar-products .sorter,
    .catalog-category-view .toolbar-products .limiter {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: auto 1fr !important;
        align-items: center !important;
        gap: 12px !important;
        justify-content: initial !important;
        text-align: left !important;
    }

    .catalog-category-view .toolbar-products .toolbar-amount {
        display: block !important;
        font-size: 15px !important;
        font-weight: 800 !important;
        color: #5d6678 !important;
    }

    .catalog-category-view .toolbar-products .toolbar-amount .toolbar-number {
        margin-right: 5px !important;
    }

    .catalog-category-view .toolbar-products .sorter-label,
    .catalog-category-view .toolbar-products .limiter label,
    .catalog-category-view .toolbar-products .limiter-text {
        font-size: 15px !important;
        font-weight: 800 !important;
        color: #5d6678 !important;
        margin: 0 !important;
    }

    .catalog-category-view .toolbar-products .sorter select,
    .catalog-category-view .toolbar-products .limiter select {
        justify-self: end !important;
        width: auto !important;
        min-width: 120px !important;
        height: 42px !important;
    }

    .catalog-category-view .toolbar-products .sorter-action {
        display: none !important;
    }

    /* Hide duplicate bottom toolbar completely */
    .catalog-category-view .products.wrapper + .toolbar-products {
        display: none !important;
    }

    /* Dark filter panel sits neatly above products */
    .catalog-category-view .filter {
        margin: 0 0 6px !important;
        padding: 24px 24px 18px !important;
        border-radius: 18px !important;
    }

    .catalog-category-view .filter:before {
        margin-bottom: 14px !important;
    }

    .catalog-category-view .filter-options-title {
        padding: 13px 0 !important;
    }

    /* Product card sizing on mobile */
    .catalog-category-view .products-grid .product-items {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }

    .catalog-category-view .product-item-info {
        min-height: auto !important;
        padding: 24px !important;
    }

    .catalog-category-view .product-item-photo {
        height: 240px !important;
        min-height: 240px !important;
    }

    .catalog-category-view .product-item-name {
        min-height: auto !important;
    }
}

/* =========================================================
PRODUCT PAGE STYLE
BatteryVault product detail page
========================================================= */

.catalog-product-view .breadcrumbs,
.catalog-product-view .breadcrumbs * {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Main page spacing */
.catalog-product-view .page-main {
    max-width: var(--bv-container) !important;
    padding-left: var(--bv-gutter) !important;
    padding-right: var(--bv-gutter) !important;
    padding-top: 34px !important;
    box-sizing: border-box !important;
}

/* Product top layout */
.catalog-product-view .product-info-main {
    background: #ffffff !important;
    border: 1px solid rgba(13,27,42,0.08) !important;
    border-radius: 18px !important;
    padding: 34px !important;
    box-shadow: 0 20px 55px rgba(13,27,42,0.07) !important;
    box-sizing: border-box !important;
}

.catalog-product-view .product.media {
    background: #ffffff !important;
    border: 1px solid rgba(13,27,42,0.07) !important;
    border-radius: 18px !important;
    padding: 34px !important;
    box-shadow: 0 20px 55px rgba(13,27,42,0.055) !important;
    box-sizing: border-box !important;
}

/* Product image */
.catalog-product-view .gallery-placeholder,
.catalog-product-view .fotorama,
.catalog-product-view .fotorama__stage {
    background: #ffffff !important;
    border: none !important;
    box-shadow: none !important;
}

.catalog-product-view .fotorama__img,
.catalog-product-view .gallery-placeholder img {
    object-fit: contain !important;
}

/* Product title */
.catalog-product-view .page-title-wrapper.product {
    margin: 0 0 18px !important;
}

.catalog-product-view .page-title {
    color: var(--bv-navy) !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: clamp(34px, 3.5vw, 52px) !important;
    line-height: 1.08 !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
    margin: 0 !important;
}

/* Kill review link */
.catalog-product-view .product-reviews-summary,
.catalog-product-view .reviews-actions,
.catalog-product-view .rating-summary {
    display: none !important;
}

/* Price */
.catalog-product-view .product-info-price {
    border-bottom: none !important;
    margin: 20px 0 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
}

.catalog-product-view .product-info-price .price {
    color: var(--bv-navy) !important;
    font-size: 34px !important;
    font-weight: 900 !important;
}

.catalog-product-view .stock.available,
.catalog-product-view .stock.unavailable {
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    color: var(--bv-green) !important;
}

/* SKU */
.catalog-product-view .product.attribute.sku {
    color: #5d6678 !important;
    font-size: 13px !important;
}

.catalog-product-view .product.attribute.sku strong {
    color: var(--bv-navy) !important;
}

/* Short description */
.catalog-product-view .product.attribute.overview {
    color: #5d6678 !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    margin: 22px 0 !important;
}

/* Qty and add to cart */
.catalog-product-view .box-tocart {
    margin: 26px 0 18px !important;
}

.catalog-product-view .box-tocart .field.qty {
    margin-bottom: 18px !important;
}

.catalog-product-view .box-tocart .label {
    color: var(--bv-navy) !important;
    font-weight: 800 !important;
}

.catalog-product-view .box-tocart input.qty {
    width: 74px !important;
    height: 42px !important;
    border: 1px solid rgba(13,27,42,0.14) !important;
    border-radius: 8px !important;
    text-align: center !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-weight: 700 !important;
}

.catalog-product-view .box-tocart .action.tocart {
    min-width: 260px !important;
    height: 48px !important;
    font-weight: 800 !important;
}

/* Kill wishlist / compare */
.catalog-product-view .product-social-links,
.catalog-product-view .action.towishlist,
.catalog-product-view .action.tocompare,
.catalog-product-view .towishlist,
.catalog-product-view .tocompare,
.catalog-product-view .mailto.friend {
    display: none !important;
}

/* Remove random grey lines */
.catalog-product-view hr,
.catalog-product-view .product-info-price,
.catalog-product-view .product.data.items,
.catalog-product-view .product.data.items > .item.title,
.catalog-product-view .product.data.items > .item.content {
    border-color: transparent !important;
}

/* Product tabs become visible sections */
.catalog-product-view .product.info.detailed {
    margin-top: 58px !important;
    margin-bottom: 70px !important;
}

.catalog-product-view .product.data.items {
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Hide tab labels */
.catalog-product-view .product.data.items > .item.title,
.catalog-product-view #tab-label-reviews,
.catalog-product-view #reviews,
.catalog-product-view .review-add,
.catalog-product-view .review-list {
    display: none !important;
}

/* Show content panels as normal cards */
.catalog-product-view .product.data.items > .item.content {
    display: block !important;
    float: none !important;
    margin: 0 0 26px !important;
    padding: 34px 38px !important;
    background: #ffffff !important;
    border: 1px solid rgba(13,27,42,0.08) !important;
    border-radius: 18px !important;
    box-shadow: 0 20px 55px rgba(13,27,42,0.06) !important;
}

.catalog-product-view .product.data.items > .item.content:before {
    display: block;
    color: var(--bv-green);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.catalog-product-view #description:before {
    content: "Product details";
}

.catalog-product-view #additional:before {
    content: "Technical information";
}

/* Description text */
.catalog-product-view .product.data.items p,
.catalog-product-view .product.data.items li,
.catalog-product-view .product.attribute.description {
    color: #5d6678 !important;
    font-size: 16px !important;
    line-height: 1.8 !important;
}

/* Additional information table */
.catalog-product-view .additional-attributes-wrapper table,
.catalog-product-view .additional-attributes {
    width: 100% !important;
    border: none !important;
}

.catalog-product-view .additional-attributes th,
.catalog-product-view .additional-attributes td {
    border: none !important;
    border-bottom: 1px solid rgba(13,27,42,0.08) !important;
    padding: 14px 0 !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
}

.catalog-product-view .additional-attributes th {
    color: var(--bv-navy) !important;
    font-weight: 800 !important;
    width: 34% !important;
}

.catalog-product-view .additional-attributes td {
    color: #5d6678 !important;
}

/* Bottom CTA inserted by JS */
.bv-product-bottom-cta {
    margin-top: 46px;
}

.bv-product-bottom-cta .bv-cta-with-trust {
    margin-bottom: 92px !important;
}

/* Mobile product page */
@media (max-width: 768px) {
    .catalog-product-view .page-main {
        padding-top: 24px !important;
    }

    .catalog-product-view .product.media,
    .catalog-product-view .product-info-main {
        padding: 24px !important;
        border-radius: 16px !important;
    }

    .catalog-product-view .page-title {
        font-size: 34px !important;
        line-height: 1.1 !important;
    }

    .catalog-product-view .product-info-price {
        display: block !important;
    }

    .catalog-product-view .product-info-price .price {
        font-size: 30px !important;
    }

    .catalog-product-view .box-tocart .action.tocart {
        width: 100% !important;
        min-width: 0 !important;
    }

    .catalog-product-view .product.data.items > .item.content {
        padding: 28px 22px !important;
        border-radius: 16px !important;
    }
}

/* Product page spacing polish */

.catalog-product-view .product-info-main {
    margin-bottom: 34px !important;
}

.catalog-product-view .product.info.detailed {
    margin-top: 44px !important;
}

@media (max-width: 768px) {
    .catalog-product-view .product.media {
        margin-bottom: 28px !important;
    }

    .catalog-product-view .product-info-main {
        margin-bottom: 34px !important;
    }
}

/* Magento success/error message styling */

.page.messages,
.messages {
    max-width: var(--bv-container) !important;
    margin: 22px auto 24px !important;
    padding-left: var(--bv-gutter) !important;
    padding-right: var(--bv-gutter) !important;
    box-sizing: border-box !important;
}

.message.success,
.message.notice,
.message.info,
.message.warning,
.message.error {
    border: none !important;
    border-radius: 14px !important;
    padding: 18px 22px 18px 58px !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    box-shadow: 0 18px 45px rgba(13,27,42,0.08) !important;
}

.message.success {
    background:
        radial-gradient(circle at 100% 0%, rgba(76,175,80,0.13), transparent 38%),
        #eef8ef !important;
    color: #1f6b25 !important;
}

.message.success a {
    color: var(--bv-green) !important;
    font-weight: 800 !important;
}

.message.success > *:first-child:before {
    background: var(--bv-green) !important;
    color: #ffffff !important;
    border-radius: 999px !important;
}

/* Minicart counter positioning */

.page-header .minicart-wrapper {
    position: relative !important;
}

.page-header .minicart-wrapper .counter.qty {
    position: absolute !important;
    top: -9px !important;
    right: -11px !important;
    min-width: 18px !important;
    height: 18px !important;
    padding: 0 5px !important;
    border-radius: 999px !important;
    background: var(--bv-green) !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 18px !important;
    text-align: center !important;
    box-shadow: 0 0 0 2px #ffffff !important;
    z-index: 5 !important;
}

.page-header .minicart-wrapper .counter.qty.empty {
    display: none !important;
}

.page-header .minicart-wrapper .counter-number {
    color: #ffffff !important;
    text-shadow: none !important;
}

/* =========================================================
CART / MINICART / CHECKOUT POLISH
Low-risk styling only
========================================================= */

/* Success/error messages */
.page.messages,
.messages {
    max-width: var(--bv-container) !important;
    margin: 22px auto 24px !important;
    padding-left: var(--bv-gutter) !important;
    padding-right: var(--bv-gutter) !important;
    box-sizing: border-box !important;
}

.message.success,
.message.notice,
.message.info,
.message.warning,
.message.error {
    border: none !important;
    border-radius: 14px !important;
    padding: 18px 22px 18px 58px !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    box-shadow: 0 18px 45px rgba(13,27,42,0.08) !important;
}

.message.success {
    background:
        radial-gradient(circle at 100% 0%, rgba(76,175,80,0.16), transparent 38%),
        rgba(13,27,42,0.94) !important;
    color: rgba(255,255,255,0.88) !important;
}

.message.success a {
    color: #ffffff !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
}

.message.success > *:first-child:before {
    background: var(--bv-green) !important;
    color: #ffffff !important;
    border-radius: 999px !important;
}

/* Minicart popup */
.block-minicart {
    border: none !important;
    border-radius: 16px !important;
    box-shadow: 0 24px 70px rgba(13,27,42,0.18) !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
    overflow: hidden !important;
}

.block-minicart .block-title,
.block-minicart .subtitle,
.block-minicart .items-total,
.block-minicart .subtotal {
    color: var(--bv-navy) !important;
}

.block-minicart .action.primary,
.block-minicart .action.checkout {
    background: var(--bv-green) !important;
    border-color: var(--bv-green) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    font-weight: 800 !important;
}

.block-minicart .product-item-name a {
    color: var(--bv-navy) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.block-minicart .product-item-pricing,
.block-minicart .price {
    color: var(--bv-navy) !important;
    font-weight: 800 !important;
}

/* Confirmation popup */
.modal-popup .modal-inner-wrap {
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 24px 70px rgba(13,27,42,0.22) !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
}

.modal-popup .modal-content {
    color: var(--bv-navy) !important;
    font-size: 16px !important;
}

.modal-popup .action-primary,
.modal-popup .action-accept {
    background: var(--bv-green) !important;
    border-color: var(--bv-green) !important;
    color: #ffffff !important;
    border-radius: 7px !important;
    font-weight: 800 !important;
}

/* Cart counter on trolley */
.page-header .minicart-wrapper {
    position: relative !important;
}

.page-header .minicart-wrapper .counter.qty {
    position: absolute !important;
    top: -10px !important;
    right: -12px !important;
    min-width: 19px !important;
    height: 19px !important;
    padding: 0 5px !important;
    border-radius: 999px !important;
    background: var(--bv-green) !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 19px !important;
    text-align: center !important;
    box-shadow: 0 0 0 2px #ffffff !important;
    z-index: 20 !important;
}

.page-header .minicart-wrapper .counter.qty.empty {
    display: none !important;
}

.page-header .minicart-wrapper .counter-number {
    color: #ffffff !important;
    text-shadow: none !important;
}

/* Cart page title hero */
.checkout-cart-index .page-title-wrapper {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    background:
        radial-gradient(circle at 78% 32%, rgba(76,175,80,0.20), transparent 34%),
        linear-gradient(135deg, #081529 0%, #0D1B2A 58%, #123733 100%) !important;
    padding: 48px var(--bv-gutter) 50px !important;
    margin-bottom: 42px !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

.checkout-cart-index .page-title {
    color: #ffffff !important;
    font-size: clamp(38px, 4.2vw, 58px) !important;
    line-height: 1.06 !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
    margin: 0 !important;
}

/* Cart page layout */
.checkout-cart-index .page-main {
    max-width: var(--bv-container) !important;
    padding-left: var(--bv-gutter) !important;
    padding-right: var(--bv-gutter) !important;
}

.checkout-cart-index .cart.table-wrapper,
.checkout-cart-index .cart-container .form-cart {
    border: none !important;
}

.checkout-cart-index .cart.table-wrapper table,
.checkout-cart-index .cart.table-wrapper th,
.checkout-cart-index .cart.table-wrapper td {
    border-color: rgba(13,27,42,0.08) !important;
}

.checkout-cart-index .cart.table-wrapper .product-item-name a {
    color: var(--bv-navy) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.checkout-cart-index .cart.table-wrapper .price,
.checkout-cart-index .cart.table-wrapper .subtotal {
    color: var(--bv-navy) !important;
    font-weight: 900 !important;
}

.checkout-cart-index .cart.main.actions .action.update,
.checkout-cart-index .cart.actions .action.update {
    background: var(--bv-green) !important;
    border-color: var(--bv-green) !important;
    color: #ffffff !important;
    border-radius: 7px !important;
    font-weight: 800 !important;
}

/* Cart summary as blue box */
.checkout-cart-index .cart-summary {
    background:
        radial-gradient(circle at 100% 0%, rgba(76,175,80,0.18), transparent 38%),
        var(--bv-navy) !important;
    border: none !important;
    border-radius: 18px !important;
    padding: 28px !important;
    color: #ffffff !important;
    box-shadow: 0 22px 56px rgba(13,27,42,0.13) !important;
}

.checkout-cart-index .cart-summary *,
.checkout-cart-index .cart-summary .title,
.checkout-cart-index .cart-summary .label,
.checkout-cart-index .cart-summary .amount,
.checkout-cart-index .cart-summary .price {
    color: #ffffff !important;
}

.checkout-cart-index .cart-summary a {
    color: rgba(255,255,255,0.82) !important;
}

.checkout-cart-index .cart-summary .checkout-methods-items .action.primary {
    background: var(--bv-green) !important;
    border-color: var(--bv-green) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    font-weight: 800 !important;
}

/* Discount code area */
.checkout-cart-index .cart-discount {
    background: #ffffff !important;
    border: 1px solid rgba(13,27,42,0.08) !important;
    border-radius: 14px !important;
    padding: 20px !important;
    box-shadow: 0 14px 36px rgba(13,27,42,0.05) !important;
}

.checkout-cart-index .cart-discount .title {
    color: var(--bv-navy) !important;
    font-weight: 800 !important;
}

.checkout-cart-index .cart-discount input {
    border: 1px solid rgba(13,27,42,0.14) !important;
    border-radius: 8px !important;
    height: 42px !important;
    padding: 0 14px !important;
}

.checkout-cart-index .cart-discount .action.apply {
    background: var(--bv-green) !important;
    border-color: var(--bv-green) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    font-weight: 800 !important;
}

/* =========================================================
CHECKOUT PAGE POLISH
Keep structure, improve styling
========================================================= */

.checkout-index-index .page-main {
    max-width: var(--bv-container) !important;
    padding-left: var(--bv-gutter) !important;
    padding-right: var(--bv-gutter) !important;
}

/* Make sign in less invisible */
.checkout-index-index .authentication-wrapper {
    margin-top: 20px !important;
}

.checkout-index-index .authentication-wrapper .action-auth-toggle {
    background: var(--bv-navy) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 7px !important;
    padding: 11px 18px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

/* Tone down checkout progress */
.checkout-index-index .opc-progress-bar {
    margin: 20px 0 36px !important;
}

.checkout-index-index .opc-progress-bar-item > span {
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-weight: 750 !important;
    color: #5d6678 !important;
}

.checkout-index-index .opc-progress-bar-item._active > span,
.checkout-index-index .opc-progress-bar-item._complete > span {
    color: var(--bv-navy) !important;
}

.checkout-index-index .opc-progress-bar-item._active:before,
.checkout-index-index .opc-progress-bar-item._complete:before {
    background: var(--bv-green) !important;
}

/* Checkout headings */
.checkout-index-index .step-title,
.checkout-index-index .checkout-payment-method .step-title {
    color: var(--bv-navy) !important;
    font-weight: 800 !important;
    letter-spacing: -0.025em !important;
    border-bottom: none !important;
}

/* Form fields */
.checkout-index-index input,
.checkout-index-index select,
.checkout-index-index textarea {
    border: 1px solid rgba(13,27,42,0.14) !important;
    border-radius: 8px !important;
    min-height: 42px !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
}

.checkout-index-index input:focus,
.checkout-index-index select:focus,
.checkout-index-index textarea:focus {
    border-color: var(--bv-green) !important;
    box-shadow: 0 0 0 3px rgba(76,175,80,0.14) !important;
    outline: none !important;
}

/* Checkout order summary */
.checkout-index-index .opc-block-summary {
    background:
        radial-gradient(circle at 100% 0%, rgba(76,175,80,0.18), transparent 38%),
        var(--bv-navy) !important;
    border: none !important;
    border-radius: 18px !important;
    padding: 28px !important;
    color: #ffffff !important;
    box-shadow: 0 22px 56px rgba(13,27,42,0.13) !important;
}

.checkout-index-index .opc-block-summary *,
.checkout-index-index .opc-block-summary .title,
.checkout-index-index .opc-block-summary .price {
    color: #ffffff !important;
}

.checkout-index-index .opc-block-summary a {
    color: rgba(255,255,255,0.82) !important;
}

/* Shipping/payment method cards */
.checkout-index-index .table-checkout-shipping-method,
.checkout-index-index .payment-method,
.checkout-index-index .payment-method-content {
    border-color: rgba(13,27,42,0.08) !important;
}

.checkout-index-index .payment-method-title {
    border: 1px solid rgba(13,27,42,0.08) !important;
    border-radius: 12px !important;
    margin-bottom: 10px !important;
    padding: 16px !important;
    background: #ffffff !important;
}

/* Place order */
.checkout-index-index .action.primary.checkout,
.checkout-index-index .payment-method-content .action.primary {
    background: var(--bv-green) !important;
    border-color: var(--bv-green) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    font-weight: 800 !important;
}

/* Remove some harsh grey separators */
.checkout-index-index .opc-wrapper .form-login,
.checkout-index-index .opc-wrapper .form-shipping-address,
.checkout-index-index .opc-wrapper .methods-shipping,
.checkout-index-index .opc-block-summary .items-in-cart,
.checkout-index-index .opc-block-shipping-information {
    border-color: rgba(13,27,42,0.08) !important;
}

/* Mobile checkout */
@media (max-width: 768px) {
    .checkout-index-index .opc-block-summary,
    .checkout-cart-index .cart-summary {
        border-radius: 16px !important;
        padding: 24px !important;
    }

    .checkout-index-index .authentication-wrapper {
        float: none !important;
        text-align: left !important;
        margin-bottom: 20px !important;
    }

    .checkout-index-index .opc-progress-bar {
        transform: scale(0.9);
        transform-origin: left center;
    }
}

/* =========================================================
ORDER SUCCESS / THANK YOU PAGE
========================================================= */

.checkout-onepage-success .page-main {
    max-width: none !important;
    padding: 0 !important;
}

.checkout-onepage-success .columns .column.main {
    padding-bottom: 0 !important;
}

.checkout-onepage-success .checkout-success {
    max-width: var(--bv-container) !important;
    margin: 0 auto !important;
    padding: 64px var(--bv-gutter) 80px !important;
    box-sizing: border-box !important;
}

/* Dark success hero card */

.checkout-onepage-success .checkout-success {
    position: relative !important;
}

.checkout-onepage-success .checkout-success:before {
    content: "Order confirmed";
    display: inline-block;
    color: var(--bv-green);
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 18px;
}

.checkout-onepage-success .checkout-success h1,
.checkout-onepage-success .page-title {
    color: var(--bv-navy) !important;
    font-size: clamp(40px, 4.4vw, 62px) !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
    margin: 0 0 24px !important;
}

.checkout-onepage-success .checkout-success p {
    color: #5d6678 !important;
    font-size: 17px !important;
    line-height: 1.7 !important;
    max-width: 760px !important;
    margin: 0 0 16px !important;
}

.checkout-onepage-success .checkout-success strong,
.checkout-onepage-success .checkout-success a {
    color: var(--bv-green) !important;
    font-weight: 800 !important;
}

/* Wrap the success text in a branded card feel */

.checkout-onepage-success .checkout-success {
    background:
        radial-gradient(circle at 100% 0%, rgba(76,175,80,0.12), transparent 38%),
        #ffffff !important;
    border: 1px solid rgba(13,27,42,0.08) !important;
    border-radius: 20px !important;
    box-shadow: 0 24px 70px rgba(13,27,42,0.08) !important;
    margin-top: 48px !important;
    margin-bottom: 72px !important;
}

/* Continue shopping button */

.checkout-onepage-success .checkout-success .action.primary,
.checkout-onepage-success .checkout-success .continue {
    background: var(--bv-green) !important;
    border-color: var(--bv-green) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    font-weight: 800 !important;
    padding: 15px 28px !important;
    margin-top: 14px !important;
}

/* Print receipt link */

.checkout-onepage-success .checkout-success .print,
.checkout-onepage-success a[href*="print"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--bv-navy) !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    border: 1px solid rgba(13,27,42,0.12) !important;
    border-radius: 8px !important;
    padding: 12px 18px !important;
    background: #f7fafc !important;
    margin-left: 12px !important;
}

.checkout-onepage-success a[href*="print"]:hover {
    color: var(--bv-green) !important;
    border-color: rgba(76,175,80,0.5) !important;
}

/* Add a helpful next steps box */

.checkout-onepage-success .checkout-success:after {
    content: "What happens next? We’ll email your order confirmation, review the order details, and keep you updated with delivery information where available.";
    display: block;
    margin-top: 34px;
    padding: 22px 24px;
    border-radius: 16px;
    background:
        radial-gradient(circle at 100% 0%, rgba(76,175,80,0.18), transparent 40%),
        var(--bv-navy);
    color: rgba(255,255,255,0.86);
    font-size: 16px;
    line-height: 1.7;
    max-width: 820px;
}

/* Mobile success page */

@media (max-width: 768px) {
    .checkout-onepage-success .checkout-success {
        margin-top: 28px !important;
        margin-bottom: 48px !important;
        padding: 38px 24px 46px !important;
        border-radius: 18px !important;
    }

    .checkout-onepage-success .checkout-success h1,
    .checkout-onepage-success .page-title {
        font-size: 38px !important;
        line-height: 1.08 !important;
    }

    .checkout-onepage-success .checkout-success .action.primary,
    .checkout-onepage-success .checkout-success .continue,
    .checkout-onepage-success a[href*="print"] {
        width: 100% !important;
        margin-left: 0 !important;
        margin-top: 12px !important;
        box-sizing: border-box !important;
    }
}

/* =========================================================
CUSTOMER JOURNEY FINAL POLISH
Header, messages, cart, checkout details
========================================================= */

/* Header menu and icons slightly larger */

.bv-desktop-menu a {
    font-size: 17px !important;
    font-weight: 800 !important;
}

.page-header .block-search,
.page-header .block-search::before,
.bv-account-icon,
.bv-account-icon svg,
.page-header .minicart-wrapper .action.showcart {
    width: 28px !important;
    height: 28px !important;
}

.page-header .header.content {
    gap: 34px !important;
}

/* Added to cart message alignment */

.message.success {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 18px 24px !important;
}

.message.success > *:first-child {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
}

.message.success > *:first-child:before {
    position: static !important;
    flex: 0 0 24px !important;
    width: 24px !important;
    height: 24px !important;
    line-height: 24px !important;
    margin: 0 !important;
}

.message.success a {
    color: #ffffff !important;
    font-weight: 900 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

/* Cart page: remove wishlist link */

.checkout-cart-index .action-towishlist,
.checkout-cart-index .towishlist,
.checkout-cart-index a[href*="wishlist"],
.checkout-cart-index .cart.table-wrapper .action.towishlist {
    display: none !important;
}

/* Cart discount box: stop it touching summary and make it less huge */

.checkout-cart-index .cart-discount {
    max-width: 560px !important;
    margin-top: 28px !important;
    margin-right: 34px !important;
}

.checkout-cart-index .cart-discount .payment-option-content,
.checkout-cart-index .cart-discount .fieldset {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

.checkout-cart-index .cart-discount input {
    max-width: 260px !important;
}

.checkout-cart-index .cart-discount .action.apply {
    margin-left: 0 !important;
}

/* Cart summary heading stronger */

.checkout-cart-index .cart-summary .summary.title,
.checkout-cart-index .cart-summary > .title,
.checkout-cart-index .cart-summary strong.title {
    color: #ffffff !important;
    font-weight: 900 !important;
    font-size: 28px !important;
    letter-spacing: -0.035em !important;
}

/* Checkout order summary heading stronger */

.checkout-index-index .opc-block-summary > .title,
.checkout-index-index .opc-block-summary .title {
    color: #ffffff !important;
    font-weight: 900 !important;
    font-size: 28px !important;
    letter-spacing: -0.035em !important;
}

/* Kill multishipping link if it still appears anywhere */

.multicheckout,
.checkout-cart-index a[href*="multishipping"],
.checkout-cart-index .checkout-methods-items .item a[href*="multishipping"] {
    display: none !important;
}

/* Shipping address selected border from orange to green */

.checkout-index-index .shipping-address-item.selected-item {
    border-color: var(--bv-green) !important;
}

.checkout-index-index .shipping-address-item.selected-item:after {
    background: var(--bv-green) !important;
    border-color: var(--bv-green) !important;
}

/* Shipping address card polish */

.checkout-index-index .shipping-address-item {
    border-radius: 14px !important;
    padding: 22px !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
    line-height: 1.7 !important;
}

.checkout-index-index .action.action-show-popup {
    border-radius: 7px !important;
    font-weight: 800 !important;
}

/* Shipping methods and payment method radio alignment */

.checkout-index-index input[type="radio"] {
    min-height: auto !important;
    width: 16px !important;
    height: 16px !important;
    margin: 0 12px 0 0 !important;
    vertical-align: middle !important;
    position: relative !important;
    top: 0 !important;
}

.checkout-index-index .table-checkout-shipping-method td,
.checkout-index-index .table-checkout-shipping-method th {
    vertical-align: middle !important;
    padding: 14px 12px !important;
}

.checkout-index-index .payment-method-title {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.checkout-index-index .payment-method-title input[type="radio"] {
    flex: 0 0 16px !important;
}

.checkout-index-index .payment-method-title label {
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
}

/* Payment method cards */

.checkout-index-index .payment-method-title {
    border: 1px solid rgba(13,27,42,0.10) !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    padding: 18px 20px !important;
    margin-bottom: 12px !important;
    box-shadow: 0 12px 30px rgba(13,27,42,0.04) !important;
}

.checkout-index-index .payment-method._active .payment-method-title {
    border-color: rgba(76,175,80,0.55) !important;
    box-shadow: 0 16px 38px rgba(13,27,42,0.07) !important;
}

/* Reduce harsh checkout separators */

.checkout-index-index .opc-wrapper .form-login,
.checkout-index-index .opc-wrapper .form-shipping-address,
.checkout-index-index .opc-wrapper .methods-shipping,
.checkout-index-index .checkout-payment-method .payment-methods,
.checkout-index-index .checkout-payment-method .payment-option {
    border-color: rgba(13,27,42,0.08) !important;
}

/* Make checkout sign in more obvious */

.checkout-index-index .authentication-wrapper .action-auth-toggle {
    background: var(--bv-navy) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    padding: 12px 20px !important;
    font-weight: 900 !important;
}

/* Mobile adjustments */

@media (max-width: 768px) {
    .bv-desktop-menu a {
        font-size: 16px !important;
    }

    .message.success {
        align-items: flex-start !important;
        padding: 18px 20px !important;
    }

    .checkout-cart-index .cart-discount {
        max-width: 100% !important;
        margin-right: 0 !important;
    }

    .checkout-cart-index .cart-discount .payment-option-content,
    .checkout-cart-index .cart-discount .fieldset {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .checkout-cart-index .cart-discount input {
        max-width: 100% !important;
    }

    .checkout-cart-index .cart-discount .action.apply {
        width: 100% !important;
    }

    .checkout-index-index .payment-method-title {
        align-items: center !important;
    }
}

/* =========================================================
FINAL CHECKOUT / CART / SUCCESS POLISH
========================================================= */

/* Added to basket bar: remove ugly underline, align cleanly */

.message.success a {
    text-decoration: none !important;
    border-bottom: 2px solid rgba(255,255,255,0.55) !important;
    padding-bottom: 1px !important;
}

.message.success a:hover {
    color: var(--bv-green) !important;
    border-bottom-color: var(--bv-green) !important;
}

.message.success {
    max-width: var(--bv-container) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.message.success > *:first-child {
    width: 100% !important;
}

/* Empty cart page */

.checkout-cart-index .cart-empty {
    max-width: 760px !important;
    margin: 48px auto 80px !important;
    padding: 42px 44px !important;
    background:
        radial-gradient(circle at 100% 0%, rgba(76,175,80,0.16), transparent 38%),
        var(--bv-navy) !important;
    border-radius: 18px !important;
    box-shadow: 0 22px 56px rgba(13,27,42,0.13) !important;
    color: #ffffff !important;
    text-align: center !important;
}

.checkout-cart-index .cart-empty p {
    color: rgba(255,255,255,0.84) !important;
    font-size: 17px !important;
    line-height: 1.65 !important;
    margin: 0 0 14px !important;
}

.checkout-cart-index .cart-empty p:first-child {
    color: #ffffff !important;
    font-size: 28px !important;
    font-weight: 850 !important;
    letter-spacing: -0.035em !important;
    margin-bottom: 12px !important;
}

.checkout-cart-index .cart-empty a {
    color: #ffffff !important;
    font-weight: 850 !important;
    text-decoration: none !important;
    border-bottom: 2px solid var(--bv-green) !important;
}

.checkout-cart-index .cart-empty:after {
    content: "Not sure which battery you need? Use Find My Battery and we’ll help identify the correct replacement from a few photos.";
    display: block;
    margin-top: 24px;
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,0.16);
    color: rgba(255,255,255,0.78);
    font-size: 15px;
    line-height: 1.65;
}

/* Update shopping cart button font */

.checkout-cart-index .cart.main.actions .action.update,
.checkout-cart-index .cart.actions .action.update,
.checkout-cart-index button[name="update_cart_action"] {
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    letter-spacing: -0.01em !important;
}

/* Discount code alignment on cart and checkout */

.checkout-cart-index .cart-discount .payment-option-content,
.checkout-cart-index .cart-discount .fieldset,
.checkout-index-index .payment-option-content,
.checkout-index-index .payment-option-inner,
.checkout-index-index .discount-code .payment-option-content {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

.checkout-cart-index .cart-discount input,
.checkout-index-index .discount-code input,
.checkout-index-index .payment-option-content input {
    height: 44px !important;
    margin: 0 !important;
}

.checkout-cart-index .cart-discount .action.apply,
.checkout-index-index .discount-code .action.apply,
.checkout-index-index .payment-option-content .action.apply {
    height: 44px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--bv-green) !important;
    border-color: var(--bv-green) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-weight: 850 !important;
}

/* Stop checkout discount area looking like an afterthought */

.checkout-index-index .payment-option {
    padding-top: 22px !important;
}

.checkout-index-index .payment-option-title {
    color: var(--bv-navy) !important;
    font-weight: 750 !important;
}

/* Shipping page next button: stop it floating weirdly */

.checkout-index-index .actions-toolbar {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    margin-top: 28px !important;
}

.checkout-index-index .actions-toolbar .primary {
    float: none !important;
}

.checkout-index-index .actions-toolbar .primary .action,
.checkout-index-index .button.action.continue.primary {
    min-width: 140px !important;
    height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-weight: 850 !important;
}

/* Radio button alignment, shipping and payment */

.checkout-index-index .table-checkout-shipping-method input[type="radio"],
.checkout-index-index .payment-method-title input[type="radio"] {
    margin: 0 14px 0 0 !important;
    transform: translateY(1px) !important;
}

.checkout-index-index .table-checkout-shipping-method tr,
.checkout-index-index .table-checkout-shipping-method td {
    vertical-align: middle !important;
}

.checkout-index-index .payment-method-title {
    display: flex !important;
    align-items: center !important;
}

/* Thank you page: hero title blue bar */

.checkout-onepage-success .page-title-wrapper {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    background:
        radial-gradient(circle at 78% 32%, rgba(76,175,80,0.20), transparent 34%),
        linear-gradient(135deg, #081529 0%, #0D1B2A 58%, #123733 100%) !important;
    padding: 48px var(--bv-gutter) 50px !important;
    margin-bottom: 44px !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

.checkout-onepage-success .page-title {
    color: #ffffff !important;
    font-size: clamp(38px, 4.2vw, 58px) !important;
    line-height: 1.06 !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
    margin: 0 auto !important;
}

/* Thank you page: keep print receipt near the card, not stranded in Narnia */

.checkout-onepage-success a[href*="print"] {
    margin: 0 0 24px auto !important;
    max-width: 180px !important;
}

.checkout-onepage-success .checkout-success {
    margin-top: 0 !important;
}

/* Remove weird broken symbol in next steps text by replacing the pseudo content */

.checkout-onepage-success .checkout-success:after {
    content: "What happens next? We'll email your order confirmation, review the order details, and keep you updated with delivery information where available." !important;
}

/* Mobile final checkout polish */

@media (max-width: 768px) {
    .checkout-cart-index .cart-empty {
        margin: 32px var(--bv-gutter) 54px !important;
        padding: 34px 24px !important;
    }

    .checkout-cart-index .cart-empty p:first-child {
        font-size: 24px !important;
    }

    .checkout-cart-index .cart-discount .payment-option-content,
    .checkout-cart-index .cart-discount .fieldset,
    .checkout-index-index .payment-option-content,
    .checkout-index-index .payment-option-inner,
    .checkout-index-index .discount-code .payment-option-content {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .checkout-cart-index .cart-discount input,
    .checkout-index-index .discount-code input,
    .checkout-index-index .payment-option-content input,
    .checkout-cart-index .cart-discount .action.apply,
    .checkout-index-index .discount-code .action.apply,
    .checkout-index-index .payment-option-content .action.apply {
        width: 100% !important;
        max-width: 100% !important;
    }

    .checkout-index-index .actions-toolbar {
        justify-content: stretch !important;
    }

    .checkout-index-index .actions-toolbar .primary,
    .checkout-index-index .actions-toolbar .primary .action,
    .checkout-index-index .button.action.continue.primary {
        width: 100% !important;
    }

    .checkout-onepage-success a[href*="print"] {
        max-width: none !important;
        width: 100% !important;
        margin: 0 0 18px 0 !important;
    }
}

/* =========================================================
FINAL CART HEADER / DISCOUNT / MESSAGE POLISH
========================================================= */

/* Header nav and icons bigger */

.bv-desktop-menu a,
.page-header .navigation a,
.page-header .sections.nav-sections a {
    font-size: 18px !important;
    font-weight: 850 !important;
}

.page-header .block-search,
.page-header .minicart-wrapper,
.page-header .customer-welcome,
.page-header .authorization-link,
.page-header .header.links {
    font-size: 18px !important;
}

.page-header .minicart-wrapper .action.showcart:before,
.page-header .block-search .label:before,
.page-header .customer-welcome .action.switch:before,
.page-header .authorization-link a:before {
    font-size: 26px !important;
}

/* Added to basket bar, remove underline and random dot after link */

.message.success a,
.message.success a:visited {
    text-decoration: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    color: #ffffff !important;
    font-weight: 900 !important;
}

.message.success a:hover {
    color: var(--bv-green) !important;
}

.message.success {
    overflow: hidden !important;
}

.message.success div,
.message.success span,
.message.success p {
    text-decoration: none !important;
}

/* Try to suppress Magento punctuation/spacing weirdness after link */
.message.success a + span,
.message.success a + small {
    display: none !important;
}

/* Shopping cart table text size and strength */

.checkout-cart-index .cart.table-wrapper th,
.checkout-cart-index .cart.table-wrapper td,
.checkout-cart-index .cart.table-wrapper .col {
    font-size: 16px !important;
}

.checkout-cart-index .cart.table-wrapper th {
    color: var(--bv-navy) !important;
    font-weight: 900 !important;
}

.checkout-cart-index .cart.table-wrapper .product-item-name a,
.checkout-cart-index .cart.table-wrapper .price,
.checkout-cart-index .cart.table-wrapper .subtotal,
.checkout-cart-index .cart.table-wrapper .col.price,
.checkout-cart-index .cart.table-wrapper .col.qty,
.checkout-cart-index .cart.table-wrapper .col.subtotal {
    font-size: 18px !important;
    font-weight: 850 !important;
}

/* Kill cart grey lines */

.checkout-cart-index .cart.table-wrapper,
.checkout-cart-index .cart.table-wrapper table,
.checkout-cart-index .cart.table-wrapper thead,
.checkout-cart-index .cart.table-wrapper tbody,
.checkout-cart-index .cart.table-wrapper tr,
.checkout-cart-index .cart.table-wrapper th,
.checkout-cart-index .cart.table-wrapper td,
.checkout-cart-index .cart.item {
    border: none !important;
}

.checkout-cart-index .cart.table-wrapper .item-actions,
.checkout-cart-index .cart.table-wrapper .actions-toolbar,
.checkout-cart-index .cart.main.actions {
    border: none !important;
}

/* Cart edit/delete icons slightly cleaner */

.checkout-cart-index .cart.table-wrapper .action-edit,
.checkout-cart-index .cart.table-wrapper .action-delete {
    color: #5d6678 !important;
}

.checkout-cart-index .cart.table-wrapper .action-edit:hover,
.checkout-cart-index .cart.table-wrapper .action-delete:hover {
    color: var(--bv-green) !important;
}

/* Discount headings green on cart and checkout */

.checkout-cart-index .cart-discount .title,
.checkout-cart-index .cart-discount .title strong,
.checkout-index-index .payment-option-title,
.checkout-index-index .payment-option-title span,
.checkout-index-index .discount-code .payment-option-title {
    color: var(--bv-green) !important;
    font-weight: 850 !important;
}

/* Discount form alignment, cart page */

.checkout-cart-index .cart-discount {
    max-width: 520px !important;
    padding: 22px 24px !important;
}

.checkout-cart-index .cart-discount .content {
    margin-top: 14px !important;
}

.checkout-cart-index .cart-discount .fieldset,
.checkout-cart-index .cart-discount .payment-option-content {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: nowrap !important;
}

.checkout-cart-index .cart-discount .field {
    margin: 0 !important;
}

.checkout-cart-index .cart-discount .control {
    margin: 0 !important;
}

.checkout-cart-index .cart-discount input {
    width: 260px !important;
    height: 44px !important;
    margin: 0 !important;
}

.checkout-cart-index .cart-discount .actions-toolbar,
.checkout-cart-index .cart-discount .primary {
    margin: 0 !important;
    padding: 0 !important;
}

.checkout-cart-index .cart-discount .action.apply {
    height: 44px !important;
    min-width: 160px !important;
    margin: 0 !important;
    padding: 0 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--bv-green) !important;
    border-color: var(--bv-green) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 850 !important;
}

/* Discount form alignment, checkout payment page */

.checkout-index-index .payment-option-content {
    margin-top: 14px !important;
}

.checkout-index-index .payment-option-content .form-discount,
.checkout-index-index .discount-code .payment-option-content .form-discount,
.checkout-index-index .payment-option-content .fieldset {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: nowrap !important;
}

.checkout-index-index .payment-option-content .field {
    margin: 0 !important;
}

.checkout-index-index .payment-option-content .control {
    margin: 0 !important;
}

.checkout-index-index .payment-option-content input {
    width: 300px !important;
    height: 44px !important;
    margin: 0 !important;
}

.checkout-index-index .payment-option-content .actions-toolbar,
.checkout-index-index .payment-option-content .primary {
    margin: 0 !important;
    padding: 0 !important;
}

.checkout-index-index .payment-option-content .action.apply {
    height: 44px !important;
    min-width: 150px !important;
    margin: 0 !important;
    padding: 0 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--bv-green) !important;
    border-color: var(--bv-green) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 850 !important;
}

/* Mobile discount forms */

@media (max-width: 768px) {
    .bv-desktop-menu a,
    .page-header .navigation a,
    .page-header .sections.nav-sections a {
        font-size: 17px !important;
    }

    .checkout-cart-index .cart-discount .fieldset,
    .checkout-cart-index .cart-discount .payment-option-content,
    .checkout-index-index .payment-option-content .form-discount,
    .checkout-index-index .discount-code .payment-option-content .form-discount,
    .checkout-index-index .payment-option-content .fieldset {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .checkout-cart-index .cart-discount input,
    .checkout-cart-index .cart-discount .action.apply,
    .checkout-index-index .payment-option-content input,
    .checkout-index-index .payment-option-content .action.apply {
        width: 100% !important;
        min-width: 0 !important;
    }

    .checkout-cart-index .cart.table-wrapper .product-item-name a,
    .checkout-cart-index .cart.table-wrapper .price,
    .checkout-cart-index .cart.table-wrapper .subtotal {
        font-size: 17px !important;
    }
}

/* =========================================================
HEADER / CHECKOUT FINAL CORRECTIONS
========================================================= */

/* Header nav: bigger, not stupidly bold */

.bv-desktop-menu a,
.page-header .navigation a,
.page-header .sections.nav-sections a {
    font-size: 20px !important;
    font-weight: 750 !important;
    letter-spacing: -0.015em !important;
}

/* Header icons: bigger and more confident */

.page-header .block-search .label:before,
.page-header .minicart-wrapper .action.showcart:before,
.page-header .customer-welcome .action.switch:before,
.page-header .authorization-link a:before {
    font-size: 30px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

/* Custom SVG/header icons if used */

.bv-header-icons svg,
.bv-account-icon svg,
.bv-cart-icon svg,
.bv-search-icon svg {
    width: 30px !important;
    height: 30px !important;
    stroke-width: 2.4 !important;
}

/* Basket counter: force visible green bubble */

.page-header .minicart-wrapper {
    position: relative !important;
    overflow: visible !important;
}

.page-header .minicart-wrapper .counter.qty {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    top: -12px !important;
    right: -13px !important;
    min-width: 20px !important;
    height: 20px !important;
    padding: 0 6px !important;
    border-radius: 999px !important;
    background: var(--bv-green) !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 20px !important;
    box-shadow: 0 0 0 2px #ffffff !important;
    z-index: 999 !important;
}

.page-header .minicart-wrapper .counter.qty.empty {
    display: none !important;
}

.page-header .minicart-wrapper .counter-number,
.page-header .minicart-wrapper .counter-label {
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

/* Checkout next button: left align instead of floating oddly */

.checkout-index-index .actions-toolbar {
    justify-content: flex-start !important;
    margin-top: 28px !important;
}

.checkout-index-index .actions-toolbar .primary {
    float: none !important;
    margin-left: 0 !important;
}

.checkout-index-index .button.action.continue.primary,
.checkout-index-index .actions-toolbar .primary .action {
    margin-left: 0 !important;
}

/* Checkout discount: make it behave properly */

.checkout-index-index .payment-option {
    max-width: 560px !important;
    margin-top: 26px !important;
}

.checkout-index-index .payment-option-title {
    color: var(--bv-green) !important;
    font-weight: 800 !important;
    margin-bottom: 12px !important;
}

/* Default closed unless Magento marks it active */
.checkout-index-index .payment-option-content {
    margin-top: 12px !important;
}

.checkout-index-index .payment-option:not(._active) .payment-option-content {
    display: none !important;
}

/* When open, align input and button */

.checkout-index-index .payment-option._active .payment-option-content,
.checkout-index-index .payment-option._active .form-discount,
.checkout-index-index .payment-option._active .fieldset {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: nowrap !important;
}

.checkout-index-index .payment-option._active .field,
.checkout-index-index .payment-option._active .control,
.checkout-index-index .payment-option._active .actions-toolbar,
.checkout-index-index .payment-option._active .primary {
    margin: 0 !important;
    padding: 0 !important;
}

.checkout-index-index .payment-option._active input {
    width: 300px !important;
    height: 44px !important;
    margin: 0 !important;
}

.checkout-index-index .payment-option._active .action.apply {
    height: 44px !important;
    min-width: 160px !important;
    margin: 0 !important;
    padding: 0 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--bv-green) !important;
    border-color: var(--bv-green) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

/* Cart page discount button font fix */

.checkout-cart-index .cart-discount .action.apply {
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-weight: 800 !important;
    font-size: 14px !important;
}

/* Mobile */

@media (max-width: 768px) {
    .bv-desktop-menu a,
    .page-header .navigation a,
    .page-header .sections.nav-sections a {
        font-size: 18px !important;
        font-weight: 750 !important;
    }

    .page-header .block-search .label:before,
    .page-header .minicart-wrapper .action.showcart:before,
    .page-header .customer-welcome .action.switch:before,
    .page-header .authorization-link a:before {
        font-size: 30px !important;
    }

    .checkout-index-index .payment-option {
        max-width: 100% !important;
    }

    .checkout-index-index .payment-option._active .payment-option-content,
    .checkout-index-index .payment-option._active .form-discount,
    .checkout-index-index .payment-option._active .fieldset {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .checkout-index-index .payment-option._active input,
    .checkout-index-index .payment-option._active .action.apply {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* Final desktop header sizing */

@media (min-width: 769px) {
    .bv-desktop-menu a,
    .page-header .navigation a,
    .page-header .sections.nav-sections a {
        font-size: 28px !important;
        font-weight: 700 !important;
        letter-spacing: -0.02em !important;
    }

    .page-header .header.content {
        gap: 42px !important;
    }
}

/* Force minicart quantity badge visible */

.page-header .minicart-wrapper .action.showcart {
    position: relative !important;
    overflow: visible !important;
}

.page-header .minicart-wrapper .counter.qty {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    top: -14px !important;
    right: -16px !important;
    min-width: 22px !important;
    height: 22px !important;
    padding: 0 6px !important;
    border-radius: 999px !important;
    background: #4CAF50 !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 22px !important;
    text-align: center !important;
    box-shadow: 0 0 0 3px #ffffff !important;
    z-index: 9999 !important;
}

.page-header .minicart-wrapper .counter.qty.empty {
    display: none !important;
    visibility: hidden !important;
}

.page-header .minicart-wrapper .counter-number {
    display: block !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 22px !important;
}

.page-header .minicart-wrapper .counter-label {
    display: none !important;
}