:root {
    --primary-color: #0d47a1;
    --secondary-color: #ff9800;
    --primary-dark: #092f68;
    --accent-color: #0f766e;
    --surface-color: #ffffff;
    --dark-color: #172033;
    --light-color: #f5f8fc;
    --text-color: #333333;
    --white-color: #ffffff;
    --border-color: #e6eaf0;
    --muted-color: #6b7280;
    --shadow: 0 18px 45px rgba(23, 32, 51, .10);
    --shadow-soft: 0 14px 36px rgba(23, 32, 51, .08);
}

* {
    box-sizing: border-box;
}

html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

body {
    margin: 0;
    color: var(--text-color);
    font-family: "Segoe UI Variable", "Segoe UI", Roboto, Arial, sans-serif;
    font-size: .98rem;
    line-height: 1.6;
    background: var(--white-color);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

::selection {
    color: var(--white-color);
    background: var(--primary-color);
}

a {
    color: inherit;
    text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
.btn {
    overflow-wrap: break-word;
}

a:hover {
    color: var(--primary-color);
}

img {
    max-width: 100%;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    max-width: 100%;
    border-radius: 6px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.25;
    text-align: center;
    white-space: normal;
}

.btn i {
    flex: 0 0 auto;
}

.btn-primary {
    --bs-btn-bg: var(--primary-color);
    --bs-btn-border-color: var(--primary-color);
    --bs-btn-hover-bg: #0a3a83;
    --bs-btn-hover-border-color: #0a3a83;
}

.btn-outline-primary {
    --bs-btn-color: var(--primary-color);
    --bs-btn-border-color: var(--primary-color);
    --bs-btn-hover-bg: var(--primary-color);
    --bs-btn-hover-border-color: var(--primary-color);
}

.btn-warning,
.btn-secondary-accent {
    color: #111827;
    background: var(--secondary-color);
    border-color: var(--secondary-color);
}

.section-padding {
    padding: 84px 0;
}

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

.section-title {
    max-width: 780px;
    margin: 0 auto 40px;
    text-align: center;
}

.section-title .eyebrow {
    color: var(--secondary-color);
    font-weight: 800;
    text-transform: uppercase;
    font-size: .78rem;
    letter-spacing: 0;
}

.section-title h1,
.section-title h2 {
    color: var(--dark-color);
    font-weight: 900;
    line-height: 1.15;
    margin: 8px 0 12px;
}

.section-title p {
    color: var(--muted-color);
    margin: 0;
}

.top-info-bar {
    color: rgba(255, 255, 255, .9);
    background: var(--dark-color);
    padding: 5px 0;
    font-size: .84rem;
    font-weight: 600;
    letter-spacing: 0;
}

.top-info-bar a,
.top-info-bar span {
    color: rgba(255, 255, 255, .9);
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.top-info-bar i {
    color: var(--secondary-color);
}

.social-links {
    display: inline-flex;
    gap: 8px;
}

.social-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    color: var(--white-color);
    background: rgba(255, 255, 255, .12);
    border-radius: 50%;
    font-size: .82rem;
    transition: background-color .2s ease, transform .2s ease;
}

.social-links a:hover {
    color: var(--white-color);
    background: var(--secondary-color);
    transform: translateY(-1px);
}

.site-header {
    position: relative !important;
    z-index: 1030;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transition: box-shadow .25s ease, background-color .25s ease;
}

.site-header.is-fixed {
    position: fixed !important;
    top: 0 !important;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1045;
    animation: headerSettle .22s ease both;
}

.site-header-spacer {
    height: 0;
    flex: 0 0 auto;
}

@keyframes headerSettle {
    from {
        box-shadow: 0 4px 14px rgba(23, 32, 51, .06);
    }
    to {
        box-shadow: 0 14px 34px rgba(23, 32, 51, .14);
    }
}

.site-header.header-hidden,
.site-header.is-hidden,
.site-header.nav-hidden {
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.site-header .navbar {
    padding: 7px 0;
    transition: box-shadow .25s ease, background-color .25s ease;
}

.site-header.header-scrolled .navbar {
    background-color: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 14px 34px rgba(23, 32, 51, .14) !important;
    backdrop-filter: blur(12px);
}

.site-logo {
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.navbar-brand {
    padding-top: 0;
    padding-bottom: 0;
}

.navbar-brand .logo-mark {
    width: 42px;
    height: 42px;
    font-size: .95rem;
}

.logo-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 8px;
    color: var(--white-color);
    background: linear-gradient(135deg, var(--primary-color), #08346f);
    font-weight: 900;
    box-shadow: 0 10px 22px rgba(13, 71, 161, .24);
}

.brand-text {
    color: var(--dark-color);
    font-size: .98rem;
    font-weight: 900;
    letter-spacing: 0;
}

.navbar-nav .nav-link {
    color: var(--dark-color);
    position: relative;
    font-size: .91rem;
    font-weight: 700;
    line-height: 1.2;
    padding: .48rem .58rem;
    border-radius: 999px;
    transition: color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
    color: var(--primary-color);
    background: rgba(13, 71, 161, .06);
}

.navbar-nav .nav-link.active,
.navbar-nav .show > .nav-link {
    color: var(--primary-color);
    background: rgba(13, 71, 161, .09);
    box-shadow: inset 0 0 0 1px rgba(13, 71, 161, .12);
}

@media (min-width: 992px) {
    .navbar-nav .nav-link.active::after,
    .navbar-nav .show > .nav-link::after {
        content: "";
        position: absolute;
        right: 14px;
        bottom: 3px;
        left: 14px;
        height: 2px;
        border-radius: 999px;
        background: var(--secondary-color);
    }
}

.dropdown-item {
    font-size: .9rem;
    font-weight: 600;
    border-radius: 6px;
    transition: color .18s ease, background-color .18s ease;
}

.dropdown-item.active,
.dropdown-item:active {
    color: var(--primary-color);
    background: rgba(13, 71, 161, .09);
}

.icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid var(--border-color);
    background: var(--white-color);
}

.header-mobile-actions .icon-btn {
    color: var(--primary-color);
    border-radius: 6px;
}

.header-product-search-toggle.is-active {
    color: var(--white-color);
    border-color: var(--primary-color);
    background: var(--primary-color);
}

.site-header .btn-primary {
    padding: .48rem .82rem;
}

.hero-slider .carousel-item {
    min-height: 620px;
    background: linear-gradient(110deg, rgba(13, 71, 161, .96), rgba(23, 32, 51, .86)), var(--hero-image, url("../images/placeholders/banner.svg")) center/cover no-repeat;
}

.hero-slider .carousel-item.branded-banner-slide {
    min-height: 0 !important;
    background: var(--white-color) !important;
    overflow: hidden;
}

.hero-banner-image {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}

.hero-slider picture {
    display: block;
    width: 100%;
    height: 100%;
}

.hero-slider .carousel-indicators [data-bs-target] {
    width: 28px;
    height: 4px;
    border: 0;
    border-radius: 999px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .22);
}

.hero-content {
    min-height: 620px;
    display: flex;
    align-items: center;
    color: var(--white-color);
}

.hero-content h1 {
    max-width: 760px;
    font-size: 4.55rem;
    line-height: 1.05;
    font-weight: 900;
    margin-bottom: 20px;
}

.hero-content p {
    max-width: 650px;
    color: rgba(255, 255, 255, .88);
    font-size: 1.15rem;
    margin-bottom: 28px;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    max-width: 100%;
}

.intro-card,
.office-card,
.cta-band,
.promo-band {
    border-radius: 8px;
    box-shadow: var(--shadow);
    overflow: hidden;
}

.intro-card {
    background: var(--white-color);
    border: 1px solid var(--border-color);
}

.intro-section {
    background:
        linear-gradient(180deg, rgba(245, 248, 252, 0) 0%, rgba(245, 248, 252, .72) 100%);
    padding-top: 68px;
}

.intro-media,
.office-media {
    position: relative;
    min-height: 360px;
    background: var(--light-color) center/cover no-repeat;
}

.intro-media {
    min-height: 430px;
}

.intro-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(9, 47, 104, .03), rgba(9, 47, 104, .34));
}

.intro-media-panel {
    position: absolute;
    left: 22px;
    bottom: 22px;
    z-index: 1;
    width: min(250px, calc(100% - 44px));
    padding: 18px;
    color: var(--white-color);
    background: rgba(9, 47, 104, .86);
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 8px;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .22);
    backdrop-filter: blur(8px);
}

.intro-media-panel span,
.intro-media-panel small {
    display: block;
    color: rgba(255, 255, 255, .82);
    font-weight: 800;
}

.intro-media-panel span {
    font-size: .78rem;
    text-transform: uppercase;
}

.intro-media-panel strong {
    display: block;
    font-size: 2.6rem;
    line-height: 1;
    margin: 4px 0 8px;
}

.intro-content {
    padding: 46px 52px;
    background: var(--white-color);
}

.intro-proof-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 24px 0 8px;
}

.intro-proof-grid div {
    min-height: 100px;
    padding: 16px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: #fbfdff;
}

.intro-proof-grid strong,
.intro-proof-grid span {
    display: block;
}

.intro-proof-grid strong {
    color: var(--primary-color);
    font-size: 1.2rem;
    font-weight: 900;
    line-height: 1.1;
}

.intro-proof-grid span {
    margin-top: 8px;
    color: var(--muted-color);
    font-size: .9rem;
    font-weight: 700;
    line-height: 1.35;
}

.founder-section {
    padding-top: 0;
}

.founder-card {
    display: grid;
    grid-template-columns: minmax(320px, 42%) minmax(0, 1fr);
    align-items: stretch;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: var(--white-color);
    box-shadow: var(--shadow);
    overflow: hidden;
}

.founder-card-compact {
    grid-template-columns: minmax(280px, 36%) minmax(0, 1fr);
}

.founder-image {
    position: relative;
    min-height: 430px;
    background: var(--light-color);
    overflow: hidden;
}

.founder-card-compact .founder-image {
    min-height: 360px;
}

.founder-image::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 46%;
    background: linear-gradient(transparent, rgba(9, 47, 104, .32));
    pointer-events: none;
}

.founder-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.founder-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 48px 52px;
}

.founder-content h2 {
    color: var(--dark-color);
    font-size: clamp(1.85rem, 3vw, 2.7rem);
    font-weight: 900;
    line-height: 1.1;
    margin: 8px 0 8px;
}

.founder-role {
    color: var(--primary-color);
    font-weight: 850;
    margin-bottom: 18px;
}

.founder-content blockquote {
    position: relative;
    margin: 0 0 18px;
    padding: 20px 22px;
    color: #111827;
    background: #f8fbff;
    border-left: 4px solid var(--secondary-color);
    border-radius: 8px;
    font-size: 1.08rem;
    font-weight: 750;
    line-height: 1.55;
}

.founder-points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 22px;
}

.founder-points span {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 58px;
    padding: 12px;
    color: #111827;
    background: var(--white-color);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-weight: 800;
    line-height: 1.25;
}

.founder-points i {
    color: var(--secondary-color);
    flex: 0 0 auto;
}

.highlight-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 24px 0;
}

.highlight-list span,
.feature-card,
.stat-card,
.brand-card,
.category-card,
.testimonial-card,
.contact-info-card {
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: var(--white-color);
    box-shadow: var(--shadow-soft);
}

.highlight-list span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 16px;
    font-weight: 700;
}

.highlight-list i {
    color: var(--secondary-color);
}

.brand-card,
.category-card,
.testimonial-card,
.contact-info-card {
    height: 100%;
    padding: 22px;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.brand-card:hover,
.category-card:hover,
.feature-card:hover,
.testimonial-card:hover,
.product-card:hover {
    border-color: rgba(13, 71, 161, .28);
    transform: translateY(-4px);
    box-shadow: var(--shadow);
}

.brand-logo-wrap,
.client-logo,
.category-image {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--light-color);
    border-radius: 8px;
    overflow: hidden;
}

.brand-logo-wrap {
    width: 82px;
    height: 82px;
    margin-bottom: 18px;
}

.brand-logo-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 12px;
}

.category-image {
    aspect-ratio: 16 / 10;
    margin: -22px -22px 20px;
}

.category-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.category-image img[src*="images/cartridges/hero-cartridge"] {
    padding: 10px 20px;
    object-fit: contain;
    background: #edf4ff;
}

.category-card h3,
.brand-card h3,
.product-card h3,
.feature-card h3 {
    color: var(--dark-color);
    font-size: 1.15rem;
    font-weight: 850;
}

.product-card {
    position: relative;
    height: 100%;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    overflow: hidden;
    background: var(--white-color);
    box-shadow: 0 12px 30px rgba(23, 32, 51, .06);
    transition: transform .2s ease, box-shadow .2s ease;
}

.product-card-list {
    display: grid;
    grid-template-columns: minmax(220px, 32%) 1fr;
}

.product-image {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    background: var(--light-color);
}

.product-card-list .product-image {
    aspect-ratio: auto;
    min-height: 100%;
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.stock-pill {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 5px 10px;
    color: #065f46;
    background: #d1fae5;
    border-radius: 999px;
    font-size: .76rem;
    font-weight: 800;
}

.product-body {
    padding: 20px;
}

.product-meta {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    color: var(--muted-color);
    font-size: .82rem;
    font-weight: 800;
    text-transform: uppercase;
}

.product-card h3 {
    margin-top: 8px;
    margin-bottom: 8px;
}

.product-card p {
    color: var(--muted-color);
    min-height: 52px;
}

.sku {
    color: var(--dark-color);
    font-size: .88rem;
    font-weight: 800;
    margin-bottom: 14px;
}

.price {
    color: var(--primary-color);
    font-size: 1.15rem;
    font-weight: 900;
    margin-bottom: 14px;
}

.product-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.promo-band {
    color: var(--white-color);
    background: linear-gradient(100deg, var(--dark-color), var(--primary-color));
    padding: 46px;
}

.promo-band p,
.cta-band p {
    color: rgba(255, 255, 255, .84);
}

.feature-card {
    height: 100%;
    padding: 24px;
}

.feature-icon,
.stat-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 8px;
    color: var(--primary-color);
    background: rgba(13, 71, 161, .10);
    font-size: 1.4rem;
    margin-bottom: 16px;
}

.office-card {
    background: var(--white-color);
    border: 1px solid var(--border-color);
}

.office-location-block + .office-location-block {
    margin-top: 32px;
}

.office-location-block .map-frame {
    min-height: 280px;
    border-right: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    border-left: 1px solid var(--border-color);
}

.office-content {
    padding: 34px;
}

.office-preview-image {
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.map-frame {
    width: 100%;
    min-height: 320px;
    border: 0;
    background: var(--light-color);
}

.stat-card {
    padding: 28px;
    text-align: center;
}

.stat-card strong {
    display: block;
    color: var(--dark-color);
    font-size: 2rem;
    line-height: 1;
}

.cta-band {
    color: var(--white-color);
    background: linear-gradient(120deg, var(--primary-color), #00695c);
    padding: 54px;
}

.testimonial-card {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.testimonial-person {
    display: flex;
    align-items: center;
    gap: 12px;
}

.testimonial-person img {
    width: 58px;
    height: 58px;
    object-fit: cover;
    border-radius: 50%;
}

.rating {
    color: #f59e0b;
}

.client-strip {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 16px;
}

.client-strip > .empty-state {
    grid-column: 1 / -1;
}

.client-logo {
    min-height: 96px;
    padding: 18px;
}

.page-hero {
    color: var(--white-color);
    background: linear-gradient(110deg, rgba(9, 47, 104, .96), rgba(23, 32, 51, .92)), url("../images/placeholders/banner.svg") center/cover;
    padding: 72px 0 76px;
}

.about-hero {
    position: relative;
    padding: 76px 0 102px;
    overflow: hidden;
}

.about-hero::after {
    content: "";
    position: absolute;
    inset: 0 0 0 auto;
    width: min(44vw, 720px);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, 0)),
        radial-gradient(circle at 70% 28%, rgba(255, 152, 0, .12), transparent 36%);
    pointer-events: none;
}

.about-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(290px, 380px);
    align-items: end;
    gap: 34px;
}

.about-hero .lead {
    max-width: 780px;
}

.about-hero-panel {
    padding: 22px;
    background: rgba(255, 255, 255, .10);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 8px;
    box-shadow: 0 20px 54px rgba(0, 0, 0, .18);
    backdrop-filter: blur(10px);
}

.about-hero-panel > span {
    display: block;
    margin-bottom: 14px;
    color: rgba(255, 255, 255, .72);
    font-size: .78rem;
    font-weight: 850;
    text-transform: uppercase;
}

.about-hero-facts {
    display: grid;
    gap: 12px;
}

.about-hero-facts div {
    display: grid;
    grid-template-columns: minmax(100px, auto) 1fr;
    align-items: baseline;
    gap: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.about-hero-facts div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.about-hero-facts strong {
    color: var(--white-color);
    font-size: 1.18rem;
    font-weight: 900;
    line-height: 1.15;
}

.about-hero-facts small {
    color: rgba(255, 255, 255, .76);
    font-weight: 750;
}

.page-hero h1 {
    max-width: 780px;
    font-size: 2.7rem;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: 0;
}

.page-hero .lead {
    max-width: 980px;
    font-size: 1.05rem;
    line-height: 1.55;
}

.breadcrumb-nav {
    color: rgba(255, 255, 255, .82);
    margin-bottom: 10px;
    font-size: .95rem;
    font-weight: 500;
}

.page-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    margin-bottom: 14px;
    padding: 7px 12px;
    color: rgba(255, 255, 255, .92);
    background: rgba(255, 255, 255, .10);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.filter-panel,
.content-panel {
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: var(--white-color);
    box-shadow: var(--shadow-soft);
    padding: 22px;
}

.product-filter-panel {
    scroll-margin-top: 84px;
}

.product-filter-heading {
    padding-bottom: 16px;
    margin-bottom: 18px;
    color: var(--dark-color);
    border-bottom: 1px solid var(--border-color);
}

.product-filter-heading strong {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.about-overview-section {
    padding-top: 0;
    background: linear-gradient(180deg, #ffffff 0%, #f5f8fc 100%);
}

.about-intro-card {
    position: relative;
    z-index: 2;
    margin-top: -54px;
}

.about-intro-card .intro-media {
    min-height: 390px;
}

.about-intro-card .intro-content {
    padding: 44px 52px;
}

.about-story-row {
    margin-top: 2px;
}

.about-story-panel {
    padding: 34px;
}

.about-story-panel p {
    color: var(--muted-color);
    font-size: 1.02rem;
}

.about-story-panel h2 {
    color: var(--dark-color);
    margin-top: 26px;
    margin-bottom: 10px;
    font-size: 1.28rem;
    font-weight: 900;
}

.about-story-panel h2:first-of-type {
    margin-top: 18px;
}

.about-side-panel,
.about-contact-panel {
    padding: 26px;
}

.about-side-panel h2,
.about-contact-panel h2 {
    color: var(--dark-color);
    margin-bottom: 16px;
}

.about-contact-panel {
    background:
        linear-gradient(180deg, rgba(13, 71, 161, .05), rgba(255, 255, 255, 1));
}

.about-office-item {
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--border-color);
}

.about-office-item h3 {
    margin-bottom: 6px;
    color: var(--dark-color);
    font-size: 1rem;
    font-weight: 800;
}

.about-office-item p {
    margin-bottom: 8px;
    color: var(--muted-color);
}

.about-office-item a {
    font-size: .9rem;
    font-weight: 700;
}

.office-address-preview {
    display: grid;
    gap: 4px;
    text-align: left;
}

.office-address-preview + .office-address-preview {
    padding-top: 14px;
    margin-top: 14px;
    border-top: 1px solid var(--border-color);
}

.office-address-preview span {
    color: var(--muted-color);
}

.gallery-card {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    cursor: pointer;
    background: var(--light-color);
}

.gallery-card img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: transform .25s ease;
}

.gallery-card:hover img {
    transform: scale(1.05);
}

.gallery-caption {
    position: absolute;
    inset: auto 0 0;
    color: var(--white-color);
    background: linear-gradient(transparent, rgba(0, 0, 0, .75));
    padding: 44px 16px 16px;
}

.contact-info-card i {
    color: var(--secondary-color);
    font-size: 1.55rem;
}

.form-control,
.form-select {
    border-color: var(--border-color);
    border-radius: 6px;
    min-height: 46px;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 .2rem rgba(13, 71, 161, .12);
}

.floating-whatsapp {
    position: fixed;
    right: 28px;
    bottom: 92px;
    z-index: 1040;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 154px;
    height: 56px;
    padding: 0 20px 0 14px;
    color: var(--white-color);
    background: linear-gradient(135deg, #22c55e, #128c4a);
    border: 2px solid rgba(255, 255, 255, .72);
    border-radius: 999px;
    box-shadow: 0 18px 42px rgba(18, 140, 74, .34), 0 8px 18px rgba(23, 32, 51, .16);
    font-size: 1rem;
    font-weight: 850;
    line-height: 1;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.floating-whatsapp i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    color: #128c4a;
    background: var(--white-color);
    border-radius: 50%;
    font-size: 1.25rem;
}

.floating-whatsapp span {
    white-space: nowrap;
}

.floating-whatsapp:hover {
    color: var(--white-color);
    background: linear-gradient(135deg, #27d869, #0f7e42);
    box-shadow: 0 22px 48px rgba(18, 140, 74, .42), 0 10px 22px rgba(23, 32, 51, .18);
    transform: translateY(-4px);
}

.site-footer {
    color: rgba(255, 255, 255, .82);
    background: var(--dark-color);
    padding: 64px 0 0;
}

.site-footer h3 {
    color: var(--white-color);
    font-size: 1rem;
    font-weight: 850;
    margin-bottom: 18px;
}

.site-footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.site-footer li {
    margin-bottom: 10px;
}

.footer-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--white-color);
    font-size: 1.15rem;
    font-weight: 900;
    margin-bottom: 18px;
}

.footer-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    padding: 5px;
    flex: 0 0 54px;
    background: var(--white-color);
    border-radius: 8px;
}

.footer-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.footer-since {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    color: rgba(255, 255, 255, .92);
    background: rgba(255, 255, 255, .08);
    border-radius: 999px;
    font-size: .9rem;
    font-weight: 800;
}

.footer-since i {
    color: var(--secondary-color);
}

.footer-founder {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: rgba(255, 255, 255, .86);
    font-size: .92rem;
    font-weight: 800;
}

.footer-founder i {
    color: var(--secondary-color);
}

.footer-contact li {
    display: flex;
    gap: 10px;
}

.footer-contact i {
    color: var(--secondary-color);
    margin-top: 5px;
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
    border-top: 1px solid rgba(255, 255, 255, .12);
    margin-top: 44px;
    padding: 22px 0;
    font-size: .9rem;
}

.footer-bottom a,
.footer-bottom small {
    margin-left: 14px;
}

.empty-state {
    padding: 42px 24px;
    color: var(--muted-color);
    text-align: center;
    border: 1px dashed var(--border-color);
    border-radius: 8px;
    background: var(--white-color);
}

.ajax-search-results a {
    display: block;
    padding: 12px 14px;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    margin-bottom: 8px;
}

.zoom-main {
    cursor: zoom-in;
}

.spec-table td:first-child {
    width: 34%;
    font-weight: 800;
    color: var(--dark-color);
}

.list-check {
    padding-left: 0;
    list-style: none;
}

.list-check li {
    margin-bottom: 10px;
}

.list-check i {
    color: var(--secondary-color);
}

/* Premium interaction layer */
html {
    scroll-behavior: smooth;
    scroll-padding-top: 92px;
}

body {
    background:
        radial-gradient(circle at 8% 16%, rgba(13, 71, 161, .035), transparent 28%),
        var(--white-color);
}

:focus-visible {
    outline: 3px solid rgba(255, 152, 0, .72);
    outline-offset: 3px;
}

.page-progress {
    position: fixed;
    inset: 0 0 auto;
    z-index: 1100;
    height: 3px;
    pointer-events: none;
}

.page-progress span {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, var(--secondary-color), #ffd166, var(--primary-color));
    box-shadow: 0 0 14px rgba(255, 152, 0, .45);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .08s linear;
}

.nav-dropdown-group {
    display: flex;
    align-items: center;
}

.nav-dropdown-group > .nav-link:first-child {
    padding-right: .35rem;
    border-radius: 999px 0 0 999px;
}

.nav-dropdown-group .dropdown-toggle-split {
    width: 30px;
    min-width: 30px;
    padding-right: .42rem;
    padding-left: .25rem;
    border: 0;
    border-radius: 0 999px 999px 0;
    background: transparent;
}

.nav-dropdown-group:has(.active) .dropdown-toggle-split {
    color: var(--primary-color);
    background: rgba(13, 71, 161, .09);
}

.navbar-nav .dropdown-menu {
    min-width: 260px;
    padding: 10px;
    border: 1px solid rgba(13, 71, 161, .12);
    border-radius: 14px;
    box-shadow: 0 24px 60px rgba(23, 32, 51, .16);
}

.navbar-nav .dropdown-menu.show {
    animation: menuReveal .22s cubic-bezier(.22, 1, .36, 1) both;
}

@keyframes menuReveal {
    from { opacity: 0; transform: translateY(8px) scale(.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.section-soft {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .82), rgba(245, 248, 252, .92)),
        var(--light-color);
}

.btn {
    position: relative;
    overflow: hidden;
    min-height: 42px;
    border-radius: 10px;
    transition: transform .2s ease, box-shadow .2s ease, color .2s ease, background-color .2s ease, border-color .2s ease;
}

.btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(23, 32, 51, .14);
}

.btn:active {
    transform: translateY(0);
}

.intro-card,
.founder-card,
.office-card,
.cta-band,
.promo-band,
.filter-panel,
.content-panel,
.brand-card,
.category-card,
.product-card,
.feature-card,
.stat-card,
.testimonial-card,
.contact-info-card,
.gallery-card {
    border-radius: 18px;
}

.brand-card,
.category-card,
.product-card,
.feature-card,
.stat-card,
.testimonial-card,
.contact-info-card,
.gallery-card {
    isolation: isolate;
}

.brand-card::before,
.category-card::before,
.product-card::before,
.feature-card::before,
.stat-card::before,
.testimonial-card::before,
.contact-info-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(255, 255, 255, .82), rgba(13, 71, 161, .025));
    opacity: 0;
    transition: opacity .25s ease;
}

.brand-card,
.category-card,
.feature-card,
.stat-card,
.testimonial-card,
.contact-info-card {
    position: relative;
}

.brand-card:hover::before,
.category-card:hover::before,
.product-card:hover::before,
.feature-card:hover::before,
.stat-card:hover::before,
.testimonial-card:hover::before,
.contact-info-card:hover::before {
    opacity: 1;
}

.hero-slider .carousel-item.active .hero-banner-image {
    animation: heroBreathe 9s ease-out both;
}

@keyframes heroBreathe {
    from { transform: scale(1.025); filter: saturate(.94); }
    to { transform: scale(1); filter: saturate(1.03); }
}

.page-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.page-hero::before {
    content: "";
    position: absolute;
    z-index: -1;
    width: min(520px, 58vw);
    aspect-ratio: 1;
    top: -72%;
    right: -8%;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 50%;
    box-shadow: 0 0 0 48px rgba(255, 255, 255, .035), 0 0 0 96px rgba(255, 255, 255, .025);
}

.map-frame {
    border-radius: 18px;
    box-shadow: var(--shadow-soft);
}

.gallery-card:focus-visible {
    box-shadow: 0 0 0 4px rgba(255, 152, 0, .28), var(--shadow);
}

[data-product-thumb] {
    border: 2px solid transparent !important;
    border-radius: 10px;
    transition: border-color .2s ease, transform .2s ease;
}

[data-product-thumb]:hover,
[data-product-thumb].is-active {
    border-color: var(--secondary-color) !important;
    transform: translateY(-2px);
}

/* Category catalogue */
.category-catalogue-page {
    background: #f4f8fc;
}

.catalogue-category-hero {
    position: relative;
    padding: 34px 0 0;
    background: #f4f8fc;
}

.catalogue-breadcrumb {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 18px;
    color: #718096;
    font-size: .84rem;
    font-weight: 700;
}

.catalogue-breadcrumb a:hover {
    color: var(--primary-color);
}

.catalogue-breadcrumb i {
    color: #a8b3c2;
    font-size: .66rem;
}

.catalogue-cover {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr);
    align-items: center;
    min-height: 430px;
    overflow: hidden;
    color: #083b66;
    background:
        radial-gradient(circle at 74% 35%, rgba(255, 255, 255, .82), transparent 22%),
        linear-gradient(120deg, #d9f2f3 0%, #b8e2e4 58%, #a7d7da 100%);
    border: 1px solid rgba(21, 130, 151, .14);
    border-radius: 28px;
    box-shadow: 0 24px 70px rgba(23, 75, 103, .14);
}

.catalogue-cover::after {
    content: "";
    position: absolute;
    z-index: -1;
    right: -12%;
    bottom: -78%;
    width: 66%;
    aspect-ratio: 1;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 50%;
    box-shadow: 0 0 0 50px rgba(255, 255, 255, .12), 0 0 0 100px rgba(255, 255, 255, .08);
}

.catalogue-cover-content {
    position: relative;
    z-index: 2;
    padding: 60px;
}

.catalogue-cover-label {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    margin-bottom: 20px;
    padding: 8px 18px;
    color: #fff;
    background: #0795c5;
    border-radius: 8px 22px 22px 8px;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.catalogue-cover h1 {
    max-width: 680px;
    margin: 0 0 16px;
    color: #073d65;
    font-size: clamp(2.65rem, 5vw, 4.8rem);
    font-weight: 950;
    letter-spacing: -.045em;
    line-height: .98;
    text-transform: uppercase;
}

.catalogue-cover-content > p {
    max-width: 640px;
    margin: 0;
    color: #35687a;
    font-size: 1.04rem;
    font-weight: 600;
    line-height: 1.65;
}

.catalogue-cover-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
    margin-top: 28px;
    color: #15536a;
    font-size: .86rem;
    font-weight: 800;
}

.catalogue-cover-meta span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.catalogue-cover-meta strong {
    color: #007ba4;
    font-size: 1.22rem;
    font-weight: 950;
}

.catalogue-cover-meta i {
    color: #06995e;
}

.catalogue-cover-art {
    position: relative;
    align-self: stretch;
    min-height: 400px;
}

.catalogue-art-card {
    position: absolute;
    z-index: 2;
    top: 50%;
    right: 10%;
    width: min(420px, 80%);
    aspect-ratio: 1.18 / 1;
    overflow: hidden;
    background: rgba(255, 255, 255, .72);
    border: 1px solid rgba(255, 255, 255, .9);
    border-radius: 32px;
    box-shadow: 0 30px 55px rgba(15, 74, 91, .2);
    transform: translateY(-50%) rotate(-3deg);
}

.catalogue-art-card::after {
    content: "";
    position: absolute;
    inset: auto 8% 7%;
    height: 14px;
    background: rgba(15, 56, 67, .14);
    border-radius: 50%;
    filter: blur(10px);
}

.catalogue-art-card img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 22px;
}

.catalogue-art-orbit {
    position: absolute;
    display: block;
    border-radius: 50%;
}

.catalogue-art-orbit-one {
    top: 11%;
    left: 6%;
    width: 84px;
    height: 84px;
    background: rgba(255, 255, 255, .5);
}

.catalogue-art-orbit-two {
    right: 5%;
    bottom: 9%;
    width: 44px;
    height: 44px;
    background: rgba(4, 148, 194, .18);
}

.catalogue-products-section {
    padding: 78px 0 90px;
    background: #f4f8fc;
}

.catalogue-section-heading {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(320px, .7fr);
    align-items: end;
    gap: 42px;
    margin-bottom: 30px;
}

.catalogue-section-heading > div > span,
.catalogue-related > div > span {
    color: #008eb7;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.catalogue-section-heading h2,
.catalogue-related h2 {
    margin: 7px 0 0;
    color: #102a43;
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 950;
    letter-spacing: -.035em;
    line-height: 1.08;
}

.catalogue-section-heading > p {
    margin: 0;
    color: #66788a;
    font-size: .98rem;
    line-height: 1.7;
}

.catalogue-subcategories {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 26px;
    padding: 15px;
    overflow-x: auto;
    background: #fff;
    border: 1px solid #e1eaf2;
    border-radius: 16px;
    box-shadow: 0 8px 26px rgba(23, 56, 82, .06);
}

.catalogue-subcategories-label {
    flex: 0 0 auto;
    padding: 0 8px;
    color: #52667a;
    font-size: .79rem;
    font-weight: 900;
    text-transform: uppercase;
}

.catalogue-subcategories a {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 8px 14px;
    color: #14506d;
    background: #e8f6f9;
    border-radius: 10px;
    font-size: .85rem;
    font-weight: 800;
    transition: color .2s ease, background-color .2s ease, transform .2s ease;
}

.catalogue-subcategories a:hover {
    color: #fff;
    background: #078db6;
    transform: translateY(-1px);
}

.catalogue-product-list {
    display: grid;
    gap: 14px;
}

.catalogue-product-row {
    --catalogue-row-bg: #d6eef2;
    --catalogue-row-accent: #058bad;
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
    min-height: 330px;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(31, 74, 103, .1);
    border-radius: 22px;
    box-shadow: 0 14px 40px rgba(31, 67, 92, .08);
}

.catalogue-product-row:nth-child(6n + 2) {
    --catalogue-row-bg: #f4d5d4;
    --catalogue-row-accent: #c56464;
}

.catalogue-product-row:nth-child(6n + 3) {
    --catalogue-row-bg: #d7e8e9;
    --catalogue-row-accent: #4b9297;
}

.catalogue-product-row:nth-child(6n + 4) {
    --catalogue-row-bg: #d8def3;
    --catalogue-row-accent: #6378b9;
}

.catalogue-product-row:nth-child(6n + 5) {
    --catalogue-row-bg: #eadceb;
    --catalogue-row-accent: #95689a;
}

.catalogue-product-row:nth-child(6n + 6) {
    --catalogue-row-bg: #d3e2df;
    --catalogue-row-accent: #4c847b;
}

.catalogue-product-media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 330px;
    overflow: hidden;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .4), transparent 55%),
        var(--catalogue-row-bg);
}

.catalogue-product-media::before {
    content: "";
    position: absolute;
    right: -12%;
    bottom: -50%;
    width: 75%;
    aspect-ratio: 1;
    background: rgba(255, 255, 255, .26);
    border-radius: 50%;
}

.catalogue-product-media img {
    position: relative;
    z-index: 1;
    width: 88%;
    height: 270px;
    object-fit: contain;
    filter: drop-shadow(0 20px 14px rgba(32, 48, 55, .18));
    transition: transform .35s ease;
}

.catalogue-product-media:hover img {
    transform: scale(1.035) translateY(-3px);
}

.catalogue-product-number {
    position: absolute;
    z-index: 2;
    top: 20px;
    left: 22px;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    color: var(--catalogue-row-accent);
    background: rgba(255, 255, 255, .8);
    border-radius: 50%;
    font-size: .75rem;
    font-weight: 950;
}

.catalogue-product-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 38px 42px;
}

.catalogue-product-row.is-reversed .catalogue-product-media {
    order: 2;
}

.catalogue-product-row.is-reversed .catalogue-product-info {
    order: 1;
}

.catalogue-product-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 8px;
}

.catalogue-product-code {
    color: var(--catalogue-row-accent);
    font-size: .82rem;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.catalogue-stock {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #168254;
    font-size: .73rem;
    font-weight: 850;
}

.catalogue-stock i {
    font-size: .45rem;
}

.catalogue-stock.is-out {
    color: #be4747;
}

.catalogue-product-info h2 {
    margin: 0 0 13px;
    color: #102f43;
    font-size: clamp(1.75rem, 2.6vw, 2.7rem);
    font-weight: 950;
    letter-spacing: -.035em;
    line-height: 1.04;
}

.catalogue-product-info h2 a:hover {
    color: var(--catalogue-row-accent);
}

.catalogue-product-detail > span {
    display: block;
    margin-bottom: 2px;
    color: var(--catalogue-row-accent);
    font-size: .86rem;
    font-weight: 900;
}

.catalogue-product-detail p {
    display: -webkit-box;
    max-width: 610px;
    margin: 0;
    overflow: hidden;
    color: #576b7c;
    font-size: .88rem;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.catalogue-product-stats {
    display: flex;
    align-items: stretch;
    gap: 0;
    margin-top: 19px;
}

.catalogue-product-stats > div {
    min-width: 125px;
    padding-right: 24px;
}

.catalogue-product-stats > div + div {
    padding-left: 24px;
    border-left: 1px solid #dce4ea;
}

.catalogue-product-stats strong,
.catalogue-product-stats span {
    display: block;
}

.catalogue-product-stats strong {
    color: var(--catalogue-row-accent);
    font-size: 1.42rem;
    font-weight: 950;
    line-height: 1.1;
}

.catalogue-product-stats span {
    margin-top: 2px;
    color: #263b49;
    font-size: .75rem;
    font-weight: 850;
    text-transform: uppercase;
}

.catalogue-product-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 24px;
}

.catalogue-product-actions .btn {
    min-height: 42px;
    padding: 8px 15px;
    font-size: .82rem;
}

.catalogue-product-actions .btn-primary {
    background: var(--catalogue-row-accent);
    border-color: var(--catalogue-row-accent);
}

.catalogue-product-actions .btn-light {
    color: #365064;
    background: #f3f6f8;
    border-color: #e1e7ec;
}

.catalogue-empty-state {
    padding: 64px 28px;
    text-align: center;
    background: #fff;
    border: 1px solid #e0e9f0;
    border-radius: 22px;
    box-shadow: 0 14px 40px rgba(31, 67, 92, .07);
}

.catalogue-empty-state > span {
    display: grid;
    place-items: center;
    width: 70px;
    height: 70px;
    margin: 0 auto 18px;
    color: #078db6;
    background: #e5f5f8;
    border-radius: 50%;
    font-size: 1.7rem;
}

.catalogue-empty-state h2 {
    color: #17324a;
    font-weight: 900;
}

.catalogue-empty-state p {
    max-width: 600px;
    margin: 0 auto 22px;
    color: #66788a;
}

.catalogue-related {
    display: grid;
    grid-template-columns: minmax(250px, .7fr) minmax(0, 1.3fr);
    align-items: center;
    gap: 40px;
    margin-top: 54px;
    padding: 34px;
    background: #fff;
    border: 1px solid #e1eaf2;
    border-radius: 22px;
    box-shadow: 0 12px 34px rgba(31, 67, 92, .06);
}

.catalogue-related h2 {
    font-size: 1.8rem;
}

.catalogue-related-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 9px;
}

.catalogue-related-links a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 9px 14px;
    color: #3b566b;
    background: #f2f7fa;
    border: 1px solid #e1eaf0;
    border-radius: 10px;
    font-size: .82rem;
    font-weight: 800;
    transition: color .2s ease, border-color .2s ease, transform .2s ease;
}

.catalogue-related-links a:hover {
    color: #078db6;
    border-color: rgba(7, 141, 182, .35);
    transform: translateY(-2px);
}

/* Printer cartridge catalogue */
.printer-cartridge-page,
.cartridge-detail-page {
    --cartridge-primary: #0b2c6b;
    --cartridge-secondary: #0866c6;
    --cartridge-accent: #f2b233;
    --cartridge-text: #172033;
    --cartridge-muted: #657085;
    --cartridge-surface: #ffffff;
    --cartridge-background: #f6f8fc;
    background: var(--cartridge-background);
}

.cartridge-hero {
    position: relative;
    overflow: hidden;
    background: var(--cartridge-background);
    border-bottom: 1px solid #e7edf6;
}

.cartridge-hero::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 34%;
    height: 100%;
    background: #edf4ff;
    border-left: 1px solid #e0e9f6;
    pointer-events: none;
}

.cartridge-breadcrumb {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 9px;
    padding-top: 25px;
    color: #748096;
    font-size: .8rem;
    font-weight: 700;
}

.cartridge-breadcrumb a:hover {
    color: var(--cartridge-secondary);
}

.cartridge-breadcrumb i {
    color: #aab4c3;
    font-size: .62rem;
}

.cartridge-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(400px, .98fr);
    align-items: center;
    gap: 56px;
    min-height: 610px;
    padding: 38px 0 60px;
}

.cartridge-hero-copy {
    max-width: 720px;
}

.cartridge-eyebrow {
    display: inline-flex;
    align-items: center;
    color: var(--cartridge-secondary);
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.cartridge-eyebrow::before {
    content: "";
    width: 25px;
    height: 2px;
    margin-right: 9px;
    background: var(--cartridge-accent);
}

.cartridge-hero h1 {
    max-width: 710px;
    margin: 15px 0 18px;
    color: var(--cartridge-primary);
    font-size: clamp(3.2rem, 5.7vw, 5.7rem);
    font-weight: 950;
    letter-spacing: -.055em;
    line-height: .98;
}

.cartridge-hero h1 span {
    position: relative;
    color: var(--cartridge-secondary);
    white-space: nowrap;
}

.cartridge-hero h1 span::after {
    content: "";
    position: absolute;
    left: .04em;
    right: .02em;
    bottom: -.06em;
    height: 5px;
    background: var(--cartridge-accent);
    border-radius: 999px;
}

.cartridge-hero-tagline {
    margin: 0 0 12px;
    color: #2f4059;
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.55;
}

.cartridge-hero-tagline b {
    padding: 0 5px;
    color: var(--cartridge-accent);
}

.cartridge-hero-text {
    max-width: 640px;
    margin: 0;
    color: var(--cartridge-muted);
    font-size: 1rem;
    line-height: 1.7;
}

.cartridge-hero-actions,
.cartridge-detail-actions,
.cartridge-bulk-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
}

.cartridge-hero-actions {
    margin-top: 28px;
}

.cartridge-btn-primary,
.cartridge-btn-secondary,
.cartridge-btn-gold,
.cartridge-btn-outline-light,
.cartridge-whatsapp-btn,
.cartridge-call-btn {
    min-height: 50px;
    padding: 11px 19px;
    border-radius: 10px;
    font-size: .88rem;
    font-weight: 850;
}

.cartridge-btn-primary {
    color: #fff;
    background: var(--cartridge-secondary);
    border-color: var(--cartridge-secondary);
    box-shadow: 0 12px 25px rgba(8, 102, 198, .2);
}

.cartridge-btn-primary:hover,
.cartridge-btn-primary:focus {
    color: #fff;
    background: #0758aa;
    border-color: #0758aa;
}

.cartridge-btn-secondary {
    color: var(--cartridge-primary);
    background: #fff;
    border-color: #cad6e7;
}

.cartridge-btn-secondary:hover,
.cartridge-btn-secondary:focus {
    color: var(--cartridge-secondary);
    background: #fff;
    border-color: var(--cartridge-secondary);
}

.cartridge-hero-notes {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
    margin-top: 24px;
    color: #59677b;
    font-size: .78rem;
    font-weight: 750;
}

.cartridge-hero-notes span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.cartridge-hero-notes i {
    display: grid;
    place-items: center;
    width: 18px;
    height: 18px;
    color: #fff;
    background: #16865e;
    border-radius: 50%;
    font-size: .56rem;
}

.cartridge-hero-visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
}

.cartridge-hero-image-wrap {
    position: relative;
    width: 100%;
    max-width: 585px;
    aspect-ratio: 1;
}

.cartridge-hero-image-wrap::after {
    content: "";
    position: absolute;
    left: 11%;
    right: 8%;
    bottom: 4%;
    height: 7%;
    z-index: -1;
    background: rgba(11, 44, 107, .18);
    border-radius: 50%;
    filter: blur(20px);
}

.cartridge-hero-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 22px 18px rgba(11, 44, 107, .14));
}

.cartridge-premium-mark {
    position: absolute;
    right: 1%;
    bottom: 10%;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    color: #fff;
    background: var(--cartridge-primary);
    border: 2px solid #f6c860;
    border-radius: 14px;
    box-shadow: 0 14px 30px rgba(11, 44, 107, .2);
    font-size: .68rem;
    font-weight: 900;
    line-height: 1.15;
    text-transform: uppercase;
}

.cartridge-premium-mark i {
    color: var(--cartridge-accent);
    font-size: 1.1rem;
}

.cartridge-catalogue-section {
    scroll-margin-top: 82px;
    padding: 88px 0 92px;
    background: var(--cartridge-background);
}

.cartridge-section-heading {
    max-width: 780px;
    margin: 0 auto 36px;
    text-align: center;
}

.cartridge-section-heading .cartridge-eyebrow {
    justify-content: center;
}

.cartridge-section-heading h2 {
    margin: 9px 0 10px;
    color: var(--cartridge-primary);
    font-size: clamp(2rem, 3.4vw, 3.25rem);
    font-weight: 950;
    letter-spacing: -.04em;
    line-height: 1.08;
}

.cartridge-section-heading p {
    margin: 0;
    color: var(--cartridge-muted);
    font-size: .98rem;
}

.cartridge-toolbar {
    display: grid;
    grid-template-columns: minmax(360px, 1fr) auto;
    align-items: center;
    gap: 18px;
    margin-bottom: 15px;
    padding: 16px;
    background: #fff;
    border: 1px solid #e1e8f2;
    border-radius: 18px;
    box-shadow: 0 12px 35px rgba(28, 47, 79, .06);
}

.cartridge-search-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.cartridge-search-wrap > i {
    position: absolute;
    left: 16px;
    z-index: 1;
    color: #8190a6;
}

.cartridge-search-wrap input {
    width: 100%;
    min-height: 50px;
    padding: 10px 48px 10px 45px;
    color: var(--cartridge-text);
    background: #f7f9fc;
    border: 1px solid #dce5f0;
    border-radius: 11px;
    outline: 0;
    font-size: .9rem;
    transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.cartridge-search-wrap input:focus {
    background: #fff;
    border-color: var(--cartridge-secondary);
    box-shadow: 0 0 0 4px rgba(8, 102, 198, .1);
}

.cartridge-search-wrap button {
    position: absolute;
    right: 8px;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    padding: 0;
    color: #69778b;
    background: transparent;
    border: 0;
    border-radius: 8px;
}

.cartridge-search-wrap button:hover {
    color: var(--cartridge-primary);
    background: #eaf1fa;
}

.cartridge-filter-pills {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.cartridge-filter-pills button {
    min-height: 42px;
    padding: 8px 14px;
    color: #58677c;
    background: #f4f7fb;
    border: 1px solid #e0e7f0;
    border-radius: 10px;
    font-size: .78rem;
    font-weight: 850;
    transition: color .25s ease, background-color .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.cartridge-filter-pills button:hover {
    color: var(--cartridge-secondary);
    border-color: #a9c9ec;
}

.cartridge-filter-pills button.is-active {
    color: #fff;
    background: var(--cartridge-secondary);
    border-color: var(--cartridge-secondary);
    box-shadow: 0 8px 18px rgba(8, 102, 198, .18);
}

.cartridge-results-meta {
    min-height: 30px;
    margin-bottom: 12px;
    color: #778499;
    font-size: .78rem;
    font-weight: 750;
    text-align: right;
}

.cartridge-model-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.cartridge-model-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e0e7f1;
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(31, 51, 84, .055);
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.cartridge-model-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: var(--cartridge-secondary);
    opacity: 0;
    transform: scaleX(.4);
    transition: opacity .28s ease, transform .28s ease;
}

.cartridge-model-card:hover,
.cartridge-model-card:focus-within {
    z-index: 1;
    border-color: rgba(8, 102, 198, .38);
    box-shadow: 0 18px 42px rgba(20, 56, 110, .13);
    transform: translateY(-5px);
}

.cartridge-model-card:hover::before,
.cartridge-model-card:focus-within::before {
    opacity: 1;
    transform: scaleX(1);
}

.cartridge-model-card[hidden] {
    display: none;
}

.cartridge-card-link {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 20px;
    color: inherit;
}

.cartridge-card-link:focus-visible {
    outline: 3px solid rgba(8, 102, 198, .35);
    outline-offset: -3px;
}

.cartridge-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.cartridge-model-number {
    color: var(--cartridge-primary);
    font-size: 1.68rem;
    font-weight: 950;
    letter-spacing: -.035em;
    line-height: 1;
}

.cartridge-type-dot {
    display: grid;
    place-items: center;
    width: 31px;
    height: 31px;
    color: var(--cartridge-secondary);
    background: #eaf3fd;
    border-radius: 9px;
    font-size: .76rem;
}

.cartridge-card-image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 185px;
    margin: 12px 0 14px;
    padding: 14px;
    overflow: hidden;
    background: #fbfcfe;
    border: 1px solid #eff3f8;
    border-radius: 14px;
}

.cartridge-card-image img {
    width: 100%;
    height: 155px;
    object-fit: contain;
    transition: transform .28s ease;
}

.cartridge-model-card:hover .cartridge-card-image img {
    transform: scale(1.04);
}

.cartridge-image-placeholder,
.cartridge-detail-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #8895a8;
    text-align: center;
}

.cartridge-image-placeholder i {
    color: #b5c3d4;
    font-size: 2.15rem;
}

.cartridge-image-placeholder span {
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.cartridge-card-copy {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.cartridge-card-copy > span {
    min-height: 38px;
    color: var(--cartridge-muted);
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.4;
}

.cartridge-card-copy strong {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 14px;
    padding-top: 14px;
    color: var(--cartridge-secondary);
    border-top: 1px solid #edf1f6;
    font-size: .8rem;
    font-weight: 900;
}

.cartridge-card-copy strong i {
    transition: transform .25s ease;
}

.cartridge-model-card:hover .cartridge-card-copy strong i {
    transform: translateX(3px);
}

.cartridge-no-results {
    padding: 60px 24px;
    text-align: center;
    background: #fff;
    border: 1px solid #e0e7f1;
    border-radius: 18px;
}

.cartridge-no-results > span {
    display: grid;
    place-items: center;
    width: 62px;
    height: 62px;
    margin: 0 auto 16px;
    color: var(--cartridge-secondary);
    background: #eaf3fd;
    border-radius: 50%;
    font-size: 1.4rem;
}

.cartridge-no-results h3 {
    color: var(--cartridge-primary);
    font-size: 1.4rem;
    font-weight: 900;
}

.cartridge-no-results p {
    color: var(--cartridge-muted);
}

.cartridge-benefits-section {
    padding: 85px 0;
    background: #fff;
    border-top: 1px solid #e7edf6;
    border-bottom: 1px solid #e7edf6;
}

.cartridge-benefit-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

.cartridge-benefit-card {
    padding: 24px 20px;
    background: #fff;
    border: 1px solid #e2e8f1;
    border-radius: 16px;
    box-shadow: 0 9px 25px rgba(31, 51, 84, .045);
}

.cartridge-benefit-card > span {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    margin-bottom: 17px;
    color: var(--cartridge-secondary);
    background: #eaf3fd;
    border-radius: 12px;
    font-size: 1.08rem;
}

.cartridge-benefit-card h3 {
    margin-bottom: 8px;
    color: var(--cartridge-primary);
    font-size: 1rem;
    font-weight: 900;
}

.cartridge-benefit-card p {
    margin: 0;
    color: var(--cartridge-muted);
    font-size: .81rem;
    line-height: 1.58;
}

.cartridge-bulk-section {
    padding: 78px 0;
    background: var(--cartridge-background);
}

.cartridge-bulk-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    padding: 44px 48px;
    color: #fff;
    background: var(--cartridge-primary);
    border: 1px solid #173e7e;
    border-radius: 20px;
    box-shadow: 0 24px 50px rgba(11, 44, 107, .18);
}

.cartridge-bulk-panel .cartridge-eyebrow {
    color: #9bcaff;
}

.cartridge-bulk-panel h2 {
    margin: 8px 0 6px;
    font-size: clamp(1.8rem, 3vw, 2.7rem);
    font-weight: 950;
    letter-spacing: -.035em;
}

.cartridge-bulk-panel p {
    margin: 0;
    color: rgba(255, 255, 255, .74);
}

.cartridge-bulk-actions {
    flex: 0 0 auto;
}

.cartridge-btn-gold {
    color: #192238;
    background: var(--cartridge-accent);
    border-color: var(--cartridge-accent);
}

.cartridge-btn-gold:hover,
.cartridge-btn-gold:focus {
    color: #192238;
    background: #ffc84a;
    border-color: #ffc84a;
}

.cartridge-btn-outline-light {
    color: #fff;
    background: transparent;
    border-color: rgba(255, 255, 255, .46);
}

.cartridge-btn-outline-light:hover,
.cartridge-btn-outline-light:focus {
    color: var(--cartridge-primary);
    background: #fff;
    border-color: #fff;
}

/* Cartridge model detail */
.cartridge-detail-hero {
    padding-bottom: 70px;
    background: #f2f6fc;
    border-bottom: 1px solid #e1e8f2;
}

.cartridge-detail-grid {
    display: grid;
    grid-template-columns: minmax(360px, .92fr) minmax(0, 1.08fr);
    align-items: center;
    gap: 64px;
    padding-top: 45px;
}

.cartridge-detail-media {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 460px;
    padding: 36px;
    background: #fff;
    border: 1px solid #e0e7f1;
    border-radius: 22px;
    box-shadow: 0 18px 48px rgba(28, 52, 88, .09);
}

.cartridge-detail-media img {
    width: 100%;
    height: 380px;
    object-fit: contain;
}

.cartridge-detail-placeholder {
    min-height: 300px;
}

.cartridge-detail-placeholder i {
    color: #b6c5d8;
    font-size: 4rem;
}

.cartridge-detail-placeholder span {
    font-size: .85rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.cartridge-detail-copy .cartridge-eyebrow {
    display: flex;
    width: fit-content;
    margin-top: 19px;
}

.cartridge-quality-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 11px;
    color: #7a5410;
    background: #fff4d8;
    border: 1px solid #f2d18a;
    border-radius: 9px;
    font-size: .7rem;
    font-weight: 900;
    text-transform: uppercase;
}

.cartridge-detail-copy h1 {
    margin: 12px 0 16px;
    color: var(--cartridge-primary);
    font-size: clamp(2.5rem, 4.3vw, 4.4rem);
    font-weight: 950;
    letter-spacing: -.05em;
    line-height: 1.02;
}

.cartridge-detail-copy > p {
    max-width: 660px;
    margin: 0;
    color: var(--cartridge-muted);
    font-size: 1rem;
    line-height: 1.72;
}

.cartridge-detail-actions {
    margin-top: 28px;
}

.cartridge-whatsapp-btn {
    color: #fff;
    background: #16865e;
    border-color: #16865e;
}

.cartridge-whatsapp-btn:hover,
.cartridge-whatsapp-btn:focus {
    color: #fff;
    background: #116d4c;
    border-color: #116d4c;
}

.cartridge-call-btn {
    color: var(--cartridge-primary);
    background: #fff;
    border-color: #cbd6e5;
}

.cartridge-call-btn:hover,
.cartridge-call-btn:focus {
    color: var(--cartridge-secondary);
    border-color: var(--cartridge-secondary);
}

.cartridge-detail-content {
    padding: 70px 0 88px;
    background: var(--cartridge-background);
}

.cartridge-info-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-bottom: 24px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e0e7f1;
    border-radius: 18px;
    box-shadow: 0 12px 32px rgba(31, 51, 84, .055);
}

.cartridge-info-grid > div {
    min-width: 0;
    padding: 23px 20px;
}

.cartridge-info-grid > div + div {
    border-left: 1px solid #e8edf4;
}

.cartridge-info-grid span,
.cartridge-info-grid strong {
    display: block;
}

.cartridge-info-grid span {
    margin-bottom: 6px;
    color: #8490a1;
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.cartridge-info-grid strong {
    color: var(--cartridge-primary);
    font-size: .9rem;
    font-weight: 900;
    line-height: 1.35;
}

.cartridge-info-grid .is-available {
    color: #16865e;
}

.cartridge-info-grid .is-available i {
    margin-right: 4px;
    font-size: .46rem;
    vertical-align: middle;
}

.cartridge-detail-sections {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.cartridge-detail-panel {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
    padding: 28px;
    background: #fff;
    border: 1px solid #e0e7f1;
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(31, 51, 84, .045);
}

.cartridge-panel-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    color: var(--cartridge-secondary);
    background: #eaf3fd;
    border-radius: 12px;
}

.cartridge-detail-panel h2 {
    margin: 0 0 8px;
    color: var(--cartridge-primary);
    font-size: 1.12rem;
    font-weight: 900;
}

.cartridge-detail-panel p,
.cartridge-detail-panel li {
    color: var(--cartridge-muted);
    font-size: .86rem;
    line-height: 1.62;
}

.cartridge-detail-panel p {
    margin: 0 0 11px;
}

.cartridge-detail-panel ul {
    margin: 0;
    padding-left: 18px;
}

.cartridge-detail-panel a {
    color: var(--cartridge-secondary);
    font-size: .8rem;
    font-weight: 900;
}

.cartridge-detail-panel a i {
    margin-left: 4px;
}

.cartridge-compatibility-panel {
    border-left: 3px solid var(--cartridge-accent);
}

.cartridge-related-models {
    margin-top: 55px;
}

.cartridge-related-models header {
    margin-bottom: 20px;
}

.cartridge-related-models h2 {
    margin: 8px 0 0;
    color: var(--cartridge-primary);
    font-size: 2rem;
    font-weight: 950;
    letter-spacing: -.035em;
}

.cartridge-related-models > div {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.cartridge-related-models a {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 4px 12px;
    padding: 20px;
    background: #fff;
    border: 1px solid #e0e7f1;
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(31, 51, 84, .045);
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.cartridge-related-models a:hover {
    border-color: #a8c9ec;
    box-shadow: 0 13px 30px rgba(31, 70, 129, .1);
    transform: translateY(-3px);
}

.cartridge-related-models strong {
    color: var(--cartridge-primary);
    font-size: 1.3rem;
    font-weight: 950;
}

.cartridge-related-models span {
    grid-column: 1;
    color: var(--cartridge-muted);
    font-size: .72rem;
    font-weight: 750;
}

.cartridge-related-models i {
    grid-column: 2;
    grid-row: 1 / span 2;
    color: var(--cartridge-secondary);
}

.search-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 18px;
    color: var(--muted-color);
    font-weight: 700;
}

.back-to-top {
    position: fixed;
    right: 30px;
    bottom: 28px;
    z-index: 1038;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    color: var(--white-color);
    background: var(--dark-color);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 50%;
    box-shadow: 0 14px 32px rgba(23, 32, 51, .25);
    opacity: 0;
    visibility: hidden;
    translate: 0 12px;
    transition: opacity .2s ease, visibility .2s ease, translate .2s ease, background-color .2s ease;
}

.back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    translate: 0 0;
}

.back-to-top:hover {
    background: var(--primary-color);
}

.motion-ready .reveal-item {
    opacity: 0;
    translate: 0 24px;
    scale: .99;
    transition: opacity .65s cubic-bezier(.22, 1, .36, 1), translate .65s cubic-bezier(.22, 1, .36, 1), scale .65s cubic-bezier(.22, 1, .36, 1);
    transition-delay: var(--reveal-delay, 0ms);
}

.motion-ready .reveal-item.is-visible {
    opacity: 1;
    translate: 0 0;
    scale: 1;
}

.error-panel {
    max-width: 780px;
    padding: clamp(28px, 5vw, 54px);
}

.error-code {
    display: block;
    color: transparent;
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    background-clip: text;
    -webkit-background-clip: text;
    font-size: clamp(4.8rem, 15vw, 9rem);
    font-weight: 950;
    line-height: .9;
}

.error-panel .search-form {
    max-width: 620px;
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
    .motion-ready .reveal-item {
        opacity: 1;
        translate: 0 0;
        scale: 1;
    }
}

/* Unified public catalogue and shared page polish */
.breadcrumb-nav {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.breadcrumb-nav a,
.breadcrumb-nav span {
    color: inherit;
}

.breadcrumb-nav a {
    transition: color .2s ease;
}

.breadcrumb-nav a:hover,
.breadcrumb-nav a:focus-visible {
    color: #ffffff;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.breadcrumb-nav i {
    font-size: .7rem;
    opacity: .64;
}

.form-control,
.form-select {
    min-height: 46px;
    border-color: #dbe3ee;
    border-radius: 10px;
}

.form-control:focus,
.form-select:focus {
    border-color: rgba(13, 71, 161, .58);
    box-shadow: 0 0 0 4px rgba(13, 71, 161, .10);
}

.form-label {
    margin-bottom: 7px;
    color: #354158;
    font-size: .82rem;
    font-weight: 800;
}

.category-card,
.brand-card {
    display: flex;
    flex-direction: column;
}

.category-card > .d-flex,
.brand-card > .btn {
    margin-top: auto;
}

.product-catalogue-page {
    background: #f4f7fb;
}

.products-page-hero {
    padding: 62px 0 86px;
    background:
        radial-gradient(circle at 84% 30%, rgba(255, 183, 77, .18), transparent 26%),
        linear-gradient(115deg, #071f4e 0%, #0d47a1 58%, #0866c6 100%);
}

.products-page-hero::before {
    top: -95%;
}

.products-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr);
    align-items: end;
    gap: 42px;
}

.products-hero-grid h1 {
    margin-bottom: 14px;
}

.products-hero-facts {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 24px;
    margin-top: 24px;
    color: rgba(255, 255, 255, .82);
    font-size: .9rem;
    font-weight: 700;
}

.products-hero-facts span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.products-hero-facts strong {
    color: #ffffff;
    font-size: 1.05rem;
    font-weight: 900;
}

.products-hero-facts i {
    color: #ffd166;
}

.products-hero-feature {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 150px;
    align-items: center;
    min-height: 190px;
    padding: 22px 10px 22px 24px;
    color: #172033;
    background: rgba(255, 255, 255, .96);
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 20px;
    box-shadow: 0 26px 68px rgba(0, 0, 0, .22);
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease;
}

.products-hero-feature:hover {
    color: #172033;
    transform: translateY(-5px);
    box-shadow: 0 32px 76px rgba(0, 0, 0, .28);
}

.products-hero-feature-copy {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
}

.products-hero-feature small {
    color: var(--primary-color);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.products-hero-feature strong {
    color: #092f68;
    font-size: 1.32rem;
    font-weight: 900;
    line-height: 1.15;
}

.products-hero-feature b {
    color: #657085;
    font-size: .8rem;
    font-weight: 750;
}

.products-hero-feature b i {
    margin-left: 4px;
    color: var(--primary-color);
}

.products-hero-feature img {
    width: 160px;
    height: 150px;
    object-fit: contain;
    filter: drop-shadow(0 16px 16px rgba(9, 47, 104, .16));
    transform: rotate(-3deg);
}

.catalogue-index-section {
    padding: 0 0 86px;
}

.catalogue-collection-nav {
    position: relative;
    z-index: 5;
    display: flex;
    gap: 10px;
    margin-top: -31px;
    padding: 11px;
    background: rgba(255, 255, 255, .96);
    border: 1px solid #e3e9f2;
    border-radius: 18px;
    box-shadow: 0 18px 52px rgba(23, 32, 51, .12);
    overflow-x: auto;
    scrollbar-width: thin;
}

.catalogue-collection-nav a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-width: 165px;
    min-height: 48px;
    padding: 10px 13px;
    color: #354158;
    background: #f7f9fc;
    border: 1px solid transparent;
    border-radius: 11px;
    font-size: .83rem;
    font-weight: 800;
    line-height: 1.2;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}

.catalogue-collection-nav a:hover {
    color: var(--primary-color);
    background: #edf4ff;
    border-color: #d7e5fb;
}

.catalogue-collection-nav a.is-active {
    color: #ffffff;
    background: var(--primary-color);
}

.catalogue-collection-nav strong {
    display: grid;
    place-items: center;
    min-width: 28px;
    height: 28px;
    padding: 0 6px;
    color: var(--primary-color);
    background: #ffffff;
    border-radius: 8px;
    font-size: .76rem;
    font-weight: 900;
}

.product-filter-panel {
    margin: 26px 0 22px;
    padding: 24px;
    border-color: #dfe6f0;
    box-shadow: 0 16px 44px rgba(23, 32, 51, .07);
}

.product-filter-panel .product-filter-heading {
    margin-bottom: 20px;
    padding-bottom: 16px;
}

.product-filter-panel .product-filter-heading strong {
    font-size: 1rem;
}

.product-filter-panel .product-filter-heading i {
    color: var(--primary-color);
}

.catalogue-search-field {
    position: relative;
}

.catalogue-search-field > i {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 15px;
    color: #8090a7;
    transform: translateY(-50%);
    pointer-events: none;
}

.catalogue-search-field .form-control {
    padding-left: 42px;
}

.product-filter-panel .is-filter-disabled {
    opacity: .54;
}

.product-filter-panel .is-filter-disabled .form-select {
    cursor: not-allowed;
}

.catalogue-results-bar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin: 30px 0 18px;
}

.catalogue-results-bar > div {
    display: flex;
    flex-direction: column;
}

.catalogue-results-bar span {
    color: #172033;
    font-size: 1.1rem;
    font-weight: 900;
}

.catalogue-results-bar small,
.catalogue-results-bar > strong {
    color: #708096;
    font-size: .82rem;
    font-weight: 750;
}

.catalogue-results-grid > div {
    display: flex;
}

.catalogue-product-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    border-color: #dfe6f0;
    border-radius: 16px;
    box-shadow: 0 14px 38px rgba(23, 32, 51, .07);
}

.catalogue-product-card .product-image {
    aspect-ratio: 1.18 / 1;
    margin: 12px 12px 0;
    background: linear-gradient(145deg, #fbfcfe, #f3f7fc);
    border: 1px solid #e8edf4;
    border-radius: 13px;
    overflow: hidden;
}

.catalogue-product-card .product-image img {
    object-fit: contain;
    padding: 18px;
    transition: transform .3s ease;
}

.catalogue-product-card:hover .product-image img {
    transform: scale(1.035);
}

.catalogue-product-card .stock-pill {
    top: 10px;
    left: 10px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #05603a;
    background: rgba(224, 250, 239, .94);
    border: 1px solid rgba(5, 96, 58, .12);
    backdrop-filter: blur(7px);
}

.catalogue-product-card .stock-pill.is-out {
    color: #9f1239;
    background: rgba(255, 228, 230, .95);
}

.catalogue-product-card .catalogue-type-pill {
    color: #0d47a1;
    background: rgba(237, 244, 255, .95);
    border-color: #d8e6fb;
}

.catalogue-product-card .product-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 18px 20px 20px;
}

.catalogue-product-card .product-meta {
    gap: 7px 12px;
    font-size: .72rem;
    letter-spacing: .035em;
}

.catalogue-product-card .product-meta a {
    color: var(--primary-color);
}

.catalogue-product-card h3 {
    margin: 9px 0 7px;
    font-size: 1.23rem;
    line-height: 1.24;
}

.catalogue-product-card h3 a:hover {
    color: var(--primary-color);
}

.catalogue-product-card p {
    min-height: 0;
    margin-bottom: 14px;
    font-size: .9rem;
    line-height: 1.5;
}

.catalogue-product-card .sku {
    margin-top: auto;
    margin-bottom: 15px;
    padding-top: 13px;
    border-top: 1px solid #ebeff5;
    font-size: .8rem;
}

.catalogue-product-card .product-actions {
    align-items: stretch;
    gap: 7px;
}

.catalogue-product-card .product-actions .btn-primary {
    flex: 1 1 128px;
}

.catalogue-product-card .product-actions .btn-outline-primary {
    flex: 1 1 96px;
}

.catalogue-product-card .product-whatsapp-action {
    flex: 0 0 42px;
    width: 42px;
    padding-right: 0;
    padding-left: 0;
}

.catalogue-image-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    height: 100%;
    gap: 8px;
    color: #8291a7;
}

.catalogue-image-placeholder i {
    font-size: 2.2rem;
}

.catalogue-image-placeholder small {
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.catalogue-product-card.product-card-list {
    display: grid;
    grid-template-columns: minmax(250px, 32%) minmax(0, 1fr);
}

.catalogue-product-card.product-card-list .product-image {
    min-height: 100%;
    margin: 12px 0 12px 12px;
}

.catalogue-product-card.product-card-list .product-body {
    padding: 26px;
}

.catalogue-empty-state {
    width: 100%;
    padding: clamp(38px, 7vw, 72px) 24px;
    text-align: center;
    background: #ffffff;
    border: 1px dashed #cfd9e7;
    border-radius: 18px;
}

.catalogue-empty-state > span {
    display: grid;
    place-items: center;
    width: 66px;
    height: 66px;
    margin: 0 auto 18px;
    color: var(--primary-color);
    background: #edf4ff;
    border-radius: 18px;
    font-size: 1.5rem;
}

.catalogue-empty-state h2 {
    color: #172033;
    font-size: 1.35rem;
    font-weight: 900;
}

.catalogue-empty-state p {
    max-width: 580px;
    margin: 0 auto 22px;
    color: #708096;
}

.catalogue-pagination {
    margin-top: 42px;
}

.catalogue-pagination .pagination {
    gap: 6px;
}

.catalogue-pagination .page-link {
    display: grid;
    place-items: center;
    min-width: 42px;
    height: 42px;
    color: #354158;
    background: #ffffff;
    border: 1px solid #dfe6f0;
    border-radius: 10px !important;
    font-weight: 800;
}

.catalogue-pagination .page-item.active .page-link {
    color: #ffffff;
    background: var(--primary-color);
    border-color: var(--primary-color);
}

.catalogue-help-band {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 26px;
    margin-top: 54px;
    padding: 34px 38px;
    color: #ffffff;
    background:
        radial-gradient(circle at 85% 30%, rgba(255, 193, 7, .18), transparent 28%),
        linear-gradient(115deg, #071f4e, #0d47a1);
    border-radius: 20px;
    box-shadow: 0 22px 58px rgba(7, 31, 78, .2);
}

.catalogue-help-band span {
    color: #ffd166;
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.catalogue-help-band h2 {
    margin: 5px 0 0;
    font-size: clamp(1.25rem, 2.4vw, 1.8rem);
    font-weight: 900;
}

.legal-content-panel {
    max-width: 920px;
    margin: 0 auto;
    padding: clamp(26px, 5vw, 48px);
    font-size: 1.01rem;
}

.legal-content-panel h2,
.legal-content-panel h3 {
    color: var(--dark-color);
    font-weight: 900;
}

/* Homepage category and product sliders */
.card-slider {
    --slider-columns: 3;
    --slider-gap: 24px;
    position: relative;
}

.card-slider-products {
    --slider-columns: 4;
}

.card-slider-viewport {
    margin: -8px -6px -16px;
    padding: 8px 6px 16px;
    overflow: hidden;
    touch-action: pan-y;
}

.card-slider-track {
    display: flex;
    align-items: stretch;
    gap: var(--slider-gap);
    transform: translate3d(0, 0, 0);
    transition: transform .62s cubic-bezier(.22, 1, .36, 1);
    will-change: transform;
}

.card-slider-track.is-resizing {
    transition: none;
}

.card-slider-item {
    display: flex;
    flex: 0 0 calc((100% - (var(--slider-columns) - 1) * var(--slider-gap)) / var(--slider-columns));
    min-width: 0;
}

.card-slider-item > .category-card,
.card-slider-item > .product-card {
    width: 100%;
}

.card-slider-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 22px;
}

.card-slider.is-static .card-slider-controls {
    display: none;
}

.card-slider-button {
    display: inline-grid;
    place-items: center;
    width: 46px;
    height: 46px;
    padding: 0;
    color: #ffffff;
    background: var(--primary-color);
    border: 1px solid var(--primary-color);
    border-radius: 50%;
    box-shadow: 0 10px 25px rgba(13, 71, 161, .2);
    transition: transform .2s ease, background-color .2s ease, border-color .2s ease, opacity .2s ease;
}

.card-slider-button:hover:not(:disabled),
.card-slider-button:focus-visible {
    color: var(--dark-color);
    background: var(--secondary-color);
    border-color: var(--secondary-color);
    transform: translateY(-2px);
}

.card-slider-button:disabled {
    opacity: .36;
    cursor: not-allowed;
    box-shadow: none;
}

.card-slider-status {
    min-width: 136px;
    color: var(--muted-color);
    font-size: .82rem;
    font-weight: 800;
    text-align: center;
}

.slider-view-all {
    margin-top: 18px;
    text-align: center;
}

.slider-view-all .btn {
    min-width: 190px;
}

.product-image img.is-placeholder-image,
.category-image img.is-placeholder-image {
    object-fit: contain;
}

@media (max-width: 1199.98px) {
    .card-slider-products {
        --slider-columns: 3;
    }
}

@media (max-width: 991.98px) {
    .card-slider,
    .card-slider-products {
        --slider-columns: 2;
        --slider-gap: 20px;
    }
}

@media (max-width: 575.98px) {
    .card-slider,
    .card-slider-products {
        --slider-columns: 1;
        --slider-gap: 16px;
    }

    .card-slider-status {
        min-width: 118px;
        font-size: .78rem;
    }

    .card-slider-button {
        width: 44px;
        height: 44px;
    }
}

/* 2026 catalogue redesign: shared presentation layer, preserves existing PHP data and routes */
:root{--primary-color:#123b70;--secondary-color:#e7a63c;--ink:#101828;--text:#475467;--muted:#667085;--line:#e4e7ec;--surface:#f8fafc;--radius:14px;}
body{color:var(--text);background:#fff;font-family:Inter,Manrope,"Segoe UI",sans-serif;font-size:16px;line-height:1.6}.container{max-width:1280px}.section-padding{padding:72px 0}.section-soft{background:var(--surface)}
.top-info-bar{background:#102d55!important;border:0}.top-info-bar a,.top-info-bar span{color:#dce8f8!important}.site-header .navbar{box-shadow:none!important;border-bottom:1px solid var(--line);min-height:74px}.site-logo{max-height:52px!important;width:auto!important}.brand-text{font-size:1.08rem;font-weight:750;color:var(--ink)}
.header-catalogue-search{align-items:center;flex:1;max-width:520px;margin:0 28px;padding:5px 6px 5px 15px;border:1px solid #d5dce6;border-radius:10px;background:#f8fafc}.header-catalogue-search i{color:#667085}.header-catalogue-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;padding:8px 10px;font-size:.875rem}.header-catalogue-search button{border:0;border-radius:7px;background:#123b70;color:#fff;padding:8px 12px;font-size:.8rem;font-weight:700}.header-contact-actions{align-items:center;gap:13px}.header-action-link{display:flex;flex-direction:column;align-items:center;color:var(--ink);font-size:.72rem;font-weight:650;line-height:1.2;text-decoration:none}.header-action-link i{font-size:1.05rem;color:#123b70;margin-bottom:3px}.header-action-link.is-whatsapp i{color:#16844b}.header-quote-button{white-space:nowrap!important}
.navbar-expand-lg .navbar-collapse{position:absolute;top:100%;left:0;right:0;justify-content:center;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 8px 14px rgba(16,24,40,.04)}.navbar-nav{gap:5px}.navbar-nav .nav-link{font-size:.87rem;font-weight:650;color:#344054;padding:14px 12px!important}.navbar-nav .nav-link.active,.navbar-nav .nav-link:hover{color:var(--primary-color)!important}.site-header-spacer{height:49px!important}
.breadcrumb-nav{padding:0!important;margin:0 0 10px!important;background:none!important;font-size:.84rem!important}.breadcrumb-nav a,.breadcrumb-nav span{color:var(--muted)!important}.breadcrumb-nav span{color:#344054!important;font-weight:600}.breadcrumb-nav i{color:#98a2b3!important;font-size:.7rem!important}.page-hero,.products-page-hero{background:#fff!important;color:var(--ink)!important;padding:36px 0 30px!important;border-bottom:1px solid var(--line)}.page-hero:before,.products-page-hero:before{display:none!important}.page-hero h1,.products-page-hero h1{color:var(--ink)!important;font-size:clamp(2rem,3vw,2.7rem)!important;letter-spacing:-.035em}.page-hero .lead{color:var(--text)!important;max-width:700px}.products-hero-grid{display:block!important}.products-hero-feature{display:none!important}.products-hero-facts{margin-top:14px!important;color:var(--muted)!important}.products-hero-facts strong{color:var(--primary-color)!important}
.finder-section{position:relative;z-index:2;margin-top:-1px;padding:0 0 18px;background:#fff}.finder-panel{padding:30px 34px;border:1px solid #dbe4f0;border-radius:16px;background:#f7faff;box-shadow:0 12px 24px rgba(18,59,112,.07)}.finder-panel h2{margin:4px 0 4px;color:var(--ink);font-size:1.55rem;letter-spacing:-.02em}.finder-panel p{margin:0;color:var(--text)}.finder-search{display:flex;align-items:center;gap:10px;margin-top:20px;padding:7px 7px 7px 17px;border:1px solid #cdd8e7;border-radius:11px;background:#fff}.finder-search i{color:#667085}.finder-search input{flex:1;min-width:0;border:0;outline:0;padding:9px;font-size:.96rem}.finder-search .btn{white-space:nowrap}.quick-searches{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:17px;font-size:.8rem;color:var(--muted)}.quick-searches a{padding:4px 10px;border:1px solid #d8e1ed;border-radius:99px;background:#fff;color:#344054;text-decoration:none;font-weight:650}.quick-searches a:hover{border-color:#123b70;color:#123b70}
.section-title{max-width:700px;margin:0 auto 34px!important}.section-title h1,.section-title h2{color:var(--ink);font-size:clamp(1.8rem,2.6vw,2.25rem);letter-spacing:-.03em}.section-title p{color:var(--text)}.eyebrow{color:#215996!important;background:#eaf2fc!important;border:0!important;font-size:.73rem!important;font-weight:750!important;letter-spacing:.08em}
.category-card,.brand-card,.product-card,.feature-card,.testimonial-card{border:1px solid var(--line)!important;border-radius:var(--radius)!important;box-shadow:none!important;background:#fff}.category-card,.brand-card,.feature-card{padding:22px!important}.product-card{overflow:hidden}.product-card:hover{transform:translateY(-3px)!important;box-shadow:0 9px 20px rgba(16,24,40,.08)!important;border-color:#cbd5e1!important}.product-image{background:#fbfcfe!important;border-bottom:1px solid #edf0f4!important}.product-image img{object-fit:contain!important}.product-body{padding:18px!important}.product-meta{font-size:.75rem!important}.product-card h3{font-size:1rem!important;line-height:1.35!important;color:var(--ink)}.product-card p{font-size:.85rem!important;color:var(--text)!important}.sku{color:var(--muted)!important}.product-actions .btn{border-radius:8px!important;font-weight:700}.stock-pill{box-shadow:none!important}.btn{border-radius:9px;font-weight:700}.btn-primary{background:#123b70!important;border-color:#123b70!important}.btn-outline-primary{border-color:#123b70!important;color:#123b70!important}.btn-outline-primary:hover{background:#123b70!important;color:#fff!important}
.catalogue-collection-nav,.filter-panel{border:1px solid var(--line)!important;box-shadow:none!important;background:#fff!important}.catalogue-collection-nav{margin-top:0!important}.catalogue-index-section{padding:38px 0 72px!important}.catalogue-results-bar{border-bottom:1px solid var(--line)!important}.catalogue-help-band,.cta-band{background:#123b70!important;border-radius:16px!important;box-shadow:none!important}.site-footer{background:#0f2748!important}.floating-whatsapp{box-shadow:0 6px 20px rgba(22,132,75,.28)!important}
@media (max-width:991.98px){.site-header-spacer{height:0!important}.navbar-expand-lg .navbar-collapse{position:static;box-shadow:none;border-top:1px solid var(--line)}.navbar-nav{padding:8px 0}.navbar-nav .nav-link{padding:11px 2px!important}.finder-panel{padding:25px}.section-padding{padding:58px 0}}
@media (max-width:575.98px){.finder-section{padding-bottom:8px}.finder-panel{margin:0 -2px;padding:22px 18px;border-radius:12px}.finder-panel h2{font-size:1.32rem}.finder-search{align-items:stretch;display:grid;grid-template-columns:auto 1fr}.finder-search i{align-self:center}.finder-search .btn{grid-column:1 / -1;width:100%}.quick-searches{gap:6px}.quick-searches a{padding:3px 8px}.section-padding{padding:48px 0}.products-page-hero{padding:26px 0 22px!important}}
/* Digital product catalogue: A4-inspired web reader and print export */
.digital-catalogue-page{background:#eef2f7}.catalogue-intro{padding:38px 0 44px;background:#fff;border-bottom:1px solid #dfe6ef}.catalogue-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:46px;align-items:center}.catalogue-intro h1{max-width:680px;margin:8px 0 12px;color:#102a56;font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-.045em}.catalogue-intro p{max-width:680px;margin:0;color:#475467;font-size:1.02rem}.catalogue-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.catalogue-updated{margin-top:17px!important;color:#667085!important;font-size:.82rem!important}.catalogue-cover-preview{position:relative;overflow:hidden;aspect-ratio:3 / 4;border:9px solid #fff;background:#0f3872;box-shadow:0 20px 38px rgba(15,39,72,.18);transform:rotate(2deg)}.catalogue-cover-preview:after{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,30,73,.03),rgba(7,30,73,.6));content:""}.catalogue-cover-preview img{width:100%;height:100%;object-fit:cover}.catalogue-cover-preview div{position:absolute;z-index:1;right:18px;bottom:18px;left:18px;display:grid;gap:3px;padding:15px;color:#fff;background:rgba(10,38,78,.91);border-left:3px solid #d9a429}.catalogue-cover-preview span{font-size:.67rem;font-weight:800;letter-spacing:.13em}.catalogue-cover-preview strong{font-size:1.18rem}.catalogue-cover-preview small{font-size:.75rem}.catalogue-brochure{display:grid;gap:34px;width:min(100%,1120px);margin:0 auto;padding:48px 20px 72px}.catalogue-sheet{min-height:630px;padding:54px;background:#fff;border:1px solid #d9e2ee;box-shadow:0 18px 38px rgba(16,24,40,.08);break-inside:avoid}.catalogue-cover-sheet{display:grid;align-items:end;color:#fff;background:linear-gradient(138deg,#081e45 0%,#103c78 58%,#d8a62a 240%)}.catalogue-cover-sheet:before{position:absolute;display:none;content:""}.catalogue-sheet-inner{max-width:670px}.catalogue-sheet-kicker,.catalogue-sheet-heading>span{display:block;color:#d5a52b;font-size:.73rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.catalogue-cover-sheet h2{margin:11px 0 16px;color:#fff;font-size:clamp(2.65rem,5vw,4.8rem);font-weight:800;letter-spacing:-.06em;line-height:.96}.catalogue-cover-sheet p{max-width:520px;color:#e0e9f8;font-size:1.12rem}.catalogue-cover-points{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.catalogue-cover-points span{padding:7px 11px;border:1px solid rgba(255,255,255,.25);font-size:.82rem}.catalogue-contact-line{margin-top:50px!important;font-size:.84rem!important}.catalogue-sheet-heading{margin-bottom:28px;padding-bottom:16px;border-bottom:2px solid #d8a62a}.catalogue-sheet-heading h2{margin:5px 0;color:#102a56;font-size:2.25rem;letter-spacing:-.04em}.catalogue-sheet-heading p{margin:0;color:#667085}.brochure-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.brochure-product{min-width:0;padding:12px;border:1px solid #dce4ef;background:#fff;break-inside:avoid}.brochure-product img{display:block;width:100%;height:150px;object-fit:contain;background:#f7f9fc}.brochure-product div{padding:11px 3px 2px}.brochure-product span{display:block;overflow:hidden;color:#667085;font-size:.68rem;font-weight:750;letter-spacing:.05em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.brochure-product h3{display:-webkit-box;overflow:hidden;margin:4px 0;color:#101828;font-size:.95rem;line-height:1.28;-webkit-box-orient:vertical;-webkit-line-clamp:2}.brochure-product small{display:block;color:#475467;font-size:.73rem}.catalogue-contact-sheet{display:grid;grid-template-columns:1.3fr .7fr;gap:36px;align-items:center;min-height:310px;color:#fff;background:#102f5c}.catalogue-contact-sheet h2{margin:8px 0 10px;color:#fff;font-size:2.05rem;letter-spacing:-.04em}.catalogue-contact-sheet p{color:#d8e5f8}.catalogue-contact-details{display:grid;gap:10px;padding:22px;border-left:1px solid rgba(255,255,255,.25)}.catalogue-contact-details a{color:#fff;text-decoration:none;overflow-wrap:anywhere}.home-catalogue-cta{padding:0 0 28px;background:#f8fafc}.home-catalogue-cta-inner{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:30px 34px;border:1px solid #dbe5f1;background:#fff}.home-catalogue-cta h2{margin:4px 0 7px;color:#102a56;font-size:1.6rem}.home-catalogue-cta p{max-width:680px;margin:0;color:#475467}.home-catalogue-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:10px}
@media (max-width:767.98px){.catalogue-intro-grid{grid-template-columns:1fr;gap:25px}.catalogue-cover-preview{width:min(260px,70vw);margin:auto}.catalogue-brochure{padding:28px 12px 48px}.catalogue-sheet{min-height:0;padding:28px 18px}.catalogue-cover-sheet{min-height:520px}.brochure-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.brochure-product img{height:120px}.catalogue-sheet-heading h2{font-size:1.65rem}.catalogue-contact-sheet{grid-template-columns:1fr;gap:20px}.catalogue-contact-details{border-top:1px solid rgba(255,255,255,.25);border-left:0}.home-catalogue-cta-inner{display:block;padding:25px 20px}.home-catalogue-actions{margin-top:18px}.home-catalogue-actions .btn{flex:1 1 180px}}
@media print{@page{size:A4 portrait;margin:10mm}body.digital-catalogue-page{background:#fff}.digital-catalogue-page .top-info-bar,.digital-catalogue-page .site-header,.digital-catalogue-page .site-header-spacer,.digital-catalogue-page .catalogue-intro,.digital-catalogue-page .site-footer,.digital-catalogue-page .floating-whatsapp,.digital-catalogue-page .back-to-top,.digital-catalogue-page .no-print{display:none!important}.digital-catalogue-page main{display:block}.catalogue-brochure{display:block;width:auto;margin:0;padding:0}.catalogue-sheet{min-height:267mm;margin:0;padding:13mm;box-shadow:none;border:0;page-break-after:always;break-after:page}.catalogue-cover-sheet{min-height:267mm}.brochure-product-grid{grid-template-columns:repeat(4,1fr);gap:7mm}.brochure-product{padding:3mm}.brochure-product img{height:37mm}.catalogue-contact-sheet{min-height:267mm}.catalogue-sheet-heading h2{font-size:24pt}.catalogue-cover-sheet h2{font-size:42pt}}
/* Catalogue header alignment and compact first section */
@media (min-width: 992px) {
    .site-header .navbar > .container { position: relative; }
    .site-header .navbar-collapse .navbar-nav { margin-right: auto !important; margin-left: auto !important; }
    .site-header .navbar-collapse { min-height: 50px; }
}
.digital-catalogue-page .catalogue-intro { padding: 24px 0 28px; }
.digital-catalogue-page .catalogue-intro-grid { grid-template-columns: minmax(0, 1fr) 240px; gap: 36px; }
.digital-catalogue-page .catalogue-intro h1 { max-width: 760px; margin-top: 6px; font-size: clamp(2rem, 3.4vw, 3rem); }
.digital-catalogue-page .catalogue-intro p { max-width: 650px; }
.digital-catalogue-page .catalogue-cover-preview { width: 240px; justify-self: end; max-height: 320px; border-width: 6px; transform: none; }
.digital-catalogue-page .catalogue-cover-preview div { right: 12px; bottom: 12px; left: 12px; padding: 11px; }
.digital-catalogue-page .catalogue-cover-preview strong { font-size: 1rem; }
.digital-catalogue-page .catalogue-updated { margin-top: 13px !important; }
@media (max-width: 991.98px) { .digital-catalogue-page .catalogue-intro { padding-top: 20px; } }
@media (max-width: 767.98px) { .digital-catalogue-page .catalogue-intro-grid { grid-template-columns: 1fr; } .digital-catalogue-page .catalogue-cover-preview { width: min(220px, 66vw); justify-self: center; max-height: 294px; } }
/* Reliable Categories menu and compact category directory */
.category-nav-item{position:relative}.category-nav-item .dropdown-menu{display:block!important;top:100%;left:0;min-width:270px;margin:0;padding:9px;border:1px solid #dce4ef;border-radius:12px;box-shadow:0 14px 30px rgba(16,24,40,.14);visibility:hidden;opacity:0;pointer-events:none;transform:translateY(6px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease;z-index:1030}.category-nav-item.is-open .dropdown-menu{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}.category-nav-item .dropdown-item{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;border-radius:7px;color:#344054;font-size:.86rem;font-weight:650}.category-nav-item .dropdown-item:hover,.category-nav-item .dropdown-item:focus{color:#123b70;background:#eef5ff}.category-nav-item .dropdown-item:not(.fw-semibold):after{content:'›';color:#98a2b3;font-size:1.15rem}.category-nav-item .dropdown-toggle-split{cursor:pointer}.categories-directory-intro{padding:28px 0 26px;background:#fff;border-bottom:1px solid #e4e7ec}.categories-title-row{display:flex;align-items:end;justify-content:space-between;gap:28px}.categories-title-row h1{margin:4px 0 7px;color:#101828;font-size:clamp(2rem,3.5vw,2.75rem);letter-spacing:-.04em}.categories-title-row p{margin:0;color:#475467}.category-search-compact{display:flex;align-items:center;width:min(100%,320px);min-height:44px;padding:0 12px;border:1px solid #d0d9e5;border-radius:9px;background:#fff}.category-search-compact i{color:#667085}.category-search-compact input{width:100%;border:0;outline:0;padding:8px 10px;font-size:.9rem}.categories-directory-grid{padding:32px 0 68px;background:#f8fafc}.category-directory-card{height:100%;overflow:hidden;border:1px solid #e0e7f0;background:#fff;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.category-directory-card:hover{border-color:#b8cae3;box-shadow:0 12px 24px rgba(16,24,40,.08);transform:translateY(-2px)}.category-directory-image{display:flex;align-items:center;justify-content:center;height:164px;padding:16px;background:#fff}.category-directory-image img{width:100%;height:100%;object-fit:contain}.category-directory-copy{padding:18px}.category-directory-copy h2{margin:0 0 7px;color:#101828;font-size:1.03rem}.category-directory-copy p{display:-webkit-box;overflow:hidden;min-height:43px;margin:0;color:#667085;font-size:.85rem;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.category-directory-copy>div{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:17px;padding-top:12px;border-top:1px solid #edf1f5;font-size:.78rem;font-weight:750}.category-directory-copy span{color:#667085}.category-directory-copy a{color:#123b70;text-decoration:none}.category-directory-copy a i{margin-left:4px}
@media(max-width:991.98px){.category-nav-item .dropdown-menu{position:static;min-width:0;margin:0 0 6px;border:0;border-radius:0;box-shadow:none;visibility:visible;opacity:1;pointer-events:auto;transform:none;max-height:0;padding:0;overflow:hidden;transition:max-height .2s ease,padding .2s ease}.category-nav-item.is-open .dropdown-menu{max-height:550px;padding:6px 0}.category-nav-item .dropdown-item{padding-left:20px}.categories-title-row{align-items:stretch;flex-direction:column;gap:16px}.category-search-compact{width:100%}}
/* Category directory, selector and print-reader finish */
.site-header,.site-header .navbar,.site-header .navbar>.container,.site-header .navbar-collapse{overflow:visible}.nav-dropdown-group{display:flex;align-items:center}.category-nav-item .nav-dropdown-group>.nav-link:first-child{padding-right:4px!important}.category-nav-item .dropdown-toggle-split{display:inline-grid;place-items:center;min-width:28px;padding-right:5px!important;padding-left:5px!important}.category-nav-item .dropdown-toggle-split:after{margin:0}.catalogue-compact-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}.catalogue-compact-heading .btn{flex:0 0 auto;white-space:nowrap}.catalogue-picker{padding:25px 0 24px;background:#f8fafc;border-bottom:1px solid #dfe6ef}.catalogue-picker p{margin:4px 0 14px;color:#667085}.catalogue-category-chips{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 10px;scrollbar-width:thin}.catalogue-category-chips a{display:inline-flex;align-items:center;min-height:37px;padding:7px 13px;border:1px solid #d0d9e5;border-radius:999px;background:#fff;color:#344054;font-size:.84rem;font-weight:700;line-height:1.2;text-decoration:none;white-space:nowrap;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.catalogue-category-chips a:hover{border-color:#8fb0d8;color:#123b70}.catalogue-category-chips a.is-selected{border-color:#123b70;background:#eaf2fc;color:#123b70;box-shadow:inset 0 0 0 1px #123b70}.catalogue-category-chips a.is-selected:before{margin-right:6px;color:#123b70;content:'✓';font-weight:900}.catalogue-selection-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px;padding:17px 18px;border:1px solid #cfddec;border-radius:12px;background:#fff}.catalogue-selection-panel strong{display:block;color:#102a56;font-size:1rem}.catalogue-selection-panel span{display:block;margin-top:2px;color:#667085;font-size:.82rem}.catalogue-selection-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.catalogue-action-link{display:inline-flex;align-items:center;gap:5px;min-height:38px;padding:7px 9px;border:0;background:transparent;color:#465364;font-size:.8rem;font-weight:750;text-decoration:none}.catalogue-action-link:hover{color:#123b70}.catalogue-toolbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px max(18px,calc((100vw - 1120px)/2));border-bottom:1px solid #d8e1ed;background:#fff;box-shadow:0 3px 12px rgba(16,24,40,.07)}.catalogue-toolbar a{color:#123b70;font-size:.86rem;font-weight:750;text-decoration:none}.catalogue-toolbar strong{color:#102a56;font-size:.9rem}.catalogue-toolbar button{padding:8px 12px;border:1px solid #123b70;border-radius:7px;background:#123b70;color:#fff;font-size:.82rem;font-weight:800}.catalogue-print-view .catalogue-brochure{padding-top:30px}.catalogue-empty-state{display:grid;place-items:center;min-height:380px;text-align:center}.catalogue-empty-state h2{max-width:530px;color:#102a56;font-size:1.5rem}
@media(max-width:767.98px){.catalogue-compact-heading{align-items:flex-start;flex-direction:column;gap:14px}.catalogue-compact-heading .btn{width:100%;text-align:center}.catalogue-picker{padding:20px 0}.catalogue-category-chips{margin-right:-12px;padding-right:12px}.catalogue-selection-panel{align-items:stretch;flex-direction:column}.catalogue-selection-actions{justify-content:flex-start}.catalogue-selection-actions .btn{flex:1 1 145px}.catalogue-toolbar{padding:10px 14px}.catalogue-toolbar strong{display:none}.catalogue-toolbar a,.catalogue-toolbar button{font-size:.78rem}}
@media print{@page{size:A4 portrait;margin:0}body.catalogue-print-view{margin:0;background:#fff}.catalogue-print-view .catalogue-toolbar{display:none!important}.catalogue-print-view .catalogue-brochure{width:210mm;margin:0;padding:0}.catalogue-print-view .catalogue-sheet{box-sizing:border-box;width:210mm;min-height:297mm;padding:13mm;break-after:page;page-break-after:always}.catalogue-print-view .catalogue-sheet:last-child{break-after:auto;page-break-after:auto}}
/* Keep every active category reachable, including long mobile menus. */
.category-nav-item .dropdown-menu {
    max-height: min(65vh, 560px);
    overflow-y: auto;
    overscroll-behavior: contain;
}
.category-nav-item .dropdown-item {
    white-space: normal;
    overflow-wrap: anywhere;
}
@media (max-width: 991.98px) {
    .category-nav-item .dropdown-menu { max-height: 0; overflow: hidden; visibility: hidden; }
    .category-nav-item.is-open .dropdown-menu {
        max-height: min(55vh, 440px);
        overflow-y: auto;
        visibility: visible;
    }
}