*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#13233b;background:#fff;line-height:1.6}a{color:inherit;text-decoration:none}.container{width:min(1180px,92%);margin:auto}.narrow{max-width:820px}.site-header{border-bottom:1px solid #e6eaf0;background:#fff;position:sticky;top:0;z-index:20}.nav{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:22px;font-weight:800;letter-spacing:.06em;color:#123a70}.brand span{color:#e22b2f}.nav nav{display:flex;gap:26px;align-items:center;font-size:14px}.nav nav a{color:#31415a}.nav-cta{background:#e32d31!important;color:#fff!important;padding:10px 18px;border-radius:3px}.hero{background:linear-gradient(115deg,#f4f8fc,#fff);min-height:610px;display:flex;align-items:center}.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.14em;color:#e02e32;margin:0 0 15px}.hero h1,.page-hero h1{font-size:clamp(42px,6vw,72px);line-height:1.05;margin:0 0 24px;color:#122b50}.hero h1 span{color:#1f63a8}.hero-copy>p:not(.eyebrow){font-size:18px;max-width:680px;color:#56667b}.actions{display:flex;gap:14px;margin-top:30px}.btn{display:inline-block;padding:13px 23px;border-radius:3px;font-weight:700;border:1px solid #e32d31;cursor:pointer}.btn-primary{background:#e32d31;color:white}.btn-outline{border-color:#1f63a8;color:#1f63a8}.hero-card{min-height:390px;background:#143d70;display:flex;flex-direction:column;justify-content:flex-end;padding:45px;color:#fff;box-shadow:0 20px 60px #193f7022}.hero-card-label{font-size:12px;letter-spacing:.16em;opacity:.75}.hero-card-title{font-size:34px;font-weight:700;line-height:1.15;margin:15px 0}.hero-lines{display:flex;gap:7px}.hero-lines span{display:block;height:5px;background:#e42f33;width:65px}.section{padding:90px 0}.section h2{font-size:42px;line-height:1.15;margin:0 0 40px}.cards{display:grid;gap:22px}.cards.three{grid-template-columns:repeat(3,1fr)}.cards article{border:1px solid #e1e7ee;padding:30px;background:#fff;transition:.2s}.cards article:hover{transform:translateY(-3px);box-shadow:0 12px 30px #1c3d6514}.cards h3{font-size:22px;margin:12px 0}.cards p{color:#647287}.cards a{font-weight:700;color:#1f63a8}.page-hero{background:#f4f7fb;padding:105px 0 85px}.page-hero h1{font-size:clamp(40px,5vw,62px);max-width:850px}.page-hero p:not(.eyebrow){font-size:18px;color:#647287;max-width:800px}.icon-box{height:80px;width:80px;border:1px solid #dce4ee;display:grid;place-items:center;font-size:34px;color:#e32d31}.filter-bar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px}.filter-bar span{border:1px solid #dce3ec;padding:9px 15px;font-size:13px}.product-image,.project-image{height:190px;background:linear-gradient(145deg,#edf2f7,#cdd8e5);margin:-30px -30px 25px}.product-detail{padding:90px 0}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.product-visual{height:520px;background:linear-gradient(145deg,#e9eef4,#bfcbd8)}.product-detail h1{font-size:52px;line-height:1.05}.lead{font-size:20px;color:#627086}.specs{padding-left:20px}.specs li{margin:10px 0}.table-card{border:1px solid #e1e7ee}.table-row{display:grid;grid-template-columns:2fr 1fr 1fr;padding:18px 22px;border-top:1px solid #e6eaf0}.table-head{font-weight:800;background:#f5f7fa;border-top:0}.contact-form{display:grid;gap:18px}.contact-form label{font-weight:700}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid #cfd8e3;font:inherit}.site-footer{background:#102b4e;color:#dbe5f1;padding:60px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-grid strong{display:block;color:#fff;margin-bottom:10px}.footer-grid a{display:block;margin:7px 0;color:#cbd7e5}.footer-brand{color:#fff}.footer-brand span{color:#ff5558}.footer-bottom{border-top:1px solid #ffffff22;margin-top:45px;padding-top:20px;font-size:13px;color:#aebdce}@media(max-width:800px){.nav nav{gap:10px}.nav nav a:not(.nav-cta){display:none}.hero-inner,.product-grid{grid-template-columns:1fr}.hero-card{min-height:280px}.cards.three{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.section{padding:65px 0}.hero{padding:70px 0}.table-row{grid-template-columns:1fr;gap:5px}.table-head{display:none}}


/* =========================================
   PRODUCT CATALOGUE
========================================= */

.catalog-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:30px;
    margin-bottom:32px;
}

.catalog-header h2{
    margin:0;
    font-size:42px;
    line-height:1.15;
    color:#122b50;
}

.catalog-count{
    font-size:14px;
    color:#647287;
    font-weight:700;
    white-space:nowrap;
}

.catalog-filters{
    margin-bottom:45px;
}

.search-box{
    display:flex;
    align-items:stretch;
    gap:12px;
    margin-bottom:14px;
    max-width:850px;
}

.search-box input{
    flex:1;
    min-width:0;
    height:48px;
    padding:0 16px;
    border:1px solid #cfd8e3;
    border-radius:3px;
    font:inherit;
    font-size:14px;
    color:#13233b;
    background:#fff;
}

.search-box input:focus,
.filter-row select:focus{
    outline:none;
    border-color:#1f63a8;
    box-shadow:0 0 0 2px #1f63a81a;
}

.search-box .btn{
    height:48px;
    padding:0 25px;
}

.filter-row{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    align-items:center;
}

.filter-row select{
    min-width:190px;
    height:44px;
    padding:0 14px;
    border:1px solid #d3dce7;
    border-radius:3px;
    background:#fff;
    color:#31415a;
    font:inherit;
    font-size:14px;
}

.product-catalog-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:26px;
    margin-top:10px;
}

.product-card{
    display:block;
    min-width:0;
    border:1px solid #e1e7ee;
    border-radius:3px;
    background:#fff;
    overflow:hidden;
    transition:transform .2s ease,box-shadow .2s ease;
}

.product-card:hover{
    transform:translateY(-4px);
    box-shadow:0 15px 35px #1c3d6518;
}

.product-card > a{
    display:block;
    height:100%;
}

.product-card-image{
    width:100%;
    height:260px;
    background:#f3f6f9;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    border-bottom:1px solid #e7ebf0;
}

.product-card-image img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:24px;
    display:block;
}

.product-placeholder{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(145deg,#edf2f7,#d5dee8);
    color:#718096;
    font-size:11px;
    font-weight:800;
    letter-spacing:.14em;
}

.product-card-body{
    padding:25px;
}

.product-brand{
    margin:0 0 8px;
    color:#e32d31;
    font-size:11px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.product-card h3{
    margin:0 0 12px;
    color:#122b50;
    font-size:21px;
    line-height:1.25;
}

.product-model{
    margin:0 0 8px;
    color:#647287;
    font-size:14px;
}

.product-category{
    margin:0 0 18px;
    color:#647287;
    font-size:13px;
}

.product-link{
    display:inline-block;
    color:#1f63a8;
    font-size:14px;
    font-weight:800;
}

.catalog-pagination{
    margin-top:45px;
    display:flex;
    justify-content:center;
}

.catalog-empty{
    border:1px solid #e1e7ee;
    padding:70px 30px;
    text-align:center;
    background:#f8fafc;
}

.catalog-empty h3{
    margin:0 0 10px;
    font-size:26px;
    color:#122b50;
}

.catalog-empty p{
    color:#647287;
    margin-bottom:25px;
}

@media(max-width:1000px){

    .product-catalog-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

}

@media(max-width:800px){

    .catalog-header{
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
    }

    .catalog-header h2{
        font-size:32px;
    }

    .search-box{
        flex-direction:column;
        max-width:none;
    }


    .search-box .btn{
        width:100%;
        text-align:center;
    }

    .filter-row{
        flex-direction:column;
        align-items:stretch;
    }

    .filter-row select,
    .filter-row .btn{
        width:100%;
    }

    .product-catalog-grid{
        grid-template-columns:1fr;
    }

    .product-card-image{
        height:230px;
    }

}

/* Product catalogue sizing fix */
.product-catalog-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:26px !important;
    width:100% !important;
}

.product-card{
    width:100% !important;
    max-width:100% !important;
}

.product-card-image{
    width:100% !important;
    height:260px !important;
    max-height:260px !important;
    overflow:hidden !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.product-card-image img{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    padding:24px !important;
}

@media(max-width:1000px){
    .product-catalog-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

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

    .product-card-image{
        height:230px !important;
        max-height:230px !important;
    }
}


/* FINAL PRODUCT CARD DIMENSION FIX */
.product-catalog-grid .product-card-image {
    height: 240px !important;
    min-height: 240px !important;
    max-height: 240px !important;
    width: 100% !important;
    position: relative !important;
    overflow: hidden !important;
}

.product-catalog-grid .product-card-image img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    padding: 18px !important;
    display: block !important;
}

/* DEBUG PRODUCT CARD */
.product-catalog-grid {
    outline: 4px solid red !important;
}

.product-catalog-grid .product-card {
    outline: 4px solid blue !important;
}

.product-catalog-grid .product-card-image {
    height: 240px !important;
    min-height: 240px !important;
    max-height: 240px !important;
}
/* =========================================================
   SINODIA MEDICAL — PRODUCT DETAIL PAGE
   Reference-style product page
========================================================= */

.product-page {
    background: #fff;
    color: #17233b;
}

/* ---------- Breadcrumb ---------- */

.product-breadcrumb {
    padding: 22px 0;
    font-size: 12px;
    color: #718096;
}

.product-breadcrumb a {
    color: #718096;
}

.product-breadcrumb span {
    margin: 0 7px;
    color: #b5bfcc;
}

/* ---------- Main Product Hero ---------- */

.product-hero {
    padding: 35px 0 55px;
}

.product-hero-grid {
    display: grid;
    grid-template-columns: 42% 58%;
    gap: 45px;
    align-items: center;
}

/* ---------- Product Gallery ---------- */

.product-gallery {
    min-width: 0;
}

.product-main-image {
    height: 500px;
    background: #f5f7fa;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 4px;
}

.product-main-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 35px;
}

.product-gallery-thumbs {
    display: flex;
    gap: 12px;
    margin-top: 15px;
    overflow-x: auto;
}

.product-gallery-thumb {
    width: 82px;
    height: 65px;
    flex: 0 0 82px;
    border: 1px solid #e0e6ed;
    background: #f7f9fb;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.product-gallery-thumb.active {
    border: 2px solid #1f63a8;
}

.product-gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 5px;
}

/* ---------- Product Information ---------- */

.product-hero-info {
    padding: 10px 0;
}

.product-page .product-eyebrow {
    margin: 0 0 13px;
    color: #1f63a8;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.product-hero-info h1 {
    margin: 0 0 14px;
    color: #102f60;
    font-size: clamp(38px, 4vw, 56px);
    line-height: 1.08;
    font-weight: 800;
}

.product-subtitle {
    margin: 0 0 22px;
    color: #52627a;
    font-size: 18px;
    font-weight: 600;
}

.product-intro {
    max-width: 620px;
    color: #59687c;
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 28px;
}

/* ---------- Product Highlight Stats ---------- */

.product-highlights {
    display: flex;
    gap: 30px;
    padding: 24px 0;
    border-top: 1px solid #e6ebf1;
    border-bottom: 1px solid #e6ebf1;
    flex-wrap: wrap;
}

.product-highlight {
    display: flex;
    align-items: center;
    gap: 11px;
}

.product-highlight-icon {
    width: 42px;
    height: 42px;
    border: 1px solid #8bb4e0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1765ad;
    font-size: 17px;
}

.product-highlight strong {
    display: block;
    color: #122b50;
    font-size: 14px;
}

.product-highlight small {
    display: block;
    color: #718096;
    font-size: 11px;
}

/* ---------- Buttons ---------- */

.product-actions {
    display: flex;
    gap: 12px;
    margin-top: 28px;
    flex-wrap: wrap;
}

.product-actions .btn {
    min-height: 45px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ---------- Product Content Tabs ---------- */

.product-tabs-wrapper {
    margin-top: 10px;
    border: 1px solid #e1e7ee;
    border-radius: 7px;
    overflow: hidden;
}

.product-tabs {
    display: flex;
    align-items: center;
    gap: 35px;
    padding: 0 22px;
    border-bottom: 1px solid #e5eaf0;
    background: #fff;
    overflow-x: auto;
}

.product-tab {
    position: relative;
    padding: 20px 0;
    color: #58677c;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

.product-tab.active {
    color: #145da7;
}

.product-tab.active::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 2px;
    background: #145da7;
}

.product-tab-content {
    padding: 45px 22px;
}

/* ---------- Overview Layout ---------- */

.product-overview-grid {
    display: grid;
    grid-template-columns: 1.35fr .8fr .8fr;
    gap: 30px;
}

.product-overview h2,
.product-overview h3 {
    color: #102f60;
}

.product-overview h2 {
    font-size: 20px;
    margin: 0 0 14px;
}

.product-overview h3 {
    font-size: 15px;
    margin: 0 0 18px;
}

.product-overview p {
    color: #59687c;
    font-size: 14px;
    line-height: 1.75;
}

/* ---------- Quick Information ---------- */

.quick-information {
    border: 1px solid #e0e6ed;
    border-radius: 7px;
    padding: 20px;
}

.quick-information h3 {
    margin-bottom: 15px;
}

.quick-information-row {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding: 11px 0;
    border-top: 1px solid #edf0f4;
    font-size: 13px;
}

.quick-information-row:first-of-type {
    border-top: 0;
}

.quick-information-label {
    color: #718096;
}

.quick-information-value {
    color: #26364e;
    font-weight: 600;
    text-align: right;
}

/* ---------- Quote Box ---------- */

.product-quote-box {
    background: #07357f;
    color: #fff;
    padding: 25px;
    border-radius: 7px;
}

.product-quote-box h3 {
    color: #fff;
    margin: 0 0 10px;
    font-size: 19px;
}

.product-quote-box p {
    color: #dce7f7;
    font-size: 13px;
    margin-bottom: 18px;
}

.product-quote-box input,
.product-quote-box textarea {
    width: 100%;
    border: 0;
    border-radius: 4px;
    padding: 11px 12px;
    margin-bottom: 8px;
    font: inherit;
    font-size: 12px;
}

.product-quote-box textarea {
    min-height: 80px;
    resize: vertical;
}

.product-quote-box button {
    width: 100%;
    border: 0;
    background: #fff;
    color: #06439a;
    font-weight: 800;
    padding: 12px;
    border-radius: 4px;
    cursor: pointer;
}

/* ---------- Why Choose ---------- */

.product-why {
    margin-top: 28px;
    padding: 35px 22px;
    background: #f4f7fb;
    border-radius: 7px;
}

.product-why h2 {
    margin: 0 0 28px;
    color: #102f60;
    font-size: 20px;
}

.product-why-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
}

.product-why-item {
    padding-right: 18px;
    border-right: 1px solid #dde5ef;
}

.product-why-item:last-child {
    border-right: 0;
}

.product-why-icon {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: #e7eef8;
    color: #1765ad;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 13px;
}

.product-why-item h3 {
    margin: 0 0 8px;
    font-size: 14px;
    color: #122b50;
}

.product-why-item p {
    margin: 0;
    color: #637188;
    font-size: 12px;
    line-height: 1.65;
}

/* ---------- Related Products ---------- */

.related-products {
    margin-top: 30px;
    padding: 30px 22px;
    background: #f4f7fb;
    border-radius: 7px;
}

.related-products-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
}

.related-products-header h2 {
    margin: 0;
    color: #102f60;
    font-size: 20px;
}

.related-products-header a {
    color: #0759ad;
    font-size: 13px;
    font-weight: 700;
}

.related-products-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}

.related-product-card {
    background: #fff;
    border-radius: 6px;
    padding: 12px;
    border: 1px solid #e4e9ef;
    transition: .2s ease;
}

.related-product-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px #193f7015;
}

.related-product-image {
    height: 170px;
    background: #f6f8fa;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}

.related-product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 12px;
}

.related-product-card h3 {
    color: #122b50;
    font-size: 13px;
    line-height: 1.35;
    margin: 0 0 6px;
}

.related-product-card p {
    color: #647287;
    font-size: 11px;
    margin: 0 0 10px;
}

.related-product-card a {
    color: #0759ad;
    font-size: 12px;
    font-weight: 700;
}

/* ---------- CTA ---------- */

.product-bottom-cta {
    margin-top: 30px;
    padding: 40px;
    background: #f3f7fb;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.product-bottom-cta h2 {
    margin: 0 0 8px;
    color: #102f60;
    font-size: 24px;
}

.product-bottom-cta p {
    margin: 0;
    color: #68778c;
    font-size: 14px;
}

/* ---------- Responsive ---------- */

@media(max-width:1000px) {

    .product-hero-grid {
        grid-template-columns: 1fr;
    }

    .product-main-image {
        height: 430px;
    }

    .product-overview-grid {
        grid-template-columns: 1fr;
    }

    .product-why-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .product-why-item {
        border-right: 0;
    }

    .related-products-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media(max-width:700px) {

    .product-hero {
        padding-top: 15px;
    }

    .product-main-image {
        height: 330px;
    }

    .product-hero-info h1 {
        font-size: 36px;
    }

    .product-highlights {
        gap: 18px;
    }

    .product-tabs {
        gap: 22px;
    }

    .product-tab-content {
        padding: 30px 18px;
    }

    .product-why-grid {
        grid-template-columns: 1fr;
    }

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

    .product-bottom-cta {
        flex-direction: column;
        align-items: flex-start;
        padding: 28px 22px;
    }
/* =========================================================
   FINAL PRODUCT PAGE FIX
   Keep product detail layout two-column on normal desktop
========================================================= */

.product-page .product-hero-grid {
    display: grid;
    grid-template-columns: 42% 58%;
    gap: 45px;
    align-items: center;
}

.product-page .product-main-image {
    height: 500px;
    background: #f5f7fa;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 4px;
}

.product-page .product-main-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 35px;
}

.product-page .product-hero-info {
    padding: 10px 0;
}

.product-page .product-eyebrow {
    margin: 0 0 13px;
    color: #1f63a8;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.product-page .product-content-card {
    border: 1px solid #e1e7ee;
    border-radius: 7px;
    overflow: hidden;
    background: #fff;
}

@media(max-width:700px) {
    .product-page .product-hero-grid {
        grid-template-columns: 1fr;
    }
/* ============================================================
   SINODIA MEDICAL
   PRODUCTS LANDING PAGE
   Visual Catalogue + Category Sidebar
   ============================================================ */

.products-catalogue-page {
    background: #ffffff;
    color: #172b45;
}


/* ============================================================
   PAGE INTRO
   ============================================================ */

.products-catalogue-intro {
    padding: 58px 0 48px;
    background: #ffffff;
    border-bottom: 1px solid #e8edf3;
}

.products-intro-inner {
    max-width: 920px;
}

.products-eyebrow,
.products-results-eyebrow,
.products-sidebar-label {
    margin: 0 0 13px;
    color: #1765a9;
    font-size: 11px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.products-catalogue-intro h1 {
    margin: 0;
    color: #12345d;
    font-size: clamp(34px, 4vw, 48px);
    line-height: 1.12;
    font-weight: 700;
    letter-spacing: -.025em;
}

.products-intro-text {
    max-width: 680px;
    margin: 18px 0 0;
    color: #68778a;
    font-size: 16px;
    line-height: 1.75;
}


/* ============================================================
   MAIN CATALOGUE LAYOUT
   ============================================================ */

.products-catalogue-section {
    padding: 46px 0 90px;
    background: #ffffff;
}

.products-catalogue-layout {
    display: grid;
    grid-template-columns: 235px minmax(0, 1fr);
    gap: 52px;
    align-items: start;
}


/* ============================================================
   CATEGORY SIDEBAR
   ============================================================ */

.products-category-sidebar {
    position: sticky;
    top: 30px;
}

.products-sidebar-heading {
    padding-bottom: 20px;
    border-bottom: 1px solid #e1e7ee;
}

.products-sidebar-heading h2 {
    margin: 0;
    color: #16385f;
    font-size: 20px;
    line-height: 1.3;
    font-weight: 650;
}

.products-category-menu {
    padding: 8px 0 0;
}

.products-category-link {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 45px;
    padding: 10px 8px;
    color: #526377;
    text-decoration: none;
    border-bottom: 1px solid #edf1f5;
    transition:
        color .18s ease,
        background-color .18s ease,
        padding-left .18s ease;
}

.products-category-link:hover {
    color: #155f9f;
    background: #f7fafc;
    padding-left: 12px;
}

.products-category-link.active {
    color: #125d9f;
    background: #f3f8fc;
    font-weight: 650;
    padding-left: 12px;
}

.products-category-dot {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border: 1px solid #9bb5cd;
    border-radius: 50%;
    background: #ffffff;
}

.products-category-link.active .products-category-dot {
    border-color: #1765a9;
    background: #1765a9;
}

.products-category-name {
    font-size: 13px;
    line-height: 1.4;
}


/* ============================================================
   SIDEBAR NOTE
   ============================================================ */

.products-sidebar-note {
    margin-top: 30px;
    padding: 20px;
    background: #f6f9fc;
    border: 1px solid #e5ebf1;
}

.products-sidebar-note span {
    display: block;
    margin-bottom: 8px;
    color: #315b82;
    font-size: 11px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.products-sidebar-note p {
    margin: 0;
    color: #718095;
    font-size: 12px;
    line-height: 1.7;
}


/* ============================================================
   RESULTS AREA
   ============================================================ */

.products-catalogue-results {
    min-width: 0;
}

.products-results-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 23px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e1e7ee;
}

.products-results-header h2 {
    margin: 0;
    color: #17395f;
    font-size: 25px;
    line-height: 1.3;
    font-weight: 650;
}

.products-results-count {
    color: #7b8999;
    font-size: 12px;
    white-space: nowrap;
}


/* ============================================================
   SEARCH
   ============================================================ */

.products-search {
    display: flex;
    gap: 10px;
    margin-bottom: 30px;
}

.products-search-box {
    position: relative;
    flex: 1;
}

.products-search-icon {
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    color: #7e8d9d;
    font-size: 19px;
    line-height: 1;
}

.products-search input {
    width: 100%;
    height: 46px;
    padding: 0 15px 0 42px;
    color: #253c57;
    font-family: inherit;
    font-size: 13px;
    background: #ffffff;
    border: 1px solid #dbe3eb;
    border-radius: 3px;
    outline: none;
    box-sizing: border-box;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.products-search input::placeholder {
    color: #98a4b1;
}

.products-search input:focus {
    border-color: #8eb2d2;
    box-shadow: 0 0 0 3px rgba(23, 101, 169, .07);
}

.products-search button {
    height: 46px;
    padding: 0 23px;
    color: #ffffff;
    font-family: inherit;
    font-size: 12px;
    font-weight: 650;
    background: #1765a9;
    border: 1px solid #1765a9;
    border-radius: 3px;
    cursor: pointer;
    transition: background-color .18s ease;
}

.products-search button:hover {
    background: #12558f;
}


/* ============================================================
   PRODUCT GRID
   ============================================================ */

.products-visual-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}


/* ============================================================
   PRODUCT CARD
   ============================================================ */

.product-catalogue-card {
    min-width: 0;
    background: #ffffff;
    border: 1px solid #e1e7ee;
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

.product-catalogue-card:hover {
    border-color: #cbd8e4;
    box-shadow: 0 8px 24px rgba(26, 57, 87, .08);
    transform: translateY(-2px);
}


/* ============================================================
   PRODUCT IMAGE
   ============================================================ */

.product-catalogue-image {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 245px;
    padding: 22px;
    overflow: hidden;
    background: #f7f9fb;
    border-bottom: 1px solid #e5ebf0;
    text-decoration: none;
    box-sizing: border-box;
}

.product-catalogue-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform .25s ease;
}

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

.product-image-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #b2bfcc;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .18em;
}

.product-featured-label {
    position: absolute;
    top: 13px;
    left: 13px;
    padding: 5px 8px;
    color: #1765a9;
    font-size: 9px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    background: #ffffff;
    border: 1px solid #d7e3ed;
}


/* ============================================================
   PRODUCT INFORMATION
   ============================================================ */

.product-catalogue-info {
    padding: 19px 19px 20px;
}

.product-card-category {
    margin: 0 0 7px;
    color: #1765a9;
    font-size: 10px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.product-catalogue-info h3 {
    margin: 0;
    min-height: 43px;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 650;
}

.product-catalogue-info h3 a {
    color: #193a5e;
    text-decoration: none;
}

.product-catalogue-info h3 a:hover {
    color: #1765a9;
}

.product-card-model {
    margin: 7px 0 0;
    color: #7b8998;
    font-size: 11px;
    line-height: 1.5;
}

.product-card-description {
    margin: 12px 0 17px;
    color: #6c7a8b;
    font-size: 12px;
    line-height: 1.65;
}

.product-card-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #1765a9;
    font-size: 11px;
    line-height: 1.4;
    font-weight: 650;
    text-decoration: none;
}

.product-card-link span {
    font-size: 15px;
    transition: transform .18s ease;
}

.product-card-link:hover span {
    transform: translateX(3px);
}


/* ============================================================
   EMPTY STATE
   ============================================================ */

.products-empty-state {
    padding: 75px 30px;
    text-align: center;
    background: #f8fafc;
    border: 1px solid #e2e8ee;
}

.products-empty-icon {
    margin-bottom: 15px;
    color: #a6b3c0;
    font-size: 25px;
}

.products-empty-state h3 {
    margin: 0 0 8px;
    color: #294765;
    font-size: 20px;
    font-weight: 650;
}

.products-empty-state p {
    margin: 0 0 20px;
    color: #738195;
    font-size: 13px;
}

.products-empty-link {
    color: #1765a9;
    font-size: 12px;
    font-weight: 650;
    text-decoration: none;
}


/* ============================================================
   PAGINATION
   ============================================================ */

.products-pagination {
    margin-top: 35px;
}

.products-pagination nav {
    display: flex;
    justify-content: center;
}

.products-pagination svg {
    width: 16px;
    height: 16px;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1050px) {

    .products-catalogue-layout {
        grid-template-columns: 210px minmax(0, 1fr);
        gap: 35px;
    }

    .products-visual-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 760px) {

    .products-catalogue-intro {
        padding: 42px 0 35px;
    }

    .products-catalogue-section {
        padding: 35px 0 65px;
    }

    .products-catalogue-layout {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .products-category-sidebar {
        position: static;
    }

    .products-category-menu {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 12px;
    }

    .products-sidebar-note {
        display: none;
    }

}


@media (max-width: 560px) {

    .products-catalogue-intro h1 {
        font-size: 32px;
    }

    .products-intro-text {
        font-size: 14px;
    }

    .products-category-menu {
        grid-template-columns: 1fr;
    }

    .products-results-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .products-search {
        flex-direction: column;
    }

    .products-search button {
        width: 100%;
    }

    .products-visual-grid {
        grid-template-columns: 1fr;
    }

    .product-catalogue-image {
        height: 260px;
    }

}

/* =========================================================
   SINODIA MEDICAL — PRODUCTS LANDING PAGE
   Clean Catalogue Design
   ========================================================= */

.sinodia-products-page {
    background: #ffffff;
    color: #1d2a36;
}


/* =========================================================
   INTRO
   ========================================================= */

.products-intro {
    padding: 72px 0 62px;
    border-bottom: 1px solid #e7edf2;
    background: #ffffff;
}

.products-intro-inner {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
    gap: 80px;
    align-items: end;
}

.products-eyebrow {
    margin: 0 0 16px;
    color: #0756a0;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.products-intro h1 {
    margin: 0;
    color: #182631;
    font-size: clamp(38px, 4vw, 58px);
    line-height: 1.08;
    font-weight: 500;
    letter-spacing: -.025em;
}

.products-intro-copy {
    max-width: 500px;
    padding-bottom: 5px;
}

.products-intro-copy p {
    margin: 0;
    color: #667582;
    font-size: 17px;
    line-height: 1.75;
}


/* =========================================================
   CATALOGUE AREA
   ========================================================= */

.products-catalogue {
    padding: 72px 0 88px;
    background: #f7f9fb;
}

.products-catalogue-layout {
    display: grid;
    grid-template-columns: 270px minmax(0, 1fr);
    gap: 52px;
    align-items: start;
}


/* =========================================================
   SIDEBAR
   ========================================================= */

.products-sidebar {
    position: sticky;
    top: 30px;
}

.products-sidebar-heading {
    padding-bottom: 22px;
    border-bottom: 1px solid #dce4ea;
}

.products-sidebar-eyebrow {
    margin: 0 0 9px;
    color: #82909b;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.products-sidebar-heading h2 {
    margin: 0;
    color: #1c2b36;
    font-size: 21px;
    line-height: 1.3;
    font-weight: 600;
}

.products-category-menu {
    margin-top: 8px;
}

.products-category-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 58px;
    padding: 15px 8px 15px 2px;
    border-bottom: 1px solid #e1e7ec;
    color: #53626e;
    text-decoration: none;
    transition:
        color .2s ease,
        padding .2s ease,
        background .2s ease;
}

.products-category-link:hover {
    color: #0756a0;
    padding-left: 8px;
}

.products-category-link.is-active {
    color: #0756a0;
    padding-left: 10px;
    font-weight: 600;
}

.products-category-name {
    font-size: 14px;
    line-height: 1.4;
}

.products-category-arrow {
    flex: 0 0 auto;
    color: #9aa7b1;
    font-size: 17px;
    transition: transform .2s ease, color .2s ease;
}

.products-category-link:hover .products-category-arrow,
.products-category-link.is-active .products-category-arrow {
    color: #0756a0;
    transform: translateX(3px);
}


/* =========================================================
   CATEGORY PANEL
   ========================================================= */

.products-category-panel {
    display: none;
    grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr);
    min-height: 570px;
    background: #ffffff;
    border: 1px solid #dfe6eb;
    box-shadow: 0 12px 35px rgba(25, 52, 70, .06);
}

.products-category-panel.is-active {
    display: grid;
}


/* =========================================================
   CATEGORY IMAGE
   ========================================================= */

.products-category-visual {
    position: relative;
    min-height: 570px;
    overflow: hidden;
    background: #edf3f7;
}

.products-category-visual img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 570px;
    object-fit: cover;
}

.products-category-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 570px;
    background: #edf3f7;
}

.products-category-placeholder span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 110px;
    height: 110px;
    border: 1px solid #cbd9e2;
    border-radius: 50%;
    color: #0756a0;
    font-size: 40px;
    font-weight: 500;
}


/* =========================================================
   CATEGORY DETAILS
   ========================================================= */

.products-category-details {
    display: flex;
    flex-direction: column;
    padding: 54px 54px 48px;
}

.products-category-details-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 25px;
}

.products-category-details h2 {
    margin: 0;
    color: #1a2935;
    font-size: clamp(30px, 3vw, 42px);
    line-height: 1.15;
    font-weight: 500;
    letter-spacing: -.02em;
}

.products-category-count {
    flex: 0 0 auto;
    margin-top: 4px;
    padding: 7px 11px;
    border: 1px solid #dbe4ea;
    color: #73818c;
    font-size: 11px;
    line-height: 1;
    white-space: nowrap;
}

.products-category-description {
    max-width: 590px;
    margin: 27px 0 30px;
    color: #687782;
    font-size: 15px;
    line-height: 1.75;
}


/* =========================================================
   SUBCATEGORY LIST
   ========================================================= */

.products-subcategory-list {
    border-top: 1px solid #e1e7ec;
}

.products-subcategory {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 51px;
    padding: 13px 2px;
    border-bottom: 1px solid #e8edf0;
    color: #344651;
    text-decoration: none;
    font-size: 14px;
    transition:
        color .2s ease,
        padding .2s ease;
}

.products-subcategory:hover {
    padding-left: 7px;
    color: #0756a0;
}

.products-subcategory span:last-child {
    color: #9aa7b1;
}

.products-subcategory:hover span:last-child {
    color: #0756a0;
}


/* =========================================================
   CATEGORY CTA
   ========================================================= */

.products-category-action {
    margin-top: auto;
    padding-top: 38px;
}

.products-view-category {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    color: #0756a0;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .02em;
}

.products-view-category span {
    font-size: 18px;
    transition: transform .2s ease;
}

.products-view-category:hover span {
    transform: translateX(5px);
}


/* =========================================================
   EMPTY STATE
   ========================================================= */

.products-empty {
    padding: 70px;
    background: #ffffff;
    border: 1px solid #dfe6eb;
}

.products-empty h2 {
    margin: 0 0 15px;
    color: #1b2a35;
    font-size: 32px;
    font-weight: 500;
}

.products-empty p:last-child {
    margin: 0;
    color: #6d7b85;
    line-height: 1.7;
}


/* =========================================================
   CONTACT STRIP
   ========================================================= */

.products-contact-strip {
    padding: 68px 0;
    background: #ffffff;
    border-top: 1px solid #e2e8ed;
}

.products-contact-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
}

.products-contact-inner h2 {
    margin: 0 0 10px;
    color: #1b2a35;
    font-size: 28px;
    line-height: 1.3;
    font-weight: 500;
}

.products-contact-inner p:last-child {
    max-width: 620px;
    margin: 0;
    color: #71808b;
    font-size: 15px;
    line-height: 1.65;
}

.products-contact-button {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    flex: 0 0 auto;
    padding: 15px 21px;
    border: 1px solid #0756a0;
    background: #0756a0;
    color: #ffffff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.products-contact-button:hover {
    background: #064986;
    border-color: #064986;
    color: #ffffff;
    transform: translateY(-1px);
}

.products-contact-button span {
    font-size: 17px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1000px) {

    .products-intro-inner {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .products-intro-copy {
        max-width: 650px;
    }

    .products-catalogue-layout {
        grid-template-columns: 220px minmax(0, 1fr);
        gap: 30px;
    }

    .products-category-panel {
        grid-template-columns: 1fr;
    }

    .products-category-visual,
    .products-category-visual img,
    .products-category-placeholder {
        min-height: 360px;
        height: 360px;
    }

    .products-category-details {
        min-height: 440px;
    }

}


@media (max-width: 700px) {

    .products-intro {
        padding: 50px 0 45px;
    }

    .products-intro h1 {
        font-size: 38px;
    }

    .products-intro-copy p {
        font-size: 15px;
    }

    .products-catalogue {
        padding: 45px 0 60px;
    }

    .products-catalogue-layout {
        display: block;
    }

    .products-sidebar {
        position: static;
        margin-bottom: 30px;
    }

    .products-sidebar-heading {
        padding-bottom: 16px;
    }

    .products-category-menu {
        display: flex;
        overflow-x: auto;
        margin-top: 0;
        border-bottom: 1px solid #dce4ea;
    }

    .products-category-link {
        flex: 0 0 auto;
        min-height: 48px;
        padding: 12px 16px;
        border-bottom: 0;
        white-space: nowrap;
    }

    .products-category-link:hover,
    .products-category-link.is-active {
        padding-left: 16px;
    }

    .products-category-arrow {
        display: none;
    }

    .products-category-panel.is-active {
        display: block;
    }

    .products-category-visual,
    .products-category-visual img,
    .products-category-placeholder {
        min-height: 280px;
        height: 280px;
    }

    .products-category-details {
        min-height: 0;
        padding: 32px 25px 30px;
    }

    .products-category-details-top {
        display: block;
    }

    .products-category-details h2 {
        font-size: 30px;
    }

    .products-category-count {
        display: inline-block;
        margin-top: 15px;
    }

    .products-category-description {
        margin: 22px 0 25px;
        font-size: 14px;
    }

    .products-contact-strip {
        padding: 50px 0;
    }

    .products-contact-inner {
        display: block;
    }

    .products-contact-inner h2 {
        font-size: 25px;
    }

    .products-contact-button {
        margin-top: 25px;
    }

}


/* =========================================================
   END SINODIA MEDICAL PRODUCTS LANDING PAGE
   ========================================================= */


/* =========================================================
   SINODIA MEDICAL — FINAL PRODUCT CATALOGUE
   CRM-STYLE / RESPONSIVE
   ========================================================= */

.products-intro {
    padding: 76px 0 68px;
    background: #ffffff;
    border-bottom: 1px solid #e8edf2;
}

.products-intro-inner {
    max-width: 900px;
}

.products-eyebrow,
.products-results-eyebrow,
.products-contact-eyebrow {
    margin: 0 0 13px;
    color: #1f63a8;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.products-intro h1 {
    margin: 0 0 16px;
    color: #193b63;
    font-size: clamp(38px, 4.5vw, 58px);
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -.025em;
}

.products-intro-copy > p:last-child {
    max-width: 760px;
    margin: 0;
    color: #66778a;
    font-size: 16px;
    line-height: 1.75;
}


/* =========================================================
   CATALOGUE AREA
   ========================================================= */

.products-catalogue {
    padding: 58px 0 82px;
    background: #ffffff;
}

.products-catalogue-layout {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 54px;
    align-items: start;
}


/* =========================================================
   SIDEBAR
   ========================================================= */

.products-sidebar {
    position: sticky;
    top: 105px;
}

.products-sidebar-heading {
    padding: 0 0 16px;
    border-bottom: 1px solid #dfe6ed;
    color: #193b63;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .02em;
}

.products-category-menu {
    border-top: 1px solid #edf1f5;
}

.products-category-group {
    border-bottom: 1px solid #e5ebf0;
}

.products-category-row {
    display: flex;
    align-items: stretch;
    min-height: 48px;
}

.products-category-link {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 12px 8px 12px 3px;
    border: 0;
    background: transparent;
    color: #3c5269;
    text-align: left;
    cursor: pointer;
    font-family: inherit;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 600;
    transition: color .18s ease, background .18s ease;
}

.products-category-link:hover {
    color: #1f63a8;
}

.products-category-link.is-active {
    color: #1f63a8;
    font-weight: 700;
}

.products-category-number {
    flex: 0 0 28px;
    color: #9aa9b8;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .02em;
}

.products-category-name {
    flex: 1;
    min-width: 0;
}

.products-category-product-count {
    flex: 0 0 auto;
    min-width: 20px;
    color: #9aa9b8;
    font-size: 10px;
    font-weight: 500;
    text-align: right;
}

.products-category-expand {
    flex: 0 0 35px;
    position: relative;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.products-category-expand span,
.products-category-expand span::after {
    content: "";
    position: absolute;
    width: 7px;
    height: 1px;
    background: #7e8e9f;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.products-category-expand span::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.products-category-expand.is-open span::after {
    opacity: 0;
}

.products-category-children {
    display: none;
    margin: 0;
    padding: 0 0 7px 18px;
}

.products-category-children.is-open {
    display: block;
}

.products-category-row-level-2 .products-category-link {
    padding-left: 8px;
    font-size: 11px;
    font-weight: 500;
}

.products-category-row-level-3 .products-category-link {
    padding-left: 15px;
    font-size: 11px;
    font-weight: 500;
}

.products-category-row-level-4 .products-category-link {
    padding-left: 22px;
    font-size: 11px;
    font-weight: 500;
}

.products-category-children-level-3,
.products-category-children-level-4 {
    padding-left: 8px;
}

.products-sidebar-note {
    margin-top: 20px;
    padding: 15px 14px;
    border: 1px solid #e3e9ef;
    background: #f8fafc;
    color: #778797;
    font-size: 11px;
    line-height: 1.65;
}


/* =========================================================
   RESULTS HEADER
   ========================================================= */

.products-results {
    min-width: 0;
}

.products-results-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    padding-bottom: 18px;
    margin-bottom: 22px;
    border-bottom: 1px solid #dfe6ed;
}

.products-results-eyebrow {
    margin-bottom: 8px;
    color: #8b9aaa;
    font-size: 10px;
}

.products-results-header h2 {
    margin: 0 0 5px;
    color: #193b63;
    font-size: 27px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -.015em;
}

.products-results-header p {
    margin: 0;
    color: #8291a0;
    font-size: 12px;
    line-height: 1.5;
}

.products-results-meta {
    flex: 0 0 auto;
    color: #9aa7b4;
    font-size: 10px;
    white-space: nowrap;
}

.products-results-meta span:first-child {
    color: #52687e;
    font-size: 12px;
    font-weight: 700;
}


/* =========================================================
   PRODUCT GRID
   ========================================================= */

.products-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.products-card {
    min-width: 0;
    border: 1px solid #e1e7ed;
    background: #ffffff;
    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.products-card:hover {
    transform: translateY(-2px);
    border-color: #ccd8e4;
    box-shadow: 0 9px 25px rgba(24, 55, 88, .07);
}

.products-card.is-filtered-out {
    display: none;
}

.products-card-image {
    display: block;
    position: relative;
    height: 205px;
    overflow: hidden;
    background: #f4f7fa;
    border-bottom: 1px solid #e5ebf0;
}

.products-card-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    padding: 18px;
    transition: transform .25s ease;
}

.products-card:hover .products-card-image img {
    transform: scale(1.025);
}

.products-card-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        linear-gradient(
            135deg,
            #f6f8fa 0%,
            #edf2f6 100%
        );
    color: #9aa9b7;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .15em;
}

.products-card-content {
    padding: 19px 19px 18px;
}

.products-card-brand {
    margin-bottom: 7px;
    color: #7f91a2;
    font-size: 9px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.products-card h3 {
    margin: 0;
    color: #1b3d62;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 700;
}

.products-card h3 a {
    color: inherit;
}

.products-card h3 a:hover {
    color: #1f63a8;
}

.products-card-reference {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 7px;
    color: #8a99a8;
    font-size: 10px;
    line-height: 1.4;
}

.products-reference-separator {
    color: #b5c0ca;
}

.products-card-content > p {
    min-height: 42px;
    margin: 12px 0 15px;
    color: #718294;
    font-size: 11px;
    line-height: 1.55;
}

.products-card-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #1f63a8;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 700;
}

.products-card-link span {
    transition: transform .18s ease;
}

.products-card-link:hover span {
    transform: translateX(3px);
}


/* =========================================================
   EMPTY STATE
   ========================================================= */

.products-filter-empty {
    min-height: 190px;
    align-items: center;
    justify-content: center;
    border: 1px solid #e1e7ed;
    background: #fafbfd;
    text-align: center;
}

.products-filter-empty > div {
    max-width: 350px;
    padding: 30px;
}

.products-filter-empty strong {
    display: block;
    margin-bottom: 7px;
    color: #284866;
    font-size: 16px;
}

.products-filter-empty p {
    margin: 0;
    color: #8997a5;
    font-size: 12px;
    line-height: 1.6;
}


/* =========================================================
   CONTACT STRIP
   ========================================================= */

.products-contact-strip {
    padding: 52px 0;
    border-top: 1px solid #e3e9ef;
    background: #f7f9fb;
}

.products-contact-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.products-contact-eyebrow {
    margin-bottom: 8px;
    color: #8292a2;
    font-size: 10px;
}

.products-contact-inner h2 {
    margin: 0 0 9px;
    color: #193b63;
    font-size: 24px;
    line-height: 1.25;
}

.products-contact-inner p:not(.products-contact-eyebrow) {
    margin: 0;
    color: #718294;
    font-size: 13px;
    line-height: 1.6;
}

.products-contact-button {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex: 0 0 auto;
    padding: 13px 19px;
    border: 1px solid #1f63a8;
    background: #1f63a8;
    color: #ffffff;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 700;
    transition:
        background .18s ease,
        border-color .18s ease,
        transform .18s ease;
}

.products-contact-button:hover {
    background: #174f87;
    border-color: #174f87;
    color: #ffffff;
    transform: translateY(-1px);
}

.products-contact-button span {
    font-size: 15px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1050px) {

    .products-catalogue-layout {
        grid-template-columns: 220px minmax(0, 1fr);
        gap: 34px;
    }

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

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 720px) {

    .products-intro {
        padding: 52px 0 48px;
    }

    .products-intro h1 {
        font-size: 38px;
    }

    .products-intro-copy > p:last-child {
        font-size: 14px;
    }

    .products-catalogue {
        padding: 38px 0 55px;
    }

    .products-catalogue-layout {
        display: block;
    }

    .products-sidebar {
        position: static;
        margin-bottom: 35px;
    }

    .products-category-menu {
        max-height: none;
    }

    .products-sidebar-note {
        display: none;
    }

    .products-category-row {
        min-height: 46px;
    }

    .products-category-link {
        font-size: 11px;
    }

    .products-category-number {
        flex-basis: 25px;
    }

    .products-category-children {
        padding-left: 12px;
    }

    .products-results-header {
        align-items: flex-start;
        gap: 15px;
    }

    .products-results-header h2 {
        font-size: 24px;
    }

    .products-results-meta {
        padding-top: 24px;
    }

    .products-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .products-card-image {
        height: 230px;
    }

    .products-contact-inner {
        display: block;
    }

    .products-contact-button {
        margin-top: 24px;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 430px) {

    .products-intro h1 {
        font-size: 34px;
    }

    .products-results-header {
        display: block;
    }

    .products-results-meta {
        padding-top: 12px;
    }

}


/* =========================================================
   END FINAL PRODUCT CATALOGUE
   ========================================================= */


/* SINODIA HEADER LOGO FIX */
.site-header .brand img {
    display: block !important;
    width: 180px !important;
    height: 55px !important;
    max-width: 180px !important;
    max-height: 55px !important;
    object-fit: contain !important;
}
