/* =====================================================================
   Bien en Dordogne Core — front
   Charte : design-system/bien-en-dordogne/MASTER.md
   Tokens --bd-* définis dans les Options Divi ; valeurs de secours ici
   pour rester autonome si le thème change.
   ===================================================================== */

:root {
  --bdc-nuit: var(--bd-nuit, #0F1512);
  --bdc-nuit-2: var(--bd-nuit-2, #161E1A);
  --bdc-creme: var(--bd-creme, #F4EFE6);
  --bdc-creme-2: #ECE5D7;
  --bdc-sable: #E3D9C6;
  --bdc-encre: var(--bd-encre, #1C1B17);
  --bdc-encre-2: #5C584E;
  --bdc-encre-3: #807A6D;
  --bdc-ocre: var(--bd-ocre, #C9964B);
  --bdc-ocre-clair: var(--bd-ocre-clair, #E4C48B);
  --bdc-ocre-fonce: #8A6426;
  --bdc-brume: rgba(255,255,255,.92);
  --bdc-brume-2: rgba(255,255,255,.66);
  --bdc-filet: rgba(28,27,23,.1);
  --bdc-verre: rgba(18,24,21,.5);
  --bdc-verre-bord: rgba(255,255,255,.16);
  --bdc-font: var(--bd-font, 'Instrument Sans', 'Segoe UI', system-ui, sans-serif);
  --bdc-ease: cubic-bezier(.22,.61,.36,1);
  --bdc-r: 24px;
  --bdc-r-big: 32px;
  --bdc-shadow: 0 1px 2px rgba(28,27,23,.04), 0 12px 32px -12px rgba(28,27,23,.16);
  --bdc-shadow-hover: 0 1px 2px rgba(28,27,23,.05), 0 26px 50px -18px rgba(28,27,23,.3);
  --bdc-header: var(--bdc-hh, 72px);
}

/* ---------------------------------------------------------------- Socle */
.bdc {
  font-family: var(--bdc-font);
  font-size: 1.06rem;
  line-height: 1.6;
  color: var(--bdc-encre);
  background: var(--bdc-nuit);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
/* Resets à spécificité nulle (:where) : ils ne doivent jamais battre nos composants. */
:where(.bdc) *, :where(.bdc) *::before, :where(.bdc) *::after { box-sizing: border-box; }
:where(.bdc) img { display: block; max-width: 100%; height: auto; }
:where(.bdc) a { color: inherit; text-decoration: none; }
:where(.bdc) p { padding: 0; margin: 0; }
:where(.bdc) ul, :where(.bdc) ol { list-style: none; margin: 0; padding: 0; }
:where(.bdc) :is(h1, h2, h3, h4) { padding: 0; margin: 0; color: inherit; font-family: var(--bdc-font); line-height: 1.2; }
.bd-header a, .bd-footer a { text-decoration: none; }
.bdc :focus-visible { outline: 2px solid var(--bdc-ocre); outline-offset: 3px; border-radius: 8px; }
.bdc .bdc-i { flex: none; display: inline-block; vertical-align: middle; }
.bdc-wrap { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 clamp(18px, 4vw, 48px); }

/* Divi : conteneurs neutralisés sur nos gabarits */
body.bdc-view #page-container { padding-top: 0 !important; }
body.bdc-view #et-main-area, body.bdc-view { background: var(--bdc-nuit); }

/* ---------------------------------------------------------------- Typo commune */
.bdc-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 15px 8px 13px; border-radius: 999px;
  border: 1px solid rgba(28,27,23,.12); background: rgba(255,255,255,.6);
  font-size: .8rem; font-weight: 520; letter-spacing: .02em; line-height: 1.3;
  color: var(--bdc-encre);
}
.bdc-eyebrow::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--bdc-ocre); }
.bdc-sec--nuit .bdc-eyebrow, .bdc-eyebrow--light { border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.06); color: var(--bdc-brume); }

.bdc-h2 {
  font-size: clamp(2rem, 4.1vw, 3.35rem); font-weight: 540;
  letter-spacing: -.028em; line-height: 1.03; margin-top: 18px;
  text-wrap: balance;
}
.bdc-h2 em, .bdc-hero__title em { font-style: normal; color: var(--bdc-encre-3); }
.bdc-sec--nuit .bdc-h2 em, .bdc-sleep .bdc-h2 em { color: var(--bdc-ocre-clair); }
.bdc-h3 { font-size: 1.32rem; font-weight: 580; letter-spacing: -.015em; line-height: 1.2; }

.bdc-lede {
  font-size: clamp(1.4rem, 2.35vw, 2rem); line-height: 1.33; font-weight: 440;
  letter-spacing: -.018em; color: var(--bdc-encre); text-wrap: pretty;
  margin: 22px 0 30px;
}
.bdc-lede--narrow { max-width: 30em; margin-bottom: 48px; }
.bdc-lede .w { transition: opacity .5s var(--bdc-ease); }

.bdc-link {
  display: inline-flex; align-items: center; gap: 8px;
  font-weight: 560; font-size: .95rem; color: var(--bdc-encre);
  border-bottom: 1px solid currentColor; padding-bottom: 3px;
}
.bdc-link .bdc-i { transition: transform .25s var(--bdc-ease); }
.bdc-link:hover .bdc-i { transform: translateX(4px); }

/* Boutons */
.bdc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  min-height: 48px; padding: 12px 22px; border-radius: 999px;
  font-family: var(--bdc-font); font-size: .95rem; font-weight: 580; line-height: 1.2;
  border: 1px solid transparent; cursor: pointer; white-space: nowrap;
  transition: transform .2s var(--bdc-ease), box-shadow .2s var(--bdc-ease), background .2s var(--bdc-ease), color .2s var(--bdc-ease), border-color .2s var(--bdc-ease);
}
.bdc-btn:hover { transform: translateY(-1px); }
.bdc-btn--dark { background: var(--bdc-nuit); color: #fff !important; }
.bdc-btn--dark:hover { box-shadow: 0 12px 26px -10px rgba(15,21,18,.6); }
.bdc-btn--ocre { background: var(--bdc-ocre); color: #221A0E !important; }
.bdc-btn--ocre:hover { background: var(--bdc-ocre-clair); box-shadow: 0 12px 26px -10px rgba(201,150,75,.7); }
.bdc-btn--line { border-color: rgba(28,27,23,.22); color: var(--bdc-encre) !important; background: transparent; }
.bdc-btn--line:hover { border-color: var(--bdc-encre); background: #fff; }
.bdc-btn--clair { background: #fff; color: var(--bdc-encre) !important; }
.bdc-btn--block { width: 100%; }

/* Pilules */
.bdc-pill {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 12px; border-radius: 999px;
  font-size: .76rem; font-weight: 560; letter-spacing: .02em; line-height: 1.2;
}
.bdc-pill--glass { color: #fff; background: rgba(15,21,18,.46); border: 1px solid rgba(255,255,255,.2); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.bdc-pill--mention { color: #3A2A10; background: var(--bdc-ocre-clair); }

/* ---------------------------------------------------------------- Hero */
.bdc-stage { position: relative; }
.bdc-hero {
  position: sticky; top: 0; z-index: 0;
  height: 100svh; min-height: 640px;
  display: flex; align-items: flex-end;
  overflow: hidden; isolation: isolate; color: #fff;
  background: var(--bdc-nuit);
}
.bdc-hero--tall { height: 94svh; }
.bdc-hero--medium { height: 80svh; min-height: 560px; }
.bdc-hero__bg { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.bdc-hero__bg img, .bdc-hero__img {
  position: absolute; inset: 0; width: 100%; height: 100% !important; max-width: none;
  object-fit: cover; transform-origin: 50% 60%;
  animation: bdcHeroIn 2.2s var(--bdc-ease) both;
}
.bdc-hero__bg::after {
  content: ''; position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(15,21,18,.5) 0%, rgba(15,21,18,.08) 26%, rgba(15,21,18,.12) 48%, rgba(15,21,18,.82) 82%, rgba(15,21,18,.94) 100%),
    radial-gradient(90% 70% at 12% 88%, rgba(15,21,18,.55), rgba(15,21,18,0) 70%);
}
@keyframes bdcHeroIn { from { transform: scale(1.08); opacity: .6; } to { transform: scale(1); opacity: 1; } }

.bdc-hero__inner { padding-bottom: calc(34px + clamp(44px, 8vh, 92px)); padding-top: 120px; }
.bdc-hero__eyebrow {
  display: inline-flex; flex-wrap: wrap; align-items: center; gap: 10px;
  padding: 7px 16px 7px 13px; border-radius: 999px;
  background: var(--bdc-verre); border: 1px solid var(--bdc-verre-bord);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  font-size: .84rem; font-weight: 520; letter-spacing: .02em; color: var(--bdc-brume);
}
.bdc-hero__eyebrow .bdc-pill { margin: -3px -9px -3px 2px; }
.bdc-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--bdc-ocre-clair); box-shadow: 0 0 0 4px rgba(228,196,139,.18); }
.bdc-hero__title {
  margin: 20px 0 0; max-width: 15ch;
  font-size: clamp(2.9rem, 7.4vw, 6.6rem); font-weight: 560;
  letter-spacing: -.038em; line-height: .98; color: #fff;
  text-wrap: balance; text-shadow: 0 2px 30px rgba(0,0,0,.25);
}
.bdc-hero__title em { color: var(--bdc-ocre-clair); }
@media (min-width: 768px) { .bdc-nw { white-space: nowrap; } } /* « Font-de-Gaume » d'un seul tenant */
.bdc-hero__title--long { font-size: clamp(2.4rem, 5.2vw, 4.6rem); max-width: 20ch; letter-spacing: -.032em; line-height: 1.02; }
.bdc-hero__lead {
  margin-top: 22px; max-width: 38ch;
  font-size: clamp(1.1rem, 1.6vw, 1.36rem); line-height: 1.45; font-weight: 420;
  color: var(--bdc-brume); text-wrap: pretty; text-shadow: 0 1px 16px rgba(0,0,0,.35);
}
.bdc-hero__facts {
  display: inline-flex; flex-wrap: wrap; margin-top: 34px;
  background: var(--bdc-verre); border: 1px solid var(--bdc-verre-bord); border-radius: 22px;
  -webkit-backdrop-filter: blur(16px) saturate(1.2); backdrop-filter: blur(16px) saturate(1.2);
}
.bdc-hero__facts li { display: flex; align-items: center; gap: 12px; padding: 14px 24px 14px 16px; }
.bdc-hero__facts li + li { border-left: 1px solid rgba(255,255,255,.12); }
.bdc-hero__fico { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: rgba(228,196,139,.16); color: var(--bdc-ocre-clair); }
.bdc-hero__facts small { display: block; font-size: .7rem; font-weight: 560; letter-spacing: .1em; text-transform: uppercase; color: var(--bdc-brume-2); margin-bottom: 2px; }
.bdc-hero__facts li > span:last-child { font-size: .98rem; font-weight: 520; color: #fff; line-height: 1.3; max-width: 22ch; }
@media (min-width: 1024px) { .bdc-hero__facts { flex-wrap: nowrap; max-width: 100%; } .bdc-hero__facts li { flex: 0 1 auto; min-width: 0; } .bdc-hero__facts li > span:last-child { max-width: 19ch; } }
.bdc-hero__cue {
  position: absolute; right: clamp(18px, 4vw, 48px); bottom: calc(34px + clamp(44px, 8vh, 92px));
  display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.3); color: #fff;
  transition: background .25s var(--bdc-ease), transform .25s var(--bdc-ease);
}
.bdc-hero__cue:hover { background: rgba(255,255,255,.12); transform: translateY(3px); }
.bdc-hero__credit {
  position: absolute; right: clamp(18px, 4vw, 48px); bottom: 46px;
  display: inline-flex; align-items: center; gap: 6px;
  font-size: .7rem; color: rgba(255,255,255,.58); max-width: 46ch; text-align: right;
}

/* Fil d'Ariane */
.bdc-crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; font-size: .82rem; }
.bdc-crumbs li { display: inline-flex; align-items: center; }
.bdc-crumbs li + li::before { content: ''; width: 5px; height: 5px; margin: 0 10px; border-right: 1.5px solid currentColor; border-top: 1.5px solid currentColor; transform: rotate(45deg); opacity: .5; }
.bdc-crumbs a { transition: color .2s var(--bdc-ease); }
.bdc-crumbs--light { margin-bottom: 22px; color: rgba(255,255,255,.72); }
.bdc-crumbs--light a:hover { color: #fff; }
.bdc-crumbs--light [aria-current] { color: #fff; }

/* ---------------------------------------------------------------- Feuille */
.bdc-sheet {
  position: relative; z-index: 2;
  margin-top: -34px; padding-bottom: 24px;
  background: var(--bdc-creme); color: var(--bdc-encre);
  border-radius: var(--bdc-r-big) var(--bdc-r-big) 0 0;
  box-shadow: 0 -24px 70px rgba(0,0,0,.35);
}
.bdc-sec { position: relative; padding: clamp(64px, 8.5vw, 116px) 0; container-type: inline-size; }
.bdc-sheet > .bdc-sec:first-child, .bdc-subnav + .bdc-sec { padding-top: clamp(48px, 6vw, 84px); }
.bdc-sec + .bdc-sec:not(.bdc-sec--nuit):not(.bdc-sleep) { padding-top: 0; }
.bdc-sec--creme2 { background: var(--bdc-creme-2); padding-top: clamp(64px, 8.5vw, 116px) !important; }

/* En-tête de section */
.bdc-sec__head {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end;
  gap: 10px 48px; margin-bottom: clamp(28px, 4vw, 52px);
}
.bdc-sec__head > .bdc-eyebrow { grid-column: 1; justify-self: start; }
.bdc-sec__head > .bdc-h2 { grid-column: 1; max-width: 18ch; }
.bdc-sec__lead { grid-column: 1; max-width: 48ch; color: var(--bdc-encre-2); font-size: 1.06rem; margin-top: 8px !important; }
.bdc-sec__head > .bdc-link { grid-column: 2; grid-row: 1 / span 3; align-self: end; }

/* Sous-navigation collante (pages hub) */
.bdc-subnav { position: sticky; top: calc(var(--bdc-header) + 10px); z-index: 30; display: flex; justify-content: center; padding: 22px 16px 0; pointer-events: none; }
body.admin-bar .bdc-subnav { top: calc(var(--bdc-header) + 42px); }
.bdc-subnav__in {
  pointer-events: auto; display: inline-flex; align-items: center; gap: 2px; max-width: 100%;
  padding: 5px; overflow-x: auto; scrollbar-width: none;
  background: rgba(255,255,255,.84); border: 1px solid rgba(28,27,23,.08); border-radius: 999px;
  -webkit-backdrop-filter: blur(14px) saturate(1.3); backdrop-filter: blur(14px) saturate(1.3);
  box-shadow: 0 14px 34px -14px rgba(28,27,23,.25);
}
.bdc-subnav__in::-webkit-scrollbar { display: none; }
.bdc-subnav__t { padding: 0 14px 0 12px; font-weight: 640; font-size: .92rem; letter-spacing: -.01em; white-space: nowrap; border-right: 1px solid var(--bdc-filet); margin-right: 4px; }
.bdc-subnav a { padding: 9px 15px; border-radius: 999px; font-size: .88rem; font-weight: 520; color: var(--bdc-encre-2); white-space: nowrap; transition: background .2s var(--bdc-ease), color .2s var(--bdc-ease); }
.bdc-subnav a:hover { color: var(--bdc-encre); background: var(--bdc-creme); }
.bdc-subnav a.is-active { color: #fff; background: var(--bdc-nuit); }

/* Intro « L'essentiel » */
.bdc-intro__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.bdc-points {
  background: #fff; border-radius: 28px; padding: clamp(24px, 3vw, 36px);
  box-shadow: var(--bdc-shadow); position: sticky; top: calc(var(--bdc-header) + 90px);
}
.bdc-points__t { font-size: .78rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bdc-encre-2); margin-bottom: 10px !important; }
.bdc-points ol li { display: grid; grid-template-columns: 38px 1fr; gap: 10px; padding: 15px 0; border-top: 1px solid var(--bdc-filet); font-size: 1.02rem; line-height: 1.45; }
.bdc-points ol li:first-child { border-top: 0; }
.bdc-points__n { font-weight: 640; color: var(--bdc-ocre); font-variant-numeric: tabular-nums; font-size: .92rem; padding-top: 2px; }
.bdc-points--links ul li { border-top: 1px solid var(--bdc-filet); }
.bdc-points--links ul li:first-child { border-top: 0; }
.bdc-points--links a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 0; font-weight: 560; font-size: 1.05rem; }
.bdc-points--links a .bdc-i { color: var(--bdc-ocre); transition: transform .25s var(--bdc-ease); }
.bdc-points--links a:hover .bdc-i { transform: translateX(4px); }

/* Prose éditoriale */
.bdc-prose { max-width: 68ch; font-size: 1.1rem; line-height: 1.72; color: var(--bdc-encre); }
.bdc-sec--prose .bdc-prose { margin: 0 auto; }
.bdc-prose > * + * { margin-top: 1.05em !important; }
.bdc-prose h2 { font-size: clamp(1.55rem, 2.4vw, 1.9rem); font-weight: 560; letter-spacing: -.02em; line-height: 1.2; margin-top: 2em !important; }
.bdc-prose h2::before { content: ''; display: block; width: 44px; height: 3px; border-radius: 2px; background: var(--bdc-ocre); margin-bottom: 16px; }
.bdc-prose h3 { font-size: 1.28rem; font-weight: 580; letter-spacing: -.012em; margin-top: 1.6em !important; }
.bdc-prose a { color: var(--bdc-ocre-fonce); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.bdc-prose a:hover { text-decoration-thickness: 2px; }
.bdc-prose ul li { position: relative; padding-left: 22px; margin-top: .45em; }
.bdc-prose ul li::before { content: ''; position: absolute; left: 3px; top: .72em; width: 7px; height: 7px; border-radius: 50%; background: var(--bdc-ocre); }
.bdc-prose ol { counter-reset: bdc; }
.bdc-prose ol li { position: relative; padding-left: 30px; margin-top: .45em; counter-increment: bdc; }
.bdc-prose ol li::before { content: counter(bdc); position: absolute; left: 0; top: .1em; font-weight: 640; color: var(--bdc-ocre); }
.bdc-prose strong { font-weight: 620; }
.bdc-prose figure img { border-radius: 20px; }
.bdc-prose figcaption { font-size: .82rem; color: var(--bdc-encre-2); margin-top: 8px; }
.bdc-prose blockquote { margin: 1.6em 0; padding: 4px 0 4px 22px; border-left: 3px solid var(--bdc-ocre); font-size: 1.2rem; color: var(--bdc-encre); }
.bdc-prose--intro { color: var(--bdc-encre-2); font-size: 1.08rem; }
.bdc-prose--dark { color: var(--bdc-brume); }
.bdc-prose--dark strong { color: #fff; }
.bdc-prose--box { background: #fff; border-radius: var(--bdc-r); padding: clamp(22px, 3vw, 32px); box-shadow: var(--bdc-shadow); margin-top: 36px; }
.bdc-prose--box h2::before { display: none; }
.bdc-prose--box h2 { margin-top: 0 !important; font-size: 1.32rem; }

/* ---------------------------------------------------------------- Grilles */
.bdc-grid { display: grid; gap: clamp(16px, 2vw, 26px); }
.bdc-grid--lieux { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.bdc-grid--lieux.bdc-grid--n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bdc-grid--lieux.bdc-grid--n2, .bdc-grid--lieux.bdc-grid--n1 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 820px; }
.bdc-grid--destinations, .bdc-grid--guides, .bdc-grid--cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bdc-grid--n1.bdc-grid--destinations, .bdc-grid--n1.bdc-grid--guides, .bdc-grid--n1.bdc-grid--cards { grid-template-columns: minmax(0, 420px); }
.bdc-grid--n2.bdc-grid--destinations, .bdc-grid--n2.bdc-grid--guides, .bdc-grid--n2.bdc-grid--cards { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 860px; }
.bdc-grid--feature { grid-template-columns: repeat(3, minmax(0, 1fr)); }

@container (max-width: 980px) {
  .bdc-grid--lieux { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .bdc-grid--destinations, .bdc-grid--guides, .bdc-grid--cards, .bdc-grid--feature { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@container (max-width: 620px) {
  .bdc-grid--lieux, .bdc-grid--destinations, .bdc-grid--guides, .bdc-grid--cards {
    grid-template-columns: none !important; grid-auto-flow: column; grid-auto-columns: 80%;
    overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
    margin: 0 calc(-1 * clamp(18px, 4vw, 48px)); padding: 4px clamp(18px, 4vw, 48px) 18px;
    scroll-padding: 0 clamp(18px, 4vw, 48px);
  }
  .bdc-grid::-webkit-scrollbar { display: none; }
  .bdc-grid > * { scroll-snap-align: start; }
  .bdc-grid--feature { grid-template-columns: 1fr !important; }
}

/* ---------------------------------------------------------------- Cartes */
.bdc-card { position: relative; min-width: 0; }
.bdc-card__link { display: flex; flex-direction: column; height: 100%; color: var(--bdc-encre); }
.bdc-card__media { position: relative; overflow: hidden; background: var(--bdc-sable); }
.bdc-card__media img { width: 100%; height: 100% !important; object-fit: cover; transition: transform .9s var(--bdc-ease); }
.bdc-card__link:hover .bdc-card__media img { transform: scale(1.05); }
.bdc-card__media .bdc-pill { position: absolute; top: 14px; left: 14px; z-index: 2; }
.bdc-card__title { font-size: 1.24rem; font-weight: 580; letter-spacing: -.016em; line-height: 1.2; text-wrap: balance; }
.bdc-card__text { font-size: .95rem; line-height: 1.5; color: var(--bdc-encre-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bdc-card__eyebrow { font-size: .74rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--bdc-encre-2); }
.bdc-card__cta { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 16px; font-size: .92rem; font-weight: 600; color: var(--bdc-encre); }
.bdc-card__cta .bdc-i { transition: transform .25s var(--bdc-ease); color: var(--bdc-ocre); }
.bdc-card__link:hover .bdc-card__cta .bdc-i { transform: translateX(5px); }
.bdc-card__meta { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: .86rem; color: var(--bdc-encre-2); }
.bdc-card__meta span { display: inline-flex; align-items: center; gap: 5px; }
.bdc-card__meta .bdc-i { color: var(--bdc-ocre); }

/* Lieu : portrait, texte sous l'image */
.bdc-card--lieu .bdc-card__media { aspect-ratio: 4 / 5; border-radius: var(--bdc-r); }
.bdc-card--lieu .bdc-card__body { display: flex; flex-direction: column; gap: 7px; padding: 16px 4px 0; }

/* Destination : grande image, texte en surimpression */
.bdc-card--dest .bdc-card__link { position: relative; border-radius: 28px; overflow: hidden; color: #fff; isolation: isolate; }
.bdc-card--dest .bdc-card__media { aspect-ratio: 3 / 4; }
.bdc-card--dest .bdc-card__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15,21,18,0) 38%, rgba(15,21,18,.55) 66%, rgba(15,21,18,.92) 100%); }
.bdc-card--dest .bdc-card__overlay { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: clamp(20px, 2.4vw, 28px); padding-right: 76px; }
.bdc-card--dest .bdc-card__eyebrow { color: var(--bdc-ocre-clair); }
.bdc-card--dest .bdc-card__title { font-size: clamp(1.5rem, 2.1vw, 1.9rem); overflow-wrap: normal; hyphens: manual; font-weight: 560; letter-spacing: -.03em; margin: 6px 0 8px; color: #fff; }
.bdc-card--dest .bdc-card__text { color: rgba(255,255,255,.82); }
.bdc-card__go { position: absolute; right: 22px; bottom: 24px; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #fff; color: var(--bdc-encre); transition: transform .3s var(--bdc-ease), background .3s var(--bdc-ease); }
.bdc-card--dest .bdc-card__link:hover .bdc-card__go { transform: rotate(45deg); background: var(--bdc-ocre-clair); }

/* Guide & hébergement : carte blanche */
.bdc-card--guide .bdc-card__link, .bdc-card--heb .bdc-card__link {
  background: #fff; border-radius: var(--bdc-r); padding: 8px; box-shadow: var(--bdc-shadow);
  transition: box-shadow .35s var(--bdc-ease), transform .35s var(--bdc-ease);
}
.bdc-card--guide .bdc-card__link:hover, .bdc-card--heb .bdc-card__link:hover { box-shadow: var(--bdc-shadow-hover); transform: translateY(-3px); }
.bdc-card--guide .bdc-card__media { aspect-ratio: 3 / 2; border-radius: 18px; }
.bdc-card--heb .bdc-card__media { aspect-ratio: 4 / 3; border-radius: 18px; }
.bdc-card--guide .bdc-card__body, .bdc-card--heb .bdc-card__body { display: flex; flex-direction: column; gap: 8px; flex: 1; padding: 18px 14px 14px; }
.bdc-card--guide .bdc-card__eyebrow span { color: var(--bdc-ocre); margin: 0 3px; }
.bdc-card--heb.is-premium .bdc-card__link { box-shadow: 0 0 0 1.5px var(--bdc-ocre-clair), var(--bdc-shadow); }

/* Vedette (rubriques) : première carte en bandeau */
.bdc-grid--feature > .bdc-card--guide:first-child { grid-column: 1 / -1; }
.bdc-grid--feature > .bdc-card--guide:first-child .bdc-card__link { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); align-items: stretch; }
.bdc-grid--feature > .bdc-card--guide:first-child .bdc-card__media { aspect-ratio: 16 / 10; }
.bdc-grid--feature > .bdc-card--guide:first-child .bdc-card__body { padding: clamp(22px, 3.2vw, 44px); justify-content: center; }
.bdc-grid--feature > .bdc-card--guide:first-child .bdc-card__title { font-size: clamp(1.6rem, 2.8vw, 2.3rem); letter-spacing: -.026em; line-height: 1.1; }
.bdc-grid--feature > .bdc-card--guide:first-child .bdc-card__cta { margin-top: 12px; }

/* Faits (chips icône + texte) */
.bdc-facts { display: flex; flex-wrap: wrap; gap: 6px; }
.bdc-facts li { display: inline-flex; align-items: center; gap: 6px; padding: 6px 11px; border-radius: 999px; background: var(--bdc-creme); font-size: .8rem; font-weight: 520; color: var(--bdc-encre-2); }
.bdc-facts .bdc-i { color: var(--bdc-ocre-fonce); }

/* ---------------------------------------------------------------- Galerie */
.bdc-gallery { padding-top: 0 !important; }
.bdc-gallery__track {
  display: flex; gap: clamp(12px, 1.6vw, 20px); overflow-x: auto; scroll-snap-type: x mandatory;
  padding: 0 max(clamp(18px, 4vw, 48px), calc((100vw - 1240px) / 2 + 48px)) 14px;
  scrollbar-width: thin; scrollbar-color: var(--bdc-sable) transparent;
}
.bdc-gallery__track.is-few { justify-content: center; }
.bdc-gallery__item { flex: none; height: clamp(280px, 42vw, 520px); margin: 0; scroll-snap-align: center; }
.bdc-gallery__item img { height: 100% !important; width: auto; max-width: none; border-radius: var(--bdc-r); object-fit: cover; }
.bdc-gallery__item figcaption { margin-top: 10px; font-size: .76rem; line-height: 1.4; color: var(--bdc-encre-2); max-width: 46ch; }

/* ---------------------------------------------------------------- Section sombre (Préparer / Localisation) */
.bdc-sec--nuit { margin: 0 clamp(8px, 1.4vw, 20px); padding: clamp(56px, 7vw, 96px) 0; border-radius: var(--bdc-r-big); background: var(--bdc-nuit); color: var(--bdc-brume); overflow: hidden; }
.bdc-sec--nuit::before { content: ''; position: absolute; inset: 0; background: radial-gradient(70% 90% at 100% 0%, rgba(201,150,75,.16), transparent 60%); pointer-events: none; }
.bdc-sec--nuit + .bdc-sec { padding-top: clamp(64px, 8.5vw, 116px) !important; }
.bdc-prep__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(32px, 6vw, 88px); align-items: start; }
.bdc-prep__facts { margin-top: 32px; display: grid; gap: 10px; }
.bdc-prep__facts li { display: flex; align-items: center; gap: 14px; padding: 14px 18px; border-radius: 18px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); }
.bdc-prep__facts .bdc-i { color: var(--bdc-ocre-clair); }
.bdc-prep__facts small { display: block; font-size: .7rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--bdc-brume-2); }
.bdc-prep__facts li span { color: #fff; font-weight: 520; }
.bdc-prep__txt { font-size: 1.08rem; padding-top: 6px; }
.bdc-prep__txt ul li::before { background: var(--bdc-ocre-clair); }
.bdc-prep__addr { display: flex; gap: 10px; align-items: flex-start; margin: 26px 0 22px !important; color: var(--bdc-brume); }
.bdc-prep__addr .bdc-i { color: var(--bdc-ocre-clair); margin-top: 3px; }

/* Distances */
.bdc-dist li { display: flex; align-items: baseline; gap: 12px; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.1); font-size: 1.05rem; }
.bdc-dist i { flex: 1; border-bottom: 1px dotted rgba(255,255,255,.25); transform: translateY(-4px); }
.bdc-dist strong { color: var(--bdc-ocre-clair); font-weight: 600; white-space: nowrap; }

/* ---------------------------------------------------------------- Fiche détaillée (lieu / hébergement) */
.bdc-detail__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 380px); gap: clamp(32px, 5vw, 80px); align-items: start; }
.bdc-detail__main > .bdc-lede:first-child { margin-top: 0; }
.bdc-detail__main .bdc-prose { margin-top: 40px; }
.bdc-infos { position: sticky; top: calc(var(--bdc-header) + 24px); display: grid; gap: 14px; }
.bdc-infos__card { background: #fff; border-radius: 28px; padding: clamp(22px, 2.6vw, 30px); box-shadow: var(--bdc-shadow); }
.bdc-infos__t { font-size: 1.12rem; font-weight: 620; letter-spacing: -.01em; margin-bottom: 8px !important; }
.bdc-infos dl { margin: 0; }
.bdc-infos dl > div { padding: 13px 0; border-top: 1px solid var(--bdc-filet); }
.bdc-infos dl > div:first-child { border-top: 0; }
.bdc-infos dt { display: flex; align-items: center; gap: 8px; font-size: .74rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--bdc-encre-2); }
.bdc-infos dt .bdc-i { color: var(--bdc-ocre); }
.bdc-infos dd { margin: 4px 0 0 25px; font-size: .98rem; line-height: 1.45; color: var(--bdc-encre); }
.bdc-infos__ctas { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.bdc-infos__ctas .bdc-btn { flex: 1 1 auto; }
.bdc-infos__note { margin-top: 14px !important; font-size: .78rem; line-height: 1.45; color: var(--bdc-encre-3); }
.bdc-infos__dest { display: flex; align-items: center; gap: 14px; padding: 10px 18px 10px 10px; border-radius: 22px; background: var(--bdc-nuit); color: #fff; transition: transform .25s var(--bdc-ease); }
.bdc-infos__dest:hover { transform: translateY(-2px); }
.bdc-infos__dimg { width: 58px; height: 58px; border-radius: 16px; overflow: hidden; flex: none; }
.bdc-infos__dimg img { width: 100%; height: 100% !important; object-fit: cover; }
.bdc-infos__dest > span:nth-child(2) { flex: 1; font-weight: 580; font-size: 1.05rem; line-height: 1.2; }
.bdc-infos__dest small { display: block; font-size: .7rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--bdc-ocre-clair); margin-bottom: 3px; }
.bdc-book__caps { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 14px 0 6px; }
.bdc-book__caps li { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 10px; align-items: center; padding: 12px 14px; border-radius: 16px; background: var(--bdc-creme); }
.bdc-book__caps .bdc-i { grid-row: 1 / 3; color: var(--bdc-ocre-fonce); }
.bdc-book__caps strong { font-size: 1.15rem; line-height: 1; }
.bdc-book__caps small { font-size: .74rem; color: var(--bdc-encre-2); }
.bdc-book .bdc-infos__ctas { flex-direction: column; }
.bdc-book__tel { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 8px; font-weight: 560; font-size: .95rem; }

/* Pourquoi visiter / Pourquoi on aime */
.bdc-why { margin-top: 44px; }
.bdc-why ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 20px; }
.bdc-why li { display: flex; gap: 14px; padding: 20px; border-radius: 22px; background: #fff; box-shadow: var(--bdc-shadow); }
.bdc-why li p { font-size: 1rem; line-height: 1.5; }
.bdc-why__n { flex: none; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--bdc-nuit); color: var(--bdc-ocre-clair); font-weight: 640; font-size: .9rem; }
.bdc-ideal { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 22px !important; padding: 16px 20px; border-radius: 18px; background: var(--bdc-creme-2); font-size: 1.02rem; }
.bdc-ideal span { display: inline-flex; align-items: center; gap: 6px; font-size: .74rem; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; color: var(--bdc-ocre-fonce); }
.bdc-equip { margin-top: 44px; }
.bdc-equip ul { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; margin-top: 18px; }
.bdc-equip li { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 16px; border: 1px solid var(--bdc-filet); font-weight: 520; }
.bdc-equip .bdc-i { color: var(--bdc-ocre-fonce); }

/* ---------------------------------------------------------------- Encadrés (conseil / enfants) */
.bdc-note { display: flex; gap: 16px; margin: 36px 0; padding: 22px 24px; border-radius: 22px; background: #fff; box-shadow: var(--bdc-shadow); border-left: 4px solid var(--bdc-ocre); }
.bdc-note--enfants { border-left-color: #7D9A6B; }
.bdc-note__ico { flex: none; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: rgba(201,150,75,.14); color: var(--bdc-ocre-fonce); }
.bdc-note--enfants .bdc-note__ico { background: rgba(125,154,107,.16); color: #4E6B3F; }
.bdc-note__t { font-size: .78rem; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; color: var(--bdc-ocre-fonce); margin-bottom: 4px !important; }
.bdc-note--enfants .bdc-note__t { color: #4E6B3F; }
.bdc-note p { font-size: 1.02rem; line-height: 1.6; }

/* ---------------------------------------------------------------- Encart hébergement (dans un article) */
.bdc-encart {
  display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  margin: 2.4em 0; background: #fff; border-radius: 28px; overflow: hidden;
  box-shadow: var(--bdc-shadow); font-family: var(--bdc-font);
}
.bdc-encart__media { position: relative; display: block; min-height: 280px; background: var(--bdc-sable); overflow: hidden; }
.bdc-encart__media img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; transition: transform .9s var(--bdc-ease); }
.bdc-encart:hover .bdc-encart__media img { transform: scale(1.04); }
.bdc-encart__media .bdc-pill { position: absolute; top: 14px; left: 14px; }
.bdc-encart__body { display: flex; flex-direction: column; gap: 8px; padding: clamp(22px, 3vw, 32px); }
.bdc-encart__eyebrow { font-size: .74rem; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; color: var(--bdc-ocre-fonce); }
.bdc-encart__title { font-size: 1.5rem; font-weight: 580; letter-spacing: -.02em; line-height: 1.15; }
.bdc-encart__meta { font-size: .9rem; color: var(--bdc-encre-2); }
.bdc-encart__text { font-size: 1rem; line-height: 1.55; color: var(--bdc-encre); }
.bdc-encart .bdc-facts { margin: 4px 0; }
.bdc-encart__ctas { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.bdc-encart .bdc-btn { min-height: 42px; padding: 9px 16px; font-size: .86rem; gap: 7px; }
.bdc-embed-card { max-width: 380px; margin: 2em auto; }

/* ---------------------------------------------------------------- Où dormir (vide) */
.bdc-sleep__card {
  display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 0;
  border-radius: var(--bdc-r-big); overflow: hidden; background: var(--bdc-nuit); color: var(--bdc-brume);
  position: relative; isolation: isolate;
}
.bdc-sleep__card::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(60% 80% at 0% 100%, rgba(201,150,75,.2), transparent 70%); }
.bdc-sleep__main { padding: clamp(28px, 4.5vw, 60px); }
.bdc-sleep .bdc-h2 { color: #fff; font-size: clamp(1.9rem, 3.4vw, 2.8rem); }
.bdc-sleep__lead { margin-top: 16px !important; max-width: 50ch; color: var(--bdc-brume-2); font-size: 1.04rem; }
.bdc-sleep__guides { margin-top: 26px; display: grid; gap: 10px; }
.bdc-sleep__guides a { display: flex; align-items: center; gap: 16px; padding: 10px 18px 10px 10px; border-radius: 20px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.08); color: #fff; transition: background .25s var(--bdc-ease); }
.bdc-sleep__guides a:hover { background: rgba(255,255,255,.12); }
.bdc-sleep__guides .bdc-i { color: var(--bdc-ocre-clair); transition: transform .25s var(--bdc-ease); }
.bdc-sleep__guides a:hover .bdc-i { transform: translateX(4px); }
.bdc-sleep__thumb { width: 64px; height: 64px; border-radius: 14px; overflow: hidden; flex: none; }
.bdc-sleep__thumb img { width: 100%; height: 100% !important; object-fit: cover; }
.bdc-sleep__gt { flex: 1; font-weight: 560; line-height: 1.3; }
.bdc-sleep__pro { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: clamp(28px, 4vw, 52px); background: rgba(255,255,255,.04); border-left: 1px solid rgba(255,255,255,.08); }
.bdc-sleep__ico { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: rgba(228,196,139,.14); color: var(--bdc-ocre-clair); }
.bdc-sleep__pt { font-size: 1.22rem; font-weight: 580; line-height: 1.3; color: #fff; letter-spacing: -.01em; }
.bdc-sleep__pro p:not(.bdc-sleep__pt) { font-size: .96rem; color: var(--bdc-brume-2); }
.bdc-sleep__pro .bdc-btn { margin-top: auto; }

/* ---------------------------------------------------------------- Rubriques */
.bdc-chips { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 44px !important; }
.bdc-chip { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: 999px; background: #fff; box-shadow: var(--bdc-shadow); font-weight: 560; font-size: .95rem; transition: transform .2s var(--bdc-ease), background .2s var(--bdc-ease); }
.bdc-chip:hover { transform: translateY(-2px); }
.bdc-chip small { display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 99px; background: var(--bdc-creme); font-size: .74rem; color: var(--bdc-encre-2); }
.bdc-pager { margin-top: 40px; }
.bdc-pager .nav-links { display: flex; justify-content: center; gap: 6px; }
.bdc-pager .page-numbers { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px; border-radius: 999px; background: #fff; font-weight: 560; }
.bdc-pager .page-numbers.current { background: var(--bdc-nuit); color: #fff; }
.bdc-pager .screen-reader-text { position: absolute; clip: rect(0 0 0 0); width: 1px; height: 1px; overflow: hidden; }

/* ---------------------------------------------------------------- Crédits */
.bdc-credits { display: flex; gap: 10px; align-items: flex-start; margin: 8px 0 40px !important; padding-top: 22px; border-top: 1px solid var(--bdc-filet); font-size: .78rem; line-height: 1.55; color: var(--bdc-encre-3); }
.bdc-credits .bdc-i { margin-top: 2px; color: var(--bdc-ocre); }
.bdc-credits strong { font-weight: 620; color: var(--bdc-encre-2); }

/* ---------------------------------------------------------------- Dans les articles
   Divi pose des sélecteurs à ID (#left-area ul…) et les Options stylent .entry-content h2/a :
   on reprend la main UNIQUEMENT dans le contenu d'article, avec #page-container .entry-content. */
#page-container .entry-content > .bdc-auto { max-width: 1000px; margin: 3em auto 0; }
#page-container .entry-content .bdc-auto .bdc-sec { padding: clamp(40px, 5vw, 64px) 0 0; }
#page-container .entry-content .bdc-auto .bdc-wrap { padding: 0; }
#page-container .entry-content :is(.bdc-auto, .bdc-encart, .bdc-note, .bdc-embed-card, .bdc-sec) { font-family: var(--bdc-font); }
#page-container .entry-content :is(.bdc-auto, .bdc-encart, .bdc-sec, .bdc-embed-card) :is(ul, ol) { list-style: none; margin: 0; padding: 0; line-height: inherit; }
#page-container .entry-content :is(.bdc-auto, .bdc-encart, .bdc-sec, .bdc-embed-card) li { margin: 0; }
#page-container .entry-content :is(.bdc-auto, .bdc-encart, .bdc-sec, .bdc-embed-card) li::marker { content: none; }
#page-container .entry-content :is(.bdc-auto, .bdc-encart, .bdc-sec, .bdc-embed-card) a { text-decoration: none; color: inherit; }
#page-container .entry-content .bdc-card--dest .bdc-card__link, #page-container .entry-content .bdc-sleep__guides a { color: #fff; }
#page-container .entry-content .bdc-btn--dark { color: #fff; }
#page-container .entry-content .bdc-h2 { margin: 18px 0 0; font-size: clamp(1.8rem, 3.4vw, 2.7rem); }
#page-container .entry-content :is(.bdc-h2, .bdc-encart__title, .bdc-card__title)::before { display: none; }
#page-container .entry-content :is(.bdc-encart__title, .bdc-card__title) { margin: 0; padding: 0; line-height: 1.2; }
#page-container .entry-content .bdc-encart__title a { color: var(--bdc-encre); }
#page-container .entry-content :is(.bdc-auto, .bdc-encart, .bdc-note, .bdc-sec) p { padding: 0; margin: 0; }
#page-container .entry-content :is(.bdc-sleep__card) { color: var(--bdc-brume); }
.single-post .entry-content > .bdc-encart, .single-post .entry-content > .bdc-note { max-width: 760px; }

/* ---------------------------------------------------------------- Révélations (JS ajoute .bdc-js sur <html>) */
@media (prefers-reduced-motion: no-preference) {
  .bdc-js [data-bdc-reveal] { opacity: 0; transform: translateY(26px); transition: opacity .9s var(--bdc-ease), transform .9s var(--bdc-ease); transition-delay: var(--d, 0ms); }
  .bdc-js [data-bdc-reveal].is-in { opacity: 1; transform: none; }
  .bdc-js [data-bdc-hero] { opacity: 0; transform: translateY(22px); animation: bdcUp 1s var(--bdc-ease) forwards; }
  .bdc-js [data-bdc-hero]:nth-child(2) { animation-delay: .08s; }
  .bdc-js [data-bdc-hero]:nth-child(3) { animation-delay: .16s; }
  .bdc-js [data-bdc-hero]:nth-child(4) { animation-delay: .24s; }
  .bdc-js [data-bdc-hero]:nth-child(5) { animation-delay: .32s; }
  .bdc-hero__cue .bdc-i { animation: bdcBob 2.4s ease-in-out infinite; }
}
@keyframes bdcUp { to { opacity: 1; transform: none; } }
@keyframes bdcBob { 50% { transform: translateY(4px); } }
@media (prefers-reduced-motion: reduce) {
  .bdc-hero__bg img { animation: none; }
}

/* ---------------------------------------------------------------- Responsive */
@media (max-width: 1100px) {
  .bdc-detail__grid { grid-template-columns: minmax(0, 1fr) 320px; }
}
@media (max-width: 980px) {
  .bdc-intro__grid, .bdc-prep__grid, .bdc-detail__grid, .bdc-sleep__card { grid-template-columns: 1fr; }
  .bdc-points, .bdc-infos { position: static; }
  .bdc-sleep__pro { border-left: 0; border-top: 1px solid rgba(255,255,255,.08); }
  .bdc-hero__credit { left: clamp(18px, 4vw, 48px); right: auto; text-align: left; }
  .bdc-hero__cue { display: none; }
}
@media (max-width: 767px) {
  .bdc { font-size: 1rem; }
  .bdc-hero { min-height: 600px; height: 92svh; }
  .bdc-hero--medium { height: 74svh; min-height: 520px; }
  .bdc-hero__inner { padding-bottom: calc(22px + 64px); }
  .bdc-hero__title { font-size: clamp(2.5rem, 12.5vw, 3.6rem); max-width: none; }
.bdc-hero__title--long { font-size: clamp(2rem, 9vw, 2.6rem); }
  .bdc-hero__lead { font-size: 1.06rem; }
  .bdc-hero__facts { display: grid; grid-template-columns: 1fr 1fr; width: 100%; margin-top: 24px; }
  .bdc-hero__facts li { padding: 12px 14px; gap: 10px; }
  .bdc-hero__facts li + li { border-left: 0; }
  .bdc-hero__facts li:nth-child(even) { border-left: 1px solid rgba(255,255,255,.12); }
  .bdc-hero__facts li:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.12); }
  .bdc-hero__facts li:only-child, .bdc-hero__facts li:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .bdc-hero__fico { width: 32px; height: 32px; }
  .bdc-hero__facts li > span:last-child { font-size: .9rem; }
  .bdc-hero__credit { bottom: 34px; font-size: .64rem; }
  .bdc-crumbs--light { font-size: .76rem; margin-bottom: 16px; }
  .bdc-sheet { margin-top: -22px; border-radius: var(--bdc-r) var(--bdc-r) 0 0; }
  .bdc-subnav { padding-top: 14px; }
  .bdc-subnav__t { display: none; }
  .bdc-sec__head { grid-template-columns: 1fr; }
  .bdc-sec__head > .bdc-link { grid-column: 1; grid-row: auto; justify-self: start; margin-top: 8px; }
  .bdc-why ul { grid-template-columns: 1fr; }
  .bdc-encart { grid-template-columns: 1fr; }
  .bdc-encart__media { min-height: 0; aspect-ratio: 16 / 10; }
  .bdc-grid--feature > .bdc-card--guide:first-child .bdc-card__link { grid-template-columns: 1fr; }
  .bdc-sec--nuit { margin: 0 8px; }
  .bdc-gallery__item { height: 300px; }
  .bdc-book__caps { grid-template-columns: repeat(2, 1fr); }
}

/* ---------------------------------------------------------------- Lisibilité des heros (1.3.4)
   Ombre portée légère sur tous les textes posés sur la photo : courte pour détacher la lettre,
   large et diffuse pour assombrir localement le fond. Transform/opacity intacts (pas de CLS). */
.bdc-hero__title,
.bdc-hero__lead,
.bdc-hero__facts li > span:last-child,
.bdc-hero__facts small,
.bdc-hero__eyebrow,
.bdc-hero__credit,
.bdc-crumbs--light { text-shadow: 0 1px 2px rgba(0,0,0,.45), 0 2px 22px rgba(0,0,0,.4); }
.bdc-hero__title { text-shadow: 0 1px 3px rgba(0,0,0,.4), 0 4px 34px rgba(0,0,0,.45); }
.bdc-hero__eyebrow .bdc-pill { text-shadow: none; }

/* ---------------------------------------------------------------- Heros sur écrans peu hauts (1.3.7)
   Le hero collant avait une hauteur fixe avec un plancher (640 / 560 px) : sur un écran plus bas
   (tablette Wacom, portable 1366×768 avec barres), son pied — chiffres clés, flèche, crédit photo — restait
   sous la ligne de flottaison et la feuille le recouvrait avant qu'on le voie. Désormais la hauteur suit
   l'écran (min-height, plus de plancher en px), le contenu se resserre sous 800 px de haut, et si le contenu
   reste plus haut que l'écran, front.js décale le point d'accroche (top négatif) pour que le pied s'affiche. */
.bdc-hero { height: auto; min-height: 100svh; top: var(--bdc-hero-top, 0px); }
.bdc-hero--tall { min-height: 94svh; }
.bdc-hero--medium { min-height: 80svh; }
@media (min-width: 768px) and (max-height: 800px) {
  .bdc-hero__inner { padding-top: 96px; padding-bottom: calc(34px + 32px); }
  .bdc-hero__title { margin-top: 14px; font-size: clamp(2.4rem, min(7.4vw, 12.5vh), 6.6rem); }
  .bdc-hero__title--long { font-size: clamp(2.1rem, min(5.2vw, 9vh), 4.6rem); }
  .bdc-hero__lead { margin-top: 14px; font-size: clamp(1rem, min(1.6vw, 2.6vh), 1.36rem); }
  .bdc-hero__facts { margin-top: 22px; }
  .bdc-hero__facts li { padding-top: 10px; padding-bottom: 10px; }
  .bdc-hero__cue { bottom: calc(34px + 32px); }
  .bdc-hero__credit { bottom: 42px; }
}
@media (max-width: 767px) {
  .bdc-hero { min-height: 92svh; }
  .bdc-hero--medium { min-height: 74svh; }
}
