/* V5 — accessibilité, FAQ, grille destinations dynamique, pages destinations au design du site */

/* Accessibilité */
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:12px 18px;font-size:12px;font-weight:600}
.skip-link:focus{top:12px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--terra);outline-offset:3px}
picture{display:block}
.hidden{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* Citation : l'image est maintenant dans un <picture> */
.quote>picture{position:absolute;inset:0}
.quote>picture img{height:100%;object-fit:cover}
.process__image picture{height:100%}

/* Grille destinations : s'adapte au nombre de destinations */
.destination-grid--n1{grid-template-columns:1fr;grid-template-rows:560px}
.destination-grid--n2{grid-template-columns:1fr 1fr;grid-template-rows:560px}
.destination-more{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:16px}
.destination-more .destination{height:420px;display:block}
.destination-more .destination__copy h3{font-size:clamp(38px,3.6vw,58px)}

/* FAQ accueil */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;padding:130px 8vw;background:var(--paper)}
.faq h2{font-family:Belle,Georgia,serif;font-weight:400;font-size:clamp(46px,5vw,84px);line-height:.95;letter-spacing:-.025em}
.faq h2 em,.dest-main h2 em,.dest-cta h2 em,.notfound h1 em{font-style:normal;color:var(--terra)}
.faq__list{border-top:1px solid var(--line)}
.faq__item{border-bottom:1px solid var(--line)}
.faq__item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding:24px 0;font-weight:600;font-size:16px}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";color:var(--terra);font-size:24px;line-height:1;transition:transform .25s}
.faq__item[open] summary::after{transform:rotate(45deg)}
.faq__answer{padding:0 0 24px;max-width:720px;opacity:.85}
.faq__answer p:last-child{margin-bottom:0}

/* Formulaire */
.form__consent{font-size:11px;opacity:.65;margin:-6px 0 16px}
.form__consent a{text-decoration:underline}

/* Pied de page */
footer{position:relative}
footer>div.footer__social{display:flex;gap:14px;position:absolute;top:96px;right:7vw;margin:0}
@media(max-width:900px){footer>div.footer__social{position:static;justify-content:flex-end;margin-top:30px}}
footer>div.footer__social a{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(223,152,119,.55);border-radius:50%;color:#DF9877;transition:background .25s,color .25s,border-color .25s}
footer>div.footer__social a:hover,footer>div.footer__social a:focus-visible{background:#DF9877;border-color:#DF9877;color:#1D303E}

/* En-tête plein (pages intérieures) */
.header--solid.scrolled{background:rgba(230,217,202,.97)}

/* ---------- Page destination ---------- */
.dest-hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.dest-hero__media{position:absolute;inset:0;background:var(--ink) center/cover no-repeat}
.dest-hero__content{position:relative;padding:150px 8vw 9vh;max-width:1100px}
.dest-hero h1{font-family:Belle,Georgia,serif;font-weight:400;font-size:clamp(52px,6.6vw,108px);line-height:.95;letter-spacing:-.025em;margin:16px 0 22px}
.dest-hero h1 em{font-style:normal;color:var(--terra)}
.dest-hero__lead{font-size:clamp(16px,1.4vw,19px);max-width:680px;opacity:.9;margin-bottom:34px}
.breadcrumb{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;opacity:.8;margin-bottom:26px}
.breadcrumb a:hover{text-decoration:underline}

.dest-body{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:6vw;padding:110px 8vw 90px;align-items:start}
.dest-main{max-width:820px;font-size:16px}
.dest-main h2{font-family:Belle,Georgia,serif;font-weight:400;font-size:clamp(34px,3.4vw,52px);line-height:1;letter-spacing:-.02em;margin:64px 0 22px}
.dest-main a{text-decoration:underline;text-underline-offset:3px}
.dest-main ul{padding-left:20px}
.dest-intro{font-size:clamp(18px,1.6vw,23px);line-height:1.55}
.dest-highlights{list-style:none;padding:0!important;margin:0;border-top:1px solid var(--line)}
.dest-highlights li{position:relative;padding:18px 0 18px 42px;border-bottom:1px solid var(--line)}
.dest-highlights li::before{content:"✓";position:absolute;left:4px;top:17px;color:var(--terra);font-weight:700}
.dest-gallery{display:grid;gap:12px;margin:56px 0 0}
.dest-gallery--2{grid-template-columns:1fr 1fr}
.dest-gallery--3{grid-template-columns:1.4fr 1fr;grid-template-rows:240px 240px}
.dest-gallery--3 figure:first-child{grid-row:span 2}
.dest-gallery--4{grid-template-columns:1fr 1fr}
.dest-gallery figure{margin:0;position:relative;overflow:hidden;min-height:240px}
.dest-gallery picture,.dest-gallery img{height:100%}
.dest-gallery img{object-fit:cover}
.dest-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 16px 12px;font-size:11px;color:#fff;background:linear-gradient(0deg,rgba(29,48,62,.75),transparent)}
.dest-faq{margin-top:20px}
.dest-updated{margin-top:56px;font-size:12px;opacity:.55}

.dest-aside{position:sticky;top:110px}
.dest-facts{background:var(--ink);color:#fff;padding:38px 32px}
.dest-facts h2{font:400 32px/1 Belle,Georgia,serif;margin:0 0 26px;color:var(--terra)}
.dest-facts dl{margin:0 0 30px}
.dest-facts dt{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;opacity:.6;margin-top:18px}
.dest-facts dd{margin:4px 0 0;font-size:14px}
.dest-facts .button{width:100%;background:var(--terra)!important;color:var(--ink)!important}

.dest-cta{display:grid;grid-template-columns:1.2fr .8fr;gap:6vw;align-items:end;padding:110px 8vw;background:var(--terra);color:var(--ink)}
.dest-cta .kicker{color:var(--ink);opacity:.7}
.dest-cta h2{font-family:Belle,Georgia,serif;font-weight:400;font-size:clamp(46px,5.4vw,88px);line-height:.95;margin-bottom:22px}
.dest-cta h2 em{color:#fff}
.dest-cta__actions{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.dest-related .section-title{margin-bottom:40px}

/* 404 */
.notfound{min-height:80vh;padding:200px 8vw 120px;max-width:1100px}
.notfound h1{font-family:Belle,Georgia,serif;font-weight:400;font-size:clamp(54px,7vw,110px);line-height:.95;margin:10px 0 26px}
.notfound__links{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:40px}

@media(max-width:900px){
  .destination-grid--n1,.destination-grid--n2{display:block}
  .destination-more{grid-template-columns:1fr}
  .destination-more .destination{height:460px;margin-bottom:0}
  .faq{grid-template-columns:1fr;gap:30px;padding:90px 24px}
  .dest-hero{min-height:88svh}
  .dest-hero__content{padding:130px 24px 60px}
  .dest-body{grid-template-columns:1fr;padding:70px 24px;gap:50px}
  .dest-aside{position:static}
  .dest-gallery--3{grid-template-columns:1fr;grid-template-rows:none}
  .dest-gallery--3 figure:first-child{grid-row:auto}
  .dest-gallery--2,.dest-gallery--4{grid-template-columns:1fr}
  .dest-cta{grid-template-columns:1fr;padding:80px 24px}
  .notfound{padding:150px 24px 90px}
}

/* Correctifs mobiles */
footer>div:not(.footer__bottom){flex-wrap:wrap;row-gap:14px}
.dest-hero .eyebrow{color:#fff;opacity:.85}
@media(max-width:900px){.dest-hero .hero__veil{background:linear-gradient(0deg,rgba(29,48,62,.86) 0%,rgba(29,48,62,.55) 55%,rgba(29,48,62,.25) 100%)}}
/* Les attributs width/height (anti-décalage) ne doivent pas changer le cadrage d'origine */
.founder__photo img{height:auto}

/* Avis clients (visible uniquement quand des avis sont publiés depuis l'admin) */
.reviews{padding:130px 8vw;background:var(--cream)}
.reviews__head{max-width:900px;margin-bottom:60px}
.reviews h2{font-family:Belle,Georgia,serif;font-weight:400;font-size:clamp(46px,5vw,84px);line-height:.95;letter-spacing:-.025em;margin:0}
.reviews h2 em{font-style:normal;color:var(--terra)}
.reviews__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.reviews__grid--1{grid-template-columns:minmax(0,760px)}
.reviews__grid--2{grid-template-columns:repeat(2,1fr)}
.review{margin:0;position:relative;background:var(--paper);border:1px solid var(--line);padding:56px 36px 34px;display:flex;flex-direction:column;justify-content:space-between;gap:28px}
.review::before{content:"“";position:absolute;top:2px;left:30px;font:400 92px/1 Belle,Georgia,serif;color:var(--terra)}
.review blockquote{font:inherit;text-align:left;padding:0;margin:0;font-size:16px;line-height:1.7}
.review blockquote p:last-child{margin-bottom:0}
.review figcaption{border-top:1px solid var(--line);padding-top:18px;display:flex;flex-direction:column;gap:4px}
.review figcaption strong{font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.review figcaption span{font-size:11px;color:var(--sage);text-transform:uppercase;letter-spacing:.1em}
@media(max-width:900px){.reviews{padding:90px 24px}.reviews__grid,.reviews__grid--2{grid-template-columns:1fr}.review{padding:52px 26px 28px}}
