/* ==================================================
   FICHE PRODUIT PREMIUM — LAVERIEXPERT
   WooCommerce single-product
================================================== */

.single-product #ajax-content-wrap,
.single-product main{
    padding-top:0 !important;
}

.le-product-page,
.le-product-page *,
.le-product-page *::before,
.le-product-page *::after{
    box-sizing:border-box;
}

.le-product-page{
    --le-dark:#000d20;
    --le-dark-2:#071b3a;
    --le-blue:#2563eb;
    --le-blue-2:#0b63ff;
    --le-blue-soft:#eef4ff;
    --le-text:#55657d;
    --le-muted:#7b879a;
    --le-border:rgba(0,13,32,.08);
    --le-shadow:0 18px 48px rgba(0,13,32,.06);
    --le-shadow-lg:0 34px 90px rgba(0,13,32,.11);

    width:100%;
    overflow:hidden;
    background:#fff;
    color:var(--le-dark);
}

.le-product-page img,
.le-product-page svg{
    max-width:100%;
}

.le-product-page .le-container{
    width:min(1700px,94%);
    margin:0 auto;
}

/* ==================================================
   HERO PRODUIT
================================================== */

.le-product-hero{
    position:relative;
    padding:46px 0 88px;
    background:
        radial-gradient(circle at 6% 6%,rgba(37,99,235,.075),transparent 26%),
        radial-gradient(circle at 95% 4%,rgba(37,99,235,.05),transparent 24%),
        linear-gradient(180deg,#f6f8fc 0%,#fff 100%);
}

.le-product-breadcrumb{
    margin:0 0 30px;
    display:flex;
    align-items:center;
    gap:10px;
    color:#8b97aa;
    font-size:13px;
    font-weight:700;
    line-height:1.4;
}

.le-product-breadcrumb a{
    color:#64748b;
    text-decoration:none;
    transition:color .25s ease;
}

.le-product-breadcrumb a:hover{
    color:var(--le-blue);
}

.le-product-breadcrumb > span:last-child{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.le-product-layout{
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(430px,.72fr);
    align-items:stretch;
    gap:clamp(32px,3.4vw,58px);
}

/* ==================================================
   GALERIE
================================================== */

.le-product-gallery{
    min-width:0;
    display:flex;
    flex-direction:column;
}

.le-product-main-media{
    position:relative;
    min-height:690px;
    height:100%;
    padding:62px;
    overflow:hidden;
    border:1px solid var(--le-border);
    border-radius:32px;
    background:
        radial-gradient(circle at 50% 42%,rgba(37,99,235,.08),transparent 34%),
        linear-gradient(180deg,#fff 0%,#f4f7fc 100%);
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:
        0 20px 55px rgba(0,13,32,.06),
        0 42px 100px rgba(0,13,32,.07);
}

.le-product-main-media::before{
    content:"";
    position:absolute;
    inset:22px;
    border:1px solid rgba(255,255,255,.9);
    border-radius:24px;
    pointer-events:none;
}

.le-product-main-media::after{
    content:"";
    position:absolute;
    right:-110px;
    bottom:-135px;
    width:370px;
    height:370px;
    border-radius:50%;
    border:1px solid rgba(37,99,235,.11);
    box-shadow:
        0 0 0 48px rgba(37,99,235,.025),
        0 0 0 96px rgba(37,99,235,.016);
    pointer-events:none;
}

.le-product-media-badges{
    position:absolute;
    top:24px;
    left:24px;
    right:24px;
    z-index:5;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.le-product-badge{
    min-height:34px;
    padding:0 14px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    font-weight:900;
    line-height:1;
    white-space:nowrap;
}

.le-product-badge-sale{
    background:#ef4444;
    color:#fff;
    box-shadow:0 10px 22px rgba(239,68,68,.22);
}

.le-product-badge-pro{
    margin-left:auto;
    border:1px solid rgba(37,99,235,.10);
    background:#eef4ff;
    color:var(--le-blue);
}

.le-product-main-image{
    position:relative;
    z-index:2;
    width:100%;
    min-height:500px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.le-product-main-image img{
    display:block;
    width:auto;
    height:auto;
    max-width:86%;
    max-height:535px;
    object-fit:contain;
    filter:drop-shadow(0 30px 28px rgba(0,13,32,.16));
    transition:transform .55s cubic-bezier(.22,.61,.36,1);
}

.le-product-main-media:hover .le-product-main-image img{
    transform:translateY(-7px) scale(1.025);
}

.le-product-media-caption{
    position:absolute;
    left:34px;
    right:34px;
    bottom:30px;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    color:#64748b;
    font-size:11.5px;
    font-weight:750;
}

.le-product-media-caption strong{
    color:var(--le-dark);
    font-weight:900;
}

.le-product-thumbnails{
    margin-top:16px;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px;
}

.le-product-thumbnail{
    width:100%;
    height:98px;
    padding:10px;
    border:1px solid var(--le-border);
    border-radius:16px;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    box-shadow:0 8px 22px rgba(0,13,32,.035);
    transition:
        border-color .25s ease,
        box-shadow .25s ease,
        transform .25s ease,
        background .25s ease;
}

.le-product-thumbnail:hover,
.le-product-thumbnail.is-active{
    border-color:var(--le-blue);
    background:#f8fbff;
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(37,99,235,.12);
}

.le-product-thumbnail img{
    max-width:100%;
    max-height:100%;
    object-fit:contain;
}

/* ==================================================
   RÉSUMÉ PRODUIT
================================================== */

.le-product-summary{
    position:sticky;
    top:112px;
    min-width:0;
    min-height:690px;
    padding:30px;
    border:1px solid var(--le-border);
    border-radius:30px;
    background:
        radial-gradient(circle at 100% 0%,rgba(37,99,235,.055),transparent 30%),
        rgba(255,255,255,.98);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    box-shadow:
        0 20px 55px rgba(0,13,32,.06),
        0 42px 100px rgba(0,13,32,.07);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}

.le-product-summary-top{
    min-width:0;
}

.le-product-brand{
    min-height:34px;
    margin-bottom:12px;
    display:flex;
    align-items:center;
}

.le-product-brand img{
    display:block;
    width:auto;
    max-width:180px;
    height:100px;
    object-fit:contain;
    object-position:left center;
    margin-left: -30px;
}

.le-product-status-row{
    min-height:24px;
    margin-bottom:14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
}

.le-product-status,
.le-product-reference{
    font-size:11.5px;
    font-weight:800;
    line-height:1.35;
}

.le-product-status{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#15803d;
}

.le-product-status i{
    width:7px;
    height:7px;
    flex:0 0 7px;
    border-radius:50%;
    background:#22c55e;
    box-shadow:0 0 0 4px rgba(34,197,94,.10);
}

.le-product-status.is-unavailable{
    color:#b91c1c;
}

.le-product-status.is-unavailable i{
    background:#ef4444;
    box-shadow:0 0 0 4px rgba(239,68,68,.10);
}

.le-product-reference{
    color:#94a3b8;
    text-align:right;
}

.le-product-summary h1{
    margin:0 0 14px;
    color:var(--le-dark);
    font-size:clamp(29px,1.9vw,37px);
    font-weight:950;
    line-height:1.08;
    letter-spacing:-.8px;
    overflow-wrap:anywhere;
}

.le-product-intro{
    position:relative;
    max-height:116px;
    overflow:hidden;
    color:var(--le-text);
    font-size:13.5px;
    font-weight:500;
    line-height:1.55;
}

.le-product-intro::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:34px;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.98));
}

.le-product-intro p{
    margin:0;
}

.le-product-intro > * + *{
    margin-top:7px;
}

.le-product-highlights{
    margin:18px 0 0;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
}

.le-product-highlight{
    min-height:70px;
    padding:11px 12px;
    border:1px solid rgba(0,13,32,.055);
    border-radius:14px;
    background:#f7f9fc;
    display:grid;
    grid-template-rows:auto 1fr;
    align-content:center;
}

.le-product-highlight span{
    min-height:16px;
    margin-bottom:4px;
    color:#7b879a;
    display:flex;
    align-items:flex-end;
    font-size:9px;
    font-weight:900;
    line-height:1.25;
    text-transform:uppercase;
    letter-spacing:.35px;
}

.le-product-highlight strong{
    color:var(--le-dark);
    display:flex;
    align-items:flex-start;
    font-size:13px;
    font-weight:900;
    line-height:1.25;
    overflow-wrap:anywhere;
}

.le-product-purchase{
    margin-top:20px;
}

/* ==================================================
   FINANCEMENT LLD
================================================== */

.le-product-finance{
    position:relative;
    overflow:hidden;
    margin:0 0 12px;
    padding:20px;
    border:1px solid rgba(37,99,235,.16);
    border-radius:20px;
    background:
        radial-gradient(circle at 100% 0%,rgba(37,99,235,.17),transparent 35%),
        linear-gradient(135deg,#f8fbff 0%,#eaf2ff 100%);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.96),
        0 15px 36px rgba(37,99,235,.08);
}

.le-product-finance::after{
    content:"";
    position:absolute;
    right:-50px;
    bottom:-58px;
    width:155px;
    height:155px;
    border-radius:50%;
    border:1px solid rgba(37,99,235,.11);
    box-shadow:
        0 0 0 34px rgba(37,99,235,.024),
        0 0 0 68px rgba(37,99,235,.014);
    pointer-events:none;
}

.le-product-finance > *{
    position:relative;
    z-index:2;
}

.le-product-finance-heading{
    margin-bottom:10px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
}

.le-product-finance-heading span{
    min-height:25px;
    padding:0 10px;
    border-radius:999px;
    background:var(--le-blue);
    color:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:9.5px;
    font-weight:950;
    line-height:1;
    letter-spacing:.45px;
    text-transform:uppercase;
}

.le-product-finance-heading strong{
    color:var(--le-blue);
    font-size:12px;
    font-weight:950;
    line-height:1.2;
    text-transform:uppercase;
    letter-spacing:.4px;
}

.le-product-finance-main{
    display:flex;
    align-items:flex-end;
    gap:10px;
}

.le-product-finance-main > span{
    margin-bottom:5px;
    color:#64748b;
    font-size:12px;
    font-weight:850;
}

.le-product-finance-price{
    display:flex;
    align-items:flex-end;
    flex-wrap:wrap;
    gap:7px;
}

.le-product-finance-price strong{
    color:var(--le-dark);
    font-size:46px;
    font-weight:950;
    line-height:.92;
    letter-spacing:-1.7px;
}

.le-product-finance-price span{
    margin-bottom:4px;
    color:var(--le-text);
    font-size:14px;
    font-weight:850;
}

.le-product-finance-request strong{
    color:var(--le-dark);
    font-size:31px;
    font-weight:950;
}

.le-product-finance p{
    max-width:370px;
    margin:8px 0 0;
    color:#64748b;
    font-size:10.5px;
    font-weight:650;
    line-height:1.45;
}

.le-product-cash-price{
    margin-top:13px;
    padding-top:12px;
    border-top:1px solid rgba(0,13,32,.09);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}

/* ==================================================
   FICHE PRODUIT SANS LLD
   Le prix comptant devient le prix principal
================================================== */

.le-product-finance.is-no-lld{
    min-height:150px;

    display:flex;
    flex-direction:column;
    justify-content:center;

    padding:20px;
}


/* PAS DE SÉPARATEUR QUAND IL N'Y A PAS DE LLD */

.le-product-finance.is-no-lld .le-product-cash-price{
    margin:0;
    padding:0;

    border-top:0;

    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;

    gap:18px;
}


/* LABEL */

.le-product-finance.is-no-lld .le-product-cash-price > span{
    color:var(--le-blue);

    font-size:11px;
    font-weight:950;
    line-height:1.2;

    text-transform:uppercase;
    letter-spacing:.5px;
}


/* PRIX PRINCIPAL */

.le-product-finance.is-no-lld .le-product-cash-price > strong{
    color:var(--le-dark);

    font-size:46px;
    font-weight:950;
    line-height:.92;

    letter-spacing:-1.7px;

    text-align:left;
}


/* HT */

.le-product-finance.is-no-lld .le-product-cash-price small{
    margin-left:5px;

    color:#64748b;

    font-size:12px;
    font-weight:850;
}

.le-product-cash-price > span{
    color:#64748b;
    font-size:11.5px;
    font-weight:800;
}

.le-product-cash-price > strong{
    color:var(--le-dark);
    font-size:16px;
    font-weight:950;
    text-align:right;
    white-space:nowrap;
}

.le-product-cash-price small{
    color:#64748b;
    font-size:9px;
    font-weight:850;
}

/* ==================================================
   ACTIONS
================================================== */

.le-product-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
}

.le-product-primary-btn,
.le-product-secondary-btn{
    width:100%;
    min-height:54px;
    padding:0 18px;
    border-radius:13px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:11px;
    text-align:center;
    text-decoration:none;
    font-size:13.5px;
    font-weight:900;
    line-height:1.3;
    transition:
        transform .3s ease,
        background .3s ease,
        color .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.le-product-primary-btn{
    border:1px solid transparent;
    background:linear-gradient(135deg,var(--le-blue),var(--le-blue-2));
    color:#fff;
    box-shadow:0 15px 34px rgba(37,99,235,.25);
}

.le-product-primary-btn:hover{
    color:#fff;
    transform:translateY(-3px);
    box-shadow:0 21px 44px rgba(37,99,235,.32);
}

.le-product-secondary-btn{
    border:1px solid rgba(0,13,32,.12);
    background:#fff;
    color:var(--le-dark);
}

.le-product-secondary-btn:hover{
    border-color:var(--le-blue);
    color:var(--le-blue);
    transform:translateY(-2px);
    box-shadow:0 13px 27px rgba(0,13,32,.07);
}

.le-product-actions svg{
    width:19px;
    height:19px;
    flex:0 0 19px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.1;
    stroke-linecap:round;
    stroke-linejoin:round;
}

/* ==================================================
   RÉASSURANCE
================================================== */

.le-product-reassurance{
    margin-top:13px;
    padding-top:13px;
    border-top:1px solid rgba(0,13,32,.08);
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
}

.le-product-reassurance > div{
    min-width:0;
    display:grid;
    grid-template-columns:18px minmax(0,1fr);
    align-items:start;
    gap:7px;
}

.le-product-reassurance svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:var(--le-blue);
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.le-product-reassurance span{
    color:#64748b;
    font-size:9px;
    font-weight:650;
    line-height:1.35;
}

.le-product-reassurance strong{
    display:block;
    color:var(--le-dark);
    font-weight:900;
}

/* ==================================================
   DÉTAILS
================================================== */

.le-product-details{
    padding:92px 0;
    background:#fff;
}

.le-product-details-heading{
    max-width:850px;
    margin:0 auto 42px;
    text-align:center;
}

.le-product-section-label{
    min-height:30px;
    padding:0 13px;
    margin-bottom:14px;
    border-radius:999px;
    background:var(--le-blue-soft);
    color:var(--le-blue);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:11px;
    font-weight:900;
    line-height:1;
    text-transform:uppercase;
    letter-spacing:.45px;
}

.le-product-details-heading h2{
    margin:0;
    color:var(--le-dark);
    font-size:40px;
    font-weight:950;
    line-height:1.15;
    letter-spacing:-.8px;
}

.le-product-details-heading p{
    max-width:700px;
    margin:14px auto 0;
    color:var(--le-text);
    font-size:16px;
    line-height:1.7;
}

.le-product-details-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(360px,430px);
    align-items:start;
    gap:28px;
}

.le-product-description-card,
.le-product-specs-card{
    min-width:0;
    padding:36px;
    border:1px solid var(--le-border);
    border-radius:25px;
    background:#fff;
    box-shadow:var(--le-shadow);
}

.le-product-card-heading{
    margin-bottom:24px;
}

.le-product-card-heading > span{
    display:block;
    margin-bottom:8px;
    color:var(--le-blue);
    font-size:11px;
    font-weight:900;
    line-height:1.3;
    text-transform:uppercase;
    letter-spacing:.45px;
}

.le-product-card-heading h3{
    margin:0;
    color:var(--le-dark);
    font-size:28px;
    font-weight:950;
    line-height:1.2;
    letter-spacing:-.45px;
}

.le-product-description-content{
    color:var(--le-text);
    font-size:16px;
    line-height:1.75;
}

/* ==================================================
   DESCRIPTION COURTE UTILISÉE COMME DESCRIPTION
================================================== */

.le-product-description-content.is-short-description{
    position:relative;

    padding:28px 30px;

    border:1px solid rgba(0,13,32,.07);
    border-radius:20px;

    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(37,99,235,.06),
            transparent 35%
        ),
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f8fafc 100%
        );

    box-shadow:
        0 14px 34px rgba(0,13,32,.045);

    overflow:hidden;
}


/* PETITE LIGNE BLEUE EN HAUT */

.le-product-description-content.is-short-description::before{
    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:4px;

    background:
        linear-gradient(
            90deg,
            var(--le-blue),
            #67a4ff
        );
}


/* PARAGRAPHE */

.le-product-description-content.is-short-description p{
    position:relative;

    margin:0;

    padding-left:24px;

    color:var(--le-text);

    font-size:16px;
    font-weight:550;
    line-height:1.8;
}


/* PETIT REPÈRE BLEU */

.le-product-description-content.is-short-description p::before{
    content:"";

    position:absolute;

    top:10px;
    left:0;

    width:9px;
    height:9px;

    border-radius:50%;

    background:var(--le-blue);

    box-shadow:
        0 0 0 5px rgba(37,99,235,.10);
}
/* Neutralise les styles inline ajoutés dans le contenu WooCommerce */
.le-product-description-content > div{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:28px !important;
    align-items:stretch !important;
    margin:22px 0 0 !important;
    font-size:inherit !important;
}

/* Cartes internes */
.le-product-description-content > div > div{
    position:relative;
    overflow:hidden;
    min-width:0;
    min-height:100%;
    padding:32px !important;
    border:1px solid rgba(0,13,32,.07);
    border-radius:22px;
    background:
        radial-gradient(circle at 100% 0%,rgba(37,99,235,.055),transparent 34%),
        linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
    display:flex !important;
    flex-direction:column;
    justify-content:flex-start;
    text-align:left !important;
    box-shadow:
        0 15px 36px rgba(0,13,32,.045),
        0 28px 62px rgba(0,13,32,.04);
    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}

.le-product-description-content > div > div::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:4px;
    background:linear-gradient(90deg,var(--le-blue),#67a4ff);
}

.le-product-description-content > div > div:hover{
    transform:translateY(-4px);
    border-color:rgba(37,99,235,.17);
    box-shadow:
        0 24px 54px rgba(0,13,32,.075),
        0 40px 82px rgba(0,13,32,.055);
}

/* Titres internes */
.le-product-description-content > div > div h3{
    position:relative;
    margin:0 0 24px !important;
    padding:0 0 0 46px !important;
    color:var(--le-dark) !important;
    font-size:24px !important;
    font-weight:950 !important;
    line-height:1.2 !important;
    letter-spacing:-.45px;
    text-align:left !important;
}

.le-product-description-content > div > div h3::before{
    content:"";
    position:absolute;
    top:50%;
    left:0;
    width:34px;
    height:34px;
    border-radius:10px;
    background:var(--le-blue-soft);
    transform:translateY(-50%);
    box-shadow:inset 0 0 0 1px rgba(37,99,235,.10);
}

.le-product-description-content > div > div h3::after{
    content:"";
    position:absolute;
    top:50%;
    left:13px;
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--le-blue);
    transform:translateY(-50%);
    box-shadow:0 0 0 5px rgba(37,99,235,.10);
}

/* Listes internes */
.le-product-description-content ul,
.le-product-description-content ol{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
    text-align:left !important;
}

.le-product-description-content li{
    position:relative;
    min-height:52px;
    margin:0 !important;
    padding:14px 0 14px 28px !important;
    border-bottom:1px solid rgba(0,13,32,.065);
    color:var(--le-text);
    display:flex;
    align-items:center;
    font-size:15px;
    font-weight:600;
    line-height:1.45;
}

.le-product-description-content li:last-child{
    border-bottom:0;
}

.le-product-description-content li::before{
    content:"";
    position:absolute;
    top:50%;
    left:2px;
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--le-blue);
    transform:translateY(-50%);
    box-shadow:0 0 0 5px rgba(37,99,235,.10);
}

.le-product-description-content li strong{
    color:var(--le-dark);
    font-weight:850;
}

.le-product-specs-card{
    position:sticky;
    top:112px;
    background:
        radial-gradient(circle at 100% 0%,rgba(37,99,235,.06),transparent 30%),
        #fff;
}

.le-product-specs-list{
    display:grid;
}

.le-product-specs-list > div{
    min-height:54px;
    padding:13px 0;
    border-bottom:1px solid rgba(0,13,32,.07);
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(120px,56%);
    align-items:start;
    gap:22px;
}

.le-product-specs-list > div:first-child{
    padding-top:2px;
}

.le-product-specs-list span{
    color:#64748b;
    font-size:12.5px;
    font-weight:700;
    line-height:1.45;
}

.le-product-specs-list strong{
    color:var(--le-dark);
    font-size:13px;
    font-weight:900;
    line-height:1.45;
    text-align:right;
    overflow-wrap:anywhere;
}

.le-product-specs-cta{
    width:100%;
    min-height:58px;
    margin-top:24px;
    padding:0 18px;
    border-radius:13px;
    background:var(--le-dark);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    text-align:center;
    text-decoration:none;
    font-size:13.5px;
    font-weight:900;
    line-height:1.35;
    transition:
        transform .3s ease,
        background .3s ease,
        box-shadow .3s ease;
}

.le-product-specs-cta:hover{
    background:var(--le-blue);
    color:#fff;
    transform:translateY(-3px);
    box-shadow:0 16px 30px rgba(37,99,235,.20);
}

.le-product-specs-cta svg{
    width:19px;
    height:19px;
    flex:0 0 19px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.3;
    stroke-linecap:round;
    stroke-linejoin:round;
}

/* ==================================================
   CTA FINAL
================================================== */

.le-product-final-cta{
    padding:0 0 96px;
    background:#fff;
}

.le-product-final-box{
    position:relative;
    min-height:245px;
    padding:44px 50px;
    overflow:hidden;
    border-radius:28px;
    background:
        radial-gradient(circle at 90% 10%,rgba(37,99,235,.22),transparent 32%),
        radial-gradient(circle at 0 100%,rgba(37,99,235,.11),transparent 35%),
        linear-gradient(135deg,var(--le-dark) 0%,#061b40 100%);
    display:grid;
    grid-template-columns:82px minmax(0,1fr) auto;
    align-items:center;
    gap:34px;
    box-shadow:0 28px 75px rgba(0,13,32,.22);
}

.le-product-final-box::after{
    content:"";
    position:absolute;
    right:-90px;
    bottom:-130px;
    width:330px;
    height:330px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:
        0 0 0 44px rgba(255,255,255,.025),
        0 0 0 88px rgba(255,255,255,.015);
    pointer-events:none;
}

.le-product-final-box > *{
    position:relative;
    z-index:2;
}

.le-product-final-icon{
    width:82px;
    height:82px;
    border-radius:22px;
    background:linear-gradient(145deg,#2563eb,#0d2d74);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 18px 38px rgba(37,99,235,.28);
}

.le-product-final-icon svg{
    width:38px;
    height:38px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
}

.le-product-final-content{
    max-width:850px;
}

.le-product-final-content > span{
    display:block;
    margin-bottom:9px;
    color:#6ea4ff;
    font-size:12px;
    font-weight:900;
    line-height:1.3;
    text-transform:uppercase;
    letter-spacing:.5px;
}

.le-product-final-content h2{
    margin:0 0 12px;
    color:#fff;
    font-size:33px;
    font-weight:950;
    line-height:1.17;
    letter-spacing:-.6px;
}

.le-product-final-content p{
    max-width:720px;
    margin:0;
    color:rgba(255,255,255,.78);
    font-size:15px;
    font-weight:500;
    line-height:1.65;
}

.le-product-final-box > a{
    min-width:min(260px,100%);
    min-height:62px;
    padding:0 24px;
    border-radius:14px;
    background:#fff;
    color:var(--le-blue);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    text-align:center;
    text-decoration:none;
    font-size:14.5px;
    font-weight:900;
    line-height:1.35;
    box-shadow:0 18px 38px rgba(0,0,0,.19);
    transition:
        transform .3s ease,
        box-shadow .3s ease,
        background .3s ease;
}

.le-product-final-box > a:hover{
    color:var(--le-blue);
    background:#f8fbff;
    transform:translateY(-4px);
    box-shadow:0 24px 48px rgba(0,0,0,.25);
}

.le-product-final-box > a svg{
    width:20px;
    height:20px;
    flex:0 0 20px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.3;
    stroke-linecap:round;
    stroke-linejoin:round;
}

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

@media(max-width:1400px){

    .le-product-page .le-container{
        width:min(1480px,94%);
    }

    .le-product-layout{
        grid-template-columns:minmax(0,1fr) minmax(390px,.78fr);
        gap:36px;
    }

    .le-product-main-media,
    .le-product-summary{
        min-height:630px;
    }

    .le-product-main-media{
        padding:46px;
    }

    .le-product-summary{
        padding:26px;
    }

    .le-product-summary h1{
        font-size:31px;
    }

    .le-product-intro{
        max-height:100px;
    }

    .le-product-finance-price strong{
        font-size:40px;
    }

    .le-product-reassurance span{
        font-size:8.5px;
    }
}

@media(max-width:1200px){

    .le-product-layout,
    .le-product-details-layout{
        grid-template-columns:1fr;
    }

    .le-product-summary,
    .le-product-specs-card{
        position:static;
    }

    .le-product-main-media,
    .le-product-summary{
        min-height:0;
    }

    .le-product-summary{
        width:100%;
    }

    .le-product-intro{
        max-height:135px;
    }

    .le-product-reassurance{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .le-product-final-box{
        grid-template-columns:74px minmax(0,1fr);
    }

    .le-product-final-box > a{
        grid-column:2;
        justify-self:start;
    }
}

@media(max-width:900px){

    .le-product-hero{
        padding:38px 0 68px;
    }

    .le-product-main-media{
        min-height:510px;
        padding:38px;
        border-radius:26px;
    }

    .le-product-main-image{
        min-height:390px;
    }

    .le-product-main-image img{
        max-width:90%;
        max-height:420px;
    }

    .le-product-summary{
        padding:28px;
        border-radius:24px;
    }

    .le-product-details{
        padding:72px 0;
    }

    .le-product-details-heading h2{
        font-size:34px;
    }

    .le-product-final-box{
        padding:38px 32px;
    }
}

@media(max-width:768px){

    .le-product-page .le-container{
        width:min(100% - 32px,1700px);
    }

    .le-product-hero{
        padding:28px 0 56px;
    }

    .le-product-breadcrumb{
        width:100%;
        overflow-x:auto;
        margin-bottom:22px;
        padding-bottom:4px;
        white-space:nowrap;
        scrollbar-width:none;
    }

    .le-product-breadcrumb::-webkit-scrollbar{
        display:none;
    }

    .le-product-main-media{
        min-height:390px;
        padding:34px 20px;
        border-radius:22px;
    }

    .le-product-main-media::before{
        inset:14px;
        border-radius:17px;
    }

    .le-product-main-image{
        min-height:300px;
    }

    .le-product-main-image img{
        max-width:92%;
        max-height:320px;
    }

    .le-product-media-caption{
        display:none;
    }

    .le-product-media-badges{
        top:16px;
        left:16px;
        right:16px;
    }

    .le-product-badge{
        min-height:30px;
        padding:0 11px;
        font-size:10.5px;
    }

    .le-product-thumbnails{
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:10px;
    }

    .le-product-thumbnail{
        height:82px;
        padding:8px;
        border-radius:13px;
    }

    .le-product-summary{
        padding:24px 21px;
        border-radius:22px;
    }

    .le-product-summary h1{
        font-size:29px;
    }

    .le-product-status-row{
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
    }

    .le-product-reference{
        text-align:left;
    }

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

    .le-product-finance-price strong{
        font-size:39px;
    }

    .le-product-reassurance{
        grid-template-columns:1fr;
        gap:10px;
    }

    .le-product-reassurance > div{
        grid-template-columns:22px minmax(0,1fr);
        align-items:center;
    }

    .le-product-reassurance svg{
        width:22px;
        height:22px;
    }

    .le-product-reassurance span{
        font-size:11.5px;
    }

    .le-product-reassurance strong{
        display:inline;
    }

    .le-product-details-heading{
        margin-bottom:32px;
    }

    .le-product-details-heading h2{
        font-size:30px;
    }

    .le-product-details-heading p{
        font-size:14.5px;
    }

    .le-product-description-card,
    .le-product-specs-card{
        padding:27px 22px;
        border-radius:21px;
    }

    .le-product-card-heading h3{
        font-size:24px;
    }

    .le-product-specs-list > div{
        grid-template-columns:1fr;
        gap:6px;
    }

    .le-product-specs-list strong{
        text-align:left;
    }

    .le-product-final-cta{
        padding-bottom:70px;
    }

    .le-product-final-box{
        padding:34px 24px;
        border-radius:23px;
        grid-template-columns:1fr;
        justify-items:center;
        text-align:center;
        gap:24px;
    }

    .le-product-final-box > a{
        grid-column:auto;
        width:100%;
        min-width:0;
    }

    .le-product-final-content h2{
        font-size:28px;
    }
}

@media(max-width:560px){

    .le-product-page .le-container{
        width:min(100% - 24px,1700px);
    }

    .le-product-main-media{
        min-height:330px;
        padding:28px 15px;
    }

    .le-product-main-image{
        min-height:250px;
    }

    .le-product-main-image img{
        max-width:95%;
        max-height:270px;
    }

    .le-product-badge-pro{
        display:none;
    }

    .le-product-thumbnails{
        display:flex;
        overflow-x:auto;
        padding:2px 1px 8px;
        scroll-snap-type:x mandatory;
        scrollbar-width:none;
    }

    .le-product-thumbnails::-webkit-scrollbar{
        display:none;
    }

    .le-product-thumbnail{
        flex:0 0 78px;
        width:78px;
        height:78px;
        scroll-snap-align:start;
    }

    .le-product-summary{
        padding:21px 17px;
    }

    .le-product-summary h1{
        font-size:26px;
    }

    .le-product-intro{
        font-size:14px;
    }

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

    .le-product-finance{
        padding:18px;
    }

    .le-product-finance-heading{
        align-items:flex-start;
        flex-direction:column;
        gap:7px;
    }

    .le-product-finance-price strong{
        font-size:35px;
    }

    .le-product-cash-price{
        align-items:flex-start;
        flex-direction:column;
        gap:7px;
    }

    .le-product-cash-price > strong{
        text-align:left;
    }

    .le-product-primary-btn,
    .le-product-secondary-btn{
        min-height:56px;
        padding:11px 15px;
    }

    .le-product-details-heading h2{
        font-size:27px;
    }

    .le-product-description-card,
    .le-product-specs-card{
        padding:24px 18px;
    }

    .le-product-final-box{
        padding:30px 20px;
    }

    .le-product-final-icon{
        width:72px;
        height:72px;
    }

    .le-product-final-content h2{
        font-size:25px;
    }
}

@media(max-width:390px){

    .le-product-page .le-container{
        width:min(100% - 18px,1700px);
    }

    .le-product-main-media{
        min-height:290px;
        padding:24px 12px;
    }

    .le-product-main-image{
        min-height:220px;
    }

    .le-product-main-image img{
        max-height:235px;
    }

    .le-product-summary{
        padding:18px 14px;
        border-radius:18px;
    }

    .le-product-summary h1{
        font-size:24px;
    }

    .le-product-finance{
        padding:16px 14px;
    }

    .le-product-finance-price strong{
        font-size:31px;
    }

    .le-product-description-card,
    .le-product-specs-card{
        padding:22px 15px;
    }

    .le-product-details-heading h2{
        font-size:24px;
    }

    .le-product-final-box{
        padding:27px 16px;
        border-radius:19px;
    }

    .le-product-final-content h2{
        font-size:23px;
    }
}


/* ==================================================
   RESPONSIVE — DESCRIPTION PRODUIT
================================================== */

@media(max-width:1100px){

    .le-product-description-content > div{
        gap:22px !important;
    }

    .le-product-description-content > div > div{
        padding:27px !important;
    }

    .le-product-description-content > div > div h3{
        font-size:22px !important;
    }
}

@media(max-width:900px){

    .le-product-description-content > div{
        grid-template-columns:1fr !important;
    }
}

@media(max-width:560px){

    .le-product-description-content > div{
        gap:16px !important;
        margin-top:18px !important;
    }

    .le-product-description-content > div > div{
        padding:22px 18px !important;
        border-radius:18px;
    }

    .le-product-description-content > div > div h3{
        margin-bottom:20px !important;
        padding-left:42px !important;
        font-size:20px !important;
    }

    .le-product-description-content > div > div h3::before{
        width:32px;
        height:32px;
    }

    .le-product-description-content > div > div h3::after{
        left:12px;
    }

    .le-product-description-content li{
        min-height:48px;
        padding:12px 0 12px 26px !important;
        font-size:14px;
    }
}

@media(hover:none){

    .le-product-main-media:hover .le-product-main-image img,
    .le-product-thumbnail:hover,
    .le-product-primary-btn:hover,
    .le-product-secondary-btn:hover,
    .le-product-specs-cta:hover,
    .le-product-final-box > a:hover{
        transform:none;
    }
}

@media(prefers-reduced-motion:reduce){

    .le-product-page *,
    .le-product-page *::before,
    .le-product-page *::after{
        scroll-behavior:auto !important;
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
    }
}
