/* ==========================================================================
   0) DESIGN TOKENS (Charte + variables)
   ========================================================================== */
:root{
    /* Brand */
    --lp-purple: #44324a;
    --lp-yellow: #F8DCAD;

    /* Background */
    --lp-bg: var(--lp-purple);

    /* Text on background (violet) */
    --lp-text-on-bg: rgba(255,255,255,.96);
    --lp-muted-on-bg: rgba(255,255,255,.72);

    /* Text on cards (white) */
    --lp-text-on-card: #101828;
    --lp-muted-on-card: rgba(16,24,40,.70);

    /* UI */
    --lp-card: #ffffff;
    --lp-radius: 18px;
    --lp-radius-sm: 14px;

    /* Layout */
    --lp-max: 760px;
}

/* ==========================================================================
   1) BASE / GLOBAL
   ========================================================================== */
body.lp{
    font-family: "DM Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

    /* Premium background: subtle gradient + soft yellow glow on top */
    background:
            radial-gradient(
                    1200px 600px at 50% -200px,
                    rgba(248,220,173,.18),
                    transparent 60%
            ),
            linear-gradient(
                    180deg,
                    #4a3651 0%,
                    #44324a 45%,
                    #3e2c44 100%
            );

    color: var(--lp-text-on-bg);
}

/* Centered container (same width all sections) */
.lp-wrap{
    max-width: var(--lp-max);
}

/* Links: keep clean */
a{ text-decoration: none; }
a:hover{ text-decoration: none; }

/* Buttons: smooth micro-interactions */
.btn{
    transition: transform .12s ease, filter .12s ease, box-shadow .12s ease;
}
.btn:hover{
    transform: translateY(-1px);
}

/* ==========================================================================
   2) TYPOGRAPHY HELPERS
   ========================================================================== */
.lp-title{
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.15;
    font-size: xx-large;
}

.lp-subtitle{
    color: var(--lp-muted-on-bg);
    font-weight: 600;
}

/* Utility: force dark text inside white cards */
.lp-on-card{
    color: var(--lp-text-on-card);
}
.lp-on-card .text-muted{
    color: var(--lp-muted-on-card) !important;
}

/* ==========================================================================
   3) HERO SECTION
   ========================================================================== */
.lp-hero{
    color: var(--lp-text-on-bg);
}

/* Brand / small “logo pill” */
.lp-brand{
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .25rem .65rem;
    border-radius: 999px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.14);
}

.lp-brand__name{
    font-weight: 900;
    letter-spacing: .12em;
    font-size: .95rem;
    color: var(--lp-text-on-bg);
}

.lp-brand__dot{
    color: var(--lp-yellow);
    font-weight: 900;
    transform: translateY(-1px);
}

/* Video card (with halo focus effect) */
.lp-video{
    position: relative;
    z-index: 1;
    border-radius: var(--lp-radius);
    overflow: hidden;
}

/* Halo behind video */
.lp-video::before{
    content: "";
    position: absolute;
    inset: -30px;
    z-index: -1;
    border-radius: 28px;
    background: radial-gradient(
            circle at center,
            rgba(248,220,173,.35),
            rgba(248,220,173,.15) 40%,
            transparent 70%
    );
    filter: blur(18px);
    opacity: .9;
}

.lp-video.card{
    background: rgba(255,255,255,.95);
    border: 1px solid rgba(255,255,255,.18);

    /* Premium shadow */
    box-shadow:
            0 30px 60px rgba(0,0,0,.25),
            0 10px 25px rgba(0,0,0,.18);
}

/* CTA (primary) */
.lp-cta{
    border-radius: 999px;
    font-weight: 800;
    padding-top: .9rem;
    padding-bottom: .9rem;
}

/* Force “success” button to use brand yellow */
.btn-success.lp-cta{
    background: var(--lp-yellow) !important;
    border-color: var(--lp-yellow) !important;
    color: var(--lp-purple) !important;
}

.btn-success.lp-cta:hover{
    filter: brightness(0.98);
}

/* Hero muted text (Bootstrap .text-muted would be too dark otherwise) */
.lp-hero .text-muted,
.lp-hero .small.text-muted{
    color: var(--lp-muted-on-bg) !important;
}

/* ==========================================================================
   4) BADGES / LABELS (Reusable)
   ========================================================================== */
.lp-badge{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    padding:.35rem .7rem;
    border-radius:999px;
    background: rgba(248,220,173,.95);
    color: rgba(68,50,74,.98);
    font-weight:900;
    font-size:.9rem;
    border: 1px solid rgba(68,50,74,.14);
}

/* ==========================================================================
   5) SUPPORT / ACCOMPAGNEMENT (lp-support)
   ========================================================================== */
.lp-support__card{
    background: rgba(255,255,255,.92);
    border-radius: var(--lp-radius);
    border: 1px solid rgba(16,24,40,.08);
    backdrop-filter: blur(6px);
    color: var(--lp-text-on-card);
}

.lp-support__intro{
    color: rgba(16,24,40,.70);
    font-weight: 600;
}

/* Item cards inside support block */
.lp-support__item{
    display: flex;
    gap: .9rem;
    padding: 1rem;
    border-radius: var(--lp-radius-sm);
    background: rgba(68,50,74,.05);
    border: 1px solid rgba(68,50,74,.10);
}

.lp-support__icon{
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: rgba(248,220,173,.70);
    color: rgba(68,50,74,.98);
    font-size: 1.25rem;
    flex: 0 0 auto;
}

.lp-support__title{
    font-weight: 900;
    color: rgba(16,24,40,.92);
    line-height: 1.2;
}

.lp-support__text{
    margin-top: .2rem;
    color: rgba(16,24,40,.70);
    font-weight: 600;
    font-size: .95rem;
}

/* Recap bar */
.lp-support__bar{
    text-align: center;
    padding: .9rem 1rem;
    border-radius: var(--lp-radius-sm);
    background: rgba(68,50,74,.06);
    border: 1px dashed rgba(68,50,74,.20);
}

.lp-support__barline{
    font-weight: 900;
    color: rgba(16,24,40,.90);
}

.lp-support__barhint{
    margin-top: .2rem;
    font-size: .9rem;
    color: rgba(16,24,40,.65);
    font-weight: 600;
}

/* CTA secondary buttons in support */
.lp-btn-soft{
    border-radius: 999px;
    font-weight: 800;
}

/* ==========================================================================
   6) “NOS PLUS” SECTION (Cards + Logos band)
   ========================================================================== */
.lp-card{
    background: rgba(255,255,255,.95);
    border-radius: var(--lp-radius);
    border: 1px solid rgba(16,24,40,.08);
    color: var(--lp-text-on-card);
    transition: transform .12s ease, box-shadow .12s ease;
}

.lp-card:hover{
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(16,24,40,.12);
}

/* Logos band container */
.lp-logosbar{
    border-radius: var(--lp-radius);
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.16);
}

/* Logos images */
.lp-logoimg{
    height: 28px;
    width: auto;
    opacity: .95;
    filter: grayscale(100%);
}

@media (min-width: 992px){
    .lp-logoimg{ height: 34px; }
}

/* ==========================================================================
   7) (OPTIONAL) Utility pills (if you reuse them later)
   ========================================================================== */
.lp-pill{
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .55rem .9rem;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(16,24,40,.12);
    text-decoration: none;
    color: rgba(16,24,40,.92);
    font-weight: 700;
    transition: transform .12s ease, box-shadow .12s ease;
}

.lp-pill:hover{
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(16,24,40,.10);
}

.lp-pill__dot{
    width: 1.1rem;
    height: 1.1rem;
    display: inline-grid;
    place-items: center;
    font-size: 1rem;
}


/* ==========================================================================
   10) OFFRE LIMITÉE / PRICING (lp-offer)
   ========================================================================== */
.lp-offer__card{
    background: rgba(255,255,255,.92);
    border-radius: var(--lp-radius);
    border: 1px solid rgba(16,24,40,.08);
    backdrop-filter: blur(6px);
    color: var(--lp-text-on-card);
}

.lp-offer__title{
    font-weight: 900;
    color: rgba(16,24,40,.92);
}

.lp-offer__subtitle{
    color: rgba(16,24,40,.70);
    font-weight: 600;
}

/* Price box */
.lp-offer__pricebox{
    border-radius: var(--lp-radius);
    padding: 1rem 1rem;
    background: rgba(68,50,74,.06);
    border: 1px dashed rgba(68,50,74,.20);
}

.lp-offer__old{
    font-weight: 900;
    color: rgba(16,24,40,.65);
    text-decoration: line-through;
    text-decoration-thickness: 3px;
    text-decoration-color: rgba(68,50,74,.45);
    font-size: 1.1rem;
}

.lp-offer__now{
    margin-top: .35rem;
    display: inline-flex;
    align-items: baseline;
    justify-content: center;
    gap: .5rem;
    flex-wrap: wrap;
}

.lp-offer__nowLabel{
    font-weight: 700;
    color: rgba(16,24,40,.65);
}

.lp-offer__nowPrice{
    font-weight: 950;
    color: rgba(68,50,74,.98);
    font-size: clamp(1.7rem, 2.2vw + 1rem, 2.4rem);
}

.lp-offer__pay{
    margin-top: .45rem;
    color: rgba(16,24,40,.75);
    font-weight: 600;
}

/* Benefits */
.lp-offer__benefit{
    display: flex;
    gap: .75rem;
    padding: 1rem;
    border-radius: var(--lp-radius-sm);
    background: rgba(68,50,74,.04);
    border: 1px solid rgba(68,50,74,.10);
}

.lp-offer__check{
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: rgba(248,220,173,.75);
    color: rgba(68,50,74,.98);
    font-weight: 900;
    flex: 0 0 auto;
}

.lp-offer__bTitle{
    font-weight: 900;
    color: rgba(16,24,40,.92);
    line-height: 1.2;
}

.lp-offer__bText{
    margin-top: .15rem;
    color: rgba(16,24,40,.70);
    font-weight: 600;
    font-size: .95rem;
}

/* Timer */
.lp-offer__timer{
    padding: 1rem;
    border-radius: var(--lp-radius);
    background: rgba(248,220,173,.20);
    border: 1px solid rgba(248,220,173,.35);
}

.lp-offer__timerLabel{
    font-weight: 900;
    color: rgba(68,50,74,.98);
}

.lp-offer__timerBoxes{
    display: flex;
    gap: .6rem;
    justify-content: center;
}

.lp-offer__tBox{
    min-width: 84px;
    padding: .7rem .6rem;
    border-radius: 14px;
    background: rgba(255,255,255,.9);
    border: 1px solid rgba(16,24,40,.10);
}

.lp-offer__tBox span{
    display: block;
    font-weight: 950;
    font-size: 1.35rem;
    color: rgba(16,24,40,.92);
    line-height: 1;
}

.lp-offer__tBox small{
    display: block;
    margin-top: .25rem;
    color: rgba(16,24,40,.60);
    font-weight: 700;
}

.lp-offer__timerHint{
    font-size: .85rem;
    color: rgba(16,24,40,.55);
    font-weight: 600;
}

/* Fine print */
.lp-offer__fine{
    color: rgba(16,24,40,.60);
    font-weight: 600;
}


/* Emphasize final price */
.lp-offer__nowPrice{
    position: relative;
}

.lp-offer__nowPrice::after{
    content: "";
    position: absolute;
    left: -6%;
    right: -6%;
    bottom: 0.2em;
    height: .35em;
    background: rgba(248,220,173,.55);
    z-index: -1;
    border-radius: 6px;
}

/* ==========================================================================
   11) FIT SECTION / “POUR TOI ?” (lp-fit)
   ========================================================================== */
.lp-fit__card{
    background: rgba(255,255,255,.92);
    border-radius: var(--lp-radius);
    border: 1px solid rgba(16,24,40,.08);
    backdrop-filter: blur(6px);
    color: var(--lp-text-on-card);
}

.lp-fit__item{
    display: flex;
    gap: .75rem;
    padding: .9rem 1rem;
    border-radius: var(--lp-radius-sm);
    background: rgba(68,50,74,.04);
    border: 1px solid rgba(68,50,74,.10);
    font-weight: 700;
    color: rgba(16,24,40,.88);
    line-height: 1.35;
}

.lp-fit__check{
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: rgba(248,220,173,.75);
    flex: 0 0 auto;
}

.lp-fit__cta{
    padding-top: .5rem;
}

.lp-fit__note{
    color: rgba(16,24,40,.70);
    font-weight: 600;
}


/* ==========================================================================
   12) “CE QUE TU VAS RECEVOIR” (lp-receive) + Accordions (lp-acc)
   ========================================================================== */
.lp-receive__card{
    background: rgba(255,255,255,.92);
    border-radius: var(--lp-radius);
    border: 1px solid rgba(16,24,40,.08);
    color: var(--lp-text-on-card);
    padding: 1rem;
    position: relative;
}

.lp-receive__icon{
    width: 46px;
    height: 46px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: rgba(248,220,173,.75);
    color: rgba(68,50,74,.98);
    font-size: 1.25rem;
    margin-bottom: .7rem;
}

.lp-receive__title{
    font-weight: 950;
    color: rgba(16,24,40,.92);
    line-height: 1.2;
}

.lp-receive__text{
    margin-top: .35rem;
    color: rgba(16,24,40,.70);
    font-weight: 600;
}

.lp-receive__list{
    margin: .75rem 0 0;
    padding-left: 1.05rem;
    color: rgba(16,24,40,.78);
    font-weight: 650;
}

.lp-receive__list li{
    margin: .35rem 0;
}

.lp-receive__value{
    margin-top: .75rem;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .35rem .6rem;
    border-radius: 999px;
    background: rgba(68,50,74,.06);
    border: 1px dashed rgba(68,50,74,.20);
    color: rgba(16,24,40,.80);
    font-weight: 800;
}

/* Accordions styling (Bootstrap override) */
.lp-acc__item{
    background: rgba(255,255,255,.92);
    border-radius: var(--lp-radius);
    border: 1px solid rgba(16,24,40,.08);
    overflow: hidden;
    margin-bottom: .75rem;
}

.lp-acc__btn{
    background: transparent !important;
    color: rgba(16,24,40,.92) !important;
    font-weight: 900;
    padding: 1rem 1rem;
}

.lp-acc__btn:focus{
    box-shadow: none !important;
}

.lp-acc__hint{
    font-weight: 800;
    color: rgba(68,50,74,.70);
    font-size: .9rem;
}

.lp-acc__body{
    color: rgba(16,24,40,.78);
    font-weight: 650;
}

/* Nice arrow color */
.accordion-button::after{
    filter: brightness(0.35);
}


/* ==========================================================================
   13) PROGRAMME (lp-program + lp-prog accordion)
   ========================================================================== */
.lp-prog__item{
    background: rgba(255,255,255,.92);
    border-radius: var(--lp-radius);
    border: 1px solid rgba(16,24,40,.08);
    overflow: hidden;
    margin-bottom: .75rem;
}

.lp-prog__btn{
    background: transparent !important;
    padding: 1rem 1rem;
    color: rgba(16,24,40,.92) !important;
}

.lp-prog__btn:focus{
    box-shadow: none !important;
}

.lp-prog__head{
    display: grid;
    gap: .15rem;
}

.lp-prog__kicker{
    display: inline-flex;
    width: fit-content;
    padding: .2rem .55rem;
    border-radius: 999px;
    background: rgba(248,220,173,.75);
    color: rgba(68,50,74,.98);
    font-weight: 900;
    font-size: .85rem;
}

.lp-prog__title{
    font-weight: 950;
    line-height: 1.2;
}

.lp-prog__subtitle{
    color: rgba(16,24,40,.65);
    font-weight: 700;
    font-size: .95rem;
}

.lp-prog__body{
    color: rgba(16,24,40,.78);
    font-weight: 650;
}

/* Arrow tone */
.accordion-button::after{
    filter: brightness(0.35);
}


/* ==========================================================================
   14) CERTIFICATION (Slider Premium)
   ========================================================================== */
.lp-cert__card{
    border-radius: var(--lp-radius);
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.16);
    padding: 1rem;
}

/* Carousel wrapper */
.lp-cert__carousel{
    border-radius: var(--lp-radius);
    overflow: hidden;
    position: relative;
}

/* Images (nice crop) */
.lp-cert__img{
    width: 100%;
    height: clamp(260px, 42vw, 420px);
    object-fit: cover;
    display: block;
    border-radius: var(--lp-radius);
}

/* Soft glow behind carousel */
.lp-cert__carousel::before{
    content: "";
    position: absolute;
    inset: -28px;
    z-index: -1;
    border-radius: 28px;
    background: radial-gradient(
            circle at 50% 20%,
            rgba(248,220,173,.35),
            transparent 65%
    );
    filter: blur(18px);
    opacity: .9;
}

/* Caption styling */
.lp-cert__caption{
    text-align: left;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 1.1rem 1.1rem;
    background: linear-gradient(180deg, transparent, rgba(0,0,0,.55));
}

.lp-cert__tag{
    display: inline-flex;
    align-items: center;
    padding: .25rem .55rem;
    border-radius: 999px;
    background: rgba(248,220,173,.92);
    color: rgba(68,50,74,.98);
    font-weight: 900;
    font-size: .85rem;
    border: 1px solid rgba(68,50,74,.14);
}

.lp-cert__title{
    margin-top: .5rem;
    font-weight: 950;
    color: rgba(255,255,255,.96);
    line-height: 1.15;
    font-size: 1.15rem;
}

.lp-cert__text{
    margin-top: .15rem;
    color: rgba(255,255,255,.78);
    font-weight: 650;
    font-size: .95rem;
}

/* Indicators (dots) */
.lp-cert__dots [data-bs-target]{
    width: 8px;
    height: 8px;
    border-radius: 999px;
    border: 0;
    opacity: .45;
}
.lp-cert__dots .active{
    opacity: .95;
}

/* Nav arrows (more premium, less “big white” default) */
.lp-cert__nav{
    width: 12%;
    opacity: .9;
}
.lp-cert__nav:hover{
    opacity: 1;
}
.carousel-control-prev-icon,
.carousel-control-next-icon{
    filter: drop-shadow(0 10px 20px rgba(0,0,0,.35));
}

/* Mobile: caption padding */
@media (max-width: 576px){
    .lp-cert__caption{
        padding: .9rem .9rem;
    }
}


/* ==========================================================================
   15) REVIEWS (Grid premium)
   ========================================================================== */
.lp-reviews__card{
    background: rgba(255,255,255,.92);
    border-radius: var(--lp-radius);
    border: 1px solid rgba(16,24,40,.08);
    color: var(--lp-text-on-card);
}

.lp-reviews__chip{
    display: inline-flex;
    align-items: center;
    padding: .25rem .6rem;
    border-radius: 999px;
    background: rgba(248,220,173,.75);
    color: rgba(68,50,74,.98);
    font-weight: 900;
    font-size: .9rem;
    border: 1px solid rgba(68,50,74,.14);
}

.lp-reviews__stars{
    color: rgba(68,50,74,.75);
    font-weight: 900;
    letter-spacing: .06em;
    font-size: .95rem;
}

.lp-reviews__person{
    display: flex;
    align-items: center;
    gap: .75rem;
}

.lp-reviews__avatar{
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: rgba(68,50,74,.08);
    border: 1px solid rgba(68,50,74,.14);
    color: rgba(68,50,74,.98);
    font-weight: 950;
}

.lp-reviews__name{
    font-weight: 950;
    color: rgba(16,24,40,.92);
    line-height: 1.1;
}

.lp-reviews__meta{
    color: rgba(16,24,40,.65);
    font-weight: 650;
    font-size: .95rem;
}

.lp-reviews__media{
    border-radius: var(--lp-radius-sm);
    overflow: hidden;
    border: 1px solid rgba(16,24,40,.10);
    background: rgba(16,24,40,.04);
}

.lp-reviews__quote{
    color: rgba(16,24,40,.78);
    font-weight: 650;
    line-height: 1.55;
}

.lp-reviews__pill{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    padding: .4rem .7rem;
    border-radius: 999px;
    background: rgba(68,50,74,.06);
    border: 1px dashed rgba(68,50,74,.22);
    color: rgba(16,24,40,.75);
    font-weight: 800;
    font-size: .9rem;
}

/* ==========================================================================
   HUMAN BRANDING v2 (lp-human) — clean, premium, conversion-friendly
   ========================================================================== */
.lp-human__card{
    border-radius: 22px;
    overflow: hidden;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
}

/* Left content panel */
.lp-human__content{
    background: rgba(255,255,255,.92);
    color: var(--lp-text-on-card);
}

/* Name */
.lp-human__title{
    font-weight: 950;
    letter-spacing: -.02em;
    font-size: 1.35rem;
    color: rgba(16,24,40,.92);
}
.lp-human__subtitle{
    margin-top: .2rem;
    font-weight: 650;
    color: rgba(16,24,40,.62);
}

/* Paragraphs */
.lp-human__p{
    color: rgba(16,24,40,.74);
    font-weight: 650;
    line-height: 1.75;
    margin-bottom: .85rem;
}

/* Quote — minimal, elegant */
.lp-human__quote{
    position: relative;
    padding: 1rem 1rem 1rem 1.25rem;
    border-left: 4px solid rgba(248,220,173,.85);
    background: rgba(68,50,74,.04);
    border-radius: 14px;
}
.lp-human__quoteMark{
    position: absolute;
    top: -.4rem;
    left: .65rem;
    font-size: 2.4rem;
    line-height: 1;
    color: rgba(68,50,74,.20);
    font-weight: 950;
}
.lp-human__quoteText{
    font-weight: 850;
    color: rgba(68,50,74,.92);
    line-height: 1.45;
}

/* Points — clean list */
.lp-human__points{
    display: grid;
    gap: .85rem;
}
.lp-human__point{
    display: flex;
    gap: .75rem;
    align-items: flex-start;
}
.lp-human__icon{
    width: 40px;
    height: 40px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: rgba(248,220,173,.70);
    color: rgba(68,50,74,.98);
    font-size: 1.1rem;
    flex: 0 0 auto;
}
.lp-human__pointTitle{
    font-weight: 950;
    color: rgba(16,24,40,.92);
    line-height: 1.2;
}
.lp-human__pointText{
    margin-top: .15rem;
    font-weight: 650;
    color: rgba(16,24,40,.68);
}

/* CTA row */
.lp-human__ctas{
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    align-items: center;
}
.lp-human__btnGhost{
    border-radius: 999px;
    font-weight: 850;
    border-color: rgba(68,50,74,.25) !important;
    color: rgba(68,50,74,.95) !important;
    background: transparent !important;
}
.lp-human__btnGhost:hover{
    background: rgba(68,50,74,.06) !important;
}

/* Logos */
.lp-human__logosLabel{
    font-weight: 850;
    color: rgba(16,24,40,.70);
    margin-bottom: .5rem;
}
.lp-human__logosRow{
    display: flex;
    gap: 14px;
    align-items: center;
    flex-wrap: wrap;
}
.lp-human__logosRow img{
    height: 28px;
    width: auto;
    opacity: .9;
    filter: grayscale(100%);
}

/* Right media panel */
.lp-human__media{
    height: 100%;
    min-height: 320px;
    background: rgba(0,0,0,.12);
    position: relative;
}
.lp-human__img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


/* ==========================================================================
   17) COMMUNAUTÉ & ACCOMPAGNEMENT (lp-community)
   ========================================================================== */
.lp-community__card{
    background: rgba(255,255,255,.92);
    border-radius: var(--lp-radius);
    border: 1px solid rgba(16,24,40,.08);
    color: var(--lp-text-on-card);
}

.lp-community__item{
    display: flex;
    gap: .85rem;
    padding: 1rem;
    border-radius: var(--lp-radius-sm);
    background: rgba(68,50,74,.04);
    border: 1px solid rgba(68,50,74,.10);
}

.lp-community__icon{
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: rgba(248,220,173,.70);
    color: rgba(68,50,74,.98);
    font-size: 1.15rem;
    flex: 0 0 auto;
}

.lp-community__title{
    font-weight: 950;
    color: rgba(16,24,40,.92);
    line-height: 1.15;
}

.lp-community__text{
    margin-top: .15rem;
    color: rgba(16,24,40,.70);
    font-weight: 650;
    line-height: 1.55;
}

.lp-community__bar{
    text-align: center;
    padding: 1rem 1rem;
    border-radius: var(--lp-radius-sm);
    background: rgba(68,50,74,.06);
    border: 1px dashed rgba(68,50,74,.20);
}

.lp-community__barLine{
    font-weight: 900;
    color: rgba(16,24,40,.90);
}

.lp-community__barHint{
    margin-top: .2rem;
    color: rgba(16,24,40,.65);
    font-weight: 650;
}


/* ==========================================================================
   18) GARANTIE (lp-guarantee)
   ========================================================================== */
.lp-guarantee__card{
    background: rgba(255,255,255,.92);
    border-radius: var(--lp-radius);
    border: 1px solid rgba(16,24,40,.08);
    color: var(--lp-text-on-card);
}

/* Top row: seal + badge */
.lp-guarantee__top{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.lp-guarantee__seal{
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .9rem 1rem;
    border-radius: 16px;
    background: rgba(68,50,74,.04);
    border: 1px solid rgba(68,50,74,.10);
}

.lp-guarantee__sealIcon{
    width: 46px;
    height: 46px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: rgba(248,220,173,.75);
    color: rgba(68,50,74,.98);
    font-size: 1.2rem;
    flex: 0 0 auto;
}

.lp-guarantee__sealTitle{
    font-weight: 950;
    color: rgba(16,24,40,.92);
    line-height: 1.1;
}

.lp-guarantee__sealText{
    color: rgba(16,24,40,.65);
    font-weight: 650;
    font-size: .95rem;
}

/* “30 jours” badge (placeholder style) */
.lp-guarantee__badge{
    text-align: center;
    padding: .75rem 1rem;
    border-radius: 18px;
    background: rgba(248,220,173,.22);
    border: 1px solid rgba(248,220,173,.35);
    min-width: 130px;
}

.lp-guarantee__badgeBig{
    font-weight: 950;
    color: rgba(68,50,74,.98);
    font-size: 1.4rem;
    line-height: 1.1;
}

.lp-guarantee__badgeSmall{
    margin-top: .1rem;
    color: rgba(68,50,74,.70);
    font-weight: 800;
    font-size: .95rem;
}

/* Steps */
.lp-guarantee__step{
    display: flex;
    gap: .75rem;
    padding: 1rem;
    border-radius: var(--lp-radius-sm);
    background: rgba(68,50,74,.04);
    border: 1px solid rgba(68,50,74,.10);
}

.lp-guarantee__stepN{
    width: 40px;
    height: 40px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: rgba(248,220,173,.75);
    color: rgba(68,50,74,.98);
    font-weight: 950;
    flex: 0 0 auto;
}

.lp-guarantee__stepTitle{
    font-weight: 950;
    color: rgba(16,24,40,.92);
    line-height: 1.15;
}

.lp-guarantee__stepText{
    margin-top: .15rem;
    color: rgba(16,24,40,.70);
    font-weight: 650;
    line-height: 1.55;
}

/* Bar */
.lp-guarantee__bar{
    text-align: center;
    padding: .9rem 1rem;
    border-radius: var(--lp-radius-sm);
    background: rgba(68,50,74,.06);
    border: 1px dashed rgba(68,50,74,.20);
    color: rgba(16,24,40,.78);
    font-weight: 700;
}

/* Hint text under CTA */
.lp-guarantee__hint{
    color: rgba(16,24,40,.60) !important;
}



/* ==========================================================================
   19) FAQ (lp-faq)
   ========================================================================== */
.lp-faq__card{
    background: rgba(255,255,255,.92);
    border-radius: var(--lp-radius);
    border: 1px solid rgba(16,24,40,.08);
    color: var(--lp-text-on-card);
}

.lp-faq__item{
    border: 0;
    background: transparent;
    margin-bottom: .65rem;
}

.lp-faq__btn{
    border-radius: var(--lp-radius-sm) !important;
    background: rgba(68,50,74,.04) !important;
    border: 1px solid rgba(68,50,74,.10) !important;
    color: rgba(16,24,40,.92) !important;
    font-weight: 900;
    padding: 1rem 1rem;
    box-shadow: none !important;
}

.lp-faq__btn.collapsed{
    background: rgba(68,50,74,.03) !important;
}

.lp-faq__btn:focus{
    box-shadow: none !important;
}

.lp-faq__btn::after{
    filter: brightness(.35);
}

.lp-faq__body{
    margin-top: .5rem;
    border-radius: var(--lp-radius-sm);
    background: rgba(255,255,255,.75);
    border: 1px solid rgba(16,24,40,.08);
    color: rgba(16,24,40,.75);
    font-weight: 650;
    line-height: 1.7;
}

.lp-faq__list{
    margin-bottom: 0;
    color: rgba(16,24,40,.75);
    font-weight: 650;
}

.lp-faq__hint{
    color: rgba(16,24,40,.60) !important;
}


/* ==========================================================================
   20) CTA FINAL / DÉCISION (lp-final)
   ========================================================================== */
.lp-final__card{
    background: rgba(255,255,255,.92);
    border-radius: var(--lp-radius);
    border: 1px solid rgba(16,24,40,.08);
    color: var(--lp-text-on-card);
}

.lp-final__limited{
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .35rem .75rem;
    border-radius: 999px;
    background: rgba(68,50,74,.06);
    border: 1px dashed rgba(68,50,74,.20);
    color: rgba(16,24,40,.78);
    font-weight: 850;
}

.lp-final__price{
    display: grid;
    gap: .45rem;
    justify-items: center;
}

.lp-final__now{
    display: inline-flex;
    align-items: baseline;
    gap: .45rem;
}

.lp-final__amount{
    font-weight: 950;
    letter-spacing: -.03em;
    font-size: clamp(2.2rem, 5.8vw, 3.2rem);
    color: rgba(16,24,40,.94);
}

.lp-final__currency{
    font-weight: 900;
    color: rgba(16,24,40,.65);
}

.lp-final__was{
    display: inline-flex;
    align-items: center;
    gap: .6rem;
}

.lp-final__off{
    display: inline-flex;
    align-items: center;
    padding: .25rem .55rem;
    border-radius: 999px;
    background: rgba(248,220,173,.75);
    border: 1px solid rgba(68,50,74,.14);
    color: rgba(68,50,74,.98);
    font-weight: 950;
}

.lp-final__old{
    color: rgba(16,24,40,.55);
    font-weight: 900;
    text-decoration: line-through;
    text-decoration-thickness: 3px;
    text-decoration-color: rgba(68,50,74,.35);
}

.lp-final__pay{
    color: rgba(16,24,40,.70);
    font-weight: 700;
}

/* Benefit cards (clean) */
.lp-final__benefit{
    display: flex;
    gap: .85rem;
    padding: 1rem;
    border-radius: var(--lp-radius-sm);
    background: rgba(68,50,74,.04);
    border: 1px solid rgba(68,50,74,.10);
}

.lp-final__bIcon{
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: rgba(248,220,173,.70);
    color: rgba(68,50,74,.98);
    font-size: 1.15rem;
    flex: 0 0 auto;
}

.lp-final__bTitle{
    font-weight: 950;
    color: rgba(16,24,40,.92);
    line-height: 1.15;
}

.lp-final__bText{
    margin-top: .15rem;
    color: rgba(16,24,40,.70);
    font-weight: 650;
    line-height: 1.55;
}

/* CTA row */
.lp-final__ctas{
    display: grid;
    gap: .75rem;
}

@media (min-width: 768px){
    .lp-final__ctas{
        grid-template-columns: 1.25fr .9fr;
        align-items: center;
    }
}

.lp-final__note{
    color: rgba(16,24,40,.60);
    font-weight: 650;
}


/* ==========================================================================
   21) INSCRIPTION (lp-signup) — Societiz + mini form + WhatsApp
   ========================================================================== */
.lp-signup__card{
    background: rgba(255,255,255,.92);
    border-radius: var(--lp-radius);
    border: 1px solid rgba(16,24,40,.08);
    color: var(--lp-text-on-card);
}

.lp-signup__panel{
    padding: 1.1rem;
    border-radius: var(--lp-radius-sm);
    background: rgba(68,50,74,.04);
    border: 1px solid rgba(68,50,74,.10);
}

@media (min-width: 768px){
    .lp-signup__panel{ padding: 1.25rem; }
}

.lp-signup__panelTitle{
    font-weight: 950;
    color: rgba(16,24,40,.92);
    line-height: 1.15;
    font-size: 1.1rem;
}

.lp-signup__panelText{
    margin-top: .25rem;
    color: rgba(16,24,40,.68);
    font-weight: 650;
    line-height: 1.55;
}

/* Price block (reuse idea from final CTA) */
.lp-signup__price{
    display: grid;
    gap: .35rem;
}

.lp-signup__now{
    display: inline-flex;
    align-items: baseline;
    gap: .45rem;
}

.lp-signup__amount{
    font-weight: 950;
    letter-spacing: -.03em;
    font-size: clamp(2rem, 5vw, 2.7rem);
    color: rgba(16,24,40,.94);
}

.lp-signup__currency{
    font-weight: 900;
    color: rgba(16,24,40,.65);
}

.lp-signup__was{
    display: inline-flex;
    align-items: center;
    gap: .6rem;
}

.lp-signup__off{
    display: inline-flex;
    align-items: center;
    padding: .25rem .55rem;
    border-radius: 999px;
    background: rgba(248,220,173,.75);
    border: 1px solid rgba(68,50,74,.14);
    color: rgba(68,50,74,.98);
    font-weight: 950;
}

.lp-signup__old{
    color: rgba(16,24,40,.55);
    font-weight: 900;
    text-decoration: line-through;
    text-decoration-thickness: 3px;
    text-decoration-color: rgba(68,50,74,.35);
}

/* Form styling */
.lp-signup__label{
    font-weight: 850;
    color: rgba(16,24,40,.75);
    font-size: .92rem;
}

.lp-signup__input{
    border-radius: 14px;
    border: 1px solid rgba(16,24,40,.14);
    padding: .75rem .85rem;
}

.lp-signup__input:focus{
    box-shadow: none;
    border-color: rgba(68,50,74,.32);
}

/* WhatsApp button (keeps premium look) */
.lp-signup__wa{
    border-radius: 999px;
    font-weight: 900;
}

/* Micro text */
.lp-signup__micro{
    text-align: center;
    font-weight: 650;
    color: rgba(16,24,40,.60);
    font-size: .92rem;
}

/* Bottom reassurance bar */
@media (max-width: 575.98px){

    /* 1) Global rhythm (air + lisibilité) */
    .lp-hero,
    section{
        padding-top: 2.25rem !important;
        padding-bottom: 2.25rem !important;
    }

    .lp-wrap{
        padding-left: .25rem;
        padding-right: .25rem;
    }

    /* 2) Titles & text scale */
    .lp-title{
        font-size: 1.65rem;
        line-height: 1.15;
    }

    h2{
        font-size: 1.35rem;
        line-height: 1.2;
    }

    p{
        font-size: 1rem;
        line-height: 1.7;
    }

    /* 3) Buttons: touch-friendly */
    .btn,
    .lp-cta{
        min-height: 48px;
        padding-top: .9rem !important;
        padding-bottom: .9rem !important;
        font-size: 1rem;
    }

    /* 4) Cards: less “tight” */
    .lp-card,
    .lp-support__card,
    .lp-community__card,
    .lp-guarantee__card,
    .lp-faq__card,
    .lp-final__card,
    .lp-signup__card,
    .lp-human__card{
        border-radius: 18px;
    }

    /* 5) Lists of items: reduce visual noise */
    .lp-support__item,
    .lp-community__item,
    .lp-guarantee__step,
    .lp-final__benefit{
        padding: .9rem;
        gap: .75rem;
    }

    /* 6) Icons: consistent + not huge */
    .lp-support__icon,
    .lp-community__icon,
    .lp-guarantee__sealIcon,
    .lp-guarantee__stepN,
    .lp-final__bIcon,
    .lp-human__icon{
        width: 42px;
        height: 42px;
        border-radius: 14px;
        font-size: 1.05rem;
    }

    /* 7) Human branding: keep it clean on mobile */
    .lp-human__content{
        padding: 1.25rem !important;
    }

    .lp-human__title{
        font-size: 1.25rem;
    }

    .lp-human__logosRow{
        justify-content: center;
    }

    /* 8) FAQ: nicer taps */
    .lp-faq__btn{
        padding: .95rem 1rem !important;
        font-size: 1rem;
    }

    .lp-faq__body{
        padding: 1rem !important;
    }

    /* 9) Final CTA: avoid stacked clutter */
    .lp-final__limited{
        font-size: .95rem;
    }

    .lp-final__pay{
        font-size: .98rem;
        line-height: 1.5;
    }

    /* 10) Signup: reduce label weight + better form */
    .lp-signup__label{
        font-size: .9rem;
    }

    .lp-signup__input{
        padding: .8rem .9rem;
    }

    .lp-signup__micro{
        font-size: .9rem;
        line-height: 1.5;
    }
}

/* ==========================================================================
   Mobile/Tablet (sm/md): keep CTAs clean and centered
   ========================================================================== */
@media (max-width: 991.98px){

    /* Prevent “two CTAs side by side” becoming messy */
    .lp-human__ctas,
    .lp-final__ctas{
        justify-content: center;
    }

    /* Logo rows: always centered */
    .lp-logosbar .d-flex,
    .lp-human__logosRow{
        justify-content: center !important;
    }

    /* Video/iframes: avoid hard edges */
    .lp-video .ratio,
    .lp-reviews__media{
        border-radius: 16px;
    }
}

/* ==========================================================================
   Accessibility micro-polish (focus visible without ugliness)
   ========================================================================== */
:focus-visible{
    outline: 3px solid rgba(248,220,173,.55);
    outline-offset: 3px;
    border-radius: 10px;
}


.lp-signup__bar{
    text-align: center;
    padding: .95rem 1rem;
    border-radius: var(--lp-radius-sm);
    background: rgba(68,50,74,.06);
    border: 1px dashed rgba(68,50,74,.20);
    color: rgba(16,24,40,.78);
    font-weight: 800;
}

/* ==========================================================================
   99) POLISH MOBILE (Finishing pass) — lisibilité + spacing + CTA comfort
   Colle ce bloc TOUT À LA FIN de style.css
   ========================================================================== */


/* ==========================================================================
   TOP BAR (Header / Nav) — white full-width
   ========================================================================== */

.lp-topbar{
    position: sticky;
    top: 0;
    z-index: 1030;

    background: rgba(255,255,255,.88);          /* was .96 -> softer */
    border-bottom: 1px solid rgba(16,24,40,.08);
    backdrop-filter: blur(12px);
}

/* Inner layout: always one row */
.lp-topbar__inner{
    display: flex;
    align-items: center;
    justify-content: space-between;             /* left / right */
    gap: .75rem;
    padding: .75rem 0;
    flex-wrap: nowrap;                           /* IMPORTANT: no wrap */
}

/* Logo sizing */
.lp-topbar__logo{
    height: 58px;
    width: auto;
    display: block;
}

/* Right nav (language link) */
.lp-topbar__nav{
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    flex: 0 0 auto;
}

/* Make sure brand stays left and doesn't shrink weirdly */
.lp-topbar__brand{
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
}

/* Language link stays clean and readable */
.lp-topbar__link{
    display: inline-flex;
    align-items: center;
    padding: .5rem .85rem;
    border-radius: 999px;
    font-weight: 900;
    white-space: nowrap;
    color: #44324a;/* IMPORTANT: no breaking */
}

.lp-topbar__link:hover{
    background: rgba(68,50,74,.07);
    box-shadow: 0 10px 22px rgba(16,24,40,.10);
    transform: translateY(-1px);
}

/* Instagram badge */
.lp-topbar__ig{
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .55rem .9rem;
    border-radius: 999px;
    text-decoration: none;
    border: 1px solid rgba(16,24,40,.10);
    background: rgba(248,220,173,.35);
    color: rgba(16,24,40,.88);
    font-weight: 850;
    transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
}

.lp-topbar__ig:hover{
    box-shadow: 0 10px 22px rgba(16,24,40,.10);
    transform: translateY(-1px);
    filter: brightness(1.02);
}

.lp-topbar__igDot{
    color: rgba(68,50,74,.85);
    font-size: 1rem;
    transform: translateY(-1px);
}

.lp-topbar__igText{
    opacity: .85;
    font-weight: 900;
}

.lp-topbar__igHandle{
    font-weight: 950;
    color: rgba(68,50,74,.95);
}

/* Mobile: keep left/right, reduce logo size, avoid overlap */
@media (max-width: 575.98px){
    .lp-topbar__inner{
        padding: .65rem 0;
        gap: .5rem;
    }

    .lp-topbar__logo{
        height: 46px;                              /* smaller on mobile */
    }

    .lp-topbar__link{
        padding: .45rem .75rem;
        font-size: .95rem;
    }
}

/* ==========================================================================
   FOOTER v2 (lp-footer2) — premium + anti overflow
   ========================================================================== */

.lp-footer2{
    padding: 2.25rem 0 2.75rem;
    color: rgba(255,255,255,.86);
}

/* Full-width premium shell */
.lp-footer2__shell{
    border-radius: 22px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(12px);
    padding: 1.4rem;
}

@media (min-width: 768px){
    .lp-footer2__shell{ padding: 1.8rem; }
}

/* Brand */
.lp-footer2__brand{
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.lp-footer2__logo{
    height: 56px;
    width: auto;
    display: block;
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.22));
}

.lp-footer2__desc{
    margin-top: .75rem;
    color: rgba(255,255,255,.74);
    font-weight: 650;
    line-height: 1.65;
}

/* Chips */
.lp-footer2__chips{
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.lp-footer2__chip{
    display: inline-flex;
    align-items: center;
    padding: .38rem .75rem;
    border-radius: 999px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.14);
    color: rgba(255,255,255,.82);
    font-weight: 850;
    font-size: .92rem;
}

/* Titles */
.lp-footer2__title{
    font-weight: 950;
    color: rgba(255,255,255,.94);
    margin-bottom: .75rem;
}

/* Links */
.lp-footer2__links{
    display: grid;
    gap: .55rem;
}

.lp-footer2__link{
    color: rgba(255,255,255,.78);
    text-decoration: none;
    font-weight: 750;
    padding: .2rem 0;
}

.lp-footer2__link:hover{
    color: rgba(248,220,173,.96);
}

/* Contact list */
.lp-footer2__contactList{
    display: grid;
    gap: .65rem;
}

.lp-footer2__contact{
    display: flex;
    align-items: center;
    gap: .6rem;
    text-decoration: none;
    color: rgba(255,255,255,.80);
    font-weight: 750;
    min-width: 0; /* important for wrapping behavior */
}

.lp-footer2__contact:hover{
    color: rgba(248,220,173,.96);
}

.lp-footer2__ico{
    width: 36px;
    height: 36px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: rgba(248,220,173,.18);
    border: 1px solid rgba(248,220,173,.22);
    color: rgba(248,220,173,.96);
    flex: 0 0 auto;
}

/* The text: safe wrapping rules */
.lp-footer2__txt{
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Phone: avoid ugly wrap (keeps on one line) */
.lp-footer2__nowrap{
    white-space: nowrap;
}

/* Email: allow clean wrap (break long strings) */
.lp-footer2__break{
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* Language line */
.lp-footer2__lang{
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
}

.lp-footer2__muted{
    color: rgba(255,255,255,.70);
    font-weight: 650;
}

.lp-footer2__langLink{
    color: rgba(248,220,173,.96);
    font-weight: 900;
    text-decoration: none;
}

.lp-footer2__langLink:hover{
    text-decoration: underline;
}

/* Bottom row */
.lp-footer2__bottom{
    margin-top: 1.4rem;
    padding-top: 1.1rem;
    border-top: 1px solid rgba(255,255,255,.14);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    flex-wrap: wrap;
}

.lp-footer2__legal{
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    flex-wrap: wrap;
    color: rgba(255,255,255,.72);
    font-weight: 650;
}

.lp-footer2__miniLink{
    color: rgba(255,255,255,.78);
    text-decoration: none;
    font-weight: 750;
}

.lp-footer2__miniLink:hover{
    color: rgba(248,220,173,.96);
}

.lp-footer2__sep{
    opacity: .65;
}

.lp-footer2__copy{
    color: rgba(255,255,255,.66);
    font-weight: 650;
}

/* Mobile */
@media (max-width: 575.98px){
    .lp-footer2{ padding: 1.75rem 0 2.25rem; }
    .lp-footer2__shell{ border-radius: 18px; padding: 1.2rem; }
    .lp-footer2__logo{ height: 50px; }
    .lp-footer2__bottom{ justify-content: center; text-align: center; }
}


/* ==========================================================================
   BACK TO TOP — minimal, premium, no JS
   ========================================================================== */

.lp-backtop{
    position: fixed;
    right: 1rem;
    bottom: 1.2rem;
    width: 44px;
    height: 44px;
    border-radius: 999px;

    display: grid;
    place-items: center;

    background: rgba(248,220,173,.95); /* jaune brand */
    color: var(--lp-purple);

    font-weight: 900;
    font-size: 1.1rem;
    text-decoration: none;

    box-shadow: 0 12px 28px rgba(0,0,0,.18);
    transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;

    z-index: 999;
}

.lp-backtop:hover{
    transform: translateY(-3px);
    box-shadow: 0 16px 36px rgba(0,0,0,.22);
    filter: brightness(0.98);
}

/* Mobile: slightly smaller */
@media (max-width: 575.98px){
    .lp-backtop{
        width: 40px;
        height: 40px;
        font-size: 1rem;
        bottom: 1rem;
        right: .9rem;
    }
}
