.primary-nav{align-items:center}.primary-nav>.nav-item{display:flex;align-items:center}.primary-nav .nav-direct,.nav-item>button{min-height:48px;font-size:.82rem;line-height:1}

.editor-pencil{display:inline-flex;gap:8px;align-items:center;width:max-content;margin-top:16px;padding:9px 13px;border:1px solid rgba(255,255,255,.5);border-radius:999px;color:#fff;background:rgba(8,34,27,.48);font:800 .7rem/1 system-ui;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.18);backdrop-filter:blur(9px)}
.editor-pencil::before{content:"✎";font-size:.95rem}.editor-pencil:hover{background:#fff;color:#173f35}.editor-pencil--dark{border-color:rgba(23,63,53,.25);color:#173f35;background:#fff}.editor-pencil--floating{position:absolute;z-index:6;top:120px;right:max(24px,4vw)}
.stay-highlight{position:relative;overflow:hidden;margin:45px 0;padding:32px;border-radius:22px;background:#fff3d0;box-shadow:0 18px 50px rgba(19,53,43,.08)}.stay-highlight::before{position:absolute;top:0;bottom:0;left:0;width:5px;background:var(--gold);content:""}.stay-highlight--forest{color:#fff;background:#173f35}.stay-highlight--terra{color:#fff;background:var(--terra-light)}.stay-highlight strong{display:block;margin-bottom:8px;font:500 clamp(1.5rem,2.6vw,2.25rem)/1.05 "Baskerville","Iowan Old Style","Palatino Linotype",Georgia,serif}.stay-highlight p{margin:0;color:inherit;opacity:.88}
.stay-photo-disclaimer{margin-top:10px;color:var(--muted);font-size:.68rem;font-style:italic;line-height:1.4;text-align:left}
/* Les <br> ajoutes par wpautop entre les cartes cassent la grille des "Sejours a theme" : on les neutralise. */
.related-pages br,.related-pages__grid br{display:none}

/* =================== MOBILE : header + menu (corrige chevauchement Reserver/hamburger + menu epure) =================== */
@media(max-width:1100px){
  /* Header en 3 colonnes nettes : marque | hamburger | Reserver, compact, sans chevauchement */
  .site-header{grid-template-columns:1fr auto auto;gap:12px;padding-inline:16px}
  .header-booking{min-height:42px;padding:9px 16px;font-size:.85rem;white-space:nowrap}
  .menu-toggle{padding:10px 13px;white-space:nowrap}
  /* Menu mobile epure : on remplace les grosses cartes-images par des liens texte lisibles */
  .primary-nav .mega-menu,.primary-nav .mega-menu--life,.primary-nav .mega-menu--groups{grid-template-columns:1fr;gap:0;padding:2px 8px 8px}
  .primary-nav .mega-menu__intro{padding:12px 8px 8px}
  .primary-nav .mega-menu__intro strong{font-size:1.15rem}
  .primary-nav .mega-menu__intro a{margin-top:8px}
  .primary-nav .mega-menu__card,.primary-nav .mega-menu__feature{min-height:0;border-radius:0;background:none;box-shadow:none}
  .primary-nav .mega-menu__card img,.primary-nav .mega-menu__feature img,.primary-nav .mega-menu__card::after,.primary-nav .mega-menu__feature::after{display:none}
  .primary-nav .mega-menu__card span,.primary-nav .mega-menu__feature span{position:static;right:auto;bottom:auto;left:auto;display:block;padding:13px 8px;border-bottom:1px solid #ded7cb;color:#193229}
  .primary-nav .mega-menu__card small{color:#ad5839}
  .primary-nav .mega-menu__card strong,.primary-nav .mega-menu__feature span{color:#193229;font-size:1rem}
  .primary-nav .mega-menu__links,.primary-nav .mega-menu__link-group{padding:8px}
}
/* On garde 3 colonnes meme sur petits ecrans (evite le passage a 2 colonnes qui faisait deborder Reserver sur le hamburger) */
@media(max-width:620px){
  .site-header{grid-template-columns:1fr auto auto;gap:10px;padding:16px}
  .header-booking{padding:8px 13px;font-size:.8rem}
  .brand__name{font-size:1rem}
}
@media(max-width:380px){
  .site-header{gap:8px;padding-inline:12px}
  .header-booking{padding:7px 11px;font-size:.74rem}
  .menu-toggle{padding:9px 10px}
}
.catalog-seo-content{padding-block:20px 110px}.catalog-seo-content .legacy-content{max-width:980px;margin-inline:auto;padding:clamp(28px,5vw,60px);border:1px solid rgba(23,63,53,.1);border-radius:24px;background:#fff;box-shadow:0 20px 60px rgba(23,63,53,.06)}
.legacy-content>.lead{margin:0 0 2.2rem;color:#284d43;font:500 clamp(1.25rem,2.1vw,1.75rem)/1.5 "Baskerville","Iowan Old Style","Palatino Linotype",Georgia,serif}.legacy-content details{margin:0;border-top:1px solid rgba(23,63,53,.18)}.legacy-content details:last-of-type{border-bottom:1px solid rgba(23,63,53,.18)}.legacy-content summary{display:flex;justify-content:space-between;gap:20px;padding:21px 4px;color:var(--forest);font-weight:800;cursor:pointer;list-style:none}.legacy-content summary::-webkit-details-marker{display:none}.legacy-content summary::after{content:"+";display:grid;flex:0 0 30px;width:30px;height:30px;place-items:center;border-radius:50%;color:#173f35;background:var(--gold);transition:transform .25s ease}.legacy-content details[open] summary::after{transform:rotate(45deg)}.legacy-content details p{margin:0;padding:0 50px 22px 4px;color:var(--muted)}.legacy-content .button{margin:12px 10px 0 0;color:inherit;text-decoration:none}.legacy-content .button--primary{color:var(--white)}
.photo-journal__intro{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;padding-block:80px 45px}.photo-journal__grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-flow:dense;gap:12px;padding-bottom:120px}.photo-journal__grid figure{grid-column:span 4;min-height:360px;overflow:hidden;margin:0;border-radius:18px;background:#173f35}.photo-journal__grid figure:nth-child(7n+1){grid-column:span 8;min-height:520px}.photo-journal__grid figure:nth-child(5n+3){grid-row:span 2}.photo-journal__grid img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.photo-journal__grid figure:hover img{transform:scale(1.035)}

.sitemap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-block:clamp(60px,8vw,110px)}
.sitemap-grid section{position:relative;padding:clamp(28px,4vw,46px);border:1px solid rgba(23,63,53,.12);border-radius:24px;background:rgba(255,255,255,.72);box-shadow:0 18px 50px rgba(23,63,53,.06)}
.sitemap-grid section>span{color:var(--gold-strong);font-size:.72rem;font-weight:900;letter-spacing:.16em}.sitemap-grid h2{margin:10px 0 24px;font:500 clamp(1.8rem,3vw,2.8rem)/1 "Baskerville","Iowan Old Style","Palatino Linotype",Georgia,serif}.sitemap-grid ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.sitemap-grid li{padding-bottom:10px;border-bottom:1px solid rgba(23,63,53,.1)}.sitemap-grid a{text-underline-offset:5px}

@media(max-width:650px){.editor-pencil--floating{top:100px;right:16px}.sitemap-grid{grid-template-columns:1fr}.photo-journal__intro{flex-direction:column}.photo-journal__grid{grid-template-columns:1fr}.photo-journal__grid figure,.photo-journal__grid figure:nth-child(7n+1){grid-column:1;min-height:360px}}
@media(prefers-reduced-motion:reduce){.legacy-content summary::after,.photo-journal__grid img{transition:none}}
.footer-socials{margin:10px 0 0;font-size:.85rem}
.avis-rating{margin-bottom:28px;padding:18px 24px;border:1px solid rgba(23,63,53,.14);border-radius:16px;background:#fff8e7}.avis-rating p{margin:0}
.avis-list{display:grid;gap:18px;padding-bottom:40px}
.avis-item{padding:26px 30px;border:1px solid rgba(23,63,53,.12);border-radius:20px;background:#fff;box-shadow:0 14px 40px rgba(23,63,53,.06)}
.avis-item header{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}
.avis-item header strong{font-size:1.05rem}
.avis-item header span{color:var(--muted);font-size:.78rem}
.avis-item p{margin:0;color:#2c3a34;line-height:1.65}
.avis-item__reply{margin-top:18px;padding:18px 20px;border-radius:14px;background:#f4eee4}
.avis-item__reply strong{display:block;margin-bottom:8px;font-size:.85rem;color:var(--forest)}
.avis-item__reply p{color:#56645d;font-size:.92rem}
.region-section{overflow:hidden;background:linear-gradient(180deg,#f4eee4,#e9f0e8)}
.region-section__heading{margin-bottom:34px}
.region-section__controls{display:flex;gap:24px;align-items:flex-end;justify-content:space-between;margin-top:14px}
.region-section__controls>p{margin:0;max-width:640px}
.region-slider-track{display:grid;grid-auto-columns:min(74vw,340px);grid-auto-flow:column;gap:20px;overflow-x:auto;padding:16px max(20px,calc((100vw - 1440px)/2)) 24px;scrollbar-width:none;scroll-snap-type:x mandatory}
.region-slider-track::-webkit-scrollbar{display:none}
.region-slider-track .partner-poster{min-height:460px;scroll-snap-align:center}
.region-slider-track .partner-poster__scene{object-position:center 65%}
.region-section__link{margin-top:36px;text-align:center}
.region-section__credits{margin-top:14px;color:var(--muted);font-size:.68rem;text-align:center}
.region-section .region-slider-track .partner-poster--region{margin-top:0;color:#fff;background:#173f35}
.region-section .partner-poster--region .partner-poster__scene{filter:saturate(.86) contrast(1.05) brightness(.92)}
.region-section .partner-poster--region .partner-poster__veil{background:linear-gradient(180deg,rgba(5,20,16,.08) 15%,rgba(5,20,16,.3) 50%,rgba(5,20,16,.91) 100%),linear-gradient(135deg,rgba(31,91,74,.15),rgba(181,105,57,.07))}
.region-section .partner-poster--region .partner-poster__label{color:#f5d56c}
.region-section .partner-poster--region:hover .partner-poster__scene,.region-section .partner-poster--region:focus-visible .partner-poster__scene{filter:saturate(1.03) contrast(1.05) brightness(.96)}
.region-section .partner-poster--region:hover,.region-section .partner-poster--region:focus-visible{outline:0;box-shadow:inset 0 0 0 2px #fff,0 18px 46px rgba(15,45,37,.32)}
@media(max-width:650px){.region-slider-track{grid-auto-columns:82vw}.region-section__controls{flex-direction:column;align-items:flex-start;gap:16px}}

/* Real cause of the night photo disappearing for logged-in editors only: live-editor.js adds a
   "lp-live-media-host" class to the parent of every editable image (to host the "Changer la photo"
   badge), and live-editor.css forces position:relative!important on that class. The night layer's
   parent (.pool-compare__reveal) structurally requires position:absolute for the clip-path day/night
   overlay to work at all - forcing it to relative silently breaks the whole effect for editors only
   (logged-out visitors never get data-lp-live-image, so they never see this). Restore absolute here
   specifically, matching !important so it actually wins over the generic host rule. */
.pool-compare__reveal.lp-live-media-host{position:absolute!important}
/* .eyebrow defaults to a dark terracotta (var(--terra)) meant for light backgrounds - illegible
   wherever it sits on a dark photo/gradient hero without an explicit light override. Several such
   heroes already had one (.catalog-hero, .stay-detail__hero, .pool-section, .section--forest) but
   these four didn't, so the label was unreadable there. */
.page-hero .eyebrow,.article-hero .eyebrow,.blog-archive__hero .eyebrow,.home-event .eyebrow{color:#f5d56c}

/* Experience list ("Olympiades du lundi" etc.): title (strong), description (small) and the closing
   note (em) all read at nearly the same weight - small kept the browser's shrink but no distinct
   size/role, and em had no rule at all so it inherited plain white text, same as the title. Gives
   each its own clear tier: bold serif title, calm body text, and a small gold aside for the note. */
.experience-list li{align-items:start}
.experience-list strong{display:block;margin-bottom:6px}
.experience-list small{display:block;color:#c3d6cd;font-size:1rem;line-height:1.5}
.experience-list em{display:block;margin-top:8px;color:#f5d56c;font-size:.82rem;font-style:italic;font-weight:600;line-height:1.4}

/* White hero shortcuts: sober black hierarchy, fully white on the forest hover state. */
.quick-links span,.quick-links strong,.quick-links small,.quick-links b{color:var(--ink)}
.quick-links strong{font-weight:700}
.quick-links small{font-weight:400}
.quick-links a:hover span,.quick-links a:hover strong,.quick-links a:hover small,.quick-links a:hover b,.quick-links a:focus-visible span,.quick-links a:focus-visible strong,.quick-links a:focus-visible small,.quick-links a:focus-visible b{color:#fff}

/* Weekly programme cards (.lpx-day/.lpx-event, plugin CSS): already solid, adds a touch more depth
   and a subtle icon glow on hover so the "day" cards feel a bit more alive when browsing the strip. */
.lpx-event:hover{transform:translateY(-8px) scale(1.012)}
.lpx-event .lpx-event__icon{transition:transform .4s,box-shadow .4s}
.lpx-event:hover .lpx-event__icon{transform:scale(1.08);box-shadow:0 0 0 8px rgba(245,213,108,.16)}
.lpx-day::after{transition:transform .5s}
.lpx-day:hover::after{transform:scale(1.06)}
