/* Polices auto-hebergees (sous-ensemble latin, variables), plus d'appel a Google Fonts */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:400 600;font-display:swap;src:url(/static/fonts/fraunces-normal-latin.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:400 500;font-display:swap;src:url(/static/fonts/fraunces-italic-latin.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:300 600;font-display:swap;src:url(/static/fonts/jost-normal-latin.woff2) format('woff2')}
/* Villa Container Fitou : design LUXE A "Palace mediterraneen".
   Palette vert sapin / creme ivoire / laiton dore. Titres serif Fraunces,
   corps Inter. Ambiance resort chic, feutree, vegetale. Mobile-first. */

:root{
  --sapin:#1f3b32;
  --sapin-fonce:#152a24;
  --sapin-clair:#2f5346;
  --creme:#f4efe4;
  --ivoire:#fbf8f1;
  --laiton:#b28b4c;
  --laiton-clair:#c9a865;
  --clair:#f3ead6;   /* ivoire chaud pour le texte sur fonds sombres (jamais de blanc pur) */
  --texte:#26332d;
  --texte-doux:#5c6b62;
  --ligne:rgba(178,139,76,.35);
  --ligne-douce:rgba(31,59,50,.12);
  --ok:#1f7a54;
  --alerte:#a2432b;
  --radius:3px;
  --ombre:0 24px 60px rgba(21,42,36,.16);
  /* Alias de compatibilite : d'anciens gabarits referencent ces variables en style
     inline. On les mappe sur la palette Palace pour une coherence totale. */
  --noir:var(--sapin);
  --encre:var(--sapin-fonce);
  --blanc:#fff;
  --gris:var(--texte-doux);
  --gris-clair:var(--ligne);
  --sable:var(--laiton);
  --sable-clair:var(--laiton-clair);
  --fond:var(--creme);
  --alerte:#a2432b;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Jost',system-ui,sans-serif;color:var(--texte);background:var(--ivoire);line-height:1.7;font-weight:300;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,.serif{font-family:'Fraunces',Georgia,serif;font-weight:500;line-height:1.08;letter-spacing:.005em}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.skip{position:absolute;left:-999px;top:0;z-index:200;background:var(--sapin);color:var(--creme);padding:10px 16px}
.skip:focus{left:8px;top:8px}

/* Bandeau reservation directe */
.bandeau-direct{background:var(--sapin-fonce);color:var(--creme);font-size:.7rem;font-weight:400;text-align:center;padding:7px 16px;letter-spacing:.2em;text-transform:uppercase}

/* Header */
header{position:sticky;top:0;z-index:90;background:rgba(251,248,241,.9);backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--ligne)}
.nav{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 28px;max-width:1180px;margin:0 auto}
@media(max-width:560px){.nav{padding:12px 18px}.marque{font-size:1.12rem}.nav-right{gap:10px}.nav-cta{display:none}}
.marque{font-family:'Fraunces',serif;font-weight:600;font-size:1.4rem;letter-spacing:.02em;color:var(--sapin);white-space:nowrap}
.marque span{color:var(--laiton)}
.nav-liens{display:flex;gap:30px;font-size:.74rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--texte-doux)}
.nav-liens a:hover{color:var(--laiton)}
.nav-right{display:flex;flex:none;flex-wrap:nowrap;align-items:center;gap:18px}
.lang-switch{display:inline-flex;flex:none;flex-wrap:nowrap;white-space:nowrap;border:1px solid var(--ligne);border-radius:2px;overflow:hidden;font-size:.72rem;font-weight:600;letter-spacing:.08em}
.lang-switch a{padding:6px 12px;color:var(--texte-doux)}
.lang-switch a.actif{background:var(--sapin);color:var(--creme)}
.nav-cta{font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--laiton);color:var(--laiton);padding:9px 20px;border-radius:2px;transition:.25s}
.nav-cta:hover{background:var(--laiton);color:var(--sapin-fonce)}
@media(max-width:1100px){.nav-liens{display:none}}

/* Sur-titres, filets, numeros */
.eyebrow,.hero-eyebrow{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--laiton);font-weight:500;font-family:'Jost',sans-serif;display:block;margin-bottom:18px}

/* Boutons */
.btn-sable{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--laiton);color:var(--sapin-fonce);padding:15px 34px;border-radius:2px;font-family:'Jost',sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;transition:.25s;border:none;cursor:pointer;text-align:center}
.btn-sable:hover{background:var(--laiton-clair);color:var(--sapin-fonce)}
.btn-noir{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--sapin);color:var(--creme);padding:15px 34px;border-radius:2px;font-family:'Jost',sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border:none;cursor:pointer;text-align:center;transition:.25s}
.btn-noir:hover{background:var(--laiton);color:var(--sapin-fonce)}
.btn-ligne{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:transparent;border:1px solid var(--sapin);color:var(--sapin);padding:14px 28px;border-radius:2px;font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:.25s}
.btn-ligne:hover{background:var(--sapin);color:var(--creme)}
.btn-block{width:100%}

/* HERO */
.hero{position:relative;min-height:100vh;color:var(--clair);display:flex;align-items:flex-end;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;z-index:0;background:url('/static/img/villa-piscine-terrasse-drone-hero-ai-480.jpg') center/cover no-repeat;filter:blur(30px) brightness(.5);transform:scale(1.15)}
.hero picture,.hero-img{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.hero-img{object-fit:contain;object-position:center 42%;transform:scale(1);animation:kenburns 30s ease-in-out infinite alternate}
@keyframes kenburns{to{transform:scale(1.04)}}
.hero-voile{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(21,42,36,.5) 0%,rgba(21,42,36,.12) 36%,rgba(21,42,36,.6) 86%,rgba(21,42,36,.9) 100%)}
.hero-inner{position:relative;z-index:3;max-width:900px;margin:0 auto;padding:0 28px 76px;width:100%}
.hero-cta{margin-top:30px}
.hero-scroll{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);color:rgba(245,236,216,.85);font-size:1.5rem;z-index:3;text-decoration:none;animation:bob 2.2s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(9px)}}
.resa-section{background:var(--creme);padding:54px 20px;border-bottom:1px solid var(--ligne)}
.resa-section .carte-resa{max-width:700px;margin:0 auto}
.hero-eyebrow{color:var(--laiton-clair);margin-bottom:20px}
.hero h1{font-family:'Fraunces',serif;font-size:clamp(3rem,7vw,5.4rem);font-weight:500;letter-spacing:.01em;margin-bottom:20px;line-height:1.02;max-width:15ch}
.hero .baseline{font-size:clamp(1rem,2vw,1.15rem);font-weight:300;color:rgba(245,236,216,.92);max-width:48ch;margin-bottom:22px}
.hero-tarif{font-size:.95rem;font-weight:300;color:rgba(245,236,216,.85);letter-spacing:.02em}
.hero-tarif b{font-family:'Fraunces',serif;font-weight:600;font-size:1.5rem;color:var(--clair)}
@media(max-width:900px){
  .hero{min-height:88vh;padding-top:16px}
  .hero-inner{padding:36px 20px 56px}
  .hero .baseline{margin-bottom:8px}
}

/* Carte de reservation posee dans le hero (facon hotel) */
.carte-resa{background:rgba(251,248,241,.98);color:var(--texte);border-radius:3px;border-top:2px solid var(--laiton);box-shadow:var(--ombre);padding:26px 24px}
.carte-resa h2{font-family:'Fraunces',serif;font-size:1.7rem;font-weight:500;margin-bottom:2px;color:var(--sapin)}
.carte-resa .sous{font-size:.85rem;color:var(--texte-doux);margin-bottom:18px}
.champ{margin-bottom:12px;min-width:0}
.champ label{display:block;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;color:var(--laiton);margin-bottom:6px}
.champ-ligne{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.champ input,.champ select{width:100%;min-width:0;border:1px solid var(--ligne);border-radius:2px;padding:12px 13px;font-size:.95rem;font-family:inherit;color:var(--texte);background:#fff}
.champ input:focus,.champ select:focus{outline:none;border-color:var(--laiton)}
.resa-recap{border-top:1px solid var(--ligne);margin-top:12px;padding-top:12px;font-size:.9rem;color:var(--texte-doux)}
.resa-recap .ligne{display:flex;justify-content:space-between;padding:4px 0}
.resa-recap .total{display:flex;justify-content:space-between;align-items:baseline;margin-top:8px;padding-top:10px;border-top:1px solid var(--ligne)}
.resa-recap .total b{font-family:'Fraunces',serif;font-size:1.9rem;font-weight:600;color:var(--sapin)}
.resa-msg{font-size:.82rem;padding:8px 0;color:var(--alerte);min-height:8px}
.resa-msg.ok{color:var(--ok)}
.carte-note{font-size:.72rem;color:var(--texte-doux);text-align:center;margin-top:12px;letter-spacing:.02em}
.carte-resa .btn-sable{width:100%;margin-top:8px}

/* Reassurance */
.reassurance{border-bottom:1px solid var(--ligne);background:var(--creme)}
.reassurance .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.rz-item{padding:34px 22px;text-align:center;border-right:1px solid var(--ligne)}
.rz-item:last-child{border-right:none}
.rz-item b{display:block;font-family:'Fraunces',serif;font-size:1.3rem;font-weight:500;margin-bottom:2px;color:var(--sapin)}
.rz-item span{font-size:.82rem;color:var(--texte-doux);font-weight:300}
@media(max-width:900px){.reassurance .wrap{grid-template-columns:1fr 1fr}.rz-item:nth-child(2){border-right:none}.rz-item:nth-child(1),.rz-item:nth-child(2){border-bottom:1px solid var(--ligne)}}

/* Sections */
section{padding:96px 0}
h2{font-size:clamp(2.1rem,4.4vw,3.2rem);font-weight:500;margin-bottom:20px;max-width:22ch}
.lead{font-size:clamp(1.05rem,2vw,1.22rem);color:var(--texte-doux);font-weight:300;max-width:62ch}

.histoire{text-align:center;background:var(--creme)}
.histoire h2{max-width:20ch;margin-left:auto;margin-right:auto}
.histoire .lead{margin:0 auto}
.histoire-band{margin-top:56px;height:72vh;min-height:460px;position:relative;overflow:hidden}
.histoire-band img{width:100%;height:100%;object-fit:cover;object-position:center 55%}
.histoire-band .legende{position:absolute;left:28px;bottom:28px;color:var(--clair);text-align:left;font-size:.88rem;font-weight:300;text-shadow:0 2px 20px rgba(0,0,0,.5)}
.histoire-band .legende b{display:block;font-family:'Fraunces',serif;font-size:1.6rem;font-weight:500;letter-spacing:.01em}

.fullbleed{position:relative;height:86vh;min-height:540px;overflow:hidden;color:var(--clair)}
.fullbleed img{width:100%;height:100%;object-fit:cover}
.fullbleed .txt{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 28px;max-width:1180px;margin:0 auto;left:0;right:0}
.fullbleed .voile{position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,42,36,.82),rgba(21,42,36,.15))}
.fullbleed .txt .eyebrow{color:var(--laiton-clair)}
.fullbleed .txt h2{color:var(--clair)}
.fullbleed .txt .lead{color:rgba(244,239,228,.85)}

.galerie-2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:52px}
.galerie-2 figure{position:relative;height:56vh;min-height:340px;overflow:hidden;background:var(--creme)}
.galerie-2 img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.galerie-2 figure:hover img{transform:scale(1.06)}
.g-full{grid-column:span 2;height:78vh;min-height:480px}
.ph-int{grid-column:span 1;height:56vh;min-height:340px;background:var(--sapin);color:var(--creme);border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px}
.ph-int .ico{font-size:26px;color:var(--laiton-clair)}
.ph-int b{font-family:'Fraunces',serif;font-size:1.5rem;font-weight:500}
.ph-int small{font-size:.82rem;color:rgba(244,239,228,.72)}
@media(max-width:900px){.galerie-2{grid-template-columns:1fr}.galerie-2 figure{height:50vh}.g-full{grid-column:span 1}.ph-int{grid-column:span 1}}

.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:56px;border-top:1px solid var(--ligne)}
.spec{padding:34px 28px;border-bottom:1px solid var(--ligne);border-right:1px solid var(--ligne)}
.spec:nth-child(3n){border-right:none}
.spec .n{font-family:'Fraunces',serif;font-size:clamp(2.4rem,4vw,3.4rem);font-weight:500;color:var(--sapin);margin-bottom:6px;line-height:1}
.spec .n span{color:var(--laiton);font-size:.42em;vertical-align:super}
.spec h3{font-family:'Fraunces',serif;font-size:1.35rem;font-weight:500;margin-bottom:6px;color:var(--sapin)}
.spec p{font-size:.9rem;color:var(--texte-doux);font-weight:300;line-height:1.6}
@media(max-width:900px){.specs{grid-template-columns:1fr}.spec{border-right:none}}

/* Tarifs */
.tarifs{background:var(--sapin);color:var(--creme)}
.tarifs h2{color:var(--clair)}
.tarifs .eyebrow{color:var(--laiton-clair)}
.tarifs .lead{color:rgba(244,239,228,.8)}
.prix-lignes{margin-top:52px;border-top:1px solid rgba(201,168,101,.3)}
.prix-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;padding:30px 0;border-bottom:1px solid rgba(201,168,101,.3);gap:24px}
.prix-row .saison{font-family:'Fraunces',serif;font-size:clamp(1.5rem,3vw,2rem);font-weight:500}
.prix-row .saison small{display:block;font-family:'Jost',sans-serif;font-size:.8rem;font-weight:300;color:rgba(244,239,228,.65);margin-top:4px;letter-spacing:.02em}
.prix-row .cell{text-align:right;min-width:110px}
.prix-row .cell .k{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--laiton-clair);margin-bottom:6px}
.prix-row .cell .v{font-family:'Fraunces',serif;font-size:1.5rem;font-weight:500}
.prix-row .cell .v.na{color:rgba(244,239,228,.32)}
.prix-cta{margin-top:48px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.prix-note{font-size:.85rem;color:rgba(244,239,228,.7);font-weight:300}
@media(max-width:900px){.prix-row{grid-template-columns:1fr 1fr;gap:14px}.prix-row .saison{grid-column:span 2}.prix-row .cell{text-align:left;min-width:0}}

.region{background:var(--ivoire)}
.region .lead{margin-bottom:30px}
.region .region-quartier{font-size:clamp(1rem,1.7vw,1.1rem);margin-top:-14px}
.region-tags{display:flex;flex-wrap:wrap;gap:12px}
.rtag{border:1px solid var(--ligne);padding:10px 20px;border-radius:2px;font-size:.82rem;font-weight:400;letter-spacing:.04em;color:var(--sapin)}

.confiance{background:var(--creme)}
.conf-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:52px;border-top:1px solid var(--ligne)}
.conf-item{padding:34px 30px;border-bottom:1px solid var(--ligne);border-right:1px solid var(--ligne)}
.conf-item:nth-child(2n){border-right:none}
.conf-item h3{font-family:'Fraunces',serif;font-size:1.5rem;font-weight:500;margin-bottom:8px;color:var(--sapin)}
.conf-item p{font-size:.92rem;color:var(--texte-doux);font-weight:300}
.badges{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;align-items:center}
.badge{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--ligne);border-radius:2px;padding:8px 16px;font-size:.75rem;font-weight:500;letter-spacing:.04em;background:var(--ivoire)}
.badge .dot{width:7px;height:7px;border-radius:50%;background:var(--laiton)}
.annulation{margin-top:30px;padding:28px 30px;border:1px solid var(--laiton);border-left:2px solid var(--laiton);border-radius:2px;display:flex;gap:16px;align-items:flex-start;background:var(--ivoire)}
.annulation .ico{font-size:18px;color:var(--laiton)}
.annulation p{font-size:.92rem;color:var(--texte);font-weight:300}

.faq{background:var(--sapin-fonce);color:var(--creme)}
.faq .eyebrow{color:var(--laiton-clair)}
.faq h2{color:var(--clair)}
.faq-item{border-top:1px solid rgba(201,168,101,.28);padding:28px 0;display:grid;grid-template-columns:1fr 1.4fr;gap:30px}
.faq-item:last-child{border-bottom:1px solid rgba(201,168,101,.28)}
.faq-item h3{font-family:'Fraunces',serif;font-size:1.4rem;font-weight:500;color:var(--clair)}
.faq-item p{font-size:.98rem;color:rgba(244,239,228,.78);font-weight:300}
@media(max-width:900px){.faq-item{grid-template-columns:1fr;gap:10px}.conf-grid{grid-template-columns:1fr}.conf-item{border-right:none}}

/* Footer */
footer{background:var(--sapin-fonce);color:rgba(244,239,228,.72);padding:70px 0 34px;border-top:1px solid rgba(201,168,101,.3)}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:48px}
footer .marque{font-family:'Fraunces',serif;color:var(--clair);font-size:1.7rem;margin-bottom:14px}
footer .marque span{color:var(--laiton-clair)}
footer .fbaseline{font-size:.92rem;font-weight:300;max-width:38ch;color:rgba(244,239,228,.72)}
footer h4{color:var(--laiton-clair);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:14px;font-weight:600}
footer a,footer p{font-size:.9rem;color:rgba(244,239,228,.72);margin-bottom:8px;display:block;font-weight:300}
footer a:hover{color:var(--clair)}
.footer-lang{display:inline-flex;border:1px solid rgba(201,168,101,.4);border-radius:2px;overflow:hidden;margin-top:4px}
.footer-lang a{padding:7px 16px;font-size:.72rem;font-weight:600;letter-spacing:.08em;margin:0}
.footer-lang a.actif{background:var(--laiton);color:var(--sapin-fonce)}
.footer-bas{border-top:1px solid rgba(201,168,101,.2);padding-top:24px;font-size:.75rem;color:rgba(244,239,228,.55);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-weight:300}
@media(max-width:760px){.footer-top{grid-template-columns:1fr;gap:30px}}

/* CTA sticky mobile */
.sticky-mobile{position:fixed;bottom:0;left:0;right:0;z-index:95;background:rgba(21,42,36,.97);backdrop-filter:blur(8px);padding:11px 18px;display:none;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--laiton)}
.sticky-mobile .prix{font-size:.72rem;color:var(--laiton-clair);letter-spacing:.14em;text-transform:uppercase}
.sticky-mobile .prix b{display:block;font-family:'Fraunces',serif;font-size:1.3rem;color:var(--clair);font-weight:500;letter-spacing:normal;text-transform:none}
.sticky-mobile .btn-sable{padding:12px 22px;font-size:.72rem;margin:0}
@media(max-width:900px){.sticky-mobile{display:flex}body{padding-bottom:70px}}

/* Pages internes (tunnel, legal, blog, suivi) */
.page{max-width:900px;margin:0 auto;padding:60px 28px 90px}
.page.large{max-width:1180px}
.page h1{font-size:clamp(2.4rem,5vw,3.6rem);font-weight:500;margin-bottom:20px;color:var(--sapin)}
.page .lead{margin-bottom:34px}
.page h2{font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:500;margin:40px 0 14px;color:var(--sapin);max-width:none}
.page h3{font-family:'Fraunces',serif;font-size:1.4rem;font-weight:500;margin:26px 0 10px;color:var(--sapin)}
.page p{margin-bottom:15px;color:var(--texte);font-size:1rem;line-height:1.75;font-weight:300}
.page ul{margin:0 0 18px 22px}
.page li{margin-bottom:8px;color:var(--texte);font-weight:300}
.page a.lien{color:var(--laiton);text-decoration:underline;text-underline-offset:3px;font-weight:500}
.fil{font-size:.78rem;color:var(--texte-doux);margin-bottom:26px;letter-spacing:.04em}
.fil a:hover{color:var(--laiton)}

.encart{background:var(--creme);border:1px solid var(--ligne);border-radius:2px;padding:22px 26px;margin:22px 0;font-weight:300}
.encart.attention{border-color:var(--laiton);border-left:2px solid var(--laiton)}
.placeholder-note{background:var(--creme);border:1px solid var(--laiton);border-left:2px solid var(--laiton);border-radius:2px;padding:14px 18px;font-size:.9rem;color:var(--texte);margin:16px 0;font-weight:300}

/* Tunnel : formulaires */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-grid .full{grid-column:span 2}
@media(max-width:700px){.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:span 1}}
.field label{display:block;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:var(--laiton);margin-bottom:6px}
.field input,.field textarea,.field select{width:100%;border:1px solid var(--ligne);border-radius:2px;padding:12px 14px;font-size:.95rem;font-family:inherit;background:#fff;color:var(--texte)}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--laiton)}
.check{display:flex;gap:12px;align-items:flex-start;margin:14px 0;font-size:.92rem;color:var(--texte);font-weight:300}
.check input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:var(--sapin)}
.pro-toggle{display:flex;gap:12px;align-items:center;margin:26px 0 6px;padding:16px;border:1px solid var(--ligne);border-radius:2px;cursor:pointer;background:var(--creme)}
.pro-fields{display:none;margin-top:16px}
.pro-fields.on{display:block}

/* Services additionnels (panier de bienvenue + options) */
.services{margin:26px 0 6px}
.services > h2{font-family:'Fraunces',serif;font-size:1.6rem;font-weight:500;color:var(--sapin);margin-bottom:4px}
.services .sous{font-size:.88rem;color:var(--texte-doux);margin-bottom:16px;font-weight:300}
.service-opt{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border:1px solid var(--ligne);border-radius:2px;margin-bottom:10px;cursor:pointer;background:#fff;transition:.2s}
.service-opt:hover{border-color:var(--laiton)}
.service-opt input{margin-top:4px;width:18px;height:18px;flex:none;accent-color:var(--sapin)}
.service-opt .so-body{flex:1}
.service-opt .so-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.service-opt .so-title{font-family:'Fraunces',serif;font-size:1.2rem;font-weight:500;color:var(--sapin)}
.service-opt .so-price{font-weight:600;color:var(--laiton);white-space:nowrap;font-size:.95rem}
.service-opt .so-desc{font-size:.85rem;color:var(--texte-doux);font-weight:300;margin-top:3px}

/* Recap tunnel */
.recap-box{background:var(--sapin);color:var(--creme);border-radius:2px;border-top:2px solid var(--laiton);padding:28px}
.recap-box h3{font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--laiton-clair);margin-bottom:18px;font-weight:600}
.recap-box .ligne{display:flex;justify-content:space-between;padding:8px 0;font-size:.92rem;color:rgba(244,239,228,.86);border-bottom:1px solid rgba(201,168,101,.22);font-weight:300}
.recap-box .ligne.total{border-bottom:none;margin-top:10px;font-size:1rem;color:var(--clair)}
.recap-box .ligne.total b{font-family:'Fraunces',serif;font-size:1.8rem;font-weight:600}
.recap-box small{color:rgba(244,239,228,.62);font-size:.8rem;font-weight:300}
.tunnel-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:start}
@media(max-width:820px){.tunnel-grid{grid-template-columns:1fr}}

.etapes{display:flex;gap:8px;margin-bottom:32px;font-size:.78rem;color:var(--texte-doux);letter-spacing:.04em;flex-wrap:wrap}
.etapes .e{display:flex;align-items:center;gap:8px}
.etapes .e .num{width:24px;height:24px;border-radius:50%;border:1px solid var(--ligne);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.72rem;font-family:'Fraunces',serif}
.etapes .e.actif .num{background:var(--sapin);color:var(--creme);border-color:var(--sapin)}
.etapes .sep{color:var(--ligne)}

/* Etat paiement */
.statut{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:2px;font-size:.75rem;font-weight:600;letter-spacing:.06em}
.statut.option{background:#efe4c8;color:#7a5c12}
.statut.confirmed{background:#dce9e2;color:var(--sapin)}
.statut.pending{background:#f2e7cf;color:#7a5c12}
.statut.deposit_paid{background:#d7eadf;color:var(--sapin)}
.statut.balance_paid{background:var(--sapin);color:var(--creme)}
.statut.cancelled{background:#ecdcd6;color:var(--alerte)}

/* Blog */
.blog-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:30px}
.blog-card{border:1px solid var(--ligne);border-radius:2px;overflow:hidden;background:#fff;transition:.25s}
.blog-card:hover{box-shadow:var(--ombre);transform:translateY(-3px)}
.blog-card img{width:100%;height:220px;object-fit:cover}
.blog-card .body{padding:22px 24px}
.blog-card h3{font-family:'Fraunces',serif;font-size:1.5rem;font-weight:500;margin-bottom:8px;color:var(--sapin)}
.blog-card p{font-size:.9rem;color:var(--texte-doux);font-weight:300}
.blog-card .date{font-size:.68rem;color:var(--laiton);text-transform:uppercase;letter-spacing:.16em;font-weight:600;margin-bottom:8px}
.article{max-width:760px}
.article img.cover{width:100%;height:auto;border-radius:2px;margin-bottom:30px}
.article blockquote{border-left:2px solid var(--laiton);padding-left:20px;margin:20px 0;color:var(--texte-doux);font-family:'Fraunces',serif;font-size:1.4rem;font-style:italic}

/* Admin */
.admin-body{background:var(--ivoire);min-height:100vh}
.admin-head{background:var(--sapin-fonce);color:var(--creme);padding:16px 24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.admin-head b{font-family:'Fraunces',serif;font-size:1.15rem;font-weight:500}
.admin-head a{color:rgba(244,239,228,.72);font-size:.85rem;margin-left:18px}
.admin-head a:hover{color:var(--laiton-clair)}
.admin-wrap{max-width:1100px;margin:0 auto;padding:30px 24px 80px}
.admin-wrap h1{font-family:'Fraunces',serif;color:var(--sapin)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:34px}
.card{background:#fff;border:1px solid var(--ligne);border-top:2px solid var(--laiton);border-radius:2px;padding:22px}
.card .k{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--texte-doux);margin-bottom:8px}
.card .v{font-family:'Fraunces',serif;font-size:2.2rem;font-weight:500;color:var(--sapin)}
@media(max-width:760px){.cards{grid-template-columns:1fr 1fr}}
table.data{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--ligne);border-radius:2px;overflow:hidden}
table.data th,table.data td{text-align:left;padding:12px 14px;font-size:.88rem;border-bottom:1px solid var(--ligne);font-weight:300}
table.data th{background:var(--creme);font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:var(--texte-doux);font-weight:600}
table.data tr:hover td{background:var(--ivoire)}
.admin-panel{background:#fff;border:1px solid var(--ligne);border-radius:2px;padding:26px;margin-bottom:24px}
.admin-panel h2{font-family:'Fraunces',serif;font-size:1.6rem;font-weight:500;margin-bottom:16px;color:var(--sapin)}
.admin-panel .row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.admin-panel label{font-size:.8rem;font-weight:500;display:block;margin-bottom:5px;color:var(--texte-doux)}
.admin-panel input,.admin-panel textarea,.admin-panel select{width:100%;border:1px solid var(--ligne);border-radius:2px;padding:10px 12px;font-size:.9rem;font-family:inherit;background:var(--ivoire)}
.admin-panel textarea[name="season_ranges"]{min-height:120px;font-family:ui-monospace,monospace}
@media(max-width:700px){.admin-panel .row{grid-template-columns:1fr}}

/* ============================================================
   Alignement + raffinement mobile (Pavel 30/09/2026)
   Titres serif Fraunces, corps Jost, ivoire chaud (--clair) au lieu du blanc.
   ============================================================ */
/* Corps un peu plus dessine avec Jost */
body{letter-spacing:.005em}
.hero .baseline,.lead,.page p{font-weight:300}

@media(max-width:640px){
  /* Respiration verticale resserree sur telephone */
  section{padding:60px 0}
  .wrap{padding:0 20px}
  h2{font-size:clamp(1.9rem,8vw,2.4rem);max-width:none}
  .lead{font-size:1.02rem}

  /* Alignement centre, propre, des blocs d'entete sur mobile */
  .histoire,.fullbleed .txt,.tarifs,.region,.confiance,.faq{text-align:center}
  h2,.lead,.eyebrow,.hero-eyebrow{margin-left:auto;margin-right:auto}
  .region-tags,.badges,.prix-cta,.hero-cta,.reassurance .wrap{justify-content:center}
  .hero-inner{text-align:center;margin:0 auto}

  /* On garde a gauche ce qui est une liste/detail (lisibilite) */
  .faq-item,.spec,.conf-item,.prix-row,.recap-box,.annulation{text-align:left}
  .faq-item p,.spec p,.conf-item p{margin-left:auto;margin-right:auto}

  /* Hero : titre un peu plus contenu + voile plus doux */
  .hero h1{font-size:clamp(2.6rem,11vw,3.4rem);max-width:18ch;margin-left:auto;margin-right:auto}
  .hero .baseline{max-width:40ch}

  /* Voile vertical (au lieu du degrade lateral) pour un texte centre lisible */
  .fullbleed .voile{background:linear-gradient(180deg,rgba(21,42,36,.35) 0%,rgba(21,42,36,.72) 100%)}
  .histoire-band .legende{left:0;right:0;text-align:center;padding:0 20px}
}

/* ============================================================
   Retouches 30/09/2026 (Pavel) : selecteur de dates en calendrier,
   chiffres cles centres, legende hors photo, chambres numerotees,
   reservation directe aeree, activites en cartes colorees.
   ============================================================ */

/* 0. Lien "concept maison container" sous l'accroche de la section ADN */
.story-concept{margin-top:22px}
.story-concept a{display:inline-flex;align-items:center;gap:.35em;font-family:'Jost',sans-serif;font-weight:500;font-size:.98rem;letter-spacing:.01em;color:var(--laiton);text-decoration:none;border-bottom:1px solid var(--ligne);padding-bottom:3px;transition:color .2s,border-color .2s}
.story-concept a:hover{color:var(--sapin);border-color:var(--laiton)}
.story-concept a span{transition:transform .2s}
.story-concept a:hover span{transform:translateX(3px)}

/* 1. Selecteur de dates : boutons + calendrier de plage (meme fenetre) */
.dates-ligne .champ{margin-bottom:0}
.date-btn{width:100%;min-width:0;text-align:left;border:1px solid var(--ligne);border-radius:2px;padding:12px 13px;font-size:.95rem;font-family:'Jost',sans-serif;color:var(--texte-doux);background:#fff;cursor:pointer;transition:border-color .2s}
.date-btn:hover{border-color:var(--laiton)}
.date-btn.filled{color:var(--sapin);font-weight:500;border-color:var(--laiton)}
.cal-pop{margin-top:14px;background:#fff;border:1px solid var(--ligne);border-top:2px solid var(--laiton);border-radius:3px;box-shadow:var(--ombre);padding:16px 16px 18px;max-width:360px}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.cal-title{font-family:'Fraunces',serif;font-size:1.15rem;font-weight:500;color:var(--sapin)}
.cal-nav{width:36px;height:36px;border:1px solid var(--ligne);background:var(--creme);border-radius:2px;font-size:1.2rem;line-height:1;color:var(--sapin);cursor:pointer;transition:.2s}
.cal-nav:hover{background:var(--laiton);color:var(--sapin-fonce);border-color:var(--laiton)}
.cal-hint{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--laiton);margin:4px 0 12px}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.cal-dow .dow{text-align:center;font-size:.66rem;font-weight:600;color:var(--texte-doux);padding-bottom:8px}
.cal-days .pad{aspect-ratio:1}
.cal-days .day{aspect-ratio:1;border:none;background:transparent;font-family:'Jost',sans-serif;font-size:.9rem;color:var(--texte);cursor:pointer;border-radius:2px;transition:background .15s,color .15s}
.cal-days .day:hover{background:var(--creme)}
.cal-days .day.off{color:rgba(92,107,98,.32);cursor:default}
.cal-days .day.off:hover{background:transparent}
.cal-days .day.booked{text-decoration:line-through;cursor:not-allowed}
.cal-days .day.inrange{background:rgba(178,139,76,.16);border-radius:0}
.cal-days .day.sel{background:var(--sapin);color:var(--clair);font-weight:600}
.cal-days .day.sel.start{border-radius:2px 0 0 2px}
.cal-days .day.sel.end{border-radius:0 2px 2px 0}
.cal-days .day.sel:hover{background:var(--sapin-clair)}

/* 2. Chiffres cles : bande centree, aeree */
.stats-band{background:var(--creme);border-bottom:1px solid var(--ligne)}
.stats-band .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding-top:0;padding-bottom:0}
.stats-band .stat{text-align:center;padding:44px 20px;border-right:1px solid var(--ligne)}
.stats-band .stat:last-child{border-right:none}
.stats-band .stat .n{font-family:'Fraunces',serif;font-size:clamp(2.2rem,4vw,3rem);font-weight:500;color:var(--sapin);line-height:1}
.stats-band .stat .n span{color:var(--laiton);font-size:.4em;vertical-align:super;margin-left:2px}
.stats-band .stat .lbl{font-size:.82rem;color:var(--texte-doux);font-weight:300;margin-top:8px;letter-spacing:.02em}
@media(max-width:900px){.stats-band .wrap{grid-template-columns:1fr 1fr}.stats-band .stat:nth-child(2){border-right:none}.stats-band .stat:nth-child(1),.stats-band .stat:nth-child(2){border-bottom:1px solid var(--ligne)}}

/* 3. Legende hors de la photo, sur l'espace creme */
.band-legende{margin:26px auto 0;text-align:center;font-size:.95rem;color:var(--texte-doux);font-weight:300}
.band-legende b{display:block;font-family:'Fraunces',serif;font-size:clamp(1.5rem,3vw,1.9rem);font-weight:500;color:var(--sapin);margin-bottom:4px;letter-spacing:.01em}

/* 4-6. Chambres numerotees : cartouche sur la photo */
.galerie-2 figure figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 22px 18px;color:var(--clair);font-size:.9rem;font-weight:300;background:linear-gradient(180deg,rgba(21,42,36,0),rgba(21,42,36,.82));text-align:left}
.galerie-2 figure figcaption .num{display:block;font-family:'Jost',sans-serif;font-size:.66rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--laiton-clair);margin-bottom:4px}

/* 7. Reservation directe : grille aeree, arguments espaces */
.direct-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.direct-item{background:var(--ivoire);border:1px solid var(--ligne);border-top:2px solid var(--laiton);border-radius:3px;padding:28px 26px}
.direct-item h3{font-family:'Fraunces',serif;font-size:1.35rem;font-weight:500;color:var(--sapin);margin-bottom:10px}
.direct-item p{font-size:.92rem;color:var(--texte-doux);font-weight:300;line-height:1.65}
@media(max-width:900px){.direct-grid{grid-template-columns:1fr;gap:16px}}

/* 8. Activites : cartes colorees, cliquables (onglet dedie a venir) */
.act-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:8px}
.act-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-radius:3px;background:var(--sapin);color:var(--clair);border:1px solid transparent;transition:transform .2s,box-shadow .2s,background .2s}
.act-card .act-t{font-family:'Fraunces',serif;font-size:1.08rem;font-weight:500;line-height:1.3}
.act-card .act-fl{font-size:1.1rem;color:var(--laiton-clair);flex:none;transition:transform .2s}
.act-card:hover{transform:translateY(-2px);box-shadow:var(--ombre)}
.act-card:hover .act-fl{transform:translateX(4px)}
.act-card:nth-child(4n+1){background:var(--sapin)}
.act-card:nth-child(4n+2){background:var(--laiton);color:var(--sapin-fonce)}
.act-card:nth-child(4n+2) .act-fl{color:var(--sapin-fonce)}
.act-card:nth-child(4n+3){background:var(--sapin-clair)}
.act-card:nth-child(4n+4){background:var(--laiton-clair);color:var(--sapin-fonce)}
.act-card:nth-child(4n+4) .act-fl{color:var(--sapin-fonce)}
@media(max-width:640px){.act-cards{grid-template-columns:1fr}.act-card{padding:18px 20px}.cal-pop{max-width:none}.direct-item{text-align:center}.direct-item p{margin-left:auto;margin-right:auto}}

/* ---- Sous-menu "Sejours" (pages SEO) + pied de page 4 colonnes ---- */
.nav-dd{position:relative}
.nav-dd>a span{font-size:.6rem;margin-left:2px}
.nav-dd-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);padding-top:14px;display:none;z-index:50;min-width:230px}
.nav-dd:hover .nav-dd-menu,.nav-dd:focus-within .nav-dd-menu{display:block}
.nav-dd-menu a{display:block;background:var(--ivoire);color:var(--texte);border:1px solid var(--ligne);border-top:none;padding:12px 18px;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.nav-dd-menu a:first-child{border-top:1px solid var(--ligne);border-radius:2px 2px 0 0}
.nav-dd-menu a:last-child{border-radius:0 0 2px 2px}
.nav-dd-menu a:hover{background:var(--creme);color:var(--laiton)}
.footer-top{grid-template-columns:1.4fr 1fr 1.2fr 1fr}
@media(max-width:760px){.footer-top{grid-template-columns:1fr}}
.fullbleed.court{height:56vh;min-height:380px}
.fullbleed.court .txt h1{color:var(--clair)}
.seo-autres{margin-top:48px;padding-top:32px;border-top:1px solid var(--ligne);max-width:760px}
.seo-liens{display:flex;flex-wrap:wrap;gap:10px}
.seo-liens a{border:1px solid var(--ligne);color:var(--texte);padding:9px 16px;border-radius:2px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;transition:.2s}
.seo-liens a:hover{border-color:var(--laiton);color:var(--laiton)}

/* ---- Preuve sociale : etoiles (note reelle, renseignee dans l'admin) ---- */
.stars-proof{display:inline-flex;align-items:center;gap:10px;margin:14px 0 6px}
.stars-proof .stars{position:relative;display:inline-block;font-size:1.15rem;line-height:1;letter-spacing:2px;color:rgba(178,139,76,.3);font-family:Georgia,serif}
.stars-proof .stars::before{content:"\2605\2605\2605\2605\2605"}
.stars-proof .stars-fill{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;color:var(--laiton)}
.stars-proof .stars-fill::before{content:"\2605\2605\2605\2605\2605"}
.stars-proof .stars-txt{font-size:.82rem;letter-spacing:.06em;color:var(--texte-doux);font-weight:500}
.stars-proof a.stars-txt:hover{color:var(--laiton)}
.stars-proof.hero .stars-txt{color:rgba(244,239,228,.9)}
.stars-proof.hero .stars{color:rgba(244,239,228,.3)}
.stars-proof.hero .stars-fill{color:var(--laiton-clair)}
.stars-proof.centre{display:flex;justify-content:center;margin:0 0 22px}

/* ---- Activites : cartes photo + credits ---- */
.conf-item.photo{padding:0;display:flex;flex-direction:column}
.conf-item.photo figure{margin:0;aspect-ratio:16/10;overflow:hidden;background:var(--sapin)}
.conf-item.photo figure img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.conf-item.photo:hover figure img{transform:scale(1.04)}
.conf-item.photo h3{padding:22px 26px 0}
.conf-item.photo p{padding:0 26px 26px}
.credits-photos{padding:40px 0}
.credits-note{font-size:.85rem;color:var(--texte-doux);max-width:70ch;margin-bottom:14px}
.credits-list{list-style:none;padding:0;margin:0;columns:2;column-gap:40px;font-size:.72rem;color:var(--texte-doux);line-height:1.7}
.credits-list a{color:var(--texte-doux);text-decoration:underline}
@media(max-width:760px){.credits-list{columns:1}}

/* Les deux terrasses */
.terrasses-sec{padding:72px 0 8px}
.terrasses{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--ligne);border-bottom:1px solid var(--ligne)}
.terrasse{padding:36px 28px;border-right:1px solid var(--ligne)}
.terrasse:last-child{border-right:none}
.terrasse .eyebrow{margin-bottom:10px}
.terrasse h3{font-family:'Fraunces',serif;font-size:1.5rem;font-weight:500;color:var(--sapin);margin-bottom:10px}
.terrasse p:not(.eyebrow){font-size:.95rem;color:var(--texte-doux);font-weight:300;line-height:1.65}
@media(max-width:900px){.terrasses{grid-template-columns:1fr}.terrasse{border-right:none;border-bottom:1px solid var(--ligne)}.terrasse:last-child{border-bottom:none}}

/* ---- Mediterranee : bande de photos de plages (nos photos) ---- */
.mer-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:30px 0 34px}
.mer-strip figure{margin:0;aspect-ratio:3/2;overflow:hidden;background:var(--sapin)}
.mer-strip img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.mer-strip figure:hover img{transform:scale(1.04)}
@media (max-width:720px){.mer-strip{grid-template-columns:1fr 1fr}.mer-strip figure:last-child{grid-column:1/-1}}

/* ---- Bandeau d'urgence au-dessus de la carte de reservation ---- */
.urgency-ribbon{max-width:700px;margin:0 auto 18px;text-align:center;font-size:.86rem;color:var(--sapin);font-weight:400;letter-spacing:.02em}

/* ---- Navigation mobile : bouton burger + panneau plein ecran ---- */
.nav-burger{display:none;align-items:center;gap:9px;background:none;border:1px solid var(--ligne);border-radius:2px;padding:0 12px;min-height:40px;font-family:'Jost',sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sapin);cursor:pointer}
.nav-burger .bars{display:inline-flex;flex-direction:column;gap:4px;width:18px}
.nav-burger .bars i{display:block;height:1.5px;background:var(--sapin);transition:transform .25s,opacity .2s}
body.nav-open .nav-burger .bars i:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
body.nav-open .nav-burger .bars i:nth-child(2){opacity:0}
body.nav-open .nav-burger .bars i:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
.nav-cta-menu{display:none}
@media(max-width:1100px){
  .nav-burger{display:inline-flex}
  .nav-liens{display:none;position:absolute;left:0;right:0;top:100%;height:calc(100vh - var(--header-h,64px));height:calc(100dvh - var(--header-h,64px));flex-direction:column;border-top:1px solid var(--ligne);gap:0;background:var(--ivoire);padding:6px 22px 120px;overflow-y:auto;z-index:89;font-size:.84rem;letter-spacing:.12em;text-align:left}
  body.nav-open .nav-liens{display:flex}
  body.nav-open{overflow:hidden}
  body.nav-open .sticky-mobile{display:none}
  .nav-liens>a,.nav-dd>a{display:block;padding:16px 0;border-bottom:1px solid var(--ligne-douce);color:var(--sapin)}
  .nav-dd>a span{display:none}
  .nav-dd-menu{position:static;transform:none;display:block;padding:0 0 8px 16px;min-width:0}
  .nav-dd-menu a{border:none;background:none;padding:10px 0;font-size:.8rem;letter-spacing:.02em;white-space:normal;color:var(--texte-doux);text-transform:none}
  .nav-dd-menu a:first-child{border-top:none}
  .nav-dd-menu a:hover{background:none}
  .nav-liens>.nav-cta-menu{display:inline-flex;margin-top:24px;justify-content:center;padding:15px 20px;border:none;background:var(--laiton);color:var(--sapin-fonce)}
}
@media(max-width:560px){.nav{padding:12px 14px;gap:8px}.nav-right{gap:8px}.nav-burger .lbl{display:none}.nav-burger{padding:0 11px}.marque{font-size:1.06rem}.nav-right .lang-switch a{padding:10px 10px}}

/* ---- Retouches telephone : espacements, zones tactiles, lisibilite ---- */
@media(max-width:640px){
  .faq{padding:4px 20px}
  .blog-grid{grid-template-columns:1fr;gap:22px}
  .blog-card h3{font-size:1.4rem}
  .blog-card img{height:200px}
  footer a{padding:7px 0;margin-bottom:0;line-height:1.45}
  footer .footer-insta{display:flex;align-items:center}
  .champ label,.prix-row .cell .k{font-size:.7rem}
  .galerie-2 figure figcaption .num{font-size:.7rem}
  .hero-scroll{display:none}
  .fil{font-size:.84rem}
  .fil a{display:inline-block;padding:6px 0}
  .credits-list{font-size:.78rem;line-height:1.9}
  .credits-list a{display:inline-block;padding:2px 0}
  .article blockquote{font-size:1.2rem}
}
/* Equipements (liste de la villa) */
.equipements{background:var(--creme)}
.amen-grid{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px 26px}
.amen-grid li{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--ligne);font-size:.98rem;font-weight:300;color:var(--texte)}
.amen-dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--laiton)}
@media(max-width:900px){.amen-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.amen-grid{grid-template-columns:1fr;gap:0;margin-top:26px}.amen-grid li{padding:12px 0;text-align:left}}
/* Trois langues dans le selecteur : plus compact sur petit ecran */
@media(max-width:560px){.nav-right .lang-switch a{padding:10px 7px;font-size:.66rem}.marque{font-size:1rem}}
@media(max-width:400px){.nav{padding:12px 12px;gap:7px}.nav-right{gap:7px}.marque{font-size:.98rem}.lang-switch{font-size:.64rem;letter-spacing:.04em}.nav-right .lang-switch a{padding:9px 7px}}@media(max-width:360px){.nav{padding:11px 10px;gap:6px}.nav-right{gap:6px}.marque{font-size:.92rem}.nav-burger{padding:0 9px;min-height:38px}.lang-switch a{padding:9px 5px}}@media(max-width:340px){.marque{font-size:.86rem}.lang-switch a{padding:8px 4px;font-size:.6rem}}

/* En-tete du tableau des tarifs : visible sur telephone seulement */
.prix-head{display:none}

/* ==== Adaptation smartphones et tablettes (01/10/2026) ====
   Paliers : telephone <= 640, tablette portrait 641-900, tablette paysage 901-1100.
   Objectif : pages plus courtes et mieux remplies, zero debordement horizontal. */

/* Tablette paysage : menu burger (regle ci-dessus), navigation un peu plus serree */
@media(min-width:901px) and (max-width:1100px){
  .nav{padding:14px 24px}
  .wrap{padding:0 24px}
  section{padding:80px 0}
  .galerie-2 figure{height:46vh;min-height:300px}
  .g-full{height:60vh;min-height:400px}
  .spec{padding:28px 22px}
  .conf-item{padding:28px 24px}
}

/* Tablette (portrait et paysage) : on exploite la largeur au lieu d'empiler */
@media(min-width:641px) and (max-width:900px){
  section{padding:72px 0}
  .hero{min-height:82vh}
  .hero-inner{padding:36px 28px 60px}
  .reassurance .wrap,.stats-band .wrap{grid-template-columns:repeat(4,1fr)}
  .rz-item,.stats-band .stat{padding:28px 14px;border-bottom:none}
  .rz-item:nth-child(2),.stats-band .stat:nth-child(2){border-right:1px solid var(--ligne)}
  .rz-item:nth-child(1),.rz-item:nth-child(2),.stats-band .stat:nth-child(1),.stats-band .stat:nth-child(2){border-bottom:none}
  .rz-item b{font-size:1.15rem}
  .terrasses{grid-template-columns:repeat(3,1fr)}
  .terrasse{padding:28px 18px;border-bottom:none;border-right:1px solid var(--ligne)}
  .terrasse:last-child{border-right:none}
  .terrasse h3{font-size:1.25rem}
  .terrasse p:not(.eyebrow){font-size:.88rem}
  .galerie-2{grid-template-columns:1fr 1fr;gap:8px}
  .galerie-2 figure{height:40vh;min-height:280px}
  .g-full{grid-column:span 2;height:52vh;min-height:360px}
  .ph-int{grid-column:span 1}
  .histoire-band{height:56vh;min-height:380px}
  .fullbleed{height:70vh;min-height:460px}
  .specs{grid-template-columns:1fr 1fr}
  .spec{padding:26px 22px;border-right:1px solid var(--ligne)}
  .spec:nth-child(3n){border-right:1px solid var(--ligne)}
  .spec:nth-child(2n){border-right:none}
  .amen-grid{grid-template-columns:1fr 1fr 1fr;gap:6px 22px}
  .amen-grid li{font-size:.9rem;padding:11px 0}
  .direct-grid{grid-template-columns:repeat(3,1fr);gap:14px}
  .direct-item{padding:22px 18px}
  .direct-item h3{font-size:1.2rem}
  .direct-item p{font-size:.86rem}
  .conf-grid{grid-template-columns:1fr 1fr}
  .conf-item{padding:26px 22px;border-right:1px solid var(--ligne)}
  .conf-item:nth-child(2n){border-right:none}
  .conf-item h3{font-size:1.3rem}
  .prix-row{grid-template-columns:1fr auto auto;gap:24px;padding:22px 0}
  .prix-row .saison{grid-column:auto}
  .prix-row .cell{text-align:right;min-width:120px}
  .faq-item{grid-template-columns:1fr 1.3fr;gap:24px;padding:24px 0}
  .footer-top{grid-template-columns:1fr 1fr;gap:30px 40px}
  .page{padding:48px 28px 72px}
  .blog-grid{gap:22px}
}

/* Telephone : page plus courte, deux colonnes partout ou le contenu le permet */
@media(max-width:640px){
  section{padding:60px 0}
  .wrap{padding:0 20px}
  h2{margin-bottom:14px}
  .eyebrow,.hero-eyebrow{margin-bottom:12px;letter-spacing:.24em}
  .hero{min-height:80vh;min-height:80svh}
  .hero-inner{padding:30px 20px 48px}
  .hero h1{font-size:clamp(2.5rem,12vw,3.2rem);margin-bottom:14px}
  .hero .baseline{font-size:.98rem}
  .hero-cta{margin-top:22px}
  .hero-cta .btn-sable{width:100%}
  .resa-section{padding:40px 16px}
  .carte-resa{padding:22px 18px}
  .carte-resa h2{font-size:1.5rem}
  .rz-item,.stats-band .stat{padding:24px 12px}
  .rz-item b{font-size:1.1rem}
  .rz-item span,.stats-band .stat .lbl{font-size:.78rem}
  .histoire-band{margin-top:36px;height:48vh;min-height:300px}
  .histoire-band .legende{left:20px;bottom:20px}
  .band-legende{margin-top:18px}
  .fullbleed{height:64vh;min-height:420px}
  .fullbleed .txt{padding:0 20px}
  .terrasses-sec{padding:52px 0 8px}
  .terrasse{padding:24px 0}
  .terrasse h3{font-size:1.3rem}
  .galerie-2{margin-top:30px;gap:6px}
  .galerie-2 figure{height:42vh;min-height:250px}
  .g-full{height:48vh;min-height:280px}
  .galerie-2 figure figcaption{padding:22px 16px 14px;font-size:.84rem}
  .specs{grid-template-columns:1fr 1fr;margin-top:32px}
  .spec{padding:18px 12px 16px;border-right:1px solid var(--ligne)}
  .spec:nth-child(3n){border-right:1px solid var(--ligne)}
  .spec:nth-child(2n){border-right:none}
  .spec .n{font-size:1.9rem;margin-bottom:4px}
  .spec h3{font-size:1.05rem;line-height:1.2}
  .spec p{font-size:.8rem;line-height:1.5}
  .amen-grid{grid-template-columns:1fr 1fr;gap:0 16px;margin-top:22px}
  .amen-grid li{font-size:.86rem;padding:9px 0;gap:9px;line-height:1.4}
  .amen-dot{width:7px;height:7px}
  .direct-grid{gap:12px;margin-top:30px}
  .direct-item{padding:20px 18px}
  .direct-item h3{font-size:1.2rem;margin-bottom:6px}
  .direct-item p{font-size:.88rem}
  .mer-strip{gap:8px;margin:22px 0 24px}
  .conf-grid{margin-top:30px}
  .conf-item{padding:20px 0}
  .conf-item h3{font-size:1.25rem;margin-bottom:5px}
  .conf-item p{font-size:.88rem}
  .conf-item.photo h3{padding:16px 16px 0}
  .conf-item.photo p{padding:0 16px 18px}
  .badges{margin-top:18px;gap:8px}
  .act-cards{grid-template-columns:1fr 1fr;gap:8px}
  .act-card{padding:12px 12px;gap:8px;align-items:center}
  .act-card .act-t{font-size:.84rem;line-height:1.3}
  .act-card .act-fl{font-size:.9rem}
  .prix-lignes{margin-top:26px}
  .prix-head{display:grid;grid-template-columns:.9fr 1fr 1.15fr;gap:8px;padding:10px 0 8px;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--laiton-clair);border-bottom:1px solid rgba(201,168,101,.3)}
  .prix-head span{text-align:left}
  .prix-head span:first-child{text-align:left}
  .prix-row{grid-template-columns:.9fr 1fr 1.15fr;gap:8px;padding:12px 0;align-items:center}
  .prix-row .saison{grid-column:auto;font-size:1.05rem;line-height:1.15}
  .prix-row .saison small{font-size:.66rem;margin-top:2px}
  .prix-row .cell .k{display:none}
  .prix-row .cell .v{font-size:1.1rem}
  .prix-cta{margin-top:28px;gap:14px}
  .prix-cta .btn-sable{width:100%}
  .prix-note{font-size:.78rem}
  .region .lead{margin-bottom:20px}
  .region-tags{gap:8px}
  .rtag{padding:8px 14px;font-size:.78rem}
  .faq-item{padding:18px 0;gap:6px}
  .faq-item h3{font-size:1.15rem}
  .faq-item p{font-size:.9rem}
  .page{padding:36px 20px 60px}
  .seo-autres{margin-top:32px;padding-top:24px}
  footer{padding-top:48px}
  .footer-top{gap:22px;margin-bottom:30px}
  .footer-bas{font-size:.72rem}
}
@media(max-width:380px){
  .specs,.amen-grid{grid-template-columns:1fr}
  .spec{border-right:none}
  .spec:nth-child(3n){border-right:none}
  .act-cards{grid-template-columns:1fr}
}
/* Petit ordinateur / grande tablette en paysage : menu complet un peu plus serre pour tenir avec 3 langues + CTA */
@media(min-width:1101px) and (max-width:1300px){
  .nav{gap:10px}
  .nav-liens{gap:16px;font-size:.66rem}
  .nav-right{gap:10px}
  .nav-cta{padding:9px 14px;font-size:.68rem}
  .lang-switch a{padding:6px 9px}
}

/* Verification telephone (01/10/2026) : la note d'un mois (sejour minimum, semaine des fetes)
   passe sur sa propre ligne, en pleine largeur, au lieu d'etre tassee dans la colonne du mois.
   Cibles tactiles des selecteurs de langue portees a 40 px de haut. */
@media(max-width:640px){
  .prix-row .saison{display:contents}
  .prix-row .saison small{grid-column:1 / -1;order:10;margin-top:0;padding-top:2px;font-size:.72rem;line-height:1.35;color:rgba(244,239,228,.7)}
  .prix-row{row-gap:2px}
  .footer-lang a{padding:11px 16px}
}
@media(max-width:560px){.nav-right .lang-switch a{padding:11px 9px}}
@media(max-width:380px){.nav-right .lang-switch a{padding:11px 7px}}
