:root{
    --a2v-red:#981d25;
    --a2v-red-dark:#74161c;
    --a2v-black:#090909;
    --a2v-dark:#171717;
    --a2v-graphite:#2b2b2b;
    --a2v-grey:#6f6f6f;
    --a2v-muted:#777777;
    --a2v-soft:#f6f6f6;
    --a2v-soft-2:#fafafa;
    --a2v-line:#e5e5e5;
    --a2v-white:#ffffff;
}

.flx-page{
    font-family:Arial, Helvetica, sans-serif;
    background:#fff;
    color:var(--a2v-dark);
}

.flx-page *{box-sizing:border-box;}

.flx-page h1,
.flx-page h2,
.flx-page h3,
.flx-page h4{
    color:var(--a2v-black);
    font-weight:800;
    line-height:1.04;
    letter-spacing:-.045em;
}

.flx-page h1{
    font-size:clamp(38px,5vw,72px);
    margin:0 0 24px;
    max-width:980px;
}

.flx-page h2{
    font-size:clamp(30px,3.4vw,48px);
    margin:0 0 18px;
    max-width:780px;
}

.flx-page h3{
    font-size:22px;
    margin:0 0 12px;
    letter-spacing:-.025em;
}

.flx-page p{
    color:#444;
    margin-top:0;
}

.flx-container{
    max-width:1140px;
    margin:0 auto;
    padding-left:28px;
    padding-right:28px;
}

.flx-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-weight:800;
    font-size:11px;
    color:var(--a2v-red);
    margin-bottom:20px;
}
.flx-eyebrow:before{
    content:"";
    width:34px;
    height:2px;
    background:var(--a2v-red);
    display:inline-block;
}

/* HERO */
.flx-hero{
    position:relative;
    overflow:hidden;
    background:#fff;
    border-top:1px solid #f0f0f0;
    border-bottom:1px solid var(--a2v-line);
}
.flx-hero:before{
    content:"";
    position:absolute;
    inset:auto -18% -44% auto;
    width:720px;
    height:720px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(152,29,37,.10) 0%,rgba(152,29,37,.06) 42%,rgba(152,29,37,0) 70%);
    pointer-events:none;
}
.flx-hero:after{
    position:absolute;
    right:4%;
    top:8%;
    font-size:150px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.08em;
    color:rgba(0,0,0,.025);
    pointer-events:none;
}
.flx-hero-inner{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
    gap:64px;
    align-items:center;
    padding:78px 0 74px;
}
.flx-lead{
    font-size:21px;
    line-height:1.55;
    max-width:760px;
    color:#3c3c3c;
    margin-bottom:28px;
}
.flx-actions{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    margin:32px 0 34px;
}
.flx-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:0 24px;
    border-radius:2px;
    font-weight:800;
    font-size:14px;
    text-decoration:none !important;
    transition:.22s ease;
    border:1px solid transparent;
}
.flx-btn-primary{
    background:var(--a2v-red);
    color:#fff !important;
    box-shadow:0 16px 30px rgba(152,29,37,.20);
}
.flx-btn-primary:hover{
    background:var(--a2v-red-dark);
    color:#fff !important;
    transform:translateY(-2px);
}
.flx-btn-secondary{
    background:#fff;
    color:var(--a2v-black) !important;
    border-color:#cfcfcf;
}
.flx-btn-secondary:hover{
    border-color:var(--a2v-red);
    color:var(--a2v-red) !important;
    transform:translateY(-2px);
}

.flx-stage-specs{
    margin-top:28px;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px;
}

.flx-stage-spec{
    background:#fff;
    border:1px solid var(--a2v-line);
    padding:14px 10px;
    text-align:center;
    transition:.2s ease;
}

.flx-stage-spec:hover{
    border-color:var(--a2v-red);
}

.flx-stage-spec strong{
    display:block;
    font-size:15px;
    font-weight:800;
    color:#222;
    line-height:1.2;
}
.flx-visual{
    position:relative;
    min-height:430px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.flx-product-stage{
    position:relative;
    width:100%;
    max-width:520px;
    background:linear-gradient(145deg,#fff 0%,#f5f5f5 100%);
    border:1px solid #dedede;
    padding:62px 38px 58px;
    box-shadow:0 38px 90px rgba(0,0,0,.12);
}
.flx-product-stage:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:5px;
    height:100%;
    background:var(--a2v-red);
}
.flx-product-stage img{
    display:block;
    max-width:100%;
    height:auto;
    margin:0 auto;
    filter:drop-shadow(0 26px 28px rgba(0,0,0,.18));
}
.flx-stage-label{
    position:absolute;
    left:28px;
    top:24px;
    font-size:11px;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:#6d6d6d;
}
.flx-stage-chip{
    position:absolute;
    right:24px;
    bottom:22px;
    background:#111;
    color:#fff;
    padding:9px 13px;
    border-radius:2px;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-weight:900;
}

/* NAV */
.flx-nav-strip{
    position:sticky;
    top:0;
    z-index:20;
    background:rgba(255,255,255,.97);
    border-bottom:1px solid var(--a2v-line);
    backdrop-filter:blur(14px);
}
.flx-nav-strip .flx-container{
    display:flex;
    gap:30px;
    align-items:center;
    overflow:auto;
    white-space:nowrap;
    padding-top:14px;
    padding-bottom:14px;
}
.flx-nav-strip a{
    color:#444;
    font-weight:800;
    font-size:13px;
    text-decoration:none;
    position:relative;
}
.flx-nav-strip a:hover{color:var(--a2v-red);}
.flx-nav-strip a:after{
    content:"";
    position:absolute;
    left:0;
    bottom:-14px;
    width:0;
    height:2px;
    background:var(--a2v-red);
    transition:.2s ease;
}
.flx-nav-strip a:hover:after{width:100%;}

/* SECTIONS */
.flx-section{padding:86px 0;}
.flx-section-soft{
    background:var(--a2v-soft-2);
    border-top:1px solid var(--a2v-line);
    border-bottom:1px solid var(--a2v-line);
}
.flx-section-head{
    display:flex;
    justify-content:space-between;
    gap:48px;
    align-items:flex-end;

}
.flx-section-head p{
    max-width:600px;
    margin:0;
    color:#555;
}

/* PRODUCTS */
.flx-product-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}
.flx-card{
    background:#fff;
    border:1px solid var(--a2v-line);
    overflow:hidden;
    transition:.24s ease;
    position:relative;
}
.flx-card:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:3px;
    background:var(--a2v-red);
    transform:scaleX(0);
    transform-origin:left;
    transition:.24s ease;
    z-index:2;
}
.flx-card:hover{
    transform:translateY(-5px);
    box-shadow:0 30px 60px rgba(0,0,0,.10);
    border-color:#d0d0d0;
}
.flx-card:hover:before{transform:scaleX(1);}
.flx-card-top{
    height:205px;
    background:linear-gradient(145deg,#fbfbfb,#f0f0f0);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:28px;
    border-bottom:1px solid var(--a2v-line);
}
.flx-card-top img{
    max-height:140px;
    max-width:92%;
    filter:drop-shadow(0 16px 16px rgba(0,0,0,.12));
    transition:.24s ease;
}
.flx-card:hover .flx-card-top img{transform:scale(1.035);}
.flx-card-body{padding:24px;}
.flx-card-title{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:18px;
}
.flx-card-title h3{
    font-size:20px;
    margin:0;
}
.flx-protocol{
    font-size:10px;
    line-height:1;
    text-transform:uppercase;
    font-weight:900;
    border:1px solid #d8d8d8;
    padding:8px 9px;
    color:var(--a2v-red);
    background:#fff;
    letter-spacing:.05em;
}
.flx-specs{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
    margin:0 0 20px;
    padding:0;
    list-style:none;
    border-top:1px solid #eeeeee;
    border-left:1px solid #eeeeee;
}
.flx-specs li{
    font-size:12px;
    color:#696969;
    border-right:1px solid #eeeeee;
    border-bottom:1px solid #eeeeee;
    padding:10px 11px;
}
.flx-specs strong{
    display:block;
    color:#111;
    font-size:15px;
    line-height:1.15;
    margin-bottom:3px;
}
.flx-card-link{
    display:inline-flex;
    align-items:center;
    font-weight:900;
    color:var(--a2v-red);
    text-decoration:none;
    font-size:14px;
}
.flx-card-link:after{
    content:"→";
    margin-left:9px;
    transition:.2s ease;
}
.flx-card-link:hover{color:var(--a2v-red-dark);}
.flx-card-link:hover:after{transform:translateX(5px);}

/* BENEFITS */
.flx-benefits{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}
.flx-benefit{
    background:#fff;
    border:1px solid var(--a2v-line);
    padding:32px 26px;
    min-height:230px;
    position:relative;
    overflow:hidden;
}
.flx-benefit:after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:3px;
    background:var(--a2v-red);
    transform:scaleX(.18);
    transform-origin:left;
}
.flx-benefit-num{
    font-size:12px;
    font-weight:900;
    color:var(--a2v-red);
    margin-bottom:22px;
    letter-spacing:.12em;
}
.flx-benefit p{
    font-size:15px;
    margin:0;
    color:#555;
}

/* SPLIT / PANELS */
.flx-split{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:50px;
    align-items:start;
}
.flx-panel{
    background:#fff;
    border:1px solid var(--a2v-line);
    padding:36px;
    box-shadow:0 22px 50px rgba(0,0,0,.05);
}
.flx-list{
    list-style:none;
    margin:20px 0 0;
    padding:0;
    display:grid;
    gap:13px;
}
.flx-list li{
    position:relative;
    padding-left:28px;
    color:#414141;
}
.flx-list li:before{
    content:"";
    position:absolute;
    left:0;
    top:10px;
    width:8px;
    height:8px;
    background:var(--a2v-red);
    box-shadow:0 0 0 5px rgba(152,29,37,.10);
}

/* APPLICATIONS */
.flx-app-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}
.flx-app{
    background:#fff;
    border:1px solid var(--a2v-line);
    padding:30px;
    min-height:210px;
    transition:.22s ease;
}
.flx-app:hover{
    border-color:#d1d1d1;
    box-shadow:0 20px 46px rgba(0,0,0,.06);
    transform:translateY(-3px);
}
.flx-app small{
    display:block;
    font-weight:900;
    color:var(--a2v-red);
    margin-bottom:14px;
    text-transform:uppercase;
    letter-spacing:.10em;
}

/* TABLE */
.flx-compare{
    width:100%;
    border-collapse:collapse;
    background:#fff;
    border:1px solid var(--a2v-line);
    overflow:hidden;
    box-shadow:0 20px 45px rgba(0,0,0,.06);
}
.flx-compare th{
    background:#111;
    color:#fff;
    text-align:left;
    padding:18px;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.flx-compare th:nth-child(2){background:var(--a2v-red);}
.flx-compare td{
    padding:16px 18px;
    border-top:1px solid var(--a2v-line);
    color:#404040;
}
.flx-compare td:nth-child(2){
    font-weight:800;
    color:#111;
    background:#fbfbfb;
}

/* FAQ */
.flx-faq{display:grid;gap:12px;}
.flx-faq details{
    background:#fff;
    border:1px solid var(--a2v-line);
    padding:20px 24px;
    transition:.2s ease;
}
.flx-faq details[open]{
    border-left:5px solid var(--a2v-red);
    box-shadow:0 14px 34px rgba(0,0,0,.04);
}
.flx-faq summary{
    cursor:pointer;
    font-weight:900;
    color:#111;
    font-size:17px;
    list-style:none;
}
.flx-faq summary::-webkit-details-marker{display:none;}
.flx-faq summary:after{
    content:"+";
    float:right;
    color:var(--a2v-red);
    font-size:22px;
    line-height:1;
}
.flx-faq details[open] summary:after{content:"–";}
.flx-faq p{
    margin:16px 0 0;
    color:#555;
    max-width:860px;
}

/* CTA */
.flx-cta{
    background:#111;
    color:#fff;
    padding:50px;
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:32px;
    align-items:center;
    box-shadow:0 30px 70px rgba(0,0,0,.24);
    position:relative;
    overflow:hidden;
}
.flx-cta:before{
    content:"";
    position:absolute;
    right:-160px;
    top:-160px;
    width:420px;
    height:420px;
    border-radius:50%;
    background:rgba(152,29,37,.34);
}
.flx-cta:after{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:6px;
    height:100%;
    background:var(--a2v-red);
}
.flx-cta > *{position:relative;z-index:2;}
.flx-cta h2,.flx-cta p{color:#fff;margin-bottom:12px;}
.flx-cta p{opacity:.82;}
.flx-cta .flx-eyebrow{color:#fff;opacity:.85;}
.flx-cta .flx-eyebrow:before{background:var(--a2v-red);}
.flx-cta .flx-actions{justify-content:flex-end;margin:0;}
.flx-cta .flx-btn-primary{background:var(--a2v-red);color:#fff !important;box-shadow:none;}
.flx-cta .flx-btn-secondary{background:transparent;color:#fff !important;border-color:rgba(255,255,255,.38);}
.flx-cta .flx-btn-secondary:hover{border-color:#fff;color:#fff !important;}

@media(max-width:991px){
    .flx-hero-inner,.flx-split,.flx-cta{grid-template-columns:1fr;}
    .flx-product-grid,.flx-app-grid{grid-template-columns:repeat(2,1fr);}
    .flx-benefits{grid-template-columns:repeat(2,1fr);}
    .flx-cta .flx-actions{justify-content:flex-start;}
    .flx-visual{min-height:auto;}
}
@media(max-width:640px){
    .flx-container{padding-left:18px;padding-right:18px;}
    .flx-section{padding:58px 0;}
    .flx-section-head{display:block;}
    .flx-hero-inner{padding:50px 0;gap:34px;}
    .flx-metrics,.flx-product-grid,.flx-app-grid,.flx-benefits{grid-template-columns:1fr;}
    .flx-product-stage{padding:46px 24px;}
    .flx-card-top{height:180px;}
    .flx-cta{padding:34px 26px;}
}

.flx-app{
    background:#fff;
    border:1px solid var(--a2v-line);
    border-radius:8px;
    padding:30px;
    transition:.25s ease;
}

.flx-app:hover{
    transform:translateY(-4px);
    border-color:#981d25;
    box-shadow:0 18px 40px rgba(0,0,0,.08);
}

.flx-app-icon{
    width:60px;
    height:60px;
    border-radius:50%;
    background:rgba(152,29,37,.08);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:20px;
}

.flx-app-icon i{
    font-size:24px;
    color:#981d25;
}

.flx-app small{
    display:block;
    margin-bottom:10px;
    color:#981d25;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.flx-app h3{
    margin-bottom:12px;
}


/* =========================================================
   Ajustements A2V - Header compact + cartes portfolio
   A placer en fin de fichier CSS pour écraser les anciens styles
========================================================= */

/* HEADER PLUS COMPACT */
.flx-page h1{
    font-size:clamp(34px,3.4vw,46px);
    max-width:760px;
    margin:0 0 18px;
}

.flx-hero-inner{
    grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
    gap:42px;
    padding:42px 0;
}

.flx-lead{
    font-size:17px;
    line-height:1.6;
    max-width:690px;
    margin-bottom:20px;
}

.flx-actions{
    margin:22px 0 20px;
}

.flx-visual{
    min-height:290px;
}

.flx-product-stage{
    max-width:390px;
    padding:36px 24px 34px;
    box-shadow:0 24px 58px rgba(0,0,0,.11);
}

.flx-product-stage img{
    max-height:220px;
    width:auto;
}

.flx-stage-label{
    left:20px;
    top:18px;
    font-size:10px;
}

.flx-stage-chip{
    right:18px;
    bottom:16px;
    padding:7px 10px;
    font-size:10px;
}

.flx-hero:after{
    font-size:96px;
    right:4%;
    top:10%;
}

/* Badges compacts pour remplacer les gros blocs métriques si besoin */
.flx-badges{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
}

.flx-badges span{
    background:#fff;
    border:1px solid var(--a2v-line);
    padding:8px 14px;
    font-size:13px;
    font-weight:800;
    color:#333;
}

/* Si tu gardes .flx-metrics, version compacte */
.flx-metrics{
    max-width:680px;
}

.flx-metric{
    min-height:auto;
    padding:12px 13px;
}

.flx-metric strong{
    font-size:17px;
}

.flx-metric span{
    font-size:12px;
    margin-top:5px;
}

/* CARTES PRODUITS - HTML D'ORIGINE .portfolio-item */
.flx-page .portfolio-item{
    background:#fff;
    border:1px solid var(--a2v-line);
    overflow:hidden;
    transition:.24s ease;
    position:relative;
    margin-bottom:28px;
}

.flx-page .portfolio-item:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:3px;
    background:var(--a2v-red);
    transform:scaleX(0);
    transform-origin:left;
    transition:.24s ease;
    z-index:2;
}

.flx-page .portfolio-item:hover{
    transform:translateY(-5px);
    box-shadow:0 30px 60px rgba(0,0,0,.10);
    border-color:#d0d0d0;
}

.flx-page .portfolio-item:hover:before{
    transform:scaleX(1);
}

.flx-page .portfolio-image{
    height:200px;
    background:#fff!important;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:26px;
    border-bottom:1px solid var(--a2v-line);
}

.flx-page .portfolio-image a{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
}

.flx-page .portfolio-image img{
    max-height:135px;
    max-width:92%;
    width:auto;
    height:auto;
    object-fit:contain;
    filter:drop-shadow(0 16px 16px rgba(0,0,0,.12));
    transition:.24s ease;
}

.flx-page .portfolio-item:hover .portfolio-image img{
    transform:scale(1.035);
}

.flx-page .portfolio-info ul{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 18px;
    margin:0;
    padding:22px 22px 20px;
    list-style:none;
    background:#fff;
}

.flx-page .portfolio-info ul li{
    border:0!important;
    padding:8px 0!important;
    color:#696969;
    font-size:12px;
    line-height:1.35;
}

.flx-page .portfolio-project-name{
    grid-column:1/-1;
    color:#111!important;
    font-size:18px!important;
    font-weight:900;
    letter-spacing:-.025em;
    line-height:1.18;
    padding:0 0 15px!important;
    margin-bottom:8px;
    border-bottom:1px solid #eee!important;
}

.flx-page .portfolio-info strong{
    display:block;
    color:#777;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.08em;
    margin-bottom:4px;
}

.flx-page .portfolio-info span{
    display:block;
    color:#111;
    font-size:17px;
    font-weight:800;
    line-height:1.15;
}

.flx-page .read-more{
    grid-column:1/-1;
    display:flex;
    gap:8px;
    align-items:center;
    padding-top:16px!important;
}

.flx-page .read-more .btn{
    background:#981d25;
    border:1px solid #981d25;
    color:#fff!important;
    border-radius:2px;
    padding:10px 16px;
    font-weight:800;
    line-height:1.2;
    box-shadow:none;
    text-decoration:none!important;
}

.flx-page .read-more .btn:hover{
    background:#74161c;
    border-color:#74161c;
    color:#fff!important;
}

.flx-page .read-more .btn-green{
    background:#333;
    border-color:#333;
    padding:10px 13px;
}

.flx-page .read-more .btn-green:hover{
    background:#111;
    border-color:#111;
}

/* ICÔNES APPLICATIONS */
.flx-app-icon{
    width:60px;
    height:60px;
    border-radius:50%;
    background:rgba(152,29,37,.08);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:20px;
}

.flx-app-icon i{
    font-size:24px;
    color:var(--a2v-red);
}

/* RESPONSIVE */
@media(max-width:991px){
    .flx-hero-inner{
        grid-template-columns:1fr;
        gap:30px;
        padding:42px 0;
    }

    .flx-page h1{
        font-size:36px;
    }

    .flx-visual{
        min-height:auto;
    }

    .flx-product-stage{
        max-width:360px;
        margin:0 auto;
    }
}

@media(max-width:640px){
    .flx-page h1{
        font-size:32px;
    }

    .flx-hero-inner{
        padding:36px 0;
    }

    .flx-lead{
        font-size:16px;
    }

    .flx-actions{
        gap:10px;
    }

    .flx-btn{
        width:100%;
    }

    .flx-metrics{
        grid-template-columns:1fr 1fr;
    }

    .flx-page .portfolio-image{
        height:175px;
    }

    .flx-page .portfolio-image img{
        max-height:120px;
    }

    .flx-page .portfolio-info ul{
        padding:20px;
    }

    .flx-page .portfolio-info span{
        font-size:16px;
    }
}



.flx-product-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 25px 0 35px;
    padding: 20px;
    background: #f7f7f7;
    border-radius: 12px;
    align-items: center;
}

.flx-product-filters .form-control {
    width: auto;
    min-width: 190px;
    height: 42px;
}

.flx-product-filters .btn {
    height: 42px;
}

.product-card {
    transition: all 0.25s ease;
}

.lvs-family-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 18px;
    margin-top: 30px;
}

.lvs-family-card {
    background: #ffffff;
    border: 1px solid #e5e5e5;
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.06);
}

.lvs-family-card h3 {
    margin-top: 0;
    color: #981d25;
}

.lvs-family-card ul {
    padding-left: 18px;
    margin-bottom: 18px;
}

.lvs-tech-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-top: 30px;
}

.lvs-tech-card {
    background: #ffffff;
    border-radius: 18px;
    padding: 26px;
    border: 1px solid #e5e5e5;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.05);
}

.lvs-tech-card strong {
    display: block;
    font-size: 22px;
    color: #981d25;
    margin-bottom: 8px;
}

.lvs-comparison {
    width: 100%;
    border-collapse: collapse;
    margin-top: 25px;
    background: #ffffff;
}

.lvs-comparison th,
.lvs-comparison td {
    border: 1px solid #ddd;
    padding: 12px 14px;
}

.lvs-comparison th {
    background: #202020;
    color: #ffffff;
}

/* Amélioration visuelle des sections LVS */
.lvs-comparison {
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 12px 35px rgba(0,0,0,0.06);
}

.lvs-comparison th,
.lvs-comparison td {
    border: 0;
    border-bottom: 1px solid #eeeeee;
}

.lvs-comparison tbody tr:hover {
    background: #fafafa;
}

.lvs-comparison td:first-child {
    color: #981d25;
    font-weight: 800;
}

.lvs-tech-card,
.lvs-config-card {
    transition: all 0.25s ease;
}

.lvs-tech-card:hover,
.lvs-config-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(0,0,0,0.08);
}

.lvs-tech-card strong {
    font-size: 20px;
}

.lvs-tech-card span,
.lvs-config-card span {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: #f7eeee;
    color: #981d25;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    margin-bottom: 16px;
}

.lvs-solution-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-top: 30px;
}

.lvs-solution-card {
    position: relative;
    background: #ffffff;
    border: 1px solid #e7e7e7;
    border-radius: 18px;
    padding: 28px 24px;
    box-shadow: 0 10px 28px rgba(0,0,0,0.05);
    overflow: hidden;
}

.lvs-solution-card:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: #981d25;
}

.lvs-solution-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 18px;
    border-radius: 50%;
    background: #f6eeee;
    color: #981d25;
    font-weight: 800;
    font-size: 14px;
}

.lvs-solution-card h3 {
    font-size: 18px;
    margin-top: 0;
    margin-bottom: 10px;
    color: #222;
}

.lvs-solution-card p {
    color: #666;
    line-height: 1.6;
    margin-bottom: 0;
}

@media (max-width: 991px) {
    .lvs-solution-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .lvs-solution-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .flx-product-filters {
        display: block;
    }

    .flx-product-filters .form-control,
    .flx-product-filters .btn {
        width: 100%;
        margin-bottom: 10px;
    }

    .lvs-family-grid,
    .lvs-tech-grid,
    .lvs-config-grid {
        grid-template-columns: 1fr;
    }

    .lvs-comparison {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
}
    
    .flx-breadcrumb{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:18px;
    font-size:13px;
    color:#777;
}

.flx-breadcrumb a{
    color:#777;
    text-decoration:none;
    transition:.2s;
}

.flx-breadcrumb a:hover{
    color:#981d25;
}

.flx-breadcrumb .flx-separator{
    color:#bbb;
}