:root{
    --blue:#133766;
    --blue-dark:#133766;
    --blue-soft:#eef3ff;
    --text:#15171a;
    --muted:#6b7280;
    --line:#eceff3;
    --container:1180px;
}

*{box-sizing:border-box;margin:0;padding:0}

body{
    font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    color:var(--text);
    background:#fff;
}

h1,h2,h3{
    font-family:Montserrat,Inter,sans-serif;
}

.container{
    max-width:var(--container);
    margin:0 auto;
    padding:0 22px;
}

/* TOP BAR */
.topbar{
    border-bottom:1px solid var(--line);
    font-size:13px;
    color:#133766;
}
.topbar-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    height:44px;
}
.topbar-left,.topbar-right{
    display:flex;
    gap:18px;
    align-items:center;
}
.topbar .sep{
    width:1px;
    height:14px;
    background:var(--line);
}

/* HEADER */
.header{
    border-bottom:1px solid var(--line);
    background:#fff;
}
.header-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    height:70px;
}
.header a.btn{
    font-size: 0.7em;
    padding: 1em;
    margin: 0 0.5em;
}
.burger {
    display: none;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    border: 1px solid rgba(0,0,0,.12);
    background: #fff;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.burger span {
    width: 18px;
    height: 2px;
    background: #133766;
    position: relative;
    display: block;
}

.burger span::before,
.burger span::after {
    content: "";
    position: absolute;
    left: 0;
    width: 18px;
    height: 2px;
    background: #133766;
}

.burger span::before {
    top: -6px;
}

.burger span::after {
    top: 6px;
}

.brand img{
    max-height: 65px;
    object-fit: contain;
}
.nav{
    display:flex;
    gap:34px;
}
.nav a{
    text-decoration:none;
    font-size:14px;
    font-weight:500;
    color:#111827;
    position:relative;
    z-index: 2;
}
.nav a.active, .nav a:hover{
    color:var(--blue);
}
.nav a::after{
    content:"";
    position:absolute;
    left:0;right:0;bottom:0px;
    background:var(--blue);
    transition-duration: 300ms;
}
.nav a.active::after,.nav a:hover::after{
    content:"";
    position:absolute;
    left:0;right:0;bottom:-10px;
    height:2px;
    background:var(--blue);
}
/* HERO */
.hero{
    padding:80px 0 90px;
    background:linear-gradient(180deg,#f8faff 0%,#ffffff 70%);
    box-shadow: 0 0 10px inset #13145130;
    position: relative;
}
.hero::after {
    content: "";
    background-image: url('../medias/pattern.png');
    width: 30%;
    background-size: contain;
    position: absolute;
    left: 0;
    top: 50px;
    bottom: 50px;
    background-repeat: no-repeat;
    opacity: 0.04;
}
.hero-inner{
    display:flex;
    gap:40px;
    align-items:stretch;
    z-index: 2;
    position: relative;
}

/* HERO CONTENT */
.hero-content{
    max-width:420px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:20px;
}
.hero-content h1{
    font-size:42px;
    line-height:1.15;
    font-weight:600;
}
.hero-content p{
    font-size:16px;
    line-height:1.65;
    color:#3f4652;
}
.hero-actions{
    display:flex;
    gap:14px;
    margin-top:10px;
}

/* DECOR */
.hero-decor{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:18px;
}
.hero-decor::before,
.hero-decor::after{
    content:"";
    flex:1;
    width:1px;
    background:var(--blue);
    opacity:.15;
}
.hero-decor span{
    width:20px;
    height:20px;
    background:var(--blue);
    opacity:.12;
    transition-duration: 300ms;
}
.hero-decor span.is-active{
    opacity: 0.7;
    transform:scale(1.15);
}
/* BUTTONS */
.btn {
    padding: 1.5em 1em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85em;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 2px;
    transition: .2s;
}
.btn-primary{
    background:var(--blue);
    color:#fff;
}
.btn-primary:hover{
    background:var(--blue-dark);
}
.btn-primlight {
    background: #fff;
    color: #0f264a;
}
.btn-secondary{
    border:2px solid var(--line);
    color:#111827;
}
.btn-secondary:hover{
    border-color:var(--blue);
    color:var(--blue);
}
.btn-outline{
    border:2px solid var(--blue);
    color:#0f172a;
}
.btn-outline:hover{
    background:var(--blue);
    color:#fff;
}

/* SLIDER */
.slider{
    flex:1;
    position:relative;
    min-height:520px;
    border-radius:2px;
}
.slider::before {
    content: "";
    position: absolute;
    inset: 0;
    border: 2px solid #271f5d17;
    transform: translate(10%, 10%);
}

.slide{
    position:absolute;
    inset:0;
    opacity:0;
    transition:opacity .6s ease;
    background-size:cover;
    background-position:right center;
}
.slide.is-active{opacity:1}
.slide::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
            90deg,
            rgba(242,246,255,.78) 0%,
            rgba(242,246,255,.55) 30%,
            rgba(242,246,255,.30) 50%,
            rgba(242,246,255,.12) 65%,
            rgba(242,246,255,0) 82%
    );
    z-index:1;
    filter: blur(3px);
}

.slide .slide-content{
    position: relative;
    z-index: 3;
    height: 100%;
    max-width: 100%;
    padding: 0 56px;
    padding-right: 56px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    backdrop-filter: blur(3px);
    padding-right: 20%;
}
.slide .title{
    font-size:56px;
    line-height:1.08;
    font-weight:600;
    margin-bottom:14px;
}
.slide .desc {
    font-size: 15.5px;
    line-height: 1.7;
    color: #091b33c2;
    max-width: 480px;
    text-shadow: 0 0 10px #fff0;
    font-weight: 500;
    backdrop-filter: blur(2px);
}


/* RESPONSIVE */
@media (max-width:900px){
    .nav{display:none}
    .hero-inner{flex-direction:column}
    .hero-decor{flex-direction:row}
    .slide-content{max-width:100%;padding:0 24px}
    .title{font-size:42px}
}
@media (max-width:520px){
    .hero-content h1{font-size:34px}
}
/* =========================================================
   HOME SECTIONS (SCOPED) — N'IMPACTE PAS LE RESTE
   Ajoute class="home" sur <body>
========================================================= */

.home-section{
    padding:92px 0;
}

/* Head : même vibe que hero */
.home-head{
    max-width:760px;
    margin-bottom:46px;
}
.home-head h2{
    font-size:34px;
    line-height:1.25;
    font-weight:600;
    letter-spacing:-.01em;
    margin-bottom:14px;
}
.home-head p{
    font-size:16px;
    line-height:1.7;
    color:#3f4652;
}
/* ============================= */
/* SERVICES HERO SECTION */
/* ============================= */

.services-hero{
    background:#0e2747;
    color:#ffffff;
    padding:110px 0 0;
    position:relative;
}



.services-hero-inner{
    position:relative;
    z-index: 2;
}

/* TOP */
.services-hero-top {
    display: flex;
    gap: 80px;
    align-items: flex-start;
    justify-content: space-between;
}

/* LEFT */
.services-kicker{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:13px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:#9bb6ff;
    margin-bottom:22px;
}

.services-hero-left h2 {
    font-family: Montserrat,Inter,sans-serif;
    font-size: 2.5em;
    line-height: 1.1;
    font-weight: 700;
    text-transform: uppercase;
    text-shadow: 10px 10px #0b0536;
}
.services-divider{
    width:120px;
    height:1px;
    background:rgba(255,255,255,.25);
    margin-top:34px;
}
.services-hero-left {
    flex: 1;
}
/* RIGHT */
.services-list{
    list-style:none;
    display:grid;
    grid-template-columns: repeat(2, auto);
    gap:14px 32px;
    margin-bottom:28px;
    padding:0;
}

.services-list li{
    position:relative;
    padding-left:22px;
    font-size:15px;
}

.services-list li::before{
    content:"✓";
    position:absolute;
    left:0;
    top:0;
    color:#9bb6ff;
    font-weight:700;
}

.services-actions{
    display:flex;
    gap:16px;
    margin-bottom:26px;
}
.services-actions .btn.btn-outline-light{
    flex:1;
}
.btn-outline-light{
    border:1.5px solid rgba(255,255,255,.6);
    color:#fff;
    background:transparent;
}

.btn-outline-light:hover{
    background:#fff;
    color:#133766;
}

.services-desc{
    font-size:15px;
    line-height:1.7;
    color:rgba(255,255,255,.78);
    max-width:500px;
}

/* ============================= */
/* CARTES QUI DÉBORDENT */
/* ============================= */

.services-cards {
    display: flex;
    gap: 26px;
    width: 100%;
    max-width: 1180px;
    padding: 0 22px;
    z-index: 3;
    position: relative;
    transform: translateY(50px);
}

.service-card{
    position: relative;
    overflow: hidden;
    color:#15171a;
    border-radius:14px;
    padding:2em;
    text-decoration:none;
    box-shadow:
            0 20px 40px rgba(0,0,0,.18),
            0 2px 8px rgba(0,0,0,.08);

    transition: transform .35s ease, box-shadow .35s ease;
}

.service-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #fff;

    backdrop-filter: blur(2px);
    z-index: 1;
}

/* CONTENU AU-DESSUS */
.service-card > *{
    position: relative;
    z-index:2;
}

/* HOVER */
.service-card:hover{
    transform: translateY(-4px);
    box-shadow:
            0 28px 60px rgba(0,0,0,.22),
            0 6px 14px rgba(0,0,0,.12);
}

.service-card h3{
    font-family: Montserrat,Inter,sans-serif;
    font-size: 1.2em;
    margin-bottom: 14px;
}

.service-card p{
    font-size:15px;
    line-height:1.6;
    color:#3f4652;
}

.service-card:hover{
    transform:translateY(-8px);
    box-shadow:
            0 28px 60px rgba(0,0,0,.22),
            0 4px 14px rgba(0,0,0,.1);
}
/* =========================================================
 PAGE — LE CABINET
========================================================= */

/* ---------- Breadcrumb ---------- */
.breadcrumb {
    max-width: var(--container);
    margin: 20px auto;
    padding: 1em 22px;
    font-size: 13px;
    color: var(--muted);
}

.breadcrumb ol {
    list-style: none;
    display: flex;
    gap: 10px;
    align-items: center;
}

.breadcrumb li {
    display: flex;
    align-items: center;
    gap: 10px;
}

.breadcrumb li:not(:last-child)::after {
    content: "/";
    color: var(--line);
}

.breadcrumb a {
    text-decoration: none;
    color: var(--blue);
    font-weight: 600;
}

.breadcrumb span {
    font-weight: 500;
    color: #111827;
}

/* ---------- Section wrapper ---------- */
.cabinet-section {
    padding: 20px 0 120px;
    background: linear-gradient(180deg, #f8faff 0%, #ffffff 70%);
    box-shadow: inset 0 0 10px #13145118;
    box-sizing: border-box;
    position: relative;
}
.cabinet-section:before{
    content: "";
    width: 25vw;
    aspect-ratio: 3 / 4;
    position: absolute;
    right: 6vw;
    top: 0;
    background-image: url("../medias/choutte-before.png");
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.15;
}
.cabinet-wrap {
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 22px;
    display: flex;
    flex-direction: column;
    gap: 3em;
}

/* ---------- Title ---------- */
.cabinet-title {
    font-family: Montserrat, Inter, sans-serif;
    font-size: 42px;
    line-height: 1.15;
    font-weight: 600;
    max-width: 760px;
}

.cabinet-intro {
    max-width: 1000px;
    font-size: 16px;
    line-height: 1.7;
    color: #3f4652;
}

/* ---------- Grid ---------- */
.cabinet-grid {
    display: grid;
    grid-template-columns:360px 1fr;
    gap: 70px;
    align-items: start;
}

/* =========================================================
   COLONNE GAUCHE — PROFIL
========================================================= */

.cabinet-profile {
    border: 1px solid var(--line);
    box-shadow: 0 20px 40px rgba(15, 23, 42, .08), 0 2px 8px rgba(15, 23, 42, .04);
    display: flex;
    flex-direction: column;
    border-radius: 1em;
    overflow: hidden;
}

.cabinet-photo {
    position: relative;
}

.cabinet-photo img {
    display: block;
    width: 100%;
    height: auto;
}

.cabinet-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
            180deg,
            rgba(19, 55, 102, 0) 60%,
            rgba(19, 55, 102, .12) 100%
    );
}

/* Identité */
.cabinet-id {
    padding: 26px 26px 10px;
}

.cabinet-name {
    font-family: Montserrat, Inter, sans-serif;
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 6px;
}

.cabinet-name span {
    color: var(--blue);
}

.cabinet-role {
    font-size: 14px;
    font-weight: 500;
    color: var(--muted);
}

/* Infos */
.cabinet-infos {
    list-style: none;
    padding: 18px 26px 22px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    font-size: 14.5px;
    line-height: 1.6;
    color: #3f4652;
}

.cabinet-infos strong {
    color: #111827;
}

/* Actions */
.cabinet-actions {
    padding: 22px 26px 26px;
    border-top: 1px solid var(--line);
    display: flex;
    gap: 14px;
}

.cabinet-btn {
    flex: 1;
    height: 48px;
    background: var(--blue);
    color: #fff;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 600;
    transition: .25s;
}

.cabinet-btn:hover {
    background: var(--blue-dark);
}

.cabinet-link {
    flex: 1;
    height: 48px;
    border: 1.5px solid var(--line);
    color: #111827;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 600;
    transition: .25s;
}

.cabinet-link:hover {
    border-color: var(--blue);
    color: var(--blue);
}

/* =========================================================
   COLONNE DROITE — CONTENU
========================================================= */

.cabinet-content {
    display: flex;
    flex-direction: column;
    gap: 60px;
}

/* Bloc texte */
.cabinet-block {
    position: relative;
    padding-left: 34px;
}

.cabinet-block::before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    bottom: 6px;
    width: 2px;
    background: var(--blue);
    opacity: .35;
}

/* Titres */
.cabinet-block h2 {
    font-family: Montserrat, Inter, sans-serif;
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 14px;
    color: #0f172a;
}

/* Paragraphes */
.cabinet-block p {
    font-size: 15.5px;
    line-height: 1.7;
    color: #3f4652;
    margin-bottom: 14px;
}

/* Listes */
.cabinet-block ul {
    list-style: none;
    display: grid;
    grid-template-columns:1fr 1fr;
    gap: 12px 24px;
    margin-top: 10px;
}

.cabinet-block ul li {
    position: relative;
    padding-left: 22px;
    font-size: 15px;
    line-height: 1.6;
    color: #3f4652;
}

.cabinet-block ul li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--blue);
    font-weight: 700;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1000px) {
    .cabinet-grid {
        grid-template-columns:1fr;
        gap: 60px;
    }
}

@media (max-width: 600px) {
    .cabinet-title {
        font-size: 34px;
    }

    .cabinet-intro {
        font-size: 15px;
        margin-bottom: 50px;
    }

    .cabinet-block ul {
        grid-template-columns:1fr;
    }

    .cabinet-content {
        gap: 44px;
    }
}
/* ============================= */
/* RESPONSIVE */
/* ============================= */

@media (max-width:1000px){
    .services-hero-top{
        grid-template-columns:1fr;
        gap:50px;
    }

    .services-cards{
        grid-template-columns:1fr;
        position:relative;
        bottom:auto;
        transform:none;
        margin-top:70px;
    }
}

@media (max-width:600px){
    .services-hero-left h2{
        font-size:40px;
    }
}


/* ===== STATS (fond coloré + impact) ===== */
/* ===== HOME STATS – VERSION PRO ===== */

.home-stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
}

/* CARD */
.home-stat{
    position:relative;
    padding:28px 26px 30px;
    background:
            linear-gradient(
                    180deg,
                    #ffffff 0%,
                    #f9fbff 100%
            );
    border:1px solid var(--line);
    border-left: 4px solid #13376647;

    border-radius:14px;

    box-shadow:
            0 12px 30px rgba(15,23,42,.06),
            0 2px 6px rgba(15,23,42,.04);

    transition:
            transform .25s ease,
            box-shadow .25s ease;
}
.home-stats{
    position: relative;
    overflow: hidden;
}
.home-stats::after {
    content: "";
    background-image: url('../medias/pattern.png');
    width: 30%;
    background-size: contain;
    position: absolute;
    right: 0;
    top: 50px;
    bottom: 50px;
    background-repeat: no-repeat;
    opacity: 0.05;
    transform: translate(50%);
}
.home-stats::before {
    content: "";
    background-image: url('../medias/pattern.png');
    width: 30%;
    background-size: contain;
    position: absolute;
    left: 0;
    top: 50px;
    bottom: 50px;
    background-repeat: no-repeat;
    opacity: 0.05;
    transform: translate(-50%);
}
/* HOVER (très soft) */
.home-stat:hover{
    transform:translateY(-4px);
    box-shadow:
            0 20px 46px rgba(15,23,42,.10),
            0 4px 10px rgba(15,23,42,.06);
}

/* TITRE */
.home-stat strong{
    display:block;
    font-family:Montserrat,Inter,sans-serif;
    font-size:18px;
    font-weight:700;
    letter-spacing:-.01em;
    margin-bottom:14px;
    color:#0f172a;
}

/* TEXTE */
.home-stat span{
    display:block;
    font-size:15px;
    line-height:1.65;
    color:#3f4652;
}

/* CHIFFRES MIS EN VALEUR */
.home-stat span b{
    color:var(--blue);
    font-weight:700;
}

/* RESPONSIVE */
@media (max-width:1100px){
    .home-stats-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media (max-width:520px){
    .home-stats-grid{
        grid-template-columns:1fr;
    }
}

.home-note{
    margin-top:26px;
    font-size:13px;
    color:#6b7280;
    text-align: center;
}
/* ============================= */
/* CTA DOCTOLIB PREMIUM */
/* ============================= */

.home-cta-doctolib {
    padding: 0;
    transform: translateY(-50%);
    margin-bottom: -20%;
}

.home-cta-doctolib .cta-box{
    max-width:1100px;
    margin:0 auto;
    padding:70px 80px;
    text-align:center;

    background:linear-gradient(
            135deg,
            #1e3a6a 0%,
            #133766 50%,
            #0c2244 100%
    );

    border-radius:28px;

    box-shadow:
            0 40px 90px rgba(19,55,102,.35),
            inset 0 1px 0 rgba(255,255,255,.08);

    position:relative;
    overflow:hidden;
}

/* léger grain subtil */
.home-cta-doctolib .cta-box::after{
    content:"";
    position:absolute;
    inset:0;
    background-image:
            repeating-linear-gradient(
                    45deg,
                    rgba(255,255,255,.025) 0,
                    rgba(255,255,255,.025) 1px,
                    transparent 1px,
                    transparent 4px
            );
    opacity:.35;
    pointer-events:none;
}

/* TITRE */
.home-cta-doctolib h2{
    font-family:Montserrat,Inter,sans-serif;
    font-size:42px;
    line-height:1.15;
    font-weight:700;
    color:#ffffff;
    margin-bottom:18px;
}

/* TEXTE */
.home-cta-doctolib p{
    font-size:16.5px;
    line-height:1.65;
    color:rgba(255,255,255,.82);
    max-width:620px;
    margin:0 auto 38px;
}

/* ACTIONS */
.home-cta-doctolib .cta-actions{
    display:flex;
    justify-content:center;
    gap:18px;
    flex-wrap:wrap;
}

/* BOUTON PRINCIPAL */
.btn-cta{
    height:56px;
    padding:0 34px;
    font-size:13px;
    letter-spacing:.08em;
    text-transform:uppercase;
    border-radius:999px;
    box-shadow:
            0 12px 28px rgba(0,0,0,.25);
}

/* BOUTON SECONDAIRE */
.btn-cta-secondary{
    height:56px;
    padding:0 32px;
    border-radius:999px;
    border:1.5px solid rgba(255,255,255,.55);
    color:#fff;
    background:transparent;
}

.btn-cta-secondary:hover{
    background:rgba(255,255,255,.12);
    border-color:#fff;
}

/* ============================= */
/* RESPONSIVE */
/* ============================= */

@media (max-width:900px){
    .home-cta-doctolib .cta-box{
        padding:60px 40px;
    }

    .home-cta-doctolib h2{
        font-size:34px;
    }
}

@media (max-width:520px){
    .home-cta-doctolib{
        padding:90px 0;
    }

    .home-cta-doctolib h2{
        font-size:28px;
    }

    .home-cta-doctolib p{
        font-size:15px;
    }
}

/* ============================= */
/* HOME STEPS – PROCESS SECTION */
/* ============================= */

.home-steps{
    background: linear-gradient(
            180deg,
            #0c2244 0%,
            #133766 100%
    );
    padding:120px 0;
    position:relative;
    color:#ffffff;
    overflow:hidden;
    padding-bottom: 20em;
}

/* grain subtil */
.home-steps::after{
    content:"";
    position:absolute;
    inset:0;
    background-image:
            repeating-linear-gradient(
                    45deg,
                    rgba(255,255,255,.02) 0,
                    rgba(255,255,255,.02) 1px,
                    transparent 1px,
                    transparent 4px
            );
    opacity:.35;
    pointer-events:none;
}

.home-steps-inner{
    position:relative;
    z-index:2;
}

/* ===== HEAD ===== */

.home-steps-head{
    max-width:620px;
    margin-bottom:80px;
}

.home-steps-head h2{
    font-family: Montserrat,Inter,sans-serif;
    font-size: 2.5em;
    line-height: 1.1;
    font-weight: 700;
    text-transform: uppercase;
    text-shadow: 10px 10px #0b0536;
}

/* ===== GRID ===== */

.home-steps-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:26px;
}

/* ===== CARD ===== */

.step-card{
    position:relative;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.14);
    border-radius:18px;
    padding:36px 30px 38px;
    backdrop-filter: blur(6px);

    box-shadow:
            0 18px 40px rgba(0,0,0,.22),
            inset 0 1px 0 rgba(255,255,255,.08);

    transition:
            transform .35s ease,
            box-shadow .35s ease;
}

.step-card:hover{
    transform:translateY(-6px);
    box-shadow:
            0 28px 60px rgba(0,0,0,.28),
            inset 0 1px 0 rgba(255,255,255,.12);
}

/* ===== INDEX ===== */

.step-index{
    display:block;
    font-family:Montserrat,Inter,sans-serif;
    font-size:38px;
    font-weight:700;
    letter-spacing:.04em;
    color:rgba(255,255,255,.35);
    margin-bottom:18px;
}

/* ===== TITRE ===== */

.step-card h3{
    font-family:Montserrat,Inter,sans-serif;
    font-size:18px;
    font-weight:600;
    margin-bottom:14px;
}

/* ===== TEXTE ===== */

.step-card p{
    font-size:15px;
    line-height:1.65;
    color:rgba(255,255,255,.78);
}

/* ===== TOUCHES DE COULEUR ===== */

.step-1{ border-top:3px solid #9bb6ff; }
.step-2{ border-top:3px solid #7aa2ff; }
.step-3{ border-top:3px solid #5f8dff; }
.step-4{ border-top:3px solid #3f73ff; }

/* ===== RESPONSIVE ===== */

@media (max-width:1100px){
    .home-steps-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media (max-width:600px){
    .home-steps{
        padding:90px 0;
    }

    .home-steps-head h2{
        font-size:34px;
    }

    .home-steps-grid{
        grid-template-columns:1fr;
    }
}


/* ============================= */
/* CONTACT PRO SECTION */
/* ============================= */

.contact-pro{
    padding:120px 0;
    background:url('../medias/bg-contact.png');
    background-size: cover;
    padding-top: 22em;
}
#page13 .contact-pro{
    padding-top: 120px!important;
}
.contact-pro-inner{
    display:flex;
    gap:90px;
    align-items:center;
}
.contact-pro-form{
    display: flex;
    align-items: center;
    justify-content: center;
}
/* FORM */
.contact-form{
    display:flex;
    flex-direction:column;
    gap:18px;
    max-width:520px;
}

/* GRID 2 COLONNES */
.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
}

/* ROW */
.form-row{
    display:flex;
    flex-direction:column;
    gap:6px;
}

/* LABEL */
.form-row label{
    font-size:13px;
    font-weight:500;
    color:#133766;
}
.home-section.home-cta-doctolib + .faq-section {
    padding-top: 22em !important;
}
/* INPUTS */
.form-row input,
.form-row textarea{
    border:1px solid var(--line);
    padding:14px 16px;
    font-size:14.5px;
    font-family:Inter,system-ui,sans-serif;
    color:#15171a;
    border-radius:6px;
    background:rgba(24,58,102,0.08);
    transition:border-color .2s ease, box-shadow .2s ease;
    resize: none;
    border: 0;
}

.form-row textarea{
    min-height:120px;
    resize:vertical;
}

/* FOCUS */
.form-row input:focus,
.form-row textarea:focus{
    outline:none;
    border-color:var(--blue);
    box-shadow:0 0 0 3px rgba(19,55,102,.12);
}

/* ACTIONS */
.form-actions{
    margin-top:8px;
}

/* NOTE */
.contact-pro-note{
    font-size:12.5px;
    line-height:1.6;
    color:var(--muted);
    max-width:460px;
    text-align: center;
    font-weight: 500
}
.contact-pro-form button{
    width: 100%;
    border: 0;

}

/* RESPONSIVE */
@media (max-width:700px){
    .form-grid{
        grid-template-columns:1fr;
    }
}

/* ============================= */
/* LEFT CONTENT */
/* ============================= */

.contact-pro-content{
    max-width:520px;
}

.contact-pro-label{
    display:inline-block;
    font-size:13px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--blue);
    margin-bottom:18px;
}

.contact-pro-content h2{
    font-family:Montserrat,Inter,sans-serif;
    font-size:44px;
    line-height:1.15;
    font-weight:700;
    margin-bottom:26px;
}

.contact-pro-text{
    font-size:16px;
    line-height:1.7;
    color:#3f4652;
    margin-bottom:18px;
}

.contact-pro-infos{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:30px;
    margin:36px 0 44px;
}

.contact-pro-infos strong{
    display:block;
    font-size:13px;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:#6b7280;
    margin-bottom:6px;
}

.contact-pro-infos span, .contact-pro-infos a {
    font-size: 15px;
    line-height: 1.6;
    color: #16315a;
    font-weight: 700;
    text-decoration: none;
}

.contact-pro-cta{
    height:56px;
    padding:0 36px;
    font-size:13px;
    letter-spacing:.08em;
    text-transform:uppercase;
    border-radius:999px;
    box-shadow:
            0 12px 30px rgba(30,95,216,.25);
}



/* ============================= */
/* RESPONSIVE */
/* ============================= */

@media (max-width:1000px){
    .contact-pro-inner{
        grid-template-columns:1fr;
        gap:70px;
    }

    .contact-pro-form{
        max-width:620px;
    }
}

@media (max-width:600px){
    .contact-pro{
        padding:90px 0;
    }

    .contact-pro-content h2{
        font-size:34px;
    }

    .contact-pro-form{
        padding:38px 30px;
    }
}


/* texture fine */
.contact-dark::before, .services-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
            repeating-linear-gradient(
                    45deg,
                    rgba(255,255,255,.03) 0,
                    rgba(255,255,255,.03) 1px,
                    transparent 1px,
                    transparent 4px
            );
    pointer-events:none;
}

.contact-dark-inner{
    position:relative;
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:80px;
    align-items:start;
}

/* ===== CONTENU ===== */

.contact-dark-content{
    max-width:520px;
}

.contact-dark-label{
    display:inline-block;
    font-size:13px;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:#7aa2ff;
    margin-bottom:18px;
}

.contact-dark-content h2{
    font-size:46px;
    line-height:1.1;
    font-weight:600;
    margin-bottom:28px;
}

.contact-dark-intro{
    font-size:16px;
    line-height:1.7;
    color:rgba(255,255,255,.82);
    margin-bottom:18px;
}

.contact-dark-infos{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:26px;
    margin:36px 0;
}

.contact-dark-infos strong{
    display:block;
    font-size:14px;
    margin-bottom:6px;
    color:#ffffff;
}

.contact-dark-infos p{
    font-size:15px;
    line-height:1.6;
    color:rgba(255,255,255,.78);
}

.contact-dark-infos a{
    color:#7aa2ff;
    text-decoration:none;
    font-weight:500;
}

.contact-dark-cta{
    margin-top:10px;
}

/* ===== FORMULAIRE ===== */

.contact-dark-form{
    position:relative;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.12);
    border-radius:14px;
    padding:46px 42px;
    backdrop-filter: blur(6px);
}

/* lignes décoratives */
.contact-dark-form .contact-lines span{
    position:absolute;
    top:28px;
    bottom:28px;
    width:1px;
    background:#7aa2ff;
    opacity:.25;
}

.contact-dark-form .contact-lines span:first-child{
    left:28px;
}

.contact-dark-form .contact-lines span:last-child{
    right:28px;
}

.contact-dark-form form{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:18px;
}

.contact-dark-form label{
    font-size:13px;
    color:rgba(255,255,255,.75);
}

.contact-dark-form input,
.contact-dark-form textarea{
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.18);
    border-radius:6px;
    padding:12px 14px;
    color:#ffffff;
    font-family:Inter,system-ui,sans-serif;
    font-size:14.5px;
}

.contact-dark-form input::placeholder,
.contact-dark-form textarea::placeholder{
    color:rgba(255,255,255,.45);
}

.contact-dark-form input:focus,
.contact-dark-form textarea:focus{
    outline:none;
    border-color:#7aa2ff;
    box-shadow:0 0 0 3px rgba(122,162,255,.25);
}

.contact-dark-note{
    font-size:12.5px;
    line-height:1.6;
    color:rgba(255,255,255,.6);
}

/* ===== RESPONSIVE ===== */

@media(max-width:900px){
    .contact-dark-inner{
        grid-template-columns:1fr;
        gap:60px;
    }

    .contact-dark-content h2{
        font-size:38px;
    }

    .contact-dark-infos{
        grid-template-columns:1fr;
    }
}

/* ================= FAQ SECTION ================= */

.faq-section{
    padding:90px 0;
    background:#f8faff;
}

.faq-inner{
    display:grid;
    grid-template-columns: 1fr 1.1fr;
    gap:70px;
    align-items:center;
}

/* IMAGE */
.faq-media{
    position:relative;
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 30px 60px rgba(0,0,0,.15);
}

.faq-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.faq-contact{
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    background:#133766;
    color:#fff;
    display:flex;
    justify-content:space-between;
    padding:16px 22px;
    font-size:14px;
    font-weight: 700;
}.faq-contact a{
    text-decoration: none;
    color: #fff;
 }

/* CONTENU */
.faq-content{
    max-width:560px;
}

.faq-label{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    font-weight:600;
    letter-spacing:.12em;
    color:var(--blue);
    margin-bottom:14px;
}

.faq-content h2{
    font-size:46px;
    line-height:1.1;
    margin-bottom:36px;
}

/* LISTE */
.faq-list{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.faq-item{
    border-radius:10px;
    overflow:hidden;
    background:#0f2e5d;
    color:#fff;
}

.faq-item.active{
    background:var(--blue);
}

/* QUESTION */
.faq-question{
    width:100%;
    border:none;
    background:none;
    color:inherit;
    padding:18px 22px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    cursor:pointer;
    font-size:15px;
    font-weight:600;
}

.faq-question i{
    width:18px;
    height:18px;
    position:relative;
}

.faq-question i::before,
.faq-question i::after{
    content:"";
    position:absolute;
    background:#fff;
    transition:.25s;
}

.faq-question i::before{
    width:18px;
    height:2px;
    top:8px;
    left:0;
}

.faq-question i::after{
    width:2px;
    height:18px;
    top:0;
    left:8px;
}

.faq-item.active .faq-question i::after{
    transform:scaleY(0);
}

/* RÉPONSE */
.faq-answer{
    display:none;
    padding:0 22px 22px;
    font-size:14.5px;
    line-height:1.7;
    color:rgba(255,255,255,.92);
}

.faq-item.active .faq-answer{
    display:block;
}

/* RESPONSIVE */
@media(max-width:900px){
    .faq-inner{
        grid-template-columns:1fr;
        gap:50px;
    }

    .faq-content h2{
        font-size:38px;
    }
}

/* ======================= FOOTER – CÉCILE UBEDA ======================= */
#footer {
    background: linear-gradient(
            180deg,
            #0f172a 0%,
            #111c3a 100%
    );
    color: #ffffff;
    padding: 90px 20px 50px;
    text-align: center;
    position: relative;
    overflow: hidden;
    font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* Texture douce & professionnelle */
#footer::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
            radial-gradient(
                    circle at top right,
                    rgba(30,95,216,0.14) 0%,
                    transparent 65%
            ),
            radial-gradient(
                    circle at bottom left,
                    rgba(30,95,216,0.08) 0%,
                    transparent 70%
            );
    z-index: 0;
}

.footer-container {
    position: relative;
    z-index: 2;
    max-width: 1250px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.6em;
}

/* LOGO */
.footer-logo img{
    width: 280px;
    transition: transform .3s ease, opacity .3s ease;
}

.footer-logo img:hover {
    transform: scale(1.04);
    opacity: 0.95;
}

/* Liens principaux */
.footer-links ul,
.footer-legal ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 22px;
    padding: 0;
    margin: 0;
}

.footer-links a,
.footer-legal a {
    color: rgba(255,255,255,0.75);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    font-size: 0.8rem;
    transition: color 0.25s ease;
}

.footer-links a:hover,
.footer-legal a:hover {
    color: #ffffff;
}

/* Info */
.footer-info {
    color: rgba(255,255,255,0.75);
    font-size: 0.95em;
    line-height: 1.8;
}

.footer-info a {
    color: var(--blue-soft);
    text-decoration: none;
    transition: color 0.25s ease;
}

.footer-info a:hover {
    color: #ffffff;
}

/* Bas de page */
.footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.12);
    margin-top: 1.8em;
    padding-top: 1.4em;
    font-size: 0.85em;
    color: rgba(255,255,255,0.55);
}
/* =========================================================
 PAGE — PRESTATIONS (SCOPED)

========================================================= */

/* ---------- Section wrapper ---------- */
.prestation-section {
    padding: 20px;
    background: linear-gradient(180deg,#f8faff 0%,#ffffff 70%);
    box-shadow: inset 0 0 10px #13145118;
    position: relative;
}

/* pattern discret comme le hero (sans inventer) */
.prestation-section::after{
    content:"";
    background-image:url('../medias/choutte-before.png');
    width:30%;
    background-size:contain;
    position:absolute;
    left:0;
    top:60px;
    bottom:60px;
    background-repeat:no-repeat;
    opacity:.035;
    pointer-events:none;
}

.prestation-wrap{
    max-width:var(--container);
    margin:0 auto;
    padding:0 22px;
    position:relative;
    z-index:2;
}

/* ---------- Titres & intro ---------- */
.prestation-title{
    font-family:Montserrat,Inter,sans-serif;
    font-size:42px;
    line-height:1.15;
    font-weight:600;
    margin-bottom:18px;
    letter-spacing:-.01em;
}

.prestation-intro{
    font-size:16px;
    line-height:1.7;
    color:#3f4652;
    margin-bottom:16px;
}

.prestation-location{
    font-size:15.5px;
    line-height:1.7;
    color:#3f4652;
    margin-bottom:22px;
}

/* note "non conventionnée" très visible mais sobre */
.prestation-warning{
    max-width:920px;
    padding:16px 18px;
    border:1px solid var(--line);
    background:rgba(19,55,102,0.06);
    color:#0f264a;
    font-size:14.5px;
    line-height:1.65;
    margin:0 0 46px;
    margin-inline: auto;
    box-shadow: 0 12px 26px rgba(15,23,42,.05);
}

/* ---------- Bloc appel gratuit ---------- */
.prestation-call{
    position:relative;
    padding:40px 44px;
    margin:0 0 56px;
    background:linear-gradient(
            135deg,
            #1e3a6a 0%,
            #133766 55%,
            #0c2244 100%
    );
    color:#fff;
    overflow:hidden;
    border-radius:14px;
    box-shadow:
            0 30px 70px rgba(19,55,102,.22),
            inset 0 1px 0 rgba(255,255,255,.08);
}

/* grain subtil comme tes sections dark */
.prestation-call::after{
    content:"";
    position:absolute;
    inset:0;
    background-image:
            repeating-linear-gradient(
                    45deg,
                    rgba(255,255,255,.03) 0,
                    rgba(255,255,255,.03) 1px,
                    transparent 1px,
                    transparent 4px
            );
    opacity:.35;
    pointer-events:none;
}

/* lignes décoratives (institutionnel) */
.prestation-call::before{
    content:"";
    position:absolute;
    top:22px; bottom:22px;
    left:22px;
    width:1px;
    background:#9bb6ff;
    opacity:.28;
}

.prestation-call > *{
    position:relative;
    z-index:2;
}

.prestation-call h2{
    font-family:Montserrat,Inter,sans-serif;
    font-size:28px;
    line-height:1.15;
    font-weight:700;
    margin-bottom:14px;
    letter-spacing:-.01em;
}

.prestation-call p{
    max-width:860px;
    font-size:15.5px;
    line-height:1.75;
    color:rgba(255,255,255,.82);
    margin-bottom:14px;
}

.prestation-call-btn, .prestation-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:54px;
    padding:0 34px;
    margin-top:10px;
    text-decoration:none;

    background:#fff;
    color:#0f264a;

    font-size:13px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;

    border-radius:999px;
    box-shadow:0 12px 30px rgba(0,0,0,.25);
    transition: transform .25s ease, filter .25s ease;
}

.prestation-call-btn:hover{
    transform: translateY(-2px);
    filter: brightness(0.98);
}

/* ---------- Listing prestations ---------- */
.prestation-listing{
    margin:0 0 56px;
}

.prestation-listing{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:26px;
}

/* Card */
.prestation-card{
    position:relative;
    overflow:hidden;
    text-decoration:none;

    background:linear-gradient(180deg,#ffffff 0%,#f9fbff 100%);
    border:1px solid var(--line);
    border-left:4px solid rgba(19,55,102,.28);

    padding:34px 32px 30px;
    border-radius:14px;

    box-shadow:
            0 12px 30px rgba(15,23,42,.06),
            0 2px 6px rgba(15,23,42,.04);

    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.prestation-card:hover{
    transform:translateY(-4px);
    box-shadow:
            0 20px 46px rgba(15,23,42,.10),
            0 4px 10px rgba(15,23,42,.06);
    border-left-color: rgba(19,55,102,.55);
}

.prestation-card h2{
    font-family:Montserrat,Inter,sans-serif;
    font-size:20px;
    font-weight:700;
    margin-bottom:12px;
    color:#0f172a;
}

.prestation-desc{
    font-size:15px;
    line-height:1.7;
    color:#3f4652;
    margin-bottom:16px;
}

/* Liste à coche (comme services) */
.prestation-card ul{
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:0;
    margin:0 0 20px;
}

.prestation-card li{
    position:relative;
    padding-left:22px;
    font-size:14.8px;
    line-height:1.6;
    color:#3f4652;
}

.prestation-card li::before{
    content:"✓";
    position:absolute;
    left:0;
    top:0;
    color:var(--blue);
    font-weight:700;
}

/* Prix : très lisible, assumé */
.prestation-price{
    display:flex;
    align-items:baseline;
    gap:10px;
    padding-top:18px;
    border-top:1px solid var(--line);
    color:#0f172a;
    font-weight:700;
}

.prestation-price span[itemprop="price"]{
    font-family:Montserrat,Inter,sans-serif;
    font-size:34px;
    line-height:1;
    color:var(--blue);
    letter-spacing:-.02em;
}

/* ---------- Modalités ---------- */
.prestation-modalites{
    margin:0 0 56px;
    padding:34px 34px;
    border:1px solid var(--line);
    background:#fff;
    box-shadow:
            0 12px 30px rgba(15,23,42,.05),
            0 2px 6px rgba(15,23,42,.03);
}

.prestation-modalites h2{
    font-family:Montserrat,Inter,sans-serif;
    font-size:22px;
    font-weight:700;
    margin-bottom:16px;
    color:#0f172a;
}

.prestation-modalites ul{
    list-style:none;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px 22px;
    padding:0;
    margin:0;
}

.prestation-modalites li{
    position:relative;
    padding-left:22px;
    font-size:15px;
    line-height:1.65;
    color:#3f4652;
}

.prestation-modalites li::before{
    content:"✓";
    position:absolute;
    left:0;
    top:0;
    color:var(--blue);
    font-weight:700;
}

/* ---------- CTA final ---------- */
.prestation-cta {
    text-align: center;
    padding: 46px 30px;
    border: 1px solid var(--line);
    background: linear-gradient( 135deg, #1e3a6a 0%, #133766 55%, #0c2244 100% );
    box-shadow: 0 18px 40px rgba(15,23,42,.06), 0 2px 6px rgba(15,23,42,.04);
    color: #fff;
}

.prestation-cta h2{
    font-family:Montserrat,Inter,sans-serif;
    font-size:26px;
    line-height:1.2;
    font-weight:700;
    margin-bottom:12px;
}

.prestation-cta p{
    max-width:720px;
    margin:0 auto 22px;
    font-size:15.5px;
    line-height:1.7;
    color:#fff;
}



.prestation-btn:hover{
    transform: translateY(-2px);
    filter: brightness(0.95);
}
/* ================================
   POP-UP — APPEL TELEPHONIQUE
================================ */

.call-popup{
    position:fixed;
    inset:0;
    display:none;
    align-items:center;
    justify-content:center;
    z-index:9999;
    font-family:Inter,system-ui,sans-serif;
}

.call-popup.is-open{
    display:flex;
}

.call-popup-overlay{
    position:absolute;
    inset:0;
    background:rgba(15,23,42,.55);
    backdrop-filter:blur(4px);
}

.call-popup-box{
    position:relative;
    z-index:2;
    width:100%;
    max-width:520px;
    padding:42px 38px;
    background:linear-gradient(180deg,#ffffff 0%,#f8faff 100%);
    border-radius:18px;
    box-shadow:
            0 40px 90px rgba(15,23,42,.25),
            inset 0 1px 0 rgba(255,255,255,.7);
}

.call-popup-close{
    position:absolute;
    top:18px;
    right:18px;
    background:none;
    border:none;
    font-size:26px;
    cursor:pointer;
    color:#133766;
}

.call-popup-box h3{
    font-family:Montserrat,Inter,sans-serif;
    font-size:26px;
    font-weight:700;
    margin-bottom:14px;
    color:#0f172a;
}

.call-popup-intro{
    font-size:15.5px;
    line-height:1.7;
    color:#3f4652;
    margin-bottom:28px;
}

.call-popup-label{
    display:block;
    font-size:13px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#133766;
    margin-bottom:10px;
}

.call-phone-inputs{
    display:flex;
    gap:8px;
    margin-bottom:18px;
}


.call-phone-inputs input{
    width: 39px;
    height: 50px;
    text-align:center;
    font-size:18px;
    font-weight:600;
    border-radius:8px;
    border:1px solid var(--line);
    background:#fff;
}

.call-phone-inputs input:focus{
    outline:none;
    border-color:var(--blue);
    box-shadow:0 0 0 3px rgba(19,55,102,.15);
}

.call-popup-note{
    font-size:13.5px;
    line-height:1.6;
    color:#6b7280;
    margin-bottom:24px;
}

.call-popup-btn{
    width:100%;
    height:56px;
    border:none;
    border-radius:999px;
    background:var(--blue);
    color:#fff;
    font-size:13px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    cursor:pointer;
    box-shadow:0 12px 30px rgba(19,55,102,.25);
}

.call-popup-btn:hover{
    filter:brightness(.95);
}
/* ================================
   POP-UP QR MENU
================================ */

.qr-popup{
    position:fixed;
    inset:0;
    display:none;
    align-items:center;
    justify-content:center;
    z-index:9998;
}

.qr-popup.is-open{
    display:flex;
}

.qr-popup-overlay{
    position:absolute;
    inset:0;
    background:rgba(15,23,42,.55);
    backdrop-filter:blur(4px);
}

.qr-popup-box{
    position:relative;
    z-index:2;
    width:100%;
    max-width:420px;
    padding:40px 34px;
    background:linear-gradient(180deg,#ffffff 0%,#f8faff 100%);
    border-radius:18px;
    box-shadow:
            0 40px 90px rgba(15,23,42,.25),
            inset 0 1px 0 rgba(255,255,255,.7);
    text-align:center;
}

.qr-popup-close{
    position:absolute;
    top:16px;
    right:16px;
    border:none;
    background:none;
    font-size:26px;
    cursor:pointer;
    color:#133766;
}

.qr-popup-box h3{
    font-family:Montserrat,Inter,sans-serif;
    font-size:26px;
    font-weight:700;
    margin-bottom:12px;
}

.qr-popup-intro{
    font-size:15px;
    color:#3f4652;
    margin-bottom:26px;
}

.qr-popup-actions{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.qr-btn{
    height:54px;
    border-radius:999px;
    border:none;
    cursor:pointer;
    text-decoration:none;

    display:flex;
    align-items:center;
    justify-content:center;

    background:var(--blue);
    color:#fff;

    font-size:13px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;

    box-shadow:0 12px 30px rgba(19,55,102,.25);
    transition:transform .25s ease, filter .25s ease;
}

.qr-btn:hover{
    transform:translateY(-2px);
    filter:brightness(.95);
}

.qr-btn.qr-outline{
    background:#fff;
    color:#133766;
    border:1px solid var(--line);
    box-shadow:none;
}
/* =========================================================
   PRESTATION — INFORMATIONS PRATIQUES & CADRE PRO
========================================================= */

.prestation-infos{
    margin:0 0 70px;
    padding:38px 40px;

    background:linear-gradient(
            180deg,
            #ffffff 0%,
            #f8faff 100%
    );

    border:1px solid var(--line);
    border-left:4px solid rgba(19,55,102,.28);
    border-radius:14px;

    box-shadow:
            0 14px 34px rgba(15,23,42,.06),
            0 2px 6px rgba(15,23,42,.04);
}

/* Titre */
.prestation-infos h2{
    font-family:Montserrat,Inter,sans-serif;
    font-size:22px;
    line-height:1.2;
    font-weight:700;
    margin-bottom:22px;
    color:#0f172a;
    letter-spacing:-.01em;
}

/* Liste */
.prestation-infos ul{
    list-style:none;
    padding:0;
    margin:0;

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px 28px;
}

/* Élément */
.prestation-infos li{
    position:relative;
    padding-left:22px;

    font-size:15px;
    line-height:1.65;
    color:#3f4652;
}

/* Check discret (cohérent avec le reste du site) */
.prestation-infos li::before{
    content:"✓";
    position:absolute;
    left:0;
    top:0;

    color:var(--blue);
    font-weight:700;
    opacity:.85;
}

/* Mise en valeur des libellés */
.prestation-infos strong{
    color:#0f172a;
    font-weight:600;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width:900px){
    .prestation-infos{
        padding:32px 28px;
    }

    .prestation-infos ul{
        grid-template-columns:1fr;
        gap:12px;
    }
}

@media (max-width:520px){
    .prestation-infos{
        padding:26px 22px;
        margin-bottom:50px;
    }

    .prestation-infos h2{
        font-size:20px;
        margin-bottom:18px;
    }

    .prestation-infos li{
        font-size:14.5px;
    }
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width:1000px){
    .prestation-listing{
        grid-template-columns:1fr;
    }
}

@media (max-width:900px){
    .prestation-section{
        padding:70px 0 90px;
    }
    .prestation-section::after{
        display:none; /* évite surcharge mobile */
    }

    .prestation-title{
        font-size:36px;
    }

    .prestation-call{
        padding:34px 28px;
    }
    .prestation-call::before{
        left:18px;
    }

    .prestation-modalites ul{
        grid-template-columns:1fr;
    }
}

@media (max-width:520px){
    .prestation-title{
        font-size:32px;
    }

    .prestation-intro,
    .prestation-location{
        font-size:15px;
    }

    .prestation-warning{
        padding:14px 14px;
        font-size:14px;
        margin-bottom:36px;
    }

    .prestation-call h2{
        font-size:24px;
    }

    .prestation-call-btn,
    .prestation-btn{
        width:100%;
        justify-content:center;
    }

    .prestation-card{
        padding:26px 22px 22px;
    }

    .prestation-price span[itemprop="price"]{
        font-size:30px;
    }

    .prestation-modalites{
        padding:26px 22px;
    }

    .prestation-cta{
        padding:36px 22px;
    }
}

/* ======================= RESPONSIVE ======================= */
@media (max-width: 768px) {
    #footer {
        padding: 70px 20px 40px;
    }

    .footer-links ul,
    .footer-legal ul {
        gap: 16px;
    }

    .footer-logo img {
        width: 160px;
    }
}

/* ---------- ≤ 1024px ---------- */
@media (max-width:64em){

    .slide .title{font-size:2.9em}
    .services-hero-left h2{font-size:2.6em}
}

/* ---------- ≤ 900px ---------- */
@media (max-width:56.25em){

    .nav{display:none}

    .hero-content h1{
        font-size:2.6em;
    }

    .hero-content p{
        font-size:1em;
    }

    .slide .title{
        font-size:2.5em;
    }

    .slide .desc{
        font-size:0.95em;
    }

    .services-hero-left h2{
        font-size:2.3em;
    }

    .home-head h2{
        font-size:2em;
    }

    .faq-content h2{
        font-size:2.4em;
    }
}

/* ---------- ≤ 768px ---------- */
@media (max-width:48em){

    .hero-content h1{
        font-size:2.3em;
    }

    .slide .title{
        font-size:2.2em;
    }

    .slide .desc{
        font-size:0.95em;
    }

    .services-hero-left h2{
        font-size:2.1em;
    }

    .home-head h2{
        font-size:1.9em;
    }

    .step-index{
        font-size:2em;
    }

    .contact-pro-content h2{
        font-size:2.3em;
    }
}

/* ---------- ≤ 600px ---------- */
@media (max-width:37.5em){

    .hero-content h1{
        font-size:2.05em;
    }

    .hero-content p{
        font-size:0.95em;
    }

    .slide .title{
        font-size:1.95em;
    }

    .slide .desc{
        font-size:0.9em;
    }

    .services-hero-left h2{
        font-size:1.9em;
    }

    .home-head h2{
        font-size:1.75em;
    }

    .contact-pro-content h2{
        font-size:2em;
    }

    .faq-content h2{
        font-size:2em;
    }
}

/* ---------- ≤ 480px ---------- */
@media (max-width:30em){

    body{
        font-size:0.95rem;
    }

    .hero-content h1{
        font-size:1.85em;
    }

    .slide .title{
        font-size:1.7em;
    }

    .slide .desc{
        font-size:0.9em;
    }

    .services-hero-left h2{
        font-size:1.7em;
    }

    .home-head h2{
        font-size:1.6em;
    }

    .step-card h3{
        font-size:1.05em;
    }

    .contact-pro-content h2{
        font-size:1.8em;
    }
}

/* ---------- ≤ 360px ---------- */
@media (max-width:22.5em){

    body{
        font-size:0.9rem;
    }

    .hero-content h1{
        font-size:1.65em;
    }

    .slide .title{
        font-size:1.55em;
    }

    .services-hero-left h2{
        font-size:1.55em;
    }

    .contact-pro-content h2{
        font-size:1.6em;
    }

    .footer-info{
        font-size:0.85em;
    }
}

/* ---------- ≤ 320px (sécurité ultime) ---------- */
@media (max-width:20em){

    body{
        font-size:0.85rem;
    }

    .hero-content h1{
        font-size:1.5em;
    }

    .slide .title{
        font-size:1.4em;
    }

    .btn{
        font-size:0.75em;
    }
}
/* =========================================================
   RESPONSIVE PACK — jusqu’à 300px
   À COLLER TOUT EN BAS DU CSS (override)
========================================================= */

img{max-width:100%;height:auto}

/* Evite les débordements horizontaux */
html,body{max-width:100%;overflow-x:hidden}

/* Container un poil plus “tight” sur mini devices */
@media (max-width:520px){
    .container{padding:0 16px}
}

/* ---------------------------
   HEADER / TOPBAR
---------------------------- */
@media (max-width: 1024px) {

    .header-inner {
        gap: 12px;
    }



    /* CACHE NAV + CTA */
    .nav,
    .header-actions {
        display: none;
    }

    /* AFFICHE BURGER */
    .burger {
        display: flex;
    }

    /* MENU MOBILE */
    .header.is-open .nav {
        position: fixed;
        inset: 0;
        background: #ffffff;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 28px;
        z-index: 999;
        right: 4em;
        box-shadow: 0 0 10px;
        box-sizing: border-box;
    }

    .header.is-open .nav a {
        font-size: 20px;
        font-weight: 600;
    }
    .header-actions{
        display: none;
    }
    .header.is-open .header-actions {
        position: fixed;
        bottom: 24px;
        left: 16px;
        right: 5em;
        display: flex;
        flex-direction: column;
        gap: 12px;
        z-index: 999;
    }

    .header.is-open .header-actions .btn {
        width: 100%;
        text-align: center;
        padding: 14px;
        font-size: 15px;
    }
}
@media (max-width:1024px){
    .header-inner{gap:18px}
    .nav{gap:22px}
}

@media (max-width:900px){
    .topbar-left .sep,
    .topbar-inner{height:auto;padding:10px 0;gap:8px; flex-direction: column}
    .topbar-left,.topbar-right{gap:10px;flex-wrap:wrap}
}

@media (max-width:900px){
    .header-inner {
        height: auto;
        padding: 15px;
        gap: 12px;
        flex-wrap: wrap;
    }
    .brand img{max-height:70px}
    .nav{display:none}
    .header a.btn{
        margin:0;
        padding:.95em 1em;
        font-size:.72em;
    }
}

@media (max-width:360px){
    .header-inner > div:last-child{
        width:100%;
        justify-content:space-between;
    }
    .header a.btn{flex:1;min-width:0}
}

/* ---------------------------
   HERO / SLIDER
---------------------------- */
@media (max-width:900px){
    .hero{padding:56px 0 60px}
    .hero::after{display:none}
    .hero-inner{gap:26px}
    .hero-content{max-width:100%}
    .hero-actions{flex-wrap:wrap}
    .hero-actions .btn{flex:1;min-width:160px}
}

@media (max-width:520px){
    .hero-content h1{font-size:30px;line-height:1.15}
    .hero-content p{font-size:15px}
    .hero-decor{display:none}
    .slider{min-height:420px}
    .slide .slide-content{
        padding:0 20px;
        padding-right:18%;
        backdrop-filter: blur(2px);
    }
    .slide .title{font-size:36px}
    .slide .desc{font-size:14.5px}
}

@media (max-width:360px){
    .slider{min-height:380px}
    .slide .slide-content{padding:0 16px;padding-right:10%}
    .slide .title{font-size:32px}
}

/* ---------------------------
   SERVICES HERO + CARDS
---------------------------- */
@media (max-width:1000px){
    .services-hero{padding:84px 0 0}
    .services-hero-top{
        flex-direction:column;
        gap:34px;
    }
    .services-list{grid-template-columns:1fr;gap:10px}
    .services-actions{flex-wrap:wrap}
    .services-actions .btn{flex:1;min-width:180px}
}

@media (max-width:900px){
    .services-cards{
        flex-direction:column;
        transform:none;
        margin-top:40px;
        padding:0 16px;
    }
    .service-card{padding:22px}
}

@media (max-width:520px){
    .services-hero-left h2{font-size:1.9em}
}

/* ---------------------------
   STATS
---------------------------- */
@media (max-width:1100px){
    .home-stats-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
    .home-stats-grid{grid-template-columns:1fr}
    .home-stats::after,.home-stats::before{display:none}
    .home-head h2{font-size:28px}
    .home-head p{font-size:15px}
}

/* ---------------------------
   STEPS (fond sombre)
---------------------------- */
@media (max-width:1100px){
    .home-steps-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:700px){
    .home-steps{padding:86px 0;padding-bottom:8em}
    .home-steps-head{margin-bottom:40px}
    .home-steps-head h2{font-size:1.9em}
    .home-steps-grid{grid-template-columns:1fr}
    .step-card{padding:26px 22px}
    .step-index{font-size:30px}
}

/* ---------------------------
   CTA Doctolib (superposition)
---------------------------- */
/* Ton CTA est en translateY(-50%). Sur mobile on le remet “normal”. */
@media (max-width:900px){
    .home-cta-doctolib{
        transform:none;
        margin:0;
        padding:70px 0;
    }
}

@media (max-width:640px){
    .home-cta-doctolib .cta-box{
        padding:44px 22px;
        border-radius:20px;
    }
    .home-cta-doctolib h2{font-size:28px}
    .home-cta-doctolib p{font-size:15px}
    .home-cta-doctolib .cta-actions{gap:12px}
    .home-cta-doctolib .cta-actions .btn{
        width:100%;
        justify-content:center;
    }
}

/* ---------------------------
   CONTACT (fond + layout)
---------------------------- */
@media (max-width:1000px){
    .contact-pro{
        padding-top:120px; /* tu avais 22em, trop violent sur mobile */
    }
    .contact-pro-inner{
        flex-direction:column;
        gap:44px;
        align-items:stretch;
    }
    .contact-pro-content{max-width:100%}
    .contact-pro-form{justify-content:flex-start}
    .contact-form{max-width:100%}
}

@media (max-width:700px){
    .contact-pro{padding:90px 0;background-position:center}
    .contact-pro-content h2{font-size:34px}
    .contact-pro-infos{grid-template-columns:1fr;gap:18px;margin:26px 0 26px}
    .form-grid{grid-template-columns:1fr;gap:14px}
    .form-row input,.form-row textarea{width:100%}
    .contact-pro-cta{width:100%;justify-content:center}
}

@media (max-width:360px){
    .contact-pro-content h2{font-size:30px}
    .btn{padding:1.2em .9em;font-size:.78em}
}

/* ---------------------------
   FAQ
---------------------------- */
@media (max-width:900px){
    .faq-inner{grid-template-columns:1fr;gap:34px}
    .faq-content h2{font-size:36px}
}

@media (max-width:520px){
    .faq-section{padding:70px 0}
    .faq-contact{
        flex-direction:column;
        gap:6px;
        font-size:13px;
        align-items:flex-start;
    }
    .faq-question{padding:16px 16px}
    .faq-answer{padding:0 16px 16px}
    .faq-content h2{font-size:30px}
}

/* ---------------------------
   FOOTER
---------------------------- */
@media (max-width:520px){
    #footer{padding:60px 16px 36px}
    .footer-container{gap:22px}
    .footer-logo img{width:160px}
    .footer-links ul,.footer-legal ul{gap:14px}
    .footer-info{font-size:.92em}
}

@media (max-width:340px){
    .footer-links a,.footer-legal a{font-size:.74rem}
}

/* ---------------------------
   Ultra small: 320 → 300
---------------------------- */
@media (max-width:320px){
    .container{padding:0 12px}
    .hero-content h1{font-size:28px}
    .slide .title{font-size:30px}
    .home-head h2{font-size:26px}
    .contact-pro-content h2{font-size:28px}
}

@media (max-width:300px){
    .btn{letter-spacing:.04em}
    .hero-actions .btn{min-width:0;width:100%}
    .services-actions .btn{min-width:0;width:100%}
}
.line-text{
    margin: 4em auto;
    display: block;
    text-align: center;
    margin-bottom: 0;
    color: #215994;
}
.line-text a {
    color: #215994;
    font-weight: 700;
}

/* Wrapper pour stylisation */
.map-wrapper{
    position:relative;
    width:100%;
    height:520px; /* GRAND format */
    overflow:hidden;
    box-shadow:
            0 30px 70px rgba(19,55,102,.18),
            inset 0 0 0 1px rgba(19,55,102,.08);
}

/* IFRAME */
.map-wrapper iframe{
    width:100%;
    height:100%;
    border:0;

    /* Stylisation visuelle */
    filter:
            grayscale(100%)
            contrast(1.05)
            brightness(1.05)
            sepia(10%)
            hue-rotate(190deg);

    transform:scale(1.02);
}

/* Overlay léger pour cohérence graphique */
.map-wrapper::after{
    content:"";
    position:absolute;
    inset:0;
    background:
            linear-gradient(
                    180deg,
                    rgba(19,55,102,.08) 0%,
                    rgba(19,55,102,0) 30%,
                    rgba(19,55,102,0) 70%,
                    rgba(19,55,102,.08) 100%
            );
    pointer-events:none;
}

/* RESPONSIVE */
@media (max-width:900px){
    .map-wrapper{
        height:420px;
    }

    .contact-map h2{
        font-size:30px;
    }
}

@media (max-width:520px){
    .map-wrapper{
        height:340px;
    }

    .contact-map{
        padding:70px 0;
    }
}
