﻿/*
 * Econsument clean design layer.
 * This file intentionally loads after app.css to bring the visual system back
 * to one consistent set of colors, typography, spacing, cards and controls.
 */
:root {
    --ec-blue: #225FBD;
    --ec-blue-hover: #0E5A89;
    --ec-green: #225FBD;
    --ec-ink: #09243F;
    --ec-text: #283B50;
    --ec-muted: #5E7084;
    --ec-bg: #F3F7FA;
    --ec-panel: #FFFFFF;
    --ec-soft: #F8FBFD;
    --ec-line: #D3E0EA;
    --ec-line-strong: #B8C9DA;
    --ec-star: #F59E0B;
    --ec-radius: 10px;
    --ec-radius-sm: 7px;
    --ec-shadow: 0 8px 22px rgba(8, 35, 62, .07);
    --ec-font: "Poppins", "Helvetica Neue", Arial, sans-serif;
}

/* Final alignment lock: mobile product blocks use one column and one width. */
@media (max-width: 760px) {
    body .product-hero > *,
    body .product-summary,
    body .best-price,
    body .price-alert-card {
        box-sizing: border-box !important;
        max-width: 100% !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    body .best-price {
        display: grid !important;
        gap: 10px !important;
        margin: 0 !important;
        padding: 16px !important;
    }

    body .best-price > a {
        align-items: center !important;
        color: #fff !important;
        display: flex !important;
        justify-content: center !important;
        min-height: 52px !important;
        width: 100% !important;
    }

    body .best-price-benefits {
        display: grid !important;
        gap: 8px !important;
    }

    body .best-price-benefits span {
        align-items: center !important;
        display: flex !important;
        gap: 8px !important;
        min-width: 0 !important;
    }

    body .product-summary {
        padding: 14px !important;
    }

    body .product-summary h1 {
        font-size: clamp(24px, 7.4vw, 32px) !important;
        max-width: 100% !important;
    }

    body .product-action-bar {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body .product-action-bar button {
        align-items: center !important;
        display: flex !important;
        gap: 8px !important;
        justify-content: center !important;
        padding: 0 8px !important;
        white-space: nowrap !important;
    }

    body .product-action-bar button .ui-icon {
        flex: 0 0 34px !important;
        height: 34px !important;
        width: 34px !important;
    }

    body .rating-card.rating-card-wide {
        grid-template-columns: 82px minmax(0, 1fr) !important;
        padding: 10px !important;
    }

    body .rating-score-block strong {
        font-size: 34px !important;
    }

    body .rating-review-block {
        min-width: 0 !important;
    }

    body .rating-review-block .review-stars {
        align-items: flex-start !important;
        display: grid !important;
        gap: 4px !important;
    }

    body .breadcrumbs,
    body .product-summary .breadcrumbs {
        margin-bottom: 14px !important;
    }
}
/* Final mobile/product polish: full-width images, clean overflow, calmer borders. */
:root {
    --line-soft-final: rgba(16, 48, 79, .10);
    --line-softer-final: rgba(16, 48, 79, .07);
}

body .product-hero,
body .product-tools,
body .detail-layout,
body .related-products,
body .offers-table,
body .spec-card,
body .price-intelligence,
body article.product-card,
body .product-gallery-main,
body .product-media,
body .breadcrumbs,
body .category-tabs,
body .listing-heading,
body .compare-intro,
body .page-shell {
    border-color: var(--line-soft-final) !important;
}

body article.product-card,
body .product-hero,
body .product-tools,
body .detail-layout,
body .related-products,
body .offers-table,
body .spec-card,
body .price-alert-card {
    box-shadow: 0 10px 28px rgba(16, 48, 79, .045) !important;
}

body .price-history-card,
body .price-history,
body .product-price-history,
body [data-price-history] {
    display: none !important;
}

body .review-stars .stars,
body article.product-card .review-stars .stars,
body .rating-review-block .review-stars .stars {
    color: #ff7a1a !important;
    font-size: 20px !important;
    letter-spacing: 1px !important;
    line-height: 1 !important;
}

body article.product-card .price-panel a,
body .related-products article.product-card .price-panel a,
body .sticky-product-cta a,
body .best-price a,
body .mobile-image-buy-link {
    color: #fff !important;
}

body article.product-card .price-panel a *,
body .sticky-product-cta a *,
body .best-price a *,
body .mobile-image-buy-link * {
    color: #fff !important;
    fill: none !important;
    stroke: currentColor !important;
}

@media (max-width: 760px) {
    html,
    body {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    body .page-shell,
    body .home-shell,
    body .product-hero,
    body .product-tools,
    body .detail-layout,
    body .related-products,
    body .offers-table,
    body .spec-card,
    body .price-intelligence {
        box-sizing: border-box !important;
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: calc(100% - 24px) !important;
        width: calc(100% - 24px) !important;
    }

    body .product-hero {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        overflow: hidden !important;
        padding: 12px !important;
    }

    body .product-media {
        box-sizing: border-box !important;
        padding: 10px !important;
        width: 100% !important;
    }

    body .product-media-badge {
        left: 14px !important;
        top: 14px !important;
        z-index: 2 !important;
    }

    body .product-gallery-main {
        background: #fff !important;
        border-color: var(--line-soft-final) !important;
        min-height: 390px !important;
        overflow: hidden !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body .product-gallery-main img,
    body .product-media img {
        display: block !important;
        height: 390px !important;
        max-height: 390px !important;
        max-width: 100% !important;
        object-fit: contain !important;
        object-position: center !important;
        width: 100% !important;
    }

    body .product-gallery-zoom {
        left: 14px !important;
        right: auto !important;
    }

    body .mobile-image-buy-link {
        bottom: 16px !important;
        min-height: 48px !important;
        padding: 0 22px !important;
        right: 16px !important;
    }

    body .product-gallery-controls {
        grid-template-columns: 48px 1fr 48px !important;
        width: 100% !important;
    }

    body .product-thumbs {
        display: grid !important;
        gap: 10px !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        width: 100% !important;
    }

    body .product-thumbs button {
        height: 78px !important;
        width: 100% !important;
    }

    body .product-thumbs img {
        height: 100% !important;
        object-fit: contain !important;
        width: 100% !important;
    }

    body .product-summary,
    body .product-summary *,
    body .detail-layout,
    body .detail-layout *,
    body .related-products,
    body .related-products * {
        min-width: 0 !important;
    }

    body .product-summary h1 {
        font-size: clamp(25px, 8vw, 34px) !important;
        line-height: 1.08 !important;
        overflow-wrap: anywhere !important;
    }

    body .product-summary p {
        overflow-wrap: anywhere !important;
    }

    body .breadcrumbs,
    body .product-summary .breadcrumbs,
    body .compare-intro .breadcrumbs {
        align-items: center !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        padding: 6px !important;
        scrollbar-width: none !important;
        white-space: nowrap !important;
        width: 100% !important;
    }

    body .breadcrumbs::-webkit-scrollbar,
    body .product-summary .breadcrumbs::-webkit-scrollbar,
    body .compare-intro .breadcrumbs::-webkit-scrollbar {
        display: none !important;
    }

    body .breadcrumbs a,
    body .breadcrumbs strong {
        flex: 0 0 auto !important;
        max-width: none !important;
    }

    body .product-action-bar {
        display: grid !important;
        gap: 8px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
    }

    body .product-action-bar button {
        min-width: 0 !important;
        width: 100% !important;
    }

    body .rating-card.rating-card-wide {
        grid-template-columns: 86px minmax(0, 1fr) !important;
        width: 100% !important;
    }

    body .rating-review-block .review-stars .stars,
    body .review-stars .stars,
    body article.product-card .review-stars .stars {
        font-size: 22px !important;
    }

    body .related-products .deal-grid {
        display: grid !important;
        gap: 14px !important;
        grid-template-columns: 1fr !important;
    }

    body .related-products article.product-card,
    body article.product-card {
        overflow: hidden !important;
    }

    body .related-products article.product-card .product-image,
    body article.product-card .product-image {
        min-height: 260px !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body .related-products article.product-card .product-image img,
    body article.product-card .product-image img {
        height: 260px !important;
        max-height: none !important;
        max-width: 100% !important;
        object-fit: contain !important;
        width: 100% !important;
    }

    body .offer-row {
        border-color: var(--line-softer-final) !important;
        grid-template-columns: 1fr !important;
    }

    body .offer-row > a {
        color: #fff !important;
        justify-self: stretch !important;
        width: 100% !important;
    }
}

/* Final mobile catalog override: loaded last on purpose. */
@media (max-width: 760px) {
    html,
    body {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    *,
    *::before,
    *::after {
        box-sizing: border-box !important;
    }

    body .site-header {
        max-width: 100vw !important;
        overflow: hidden !important;
        padding: 10px 12px 12px !important;
        width: 100vw !important;
    }

    body .site-header .header-main {
        display: grid !important;
        gap: 10px !important;
        grid-template-columns: minmax(0, 1fr) 44px !important;
        max-width: calc(100vw - 24px) !important;
        min-width: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
        width: calc(100vw - 24px) !important;
    }

    body .site-header .brand,
    body .site-header .brand-logo {
        min-width: 0 !important;
        overflow: hidden !important;
        width: 100% !important;
    }

    body .site-header .brand-logo img,
    body .site-header .logo img {
        display: block !important;
        height: auto !important;
        max-height: 38px !important;
        max-width: min(210px, calc(100vw - 88px)) !important;
        object-fit: contain !important;
        width: auto !important;
    }

    body .site-header .mobile-menu-toggle {
        display: inline-flex !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
        height: 44px !important;
        justify-self: end !important;
        margin: 0 !important;
        position: static !important;
        width: 44px !important;
    }

    body .site-header .top-search {
        display: grid !important;
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        grid-template-columns: minmax(0, 1fr) 42px !important;
        max-width: 100% !important;
        min-height: 52px !important;
        min-width: 0 !important;
        overflow: hidden !important;
        padding: 4px !important;
        width: 100% !important;
    }

    body .site-header .top-search input {
        font-size: 15px !important;
        height: 44px !important;
        min-width: 0 !important;
        overflow: hidden !important;
        padding: 0 12px !important;
        text-overflow: ellipsis !important;
        width: 100% !important;
    }

    body .site-header .top-search button {
        align-items: center !important;
        border-radius: 9px !important;
        color: transparent !important;
        display: inline-flex !important;
        flex: 0 0 42px !important;
        font-size: 0 !important;
        height: 42px !important;
        justify-content: center !important;
        min-width: 42px !important;
        overflow: hidden !important;
        padding: 0 !important;
        position: relative !important;
        text-indent: -999px !important;
        width: 42px !important;
    }

    body .site-header .top-search button::before {
        border: 2px solid #fff !important;
        border-radius: 50% !important;
        box-shadow: 8px 8px 0 -6px #fff !important;
        content: "" !important;
        height: 16px !important;
        position: absolute !important;
        text-indent: 0 !important;
        transform: rotate(-10deg) !important;
        width: 16px !important;
    }

    body .site-header .header-main .main-nav {
        display: flex !important;
        gap: 8px !important;
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
        justify-content: flex-end !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body .site-header .header-main .main-nav .nav-prices {
        display: none !important;
    }

    body .site-header .header-main .main-nav .nav-counter {
        height: 40px !important;
        min-width: 68px !important;
        padding: 0 9px !important;
        white-space: nowrap !important;
    }

    body .page-shell,
    body .home-shell {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    body .compare-intro,
    body .listing-heading {
        border-radius: 12px !important;
        margin: 12px 0 !important;
        padding: 18px !important;
    }

    body .listing-heading .eyebrow {
        display: none !important;
    }

    body .compare-intro h1,
    body .listing-heading h1,
    body .listing-heading h2 {
        font-size: 28px !important;
        line-height: 1.08 !important;
        margin: 0 !important;
    }

    body .compare-intro p,
    body .listing-heading p {
        font-size: 15px !important;
        line-height: 1.4 !important;
        margin: 8px 0 0 !important;
    }

    body .category-tabs {
        display: flex !important;
        gap: 8px !important;
        margin: 0 0 12px !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        padding: 8px !important;
        white-space: nowrap !important;
    }

    body .category-tabs a {
        flex: 0 0 auto !important;
        font-size: 14px !important;
        height: 42px !important;
        min-width: auto !important;
        padding: 0 14px !important;
    }

    body .listing-heading .sort-box {
        margin-top: 14px !important;
        width: 100% !important;
    }

    body .listing-heading .sort-box > span {
        display: none !important;
    }

    body .sort-links,
    body .sort-tabs {
        display: grid !important;
        gap: 6px !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        padding: 6px !important;
        width: 100% !important;
    }

    body .sort-links a,
    body .sort-tabs button {
        font-size: 13px !important;
        height: 42px !important;
        line-height: 1.1 !important;
        min-width: 0 !important;
        padding: 0 8px !important;
        text-align: center !important;
        white-space: normal !important;
    }

    body .listing-layout {
        display: grid !important;
        gap: 12px !important;
        grid-template-columns: 1fr !important;
        margin-top: 12px !important;
    }

    body .filters {
        border-radius: 12px !important;
        margin: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        position: static !important;
        top: auto !important;
        width: 100% !important;
    }

    body .filters .filter-head {
        align-items: center !important;
        background: #225FBD !important;
        border-bottom: 3px solid #f5c84c !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        min-height: 58px !important;
        padding: 0 12px !important;
    }

    body .filters .filter-head strong {
        color: #fff !important;
        font-size: 22px !important;
    }

    body .filters .filter-head span {
        align-items: center !important;
        display: flex !important;
        gap: 8px !important;
        justify-content: flex-end !important;
    }

    body .filters .filter-head a {
        color: #fff !important;
        font-size: 13px !important;
        font-weight: 800 !important;
    }

    body .filters .filter-toggle {
        background: #fff !important;
        border: 1px solid rgba(255,255,255,.82) !important;
        border-radius: 10px !important;
        color: #0b3554 !important;
        display: inline-flex !important;
        font-size: 14px !important;
        font-weight: 850 !important;
        height: 42px !important;
        justify-content: center !important;
        min-width: 118px !important;
        opacity: 1 !important;
        padding: 0 12px !important;
        text-indent: 0 !important;
        white-space: nowrap !important;
    }

    body .filters:not(.is-open) form > section,
    body .filters:not(.is-open) form > button[type="submit"] {
        display: none !important;
    }

    body .filters.is-open form > section {
        display: block !important;
        padding: 15px 18px !important;
    }

    body .filters h3 {
        font-size: 20px !important;
        margin: 0 0 12px !important;
    }

    body .filters label {
        font-size: 15px !important;
        min-height: 38px !important;
    }

    body .filters form > button[type="submit"] {
        margin: 12px 18px 18px !important;
        width: calc(100% - 36px) !important;
    }

    body .listing-results {
        margin: 0 !important;
        max-width: 100% !important;
        min-width: 0 !important;
        width: 100% !important;
    }
}

/* Mobile catalog repair: compact header, listing controls and filter panel. */
@media (max-width: 760px) {
    *,
    *::before,
    *::after {
        box-sizing: border-box !important;
    }

    body .site-header {
        max-width: 100vw !important;
        overflow: hidden !important;
        padding: 10px 12px 12px !important;
        width: 100vw !important;
    }

    body .site-header .header-main {
        grid-template-columns: minmax(0, 1fr) 44px !important;
        max-width: calc(100vw - 24px) !important;
        overflow: hidden !important;
        width: calc(100vw - 24px) !important;
    }

    body .site-header .brand-logo img,
    body .site-header .logo img {
        max-height: 38px !important;
        max-width: min(210px, calc(100vw - 88px)) !important;
    }

    body .site-header .mobile-menu-toggle {
        height: 44px !important;
        width: 44px !important;
    }

    body .site-header .top-search {
        grid-template-columns: minmax(0, 1fr) 42px !important;
        max-width: 100% !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    body .site-header .top-search input {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body .site-header .top-search button {
        flex: 0 0 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        width: 42px !important;
    }

    body .site-header .top-search button::before {
        content: "" !important;
        height: 16px !important;
        width: 16px !important;
        border: 2px solid #fff !important;
        border-radius: 50% !important;
        box-shadow: 8px 8px 0 -6px #fff !important;
        transform: rotate(-10deg) !important;
    }

    body .site-header .header-main .main-nav {
        justify-content: flex-end !important;
        padding-right: 0 !important;
    }

    body .site-header .header-main .main-nav .nav-counter {
        height: 40px !important;
        min-width: 68px !important;
        padding: 0 9px !important;
    }

    body .page-shell,
    body .home-shell {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    body .listing-heading,
    body .compare-intro {
        border-radius: 12px !important;
        margin: 12px 0 !important;
        padding: 18px 18px !important;
    }

    body .listing-heading .eyebrow,
    body .compare-intro .eyebrow,
    body .listing-heading > div > p:not(:last-child) {
        display: none !important;
    }

    body .listing-heading h1,
    body .listing-heading h2,
    body .compare-intro h1 {
        font-size: 28px !important;
        line-height: 1.08 !important;
        margin: 0 !important;
    }

    body .listing-heading p,
    body .compare-intro p {
        font-size: 15px !important;
        line-height: 1.4 !important;
        margin: 8px 0 0 !important;
    }

    body .listing-heading .breadcrumbs,
    body .compare-intro .breadcrumbs {
        margin-bottom: 12px !important;
        max-width: 100% !important;
        overflow: hidden !important;
        padding: 6px 8px !important;
    }

    body .category-tabs {
        border-radius: 12px !important;
        display: flex !important;
        gap: 8px !important;
        margin: 0 0 12px !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        padding: 8px !important;
        scroll-snap-type: x proximity !important;
        white-space: nowrap !important;
    }

    body .category-tabs a {
        flex: 0 0 auto !important;
        font-size: 14px !important;
        height: 42px !important;
        min-width: auto !important;
        padding: 0 14px !important;
        scroll-snap-align: start !important;
    }

    body .listing-heading .sort-box {
        margin-top: 14px !important;
        width: 100% !important;
    }

    body .listing-heading .sort-box > span {
        display: none !important;
    }

    body .sort-links,
    body .sort-tabs {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 6px !important;
        padding: 6px !important;
        width: 100% !important;
    }

    body .sort-links a,
    body .sort-tabs button {
        font-size: 13px !important;
        height: 42px !important;
        line-height: 1.1 !important;
        min-width: 0 !important;
        padding: 0 8px !important;
        text-align: center !important;
        white-space: normal !important;
    }

    body .listing-layout {
        display: grid !important;
        gap: 12px !important;
        grid-template-columns: 1fr !important;
        margin-top: 12px !important;
    }

    body .filters {
        border-radius: 12px !important;
        margin: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        position: static !important;
        top: auto !important;
        width: 100% !important;
    }

    body .filters .filter-head {
        align-items: center !important;
        background: #225FBD !important;
        border-bottom: 3px solid #f5c84c !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        min-height: 58px !important;
        padding: 0 12px !important;
    }

    body .filters .filter-head strong {
        color: #fff !important;
        font-size: 22px !important;
        line-height: 1 !important;
    }

    body .filters .filter-head span {
        align-items: center !important;
        display: flex !important;
        gap: 8px !important;
        justify-content: flex-end !important;
    }

    body .filters .filter-head a {
        color: #fff !important;
        font-size: 13px !important;
        font-weight: 800 !important;
    }

    body .filters .filter-toggle {
        background: #fff !important;
        border: 1px solid rgba(255,255,255,.82) !important;
        border-radius: 10px !important;
        color: #0b3554 !important;
        display: inline-flex !important;
        font-size: 14px !important;
        font-weight: 850 !important;
        height: 42px !important;
        justify-content: center !important;
        min-width: 118px !important;
        opacity: 1 !important;
        padding: 0 12px !important;
        text-indent: 0 !important;
        white-space: nowrap !important;
    }

    body .filters:not(.is-open) form > section,
    body .filters:not(.is-open) form > button[type="submit"] {
        display: none !important;
    }

    body .filters.is-open form > section {
        display: block !important;
        padding: 15px 18px !important;
    }

    body .filters h3 {
        font-size: 20px !important;
        margin: 0 0 12px !important;
    }

    body .filters label {
        font-size: 15px !important;
        min-height: 38px !important;
    }

    body .filters form > button[type="submit"] {
        margin: 12px 18px 18px !important;
        width: calc(100% - 36px) !important;
    }

    body .listing-results {
        margin: 0 !important;
        max-width: 100% !important;
        min-width: 0 !important;
        width: 100% !important;
    }
}

html,
body {
    background: var(--ec-bg) !important;
    color: var(--ec-text) !important;
    font-family: var(--ec-font) !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
}

body,
button,
input,
select,
textarea {
    font-family: var(--ec-font) !important;
}

h1,
h2,
h3,
h4 {
    color: var(--ec-ink) !important;
    font-family: var(--ec-font) !important;
    font-weight: 650 !important;
    letter-spacing: 0 !important;
    line-height: 1.18 !important;
}

p,
li,
label,
summary,
small {
    color: inherit;
    letter-spacing: 0 !important;
}

a {
    text-decoration: none !important;
}

/* Header */
.site-header {
    background: #FFFFFF !important;
    border-bottom: 1px solid var(--ec-line) !important;
    box-shadow: 0 2px 12px rgba(8, 35, 62, .05) !important;
}

.header-main,
.feed-menu,
.page-shell,
.detail-layout,
.admin-shell {
    max-width: 1780px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: clamp(18px, 3vw, 46px) !important;
    padding-right: clamp(18px, 3vw, 46px) !important;
}

.header-main {
    align-items: center !important;
    display: grid !important;
    gap: 22px !important;
    grid-template-columns: 230px minmax(360px, 1fr) auto !important;
    min-height: 74px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.brand,
.brand-logo {
    align-items: center !important;
    display: flex !important;
    height: 46px !important;
    justify-content: flex-start !important;
    width: 230px !important;
}

.brand-logo img,
.logo img {
    height: auto !important;
    max-height: 38px !important;
    max-width: 220px !important;
    object-fit: contain !important;
    object-position: left center !important;
    width: auto !important;
}

.top-search,
.hero-search {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line-strong) !important;
    border-radius: var(--ec-radius) !important;
    box-shadow: none !important;
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    height: 52px !important;
    padding: 4px !important;
}

.top-search:focus-within,
.hero-search:focus-within {
    border-color: var(--ec-blue-hover) !important;
    box-shadow: 0 0 0 3px rgba(14, 90, 137, .12) !important;
}

.top-search input,
.hero-search input {
    background: transparent !important;
    border: 0 !important;
    color: var(--ec-text) !important;
    font-size: 15px !important;
    height: 42px !important;
    outline: 0 !important;
    padding: 0 14px !important;
}

.top-search button,
.hero-search button {
    align-items: center !important;
    background: var(--ec-blue-hover) !important;
    border: 1px solid var(--ec-blue-hover) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    color: #FFFFFF !important;
    display: inline-flex !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    height: 42px !important;
    justify-content: center !important;
    padding: 0 18px !important;
}

.top-search button:hover,
.hero-search button:hover {
    background: var(--ec-blue) !important;
    border-color: var(--ec-blue) !important;
}

.header-main .main-nav {
    align-items: center !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    justify-content: flex-end !important;
    padding: 0 !important;
}

.header-main .main-nav a {
    align-items: center !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    display: inline-flex !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    gap: 7px !important;
    height: 42px !important;
    justify-content: center !important;
    padding: 0 13px !important;
    white-space: nowrap !important;
}

.header-main .main-nav a.nav-prices {
    background: var(--ec-blue) !important;
    border-color: var(--ec-blue) !important;
    color: #FFFFFF !important;
}

.header-main .main-nav a.nav-counter {
    background: var(--ec-soft) !important;
    color: var(--ec-ink) !important;
    min-width: 54px !important;
}

.header-main .main-nav a.nav-counter span {
    background: transparent !important;
    color: var(--ec-blue) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    height: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
}

.feed-menu {
    align-items: center !important;
    border-top: 1px solid var(--ec-line) !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
    min-height: 56px !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    scrollbar-width: none !important;
}

.site-header {
    overflow: visible !important;
}

.feed-menu::-webkit-scrollbar {
    display: none !important;
}

.feed-menu .menu-fill {
    display: none !important;
}

.feed-menu details {
    flex: 0 0 auto !important;
    height: 38px !important;
    position: static !important;
}

.feed-menu > a,
.feed-menu summary {
    align-items: center !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 7px !important;
    box-shadow: none !important;
    color: var(--ec-ink) !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    gap: 7px !important;
    height: 38px !important;
    justify-content: center !important;
    line-height: 1 !important;
    padding: 0 10px !important;
    white-space: nowrap !important;
}

.feed-menu > a:hover,
.feed-menu summary:hover,
.feed-menu details[open] summary {
    background: #F4F8FB !important;
    border-color: var(--ec-line) !important;
    color: var(--ec-blue) !important;
}

.feed-menu > a.active,
.feed-menu > a:first-child {
    background: var(--ec-blue) !important;
    border-color: var(--ec-blue) !important;
    color: #FFFFFF !important;
    font-weight: 700 !important;
}

.feed-menu > a.menu-feature {
    background: #F2FBF6 !important;
    border-color: #C9E8D5 !important;
    color: #123D2C !important;
    font-weight: 650 !important;
}

.feed-menu .mega-panel {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: var(--ec-radius) !important;
    box-shadow: 0 18px 36px rgba(8, 35, 62, .14) !important;
    display: grid !important;
    gap: 6px !important;
    grid-template-columns: repeat(2, minmax(190px, 1fr)) !important;
    left: clamp(18px, 3vw, 46px) !important;
    max-height: min(520px, calc(100vh - 150px)) !important;
    min-width: min(520px, calc(100vw - 36px)) !important;
    overflow-y: auto !important;
    padding: 12px !important;
    position: fixed !important;
    top: var(--desktop-menu-panel-top, 132px) !important;
    z-index: 9999 !important;
}

.feed-menu details:nth-of-type(2) .mega-panel {
    left: min(320px, calc(100vw - 560px)) !important;
}

.feed-menu .mega-panel a {
    align-items: center !important;
    background: transparent !important;
    border-radius: 7px !important;
    color: var(--ec-ink) !important;
    display: flex !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    gap: 12px !important;
    justify-content: space-between !important;
    padding: 10px !important;
}

.feed-menu .mega-panel a:hover,
.feed-menu .mega-panel a.active {
    background: #F4F8FB !important;
    color: var(--ec-blue) !important;
}

.feed-menu .mega-panel em {
    color: var(--ec-muted) !important;
    font-style: normal !important;
    font-weight: 650 !important;
}

.site-header .ui-icon,
.site-header .ui-icon svg {
    background: transparent !important;
    border: 0 !important;
    color: currentColor !important;
    height: 16px !important;
    width: 16px !important;
}

/* Panels and cards */
.compare-intro,
.category-tabs,
.catalog-head,
.seo-copy,
.product-card,
.filter-panel,
.price-panel,
.spec-card,
.offer-row,
.related-products,
.page-card,
.guide-card {
    background: var(--ec-panel) !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: var(--ec-radius) !important;
    box-shadow: none !important;
}

.compare-intro {
    padding: clamp(24px, 4vw, 38px) !important;
}

.compare-intro h1 {
    font-size: clamp(30px, 3vw, 42px) !important;
    margin-bottom: 12px !important;
}

.compare-intro p {
    color: var(--ec-muted) !important;
    font-size: 16px !important;
    max-width: 940px !important;
}

.breadcrumbs {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 20px !important;
}

.breadcrumbs a,
.breadcrumbs strong {
    background: #F7FAFC !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 999px !important;
    color: var(--ec-ink) !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    padding: 7px 11px !important;
}

.category-tabs {
    gap: 8px !important;
    padding: 10px !important;
}

.category-tabs a,
.sort-tabs a,
.sort-tabs button {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line-strong) !important;
    border-radius: 7px !important;
    color: var(--ec-ink) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 10px 12px !important;
}

.category-tabs a.active,
.sort-tabs a.active,
.sort-tabs button.active {
    background: var(--ec-blue) !important;
    border-color: var(--ec-blue) !important;
    color: #FFFFFF !important;
}

.product-card {
    overflow: hidden !important;
    transition: border-color .16s ease, transform .16s ease, box-shadow .16s ease !important;
}

.product-card:hover {
    border-color: var(--ec-line-strong) !important;
    box-shadow: var(--ec-shadow) !important;
    transform: translateY(-1px) !important;
}

.product-card h2,
.product-card h2 a {
    color: var(--ec-ink) !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
}

.product-card p,
.product-card small,
.product-meta {
    color: var(--ec-muted) !important;
}

.rating-stars,
.stars,
.review-stars {
    color: var(--ec-star) !important;
}

.price,
.price-panel strong,
.best-price strong {
    color: var(--ec-ink) !important;
    font-weight: 700 !important;
}

.price-panel a,
.offer-row a,
.best-price a,
.primary-action {
    align-items: center !important;
    background: #EAF2FA !important;
    border: 1px solid #B9CADB !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    color: var(--ec-ink) !important;
    display: inline-flex !important;
    font-weight: 700 !important;
    justify-content: center !important;
}

.price-panel a:hover,
.offer-row a:hover,
.best-price a:hover,
.primary-action:hover {
    background: var(--ec-blue-hover) !important;
    border-color: var(--ec-blue-hover) !important;
    color: #FFFFFF !important;
}

.filter-panel h2,
.filter-title {
    background: var(--ec-blue-hover) !important;
    color: #FFFFFF !important;
}

.seo-copy {
    padding: clamp(24px, 4vw, 36px) !important;
}

.seo-copy p {
    color: var(--ec-muted) !important;
}

.footer-seo-directory,
.site-footer {
    background: #0E5A89 !important;
    color: #FFFFFF !important;
}

@media (max-width: 980px) {
    .header-main {
        grid-template-columns: 1fr auto !important;
        gap: 12px !important;
    }

    .top-search {
        grid-column: 1 / -1 !important;
        order: 3 !important;
        width: 100% !important;
    }

    .header-main .main-nav a.nav-prices {
        display: none !important;
    }

    .feed-menu {
        flex-wrap: wrap !important;
        overflow-x: visible !important;
    }
}

@media (max-width: 620px) {
    .brand,
    .brand-logo {
        width: 190px !important;
    }

    .brand-logo img,
    .logo img {
        max-width: 185px !important;
    }

    .header-main .main-nav {
        gap: 6px !important;
    }

    .header-main .main-nav a.nav-counter {
        height: 38px !important;
        min-width: 48px !important;
        padding: 0 9px !important;
    }
}

/* Listing unification: one visual language for category/search pages. */
.listing-heading,
.catalog-head {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 18px 0 16px !important;
    padding: 0 !important;
}

.listing-heading .eyebrow {
    color: var(--ec-blue-hover) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    margin-bottom: 8px !important;
}

.listing-heading h1,
.listing-heading h2 {
    font-size: clamp(28px, 3vw, 38px) !important;
    margin: 0 0 8px !important;
}

.listing-heading p {
    color: var(--ec-muted) !important;
    font-size: 15px !important;
    margin: 0 !important;
}

.category-tabs {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    gap: 8px !important;
    margin: 14px 0 18px !important;
    overflow-x: auto !important;
    padding: 0 0 4px !important;
    scrollbar-width: none !important;
}

.category-tabs::-webkit-scrollbar {
    display: none !important;
}

.category-tabs a {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 8px !important;
    color: var(--ec-ink) !important;
    flex: 0 0 auto !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    min-height: 38px !important;
    padding: 9px 12px !important;
}

.category-tabs a.active {
    background: var(--ec-blue) !important;
    border-color: var(--ec-blue) !important;
    color: #FFFFFF !important;
}

.category-tabs span {
    color: inherit !important;
    font-weight: 700 !important;
}

.listing-layout {
    align-items: start !important;
    display: grid !important;
    gap: 24px !important;
    grid-template-columns: 260px minmax(0, 1fr) !important;
}

.filter-panel {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: var(--ec-radius) !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

.filter-panel h2,
.filter-title {
    background: #FFFFFF !important;
    border-bottom: 1px solid var(--ec-line) !important;
    color: var(--ec-ink) !important;
    font-size: 18px !important;
    font-weight: 650 !important;
    margin: 0 !important;
    padding: 17px 18px !important;
}

.filter-group {
    border-bottom: 1px solid #E3EBF2 !important;
    padding: 16px 18px !important;
}

.filter-group:last-child {
    border-bottom: 0 !important;
}

.filter-group h3,
.filter-group summary {
    color: var(--ec-ink) !important;
    font-size: 15px !important;
    font-weight: 650 !important;
}

.filter-group label {
    color: #42566C !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

.listing-results {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    min-width: 0 !important;
    padding: 0 !important;
}

.results {
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.results .product-card {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: var(--ec-radius) !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 100% !important;
    overflow: hidden !important;
}

.results .product-image {
    align-items: center !important;
    background: #FFFFFF !important;
    border-bottom: 1px solid var(--ec-line) !important;
    display: flex !important;
    height: 170px !important;
    justify-content: center !important;
    padding: 18px !important;
}

.results .product-image img {
    max-height: 134px !important;
    object-fit: contain !important;
}

.results .product-copy {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    padding: 16px 16px 0 !important;
}

.results .product-card h2 {
    color: var(--ec-ink) !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    line-height: 1.28 !important;
    margin: 0 0 10px !important;
    min-height: 40px !important;
}

.results .score-line,
.results .product-meta,
.results .product-kind,
.results .product-brand {
    color: var(--ec-muted) !important;
    font-size: 13px !important;
}

.results .product-actions {
    gap: 8px !important;
    margin-top: 10px !important;
}

.results .product-actions button,
.results .product-actions a,
.product-card .meta-actions button,
.product-card .meta-actions a {
    background: #F8FBFD !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 6px !important;
    color: #52657A !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    min-height: 30px !important;
    padding: 5px 10px !important;
}

.results .price-panel,
.price-panel {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin-top: auto !important;
    padding: 14px 16px 16px !important;
}

.price-panel small,
.price-panel span {
    color: var(--ec-muted) !important;
    font-size: 13px !important;
}

.price-panel strong {
    color: var(--ec-ink) !important;
    display: block !important;
    font-size: 20px !important;
    margin: 8px 0 !important;
}

.price-panel a {
    background: #EAF2FA !important;
    border: 1px solid #B9CADB !important;
    border-radius: 7px !important;
    color: var(--ec-ink) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    min-height: 42px !important;
    width: 100% !important;
}

.price-panel a:hover {
    background: var(--ec-blue-hover) !important;
    border-color: var(--ec-blue-hover) !important;
    color: #FFFFFF !important;
}

.pagination {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    justify-content: space-between !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
}

.pagination-bottom {
    margin: 22px 0 0 !important;
}

.pagination-status {
    color: var(--ec-muted) !important;
    font-size: 13px !important;
}

.pagination-status strong {
    color: var(--ec-ink) !important;
    display: block !important;
    font-size: 14px !important;
}

.pagination-links {
    display: flex !important;
    gap: 7px !important;
}

.pagination a,
.pagination .pagination-links span {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 7px !important;
    color: var(--ec-ink) !important;
    display: inline-flex !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    height: 38px !important;
    justify-content: center !important;
    min-width: 38px !important;
    padding: 0 12px !important;
}

.pagination .is-current {
    background: var(--ec-blue) !important;
    border-color: var(--ec-blue) !important;
    color: #FFFFFF !important;
}

.pagination .is-disabled {
    color: #94A3B8 !important;
}

.sort-tabs {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 8px !important;
    display: inline-flex !important;
    gap: 0 !important;
    overflow: hidden !important;
}

.sort-tabs a {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--ec-ink) !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    padding: 12px 15px !important;
}

.sort-tabs a.active {
    background: var(--ec-blue) !important;
    color: #FFFFFF !important;
}

@media (max-width: 1280px) {
    .results {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 980px) {
    .listing-layout {
        grid-template-columns: 1fr !important;
    }

    .results {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 620px) {
    .results {
        grid-template-columns: 1fr !important;
    }

    .pagination {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 12px !important;
    }

    .pagination-links {
        flex-wrap: wrap !important;
    }
}

/* Home should never show persistent image spinners. */
.home-hero-v2 .is-loading::before,
.home-hero-v2 .is-loading::after,
.home-hero-mosaic figure.is-loading::before,
.home-hero-mosaic figure.is-loading::after,
.home-photo-band article.is-loading::before,
.home-photo-band article.is-loading::after,
.inspiration-grid article.is-loading::before,
.inspiration-grid article.is-loading::after,
.battery-product-spotlight.is-loading::before,
.battery-product-spotlight.is-loading::after {
    display: none !important;
}

.home-hero-v2 .is-loading img,
.home-hero-mosaic figure.is-loading img,
.home-photo-band article.is-loading img,
.inspiration-grid article.is-loading img,
.battery-product-spotlight.is-loading img {
    opacity: 1 !important;
}

/* Thuisbatterij SEO extensions */
.battery-seo-table,
.battery-seo-decision,
.battery-intent-links {
    margin-top: 18px;
}

.battery-seo-table {
    background: #FFFFFF;
    border: 1px solid var(--ec-line);
    border-radius: var(--ec-radius);
    padding: 22px;
}

.battery-seo-table h3,
.battery-seo-decision h3,
.battery-intent-links h3 {
    color: var(--ec-ink) !important;
    font-size: 22px !important;
    margin: 0 0 14px !important;
}

.battery-table-wrap {
    overflow-x: auto;
}

.battery-seo-table table {
    border-collapse: collapse;
    min-width: 760px;
    width: 100%;
}

.battery-seo-table th,
.battery-seo-table td {
    border-bottom: 1px solid var(--ec-line);
    padding: 14px 12px;
    text-align: left;
    vertical-align: top;
}

.battery-seo-table th {
    background: #F4F8FB;
    color: var(--ec-ink);
    font-size: 14px;
    font-weight: 700;
}

.battery-seo-table td {
    color: var(--ec-text);
    font-size: 14px;
}

.battery-seo-table td:first-child {
    font-weight: 650;
}

.battery-seo-table a {
    color: var(--ec-blue);
    font-weight: 700;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

.battery-seo-decision {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.battery-seo-decision article,
.battery-intent-links {
    background: #FFFFFF;
    border: 1px solid var(--ec-line);
    border-radius: var(--ec-radius);
    padding: 22px;
}

.battery-seo-decision p {
    color: var(--ec-muted);
    margin: 0 0 14px;
}

.battery-seo-decision ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding-left: 20px;
}

.battery-seo-decision li {
    color: var(--ec-text);
}

.battery-intent-links nav {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.battery-intent-links a {
    background: #F4F8FB;
    border: 1px solid var(--ec-line);
    border-radius: 999px;
    color: var(--ec-blue);
    font-size: 14px;
    font-weight: 700;
    padding: 9px 12px;
}

.battery-intent-links a:hover {
    background: var(--ec-blue);
    border-color: var(--ec-blue);
    color: #FFFFFF;
}

@media (max-width: 820px) {
    .battery-seo-decision {
        grid-template-columns: 1fr;
    }
}

/* Guides responsive polish */
.guides-index,
.guide-detail {
    max-width: min(100% - 32px, var(--ec-container)) !important;
    overflow-x: clip !important;
}

.guide-index-hero,
.guide-hero,
.guide-content,
.guide-products,
.guide-related,
.guide-card {
    min-width: 0 !important;
}

.guide-card-grid {
    align-items: stretch !important;
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    width: 100% !important;
}

.guide-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    overflow: hidden !important;
}

.guide-card h2,
.guide-card h2 a,
.guide-card p {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
}

.guide-card-meta {
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.guide-card-products {
    overflow: hidden !important;
}

.guide-card-products img {
    flex: 0 0 52px !important;
    height: 52px !important;
    max-width: 52px !important;
    object-fit: contain !important;
}

.guide-card-link {
    margin-top: auto !important;
}

@media (max-width: 760px) {
    .site-header {
        max-height: none !important;
    }

    .site-header:not(.menu-open) .feed-menu {
        display: none !important;
    }

    .site-header.menu-open .feed-menu {
        align-content: start !important;
        background: #FFFFFF !important;
        border: 1px solid var(--ec-line) !important;
        border-radius: 10px !important;
        box-shadow: 0 18px 42px rgba(8, 40, 72, .18) !important;
        display: grid !important;
        gap: 8px !important;
        left: 10px !important;
        max-height: calc(100dvh - var(--mobile-menu-top, 160px) - 14px) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        padding: 10px !important;
        position: fixed !important;
        right: 10px !important;
        top: calc(var(--mobile-menu-top, 150px) + 8px) !important;
        width: auto !important;
        z-index: 150 !important;
    }

    .feed-menu details:not([open]) .mega-panel {
        display: none !important;
    }

    .feed-menu details[open] .mega-panel {
        background: #F7FAFC !important;
        border: 1px solid var(--ec-line) !important;
        border-radius: 8px !important;
        box-shadow: none !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        left: auto !important;
        margin-top: 8px !important;
        max-height: 240px !important;
        overflow-y: auto !important;
        padding: 8px !important;
        position: static !important;
        right: auto !important;
        top: auto !important;
        width: 100% !important;
    }

    .feed-menu .mega-panel a {
        min-width: 0 !important;
        width: 100% !important;
    }

    .guides-index,
    .guide-detail {
        max-width: calc(100% - 20px) !important;
    }

    .guide-index-hero,
    .guide-hero {
        border-radius: 10px !important;
        padding: 22px 18px !important;
    }

    .guide-index-hero h1,
    .guide-hero h1 {
        font-size: clamp(28px, 8vw, 40px) !important;
        line-height: 1.08 !important;
    }

    .guide-topic-nav {
        align-items: stretch !important;
        display: grid !important;
        gap: 12px !important;
        overflow: visible !important;
        padding: 14px !important;
    }

    .guide-topic-nav div {
        display: grid !important;
        gap: 8px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        overflow: visible !important;
        padding: 0 !important;
        width: 100% !important;
    }

    .guide-topic-nav a {
        justify-content: center !important;
        min-height: 42px !important;
        min-width: 0 !important;
        text-align: center !important;
        white-space: normal !important;
    }

    .guide-card-grid,
    .guide-product-grid {
        grid-template-columns: 1fr !important;
    }

    .guide-card {
        border-radius: 10px !important;
        padding: 18px !important;
    }

    .guide-card h2 {
        font-size: 22px !important;
        line-height: 1.15 !important;
    }

    .guide-card-products {
        display: grid !important;
        gap: 8px !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .guide-card-products img {
        height: 70px !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    .guide-hero-actions {
        display: grid !important;
        gap: 10px !important;
        grid-template-columns: 1fr !important;
    }

    .guide-hero-actions a,
    .guide-card-link {
        justify-content: center !important;
        width: 100% !important;
    }
}

/* Final pro pass: tighter header and product rhythm */
body .site-header {
    background: #FFFFFF !important;
    border-bottom: 1px solid #D3E0EA !important;
    box-shadow: 0 5px 18px rgba(8, 35, 62, .06) !important;
}

body .header-main {
    gap: 16px !important;
    min-height: 68px !important;
    padding-bottom: 10px !important;
    padding-top: 10px !important;
}

body .brand-logo img {
    max-height: 46px !important;
    width: auto !important;
}

body .top-search {
    height: 46px !important;
    min-height: 46px !important;
}

body .top-search button {
    border-radius: 7px !important;
    min-height: 36px !important;
    padding: 0 20px !important;
}

body .main-nav a,
body .feed-menu > a,
body .feed-menu summary {
    min-height: 38px !important;
    padding: 0 13px !important;
}

body .feed-menu {
    gap: 8px !important;
    min-height: 52px !important;
    padding-bottom: 8px !important;
    padding-top: 8px !important;
}

body .page-shell {
    padding-left: clamp(16px, 3vw, 48px) !important;
    padding-right: clamp(16px, 3vw, 48px) !important;
}

body .compare-intro {
    padding: 16px 22px !important;
}

body .compare-intro h1 {
    font-size: clamp(28px, 2.25vw, 38px) !important;
}

body .compare-intro p {
    max-width: 980px !important;
}

body .category-tabs {
    flex-wrap: nowrap !important;
    min-height: 0 !important;
    padding: 8px !important;
}

body .category-tabs a {
    min-height: 36px !important;
    padding: 0 12px !important;
}

body .listing-heading {
    padding: 15px 20px !important;
}

body .listing-heading h1,
body .listing-heading h2 {
    font-size: clamp(24px, 1.8vw, 31px) !important;
}

body .filters {
    max-height: calc(100vh - 112px) !important;
}

body .filters form {
    max-height: inherit !important;
    overflow-y: auto !important;
}

body .filters .filter-head {
    min-height: 50px !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 3 !important;
}

body .filters form > section {
    padding: 13px 15px !important;
}

body .listing-results > .pagination-top {
    margin-bottom: 12px !important;
}

body .results {
    gap: 16px !important;
}

body .results article.product-card,
body .deal-grid article.product-card,
body article.product-card.product-card {
    grid-template-rows: 158px minmax(158px, auto) auto !important;
    min-height: 392px !important;
}

body .results article.product-card .product-image,
body .deal-grid article.product-card .product-image,
body article.product-card.product-card .product-image {
    height: 158px !important;
    min-height: 158px !important;
    padding: 14px !important;
}

body .results article.product-card .product-image img,
body .deal-grid article.product-card .product-image img,
body article.product-card.product-card .product-image img {
    max-height: 132px !important;
}

body .results article.product-card .product-copy,
body .deal-grid article.product-card .product-copy,
body article.product-card.product-card .product-copy {
    gap: 7px !important;
    padding: 12px 14px 10px !important;
}

body .results article.product-card h2,
body .deal-grid article.product-card h2,
body article.product-card.product-card h2 {
    display: -webkit-box !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    min-height: 53px !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
}

body .results article.product-card .product-copy > p,
body .deal-grid article.product-card .product-copy > p,
body article.product-card.product-card .product-copy > p {
    display: -webkit-box !important;
    font-size: 13px !important;
    line-height: 1.32 !important;
    min-height: 34px !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

body .results article.product-card .price-panel,
body .deal-grid article.product-card .price-panel,
body article.product-card.product-card .price-panel {
    align-self: end !important;
    background: #F8FBFD !important;
    border-top: 1px solid #DCE6EF !important;
    display: grid !important;
    gap: 6px !important;
    justify-items: stretch !important;
    padding: 12px 14px 14px !important;
}

body .results article.product-card .price-panel small,
body .deal-grid article.product-card .price-panel small,
body article.product-card.product-card .price-panel small {
    text-align: left !important;
}

body .results article.product-card .price-panel strong,
body .deal-grid article.product-card .price-panel strong,
body article.product-card.product-card .price-panel strong {
    font-size: 19px !important;
    text-align: left !important;
}

body .results article.product-card .price-panel a,
body .deal-grid article.product-card .price-panel a,
body article.product-card.product-card .price-panel a {
    min-height: 38px !important;
}

@media (min-width: 1320px) {
    body .results {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1320px) {
    body .results {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    body .header-main {
        min-height: 60px !important;
    }

    body .feed-menu {
        min-height: 0 !important;
    }

    body .results article.product-card,
    body .deal-grid article.product-card,
    body article.product-card.product-card {
        grid-template-rows: 170px auto auto !important;
        min-height: 0 !important;
    }
}

@media (max-width: 420px) {
    .guide-topic-nav div {
        grid-template-columns: 1fr !important;
    }

    .guide-card-products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Definitive listing toolbar and pagination cleanup */
.listing-heading {
    align-items: end !important;
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 10px !important;
    box-shadow: 0 10px 24px rgba(6, 32, 62, .06) !important;
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    margin: 0 0 18px !important;
    padding: 20px 22px !important;
}

.listing-heading .eyebrow {
    color: var(--ec-blue-muted) !important;
    font-size: 12px !important;
    letter-spacing: .02em !important;
    margin: 0 0 6px !important;
}

.listing-heading h2 {
    color: var(--ec-ink) !important;
    font-size: clamp(28px, 3vw, 40px) !important;
    line-height: 1.08 !important;
    margin: 0 0 8px !important;
}

.listing-heading p {
    color: var(--ec-muted) !important;
    font-size: 15px !important;
    margin: 0 !important;
}

.sort-box {
    align-items: end !important;
    display: grid !important;
    gap: 8px !important;
    justify-items: end !important;
}

.sort-box > span {
    color: var(--ec-muted) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.sort-links,
.sort-tabs {
    align-items: center !important;
    background: #F8FAFC !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    display: inline-flex !important;
    gap: 4px !important;
    overflow: hidden !important;
    padding: 4px !important;
}

.sort-links a,
.sort-tabs a,
.sort-tabs button {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 7px !important;
    color: var(--ec-ink) !important;
    display: inline-flex !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    min-height: 36px !important;
    padding: 0 13px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.sort-links a:hover,
.sort-tabs a:hover,
.sort-tabs button:hover {
    background: #E9F7EF !important;
    color: #075733 !important;
}

.sort-links a.active,
.sort-tabs a.active,
.sort-tabs button.active {
    background: var(--ec-blue) !important;
    border-color: var(--ec-blue) !important;
    color: #FFFFFF !important;
}

.listing-results > .pagination-top {
    margin: 0 0 16px !important;
}

.listing-results > .pagination-bottom {
    margin: 18px 0 0 !important;
}

.pagination {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: minmax(160px, auto) minmax(0, 1fr) !important;
    justify-content: stretch !important;
    padding: 12px 14px !important;
}

.pagination-status {
    color: var(--ec-muted) !important;
    display: grid !important;
    gap: 2px !important;
    min-width: 0 !important;
}

.pagination-status strong {
    color: var(--ec-ink) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

.pagination-status span {
    color: var(--ec-muted) !important;
    font-size: 12px !important;
    font-weight: 650 !important;
}

.pagination-links {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    justify-content: flex-end !important;
    min-width: 0 !important;
}

.pagination a,
.pagination .pagination-links span {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line-strong) !important;
    border-radius: 8px !important;
    color: var(--ec-ink) !important;
    display: inline-flex !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    height: 36px !important;
    justify-content: center !important;
    min-width: 36px !important;
    padding: 0 11px !important;
    text-decoration: none !important;
}

.pagination a:hover {
    background: #E9F7EF !important;
    border-color: var(--ec-blue) !important;
    color: #075733 !important;
}

.pagination .is-current {
    background: var(--ec-blue) !important;
    border-color: var(--ec-blue) !important;
    color: #FFFFFF !important;
}

.pagination .is-disabled {
    background: #F8FAFC !important;
    color: #94A3B8 !important;
}

.pagination .pagination-dots {
    background: transparent !important;
    border-color: transparent !important;
    color: var(--ec-muted) !important;
    min-width: 20px !important;
    padding: 0 !important;
}

.pagination-step {
    min-width: 78px !important;
}

@media (max-width: 900px) {
    .listing-heading {
        align-items: start !important;
        grid-template-columns: 1fr !important;
    }

    .sort-box {
        justify-items: start !important;
        width: 100% !important;
    }

    .sort-links,
    .sort-tabs {
        max-width: 100% !important;
        overflow-x: auto !important;
        scrollbar-width: thin !important;
        width: 100% !important;
    }
}

@media (max-width: 620px) {
    .listing-heading {
        border-radius: 10px !important;
        padding: 18px !important;
    }

    .sort-links a,
    .sort-tabs a,
    .sort-tabs button {
        flex: 1 0 auto !important;
        font-size: 13px !important;
        justify-content: center !important;
        min-width: max-content !important;
    }

    .pagination {
        grid-template-columns: 1fr !important;
        padding: 12px !important;
    }

    .pagination-links {
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        overflow-x: auto !important;
        padding-bottom: 4px !important;
        scrollbar-width: thin !important;
        width: 100% !important;
    }

    .pagination a,
    .pagination .pagination-links span {
        flex: 0 0 auto !important;
    }
}

/* Filter panel color reset */
.filters {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 10px !important;
    box-shadow: 0 10px 24px rgba(6, 32, 62, .06) !important;
    overflow: hidden !important;
}

.filter-head {
    align-items: center !important;
    background: #FFFFFF !important;
    border-bottom: 1px solid var(--ec-line) !important;
    box-shadow: inset 0 3px 0 var(--ec-blue) !important;
    color: var(--ec-ink) !important;
    display: flex !important;
    justify-content: space-between !important;
    min-height: 56px !important;
    padding: 16px 18px 14px !important;
}

.filter-head::before,
.filter-head::after {
    display: none !important;
}

.filter-head strong {
    color: var(--ec-ink) !important;
    font-size: 19px !important;
    font-weight: 850 !important;
}

.filter-head a {
    color: var(--ec-blue) !important;
    font-size: 13px !important;
    font-weight: 750 !important;
}

.filter-toggle {
    background: #F8FAFC !important;
    border: 1px solid var(--ec-line-strong) !important;
    color: var(--ec-ink) !important;
}

.filters section {
    background: #FFFFFF !important;
    border-bottom: 1px solid var(--ec-line) !important;
    padding: 16px 18px !important;
}

.filters section:last-of-type {
    border-bottom: 0 !important;
}

.filters h3 {
    color: var(--ec-ink) !important;
    font-size: 15px !important;
    font-weight: 850 !important;
    margin: 0 0 12px !important;
}

.filters h3::after {
    color: var(--ec-ink) !important;
}

.filters label {
    color: var(--ec-text) !important;
    font-size: 14px !important;
    padding: 7px 0 !important;
}

.filters em {
    color: var(--ec-muted) !important;
    font-style: normal !important;
}

/* Product detail alignment reset */
.product-hero,
.product-tools,
.detail-layout,
.related-products.review-compare-products,
.related-products {
    box-sizing: border-box !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: min(calc(100% - 48px), 1220px) !important;
    width: 100% !important;
}

.product-hero {
    align-items: start !important;
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 12px !important;
    display: grid !important;
    gap: 22px !important;
    grid-template-columns: minmax(280px, 380px) minmax(0, 1fr) minmax(250px, 300px) !important;
    margin-top: 24px !important;
    overflow: hidden !important;
    padding: 22px !important;
}

.product-summary {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    min-width: 0 !important;
    padding: 0 !important;
}

.product-summary h1 {
    color: var(--ec-ink) !important;
    font-size: clamp(30px, 3vw, 44px) !important;
    line-height: 1.08 !important;
    overflow-wrap: anywhere !important;
}

.product-summary p {
    max-width: 760px !important;
}

.product-media,
.best-price {
    align-self: start !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    min-width: 0 !important;
}

.product-media img {
    height: 340px !important;
}

.product-tools {
    gap: 14px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    padding: 18px 0 0 !important;
}

.product-tools article {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    min-width: 0 !important;
    padding: 16px 18px !important;
}

.product-tools .ui-icon {
    align-items: center !important;
    background: #F4F8FB !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 999px !important;
    display: flex !important;
    height: 36px !important;
    justify-content: center !important;
    width: 36px !important;
}

.product-tools strong,
.product-tools span {
    overflow-wrap: anywhere !important;
}

.detail-layout {
    align-items: start !important;
    display: grid !important;
    gap: 22px !important;
    grid-template-columns: minmax(0, 1fr) 320px !important;
    padding: 36px 0 0 !important;
}

.offers-table,
.spec-card {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    min-width: 0 !important;
    overflow: hidden !important;
    padding: 20px 22px !important;
}

.offer-row {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 8px !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: minmax(0, 1fr) minmax(130px, auto) auto !important;
    margin-top: 12px !important;
    padding: 14px 16px !important;
}

.offer-row > div,
.offer-price {
    min-width: 0 !important;
}

.offer-row a {
    white-space: nowrap !important;
}

.related-products.review-compare-products,
.related-products {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    margin-top: 36px !important;
    overflow: hidden !important;
    padding: 24px !important;
}

.related-products .section-head {
    align-items: end !important;
    border-bottom: 1px solid var(--ec-line) !important;
    display: flex !important;
    gap: 18px !important;
    justify-content: space-between !important;
    margin: 0 0 18px !important;
    padding-bottom: 18px !important;
}

.related-products .section-head h2 {
    color: var(--ec-ink) !important;
    font-size: clamp(26px, 2.6vw, 36px) !important;
    line-height: 1.08 !important;
    margin: 0 !important;
}

.related-products .section-head p:not(.eyebrow) {
    color: var(--ec-muted) !important;
    margin: 8px 0 0 !important;
    max-width: 760px !important;
}

.related-products .deal-grid {
    display: grid !important;
    gap: 16px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    overflow: visible !important;
}

.related-products .product-card {
    min-width: 0 !important;
    width: 100% !important;
}

.related-products .product-image {
    height: 170px !important;
}

@media (max-width: 1180px) {
    .product-hero {
        grid-template-columns: minmax(260px, 360px) minmax(0, 1fr) !important;
    }

    .best-price {
        grid-column: 2 !important;
    }

    .related-products .deal-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 900px) {
    .product-hero,
    .product-tools,
    .detail-layout,
    .related-products.review-compare-products,
    .related-products {
        max-width: min(calc(100% - 28px), 1220px) !important;
    }

    .product-hero,
    .detail-layout {
        grid-template-columns: 1fr !important;
    }

    .best-price {
        grid-column: auto !important;
    }

    .product-tools {
        grid-template-columns: 1fr !important;
    }

    .related-products .deal-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 620px) {
    .product-hero {
        padding: 16px !important;
    }

    .product-media img {
        height: 260px !important;
    }

    .offer-row {
        grid-template-columns: 1fr !important;
    }

    .offer-row a {
        width: 100% !important;
    }

    .related-products {
        padding: 18px !important;
    }

    .related-products .section-head {
        align-items: start !important;
        flex-direction: column !important;
    }

    .related-products .deal-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Home visual cards color reset */
.home-focus-strip {
    gap: 14px !important;
}

.home-focus-strip a,
.home-focus-strip a.focus-feature,
.home-focus-strip a:nth-child(2),
.home-focus-strip a:nth-child(3),
.home-focus-strip a:nth-child(4) {
    background: #FFFFFF !important;
    border: 1px solid #C9D8E6 !important;
    border-top: 3px solid #225FBD !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 22px rgba(7, 28, 57, .06) !important;
    min-height: 118px !important;
    padding: 18px 20px !important;
}

.home-focus-strip a:hover {
    border-color: #8DB6D5 !important;
    border-top-color: #003B70 !important;
    box-shadow: 0 14px 30px rgba(7, 28, 57, .10) !important;
    transform: translateY(-1px) !important;
}

.home-focus-strip .ui-icon {
    background: #EAF4FA !important;
    border-color: #BDD3E4 !important;
    color: #225FBD !important;
    height: 36px !important;
    width: 36px !important;
}

.home-focus-strip span {
    color: #53657A !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

.home-focus-strip strong {
    color: #06213F !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
}

.home-photo-band {
    gap: 16px !important;
}

.home-photo-band article {
    background: #06213F !important;
    border: 1px solid #BFD0DF !important;
    border-radius: 10px !important;
    box-shadow: 0 16px 34px rgba(7, 28, 57, .16) !important;
    min-height: 300px !important;
}

.home-photo-band article:first-child {
    min-height: 330px !important;
}

.home-photo-band img {
    filter: saturate(.96) contrast(1.02) !important;
}

.home-photo-band article::after {
    background: rgba(2, 24, 48, .48) !important;
}

.home-photo-band article > div {
    background: rgba(3, 30, 58, .86) !important;
    border-left: 4px solid #225FBD !important;
    bottom: 18px !important;
    left: 18px !important;
    max-width: calc(100% - 36px) !important;
    padding: 18px 20px !important;
    right: 18px !important;
}

.home-photo-band span {
    color: #BDD3E4 !important;
    font-size: 12px !important;
    font-weight: 850 !important;
}

.home-photo-band h2 {
    color: #FFFFFF !important;
    font-size: clamp(22px, 2.2vw, 31px) !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
    line-height: 1.12 !important;
    text-shadow: none !important;
}

.home-photo-band p {
    color: #EAF2F8 !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    text-shadow: none !important;
}

@media (max-width: 900px) {
    .home-photo-band article,
    .home-photo-band article:first-child {
        min-height: 280px !important;
    }
}

@media (max-width: 620px) {
    .home-focus-strip {
        grid-template-columns: 1fr !important;
    }

    .home-photo-band article > div {
        bottom: 12px !important;
        left: 12px !important;
        max-width: calc(100% - 24px) !important;
        padding: 15px 16px !important;
        right: 12px !important;
    }
}

/* Unified visual system: one palette, one card style, one control rhythm */
:root {
    --ec-blue: #225FBD;
    --ec-blue-2: #0B5C88;
    --ec-green: #225FBD;
    --ec-green-2: #003B70;
    --ec-ink: #061F3A;
    --ec-text: #2E4054;
    --ec-muted: #607287;
    --ec-page: #EEF5F8;
    --ec-surface: #FFFFFF;
    --ec-soft: #F6FAFC;
    --ec-line: #C9D8E6;
    --ec-line-2: #AFC4D6;
    --ec-star: #F59E0B;
    --ec-radius: 10px;
    --ec-radius-sm: 7px;
    --ec-shadow: 0 10px 26px rgba(6, 31, 58, .08);
    --ec-shadow-hover: 0 16px 36px rgba(6, 31, 58, .13);
    --ec-font: Calibri, "Segoe UI", Arial, sans-serif;
}

html,
body {
    background: var(--ec-page) !important;
    color: var(--ec-text) !important;
    font-family: var(--ec-font) !important;
}

body,
button,
input,
select,
textarea {
    font-family: var(--ec-font) !important;
}

h1,
h2,
h3,
h4,
.product-card h2,
.product-card h2 a,
.feed-menu > a,
.feed-menu summary,
.top-search button,
.hero-search button,
.price-panel a,
.footer h3 {
    color: var(--ec-ink) !important;
    font-family: var(--ec-font) !important;
    letter-spacing: 0 !important;
}

h1,
.listing-heading h1,
.listing-heading h2 {
    font-size: clamp(34px, 3.2vw, 48px) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
}

h2 {
    font-weight: 780 !important;
}

.eyebrow,
.listing-heading .eyebrow,
.section-head .eyebrow,
.footer-eyebrow {
    color: var(--ec-blue-2) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
}

a {
    color: var(--ec-blue) !important;
}

a:hover {
    color: var(--ec-blue-dark) !important;
}

.page-shell,
.header-main,
.feed-menu,
.home-section,
.product-hero,
.product-tools,
.detail-layout,
.related-products,
.category-tabs,
.listing-heading {
    max-width: 1740px !important;
}

/* Header and menu */
.site-header {
    background: var(--ec-surface) !important;
    border-bottom: 1px solid var(--ec-line) !important;
    box-shadow: 0 2px 12px rgba(6, 31, 58, .05) !important;
}

.header-main {
    align-items: center !important;
    border-bottom: 1px solid var(--ec-line) !important;
    display: grid !important;
    gap: 22px !important;
    grid-template-columns: 240px minmax(360px, 1fr) auto !important;
    min-height: 82px !important;
}

.brand,
.brand-logo {
    height: 48px !important;
    width: 240px !important;
}

.brand-logo img,
.logo img {
    height: auto !important;
    max-height: 42px !important;
    max-width: 230px !important;
    object-fit: contain !important;
    width: auto !important;
}

.top-search,
.hero-search {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line-2) !important;
    border-radius: var(--ec-radius) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9) !important;
}

.top-search:focus-within,
.hero-search:focus-within {
    border-color: var(--ec-blue-2) !important;
    box-shadow: 0 0 0 3px rgba(11, 92, 136, .14) !important;
}

.top-search button,
.hero-search button,
button[type="submit"],
.filters button[type="submit"] {
    background: var(--ec-blue-2) !important;
    border: 1px solid var(--ec-blue-2) !important;
    border-radius: 8px !important;
    color: #FFFFFF !important;
    font-weight: 750 !important;
}

.top-search button:hover,
.hero-search button:hover,
button[type="submit"]:hover,
.filters button[type="submit"]:hover {
    background: var(--ec-blue) !important;
    border-color: var(--ec-blue) !important;
    color: #FFFFFF !important;
}

.header-main .main-nav {
    align-items: center !important;
    display: flex !important;
    gap: 10px !important;
}

.header-main .main-nav a {
    background: #F7FAFC !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    color: var(--ec-ink) !important;
    font-weight: 750 !important;
    height: 44px !important;
}

.header-main .main-nav .nav-prices {
    background: var(--ec-blue) !important;
    border-color: var(--ec-blue) !important;
    color: #FFFFFF !important;
}

.header-main .main-nav .nav-counter {
    min-width: 52px !important;
    padding-inline: 12px !important;
}

.feed-menu {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    gap: 8px !important;
    min-height: 64px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.feed-menu > a,
.feed-menu summary {
    align-items: center !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    color: var(--ec-ink) !important;
    display: inline-flex !important;
    font-size: 15px !important;
    font-weight: 750 !important;
    gap: 8px !important;
    height: 42px !important;
    padding: 0 14px !important;
}

.feed-menu > a:hover,
.feed-menu summary:hover,
.feed-menu details[open] summary {
    background: #F4F9FC !important;
    border-color: var(--ec-line) !important;
    color: var(--ec-blue) !important;
}

.feed-menu > a.active,
.feed-menu > a:first-child {
    background: var(--ec-blue) !important;
    border-color: var(--ec-blue) !important;
    box-shadow: 0 9px 18px rgba(0, 35, 113, .18) !important;
    color: #FFFFFF !important;
}

.feed-menu > a.menu-feature {
    background: #EAF4FA !important;
    border-color: #BDD3E4 !important;
    color: #003B70 !important;
}

.feed-menu > a.menu-feature:hover {
    background: var(--ec-blue) !important;
    border-color: var(--ec-blue) !important;
    color: #FFFFFF !important;
}

.site-header .ui-icon,
.feed-menu .ui-icon,
button .ui-icon {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    color: currentColor !important;
    display: inline-flex !important;
    height: 18px !important;
    justify-content: center !important;
    width: 18px !important;
}

.site-header .ui-icon svg,
.feed-menu .ui-icon svg,
button .ui-icon svg {
    height: 16px !important;
    width: 16px !important;
}

/* Universal surfaces */
.home-hero,
.home-hero-v2,
.home-hero-visual-card,
.listing-heading,
.category-tabs,
.filters,
.filter-panel,
.product-card,
.guide-card,
.home-guide-grid a,
.home-category-grid a,
.home-focus-strip a,
.home-photo-band article,
.offers-table,
.spec-card,
.best-price,
.product-tools > *,
.related-products,
.footer-intro,
.footer-seo-directory,
.footer-main {
    background: var(--ec-surface) !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: var(--ec-radius) !important;
    box-shadow: var(--ec-shadow) !important;
}

.product-card:hover,
.guide-card:hover,
.home-guide-grid a:hover,
.home-category-grid a:hover,
.home-focus-strip a:hover {
    border-color: var(--ec-line-2) !important;
    box-shadow: var(--ec-shadow-hover) !important;
    transform: translateY(-1px) !important;
}

.listing-heading {
    border-left: 0 !important;
    border-top: 4px solid var(--ec-blue) !important;
    overflow: hidden !important;
    padding: clamp(26px, 3vw, 44px) !important;
}

.listing-heading::before,
.listing-heading::after {
    display: none !important;
}

.listing-heading p,
.home-hero p,
.product-copy p,
.guide-card p,
.footer p {
    color: var(--ec-muted) !important;
}

/* Pills, tabs, filters and pagination */
.category-tabs {
    background: #FFFFFF !important;
    display: flex !important;
    gap: 8px !important;
    padding: 10px !important;
}

.category-tabs a,
.sort-tabs button,
.pagination a,
.pagination .pagination-links span,
.active-filters a,
.product-actions button,
.meta-actions button,
.meta-actions a,
.product-tools button,
.product-hero button,
.guide-card-link {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    color: var(--ec-ink) !important;
    font-weight: 750 !important;
}

.category-tabs a:hover,
.sort-tabs button:hover,
.pagination a:hover,
.active-filters a:hover,
.product-actions button:hover,
.meta-actions button:hover,
.meta-actions a:hover,
.product-tools button:hover,
.guide-card-link:hover {
    background: #F3F9FC !important;
    border-color: var(--ec-line-2) !important;
    color: var(--ec-blue) !important;
}

.category-tabs a.active,
.sort-tabs button.active,
.pagination .is-current {
    background: var(--ec-blue) !important;
    border-color: var(--ec-blue) !important;
    color: #FFFFFF !important;
}

.category-tabs a.active span,
.sort-tabs button.active span {
    color: #FFFFFF !important;
}

.filters {
    overflow: hidden !important;
}

.filter-head {
    background: var(--ec-blue-2) !important;
    border: 0 !important;
    border-bottom: 3px solid var(--ec-blue) !important;
    border-radius: 0 !important;
    color: #FFFFFF !important;
    padding: 18px 20px !important;
}

.filter-head strong,
.filter-head span,
.filter-head a {
    color: #FFFFFF !important;
}

.filters section {
    background: #FFFFFF !important;
    border-bottom: 1px solid var(--ec-line) !important;
    padding: 18px 20px !important;
}

.filters h3,
.filters summary {
    color: var(--ec-ink) !important;
    font-weight: 800 !important;
}

.filters label {
    color: var(--ec-text) !important;
    gap: 10px !important;
}

input[type="checkbox"],
input[type="radio"] {
    accent-color: var(--ec-blue) !important;
}

.pagination {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: var(--ec-radius) !important;
    box-shadow: var(--ec-shadow) !important;
    justify-content: space-between !important;
    padding: 14px 16px !important;
}

.pagination-status {
    color: var(--ec-ink) !important;
}

/* Product cards */
.results {
    align-items: stretch !important;
}

.product-card {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100% !important;
    overflow: hidden !important;
}

.product-card .product-image,
.product-image {
    background: #FFFFFF !important;
    border-bottom: 1px solid var(--ec-line) !important;
    min-height: 170px !important;
}

.product-card img {
    object-fit: contain !important;
}

.product-card h2,
.product-card h2 a {
    color: var(--ec-ink) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
}

.rating-stars,
.stars,
.review-stars {
    color: var(--ec-star) !important;
}

.price-panel {
    background: #FBFDFE !important;
    border-top: 1px solid var(--ec-line) !important;
    margin-top: auto !important;
}

.price-panel strong,
.price,
.best-price strong,
.offer-price strong {
    color: var(--ec-ink) !important;
    font-weight: 850 !important;
}

.price-panel a,
.best-price a,
.offer-row a,
.cta-primary,
.home-deal-grid .price-panel a {
    align-items: center !important;
    background: var(--ec-blue) !important;
    border: 1px solid var(--ec-blue) !important;
    border-radius: 8px !important;
    color: #FFFFFF !important;
    display: inline-flex !important;
    font-weight: 800 !important;
    justify-content: center !important;
}

.price-panel a:hover,
.best-price a:hover,
.offer-row a:hover,
.cta-primary:hover,
.home-deal-grid .price-panel a:hover {
    background: var(--ec-blue-dark) !important;
    border-color: var(--ec-blue-dark) !important;
    color: #FFFFFF !important;
}

.deal-label,
.badge,
.product-card .badge {
    background: var(--ec-blue) !important;
    border-radius: 999px !important;
    color: #FFFFFF !important;
    display: inline-flex !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    padding: 6px 10px !important;
    width: auto !important;
}

/* Home visuals */
.home-section {
    margin-top: 26px !important;
}

.home-focus-strip a {
    border-top: 3px solid var(--ec-blue) !important;
}

.home-photo-band article {
    background: #061F3A !important;
    box-shadow: var(--ec-shadow) !important;
}

.home-photo-band article::after {
    background: rgba(6, 31, 58, .46) !important;
}

.home-photo-band article > div {
    background: rgba(6, 31, 58, .88) !important;
    border-left: 4px solid var(--ec-blue) !important;
}

.home-photo-band h2,
.home-photo-band p {
    color: #FFFFFF !important;
}

/* Product detail */
.product-hero {
    background: #FFFFFF !important;
    border-top: 4px solid var(--ec-blue) !important;
}

.product-media,
.product-gallery-main {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: var(--ec-radius) !important;
}

.product-tools {
    gap: 14px !important;
}

.product-tools .ui-icon,
.best-price-benefits .ui-icon,
.footer-trust .ui-icon,
.choice-list .ui-icon {
    background: #EAF4FA !important;
    border: 1px solid #BDD3E4 !important;
    border-radius: 999px !important;
    color: var(--ec-blue) !important;
}

.offer-row {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: var(--ec-radius) !important;
}

/* Footer */
.footer {
    background: #0B5C88 !important;
    border-top: 4px solid var(--ec-blue) !important;
    color: #FFFFFF !important;
}

.footer *,
.footer a,
.footer h2,
.footer h3,
.footer p,
.footer small {
    color: #FFFFFF !important;
}

.footer-intro,
.footer-main,
.footer-seo-directory {
    background: rgba(255, 255, 255, .08) !important;
    border-color: rgba(255, 255, 255, .18) !important;
    box-shadow: none !important;
}

.footer a:hover {
    color: #C8F1D8 !important;
}

.footer-cta {
    background: #FFFFFF !important;
    border: 1px solid #FFFFFF !important;
    border-radius: 8px !important;
    color: var(--ec-blue) !important;
}

.footer-cta * {
    color: var(--ec-blue) !important;
}

/* Responsive harmony */
@media (max-width: 1180px) {
    .header-main {
        grid-template-columns: 220px minmax(280px, 1fr) auto !important;
    }

    .feed-menu {
        overflow-x: auto !important;
        scrollbar-width: none !important;
    }

    .feed-menu::-webkit-scrollbar {
        display: none !important;
    }
}

@media (max-width: 900px) {
    .header-main {
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 12px !important;
        min-height: auto !important;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .brand,
    .brand-logo {
        width: 190px !important;
    }

    .brand-logo img {
        max-width: 190px !important;
        max-height: 34px !important;
    }

    .top-search {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        width: 100% !important;
    }

    .header-main .main-nav {
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
        justify-content: flex-start !important;
        overflow-x: auto !important;
        padding-bottom: 2px !important;
    }

    .mobile-menu-toggle {
        align-items: center !important;
        background: var(--ec-blue) !important;
        border: 1px solid var(--ec-blue) !important;
        border-radius: 8px !important;
        color: #FFFFFF !important;
        display: inline-flex !important;
        font-weight: 800 !important;
        height: 42px !important;
        justify-content: center !important;
        padding: 0 14px !important;
    }

    .site-header:not(.menu-open) .feed-menu {
        display: none !important;
    }

    .site-header.menu-open .feed-menu {
        align-items: stretch !important;
        background: #FFFFFF !important;
        border-top: 1px solid var(--ec-line) !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        max-height: calc(100vh - 190px) !important;
        overflow-y: auto !important;
        padding: 12px 18px 18px !important;
    }

    .feed-menu > a,
    .feed-menu summary {
        justify-content: flex-start !important;
        width: 100% !important;
    }

    .feed-menu .menu-fill {
        display: none !important;
    }

    h1,
    .listing-heading h1,
    .listing-heading h2 {
        font-size: clamp(30px, 8vw, 40px) !important;
    }

    .pagination {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
}

@media (max-width: 620px) {
    body {
        font-size: 15px !important;
    }

    .header-main,
    .page-shell,
    .home-section,
    .listing-heading,
    .category-tabs,
    .product-hero,
    .product-tools,
    .detail-layout,
    .related-products {
        max-width: calc(100% - 24px) !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .category-tabs,
    .sort-tabs,
    .pagination-links {
        overflow-x: auto !important;
        white-space: nowrap !important;
    }

    .top-search {
        height: 48px !important;
    }

    .top-search button {
        padding: 0 12px !important;
    }
}

/* Final specificity pass: remove remaining legacy colors */
.listing-heading {
    border-top: 4px solid var(--ec-blue) !important;
    border-right: 1px solid var(--ec-line) !important;
    border-bottom: 1px solid var(--ec-line) !important;
    border-left: 1px solid var(--ec-line) !important;
}

.filter-head {
    box-shadow: none !important;
}

.results .product-card,
.deal-grid .product-card,
article.product-card {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: var(--ec-radius) !important;
    box-shadow: var(--ec-shadow) !important;
}

.results .product-card:hover,
.deal-grid .product-card:hover,
article.product-card:hover {
    border-color: var(--ec-line-2) !important;
    box-shadow: var(--ec-shadow-hover) !important;
}

article.product-card .price-panel,
.results .product-card .price-panel,
.deal-grid .product-card .price-panel {
    background: #FBFDFE !important;
    border-top: 1px solid var(--ec-line) !important;
}

article.product-card .price-panel a,
.results .product-card .price-panel a,
.deal-grid .product-card .price-panel a,
.home-deal-grid article.product-card .price-panel a,
.related-products article.product-card .price-panel a {
    background: var(--ec-blue) !important;
    border: 1px solid var(--ec-blue) !important;
    border-radius: 8px !important;
    color: #FFFFFF !important;
    font-weight: 850 !important;
    min-height: 42px !important;
}

article.product-card .price-panel a:hover,
.results .product-card .price-panel a:hover,
.deal-grid .product-card .price-panel a:hover,
.home-deal-grid article.product-card .price-panel a:hover,
.related-products article.product-card .price-panel a:hover {
    background: var(--ec-blue-dark) !important;
    border-color: var(--ec-blue-dark) !important;
    color: #FFFFFF !important;
}

.feed-menu {
    gap: 4px !important;
}

.feed-menu > a,
.feed-menu summary {
    font-size: 13.5px !important;
    padding: 0 10px !important;
}

.feed-menu .ui-icon {
    height: 16px !important;
    width: 16px !important;
}

.feed-menu .ui-icon svg {
    height: 15px !important;
    width: 15px !important;
}

.header-main .main-nav .nav-counter {
    gap: 6px !important;
}

/* Product card layout repair */
article.product-card,
.results article.product-card,
.deal-grid article.product-card {
    align-self: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    overflow: hidden !important;
    text-align: left !important;
}

article.product-card .product-image,
.results article.product-card .product-image,
.deal-grid article.product-card .product-image {
    align-items: center !important;
    aspect-ratio: 4 / 2.35 !important;
    background: #FFFFFF !important;
    border: 0 !important;
    border-bottom: 1px solid var(--ec-line) !important;
    border-radius: 0 !important;
    display: flex !important;
    height: auto !important;
    justify-content: center !important;
    min-height: 168px !important;
    padding: 16px !important;
    width: 100% !important;
}

article.product-card .product-image img {
    display: block !important;
    height: 100% !important;
    max-height: 150px !important;
    max-width: 92% !important;
    object-fit: contain !important;
    width: 100% !important;
}

article.product-card .product-copy {
    align-items: flex-start !important;
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 18px 16px 14px !important;
    text-align: left !important;
    width: 100% !important;
}

article.product-card .product-meta,
article.product-card .product-copy p {
    display: none !important;
}

article.product-card h2 {
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    display: -webkit-box !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    min-height: 60px !important;
    overflow: hidden !important;
    width: 100% !important;
}

article.product-card h2 a {
    color: var(--ec-ink) !important;
}

article.product-card .score-line {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    min-height: 22px !important;
    width: 100% !important;
}

article.product-card .product-kind,
article.product-card .product-brand {
    display: none !important;
}

article.product-card .product-actions {
    align-items: center !important;
    display: flex !important;
    gap: 8px !important;
    margin-top: auto !important;
    width: 100% !important;
}

article.product-card .product-actions button {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 7px !important;
    color: var(--ec-muted) !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    height: 32px !important;
    padding: 0 12px !important;
}

article.product-card .product-actions button:hover {
    background: #F3F9FC !important;
    border-color: var(--ec-line-2) !important;
    color: var(--ec-blue) !important;
}

article.product-card .price-panel,
.results article.product-card .price-panel,
.deal-grid article.product-card .price-panel {
    align-items: flex-start !important;
    background: #FBFDFE !important;
    border-top: 1px solid var(--ec-line) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 16px !important;
    text-align: left !important;
    width: 100% !important;
}

article.product-card .price-panel small,
article.product-card .price-panel span {
    color: var(--ec-muted) !important;
    display: block !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    text-align: left !important;
    width: 100% !important;
}

article.product-card .price-panel strong {
    color: var(--ec-ink) !important;
    display: block !important;
    font-size: 22px !important;
    font-weight: 850 !important;
    line-height: 1.1 !important;
    margin: 4px 0 2px !important;
    text-align: left !important;
    width: 100% !important;
}

article.product-card .price-panel a,
.results article.product-card .price-panel a,
.deal-grid article.product-card .price-panel a {
    align-items: center !important;
    display: flex !important;
    height: 42px !important;
    justify-content: center !important;
    margin-top: 6px !important;
    padding: 0 16px !important;
    text-align: center !important;
    width: 100% !important;
}

article.product-card .price-panel a::after {
    content: "" !important;
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    border: solid currentColor !important;
    border-width: 2px 2px 0 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    margin-left: 8px !important;
    transform: rotate(45deg) !important;
}
/* Guide detail visual repair */
article.product-card .price-panel a::after {
    border-right: 2px solid currentColor !important;
    border-top: 2px solid currentColor !important;
    content: "" !important;
    display: inline-block !important;
    font-size: 0 !important;
    height: 8px !important;
    margin-left: 10px !important;
    transform: rotate(45deg) !important;
    width: 8px !important;
}

.guide-hero,
.guide-content,
.guide-products,
.guide-related,
.guide-jump-nav {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: var(--ec-radius) !important;
    box-shadow: var(--ec-shadow) !important;
}

.guide-hero {
    align-items: stretch !important;
    gap: 28px !important;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 330px) !important;
    padding: clamp(28px, 4vw, 44px) !important;
}

.guide-hero h1 {
    color: var(--ec-ink) !important;
    font-size: clamp(36px, 3.6vw, 56px) !important;
    font-weight: 850 !important;
    line-height: 1.06 !important;
}

.guide-hero p {
    color: var(--ec-muted) !important;
    font-size: 17px !important;
    line-height: 1.65 !important;
    max-width: 980px !important;
}

.guide-hero-actions {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 22px !important;
}

.guide-hero-actions a,
.guide-featured-product a,
.guide-jump-nav > a {
    align-items: center !important;
    border-radius: 8px !important;
    display: inline-flex !important;
    font-size: 15px !important;
    font-weight: 850 !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 0 18px !important;
    text-align: center !important;
    white-space: nowrap !important;
}

.guide-hero-actions a:first-child,
.guide-featured-product a,
.guide-jump-nav > a {
    background: var(--ec-blue) !important;
    border: 1px solid var(--ec-blue) !important;
    color: #FFFFFF !important;
}

.guide-hero-actions a:first-child:hover,
.guide-featured-product a:hover,
.guide-jump-nav > a:hover {
    background: var(--ec-blue-dark) !important;
    border-color: var(--ec-blue-dark) !important;
    color: #FFFFFF !important;
}

.guide-hero-actions a:not(:first-child) {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    color: var(--ec-blue) !important;
}

.guide-hero-actions a:not(:first-child):hover {
    background: #F3F9FC !important;
    border-color: var(--ec-line-2) !important;
    color: var(--ec-blue-dark) !important;
}

.guide-featured-product {
    background: #F8FBFD !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: var(--ec-radius) !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    padding: 16px !important;
}

.guide-featured-product span {
    color: var(--ec-blue-2) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    text-transform: uppercase !important;
}

.guide-featured-product img {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 8px !important;
    height: 150px !important;
    object-fit: contain !important;
    padding: 12px !important;
    width: 100% !important;
}

.guide-featured-product h2 {
    color: var(--ec-ink) !important;
    font-size: 17px !important;
    line-height: 1.25 !important;
    margin: 0 !important;
}

.guide-featured-product strong {
    color: var(--ec-ink) !important;
    font-size: 26px !important;
    font-weight: 850 !important;
}

.guide-jump-nav {
    align-items: center !important;
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    margin-top: 24px !important;
    padding: 16px !important;
}

.guide-jump-nav div {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    min-width: 0 !important;
}

.guide-jump-nav span {
    color: var(--ec-ink) !important;
    font-weight: 850 !important;
    margin-right: 2px !important;
}

.guide-jump-nav div a {
    background: #F7FAFC !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 999px !important;
    color: var(--ec-blue) !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
    padding: 9px 14px !important;
}

.guide-jump-nav div a:hover {
    background: #EAF4FA !important;
    border-color: #BDD3E4 !important;
    color: var(--ec-blue-dark) !important;
}

@media (max-width: 900px) {
    .guide-hero {
        grid-template-columns: 1fr !important;
    }

    .guide-jump-nav {
        grid-template-columns: 1fr !important;
    }

    .guide-jump-nav > a {
        width: 100% !important;
    }
}

/* Final typography normalization */
:root {
    --ec-font: "Poppins", "Helvetica Neue", Arial, sans-serif;
}

html,
body,
body *,
button,
input,
select,
textarea {
    font-family: var(--ec-font) !important;
    letter-spacing: 0 !important;
}

body {
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
}

h1,
h2,
h3,
h4,
.product-title,
.product-card h2,
.product-card h2 a,
.guide-hero h1,
.listing-heading h1,
.listing-heading h2,
.home-hero h1,
.related-products .section-head h2 {
    font-family: var(--ec-font) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

h1,
.guide-hero h1,
.product-hero h1,
.listing-heading h1,
.listing-heading h2 {
    font-size: clamp(34px, 3vw, 46px) !important;
    line-height: 1.12 !important;
}

h2,
.related-products .section-head h2 {
    font-size: clamp(25px, 2.2vw, 34px) !important;
    line-height: 1.18 !important;
}

h3,
h4 {
    font-weight: 700 !important;
}

p,
li,
label,
summary,
small,
.product-copy,
.product-copy p,
.guide-hero p,
.guide-content p,
.product-hero p,
.footer p {
    font-family: var(--ec-font) !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}

.eyebrow,
.listing-heading .eyebrow,
.section-head .eyebrow,
.guide-featured-product span,
.footer-eyebrow {
    font-family: var(--ec-font) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

.feed-menu > a,
.feed-menu summary,
.header-main .main-nav a,
.top-search button,
.hero-search button,
.category-tabs a,
.sort-tabs button,
.pagination a,
.guide-hero-actions a,
.guide-jump-nav a,
.product-actions button,
.product-tools button,
.price-panel a,
.best-price a,
.offer-row a {
    font-family: var(--ec-font) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

.price-panel strong,
.best-price strong,
.offer-price strong,
.guide-featured-product strong {
    font-family: var(--ec-font) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

.score-summary strong,
.rating-score,
.review-score {
    font-family: var(--ec-font) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

body .product-hero h1,
body .product-hero h2,
body .breadcrumbs,
body .breadcrumbs *,
body .product-hero .eyebrow,
body .product-hero p,
body .product-copy,
body .product-copy *,
body .best-price,
body .best-price *,
body .product-tools,
body .product-tools * {
    font-family: var(--ec-font) !important;
    letter-spacing: 0 !important;
}

body .product-hero h1 {
    font-weight: 700 !important;
}

body .breadcrumbs,
body .breadcrumbs * {
    font-size: 13px !important;
    font-weight: 700 !important;
}

/* Thuisbatterij SEO depth blocks */
.thuisbatterij-seo-rocket .battery-seo-grid-3 {
    display: grid !important;
    gap: 16px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin-top: 22px !important;
}

.thuisbatterij-seo-rocket .battery-seo-grid-3 article,
.thuisbatterij-seo-rocket .battery-capacity-table,
.thuisbatterij-seo-rocket .battery-compare-table {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: var(--ec-radius) !important;
    box-shadow: var(--ec-shadow) !important;
    padding: 22px !important;
}

.thuisbatterij-seo-rocket .battery-seo-grid-3 h3,
.thuisbatterij-seo-rocket .battery-capacity-table h3,
.thuisbatterij-seo-rocket .battery-compare-table h3 {
    color: var(--ec-ink) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    margin: 0 0 10px !important;
}

.thuisbatterij-seo-rocket .battery-seo-grid-3 p,
.thuisbatterij-seo-rocket .battery-capacity-table p,
.thuisbatterij-seo-rocket .battery-compare-table p {
    color: var(--ec-muted) !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
    margin: 0 !important;
}

.thuisbatterij-seo-rocket .battery-capacity-table,
.thuisbatterij-seo-rocket .battery-compare-table {
    margin-top: 22px !important;
}

.thuisbatterij-seo-rocket .battery-capacity-table p,
.thuisbatterij-seo-rocket .battery-compare-table p {
    margin-bottom: 16px !important;
    max-width: 980px !important;
}

.thuisbatterij-seo-rocket .battery-table-wrap {
    border: 1px solid var(--ec-line) !important;
    border-radius: var(--ec-radius) !important;
    overflow: hidden !important;
}

.thuisbatterij-seo-rocket table {
    border-collapse: collapse !important;
    width: 100% !important;
}

.thuisbatterij-seo-rocket th {
    background: #F3F9FC !important;
    color: var(--ec-ink) !important;
    font-weight: 700 !important;
    text-align: left !important;
}

.thuisbatterij-seo-rocket td,
.thuisbatterij-seo-rocket th {
    border-bottom: 1px solid var(--ec-line) !important;
    padding: 14px 16px !important;
    vertical-align: top !important;
}

.thuisbatterij-seo-rocket tr:last-child td {
    border-bottom: 0 !important;
}

.thuisbatterij-seo-rocket td a {
    color: var(--ec-blue) !important;
    font-weight: 700 !important;
}

.thuisbatterij-seo-rocket td a:hover {
    color: var(--ec-blue-dark) !important;
}

@media (max-width: 900px) {
    .thuisbatterij-seo-rocket .battery-seo-grid-3 {
        grid-template-columns: 1fr !important;
    }

    .thuisbatterij-seo-rocket .battery-table-wrap {
        overflow-x: auto !important;
    }

    .thuisbatterij-seo-rocket table {
        min-width: 680px !important;
    }
}

/* Plug-in thuisbatterij SEO blocks */
.stekkerbatterij-seo-rocket {
    border-top: 4px solid var(--ec-blue-dark) !important;
}

.stekkerbatterij-seo-rocket .plug-battery-lead,
.stekkerbatterij-seo-rocket .plug-battery-safety {
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr) !important;
    margin-top: 22px !important;
}

.stekkerbatterij-seo-rocket .plug-battery-grid {
    display: grid !important;
    gap: 16px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    margin-top: 22px !important;
}

.stekkerbatterij-seo-rocket .plug-battery-lead article,
.stekkerbatterij-seo-rocket .plug-battery-lead aside,
.stekkerbatterij-seo-rocket .plug-battery-grid article,
.stekkerbatterij-seo-rocket .plug-battery-table,
.stekkerbatterij-seo-rocket .plug-battery-safety article,
.stekkerbatterij-seo-rocket .plug-battery-guide-row {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: var(--ec-radius) !important;
    box-shadow: var(--ec-shadow) !important;
    padding: 22px !important;
}

.stekkerbatterij-seo-rocket h3 {
    color: var(--ec-ink) !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.22 !important;
    margin: 0 0 10px !important;
}

.stekkerbatterij-seo-rocket p,
.stekkerbatterij-seo-rocket li,
.stekkerbatterij-seo-rocket td,
.stekkerbatterij-seo-rocket th {
    color: var(--ec-text) !important;
    font-size: 16px !important;
    line-height: 1.62 !important;
}

.stekkerbatterij-seo-rocket p {
    color: var(--ec-muted) !important;
    margin: 0 0 12px !important;
}

.stekkerbatterij-seo-rocket p:last-child {
    margin-bottom: 0 !important;
}

.stekkerbatterij-seo-rocket ul {
    display: grid !important;
    gap: 10px !important;
    list-style: none !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
}

.stekkerbatterij-seo-rocket li {
    padding-left: 24px !important;
    position: relative !important;
}

.stekkerbatterij-seo-rocket li::before {
    background: var(--ec-blue-dark) !important;
    border-radius: 999px !important;
    content: "" !important;
    height: 8px !important;
    left: 3px !important;
    position: absolute !important;
    top: .65em !important;
    width: 8px !important;
}

.stekkerbatterij-seo-rocket .plug-battery-links {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

.stekkerbatterij-seo-rocket .plug-battery-links a {
    align-items: center !important;
    background: #F7FBFE !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 999px !important;
    color: var(--ec-blue) !important;
    display: inline-flex !important;
    font-weight: 800 !important;
    min-height: 38px !important;
    padding: 8px 14px !important;
    text-decoration: none !important;
}

.stekkerbatterij-seo-rocket .plug-battery-links a:hover {
    background: var(--ec-blue) !important;
    border-color: var(--ec-blue) !important;
    color: #FFFFFF !important;
}

.stekkerbatterij-seo-rocket .plug-battery-table {
    margin-top: 22px !important;
}

.stekkerbatterij-seo-rocket .battery-table-wrap {
    border: 1px solid var(--ec-line) !important;
    border-radius: var(--ec-radius) !important;
    overflow: hidden !important;
}

.stekkerbatterij-seo-rocket table {
    border-collapse: collapse !important;
    width: 100% !important;
}

.stekkerbatterij-seo-rocket th {
    background: #F3F9FC !important;
    color: var(--ec-ink) !important;
    font-weight: 800 !important;
    text-align: left !important;
}

.stekkerbatterij-seo-rocket td,
.stekkerbatterij-seo-rocket th {
    border-bottom: 1px solid var(--ec-line) !important;
    padding: 14px 16px !important;
    vertical-align: top !important;
}

.stekkerbatterij-seo-rocket tr:last-child td {
    border-bottom: 0 !important;
}

.stekkerbatterij-seo-rocket td a {
    color: var(--ec-blue) !important;
    font-weight: 800 !important;
}

.stekkerbatterij-seo-rocket .plug-battery-guide-row {
    margin-top: 22px !important;
}

@media (max-width: 1000px) {
    .stekkerbatterij-seo-rocket .plug-battery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .stekkerbatterij-seo-rocket .plug-battery-lead,
    .stekkerbatterij-seo-rocket .plug-battery-safety,
    .stekkerbatterij-seo-rocket .plug-battery-grid {
        grid-template-columns: 1fr !important;
    }

    .stekkerbatterij-seo-rocket .battery-table-wrap {
        overflow-x: auto !important;
    }

    .stekkerbatterij-seo-rocket table {
        min-width: 720px !important;
    }
}

/* Acculader SEO depth blocks */
.acculader-seo-rocket {
    border-top: 4px solid var(--ec-blue-dark) !important;
}

.acculader-seo-rocket .charger-intro-grid,
.acculader-seo-rocket .charger-advice-grid {
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr) !important;
    margin-top: 22px !important;
}

.acculader-seo-rocket .charger-seo-grid {
    display: grid !important;
    gap: 16px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin-top: 22px !important;
}

.acculader-seo-rocket .charger-intro-grid article,
.acculader-seo-rocket .charger-intro-grid aside,
.acculader-seo-rocket .charger-seo-grid article,
.acculader-seo-rocket .charger-table-block,
.acculader-seo-rocket .charger-advice-grid article {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: var(--ec-radius) !important;
    box-shadow: var(--ec-shadow) !important;
    padding: 22px !important;
}

.acculader-seo-rocket h3 {
    color: var(--ec-ink) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.22 !important;
    margin: 0 0 10px !important;
}

.acculader-seo-rocket p,
.acculader-seo-rocket li {
    color: var(--ec-muted) !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
}

.acculader-seo-rocket p {
    margin: 0 0 12px !important;
}

.acculader-seo-rocket p:last-child {
    margin-bottom: 0 !important;
}

.acculader-seo-rocket ul {
    display: grid !important;
    gap: 10px !important;
    list-style: none !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
}

.acculader-seo-rocket li {
    padding-left: 24px !important;
    position: relative !important;
}

.acculader-seo-rocket li::before {
    background: var(--ec-blue-dark) !important;
    border-radius: 999px !important;
    content: "" !important;
    height: 8px !important;
    left: 3px !important;
    position: absolute !important;
    top: .65em !important;
    width: 8px !important;
}

.acculader-seo-rocket .charger-link-cloud,
.acculader-seo-rocket .charger-guide-links {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

.acculader-seo-rocket .charger-link-cloud a,
.acculader-seo-rocket .charger-guide-links a {
    align-items: center !important;
    background: #F7FBFE !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 999px !important;
    color: var(--ec-blue) !important;
    display: inline-flex !important;
    font-weight: 700 !important;
    min-height: 38px !important;
    padding: 8px 14px !important;
    text-decoration: none !important;
}

.acculader-seo-rocket .charger-link-cloud a:hover,
.acculader-seo-rocket .charger-guide-links a:hover {
    background: var(--ec-blue) !important;
    border-color: var(--ec-blue) !important;
    color: #FFFFFF !important;
}

.acculader-seo-rocket .charger-table-block {
    margin-top: 22px !important;
}

.acculader-seo-rocket .charger-table-wrap {
    border: 1px solid var(--ec-line) !important;
    border-radius: var(--ec-radius) !important;
    overflow: hidden !important;
}

.acculader-seo-rocket table {
    border-collapse: collapse !important;
    width: 100% !important;
}

.acculader-seo-rocket th {
    background: #F3F9FC !important;
    color: var(--ec-ink) !important;
    font-weight: 700 !important;
    text-align: left !important;
}

.acculader-seo-rocket td,
.acculader-seo-rocket th {
    border-bottom: 1px solid var(--ec-line) !important;
    color: var(--ec-text) !important;
    padding: 14px 16px !important;
    vertical-align: top !important;
}

.acculader-seo-rocket tr:last-child td {
    border-bottom: 0 !important;
}

.acculader-seo-rocket td a {
    color: var(--ec-blue) !important;
    font-weight: 700 !important;
}

.acculader-seo-rocket .charger-guide-links {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: var(--ec-radius) !important;
    box-shadow: var(--ec-shadow) !important;
    margin-top: 22px !important;
    padding: 18px !important;
}

@media (max-width: 900px) {
    .acculader-seo-rocket .charger-intro-grid,
    .acculader-seo-rocket .charger-advice-grid,
    .acculader-seo-rocket .charger-seo-grid {
        grid-template-columns: 1fr !important;
    }

    .acculader-seo-rocket .charger-table-wrap {
        overflow-x: auto !important;
    }

.acculader-seo-rocket table {
        min-width: 720px !important;
    }
}

/* Footer rebuild: one consistent component, no inherited broken contrast */
body .footer {
    background: #0F5F88 !important;
    border-top: 1px solid #0B4F73 !important;
    color: #FFFFFF !important;
    font-family: var(--ec-font) !important;
    margin: 48px 0 0 !important;
    padding: 48px clamp(18px, 4vw, 58px) 28px !important;
}

body .footer,
body .footer * {
    box-sizing: border-box !important;
    letter-spacing: 0 !important;
}

body .footer-intro,
body .footer-trust,
body .footer-main,
body .footer-seo-directory,
body .footer-bottom {
    border-radius: 12px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 1440px !important;
    width: 100% !important;
}

body .footer-intro {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(255, 255, 255, .55) !important;
    box-shadow: 0 18px 44px rgba(0, 35, 76, .18) !important;
    color: var(--ec-ink) !important;
    display: grid !important;
    gap: 28px !important;
    grid-template-columns: 240px minmax(0, 1fr) auto !important;
    padding: 28px 32px !important;
}

body .footer-brand {
    align-items: flex-start !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    min-width: 0 !important;
}

body .footer-brand img {
    background: #FFFFFF !important;
    display: block !important;
    height: auto !important;
    max-height: 58px !important;
    max-width: 210px !important;
    object-fit: contain !important;
    width: auto !important;
}

body .footer-brand span,
body .footer-eyebrow {
    color: #0F5F88 !important;
    display: block !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-transform: uppercase !important;
}

body .footer-intro h2 {
    color: var(--ec-ink) !important;
    font-size: clamp(28px, 3vw, 42px) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    margin: 6px 0 12px !important;
    max-width: 760px !important;
}

body .footer-intro p {
    color: var(--ec-muted) !important;
    font-size: 17px !important;
    line-height: 1.65 !important;
    margin: 0 !important;
    max-width: 820px !important;
}

body .footer-cta {
    align-items: center !important;
    align-self: center !important;
    background: #225FBD !important;
    border: 1px solid #225FBD !important;
    border-radius: 999px !important;
    box-shadow: 0 12px 24px rgba(0, 59, 112, .18) !important;
    color: #FFFFFF !important;
    display: inline-flex !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    gap: 10px !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 12px 20px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

body .footer-cta:hover {
    background: #003B70 !important;
    border-color: #003B70 !important;
    color: #FFFFFF !important;
    transform: translateY(-1px) !important;
}

body .footer-cta .ui-icon {
    background: rgba(255, 255, 255, .16) !important;
    border: 1px solid rgba(255, 255, 255, .32) !important;
    border-radius: 999px !important;
    color: #FFFFFF !important;
    display: inline-flex !important;
    flex: 0 0 28px !important;
    height: 28px !important;
    width: 28px !important;
}

body .footer-trust {
    display: grid !important;
    gap: 16px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    margin-top: 22px !important;
}

body .footer-trust > span {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(255, 255, 255, .7) !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 30px rgba(0, 35, 76, .15) !important;
    color: var(--ec-text) !important;
    display: grid !important;
    gap: 4px 14px !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    min-height: 92px !important;
    padding: 18px !important;
}

body .footer-trust .ui-icon {
    align-items: center !important;
    align-self: center !important;
    background: #EAF4FA !important;
    border: 1px solid #BDD3E4 !important;
    border-radius: 999px !important;
    color: #225FBD !important;
    display: inline-flex !important;
    grid-row: 1 / span 2 !important;
    height: 44px !important;
    justify-content: center !important;
    width: 44px !important;
}

body .footer-trust .ui-icon svg,
body .footer-cta .ui-icon svg {
    display: block !important;
    height: 18px !important;
    margin: 0 !important;
    stroke: currentColor !important;
    width: 18px !important;
}

body .footer-trust > span > strong {
    color: var(--ec-ink) !important;
    display: block !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

body .footer-trust > span > small {
    color: var(--ec-muted) !important;
    display: block !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

body .footer-main,
body .footer-seo-directory {
    background: rgba(255, 255, 255, .08) !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    box-shadow: none !important;
    color: #FFFFFF !important;
    margin-top: 24px !important;
    padding: 26px 28px !important;
}

body .footer-main {
    display: grid !important;
    gap: 28px !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

body .footer nav {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    min-width: 0 !important;
}

body .footer h3,
body .footer-seo-head span {
    color: #FFFFFF !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    margin: 0 0 8px !important;
    text-transform: uppercase !important;
}

body .footer a,
body .footer-seo-grid a {
    color: rgba(255, 255, 255, .9) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
}

body .footer a:hover,
body .footer-seo-grid a:hover {
    color: #FFFFFF !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

body .footer-seo-head {
    align-items: end !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 460px) !important;
    margin-bottom: 22px !important;
}

body .footer-seo-head h2 {
    color: #FFFFFF !important;
    font-size: clamp(24px, 2.4vw, 34px) !important;
    font-weight: 800 !important;
    line-height: 1.14 !important;
    margin: 4px 0 0 !important;
}

body .footer-seo-head p {
    color: rgba(255, 255, 255, .82) !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    margin: 0 !important;
}

body .footer-seo-grid {
    display: grid !important;
    gap: 16px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body .footer-seo-grid nav {
    background: rgba(255, 255, 255, .08) !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-radius: 10px !important;
    padding: 18px !important;
}

body .footer-bottom {
    align-items: center !important;
    color: rgba(255, 255, 255, .78) !important;
    display: flex !important;
    font-size: 14px !important;
    gap: 18px !important;
    justify-content: space-between !important;
    margin-top: 24px !important;
    padding-top: 20px !important;
}

body .footer-bottom div {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
}

@media (max-width: 1100px) {
    body .footer-intro {
        grid-template-columns: 1fr !important;
    }

    body .footer-cta {
        justify-self: start !important;
    }

    body .footer-trust,
    body .footer-main,
    body .footer-seo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body .footer-seo-head {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 680px) {
    body .footer {
        margin-top: 32px !important;
        padding: 32px 14px 22px !important;
    }

    body .footer-intro,
    body .footer-main,
    body .footer-seo-directory {
        padding: 22px !important;
    }

    body .footer-trust,
    body .footer-main,
    body .footer-seo-grid {
        grid-template-columns: 1fr !important;
    }

    body .footer-bottom {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
}

/* Absolute final alignment lock: same left/right grid for header, page content and footer. */
:root {
    --ec-layout-max: 1720px;
    --ec-layout-gutter: 24px;
    --ec-layout-width: min(calc(100% - (var(--ec-layout-gutter) * 2)), var(--ec-layout-max));
}

body .site-header,
body .footer {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body .header-main,
body .feed-menu,
body .page-shell,
body .home-shell,
body .footer-intro,
body .footer-trust,
body .footer-main,
body .footer-seo-directory,
body .footer-bottom {
    box-sizing: border-box !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: var(--ec-layout-max) !important;
    width: var(--ec-layout-width) !important;
}

body .header-main,
body .feed-menu,
body .page-shell,
body .home-shell {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body .footer-intro,
body .footer-main,
body .footer-seo-directory {
    padding-left: 24px !important;
    padding-right: 24px !important;
}

body .footer-bottom {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body .header-main {
    grid-template-columns: minmax(180px, 240px) minmax(280px, 1fr) auto !important;
}

@media (max-width: 760px) {
    :root {
        --ec-layout-gutter: 14px;
    }

    body .footer {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body .header-main,
    body .feed-menu,
    body .page-shell,
    body .home-shell {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body .footer-intro,
    body .footer-main,
    body .footer-seo-directory {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* EOF subtle lines lock: calmer borders without losing structure. */
:root {
    --ec-line-calm: rgba(0, 59, 112, .13);
    --ec-line-calm-2: rgba(0, 59, 112, .18);
    --ec-shadow-calm: 0 6px 16px rgba(7, 43, 73, .045);
    --ec-shadow-calm-hover: 0 10px 22px rgba(7, 43, 73, .075);
}

body .compare-intro,
body .listing-heading,
body .active-filters,
body .pagination,
body .pagination-top,
body .filters,
body .product-hero,
body .product-tools article,
body .offers-table,
body .spec-card,
body .related-products,
body .guide-hero,
body .guide-content,
body .guide-products,
body .guide-related,
body .guide-jump-nav,
body .guide-index-hero,
body article.product-card,
body .home-section,
body .home-hero-v2,
body .category-tabs,
body .sort-tabs,
body .sort-links {
    border-color: var(--ec-line-calm) !important;
    box-shadow: var(--ec-shadow-calm) !important;
}

body article.product-card:hover,
body .guide-card:hover,
body .home-guide-grid a:hover,
body .home-category-grid a:hover,
body .home-focus-strip a:hover {
    border-color: var(--ec-line-calm-2) !important;
    box-shadow: var(--ec-shadow-calm-hover) !important;
}

body article.product-card .product-image,
body article.product-card .price-panel,
body .price-panel,
body .offer-row,
body .spec-row,
body .filters form > section,
body .footer-bottom {
    border-color: rgba(0, 59, 112, .10) !important;
}

body .footer-intro,
body .footer-main,
body .footer-seo-directory,
body .footer-trust > span,
body .footer-seo-grid nav {
    border-color: rgba(255, 255, 255, .12) !important;
    box-shadow: none !important;
}

body .footer-intro {
    background: rgba(255, 255, 255, .075) !important;
}

body .footer-main,
body .footer-seo-directory,
body .footer-trust > span,
body .footer-seo-grid nav {
    background: rgba(255, 255, 255, .055) !important;
}

body .footer-trust .ui-icon,
body .footer-cta .ui-icon {
    border-color: rgba(255, 216, 77, .24) !important;
}

body .site-header {
    border-bottom-color: rgba(0, 59, 112, .12) !important;
    box-shadow: 0 2px 10px rgba(7, 43, 73, .045) !important;
}

body .feed-menu {
    border-top-color: rgba(0, 59, 112, .10) !important;
}

/* EOF absolute final filter/infinite-loading polish. */
body [data-catalog] {
    position: relative !important;
}

body [data-catalog].is-loading {
    min-height: 420px !important;
}

body [data-catalog].is-loading::before {
    content: "" !important;
    position: absolute !important;
    z-index: 30 !important;
    inset: 0 !important;
    pointer-events: none !important;
    background: rgba(239, 247, 252, .58) !important;
    opacity: 1 !important;
}

body [data-catalog].is-loading::after {
    content: "Resultaten laden..." !important;
    position: fixed !important;
    z-index: 31 !important;
    top: min(42vh, 360px) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 0 18px !important;
    border: 1px solid rgba(0, 59, 112, .16) !important;
    border-radius: 999px !important;
    background: #fff !important;
    box-shadow: 0 14px 36px rgba(7, 43, 73, .16) !important;
    color: #002b4c !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    opacity: 1 !important;
    pointer-events: none !important;
}

body .load-more-products.is-loading::before {
    content: "" !important;
    width: 22px !important;
    height: 22px !important;
    border: 3px solid rgba(15, 103, 148, .18) !important;
    border-top-color: #0f6794 !important;
    border-radius: 50% !important;
    animation: ec-spin .75s linear infinite !important;
}

@keyframes ec-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 760px) {
    body [data-catalog].is-loading::after {
        top: 48vh !important;
        width: max-content !important;
        max-width: calc(100vw - 40px) !important;
    }
}

/* EOF absolute final smooth load-more behaviour. */
body article.product-card.is-newly-loaded {
    opacity: 0 !important;
    transform: translateY(14px) !important;
}

body article.product-card.is-newly-loaded.is-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
    transition: opacity .34s ease, transform .34s ease, box-shadow .2s ease, border-color .2s ease !important;
}

body .load-more-products.is-manual-mode {
    background: #fff !important;
    border-color: rgba(0, 59, 112, .18) !important;
    box-shadow: 0 10px 26px rgba(7, 43, 73, .07) !important;
}

body .load-more-products.is-manual-mode p {
    color: #294761 !important;
}

body .load-more-products.is-manual-mode .load-more-button {
    background: #225FBD !important;
    border-color: #225FBD !important;
}

body .load-more-products.is-manual-mode .load-more-button:hover {
    background: #0f6794 !important;
    border-color: #0f6794 !important;
}

@media (prefers-reduced-motion: reduce) {
    body article.product-card.is-newly-loaded,
    body article.product-card.is-newly-loaded.is-visible {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* EOF final footer reset: calm, structured and readable. */
body .footer {
    margin-top: 56px !important;
    padding: 40px 0 0 !important;
    background: #07365a !important;
    color: #eaf4fb !important;
    border: 0 !important;
    box-shadow: none !important;
}

body .footer-intro,
body .footer-trust,
body .footer-main,
body .footer-seo-directory,
body .footer-bottom {
    width: var(--ec-layout-width) !important;
    max-width: var(--ec-layout-max) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body .footer-intro {
    display: grid !important;
    grid-template-columns: minmax(190px, 255px) minmax(0, 1fr) auto !important;
    gap: 28px !important;
    align-items: center !important;
    padding-top: 0 !important;
    padding-bottom: 28px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .14) !important;
}

body .footer-brand {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
}

body .footer-brand img {
    display: block !important;
    width: 205px !important;
    max-width: 100% !important;
    height: auto !important;
    padding: 8px 10px !important;
    border-radius: 6px !important;
    background: #fff !important;
}

body .footer-brand span,
body .footer-eyebrow {
    color: rgba(234, 244, 251, .72) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
}

body .footer-intro h2 {
    margin: 4px 0 8px !important;
    color: #fff !important;
    font-size: clamp(24px, 2vw, 32px) !important;
    line-height: 1.18 !important;
    letter-spacing: 0 !important;
}

body .footer-intro p,
body .footer-seo-head p {
    margin: 0 !important;
    color: rgba(234, 244, 251, .78) !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
}

body .footer-cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 44px !important;
    padding: 0 17px !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #07365a !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

body .footer-cta::after {
    display: none !important;
}

body .footer-cta:hover {
    background: #f3f8fc !important;
    color: #225FBD !important;
    transform: none !important;
}

body .footer-cta .ui-icon,
body .footer-trust .ui-icon {
    background: rgba(255, 255, 255, .08) !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    color: #fff !important;
    box-shadow: none !important;
}

body .footer-cta .ui-icon {
    background: #f3f8fc !important;
    border-color: rgba(7, 54, 90, .14) !important;
    color: #07365a !important;
}

body .footer-trust {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    padding: 20px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .12) !important;
}

body .footer-trust > span {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 12px !important;
    row-gap: 2px !important;
    align-items: start !important;
    padding: 0 22px !important;
    background: transparent !important;
    border: 0 !important;
    border-right: 1px solid rgba(255, 255, 255, .11) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body .footer-trust > span:first-child {
    padding-left: 0 !important;
}

body .footer-trust > span:last-child {
    padding-right: 0 !important;
    border-right: 0 !important;
}

body .footer-trust .ui-icon {
    grid-row: 1 / span 2 !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
}

body .footer-trust > span > strong {
    color: #fff !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
}

body .footer-trust > span > small {
    color: rgba(234, 244, 251, .7) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

body .footer-main,
body .footer-seo-directory {
    padding: 28px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .12) !important;
}

body .footer-main,
body .footer-seo-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 32px !important;
}

body .footer-main nav,
body .footer-seo-grid nav {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body .footer-main h3,
body .footer-seo-grid h3 {
    margin: 0 0 12px !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

body .footer-main a,
body .footer-seo-grid a,
body .footer-bottom a {
    display: block !important;
    padding: 5px 0 !important;
    color: rgba(234, 244, 251, .76) !important;
    font-size: 14px !important;
    font-weight: 550 !important;
    line-height: 1.45 !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 0 !important;
}

body .footer-main a:hover,
body .footer-seo-grid a:hover,
body .footer-bottom a:hover {
    color: #fff !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

body .footer-seo-head {
    max-width: 760px !important;
    margin: 0 0 20px !important;
}

body .footer-seo-head span {
    color: rgba(234, 244, 251, .7) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
}

body .footer-seo-head h2 {
    margin: 5px 0 8px !important;
    color: #fff !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
}

body .footer-bottom {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    padding: 17px 0 !important;
    border: 0 !important;
    color: rgba(234, 244, 251, .66) !important;
}

body .footer-bottom span {
    color: rgba(234, 244, 251, .66) !important;
    font-size: 13px !important;
}

body .footer-bottom div {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
}

body .footer-bottom a {
    padding: 0 !important;
    font-size: 13px !important;
}

@media (max-width: 1100px) {
    body .footer-intro {
        grid-template-columns: 1fr !important;
        align-items: start !important;
    }

    body .footer-cta {
        width: fit-content !important;
    }

    body .footer-trust,
    body .footer-main,
    body .footer-seo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body .footer-trust > span {
        padding: 14px 18px !important;
        border-bottom: 1px solid rgba(255, 255, 255, .1) !important;
    }

    body .footer-trust > span:nth-child(2) {
        border-right: 0 !important;
    }
}

@media (max-width: 760px) {
    body .footer {
        margin-top: 42px !important;
        padding-top: 30px !important;
    }

    body .footer-brand img {
        width: 188px !important;
    }

    body .footer-intro h2 {
        font-size: 24px !important;
    }

    body .footer-trust,
    body .footer-main,
    body .footer-seo-grid {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    body .footer-trust > span {
        padding: 14px 0 !important;
        border-right: 0 !important;
    }

    body .footer-main nav,
    body .footer-seo-grid nav {
        padding: 15px 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, .1) !important;
    }

    body .footer-main nav:last-child,
    body .footer-seo-grid nav:last-child {
        border-bottom: 0 !important;
    }

    body .footer-bottom {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 12px !important;
    }
}

/* EOF true final footer cleanup: calm structure, fewer lines, one visual system. */
body .footer {
    margin-top: 56px !important;
    padding: 42px 0 0 !important;
    background: #07365a !important;
    color: #eaf4fb !important;
    border: 0 !important;
    box-shadow: none !important;
}

body .footer,
body .footer * {
    text-shadow: none !important;
}

body .footer-intro,
body .footer-trust,
body .footer-main,
body .footer-seo-directory,
body .footer-bottom {
    width: var(--ec-layout-width) !important;
    max-width: var(--ec-layout-max) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body .footer-intro {
    display: grid !important;
    grid-template-columns: minmax(190px, 260px) minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 28px !important;
    padding: 0 0 30px !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .16) !important;
}

body .footer-brand {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
}

body .footer-brand img {
    width: 210px !important;
    max-width: 100% !important;
    height: auto !important;
    background: #fff !important;
    border-radius: 6px !important;
    padding: 8px 10px !important;
}

body .footer-brand span,
body .footer-eyebrow {
    color: rgba(234, 244, 251, .72) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}

body .footer-intro h2 {
    max-width: 760px !important;
    margin: 4px 0 8px !important;
    color: #fff !important;
    font-size: clamp(24px, 2.2vw, 34px) !important;
    line-height: 1.16 !important;
    letter-spacing: 0 !important;
}

body .footer-intro p {
    max-width: 850px !important;
    margin: 0 !important;
    color: rgba(234, 244, 251, .82) !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
}

body .footer-cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    min-height: 46px !important;
    padding: 0 18px !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #07365a !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

body .footer-cta::after {
    display: none !important;
}

body .footer-cta:hover {
    background: #f3f8fc !important;
    border-color: #f3f8fc !important;
    color: #225FBD !important;
    transform: none !important;
}

body .footer-cta .ui-icon {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    border: 1px solid rgba(7, 54, 90, .16) !important;
    background: #f3f8fc !important;
    color: #07365a !important;
}

body .footer-trust {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    padding: 22px 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .13) !important;
}

body .footer-trust > span {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 12px !important;
    row-gap: 2px !important;
    align-items: start !important;
    min-height: 0 !important;
    padding: 0 22px !important;
    background: transparent !important;
    border: 0 !important;
    border-right: 1px solid rgba(255, 255, 255, .12) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body .footer-trust > span:first-child {
    padding-left: 0 !important;
}

body .footer-trust > span:last-child {
    padding-right: 0 !important;
    border-right: 0 !important;
}

body .footer-trust .ui-icon {
    grid-row: 1 / span 2 !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    background: rgba(255, 255, 255, .08) !important;
    color: #fff !important;
}

body .footer-trust > span > strong {
    color: #fff !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
}

body .footer-trust > span > small {
    color: rgba(234, 244, 251, .72) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

body .footer-main,
body .footer-seo-directory {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .13) !important;
    border-radius: 0 !important;
    padding: 30px 0 !important;
    box-shadow: none !important;
}

body .footer-main {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 34px !important;
}

body .footer-main nav,
body .footer-seo-grid nav {
    min-width: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body .footer-main h3,
body .footer-seo-grid h3 {
    margin: 0 0 13px !important;
    color: #fff !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
    letter-spacing: .02em !important;
    text-transform: none !important;
}

body .footer-main a,
body .footer-seo-grid a,
body .footer-bottom a {
    display: block !important;
    margin: 0 !important;
    padding: 5px 0 !important;
    color: rgba(234, 244, 251, .78) !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    font-weight: 550 !important;
    text-decoration: none !important;
    border: 0 !important;
    background: transparent !important;
}

body .footer-main a:hover,
body .footer-seo-grid a:hover,
body .footer-bottom a:hover {
    color: #fff !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

body .footer-seo-head {
    max-width: 760px !important;
    margin: 0 0 22px !important;
}

body .footer-seo-head span {
    color: rgba(234, 244, 251, .7) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}

body .footer-seo-head h2 {
    margin: 5px 0 8px !important;
    color: #fff !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
}

body .footer-seo-head p {
    margin: 0 !important;
    color: rgba(234, 244, 251, .72) !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}

body .footer-seo-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 34px !important;
}

body .footer-bottom {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    padding: 18px 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: rgba(234, 244, 251, .68) !important;
    box-shadow: none !important;
}

body .footer-bottom span {
    color: rgba(234, 244, 251, .68) !important;
    font-size: 13px !important;
}

body .footer-bottom div {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
}

body .footer-bottom a {
    padding: 0 !important;
    font-size: 13px !important;
}

@media (max-width: 1100px) {
    body .footer-intro {
        grid-template-columns: 1fr !important;
        align-items: start !important;
    }

    body .footer-cta {
        width: fit-content !important;
    }

    body .footer-trust,
    body .footer-main,
    body .footer-seo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body .footer-trust > span:nth-child(2) {
        border-right: 0 !important;
    }

    body .footer-trust > span {
        padding: 14px 18px !important;
        border-bottom: 1px solid rgba(255, 255, 255, .1) !important;
    }
}

@media (max-width: 760px) {
    body .footer {
        margin-top: 42px !important;
        padding-top: 30px !important;
    }

    body .footer-intro,
    body .footer-main,
    body .footer-seo-directory,
    body .footer-bottom {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body .footer-brand img {
        width: 190px !important;
    }

    body .footer-intro h2 {
        font-size: 24px !important;
    }

    body .footer-trust,
    body .footer-main,
    body .footer-seo-grid {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    body .footer-trust > span {
        padding: 14px 0 !important;
        border-right: 0 !important;
    }

    body .footer-main nav,
    body .footer-seo-grid nav {
        padding: 16px 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, .1) !important;
    }

    body .footer-main nav:last-child,
    body .footer-seo-grid nav:last-child {
        border-bottom: 0 !important;
    }

    body .footer-bottom {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 12px !important;
    }
}

/* EOF absolute final smooth load-more behaviour. */
body article.product-card.is-newly-loaded {
    opacity: 0 !important;
    transform: translateY(14px) !important;
}

body article.product-card.is-newly-loaded.is-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
    transition: opacity .34s ease, transform .34s ease, box-shadow .2s ease, border-color .2s ease !important;
}

body .load-more-products.is-manual-mode {
    background: #fff !important;
    border-color: rgba(0, 59, 112, .18) !important;
    box-shadow: 0 10px 26px rgba(7, 43, 73, .07) !important;
}

body .load-more-products.is-manual-mode p {
    color: #294761 !important;
}

body .load-more-products.is-manual-mode .load-more-button {
    background: #225FBD !important;
    border-color: #225FBD !important;
}

body .load-more-products.is-manual-mode .load-more-button:hover {
    background: #0f6794 !important;
    border-color: #0f6794 !important;
}

@media (prefers-reduced-motion: reduce) {
    body article.product-card.is-newly-loaded,
    body article.product-card.is-newly-loaded.is-visible {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* EOF filter/infinite-loading polish. */
body [data-catalog] {
    position: relative !important;
}

body [data-catalog].is-loading {
    min-height: 420px !important;
}

body [data-catalog].is-loading::before {
    content: "" !important;
    position: absolute !important;
    z-index: 30 !important;
    inset: 0 !important;
    pointer-events: none !important;
    background: rgba(239, 247, 252, .58) !important;
    opacity: 1 !important;
}

body [data-catalog].is-loading::after {
    content: "Resultaten laden..." !important;
    position: fixed !important;
    z-index: 31 !important;
    top: min(42vh, 360px) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 44px !important;
    padding: 0 18px 0 46px !important;
    border: 1px solid rgba(0, 59, 112, .16) !important;
    border-radius: 999px !important;
    background: #fff !important;
    box-shadow: 0 14px 36px rgba(7, 43, 73, .16) !important;
    color: #002b4c !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    opacity: 1 !important;
    pointer-events: none !important;
}

body .load-more-products.is-loading::before {
    content: "" !important;
    width: 22px !important;
    height: 22px !important;
    border: 3px solid rgba(15, 103, 148, .18) !important;
    border-top-color: #0f6794 !important;
    border-radius: 50% !important;
    animation: ec-spin .75s linear infinite !important;
}

@keyframes ec-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 760px) {
    body [data-catalog].is-loading::after {
        top: 48vh !important;
        width: max-content !important;
        max-width: calc(100vw - 40px) !important;
    }
}

/* EOF final review guide pages: keep these after global overrides. */
body .guide-comparison-block,
body .guide-decision-block,
body .guide-feed-compare {
    background: #fff !important;
}

body .guide-table-scroll {
    border: 1px solid rgba(0, 59, 112, .13) !important;
    border-radius: 10px !important;
    overflow-x: auto !important;
    background: #fff !important;
}

body .guide-review-table {
    width: 100% !important;
    min-width: 820px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    color: #09243d !important;
    font-size: 15px !important;
}

body .guide-review-table th,
body .guide-review-table td {
    padding: 16px 18px !important;
    border-bottom: 1px solid rgba(0, 59, 112, .11) !important;
    border-right: 1px solid rgba(0, 59, 112, .08) !important;
    text-align: left !important;
    vertical-align: top !important;
    line-height: 1.45 !important;
}

body .guide-review-table thead th {
    background: #f3f8fc !important;
    color: #225FBD !important;
    font-weight: 800 !important;
}

body .guide-review-table tbody th {
    background: #fbfdff !important;
    color: #002b4c !important;
    font-weight: 800 !important;
}

body .guide-review-table tr:last-child th,
body .guide-review-table tr:last-child td {
    border-bottom: 0 !important;
}

body .guide-review-table th:last-child,
body .guide-review-table td:last-child {
    border-right: 0 !important;
}

body .guide-product-compare-table a:not(.guide-table-cta) {
    color: #225FBD !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

body .guide-table-rating {
    color: #f59e0b !important;
    letter-spacing: 1px !important;
    font-size: 14px !important;
    white-space: nowrap !important;
}

body .guide-review-table small {
    display: block !important;
    margin-top: 4px !important;
    color: #58708a !important;
}

body .guide-table-cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    padding: 0 18px !important;
    border-radius: 8px !important;
    background: #225FBD !important;
    color: #fff !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

body .guide-table-cta:hover {
    background: #225FBD !important;
}

body .guide-decision-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

body .guide-decision-grid article {
    border: 1px solid rgba(0, 59, 112, .13) !important;
    border-radius: 10px !important;
    background: #fbfdff !important;
    padding: 18px !important;
}

body .guide-decision-grid span {
    display: inline-flex !important;
    margin-bottom: 10px !important;
    color: #225FBD !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}

body .guide-decision-grid h3 {
    margin: 0 0 12px !important;
    color: #002b4c !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
}

body .guide-decision-grid strong {
    display: block !important;
    margin-bottom: 8px !important;
    color: #225FBD !important;
}

body .guide-decision-grid p {
    margin: 0 !important;
    color: #445f7a !important;
}

@media (max-width: 760px) {
    body .guide-review-table {
        min-width: 760px !important;
        font-size: 14px !important;
    }

    body .guide-review-table th,
    body .guide-review-table td {
        padding: 13px 14px !important;
    }

    body .guide-decision-grid {
        grid-template-columns: 1fr !important;
    }
}

/* EOF review guide pages: comparison tables and decision cards. */
body .guide-comparison-block,
body .guide-decision-block,
body .guide-feed-compare {
    background: #fff !important;
}

body .guide-table-scroll {
    border: 1px solid rgba(0, 59, 112, .13);
    border-radius: 10px;
    overflow-x: auto;
    background: #fff;
}

body .guide-review-table {
    width: 100%;
    min-width: 820px;
    border-collapse: separate;
    border-spacing: 0;
    color: #09243d;
    font-size: 15px;
}

body .guide-review-table th,
body .guide-review-table td {
    padding: 16px 18px;
    border-bottom: 1px solid rgba(0, 59, 112, .11);
    border-right: 1px solid rgba(0, 59, 112, .08);
    text-align: left;
    vertical-align: top;
    line-height: 1.45;
}

body .guide-review-table thead th {
    background: #f3f8fc;
    color: #225FBD;
    font-weight: 800;
}

body .guide-review-table tbody th {
    color: #002b4c;
    font-weight: 800;
    background: #fbfdff;
}

body .guide-review-table tr:last-child th,
body .guide-review-table tr:last-child td {
    border-bottom: 0;
}

body .guide-review-table th:last-child,
body .guide-review-table td:last-child {
    border-right: 0;
}

body .guide-product-compare-table a:not(.guide-table-cta) {
    color: #225FBD;
    font-weight: 800;
    text-decoration: none;
}

body .guide-product-compare-table a:not(.guide-table-cta):hover {
    color: #225FBD;
    text-decoration: underline;
}

body .guide-table-rating {
    color: #f59e0b;
    letter-spacing: 1px;
    font-size: 14px;
    white-space: nowrap;
}

body .guide-review-table small {
    display: block;
    margin-top: 4px;
    color: #58708a;
}

body .guide-table-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 18px;
    border-radius: 8px;
    background: #225FBD;
    color: #fff !important;
    font-weight: 800;
    text-decoration: none;
}

body .guide-table-cta:hover {
    background: #225FBD;
}

body .guide-decision-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

body .guide-decision-grid article {
    border: 1px solid rgba(0, 59, 112, .13);
    border-radius: 10px;
    background: #fbfdff;
    padding: 18px;
}

body .guide-decision-grid span {
    display: inline-flex;
    margin-bottom: 10px;
    color: #225FBD;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

body .guide-decision-grid h3 {
    margin: 0 0 12px;
    color: #002b4c;
    font-size: 18px;
    line-height: 1.3;
}

body .guide-decision-grid strong {
    display: block;
    margin-bottom: 8px;
    color: #225FBD;
}

body .guide-decision-grid p {
    margin: 0;
    color: #445f7a;
}

@media (max-width: 760px) {
    body .guide-review-table {
        min-width: 760px;
        font-size: 14px;
    }

    body .guide-review-table th,
    body .guide-review-table td {
        padding: 13px 14px;
    }

    body .guide-decision-grid {
        grid-template-columns: 1fr;
    }
}

/* EOF mobile header and automatic loading polish */
@media (max-width: 760px) {
    body {
        overflow-x: hidden !important;
    }

    body .site-header {
        overflow: visible !important;
    }

    body .header-main {
        align-items: center !important;
        column-gap: 10px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-rows: auto auto auto !important;
        min-height: 0 !important;
        padding-bottom: 10px !important;
        padding-top: 10px !important;
        row-gap: 9px !important;
        width: var(--ec-layout-width) !important;
    }

    body .brand {
        grid-column: 1 !important;
        grid-row: 1 !important;
        min-width: 0 !important;
    }

    body .brand-logo img {
        max-height: 42px !important;
        max-width: min(210px, 58vw) !important;
        width: auto !important;
    }

    body .mobile-menu-toggle {
        align-items: center !important;
        background: #FFFFFF !important;
        border: 1px solid rgba(0, 59, 112, .18) !important;
        border-radius: 9px !important;
        color: #002B52 !important;
        display: inline-flex !important;
        font-size: 0 !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
        height: 42px !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 46px !important;
    }

    body .mobile-menu-toggle span,
    body .mobile-menu-toggle span::before,
    body .mobile-menu-toggle span::after {
        background: #002B52 !important;
    }

    body .top-search {
        box-sizing: border-box !important;
        display: grid !important;
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        grid-template-columns: minmax(0, 1fr) 76px !important;
        height: 46px !important;
        margin: 0 !important;
        min-width: 0 !important;
        overflow: hidden !important;
        width: 100% !important;
    }

    body .top-search input {
        box-sizing: border-box !important;
        min-width: 0 !important;
        padding-left: 14px !important;
        width: 100% !important;
    }

    body .top-search button {
        border-radius: 0 7px 7px 0 !important;
        font-size: 13px !important;
        height: 100% !important;
        min-width: 0 !important;
        padding: 0 !important;
        width: 76px !important;
    }

    body .header-main .main-nav {
        display: flex !important;
        gap: 8px !important;
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
        justify-content: flex-end !important;
        min-width: 0 !important;
        overflow: hidden !important;
        width: 100% !important;
    }

    body .header-main .main-nav .nav-prices {
        display: none !important;
    }

    body .header-main .main-nav .nav-counter {
        flex: 0 0 auto !important;
        height: 40px !important;
        min-width: 62px !important;
        padding: 0 11px !important;
    }

    body .header-main .main-nav .nav-counter .ui-icon,
    body .header-main .main-nav .nav-counter svg {
        height: 18px !important;
        width: 18px !important;
    }

    body .feed-menu {
        background: #FFFFFF !important;
        border: 1px solid rgba(0, 59, 112, .16) !important;
        border-radius: 12px !important;
        box-shadow: 0 18px 40px rgba(7, 43, 73, .16) !important;
        display: none !important;
        left: 14px !important;
        max-height: calc(100dvh - var(--mobile-menu-top, 132px) - 18px) !important;
        overflow-y: auto !important;
        padding: 10px !important;
        position: fixed !important;
        right: 14px !important;
        top: var(--mobile-menu-top, 132px) !important;
        width: auto !important;
        z-index: 1000 !important;
    }

    body .site-header.menu-open .feed-menu {
        display: grid !important;
        gap: 8px !important;
    }

    body .feed-menu > a,
    body .feed-menu summary {
        justify-content: flex-start !important;
        min-height: 44px !important;
        width: 100% !important;
    }

    body .feed-menu .menu-fill {
        display: none !important;
    }

    body .mega-panel {
        max-height: 48vh !important;
        overflow-y: auto !important;
    }

    body .load-more-products {
        margin-top: 18px !important;
        padding: 16px !important;
    }

    body .load-more-button {
        min-width: 100% !important;
        width: 100% !important;
    }
}

/* Editorial guide details */
body .guide-author-meta {
    align-items: center !important;
    color: #52667A !important;
    display: flex !important;
    flex-wrap: wrap !important;
    font-size: 13px !important;
    gap: 8px 12px !important;
    line-height: 1.35 !important;
    margin: 12px 0 18px !important;
}

body .guide-author-meta span {
    align-items: center !important;
    background: #F6FAFD !important;
    border: 1px solid rgba(0, 59, 112, .12) !important;
    border-radius: 999px !important;
    color: #334A62 !important;
    display: inline-flex !important;
    font-weight: 650 !important;
    min-height: 32px !important;
    padding: 7px 11px !important;
}

body .guide-jump-nav div a[href="#introductie"],
body .guide-jump-nav div a[href="#veelgestelde-vragen"] {
    background: #FFFFFF !important;
    border-color: rgba(0, 59, 112, .16) !important;
    color: #225FBD !important;
}

body .guide-content section {
    scroll-margin-top: 120px !important;
}

body .guide-faq {
    scroll-margin-top: 120px !important;
}

/* Load more products */
body .load-more-products {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(0, 59, 112, .13) !important;
    border-radius: 12px !important;
    box-shadow: 0 6px 16px rgba(7, 43, 73, .045) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-top: 24px !important;
    padding: 20px !important;
    text-align: center !important;
}

body .load-more-products p {
    color: #52667A !important;
    font-size: 14px !important;
    margin: 0 !important;
}

body .load-more-products p strong {
    color: #002B52 !important;
}

body .load-more-button,
body .load-more-products noscript a {
    align-items: center !important;
    background: #0F6794 !important;
    border: 1px solid #0F6794 !important;
    border-radius: 8px !important;
    color: #FFFFFF !important;
    display: inline-flex !important;
    font-size: 15px !important;
    font-weight: 750 !important;
    justify-content: center !important;
    min-height: 46px !important;
    min-width: 220px !important;
    padding: 0 22px !important;
    text-decoration: none !important;
}

body .load-more-button:hover,
body .load-more-products noscript a:hover {
    background: #225FBD !important;
    border-color: #225FBD !important;
    color: #FFFFFF !important;
}

body .load-more-products.is-loading {
    opacity: .82 !important;
}

@media (max-width: 720px) {
    body .guide-author-meta {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    body .guide-author-meta span {
        justify-content: flex-start !important;
        width: 100% !important;
    }
}

/* Layout alignment lock: header, content and footer share one exact grid. */
:root {
    --ec-layout-max: 1720px;
    --ec-layout-gutter: 24px;
    --ec-layout-width: min(calc(100% - (var(--ec-layout-gutter) * 2)), var(--ec-layout-max));
}

body .site-header {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body .header-main,
body .feed-menu,
body .page-shell,
body .home-shell,
body .footer-intro,
body .footer-trust,
body .footer-main,
body .footer-seo-directory,
body .footer-bottom {
    box-sizing: border-box !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: var(--ec-layout-max) !important;
    width: var(--ec-layout-width) !important;
}

body .header-main,
body .feed-menu,
body .page-shell,
body .home-shell {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body .header-main {
    grid-template-columns: minmax(180px, 240px) minmax(280px, 1fr) auto !important;
}

body .feed-menu {
    border-left: 0 !important;
    border-right: 0 !important;
}

body .footer {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body .footer-intro,
body .footer-main,
body .footer-seo-directory {
    padding-left: 24px !important;
    padding-right: 24px !important;
}

body .footer-bottom {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body .compare-intro,
body .listing-heading,
body .category-tabs,
body .listing-results,
body .product-hero,
body .guide-hero,
body .guide-content,
body .guide-products,
body .guide-related,
body .guides-index,
body .home-hero-v2 {
    max-width: 100% !important;
}

@media (max-width: 760px) {
    :root {
        --ec-layout-gutter: 14px;
    }

    body .header-main,
    body .feed-menu,
    body .page-shell,
    body .home-shell {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body .footer-intro,
    body .footer-main,
    body .footer-seo-directory {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* Compare page: actual side-by-side comparison */
body .compare-shell {
    display: grid !important;
    gap: 22px !important;
}

body .compare-shell > .section-head {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 12px !important;
    box-shadow: var(--ec-shadow) !important;
    display: flex !important;
    gap: 20px !important;
    justify-content: space-between !important;
    padding: 28px !important;
}

body .compare-shell > .section-head h1 {
    color: var(--ec-ink) !important;
    font-size: clamp(30px, 4vw, 48px) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    margin: 0 0 10px !important;
}

body .compare-shell > .section-head p:not(.eyebrow) {
    color: var(--ec-muted) !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
    margin: 0 !important;
    max-width: 760px !important;
}

body .compare-shell > .section-head > a,
body .empty-state-action {
    align-items: center !important;
    background: var(--ec-blue) !important;
    border: 1px solid var(--ec-blue) !important;
    border-radius: 10px !important;
    color: #FFFFFF !important;
    display: inline-flex !important;
    font-weight: 800 !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 11px 16px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

body .compare-shell > .section-head > a:hover,
body .empty-state-action:hover {
    background: #0F5F88 !important;
    border-color: #0F5F88 !important;
    color: #FFFFFF !important;
}

body .compare-list {
    display: grid !important;
    gap: 16px !important;
}

body .compare-toolbar {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 12px !important;
    box-shadow: var(--ec-shadow) !important;
    display: flex !important;
    gap: 16px !important;
    justify-content: space-between !important;
    padding: 18px 20px !important;
}

body .compare-toolbar strong {
    color: var(--ec-ink) !important;
    display: block !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

body .compare-toolbar span {
    color: var(--ec-muted) !important;
    display: block !important;
    font-size: 15px !important;
    margin-top: 4px !important;
}

body .compare-toolbar button,
body .compare-actions-cell button {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 10px !important;
    color: var(--ec-blue) !important;
    cursor: pointer !important;
    font: inherit !important;
    font-weight: 800 !important;
    min-height: 40px !important;
    padding: 9px 13px !important;
}

body .compare-toolbar button:hover,
body .compare-actions-cell button:hover {
    background: #F3F9FC !important;
    border-color: var(--ec-blue) !important;
}

body .compare-table-wrap {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 12px !important;
    box-shadow: var(--ec-shadow) !important;
    overflow-x: auto !important;
}

body .compare-table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    min-width: 860px !important;
    width: 100% !important;
}

body .compare-table th,
body .compare-table td {
    border-bottom: 1px solid var(--ec-line) !important;
    border-right: 1px solid var(--ec-line) !important;
    color: var(--ec-text) !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    padding: 16px !important;
    text-align: left !important;
    vertical-align: top !important;
}

body .compare-table tr:last-child th,
body .compare-table tr:last-child td {
    border-bottom: 0 !important;
}

body .compare-table th:first-child {
    background: #F3F9FC !important;
    color: var(--ec-ink) !important;
    font-weight: 800 !important;
    left: 0 !important;
    min-width: 150px !important;
    position: sticky !important;
    z-index: 2 !important;
}

body .compare-table thead th {
    background: #FFFFFF !important;
    min-width: 220px !important;
}

body .compare-table thead th:first-child {
    background: #F3F9FC !important;
    z-index: 3 !important;
}

body .compare-product-head {
    color: var(--ec-ink) !important;
    display: grid !important;
    gap: 12px !important;
    text-decoration: none !important;
}

body .compare-product-head img {
    aspect-ratio: 4 / 3 !important;
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 10px !important;
    height: 120px !important;
    object-fit: contain !important;
    padding: 10px !important;
    width: 100% !important;
}

body .compare-product-head span {
    color: var(--ec-ink) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

body .compare-actions-stack {
    display: grid !important;
    gap: 10px !important;
}

body .compare-deal-button {
    align-items: center !important;
    background: #225FBD !important;
    border: 1px solid #225FBD !important;
    border-radius: 10px !important;
    color: #FFFFFF !important;
    display: inline-flex !important;
    font-weight: 800 !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 10px 14px !important;
    text-decoration: none !important;
}

body .compare-deal-button:hover {
    background: #003B70 !important;
    border-color: #003B70 !important;
    color: #FFFFFF !important;
}

body .compare-limit-note {
    color: var(--ec-muted) !important;
    font-size: 14px !important;
    margin: 0 !important;
}

body .compare-list .empty-state {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 12px !important;
    box-shadow: var(--ec-shadow) !important;
    display: grid !important;
    gap: 12px !important;
    justify-items: start !important;
    padding: 34px !important;
}

body .compare-list .empty-state h2 {
    color: var(--ec-ink) !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    margin: 0 !important;
}

body .compare-list .empty-state p {
    color: var(--ec-muted) !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    margin: 0 !important;
}

@media (max-width: 760px) {
    body .compare-shell > .section-head,
    body .compare-toolbar {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    body .compare-shell > .section-head > a,
    body .compare-toolbar button {
        width: 100% !important;
    }

    body .compare-table th,
    body .compare-table td {
        padding: 13px !important;
    }
}

/* Home hero repair: visible content and consistent cards */
.home-hero-v2 {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 12px !important;
    box-shadow: var(--ec-shadow) !important;
    color: var(--ec-text) !important;
    overflow: hidden !important;
    padding: 0 !important;
}

.home-hero-v2 .hero-v2-main {
    align-items: center !important;
    background: linear-gradient(135deg, #FFFFFF 0%, #F4FAF7 58%, #EAF4F8 100%) !important;
    display: grid !important;
    gap: 28px !important;
    grid-template-columns: minmax(0, 1fr) minmax(420px, .72fr) !important;
    padding: clamp(30px, 4vw, 54px) !important;
}

.home-hero-v2 .hero-v2-copy {
    color: var(--ec-text) !important;
    max-width: 780px !important;
    padding: 0 !important;
}

.home-hero-v2 .hero-v2-copy .eyebrow {
    color: var(--ec-blue-dark) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    margin: 0 0 10px !important;
    text-transform: uppercase !important;
}

.home-hero-v2 .hero-v2-copy h1 {
    color: var(--ec-ink) !important;
    font-size: clamp(38px, 4.1vw, 60px) !important;
    font-weight: 700 !important;
    line-height: 1.04 !important;
    margin: 0 0 18px !important;
    max-width: 760px !important;
}

.home-hero-v2 .hero-v2-copy > p:not(.eyebrow) {
    color: var(--ec-text) !important;
    font-size: 18px !important;
    line-height: 1.55 !important;
    margin: 0 !important;
    max-width: 760px !important;
}

.home-hero-v2 .hero-v2-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-top: 24px !important;
}

.home-hero-v2 .hero-v2-actions a {
    align-items: center !important;
    border-radius: 8px !important;
    display: inline-flex !important;
    font-weight: 700 !important;
    gap: 8px !important;
    min-height: 46px !important;
    padding: 0 18px !important;
}

.home-hero-v2 .hero-v2-actions .primary-action {
    background: var(--ec-blue) !important;
    border: 1px solid var(--ec-blue) !important;
    color: #FFFFFF !important;
}

.home-hero-v2 .hero-v2-actions .primary-action:hover {
    background: var(--ec-blue-dark) !important;
    border-color: var(--ec-blue-dark) !important;
    color: #FFFFFF !important;
}

.home-hero-v2 .hero-v2-actions .secondary-action {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    color: var(--ec-blue) !important;
}

.home-hero-v2 .hero-v2-proof {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 22px !important;
}

.home-hero-v2 .hero-v2-proof span {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 999px !important;
    color: var(--ec-text) !important;
    display: inline-flex !important;
    gap: 6px !important;
    padding: 8px 12px !important;
}

.home-hero-v2 .hero-v2-proof strong {
    color: var(--ec-blue) !important;
}

.home-hero-v2 .hero-v2-visual {
    border-radius: 12px !important;
    min-height: 390px !important;
    overflow: hidden !important;
    position: relative !important;
}

.home-hero-v2 .hero-v2-photo-main {
    border-radius: 12px !important;
    display: block !important;
    height: 100% !important;
    min-height: 390px !important;
    object-fit: cover !important;
    width: 100% !important;
}

.home-hero-v2 .hero-v2-floating,
.home-hero-v2 .hero-v2-highlight {
    align-items: center !important;
    background: rgba(255, 255, 255, .94) !important;
    border: 1px solid var(--ec-line) !important;
    border-radius: 10px !important;
    box-shadow: 0 12px 26px rgba(6, 31, 58, .14) !important;
    color: var(--ec-ink) !important;
    display: flex !important;
    gap: 10px !important;
    padding: 12px 14px !important;
    position: absolute !important;
    z-index: 3 !important;
}

.home-hero-v2 .hero-v2-floating strong,
.home-hero-v2 .hero-v2-highlight strong {
    color: var(--ec-ink) !important;
    display: block !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

.home-hero-v2 .hero-v2-floating small,
.home-hero-v2 .hero-v2-highlight small {
    color: var(--ec-muted) !important;
    display: block !important;
    font-size: 13px !important;
}

.home-hero-v2 .hero-v2-floating-top {
    left: 18px !important;
    top: 18px !important;
}

.home-hero-v2 .hero-v2-floating-side {
    bottom: 18px !important;
    right: 18px !important;
}

.home-hero-v2 .hero-v2-highlight {
    bottom: 18px !important;
    left: 18px !important;
    max-width: min(360px, calc(100% - 36px)) !important;
    text-decoration: none !important;
}

.home-hero-v2 .ui-icon {
    align-items: center !important;
    background: #EAF4FA !important;
    border: 1px solid #BDD3E4 !important;
    border-radius: 999px !important;
    color: var(--ec-blue) !important;
    display: inline-flex !important;
    flex: 0 0 36px !important;
    height: 36px !important;
    justify-content: center !important;
    width: 36px !important;
}

.home-hero-v2 .ui-icon svg {
    height: 17px !important;
    width: 17px !important;
}

.home-hero-v2 .hero-v2-category-row {
    background: #FFFFFF !important;
    border-top: 1px solid var(--ec-line) !important;
    display: grid !important;
    gap: 0 !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    padding: 0 !important;
}

.home-hero-v2 .hero-v2-category-row a {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 0 !important;
    border-right: 1px solid var(--ec-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--ec-ink) !important;
    display: grid !important;
    gap: 4px !important;
    grid-template-columns: 40px minmax(0, 1fr) !important;
    min-height: 94px !important;
    padding: 18px !important;
}

.home-hero-v2 .hero-v2-category-row a:last-child {
    border-right: 0 !important;
}

.home-hero-v2 .hero-v2-category-row span {
    color: var(--ec-ink) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
}

.home-hero-v2 .hero-v2-category-row small {
    color: var(--ec-muted) !important;
    font-size: 13px !important;
    grid-column: 2 !important;
}

.home-step-grid article,
.home-focus-strip a {
    color: var(--ec-ink) !important;
}

.home-step-grid article h3,
.home-step-grid article p,
.home-focus-strip a span,
.home-focus-strip a strong {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.home-step-grid article h3,
.home-focus-strip a strong {
    color: var(--ec-ink) !important;
}

.home-step-grid article p,
.home-focus-strip a span {
    color: var(--ec-muted) !important;
}

@media (max-width: 1100px) {
    .home-hero-v2 .hero-v2-main {
        grid-template-columns: 1fr !important;
    }

    .home-hero-v2 .hero-v2-category-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 620px) {
    .home-hero-v2 .hero-v2-main {
        padding: 22px !important;
    }

    .home-hero-v2 .hero-v2-copy h1 {
        font-size: 34px !important;
    }

    .home-hero-v2 .hero-v2-copy > p:not(.eyebrow) {
        font-size: 16px !important;
    }

    .home-hero-v2 .hero-v2-category-row {
        grid-template-columns: 1fr !important;
    }

    .home-hero-v2 .hero-v2-visual,
    .home-hero-v2 .hero-v2-photo-main {
        min-height: 320px !important;
    }
}

/* Button contrast safety net */
.battery-cta,
a.battery-cta,
.primary-action,
a.primary-action,
.guide-hero-actions a:first-child,
.guide-featured-product a,
.guide-jump-nav > a,
.price-panel a,
article.product-card .price-panel a,
.best-price a,
.offer-row a,
.cta-primary,
.sticky-product-cta a,
.home-deal-grid .price-panel a,
.related-products article.product-card .price-panel a {
    background: var(--ec-blue) !important;
    border: 1px solid var(--ec-blue) !important;
    color: #FFFFFF !important;
}

.battery-cta *,
.primary-action *,
.guide-hero-actions a:first-child *,
.guide-featured-product a *,
.guide-jump-nav > a *,
.price-panel a *,
.best-price a *,
.offer-row a *,
.cta-primary *,
.sticky-product-cta a * {
    color: #FFFFFF !important;
}

.battery-cta:hover,
a.battery-cta:hover,
.primary-action:hover,
a.primary-action:hover,
.guide-hero-actions a:first-child:hover,
.guide-featured-product a:hover,
.guide-jump-nav > a:hover,
.price-panel a:hover,
article.product-card .price-panel a:hover,
.best-price a:hover,
.offer-row a:hover,
.cta-primary:hover,
.sticky-product-cta a:hover {
    background: var(--ec-blue-dark) !important;
    border-color: var(--ec-blue-dark) !important;
    color: #FFFFFF !important;
}

.secondary-action,
a.secondary-action,
.guide-hero-actions a:not(:first-child),
.section-head > a,
.guide-card-link,
.footer-cta,
.active-filters a,
.seo-link-row a,
.battery-intent-links a {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-line) !important;
    color: var(--ec-blue) !important;
}

.secondary-action *,
.guide-hero-actions a:not(:first-child) *,
.section-head > a *,
.guide-card-link *,
.footer-cta *,
.active-filters a *,
.seo-link-row a *,
.battery-intent-links a * {
    color: var(--ec-blue) !important;
}

.secondary-action:hover,
a.secondary-action:hover,
.guide-hero-actions a:not(:first-child):hover,
.section-head > a:hover,
.guide-card-link:hover,
.footer-cta:hover,
.active-filters a:hover,
.seo-link-row a:hover,
.battery-intent-links a:hover {
    background: #F3F9FC !important;
    border-color: var(--ec-line-2) !important;
    color: var(--ec-blue-dark) !important;
}

.nav-prices,
.header-main .main-nav .nav-prices,
.feed-menu > a.active,
.feed-menu > a:first-child,
.category-tabs a.active,
.sort-tabs button.active,
.pagination .is-current {
    background: var(--ec-blue) !important;
    border-color: var(--ec-blue) !important;
    color: #FFFFFF !important;
}

.nav-prices *,
.header-main .main-nav .nav-prices *,
.feed-menu > a.active *,
.feed-menu > a:first-child *,
.category-tabs a.active *,
.sort-tabs button.active *,
.pagination .is-current * {
    color: #FFFFFF !important;
}

/* VitaalThuisWonen typography alignment */
:root {
    --ec-font: system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
    --ec-font-heading: "SharpSans", "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
}

html,
body,
button,
input,
select,
textarea {
    font-family: var(--ec-font) !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}

body {
    font-size: 15px !important;
    line-height: 1.55 !important;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6,
.brand,
.main-nav,
.feed-menu,
.top-search button,
.hero-search button,
.product-card h2,
.product-card h2 a,
.product-title,
.section-head h2,
.compare-intro h1,
.product-hero h1,
.seo-copy h2,
.guide-hero h1,
.guide-card h2,
.guide-card h3,
.listing-heading h2,
.footer h2,
.footer h3,
.price-panel strong,
.best-price strong,
.product-price,
.sticky-product-cta strong {
    font-family: var(--ec-font-heading) !important;
    letter-spacing: 0 !important;
}

h1,
.compare-intro h1,
.product-hero h1,
.guide-hero h1 {
    font-weight: 700 !important;
    line-height: 1.12 !important;
}

h2,
.section-head h2,
.seo-copy h2,
.listing-heading h2 {
    font-weight: 700 !important;
    line-height: 1.18 !important;
}

h3,
h4,
.product-card h2,
.product-card h2 a,
.feed-menu a,
.feed-menu summary,
.main-nav a,
.button,
button {
    font-weight: 650 !important;
}

p,
li,
td,
th,
label,
summary,
small,
.product-card,
.filters,
.breadcrumbs,
.score-line,
.product-kind,
.product-brand,
.compare-intro p,
.seo-copy p,
.guide-card p {
    font-family: var(--ec-font) !important;
    letter-spacing: 0 !important;
}

/* Definitive catalog polish: compact, aligned comparison-site rhythm */
body:not(.is-home) main,
main {
    background: #EEF4F7 !important;
}

.page-shell {
    padding-top: 24px !important;
}

body .compare-intro {
    background: #FFFFFF !important;
    border: 1px solid #C9D9E6 !important;
    border-left: 4px solid var(--ec-blue) !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 24px rgba(8, 35, 62, .07) !important;
    display: block !important;
    margin: 0 auto 14px !important;
    min-height: 0 !important;
    padding: 20px 24px !important;
}

body .compare-intro::before,
body .compare-intro::after,
body .listing-heading::before,
body .listing-heading::after {
    display: none !important;
}

body .compare-intro .breadcrumbs {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
}

body .compare-intro .breadcrumbs a,
body .compare-intro .breadcrumbs strong {
    align-items: center !important;
    background: #F4F8FB !important;
    border: 1px solid #D5E2EC !important;
    border-radius: 999px !important;
    color: var(--ec-ink) !important;
    display: inline-flex !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    min-height: 30px !important;
    padding: 0 12px !important;
}

body .compare-intro .breadcrumbs span {
    color: #7A8DA0 !important;
    font-size: 13px !important;
}

body .compare-intro h1 {
    color: var(--ec-ink) !important;
    font-size: clamp(30px, 2.6vw, 44px) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    line-height: 1.1 !important;
    margin: 0 0 8px !important;
    max-width: 980px !important;
}

body .compare-intro p {
    color: var(--ec-muted) !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    max-width: 1080px !important;
}

body .category-tabs {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1px solid #C9D9E6 !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 14px rgba(8, 35, 62, .05) !important;
    display: flex !important;
    gap: 8px !important;
    margin: 0 0 14px !important;
    overflow-x: auto !important;
    padding: 10px !important;
    scrollbar-width: thin !important;
}

body .category-tabs a {
    align-items: center !important;
    background: #F9FBFD !important;
    border: 1px solid #D3E0EA !important;
    border-radius: 8px !important;
    color: var(--ec-ink) !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    gap: 8px !important;
    min-height: 40px !important;
    padding: 0 13px !important;
    white-space: nowrap !important;
}

body .category-tabs a:hover {
    background: #EFF7F3 !important;
    border-color: #A9D8BF !important;
    color: var(--ec-blue-dark) !important;
}

body .category-tabs a.active {
    background: var(--ec-blue) !important;
    border-color: var(--ec-blue) !important;
    color: #FFFFFF !important;
}

body .category-tabs span {
    background: transparent !important;
    color: inherit !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    min-width: auto !important;
}

body .listing-heading {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1px solid #C9D9E6 !important;
    border-radius: 12px !important;
    box-shadow: 0 6px 20px rgba(8, 35, 62, .06) !important;
    display: flex !important;
    gap: 18px !important;
    justify-content: space-between !important;
    margin: 0 0 14px !important;
    min-height: 0 !important;
    padding: 18px 22px !important;
}

body .listing-heading .eyebrow {
    color: var(--ec-blue-dark) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
    margin: 0 0 4px !important;
    text-transform: uppercase !important;
}

body .listing-heading h1,
body .listing-heading h2 {
    color: var(--ec-ink) !important;
    font-size: clamp(25px, 2vw, 34px) !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
    margin: 0 !important;
}

body .listing-heading p {
    color: var(--ec-muted) !important;
    font-size: 15px !important;
    margin: 6px 0 0 !important;
}

body .sort-box {
    align-items: flex-end !important;
    display: grid !important;
    flex: 0 0 auto !important;
    gap: 6px !important;
    justify-items: end !important;
}

body .sort-box > span {
    color: var(--ec-muted) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

body .sort-links {
    align-items: center !important;
    background: #F4F8FB !important;
    border: 1px solid #D3E0EA !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    gap: 4px !important;
    padding: 4px !important;
}

body .sort-links a {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 8px !important;
    color: var(--ec-ink) !important;
    display: inline-flex !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    min-height: 36px !important;
    padding: 0 13px !important;
}

body .sort-links a:hover {
    background: #FFFFFF !important;
    color: var(--ec-blue-dark) !important;
}

body .sort-links a.active {
    background: var(--ec-blue) !important;
    color: #FFFFFF !important;
}

body .active-filters {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1px solid #C9D9E6 !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 14px rgba(8, 35, 62, .05) !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 0 14px !important;
    padding: 12px 14px !important;
}

body .active-filters strong {
    color: var(--ec-ink) !important;
    font-size: 14px !important;
}

body .active-filters a {
    align-items: center !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    min-height: 32px !important;
    padding: 0 12px !important;
}

body .listing-layout {
    align-items: start !important;
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: 260px minmax(0, 1fr) !important;
}

body .filters {
    background: #FFFFFF !important;
    border: 1px solid #C9D9E6 !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 24px rgba(8, 35, 62, .07) !important;
    overflow: hidden !important;
    position: sticky !important;
    top: 92px !important;
}

body .filters .filter-head {
    align-items: center !important;
    background: var(--ec-blue) !important;
    border-bottom: 3px solid var(--ec-blue) !important;
    color: #FFFFFF !important;
    display: flex !important;
    justify-content: space-between !important;
    min-height: 54px !important;
    padding: 0 16px !important;
}

body .filters .filter-head strong {
    color: #FFFFFF !important;
    font-size: 18px !important;
    font-weight: 800 !important;
}

body .filters .filter-head a,
body .filters .filter-toggle {
    color: #FFFFFF !important;
}

body .filters form > section {
    border-bottom: 1px solid #DCE6EF !important;
    padding: 15px 16px !important;
}

body .filters form > section:last-of-type {
    border-bottom: 0 !important;
}

body .filters h3 {
    align-items: center !important;
    color: var(--ec-ink) !important;
    display: flex !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    justify-content: space-between !important;
    margin: 0 0 12px !important;
}

body .filters h3::after {
    color: var(--ec-muted) !important;
    content: "" !important;
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    border: solid currentColor !important;
    border-width: 0 2px 2px 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    transform: rotate(45deg) translateY(-2px) !important;
}

body .filters label {
    align-items: center !important;
    color: var(--ec-text) !important;
    display: grid !important;
    font-size: 14px !important;
    gap: 9px !important;
    grid-template-columns: 18px minmax(0, 1fr) auto !important;
    min-height: 34px !important;
}

body .filters input[type="checkbox"],
body .filters input[type="radio"] {
    accent-color: var(--ec-blue) !important;
    height: 17px !important;
    margin: 0 !important;
    width: 17px !important;
}

body .filters em {
    color: var(--ec-muted) !important;
    font-size: 13px !important;
    font-style: normal !important;
}

body .filters button[type="submit"] {
    background: var(--ec-blue) !important;
    border: 1px solid var(--ec-blue) !important;
    border-radius: 9px !important;
    color: #FFFFFF !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    margin: 14px 16px 16px !important;
    min-height: 42px !important;
    width: calc(100% - 32px) !important;
}

body .listing-results {
    min-width: 0 !important;
}

body .listing-results > .pagination-top {
    margin-bottom: 14px !important;
}

body .pagination {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1px solid #C9D9E6 !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 14px rgba(8, 35, 62, .05) !important;
    display: flex !important;
    gap: 12px !important;
    justify-content: space-between !important;
    margin: 0 !important;
    padding: 12px 14px !important;
}

body .pagination-status {
    display: grid !important;
    gap: 2px !important;
    line-height: 1.25 !important;
}

body .pagination-status strong {
    color: var(--ec-ink) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

body .pagination-status span {
    color: var(--ec-muted) !important;
    font-size: 13px !important;
}

body .pagination-links {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    justify-content: flex-end !important;
}

body .pagination a,
body .pagination .pagination-links span {
    align-items: center !important;
    background: #F9FBFD !important;
    border: 1px solid #D3E0EA !important;
    border-radius: 8px !important;
    color: var(--ec-ink) !important;
    display: inline-flex !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    height: 38px !important;
    justify-content: center !important;
    min-width: 38px !important;
    padding: 0 12px !important;
}

body .pagination a:hover {
    background: #EFF7F3 !important;
    border-color: #A9D8BF !important;
    color: var(--ec-blue-dark) !important;
}

body .pagination .is-current {
    background: var(--ec-blue) !important;
    border-color: var(--ec-blue) !important;
    color: #FFFFFF !important;
}

body .pagination .is-disabled {
    color: #8EA0B0 !important;
    opacity: .72 !important;
}

body .results {
    align-items: stretch !important;
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body article.product-card,
body .results article.product-card {
    background: #FFFFFF !important;
    border: 1px solid #C9D9E6 !important;
    border-radius: 12px !important;
    box-shadow: 0 5px 16px rgba(8, 35, 62, .06) !important;
    display: grid !important;
    grid-template-rows: 178px minmax(172px, auto) auto !important;
    height: 100% !important;
    min-height: 430px !important;
    overflow: hidden !important;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

body article.product-card:hover {
    border-color: #A9D8BF !important;
    box-shadow: 0 14px 30px rgba(8, 35, 62, .12) !important;
    transform: translateY(-2px) !important;
}

body article.product-card .product-image {
    align-items: center !important;
    background: #FFFFFF !important;
    border-bottom: 1px solid #DCE6EF !important;
    display: flex !important;
    height: 178px !important;
    justify-content: center !important;
    padding: 16px !important;
}

body article.product-card .product-image img {
    height: 100% !important;
    max-height: 146px !important;
    max-width: 100% !important;
    object-fit: contain !important;
    width: 100% !important;
}

body article.product-card .product-copy {
    display: grid !important;
    gap: 9px !important;
    padding: 14px 16px 12px !important;
}

body article.product-card .product-meta {
    align-items: center !important;
    color: var(--ec-muted) !important;
    display: flex !important;
    font-size: 13px !important;
    gap: 8px !important;
    min-height: 18px !important;
}

body article.product-card h2 {
    color: var(--ec-ink) !important;
    display: -webkit-box !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.28 !important;
    margin: 0 !important;
    min-height: 58px !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
}

body article.product-card h2 a {
    color: inherit !important;
}

body article.product-card .product-copy > p {
    color: var(--ec-muted) !important;
    display: -webkit-box !important;
    font-size: 13px !important;
    line-height: 1.38 !important;
    margin: 0 !important;
    min-height: 36px !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

body article.product-card .score-line {
    align-items: center !important;
    color: var(--ec-muted) !important;
    display: flex !important;
    flex-wrap: wrap !important;
    font-size: 13px !important;
    gap: 6px !important;
    min-height: 22px !important;
}

body article.product-card .review-stars .stars {
    color: var(--ec-star) !important;
    font-size: 14px !important;
    letter-spacing: 0 !important;
}

body article.product-card .review-score {
    color: var(--ec-ink) !important;
    font-weight: 800 !important;
}

body article.product-card .review-count,
body article.product-card .product-brand,
body article.product-card .product-kind {
    color: var(--ec-muted) !important;
}

body article.product-card .product-actions {
    align-items: center !important;
    display: flex !important;
    gap: 8px !important;
}

body article.product-card .product-actions button {
    background: #F9FBFD !important;
    border: 1px solid #D3E0EA !important;
    border-radius: 7px !important;
    color: var(--ec-text) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    min-height: 32px !important;
    padding: 0 10px !important;
}

body article.product-card .product-actions button:hover {
    background: #EFF7F3 !important;
    border-color: #A9D8BF !important;
    color: var(--ec-blue-dark) !important;
}

body article.product-card .price-panel {
    align-self: end !important;
    background: #F8FBFD !important;
    border-top: 1px solid #DCE6EF !important;
    display: grid !important;
    gap: 7px !important;
    padding: 13px 16px 16px !important;
}

body article.product-card .price-panel small {
    color: var(--ec-muted) !important;
    font-size: 13px !important;
    min-height: 17px !important;
}

body article.product-card .price-panel strong {
    color: var(--ec-ink) !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
}

body article.product-card .price-panel span {
    color: var(--ec-muted) !important;
    font-size: 13px !important;
}

body article.product-card .price-panel a {
    align-items: center !important;
    background: #225FBD !important;
    border: 1px solid #225FBD !important;
    border-radius: 8px !important;
    color: #FFFFFF !important;
    display: inline-flex !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    gap: 8px !important;
    justify-content: center !important;
    min-height: 40px !important;
    padding: 0 13px !important;
    width: 100% !important;
}

body article.product-card .price-panel a::after {
    content: "" !important;
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    border: solid currentColor !important;
    border-width: 2px 2px 0 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    transform: rotate(45deg) !important;
}

body article.product-card .price-panel a:hover {
    background: #003B70 !important;
    border-color: #003B70 !important;
    color: #FFFFFF !important;
}

@media (max-width: 1500px) {
    body .results {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1120px) {
    body .listing-layout {
        grid-template-columns: 1fr !important;
    }

    body .filters {
        position: static !important;
    }

    body .filters:not(.is-open) form > section,
    body .filters:not(.is-open) form > button[type="submit"] {
        display: none !important;
    }

    body .results {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .page-shell {
        padding-top: 14px !important;
    }

    body .compare-intro,
    body .listing-heading,
    body .category-tabs,
    body .active-filters,
    body .pagination {
        border-radius: 10px !important;
    }

    body .compare-intro {
        padding: 16px !important;
    }

    body .compare-intro h1 {
        font-size: 28px !important;
    }

    body .compare-intro p {
        font-size: 15px !important;
    }

    body .listing-heading {
        align-items: stretch !important;
        flex-direction: column !important;
        padding: 16px !important;
    }

    body .sort-box {
        align-items: stretch !important;
        justify-items: stretch !important;
    }

    body .sort-links {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        width: 100% !important;
    }

    body .sort-links a {
        justify-content: center !important;
        padding: 0 8px !important;
        text-align: center !important;
    }

    body .pagination {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    body .pagination-links {
        justify-content: flex-start !important;
        overflow-x: auto !important;
        padding-bottom: 2px !important;
    }

    body .results {
        gap: 14px !important;
        grid-template-columns: 1fr !important;
    }

    body article.product-card,
    body .results article.product-card {
        grid-template-rows: 190px auto auto !important;
        min-height: 0 !important;
    }
}

/* EOF catalog override: this must win over all legacy card/header passes */
body .site-header {
    min-height: 0 !important;
}

body .header-main {
    min-height: 68px !important;
    padding-bottom: 10px !important;
    padding-top: 10px !important;
}

body .feed-menu {
    min-height: 52px !important;
    padding-bottom: 8px !important;
    padding-top: 8px !important;
}

body .compare-intro {
    min-height: 0 !important;
    padding: 16px 22px !important;
}

body .compare-intro h1 {
    font-size: clamp(28px, 2.25vw, 38px) !important;
}

body .category-tabs {
    min-height: 0 !important;
    padding: 8px !important;
}

body .category-tabs a {
    min-height: 36px !important;
}

body .listing-heading {
    min-height: 0 !important;
    padding: 15px 20px !important;
}

body .listing-heading h1,
body .listing-heading h2 {
    font-size: clamp(24px, 1.8vw, 31px) !important;
}

body .listing-results .results {
    gap: 16px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body .listing-results .results > article.product-card {
    display: grid !important;
    grid-template-rows: 158px minmax(154px, auto) auto !important;
    min-height: 392px !important;
}

body .listing-results .results > article.product-card .product-image {
    height: 158px !important;
    min-height: 158px !important;
    padding: 14px !important;
}

body .listing-results .results > article.product-card .product-image img {
    max-height: 132px !important;
}

body .listing-results .results > article.product-card .product-copy {
    gap: 7px !important;
    padding: 12px 14px 10px !important;
}

body .listing-results .results > article.product-card h2 {
    display: -webkit-box !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    min-height: 53px !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
}

body .listing-results .results > article.product-card .product-copy > p {
    display: none !important;
    font-size: 13px !important;
    line-height: 1.32 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

body .listing-results .results > article.product-card .product-copy {
    align-content: start !important;
    grid-template-rows: auto auto auto auto !important;
}

body .listing-results .results > article.product-card h2 {
    margin-bottom: 0 !important;
}

body .listing-results .results > article.product-card .price-panel {
    gap: 5px !important;
    padding: 10px 14px 14px !important;
}

body .listing-results .results > article.product-card .price-panel {
    align-self: end !important;
    background: #F8FBFD !important;
    border-top: 1px solid #DCE6EF !important;
    display: grid !important;
    gap: 6px !important;
    justify-items: stretch !important;
    padding: 12px 14px 14px !important;
}

body .listing-results .results > article.product-card .price-panel strong {
    font-size: 19px !important;
    text-align: left !important;
}

body .listing-results .results > article.product-card .price-panel a {
    min-height: 38px !important;
}

@media (max-width: 1500px) {
    body .listing-results .results {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1280px) {
    body .listing-results .results {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1120px) {
    body .listing-results .results {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    body .listing-results .results {
        grid-template-columns: 1fr !important;
    }

    body .compare-intro {
        padding: 14px 16px !important;
    }

    body .compare-intro .breadcrumbs {
        margin-bottom: 8px !important;
    }

    body .compare-intro h1 {
        font-size: 25px !important;
        margin-bottom: 0 !important;
    }

    body .compare-intro p {
        display: none !important;
    }

    body .listing-heading {
        gap: 12px !important;
        padding: 14px 16px !important;
    }

    body .listing-heading .eyebrow {
        display: none !important;
    }

    body .listing-heading h1,
    body .listing-heading h2 {
        font-size: 24px !important;
    }

    body .listing-heading p {
        font-size: 14px !important;
        margin-top: 4px !important;
    }

    body .sort-box > span {
        display: none !important;
    }

    body .sort-links a {
        font-size: 13px !important;
        min-height: 34px !important;
    }

    body .listing-results > .pagination-top {
        display: none !important;
    }

    body .filters {
        margin-bottom: 14px !important;
    }

    body .listing-results .results > article.product-card {
        grid-template-rows: 170px auto auto !important;
        min-height: 0 !important;
    }
}

/* Pro harmony pass: one visual system for catalog and product discovery pages. */
:root {
    --ec-pro-bg: #EEF5F7;
    --ec-pro-panel: #FFFFFF;
    --ec-pro-soft: #F7FAFC;
    --ec-pro-line: #C9D9E7;
    --ec-pro-line-strong: #AFC5D8;
    --ec-pro-ink: #06233F;
    --ec-pro-text: #244059;
    --ec-pro-muted: #5F748A;
    --ec-pro-blue: #082B73;
    --ec-pro-blue-soft: #EAF2FA;
    --ec-pro-green: #225FBD;
    --ec-pro-green-soft: #EAF4FA;
    --ec-pro-shadow: 0 14px 34px rgba(7, 37, 63, .08);
    --ec-pro-radius: 12px;
}

body {
    background: var(--ec-pro-bg) !important;
    color: var(--ec-pro-text) !important;
    font-family: "Segoe UI", Calibri, Arial, sans-serif !important;
    letter-spacing: 0 !important;
}

body h1,
body h2,
body h3,
body h4,
body .brand,
body .button,
body button,
body .btn,
body .feed-menu a,
body .feed-menu summary,
body .product-card h2,
body .product-card h2 a {
    color: var(--ec-pro-ink);
    font-family: "Segoe UI", Calibri, Arial, sans-serif !important;
    letter-spacing: 0 !important;
}

body .site-header {
    background: #FFFFFF !important;
    border-bottom: 1px solid var(--ec-pro-line) !important;
    box-shadow: 0 8px 22px rgba(7, 37, 63, .06) !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 50 !important;
}

body .header-main,
body .feed-menu {
    max-width: 1780px !important;
    padding-left: clamp(18px, 3vw, 42px) !important;
    padding-right: clamp(18px, 3vw, 42px) !important;
}

body .header-main {
    display: grid !important;
    grid-template-columns: 230px minmax(420px, 1fr) auto !important;
    gap: 18px !important;
    min-height: 68px !important;
}

body .brand,
body .brand-logo {
    height: 44px !important;
    width: 230px !important;
}

body .brand-logo img,
body .logo img {
    display: block !important;
    height: auto !important;
    max-height: 36px !important;
    max-width: 220px !important;
    object-fit: contain !important;
    width: auto !important;
}

body .top-search {
    border-color: var(--ec-pro-line-strong) !important;
    border-radius: 9px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8) !important;
    height: 48px !important;
}

body .top-search input {
    font-size: 15px !important;
    height: 38px !important;
}

body .top-search button {
    background: #0F6692 !important;
    border-color: #0F6692 !important;
    border-radius: 7px !important;
    height: 38px !important;
    min-width: 88px !important;
}

body .top-search button:hover {
    background: var(--ec-pro-blue) !important;
    border-color: var(--ec-pro-blue) !important;
}

body .header-main .main-nav {
    gap: 9px !important;
}

body .header-main .main-nav a {
    background: var(--ec-pro-soft) !important;
    border-color: var(--ec-pro-line) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    color: var(--ec-pro-ink) !important;
    font-size: 13px !important;
    height: 40px !important;
    padding: 0 12px !important;
}

body .header-main .main-nav a.nav-prices {
    background: var(--ec-pro-blue) !important;
    border-color: var(--ec-pro-blue) !important;
    color: #FFFFFF !important;
}

body .header-main .main-nav a.nav-counter {
    min-width: 44px !important;
}

body .header-main .main-nav a.nav-counter strong,
body .header-main .main-nav a.nav-counter .nav-text {
    display: none !important;
}

body .header-main .main-nav a.nav-counter span {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-pro-line) !important;
    border-radius: 999px !important;
    color: var(--ec-pro-blue) !important;
    font-size: 12px !important;
    height: 20px !important;
    min-width: 20px !important;
}

body .feed-menu {
    border-top: 1px solid var(--ec-pro-line) !important;
    gap: 10px !important;
    min-height: 54px !important;
    overflow-x: auto !important;
    padding-bottom: 8px !important;
    padding-top: 8px !important;
}

body .feed-menu > a,
body .feed-menu summary {
    background: transparent !important;
    border-color: transparent !important;
    border-radius: 7px !important;
    box-shadow: none !important;
    color: var(--ec-pro-ink) !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    height: 38px !important;
    padding: 0 10px !important;
}

body .feed-menu > a:hover,
body .feed-menu summary:hover {
    background: var(--ec-pro-blue-soft) !important;
    border-color: var(--ec-pro-line) !important;
    color: var(--ec-pro-blue) !important;
}

body .feed-menu > a.active,
body .feed-menu > a:first-child {
    background: var(--ec-pro-blue) !important;
    border-color: var(--ec-pro-blue) !important;
    box-shadow: 0 10px 18px rgba(8, 43, 115, .18) !important;
    color: #FFFFFF !important;
}

body .feed-menu > a.menu-feature {
    background: var(--ec-pro-blue-soft) !important;
    border: 1px solid #BDD3E4 !important;
    color: var(--ec-pro-blue) !important;
}

body .feed-menu .ui-icon {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: currentColor !important;
    display: inline-flex !important;
    height: 18px !important;
    justify-content: center !important;
    margin: 0 !important;
    min-width: 18px !important;
    width: 18px !important;
}

body .feed-menu .ui-icon svg {
    height: 17px !important;
    width: 17px !important;
}

body .container,
body main > .container,
body .page-shell {
    max-width: 1780px !important;
}

body .compare-intro {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-pro-line) !important;
    border-left: 0 !important;
    border-radius: var(--ec-pro-radius) !important;
    box-shadow: none !important;
    margin: 18px auto 12px !important;
    max-width: 1780px !important;
    padding: 22px 28px !important;
}

body .compare-intro::before,
body .compare-intro::after,
body .listing-heading::before,
body .listing-heading::after {
    display: none !important;
}

body .compare-intro .breadcrumbs {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    gap: 7px !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
}

body .compare-intro .breadcrumbs a,
body .compare-intro .breadcrumbs strong {
    background: var(--ec-pro-soft) !important;
    border: 1px solid var(--ec-pro-line) !important;
    border-radius: 999px !important;
    color: var(--ec-pro-ink) !important;
    font-size: 13px !important;
    min-height: 32px !important;
    padding: 0 13px !important;
}

body .compare-intro h1 {
    color: var(--ec-pro-ink) !important;
    font-size: clamp(28px, 2.15vw, 38px) !important;
    line-height: 1.12 !important;
    margin: 0 0 8px !important;
    max-width: 980px !important;
}

body .compare-intro p {
    color: var(--ec-pro-text) !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    max-width: 940px !important;
}

body .category-tabs {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    gap: 9px !important;
    margin: 0 auto 12px !important;
    max-width: 1780px !important;
    overflow-x: auto !important;
    padding: 4px 0 !important;
}

body .category-tabs a {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-pro-line) !important;
    border-radius: 7px !important;
    color: var(--ec-pro-ink) !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    min-height: 38px !important;
    padding: 0 13px !important;
}

body .category-tabs a:hover {
    background: var(--ec-pro-blue-soft) !important;
    border-color: var(--ec-pro-line-strong) !important;
    color: var(--ec-pro-blue) !important;
}

body .category-tabs a.active {
    background: var(--ec-pro-blue) !important;
    border-color: var(--ec-pro-blue) !important;
    color: #FFFFFF !important;
}

body .category-tabs a span {
    color: inherit !important;
    font-weight: 800 !important;
}

body .listing-heading {
    align-items: end !important;
    background: #FFFFFF !important;
    border: 1px solid var(--ec-pro-line) !important;
    border-radius: var(--ec-pro-radius) !important;
    box-shadow: none !important;
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    margin: 0 auto 16px !important;
    max-width: 1780px !important;
    padding: 18px 22px !important;
}

body .listing-heading .eyebrow {
    color: #0F6692 !important;
    font-size: 12px !important;
    margin-bottom: 6px !important;
}

body .listing-heading h1,
body .listing-heading h2 {
    color: var(--ec-pro-ink) !important;
    font-size: clamp(26px, 2vw, 36px) !important;
    line-height: 1.1 !important;
    margin: 0 !important;
}

body .listing-heading p {
    color: var(--ec-pro-muted) !important;
    font-size: 15px !important;
    margin: 8px 0 0 !important;
}

body .sort-box {
    align-items: end !important;
    display: grid !important;
    gap: 7px !important;
    justify-items: end !important;
}

body .sort-box > span {
    color: var(--ec-pro-muted) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

body .sort-links {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-pro-line) !important;
    border-radius: 9px !important;
    display: flex !important;
    gap: 0 !important;
    padding: 4px !important;
}

body .sort-links a {
    border: 0 !important;
    border-radius: 7px !important;
    color: var(--ec-pro-ink) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    min-height: 36px !important;
    padding: 0 14px !important;
}

body .sort-links a:hover {
    background: var(--ec-pro-blue-soft) !important;
    color: var(--ec-pro-blue) !important;
}

body .sort-links a.active {
    background: var(--ec-pro-blue) !important;
    color: #FFFFFF !important;
}

body .active-filters {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-pro-line) !important;
    border-radius: var(--ec-pro-radius) !important;
    box-shadow: none !important;
    margin: 0 auto 14px !important;
    max-width: 1780px !important;
    padding: 10px 14px !important;
}

body .listing-layout {
    align-items: start !important;
    display: grid !important;
    gap: 22px !important;
    grid-template-columns: 265px minmax(0, 1fr) !important;
    margin: 0 auto 28px !important;
    max-width: 1780px !important;
}

body .filters {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-pro-line) !important;
    border-radius: var(--ec-pro-radius) !important;
    box-shadow: var(--ec-pro-shadow) !important;
    overflow: hidden !important;
    position: sticky !important;
    top: 142px !important;
}

body .filters .filter-head {
    background: #0F6692 !important;
    border-bottom: 3px solid var(--ec-pro-blue) !important;
    color: #FFFFFF !important;
    min-height: 54px !important;
    padding: 0 16px !important;
}

body .filters .filter-head strong,
body .filters .filter-head a {
    color: #FFFFFF !important;
}

body .filters section {
    border-bottom: 1px solid #E0E9F1 !important;
    padding: 16px !important;
}

body .filters h3 {
    color: var(--ec-pro-ink) !important;
    font-size: 15px !important;
    margin-bottom: 11px !important;
}

body .filters label {
    align-items: center !important;
    color: var(--ec-pro-text) !important;
    display: grid !important;
    font-size: 14px !important;
    grid-template-columns: 22px minmax(0, 1fr) auto !important;
    min-height: 34px !important;
}

body .filters input[type="checkbox"],
body .filters input[type="radio"] {
    accent-color: var(--ec-pro-blue) !important;
    height: 17px !important;
    width: 17px !important;
}

body .filters em {
    color: var(--ec-pro-muted) !important;
    font-style: normal !important;
}

body .filters form > button[type="submit"] {
    background: var(--ec-pro-blue) !important;
    border: 0 !important;
    border-radius: 8px !important;
    color: #FFFFFF !important;
    font-weight: 800 !important;
    margin: 14px 16px 18px !important;
    min-height: 42px !important;
    width: calc(100% - 32px) !important;
}

body .listing-results {
    min-width: 0 !important;
}

body .listing-results > .pagination-top {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-pro-line) !important;
    border-radius: var(--ec-pro-radius) !important;
    box-shadow: none !important;
    margin: 0 0 16px !important;
    padding: 12px 14px !important;
}

body .pagination {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1px solid var(--ec-pro-line) !important;
    border-radius: var(--ec-pro-radius) !important;
    box-shadow: none !important;
    display: flex !important;
    gap: 16px !important;
    justify-content: space-between !important;
    padding: 14px !important;
}

body .pagination-status {
    color: var(--ec-pro-muted) !important;
    display: grid !important;
    font-size: 13px !important;
    gap: 2px !important;
}

body .pagination-status strong {
    color: var(--ec-pro-ink) !important;
    font-size: 14px !important;
}

body .pagination-links {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    justify-content: flex-end !important;
}

body .pagination-links a,
body .pagination-links span {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1px solid var(--ec-pro-line) !important;
    border-radius: 7px !important;
    color: var(--ec-pro-ink) !important;
    display: inline-flex !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    justify-content: center !important;
    min-height: 38px !important;
    min-width: 40px !important;
    padding: 0 12px !important;
}

body .pagination-links a:hover {
    background: var(--ec-pro-blue-soft) !important;
    border-color: var(--ec-pro-line-strong) !important;
}

body .pagination-links .is-current {
    background: var(--ec-pro-blue) !important;
    border-color: var(--ec-pro-blue) !important;
    color: #FFFFFF !important;
}

body .listing-results .results {
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body .listing-results .results > article.product-card {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-pro-line) !important;
    border-radius: var(--ec-pro-radius) !important;
    box-shadow: none !important;
    display: grid !important;
    grid-template-rows: 168px 1fr auto !important;
    min-height: 430px !important;
    overflow: hidden !important;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

body .listing-results .results > article.product-card:hover {
    border-color: var(--ec-pro-line-strong) !important;
    box-shadow: 0 16px 30px rgba(7, 37, 63, .11) !important;
    transform: translateY(-1px) !important;
}

body .listing-results .results > article.product-card .product-image {
    align-items: center !important;
    background: #FFFFFF !important;
    border-bottom: 1px solid #E2EBF2 !important;
    display: flex !important;
    height: 168px !important;
    justify-content: center !important;
    padding: 16px !important;
}

body .listing-results .results > article.product-card .product-image img {
    display: block !important;
    height: auto !important;
    max-height: 136px !important;
    max-width: 100% !important;
    object-fit: contain !important;
}

body .listing-results .results > article.product-card .product-copy {
    display: grid !important;
    gap: 8px !important;
    grid-template-rows: auto auto auto auto !important;
    padding: 13px 15px 10px !important;
}

body .listing-results .results > article.product-card .product-meta {
    color: var(--ec-pro-muted) !important;
    font-size: 13px !important;
    min-height: 18px !important;
}

body .listing-results .results > article.product-card h2 {
    display: -webkit-box !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    min-height: 56px !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
}

body .listing-results .results > article.product-card h2 a {
    color: var(--ec-pro-ink) !important;
}

body .listing-results .results > article.product-card .product-copy > p {
    display: none !important;
}

body .listing-results .results > article.product-card .score-line {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    min-height: 22px !important;
}

body .listing-results .results > article.product-card .review-stars {
    align-items: center !important;
    display: inline-flex !important;
    gap: 4px !important;
}

body .listing-results .results > article.product-card .review-stars .stars {
    color: #F28A1A !important;
    font-size: 14px !important;
    letter-spacing: 0 !important;
}

body .listing-results .results > article.product-card .review-score {
    color: var(--ec-pro-ink) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

body .listing-results .results > article.product-card .review-count,
body .listing-results .results > article.product-card .product-kind,
body .listing-results .results > article.product-card .product-brand {
    color: var(--ec-pro-muted) !important;
    font-size: 13px !important;
}

body .listing-results .results > article.product-card .product-actions {
    display: flex !important;
    gap: 7px !important;
    min-height: 31px !important;
}

body .listing-results .results > article.product-card .product-actions button {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-pro-line) !important;
    border-radius: 7px !important;
    color: var(--ec-pro-muted) !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    min-height: 29px !important;
    padding: 0 10px !important;
}

body .listing-results .results > article.product-card .product-actions button:hover {
    background: var(--ec-pro-blue-soft) !important;
    color: var(--ec-pro-blue) !important;
}

body .listing-results .results > article.product-card .price-panel {
    align-self: end !important;
    background: var(--ec-pro-soft) !important;
    border-top: 1px solid #E2EBF2 !important;
    display: grid !important;
    gap: 7px !important;
    justify-items: stretch !important;
    padding: 13px 15px 15px !important;
}

body .listing-results .results > article.product-card .price-panel small {
    color: var(--ec-pro-muted) !important;
    font-size: 13px !important;
}

body .listing-results .results > article.product-card .price-panel strong {
    color: var(--ec-pro-ink) !important;
    font-size: 21px !important;
    font-weight: 850 !important;
    line-height: 1.1 !important;
    text-align: left !important;
}

body .listing-results .results > article.product-card .price-panel span {
    color: var(--ec-pro-muted) !important;
    font-size: 13px !important;
}

body .listing-results .results > article.product-card .price-panel a,
body .price-panel a,
body .btn-primary,
body .footer-cta {
    align-items: center !important;
    background: var(--ec-pro-blue) !important;
    border: 1px solid var(--ec-pro-blue) !important;
    border-radius: 8px !important;
    color: #FFFFFF !important;
    display: inline-flex !important;
    font-weight: 850 !important;
    justify-content: center !important;
    min-height: 40px !important;
    text-align: center !important;
}

body .listing-results .results > article.product-card .price-panel a:hover,
body .price-panel a:hover,
body .btn-primary:hover,
body .footer-cta:hover {
    background: #117D4A !important;
    border-color: #117D4A !important;
    color: #FFFFFF !important;
}

body .listing-results .results > article.product-card .price-panel a::after,
body .price-panel a::after,
body .footer-cta::after {
    content: "" !important;
    border-right: 2px solid currentColor !important;
    border-top: 2px solid currentColor !important;
    display: inline-block !important;
    height: 8px !important;
    margin-left: 9px !important;
    transform: rotate(45deg) !important;
    width: 8px !important;
}

body [data-catalog].is-loading::before,
body [data-catalog].is-loading::after {
    opacity: .45 !important;
}

body .home-hero-v2 .is-loading::before,
body .home-hero-v2 .is-loading::after,
body .home-hero-mosaic figure.is-loading::before,
body .home-hero-mosaic figure.is-loading::after {
    display: none !important;
}

@media (max-width: 1440px) {
    body .listing-results .results {
        gap: 16px !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    body .listing-layout {
        grid-template-columns: 250px minmax(0, 1fr) !important;
    }

    body .listing-results .results > article.product-card {
        min-height: 420px !important;
    }
}

@media (max-width: 1180px) {
    body .header-main {
        grid-template-columns: 210px minmax(260px, 1fr) auto !important;
    }

    body .listing-layout {
        grid-template-columns: 235px minmax(0, 1fr) !important;
    }

    body .listing-results .results {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 900px) {
    body .header-main {
        grid-template-columns: 1fr auto !important;
        gap: 10px !important;
    }

    body .top-search {
        grid-column: 1 / -1 !important;
        order: 3 !important;
        width: 100% !important;
    }

    body .header-main .main-nav {
        justify-content: flex-end !important;
    }

    body .feed-menu {
        gap: 7px !important;
    }

    body .listing-heading {
        align-items: stretch !important;
        grid-template-columns: 1fr !important;
    }

    body .sort-box {
        justify-items: stretch !important;
    }

    body .sort-links {
        overflow-x: auto !important;
    }

    body .listing-layout {
        grid-template-columns: 1fr !important;
    }

    body .filters {
        position: static !important;
    }

    body .listing-results .results {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 620px) {
    body .header-main,
    body .feed-menu {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    body .brand,
    body .brand-logo {
        width: 190px !important;
    }

    body .brand-logo img,
    body .logo img {
        max-height: 32px !important;
        max-width: 185px !important;
    }

    body .header-main .main-nav a.nav-prices {
        display: none !important;
    }

    body .compare-intro {
        margin-top: 12px !important;
        padding: 15px 16px !important;
    }

    body .compare-intro h1 {
        font-size: 25px !important;
    }

    body .compare-intro p,
    body .listing-heading .eyebrow {
        display: none !important;
    }

    body .category-tabs {
        margin-bottom: 10px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    body .listing-heading {
        padding: 14px 16px !important;
    }

    body .listing-heading h1,
    body .listing-heading h2 {
        font-size: 25px !important;
    }

    body .listing-heading p {
        font-size: 14px !important;
        margin-top: 5px !important;
    }

    body .sort-links a {
        font-size: 13px !important;
        padding: 0 10px !important;
        white-space: nowrap !important;
    }

    body .listing-results > .pagination-top {
        display: none !important;
    }

    body .pagination {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    body .pagination-links {
        justify-content: flex-start !important;
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
    }

    body .listing-results .results {
        grid-template-columns: 1fr !important;
    }

    body .listing-results .results > article.product-card {
        grid-template-rows: 180px auto auto !important;
        min-height: 0 !important;
    }
}

/* Final catalog + product detail alignment pass. Keep this at EOF. */
body .site-header {
    box-shadow: 0 4px 16px rgba(6, 35, 63, .07) !important;
}

body .header-main {
    gap: 16px !important;
    min-height: 58px !important;
    padding-bottom: 7px !important;
    padding-top: 7px !important;
}

body .brand,
body .brand-logo {
    height: 38px !important;
}

body .brand-logo img,
body .logo img {
    max-height: 31px !important;
}

body .top-search {
    height: 44px !important;
}

body .top-search input {
    height: 34px !important;
}

body .top-search button {
    height: 34px !important;
}

body .header-main .main-nav a {
    height: 36px !important;
}

body .feed-menu {
    min-height: 44px !important;
    padding-bottom: 5px !important;
    padding-top: 5px !important;
}

body .feed-menu > a,
body .feed-menu summary {
    height: 34px !important;
    font-size: 13px !important;
}

body .compare-intro {
    margin-top: 12px !important;
    margin-bottom: 10px !important;
    padding: 16px 22px !important;
}

body .compare-intro .breadcrumbs {
    margin-bottom: 10px !important;
}

body .compare-intro h1 {
    font-size: clamp(25px, 1.8vw, 32px) !important;
    line-height: 1.12 !important;
}

body .compare-intro p {
    font-size: 14px !important;
    line-height: 1.45 !important;
    max-width: 880px !important;
}

body .category-tabs {
    margin-bottom: 10px !important;
    padding-bottom: 2px !important;
    padding-top: 2px !important;
}

body .category-tabs a {
    min-height: 34px !important;
}

body .listing-heading {
    align-items: center !important;
    margin-bottom: 14px !important;
    padding: 14px 18px !important;
}

body .listing-heading .eyebrow {
    display: none !important;
}

body .listing-heading h1,
body .listing-heading h2 {
    font-size: clamp(24px, 1.65vw, 31px) !important;
}

body .listing-heading p {
    font-size: 14px !important;
    margin-top: 5px !important;
}

body .listing-layout {
    gap: 20px !important;
}

body .filters {
    top: 118px !important;
}

body .filters .filter-head {
    min-height: 48px !important;
}

body .listing-results > .pagination-top {
    padding: 10px 12px !important;
}

body .product-hero,
body .product-tools,
body .detail-layout,
body .related-products.review-compare-products,
body .related-products {
    max-width: min(calc(100% - 56px), 1680px) !important;
}

body .product-hero {
    align-items: start !important;
    background: #FFFFFF !important;
    border: 1px solid var(--ec-pro-line, #C9D9E7) !important;
    border-radius: 12px !important;
    border-top: 0 !important;
    box-shadow: 0 14px 34px rgba(7, 37, 63, .07) !important;
    display: grid !important;
    gap: 24px !important;
    grid-template-columns: minmax(310px, 390px) minmax(0, 1fr) minmax(260px, 300px) !important;
    margin-bottom: 18px !important;
    margin-top: 18px !important;
    overflow: visible !important;
    padding: 22px !important;
}

body .product-media {
    align-self: stretch !important;
    background: #FFFFFF !important;
    border: 1px solid var(--ec-pro-line, #C9D9E7) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    display: grid !important;
    grid-template-rows: auto minmax(300px, 1fr) auto auto !important;
    min-height: 100% !important;
    overflow: hidden !important;
    padding: 14px !important;
}

body .product-media-badge {
    align-self: start !important;
    background: #12324D !important;
    border-radius: 999px !important;
    color: #FFFFFF !important;
    display: inline-flex !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    justify-self: start !important;
    margin-bottom: 10px !important;
    padding: 8px 12px !important;
    position: static !important;
}

body .product-gallery-main {
    align-items: center !important;
    aspect-ratio: auto !important;
    background: #FFFFFF !important;
    border: 0 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    display: flex !important;
    justify-content: center !important;
    min-height: 300px !important;
    padding: 10px !important;
}

body .product-gallery-main img,
body .product-media img {
    height: auto !important;
    max-height: 300px !important;
    max-width: 100% !important;
    object-fit: contain !important;
}

body .product-gallery-zoom {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-pro-line, #C9D9E7) !important;
    border-radius: 999px !important;
    bottom: 14px !important;
    color: var(--ec-pro-ink, #06233F) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    left: 14px !important;
    padding: 8px 12px !important;
    right: auto !important;
}

body .product-summary {
    align-self: start !important;
    display: grid !important;
    gap: 12px !important;
    padding: 0 !important;
}

body .product-summary .breadcrumbs {
    background: #F7FAFC !important;
    border: 1px solid var(--ec-pro-line, #C9D9E7) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    margin: 0 0 4px !important;
    max-width: 100% !important;
    overflow: hidden !important;
    padding: 6px !important;
    white-space: nowrap !important;
}

body .product-summary .breadcrumbs a,
body .product-summary .breadcrumbs strong {
    background: transparent !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: var(--ec-pro-ink, #06233F) !important;
    display: inline-flex !important;
    flex: 0 1 auto !important;
    font-size: 13px !important;
    min-height: 28px !important;
    min-width: 0 !important;
    overflow: hidden !important;
    padding: 0 8px !important;
    text-overflow: ellipsis !important;
}

body .product-summary .breadcrumbs strong {
    max-width: 360px !important;
}

body .product-summary .eyebrow {
    color: #0F6692 !important;
    font-size: 12px !important;
    margin: 4px 0 0 !important;
}

body .product-summary h1 {
    color: var(--ec-pro-ink, #06233F) !important;
    font-size: clamp(32px, 2.7vw, 46px) !important;
    line-height: 1.05 !important;
    margin: 0 !important;
    max-width: 880px !important;
}

body .product-summary > p {
    color: var(--ec-pro-text, #244059) !important;
    font-size: 16px !important;
    line-height: 1.62 !important;
    margin: 0 !important;
    max-width: 820px !important;
}

body .product-action-bar {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
    margin-top: 2px !important;
}

body .product-action-bar button,
body .product-summary .product-action-bar button {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1px solid var(--ec-pro-line, #C9D9E7) !important;
    border-radius: 8px !important;
    color: var(--ec-pro-ink, #06233F) !important;
    display: inline-flex !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    gap: 7px !important;
    min-height: 38px !important;
    padding: 0 13px !important;
}

body .product-action-bar button:hover {
    background: var(--ec-pro-blue-soft, #EAF2FA) !important;
    border-color: var(--ec-pro-line-strong, #AFC5D8) !important;
}

body .review-summary {
    margin-top: 4px !important;
}

body .rating-card.rating-card-wide {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1px solid var(--ec-pro-line, #C9D9E7) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    display: grid !important;
    gap: 16px !important;
    grid-template-columns: auto 1fr !important;
    max-width: 380px !important;
    padding: 14px 16px !important;
}

body .rating-score-block strong {
    color: var(--ec-pro-ink, #06233F) !important;
    font-size: 38px !important;
    line-height: .95 !important;
}

body .rating-score-block span {
    color: var(--ec-pro-muted, #5F748A) !important;
    font-size: 12px !important;
}

body .rating-review-block .review-stars .stars {
    color: #F28A1A !important;
    font-size: 20px !important;
}

body .rating-bar {
    background: #DDE8F0 !important;
    border-radius: 999px !important;
    height: 7px !important;
    overflow: hidden !important;
}

body .rating-bar i {
    background: var(--ec-pro-green, #225FBD) !important;
    display: block !important;
    height: 100% !important;
}

body .best-price {
    align-self: start !important;
    background: #FFFFFF !important;
    border: 1px solid var(--ec-pro-line, #C9D9E7) !important;
    border-radius: 10px !important;
    box-shadow: 0 12px 28px rgba(7, 37, 63, .08) !important;
    display: grid !important;
    gap: 10px !important;
    padding: 20px !important;
    position: sticky !important;
    top: 132px !important;
}

body .best-price small {
    color: var(--ec-pro-text, #244059) !important;
    font-size: 13px !important;
}

body .best-price strong {
    color: var(--ec-pro-ink, #06233F) !important;
    font-size: 28px !important;
    line-height: 1.1 !important;
}

body .best-price > a {
    background: #FF6B1A !important;
    border: 1px solid #FF6B1A !important;
    border-radius: 8px !important;
    color: #FFFFFF !important;
    font-weight: 900 !important;
    min-height: 46px !important;
}

body .best-price > a:hover {
    background: #E95C0C !important;
    border-color: #E95C0C !important;
}

body .best-price-benefits {
    border-top: 1px solid var(--ec-pro-line, #C9D9E7) !important;
    display: grid !important;
    gap: 10px !important;
    margin-top: 8px !important;
    padding-top: 14px !important;
}

body .best-price-benefits span {
    align-items: center !important;
    color: var(--ec-pro-text, #244059) !important;
    display: grid !important;
    font-size: 13px !important;
    gap: 9px !important;
    grid-template-columns: 32px 1fr !important;
}

body .best-price-benefits .ui-icon {
    align-items: center !important;
    background: var(--ec-ui-blue-soft) !important;
    border: 1px solid #BDD3E4 !important;
    border-radius: 999px !important;
    color: var(--ec-ui-blue-dark) !important;
    display: inline-flex !important;
    height: 32px !important;
    justify-content: center !important;
    width: 32px !important;
}

body .product-tools {
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin-bottom: 22px !important;
    padding-top: 0 !important;
}

body .product-tools article {
    align-items: center !important;
    min-height: 76px !important;
    padding: 16px 18px !important;
}

body .detail-layout {
    align-items: start !important;
    display: grid !important;
    gap: 22px !important;
    grid-template-columns: minmax(0, 1fr) 320px !important;
    padding-top: 0 !important;
}

body .offers-table,
body .spec-card {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-pro-line, #C9D9E7) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    padding: 22px !important;
}

body .offers-table .section-title,
body .spec-card .section-title {
    margin-bottom: 14px !important;
}

body .offers-table .section-title h2,
body .spec-card .section-title h2 {
    font-size: 24px !important;
    margin: 0 !important;
}

body .offer-row {
    align-items: center !important;
    border-color: var(--ec-pro-line, #C9D9E7) !important;
    border-radius: 9px !important;
    grid-template-columns: minmax(0, 1fr) minmax(160px, auto) 138px !important;
    min-height: 74px !important;
    padding: 14px 16px !important;
}

body .offer-price {
    justify-items: end !important;
    text-align: right !important;
}

body .offer-price strong {
    color: var(--ec-pro-ink, #06233F) !important;
    font-size: 21px !important;
}

body .offer-row > a {
    align-items: center !important;
    background: var(--ec-pro-green, #225FBD) !important;
    border: 1px solid var(--ec-pro-green, #225FBD) !important;
    border-radius: 8px !important;
    color: #FFFFFF !important;
    display: inline-flex !important;
    font-weight: 900 !important;
    justify-content: center !important;
    min-height: 42px !important;
}

body .offer-row > a:hover {
    background: #117D4A !important;
    border-color: #117D4A !important;
}

body .spec-card {
    position: sticky !important;
    top: 132px !important;
}

body .spec-row {
    align-items: start !important;
    border-top: 1px solid #E0E9F1 !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: minmax(90px, .9fr) minmax(0, 1fr) !important;
    padding: 12px 0 !important;
}

body .spec-row span {
    color: var(--ec-pro-muted, #5F748A) !important;
}

body .spec-row strong {
    color: var(--ec-pro-ink, #06233F) !important;
    overflow-wrap: anywhere !important;
    text-align: right !important;
}

body .related-products.review-compare-products,
body .related-products {
    margin-top: 28px !important;
}

body .sticky-product-cta {
    bottom: 16px !important;
    left: 50% !important;
    max-width: min(920px, calc(100% - 32px)) !important;
    transform: translateX(-50%) translateY(24px) !important;
}

body .sticky-product-cta.is-visible {
    transform: translateX(-50%) translateY(0) !important;
}

@media (max-width: 1180px) {
    body .product-hero {
        grid-template-columns: minmax(280px, 360px) minmax(0, 1fr) !important;
    }

    body .best-price {
        grid-column: 1 / -1 !important;
        position: static !important;
    }

    body .detail-layout {
        grid-template-columns: minmax(0, 1fr) 300px !important;
    }
}

@media (max-width: 900px) {
    body .header-main {
        min-height: 0 !important;
    }

    body .compare-intro {
        padding: 14px 16px !important;
    }

    body .compare-intro p {
        display: none !important;
    }

    body .product-hero,
    body .product-tools,
    body .detail-layout,
    body .related-products.review-compare-products,
    body .related-products {
        max-width: min(calc(100% - 28px), 1680px) !important;
    }

    body .product-hero,
    body .detail-layout {
        grid-template-columns: 1fr !important;
    }

    body .product-media {
        grid-template-rows: auto 260px auto auto !important;
    }

    body .product-gallery-main {
        min-height: 260px !important;
    }

    body .product-gallery-main img,
    body .product-media img {
        max-height: 245px !important;
    }

    body .product-summary h1 {
        font-size: 32px !important;
    }

    body .product-tools {
        grid-template-columns: 1fr !important;
    }

    body .spec-card {
        position: static !important;
    }
}

@media (max-width: 620px) {
    body .header-main .main-nav a.nav-counter {
        min-width: 38px !important;
        padding: 0 9px !important;
    }

    body .product-hero {
        gap: 16px !important;
        margin-top: 12px !important;
        padding: 14px !important;
    }

    body .product-summary .breadcrumbs strong {
        max-width: 170px !important;
    }

    body .product-summary h1 {
        font-size: 27px !important;
    }

    body .product-summary > p {
        font-size: 15px !important;
    }

    body .rating-card.rating-card-wide {
        max-width: none !important;
        width: 100% !important;
    }

    body .offer-row {
        grid-template-columns: 1fr !important;
    }

    body .offer-price {
        justify-items: start !important;
        text-align: left !important;
    }
}

/* Ultra compact professional pass. */
:root {
    --ec-pro-shadow-tight: 0 8px 22px rgba(7, 37, 63, .07);
}

body .site-header {
    border-bottom-color: #BFD0DF !important;
}

body .header-main {
    grid-template-columns: 220px minmax(380px, 1fr) auto !important;
    min-height: 52px !important;
    padding-bottom: 5px !important;
    padding-top: 5px !important;
}

body .brand,
body .brand-logo {
    height: 34px !important;
    width: 220px !important;
}

body .brand-logo img,
body .logo img {
    max-height: 28px !important;
    max-width: 210px !important;
}

body .top-search {
    border-radius: 7px !important;
    height: 40px !important;
    padding: 3px !important;
}

body .top-search input {
    font-size: 14px !important;
    height: 32px !important;
    padding-left: 12px !important;
}

body .top-search button {
    border-radius: 6px !important;
    font-size: 12px !important;
    height: 32px !important;
    min-width: 78px !important;
    padding: 0 14px !important;
}

body .header-main .main-nav {
    gap: 7px !important;
}

body .header-main .main-nav a {
    border-radius: 7px !important;
    font-size: 12px !important;
    height: 34px !important;
    padding: 0 10px !important;
}

body .feed-menu {
    gap: 7px !important;
    min-height: 38px !important;
    padding-bottom: 4px !important;
    padding-top: 4px !important;
}

body .feed-menu > a,
body .feed-menu summary {
    border-radius: 6px !important;
    font-size: 13px !important;
    height: 30px !important;
    padding: 0 9px !important;
}

body .feed-menu .ui-icon,
body .feed-menu .ui-icon svg {
    height: 15px !important;
    min-width: 15px !important;
    width: 15px !important;
}

body .compare-intro {
    border-radius: 9px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    margin-top: 10px !important;
    padding: 12px 18px !important;
}

body .compare-intro .breadcrumbs {
    grid-column: 1 / -1 !important;
    margin-bottom: 7px !important;
}

body .compare-intro .breadcrumbs a,
body .compare-intro .breadcrumbs strong {
    font-size: 12px !important;
    min-height: 28px !important;
    padding: 0 10px !important;
}

body .compare-intro h1 {
    font-size: clamp(23px, 1.55vw, 29px) !important;
    margin: 0 !important;
}

body .compare-intro p {
    align-self: end !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    max-width: 720px !important;
}

body .category-tabs {
    gap: 7px !important;
    margin-bottom: 8px !important;
}

body .category-tabs a {
    border-radius: 6px !important;
    font-size: 13px !important;
    min-height: 32px !important;
    padding: 0 11px !important;
}

body .listing-heading {
    border-radius: 9px !important;
    margin-bottom: 12px !important;
    padding: 12px 16px !important;
}

body .listing-heading h1,
body .listing-heading h2 {
    font-size: clamp(23px, 1.45vw, 29px) !important;
}

body .listing-heading p {
    font-size: 13px !important;
}

body .sort-links {
    border-radius: 7px !important;
    padding: 3px !important;
}

body .sort-links a {
    border-radius: 5px !important;
    font-size: 13px !important;
    min-height: 32px !important;
    padding: 0 11px !important;
}

body .listing-layout {
    gap: 18px !important;
}

body .filters {
    border-radius: 9px !important;
    top: 102px !important;
}

body .filters .filter-head {
    min-height: 42px !important;
}

body .filters section {
    padding: 13px 14px !important;
}

body .filters h3 {
    font-size: 14px !important;
    margin-bottom: 8px !important;
}

body .filters label {
    font-size: 13px !important;
    min-height: 29px !important;
}

body .listing-results > .pagination-top,
body .pagination {
    border-radius: 9px !important;
    padding: 9px 11px !important;
}

body .pagination-links a,
body .pagination-links span {
    border-radius: 6px !important;
    font-size: 13px !important;
    min-height: 32px !important;
    min-width: 34px !important;
}

body .listing-results .results {
    gap: 14px !important;
}

body .listing-results .results > article.product-card {
    border-radius: 9px !important;
    grid-template-rows: 144px 1fr auto !important;
    min-height: 384px !important;
}

body .listing-results .results > article.product-card .product-image {
    height: 144px !important;
    min-height: 144px !important;
    padding: 12px !important;
}

body .listing-results .results > article.product-card .product-image img {
    max-height: 120px !important;
}

body .listing-results .results > article.product-card .product-copy {
    gap: 6px !important;
    padding: 10px 12px 8px !important;
}

body .listing-results .results > article.product-card .product-meta,
body .listing-results .results > article.product-card .review-count,
body .listing-results .results > article.product-card .product-kind,
body .listing-results .results > article.product-card .product-brand {
    font-size: 12px !important;
}

body .listing-results .results > article.product-card h2 {
    font-size: 14px !important;
    min-height: 51px !important;
}

body .listing-results .results > article.product-card .product-actions {
    min-height: 28px !important;
}

body .listing-results .results > article.product-card .product-actions button {
    border-radius: 6px !important;
    font-size: 12px !important;
    min-height: 27px !important;
    padding: 0 8px !important;
}

body .listing-results .results > article.product-card .price-panel {
    gap: 5px !important;
    padding: 10px 12px 12px !important;
}

body .listing-results .results > article.product-card .price-panel strong {
    font-size: 19px !important;
}

body .listing-results .results > article.product-card .price-panel a {
    border-radius: 7px !important;
    min-height: 36px !important;
}

body .product-hero,
body .product-tools,
body .detail-layout,
body .related-products.review-compare-products,
body .related-products {
    max-width: min(calc(100% - 44px), 1700px) !important;
}

body .product-hero {
    border-radius: 10px !important;
    box-shadow: var(--ec-pro-shadow-tight) !important;
    gap: 18px !important;
    grid-template-columns: minmax(280px, 340px) minmax(0, 1fr) minmax(250px, 285px) !important;
    margin-top: 14px !important;
    padding: 18px !important;
}

body .product-media {
    border-radius: 8px !important;
    grid-template-rows: auto minmax(250px, 1fr) auto auto !important;
    padding: 12px !important;
}

body .product-media-badge {
    font-size: 11px !important;
    margin-bottom: 7px !important;
    padding: 7px 10px !important;
}

body .product-gallery-main {
    min-height: 250px !important;
    padding: 8px !important;
}

body .product-gallery-main img,
body .product-media img {
    max-height: 240px !important;
}

body .product-gallery-zoom {
    font-size: 12px !important;
    padding: 7px 10px !important;
}

body .product-summary {
    gap: 9px !important;
}

body .product-summary .breadcrumbs {
    border-radius: 8px !important;
    margin-bottom: 2px !important;
    padding: 4px !important;
}

body .product-summary .breadcrumbs a,
body .product-summary .breadcrumbs strong {
    font-size: 12px !important;
    min-height: 24px !important;
    padding: 0 6px !important;
}

body .product-summary h1 {
    font-size: clamp(28px, 2.15vw, 39px) !important;
    line-height: 1.06 !important;
}

body .product-summary > p {
    font-size: 15px !important;
    line-height: 1.5 !important;
}

body .product-action-bar {
    gap: 7px !important;
}

body .product-action-bar button,
body .product-summary .product-action-bar button {
    border-radius: 7px !important;
    font-size: 12px !important;
    min-height: 34px !important;
    padding: 0 10px !important;
}

body .rating-card.rating-card-wide {
    border-radius: 8px !important;
    gap: 12px !important;
    max-width: 340px !important;
    padding: 11px 13px !important;
}

body .rating-score-block strong {
    font-size: 32px !important;
}

body .rating-review-block .review-stars .stars {
    font-size: 17px !important;
}

body .best-price {
    border-radius: 8px !important;
    box-shadow: var(--ec-pro-shadow-tight) !important;
    gap: 8px !important;
    padding: 16px !important;
    top: 108px !important;
}

body .best-price strong {
    font-size: 25px !important;
}

body .best-price > a {
    border-radius: 7px !important;
    min-height: 42px !important;
}

body .best-price-benefits {
    gap: 8px !important;
    padding-top: 10px !important;
}

body .best-price-benefits span {
    font-size: 12px !important;
    grid-template-columns: 28px 1fr !important;
}

body .best-price-benefits .ui-icon {
    height: 28px !important;
    width: 28px !important;
}

body .product-tools {
    gap: 12px !important;
    margin-bottom: 16px !important;
}

body .product-tools article {
    border-radius: 8px !important;
    grid-template-columns: 36px minmax(0, 1fr) !important;
    min-height: 62px !important;
    padding: 12px 14px !important;
}

body .product-tools .ui-icon {
    height: 32px !important;
    width: 32px !important;
}

body .product-tools strong {
    font-size: 14px !important;
}

body .product-tools span {
    font-size: 13px !important;
}

body .detail-layout {
    gap: 18px !important;
    grid-template-columns: minmax(0, 1fr) 300px !important;
}

body .offers-table,
body .spec-card {
    border-radius: 9px !important;
    padding: 17px !important;
}

body .offers-table .section-title h2,
body .spec-card .section-title h2 {
    font-size: 21px !important;
}

body .offer-row {
    border-radius: 7px !important;
    grid-template-columns: minmax(0, 1fr) minmax(145px, auto) 126px !important;
    min-height: 62px !important;
    padding: 11px 13px !important;
}

body .offer-row > a {
    border-radius: 7px !important;
    min-height: 38px !important;
}

body .offer-price strong {
    font-size: 19px !important;
}

body .spec-card {
    top: 108px !important;
}

body .spec-row {
    font-size: 13px !important;
    padding: 9px 0 !important;
}

body .related-products.review-compare-products,
body .related-products {
    border-radius: 10px !important;
    margin-top: 22px !important;
    padding: 18px !important;
}

body .related-products .section-head {
    margin-bottom: 14px !important;
    padding-bottom: 14px !important;
}

body .related-products .section-head h2 {
    font-size: clamp(23px, 1.9vw, 30px) !important;
}

@media (max-width: 1180px) {
    body .product-hero {
        grid-template-columns: minmax(260px, 330px) minmax(0, 1fr) !important;
    }

    body .detail-layout {
        grid-template-columns: minmax(0, 1fr) 280px !important;
    }
}

@media (max-width: 900px) {
    body .header-main {
        grid-template-columns: 190px auto !important;
        padding-bottom: 7px !important;
        padding-top: 7px !important;
    }

    body .top-search {
        height: 38px !important;
    }

    body .compare-intro {
        display: block !important;
    }

    body .listing-heading {
        gap: 9px !important;
    }

    body .product-hero {
        grid-template-columns: 1fr !important;
        padding: 14px !important;
    }

    body .product-media {
        grid-template-rows: auto 220px auto auto !important;
    }

    body .product-gallery-main {
        min-height: 220px !important;
    }

    body .product-gallery-main img,
    body .product-media img {
        max-height: 210px !important;
    }

    body .detail-layout {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 620px) {
    body .product-hero,
    body .product-tools,
    body .detail-layout,
    body .related-products.review-compare-products,
    body .related-products {
        max-width: min(calc(100% - 22px), 1700px) !important;
    }

    body .compare-intro {
        margin-top: 8px !important;
        padding: 11px 13px !important;
    }

    body .compare-intro h1 {
        font-size: 23px !important;
    }

    body .listing-heading {
        padding: 11px 13px !important;
    }

    body .listing-heading h1,
    body .listing-heading h2 {
        font-size: 23px !important;
    }

    body .listing-results .results > article.product-card {
        grid-template-rows: 156px auto auto !important;
    }

    body .listing-results .results > article.product-card .product-image {
        height: 156px !important;
        min-height: 156px !important;
    }

    body .product-summary h1 {
        font-size: 25px !important;
    }

    body .product-tools article {
        min-height: 56px !important;
    }
}

/* Calm header reset: one quiet header, no broken stripes, no special green menu item. */
body .site-header {
    background: #FFFFFF !important;
    border: 0 !important;
    border-bottom: 1px solid #D9E4EC !important;
    box-shadow: 0 3px 14px rgba(7, 37, 63, .06) !important;
    overflow: visible !important;
}

body .header-main,
body .feed-menu {
    background: #FFFFFF !important;
    border: 0 !important;
    box-shadow: none !important;
}

body .header-main {
    min-height: 56px !important;
    padding-bottom: 6px !important;
    padding-top: 8px !important;
}

body .feed-menu {
    border-top: 0 !important;
    min-height: 42px !important;
    padding-bottom: 7px !important;
    padding-top: 0 !important;
}

body .feed-menu::before,
body .feed-menu::after,
body .header-main::before,
body .header-main::after,
body .site-header::before,
body .site-header::after {
    display: none !important;
}

body .feed-menu > a,
body .feed-menu summary,
body .feed-menu > a.menu-feature,
body .feed-menu > a:first-child,
body .feed-menu > a.active {
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 7px !important;
    box-shadow: none !important;
    color: #06233F !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    height: 34px !important;
    padding: 0 10px !important;
}

body .feed-menu > a:hover,
body .feed-menu summary:hover,
body .feed-menu details[open] summary,
body .feed-menu > a.menu-feature:hover {
    background: #F4F8FB !important;
    border-color: #D5E2EC !important;
    color: #082B73 !important;
}

body .feed-menu > a:first-child {
    background: #082B73 !important;
    border-color: #082B73 !important;
    color: #FFFFFF !important;
}

body .feed-menu > a:first-child .ui-icon {
    color: #FFFFFF !important;
}

body .feed-menu > a.menu-feature {
    background: transparent !important;
    border-color: transparent !important;
    color: #06233F !important;
}

body .feed-menu .ui-icon {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: currentColor !important;
    height: 16px !important;
    min-width: 16px !important;
    width: 16px !important;
}

body .feed-menu .ui-icon svg {
    height: 16px !important;
    width: 16px !important;
}

body .header-main .main-nav a {
    background: #F8FBFD !important;
    border: 1px solid #D5E2EC !important;
    color: #06233F !important;
}

body .header-main .main-nav a.nav-prices {
    background: #082B73 !important;
    border-color: #082B73 !important;
    color: #FFFFFF !important;
}

body .header-main .main-nav a.nav-counter {
    background: #F8FBFD !important;
}

body .top-search {
    background: #FFFFFF !important;
    border-color: #BFD0DF !important;
    box-shadow: none !important;
}

body .top-search:focus-within {
    border-color: #0F6692 !important;
    box-shadow: 0 0 0 3px rgba(15, 102, 146, .10) !important;
}

@media (max-width: 900px) {
    body .site-header:not(.menu-open) .feed-menu {
        display: none !important;
    }

    body .site-header.menu-open .feed-menu {
        background: #FFFFFF !important;
        border-top: 1px solid #D9E4EC !important;
        box-shadow: 0 14px 28px rgba(7, 37, 63, .10) !important;
        padding-top: 10px !important;
    }
}

/* Button contrast reset: every clickable control must be readable. */
body button,
body .button,
body .btn,
body input[type="submit"],
body input[type="button"],
body .product-actions button,
body .product-action-bar button,
body .product-tools button,
body .meta-actions button,
body .compare-toolbar button,
body .compare-actions-cell button,
body .sort-tabs button,
body .sort-links a,
body .category-tabs a,
body .guide-hero-actions a,
body .section-head > a,
body .footer-cta,
body .battery-cta {
    color: #06233F !important;
    text-shadow: none !important;
}

body button *,
body .button *,
body .btn *,
body .product-actions button *,
body .product-action-bar button *,
body .product-tools button *,
body .meta-actions button *,
body .compare-toolbar button *,
body .compare-actions-cell button *,
body .sort-tabs button *,
body .sort-links a *,
body .category-tabs a *,
body .guide-hero-actions a *,
body .section-head > a *,
body .footer-cta *,
body .battery-cta * {
    color: inherit !important;
    text-shadow: none !important;
}

body .top-search button,
body .hero-search button,
body button[type="submit"],
body .filters form > button[type="submit"],
body .admin-card button[type="submit"],
body .cookie-notice button,
body .nav-prices,
body .header-main .main-nav a.nav-prices,
body .feed-menu > a:first-child,
body .sort-links a.active,
body .sort-tabs button.active,
body .compare-deal-button,
body .primary-action,
body .cta-primary {
    background: #082B73 !important;
    border-color: #082B73 !important;
    color: #FFFFFF !important;
}

body .top-search button *,
body .hero-search button *,
body button[type="submit"] *,
body .filters form > button[type="submit"] *,
body .admin-card button[type="submit"] *,
body .cookie-notice button *,
body .nav-prices *,
body .header-main .main-nav a.nav-prices *,
body .feed-menu > a:first-child *,
body .sort-links a.active *,
body .sort-tabs button.active *,
body .compare-deal-button *,
body .primary-action *,
body .cta-primary * {
    color: #FFFFFF !important;
}

body .top-search button:hover,
body .hero-search button:hover,
body button[type="submit"]:hover,
body .filters form > button[type="submit"]:hover,
body .admin-card button[type="submit"]:hover,
body .cookie-notice button:hover,
body .nav-prices:hover,
body .header-main .main-nav a.nav-prices:hover,
body .feed-menu > a:first-child:hover,
body .sort-links a.active:hover,
body .sort-tabs button.active:hover,
body .compare-deal-button:hover,
body .primary-action:hover,
body .cta-primary:hover {
    background: #0F6692 !important;
    border-color: #0F6692 !important;
    color: #FFFFFF !important;
}

body .price-panel a,
body article.product-card .price-panel a,
body .results article.product-card .price-panel a,
body .deal-grid article.product-card .price-panel a,
body .home-deal-grid article.product-card .price-panel a,
body .related-products article.product-card .price-panel a,
body .best-price > a,
body .best-price a,
body .offer-row > a,
body .offer-row a,
body .sticky-product-cta a {
    background: #225FBD !important;
    border-color: #225FBD !important;
    color: #FFFFFF !important;
    text-shadow: none !important;
}

body .best-price > a {
    background: #FF6B1A !important;
    border-color: #FF6B1A !important;
}

body .price-panel a *,
body article.product-card .price-panel a *,
body .results article.product-card .price-panel a *,
body .deal-grid article.product-card .price-panel a *,
body .home-deal-grid article.product-card .price-panel a *,
body .related-products article.product-card .price-panel a *,
body .best-price > a *,
body .best-price a *,
body .offer-row > a *,
body .offer-row a *,
body .sticky-product-cta a * {
    color: #FFFFFF !important;
}

body .price-panel a:hover,
body article.product-card .price-panel a:hover,
body .results article.product-card .price-panel a:hover,
body .deal-grid article.product-card .price-panel a:hover,
body .home-deal-grid article.product-card .price-panel a:hover,
body .related-products article.product-card .price-panel a:hover,
body .offer-row > a:hover,
body .offer-row a:hover,
body .sticky-product-cta a:hover {
    background: #117D4A !important;
    border-color: #117D4A !important;
    color: #FFFFFF !important;
}

body .best-price > a:hover,
body .best-price a:hover {
    background: #E95C0C !important;
    border-color: #E95C0C !important;
    color: #FFFFFF !important;
}

body .product-actions button,
body .product-action-bar button,
body .product-tools button,
body .meta-actions button,
body .compare-toolbar button,
body .compare-actions-cell button,
body .sort-links a:not(.active),
body .sort-tabs button:not(.active),
body .category-tabs a:not(.active),
body .guide-hero-actions a:not(:first-child),
body .section-head > a:not(.primary-action),
body .footer-cta {
    background: #FFFFFF !important;
    border-color: #BFD0DF !important;
    color: #06233F !important;
}

body .product-actions button:hover,
body .product-action-bar button:hover,
body .product-tools button:hover,
body .meta-actions button:hover,
body .compare-toolbar button:hover,
body .compare-actions-cell button:hover,
body .sort-links a:not(.active):hover,
body .sort-tabs button:not(.active):hover,
body .category-tabs a:not(.active):hover,
body .guide-hero-actions a:not(:first-child):hover,
body .section-head > a:not(.primary-action):hover,
body .footer-cta:hover {
    background: #EAF2FA !important;
    border-color: #9FB8CB !important;
    color: #082B73 !important;
}

body button:disabled,
body .is-disabled,
body [aria-disabled="true"] {
    background: #EEF3F7 !important;
    border-color: #D7E2EA !important;
    color: #64798D !important;
    opacity: 1 !important;
}

body a:focus-visible,
body button:focus-visible,
body input:focus-visible,
body summary:focus-visible {
    outline: 3px solid rgba(15, 102, 146, .28) !important;
    outline-offset: 2px !important;
}

/* Consumentenbond-inspired calm system: blue structure, yellow action, soft grey surfaces. */
:root {
    --ec-cb-blue: #004B8D;
    --ec-cb-blue-dark: #003B70;
    --ec-cb-blue-soft: #EAF4FB;
    --ec-cb-yellow: #225FBD;
    --ec-cb-yellow-hover: #225FBD;
    --ec-cb-text: #102F4A;
    --ec-cb-muted: #5E7184;
    --ec-cb-line: #D5E2EC;
    --ec-cb-bg: #F3F7FA;
    --ec-cb-card: #FFFFFF;
}

body {
    background: var(--ec-cb-bg) !important;
    color: var(--ec-cb-text) !important;
}

body .site-header {
    background: #FFFFFF !important;
    border-bottom: 1px solid var(--ec-cb-line) !important;
    box-shadow: 0 2px 10px rgba(16, 47, 74, .06) !important;
}

body .top-search,
body .hero-search {
    border-color: #AAC4D8 !important;
    border-radius: 8px !important;
}

body .top-search button,
body .hero-search button {
    background: var(--ec-cb-blue) !important;
    border-color: var(--ec-cb-blue) !important;
    color: #FFFFFF !important;
}

body .top-search button:hover,
body .hero-search button:hover {
    background: var(--ec-cb-blue-dark) !important;
    border-color: var(--ec-cb-blue-dark) !important;
}

body .header-main .main-nav a.nav-prices,
body .feed-menu > a:first-child,
body .sort-links a.active,
body .sort-tabs button.active,
body .category-tabs a.active,
body .nav-prices {
    background: var(--ec-cb-blue) !important;
    border-color: var(--ec-cb-blue) !important;
    color: #FFFFFF !important;
}

body .header-main .main-nav a.nav-prices *,
body .feed-menu > a:first-child *,
body .sort-links a.active *,
body .sort-tabs button.active *,
body .category-tabs a.active *,
body .nav-prices * {
    color: #FFFFFF !important;
}

body .feed-menu > a,
body .feed-menu summary,
body .header-main .main-nav a,
body .category-tabs a:not(.active),
body .sort-links a:not(.active) {
    background: #FFFFFF !important;
    border-color: transparent !important;
    color: var(--ec-cb-text) !important;
}

body .header-main .main-nav a {
    border-color: var(--ec-cb-line) !important;
}

body .feed-menu > a:hover,
body .feed-menu summary:hover,
body .header-main .main-nav a:hover,
body .category-tabs a:not(.active):hover,
body .sort-links a:not(.active):hover {
    background: var(--ec-cb-blue-soft) !important;
    border-color: #BDD4E5 !important;
    color: var(--ec-cb-blue-dark) !important;
}

body .compare-intro,
body .listing-heading,
body .active-filters,
body .pagination,
body .listing-results > .pagination-top,
body .filters,
body .product-hero,
body .product-tools article,
body .offers-table,
body .spec-card,
body .related-products,
body article.product-card,
body .guide-hero,
body .guide-card,
body .footer-intro,
body .footer-main,
body .footer-seo-directory {
    background: var(--ec-cb-card) !important;
    border-color: var(--ec-cb-line) !important;
    box-shadow: 0 6px 18px rgba(16, 47, 74, .05) !important;
}

body .compare-intro h1,
body .listing-heading h1,
body .listing-heading h2,
body .product-summary h1,
body .related-products .section-head h2,
body article.product-card h2,
body article.product-card h2 a,
body .guide-hero h1,
body .guide-card h2,
body .guide-card h2 a {
    color: var(--ec-cb-text) !important;
}

body .compare-intro p,
body .listing-heading p,
body .product-summary > p,
body article.product-card .product-meta,
body article.product-card .review-count,
body .price-panel small,
body .price-panel span,
body .best-price small,
body .spec-row span {
    color: var(--ec-cb-muted) !important;
}

body .filters .filter-head {
    background: var(--ec-cb-blue) !important;
    border-bottom-color: var(--ec-cb-yellow) !important;
    color: #FFFFFF !important;
}

body .filters .filter-head * {
    color: #FFFFFF !important;
}

body .price-panel,
body .listing-results .results > article.product-card .price-panel,
body article.product-card .price-panel {
    background: #F8FBFD !important;
    border-top-color: var(--ec-cb-line) !important;
}

body .price-panel strong,
body .best-price strong,
body .offer-price strong,
body .sticky-product-cta strong {
    color: var(--ec-cb-text) !important;
}

body .price-panel a,
body article.product-card .price-panel a,
body .results article.product-card .price-panel a,
body .deal-grid article.product-card .price-panel a,
body .home-deal-grid article.product-card .price-panel a,
body .related-products article.product-card .price-panel a,
body .best-price > a,
body .best-price a,
body .offer-row > a,
body .offer-row a,
body .sticky-product-cta a,
body .primary-action,
body .battery-cta,
body .guide-hero-actions a:first-child,
body .compare-deal-button,
body .cta-primary {
    background: var(--ec-cb-yellow) !important;
    border-color: #225FBD !important;
    color: #172B3A !important;
}

body .price-panel a *,
body article.product-card .price-panel a *,
body .results article.product-card .price-panel a *,
body .deal-grid article.product-card .price-panel a *,
body .home-deal-grid article.product-card .price-panel a *,
body .related-products article.product-card .price-panel a *,
body .best-price > a *,
body .best-price a *,
body .offer-row > a *,
body .offer-row a *,
body .sticky-product-cta a *,
body .primary-action *,
body .battery-cta *,
body .guide-hero-actions a:first-child *,
body .compare-deal-button *,
body .cta-primary * {
    color: #172B3A !important;
}

body .price-panel a:hover,
body article.product-card .price-panel a:hover,
body .results article.product-card .price-panel a:hover,
body .deal-grid article.product-card .price-panel a:hover,
body .home-deal-grid article.product-card .price-panel a:hover,
body .related-products article.product-card .price-panel a:hover,
body .best-price > a:hover,
body .best-price a:hover,
body .offer-row > a:hover,
body .offer-row a:hover,
body .sticky-product-cta a:hover,
body .primary-action:hover,
body .battery-cta:hover,
body .guide-hero-actions a:first-child:hover,
body .compare-deal-button:hover,
body .cta-primary:hover {
    background: var(--ec-cb-yellow-hover) !important;
    border-color: #D7AC00 !important;
    color: #102538 !important;
}

body .product-actions button,
body .product-action-bar button,
body .product-tools button,
body .meta-actions button,
body .compare-toolbar button,
body .compare-actions-cell button,
body .guide-hero-actions a:not(:first-child),
body .section-head > a:not(.primary-action),
body .footer-cta {
    background: #FFFFFF !important;
    border-color: #AAC4D8 !important;
    color: var(--ec-cb-blue-dark) !important;
}

body .product-actions button:hover,
body .product-action-bar button:hover,
body .product-tools button:hover,
body .meta-actions button:hover,
body .compare-toolbar button:hover,
body .compare-actions-cell button:hover,
body .guide-hero-actions a:not(:first-child):hover,
body .section-head > a:not(.primary-action):hover,
body .footer-cta:hover {
    background: var(--ec-cb-blue-soft) !important;
    border-color: #88AEC8 !important;
    color: var(--ec-cb-blue-dark) !important;
}

body .review-stars .stars,
body article.product-card .review-stars .stars,
body .rating-review-block .review-stars .stars {
    color: #F5A400 !important;
}

body .footer {
    background: var(--ec-cb-blue-dark) !important;
    border-top: 0 !important;
}

body .footer a:hover {
    color: var(--ec-cb-yellow) !important;
}

body .footer-cta,
body .footer-cta * {
    color: var(--ec-cb-blue-dark) !important;
}

body .footer-cta {
    background: var(--ec-cb-yellow) !important;
    border-color: var(--ec-cb-yellow) !important;
}

body .footer-cta:hover {
    background: var(--ec-cb-yellow-hover) !important;
    border-color: var(--ec-cb-yellow-hover) !important;
}

body a:focus-visible,
body button:focus-visible,
body input:focus-visible,
body summary:focus-visible {
    outline: 3px solid rgba(255, 216, 77, .72) !important;
    outline-offset: 2px !important;
}

/* Consumentenbond-style unification pass: one calm comparison-site system. */
:root {
    --ec-ui-blue: #225FBD;
    --ec-ui-blue-dark: #003B70;
    --ec-ui-blue-soft: #EAF4FA;
    --ec-ui-green: #225FBD;
    --ec-ui-yellow: #225FBD;
    --ec-ui-yellow-hover: #225FBD;
    --ec-ui-ink: #072B49;
    --ec-ui-text: #183B56;
    --ec-ui-muted: #63788B;
    --ec-ui-border: #C9DAE8;
    --ec-ui-border-soft: #DEEBF3;
    --ec-ui-bg: #F2F7FA;
    --ec-ui-card: #FFFFFF;
    --ec-ui-shadow: 0 8px 22px rgba(7, 43, 73, .08);
    --ec-ui-shadow-soft: 0 4px 14px rgba(7, 43, 73, .06);
    --ec-ui-radius: 10px;
}

html,
body {
    background: var(--ec-ui-bg) !important;
    color: var(--ec-ui-text) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    letter-spacing: 0 !important;
}

body h1,
body h2,
body h3,
body h4,
body .brand-title,
body .product-title,
body .guide-title {
    color: var(--ec-ui-ink) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

body p,
body li,
body small,
body label,
body input,
body select,
body textarea,
body button,
body a {
    font-family: Arial, Helvetica, sans-serif !important;
}

/* Header */
body .site-header {
    background: #FFFFFF !important;
    border: 0 !important;
    border-bottom: 1px solid var(--ec-ui-border-soft) !important;
    box-shadow: 0 2px 12px rgba(7, 43, 73, .06) !important;
}

body .header-main {
    align-items: center !important;
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: minmax(190px, 240px) minmax(280px, 1fr) auto !important;
    min-height: 72px !important;
    padding: 12px clamp(18px, 3vw, 52px) !important;
}

body .brand-logo,
body .brand-logo a {
    align-items: center !important;
    display: flex !important;
    min-width: 0 !important;
}

body .brand-logo img {
    height: auto !important;
    max-height: 48px !important;
    max-width: 225px !important;
    object-fit: contain !important;
    width: auto !important;
}

body .top-search {
    background: #FFFFFF !important;
    border: 2px solid #B8CCDC !important;
    border-radius: 9px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75) !important;
    height: 48px !important;
}

body .top-search:focus-within {
    border-color: var(--ec-ui-blue) !important;
    box-shadow: 0 0 0 3px rgba(0, 90, 143, .12) !important;
}

body .top-search input {
    color: var(--ec-ui-ink) !important;
    font-size: 15px !important;
}

body .top-search button,
body button[type="submit"] {
    background: var(--ec-ui-blue) !important;
    border: 1px solid var(--ec-ui-blue) !important;
    border-radius: 7px !important;
    color: #FFFFFF !important;
    font-weight: 700 !important;
}

body .top-search button:hover,
body button[type="submit"]:hover {
    background: var(--ec-ui-blue-dark) !important;
    border-color: var(--ec-ui-blue-dark) !important;
}

body .header-actions {
    align-items: center !important;
    display: flex !important;
    gap: 10px !important;
    justify-content: flex-end !important;
}

body .header-actions a,
body .header-actions button,
body .nav-counter {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1px solid var(--ec-ui-border) !important;
    border-radius: 9px !important;
    color: var(--ec-ui-ink) !important;
    display: inline-flex !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    gap: 7px !important;
    height: 44px !important;
    justify-content: center !important;
    min-width: 44px !important;
    padding: 0 14px !important;
    text-decoration: none !important;
}

body .header-actions a:hover,
body .header-actions button:hover,
body .nav-counter:hover {
    background: var(--ec-ui-blue-soft) !important;
    border-color: #9FBBD0 !important;
    color: var(--ec-ui-blue-dark) !important;
}

body .feed-menu {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 0 !important;
    border-top: 1px solid var(--ec-ui-border-soft) !important;
    box-shadow: none !important;
    display: flex !important;
    gap: 6px !important;
    min-height: 58px !important;
    overflow-x: auto !important;
    padding: 10px clamp(18px, 3vw, 52px) !important;
}

body .feed-menu > a,
body .feed-menu summary {
    align-items: center !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    color: var(--ec-ui-ink) !important;
    display: inline-flex !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    gap: 8px !important;
    height: 40px !important;
    justify-content: center !important;
    line-height: 1 !important;
    padding: 0 12px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

body .feed-menu > a.active,
body .feed-menu > a:first-child,
body .feed-menu > a[aria-current="page"] {
    background: var(--ec-ui-blue-dark) !important;
    border-color: var(--ec-ui-blue-dark) !important;
    box-shadow: 0 6px 14px rgba(0, 59, 112, .18) !important;
    color: #FFFFFF !important;
}

body .feed-menu > a:hover,
body .feed-menu summary:hover {
    background: var(--ec-ui-blue-soft) !important;
    border-color: #BDD3E4 !important;
    color: var(--ec-ui-blue-dark) !important;
}

body .feed-menu .ui-icon,
body .header-actions .ui-icon,
body .feature-card .ui-icon,
body .product-tools .ui-icon {
    align-items: center !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    height: 18px !important;
    justify-content: center !important;
    line-height: 1 !important;
    width: 18px !important;
}

body .feed-menu .ui-icon svg,
body .header-actions .ui-icon svg,
body .feature-card .ui-icon svg,
body .product-tools .ui-icon svg {
    display: block !important;
    height: 16px !important;
    width: 16px !important;
}

/* Page structure */
body .page-shell,
body .home-shell {
    background: transparent !important;
    padding-left: clamp(16px, 3vw, 48px) !important;
    padding-right: clamp(16px, 3vw, 48px) !important;
}

body .compare-intro,
body .listing-heading,
body .active-filters,
body .pagination,
body .pagination-top,
body .filters,
body .product-hero,
body .product-tools article,
body .offers-table,
body .spec-card,
body .related-products,
body .guide-hero,
body .guide-content,
body .guide-products,
body .guide-related,
body .guide-jump-nav,
body .guide-index-hero,
body article.product-card,
body .home-section,
body .footer-main,
body .footer-seo-directory {
    background: var(--ec-ui-card) !important;
    border: 1px solid var(--ec-ui-border) !important;
    border-radius: var(--ec-ui-radius) !important;
    box-shadow: var(--ec-ui-shadow-soft) !important;
}

body .compare-intro,
body .listing-heading {
    border-left: 0 !important;
    padding: 22px 26px !important;
}

body .compare-intro h1,
body .listing-heading h1,
body .listing-heading h2 {
    font-size: clamp(28px, 2.5vw, 42px) !important;
    line-height: 1.12 !important;
    margin-bottom: 10px !important;
}

body .compare-intro p,
body .listing-heading p {
    color: var(--ec-ui-muted) !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    max-width: 920px !important;
}

body .breadcrumbs,
body .breadcrumb {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-ui-border-soft) !important;
    border-radius: 999px !important;
    box-shadow: 0 6px 18px rgba(7, 43, 73, .05) !important;
    color: var(--ec-ui-muted) !important;
    display: inline-flex !important;
    gap: 8px !important;
    padding: 7px 10px !important;
}

body .breadcrumbs a,
body .breadcrumb a {
    color: var(--ec-ui-blue-dark) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* Category tabs, sort and pagination */
body .category-tabs,
body .sort-tabs,
body .sort-links {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1px solid var(--ec-ui-border) !important;
    border-radius: var(--ec-ui-radius) !important;
    box-shadow: none !important;
    display: flex !important;
    gap: 8px !important;
    padding: 8px !important;
}

body .category-tabs a,
body .sort-tabs button,
body .sort-links a,
body .pagination a,
body .pagination span {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1px solid var(--ec-ui-border) !important;
    border-radius: 7px !important;
    color: var(--ec-ui-ink) !important;
    display: inline-flex !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    gap: 6px !important;
    height: 38px !important;
    justify-content: center !important;
    min-width: 38px !important;
    padding: 0 12px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

body .category-tabs a.active,
body .sort-tabs button.active,
body .sort-links a.active,
body .pagination a.active,
body .pagination span.active {
    background: var(--ec-ui-blue-dark) !important;
    border-color: var(--ec-ui-blue-dark) !important;
    color: #FFFFFF !important;
}

body .category-tabs a:hover,
body .sort-tabs button:hover,
body .sort-links a:hover,
body .pagination a:hover {
    background: var(--ec-ui-blue-soft) !important;
    border-color: #AFC8DA !important;
    color: var(--ec-ui-blue-dark) !important;
}

body .listing-heading .sort-tabs,
body .listing-heading .sort-links {
    box-shadow: none !important;
    margin-left: auto !important;
}

body .pagination,
body .pagination-top {
    align-items: center !important;
    display: flex !important;
    justify-content: space-between !important;
    margin: 0 0 16px !important;
    min-height: 64px !important;
    padding: 12px 16px !important;
}

/* Filters */
body .filters {
    overflow: hidden !important;
}

body .filters .filter-head {
    background: var(--ec-ui-blue) !important;
    border: 0 !important;
    border-bottom: 4px solid var(--ec-ui-yellow) !important;
    color: #FFFFFF !important;
    min-height: 54px !important;
    padding: 0 18px !important;
}

body .filters form > section {
    border-bottom: 1px solid var(--ec-ui-border-soft) !important;
    padding: 16px 18px !important;
}

body .filters label,
body .filters .filter-option {
    align-items: center !important;
    color: var(--ec-ui-text) !important;
    display: flex !important;
    font-size: 14px !important;
    gap: 9px !important;
    line-height: 1.35 !important;
    min-height: 32px !important;
}

body input[type="checkbox"],
body input[type="radio"] {
    accent-color: var(--ec-ui-blue) !important;
}

/* Product cards */
body .results {
    gap: 18px !important;
}

body article.product-card {
    overflow: hidden !important;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

body article.product-card:hover {
    border-color: #AAC4D8 !important;
    box-shadow: var(--ec-ui-shadow) !important;
    transform: translateY(-1px) !important;
}

body article.product-card .product-image {
    background: #FFFFFF !important;
    border-bottom: 1px solid var(--ec-ui-border-soft) !important;
}

body article.product-card h2,
body article.product-card h2 a {
    color: var(--ec-ui-ink) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.28 !important;
    text-decoration: none !important;
}

body .review-stars .stars,
body article.product-card .review-stars .stars,
body .rating-review-block .review-stars .stars,
body .score-line .stars {
    color: #FF9800 !important;
    letter-spacing: .5px !important;
}

body article.product-card .price-panel {
    background: #F8FBFD !important;
    border-top: 1px solid var(--ec-ui-border-soft) !important;
}

body article.product-card .price-panel small,
body article.product-card .price-panel span {
    color: var(--ec-ui-muted) !important;
}

body article.product-card .price-panel strong {
    color: var(--ec-ui-ink) !important;
    font-size: 21px !important;
}

/* Buttons: readable everywhere */
body .price-panel a,
body article.product-card .price-panel a,
body .best-price > a,
body .offer-row > a,
body .sticky-product-cta a,
body .primary-action,
body .battery-cta,
body .guide-hero-actions a:first-child,
body .compare-deal-button,
body .cta-primary,
body .footer-cta {
    align-items: center !important;
    background: var(--ec-ui-yellow) !important;
    border: 1px solid #225FBD !important;
    border-radius: 8px !important;
    color: #102538 !important;
    display: inline-flex !important;
    font-weight: 700 !important;
    gap: 8px !important;
    justify-content: center !important;
    min-height: 40px !important;
    padding: 0 16px !important;
    text-decoration: none !important;
}

body .price-panel a:hover,
body article.product-card .price-panel a:hover,
body .best-price > a:hover,
body .offer-row > a:hover,
body .sticky-product-cta a:hover,
body .primary-action:hover,
body .battery-cta:hover,
body .guide-hero-actions a:first-child:hover,
body .compare-deal-button:hover,
body .cta-primary:hover,
body .footer-cta:hover {
    background: var(--ec-ui-yellow-hover) !important;
    border-color: #225FBD !important;
    color: #102538 !important;
}

body .product-actions button,
body .product-action-bar button,
body .product-tools button,
body .meta-actions button,
body .compare-toolbar button,
body .compare-actions-cell button,
body .guide-hero-actions a:not(:first-child),
body .section-head > a:not(.primary-action) {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-ui-border) !important;
    border-radius: 8px !important;
    color: var(--ec-ui-blue-dark) !important;
    font-weight: 700 !important;
}

body .product-actions button:hover,
body .product-action-bar button:hover,
body .product-tools button:hover,
body .meta-actions button:hover,
body .compare-toolbar button:hover,
body .compare-actions-cell button:hover,
body .guide-hero-actions a:not(:first-child):hover,
body .section-head > a:not(.primary-action):hover {
    background: var(--ec-ui-blue-soft) !important;
    border-color: #AFC8DA !important;
    color: var(--ec-ui-blue-dark) !important;
}

body a:empty,
body button:empty,
body .primary-action:empty,
body .battery-cta:empty,
body .guide-hero-actions a:empty {
    display: none !important;
}

/* Product detail alignment */
body .product-hero {
    border-top: 4px solid var(--ec-ui-blue) !important;
    gap: 24px !important;
    grid-template-columns: minmax(280px, 380px) minmax(0, 1fr) minmax(260px, 320px) !important;
    padding: 22px !important;
}

body .product-gallery,
body .product-gallery-main {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-ui-border) !important;
    border-radius: var(--ec-ui-radius) !important;
    box-shadow: none !important;
}

body .best-price {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-ui-border) !important;
    border-radius: var(--ec-ui-radius) !important;
    box-shadow: var(--ec-ui-shadow-soft) !important;
}

body .rating-review-block {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-ui-border) !important;
    border-radius: var(--ec-ui-radius) !important;
    box-shadow: var(--ec-ui-shadow-soft) !important;
}

/* Home hero and footer: remove broken-looking empty icon slabs. */
body .home-hero-v2,
body .home-hero,
body .footer-intro {
    background: #FFFFFF !important;
    border: 1px solid var(--ec-ui-border) !important;
    border-radius: var(--ec-ui-radius) !important;
    box-shadow: var(--ec-ui-shadow-soft) !important;
}

body .home-hero-v2 {
    min-height: auto !important;
    padding: clamp(28px, 4vw, 52px) !important;
}

body .home-hero-v2 .is-loading::before,
body .home-hero-v2 .is-loading::after,
body .hero-v2-main::before,
body .hero-v2-main::after {
    display: none !important;
}

body .feature-card,
body .footer-trust article {
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1px solid var(--ec-ui-border) !important;
    border-radius: var(--ec-ui-radius) !important;
    box-shadow: var(--ec-ui-shadow-soft) !important;
    display: flex !important;
    gap: 14px !important;
    min-height: 96px !important;
    padding: 18px !important;
}

body .feature-card .ui-icon,
body .footer-trust .ui-icon,
body .product-tools .ui-icon {
    background: var(--ec-ui-blue-soft) !important;
    border: 1px solid #BBD3E4 !important;
    border-radius: 999px !important;
    color: var(--ec-ui-blue-dark) !important;
    height: 38px !important;
    width: 38px !important;
}

body .footer {
    background: var(--ec-ui-blue-dark) !important;
    color: #FFFFFF !important;
}

body .footer,
body .footer p,
body .footer li,
body .footer a,
body .footer span {
    color: rgba(255, 255, 255, .88) !important;
}

body .footer h2,
body .footer h3,
body .footer strong {
    color: #FFFFFF !important;
}

body .footer a:hover {
    color: var(--ec-ui-yellow) !important;
}

body .footer-main,
body .footer-seo-directory {
    background: rgba(255, 255, 255, .06) !important;
    border-color: rgba(255, 255, 255, .18) !important;
}

@media (max-width: 1100px) {
    body .header-main {
        grid-template-columns: minmax(150px, 210px) minmax(220px, 1fr) auto !important;
    }

    body .product-hero {
        grid-template-columns: minmax(260px, 360px) minmax(0, 1fr) !important;
    }
}

@media (max-width: 760px) {
    body .header-main {
        grid-template-columns: 1fr auto !important;
        gap: 10px !important;
        padding: 10px 14px !important;
    }

    body .brand-logo img {
        max-height: 38px !important;
        max-width: 185px !important;
    }

    body .top-search {
        grid-column: 1 / -1 !important;
        order: 3 !important;
        width: 100% !important;
    }

    body .feed-menu {
        gap: 6px !important;
        padding: 8px 14px !important;
    }

    body .feed-menu > a,
    body .feed-menu summary {
        height: 36px !important;
        padding: 0 10px !important;
    }

    body .compare-intro,
    body .listing-heading {
        padding: 18px !important;
    }

    body .category-tabs,
    body .sort-tabs,
    body .sort-links {
        overflow-x: auto !important;
        width: 100% !important;
    }

    body .pagination,
    body .pagination-top {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 10px !important;
    }

    body .product-hero {
        grid-template-columns: 1fr !important;
        padding: 16px !important;
    }

    body .feature-card,
    body .footer-trust article {
        min-height: 78px !important;
    }
}

/* No-green final lock: keep the UI in one blue/yellow/white palette. */
:root {
    --ec-green: var(--ec-ui-blue);
    --ec-green-2: var(--ec-ui-blue-dark);
    --ec-pro-green: var(--ec-ui-blue);
    --ec-pro-green-soft: var(--ec-ui-blue-soft);
    --ec-ui-green: var(--ec-ui-blue);
}

body .feed-menu > a.menu-feature,
body .feed-menu > a.menu-feature:hover,
body .feed-menu > a.menu-feature:focus,
body .feed-menu > a.menu-feature.active {
    background: #FFFFFF !important;
    border-color: var(--ec-ui-border) !important;
    box-shadow: none !important;
    color: var(--ec-ui-ink) !important;
}

body .feed-menu > a.menu-feature:hover,
body .feed-menu > a.menu-feature.active {
    background: var(--ec-ui-blue-soft) !important;
    border-color: #AFC8DA !important;
    color: var(--ec-ui-blue-dark) !important;
}

body .compare-intro,
body .listing-heading,
body .product-hero,
body .guide-hero,
body .guide-index-hero,
body .home-hero-v2,
body .footer-intro {
    border-left-color: var(--ec-ui-border) !important;
    border-top-color: var(--ec-ui-border) !important;
}

body .filters .filter-head {
    background: var(--ec-ui-blue) !important;
    border-bottom-color: var(--ec-ui-yellow) !important;
}

body .home-focus-strip a,
body .home-focus-strip a.focus-feature,
body .home-focus-strip a:nth-child(2),
body .home-focus-strip a:nth-child(3),
body .home-focus-strip a:nth-child(4) {
    border-top-color: var(--ec-ui-blue) !important;
}

body .home-focus-strip a:hover {
    border-top-color: var(--ec-ui-blue-dark) !important;
}

body .home-focus-strip .ui-icon,
body .footer-trust .ui-icon,
body .feature-card .ui-icon,
body .product-tools .ui-icon,
body .best-price li .ui-icon {
    background: var(--ec-ui-blue-soft) !important;
    border-color: #BDD3E4 !important;
    color: var(--ec-ui-blue-dark) !important;
}

body .home-photo-band article > div,
body .seo-content blockquote,
body .guide-callout,
body .tip-card,
body .battery-callout {
    border-left-color: var(--ec-ui-yellow) !important;
}

body .home-photo-band span,
body .section-eyebrow,
body .eyebrow,
body .footer-eyebrow {
    color: var(--ec-ui-blue-dark) !important;
}

body .footer .footer-eyebrow,
body .footer .section-eyebrow,
body .footer .eyebrow {
    color: var(--ec-ui-yellow) !important;
}

body input[type="checkbox"],
body input[type="radio"] {
    accent-color: var(--ec-ui-blue) !important;
}

body .best-price > a,
body .offer-row > a,
body .sticky-product-cta a,
body .price-panel a,
body article.product-card .price-panel a,
body .primary-action,
body .battery-cta,
body .compare-deal-button,
body .cta-primary {
    background: var(--ec-ui-yellow) !important;
    border-color: #225FBD !important;
    color: #102538 !important;
}

body .best-price > a *,
body .offer-row > a *,
body .sticky-product-cta a *,
body .price-panel a *,
body article.product-card .price-panel a *,
body .primary-action *,
body .battery-cta *,
body .compare-deal-button *,
body .cta-primary * {
    color: #102538 !important;
}

body .best-price > a:hover,
body .offer-row > a:hover,
body .sticky-product-cta a:hover,
body .price-panel a:hover,
body article.product-card .price-panel a:hover,
body .primary-action:hover,
body .battery-cta:hover,
body .compare-deal-button:hover,
body .cta-primary:hover {
    background: var(--ec-ui-yellow-hover) !important;
    border-color: #225FBD !important;
    color: #102538 !important;
}

/* Typography base lock: calm and consistent. */
:root {
    --ec-font-primary: "Poppins", "Helvetica Neue", Arial, sans-serif;
}

html,
body,
body *,
body *::before,
body *::after {
    font-family: var(--ec-font-primary) !important;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body .brand-title,
body .product-title,
body .guide-title,
body article.product-card h2,
body article.product-card h2 a,
body .listing-heading h1,
body .listing-heading h2,
body .compare-intro h1,
body .product-summary h1,
body .guide-hero h1 {
    font-family: var(--ec-font-primary) !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

body p,
body li,
body label,
body input,
body textarea,
body select,
body small,
body span {
    font-family: var(--ec-font-primary) !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}

body a,
body button,
body summary,
body .feed-menu > a,
body .feed-menu summary,
body .top-search button,
body .price-panel a,
body .primary-action,
body .battery-cta,
body .compare-deal-button,
body .category-tabs a,
body .sort-tabs button,
body .pagination a,
body .pagination span {
    font-family: var(--ec-font-primary) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

body .eyebrow,
body .section-eyebrow,
body .footer-eyebrow,
body .product-meta,
body .score-line,
body .review-count {
    font-family: var(--ec-font-primary) !important;
    letter-spacing: 0 !important;
}

/* Poppins typography system: consistent sizes, softer titles, professional rhythm. */
:root {
    --ec-font-primary: "Poppins", "Helvetica Neue", Arial, sans-serif;
    --ec-text-xs: 12px;
    --ec-text-sm: 13px;
    --ec-text-base: 14px;
    --ec-text-md: 15px;
    --ec-text-lg: 17px;
    --ec-title-sm: 18px;
    --ec-title-md: 23px;
    --ec-title-lg: 29px;
    --ec-title-xl: 36px;
}

html,
body,
body *,
body *::before,
body *::after {
    font-family: var(--ec-font-primary) !important;
    letter-spacing: 0 !important;
}

body {
    font-size: var(--ec-text-base) !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
    color: var(--ec-ui-ink) !important;
    font-family: var(--ec-font-primary) !important;
    font-weight: 650 !important;
    letter-spacing: 0 !important;
    line-height: 1.18 !important;
    text-wrap: balance !important;
}

body h1,
body .compare-intro h1,
body .listing-heading h1,
body .product-summary h1,
body .guide-hero h1,
body .guide-index-hero h1,
body .hero-v2-copy h1 {
    font-size: clamp(26px, 2.2vw, var(--ec-title-xl)) !important;
    font-weight: 650 !important;
    line-height: 1.18 !important;
}

body h2,
body .listing-heading h2,
body .section-head h2,
body .related-products .section-head h2,
body .guide-card h2 {
    font-size: clamp(21px, 1.45vw, var(--ec-title-lg)) !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
}

body h3,
body .footer h3,
body .filters h3,
body .spec-card h3 {
    font-size: var(--ec-title-sm) !important;
    font-weight: 650 !important;
    line-height: 1.22 !important;
}

body p,
body li,
body label,
body input,
body select,
body textarea {
    font-size: var(--ec-text-base) !important;
    font-weight: 400 !important;
    line-height: 1.62 !important;
}

body small,
body .product-meta,
body .review-count,
body .price-panel small,
body .price-panel span,
body .spec-row span,
body .eyebrow,
body .section-eyebrow,
body .footer-eyebrow {
    font-size: var(--ec-text-sm) !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}

body .eyebrow,
body .section-eyebrow,
body .footer-eyebrow {
    font-weight: 700 !important;
    text-transform: uppercase !important;
}

body a,
body button,
body summary,
body .feed-menu > a,
body .feed-menu summary,
body .top-search button,
body .price-panel a,
body .primary-action,
body .battery-cta,
body .compare-deal-button,
body .category-tabs a,
body .sort-tabs button,
body .pagination a,
body .pagination span {
    font-size: var(--ec-text-sm) !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

body .feed-menu > a,
body .feed-menu summary,
body .header-actions a,
body .header-actions button,
body .nav-counter {
    font-size: var(--ec-text-sm) !important;
    font-weight: 600 !important;
}

body article.product-card h2,
body article.product-card h2 a {
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    min-height: 57px !important;
}

body article.product-card .price-panel strong,
body .price-panel strong,
body .best-price strong,
body .offer-price strong,
body .sticky-product-cta strong {
    font-size: 21px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

body .score-line,
body .review-stars,
body .rating-review-block {
    font-size: var(--ec-text-sm) !important;
}

body .top-search input {
    font-size: var(--ec-text-base) !important;
    font-weight: 400 !important;
}

body .compare-intro,
body .listing-heading,
body .product-hero,
body .guide-hero {
    font-size: var(--ec-text-base) !important;
}

body .product-summary h1 {
    max-width: 980px !important;
}

body .guide-hero h1,
body .product-summary h1 {
    font-size: clamp(27px, 2.05vw, 35px) !important;
}

body .hero-v2-copy h1 {
    font-size: clamp(29px, 2.25vw, 38px) !important;
}

body .listing-heading h1,
body .compare-intro h1 {
    font-size: clamp(25px, 1.85vw, 33px) !important;
}

@media (max-width: 760px) {
    body h1,
    body .compare-intro h1,
    body .listing-heading h1,
    body .product-summary h1,
    body .guide-hero h1,
    body .guide-index-hero h1,
    body .hero-v2-copy h1 {
        font-size: clamp(24px, 7vw, 31px) !important;
    }

    body h2,
    body .section-head h2,
    body .listing-heading h2 {
        font-size: clamp(20px, 5.4vw, 25px) !important;
    }

    body p,
    body li,
    body label,
    body input,
    body select,
    body textarea {
        font-size: 14px !important;
    }
}

/* Final title and footer refinement: smaller headlines, cleaner contrast. */
:root {
    --ec-title-lg: 27px;
    --ec-title-xl: 32px;
    --ec-footer-bg: #003B70;
    --ec-footer-panel: rgba(255, 255, 255, .08);
    --ec-footer-panel-strong: rgba(255, 255, 255, .12);
    --ec-footer-line: rgba(255, 255, 255, .20);
    --ec-footer-text: rgba(255, 255, 255, .88);
    --ec-footer-muted: rgba(255, 255, 255, .68);
}

body h1,
body .compare-intro h1,
body .listing-heading h1,
body .product-summary h1,
body .guide-hero h1,
body .guide-index-hero h1,
body .hero-v2-copy h1 {
    font-size: clamp(24px, 1.75vw, 32px) !important;
    font-weight: 650 !important;
    line-height: 1.22 !important;
}

body .hero-v2-copy h1 {
    font-size: clamp(27px, 2vw, 34px) !important;
}

body .product-summary h1,
body .guide-hero h1 {
    font-size: clamp(25px, 1.8vw, 32px) !important;
}

body h2,
body .listing-heading h2,
body .section-head h2,
body .related-products .section-head h2,
body .guide-card h2,
body .footer-seo-head h2,
body .footer-intro h2 {
    font-size: clamp(20px, 1.35vw, 27px) !important;
    font-weight: 650 !important;
    line-height: 1.22 !important;
}

body .footer {
    background: var(--ec-footer-bg) !important;
    color: var(--ec-footer-text) !important;
    padding: 42px clamp(16px, 3vw, 48px) 26px !important;
}

body .footer,
body .footer * {
    font-family: var(--ec-font-primary) !important;
    letter-spacing: 0 !important;
}

body .footer-intro,
body .footer-trust,
body .footer-main,
body .footer-seo-directory,
body .footer-bottom {
    max-width: 1440px !important;
}

body .footer-intro {
    align-items: center !important;
    background: var(--ec-footer-panel-strong) !important;
    border: 1px solid var(--ec-footer-line) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    color: #FFFFFF !important;
    display: grid !important;
    gap: 24px !important;
    grid-template-columns: minmax(180px, 230px) minmax(0, 1fr) auto !important;
    padding: 24px 28px !important;
}

body .footer-brand {
    gap: 9px !important;
}

body .footer-brand img {
    background: #FFFFFF !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    max-height: 52px !important;
    max-width: 205px !important;
    padding: 5px 8px !important;
}

body .footer-brand span,
body .footer .footer-eyebrow,
body .footer .section-eyebrow,
body .footer .eyebrow {
    color: var(--ec-ui-yellow) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-transform: uppercase !important;
}

body .footer-intro h2 {
    color: #FFFFFF !important;
    margin: 5px 0 8px !important;
    max-width: 720px !important;
}

body .footer-intro p {
    color: var(--ec-footer-text) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    max-width: 820px !important;
}

body .footer-cta {
    background: var(--ec-ui-yellow) !important;
    border: 1px solid #225FBD !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    color: #102538 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    min-height: 42px !important;
    padding: 0 16px !important;
}

body .footer-cta *,
body .footer-cta .ui-icon {
    color: #102538 !important;
}

body .footer-cta .ui-icon {
    background: rgba(16, 37, 56, .08) !important;
    border: 1px solid rgba(16, 37, 56, .18) !important;
    height: 26px !important;
    width: 26px !important;
}

body .footer-cta:hover {
    background: var(--ec-ui-yellow-hover) !important;
    border-color: #225FBD !important;
    color: #102538 !important;
    transform: none !important;
}

body .footer-trust {
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    margin-top: 16px !important;
}

body .footer-trust > span {
    align-items: start !important;
    background: var(--ec-footer-panel) !important;
    border: 1px solid var(--ec-footer-line) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    color: var(--ec-footer-text) !important;
    display: grid !important;
    gap: 3px 12px !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    min-height: 76px !important;
    padding: 14px !important;
}

body .footer-trust .ui-icon {
    background: rgba(255, 216, 77, .14) !important;
    border: 1px solid rgba(255, 216, 77, .34) !important;
    color: var(--ec-ui-yellow) !important;
    grid-row: 1 / span 2 !important;
    height: 34px !important;
    width: 34px !important;
}

body .footer-trust > span > strong {
    color: #FFFFFF !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

body .footer-trust > span > small {
    color: var(--ec-footer-muted) !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

body .footer-main,
body .footer-seo-directory {
    background: var(--ec-footer-panel) !important;
    border: 1px solid var(--ec-footer-line) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    margin-top: 16px !important;
    padding: 24px !important;
}

body .footer-main {
    display: grid !important;
    gap: 22px !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

body .footer nav {
    gap: 8px !important;
}

body .footer h3,
body .footer-seo-head span {
    color: #FFFFFF !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    margin: 0 0 8px !important;
    text-transform: uppercase !important;
}

body .footer a,
body .footer-seo-grid a {
    color: var(--ec-footer-text) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    text-decoration: none !important;
}

body .footer a:hover,
body .footer-seo-grid a:hover {
    color: var(--ec-ui-yellow) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

body .footer-seo-head {
    align-items: start !important;
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 430px) !important;
    margin-bottom: 18px !important;
}

body .footer-seo-head h2 {
    color: #FFFFFF !important;
    margin: 4px 0 0 !important;
}

body .footer-seo-head p {
    color: var(--ec-footer-muted) !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

body .footer-seo-grid {
    gap: 12px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body .footer-seo-grid nav {
    background: rgba(255, 255, 255, .055) !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 9px !important;
    padding: 15px !important;
}

body .footer-bottom {
    border-top: 1px solid var(--ec-footer-line) !important;
    color: var(--ec-footer-muted) !important;
    font-size: 12px !important;
    margin-top: 18px !important;
    padding: 16px 0 0 !important;
}

body .footer-bottom span,
body .footer-bottom a {
    color: var(--ec-footer-muted) !important;
    font-size: 12px !important;
}

@media (max-width: 1100px) {
    body .footer-intro {
        grid-template-columns: 1fr !important;
    }

    body .footer-main,
    body .footer-seo-grid,
    body .footer-trust {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    body h1,
    body .compare-intro h1,
    body .listing-heading h1,
    body .product-summary h1,
    body .guide-hero h1,
    body .guide-index-hero h1,
    body .hero-v2-copy h1 {
        font-size: clamp(22px, 6.3vw, 29px) !important;
    }

    body .footer {
        padding: 28px 14px 22px !important;
    }

    body .footer-intro,
    body .footer-main,
    body .footer-seo-directory {
        padding: 18px !important;
    }

    body .footer-main,
    body .footer-seo-grid,
    body .footer-trust,
    body .footer-seo-head {
        grid-template-columns: 1fr !important;
    }

    body .footer-bottom {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
}

/* EOF alignment lock: header, content and footer use one shared x-grid. */
:root {
    --ec-layout-max: 1720px;
    --ec-layout-gutter: 24px;
    --ec-layout-width: min(calc(100% - (var(--ec-layout-gutter) * 2)), var(--ec-layout-max));
}

body .site-header,
body .footer {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body .header-main,
body .feed-menu,
body .page-shell,
body .home-shell,
body .footer-intro,
body .footer-trust,
body .footer-main,
body .footer-seo-directory,
body .footer-bottom {
    box-sizing: border-box !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: var(--ec-layout-max) !important;
    width: var(--ec-layout-width) !important;
}

body .header-main,
body .feed-menu,
body .page-shell,
body .home-shell {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body .footer-intro,
body .footer-main,
body .footer-seo-directory {
    padding-left: 24px !important;
    padding-right: 24px !important;
}

body .footer-bottom {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body .header-main {
    grid-template-columns: minmax(180px, 240px) minmax(280px, 1fr) auto !important;
}

@media (max-width: 760px) {
    :root {
        --ec-layout-gutter: 14px;
    }

    body .footer {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body .header-main,
    body .feed-menu,
    body .page-shell,
    body .home-shell {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body .footer-intro,
    body .footer-main,
    body .footer-seo-directory {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* EOF final calm lines: last override for subtle borders and shadows. */
:root {
    --ec-line-calm: rgba(0, 59, 112, .13);
    --ec-line-calm-2: rgba(0, 59, 112, .18);
    --ec-shadow-calm: 0 6px 16px rgba(7, 43, 73, .045);
    --ec-shadow-calm-hover: 0 10px 22px rgba(7, 43, 73, .075);
}

body .compare-intro,
body .listing-heading,
body .active-filters,
body .pagination,
body .pagination-top,
body .filters,
body .product-hero,
body .product-tools article,
body .offers-table,
body .spec-card,
body .related-products,
body .guide-hero,
body .guide-content,
body .guide-products,
body .guide-related,
body .guide-jump-nav,
body .guide-index-hero,
body article.product-card,
body .home-section,
body .home-hero-v2,
body .category-tabs,
body .sort-tabs,
body .sort-links {
    border-color: var(--ec-line-calm) !important;
    box-shadow: var(--ec-shadow-calm) !important;
}

body article.product-card:hover,
body .guide-card:hover,
body .home-guide-grid a:hover,
body .home-category-grid a:hover,
body .home-focus-strip a:hover {
    border-color: var(--ec-line-calm-2) !important;
    box-shadow: var(--ec-shadow-calm-hover) !important;
}

body article.product-card .product-image,
body article.product-card .price-panel,
body .price-panel,
body .offer-row,
body .spec-row,
body .filters form > section,
body .footer-bottom {
    border-color: rgba(0, 59, 112, .10) !important;
}

body .footer-intro,
body .footer-main,
body .footer-seo-directory,
body .footer-trust > span,
body .footer-seo-grid nav {
    border-color: rgba(255, 255, 255, .12) !important;
    box-shadow: none !important;
}

body .footer-intro {
    background: rgba(255, 255, 255, .075) !important;
}

body .footer-main,
body .footer-seo-directory,
body .footer-trust > span,
body .footer-seo-grid nav {
    background: rgba(255, 255, 255, .055) !important;
}

body .footer-trust .ui-icon,
body .footer-cta .ui-icon {
    border-color: rgba(255, 216, 77, .24) !important;
}

body .site-header {
    border-bottom-color: rgba(0, 59, 112, .12) !important;
    box-shadow: 0 2px 10px rgba(7, 43, 73, .045) !important;
}

body .feed-menu {
    border-top-color: rgba(0, 59, 112, .10) !important;
}

/* EOF absolute final filter/infinite-loading polish. */
body [data-catalog] {
    position: relative !important;
}

body [data-catalog].is-loading {
    min-height: 420px !important;
}

body [data-catalog].is-loading::before {
    content: "" !important;
    position: absolute !important;
    z-index: 30 !important;
    inset: 0 !important;
    pointer-events: none !important;
    background: rgba(239, 247, 252, .58) !important;
    opacity: 1 !important;
}

body [data-catalog].is-loading::after {
    content: "Resultaten laden..." !important;
    position: fixed !important;
    z-index: 31 !important;
    top: min(42vh, 360px) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 0 18px !important;
    border: 1px solid rgba(0, 59, 112, .16) !important;
    border-radius: 999px !important;
    background: #fff !important;
    box-shadow: 0 14px 36px rgba(7, 43, 73, .16) !important;
    color: #002b4c !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    opacity: 1 !important;
    pointer-events: none !important;
}

body .load-more-products.is-loading::before {
    content: "" !important;
    width: 22px !important;
    height: 22px !important;
    border: 3px solid rgba(15, 103, 148, .18) !important;
    border-top-color: #0f6794 !important;
    border-radius: 50% !important;
    animation: ec-spin .75s linear infinite !important;
}

@keyframes ec-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 760px) {
    body [data-catalog].is-loading::after {
        top: 48vh !important;
        width: max-content !important;
        max-width: calc(100vw - 40px) !important;
    }
}
/* EOF true final smooth load-more behaviour. */
body article.product-card.is-newly-loaded {
    opacity: 0 !important;
    transform: translateY(14px) !important;
}

body article.product-card.is-newly-loaded.is-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
    transition: opacity .34s ease, transform .34s ease, box-shadow .2s ease, border-color .2s ease !important;
}

body .load-more-products.is-manual-mode {
    background: #fff !important;
    border-color: rgba(0, 59, 112, .18) !important;
    box-shadow: 0 10px 26px rgba(7, 43, 73, .07) !important;
}

body .load-more-products.is-manual-mode p {
    color: #294761 !important;
}

body .load-more-products.is-manual-mode .load-more-button {
    background: #225FBD !important;
    border-color: #225FBD !important;
}

body .load-more-products.is-manual-mode .load-more-button:hover {
    background: #0f6794 !important;
    border-color: #0f6794 !important;
}

@media (prefers-reduced-motion: reduce) {
    body article.product-card.is-newly-loaded,
    body article.product-card.is-newly-loaded.is-visible {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}
/* Mobile header hard reset: prevent horizontal overflow and clipped actions. */
@media (max-width: 760px) {
    html,
    body {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    body .site-header {
        overflow: hidden !important;
        padding: 10px 14px 12px !important;
    }

    body .header-main {
        align-items: center !important;
        display: grid !important;
        gap: 10px !important;
        grid-template-columns: minmax(0, 1fr) 48px !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body .brand,
    body .brand-logo {
        display: flex !important;
        min-width: 0 !important;
        overflow: hidden !important;
        width: 100% !important;
    }

    body .brand-logo img,
    body .logo img {
        display: block !important;
        height: auto !important;
        max-height: 42px !important;
        max-width: min(230px, calc(100vw - 92px)) !important;
        object-fit: contain !important;
        width: auto !important;
    }

    body .mobile-menu-toggle {
        align-items: center !important;
        background: #FFFFFF !important;
        border: 1px solid #C9D9E8 !important;
        border-radius: 12px !important;
        box-shadow: none !important;
        display: inline-flex !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
        height: 46px !important;
        justify-content: center !important;
        justify-self: end !important;
        margin: 0 !important;
        padding: 0 !important;
        position: relative !important;
        right: auto !important;
        top: auto !important;
        width: 46px !important;
    }

    body .top-search {
        display: grid !important;
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        grid-template-columns: minmax(0, 1fr) 48px !important;
        max-width: 100% !important;
        min-height: 52px !important;
        min-width: 0 !important;
        overflow: hidden !important;
        padding: 4px !important;
        width: 100% !important;
    }

    body .top-search input {
        font-size: 15px !important;
        height: 44px !important;
        min-width: 0 !important;
        padding: 0 12px !important;
        width: 100% !important;
    }

    body .top-search button {
        align-items: center !important;
        border-radius: 9px !important;
        color: transparent !important;
        display: inline-flex !important;
        font-size: 0 !important;
        height: 44px !important;
        justify-content: center !important;
        min-width: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
        position: relative !important;
        text-indent: -999px !important;
        width: 44px !important;
    }

    body .top-search button::before {
        color: #FFFFFF !important;
        content: "Zoek" !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        position: absolute !important;
        text-indent: 0 !important;
    }

    body .header-main .main-nav {
        display: flex !important;
        gap: 8px !important;
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
        justify-content: flex-end !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body .header-main .main-nav .nav-prices {
        display: none !important;
    }

    body .header-main .main-nav .nav-counter {
        align-items: center !important;
        border-radius: 10px !important;
        display: inline-flex !important;
        gap: 7px !important;
        height: 42px !important;
        justify-content: center !important;
        min-width: 74px !important;
        padding: 0 10px !important;
        white-space: nowrap !important;
    }

    body .header-main .main-nav .nav-counter .ui-icon {
        height: 20px !important;
        width: 20px !important;
    }

    body .feed-menu {
        margin-top: 10px !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        padding: 8px 0 !important;
        width: 100% !important;
    }

    body .site-header:not(.menu-open) .feed-menu {
        display: none !important;
    }

    body .site-header.menu-open .feed-menu {
        display: grid !important;
        gap: 8px !important;
        grid-template-columns: 1fr !important;
        overflow: visible !important;
    }

    body .site-header.menu-open .feed-menu > a,
    body .site-header.menu-open .feed-menu summary {
        justify-content: flex-start !important;
        min-height: 42px !important;
        width: 100% !important;
    }
}

/* Final mobile header/catalog fix - must stay last. */
@media (max-width: 760px) {
    html,
    body {
        overflow-x: hidden !important;
        width: 100% !important;
    }

    body .site-header {
        box-sizing: border-box !important;
        max-width: 100vw !important;
        overflow: hidden !important;
        padding: 10px 12px 12px !important;
        width: 100vw !important;
    }

    body .site-header .header-main {
        box-sizing: border-box !important;
        display: grid !important;
        gap: 10px !important;
        grid-template-columns: minmax(0, 1fr) 44px !important;
        max-width: calc(100vw - 24px) !important;
        min-width: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
        width: calc(100vw - 24px) !important;
    }

    body .site-header .brand-logo img {
        height: auto !important;
        max-height: 38px !important;
        max-width: min(210px, calc(100vw - 88px)) !important;
        object-fit: contain !important;
        width: auto !important;
    }

    body .site-header .mobile-menu-toggle {
        grid-column: 2 !important;
        grid-row: 1 !important;
        height: 44px !important;
        justify-self: end !important;
        position: static !important;
        width: 44px !important;
    }

    body .site-header .top-search {
        display: grid !important;
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        grid-template-columns: minmax(0, 1fr) 42px !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        width: 100% !important;
    }

    body .site-header .top-search input {
        min-width: 0 !important;
        width: 100% !important;
    }

    body .site-header .top-search button {
        color: transparent !important;
        flex: 0 0 42px !important;
        font-size: 0 !important;
        height: 42px !important;
        min-width: 42px !important;
        overflow: hidden !important;
        padding: 0 !important;
        position: relative !important;
        text-indent: -999px !important;
        width: 42px !important;
    }

    body .site-header .top-search button::before {
        border: 2px solid #fff !important;
        border-radius: 50% !important;
        box-shadow: 8px 8px 0 -6px #fff !important;
        content: "" !important;
        height: 16px !important;
        position: absolute !important;
        text-indent: 0 !important;
        width: 16px !important;
    }

    body .site-header .header-main .main-nav {
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
        justify-content: flex-end !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        width: 100% !important;
    }

    body .site-header .header-main .main-nav .nav-prices {
        display: none !important;
    }

    body .page-shell,
    body .home-shell {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    body .listing-heading,
    body .compare-intro {
        border-radius: 12px !important;
        margin: 12px 0 !important;
        padding: 18px !important;
    }

    body .listing-heading .eyebrow {
        display: none !important;
    }

    body .listing-heading h1,
    body .listing-heading h2,
    body .compare-intro h1 {
        font-size: 28px !important;
        line-height: 1.08 !important;
        margin: 0 !important;
    }

    body .listing-heading p,
    body .compare-intro p {
        font-size: 15px !important;
        margin: 8px 0 0 !important;
    }

    body .category-tabs {
        display: flex !important;
        gap: 8px !important;
        margin: 0 0 12px !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        padding: 8px !important;
        white-space: nowrap !important;
    }

    body .category-tabs a {
        flex: 0 0 auto !important;
        height: 42px !important;
        min-width: auto !important;
        padding: 0 14px !important;
    }

    body .sort-links,
    body .sort-tabs {
        display: grid !important;
        gap: 6px !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        padding: 6px !important;
        width: 100% !important;
    }

    body .sort-links a,
    body .sort-tabs button {
        font-size: 13px !important;
        height: 42px !important;
        line-height: 1.1 !important;
        min-width: 0 !important;
        padding: 0 8px !important;
        white-space: normal !important;
    }

    body .listing-layout {
        display: grid !important;
        gap: 12px !important;
        grid-template-columns: 1fr !important;
    }

    body .filters {
        border-radius: 12px !important;
        max-width: 100% !important;
        overflow: hidden !important;
        position: static !important;
        width: 100% !important;
    }

    body .filters .filter-head {
        background: #225FBD !important;
        border-bottom: 3px solid #f5c84c !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        min-height: 58px !important;
        padding: 0 12px !important;
    }

    body .filters .filter-head strong {
        color: #fff !important;
        font-size: 22px !important;
    }

    body .filters .filter-head span {
        display: flex !important;
        gap: 8px !important;
    }

    body .filters .filter-toggle {
        background: #fff !important;
        border-color: #fff !important;
        color: #0b3554 !important;
        font-size: 14px !important;
        font-weight: 850 !important;
        height: 42px !important;
        min-width: 118px !important;
        opacity: 1 !important;
        text-indent: 0 !important;
        white-space: nowrap !important;
    }

    body .filters:not(.is-open) form > section,
    body .filters:not(.is-open) form > button[type="submit"] {
        display: none !important;
    }

    body .filters.is-open form > section {
        display: block !important;
        padding: 15px 18px !important;
    }

    body .listing-results {
        max-width: 100% !important;
        min-width: 0 !important;
        width: 100% !important;
    }
}

/* Mobile compact catalog override - keep products visible sooner. */
@media (max-width: 760px) {
    body .site-header {
        padding: 8px 10px !important;
    }

    body .site-header .header-main {
        gap: 7px !important;
        grid-template-columns: minmax(0, 1fr) 42px !important;
        max-width: calc(100vw - 20px) !important;
        width: calc(100vw - 20px) !important;
    }

    body .site-header .brand-logo img {
        max-height: 34px !important;
        max-width: min(190px, calc(100vw - 76px)) !important;
    }

    body .site-header .mobile-menu-toggle {
        border-radius: 10px !important;
        height: 40px !important;
        width: 40px !important;
    }

    body .site-header .top-search {
        grid-template-columns: minmax(0, 1fr) 38px !important;
        min-height: 44px !important;
        padding: 3px !important;
    }

    body .site-header .top-search input {
        font-size: 14px !important;
        height: 38px !important;
        padding: 0 10px !important;
    }

    body .site-header .top-search button {
        flex-basis: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        width: 38px !important;
    }

    body .site-header .header-main .main-nav {
        display: none !important;
    }

    body .page-shell,
    body .home-shell {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    body .compare-intro {
        border-radius: 12px !important;
        margin: 8px 0 !important;
        padding: 12px 14px !important;
    }

    body .compare-intro .breadcrumbs,
    body .compare-intro p {
        display: none !important;
    }

    body .compare-intro h1 {
        font-size: 25px !important;
        line-height: 1.05 !important;
        margin: 0 !important;
    }

    body .category-tabs {
        border-radius: 10px !important;
        gap: 6px !important;
        margin: 0 0 8px !important;
        padding: 6px !important;
    }

    body .category-tabs a {
        border-radius: 8px !important;
        font-size: 13px !important;
        height: 34px !important;
        padding: 0 11px !important;
    }

    body .listing-heading {
        border-radius: 12px !important;
        margin: 8px 0 !important;
        padding: 12px 14px !important;
    }

    body .listing-heading .eyebrow {
        display: none !important;
    }

    body .listing-heading h1,
    body .listing-heading h2 {
        font-size: 24px !important;
        line-height: 1.1 !important;
        margin: 0 !important;
    }

    body .listing-heading p {
        font-size: 13px !important;
        line-height: 1.25 !important;
        margin: 4px 0 0 !important;
    }

    body .listing-heading .sort-box {
        margin-top: 10px !important;
    }

    body .sort-links,
    body .sort-tabs {
        border-radius: 10px !important;
        gap: 4px !important;
        padding: 4px !important;
    }

    body .sort-links a,
    body .sort-tabs button {
        border-radius: 7px !important;
        font-size: 12px !important;
        height: 34px !important;
        padding: 0 6px !important;
    }

    body .listing-layout {
        gap: 8px !important;
        margin-top: 8px !important;
    }

    body .filters {
        border-radius: 12px !important;
        box-shadow: none !important;
        margin: 0 0 8px !important;
    }

    body .filters .filter-head {
        background: #fff !important;
        border: 1px solid #cfe0ee !important;
        border-bottom: 1px solid #cfe0ee !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        min-height: 44px !important;
        padding: 0 10px !important;
    }

    body .filters .filter-head strong {
        color: #09243d !important;
        font-size: 18px !important;
    }

    body .filters .filter-toggle {
        background: #225FBD !important;
        border-color: #225FBD !important;
        border-radius: 8px !important;
        color: #fff !important;
        font-size: 13px !important;
        height: 34px !important;
        min-width: 96px !important;
    }

    body .filters:not(.is-open) form > section,
    body .filters:not(.is-open) form > button[type="submit"] {
        display: none !important;
    }

    body .filters.is-open form > section {
        padding: 12px 14px !important;
    }

    body .filters h3 {
        font-size: 17px !important;
        margin: 0 0 8px !important;
    }

    body .filters label {
        font-size: 14px !important;
        min-height: 32px !important;
    }
}

/* Mobile products-first catalog override. */
@media (max-width: 760px) {
    body {
        padding-bottom: 72px !important;
    }

    body .compare-intro {
        display: none !important;
    }

    body .category-tabs {
        display: none !important;
    }

    body .listing-heading {
        display: block !important;
        margin: 8px 0 8px !important;
        padding: 10px 12px !important;
    }

    body .listing-heading h1,
    body .listing-heading h2 {
        font-size: 21px !important;
        letter-spacing: 0 !important;
        line-height: 1.08 !important;
    }

    body .listing-heading p {
        color: #52667a !important;
        font-size: 12px !important;
        margin-top: 3px !important;
    }

    body .listing-heading .sort-box {
        margin-top: 8px !important;
    }

    body .listing-heading .sort-box > span {
        display: none !important;
    }

    body .sort-links,
    body .sort-tabs {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        width: 100% !important;
    }

    body .sort-links a,
    body .sort-tabs button {
        font-size: 11px !important;
        font-weight: 800 !important;
        height: 30px !important;
        line-height: 1.05 !important;
        padding: 0 5px !important;
    }

    body .listing-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        margin-top: 0 !important;
    }

    body .listing-results {
        order: 1 !important;
    }

    body .filters {
        order: 2 !important;
    }

    body .filters:not(.is-open) {
        background: transparent !important;
        border: 0 !important;
        bottom: 10px !important;
        box-shadow: none !important;
        left: 10px !important;
        margin: 0 !important;
        max-width: none !important;
        position: fixed !important;
        right: 10px !important;
        width: auto !important;
        z-index: 80 !important;
    }

    body .filters:not(.is-open) .filter-head {
        align-items: center !important;
        background: rgba(255, 255, 255, .96) !important;
        border: 1px solid #c9d9e7 !important;
        border-radius: 14px !important;
        box-shadow: 0 12px 28px rgba(8, 35, 61, .16) !important;
        display: flex !important;
        justify-content: space-between !important;
        min-height: 48px !important;
        padding: 6px 8px 6px 14px !important;
    }

    body .filters:not(.is-open) .filter-head strong {
        color: #09243d !important;
        font-size: 16px !important;
    }

    body .filters:not(.is-open) .filter-toggle {
        background: #225FBD !important;
        color: #fff !important;
        height: 36px !important;
        min-width: 118px !important;
    }

    body .filters.is-open {
        background: #fff !important;
        border: 1px solid #c9d9e7 !important;
        border-radius: 18px 18px 0 0 !important;
        bottom: 0 !important;
        box-shadow: 0 -18px 42px rgba(8, 35, 61, .24) !important;
        left: 0 !important;
        margin: 0 !important;
        max-height: calc(100vh - 92px) !important;
        overflow: auto !important;
        position: fixed !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 90 !important;
    }

    body .filters.is-open .filter-head {
        background: #fff !important;
        border: 0 !important;
        border-bottom: 1px solid #dce8f2 !important;
        min-height: 54px !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 2 !important;
    }

    body .filters.is-open .filter-toggle {
        background: #eef5fb !important;
        border-color: #c9d9e7 !important;
        color: #09243d !important;
        min-width: 124px !important;
    }

    body .filters.is-open form > section {
        display: block !important;
        padding: 12px 18px !important;
    }

    body .filters.is-open form > button[type="submit"] {
        display: block !important;
        margin: 10px 18px 18px !important;
        width: calc(100% - 36px) !important;
    }

    body .product-grid,
    body .products-grid {
        margin-top: 0 !important;
    }
}

/* Mobile filter dock hard fix - the closed filter may not occupy catalog space. */
@media (max-width: 760px) {
    body .filters:not(.is-open) {
        display: contents !important;
        position: static !important;
    }

    body .filters:not(.is-open) form {
        display: contents !important;
    }

    body .filters:not(.is-open) .filter-head {
        align-items: center !important;
        background: rgba(255, 255, 255, .98) !important;
        border: 1px solid #c8d9e8 !important;
        border-radius: 16px !important;
        bottom: max(12px, env(safe-area-inset-bottom)) !important;
        box-shadow: 0 14px 34px rgba(8, 35, 61, .22) !important;
        display: flex !important;
        gap: 10px !important;
        justify-content: space-between !important;
        left: 12px !important;
        min-height: 52px !important;
        padding: 7px 8px 7px 14px !important;
        position: fixed !important;
        right: 12px !important;
        top: auto !important;
        width: auto !important;
        z-index: 2147483000 !important;
    }

    body .filters:not(.is-open) .filter-head strong {
        color: #09243d !important;
        font-size: 16px !important;
        line-height: 1 !important;
    }

    body .filters:not(.is-open) .filter-head span {
        align-items: center !important;
        display: flex !important;
        gap: 8px !important;
        margin-left: auto !important;
    }

    body .filters:not(.is-open) .filter-head a {
        color: #225FBD !important;
        font-size: 12px !important;
        white-space: nowrap !important;
    }

    body .filters:not(.is-open) .filter-toggle {
        background: #225FBD !important;
        border: 1px solid #225FBD !important;
        border-radius: 11px !important;
        color: #fff !important;
        flex: 0 0 auto !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        height: 38px !important;
        min-width: 120px !important;
        padding: 0 14px !important;
    }

    body .filters:not(.is-open) input[type="hidden"],
    body .filters:not(.is-open) form > section,
    body .filters:not(.is-open) form > button[type="submit"] {
        display: none !important;
    }
}

/* Mobile 2-column product overview. */
@media (max-width: 760px) {
    body .listing-results .results {
        display: grid !important;
        gap: 10px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
    }

    body .listing-results .results > .empty-state {
        grid-column: 1 / -1 !important;
    }

    body .listing-results .results > article.product-card {
        border-radius: 12px !important;
        display: grid !important;
        grid-template-rows: 128px minmax(148px, auto) auto !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    body .listing-results .results > article.product-card .product-image {
        height: 128px !important;
        min-height: 128px !important;
        padding: 10px !important;
    }

    body .listing-results .results > article.product-card .product-image img {
        max-height: 108px !important;
        max-width: 100% !important;
        object-fit: contain !important;
    }

    body .listing-results .results > article.product-card .product-body {
        gap: 6px !important;
        min-width: 0 !important;
        padding: 10px 10px 8px !important;
    }

    body .listing-results .results > article.product-card .product-meta {
        font-size: 11px !important;
        line-height: 1.15 !important;
    }

    body .listing-results .results > article.product-card h2,
    body .listing-results .results > article.product-card h2 a {
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 3 !important;
        display: -webkit-box !important;
        font-size: 12px !important;
        line-height: 1.18 !important;
        margin: 0 !important;
        min-height: 43px !important;
        overflow: hidden !important;
    }

    body .listing-results .results > article.product-card .review-stars {
        align-items: center !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 2px 4px !important;
        line-height: 1 !important;
    }

    body .listing-results .results > article.product-card .review-stars .stars {
        font-size: 12px !important;
        letter-spacing: -1px !important;
    }

    body .listing-results .results > article.product-card .review-stars strong,
    body .listing-results .results > article.product-card .review-count {
        font-size: 11px !important;
    }

    body .listing-results .results > article.product-card .product-actions {
        display: none !important;
    }

    body .listing-results .results > article.product-card .price-panel {
        gap: 4px !important;
        padding: 9px 10px 10px !important;
    }

    body .listing-results .results > article.product-card .price-panel small,
    body .listing-results .results > article.product-card .price-panel span {
        font-size: 11px !important;
        line-height: 1.15 !important;
    }

    body .listing-results .results > article.product-card .price-panel strong {
        font-size: 17px !important;
        line-height: 1.1 !important;
    }

    body .listing-results .results > article.product-card .price-panel a {
        border-radius: 9px !important;
        font-size: 12px !important;
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 8px !important;
    }

    body .listing-results .results > article.product-card .price-panel a svg,
    body .listing-results .results > article.product-card .price-panel a i {
        display: none !important;
    }
}

@media (max-width: 380px) {
    body .listing-results .results {
        gap: 8px !important;
    }

    body .listing-results .results > article.product-card {
        grid-template-rows: 112px minmax(140px, auto) auto !important;
    }

    body .listing-results .results > article.product-card .product-image {
        height: 112px !important;
        min-height: 112px !important;
    }

    body .listing-results .results > article.product-card .product-image img {
        max-height: 94px !important;
    }
}

/* Mobile density and alignment pass. */
@media (max-width: 760px) {
    body {
        background: #eef5f9 !important;
        font-size: 14px !important;
        line-height: 1.35 !important;
    }

    body .page-shell,
    body .home-shell,
    body .site-header .header-main {
        max-width: 100% !important;
    }

    body .site-header {
        border-bottom: 1px solid rgba(8, 35, 61, .08) !important;
        box-shadow: none !important;
    }

    body .site-header .brand-logo img {
        max-height: 30px !important;
    }

    body .site-header .top-search {
        border-color: rgba(10, 56, 90, .22) !important;
        box-shadow: none !important;
    }

    body .home-hero-v2.home-entrance {
        margin: 8px 0 10px !important;
    }

    body .home-hero-v2 .home-hero-panel {
        border-radius: 14px !important;
        min-height: 0 !important;
        padding: 20px 18px !important;
    }

    body .home-hero-v2 .home-hero-content {
        gap: 10px !important;
        max-width: 100% !important;
    }

    body .home-hero-v2 .eyebrow {
        font-size: 11px !important;
        margin: 0 !important;
    }

    body .home-hero-v2 h1 {
        font-size: 31px !important;
        line-height: 1.05 !important;
        margin: 0 !important;
    }

    body .home-hero-v2 p {
        font-size: 15px !important;
        line-height: 1.35 !important;
        margin: 0 !important;
    }

    body .home-hero-search {
        border-radius: 12px !important;
        min-height: 46px !important;
    }

    body .home-hero-search input {
        font-size: 14px !important;
        height: 42px !important;
    }

    body .home-hero-search button {
        height: 42px !important;
    }

    body .home-hero-actions {
        display: grid !important;
        gap: 9px !important;
        margin-top: 4px !important;
    }

    body .home-hero-actions a {
        border-radius: 12px !important;
        min-height: 44px !important;
    }

    body .home-hero-stat {
        border-radius: 14px !important;
        margin-top: 12px !important;
        padding: 14px !important;
    }

    body .home-hero-stat strong {
        font-size: 38px !important;
        line-height: 1 !important;
    }

    body .home-hero-categories {
        display: flex !important;
        gap: 7px !important;
        margin-top: 8px !important;
        overflow-x: auto !important;
        padding-bottom: 2px !important;
    }

    body .home-hero-categories a {
        border-radius: 999px !important;
        flex: 0 0 auto !important;
        min-height: 34px !important;
        padding: 7px 12px !important;
    }

    body .listing-heading,
    body .product-hero,
    body .product-tools article,
    body .detail-layout,
    body .related-products,
    body .home-section,
    body article.product-card,
    body .category-tabs,
    body .pagination,
    body .pagination-top {
        border-color: rgba(10, 56, 90, .14) !important;
        box-shadow: 0 4px 14px rgba(8, 35, 61, .05) !important;
    }

    body .listing-heading,
    body .product-hero {
        border-top: 0 !important;
    }

    body .listing-heading {
        padding: 9px 11px !important;
    }

    body .listing-heading h1,
    body .listing-heading h2 {
        font-size: 20px !important;
    }

    body .product-hero {
        gap: 10px !important;
        padding: 10px !important;
    }

    body .product-media {
        border-color: rgba(10, 56, 90, .14) !important;
        padding: 10px !important;
    }

    body .product-media-badge {
        font-size: 11px !important;
        padding: 7px 10px !important;
    }

    body .product-gallery-main {
        border-color: rgba(10, 56, 90, .14) !important;
        min-height: 290px !important;
    }

    body .product-gallery-main img {
        max-height: 230px !important;
    }

    body .product-gallery-zoom {
        border-radius: 999px !important;
        bottom: 10px !important;
        font-size: 13px !important;
        left: 10px !important;
        padding: 8px 12px !important;
    }

    body .product-summary {
        padding: 0 !important;
    }

    body .product-summary .breadcrumbs {
        border-color: rgba(10, 56, 90, .12) !important;
        border-radius: 12px !important;
        margin-bottom: 10px !important;
        overflow: hidden !important;
        padding: 5px !important;
    }

    body .product-summary h1 {
        font-size: 29px !important;
        line-height: 1.08 !important;
        margin: 0 0 8px !important;
    }

    body .product-summary > p {
        color: #52667a !important;
        font-size: 14px !important;
        line-height: 1.45 !important;
        max-height: 150px !important;
        overflow: hidden !important;
    }

    body .product-tools {
        gap: 8px !important;
    }

    body .product-tools article {
        border-radius: 12px !important;
        padding: 10px !important;
    }

    body .spec-card,
    body .offers-table,
    body .related-products {
        border-color: rgba(10, 56, 90, .14) !important;
    }

    body .mobile-filter-dock {
        align-items: center !important;
        background: rgba(255, 255, 255, .98) !important;
        border: 1px solid rgba(10, 56, 90, .18) !important;
        border-radius: 16px !important;
        bottom: max(12px, env(safe-area-inset-bottom)) !important;
        box-shadow: 0 14px 34px rgba(8, 35, 61, .22) !important;
        color: #09243d !important;
        display: flex !important;
        gap: 10px !important;
        justify-content: space-between !important;
        left: 12px !important;
        min-height: 52px !important;
        padding: 7px 8px 7px 14px !important;
        position: fixed !important;
        right: 12px !important;
        z-index: 2147483000 !important;
    }

    body .mobile-filter-dock span {
        font-size: 15px !important;
        font-weight: 800 !important;
    }

    body .mobile-filter-dock strong {
        align-items: center !important;
        background: #225FBD !important;
        border-radius: 11px !important;
        color: #fff !important;
        display: inline-flex !important;
        font-size: 14px !important;
        height: 38px !important;
        padding: 0 16px !important;
    }

    body .filters:not(.is-open) {
        display: none !important;
    }
}

@supports (zoom: .9) {
    @media (max-width: 760px) {
        body .listing-heading,
        body .listing-results,
        body .product-hero,
        body .product-tools,
        body .detail-layout,
        body .related-products,
        body .home-section {
            zoom: .94 !important;
        }
    }
}

/* Mobile calm product media: no nested visual frames. */
@media (max-width: 760px) {
    body .product-media {
        background: #fff !important;
        border: 1px solid rgba(10, 56, 90, .10) !important;
        border-radius: 14px !important;
        box-shadow: 0 4px 14px rgba(8, 35, 61, .04) !important;
        display: block !important;
        padding: 12px !important;
    }

    body .product-media-badge {
        margin: 0 0 8px !important;
    }

    body .product-gallery-main {
        background: #fff !important;
        border: 0 !important;
        border-radius: 10px !important;
        box-shadow: none !important;
        min-height: 230px !important;
        outline: 0 !important;
        padding: 8px !important;
        width: 100% !important;
    }

    body .product-gallery-main::before,
    body .product-gallery-main::after,
    body .product-media::before,
    body .product-media::after {
        display: none !important;
    }

    body .product-gallery-main img,
    body .product-media img {
        height: auto !important;
        max-height: 210px !important;
        object-fit: contain !important;
        width: 100% !important;
    }

    body .product-gallery-zoom {
        background: rgba(255, 255, 255, .96) !important;
        border: 1px solid rgba(10, 56, 90, .12) !important;
        box-shadow: 0 6px 18px rgba(8, 35, 61, .10) !important;
    }
}

/* Final dropdown reliability fix. */
body .feed-menu details summary {
    cursor: pointer !important;
    pointer-events: auto !important;
    user-select: none !important;
}

body .feed-menu details[open] > .mega-panel {
    display: grid !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    visibility: visible !important;
    z-index: 2147482000 !important;
}

@media (min-width: 901px) {
    body .feed-menu details[open] > .mega-panel {
        position: fixed !important;
        top: var(--desktop-menu-panel-top, 132px) !important;
    }
}

@media (max-width: 900px) {
    body .site-header.menu-open .feed-menu details[open] > .mega-panel {
        display: grid !important;
        max-height: 52vh !important;
        overflow-y: auto !important;
        position: static !important;
        width: 100% !important;
    }
}

/* Final fresh commerce palette: white, blue, green and orange accents. */
:root {
    --ec-fresh-blue: #225fbd;
    --ec-fresh-blue-dark: #225FBD;
    --ec-fresh-blue-soft: #eef5ff;
    --ec-fresh-green: #18a058;
    --ec-fresh-green-soft: #ebfaf2;
    --ec-fresh-orange: #ff7a1a;
    --ec-fresh-ink: #172337;
    --ec-fresh-muted: #657489;
    --ec-fresh-line: #dbe7f3;
    --ec-fresh-bg: #f4f8fb;
}

body {
    background: var(--ec-fresh-bg) !important;
    color: var(--ec-fresh-ink) !important;
}

body .site-header,
body .home-hero-panel,
body .listing-heading,
body .category-tabs,
body article.product-card,
body .product-hero,
body .product-tools article,
body .detail-layout,
body .related-products,
body .footer-main,
body .footer-seo-directory,
body .pagination,
body .pagination-top,
body .filters,
body .offers-table,
body .spec-card {
    border-color: var(--ec-fresh-line) !important;
}

body .top-search button,
body .hero-search button,
body .sort-links a.active,
body .sort-tabs button.active,
body .pagination a.active,
body .pagination span.active,
body .nav-prices,
body .header-main .main-nav a.nav-prices,
body .feed-menu > a:first-child,
body .mobile-filter-dock strong,
body button[type="submit"],
body .filters form > button[type="submit"] {
    background: var(--ec-fresh-blue) !important;
    border-color: var(--ec-fresh-blue) !important;
    color: #fff !important;
}

body .top-search button:hover,
body .hero-search button:hover,
body .price-panel a:hover,
body .primary-action:hover,
body .mobile-filter-dock:hover strong {
    background: var(--ec-fresh-blue-dark) !important;
    border-color: var(--ec-fresh-blue-dark) !important;
}

body .price-panel a,
body article.product-card .price-panel a,
body .best-price > a,
body .offer-row > a,
body .primary-action,
body .sticky-product-cta a {
    background: var(--ec-fresh-green) !important;
    border-color: var(--ec-fresh-green) !important;
    color: #fff !important;
}

body .product-media-badge,
body .deal-badge,
body .home-hero-content .eyebrow,
body .listing-heading .eyebrow,
body .section-head .eyebrow {
    color: var(--ec-fresh-orange) !important;
}

body .product-media-badge,
body .deal-badge {
    background: #fff4ea !important;
    border: 1px solid rgba(255, 122, 26, .28) !important;
}

body .review-stars .stars,
body article.product-card .review-stars .stars,
body .rating-review-block .review-stars .stars,
body .score-line .stars {
    color: var(--ec-fresh-orange) !important;
}

body .home-hero-actions .secondary-action,
body .feed-menu summary,
body .feed-menu > a:not(:first-child),
body .category-tabs a:not(.active),
body .sort-links a:not(.active),
body .sort-tabs button:not(.active),
body .product-actions button,
body .nav-counter {
    background: #fff !important;
    border-color: var(--ec-fresh-line) !important;
    color: var(--ec-fresh-ink) !important;
}

body .feed-menu summary:hover,
body .feed-menu > a:not(:first-child):hover,
body .category-tabs a:not(.active):hover,
body .sort-links a:not(.active):hover,
body .product-actions button:hover {
    background: var(--ec-fresh-blue-soft) !important;
    border-color: rgba(34, 95, 189, .28) !important;
    color: var(--ec-fresh-blue-dark) !important;
}

body .menu-feature,
body .feed-menu > a.menu-feature,
body .category-tabs a.active {
    background: var(--ec-fresh-green-soft) !important;
    border-color: rgba(24, 160, 88, .28) !important;
    color: #096b3c !important;
}

body .price-panel {
    background: #f8fbfe !important;
}

body .price-panel strong,
body .best-price strong,
body .offer-price strong {
    color: var(--ec-fresh-ink) !important;
}

body .product-meta,
body .review-count,
body .price-panel small,
body .price-panel span,
body .listing-heading p {
    color: var(--ec-fresh-muted) !important;
}

body .home-hero-categories .ui-icon,
body .product-tools .ui-icon,
body .mobile-filter-dock .ui-icon {
    background: var(--ec-fresh-blue-soft) !important;
    border-color: rgba(34, 95, 189, .20) !important;
    color: var(--ec-fresh-blue) !important;
}

body .footer {
    background: #225FBD !important;
}

body .footer a:hover {
    color: #ffd0a8 !important;
}

@media (max-width: 760px) {
    body .home-hero-panel {
        background: #fff !important;
    }

    body .home-hero-content .eyebrow {
        color: var(--ec-fresh-orange) !important;
    }

    body .home-hero-search button {
        background: var(--ec-fresh-blue) !important;
    }

    body .home-hero-actions .primary-action {
        background: var(--ec-fresh-green) !important;
        border-color: var(--ec-fresh-green) !important;
    }

    body .home-hero-actions .secondary-action {
        background: #fff !important;
        border-color: var(--ec-fresh-line) !important;
        color: var(--ec-fresh-blue-dark) !important;
    }

    body .home-hero-categories a {
        border-color: var(--ec-fresh-line) !important;
    }
}

/* Final brand consistency pass: blue header, green commerce, orange accents. */
body .site-header .top-search button,
body .top-search button,
body .hero-search button,
body .nav-prices,
body .header-main .main-nav a.nav-prices,
body .feed-menu > a:first-child,
body .sort-links a.active,
body .sort-tabs button.active,
body .pagination a.active,
body .pagination span.active,
body button[type="submit"]:not(.price-alert-submit),
body .mobile-filter-dock strong {
    background: var(--ec-fresh-blue) !important;
    border-color: var(--ec-fresh-blue) !important;
    color: #fff !important;
}

body .site-header .top-search button:hover,
body .top-search button:hover,
body .hero-search button:hover,
body .nav-prices:hover,
body .header-main .main-nav a.nav-prices:hover {
    background: var(--ec-fresh-blue-dark) !important;
    border-color: var(--ec-fresh-blue-dark) !important;
    color: #fff !important;
}

body .price-panel a,
body article.product-card .price-panel a,
body .best-price > a,
body .offer-row > a,
body .sticky-product-cta a,
body .primary-action,
body .battery-cta,
body .compare-deal-button,
body .cta-primary,
body .load-more-products .load-more-button,
body .filters form > button[type="submit"] {
    background: var(--ec-fresh-green) !important;
    border-color: var(--ec-fresh-green) !important;
    color: #fff !important;
}

body .price-panel a *,
body article.product-card .price-panel a *,
body .best-price > a *,
body .offer-row > a *,
body .sticky-product-cta a *,
body .primary-action *,
body .battery-cta *,
body .compare-deal-button *,
body .cta-primary *,
body .load-more-products .load-more-button * {
    color: #fff !important;
}

body .price-panel a:hover,
body article.product-card .price-panel a:hover,
body .best-price > a:hover,
body .offer-row > a:hover,
body .sticky-product-cta a:hover,
body .primary-action:hover,
body .battery-cta:hover,
body .compare-deal-button:hover,
body .cta-primary:hover,
body .load-more-products .load-more-button:hover {
    background: #118247 !important;
    border-color: #118247 !important;
    color: #fff !important;
}

body .review-stars .stars,
body article.product-card .review-stars .stars,
body .score-line .stars,
body .rating-review-block .review-stars .stars {
    color: var(--ec-fresh-orange) !important;
}

body .product-actions button,
body .product-action-bar button,
body .product-tools button,
body .meta-actions button,
body .compare-toolbar button,
body .compare-actions-cell button,
body .section-head > a:not(.primary-action),
body .home-hero-actions .secondary-action,
body .guide-hero-actions a:not(:first-child) {
    background: #fff !important;
    border-color: var(--ec-fresh-line) !important;
    color: var(--ec-fresh-blue-dark) !important;
}

body .product-actions button:hover,
body .product-action-bar button:hover,
body .product-tools button:hover,
body .meta-actions button:hover,
body .compare-toolbar button:hover,
body .compare-actions-cell button:hover,
body .section-head > a:not(.primary-action):hover,
body .home-hero-actions .secondary-action:hover,
body .guide-hero-actions a:not(:first-child):hover {
    background: var(--ec-fresh-blue-soft) !important;
    border-color: rgba(34, 95, 189, .28) !important;
    color: var(--ec-fresh-blue-dark) !important;
}

body .brand-logo img {
    object-fit: contain !important;
}

/* Exact blue system rebuild: one blue, consistent contrast. */
:root {
    --ec-brand-blue: #225FBD !important;
    --ec-blue: #225FBD !important;
    --ec-blue-2: #225FBD !important;
    --ec-blue-hover: #225FBD !important;
    --ec-cb-blue: #225FBD !important;
    --ec-ui-blue: #225FBD !important;
    --ec-ui-blue-dark: #225FBD !important;
    --ec-pro-blue: #225FBD !important;
    --ec-fresh-blue: #225FBD !important;
    --ec-fresh-blue-dark: #225FBD !important;
    --ec-action-green: #18A058 !important;
    --ec-action-orange: #FF7A1A !important;
    --ec-border: #DDE8F2 !important;
    --ec-ink: #172337 !important;
    --ec-muted: #61758C !important;
}

body .site-header .top-search button,
body .top-search button,
body .home-hero-search button,
body .hero-search button,
body .nav-prices,
body .header-main .main-nav a.nav-prices,
body .feed-menu > a:first-child,
body .feed-menu > a.active,
body .feed-menu details[open] > summary,
body .category-tabs a.active,
body .category-tabs .active,
body .quick-tabs a.active,
body .quick-tabs button.active,
body .sort-links a.active,
body .sort-tabs button.active,
body .pagination a.active,
body .pagination span.active,
body .pagination .active,
body .mobile-filter-dock strong,
body .mobile-filter-dock button,
body .filters .filter-toggle,
body button.ec-blue,
body a.ec-blue,
body .btn-blue {
    background: #225FBD !important;
    background-image: none !important;
    border-color: #225FBD !important;
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(34, 95, 189, .18) !important;
}

body .site-header .top-search button:hover,
body .top-search button:hover,
body .home-hero-search button:hover,
body .hero-search button:hover,
body .nav-prices:hover,
body .header-main .main-nav a.nav-prices:hover,
body .feed-menu > a:first-child:hover,
body .feed-menu > a.active:hover,
body .feed-menu details[open] > summary:hover,
body .category-tabs a.active:hover,
body .sort-links a.active:hover,
body .sort-tabs button.active:hover,
body .mobile-filter-dock button:hover,
body .filters .filter-toggle:hover,
body button.ec-blue:hover,
body a.ec-blue:hover,
body .btn-blue:hover {
    background: #225FBD !important;
    background-image: none !important;
    border-color: #225FBD !important;
    color: #fff !important;
    box-shadow: 0 10px 22px rgba(34, 95, 189, .24) !important;
}

body .site-header .top-search button *,
body .top-search button *,
body .home-hero-search button *,
body .hero-search button *,
body .nav-prices *,
body .feed-menu > a:first-child *,
body .feed-menu > a.active *,
body .feed-menu details[open] > summary *,
body .category-tabs a.active *,
body .sort-links a.active *,
body .sort-tabs button.active *,
body .mobile-filter-dock button *,
body .filters .filter-toggle *,
body button.ec-blue *,
body a.ec-blue *,
body .btn-blue * {
    color: #fff !important;
    stroke: currentColor !important;
}

body .site-header .top-search button .ui-icon,
body .top-search button .ui-icon,
body .home-hero-search button .ui-icon,
body .hero-search button .ui-icon,
body .nav-prices .ui-icon,
body .feed-menu > a:first-child .ui-icon,
body .feed-menu > a.active .ui-icon,
body .feed-menu details[open] > summary .ui-icon,
body .category-tabs a.active .ui-icon,
body .sort-links a.active .ui-icon,
body .sort-tabs button.active .ui-icon,
body .mobile-filter-dock button .ui-icon,
body .filters .filter-toggle .ui-icon {
    background: rgba(255, 255, 255, .18) !important;
    border-color: rgba(255, 255, 255, .24) !important;
    color: #fff !important;
}

body .price-panel a,
body article.product-card .price-panel a,
body .best-price > a,
body .offer-row > a,
body .sticky-product-cta a,
body .primary-action,
body .battery-cta,
body .compare-deal-button,
body .cta-primary,
body .load-more-products .load-more-button,
body .load-more-button,
body .filters form > button[type="submit"] {
    background: #18A058 !important;
    background-image: none !important;
    border-color: #18A058 !important;
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(24, 160, 88, .16) !important;
}

body .price-panel a:hover,
body article.product-card .price-panel a:hover,
body .best-price > a:hover,
body .offer-row > a:hover,
body .sticky-product-cta a:hover,
body .primary-action:hover,
body .battery-cta:hover,
body .compare-deal-button:hover,
body .cta-primary:hover,
body .load-more-products .load-more-button:hover,
body .load-more-button:hover,
body .filters form > button[type="submit"]:hover {
    background: #18A058 !important;
    background-image: none !important;
    border-color: #18A058 !important;
    color: #fff !important;
    box-shadow: 0 10px 22px rgba(24, 160, 88, .22) !important;
}

body .price-panel a *,
body article.product-card .price-panel a *,
body .best-price > a *,
body .offer-row > a *,
body .sticky-product-cta a *,
body .primary-action *,
body .battery-cta *,
body .compare-deal-button *,
body .cta-primary *,
body .load-more-products .load-more-button *,
body .load-more-button *,
body .filters form > button[type="submit"] * {
    color: #fff !important;
    stroke: currentColor !important;
}

body .product-actions button,
body .product-action-bar button,
body .product-tools button,
body .meta-actions button,
body .compare-toolbar button,
body .compare-actions-cell button,
body .section-head > a:not(.primary-action),
body .home-hero-actions .secondary-action,
body .guide-hero-actions a:not(:first-child),
body .feed-menu > a:not(.active):not(:first-child),
body .feed-menu summary,
body .nav-counter,
body .site-header .header-icon-button {
    background: #fff !important;
    background-image: none !important;
    border-color: #DDE8F2 !important;
    color: #172337 !important;
    box-shadow: none !important;
}

body .product-actions button:hover,
body .product-action-bar button:hover,
body .product-tools button:hover,
body .meta-actions button:hover,
body .compare-toolbar button:hover,
body .compare-actions-cell button:hover,
body .section-head > a:not(.primary-action):hover,
body .home-hero-actions .secondary-action:hover,
body .guide-hero-actions a:not(:first-child):hover,
body .feed-menu > a:not(.active):not(:first-child):hover,
body .feed-menu summary:hover,
body .nav-counter:hover,
body .site-header .header-icon-button:hover {
    background: #F4F8FC !important;
    background-image: none !important;
    border-color: #C8D8E8 !important;
    color: #225FBD !important;
}

body .product-actions button .ui-icon,
body .product-action-bar button .ui-icon,
body .product-tools button .ui-icon,
body .meta-actions button .ui-icon,
body .compare-toolbar button .ui-icon,
body .compare-actions-cell button .ui-icon,
body .section-head > a:not(.primary-action) .ui-icon,
body .home-hero-actions .secondary-action .ui-icon,
body .guide-hero-actions a:not(:first-child) .ui-icon,
body .feed-menu > a:not(.active):not(:first-child) .ui-icon,
body .feed-menu summary .ui-icon,
body .nav-counter .ui-icon,
body .site-header .header-icon-button .ui-icon {
    background: #EEF5FF !important;
    border-color: #DDE8F2 !important;
    color: #225FBD !important;
}

body .review-stars .stars,
body article.product-card .review-stars .stars,
body .score-line .stars,
body .rating-review-block .review-stars .stars,
body .stars {
    color: #FF7A1A !important;
}

/* Absolute final catalog alignment lock: keep listing pages on one x-axis. */
body .page-shell,
body .page-shell #catalog,
body .page-shell #catalog > .category-tabs,
body .page-shell #catalog > .listing-heading,
body .page-shell #catalog > .active-filters,
body .page-shell #catalog > .listing-layout,
body .page-shell #catalog > .product-listing-layout {
    box-sizing: border-box !important;
}

body .page-shell #catalog,
body .page-shell #catalog > .category-tabs,
body .page-shell #catalog > .listing-heading,
body .page-shell #catalog > .active-filters,
body .page-shell #catalog > .listing-layout,
body .page-shell #catalog > .product-listing-layout {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    width: 100% !important;
}

body .page-shell #catalog > .category-tabs,
body .page-shell #catalog > .listing-heading {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body .page-shell #catalog > .listing-layout,
body .page-shell #catalog > .product-listing-layout {
    align-items: start !important;
    display: grid !important;
    gap: 22px !important;
    grid-template-columns: 270px minmax(0, 1fr) !important;
}

body .page-shell #catalog .listing-results,
body .page-shell #catalog .results,
body .page-shell #catalog .products-grid {
    min-width: 0 !important;
    width: 100% !important;
}

body .page-shell #catalog .products-grid {
    align-items: stretch !important;
}

@media (max-width: 860px) {
    body .page-shell #catalog > .listing-layout,
    body .page-shell #catalog > .product-listing-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }

    body .page-shell #catalog > .category-tabs,
    body .page-shell #catalog > .listing-heading,
    body .page-shell #catalog > .active-filters {
        margin-bottom: 10px !important;
    }
}

/* EOF final offer row lock: product image, spacing and mobile readability. */
body .offer-row {
    align-items: center !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: minmax(260px, 1.4fr) minmax(150px, .7fr) minmax(132px, auto) !important;
}

body .offer-seller {
    align-items: center !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    min-width: 0 !important;
}

body .offer-seller img {
    aspect-ratio: 1 / 1 !important;
    background: #F7FAFC !important;
    border: 1px solid rgba(0, 59, 112, .10) !important;
    border-radius: 8px !important;
    height: 58px !important;
    object-fit: contain !important;
    padding: 6px !important;
    width: 58px !important;
}

body .offer-seller > div {
    min-width: 0 !important;
}

body .offer-seller strong,
body .offer-seller span {
    display: block !important;
}

body .offer-seller span,
body .offer-price small {
    color: #5D7085 !important;
    line-height: 1.35 !important;
}

@media (max-width: 760px) {
    body .offer-row {
        gap: 10px !important;
        grid-template-columns: 1fr auto !important;
        min-height: 0 !important;
        padding: 12px !important;
    }

    body .offer-seller {
        grid-column: 1 / -1 !important;
        grid-template-columns: 64px minmax(0, 1fr) !important;
    }

    body .offer-seller img {
        height: 64px !important;
        width: 64px !important;
    }

    body .offer-price {
        align-items: start !important;
        display: grid !important;
        justify-items: start !important;
        text-align: left !important;
    }

    body .offer-price strong {
        font-size: 22px !important;
        line-height: 1.1 !important;
    }

    body .offer-row > a {
        min-height: 44px !important;
        min-width: 132px !important;
        width: auto !important;
    }
}

/* Final override: keep product pages aligned and mobile-safe after all legacy rules. */
body .price-history-card,
body .price-history,
body .product-price-history,
body [data-price-history] {
    display: none !important;
}

body .product-hero,
body .product-tools,
body .detail-layout,
body .related-products,
body .offers-table,
body .spec-card,
body .price-intelligence,
body article.product-card,
body .product-gallery-main,
body .product-media,
body .breadcrumbs,
body .category-tabs,
body .listing-heading,
body .compare-intro,
body .page-shell {
    border-color: rgba(16, 48, 79, .09) !important;
}

body article.product-card,
body .product-hero,
body .product-tools,
body .detail-layout,
body .related-products,
body .offers-table,
body .spec-card,
body .price-alert-card {
    box-shadow: 0 10px 24px rgba(16, 48, 79, .04) !important;
}

body .review-stars .stars,
body article.product-card .review-stars .stars,
body .rating-review-block .review-stars .stars {
    color: #ff7a1a !important;
    font-size: 21px !important;
    letter-spacing: 1px !important;
    line-height: 1 !important;
}

body article.product-card .price-panel a,
body .related-products article.product-card .price-panel a,
body .sticky-product-cta a,
body .best-price a,
body .mobile-image-buy-link,
body .offer-row > a {
    color: #fff !important;
}

body article.product-card .price-panel a *,
body .sticky-product-cta a *,
body .best-price a *,
body .mobile-image-buy-link *,
body .offer-row > a * {
    color: #fff !important;
    fill: none !important;
    stroke: currentColor !important;
}

@media (max-width: 760px) {
    html,
    body {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    body .page-shell,
    body .home-shell,
    body .product-hero,
    body .product-tools,
    body .detail-layout,
    body .related-products,
    body .offers-table,
    body .spec-card,
    body .price-intelligence {
        box-sizing: border-box !important;
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: calc(100% - 24px) !important;
        width: calc(100% - 24px) !important;
    }

    body .product-hero {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        overflow: hidden !important;
        padding: 12px !important;
    }

    body .product-media {
        padding: 10px !important;
        width: 100% !important;
    }

    body .product-gallery-main {
        background: #fff !important;
        min-height: 390px !important;
        overflow: hidden !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body .product-gallery-main img,
    body .product-media img {
        display: block !important;
        height: 390px !important;
        max-height: 390px !important;
        max-width: 100% !important;
        object-fit: contain !important;
        object-position: center !important;
        width: 100% !important;
    }

    body .mobile-image-buy-link {
        bottom: 16px !important;
        min-height: 48px !important;
        padding: 0 22px !important;
        right: 16px !important;
    }

    body .product-thumbs {
        display: grid !important;
        gap: 10px !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        width: 100% !important;
    }

    body .product-thumbs button {
        height: 78px !important;
        width: 100% !important;
    }

    body .product-thumbs img {
        height: 100% !important;
        object-fit: contain !important;
        width: 100% !important;
    }

    body .product-summary,
    body .product-summary *,
    body .detail-layout,
    body .detail-layout *,
    body .related-products,
    body .related-products * {
        min-width: 0 !important;
    }

    body .product-summary h1 {
        font-size: clamp(25px, 8vw, 34px) !important;
        line-height: 1.08 !important;
        overflow-wrap: anywhere !important;
    }

    body .product-summary p {
        overflow-wrap: anywhere !important;
    }

    body .breadcrumbs,
    body .product-summary .breadcrumbs,
    body .compare-intro .breadcrumbs {
        align-items: center !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        padding: 6px !important;
        scrollbar-width: none !important;
        white-space: nowrap !important;
        width: 100% !important;
    }

    body .breadcrumbs::-webkit-scrollbar,
    body .product-summary .breadcrumbs::-webkit-scrollbar,
    body .compare-intro .breadcrumbs::-webkit-scrollbar {
        display: none !important;
    }

    body .breadcrumbs a,
    body .breadcrumbs strong {
        flex: 0 0 auto !important;
        max-width: none !important;
    }

    body .product-action-bar {
        display: grid !important;
        gap: 8px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
    }

    body .product-action-bar button {
        min-width: 0 !important;
        width: 100% !important;
    }

    body .rating-card.rating-card-wide {
        grid-template-columns: 86px minmax(0, 1fr) !important;
        width: 100% !important;
    }

    body .rating-review-block .review-stars .stars,
    body .review-stars .stars,
    body article.product-card .review-stars .stars {
        font-size: 22px !important;
    }

    body .related-products .deal-grid {
        display: grid !important;
        gap: 14px !important;
        grid-template-columns: 1fr !important;
    }

    body .related-products article.product-card,
    body article.product-card {
        overflow: hidden !important;
    }

    body .related-products article.product-card .product-image,
    body article.product-card .product-image {
        min-height: 260px !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body .related-products article.product-card .product-image img,
    body article.product-card .product-image img {
        height: 260px !important;
        max-height: none !important;
        max-width: 100% !important;
        object-fit: contain !important;
        width: 100% !important;
    }

    body .offer-row {
        border-color: rgba(16, 48, 79, .07) !important;
        grid-template-columns: 1fr !important;
    }

    body .offer-row > a {
        justify-self: stretch !important;
        width: 100% !important;
    }
}

/* Final offer row fix: product image, spacing and mobile readability. */
body .offer-row {
    align-items: center !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: minmax(260px, 1.4fr) minmax(150px, .7fr) minmax(132px, auto) !important;
}

body .offer-seller {
    align-items: center !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    min-width: 0 !important;
}

body .offer-seller img {
    aspect-ratio: 1 / 1 !important;
    background: #F7FAFC !important;
    border: 1px solid rgba(0, 59, 112, .10) !important;
    border-radius: 8px !important;
    height: 58px !important;
    object-fit: contain !important;
    padding: 6px !important;
    width: 58px !important;
}

body .offer-seller > div {
    min-width: 0 !important;
}

body .offer-seller strong,
body .offer-seller span {
    display: block !important;
}

body .offer-seller span,
body .offer-price small {
    color: #5D7085 !important;
    line-height: 1.35 !important;
}

@media (max-width: 760px) {
    body .offer-row {
        gap: 10px !important;
        grid-template-columns: 1fr auto !important;
        min-height: 0 !important;
        padding: 12px !important;
    }

    body .offer-seller {
        grid-column: 1 / -1 !important;
        grid-template-columns: 64px minmax(0, 1fr) !important;
    }

    body .offer-seller img {
        height: 64px !important;
        width: 64px !important;
    }

    body .offer-price {
        align-items: start !important;
        display: grid !important;
        justify-items: start !important;
        text-align: left !important;
    }

    body .offer-price strong {
        font-size: 22px !important;
        line-height: 1.1 !important;
    }

    body .offer-row > a {
        min-height: 44px !important;
        min-width: 132px !important;
        width: auto !important;
    }
}

/* Request polish: product CTA text, mobile image buy hit-area and menu type consistency. */
body .price-panel a,
body article.product-card .price-panel a,
body .home-deal-grid article.product-card .price-panel a,
body .best-price > a,
body .offer-row > a,
body .sticky-product-cta a,
body .guide-table-cta,
body .compare-deal-button {
    color: #FFFFFF !important;
    font-weight: 800 !important;
}

body .price-panel a *,
body article.product-card .price-panel a *,
body .home-deal-grid article.product-card .price-panel a *,
body .best-price > a *,
body .offer-row > a *,
body .sticky-product-cta a *,
body .guide-table-cta *,
body .compare-deal-button * {
    color: #FFFFFF !important;
    fill: currentColor !important;
    stroke: currentColor !important;
}

body .mobile-image-buy-link {
    display: none;
}

@media (max-width: 760px) {
    body .feed-menu > a,
    body .feed-menu summary,
    body .feed-menu .mega-panel a,
    body .main-nav a,
    body .nav-counter,
    body .nav-prices,
    body .header-icon-button {
        font-size: 14px !important;
        font-weight: 750 !important;
        letter-spacing: 0 !important;
        line-height: 1.2 !important;
    }

    body .product-media {
        padding: 12px !important;
        position: relative !important;
    }

    body .product-gallery-main {
        min-height: 340px !important;
        padding: 10px !important;
    }

    body .product-gallery-main img,
    body .product-media img {
        max-height: 320px !important;
        width: 100% !important;
    }

    body .mobile-image-buy-link {
        align-items: center !important;
        background: #18A058 !important;
        border: 1px solid #18A058 !important;
        border-radius: 999px !important;
        bottom: 22px !important;
        box-shadow: 0 8px 18px rgba(24, 160, 88, .22) !important;
        color: #FFFFFF !important;
        display: inline-flex !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        justify-content: center !important;
        min-height: 42px !important;
        padding: 0 18px !important;
        position: absolute !important;
        right: 22px !important;
        text-decoration: none !important;
        z-index: 5 !important;
    }

    body .mobile-image-buy-link::after {
        color: #FFFFFF !important;
        content: "\2192" !important;
        font-size: 18px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        margin-left: 8px !important;
    }

    body .product-gallery-zoom {
        left: 22px !important;
        right: auto !important;
    }
}

/* Soft border pass: calmer lines without losing structure. */
:root {
    --ec-border-soft: #E4ECF3 !important;
    --ec-border-softer: #EEF3F7 !important;
    --ec-border-panel: rgba(129, 151, 173, .26) !important;
    --ec-shadow-soft: 0 10px 28px rgba(8, 35, 63, .055) !important;
}

body .page-shell,
body .product-detail-hero,
body .product-media-card,
body .product-summary-card,
body .best-price,
body .detail-layout > *,
body .trust-row,
body .trust-card,
body .related-products,
body .related-products.review-compare-products,
body article.product-card,
body .deal-grid article.product-card,
body .products-grid article.product-card,
body .filters,
body .listing-heading,
body .compare-intro,
body .category-tabs,
body .price-alert-card,
body .price-history-card,
body .spec-card,
body .offers-table {
    border-color: var(--ec-border-soft) !important;
    box-shadow: var(--ec-shadow-soft) !important;
}

body .product-image,
body .product-media-frame,
body .gallery-frame,
body .product-card .product-image,
body .deal-grid article.product-card .product-image,
body .related-products .product-image,
body .review-card,
body .rating-review-block,
body .offer-row,
body .spec-row,
body .price-panel,
body .product-copy,
body .filter-group,
body .filter-row,
body .section-head,
body .breadcrumbs,
body .breadcrumb,
body .guide-jump-nav,
body .guide-toc,
body .guide-related {
    border-color: var(--ec-border-softer) !important;
}

body .product-actions button,
body .product-action-bar button,
body .product-tools button,
body .meta-actions button,
body .category-tabs a,
body .feed-menu > a,
body .feed-menu summary,
body .sort-tabs button,
body .sort-links a,
body .pagination a,
body .pagination span,
body .section-head > a,
body .best-price li,
body .nav-counter,
body .site-header .header-icon-button {
    border-color: var(--ec-border-soft) !important;
}

body .page-shell::before,
body .product-card::before,
body .deal-grid .product-card::before,
body .home-deal-grid .product-card::before,
body .related-products .product-card::before,
body .compare-intro::before,
body .listing-heading::before {
    opacity: .35 !important;
}

body hr,
body .section-head,
body .offers-table .section-title,
body .best-price hr {
    border-color: var(--ec-border-softer) !important;
}

/* SEO text product inserts: real products with direct outbound CTA. */
body .seo-product-inserts {
    background: #fff !important;
    border: 1px solid var(--ec-border-soft) !important;
    border-radius: 16px !important;
    box-shadow: var(--ec-shadow-soft) !important;
    margin: 22px 0 !important;
    padding: clamp(16px, 2vw, 24px) !important;
}

body .seo-product-inserts .section-head {
    align-items: end !important;
    border-bottom: 1px solid var(--ec-border-softer) !important;
    display: flex !important;
    gap: 18px !important;
    justify-content: space-between !important;
    margin: 0 0 16px !important;
    padding: 0 0 14px !important;
}

body .seo-product-inserts .section-head h3 {
    color: #10263F !important;
    font-size: clamp(22px, 2vw, 30px) !important;
    line-height: 1.14 !important;
    margin: 0 0 6px !important;
}

body .seo-product-inserts .section-head p:not(.eyebrow) {
    color: #52657A !important;
    margin: 0 !important;
    max-width: 760px !important;
}

body .seo-product-insert-grid {
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body .seo-product-insert-card {
    background: #F9FBFD !important;
    border: 1px solid var(--ec-border-soft) !important;
    border-radius: 14px !important;
    display: grid !important;
    grid-template-rows: 138px 1fr auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

body .seo-product-insert-image {
    align-items: center !important;
    background: #fff !important;
    display: flex !important;
    justify-content: center !important;
    padding: 14px !important;
}

body .seo-product-insert-image img {
    display: block !important;
    height: 100% !important;
    max-height: 110px !important;
    max-width: 100% !important;
    object-fit: contain !important;
    width: auto !important;
}

body .seo-product-insert-copy {
    border-top: 1px solid var(--ec-border-softer) !important;
    padding: 13px 14px 10px !important;
}

body .seo-product-insert-copy span,
body .seo-product-insert-copy small {
    color: #63758A !important;
    display: block !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

body .seo-product-insert-copy h4 {
    font-size: 16px !important;
    line-height: 1.25 !important;
    margin: 5px 0 8px !important;
}

body .seo-product-insert-copy h4 a {
    color: #10263F !important;
    text-decoration: none !important;
}

body .seo-product-insert-copy p {
    color: #52657A !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    margin: 0 0 10px !important;
}

body .seo-product-insert-copy strong {
    color: #10263F !important;
    display: block !important;
    font-size: 20px !important;
    line-height: 1.1 !important;
    margin-bottom: 4px !important;
}

body .seo-product-direct-link {
    align-items: center !important;
    background: #18A058 !important;
    border: 1px solid #18A058 !important;
    border-radius: 10px !important;
    color: #fff !important;
    display: inline-flex !important;
    font-weight: 800 !important;
    justify-content: center !important;
    margin: 0 14px 14px !important;
    min-height: 42px !important;
    padding: 0 14px !important;
    text-decoration: none !important;
}

body .seo-product-direct-link::after {
    color: #fff !important;
    content: "\2192" !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    margin-left: 8px !important;
}

/* Guide comparison tables should align with the full article container. */
body .guide-feed-compare {
    box-sizing: border-box !important;
    max-width: 100% !important;
    width: 100% !important;
}

body .guide-feed-compare .guide-table-scroll {
    width: 100% !important;
}

body .guide-feed-compare .guide-review-table {
    min-width: 960px !important;
}

/* Final border softening pass: keep structure, remove the heavy outlined look. */
:root {
    --ec-line: #E6EDF4 !important;
    --ec-line-2: #DCE7F0 !important;
    --ec-line-strong: #D7E3ED !important;
    --ec-border-soft: #E6EDF4 !important;
    --ec-border-softer: #EEF4F8 !important;
    --ec-line-calm: #E6EDF4 !important;
    --ec-line-calm-2: #DCE7F0 !important;
}

body .site-header,
body .header-main,
body .feed-menu,
body .page-shell,
body .home-shell,
body .compare-intro,
body .listing-heading,
body .listing-results,
body .category-tabs,
body .sort-tabs,
body .sort-links,
body .filters,
body .filter-panel,
body .product-card,
body .product-image,
body .product-copy,
body .price-panel,
body .product-hero,
body .product-tools article,
body .offers-table,
body .offer-row,
body .spec-card,
body .related-products,
body .guide-hero,
body .guide-content,
body .guide-products,
body .guide-related,
body .guide-jump-nav,
body .guide-index-hero,
body .guide-table-scroll,
body .guide-review-table,
body .guide-review-table th,
body .guide-review-table td,
body .seo-product-inserts,
body .seo-product-insert-card,
body .footer,
body .footer-intro,
body .footer-trust,
body .footer-main,
body .footer-bottom,
body .breadcrumbs,
body .breadcrumb,
body .top-search,
body .mobile-menu-toggle,
body .feed-menu > a,
body .feed-menu summary,
body .nav-counter,
body .nav-prices {
    border-color: #E6EDF4 !important;
}

body .product-image,
body .price-panel,
body .product-copy,
body .guide-review-table th,
body .guide-review-table td,
body .offers-table th,
body .offers-table td,
body .spec-row,
body .footer-bottom,
body .section-head,
body .seo-product-inserts .section-head {
    border-color: #EEF4F8 !important;
}

body .product-card:hover,
body .guide-card:hover,
body .home-guide-grid a:hover,
body .home-category-grid a:hover,
body .home-focus-strip a:hover,
body .feed-menu > a:hover,
body .feed-menu summary:hover,
body .category-tabs a:hover,
body .sort-tabs a:hover {
    border-color: #D8E5EF !important;
}

@media (max-width: 980px) {
    body .seo-product-insert-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body .seo-product-inserts .section-head {
        align-items: stretch !important;
        flex-direction: column !important;
    }
}

@media (max-width: 560px) {
    body .seo-product-insert-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Deal button text lock: every product CTA stays readable on green/blue buttons. */
body a[href*="redirect.php"].btn,
body a[href*="redirect.php"].button,
body a[href*="redirect.php"].deal-button,
body a[href*="redirect.php"].compare-deal-button,
body .price-panel a[href*="redirect.php"],
body .results .price-panel a[href*="redirect.php"],
body article.product-card .price-panel a[href*="redirect.php"],
body .product-card a[href*="redirect.php"],
body .offer-row a[href*="redirect.php"],
body .best-price a[href*="redirect.php"],
body .sticky-product-cta a[href*="redirect.php"] {
    color: #fff !important;
    text-shadow: none !important;
}

body a[href*="redirect.php"].btn *,
body a[href*="redirect.php"].button *,
body a[href*="redirect.php"].deal-button *,
body a[href*="redirect.php"].compare-deal-button *,
body .price-panel a[href*="redirect.php"] *,
body .results .price-panel a[href*="redirect.php"] *,
body article.product-card .price-panel a[href*="redirect.php"] *,
body .product-card a[href*="redirect.php"] *,
body .offer-row a[href*="redirect.php"] *,
body .best-price a[href*="redirect.php"] *,
body .sticky-product-cta a[href*="redirect.php"] * {
    color: #fff !important;
    fill: currentColor !important;
    stroke: currentColor !important;
}

body a[href*="redirect.php"]::before,
body a[href*="redirect.php"]::after,
body .price-panel a[href*="redirect.php"]::before,
body .price-panel a[href*="redirect.php"]::after,
body article.product-card .price-panel a[href*="redirect.php"]::before,
body article.product-card .price-panel a[href*="redirect.php"]::after {
    color: #fff !important;
    fill: currentColor !important;
    stroke: currentColor !important;
}

/* Final catalog alignment lock: category/search pages share one clean x-axis. */
body .page-shell,
body .page-shell #catalog,
body .page-shell #catalog > .category-tabs,
body .page-shell #catalog > .listing-heading,
body .page-shell #catalog > .active-filters,
body .page-shell #catalog > .listing-layout,
body .page-shell #catalog > .product-listing-layout {
    box-sizing: border-box !important;
}

body .page-shell #catalog,
body .page-shell #catalog > .category-tabs,
body .page-shell #catalog > .listing-heading,
body .page-shell #catalog > .active-filters,
body .page-shell #catalog > .listing-layout,
body .page-shell #catalog > .product-listing-layout {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    width: 100% !important;
}

body .page-shell #catalog > .category-tabs,
body .page-shell #catalog > .listing-heading {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body .page-shell #catalog > .listing-layout,
body .page-shell #catalog > .product-listing-layout {
    align-items: start !important;
    display: grid !important;
    gap: 22px !important;
    grid-template-columns: 270px minmax(0, 1fr) !important;
}

body .page-shell #catalog .listing-results,
body .page-shell #catalog .results,
body .page-shell #catalog .products-grid {
    min-width: 0 !important;
    width: 100% !important;
}

body .page-shell #catalog .products-grid {
    align-items: stretch !important;
}

@media (max-width: 860px) {
    body .page-shell #catalog > .listing-layout,
    body .page-shell #catalog > .product-listing-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }

    body .page-shell #catalog > .category-tabs,
    body .page-shell #catalog > .listing-heading,
    body .page-shell #catalog > .active-filters {
        margin-bottom: 10px !important;
    }
}

/* Final alignment system: one x-grid for header, content, cards and footer. */
:root {
    --ec-page-max: 1660px;
    --ec-page-x: clamp(18px, 3.2vw, 54px);
    --ec-section-gap: 18px;
    --ec-card-radius: 14px;
    --ec-line-soft: #D8E3EE;
    --ec-surface: #FFFFFF;
    --ec-surface-soft: #F3F7FA;
    --ec-blue: #005A8F;
    --ec-blue-dark: #002371;
    --ec-green: #18A058;
    --ec-orange: #FF7A1A;
    --ec-text: #10233B;
    --ec-muted: #64748B;
}

body {
    background: var(--ec-surface-soft) !important;
    color: var(--ec-text) !important;
}

body main,
body .site-header,
body .footer {
    width: 100% !important;
}

body .header-main,
body .feed-menu,
body main > section,
body main > header,
body .page-shell,
body .guides-index,
body .guide-detail,
body .detail-layout,
body .footer > .footer-intro,
body .footer > .footer-trust,
body .footer > .footer-main,
body .footer > .footer-seo-directory,
body .footer > .footer-bottom {
    box-sizing: border-box !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: var(--ec-page-max) !important;
    width: calc(100% - (var(--ec-page-x) * 2)) !important;
}

body main {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--ec-section-gap) !important;
    padding: 18px 0 34px !important;
}

body .site-header {
    background: #fff !important;
    border-bottom: 1px solid var(--ec-line-soft) !important;
    box-shadow: 0 4px 18px rgba(16, 35, 59, .05) !important;
}

body .header-main {
    align-items: center !important;
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: 230px minmax(320px, 1fr) auto !important;
    min-height: 78px !important;
    padding: 10px 0 !important;
}

body .brand,
body .brand-logo {
    height: 50px !important;
    width: 230px !important;
}

body .brand-logo img,
body .logo img {
    max-height: 42px !important;
    max-width: 220px !important;
}

body .top-search {
    border: 1px solid #BFD0E0 !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    height: 50px !important;
    padding: 4px !important;
}

body .top-search input {
    color: var(--ec-text) !important;
    font-size: 14px !important;
    height: 40px !important;
}

body .top-search button,
body .home-hero-search button,
body .nav-prices {
    background: var(--ec-blue) !important;
    border-color: var(--ec-blue) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    color: #fff !important;
    min-height: 40px !important;
}

body .top-search button:hover,
body .home-hero-search button:hover,
body .nav-prices:hover {
    background: var(--ec-blue-dark) !important;
    border-color: var(--ec-blue-dark) !important;
}

body .header-main .main-nav {
    align-items: center !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    justify-content: flex-end !important;
}

body .header-main .main-nav a {
    border-radius: 10px !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    height: 44px !important;
    padding: 0 14px !important;
}

body .feed-menu {
    align-items: center !important;
    border-top: 1px solid var(--ec-line-soft) !important;
    display: flex !important;
    gap: 8px !important;
    min-height: 58px !important;
    padding: 8px 0 !important;
}

body .feed-menu > a,
body .feed-menu summary,
body .category-tabs a,
body .sort-links a,
body .pagination a,
body .pagination span {
    align-items: center !important;
    border: 1px solid var(--ec-line-soft) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    display: inline-flex !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    gap: 7px !important;
    min-height: 40px !important;
    padding: 0 13px !important;
    white-space: nowrap !important;
}

body .feed-menu > a.active,
body .feed-menu > a:first-child,
body .feed-menu details[open] > summary,
body .category-tabs a.active,
body .category-tabs .active,
body .sort-links a.active,
body .pagination a.active,
body .pagination span.active {
    background: var(--ec-blue-dark) !important;
    border-color: var(--ec-blue-dark) !important;
    color: #fff !important;
}

body .feed-menu .ui-icon,
body .category-tabs .ui-icon,
body .main-nav .ui-icon {
    background: transparent !important;
    border: 0 !important;
    color: currentColor !important;
    height: 18px !important;
    min-width: 18px !important;
    width: 18px !important;
}

body .feed-menu svg,
body .category-tabs svg,
body .main-nav svg {
    height: 17px !important;
    width: 17px !important;
}

body .page-shell,
body .listing-heading,
body .guide-hero,
body .guide-index-hero,
body .guide-content,
body .guide-products,
body .guide-related,
body .product-detail-hero,
body .product-summary,
body .product-detail-card,
body .category-tabs,
body .pagination,
body .load-more-products {
    background: var(--ec-surface) !important;
    border: 1px solid var(--ec-line-soft) !important;
    border-radius: var(--ec-card-radius) !important;
    box-shadow: 0 8px 24px rgba(16, 35, 59, .05) !important;
}

body .page-shell,
body .listing-heading,
body .guide-hero,
body .guide-index-hero,
body .guide-content,
body .guide-products,
body .guide-related,
body .product-detail-hero,
body .product-summary,
body .product-detail-card {
    padding: 22px 26px !important;
}

body .breadcrumbs,
body .product-summary .breadcrumbs,
body .compare-intro .breadcrumbs {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    width: 100% !important;
}

body .breadcrumbs a,
body .breadcrumbs strong {
    align-items: center !important;
    background: #F5F8FB !important;
    border: 1px solid var(--ec-line-soft) !important;
    border-radius: 999px !important;
    color: var(--ec-text) !important;
    display: inline-flex !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    min-height: 32px !important;
    padding: 0 12px !important;
}

body .breadcrumbs span {
    color: var(--ec-muted) !important;
    font-size: 13px !important;
    margin: 0 !important;
}

body .listing-heading {
    align-items: end !important;
    display: grid !important;
    gap: 16px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
}

body .listing-heading h1,
body .page-shell h1,
body .guide-hero h1,
body .guide-index-hero h1,
body .product-detail-hero h1 {
    color: var(--ec-text) !important;
    font-size: clamp(28px, 3vw, 44px) !important;
    line-height: 1.08 !important;
    margin: 0 0 8px !important;
}

body .listing-heading p,
body .page-shell p,
body .guide-hero p,
body .guide-index-hero p,
body .product-detail-hero p {
    color: var(--ec-muted) !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
}

body .category-tabs {
    align-items: center !important;
    display: flex !important;
    gap: 8px !important;
    margin: 0 auto !important;
    overflow-x: auto !important;
    padding: 10px !important;
}

body .listing-layout,
body .product-listing-layout {
    align-items: start !important;
    display: grid !important;
    gap: 22px !important;
    grid-template-columns: 270px minmax(0, 1fr) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: var(--ec-page-max) !important;
    width: calc(100% - (var(--ec-page-x) * 2)) !important;
}

body .filters {
    border: 1px solid var(--ec-line-soft) !important;
    border-radius: var(--ec-card-radius) !important;
    box-shadow: 0 8px 24px rgba(16, 35, 59, .05) !important;
    overflow: hidden !important;
}

body .filters .filter-head,
body .filter-head {
    align-items: center !important;
    background: var(--ec-blue) !important;
    border-bottom: 0 !important;
    display: flex !important;
    justify-content: space-between !important;
    min-height: 54px !important;
    padding: 0 16px !important;
}

body .filters .filter-head h2,
body .filters .filter-head strong {
    color: #fff !important;
    font-size: 18px !important;
    line-height: 1 !important;
    margin: 0 !important;
}

body .products-grid,
body .listing-results .results,
body .results,
body .deal-grid {
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: stretch !important;
}

body article.product-card {
    border: 1px solid var(--ec-line-soft) !important;
    border-radius: var(--ec-card-radius) !important;
    box-shadow: 0 8px 22px rgba(16, 35, 59, .045) !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 100% !important;
    overflow: hidden !important;
}

body article.product-card .product-image {
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid #E7EEF5 !important;
    height: 190px !important;
    padding: 18px !important;
}

body article.product-card .product-image img {
    height: 100% !important;
    object-fit: contain !important;
    width: 100% !important;
}

body article.product-card .product-copy,
body article.product-card .product-body {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 16px !important;
}

body article.product-card h2,
body article.product-card h2 a {
    color: var(--ec-text) !important;
    font-size: 15px !important;
    line-height: 1.28 !important;
    margin: 0 !important;
}

body article.product-card .price-panel {
    background: #F8FBFD !important;
    border-top: 1px solid #E7EEF5 !important;
    margin-top: auto !important;
    padding: 14px 16px 16px !important;
}

body article.product-card .price-panel a,
body .home-deal-grid article.product-card .price-panel a,
body .best-price > a,
body .offer-row > a,
body .sticky-product-cta a {
    background: var(--ec-green) !important;
    border-color: var(--ec-green) !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    color: #fff !important;
    min-height: 42px !important;
}

body article.product-card .price-panel a:hover,
body .home-deal-grid article.product-card .price-panel a:hover,
body .best-price > a:hover,
body .offer-row > a:hover,
body .sticky-product-cta a:hover {
    background: #128348 !important;
    border-color: #128348 !important;
}

body .footer {
    padding: 32px 0 !important;
}

body .footer > .footer-intro,
body .footer > .footer-trust,
body .footer > .footer-main,
body .footer > .footer-seo-directory,
body .footer > .footer-bottom {
    border-radius: var(--ec-card-radius) !important;
}

@media (max-width: 1180px) {
    body .products-grid,
    body .listing-results .results,
    body .results,
    body .deal-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 860px) {
    :root {
        --ec-page-x: 14px;
        --ec-section-gap: 12px;
    }

    body main {
        gap: 12px !important;
        padding: 12px 0 24px !important;
    }

    body .header-main,
    body .feed-menu,
    body main > section,
    body main > header,
    body .page-shell,
    body .guides-index,
    body .guide-detail,
    body .detail-layout,
    body .listing-layout,
    body .product-listing-layout,
    body .footer > .footer-intro,
    body .footer > .footer-trust,
    body .footer > .footer-main,
    body .footer > .footer-seo-directory,
    body .footer > .footer-bottom {
        width: calc(100% - 28px) !important;
    }

    body .header-main {
        gap: 10px !important;
        grid-template-columns: minmax(0, 1fr) 70px !important;
        min-height: 120px !important;
        padding: 10px 0 !important;
    }

    body .brand,
    body .brand-logo {
        width: 210px !important;
    }

    body .mobile-menu-toggle {
        align-items: center !important;
        border-radius: 12px !important;
        height: 48px !important;
        justify-content: center !important;
        margin: 0 !important;
        width: 70px !important;
    }

    body .top-search {
        grid-column: 1 / -1 !important;
        grid-template-columns: minmax(0, 1fr) 50px !important;
        height: 50px !important;
        width: 100% !important;
    }

    body .top-search button {
        min-width: 42px !important;
        width: 42px !important;
    }

    body .header-main .main-nav {
        grid-column: 1 / -1 !important;
        justify-content: flex-end !important;
    }

    body .header-main .main-nav .nav-prices {
        display: none !important;
    }

    body .feed-menu {
        border-radius: 0 !important;
        max-height: calc(100vh - 148px) !important;
        overflow-y: auto !important;
        padding: 10px 0 !important;
    }

    body .page-shell,
    body .listing-heading,
    body .guide-hero,
    body .guide-index-hero,
    body .guide-content,
    body .guide-products,
    body .guide-related,
    body .product-detail-hero,
    body .product-summary,
    body .product-detail-card {
        padding: 16px !important;
    }

    body .listing-heading {
        align-items: stretch !important;
        grid-template-columns: 1fr !important;
    }

    body .listing-heading h1,
    body .page-shell h1,
    body .guide-hero h1,
    body .guide-index-hero h1,
    body .product-detail-hero h1 {
        font-size: 28px !important;
    }

    body .listing-layout,
    body .product-listing-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
    }

    body .products-grid,
    body .listing-results .results,
    body .results,
    body .deal-grid {
        gap: 12px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body article.product-card .product-image {
        height: 150px !important;
        padding: 14px !important;
    }

    body article.product-card .product-copy,
    body article.product-card .product-body,
    body article.product-card .price-panel {
        padding: 12px !important;
    }

    body article.product-card h2,
    body article.product-card h2 a {
        font-size: 13px !important;
        line-height: 1.25 !important;
    }

    body .footer {
        padding: 22px 0 !important;
    }
}

@media (max-width: 520px) {
    body .products-grid,
    body .listing-results .results,
    body .results,
    body .deal-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body article.product-card .price-panel a {
        font-size: 12px !important;
        min-height: 38px !important;
        padding: 0 8px !important;
    }
}

/* Search/category intro: compact comparison-site header, not a giant hero. */
body .page-shell > .compare-intro {
    background: #fff !important;
    border: 1px solid var(--ec-line-soft) !important;
    border-radius: var(--ec-card-radius) !important;
    box-shadow: 0 8px 22px rgba(16, 35, 59, .045) !important;
    display: block !important;
    margin: 0 0 14px !important;
    min-height: 0 !important;
    padding: 20px 24px !important;
}

body .page-shell > .compare-intro .breadcrumbs {
    margin: 0 0 14px !important;
    padding: 0 !important;
}

body .page-shell > .compare-intro h1 {
    color: var(--ec-text) !important;
    display: block !important;
    font-size: clamp(30px, 3.1vw, 48px) !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    line-height: 1.08 !important;
    margin: 0 0 10px !important;
    max-width: 920px !important;
    text-wrap: balance !important;
}

body .page-shell > .compare-intro p {
    color: var(--ec-muted) !important;
    display: block !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    margin: 0 !important;
    max-width: 980px !important;
}

body .page-shell > .compare-intro h1 br,
body .page-shell > .compare-intro p br {
    display: none !important;
}

body .page-shell > .compare-intro + #catalog {
    margin-top: 0 !important;
}

@media (max-width: 860px) {
    body .page-shell > .compare-intro {
        margin-bottom: 10px !important;
        padding: 14px !important;
    }

    body .page-shell > .compare-intro .breadcrumbs {
        display: none !important;
    }

    body .page-shell > .compare-intro h1 {
        font-size: 27px !important;
        line-height: 1.12 !important;
        margin-bottom: 0 !important;
    }

    body .page-shell > .compare-intro p {
        display: none !important;
    }
}

/* Nested catalog alignment: content inside page-shell must not get a second page margin. */
body .page-shell #catalog,
body .page-shell #catalog > .category-tabs,
body .page-shell #catalog > .listing-heading,
body .page-shell #catalog > .active-filters,
body .page-shell #catalog > .listing-layout,
body .page-shell #catalog > .product-listing-layout {
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    width: 100% !important;
}

body .page-shell #catalog > .category-tabs,
body .page-shell #catalog > .listing-heading,
body .page-shell #catalog > .active-filters {
    margin-bottom: 14px !important;
}

body .page-shell #catalog > .listing-layout,
body .page-shell #catalog > .product-listing-layout {
    align-items: start !important;
    display: grid !important;
    gap: 22px !important;
    grid-template-columns: 270px minmax(0, 1fr) !important;
}

body .page-shell #catalog .listing-results {
    min-width: 0 !important;
    width: 100% !important;
}

body .page-shell #catalog .results,
body .page-shell #catalog .products-grid {
    width: 100% !important;
}

@media (max-width: 860px) {
    body .page-shell #catalog > .listing-layout,
    body .page-shell #catalog > .product-listing-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }

    body .page-shell #catalog > .category-tabs,
    body .page-shell #catalog > .listing-heading,
    body .page-shell #catalog > .active-filters {
        margin-bottom: 10px !important;
    }
}

/* Final spacing system: consistent padding, alignment and visual rhythm. */
:root {
    --ec-page-max: 1680px !important;
    --ec-space-1: 6px !important;
    --ec-space-2: 10px !important;
    --ec-space-3: 14px !important;
    --ec-space-4: 18px !important;
    --ec-space-5: 24px !important;
    --ec-radius: 12px !important;
    --ec-card-radius: 14px !important;
    --ec-control-h: 44px !important;
    --ec-control-h-sm: 38px !important;
}

body .site-header,
body .page-wrap,
body main,
body .footer > *,
body footer.footer > *,
body .site-footer > * {
    box-sizing: border-box !important;
}

body .header-inner,
body .header-main,
body .main-nav,
body .feed-menu,
body .page-wrap,
body main > section,
body .footer-intro,
body .footer-trust,
body .footer-main,
body .footer-seo-grid,
body .footer-bottom {
    max-width: var(--ec-page-max) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body .site-header {
    background: #fff !important;
    border-bottom: 1px solid #DDE8F2 !important;
    box-shadow: 0 2px 14px rgba(23, 35, 55, .05) !important;
}

body .header-main,
body .feed-menu {
    align-items: center !important;
    display: flex !important;
    gap: 12px !important;
    min-height: 58px !important;
    padding: 10px 18px !important;
}

body .header-inner {
    align-items: center !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: 230px minmax(280px, 1fr) auto !important;
    padding: 14px 18px 10px !important;
}

body .brand-logo,
body .brand-logo img {
    display: block !important;
    height: auto !important;
    max-height: 58px !important;
}

body .brand-logo img {
    max-width: 225px !important;
    object-fit: contain !important;
    object-position: left center !important;
    width: 100% !important;
}

body .top-search {
    align-items: center !important;
    display: flex !important;
    gap: 8px !important;
    height: var(--ec-control-h) !important;
    margin: 0 !important;
}

body .top-search input {
    height: var(--ec-control-h) !important;
    min-height: var(--ec-control-h) !important;
    padding: 0 16px !important;
}

body button,
body .button,
body .btn,
body .top-search button,
body .feed-menu > a,
body .feed-menu summary,
body .nav-prices,
body .nav-counter,
body .category-tabs a,
body .sort-tabs button,
body .sort-links a,
body .pagination a,
body .pagination span,
body .product-actions button,
body .product-action-bar button,
body .product-tools button,
body .meta-actions button,
body .price-panel a {
    align-items: center !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    gap: 8px !important;
    justify-content: center !important;
    line-height: 1.1 !important;
    min-height: var(--ec-control-h-sm) !important;
    padding: 0 14px !important;
    text-align: center !important;
    white-space: nowrap !important;
}

body .ui-icon {
    align-items: center !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    flex: 0 0 28px !important;
    height: 28px !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin: 0 !important;
    width: 28px !important;
}

body .ui-icon svg {
    display: block !important;
    height: 16px !important;
    width: 16px !important;
}

body .category-tabs {
    align-items: center !important;
    display: flex !important;
    gap: 10px !important;
    margin: 16px auto 18px !important;
    max-width: var(--ec-page-max) !important;
    overflow-x: auto !important;
    padding: 8px 10px !important;
}

body .category-tabs a {
    min-height: 40px !important;
    padding: 0 14px !important;
}

body .listing-head,
body .category-hero,
body .catalog-hero,
body .guide-hero,
body .guide-content,
body .guide-products,
body .guide-related,
body .home-section,
body .product-detail-hero,
body .comparison-section {
    border: 1px solid #DDE8F2 !important;
    border-radius: var(--ec-card-radius) !important;
    box-shadow: 0 8px 22px rgba(23, 35, 55, .05) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 24px !important;
}

body .listing-head h1,
body .category-hero h1,
body .catalog-hero h1,
body .guide-hero h1,
body .product-detail-hero h1 {
    margin: 0 0 10px !important;
}

body .listing-head p,
body .category-hero p,
body .catalog-hero p,
body .guide-hero p,
body .product-detail-hero p {
    margin: 0 !important;
}

body .catalog-layout,
body .listing-layout,
body .product-listing-layout {
    align-items: start !important;
    display: grid !important;
    gap: 24px !important;
    grid-template-columns: 260px minmax(0, 1fr) !important;
    margin: 0 auto !important;
    max-width: var(--ec-page-max) !important;
}

body .filters {
    border: 1px solid #DDE8F2 !important;
    border-radius: var(--ec-card-radius) !important;
    box-shadow: 0 8px 20px rgba(23, 35, 55, .05) !important;
    overflow: hidden !important;
}

body .filters .filter-head {
    align-items: center !important;
    display: flex !important;
    justify-content: space-between !important;
    min-height: 54px !important;
    padding: 0 16px !important;
}

body .filters form > section {
    padding: 18px 16px !important;
}

body .products-grid,
body .product-grid,
body .guide-product-grid,
body .home-deal-grid {
    display: grid !important;
    gap: 18px !important;
}

body .products-grid,
body .product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body article.product-card {
    border-radius: var(--ec-card-radius) !important;
    display: grid !important;
    grid-template-rows: 210px minmax(190px, auto) auto !important;
    min-height: 520px !important;
    overflow: hidden !important;
}

body article.product-card .product-image {
    align-items: center !important;
    display: flex !important;
    height: 210px !important;
    justify-content: center !important;
    padding: 18px !important;
}

body article.product-card .product-image img {
    max-height: 176px !important;
    max-width: 100% !important;
    object-fit: contain !important;
}

body article.product-card .product-copy,
body article.product-card .price-panel {
    padding: 16px !important;
}

body article.product-card .product-copy {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

body article.product-card h2 {
    font-size: 16px !important;
    line-height: 1.28 !important;
    margin: 0 !important;
    min-height: 42px !important;
}

body article.product-card p {
    margin: 0 !important;
}

body article.product-card .price-panel {
    align-self: end !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 9px !important;
}

body article.product-card .price-panel a {
    min-height: 42px !important;
    width: 100% !important;
}

body .footer {
    padding-left: 18px !important;
    padding-right: 18px !important;
}

body .footer-intro,
body .footer-trust,
body .footer-main,
body .footer-seo-grid,
body .footer-bottom {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

@media (max-width: 1180px) {
    body .products-grid,
    body .product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 860px) {
    body .header-inner {
        grid-template-columns: minmax(0, 1fr) auto !important;
        padding: 12px 14px 8px !important;
    }

    body .top-search {
        grid-column: 1 / -1 !important;
        order: 3 !important;
        width: 100% !important;
    }

    body .feed-menu {
        gap: 8px !important;
        min-height: 0 !important;
        overflow-x: auto !important;
        padding: 8px 14px !important;
    }

    body .feed-menu > a,
    body .feed-menu summary {
        min-height: 34px !important;
        padding: 0 11px !important;
    }

    body .category-tabs {
        margin: 10px 14px 12px !important;
        padding: 6px !important;
    }

    body .listing-head,
    body .category-hero,
    body .catalog-hero,
    body .guide-hero,
    body .guide-content,
    body .guide-products,
    body .guide-related,
    body .home-section,
    body .product-detail-hero,
    body .comparison-section {
        border-radius: 12px !important;
        margin-left: 14px !important;
        margin-right: 14px !important;
        padding: 16px !important;
    }

    body .catalog-layout,
    body .listing-layout,
    body .product-listing-layout {
        display: block !important;
        margin-left: 14px !important;
        margin-right: 14px !important;
    }

    body .products-grid,
    body .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    body article.product-card {
        grid-template-rows: 150px minmax(170px, auto) auto !important;
        min-height: 430px !important;
    }

    body article.product-card .product-image {
        height: 150px !important;
        padding: 12px !important;
    }

    body article.product-card .product-image img {
        max-height: 128px !important;
    }

    body article.product-card .product-copy,
    body article.product-card .price-panel {
        padding: 12px !important;
    }

    body article.product-card h2 {
        font-size: 13px !important;
        min-height: 50px !important;
    }

    body article.product-card p {
        display: none !important;
    }
}

@media (max-width: 520px) {
    body .header-main,
    body .feed-menu {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    body .brand-logo img {
        max-width: 190px !important;
    }

    body .top-search input {
        font-size: 14px !important;
        padding: 0 12px !important;
    }

    body .top-search button {
        flex: 0 0 48px !important;
        min-width: 48px !important;
        padding: 0 !important;
    }

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

/* Guide reading fix: compact table of contents instead of oversized chip cloud. */
body .guide-jump-nav {
    align-items: center !important;
    display: flex !important;
    gap: 12px !important;
    grid-template-columns: none !important;
    margin: 12px 0 22px !important;
    overflow: hidden !important;
    padding: 10px 12px !important;
}

body .guide-jump-nav div {
    align-items: center !important;
    display: flex !important;
    flex: 1 1 auto !important;
    flex-wrap: nowrap !important;
    gap: 7px !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 2px 2px 4px !important;
    scrollbar-width: thin !important;
}

body .guide-jump-nav span {
    color: #172337 !important;
    flex: 0 0 auto !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    margin: 0 4px 0 0 !important;
    white-space: nowrap !important;
}

body .guide-jump-nav div a {
    align-items: center !important;
    background: #fff !important;
    border: 1px solid #DDE8F2 !important;
    border-radius: 999px !important;
    color: #172337 !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    max-width: 230px !important;
    min-height: 34px !important;
    overflow: hidden !important;
    padding: 7px 11px !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body .guide-jump-nav div a:hover {
    background: #F4F8FC !important;
    border-color: #C8D8E8 !important;
    color: #225FBD !important;
}

body .guide-jump-nav > a {
    align-items: center !important;
    background: #225FBD !important;
    border: 1px solid #225FBD !important;
    border-radius: 8px !important;
    color: #fff !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    justify-content: center !important;
    min-height: 38px !important;
    padding: 8px 14px !important;
    white-space: nowrap !important;
}

body .guide-jump-nav > a:empty {
    display: none !important;
}

@media (max-width: 760px) {
    body .guide-jump-nav {
        display: block !important;
        margin: 8px 0 16px !important;
        padding: 8px !important;
    }

    body .guide-jump-nav div {
        gap: 6px !important;
        padding-bottom: 5px !important;
    }

    body .guide-jump-nav span {
        font-size: 12px !important;
    }

    body .guide-jump-nav div a {
        font-size: 12px !important;
        max-width: 185px !important;
        min-height: 31px !important;
        padding: 6px 10px !important;
    }

    body .guide-jump-nav > a {
        margin-top: 7px !important;
        min-height: 34px !important;
        width: 100% !important;
    }
}

/* Final contrast cleanup: remove yellow leftovers and repair button/icon contrast. */
:root {
    --yellow: #225FBD !important;
    --ec-cb-yellow: #225FBD !important;
    --ec-cb-yellow-hover: #225FBD !important;
    --ec-ui-yellow: #225FBD !important;
    --ec-ui-yellow-hover: #225FBD !important;
    --ec-action-blue: #225FBD !important;
    --ec-action-green: #18A058 !important;
    --ec-action-orange: #FF7A1A !important;
}

body .filters .filter-head,
body .filter-head,
body .filters.is-open .filter-head,
body .filters:not(.is-open) .filter-head {
    background: #225FBD !important;
    background-image: none !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .18) !important;
    box-shadow: none !important;
    color: #fff !important;
}

body .filters .filter-head::before,
body .filters .filter-head::after,
body .filter-head::before,
body .filter-head::after {
    display: none !important;
}

body .filters .filter-head *,
body .filter-head * {
    color: #fff !important;
    stroke: currentColor !important;
}

body .filters .filter-toggle,
body .filters:not(.is-open) .filter-toggle,
body .filters.is-open .filter-toggle {
    background: #fff !important;
    border: 1px solid #DDE8F2 !important;
    color: #225FBD !important;
}

body .filters .filter-toggle *,
body .filters:not(.is-open) .filter-toggle *,
body .filters.is-open .filter-toggle * {
    color: #225FBD !important;
    stroke: currentColor !important;
}

body .category-tabs a,
body .feed-menu > a,
body .feed-menu summary,
body .sort-tabs button,
body .sort-links a,
body .pagination a,
body .pagination span {
    background-image: none !important;
}

body .category-tabs a.active,
body .category-tabs .active,
body .feed-menu > a.active,
body .feed-menu > a:first-child,
body .sort-tabs button.active,
body .sort-links a.active,
body .pagination a.active,
body .pagination span.active {
    background: #225FBD !important;
    border-color: #225FBD !important;
    color: #fff !important;
}

body .category-tabs a.active *,
body .category-tabs .active *,
body .feed-menu > a.active *,
body .feed-menu > a:first-child *,
body .sort-tabs button.active *,
body .sort-links a.active *,
body .pagination a.active *,
body .pagination span.active * {
    color: #fff !important;
    stroke: currentColor !important;
}

body .category-tabs a:not(.active),
body .feed-menu > a:not(.active):not(:first-child),
body .feed-menu summary,
body .sort-tabs button:not(.active),
body .sort-links a:not(.active),
body .pagination a:not(.active),
body .pagination span:not(.active) {
    background: #fff !important;
    border-color: #DDE8F2 !important;
    color: #172337 !important;
}

body .category-tabs a:not(.active) *,
body .feed-menu > a:not(.active):not(:first-child) *,
body .feed-menu summary *,
body .sort-tabs button:not(.active) *,
body .sort-links a:not(.active) *,
body .pagination a:not(.active) *,
body .pagination span:not(.active) * {
    color: #172337 !important;
    stroke: currentColor !important;
}

body .top-search button,
body .site-header .top-search button,
body .nav-prices,
body .header-main .main-nav a.nav-prices {
    background: #225FBD !important;
    background-image: none !important;
    border-color: #225FBD !important;
    color: #fff !important;
}

body .top-search button .ui-icon,
body .site-header .top-search button .ui-icon,
body .nav-prices .ui-icon,
body .header-main .main-nav a.nav-prices .ui-icon {
    background: transparent !important;
    border-color: transparent !important;
    color: #fff !important;
}

body .top-search button *,
body .site-header .top-search button *,
body .nav-prices *,
body .header-main .main-nav a.nav-prices * {
    color: #fff !important;
    stroke: currentColor !important;
}

body .price-panel a,
body article.product-card .price-panel a,
body .home-deal-grid article.product-card .price-panel a,
body .best-price > a,
body .offer-row > a,
body .sticky-product-cta a,
body .guide-table-cta,
body .compare-deal-button {
    align-items: center !important;
    background: #18A058 !important;
    background-image: none !important;
    border: 1px solid #18A058 !important;
    color: #fff !important;
    display: inline-flex !important;
    gap: 8px !important;
    justify-content: center !important;
    overflow: hidden !important;
    text-shadow: none !important;
}

body .price-panel a::after,
body article.product-card .price-panel a::after,
body .home-deal-grid article.product-card .price-panel a::after,
body .best-price > a::after,
body .offer-row > a::after,
body .sticky-product-cta a::after,
body .guide-table-cta::after,
body .compare-deal-button::after {
    color: #fff !important;
    content: "\2192" !important;
    display: inline-block !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    margin-left: 2px !important;
    opacity: 1 !important;
    transform: translateY(-1px) !important;
}

body .price-panel a *,
body article.product-card .price-panel a *,
body .home-deal-grid article.product-card .price-panel a *,
body .best-price > a *,
body .offer-row > a *,
body .sticky-product-cta a *,
body .guide-table-cta *,
body .compare-deal-button * {
    color: #fff !important;
    stroke: currentColor !important;
}

body .product-actions button,
body .product-action-bar button,
body .product-tools button,
body .meta-actions button,
body .nav-counter,
body .site-header .header-icon-button,
body .home-hero-actions .secondary-action {
    background: #fff !important;
    background-image: none !important;
    border: 1px solid #DDE8F2 !important;
    color: #172337 !important;
}

body .product-actions button *,
body .product-action-bar button *,
body .product-tools button *,
body .meta-actions button *,
body .nav-counter *,
body .site-header .header-icon-button *,
body .home-hero-actions .secondary-action * {
    color: #225FBD !important;
    stroke: currentColor !important;
}

body .product-actions button .ui-icon,
body .product-action-bar button .ui-icon,
body .product-tools button .ui-icon,
body .meta-actions button .ui-icon,
body .nav-counter .ui-icon,
body .site-header .header-icon-button .ui-icon,
body .home-hero-actions .secondary-action .ui-icon {
    background: #EEF5FF !important;
    border: 1px solid #DDE8F2 !important;
    color: #225FBD !important;
}

body .footer-trust span,
body .footer-trust > span,
body .feature-card {
    background: rgba(255, 255, 255, .08) !important;
    background-image: none !important;
    border-color: rgba(255, 255, 255, .18) !important;
}

body .footer-trust .ui-icon,
body .feature-card .ui-icon {
    background: rgba(255, 255, 255, .12) !important;
    border-color: rgba(255, 255, 255, .22) !important;
    color: #fff !important;
}

body .footer-trust .ui-icon *,
body .feature-card .ui-icon * {
    color: #fff !important;
    stroke: currentColor !important;
}

body .review-stars .stars,
body article.product-card .review-stars .stars,
body .score-line .stars,
body .rating-review-block .review-stars .stars,
body .stars {
    color: #FF7A1A !important;
}

/* Absolute final catalog alignment lock: keep listing pages on one x-axis. */
body .page-shell,
body .page-shell #catalog,
body .page-shell #catalog > .category-tabs,
body .page-shell #catalog > .listing-heading,
body .page-shell #catalog > .active-filters,
body .page-shell #catalog > .listing-layout,
body .page-shell #catalog > .product-listing-layout {
    box-sizing: border-box !important;
}

body .page-shell #catalog,
body .page-shell #catalog > .category-tabs,
body .page-shell #catalog > .listing-heading,
body .page-shell #catalog > .active-filters,
body .page-shell #catalog > .listing-layout,
body .page-shell #catalog > .product-listing-layout {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    width: 100% !important;
}

body .page-shell #catalog > .category-tabs,
body .page-shell #catalog > .listing-heading {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body .page-shell #catalog > .listing-layout,
body .page-shell #catalog > .product-listing-layout {
    align-items: start !important;
    display: grid !important;
    gap: 22px !important;
    grid-template-columns: 270px minmax(0, 1fr) !important;
}

body .page-shell #catalog .listing-results,
body .page-shell #catalog .results,
body .page-shell #catalog .products-grid {
    min-width: 0 !important;
    width: 100% !important;
}

body .page-shell #catalog .products-grid {
    align-items: stretch !important;
}

@media (max-width: 860px) {
    body .page-shell #catalog > .listing-layout,
    body .page-shell #catalog > .product-listing-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }

    body .page-shell #catalog > .category-tabs,
    body .page-shell #catalog > .listing-heading,
    body .page-shell #catalog > .active-filters {
        margin-bottom: 10px !important;
    }
}
/* EOF final offer row lock: product image, spacing and mobile readability. */
body .offer-row {
    align-items: center !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: minmax(260px, 1.4fr) minmax(150px, .7fr) minmax(132px, auto) !important;
}

body .offer-seller {
    align-items: center !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    min-width: 0 !important;
}

body .offer-seller img {
    aspect-ratio: 1 / 1 !important;
    background: #F7FAFC !important;
    border: 1px solid rgba(0, 59, 112, .10) !important;
    border-radius: 8px !important;
    height: 58px !important;
    object-fit: contain !important;
    padding: 6px !important;
    width: 58px !important;
}

body .offer-seller > div {
    min-width: 0 !important;
}

body .offer-seller strong,
body .offer-seller span {
    display: block !important;
}

body .offer-seller span,
body .offer-price small {
    color: #5D7085 !important;
    line-height: 1.35 !important;
}

@media (max-width: 760px) {
    body .offer-row {
        gap: 10px !important;
        grid-template-columns: 1fr auto !important;
        min-height: 0 !important;
        padding: 12px !important;
    }

    body .offer-seller {
        grid-column: 1 / -1 !important;
        grid-template-columns: 64px minmax(0, 1fr) !important;
    }

    body .offer-seller img {
        height: 64px !important;
        width: 64px !important;
    }

    body .offer-price {
        align-items: start !important;
        display: grid !important;
        justify-items: start !important;
        text-align: left !important;
    }

    body .offer-price strong {
        font-size: 22px !important;
        line-height: 1.1 !important;
    }

    body .offer-row > a {
        min-height: 44px !important;
        min-width: 132px !important;
        width: auto !important;
    }
}
/* Final true EOF override: mobile product images, text overflow and button contrast. */
body .price-history-card,
body .price-history,
body .product-price-history,
body [data-price-history] {
    display: none !important;
}

body .product-hero,
body .product-tools,
body .detail-layout,
body .related-products,
body .offers-table,
body .spec-card,
body .price-intelligence,
body article.product-card,
body .product-gallery-main,
body .product-media,
body .breadcrumbs,
body .category-tabs,
body .listing-heading,
body .compare-intro,
body .page-shell {
    border-color: rgba(16, 48, 79, .08) !important;
}

body article.product-card,
body .product-hero,
body .product-tools,
body .detail-layout,
body .related-products,
body .offers-table,
body .spec-card,
body .price-alert-card {
    box-shadow: 0 8px 22px rgba(16, 48, 79, .035) !important;
}

body .review-stars .stars,
body article.product-card .review-stars .stars,
body .rating-review-block .review-stars .stars {
    color: #ff7a1a !important;
    font-size: 21px !important;
    letter-spacing: 1px !important;
    line-height: 1 !important;
}

body article.product-card .price-panel a,
body .related-products article.product-card .price-panel a,
body .sticky-product-cta a,
body .best-price a,
body .mobile-image-buy-link,
body .offer-row > a {
    color: #fff !important;
}

body article.product-card .price-panel a *,
body .sticky-product-cta a *,
body .best-price a *,
body .mobile-image-buy-link *,
body .offer-row > a * {
    color: #fff !important;
    fill: none !important;
    stroke: currentColor !important;
}

@media (max-width: 760px) {
    html,
    body {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    body .page-shell,
    body .home-shell,
    body .product-hero,
    body .product-tools,
    body .detail-layout,
    body .related-products,
    body .offers-table,
    body .spec-card,
    body .price-intelligence {
        box-sizing: border-box !important;
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: calc(100% - 24px) !important;
        width: calc(100% - 24px) !important;
    }

    body .product-hero {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        overflow: hidden !important;
        padding: 12px !important;
    }

    body .product-media {
        padding: 10px !important;
        width: 100% !important;
    }

    body .product-gallery-main {
        background: #fff !important;
        min-height: 390px !important;
        overflow: hidden !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body .product-gallery-main img,
    body .product-media img {
        display: block !important;
        height: 390px !important;
        max-height: 390px !important;
        max-width: 100% !important;
        object-fit: contain !important;
        object-position: center !important;
        width: 100% !important;
    }

    body .mobile-image-buy-link {
        bottom: 16px !important;
        min-height: 48px !important;
        padding: 0 22px !important;
        right: 16px !important;
    }

    body .product-thumbs {
        display: grid !important;
        gap: 10px !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        width: 100% !important;
    }

    body .product-thumbs button {
        height: 78px !important;
        width: 100% !important;
    }

    body .product-thumbs img {
        height: 100% !important;
        object-fit: contain !important;
        width: 100% !important;
    }

    body .product-summary,
    body .product-summary *,
    body .detail-layout,
    body .detail-layout *,
    body .related-products,
    body .related-products * {
        min-width: 0 !important;
    }

    body .product-summary h1 {
        font-size: clamp(25px, 8vw, 34px) !important;
        line-height: 1.08 !important;
        overflow-wrap: anywhere !important;
    }

    body .product-summary p {
        overflow-wrap: anywhere !important;
    }

    body .breadcrumbs,
    body .product-summary .breadcrumbs,
    body .compare-intro .breadcrumbs {
        align-items: center !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        padding: 6px !important;
        scrollbar-width: none !important;
        white-space: nowrap !important;
        width: 100% !important;
    }

    body .breadcrumbs::-webkit-scrollbar,
    body .product-summary .breadcrumbs::-webkit-scrollbar,
    body .compare-intro .breadcrumbs::-webkit-scrollbar {
        display: none !important;
    }

    body .breadcrumbs a,
    body .breadcrumbs strong {
        flex: 0 0 auto !important;
        max-width: none !important;
    }

    body .product-action-bar {
        display: grid !important;
        gap: 8px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
    }

    body .product-action-bar button {
        min-width: 0 !important;
        width: 100% !important;
    }

    body .rating-card.rating-card-wide {
        grid-template-columns: 86px minmax(0, 1fr) !important;
        width: 100% !important;
    }

    body .rating-review-block .review-stars .stars,
    body .review-stars .stars,
    body article.product-card .review-stars .stars {
        font-size: 22px !important;
    }

    body .related-products .deal-grid {
        display: grid !important;
        gap: 14px !important;
        grid-template-columns: 1fr !important;
    }

    body .related-products article.product-card,
    body article.product-card {
        overflow: hidden !important;
    }

    body .related-products article.product-card .product-image,
    body article.product-card .product-image {
        min-height: 260px !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body .related-products article.product-card .product-image img,
    body article.product-card .product-image img {
        height: 260px !important;
        max-height: none !important;
        max-width: 100% !important;
        object-fit: contain !important;
        width: 100% !important;
    }

    body .offer-row {
        border-color: rgba(16, 48, 79, .06) !important;
        grid-template-columns: 1fr !important;
    }

    body .offer-row > a {
        justify-self: stretch !important;
        width: 100% !important;
    }
}
/* Final alignment lock: mobile product blocks use one column and one width. */
@media (max-width: 760px) {
    body .product-hero > *,
    body .product-summary,
    body .best-price,
    body .price-alert-card {
        box-sizing: border-box !important;
        max-width: 100% !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    body .best-price {
        display: grid !important;
        gap: 10px !important;
        margin: 0 !important;
        padding: 16px !important;
    }

    body .best-price > a {
        align-items: center !important;
        color: #fff !important;
        display: flex !important;
        justify-content: center !important;
        min-height: 52px !important;
        width: 100% !important;
    }

    body .best-price-benefits {
        display: grid !important;
        gap: 8px !important;
    }

    body .best-price-benefits span {
        align-items: center !important;
        display: flex !important;
        gap: 8px !important;
        min-width: 0 !important;
    }

    body .product-summary {
        padding: 14px !important;
    }

    body .product-summary h1 {
        font-size: clamp(24px, 7.4vw, 32px) !important;
        max-width: 100% !important;
    }

    body .product-action-bar {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body .product-action-bar button {
        align-items: center !important;
        display: flex !important;
        gap: 8px !important;
        justify-content: center !important;
        padding: 0 8px !important;
        white-space: nowrap !important;
    }

    body .product-action-bar button .ui-icon {
        flex: 0 0 34px !important;
        height: 34px !important;
        width: 34px !important;
    }

    body .rating-card.rating-card-wide {
        grid-template-columns: 82px minmax(0, 1fr) !important;
        padding: 10px !important;
    }

    body .rating-score-block strong {
        font-size: 34px !important;
    }

    body .rating-review-block {
        min-width: 0 !important;
    }

    body .rating-review-block .review-stars {
        align-items: flex-start !important;
        display: grid !important;
        gap: 4px !important;
    }

    body .breadcrumbs,
    body .product-summary .breadcrumbs {
        margin-bottom: 14px !important;
    }
}
/* Final product clipping lock: prevent mobile title/buttons from leaving the card. */
@media (max-width: 760px) {
    body .product-hero,
    body .product-summary,
    body .best-price,
    body .rating-card,
    body .rating-card.rating-card-wide {
        overflow: hidden !important;
    }

    body .product-summary,
    body .product-summary > *,
    body .product-summary h1,
    body .product-summary p,
    body .product-summary .eyebrow {
        box-sizing: border-box !important;
        max-width: 100% !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    body .product-summary h1 {
        display: block !important;
        font-size: clamp(23px, 7vw, 31px) !important;
        hyphens: auto !important;
        line-height: 1.08 !important;
        margin: 0 0 12px !important;
        overflow: hidden !important;
        overflow-wrap: anywhere !important;
        white-space: normal !important;
        word-break: break-word !important;
    }

    body .product-summary > p {
        display: -webkit-box !important;
        line-height: 1.45 !important;
        margin: 0 0 14px !important;
        max-height: 9.9em !important;
        overflow: hidden !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 7 !important;
    }

    body .product-action-bar {
        display: grid !important;
        gap: 8px !important;
        grid-template-columns: 1fr 1fr !important;
        overflow: hidden !important;
    }

    body .product-action-bar button {
        border-radius: 8px !important;
        box-sizing: border-box !important;
        display: grid !important;
        gap: 6px !important;
        grid-template-columns: 28px minmax(0, 1fr) !important;
        justify-items: start !important;
        min-height: 44px !important;
        min-width: 0 !important;
        overflow: hidden !important;
        padding: 0 10px !important;
        text-align: left !important;
        width: 100% !important;
    }

    body .product-action-bar button .ui-icon {
        border-radius: 6px !important;
        flex: none !important;
        height: 28px !important;
        width: 28px !important;
    }

    body .rating-card.rating-card-wide {
        align-items: center !important;
        grid-template-columns: 76px minmax(0, 1fr) !important;
        max-width: 100% !important;
    }

    body .rating-review-block .review-stars {
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    body .rating-review-block .review-stars .stars {
        display: block !important;
        font-size: 21px !important;
        max-width: 100% !important;
        overflow: hidden !important;
        white-space: nowrap !important;
    }

    body .rating-bar {
        max-width: 100% !important;
    }
}
/* Final price overlay: show price directly on product image. */
body .product-media {
    position: relative !important;
}

body .product-image-price {
    align-items: flex-start !important;
    background: rgba(255, 255, 255, .96) !important;
    border: 1px solid rgba(16, 48, 79, .10) !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 28px rgba(16, 48, 79, .14) !important;
    color: #0b2a48 !important;
    display: grid !important;
    gap: 2px !important;
    padding: 10px 13px !important;
    position: absolute !important;
    right: 20px !important;
    top: 20px !important;
    z-index: 5 !important;
}

body .product-image-price span {
    color: #607086 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
}

body .product-image-price strong {
    color: #09243f !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
}

@media (max-width: 760px) {
    body .product-image-price {
        left: auto !important;
        max-width: calc(100% - 36px) !important;
        padding: 9px 12px !important;
        right: 16px !important;
        top: 16px !important;
    }

    body .product-image-price span {
        font-size: 11px !important;
    }

    body .product-image-price strong {
        font-size: clamp(18px, 5vw, 23px) !important;
        white-space: nowrap !important;
    }

    body .product-media-badge {
        max-width: 46% !important;
    }
}
/* Final unified review block. */
body .rating-card.rating-card-unified,
body .rating-card.rating-card-wide.rating-card-unified {
    align-items: center !important;
    background: #fff !important;
    border: 1px solid rgba(16, 48, 79, .10) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: 76px minmax(0, 1fr) !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    padding: 14px !important;
    width: 100% !important;
}

body .rating-unified-score {
    align-items: center !important;
    color: #09243f !important;
    display: flex !important;
    font-size: 40px !important;
    font-weight: 900 !important;
    justify-content: center !important;
    line-height: 1 !important;
}

body .rating-unified-content {
    display: grid !important;
    gap: 6px !important;
    min-width: 0 !important;
}

body .rating-card-unified .review-stars {
    align-items: center !important;
    display: flex !important;
    gap: 8px !important;
    min-width: 0 !important;
}

body .rating-card-unified .review-stars .stars {
    color: #ff7a1a !important;
    flex: 0 0 auto !important;
    font-size: 24px !important;
    letter-spacing: 1px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

body .rating-card-unified .review-score,
body .rating-card-unified .review-count {
    display: none !important;
}

body .rating-unified-meta {
    color: #607086 !important;
    display: block !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

body .rating-card-unified .rating-bar {
    background: #e8eef4 !important;
    border-radius: 999px !important;
    height: 8px !important;
    margin: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    width: 100% !important;
}

body .rating-card-unified .rating-bar i {
    background: #2364c9 !important;
    border-radius: inherit !important;
    display: block !important;
    height: 100% !important;
}

@media (max-width: 760px) {
    body .rating-card.rating-card-unified,
    body .rating-card.rating-card-wide.rating-card-unified {
        gap: 12px !important;
        grid-template-columns: 72px minmax(0, 1fr) !important;
        padding: 12px !important;
    }

    body .rating-unified-score {
        font-size: 37px !important;
    }

    body .rating-card-unified .review-stars .stars {
        font-size: 22px !important;
    }

    body .rating-unified-meta {
        font-size: 14px !important;
    }
}
