:root{
  --bleu:#0a1f3d; --bleu-clair:#14335c; --accent:#3ba7dc; --accent-fonce:#1f7fb3;
  --fond:#f5f7fa; --carte:#ffffff; --texte:#1a2433; --gris:#5b6b78; --ligne:#dfe4ea;
  --rayon:14px; --ombre:0 6px 24px rgba(10,31,61,.10);
  --font-titre:"Fraunces","Playfair Display",Georgia,"Times New Roman",serif;
  --font-corps:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-corps);color:var(--texte);background:var(--fond);line-height:1.65;font-size:17px}
h1,h2,h3{font-family:var(--font-titre);font-weight:600;color:var(--bleu);line-height:1.2;margin:0 0 .6em}
h1{font-size:clamp(2rem,4.6vw,3.2rem)}
h2{font-size:clamp(1.55rem,3vw,2.15rem);margin-top:0}
h3{font-size:1.25rem}
a{color:var(--bleu-clair)}
img{max-width:100%;height:auto}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.narrow{max-width:760px;margin:0 auto;padding:0 20px}

/* Header */
.topbar{background:var(--bleu);color:#fff;font-size:.9rem}
.topbar .wrap{display:flex;justify-content:space-between;gap:12px;padding-top:8px;padding-bottom:8px;flex-wrap:wrap}
.topbar a{color:#fff;text-decoration:none}
header.site{background:#fff;border-bottom:1px solid var(--ligne);position:sticky;top:0;z-index:50}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px}
.logo{font-family:var(--font-titre);font-size:1.15rem;color:var(--bleu);text-decoration:none;font-weight:700;line-height:1.1;white-space:nowrap;flex-shrink:0}
.logo small{display:block;font-family:var(--font-corps);font-weight:500;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-fonce);white-space:nowrap}
nav.main ul{list-style:none;display:flex;gap:12px;margin:0;padding:0;align-items:center;flex-wrap:nowrap}
nav.main a{text-decoration:none;color:var(--texte);font-weight:600;font-size:.82rem;white-space:nowrap}
nav.main a:hover,nav.main a[aria-current="page"]{color:var(--accent-fonce)}
nav.main .btn{white-space:nowrap;padding:8px 16px !important;font-size:.82rem}
.burger{display:none;background:none;border:1px solid var(--ligne);border-radius:8px;padding:8px 12px;font-size:1rem;cursor:pointer;flex-shrink:0}
@media(max-width:1220px){
  .burger{display:block}
  nav.main{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--ligne)}
  nav.main.ouvert{display:block}
  nav.main ul{flex-direction:column;align-items:flex-start;padding:16px 20px;gap:14px}
  nav.main a{white-space:normal}
}

/* Boutons */
.btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;padding:14px 26px;border-radius:999px;border:0;cursor:pointer;font-size:1rem;transition:background .15s}
.btn:hover{background:var(--accent-fonce)}
.btn.sec{background:transparent;color:var(--bleu);border:2px solid var(--bleu)}
.btn.sec:hover{background:var(--bleu);color:#fff}
.btn.blanc{background:#fff;color:var(--bleu)}
.btn.grand{padding:19px 40px;font-size:1.1rem;border-radius:999px;box-shadow:var(--ombre)}
.btn.orange{background:#ff7a1a;color:#fff}
.btn.orange:hover{background:#e8690f}

/* Badge dynamique (bien du moment) */
.badge-dynamique{display:inline-flex;align-items:center;gap:9px;padding:9px 20px;border-radius:999px;background:linear-gradient(270deg,var(--accent),var(--accent-fonce),#ff7a1a,var(--accent));background-size:600% 600%;animation:degrade-anime 6s ease infinite;color:#fff;font-weight:800;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;box-shadow:var(--ombre);margin-bottom:14px}
.badge-dynamique-point{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 rgba(255,255,255,.6);animation:pulse-point 1.6s ease infinite}
@keyframes degrade-anime{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes pulse-point{0%{box-shadow:0 0 0 0 rgba(255,255,255,.7)}70%{box-shadow:0 0 0 8px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}

/* Hero */
.hero{background:linear-gradient(135deg,var(--bleu) 0%,var(--bleu-clair) 100%);color:#fff;padding:72px 0 80px}
.hero h1{color:#fff}
.hero p.lead{font-size:1.2rem;max-width:640px;opacity:.95}
.hero .actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.hero .grille{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center}
.portrait{aspect-ratio:4/5;border-radius:var(--rayon);background:rgba(255,255,255,.12);border:2px dashed rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;font-size:.95rem}
@media(max-width:860px){.hero .grille{grid-template-columns:1fr}.portrait{max-width:280px}}
.kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700;color:var(--accent);margin-bottom:10px;display:block}

/* Sections */
section{padding:64px 0}
section.alt{background:#fff}
.grille3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grille2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
@media(max-width:860px){.grille3,.grille2{grid-template-columns:1fr}}
.carte{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--rayon);padding:26px;box-shadow:var(--ombre)}
.carte h3{margin-bottom:.4em}
.carte a.lien{font-weight:700;text-decoration:none}
.carte .tag{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-fonce);margin-bottom:8px}
@media(max-width:760px){.carte[style*="grid-template-columns:1.1fr 1fr"]{grid-template-columns:1fr !important}}
.chiffres{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:center}

/* Articles page d'accueil */
.article-carte{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--rayon);overflow:hidden;box-shadow:var(--ombre);display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform .15s}
.article-carte:hover{transform:translateY(-3px)}
.article-carte img{width:100%;aspect-ratio:1200/630;object-fit:cover;display:block}
.article-carte-corps{padding:20px 22px 24px}
.article-carte-date{color:var(--gris);font-size:.82rem;font-weight:600}
.article-carte h3{margin:.4em 0 .3em;font-size:1.1rem}
.article-carte p{color:var(--gris);font-size:.92rem;margin:0}

/* FAQ */
.faq-item{background:#fff;border:1px solid var(--ligne);border-radius:var(--rayon);margin-bottom:12px;overflow:hidden}
.faq-item summary{padding:18px 22px;font-weight:700;color:var(--bleu);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-size:1.4rem;color:var(--accent-fonce);flex-shrink:0}
.faq-item[open] summary::after{content:'−'}
.faq-item .faq-reponse{padding:0 22px 20px;color:var(--gris);font-size:.97rem}
@media(max-width:860px){.chiffres{grid-template-columns:repeat(2,1fr)}}
.chiffres strong{display:block;font-family:var(--font-titre);font-weight:600;font-size:2rem;color:var(--bleu)}
.chiffres span{color:var(--gris);font-size:.92rem}

/* Badge avis Immodvisor */
.avis-badge{text-align:center;max-width:360px;margin:0 auto}
.avis-badge-head{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:10px}
.avis-badge-logo{font-family:var(--font-titre);font-weight:700;font-size:1.15rem;color:var(--bleu)}
.avis-badge-logo sup{color:#2e9e5b;font-size:.9rem}
.avis-badge-certifie{background:#e8f6ee;color:#2e9e5b;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:999px}
.avis-badge-note{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.avis-badge-note .etoiles{color:#f3a712;font-size:1.3rem;letter-spacing:2px}
.avis-badge-note strong{font-size:1.2rem;color:var(--bleu)}
.avis-badge-note .avis-badge-nb{color:var(--gris);font-size:.9rem}
.avis-carte{text-align:left;display:flex;flex-direction:column}
.avis-carte-etoiles{color:#f3a712;letter-spacing:2px;margin-bottom:8px}
.avis-carte-titre{font-size:1.02rem;margin:0 0 8px}
.avis-carte-texte{font-size:.92rem;color:var(--texte);font-style:italic;flex-grow:1}
.avis-carte-auteur{font-size:.85rem;color:var(--gris);font-weight:600;margin:12px 0 0}
.avis-image-carte{display:block;border-radius:var(--rayon);overflow:hidden;box-shadow:var(--ombre);border:1px solid var(--ligne);transition:transform .15s}
.avis-image-carte:hover{transform:translateY(-3px)}
.avis-image-carte img{display:block;width:100%;height:auto}

/* Liste des pays (drapeaux) */
.pays-liste{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:18px 0}
.pays-liste li{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--ligne);border-radius:999px;padding:8px 16px;font-weight:600;font-size:.92rem;box-shadow:var(--ombre)}
.pays-drapeau{font-size:1.2rem;line-height:1}

/* Logo Propertips */
.propertips-logo{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:18px}
.propertips-logo svg{width:38px;height:38px}
.propertips-logo-texte{text-align:left;line-height:1.1}
.propertips-logo-texte strong{display:block;font-family:var(--font-corps);font-size:1.5rem;font-weight:800;color:#ff7a1a}
.propertips-logo-texte span{display:block;font-size:.72rem;color:var(--gris);font-weight:600;letter-spacing:.04em}

/* Vidéo YouTube intégrée */
.video-embed{position:relative;width:100%;max-width:800px;margin:0 auto;aspect-ratio:16/9;border-radius:var(--rayon);overflow:hidden;box-shadow:var(--ombre);background:#000}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.etapes{counter-reset:e;list-style:none;padding:0;margin:0;display:grid;gap:16px}
.etapes li{counter-increment:e;background:#fff;border:1px solid var(--ligne);border-radius:var(--rayon);padding:20px 20px 20px 72px;position:relative}
.etapes li::before{content:counter(e);position:absolute;left:20px;top:18px;width:36px;height:36px;border-radius:50%;background:var(--bleu);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
.etapes li strong{color:var(--bleu)}
.bandeau{background:var(--bleu);color:#fff;text-align:center;padding:56px 0}
.bandeau h2{color:#fff}
.note{background:#eaf4fb;border-left:4px solid var(--accent);padding:14px 18px;border-radius:8px;font-size:.95rem;color:#1a3a52}

/* Bouton WhatsApp flottant */
.wa-flottant{position:fixed;right:20px;bottom:20px;z-index:60;background:#25D366;color:#fff;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.25);text-decoration:none}
.wa-flottant:hover{filter:brightness(1.05)}
.wa-flottant svg{width:28px;height:28px;fill:#fff}

/* Bandeau cookies */
.cookie-banniere{position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--bleu);color:#fff;padding:18px 20px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;box-shadow:0 -6px 20px rgba(0,0,0,.2)}
.cookie-banniere p{margin:0;max-width:640px;font-size:.92rem;line-height:1.5}
.cookie-banniere a{color:#fff;text-decoration:underline}
.cookie-actions{display:flex;gap:10px;flex-shrink:0}
.cookie-actions .btn{padding:10px 18px;font-size:.9rem}
.cookie-actions .btn.sec{border-color:#fff;color:#fff}
.cookie-actions .btn.sec:hover{background:#fff;color:var(--bleu)}
@media(max-width:600px){.cookie-banniere{flex-direction:column;align-items:stretch;text-align:center}.cookie-actions{justify-content:center}}

/* Tableaux */
table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--rayon);overflow:hidden;box-shadow:var(--ombre)}
th,td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--ligne);font-size:.97rem}
th{background:var(--bleu);color:#fff}
tr:last-child td{border-bottom:0}
.scroll{overflow-x:auto}

/* Formulaires */
form .champ{margin-bottom:16px}
label{display:block;font-weight:600;margin-bottom:6px;font-size:.95rem}
input,select,textarea{width:100%;padding:12px 14px;border:1px solid #cfc9bb;border-radius:10px;font:inherit;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);border-color:var(--accent)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:600px){.duo{grid-template-columns:1fr}}
.rgpd{font-size:.82rem;color:var(--gris)}
.champ-consentement{margin-bottom:16px}
label.consentement{display:flex;align-items:flex-start;gap:10px;font-weight:500;font-size:.9rem;cursor:pointer}
label.consentement input[type="checkbox"]{width:auto;flex-shrink:0;margin-top:3px}

/* Article */
.article header.art{padding:56px 0 16px}
.meta{color:var(--gris);font-size:.9rem}
.article h2{margin-top:1.8em}
.article p,.article li{font-size:1.05rem}
.fil{font-size:.88rem;color:var(--gris);margin-bottom:14px}
.fil a{color:var(--gris)}

/* Footer */
footer.site{background:#0e2436;color:#c9d5df;padding:48px 0 24px;font-size:.93rem}
footer.site a{color:#e8eef3}
footer.site h4{color:#fff;margin:0 0 10px;font-family:var(--font-titre);font-weight:600}
footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
@media(max-width:860px){footer.site .cols{grid-template-columns:1fr}}
footer.site ul{list-style:none;padding:0;margin:0}
footer.site li{margin-bottom:6px}
.social{display:flex;gap:10px;margin-top:14px}
.social a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;transition:background .15s}
.social a:hover{background:var(--accent)}
.social svg{width:17px;height:17px;fill:currentColor}
.topbar .social{margin-top:0;gap:8px}
.topbar .social a{width:26px;height:26px;background:rgba(255,255,255,.15)}
.topbar .social svg{width:14px;height:14px}
.legal{border-top:1px solid #1e3a50;margin-top:28px;padding-top:16px;font-size:.82rem;opacity:.85}
