@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');


:root{
    --black:#050505;
    --black-soft:#0b0c0c;
    --black-card:#111313;

    --white:#f5f7f6;
    --grey:#a3aaa7;
    --grey-dark:#5f6562;

    --blt:#aee2d6;
    --blt-hover:#c3eee5;

    --border:rgba(174,226,214,0.17);

    --max-width:1600px;
}


*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}


html{
    scroll-behavior:smooth;
}


body{
    background:var(--black);
    color:var(--white);

    font-family:'Inter', sans-serif;

    overflow-x:hidden;
}


a{
    text-decoration:none;
    color:inherit;
}


button{
    font-family:inherit;
}


img{
    display:block;
    max-width:100%;
}



/* ============================= */
/* TOP BAR */
/* ============================= */

/* ============================= */
/* TOP BAR */
/* ============================= */

.top-bar{
    width:100%;
    height:38px;

    position:relative;

    display:flex;
    justify-content:center;
    align-items:center;

    overflow:hidden;

    background:#020202;

    border-bottom:1px solid rgba(255,255,255,.06);

    z-index:1100;
}


.top-message{
    position:absolute;

    display:flex;
    align-items:center;
    justify-content:center;

    gap:9px;

    opacity:0;

    transform:translateY(8px);

    transition:
        opacity .45s ease,
        transform .45s ease;
}


.top-message.active{
    opacity:1;
    transform:translateY(0);
}


.top-message i{
    font-size:11px;
    color:var(--blt);
}


.top-message span{
    font-size:11px;
    font-weight:700;

    letter-spacing:.055em;

    color:#dfe4e2;
}



/* ============================= */
/* HEADER */
/* ============================= */

/* ============================= */
/* HEADER */
/* ============================= */

.header{
    width:100%;
    height:82px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:0 4.5%;

    position:absolute;

    top:38px;
    left:0;

    z-index:1000;

    background:rgba(3,4,4,.82);

    border-bottom:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);

    transition:
        background .3s ease,
        box-shadow .3s ease;
}


.header:hover{
    background:rgba(3,4,4,.96);
}


.brand{
    display:flex;
    align-items:center;

    gap:9px;

    flex-shrink:0;

    position:relative;

    z-index:1002;
}


.brand img{
    width:48px;
    height:48px;

    object-fit:cover;

    border-radius:6px;
}


.brand-name{
    display:flex;
    align-items:flex-end;

    gap:3px;
}


.brand-name strong{
    font-size:25px;
    line-height:1;

    font-weight:800;

    letter-spacing:-.055em;
}


.brand-name span{
    font-size:11px;
    line-height:1;

    font-weight:600;

    color:var(--blt);

    margin-bottom:2px;
}

.desktop-nav{
    position:absolute;

    left:50%;
    top:0;

    height:82px;

    transform:translateX(-50%);

    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:center;

    gap:46px;
}


.nav-link{
    height:82px;

    display:flex;
    align-items:center;

    position:relative;

    white-space:nowrap;

    font-size:14px;
    font-weight:600;

    color:#dddddd;

    transition:color .22s ease;
}


.nav-link::after{
    content:"";

    position:absolute;

    left:50%;
    bottom:20px;

    width:0;
    height:2px;

    background:var(--blt);

    transform:translateX(-50%);

    transition:width .25s ease;
}


.nav-link:hover{
    color:white;
}


.nav-link:hover::after{
    width:100%;
}

.header-actions{
    display:flex;
    align-items:center;

    gap:5px;

    position:relative;
    z-index:1002;
}


.header-icon{
    width:42px;
    height:42px;

    display:flex;
    justify-content:center;
    align-items:center;

    background:transparent;

    border:none;

    color:#eeeeee;

    font-size:16px;

    cursor:pointer;

    border-radius:50%;

    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease;
}


.header-icon:hover{
    color:var(--blt);

    background:rgba(255,255,255,.06);

    transform:translateY(-1px);
}


.menu-button{
    display:none;

    width:42px;
    height:42px;

    align-items:center;
    justify-content:center;

    background:none;
    border:none;

    color:white;

    font-size:20px;

    cursor:pointer;
}



/* ============================= */
/* MEGA MENU MANETTES */
/* ============================= */

.nav-item{
    height:82px;

    display:flex;
    align-items:center;

    position:relative;
}


/* Grand panneau qui descend */

.mega-menu{
    position:fixed;

    top:120px;
    left:0;

    width:100%;

    background:rgba(10,12,11,.97);

    border-top:1px solid rgba(255,255,255,.06);
    border-bottom:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);

    box-shadow:0 25px 50px rgba(0,0,0,.35);

    opacity:0;
    visibility:hidden;

    transform:translateY(-8px);

    pointer-events:none;

    transition:
        opacity .22s ease,
        visibility .22s ease,
        transform .22s ease;

    z-index:900;
}


/* OUVERTURE */

.mega-trigger:hover .mega-menu{
    opacity:1;
    visibility:visible;

    transform:translateY(0);

    pointer-events:auto;
}


/* CONTENU CENTRÉ */

.mega-menu-inner{
    width:100%;
    max-width:850px;

    margin:0 auto;

    padding:32px 30px;

    display:flex;
    justify-content:center;
    align-items:center;

    gap:80px;
}


/* LIENS */

.mega-link{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    gap:12px;

    min-width:160px;

    color:#d8dcda;

    font-size:13px;
    font-weight:600;

    text-align:center;

    transition:
        color .2s ease,
        transform .2s ease;
}


.mega-link i{
    font-size:25px;

    color:var(--blt);

    transition:transform .2s ease;
}


.mega-link:hover{
    color:white;

    transform:translateY(-2px);
}


.mega-link:hover i{
    transform:scale(1.08);
}


/* ============================= */
/* MOBILE MENU */
/* ============================= */

.mobile-menu{
    position:fixed;

    top:105px;
    left:0;

    width:100%;

    padding:30px 22px 35px;

    background:rgba(5,6,6,.98);

    border-bottom:1px solid rgba(174,226,214,.15);

    backdrop-filter:blur(20px);

    z-index:999;

    display:none;

    flex-direction:column;

    gap:8px;
}


.mobile-menu.active{
    display:flex;
}


.mobile-menu a{
    width:100%;

    padding:16px 4px;

    border-bottom:1px solid rgba(255,255,255,.07);

    font-size:22px;
    font-weight:700;

    letter-spacing:-.03em;
}


.mobile-menu a:last-child{
    border-bottom:none;
}



/* ============================= */
/* HERO */
/* ============================= */

.hero{
    width:100%;

    min-height:840px;

    position:relative;

    display:flex;
    align-items:center;

    overflow:hidden;

    padding:
        160px
        0
        70px
        4.5%;

    background:
        linear-gradient(
            105deg,
            #030404 0%,
            #050807 43%,
            #08110f 100%
        );
}


.hero::before{
    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.25) 0%,
            rgba(0,0,0,0) 58%
        );

    pointer-events:none;

    z-index:1;
}


.hero-glow{
    position:absolute;

    width:850px;
    height:850px;

    right:-140px;
    top:20px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(174,226,214,.13) 0%,
            rgba(174,226,214,.045) 32%,
            transparent 68%
        );

    filter:blur(20px);

    pointer-events:none;
}


.hero-content{
    width:48%;

    max-width:760px;

    position:relative;

    z-index:4;
}


.eyebrow{
    color:var(--blt);

    font-size:12px;
    font-weight:800;

    letter-spacing:.18em;

    margin-bottom:22px;
}


.hero h1{
    max-width:760px;

    margin-bottom:28px;

    font-size:clamp(65px,7vw,112px);

    line-height:.91;

    letter-spacing:-.075em;
}


.hero h1 span{
    display:block;

    color:var(--blt);
}


.hero-description{
    max-width:520px;

    margin-bottom:36px;

    font-size:18px;
    line-height:1.65;

    color:#abb1ae;
}


.hero-buttons{
    display:flex;

    gap:12px;

    flex-wrap:wrap;
}


.hero-product{
    position:absolute;

    z-index:2;

    width:64%;

    right:-4%;
    bottom:-5%;

    display:flex;
    justify-content:center;
    align-items:flex-end;

    pointer-events:none;
}


.hero-product img{
    width:100%;
    max-width:950px;

    object-fit:contain;

    filter:
        drop-shadow(0 45px 35px rgba(0,0,0,.55));

    transform:rotate(-1deg) scale(1.03);

    transition:transform 1s cubic-bezier(.2,.8,.2,1);
}


.hero:hover .hero-product img{
    transform:rotate(-1deg) scale(1.055);
}


.hero-bottom-label{
    position:absolute;

    left:4.5%;
    right:4.5%;
    bottom:26px;

    z-index:5;

    display:flex;
    align-items:center;

    gap:15px;

    color:rgba(255,255,255,.38);

    font-size:9px;
    font-weight:700;

    letter-spacing:.17em;
}


.hero-bottom-label div{
    height:1px;

    flex:1;

    background:rgba(255,255,255,.12);
}


/* ============================= */
/* GENERAL SECTION */
/* ============================= */

.section{
    width:100%;
    max-width:var(--max-width);

    margin:0 auto;

    padding:120px 4.5%;
}


.section-heading{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;

    gap:30px;

    margin-bottom:45px;
}


.section-heading h2,
.center-heading h2,
.repair-heading h2,
.tmr-content h2,
.trade-section h2,
.social-section h2{
    font-size:clamp(34px, 4vw, 56px);

    line-height:1.02;

    letter-spacing:-.045em;
}


.text-link{
    color:#ccc;

    display:flex;
    align-items:center;

    gap:10px;

    font-size:14px;

    transition:.25s;
}


.text-link:hover{
    color:var(--blt);
}



/* ============================= */
/* PRODUCTS */
/* ============================= */

.products-section{
    max-width:none;

    padding-left:4.5%;
    padding-right:4.5%;
}


.products-grid{
    display:grid;

    grid-template-columns:repeat(2, 1fr);

    gap:24px;
}


.product-card{
    background:var(--black-soft);

    border:1px solid rgba(255,255,255,.08);

    border-radius:25px;

    overflow:hidden;

    transition:
        transform .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;
}


.product-card:hover{
    transform:translateY(-7px);

    border-color:rgba(174,226,214,.45);

    box-shadow:0 25px 70px rgba(0,0,0,.35);
}


.product-image{
    height:420px;

    display:flex;
    justify-content:center;
    align-items:center;

    background:
        radial-gradient(
            circle at center,
            #171c1a 0%,
            #0c0f0e 65%
        );

    position:relative;

    padding:40px;
}


.product-image img{
    width:90%;
    height:90%;

    object-fit:contain;

    transition:transform .4s ease;
}


.product-card:hover .product-image img{
    transform:scale(1.035);
}


.product-badge{
    position:absolute;

    top:20px;
    left:20px;

    z-index:2;

    font-size:10px;
    font-weight:800;

    letter-spacing:.09em;

    color:#07100e;

    background:var(--blt);

    padding:7px 11px;

    border-radius:999px;
}


.product-info{
    padding:25px;
}


.product-category{
    color:var(--grey);

    font-size:12px;

    margin-bottom:8px;
}


.product-info h3{
    font-size:25px;

    letter-spacing:-.03em;

    margin-bottom:9px;
}


.product-description{
    color:var(--grey);

    font-size:14px;

    margin-bottom:25px;
}


.product-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:20px;
}


.product-price{
    font-size:17px;
    font-weight:700;
}


.product-arrow{
    width:42px;
    height:42px;

    border-radius:50%;

    display:flex;
    justify-content:center;
    align-items:center;

    background:rgba(255,255,255,.07);

    transition:.25s;
}


.product-arrow:hover{
    background:var(--blt);

    color:#07100e;
}



/* ============================= */
/* TMR */
/* ============================= */

.tmr-section{
    width:91%;

    max-width:none;

    margin:50px auto;

    min-height:650px;

    display:grid;

    grid-template-columns:1fr 1fr;

    border:1px solid rgba(255,255,255,.08);

    border-radius:32px;

    overflow:hidden;

    background:#080a09;
}


.tmr-visual{
    display:flex;
    justify-content:center;
    align-items:center;

    min-height:600px;

    background:
        radial-gradient(
            circle at center,
            rgba(174,226,214,.16) 0%,
            rgba(174,226,214,.03) 30%,
            transparent 65%
        );
}


.tmr-circle{
    width:260px;
    height:260px;

    border-radius:50%;

    display:flex;
    justify-content:center;
    align-items:center;

    border:1px solid rgba(174,226,214,.28);

    box-shadow:
        inset 0 0 60px rgba(174,226,214,.04),
        0 0 100px rgba(174,226,214,.07);
}


.tmr-circle span{
    font-size:65px;
    font-weight:800;

    color:var(--blt);

    letter-spacing:-.07em;
}


.tmr-content{
    display:flex;
    flex-direction:column;
    justify-content:center;

    padding:70px;
}


.tmr-content h2{
    margin-bottom:25px;
}


.tmr-content > p:not(.section-kicker){
    color:var(--grey);

    font-size:17px;
    line-height:1.7;

    max-width:530px;
}


.tmr-features{
    display:flex;
    flex-direction:column;

    gap:14px;

    margin:30px 0 35px;
}


.tmr-features div{
    display:flex;
    align-items:center;

    gap:12px;

    color:#d8dcda;

    font-size:14px;
}


.tmr-features i{
    color:var(--blt);
}



/* ============================= */
/* REPAIR */
/* ============================= */

.repair-section{
    padding-top:140px;
    padding-bottom:140px;
}


.repair-heading{
    max-width:800px;

    margin-bottom:60px;
}


.repair-heading p:last-child{
    margin-top:20px;

    color:var(--grey);

    max-width:630px;

    line-height:1.7;
}


.steps{
    display:grid;

    grid-template-columns:repeat(4,1fr);

    border-top:1px solid rgba(255,255,255,.12);

    border-bottom:1px solid rgba(255,255,255,.12);
}


.step{
    min-height:240px;

    padding:30px 25px;

    border-right:1px solid rgba(255,255,255,.10);
}


.step:last-child{
    border-right:none;
}


.step span{
    color:var(--blt);

    font-size:12px;
    font-weight:700;
}


.step h3{
    font-size:22px;

    margin:60px 0 11px;
}


.step p{
    color:var(--grey);

    line-height:1.5;

    font-size:14px;
}


.repair-button{
    margin-top:35px;
}



/* ============================= */
/* TRADE */
/* ============================= */

.trade-section{
    min-height:540px;

    display:flex;
    align-items:center;

    padding:
        100px
        max(6%, calc((100% - var(--max-width))/2));

    background:
        linear-gradient(
            110deg,
            #0a0c0b 0%,
            #101a17 100%
        );

    border-top:1px solid rgba(174,226,214,.12);
    border-bottom:1px solid rgba(174,226,214,.12);
}


.trade-section > div{
    max-width:700px;
}


.trade-section p:not(.section-kicker):not(.trade-price){
    color:var(--grey);

    line-height:1.7;

    max-width:580px;

    margin:22px 0;
}


.trade-price{
    font-size:25px;
    font-weight:700;

    color:var(--blt);

    margin-bottom:30px;
}



/* ============================= */
/* REVIEWS */
/* ============================= */

.center-heading{
    text-align:center;

    margin-bottom:55px;
}


.reviews-grid{
    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:18px;
}


.review{
    padding:35px;

    border-radius:22px;

    background:#0b0d0c;

    border:1px solid rgba(255,255,255,.08);
}


.stars{
    color:var(--blt);

    letter-spacing:4px;

    margin-bottom:25px;
}


.review p{
    font-size:17px;

    line-height:1.65;

    min-height:85px;
}


.review span{
    display:block;

    color:var(--grey);

    font-size:12px;

    margin-top:25px;
}



/* ============================= */
/* SOCIAL */
/* ============================= */

.social-section{
    text-align:center;

    padding:130px 20px;

    border-top:1px solid rgba(255,255,255,.06);

    background:#080909;
}


.social-section > p:not(.section-kicker){
    color:var(--grey);

    margin-top:18px;
}


.social-links{
    display:flex;
    justify-content:center;
    align-items:center;

    gap:12px;

    margin-top:35px;
}


.social-links a{
    width:50px;
    height:50px;

    display:flex;
    justify-content:center;
    align-items:center;

    border:1px solid rgba(255,255,255,.12);

    border-radius:50%;

    font-size:19px;

    transition:.25s;
}


.social-links a:hover{
    border-color:var(--blt);

    color:var(--blt);

    transform:translateY(-3px);
}



/* ============================= */
/* FOOTER */
/* ============================= */

.footer{
    padding:
        80px
        max(6%, calc((100% - var(--max-width))/2))
        25px;

    background:#030303;
}


.footer-main{
    display:grid;

    grid-template-columns:2fr 1fr 1fr 1fr;

    gap:50px;

    padding-bottom:70px;
}


.footer-brand > p{
    color:var(--grey);

    font-size:13px;

    margin-top:18px;

    max-width:330px;
}


.footer-column{
    display:flex;
    flex-direction:column;

    gap:12px;
}


.footer-column h3{
    font-size:13px;

    margin-bottom:8px;
}


.footer-column a{
    color:var(--grey);

    font-size:13px;

    transition:.2s;
}


.footer-column a:hover{
    color:var(--blt);
}


.footer-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:20px;

    padding-top:25px;

    border-top:1px solid rgba(255,255,255,.08);

    color:#676c69;

    font-size:11px;
}



/* ============================= */
/* SCROLL ANIMATION */
/* ============================= */

.reveal{
    opacity:0;

    transform:translateY(35px);

    transition:
        opacity .7s ease,
        transform .7s ease;
}


.reveal.visible{
    opacity:1;

    transform:translateY(0);
}



/* ============================= */
/* TABLET */
/* ============================= */

@media(max-width:1000px){

    .desktop-nav{
        display:none;
    }


    .menu-button{
        display:block;
    }


    .hero{
        min-height:auto;

        flex-direction:column;

        padding-top:100px;
        padding-bottom:0;

        text-align:center;
    }


    .hero-content{
        width:100%;

        display:flex;
        flex-direction:column;
        align-items:center;
    }


    .hero-product{
        position:relative;

        width:100%;

        right:auto;
        bottom:auto;

        margin-top:20px;
    }


    .hero-product img{
        max-width:650px;
    }


    .tmr-section{
        margin-left:4%;
        margin-right:4%;

        grid-template-columns:1fr;
    }


    .tmr-visual{
        min-height:430px;
    }


    .steps{
        grid-template-columns:repeat(2,1fr);
    }


    .step:nth-child(2){
        border-right:none;
    }


    .step:nth-child(1),
    .step:nth-child(2){
        border-bottom:1px solid rgba(255,255,255,.10);
    }


    .footer-main{
        grid-template-columns:2fr 1fr 1fr;
    }

}



/* ============================= */
/* MOBILE */
/* ============================= */

@media(max-width:700px){

    .top-bar p{
        font-size:10px;
    }


    .header{
        min-height:67px;

        padding:0 18px;
    }


    .mobile-menu{
        top:102px;
    }


    .brand img{
        width:33px;
        height:33px;
    }


    .brand-name strong{
        font-size:19px;
    }


    .hero{
        padding:
            75px
            20px
            0;
    }


    .hero h1{
        font-size:52px;
    }


    .hero-description{
        font-size:15px;

        max-width:380px;
    }


    .hero-buttons{
        width:100%;

        justify-content:center;
    }


    .hero-buttons .button{
        flex:1;

        min-width:150px;
    }


    .hero-product{
        margin-top:25px;
    }


    .hero-product img{
        width:120%;

        max-width:none;
    }


    .section{
        padding:90px 20px;
    }


    .section-heading{
        align-items:flex-start;

        flex-direction:column;
    }


    .products-grid{
        grid-template-columns:1fr;

        gap:16px;
    }


    .product-image{
        height:320px;

        padding:30px;
    }


    .product-info h3{
        font-size:21px;
    }


    .tmr-section{
        margin:20px 15px;

        border-radius:22px;
    }


    .tmr-visual{
        min-height:300px;
    }


    .tmr-circle{
        width:180px;
        height:180px;
    }


    .tmr-circle span{
        font-size:46px;
    }


    .tmr-content{
        padding:45px 25px;
    }


    .steps{
        grid-template-columns:1fr;
    }


    .step,
    .step:nth-child(2){
        border-right:none;

        border-bottom:1px solid rgba(255,255,255,.10);
    }


    .step:last-child{
        border-bottom:none;
    }


    .step{
        min-height:auto;

        padding:25px 5px;
    }


    .step h3{
        margin-top:25px;
    }


    .trade-section{
        min-height:auto;

        padding:90px 20px;
    }


    .reviews-grid{
        grid-template-columns:1fr;
    }


    .review p{
        min-height:auto;
    }


    .footer{
        padding:
            60px
            20px
            20px;
    }


    .footer-main{
        grid-template-columns:1fr 1fr;

        gap:40px 25px;
    }


    .footer-brand{
        grid-column:1 / -1;
    }


    .footer-bottom{
        flex-direction:column;

        align-items:flex-start;
    }

}
/* Accueil : composition ouverte, mobile en priorité */
.hero.hero-refresh {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "title" "art" "copy" "scroll";
    align-items: center;
    min-height: 0;
    gap: 0;
    padding: 114px 22px 0;
    isolation: isolate;
    text-align: left;
    background: radial-gradient(ellipse at 80% 35%, #10251e 0%, #080f0c 38%, #050505 73%);
}
.hero-refresh::before { display: none; }
.hero-refresh h1 {
    grid-area: title;
    position: relative;
    z-index: 2;
    margin: 0;
    max-width: none;
    font-size: clamp(37px, 10.3vw, 60px);
    line-height: 1.08;
    letter-spacing: -.052em;
}
.hero-refresh h1 span {
    display: block;
    margin-top: 10px;
    color: var(--blt);
    font-size: .67em;
    font-weight: 600;
    letter-spacing: -.035em;
}
.hero-art {
    grid-area: art;
    position: relative;
    display: grid;
    place-items: center;
    min-width: 0;
    height: clamp(190px, 56vw, 275px);
    margin: 8px -16px 4px;
    pointer-events: none;
}
.hero-art::before {
    content: "";
    position: absolute;
    inset: 6% 2%;
    background: radial-gradient(ellipse, rgba(132,228,195,.17), transparent 67%);
    filter: blur(12px);
}
.hero-art::after {
    content: "";
    position: absolute;
    width: 54%;
    height: 12px;
    bottom: 8%;
    border-radius: 50%;
    background: #000;
    filter: blur(12px);
    opacity: .5;
}
.hero-art img {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 490px;
    height: 100%;
    object-fit: contain;
    transform: rotate(-9deg) scale(1.12);
    mix-blend-mode: screen;
    -webkit-mask-image: radial-gradient(ellipse at center, #000 43%, transparent 72%);
    mask-image: radial-gradient(ellipse at center, #000 43%, transparent 72%);
}
.hero-orbit {
    position: absolute;
    width: 77%;
    max-width: 520px;
    height: 52%;
    border: 1px solid rgba(174,226,214,.13);
    border-radius: 50%;
    transform: rotate(-19deg);
}
.hero-copy { grid-area: copy; position: relative; z-index: 2; min-width: 0; }
.hero-refresh .hero-description {
    max-width: 490px;
    margin: 0 0 22px;
    color: #b7c4bd;
    font-size: 14px;
    line-height: 1.7;
}
.hero-description > span { display: block; }
.hero-description-repair { margin-top: 10px; }
.hero-refresh .hero-buttons { display: grid; grid-template-columns: 1fr; gap: 10px; }
.hero-cta, .hero-repair-link {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 54px;
    padding: 16px 20px;
    border: 1px solid transparent;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    transition: background .2s, border-color .2s, transform .2s;
}
.hero-cta { background: var(--blt); color: #10211b; box-shadow: 0 5px 25px rgba(174,226,214,.08); }
.hero-cta:hover { background: #d0f3e9; transform: translateY(-2px); }
.hero-repair-link { border-color: #40574b; background: rgba(174,226,214,.025); color: #dce7e1; }
.hero-repair-link:hover { border-color: var(--blt); background: rgba(174,226,214,.08); }
.hero-action-icon { display: block; flex: 0 0 20px; width: 20px; height: 20px; }
.hero-note { display: flex; align-items: center; gap: 8px; color: #96aa9e; font-size: 10px; line-height: 1.7; margin-top: 18px; }
.hero-note > span { width: 4px; height: 4px; flex-shrink: 0; border-radius: 50%; background: var(--blt); }
.hero-scroll {
    grid-area: scroll;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 28px;
    padding: 18px 0;
    border-top: 1px solid rgba(174,226,214,.13);
    color: #91a499;
    font-size: 11px;
}
.hero-scroll span:first-child { color: #d9e6de; font-weight: 600; }
.hero-scroll svg { flex-shrink: 0; color: var(--blt); }
.hero-scroll span:last-child { display: none; }
.hero-scroll:hover { color: var(--blt); }
.hero-refresh a:focus-visible { outline: 2px solid var(--blt); outline-offset: 5px; }
#manettes-disponibles { scroll-margin-top: 28px; padding-top: 46px; }
@media (min-width: 701px) {
    .hero.hero-refresh {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
        grid-template-rows: auto auto auto;
        grid-template-areas: "title art" "copy art" "scroll scroll";
        column-gap: 24px;
        padding: 156px 5% 0;
    }
    .hero-refresh h1 { align-self: end; font-size: clamp(40px, 5.1vw, 76px); }
    .hero-refresh h1 span { font-size: .58em; margin-top: 14px; }
    .hero-copy { align-self: start; padding-top: 28px; }
    .hero-art { margin: 0 -22px; height: clamp(350px, 34vw, 510px); }
    .hero-art img { max-width: 840px; transform: rotate(-12deg) scale(1.2); }
    .hero-refresh .hero-description { font-size: 15px; }
    .hero-refresh .hero-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
    .hero-note { font-size: 11px; }
    .hero-scroll { margin-top: 48px; padding: 22px 0; }
    .hero-scroll span:last-child { display: inline; }
    #manettes-disponibles { padding-top: 64px; }
}
@media (min-width: 1400px) {
    .hero.hero-refresh { padding-left: max(5%, calc((100vw - 1660px) / 2)); padding-right: max(5%, calc((100vw - 1660px) / 2)); column-gap: 50px; }
    .hero-refresh .hero-description { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    html:has(.hero-refresh) { scroll-behavior: auto; }
    .hero-cta, .hero-repair-link { transition: none; }
}
/* Stock : cartes sur ordinateur, liste regroupée sur téléphone */
#manettes-disponibles .section-kicker { color: var(--blt); font-size: 10px; font-weight: 700; letter-spacing: .14em; margin-bottom: 10px; }
#manettes-disponibles .product-card { position: relative; }
#manettes-disponibles .product-description span { display: inline; }
#manettes-disponibles .product-description span + span::before { content: " · "; }
#manettes-disponibles .product-badge-custom { background: #233c31; color: #c3e7d7; border: 1px solid #456c58; }
#manettes-disponibles .product-arrow { flex-shrink: 0; width: 44px; height: 44px; }
#manettes-disponibles a:focus-visible { outline: 2px solid var(--blt); outline-offset: 4px; }
@media (max-width: 700px) {
    #manettes-disponibles { padding: 34px 20px 56px; }
    #manettes-disponibles .section-heading { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; margin-bottom: 20px; }
    #manettes-disponibles .section-heading h2 { font-size: clamp(25px, 7vw, 34px); line-height: 1.1; }
    #manettes-disponibles .section-heading .text-link { justify-self: end; min-height: 44px; font-size: 12px; gap: 9px; }
    #manettes-disponibles .products-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 0; background: #0b100d; border: 1px solid #26382e; border-radius: 20px; overflow: hidden; }
    #manettes-disponibles .product-card { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 12px; align-items: center; padding: 22px 16px; border: 0; border-radius: 0; background: transparent; box-shadow: none; opacity: 1; transform: none; transition: background .2s; }
    #manettes-disponibles .product-card + .product-card { border-top: 1px solid #26382e; }
    #manettes-disponibles .product-card:hover { transform: none; box-shadow: none; background: rgba(174,226,214,.025); }
    #manettes-disponibles .product-image { height: 135px; padding: 0; background: radial-gradient(ellipse, #1d3025, transparent 72%); }
    #manettes-disponibles .product-image img { width: 100%; height: 100%; object-fit: contain; }
    #manettes-disponibles .product-info { padding: 0; min-width: 0; }
    #manettes-disponibles .product-badge { position: static; display: inline-block; max-width: 100%; padding: 5px 8px; font-size: 8px; letter-spacing: .055em; margin-bottom: 10px; }
    #manettes-disponibles .product-category { display: none; }
    #manettes-disponibles .product-info h3 { font-size: 16px; line-height: 1.25; letter-spacing: -.025em; margin-bottom: 7px; }
    #manettes-disponibles .product-description { font-size: 11px; line-height: 1.6; margin-bottom: 10px; }
    #manettes-disponibles .product-description span { display: block; }
    #manettes-disponibles .product-description span + span::before { content: none; }
    #manettes-disponibles .product-bottom { gap: 8px; }
    #manettes-disponibles .product-price { font-size: 19px; white-space: nowrap; letter-spacing: -.025em; }
    #manettes-disponibles .product-arrow { background: #1b2c23; color: var(--blt); }
    #manettes-disponibles .product-arrow:hover { background: var(--blt); color: #10211b; }
}
@media (max-width: 360px) {
    #manettes-disponibles .product-card { padding: 18px 12px; gap: 10px; grid-template-columns: minmax(0,.68fr) minmax(0,1.32fr); }
    #manettes-disponibles .product-info h3 { font-size: 15px; }
    #manettes-disponibles .product-image { height: 110px; }
}
/* Catégories générales de manettes */
#manettes-disponibles .product-price { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
#manettes-disponibles .product-price small { color: var(--grey); font-size: 9px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; }
#manettes-disponibles .product-price-options { font-size: 16px; }
#manettes-disponibles .product-image img[src*="dualsense-reconditionnees"],
#manettes-disponibles .product-image img[src*="dualsense-personnalisable"] { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 700px) {
    #manettes-disponibles .product-image img[src*="dualsense-reconditionnees"],
    #manettes-disponibles .product-image img[src*="dualsense-personnalisable"] { object-fit: cover; border-radius: 10px; }
    #manettes-disponibles .product-price-options { font-size: 14px; white-space: normal; line-height: 1.15; }
    #manettes-disponibles .product-price small { font-size: 8px; }
}
/* Photos catégories v2 : cadrage complet et lumière naturelle */
#manettes-disponibles .product-image { background: #090b0a; }
#manettes-disponibles .product-image img[src*="dualsense-reconditionnees-v2"],
#manettes-disponibles .product-image img[src*="dualsense-personnalisable-v2"] {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}
@media (min-width: 701px) {
    #manettes-disponibles .product-image { padding: 18px 30px; }
}
@media (max-width: 700px) {
    #manettes-disponibles .product-card { grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); }
    #manettes-disponibles .product-image { height: 150px; padding: 4px; }
    #manettes-disponibles .product-image img[src*="dualsense-reconditionnees-v2"],
    #manettes-disponibles .product-image img[src*="dualsense-personnalisable-v2"] { object-fit: contain; border-radius: 8px; }
}
@media (max-width: 360px) {
    #manettes-disponibles .product-card { grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr); }
    #manettes-disponibles .product-image { height: 128px; }
}
/* Fusion des photos dans les cartes */
#manettes-disponibles .product-image {
    overflow: hidden;
    background: transparent;
}
#manettes-disponibles .product-image img[src*="dualsense-reconditionnees-v2"],
#manettes-disponibles .product-image img[src*="dualsense-personnalisable-v2"] {
    display: block;
    -webkit-mask-image: radial-gradient(ellipse 76% 78% at center, #000 48%, rgba(0,0,0,.94) 62%, transparent 100%);
    mask-image: radial-gradient(ellipse 76% 78% at center, #000 48%, rgba(0,0,0,.94) 62%, transparent 100%);
}
@media (min-width: 701px) {
    #manettes-disponibles .product-image { padding: 0; }
    #manettes-disponibles .product-image img[src*="dualsense-reconditionnees-v2"],
    #manettes-disponibles .product-image img[src*="dualsense-personnalisable-v2"] {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }
}
@media (max-width: 700px) {
    #manettes-disponibles .product-image { padding: 0; }
    #manettes-disponibles .product-image img[src*="dualsense-reconditionnees-v2"],
    #manettes-disponibles .product-image img[src*="dualsense-personnalisable-v2"] {
        width: 118%;
        max-width: none;
        height: 118%;
        margin: -9%;
        object-fit: contain;
        border-radius: 0;
        -webkit-mask-image: radial-gradient(ellipse 70% 72% at center, #000 45%, rgba(0,0,0,.96) 62%, transparent 100%);
        mask-image: radial-gradient(ellipse 70% 72% at center, #000 45%, rgba(0,0,0,.96) 62%, transparent 100%);
    }
}
/* Parcours de fin d’accueil */
.tmr-explainer,.repair-journey,.trade-callout,.proof-section,.social-proof{width:91%;max-width:1600px;margin:0 auto}
.tmr-explainer{display:grid;grid-template-columns:.62fr 1.38fr;min-height:430px;margin-top:70px;border:1px solid rgba(174,226,214,.15);border-radius:28px;overflow:hidden;background:linear-gradient(115deg,#0c1511,#090b0a)}
.tmr-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:radial-gradient(circle,rgba(174,226,214,.15),transparent 64%);border-right:1px solid rgba(174,226,214,.12)}
.tmr-mark span{font-size:clamp(70px,9vw,140px);font-weight:800;letter-spacing:-.08em;color:var(--blt);text-shadow:0 0 60px rgba(174,226,214,.12)}
.tmr-mark small{font-size:9px;font-weight:800;letter-spacing:.22em;color:#7e998c}
.tmr-simple{padding:70px clamp(35px,6vw,100px);display:flex;flex-direction:column;justify-content:center}
.tmr-simple h2,.repair-intro h2,.trade-copy h2,.proof-heading h2,.social-proof h2{font-size:clamp(32px,4vw,58px);line-height:1.05;letter-spacing:-.045em}
.tmr-definition{max-width:700px;margin:24px 0;color:#aeb9b3;font-size:16px;line-height:1.75}.tmr-definition strong{color:#edf4f0;font-weight:600}
.tmr-benefits{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}.tmr-benefits span{display:flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid #263a30;border-radius:999px;color:#c4d0c9;font-size:12px}.tmr-benefits i{color:var(--blt)}
.simple-link{align-self:flex-start;display:flex;align-items:center;gap:10px;color:var(--blt);font-size:13px;font-weight:600;border-bottom:1px solid #466458;padding-bottom:7px}
.repair-journey{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;padding:130px 0}.repair-intro{align-self:center}.repair-intro>p:not(.section-kicker){max-width:570px;margin:23px 0 32px;color:var(--grey);line-height:1.75}.repair-intro .button{gap:12px}
.repair-steps{list-style:none;border-top:1px solid #26362e}.repair-steps li{display:grid;grid-template-columns:55px 1fr;gap:18px;align-items:center;padding:25px 5px;border-bottom:1px solid #26362e}.repair-steps li>span{color:var(--blt);font-size:11px;font-weight:800}.repair-steps h3{font-size:17px;margin-bottom:5px}.repair-steps p{color:var(--grey);font-size:13px;line-height:1.5}
.trade-callout{display:grid;grid-template-columns:auto 1fr auto;gap:35px;align-items:center;padding:55px 60px;border:1px solid #2b4437;border-radius:26px;background:linear-gradient(110deg,#0e1914,#090c0a)}.trade-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--blt);color:#10211b;font-size:25px}.trade-copy h2{font-size:clamp(28px,3vw,45px)}.trade-copy>p:last-child{max-width:650px;margin-top:14px;color:var(--grey);font-size:14px;line-height:1.65}.trade-action{display:flex;align-items:center;gap:30px}.trade-action p{display:flex;flex-direction:column}.trade-action small{color:var(--grey);font-size:8px;letter-spacing:.1em}.trade-action strong{color:var(--blt);font-size:32px}.trade-action .button{white-space:nowrap}
.proof-section{padding:130px 0}.proof-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:50px}.proof-score{display:grid;grid-template-columns:auto auto;gap:2px 12px;align-items:center}.proof-score strong{font-size:30px}.proof-score span{color:var(--blt);letter-spacing:3px}.proof-score small{grid-column:1/-1;color:var(--grey);font-size:10px}.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.proof-grid article{padding:30px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#0b0e0c}.proof-grid .stars{font-size:12px;margin-bottom:20px}.proof-grid article p{font-size:15px;line-height:1.6;min-height:48px}.proof-grid article>span{display:block;margin-top:22px;color:var(--grey);font-size:11px}
.social-proof{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:end;padding:90px 70px;border-radius:28px 28px 0 0;background:radial-gradient(circle at 80%,rgba(174,226,214,.10),transparent 35%),#090c0a;border:1px solid rgba(174,226,214,.12);border-bottom:0}.social-proof>div:first-child>p:last-child{max-width:540px;margin-top:18px;color:var(--grey);line-height:1.7}.social-cta>a{display:flex;align-items:center;gap:16px;min-width:240px;padding:18px;border:1px solid #30463a;border-radius:14px}.social-cta>a>i:first-child{font-size:25px}.social-cta>a>i:last-child{margin-left:auto;color:var(--blt)}.social-cta span{display:flex;flex-direction:column;font-weight:700}.social-cta small{color:var(--grey);font-size:10px;font-weight:400;margin-top:3px}.social-icons{display:flex;gap:8px;margin-top:10px}.social-icons a{display:grid;place-items:center;width:42px;height:42px;border:1px solid #273b30;border-radius:50%;color:#bac8c0}.social-icons a:hover,.social-cta>a:hover{border-color:var(--blt);color:var(--blt)}
@media(max-width:900px){.tmr-explainer,.repair-journey{grid-template-columns:1fr}.tmr-mark{min-height:230px;border-right:0;border-bottom:1px solid rgba(174,226,214,.12)}.repair-journey{gap:45px}.trade-callout{grid-template-columns:auto 1fr}.trade-action{grid-column:2}.social-proof{grid-template-columns:1fr}.social-cta{max-width:360px}}
@media(max-width:700px){.tmr-explainer,.repair-journey,.trade-callout,.proof-section,.social-proof{width:calc(100% - 36px)}.tmr-explainer{margin-top:35px;border-radius:20px}.tmr-mark{min-height:145px}.tmr-mark span{font-size:70px}.tmr-simple{padding:35px 22px 40px}.tmr-simple h2,.repair-intro h2,.proof-heading h2,.social-proof h2{font-size:31px}.tmr-definition{font-size:14px;margin:19px 0}.tmr-benefits{display:grid;gap:8px}.tmr-benefits span{border-radius:10px}.repair-journey{padding:90px 0;gap:38px}.repair-intro .button{width:100%;justify-content:space-between}.repair-steps li{grid-template-columns:40px 1fr;padding:21px 3px}.trade-callout{grid-template-columns:1fr;gap:20px;padding:32px 24px;border-radius:20px}.trade-icon{width:50px;height:50px;font-size:18px}.trade-action{grid-column:1;display:grid;gap:18px}.trade-action .button{width:100%;justify-content:space-between}.proof-section{padding:90px 0}.proof-heading{align-items:flex-start;flex-direction:column}.proof-grid{grid-template-columns:1fr}.proof-grid article p{min-height:0}.social-proof{padding:55px 24px;border-radius:20px 20px 0 0}.social-cta>a{min-width:0;width:100%}}
.proof-score:not(:has(strong)){display:flex;flex-direction:column;align-items:flex-end;gap:6px}.proof-score:not(:has(strong)) small{grid-column:auto}
@media(max-width:700px){.proof-score:not(:has(strong)){align-items:flex-start}}

/* TMR : lecture simple et définition discrète */
.tmr-mark small sup,.tmr-definition sup{position:relative;top:-.15em;margin-left:2px;color:var(--blt);font-size:.65em}
.tmr-signature{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin:0 0 26px;color:#dce7e1;font-size:12px;font-weight:600;letter-spacing:.01em}
.tmr-signature span{display:flex;align-items:center}
.tmr-signature span+span::before{content:"";width:3px;height:3px;margin:0 12px;border-radius:50%;background:var(--blt);opacity:.8}
.drift-note{max-width:560px;margin:25px 0 0;padding-top:15px;border-top:1px solid rgba(174,226,214,.1);color:#718078;font-size:10px;line-height:1.6}
.drift-note sup{margin-right:3px;color:#9bb5a8}.drift-note strong{color:#879b90;font-weight:600}
@media(max-width:700px){
    .tmr-mark{min-height:112px;background:radial-gradient(ellipse,rgba(174,226,214,.12),transparent 68%)}
    .tmr-mark span{font-size:58px;line-height:.9}
    .tmr-mark small{font-size:8px}
    .tmr-simple{padding:31px 22px 28px}
    .tmr-simple h2{font-size:29px;line-height:1.08}
    .tmr-definition{margin:18px 0 17px;font-size:14px;line-height:1.7}
    .tmr-signature{margin-bottom:23px;font-size:11px;line-height:1.7}
    .tmr-signature span+span::before{margin:0 8px}
    .drift-note{margin-top:22px;font-size:9px}
}
/* Réparation : continuité du parcours sur téléphone */
.repair-flow{display:flex;flex-direction:column}
.repair-flow-label{display:none}
.repair-mobile-cta{display:none}
@media(max-width:700px){
    .repair-journey{gap:25px}
    .repair-intro>p:not(.section-kicker){margin-bottom:0}
    .repair-flow{position:relative;padding-top:22px}
    .repair-flow-label{display:block;margin-bottom:14px;color:var(--blt);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
    .repair-steps{position:relative;border-top:0;padding-left:5px}
    .repair-steps::before{content:"";position:absolute;top:17px;bottom:17px;left:20px;width:1px;background:linear-gradient(var(--blt),rgba(174,226,214,.12))}
    .repair-steps li{position:relative;grid-template-columns:43px 1fr;padding:18px 0;border-bottom:0}
    .repair-steps li>span{position:relative;z-index:1;display:grid;place-items:center;width:35px;height:35px;border:1px solid #355346;border-radius:50%;background:#07100c;color:var(--blt)}
    .repair-steps h3{font-size:16px}
    .repair-steps p{font-size:12px}
    .repair-desktop-cta{display:none!important}
    .repair-mobile-cta{display:inline-flex;width:100%;justify-content:space-between;margin-top:17px;gap:12px}
}
/* Réparation mobile : numéros sobres et action alignée à droite */
@media(max-width:700px){
    .repair-steps{padding-left:14px}
    .repair-steps::before{top:22px;bottom:22px;left:3px;background:linear-gradient(to bottom,rgba(174,226,214,.15),var(--blt) 18%,var(--blt) 82%,rgba(174,226,214,.15))}
    .repair-steps li{grid-template-columns:38px 1fr;gap:12px}
    .repair-steps li>span{display:block;width:auto;height:auto;border:0;border-radius:0;background:transparent;color:var(--blt);font-size:11px;line-height:1;font-weight:800}
    .repair-mobile-cta{align-self:flex-end!important;width:auto!important;min-height:44px!important;margin-top:14px!important;padding:10px 0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--blt)!important;justify-content:flex-end!important;gap:10px!important;font-size:12px!important}
    .repair-mobile-cta:hover{transform:none!important;color:var(--blt-hover)!important}
    .repair-mobile-cta .fa-arrow-right{font-size:11px}
}
/* Reprise : recyclage explicite et action mieux intégrée */
.trade-callout .trade-icon{background:transparent;color:var(--blt);font-size:46px}
.trade-callout .trade-action{padding-left:34px;border-left:1px solid rgba(174,226,214,.14)}
.trade-callout .trade-action strong{font-size:40px;line-height:1}
.trade-callout .trade-action .button{display:inline-flex;align-items:center;gap:10px}
@media(max-width:900px) and (min-width:701px){
    .trade-callout .trade-action{padding-left:0;border-left:0}
}
@media(max-width:700px){
    .trade-callout{position:relative;padding-top:35px}
    .trade-callout .trade-icon{position:absolute;top:27px;right:25px;width:auto;height:auto;font-size:31px;opacity:.9}
    .trade-callout .trade-copy{padding-right:42px}
    .trade-callout .trade-action{padding-left:0;border-left:0}
    .trade-callout .trade-action strong{font-size:36px}
    .trade-callout .trade-action .button{justify-self:end;width:auto;min-height:44px;padding:12px 0;border:0;background:transparent;color:#e6f0eb}
    .trade-callout .trade-action .button:hover{color:var(--blt);background:transparent}
}
/* Avis clients réels */
.proof-heading{align-items:flex-start}
.reviews-instagram{display:inline-flex;align-items:center;gap:9px;margin-top:20px;padding-bottom:7px;border-bottom:1px solid #395247;color:#aebdb5;font-size:11px}
.reviews-instagram .fa-instagram{color:var(--blt);font-size:15px}.reviews-instagram .fa-arrow-up-right-from-square{font-size:8px}.reviews-instagram:hover{color:var(--blt)}
.proof-grid .stars{color:#f2c45e;text-shadow:0 0 16px rgba(242,196,94,.12)}
.proof-grid article>span{display:flex;align-items:center;justify-content:space-between;gap:12px}.proof-grid article>span small{color:#606d66;font-size:8px;font-weight:400}
@media(max-width:700px){
    .proof-heading{margin-bottom:28px}
    .proof-section .proof-grid{gap:10px}
    .proof-section .proof-grid article{padding:20px 21px;border-radius:14px}
    .proof-section .proof-grid .stars{margin-bottom:12px;font-size:10px;letter-spacing:3px}
    .proof-section .proof-grid article p{font-size:13px;line-height:1.55}
    .proof-section .proof-grid article>span{margin-top:14px;font-size:9px}
    .reviews-instagram{margin-top:16px;line-height:1.5}
}
/* Finition des avis */
.reviews-instagram .fa-instagram{color:transparent;background:radial-gradient(circle at 31% 107%,#fdf497 0 5%,#fdf497 5% 9%,#fd5949 38%,#d6249f 60%,#285aeb 90%);background-clip:text;-webkit-background-clip:text;filter:drop-shadow(0 0 7px rgba(214,36,159,.16))}
.review-note-mark{position:relative;top:-.35em;margin-left:3px;color:#8b9a92;font-size:8px}
.reviews-note{margin-top:15px;color:#626f68;font-size:9px;line-height:1.6}.reviews-note sup{margin-right:3px;color:#8fa298}
@media(max-width:700px){.reviews-note{margin-top:12px;font-size:8px}}
/* Atelier BLT : bloc complet et réseaux centrés */
.social-proof{margin-bottom:80px;border-bottom:1px solid rgba(174,226,214,.12);border-radius:28px}
.social-cta{display:flex;flex-direction:column;align-items:center}
.social-cta>a{width:250px}
.social-icons{width:100%;justify-content:center}
@media(max-width:700px){
    .social-proof{gap:30px;margin-bottom:55px;padding:42px 24px;border-radius:20px}
    .social-proof h2{font-size:30px}
    .social-proof>div:first-child>p:last-child{margin-top:15px;font-size:14px;line-height:1.65}
    .social-cta{width:100%;align-items:center}
    .social-cta>a{width:100%;min-height:64px;padding:15px 17px}
    .social-icons{justify-content:center;gap:10px;margin-top:13px}
    .social-icons a{width:44px;height:44px}
}
/* Pied de page simplifié */
.footer-main{grid-template-columns:minmax(280px,1.7fr) minmax(130px,.65fr) minmax(150px,.65fr)}
@media(max-width:700px){
    .footer{padding:50px 20px 20px}
    .footer-main{grid-template-columns:1fr 1fr;gap:38px 28px;padding-bottom:45px}
    .footer-brand{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;text-align:center}
    .footer-brand .brand{justify-content:center}
    .footer-brand>p{max-width:100%;margin-top:12px}
    .footer-column{align-items:flex-start}
    .footer-bottom{flex-direction:row;align-items:center;justify-content:space-between;gap:14px;font-size:9px}
    .footer-bottom p:last-child{text-align:right}
}
/* Centrage des deux colonnes du pied de page mobile */
@media(max-width:700px){
    .footer-main>.footer-column{justify-self:center;width:max-content;max-width:100%}
}
/* Visuels produits v3 : fonds continus et cadrage stable sur tous les écrans. */
.hero.hero-refresh{background:#050505}
.hero-art::before,.hero-art::after,.hero-orbit{display:none}
.hero-art img{width:100%;max-width:760px;height:100%;object-fit:contain;transform:rotate(-9deg) scale(1.12);mix-blend-mode:normal;filter:none;-webkit-mask-image:none;mask-image:none}
#manettes-disponibles .products-grid,#manettes-disponibles .product-card,#manettes-disponibles .product-image{background:#090b0a}
#manettes-disponibles .product-image{overflow:hidden;padding:0;border-radius:22px}
#manettes-disponibles .product-image img[src*="dualsense-reconditionnees-v3"],#manettes-disponibles .product-image img[src*="dualsense-personnalisation-v3"]{display:block;width:100%;max-width:none;height:100%;margin:0;border-radius:22px;object-fit:contain;object-position:center;-webkit-mask-image:none;mask-image:none}
@media(min-width:701px){.hero-art img{max-width:860px;transform:rotate(-12deg) scale(1.2)}#manettes-disponibles .product-image{padding:8px 14px}}
@media(max-width:700px){#manettes-disponibles .product-image,#manettes-disponibles .product-image img[src*="dualsense-reconditionnees-v3"],#manettes-disponibles .product-image img[src*="dualsense-personnalisation-v3"]{border-radius:14px}#manettes-disponibles .product-image{height:145px;padding:2px}#manettes-disponibles .product-card{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)}}
@media(max-width:360px){#manettes-disponibles .product-image{height:122px}}
/* Navigation toujours accessible */
.top-bar{position:sticky;top:0;z-index:1100}
.header{position:sticky;top:38px;left:auto;background:rgba(3,4,4,.94);box-shadow:0 10px 35px rgba(0,0,0,.18)}
#manettes-disponibles,#tmr,#reparation,#reprise,#contact{scroll-margin-top:130px}
.hero.hero-refresh{padding-top:32px}
@media(min-width:701px){.hero.hero-refresh{padding-top:74px}}
@media(max-width:700px){
    .mobile-menu{top:105px}
}
/* Panier BLT */
.cart-checkout{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:8px;background:var(--blt);color:#10211b;font-size:12px;font-weight:800}
.cart-icon{position:relative}.cart-count{position:absolute;top:-5px;right:-7px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:20px;background:var(--blt);color:#07100c;font-size:9px;font-weight:800}.cart-drawer{position:fixed;z-index:3000;inset:0;visibility:hidden;pointer-events:none}.cart-drawer.open{visibility:visible;pointer-events:auto}.cart-overlay{position:absolute;inset:0;background:rgba(0,0,0,.7);opacity:0;transition:.25s;backdrop-filter:blur(3px)}.cart-drawer.open .cart-overlay{opacity:1}.cart-panel{position:absolute;right:0;top:0;display:flex;width:min(440px,100%);height:100%;flex-direction:column;background:#080b09;border-left:1px solid #263b32;transform:translateX(100%);transition:transform .28s ease}.cart-drawer.open .cart-panel{transform:none}.cart-head{display:flex;align-items:center;justify-content:space-between;padding:27px 25px;border-bottom:1px solid #213029}.cart-head small{color:var(--blt);font-size:9px;font-weight:800;letter-spacing:.14em}.cart-head h2{margin-top:4px;font-size:28px}.cart-head button{display:grid;place-items:center;width:40px;height:40px;border:1px solid #2c4037;border-radius:50%;background:transparent;color:#fff;cursor:pointer}.cart-content{flex:1;overflow:auto;padding:20px}.cart-empty{display:flex;height:100%;min-height:300px;align-items:center;justify-content:center;flex-direction:column;text-align:center}.cart-empty>i{margin-bottom:20px;color:var(--blt);font-size:27px}.cart-empty h3{font-size:21px}.cart-empty p{margin-top:8px;color:var(--grey);font-size:12px}.cart-item{display:grid;grid-template-columns:90px 1fr auto;gap:14px;padding:15px 0;border-bottom:1px solid #213029}.cart-item img{width:90px;height:75px;border-radius:9px;object-fit:cover}.cart-item h3{font-size:14px}.cart-item p{margin:5px 0;color:var(--grey);font-size:10px}.cart-item strong{font-size:14px}.cart-item button{display:block;margin-top:8px;border:0;background:transparent;color:#89978f;font-size:9px;text-decoration:underline;cursor:pointer}.cart-item>span{color:var(--grey);font-size:10px}.cart-footer{padding:22px 25px 25px;border-top:1px solid #213029}.cart-footer>div{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.cart-footer>div span{font-size:13px}.cart-footer>div strong{font-size:23px}.cart-footer>button{width:100%;padding:16px;border:0;border-radius:8px;background:#17241e;color:#73877d;font-weight:800}.cart-footer>small{display:block;margin-top:10px;color:#66746d;font-size:9px;text-align:center}.cart-open,.modal-open{overflow:hidden}
