/* ═══════════════════════════════════════════════════════════════════════
   KARAI — réglages de lisibilité, chargés en dernier sur toutes les pages
   (audit du 4 novembre 2026). Ce fichier fixe des tailles minimales et
   quelques réglages téléphone ; il l'emporte sur les autres feuilles de style.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Tailles minimales des petits textes : environ 11,5 px (0,72 rem) ── */
.surtitre, .article-tag, .related-card-tag, .related-card-date, .series-card-type, .series-card-cat,
.series-panel-location, .series-meta-row span, .series-end-next, .series-end-region, .h-badge,
.cine-pill, .d-filter__btn, .series-filter-btn, .exp-review__trip, .ct-field > span,
.photo13-pillar__from, .series-hint, .exp-price__col h4, .article-date, .article-read-time,
figcaption, cite, .article-infobox-label, .exp-guest-card__role, .legal h3, .legal__body h3, .h-duo small {
  font-size: 0.72rem !important;
}
/* boutons et liens en majuscules : environ 11 px */
.h-btn, .h-hero__go, .series-end-btn, .series-card-cta, .cookie-box__btn, .exp-cta-btn, .article-next__btn,
.nav-cta, .ab-vt__toggle, .article-related-header a {
  font-size: 0.7rem !important;
}
/* légendes des photos */
.article-img-caption, .article-img-duo figcaption, .article-img-portrait figcaption, .article-img-full figcaption { font-size: 0.78rem !important; }

/* ── Articles : texte aligné à gauche, sans coupure des mots en fin de ligne ── */
.article-p, .article-body p, .series-panel-desc p { text-align: left !important; hyphens: manual !important; -webkit-hyphens: manual !important; }

/* ── Liens directs vers une journée d'itinéraire (#day-7) : le titre n'est pas caché sous le menu ── */
.day-entry[id] { scroll-margin-top: 7rem; }

/* ═══════════════════════════════════════════════════════════════════════
   TÉLÉPHONE (jusqu'à 600 px)
   ═══════════════════════════════════════════════════════════════════════ */
@media (max-width: 600px) {
  /* bouton « Menu » : zone de toucher d'environ 44 px, sans changer son apparence */
  .nav-burger { display: inline-flex !important; align-items: center; min-height: 44px; padding: 0 .75rem !important; margin-right: -.75rem; }

  /* bandeau cookies : fine barre collée en bas de l'écran (au lieu d'un encart qui couvrait le haut des pages) */
  .cookie-box { left: 0; right: 0; bottom: 0; width: auto; border-radius: 14px 14px 0 0; border-width: 1px 0 0;
    padding: .8rem 1rem calc(.8rem + env(safe-area-inset-bottom)); display: flex; align-items: center; gap: .8rem; }
  .cookie-box p { flex: 1; margin: 0; font-size: .74rem; line-height: 1.45; }
  .cookie-box__btns { flex: none; gap: .4rem; }
  .cookie-box__btn { padding: .65rem .85rem; letter-spacing: .1em; font-size: .66rem !important; }
  /* la barre de réservation des fiches expédition attend que le visiteur ait répondu */
  body.has-cookie-box .exp-mbar { transform: translateY(140%) !important; opacity: 0 !important; pointer-events: none; }

  /* boutons du hero de l'accueil et barre de réservation : un peu plus petits, pour tenir sur la largeur */
  .h-hero__go { font-size: 0.66rem !important; }
  .exp-mbar__dates { font-size: 0.66rem; }
  /* flèches Previous / Next series : surtitres un peu plus serrés pour rester sur une ligne */
  .series-pager__link small { font-size: 0.64rem; letter-spacing: .08em; }
}

/* ── Bouton du menu en haut à droite (Get in touch, Join an expedition, Sign up…) :
      il n'apparaît qu'avec le bandeau blanc du menu, c'est-à-dire dès qu'on a fait défiler la page
      (ou au survol d'un menu déroulant). Sur les pages de séries, le bandeau est blanc d'emblée. ── */
nav .nav-cta { opacity: 0; visibility: hidden; transform: translateY(-6px); pointer-events: none;
  transition: opacity .35s ease, transform .35s ease, visibility .35s, background .3s, color .3s, border-color .3s; }
nav.scrolled .nav-cta, nav:has(.nav-links > li.has-mega:hover) .nav-cta, body.series-page nav .nav-cta {
  opacity: 1; visibility: visible; transform: none; pointer-events: auto; }

/* ── About, « A story we wrote together » : noms sous les photos en Noto Serif italique, en minuscules,
      avec de l'air entre la photo et le texte (au lieu de petites capitales collées à la photo) ── */
.ab-host { aspect-ratio: auto; }
.ab-host figcaption { padding: 1.1rem .9rem 1.3rem; min-height: 4.6rem; }
.ab-host .surtitre { font-family: var(--font-serif) !important; font-weight: var(--w-serif); font-style: italic;
  text-transform: none !important; letter-spacing: 0 !important; font-size: clamp(1rem, 1.25vw, 1.15rem) !important;
  line-height: 1.3; color: var(--c-title); }
@media (max-width: 600px) {
  .ab-host figcaption { padding: .8rem .6rem 1rem; min-height: 3.8rem; }
  .ab-host .surtitre { font-size: .95rem !important; }
}
/* sur ordinateur : chaque nom tient sur une seule ligne (taille calculée d'après la largeur de la carte) */
@media (min-width: 1025px) {
  .ab-host { container-type: inline-size; }
  .ab-host figcaption { padding-left: .5rem; padding-right: .5rem; }
  .ab-host .surtitre { white-space: nowrap; font-size: min(0.95rem, 6.4cqi) !important; }
}
/* ordinateur : bas du polaroïd resserré autour du nom, sur une seule ligne */
@media (min-width: 1025px) {
  .ab-host figcaption { min-height: 0; padding-top: .8rem; padding-bottom: .9rem; }
}

/* ── Fiches expédition, bloc prix : rassurance sous le bouton, puis lien vers un appel ── */
.exp-price__reassure { margin: 1.1rem auto 0; max-width: 40rem; font-size: .8rem; line-height: 1.6; color: color-mix(in srgb, var(--c-text) 75%, transparent); }
.exp-price__call { margin-top: .5rem; font-size: .85rem; color: var(--c-text); }

/* ── Liens d'action sous un texte (How booking works, bloc prix) : majuscules soulignées vertes, sur leur propre ligne ── */
.exp-step__link { display: inline-block; margin-top: .9rem; }
.exp-price__call { margin-top: .9rem; margin-bottom: .2rem; }
.exp-price__call-link { display: inline-block; margin-top: .3rem; }

/* ═══════════════════════════════════════════════════════════════════════
   ARTICLES DU JOURNAL : un seul rythme vertical, sur toutes les pages d'articles
   - entre un texte et une photo, une citation, un encadré, ou entre deux de ces blocs : --a-gap-block
   - entre un intertitre et ce qui le suit (texte ou photo) : --a-gap-title
   - entre deux paragraphes : 1,3 rem
   ═══════════════════════════════════════════════════════════════════════ */
.article-body { --a-gap-block: clamp(2.2rem, 4vw, 2.8rem); --a-gap-title: 1.1rem; }
.article-body > :is(.article-img-full, .article-img-duo, .article-img-portrait, .article-quote:not(.article-quote--side), .article-infobox, .article-video-card, .article-sep) {
  margin-top: var(--a-gap-block) !important; margin-bottom: var(--a-gap-block) !important; }
.article-body > .article-h2 { margin-top: var(--a-gap-block) !important; margin-bottom: var(--a-gap-title) !important; }
.article-body > .article-h3 { margin-top: calc(var(--a-gap-block) * .7) !important; margin-bottom: .7rem !important; }
.article-body > :is(.article-h2, .article-h3) + * { margin-top: 0 !important; }
.article-body > :is(.article-p, .article-lead) { margin-top: 0; margin-bottom: 1.3rem; }


/* ── Fiche avec invité (Jody) : « Read more » disparaît une fois le texte déplié ── */
.exp-guest-card__more[open] > summary { display: none; }
.exp-guest-card__less { display: inline-flex; align-items: center; gap: .6rem; margin-top: .4rem; padding: 0; background: none; border: 0; cursor: pointer; font-family: var(--font-sans); font-size: .62rem; letter-spacing: .18em; text-transform: uppercase; color: var(--c-surtitle); }
.exp-guest-card__less .exp-guest-card__plus { transform: rotate(45deg); }

/* ═══════════════════════════════════════════════════════════════════════
   FICHES EXPÉDITION : « Your guides », deux cartes portrait côte à côte.
   Nom et fonction posés sur la photo, texte en dessous, cartes de même hauteur.
   ═══════════════════════════════════════════════════════════════════════ */
.exp-leader.exp-leader--duo { display: block; padding: var(--pad-section) clamp(1.5rem, 4vw, 4rem); }
.exp-leader__intro { text-align: center; margin-bottom: clamp(2rem, 4vw, 3rem); }
.exp-leader__intro .surtitre { display: block; margin-bottom: .8rem; }
.exp-leader__intro h2 { font-family: var(--font-serif); font-weight: var(--w-serif); font-size: clamp(2rem, 3vw, 2.8rem); line-height: 1.15; color: var(--c-on-photo); }
.exp-leader__intro h2 em { color: var(--c-surtitle); }
.exp-guides { display: grid; grid-template-columns: minmax(0, var(--g1, 1fr)) minmax(0, var(--g2, 1fr)); gap: clamp(1rem, 2vw, 1.6rem); max-width: 58rem; margin: 0 auto; }
.exp-guide { display: flex; flex-direction: column; background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .08); border-radius: var(--h-r, 14px); overflow: hidden; }
.exp-guide__ph { position: relative; height: clamp(13rem, 18vw, 15.5rem); overflow: hidden; }
.exp-guide__ph img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; display: block; }
.exp-guide__ph::after { content: ""; position: absolute; inset: 35% 0 0; background: linear-gradient(to top, rgba(18, 14, 10, .85), rgba(18, 14, 10, 0)); pointer-events: none; }
.exp-guide__id { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 0 clamp(1.2rem, 2vw, 1.6rem) clamp(.9rem, 1.6vw, 1.2rem); }
.exp-guide__id h3 { font-family: var(--font-serif); font-weight: var(--w-serif); font-size: clamp(1.4rem, 1.8vw, 1.7rem); line-height: 1.1; color: var(--c-on-photo); margin: 0 0 .3rem; }
.exp-guide__id .exp-leader__role { margin: 0; color: var(--c-surtitle); }
.exp-guide__txt { padding: clamp(1.1rem, 2vw, 1.4rem) clamp(1.2rem, 2vw, 1.6rem) clamp(1.3rem, 2.4vw, 1.7rem); }
.exp-guide__txt p { font-size: .88rem; line-height: 1.7; color: var(--c-on-dark); margin: 0 0 .9rem; }
.exp-guide__txt p:last-child { margin-bottom: 0; }
@media (max-width: 860px) {
  .exp-guides { grid-template-columns: 1fr; max-width: 32rem; }
  .exp-guide__ph { height: auto; aspect-ratio: 16 / 9; }
}
@media (max-width: 600px) { .exp-guide__ph { aspect-ratio: 4 / 3; } }

/* ── Fiche Mongolia × Jody MacDonald : photo du hero agrandie et calée en bas,
      pour que les chameaux passent au-dessus du titre ── */
.exp-hero--mongolia-jody .exp-hero__image-wrap { top: calc(-85% + 24px); bottom: -24px; }
.exp-hero--mongolia-jody .exp-hero__image-wrap img { object-position: 35% 100%; }
@media (max-width: 600px) {
  .exp-hero--mongolia-jody .exp-hero__image-wrap { top: calc(-80% + 16px); bottom: -16px; }
  .exp-hero--mongolia-jody .exp-hero__image-wrap img { object-position: 14% 100%; }
}


/* ═══════════════════════════════════════════════════════════════════════
   « Your guides », version duo (08/11) : à gauche le titre et les deux portraits
   qui se chevauchent, à droite les deux bios l'une sous l'autre.
   Les textes s'empilent : plus aucun espace perdu, quelle que soit leur longueur.
   ═══════════════════════════════════════════════════════════════════════ */
.exp-duo__wrap { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: center; max-width: 70rem; margin: 0 auto; }
.exp-duo__aside .surtitre { display: block; margin-bottom: .8rem; }
.exp-duo__aside h2 { font-family: var(--font-serif); font-weight: var(--w-serif); font-size: clamp(2rem, 3vw, 2.8rem); line-height: 1.15; color: var(--c-on-photo); margin: 0 0 clamp(1.8rem, 3vw, 2.6rem); }
.exp-duo__aside h2 em { color: var(--c-surtitle); }
.exp-duo__pics { position: relative; aspect-ratio: 1 / 1.02; }
.exp-duo__pic { position: absolute; margin: 0; border-radius: var(--h-r, 14px); overflow: hidden; aspect-ratio: 3 / 4; }
.exp-duo__pic img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; display: block; }
.exp-duo__pic--1 { left: 0; top: 0; width: 62%; }
.exp-duo__pic--2 { right: 0; bottom: 0; width: 50%; box-shadow: 0 0 0 7px var(--c-bg-dark); }
.exp-duo__tag { position: absolute; left: .8rem; bottom: .8rem; font-family: var(--font-serif); font-style: italic; font-size: 1rem; line-height: 1; color: var(--c-on-photo); background: rgba(18, 14, 10, .62); padding: .45rem .6rem; border-radius: 99px; }
.exp-duo__bios { display: flex; flex-direction: column; }
.exp-duo__bio + .exp-duo__bio { margin-top: clamp(1.8rem, 3vw, 2.4rem); padding-top: clamp(1.8rem, 3vw, 2.4rem); border-top: 1px solid rgba(255, 255, 255, .12); }
.exp-duo__head { display: flex; align-items: baseline; gap: 1rem; margin-bottom: 1rem; }
.exp-duo__num { font-family: var(--font-serif); font-style: italic; font-size: 1.1rem; color: var(--c-surtitle); }
.exp-duo__head h3 { font-family: var(--font-serif); font-weight: var(--w-serif); font-size: clamp(1.5rem, 2vw, 1.8rem); line-height: 1.1; color: var(--c-on-photo); margin: 0 0 .3rem; }
.exp-duo__head .exp-leader__role { margin: 0; color: var(--c-surtitle); }
.exp-duo__bio p { font-size: .9rem; line-height: 1.75; color: var(--c-on-dark); margin: 0 0 .8rem; }
.exp-duo__bio p:last-child { margin-bottom: 0; }
@media (max-width: 860px) {
  .exp-duo__wrap { grid-template-columns: 1fr; max-width: 34rem; gap: 2.4rem; }
  .exp-duo__aside { text-align: center; }
  .exp-duo__pics { max-width: 24rem; margin: 0 auto; text-align: left; }
}

/* ═══════════════════════════════════════════════════════════════════════
   « Your guides », version plein cadre (08/11) : les deux portraits remplissent
   toute la largeur de la tuile, côte à côte, chaque bio posée en bas de sa photo.
   ═══════════════════════════════════════════════════════════════════════ */
.exp-leader.exp-split { padding: 0; overflow: hidden; }
.exp-split__intro { text-align: center; padding: clamp(3rem, 6vw, 4.5rem) 1.5rem clamp(2rem, 4vw, 3rem); }
.exp-split__intro .surtitre { display: block; margin-bottom: .8rem; }
.exp-split__intro h2 { font-family: var(--font-serif); font-weight: var(--w-serif); font-size: clamp(2rem, 3vw, 2.8rem); line-height: 1.15; color: var(--c-on-photo); margin: 0; }
.exp-split__intro h2 em { color: var(--c-surtitle); }
.exp-split__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; }
.exp-split__half { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; min-height: clamp(36rem, 46vw, 44rem); padding: clamp(14rem, 22vw, 20rem) clamp(1.6rem, 3.5vw, 3.2rem) clamp(2rem, 3.5vw, 3rem); }
.exp-split__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 20%; transition: transform 1.2s ease; z-index: 0; }
.exp-split__half::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(to top, rgba(18, 14, 10, .96) 0%, rgba(18, 14, 10, .88) 38%, rgba(18, 14, 10, .35) 62%, rgba(18, 14, 10, 0) 80%); }
.exp-split__half:hover .exp-split__img { transform: scale(1.03); }
.exp-split__txt { position: relative; z-index: 2; max-width: 31rem; }
.exp-split__txt .exp-leader__role { display: block; margin: 0 0 .5rem; color: var(--c-surtitle); }
.exp-split__txt h3 { font-family: var(--font-serif); font-weight: var(--w-serif); font-size: clamp(1.9rem, 2.8vw, 2.6rem); line-height: 1.05; color: var(--c-on-photo); margin: 0 0 1.1rem; }
.exp-split__txt p { font-size: .9rem; line-height: 1.75; color: var(--c-on-dark); margin: 0 0 .8rem; }
.exp-split__txt p:last-child { margin-bottom: 0; }
@media (max-width: 860px) {
  .exp-split__pair { grid-template-columns: 1fr; }
  .exp-split__half { min-height: 0; padding: 78vw 1.5rem 2.2rem; }
  .exp-split__img { height: 100vw; bottom: auto; }
  .exp-split__half::after { background: linear-gradient(to bottom, rgba(18, 14, 10, 0) 45vw, rgba(18, 14, 10, .9) 88vw, rgb(18, 14, 10) 100vw); }
}
/* plein cadre, réglage : la photo occupe le haut de chaque moitié et se fond dans le fond sombre,
   pour que le texte ne passe jamais sur les visages */
.exp-split__half { padding-top: clamp(19rem, 28vw, 25rem); min-height: 0; }
.exp-split__half::after { background: linear-gradient(to bottom, rgba(18, 14, 10, 0) 0, rgba(18, 14, 10, 0) clamp(13rem, 19vw, 17rem), rgba(18, 14, 10, .85) clamp(21rem, 31vw, 28rem), rgb(18, 14, 10) clamp(26rem, 38vw, 34rem)); }
.exp-split__half { background: rgb(18, 14, 10); }
.exp-split__half--1 .exp-split__img { object-position: 60% 35% !important; }
.exp-split__half--2 .exp-split__img { object-position: 50% 22% !important; }
@media (max-width: 860px) {
  .exp-split__half { padding-top: 92vw; }
  .exp-split__img { height: 104vw; }
  .exp-split__half::after { background: linear-gradient(to bottom, rgba(18, 14, 10, 0) 58vw, rgba(18, 14, 10, .85) 92vw, rgb(18, 14, 10) 104vw); }
}
.exp-split__half--2 .exp-split__img { object-position: 50% 55% !important; }
@media (max-width: 860px) {
  .exp-split__half { padding-top: 100vw; }
  .exp-leader .exp-split__img { height: 112vw; }
  .exp-split__half::after { background: linear-gradient(to bottom, rgba(18, 14, 10, 0) 66vw, rgba(18, 14, 10, .85) 100vw, rgb(18, 14, 10) 112vw); }
  .exp-split__half--2 .exp-split__img { object-position: 50% 30% !important; }
}

/* ═══════════════════════════════════════════════════════════════════════
   « Your guides » (08/11), sur le modèle du bloc « The founders » de l'accueil
   et de « Our philosophy » (page Expeditions) : boîte sombre + photo du duo.
   Les deux bios s'enchaînent dans la boîte, la photo prend toute la hauteur.
   ═══════════════════════════════════════════════════════════════════════ */
.exp13 .exp-leader.exp-team { display: block; background: transparent; padding: 0; }
.exp-team__grid { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); }
.exp-team .h-founders__box { justify-content: center; }
.exp-team .h-title { margin-bottom: .4rem; }
.exp-team__bio { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(255, 255, 255, .12); }
.exp-team__bio b { display: block; font-family: var(--font-serif); font-weight: var(--w-serif); font-size: 1.45rem; line-height: 1.15; color: var(--c-on-photo); margin-bottom: .35rem; }
.exp-team__bio small { display: block; font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; color: var(--c-surtitle); margin-bottom: .8rem; }
.exp-team__bio p { font-size: .92rem; line-height: 1.75; color: var(--c-on-dark); margin: 0 0 .7rem; }
.exp-team__bio p:last-child { margin-bottom: 0; }
.exp-team .h-founders__card { min-height: 0; }
.exp-team .h-founders__card::after { display: none; }
@media (max-width: 860px) {
  .exp-team__grid { grid-template-columns: 1fr; }
  .exp-team .h-founders__card { order: -1; min-height: 0; aspect-ratio: 4 / 5; }
}

/* ═══════════════════════════════════════════════════════════════════════
   FICHES EXPÉDITION : rythme Itinéraire → Avis → Réservation → Prix (08/11)
   Avant : quatre sections beiges qui se suivent. Maintenant : avis dans une tuile
   sombre (rupture nette après l'itinéraire), étapes en clair, prix en deux colonnes.
   ═══════════════════════════════════════════════════════════════════════ */
/* 1. Avis : tuile sombre */
.exp13 .exp-reviews { background: var(--c-bg-dark); border-radius: var(--h-r); margin: clamp(2.5rem, 5vw, 4rem) var(--h-pad) 0; padding: clamp(3rem, 6vw, 4.5rem) clamp(1.5rem, 4vw, 4rem); }
.exp-reviews .h-title { color: var(--c-on-photo); }
.exp-reviews .h-title em { color: var(--c-surtitle); }
.exp-reviews .h-review { background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .08); }
.exp-reviews .h-review blockquote { color: var(--c-on-photo); }
.exp-reviews .h-reviews__score { background: rgba(255, 255, 255, .07); color: var(--c-on-photo); }
.exp-reviews .h-reviews__score small { color: var(--c-on-dark); }
/* 2. Étapes : même espace au-dessus (après la tuile des avis) et en dessous (avant le prix) */
.exp13 .exp-steps { padding-top: clamp(3.5rem, 6vw, 5rem); padding-bottom: clamp(3.5rem, 6vw, 5rem); }
.exp13 .exp-steps .exp-steps__head { padding-top: 0; }
/* 3. Prix : deux colonnes sur ordinateur (prix et bouton à gauche, ce qui est inclus à droite),
      sans encadré blanc à l'intérieur */
@media (min-width: 861px) {
  .exp13 .exp-price { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); grid-template-areas: "head lists" "cta lists"; grid-template-rows: auto 1fr; column-gap: clamp(2.5rem, 5vw, 5rem); max-width: 72rem; text-align: left; padding: clamp(3rem, 5vw, 4.2rem) clamp(2rem, 4.5vw, 4.5rem); }
  .exp13 .exp-price__head { grid-area: head; }
  .exp13 .exp-price__cta { grid-area: cta; text-align: left; margin-top: 1.8rem; }
  .exp13 .exp-price__reassure { margin-left: 0; margin-right: 0; }
  .exp13 .exp-price__lists { grid-area: lists; display: block; background: transparent; padding: 0 0 0 clamp(2rem, 4vw, 3.5rem); margin: 0; max-width: none; border-left: 1px solid var(--h-line, rgba(0, 0, 0, .12)); border-radius: 0; }
  .exp13 .exp-price__col { padding: 0; }
  .exp13 .exp-price__col + .exp-price__col { border-left: none; margin-top: 1.8rem; padding-top: 1.6rem; border-top: 1px solid var(--h-line, rgba(0, 0, 0, .12)); }
  .exp13 .exp-price__col:first-child .exp-include-list { columns: 2; column-gap: 2rem; display: block; }
  .exp13 .exp-price__col:first-child .exp-include-list li { break-inside: avoid; margin-bottom: .4rem; }
}
.exp-reviews .h-review figcaption, .exp-reviews .h-review figcaption * { color: var(--c-surtitle); }
.exp-reviews .h-review figcaption span:not(:first-child), .exp-reviews .h-review figcaption small { color: var(--c-on-dark); opacity: .8; }
@media (min-width: 861px) { .exp13 .exp-price { max-width: none; margin-left: var(--h-pad); margin-right: var(--h-pad); } }
@media (max-width: 860px) {
  .exp13 .exp-price__lists { background: transparent; padding: 0; margin: 1.8rem 0; border-top: 1px solid var(--h-line, rgba(0, 0, 0, .12)); padding-top: 1.8rem; border-radius: 0; }
}

/* Accueil, « Inspirations » : photos seules, sans texte ni voile sombre (08/11) */
.h-mood:not(:has(> span))::after { display: none; }

/* Page Photography : l'ancre #series (bouton retour des séries) s'arrête sous le menu */
#series { scroll-margin-top: 5rem; }

/* ── Tablette (601 à 1179 px) : la barre de réservation des fiches expédition est aussi affichée,
      on lui applique donc les mêmes règles que sur téléphone (08/11) ── */
@media (min-width: 601px) and (max-width: 1179px) {
  /* la flèche « retour en haut » remonte au-dessus de la barre */
  .back-to-top { transition: opacity .3s ease, transform .3s ease, bottom .4s ease; }
  body:has(.exp-mbar.is-on) .back-to-top { bottom: calc(5.4rem + env(safe-area-inset-bottom)); right: 1rem; }
  /* la barre attend que le visiteur ait répondu au bandeau cookies */
  body.has-cookie-box .exp-mbar { transform: translateY(140%) !important; opacity: 0 !important; pointer-events: none; }
  /* de la place en bas de page pour que la barre ne cache pas le pied de page */
  body:has(.exp-mbar) .footer-bottom { padding-bottom: calc(5.5rem + env(safe-area-inset-bottom)); }
}

/* Journal : la tuile « Field notes & stories » disparaît quand une catégorie est choisie */
.j-intro[hidden] { display: none !important; }

/* ═══════════════════════════════════════════════════════════════════════
   ACCUEIL, « Inspirations » : mosaïque de 20 photos (08/11, version équilibrée)
   5 rangées de 4 photos. Dans une rangée, toutes les photos ont la même hauteur :
   chacune prend une largeur proportionnelle à son format (--a). Sur téléphone : 2 colonnes de carrés.
   ═══════════════════════════════════════════════════════════════════════ */
.h-mos { --mos-gap: clamp(.4rem, .8vw, .75rem); display: flex; flex-direction: column; gap: var(--mos-gap); }
.h-mos__row { display: flex; gap: var(--mos-gap); }
.h-mos__i { flex: var(--a) 1 0; aspect-ratio: var(--a); min-width: 0; margin: 0; overflow: hidden; border-radius: calc(var(--h-r, 14px) * .7); background: var(--c-bg-dark); }
.h-mos__i img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s cubic-bezier(.19, 1, .22, 1); }
.h-mos__i:hover img { transform: scale(1.05); }
@media (max-width: 600px) {
  .h-mos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .h-mos__row { display: contents; }
  .h-mos__i { aspect-ratio: 1; }
}

/* ═══════════════════════════════════════════════════════════════════════
   TÉLÉPHONE ET TABLETTE : en-têtes plein écran (08/11)
   Sur téléphone, « 100vh » correspond à l'écran sans les barres du navigateur : l'en-tête
   était coupé en bas. « svh » = hauteur réellement visible, barres du navigateur comprises.
   ═══════════════════════════════════════════════════════════════════════ */
@supports (height: 100svh) {
  @media (max-width: 1024px) {
    .h-cover { height: 100svh; }
    .article-hero { height: 100svh; }
  }
  @media (min-width: 769px) and (max-width: 1024px) { .exp13 .exp-hero { height: calc(100svh - 14rem); } }
  @media (max-width: 768px) { .exp13 .exp-hero { height: 78svh; } }
  @media (max-width: 600px) { .exp13 .exp-hero--mauritania { height: 70svh; } }
}

/* Page Film, fenêtre vidéo : pas de « Press ESC to close » sur écran tactile (pas de clavier) */
@media (hover: none), (max-width: 768px) { .video-lightbox-hint { display: none; } }

/* ── Ordinateur (08/11) : cadrage des en-têtes de fiches ──
   Mongolia : photo descendue, le bonnet de la silhouette n'est plus coupé ni sous le menu.
   Spiti : photo descendue, le sommet de la montagne est entier, le menu passe sur le ciel.
   Mongolia × Jody : photo calée à gauche, les chameaux reviennent vers le centre. */
@media (min-width: 769px) {
  .exp-hero--mongolia .exp-hero__image-wrap img { object-position: 50% 12%; }
  .exp-hero--spiti-valley .exp-hero__image-wrap img { object-position: 50% 0%; }
  .exp-hero--mongolia-jody .exp-hero__image-wrap img { object-position: 0% 100%; }
}
