/* ================================================================ */
/*  PALETTE & VARIABLES : inspirées de la Guadeloupe (version premium)*/
/*  Bone/sable chaud, vert jungle profond, teal océan, terracotta     */
/*  À MODIFIER : ajustez ici les couleurs si vous le souhaitez.       */
/*  (Les noms de variables sont volontairement conservés pour ne pas  */
/*   casser les styles déjà en place dans index.html.)                */
/* ================================================================ */
:root{
  --beige:#F7F1E6;        /* fond principal, bone chaud */
  --blanc:#FFFDF8;        /* surfaces / cartes (blanc chaud) */
  --sable:#EFE3CC;        /* sable clair (fond section mentions) */
  --sable-fonce:#E3D2B0;  /* sable plus profond */
  --vert:#163F36;         /* vert jungle profond (couleur primaire) */
  --vert-clair:#3E8C7C;   /* vert/teal feuille */
  --lagon:#34807C;        /* teal océan muté */
  --lagon-clair:#CFE3DA;  /* teal très clair (texte sur fond foncé) */
  --corail:#C56A48;       /* terracotta / accent chaud */
  --encre:#262620;        /* texte principal (presque noir chaud) */
  --gris:#5C5E54;         /* texte secondaire */
  /* Variables premium supplémentaires */
  --brass:#B0894F;        /* laiton : filets fins et détails chic */
  --footer:#11271F;       /* vert très profond pour le pied de page */
  --line:rgba(38,38,32,.12);
  --line-fort:rgba(38,38,32,.20);
  /* Ombres douces et superposées (effet premium) */
  --ombre-douce:0 1px 2px rgba(34,40,30,.04), 0 14px 30px -18px rgba(34,40,30,.20);
  --ombre:0 2px 5px rgba(34,40,30,.05), 0 30px 60px -28px rgba(34,40,30,.30);
  --radius:16px;
  --radius-sm:11px;
  --max:1180px;
  --ease:cubic-bezier(.2,.7,.3,1);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px;-webkit-text-size-adjust:100%}
body{
  font-family:'Mulish',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--encre);
  background:var(--beige);
  line-height:1.72;
  font-size:17px;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  position:relative;
}
/* Texture grain très subtile sur tout le site (donne de la profondeur) */
body::before{
  content:"";position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
::selection{background:var(--corail);color:#fff}

h1,h2,h3,h4,h5{font-family:'Fraunces',Georgia,serif;font-weight:500;line-height:1.1;letter-spacing:-.018em;color:var(--encre)}
em{font-style:italic}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 26px}

/* Surtitre éditorial avec petit filet */
.eyebrow{
  display:inline-flex;align-items:center;gap:13px;
  font-family:'Mulish',sans-serif;font-weight:700;
  text-transform:uppercase;letter-spacing:.22em;font-size:.7rem;
  color:var(--lagon);margin-bottom:18px;
}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor;opacity:.55}

.section{padding:112px 0}
.section h2{font-size:clamp(2rem,4.4vw,3.1rem);margin-bottom:20px;font-weight:500}
.lead{font-size:1.14rem;color:var(--gris);max-width:60ch;line-height:1.78}

/* ----------------- BOUTONS (premium) ----------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;
  font-family:'Mulish',sans-serif;font-weight:700;font-size:.93rem;letter-spacing:.02em;
  padding:15px 32px;border-radius:100px;border:1px solid transparent;
  transition:all .4s var(--ease);text-align:center;white-space:nowrap;
}
.btn svg{width:18px;height:18px}
/* Primaire (sections claires) : vert jungle plein */
.btn-primaire{background:var(--vert);color:var(--beige);box-shadow:var(--ombre-douce)}
.btn-primaire:hover{background:#0e2c25;transform:translateY(-2px);box-shadow:var(--ombre)}
/* Hero principal : terracotta chaleureux qui ressort sur le hero foncé */
.btn-lagon{background:var(--corail);color:#fff;box-shadow:0 14px 30px -14px rgba(197,106,72,.6)}
.btn-lagon:hover{background:#b25c3c;transform:translateY(-2px)}
/* Hero secondaire : contour clair translucide */
.btn-clair{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.5);backdrop-filter:blur(6px)}
.btn-clair:hover{background:rgba(255,255,255,.2);border-color:#fff}
/* Contour (sections claires) */
.btn-contour{background:transparent;color:var(--vert);border-color:var(--line-fort)}
.btn-contour:hover{background:var(--vert);color:var(--beige);border-color:var(--vert)}

/* ================================================================ */
/*  NAVIGATION : transparente sur le hero, pleine au défilement       */
/* ================================================================ */
header.nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:transparent;border-bottom:1px solid transparent;
  transition:background .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease);
}
.nav-inner{gap:20px;display:flex;align-items:center;justify-content:space-between;height:80px}
/* À MODIFIER : nom commercial affiché dans le logo */
.logo{flex-shrink:0;font-family:'Fraunces',serif;font-weight:500;font-size:1.4rem;letter-spacing:-.01em;color:#fff;display:flex;align-items:center;gap:10px;transition:color .4s var(--ease)}
.brand-mark{width:40px;height:40px;flex:none}
.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}
.pictogram{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.nav-links{display:flex;align-items:center;gap:18px;list-style:none}
.nav-links a{white-space:nowrap;font-weight:600;font-size:.9rem;letter-spacing:.01em;color:rgba(255,255,255,.88);transition:color .25s,opacity .25s;position:relative}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1.5px;background:var(--corail);transition:width .3s var(--ease)}
.nav-links a:hover::after{width:100%}
.nav-cta{padding:11px 24px;font-size:.86rem;background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.5);backdrop-filter:blur(6px)}
.nav-cta:hover{background:#fff;color:var(--vert);border-color:#fff}
.burger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px}
.burger span{width:26px;height:2px;background:#fff;border-radius:3px;transition:.3s}

/* État défilé : fond bone, texte foncé */
header.nav.scrolled{background:rgba(247,241,230,.86);backdrop-filter:blur(16px) saturate(1.2);border-bottom-color:var(--line);box-shadow:0 8px 30px -22px rgba(34,40,30,.5)}
.nav.scrolled .logo{color:var(--vert)}
.nav.scrolled .nav-links a{color:var(--encre);opacity:.82}
.nav.scrolled .nav-links a:hover{opacity:1;color:var(--vert)}
.nav.scrolled .burger span{background:var(--encre)}
.nav.scrolled .nav-cta{background:var(--vert);color:var(--beige);border-color:var(--vert)}
.nav.scrolled .nav-cta:hover{background:#0e2c25}

/* ================================================================ */
/*  HERO                                                             */
/* ================================================================ */
.hero{position:relative;isolation:isolate;min-height:100vh;display:flex;align-items:center;color:#fff;overflow:hidden;padding:120px 0 80px}
/* À MODIFIER : photo de fond du hero (mettez ici votre plus belle photo extérieure).
   Si l'image est absente ou ne charge pas, le dégradé vert tropical ci-dessous s'affiche
   automatiquement en repli (fallback). */
.hero-bg{
  position:absolute;inset:0;z-index:-2;
  background-color:#1b4d40; /* repli couleur ultime */
  background-image:
    url("images/web/exterieur-facade.jpg"),
    linear-gradient(158deg, #2f8a86 0%, #1f6b63 42%, #163f38 100%); /* repli dégradé */
  background-size:cover, cover;
  background-position:center, center;
  background-repeat:no-repeat, no-repeat;
}
/* Overlay sombre pour garder le texte parfaitement lisible sur la photo */
.hero-bg-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,40,34,.86) 0%,rgba(15,40,34,.72) 48%,rgba(15,40,34,.18) 100%)}
.hero .wrap{position:relative;width:100%}
.hero-content{max-width:720px}
.hero .eyebrow{color:var(--lagon-clair)}
.hero h1{color:#fff;font-size:clamp(2.6rem,6.4vw,4.7rem);font-weight:500;margin-bottom:24px;letter-spacing:-.025em;text-shadow:0 2px 30px rgba(0,0,0,.18)}
.hero h1 em{font-style:italic;color:#F2D9A8;font-weight:400}
.hero p{font-size:1.2rem;max-width:52ch;margin-bottom:38px;opacity:1;font-weight:400;line-height:1.7}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-badges{display:flex;gap:0;margin-top:50px;flex-wrap:wrap;align-items:center}
.hero-badge{display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:600;padding:0 24px;position:relative}
.hero-badge:first-child{padding-left:0}
.hero-badge:not(:last-child)::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:16px;background:rgba(255,255,255,.3)}
.hero-badge svg{width:18px;height:18px;flex:none;color:#F2D9A8}

/* Apparition du hero au chargement (échelonnée) */
.hero .eyebrow{animation:rise .8s .05s both}
.hero h1{animation:rise .9s .16s both}
.hero p{animation:rise .9s .3s both}
.hero-actions{animation:rise .9s .44s both}
.hero-badges{animation:rise .9s .58s both}
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}

/* ================================================================ */
/*  APPARITION AU DÉFILEMENT (ajoutée par script.js)                 */
/* ================================================================ */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .85s var(--ease),transform .85s var(--ease);transition-delay:var(--d,0s)}
.reveal.in{opacity:1;transform:none}

/* ================================================================ */
/*  PRÉSENTATION                                                     */
/* ================================================================ */
.presentation{background:var(--beige)}
.pres-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.pres-text .lead{margin-bottom:18px}
.pres-points{list-style:none;margin-top:30px;display:grid;gap:16px}
.pres-points li{display:flex;gap:14px;align-items:flex-start;font-weight:500;color:var(--encre)}
.pres-points .dot{flex:none;width:26px;height:26px;border-radius:50%;background:var(--vert);color:#fff;display:grid;place-items:center;font-size:.72rem;font-weight:700;margin-top:3px}
.pres-media{border-radius:var(--radius);overflow:hidden;box-shadow:var(--ombre);aspect-ratio:4/5;position:relative;border:1px solid var(--line)}
.pres-media img{width:100%;height:100%;object-fit:cover}

/* ----------- PLACEHOLDERS IMAGES (raffinés) ----------- */
.ph{
  width:100%;height:100%;display:grid;place-items:center;text-align:center;
  color:#fff;position:relative;padding:20px;
}
.ph::after{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.35);border-radius:8px;pointer-events:none}
.ph span{background:rgba(0,0,0,.18);backdrop-filter:blur(3px);padding:9px 17px;border-radius:100px;font-family:'Mulish',sans-serif;font-weight:600;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase}
.ph-1{background:linear-gradient(140deg,#1f6b63,#163f38)}
.ph-2{background:linear-gradient(140deg,#3e8c7c,#1f6b63)}
.ph-3{background:linear-gradient(140deg,#5aa6a0,#34807c)}
.ph-4{background:linear-gradient(140deg,#cf7a52,#a85234)}
.ph-5{background:linear-gradient(140deg,#d9c39a,#b89a63)}
.ph-6{background:linear-gradient(140deg,#234d40,#11271f)}

/* ================================================================ */
/*  NOS 3 BUNGALOWS                                                  */
/* ================================================================ */
.bungalows{background:linear-gradient(180deg,var(--sable) 0%,var(--beige) 100%)}
.same-note{background:var(--blanc);border:1px solid var(--line);border-radius:var(--radius);padding:24px 30px;margin:28px 0 50px;box-shadow:var(--ombre-douce);display:flex;gap:18px;align-items:center}
.same-note svg{width:30px;height:30px;flex:none;color:var(--lagon)}
.bung-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.bung-card{background:var(--blanc);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--ombre-douce);transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease);display:flex;flex-direction:column}
.bung-card:hover{transform:translateY(-8px);box-shadow:var(--ombre);border-color:var(--sable-fonce)}
.bung-photo{aspect-ratio:3/2;overflow:hidden}
.bung-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.bung-card:hover .bung-photo img{transform:scale(1.05)}
.bung-body{padding:26px 26px 30px}
.bung-tag{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--corail)}
.bung-body h3{font-size:1.5rem;margin:5px 0 0;color:var(--vert);font-weight:500}
.bung-feats{list-style:none;margin:18px 0 22px;display:grid;gap:10px}
.bung-feats li{display:flex;gap:11px;align-items:center;font-size:.94rem;color:var(--gris);font-weight:500}
.bung-feats svg{width:17px;height:17px;flex:none;color:var(--brass)}
.dispo{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;letter-spacing:.02em;color:var(--vert);background:rgba(62,140,124,.13);padding:8px 15px;border-radius:100px}
.dispo i{width:7px;height:7px;border-radius:50%;background:var(--vert-clair);display:inline-block;box-shadow:0 0 0 3px rgba(62,140,124,.2)}

/* ================================================================ */
/*  GALERIE                                                          */
/* ================================================================ */
.galerie{background:var(--beige)}
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:18px}
.gal-item{border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--ombre-douce);border:1px solid var(--line);position:relative}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.gal-item:hover img{transform:scale(1.06)}
.gal-item.big{grid-column:span 2;grid-row:span 2}
.gal-item.tall{grid-row:span 2}

/* ================================================================ */
/*  TARIFS                                                           */
/* ================================================================ */
.tarifs{background:linear-gradient(180deg,var(--beige),var(--sable))}
.tarif-note{font-weight:700;color:var(--vert);background:var(--blanc);border:1px solid var(--line);display:inline-block;padding:9px 20px;border-radius:100px;margin-bottom:34px;font-size:.9rem;box-shadow:var(--ombre-douce)}
.tarif-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:stretch}
.tarif-card{background:var(--blanc);border:1px solid var(--line);border-radius:var(--radius);padding:36px 32px;box-shadow:var(--ombre-douce);position:relative;display:flex;flex-direction:column;transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.tarif-card:hover{transform:translateY(-8px);box-shadow:var(--ombre)}
.tarif-card.populaire{border-color:var(--corail);box-shadow:0 2px 5px rgba(34,40,30,.05),0 30px 60px -28px rgba(197,106,72,.45)}
.tarif-flag{position:absolute;top:-13px;left:32px;background:var(--corail);color:#fff;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:6px 16px;border-radius:100px;box-shadow:0 8px 18px -8px rgba(197,106,72,.6)}
.tarif-duree{font-family:'Fraunces',serif;font-size:1.55rem;font-weight:500;color:var(--vert)}
.tarif-nuits{color:var(--gris);font-size:.88rem;font-weight:600;margin-bottom:22px}
.tarif-prix{font-family:'Fraunces',serif;font-size:3.1rem;font-weight:500;line-height:1;color:var(--encre)}
.tarif-prix sup{font-size:1.3rem;top:-1.2rem;color:var(--gris);font-weight:500}
.tarif-par{font-size:.88rem;color:var(--gris);font-weight:600;margin-top:3px}
.tarif-moyenne{margin-top:20px;padding-top:20px;border-top:1px solid var(--line);font-weight:700;color:var(--lagon)}
.tarif-card .btn{margin-top:26px;width:100%}
.tarif-phrase{background:var(--vert);color:#fff;border-radius:var(--radius);padding:34px 40px;margin-top:38px;display:flex;gap:20px;align-items:center;font-family:'Fraunces',serif;font-size:1.3rem;font-style:italic;font-weight:400;line-height:1.45;box-shadow:var(--ombre)}
.tarif-phrase svg{width:38px;height:38px;flex:none;color:#F2D9A8}
.tarif-extra{margin-top:22px;font-size:.9rem;color:var(--gris);text-align:center;max-width:64ch;margin-left:auto;margin-right:auto}

/* ================================================================ */
/*  ÉQUIPEMENTS                                                      */
/* ================================================================ */
.equip{background:var(--beige)}
.equip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:18px}
.equip-card{background:var(--blanc);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--ombre-douce);display:flex;gap:18px;align-items:flex-start;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.equip-card:hover{transform:translateY(-5px);box-shadow:var(--ombre)}
.equip-icon{flex:none;width:50px;height:50px;border-radius:13px;background:var(--sable);display:grid;place-items:center;color:var(--vert)}
.equip-icon svg{width:25px;height:25px}
.equip-card h4{font-size:1.06rem;margin-bottom:3px;font-family:'Fraunces',serif;font-weight:500;color:var(--encre)}
.equip-card p{font-size:.9rem;color:var(--gris)}

/* ================================================================ */
/*  LOCALISATION                                                     */
/* ================================================================ */
.localisation{background:linear-gradient(180deg,var(--sable),var(--beige))}
.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.loc-info .infobox{background:var(--blanc);border:1px solid var(--line);border-left:3px solid var(--corail);border-radius:12px;padding:20px 24px;margin:24px 0;box-shadow:var(--ombre-douce)}
.loc-info .infobox strong{color:var(--vert)}
/* À MODIFIER : ajoutez ici vos distances réelles (plages, commerces, aéroport...) */
.loc-distances{list-style:none;display:grid;gap:12px;margin-top:10px}
.loc-distances li{display:flex;justify-content:space-between;gap:14px;padding:14px 20px;background:var(--blanc);border:1px solid var(--line);border-radius:12px;box-shadow:var(--ombre-douce);font-weight:600}
.loc-distances .val{color:var(--lagon);font-weight:700}
.loc-media{border-radius:var(--radius);overflow:hidden;box-shadow:var(--ombre);aspect-ratio:1/1;border:1px solid var(--line)}
.loc-media img{width:100%;height:100%;object-fit:cover}

/* ================================================================ */
/*  RÈGLEMENT INTÉRIEUR                                              */
/* ================================================================ */
.reglement{background:var(--vert);color:#fff;position:relative;overflow:hidden}
.reglement::after{content:"";position:absolute;top:-30%;right:-10%;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(62,140,124,.35),transparent 70%);pointer-events:none}
.reglement .wrap{position:relative}
.reglement .eyebrow{color:#F2D9A8}
.reglement h2{color:#fff}
.reglement .lead{color:rgba(255,255,255,.82)}
.regles-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:34px}
.regle{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);border-radius:var(--radius-sm);padding:22px 24px;display:flex;gap:15px;align-items:flex-start;transition:background .3s}
.regle:hover{background:rgba(255,255,255,.1)}
.regle svg{width:23px;height:23px;flex:none;color:#F2D9A8;margin-top:2px}
.regle strong{display:block;margin-bottom:3px;font-weight:700}
.regle span{font-size:.9rem;opacity:.8}

/* ================================================================ */
/*  FAQ                                                              */
/* ================================================================ */
.faq{background:var(--beige)}
.faq-list{max-width:840px;margin:34px auto 0}
.faq-item{background:var(--blanc);border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:14px;box-shadow:var(--ombre-douce);overflow:hidden;transition:border-color .3s}
.faq-item.open{border-color:var(--sable-fonce)}
.faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:23px 28px;font-family:'Mulish';font-weight:700;font-size:1.04rem;color:var(--encre);display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq-q .chev{flex:none;width:22px;height:22px;transition:transform .35s var(--ease);color:var(--lagon)}
.faq-item.open .chev{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.faq-a-inner{padding:0 28px 25px;color:var(--gris);line-height:1.7}
.faq-item.open .faq-a{max-height:360px}

/* ================================================================ */
/*  CONTACT / DEMANDE DE RÉSERVATION                                 */
/* ================================================================ */
.contact{background:linear-gradient(180deg,var(--beige),var(--sable))}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:start}
.contact-aside .lead{margin-bottom:28px}
.contact-direct{display:grid;gap:14px}
.contact-link{display:flex;gap:16px;align-items:center;background:var(--blanc);border:1px solid var(--line);border-radius:var(--radius-sm);padding:18px 22px;box-shadow:var(--ombre-douce);transition:transform .3s var(--ease),box-shadow .3s var(--ease);font-weight:700}
.contact-link:hover{transform:translateY(-3px);box-shadow:var(--ombre)}
.contact-link .ic{flex:none;width:48px;height:48px;border-radius:12px;display:grid;place-items:center;color:#fff}
.contact-link .ic.wa{background:#25D366}
.contact-link .ic.tel{background:var(--lagon)}
.contact-link .ic.mail{background:var(--corail)}
.contact-link svg{width:24px;height:24px}
.contact-link small{display:block;color:var(--gris);font-weight:500;font-size:.82rem;margin-top:1px}
.form-card{background:var(--blanc);border:1px solid var(--line);border-radius:var(--radius);padding:38px;box-shadow:var(--ombre)}
.form-card h3{font-size:1.55rem;color:var(--vert);margin-bottom:6px;font-weight:500}
.form-note{background:rgba(197,106,72,.09);border:1px solid rgba(197,106,72,.22);border-radius:12px;padding:14px 16px;font-size:.86rem;color:var(--encre);margin:18px 0 26px;display:flex;gap:11px;align-items:flex-start}
.form-note svg{width:20px;height:20px;flex:none;color:var(--corail);margin-top:1px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:17px}
.field label{display:block;font-weight:600;font-size:.85rem;margin-bottom:7px;color:var(--encre)}
.field input,.field select,.field textarea{
  width:100%;padding:13px 15px;border:1px solid var(--line-fort);border-radius:11px;
  font-family:inherit;font-size:.96rem;color:var(--encre);background:var(--beige);transition:border-color .25s,background .25s,box-shadow .25s;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--lagon);background:#fff;box-shadow:0 0 0 3px rgba(52,128,124,.12)}
.field textarea{resize:vertical;min-height:100px}
.form-submit{width:100%;margin-top:6px}
.form-ok{display:none;background:rgba(62,140,124,.12);color:var(--vert);border-radius:11px;padding:16px;margin-top:16px;font-weight:600;text-align:center}

/* ================================================================ */
/*  PIED DE PAGE                                                     */
/* ================================================================ */
footer.pied{background:var(--footer);color:rgba(255,255,255,.78);padding:72px 0 32px}
.pied-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:48px;margin-bottom:50px}
.pied .logo{color:#fff;margin-bottom:16px}
.pied p{font-size:.92rem;opacity:.68;max-width:34ch;line-height:1.7}
.pied h5{font-family:'Mulish';font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;margin-bottom:18px;color:#F2D9A8}
.pied ul{list-style:none;display:grid;gap:11px}
.pied ul a{font-size:.92rem;opacity:.75;transition:opacity .2s,color .2s}
.pied ul a:hover{opacity:1;color:#F2D9A8}
.pied-bas{border-top:1px solid rgba(255,255,255,.12);padding-top:26px;font-size:.82rem;opacity:.6;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}

/* PAGES LÉGALES */
.legal{background:var(--beige);border-top:1px solid var(--line)}
.legal .section{padding:78px 0}
.legal h2{font-size:1.9rem;color:var(--vert);margin-bottom:10px;font-weight:500}
.legal h3{font-size:1.08rem;margin:26px 0 7px;font-family:'Fraunces',serif;font-weight:600;color:var(--encre)}
.legal p,.legal li{color:var(--gris);font-size:.96rem;margin-bottom:8px}
.legal ul{padding-left:20px;margin-bottom:10px}
.legal .placeholder-box{background:rgba(197,106,72,.07);border:1px dashed var(--corail);border-radius:11px;padding:14px 18px;margin:10px 0;font-size:.9rem;color:#a85234;font-weight:600}

/* ================================================================ */
/*  BOUTON WHATSAPP FLOTTANT                                         */
/* ================================================================ */
.wa-float{position:fixed;bottom:26px;right:26px;z-index:1100;background:#25D366;color:#fff;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;box-shadow:0 12px 30px -8px rgba(37,211,102,.6);transition:transform .25s var(--ease);animation:wapulse 2.6s infinite}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:32px;height:32px}
.wa-float .tip{position:absolute;right:74px;background:var(--encre);color:#fff;white-space:nowrap;padding:9px 15px;border-radius:10px;font-size:.84rem;font-weight:600;opacity:0;pointer-events:none;transition:.25s;transform:translateX(8px);box-shadow:var(--ombre-douce)}
.wa-float:hover .tip{opacity:1;transform:none}
@keyframes wapulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}

/* ================================================================ */
/*  RESPONSIVE : TABLETTE & MOBILE                                   */
/* ================================================================ */
@media(max-width:980px){
  .pres-grid,.loc-grid,.contact-grid{grid-template-columns:1fr;gap:42px}
  .bung-grid,.tarif-grid,.equip-grid{grid-template-columns:1fr 1fr}
  .gal-grid{grid-template-columns:repeat(2,1fr)}
  .regles-grid{grid-template-columns:1fr}
  .pied-top{grid-template-columns:1fr 1fr}
}
@media(max-width:1200px){
  .nav-inner{height:68px}
  .nav-links{position:fixed;top:68px;left:0;right:0;background:rgba(247,241,230,.98);flex-direction:column;align-items:stretch;gap:0;padding:0 26px;max-height:0;overflow:hidden;visibility:hidden;box-shadow:var(--ombre-douce)}
  .nav-links.show{max-height:calc(100dvh - 68px);padding:14px 26px 26px;overflow-y:auto;visibility:visible}
  .nav-links a{display:block;padding:14px 0;border-bottom:1px solid var(--line);color:var(--encre)}
  .nav-cta{display:none}
  .burger{display:flex}
  .burger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .burger.active span:nth-child(2){opacity:0}
  .burger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
@media(max-width:680px){
  body{font-size:16px}
  .section{padding:72px 0}
  .bung-grid,.tarif-grid,.equip-grid,.gal-grid,.pied-top,.form-row{grid-template-columns:1fr}
  .hero{min-height:auto;padding:130px 0 80px}
  .hero h1{font-size:2.5rem}
  .hero-bg-overlay{background:linear-gradient(90deg,rgba(15,40,34,.82),rgba(15,40,34,.64))}
  .btn{white-space:normal}
  .hero .eyebrow{letter-spacing:.14em}
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-badges{flex-direction:column;align-items:flex-start;gap:14px;margin-top:38px}
  .hero-badge{padding:0!important}
  .hero-badge:not(:last-child)::after{display:none}
  .tarif-phrase{flex-direction:column;text-align:center;font-size:1.15rem;padding:28px}
  .gal-grid{grid-auto-rows:180px}
  .gal-item.big,.gal-item.tall{grid-column:auto;grid-row:auto}
  .form-card{padding:26px}
  .wa-float{width:56px;height:56px;bottom:18px;right:18px}
}

/* Respect des préférences de réduction d'animation */
@media(prefers-reduced-motion:reduce){
  *,.reveal{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* ================================================================ */
/*  GALERIE FILTRABLE + LIGHTBOX + VIDÉOS                            */
/* ================================================================ */

/* --- Boutons de filtre --- */
.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 26px}
.filter-btn{
  font-family:'Mulish',sans-serif;font-weight:700;font-size:.84rem;letter-spacing:.02em;
  padding:9px 19px;border-radius:100px;border:1px solid var(--line-fort);
  background:transparent;color:var(--gris);cursor:pointer;transition:all .3s var(--ease);
}
.filter-btn:hover{color:var(--vert);border-color:var(--vert)}
.filter-btn.active{background:var(--vert);color:var(--beige);border-color:var(--vert);box-shadow:var(--ombre-douce)}

/* --- Grille de photos --- */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.g-item{
  position:relative;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;
  cursor:pointer;aspect-ratio:4/3;padding:0;background:var(--sable);box-shadow:var(--ombre-douce);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.g-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.g-item:hover{transform:translateY(-4px);box-shadow:var(--ombre)}
.g-item:hover img{transform:scale(1.07)}
/* Dégradé au survol */
.g-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(15,40,34,.4));opacity:0;transition:opacity .4s var(--ease)}
.g-item:hover::after{opacity:1}
/* Petite loupe au survol (pas de balise supplémentaire) */
.g-item::before{
  content:"";position:absolute;right:12px;bottom:12px;z-index:2;width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.94) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23163F36' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E") center/18px no-repeat;
  opacity:0;transform:scale(.8);transition:all .35s var(--ease);
}
.g-item:hover::before{opacity:1;transform:scale(1)}
/* Le placeholder (.ph) garde la loupe masquée */
.g-item.ph::before,.g-item.ph::after{display:none}
.g-item.ph span{position:relative;z-index:1}
/* Photo masquée par un filtre */
.g-item.hide{display:none}

/* --- Lightbox --- */
.lightbox{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;background:rgba(12,28,23,.93);backdrop-filter:blur(6px);padding:24px;animation:lbfade .3s ease}
.lightbox.open{display:flex}
@keyframes lbfade{from{opacity:0}to{opacity:1}}
.lb-stage{position:relative;max-width:min(1100px,92vw);max-height:86vh;display:flex;flex-direction:column;align-items:center}
.lb-img{max-width:100%;max-height:80vh;border-radius:8px;box-shadow:0 30px 80px -20px rgba(0,0,0,.6);object-fit:contain}
.lb-img.hidden{display:none}
.lb-ph{display:none;width:min(80vw,720px);aspect-ratio:4/3;border-radius:8px;background:linear-gradient(140deg,#1f6b63,#163f38);place-items:center;color:#fff;font-family:'Mulish';font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:.9rem}
.lb-ph.show{display:grid}
.lb-cap{margin-top:16px;color:rgba(255,255,255,.92);font-size:.92rem;text-align:center;font-family:'Mulish',sans-serif;max-width:60ch}
.lb-counter{position:absolute;top:26px;left:0;right:0;text-align:center;color:rgba(255,255,255,.75);font-size:.85rem;letter-spacing:.06em;font-family:'Mulish'}
.lb-btn{position:absolute;z-index:3;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);color:#fff;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;cursor:pointer;transition:background .25s,transform .25s;backdrop-filter:blur(4px)}
.lb-btn:hover{background:rgba(255,255,255,.26)}
.lb-btn svg{width:24px;height:24px}
.lb-close{top:22px;right:22px}
.lb-prev{left:22px;top:50%;transform:translateY(-50%)}
.lb-next{right:22px;top:50%;transform:translateY(-50%)}
.lb-prev:hover,.lb-next:hover{transform:translateY(-50%) scale(1.08)}

/* --- Vidéos --- */
.videos{background:var(--beige)}
.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:24px;margin-top:30px}
.video-card{background:var(--blanc);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--ombre-douce);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.video-card:hover{transform:translateY(-5px);box-shadow:var(--ombre)}
.video-card video{width:100%;display:block;aspect-ratio:16/9;background:#000;object-fit:contain}
.video-card figcaption{padding:16px 20px;font-weight:600;color:var(--encre);font-family:'Mulish',sans-serif}

/* --- Responsive galerie / lightbox --- */
@media(max-width:680px){
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .gallery-filters{gap:8px}
  .filter-btn{padding:8px 15px;font-size:.8rem}
  .lb-btn{width:44px;height:44px}
  .lb-close{top:14px;right:14px}
  .lb-prev{left:14px;top:auto;bottom:18px;transform:none}
  .lb-next{right:14px;top:auto;bottom:18px;transform:none}
  .lb-prev:hover,.lb-next:hover{transform:scale(1.08)}
  .lb-img{max-height:70vh}
  .lb-cap{margin-bottom:60px}
}

/* Carte Google Maps intégrée dans la localisation */
.loc-media iframe{display:block;width:100%;height:100%;border:0}
/* Sur mobile : ratio un peu moins haut et hauteur de sécurité pour éviter l'écrasement */
@media(max-width:680px){
  .loc-media{aspect-ratio:4/3;min-height:260px}
}

/* Message affiché si aucune photo n'est encore renseignée dans media.js */
.gallery-empty{
  grid-column:1/-1;text-align:center;color:var(--gris);font-family:'Fraunces',serif;
  font-style:italic;font-size:1.1rem;padding:48px 20px;background:var(--blanc);
  border:1px dashed var(--line-fort);border-radius:var(--radius);
}

/* Ajustements discrets de navigation et du formulaire. */
.nav-inner{max-width:1440px}
@media(min-width:1201px) and (max-width:1500px){.nav-cta{display:none}}
.field{min-width:0}
.field input,.field select{min-width:0;min-height:48px}
.field-help{font-size:.82rem;color:var(--gris);margin:0 0 20px}
.field-help a{text-decoration:underline;text-underline-offset:3px}
.attribution-note{padding:18px;background:var(--beige);border-left:3px solid var(--corail);border-radius:0 10px 10px 0;font-size:.9rem;margin-bottom:20px}
.attribution-note p+p{margin-top:10px}
.planning-status{padding:14px 16px;background:rgba(62,140,124,.09);border:1px solid var(--line);border-radius:10px;font-size:.86rem;margin-bottom:20px}
@media(max-width:400px){.logo{font-size:1.18rem;gap:8px}.brand-mark{width:34px;height:34px}}

/* Retouches légères : repères, respiration, clavier et écrans tactiles. */
:focus-visible{outline:3px solid var(--lagon);outline-offset:4px}
/* Confirmation après un POST accepté. Ajuster ici la présentation du récapitulatif. */
.form-success[hidden]{display:none}
.form-success{margin-top:24px;padding:28px;border:1px solid #b6cec0;border-radius:var(--radius);background:#edf4ed;color:var(--vert);scroll-margin-top:110px}
.form-success:focus{outline:3px solid var(--lagon);outline-offset:4px}
.form-success-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--vert);color:var(--blanc);font-size:1.5rem;margin-bottom:16px}
.form-success h3{font-size:1.5rem;line-height:1.3;margin-bottom:16px}.form-success p{margin:12px 0;line-height:1.7}
.form-success h4{margin-top:24px}.form-success-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:8px}
.form-success-summary dt,.form-success-summary dd{padding:10px 0;border-bottom:1px solid #c5d8cc;overflow-wrap:anywhere}.form-success-summary dd{text-align:right}
.form-success .form-success-help{font-size:.9rem;margin-top:22px}.form-success a{color:var(--vert);text-decoration:underline;text-underline-offset:3px}
.form-ok.is-error{background:#fff0eb;color:#792c18;border:1px solid #d7a28f}
@media(max-width:480px){.form-success{padding:20px}.form-success-summary{grid-template-columns:1fr}.form-success-summary dt{border:0;padding-bottom:0;font-weight:600}.form-success-summary dd{text-align:left;padding-top:4px}}
.skip-link{position:fixed;top:8px;left:12px;z-index:11000;padding:10px 18px;background:var(--blanc);color:var(--vert);transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.gallery-count{font-size:.85rem;color:var(--gris);margin:-10px 0 18px}
.filter-btn{min-height:44px}
.bung-card:hover,.tarif-card:hover,.equip-card:hover{transform:translateY(-3px)}
.attribution-note{font-size:.86rem;padding:14px 16px}
.form-note{margin:18px 0 22px}
.faq-item.open .faq-a{max-height:none}
.wa-float{animation:none}
@media(max-width:680px){
  .section{padding:60px 0}
  .form-card{padding:22px}
  .bung-body{padding:24px}
  .faq-q{padding:20px;font-size:.98rem}
  .faq-a-inner{padding:0 20px 20px}
  .g-item::before{opacity:1;transform:none;width:28px;height:28px;right:8px;bottom:8px;background-size:14px}
}

.form-secondary{width:100%;margin-top:12px}
.form-submit:disabled{opacity:.65;cursor:wait;transform:none}
.access-plan{margin-top:42px}
.access-caption{max-width:68ch;margin-bottom:22px}
.access-caption h3{font-size:1.5rem;margin-bottom:12px;color:var(--vert)}
.access-caption p,.access-plan figcaption{color:var(--gris);font-size:.92rem}
.access-plan a{display:block;position:relative;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--ombre-douce)}
.access-plan img{width:100%;height:auto}
.access-zoom{position:absolute;right:14px;bottom:14px;padding:8px 14px;border-radius:20px;background:var(--blanc);color:var(--vert);font-size:.82rem;font-weight:700}
.access-plan figcaption{margin-top:12px}

/* Calendrier de plage local : palette du site, états lisibles sans la couleur. */
.calendrier{border:1px solid var(--line-fort);border-radius:16px;padding:16px;margin:0 0 22px;background:var(--blanc)}
.calendrier[hidden]{display:none}
.cal-intro{display:flex;justify-content:space-between;gap:8px;font-weight:700;font-size:.95rem;color:var(--vert)}
.cal-intro span{font-weight:400;font-size:.8rem}
.cal-navigation{display:flex;align-items:center;justify-content:space-between;margin:12px 0}
.cal-navigation h3{font-family:'Mulish',sans-serif;font-size:1rem;text-transform:capitalize}
.cal-navigation button{width:44px;height:44px;background:var(--beige);border:1px solid var(--line);border-radius:50%;font-size:1.5rem;cursor:pointer;color:var(--vert)}
.cal-navigation button:disabled{opacity:.4;cursor:default}
.cal-semaine,#calJours [role=row]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.cal-semaine{text-align:center;font-size:.72rem;color:var(--gris);margin-bottom:8px}
#calJours [role=row]{margin-bottom:3px}
.cal-jour{width:100%;height:42px;border:1px solid transparent;border-radius:8px;font:600 .85rem 'Mulish',sans-serif;background:var(--beige);color:var(--vert);cursor:pointer;padding:0}
.cal-jour.disponible{background:#e7f2e9;border-bottom-color:#558165}
.cal-jour.inconnu{border-bottom:1px dashed #9a8c74}
.cal-jour.complet{text-decoration:line-through;background:#e9e8e5;color:#777}
.cal-jour[aria-disabled=true]{opacity:.5;cursor:not-allowed}
.cal-jour.depart-possible{opacity:1;border:1px dashed var(--vert);text-decoration:none}
.cal-jour.intervalle{background:#d4e8e3;border-radius:0}
.cal-jour.borne{background:var(--vert);color:#fff;border-color:var(--vert);opacity:1;text-decoration:none}
.cal-jour[aria-current=date]{box-shadow:inset 0 0 0 1px var(--corail)}
.cal-legende{display:flex;flex-wrap:wrap;gap:8px 15px;font-size:.72rem;margin:14px 0 8px}
.cal-legende span::before{content:'';display:inline-block;width:10px;height:10px;margin-right:5px;border:1px solid #9a8c74;border-radius:3px;background:#f7f1e6}
.cal-legende .libre::before{background:#e7f2e9;border-color:#558165}.cal-legende .plein::before{background:#ccc}.cal-legende .inconnu::before{border-style:dashed}
.cal-note,.cal-aide{font-size:.74rem;color:var(--gris);line-height:1.6}.cal-aide{margin-top:8px}.cal-aide summary{cursor:pointer}
.cal-effacer{background:none;border:0;color:var(--vert);text-decoration:underline;padding:12px 0 0;font-size:.8rem;cursor:pointer;min-height:44px}
.video-card video{aspect-ratio:9/16;max-height:520px;object-fit:contain;background:#102922}
.video-commandes{padding:0 16px 18px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:.75rem;color:var(--gris)}
.video-commandes button{min-height:44px;border:1px solid var(--line-fort);border-radius:8px;padding:8px 12px;cursor:pointer;background:var(--beige);color:var(--vert);font-weight:600}
.video-commandes input{width:100%;accent-color:var(--vert);min-height:28px;order:3}
.video-card:fullscreen{display:flex;flex-direction:column;justify-content:center;background:var(--blanc);overflow:auto}
.video-card:fullscreen video{max-height:75dvh;flex:1;min-height:0}.video-card:fullscreen .video-commandes{justify-content:center}
.bung-couleur{font-size:.85rem;margin:8px 0 18px;font-weight:600}.couleur-1{color:#246985}.couleur-2{color:#517334}.couleur-3{color:#a95826}
.access-plan .plan-open{display:block;width:100%;position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:0;overflow:hidden;box-shadow:var(--ombre-douce);cursor:zoom-in;background:var(--beige);text-align:left}
.plan-dialog{border:0;padding:20px;border-radius:16px;width:min(1400px,96vw);max-width:96vw;max-height:94dvh;margin:auto;background:var(--vert);color:#fff}
.plan-dialog::backdrop{background:rgba(8,24,20,.9)}
.plan-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px}.plan-toolbar h2{font-size:1.2rem;margin:0 auto 0 0;color:#fff}
.plan-toolbar button{min-height:44px;border:1px solid #ffffff70;border-radius:8px;background:transparent;color:#fff;padding:8px 14px;cursor:pointer;white-space:nowrap}
.plan-scroll{overflow:auto;max-height:calc(94dvh - 150px);border-radius:8px;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}
.plan-scroll img{display:block;width:100%;height:auto;max-width:none;margin:auto}
.plan-dialog.zoomed .plan-scroll img{width:max(180%,1536px)}
.plan-note{font-size:.78rem;color:#ddd;margin-top:12px}
.estimation-prix{padding:18px;border:1px solid var(--line-fort);border-radius:12px;background:#e7f2e9;color:var(--vert);margin-bottom:18px}
.estimation-prix[hidden]{display:none}.estimation-prix strong{font-size:1.1rem}.estimation-prix p{font-size:.82rem;line-height:1.65;margin:8px 0 0}
.legal-page{background:var(--beige)}.legal-header,.legal-footer{max-width:1000px;margin:auto;padding:24px;display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.legal-header>a:first-child{display:flex;align-items:center;gap:12px;font-family:'Fraunces',serif;font-size:1.3rem;color:var(--vert)}
.legal-page main{max-width:850px;margin:20px auto 60px;padding:36px;background:var(--blanc);border-radius:16px;border:1px solid var(--line)}
.legal-page h1{font-size:clamp(2rem,5vw,3rem);color:var(--vert);line-height:1.15;margin-bottom:28px}.legal-page h2{font-size:1.4rem;margin:32px 0 12px;color:var(--vert)}
.legal-page p{line-height:1.85;margin:12px 0}.legal-page a{overflow-wrap:anywhere}.legal-page main a,.legal-footer a{text-decoration:underline;text-underline-offset:3px}
.legal-page dl{display:grid;grid-template-columns:1fr 2fr;gap:12px}.legal-page dt{font-weight:700}.legal-page dd{margin:0}.legal-footer{font-size:.85rem}
@media(max-width:680px){.legal-page main{margin:0 12px 30px;padding:22px}.legal-header{padding:22px 16px}.legal-page dl{grid-template-columns:1fr}.legal-page dd{margin-bottom:8px}}
@media(max-width:680px){.calendrier{padding:10px}.cal-jour{height:40px}.plan-dialog{padding:12px}.plan-toolbar{flex-wrap:wrap;gap:8px}.plan-toolbar h2{width:100%;font-size:1rem}.plan-scroll{max-height:calc(94dvh - 195px)}}
