/* ---- Onglets d'univers : plus vifs ---- */
.u-tab .u-ico{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--u) 18%,#fff)}
.u-tab[aria-current="page"] .u-ico{box-shadow:0 6px 18px color-mix(in srgb,var(--u) 40%,transparent)}

/* ---- Bandeau d'univers ---- */
.u-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--u) 12%,#fff),#fff 62%);border-bottom:none}
.u-hero::after{content:"";display:block;height:0}
.u-hero-i{box-shadow:0 10px 26px color-mix(in srgb,var(--u) 38%,transparent)}
.u-liste{border-top:4px solid var(--u)}

/* ---- Pastilles de filtre ---- */
.u-filtres .chip{border-radius:30px}
.u-filtres .chip.on{background:linear-gradient(120deg,var(--noir),#2A3132)}
.u-filtres .chip-p{background:linear-gradient(120deg,var(--turq-btn),var(--turq-x));color:#fff;border-color:transparent}

/* ---- Repères et encadrés des dossiers ---- */
.ds-rep{border:none;background:none;gap:12px}
.ds-rep > div{border-radius:14px;padding:22px 16px}
.ds-rep > div:nth-child(1){background:color-mix(in srgb,var(--lagon) 12%,#fff)}
.ds-rep > div:nth-child(2){background:color-mix(in srgb,var(--mangue) 15%,#fff)}
.ds-rep > div:nth-child(3){background:color-mix(in srgb,var(--feuille) 13%,#fff)}
.ds-rep > div:nth-child(4){background:color-mix(in srgb,var(--letchi) 11%,#fff)}
.ds-enc{border-radius:14px}
.ds-hero-t{background:linear-gradient(135deg,color-mix(in srgb,var(--u) 12%,#fff),#fff 60%);border-bottom:none}
.ds-hero-t::after{content:"";display:block;width:100%;height:4px;margin-top:26px;border-radius:2px;
  background:linear-gradient(90deg,var(--u),color-mix(in srgb,var(--u) 40%,var(--mangue)))}

/* ---- Calendrier des saisons ---- */
.sai-c{border-radius:14px;overflow:hidden;border-color:transparent;box-shadow:0 0 0 1px var(--ligne)}
.sai-nt{background:linear-gradient(120deg,var(--turq-p),#F4FBFC)}

/* ---- Sections d'accueil ---- */
.head .sup{color:var(--turq-x)}
.rule{background:linear-gradient(90deg,var(--turq),var(--mangue))}

/* ============ RANDONNÉES ============ */
.rd-f{display:grid;gap:14px;grid-template-columns:1fr;align-items:end;padding:22px;background:#fff;
  border:1px solid var(--ligne);border-radius:14px;margin-bottom:30px;
  box-shadow:0 8px 26px rgba(14,18,19,.06)}
@media(min-width:760px){.rd-f{grid-template-columns:repeat(3,1fr) auto}}
.rd-f-c{display:flex;flex-direction:column;gap:5px;min-width:0}
.rd-f-c label{font-family:'Outfit',sans-serif;font-size:10px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gris-c)}
.rd-f-c select{border:1px solid var(--ligne);border-radius:9px;background:#fff;font:inherit;
  font-size:14.5px;padding:11px 13px;width:100%;appearance:none;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%236E7778' stroke-width='1.7' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center}
.rd-f .btn{border-radius:9px;padding:13px 26px}

.rd-g{display:grid;gap:22px;grid-template-columns:1fr}
@media(min-width:620px){.rd-g{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1020px){.rd-g{grid-template-columns:repeat(3,1fr)}}
.rd-c{--u:#2F7D4F;background:#fff;border:1px solid var(--ligne);border-radius:16px;overflow:hidden;
  display:flex;flex-direction:column;transition:.26s cubic-bezier(.2,.7,.3,1)}
.rd-c:hover{transform:translateY(-6px);border-color:var(--u);box-shadow:0 20px 44px rgba(14,18,19,.1)}
.rd-c-v{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--sable)}
.rd-c-v img,.rd-c-v svg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.rd-c:hover .rd-c-v img{transform:scale(1.05)}
.rd-c-n{position:absolute;top:12px;left:12px;background:var(--u);color:#fff;border-radius:30px;
  font-family:'Outfit',sans-serif;font-size:10.5px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;padding:6px 13px;box-shadow:0 4px 14px rgba(14,18,19,.2)}
.rd-c-b{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.rd-c-r{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.15em;
  text-transform:uppercase;color:var(--u);font-weight:500}
.rd-c h3{font-size:19px;margin:8px 0 7px;letter-spacing:-.02em}
.rd-c h3 a:hover{color:var(--u)}
.rd-c-x{font-size:13.5px;color:var(--gris);line-height:1.6}
.rd-c-f{list-style:none;display:flex;flex-wrap:wrap;gap:16px;margin:auto 0 0;padding:15px 0 0}
.rd-c-f li{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--gris);font-weight:500}
.rd-c-f svg{color:var(--u);flex:none}

.rd-secu{display:flex;gap:16px;align-items:flex-start;margin-top:44px;padding:22px 24px;
  background:#FDF1EE;border-radius:14px;color:#8A2E14}
.rd-secu svg{flex:none;margin-top:2px}
.rd-secu strong{display:block;font-family:'Outfit',sans-serif;font-size:15px;margin-bottom:6px}
.rd-secu p{font-size:14px;line-height:1.65}


/* Signature « Réunion Xpérience » : le X porte la marque. */
/* Le X signe le nom : il prend la couleur du lagon et porte une houle. */
.logo-2{position:relative}
.logo-2::first-letter{color:var(--turq);font-weight:800}
.ft .logo-1{color:rgba(255,255,255,.55)}
.ft .logo-2{color:#fff}
.ft .logo-2::first-letter{color:var(--turq)}

/* ============ L'ÎLE EN DIRECT ============ */
.direct{padding:60px 0;background:var(--sable);border-top:1px solid var(--ligne)}
.direct-h{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.direct-h h2{font-size:clamp(24px,3.4vw,32px);margin-top:10px}
.direct-maj{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gris-c)}
.direct-g{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){.direct-g{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1060px){.direct-g{grid-template-columns:repeat(6,1fr)}}
.dcell{display:flex;flex-direction:column;align-items:center;gap:11px;padding:20px 12px;background:#fff;
  border:1px solid var(--ligne);border-radius:14px;text-align:center;transition:.22s}
.dcell:hover{border-color:var(--turq);transform:translateY(-4px);box-shadow:0 12px 28px rgba(14,18,19,.08)}
.dcell-i{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;
  background:var(--turq-p);color:var(--turq-d)}
.dcell .lab{display:block;font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gris-c)}
.dcell .val{display:block;font-family:'Outfit',sans-serif;font-size:23px;font-weight:700;
  letter-spacing:-.035em;margin:5px 0 3px}
.dcell .sub{display:block;font-size:11.5px;color:var(--gris);line-height:1.4}
.direct-b{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
.dtag{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--ligne);
  border-radius:30px;padding:8px 15px;font-size:12.5px;color:var(--gris)}
.dtag-a{background:var(--turq-p);border-color:var(--turq-b);color:var(--turq-x);font-weight:500}
.pulse{width:7px;height:7px;border-radius:50%;background:var(--lave);display:block;animation:vrp 2.4s infinite}
@keyframes vrp{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(1.5)}}
.direct-c{display:flex;gap:11px;align-items:flex-start;margin-top:18px;padding:14px 18px;
  background:var(--turq-p);border-radius:12px;font-size:14px;color:#0E5F63;line-height:1.6}
.direct-c svg{flex:none;margin-top:2px;color:var(--turq-d)}
.direct-s{margin-top:16px;font-size:11.5px;color:var(--gris-c)}

/* Agenda */
.ag{border:1px solid var(--ligne);border-radius:14px;overflow:hidden}
.ag-t{padding:14px 18px;background:var(--sable);font-family:'Outfit',sans-serif;font-size:11px;
  font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gris)}
.ag-j{display:grid;grid-template-columns:78px 1fr;border-top:1px solid var(--ligne)}
.ag-j:first-of-type{border-top:none}
.ag-d{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 8px;
  background:var(--sable);border-right:1px solid var(--ligne)}
.ag-d b{font-family:'Outfit',sans-serif;font-size:24px;font-weight:700;letter-spacing:-.04em;line-height:1}
.ag-d span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--gris)}
.ag-d em{font-style:normal;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--gris-c);margin-top:3px}
.ag-l{list-style:none;margin:0;padding:0}
.ag-l li{border-bottom:1px solid #F2F4F4}
.ag-l li:last-child{border-bottom:none}
.ag-l a{display:block;padding:13px 18px;transition:.15s}
.ag-l a:hover{background:var(--turq-p)}
.ag-l strong{display:block;font-family:'Outfit',sans-serif;font-size:15.5px;font-weight:600;letter-spacing:-.02em}
.ag-l span{display:block;font-size:12.5px;color:var(--gris);margin-top:3px}

/* Formulaire de demande */
.vr-dem{border:1px solid var(--ligne);border-radius:14px;padding:26px 24px;background:#fff}
.vr-dem h3{font-size:20px;margin-bottom:8px}
.vr-dem-s{font-size:13.5px;color:var(--gris);line-height:1.6;margin-bottom:20px}
.vr-hp{position:absolute;left:-9999px}

/* Bascule de langue */
.vr-lang{display:inline-flex;gap:2px;border:1px solid var(--ligne);border-radius:30px;
  overflow:hidden;margin-bottom:22px}
.vr-lang a{padding:8px 16px;font-size:12.5px;color:var(--gris);transition:.16s}
.vr-lang a:hover{color:var(--noir)}
.vr-lang a.on{background:var(--noir);color:#fff;font-weight:500}


/* ============ BASELINE : HOTELS · RESTAURANTS · ACTIVITÉS · ÉMOTIONS ==== */
.bl{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin-top:22px}
.bl span{display:inline-flex;align-items:center;font-family:'Outfit',sans-serif;font-size:12px;
  font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gris)}
.bl span:not(:last-child)::after{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;
  background:var(--turq);margin:0 16px}
.bl span:last-child{color:var(--sun)}

/* Le couchant, deuxième voix de la charte */
.btn-s{background:linear-gradient(120deg,var(--sun-btn),#A83A16);color:#fff;border:none}
.btn-s:hover{background:linear-gradient(120deg,var(--sun-d),#B33F18);color:#fff;transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(210,78,35,.3)}
.sup{color:var(--turq-x)}
.rule{background:linear-gradient(90deg,var(--turq),var(--sun))}
.hero h1 em{color:var(--turq-x)}

/* ============ DISTINCTION INCONTOURNABLE ============ */
.fv-tag.inc{background:linear-gradient(120deg,#E8B13A,#D2900F);color:#fff;display:inline-flex;
  align-items:center;gap:7px}
.f-card-inc{position:absolute;top:12px;left:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;
  background:linear-gradient(120deg,#E8B13A,#D2900F);color:#fff;border-radius:30px;
  font-family:'Outfit',sans-serif;font-size:10px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;padding:6px 12px;box-shadow:0 3px 12px rgba(14,18,19,.2)}
.f-card-inc + .f-card-et{top:46px}

.fv-inc{display:flex;gap:16px;align-items:flex-start;padding:22px 24px;margin:0 0 34px;
  background:linear-gradient(135deg,#FCF6E6,#fff);border-radius:14px;box-shadow:0 0 0 1px #EFDFB4}
.fv-inc svg{flex:none;color:#C9962B;margin-top:2px}
.fv-inc b{display:block;font-family:'Outfit',sans-serif;font-size:16px;font-weight:600;margin-bottom:6px}
.fv-inc p{font-size:14.5px;color:#6B5518;line-height:1.6;margin-bottom:10px}
.fv-inc a{font-size:12.5px;color:#9A7415;border-bottom:1px solid currentColor}

/* Grille des incontournables */
.inc-b svg,.f-card-inc svg,.fv-tag.inc svg{position:static;inset:auto;width:auto;height:auto;flex:none}
.inc-t{display:flex;align-items:center;gap:9px;font-family:'Outfit',sans-serif;font-size:11px;
  font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#9A7415;margin-bottom:16px}
.inc-g{display:grid;gap:20px;grid-template-columns:1fr;margin-bottom:34px}
@media(min-width:620px){.inc-g{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.inc-g{grid-template-columns:repeat(3,1fr)}}
.inc-c{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 0 0 1px var(--ligne);transition:.26s}
.inc-c:hover{transform:translateY(-6px);box-shadow:0 0 0 1px #EFDFB4,0 18px 40px rgba(14,18,19,.1)}
.inc-v{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--sable)}
.inc-v>img,.inc-v>svg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.inc-c:hover .inc-v>img{transform:scale(1.05)}
.inc-b{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:6px;
  background:linear-gradient(120deg,#E8B13A,#D2900F);color:#fff;border-radius:30px;
  font-family:'Outfit',sans-serif;font-size:10px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;padding:6px 12px}
.inc-b2{padding:18px 20px 20px}
.inc-l{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.15em;
  text-transform:uppercase;color:#9A7415}
.inc-c h3{font-size:19px;margin:8px 0 8px;letter-spacing:-.02em}
.inc-m{font-size:13.5px;color:var(--gris);line-height:1.6;font-style:italic}

/* Formulaire de distinction, côté modération */
.vr-dist h3{display:flex;align-items:center;gap:9px;color:#9A7415}
.vr-dist{border-color:#EFDFB4 !important;background:linear-gradient(140deg,#FCF6E6,#fff)}

/* ============ RESTAURANT ============ */
.fr-sig{display:flex;gap:18px;align-items:flex-start;padding:24px 26px;margin:0 0 34px;
  background:linear-gradient(135deg,var(--turq-p),#fff 72%);border-radius:16px;
  box-shadow:0 0 0 1px rgba(22,165,173,.18)}
.fr-sig-i{flex:none;width:52px;height:52px;border-radius:14px;display:grid;place-items:center;
  background:#fff;color:var(--turq-d);box-shadow:0 2px 10px rgba(14,36,43,.07)}
.fr-sig-chef{font-family:'Outfit',sans-serif;font-size:11px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--turq-x);margin-bottom:8px}
.fr-sig-chef b{font-size:13px;letter-spacing:.06em}
.fr-sig-p{font-family:'Outfit',sans-serif;font-size:19px;font-weight:500;letter-spacing:-.02em;
  line-height:1.4;color:var(--nuit)}
.fr-lab{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.fr-lab li{display:inline-flex;align-items:center;gap:6px;background:#fff;border-radius:30px;
  padding:6px 13px;font-size:12px;font-weight:500;color:var(--turq-x);
  box-shadow:0 0 0 1px rgba(22,165,173,.26)}
.fr-lab svg{color:var(--or)}

.fr-pg{display:grid;gap:20px;grid-template-columns:1fr}
@media(min-width:600px){.fr-pg{grid-template-columns:repeat(2,1fr)}}
.fr-p{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 0 0 1px var(--ligne);
  display:flex;flex-direction:column;transition:.24s}
.fr-p:hover{box-shadow:0 0 0 1px rgba(22,165,173,.3),0 14px 34px rgba(14,36,43,.08);transform:translateY(-3px)}
.fr-p-v{position:relative;aspect-ratio:16/10;background:var(--sable);overflow:hidden}
.fr-p-v img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.fr-p:hover .fr-p-v img{transform:scale(1.04)}
.fr-p-b{padding:17px 19px 19px;display:flex;flex-direction:column;flex:1}
.fr-p-m{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:9.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--turq-x);background:var(--turq-p);border-radius:4px;
  padding:3px 7px;align-self:flex-start;margin-bottom:9px}
.fr-p-b h3{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  font-size:18px;letter-spacing:-.02em;margin-bottom:7px}
.fr-p-b h3 b{flex:none;font-family:'Outfit',sans-serif;font-size:16px;font-weight:700;color:var(--sun-btn)}
.fr-p-b>p{font-size:14px;color:var(--gris);line-height:1.6}
.fr-p-t{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:12px;
  border-top:1px solid var(--ligne)}
.fr-p-t li{font-size:11px;font-weight:500;color:var(--turq-x);background:var(--turq-p);
  border-radius:20px;padding:4px 10px}
.fr-carte{margin-top:20px}
.fr-carte a{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;
  color:var(--turq-d);border-bottom:1px solid currentColor;padding-bottom:2px}

.fr-ms{display:grid;gap:14px;grid-template-columns:1fr;margin-bottom:22px}
@media(min-width:520px){.fr-ms{grid-template-columns:repeat(2,1fr)}}
.fr-ms>div{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:13px;
  background:var(--sable);box-shadow:0 0 0 1px var(--ligne)}
.fr-ms svg{flex:none;color:var(--or)}
.fr-ms span{flex:1;font-size:13.5px;color:var(--gris)}
.fr-ms b{font-family:'Outfit',sans-serif;font-size:21px;font-weight:700;letter-spacing:-.03em}

.fr-fg{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:620px){.fr-fg{grid-template-columns:repeat(2,1fr)}}
@media(min-width:980px){.fr-fg{grid-template-columns:repeat(3,1fr)}}
.fr-f{padding:20px;border-radius:14px;background:#fff;box-shadow:0 0 0 1px var(--ligne)}
.fr-f h3{font-size:16.5px;letter-spacing:-.02em;margin-bottom:10px}
.fr-f-px{display:flex;align-items:baseline;gap:7px;margin-bottom:10px}
.fr-f-px b{font-family:'Outfit',sans-serif;font-size:27px;font-weight:800;letter-spacing:-.04em;color:var(--turq-x)}
.fr-f-px i{font-style:normal;font-size:12px;color:var(--gris)}
.fr-f-d{font-size:13.5px;color:var(--gris);line-height:1.6}
.fr-f-q{display:flex;align-items:center;gap:6px;margin-top:11px;font-size:12px;color:var(--turq-d)}
.fr-note{margin-top:18px;font-size:12px;color:var(--gris);line-height:1.6;font-style:italic}

.fr-sem{width:100%;border-collapse:collapse;font-size:14.5px}
.fr-sem th[scope=row]{text-align:left;font-family:'Outfit',sans-serif;font-weight:500;width:34%;
  padding:12px 14px;border-bottom:1px solid var(--ligne)}
.fr-sem td{padding:12px 14px;border-bottom:1px solid var(--ligne);color:var(--gris);
  font-family:'JetBrains Mono',ui-monospace,monospace;font-size:13px}
.fr-sem td i{color:#C3CBCE;font-style:normal}
.fr-sem tr.fr-now th[scope=row],.fr-sem tr.fr-now td{background:var(--turq-p)}
.fr-sem tr.fr-now th[scope=row]{font-weight:700}
.fr-sem tr.fr-now th span{display:inline-block;margin-left:9px;font-family:'Outfit',sans-serif;
  font-size:9.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#fff;
  background:var(--turq-btn);border-radius:20px;padding:3px 9px;vertical-align:1px}
.fr-sem tr.fr-off td{color:#A9B4B8}
.fr-lg{display:flex;align-items:center;gap:9px;margin-top:18px;font-size:13.5px;color:var(--gris)}
.fr-lg svg{flex:none;color:var(--turq-d)}
.fr-resa{margin-top:24px}
.fr-resa .btn{margin-bottom:9px}
.fr-resa span{display:block;font-size:12px;color:var(--gris);line-height:1.6}

/* ============ LOCATION DE VEHICULE ============ */
.fl-cond{padding:20px 22px;margin:0 0 34px;border-radius:16px;background:var(--sable);
  box-shadow:0 0 0 1px var(--ligne)}
.fl-cond-t{display:flex;align-items:center;gap:9px;font-family:'Outfit',sans-serif;font-size:11px;
  font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--nuit);margin-bottom:16px}
.fl-cond-t svg{color:var(--sun-btn)}
.fl-cond-g{display:grid;gap:2px;grid-template-columns:repeat(2,1fr);background:var(--ligne);
  border-radius:11px;overflow:hidden}
@media(min-width:620px){.fl-cond-g{grid-template-columns:repeat(4,1fr)}}
.fl-cond-g>div{background:#fff;padding:14px 15px;display:flex;flex-direction:column;gap:5px}
.fl-cond-g svg{color:var(--turq-d)}
.fl-cond-g span{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--gris)}
.fl-cond-g b{font-family:'Outfit',sans-serif;font-size:16px;font-weight:600;letter-spacing:-.02em}

.fl-fg{display:grid;gap:20px;grid-template-columns:1fr}
@media(min-width:640px){.fl-fg{grid-template-columns:repeat(2,1fr)}}
.fl-v{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 0 0 1px var(--ligne);
  display:flex;flex-direction:column;transition:.24s}
.fl-v:hover{box-shadow:0 0 0 1px rgba(22,165,173,.3),0 14px 34px rgba(14,36,43,.08);transform:translateY(-3px)}
.fl-v-v{position:relative;aspect-ratio:16/9;background:linear-gradient(160deg,var(--turq-p),var(--sable));
  display:grid;place-items:center;overflow:hidden;color:var(--turq-d)}
.fl-v-v img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fl-v-c{position:absolute;bottom:12px;left:12px;font-family:'Outfit',sans-serif;font-size:10px;
  font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#fff;
  background:rgba(16,36,43,.82);border-radius:30px;padding:6px 13px;backdrop-filter:blur(3px)}
.fl-v-b{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.fl-v-b h3{font-size:17.5px;letter-spacing:-.02em;margin-bottom:12px}
.fl-v-s{list-style:none;display:flex;flex-wrap:wrap;gap:7px 16px;margin-bottom:13px}
.fl-v-s li{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--gris)}
.fl-v-s svg{color:var(--turq-d)}
.fl-v-i{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:15px}
.fl-v-i li{font-size:11px;font-weight:500;color:var(--turq-x);background:var(--turq-p);
  border-radius:20px;padding:4px 10px}
.fl-v-p{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 20px;margin-top:auto;
  padding-top:14px;border-top:1px solid var(--ligne)}
.fl-v-p p{display:flex;align-items:baseline;gap:6px}
.fl-v-p b{font-family:'Outfit',sans-serif;font-size:27px;font-weight:800;letter-spacing:-.04em;color:var(--turq-x)}
.fl-v-p i{font-style:normal;font-size:12px;color:var(--gris)}
.fl-v-sem b{font-size:18px;color:var(--nuit)}
.fl-v-cf{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px;font-size:12px;color:var(--gris)}
.fl-v-cf b{color:var(--nuit);font-weight:600}

.fl-agg{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:720px){.fl-agg{grid-template-columns:repeat(2,1fr)}}
.fl-a{display:flex;gap:14px;padding:18px 19px;border-radius:14px;background:#fff;
  box-shadow:0 0 0 1px var(--ligne)}
.fl-a-i{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;
  background:var(--turq-p);color:var(--turq-d)}
.fl-a h3{font-size:16px;letter-spacing:-.02em;margin-bottom:5px}
.fl-a-ad{font-size:13px;color:var(--gris);line-height:1.5}
.fl-a-h{display:flex;align-items:center;gap:6px;margin-top:7px;font-size:12.5px;color:var(--gris);
  font-family:'JetBrains Mono',ui-monospace,monospace}
.fl-a-t{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.fl-tag{font-size:11px;font-weight:500;color:var(--gris);background:var(--sable);
  border-radius:20px;padding:4px 10px;box-shadow:0 0 0 1px var(--ligne)}
.fl-tag.ok{color:#1B7A45;background:#EAF7F0;box-shadow:0 0 0 1px #C8E8D6}
.fl-liv{list-style:none;margin-top:18px;display:grid;gap:9px}
.fl-liv li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--nuit)}
.fl-liv svg{flex:none;color:#1B7A45}

.fl-ast{width:100%;border-collapse:collapse;font-size:14px}
.fl-ast th{text-align:left;font-family:'Outfit',sans-serif;font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gris);background:var(--sable);padding:11px 13px}
.fl-ast td,.fl-ast th[scope=row]{padding:13px;border-bottom:1px solid var(--ligne)}
.fl-ast th[scope=row]{text-align:left;font-family:'Outfit',sans-serif;font-size:14.5px;font-weight:600;
  text-transform:none;letter-spacing:-.01em;background:none;color:var(--nuit)}
.fl-ast td{color:var(--gris);font-family:'JetBrains Mono',ui-monospace,monospace;font-size:13px}

/* ============ AVIS GOOGLE ============ */
.vr-google-s{padding-top:0}
.vr-google{padding:24px 26px;border-radius:16px;background:#fff;box-shadow:0 0 0 1px var(--ligne)}
.vr-google-h{display:flex;align-items:center;gap:11px;padding-bottom:16px;margin-bottom:18px;
  border-bottom:1px solid var(--ligne)}
.vr-google-h span{font-family:'Outfit',sans-serif;font-size:11px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gris)}
.vr-google-note{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.vr-google-note b{font-family:'Outfit',sans-serif;font-size:36px;font-weight:800;letter-spacing:-.045em;line-height:1}
.vr-google-note span{color:#E8B13A;font-size:17px;letter-spacing:.08em}
.vr-google-note em{font-style:normal;font-size:13px;color:var(--gris)}
.vr-google-avis{padding:16px 0;border-top:1px solid var(--ligne)}
.vr-google-avis header{display:flex;align-items:center;gap:11px;margin-bottom:9px}
.vr-google-avis img{border-radius:50%;flex:none}
.vr-google-avis header a,.vr-google-avis header span{display:block;font-family:'Outfit',sans-serif;
  font-size:14px;font-weight:600;color:var(--nuit)}
.vr-google-avis header a:hover{color:var(--turq-d)}
.vr-google-avis small{display:block;font-size:11.5px;color:var(--gris);margin-top:2px}
.vr-google-avis p{font-size:14px;color:#2E3B40;line-height:1.65}
.vr-google-cta{display:inline-flex;align-items:center;margin-top:18px;font-size:13.5px;font-weight:500;
  color:var(--turq-d);border-bottom:1px solid currentColor;padding-bottom:2px}
.vr-google-mention{margin-top:16px;font-size:11.5px;color:var(--gris);line-height:1.6;font-style:italic}
.vr-google-lien p{font-size:14.5px;color:#2E3B40;line-height:1.65}

/* ============ ENTREE RESTAURATION ============ */
.ur-inc{padding:48px 0 10px;background:linear-gradient(180deg,#FCF9F2,#fff)}
.ur-inc h2{font-size:30px;letter-spacing:-.035em;margin-bottom:10px}
@media(min-width:900px){.ur-inc h2{font-size:36px}}
.ur-inc-p{max-width:60ch;font-size:15.5px;color:var(--gris);line-height:1.7;margin-bottom:28px}
.ur-inc-l a{display:inline-flex;font-size:13px;color:#9A7415;border-bottom:1px solid currentColor;padding-bottom:2px}
.inc-c h3 a{color:inherit}
.inc-c h3 a:hover{color:var(--turq-d)}
.ur-cu{padding:36px 0 4px}
.ur-cu-l{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}

/* ============ ENTREE LOCATION ============ */
.ul-cat{padding:46px 0 8px}
.ul-cat h2{font-size:28px;letter-spacing:-.035em;margin:8px 0 24px}
@media(min-width:900px){.ul-cat h2{font-size:34px}}
.ul-cg{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:560px){.ul-cg{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.ul-cg{grid-template-columns:repeat(3,1fr)}}
.ul-c{display:block;padding:19px 20px;border-radius:14px;background:#fff;
  box-shadow:0 0 0 1px var(--ligne);transition:.22s}
.ul-c:hover{transform:translateY(-4px);box-shadow:0 0 0 1px rgba(22,165,173,.34),0 14px 32px rgba(14,36,43,.08)}
.ul-c.on{box-shadow:0 0 0 2px var(--turq-btn);background:var(--turq-p)}
.ul-c{--c:#16A5AD}
.ul-c-i{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;
  background:color-mix(in srgb,var(--c) 12%,#fff);color:var(--c);margin-bottom:13px}
@supports not (background:color-mix(in srgb,red 10%,#fff)){.ul-c-i{background:var(--turq-p)}}
.ul-c:hover{box-shadow:0 0 0 1px var(--c),0 14px 32px rgba(14,36,43,.08)}
.ul-c.on{box-shadow:0 0 0 2px var(--c);background:color-mix(in srgb,var(--c) 7%,#fff)}
.ul-c.on .ul-c-i{background:#fff}
.ul-c b{display:block;font-family:'Outfit',sans-serif;font-size:17px;font-weight:600;
  letter-spacing:-.02em;color:var(--nuit);margin-bottom:5px}
.ul-c small{display:block;font-size:13px;color:var(--gris);line-height:1.6}
.ul-reset{margin-top:18px}
.ul-reset a{font-size:13.5px;color:var(--turq-d);border-bottom:1px solid currentColor;padding-bottom:2px}

.ul-ver{padding:46px 0 10px}
.ul-ver h2{font-size:26px;letter-spacing:-.035em;margin:8px 0 10px}
@media(min-width:900px){.ul-ver h2{font-size:31px}}
.ul-ver-p{max-width:60ch;font-size:15.5px;color:var(--gris);line-height:1.7;margin-bottom:26px}
.ul-vg{display:grid;gap:2px;grid-template-columns:1fr;background:var(--ligne);
  border-radius:16px;overflow:hidden}
@media(min-width:620px){.ul-vg{grid-template-columns:repeat(2,1fr)}}
@media(min-width:980px){.ul-vg{grid-template-columns:repeat(3,1fr)}}
.ul-vg article{background:#fff;padding:22px 22px 24px}
.ul-vg span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;
  background:#FDEFE9;color:var(--sun-btn);margin-bottom:14px}
.ul-vg h3{font-size:16.5px;letter-spacing:-.02em;margin-bottom:8px}
.ul-vg p{font-size:13.5px;color:var(--gris);line-height:1.65}

/* Sommaire des dossiers */
/* L'index des dossiers et le sommaire latéral d'un dossier portaient la
   même classe : la grille écrasait le filet du sommaire. On réserve donc la
   grille à l'index, qui est toujours enveloppé dans .ds-rub. */
.ds-rub .ds-som{display:grid;gap:14px;grid-template-columns:1fr;margin:0;
  border-left:0;padding-left:0}
@media(min-width:600px){.ds-rub .ds-som{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1140px){.ds-rub .ds-som{grid-template-columns:repeat(3,1fr)}}

/* Rubriques de l'index : comprendre, voir, goûter, faire, préparer. */
.ds-rub{display:grid;gap:52px;margin:30px 0 8px}
.ds-rub-s>header{margin-bottom:20px;max-width:720px}
.ds-rub-s>header h2{font-family:'Outfit',sans-serif;font-size:clamp(22px,2.6vw,29px);
  font-weight:700;letter-spacing:-.03em;margin:0 0 8px}
.ds-rub-s>header p{margin:0;font-size:15px;line-height:1.6;color:var(--gris)}
.ds-rub-s>header::after{content:'';display:block;width:44px;height:3px;margin-top:14px;
  background:linear-gradient(90deg,var(--turq-d,#1E9BA0),var(--corail,#E85D3D))}
/* Cartes de dossier : l'image d'abord. Un index de guide touristique fait
   de blocs de texte se lit comme une table des matières, et personne ne
   lit une table des matières. La photographie passe devant quand elle
   existe, l'illustration du motif prend le relais sinon — jamais de vide. */
.ds-som-c{--d:#0E8189;display:flex;flex-direction:column;border-radius:14px;background:#fff;
  overflow:hidden;box-shadow:0 0 0 1px var(--ligne);transition:.22s}
.ds-som-c:hover{transform:translateY(-4px);box-shadow:0 0 0 1px var(--d),0 16px 36px rgba(14,36,43,.12)}
.ds-som-v{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--sable)}
/* Même règle que pour les choses à faire : une affiche garde sa
   proportion et son titre peint, le titre de la carte s'efface. */
.ds-som-aff .ds-som-v{aspect-ratio:1200/630}
.ds-som-aff .ds-som-b b{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ds-som-v img,.ds-som-v svg{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s}
.ds-som-c:hover .ds-som-v img,.ds-som-c:hover .ds-som-v svg{transform:scale(1.045)}
/* Un filet de la couleur du dossier sous l'image : le repère chromatique
   de l'ancienne carte, sans la bordure latérale qui mangeait la largeur. */
.ds-som-v::after{content:'';position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--d)}
.ds-som-b{display:flex;flex-direction:column;flex:1;padding:18px 20px 20px}
.ds-som-c b{display:block;font-family:'Outfit',sans-serif;font-size:18px;font-weight:600;
  letter-spacing:-.022em;color:var(--nuit);margin-bottom:7px;line-height:1.25}
.ds-som-b>span{display:block;font-size:13.5px;color:var(--gris);line-height:1.6}
.ds-som-c em{margin-top:14px;font-style:normal;font-family:'Outfit',sans-serif;font-size:10.5px;
  font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--d)}
.ds-som-c em::after{content:' →';letter-spacing:0}

/* La tête de rubrique occupe deux colonnes et donne le ton. */
@media(min-width:760px){
  .ds-som-g{grid-column:span 2;flex-direction:row;align-items:stretch}
  .ds-som-g .ds-som-v{aspect-ratio:auto;flex:0 0 46%}
  .ds-som-g .ds-som-v::after{left:auto;top:0;bottom:0;width:4px;height:auto}
  .ds-som-g .ds-som-b{justify-content:center;padding:26px 28px}
  .ds-som-g b{font-size:24px;letter-spacing:-.03em;margin-bottom:10px}
  .ds-som-g .ds-som-b>span{font-size:15px}
}

/* Sentier : source de la donnée et état d'ouverture */
.sn-src{margin-top:14px;font-size:12px;color:var(--gris);font-style:italic;line-height:1.6}
.sn-src a{border-bottom:1px solid currentColor}
.sn-onf{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:16px 18px;
  border-radius:12px;background:#FDEFE9;box-shadow:0 0 0 1px #F6D9CC}
.sn-onf svg{flex:none;color:var(--sun-btn);margin-top:2px}
.sn-onf p{font-size:13.5px;color:#7A3417;line-height:1.6}
