/* Pages construites, style « Carnet » (02/10/2026) — types de section de
   _migration/design_handoff_page_pays/ (sections.css), préfixés pc-.
   Points de rupture : ≥ 1200 · 1024–1199 · 768–1023 · < 768.
   L'en-tête collé publie sa hauteur visible dans --hr-en-h (entete-carnet.js). */

/* Standard du site (François, 02/10/2026) : texte courant 15/1,5, comme la fiche
   et le circuit ; introductions 16/1,6. Mêmes valeurs sur mobile. */
.pc { --hr-sable: #f3efe7; background: var(--hr-papier); color: var(--hr-texte); font: 400 15px/1.5 var(--hr-font-texte); }
/* Pas d'overflow-x: clip ici : html et body le portent déjà (entete-carnet.css),
   et sur un ancêtre de la barre collée il la faisait scintiller sur iPhone */
.pc-chapitre__intro, .pc-randos__intro { font-size: 16px; line-height: 1.6; }
.pc h1, .pc h2, .pc h3, .pc h4 { padding: 0; }
.pc a { color: var(--hr-petrole); }
.pc img { display: block; max-width: 100%; }
.pc-conteneur { max-width: 1280px; margin: 0 auto; padding: 0 40px; box-sizing: border-box; }
.pc-corps { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 48px; }
.pc-corps--sans-sommaire { display: block; }
@media (max-width: 1199px) { .pc-corps { grid-template-columns: 176px minmax(0, 1fr); gap: 32px; } }
/* Sans raccourcis sous l'ouverture : l'espace double sur ordinateur (François, 03/10/2026) */
@media (min-width: 768px) { .pc-ouv + .pc-corps, .pc-ouv + .pc-sommaire-barre + .pc-corps { padding-top: 24px; } }
@media (max-width: 1023px) { .pc-corps { display: block; } }
@media (max-width: 767px) { .pc-conteneur { padding: 0 16px; } }
@media (min-width: 400px) and (max-width: 767px) { .pc-conteneur { padding: 0 18px; } }

/* ── Ouverture ─────────────────────────────────────────────── */
.pc-ouv--photo { position: relative; height: clamp(420px, 38vw, 560px); color: #fff; }
.pc-ouv--photo > img, .pc-ouv--photo picture img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pc-ouv--photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,25,32,0) 30%, rgba(10,25,32,.76) 100%); }
.pc-ouv__txt { position: relative; z-index: 1; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: 40px; }
.pc .pc-ouv h1 { margin: 0; max-width: 820px; font: 600 var(--hr-fs-h1)/var(--hr-lh-h1) var(--hr-font-titre); color: var(--hr-encre); text-wrap: balance; }
.pc .pc-ouv--photo h1, .pc-ouv--photo .pc-ariane, .pc .pc-ouv--photo .pc-ariane a, .pc-ouv--photo .pc-reperes { color: #fff; }
.pc-ariane { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; font-size: 13px; line-height: 1.4; color: var(--hr-texte-2); }
.pc-reperes { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 20px 0 0; padding: 0; list-style: none; font-size: 15px; line-height: 1.4; color: var(--hr-texte-2); }
.pc-reperes li { display: flex; align-items: baseline; gap: 6px; margin: 0; padding: 0; }
.pc-reperes strong { font: 600 22px var(--hr-font-titre); color: var(--hr-petrole); }
.pc-ouv--photo .pc-reperes strong { color: #fff; }
.pc-ouv--sans { padding-top: 40px; }
/* Titre en deux lignes (« | » dans titre:) : la première plus petite et plus légère, la seconde en grand
   (maquette D, François, 06/10/2026 : on lit d'abord « qui vous ressemble ») */
.pc .pc-ouv h1 .pc-ouv__l1, .pc .pc-ouv h1 .pc-ouv__l2 { display: block; }
.pc .pc-ouv h1 .pc-ouv__l1 { font-size: .72em; font-weight: 500; letter-spacing: .01em; }
.pc .pc-ouv h1 .pc-ouv__l2 { font-size: 1.12em; }
.pc-ouv--sans .pc-ouv__txt { padding-bottom: 0; }   /* titre sans photo (FAQ, 03/10/2026) : l'introduction suit de près */
@media (max-width: 1199px) { .pc .pc-ouv h1 { font-size: 44px; } }
@media (max-width: 767px) {
  /* Photo 3:2 puis titre sur papier (titre sur la photo seulement avec image-mobile) */
  .pc-ouv--photo:not(.a-image-mobile) { height: auto; color: inherit; }
  .pc-ouv--photo:not(.a-image-mobile) > img { position: static; aspect-ratio: 2 / 1; height: auto; }
  .pc-ouv--photo:not(.a-image-mobile)::after { display: none; }
  .pc-ouv--photo:not(.a-image-mobile) .pc-ouv__txt { padding: 16px 16px 0; }
  .pc .pc-ouv--photo:not(.a-image-mobile) h1 { color: var(--hr-encre); }
  .pc-ouv--photo:not(.a-image-mobile) .pc-ariane { color: var(--hr-texte-2); }
  .pc .pc-ouv--photo:not(.a-image-mobile) .pc-ariane a { color: var(--hr-petrole); }
  .pc-ouv--photo:not(.a-image-mobile) .pc-reperes { color: var(--hr-texte-2); }
  .pc-ouv--photo:not(.a-image-mobile) .pc-reperes strong { color: var(--hr-petrole); }
  .pc-ouv--photo.a-image-mobile { height: 460px; }
  .pc-ouv--photo.a-image-mobile::after { background: linear-gradient(180deg, rgba(10,25,32,0) 38%, rgba(10,25,32,.82) 100%); }
  .pc-ouv--photo.a-image-mobile .pc-ouv__txt { padding-bottom: 24px; }
  .pc .pc-ouv h1 { font-size: 30px; line-height: 1.12; text-wrap: wrap; }
  .pc-reperes { display: grid; grid-template-columns: auto auto; justify-content: start; gap: 4px 20px; margin-top: 14px; font-size: 14px; }
  .pc-reperes strong { font-size: 19px; }
  /* Accueil : quatre repères, deux par ligne (randonnées et points de vue,
     puis destinations et randonneur ; François, 07/10/2026) */
  .pc-ouv--accueil .pc-reperes { display: grid; grid-template-columns: auto auto; justify-content: start; gap: 2px 16px; font-size: 13px; white-space: nowrap; }
  .pc-ouv--accueil .pc-reperes strong { font-size: 17px; }
}

/* ── Raccourcis (tuiles) ───────────────────────────────────── */
.pc-raccourcis { display: grid; grid-template-columns: repeat(var(--n, 5), minmax(0, 1fr)); gap: 12px; padding-top: 24px; }
.pc .pc-tuile { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 4px 12px; align-items: start; min-height: 88px; padding: 16px; box-sizing: border-box; background: var(--hr-surface); border: 1px solid var(--hr-bordure); border-radius: var(--hr-r-md); text-decoration: none; color: var(--hr-texte); transition: border-color var(--hr-transition), box-shadow var(--hr-transition); }
.pc .pc-tuile:focus-visible { outline: none; box-shadow: var(--hr-focus); }
.pc-tuile__ic { grid-row: span 2; width: 36px; height: 36px; border-radius: 50%; background: var(--hr-vert-pale); color: var(--hr-vert-texte); display: flex; align-items: center; justify-content: center; }
.pc-tuile__t { font: 600 15px/1.3 var(--hr-font-texte); color: var(--hr-encre); }
.pc-tuile__s { font-size: 13px; line-height: 1.4; color: var(--hr-texte-2); }
@media (hover: hover) { .pc .pc-tuile:hover { border-color: var(--hr-petrole); box-shadow: var(--hr-om-survol); } }
@media (max-width: 1199px) { .pc .pc-tuile { grid-template-columns: 1fr; } .pc-tuile__ic { grid-row: auto; } }
@media (max-width: 767px) {
  .pc-raccourcis { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-left: 16px; margin: 0 -16px; padding: 20px 16px 4px; scrollbar-width: none; }
  .pc .pc-tuile { flex: 0 0 200px; min-height: 112px; padding: 14px; scroll-snap-align: start; display: flex; flex-direction: column; gap: 6px; }
  .pc-tuile__ic { width: 32px; height: 32px; } .pc-tuile__ic svg { width: 18px; height: 18px; }
}
@media (min-width: 400px) and (max-width: 767px) { .pc-raccourcis { margin: 0 -18px; padding-left: 18px; padding-right: 18px; scroll-padding-left: 18px; } }

/* ── Sommaire ──────────────────────────────────────────────── */
.pc-sommaire { padding-top: 40px; }
.pc-sommaire__in { position: sticky; top: calc(var(--hr-en-h, 0px) + 24px); }
.pc-sommaire__t { margin-bottom: 10px; font: 600 11px var(--hr-font-texte); letter-spacing: .08em; text-transform: uppercase; color: var(--hr-texte-3); }
.pc-sommaire ul, .pc-sommaire-barre ul { margin: 0; padding: 0; list-style: none; }
.pc-sommaire li, .pc-sommaire-barre li { margin: 0; padding: 0; }
.pc .pc-sommaire a { display: block; padding: 7px 0 7px 12px; border-left: 2px solid var(--hr-filet); font-size: 14px; line-height: 1.35; color: var(--hr-texte-2); text-decoration: none; }
.pc .pc-sommaire a[aria-current="true"] { border-left-color: var(--hr-petrole); color: var(--hr-petrole); font-weight: 600; }
.pc-sommaire-barre { display: none; }
@media (max-width: 1023px) {
  .pc-sommaire { display: none; }
  /* Comme la bande des jours du circuit : au-dessus de la carte (Leaflet 400-1000), fond
     opaque, et suit l'en-tête en douceur (il scintillait sur iPhone, François, 02/10/2026) */
  .pc-sommaire-barre { display: block; position: sticky; top: var(--hr-en-h, 0px); z-index: 1100; margin-top: 24px; background: var(--hr-papier); border-bottom: 1px solid var(--hr-bordure); transition: top 150ms ease-out; }
  .pc-sommaire-barre ul { display: flex; gap: 6px; padding: 0 16px; overflow-x: auto; scrollbar-width: none; }
  .pc-sommaire-barre ul::-webkit-scrollbar { display: none; }
  .pc .pc-sommaire-barre a { display: flex; align-items: center; height: 52px; text-decoration: none; }
  .pc-sommaire-barre span { display: inline-flex; align-items: center; height: 36px; padding: 0 14px; border: 1px solid var(--hr-bordure); border-radius: var(--hr-r-rond); background: var(--hr-surface); color: var(--hr-encre); font: 500 14px var(--hr-font-texte); white-space: nowrap; }
  .pc-sommaire-barre a[aria-current="true"] span { background: var(--hr-petrole); border-color: var(--hr-petrole); color: #fff; }
  .pc-sommaire-barre::after { content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 32px; background: linear-gradient(90deg, rgba(250,248,244,0), var(--hr-papier)); pointer-events: none; }
}

/* ── Chapitre ──────────────────────────────────────────────── */
.pc-chapitre { padding-top: 40px; scroll-margin-top: calc(var(--hr-en-h, 0px) + 24px); }
.pc .pc-chapitre h2 { margin: 0; font: 600 var(--hr-fs-h2)/var(--hr-lh-h2) var(--hr-font-titre); color: var(--hr-encre); text-wrap: balance; }
.pc-chapitre h2::after { content: ""; display: block; width: 48px; height: 3px; margin-top: 16px; background: var(--hr-vert); border-radius: 2px; }
.pc-chapitre__intro { max-width: 680px; margin: 20px 0 0; }
.pc-chapitre__intro p { margin: 0 0 16px; padding: 0; }
.pc-chapitre__intro p:last-child { margin-bottom: 0; }
@media (max-width: 1023px) { .pc-chapitre { scroll-margin-top: calc(var(--hr-en-h, 0px) + 64px); } }
@media (max-width: 767px) { .pc-chapitre { padding-top: 40px; } .pc-chapitre h2::after { width: 40px; margin-top: 12px; } }

/* ── Texte ─────────────────────────────────────────────────── */
.pc-texte { padding: 24px 0 32px; }
.pc-texte__grille { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 48px; align-items: start; }
.pc-texte--gauche .pc-texte__grille { grid-template-columns: 320px minmax(0, 1fr); }
.pc-texte--gauche .pc-texte__cote { order: -1; }
.pc-texte__corps { max-width: 600px; }
.pc-texte--seul .pc-texte__corps { max-width: 680px; }
.pc-texte__corps p, .pc-rando__texte p, .pc-region__texte p, .pc-outil p, .pc-texte__large p, .pc-texte__suite p, .pc-onglets-section__panneau p, .pc-saisons p { margin: 0 0 16px; padding: 0; }
.pc-texte__corps > p:last-child { margin-bottom: 0; }
.pc .pc-mot.pc-mot { margin-top: 32px; }
.pc .pc-texte__corps > h3:not(:first-child) { margin-top: 28px; }
.pc .pc-texte__corps > h4:not(:first-child) { margin-top: 20px; }
.pc .pc-boutons.pc-boutons { margin-top: 20px; }
.pc p + .pc-liens { margin-top: 10px; }
.pc-texte__corps strong { color: var(--hr-encre); }
/* Listes des textes (sans classe) : puces et numéros, que base.css ne pose plus */
.pc ul:not([class], .pc-sommaire ul, .pc-sommaire-barre ul) { list-style: disc; }
.pc ol:not([class], .pc-sommaire ol, .pc-sommaire-barre ol) { list-style: decimal inside; }
.pc .pc-colonne ul:not([class]) { padding: 0 0 23px 1em; line-height: 26px; }
.pc :is(.pc-texte__corps, .pc-texte__large, .pc-texte__suite, .pc-onglets-section__panneau, .pc-periode__txt) ul { margin: 0 0 16px; padding: 0 0 0 22px; line-height: inherit; }
.pc :is(.pc-texte__corps, .pc-texte__large, .pc-texte__suite, .pc-onglets-section__panneau, .pc-periode__txt) li + li { margin-top: 4px; }
.pc :is(.pc-texte__corps, .pc-texte__large, .pc-texte__suite, .pc-saisons) h3 { margin: 28px 0 12px; font: 600 var(--hr-fs-h3)/1.3 var(--hr-font-titre); color: var(--hr-encre); }
.pc :is(.pc-texte__large, .pc-texte__suite, .pc-saisons) > h3:first-child { margin-top: 0; }
.pc :is(.pc-texte__corps, .pc-texte__large, .pc-texte__suite, .pc-saisons, .pc-onglets-section__panneau) h4 { margin: 20px 0 8px; font: 600 16px/1.4 var(--hr-font-texte); color: var(--hr-encre); }
.pc :is(.pc-texte__corps, .pc-texte__large, .pc-texte__suite, .pc-saisons) > h4:first-child { margin-top: 0; }
.pc .pc-texte__corps > h3:first-child { margin-top: 0; }
.pc-texte__cote { display: grid; gap: 12px; }
.pc-texte__cote img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--hr-r-md); }
.pc-texte__cote--une img { aspect-ratio: 4 / 5; }
/* Photos alignées sur un bloc du texte (placées par pages-carnet.js) ; légende facultative (« | texte ») */
.pc-texte__cote--ancres { display: block; }
.pc-texte__cote--ancres > .pc-photo-place { display: block; }
.pc-photo { margin: 0; }
.pc-photo figcaption { margin-top: 6px; font-size: 13px; line-height: 1.4; color: var(--hr-texte-2); }
.pc-ancre { display: block; }
/* « (paysage) » : une photo seule en 3:2, pour une section courte (François, 03/10/2026) */
.pc-texte__cote--paysage img { aspect-ratio: 3 / 2; }
/* Plusieurs photos (format inchangé) : l'espace libre de la colonne se répartit
   au-dessus (--haut), entre les photos (.pc-espace) et dessous (--bas), selon
   leur nombre (pc_texte(), François, 02/10/2026) */
.pc-texte__cote--plusieurs { align-self: stretch; display: flex; flex-direction: column; gap: 0; }
.pc-texte__cote--plusieurs > :not(.pc-espace) { flex: none; }
.pc-texte__cote--plusieurs::before { content: ""; flex: var(--haut, 30) 1 0; }
.pc-texte__cote--plusieurs::after { content: ""; flex: var(--bas, 30) 1 0; }
.pc-espace { flex: 40 1 0; min-height: 12px; }
.pc-texte__mobile { display: none; }
/* « photo: … (titre) » ou « (surtitre) » : la colonne des photos monte
   jusqu'au titre ou au surtitre du chapitre qui précède la section, dont le titre se range au-dessus de la
   colonne du texte (pages-carnet.js mesure l'une et l'autre : --pc-monte, et
   les marges du chapitre ; François, 06/10/2026, accueil). Ordinateur seulement. */
@media screen and (min-width: 1024px) {
  .pc-texte--haut .pc-texte__cote { margin-top: calc(-1 * var(--pc-monte, 0px)); }
  .pc-chapitre:has(+ .pc-texte--haut) { padding-left: var(--pc-ch-g, 0px); padding-right: var(--pc-ch-d, 0px); }
}

@media (max-width: 1023px) {
  .pc-texte__grille { grid-template-columns: minmax(0, 1fr) minmax(0, .7fr); }
  /* Photo à gauche : colonnes inversées, le texte garde la plus large (comme au-dessus de 1 023 px ; François, 06/10/2026) */
  .pc-texte--gauche .pc-texte__grille { grid-template-columns: minmax(0, .7fr) minmax(0, 1fr); }
}
@media (max-width: 767px) {
  .pc-texte { padding: 24px 0 32px; }
  .pc-texte__grille, .pc-texte--gauche .pc-texte__grille { grid-template-columns: 1fr; gap: 20px; }
  .pc-texte__cote { order: 2 !important; }
  .pc-texte__cote > :not(:first-child) { display: none; }
  .pc-texte__cote img { aspect-ratio: 3 / 2 !important; }   /* 16:10 → 3:2 (François, 06/10/2026) ; « (portrait) » : 4:5 */
  .pc-texte__cote { padding-top: 0 !important; }
  .pc-texte__cote--plusieurs { display: grid; gap: 12px; } .pc-texte__cote--plusieurs::before, .pc-texte__cote--plusieurs::after, .pc-espace { display: none; }
  .pc-texte--a-mobile .pc-texte__cote, .pc-texte--ordi-seul .pc-texte__cote, .pc-texte__cote .pc-ordi { display: none; }
  .pc-texte__cote--ancres > .pc-photo-place { margin-top: 0 !important; }
  .pc-texte__mobile { display: block; order: 3; margin-top: 20px; }
  .pc-texte__grille .pc-texte__mobile { margin-top: 0; }
  .pc-texte__mobile img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--hr-r-md); }
  .pc-texte__mobile > :not(:first-child) { display: none; }
}
/* « photo: … (portrait) » : 4:5, photo par photo. Sur ordinateur, quel que
   soit le nombre de photos de la colonne (4:3 sinon dès qu'il y en a deux) ;
   sur mobile, à 82 % de la largeur, centrée, au lieu du 3:2 pleine largeur
   (François, 06/10/2026). */
.pc-portrait { display: contents; }
.pc-texte__cote .pc-portrait img { aspect-ratio: 4 / 5; }
@media screen and (max-width: 767px) {
  .pc-texte .pc-portrait { display: block; width: 82%; margin: 0 auto; }
  .pc-texte .pc-portrait img { aspect-ratio: 4 / 5 !important; }
}
/* « == texte suite » : la section continue la précédente (nouvelle photo au
   même chapitre) ; entre elles, l'espace d'un sous-titre dans une section
   (28 px) au lieu de celui de deux sections (56, 48 sur mobile ; Lofoten,
   François, 06/10/2026) */
.pc-texte:has(+ .pc-texte--suite) { padding-bottom: 0; }
.pc-texte.pc-texte--suite { padding-top: 28px; }
/* Section faite d'une seule photo « (mobile) », sans texte : rien à montrer
   ailleurs (sinon 56 px de vide sur ordinateur ; Norvège, 06/10/2026) */
@media (min-width: 768px), print {
  .pc-texte--seul:has(> .pc-texte__corps:empty):not(:has(> .pc-texte__large)) { display: none; }
}
/* Sur mobile, la photo suit la section précédente à 24 px (75 avant :
   François, 06/10/2026) */
@media screen and (max-width: 767px) {
  .pc-texte--seul:has(> .pc-texte__corps:empty):not(:has(> .pc-texte__large)) { padding-top: 0; }
  .pc-texte--seul:has(> .pc-texte__corps:empty):not(:has(> .pc-texte__large)) .pc-texte__mobile { margin-top: 0; }
}

/* ── Mot de l'auteur ───────────────────────────────────────── */
.pc-mot { position: relative; max-width: 600px; margin: 64px 0 0; padding-left: 48px; }
.pc-mot::before { content: "“"; position: absolute; left: 0; top: -8px; font: 600 54px/1 var(--hr-font-titre); color: var(--hr-vert); }
.pc-mot blockquote { margin: 0; padding: 0; border: 0; font: italic 500 17px/1.5 var(--hr-font-titre); color: var(--hr-encre); text-wrap: pretty; }
.pc-mot blockquote strong { font-weight: 600; }
.pc-mot figcaption { display: flex; align-items: center; gap: 10px; margin-top: 14px; font-size: 14px; color: var(--hr-texte-2); }
.pc-mot figcaption b { font-weight: 600; color: var(--hr-encre); }
.pc-mot__avatar { width: 28px; height: 28px; border-radius: 50%; background: var(--hr-petrole); color: #fff; display: inline-flex; align-items: center; justify-content: center; font: 600 13px var(--hr-font-titre); }
@media (max-width: 767px) {
  .pc .pc-mot.pc-mot { margin-top: 20px !important; } .pc-mot { padding-left: 40px; } .pc-mot::before { font-size: 48px; top: -6px; }
  .pc-mot blockquote { font-size: 16px; line-height: 1.45; } .pc-mot figcaption { font-size: 13.5px; gap: 8px; } .pc-mot__avatar { width: 24px; height: 24px; font-size: 12px; }
}

/* ── Régions ───────────────────────────────────────────────── */
.pc-regions { display: grid; grid-template-columns: minmax(0, 440px) minmax(0, 1fr); gap: 24px; align-items: start; padding: 24px 0 32px; }
.pc-regions__carte { position: sticky; top: calc(var(--hr-en-h, 0px) + 24px); }
.pc-regions__leaflet { height: 600px; border: 1px solid var(--hr-bordure); border-radius: var(--hr-r-md); background: #e8eef0; }
.pc-regions__leaflet .leaflet-tile-pane { filter: saturate(.4) brightness(1.04); }
.pc-regions__legende { display: flex; justify-content: space-between; gap: 12px; margin-top: 10px; font-size: 13px; color: var(--hr-texte-2); }
.pc-regions__liste { display: grid; gap: 14px; }
.pc-region { display: grid; grid-template-columns: 148px minmax(0, 1fr); gap: 16px; padding: 14px; background: var(--hr-surface); border: 1px solid var(--hr-bordure); border-radius: var(--hr-r-md); }
.pc-region:focus-visible { outline: none; }
.pc-region.est-active { box-shadow: 0 0 0 2px var(--region-c); }
.pc-region > img { width: 148px; height: auto; aspect-ratio: 4 / 5; align-self: start; object-fit: cover; border-radius: var(--hr-r-sm); }
.pc-region__tete { display: flex; align-items: center; gap: 8px; }
.pc-region__num { width: 22px; height: 22px; border-radius: 50%; background: var(--region-c); color: #fff; font: 600 12px var(--hr-font-texte); display: inline-flex; align-items: center; justify-content: center; }
.pc-region__nb { font: 600 11.5px var(--hr-font-texte); letter-spacing: .08em; text-transform: uppercase; color: var(--hr-vert-texte); }
.pc .pc-region h3 { margin: 6px 0 10px; font: 600 21px/1.25 var(--hr-font-titre); color: var(--hr-encre); }
.pc-region p { margin: 0; font-size: 15px; line-height: 1.5; }
.pc-region__texte { margin-top: 12px; }
.pc-region__texte p { margin: 0 0 12px; }
.pc-region__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; margin-top: 14px; }
.pc-etiquette { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 10px 0 4px; background: #fff; border-radius: var(--hr-r-rond); box-shadow: var(--hr-om-controle); font: 600 13px var(--hr-font-texte); color: var(--hr-encre); white-space: nowrap; cursor: pointer; box-sizing: border-box; }
.pc-etiquette i { font-style: normal; width: 20px; height: 20px; border-radius: 50%; background: var(--region-c); color: #fff; font-size: 11.5px; display: inline-flex; align-items: center; justify-content: center; }
.pc-etiquette em { font-style: normal; font-weight: 500; color: var(--hr-texte-2); }
.pc-etiquette.est-attenuee { opacity: .45; }
.pc-etiquette.est-active { box-shadow: 0 0 0 2px var(--region-c), var(--hr-om-controle); }
@media (max-width: 1199px) {
  .pc-regions { grid-template-columns: 1fr; }
  .pc-regions__carte { position: relative; top: 0; } .pc-regions__leaflet { height: 360px; }
}
@media (max-width: 767px) {
  .pc-regions { gap: 12px; padding: 24px 0 32px; }
  .pc-regions__leaflet { height: 340px; }
  .pc-region { grid-template-columns: 96px minmax(0, 1fr); gap: 12px; padding: 12px; }
  .pc-region > img { width: 96px; }
  .pc .pc-region h3 { font-size: 18px; margin: 4px 0 10px; } .pc-region p { font-size: 14.5px; line-height: 1.5; }
  .pc-region__actions { grid-column: 1 / -1; margin-top: 6px; }
  .pc-region__actions .pc-btn { width: 100%; justify-content: space-between; height: 44px; }
  .pc-region__lire, .pc-region__texte { display: none !important; }
  .pc-etiquette em { display: none; }
}

/* ── Randonnées ────────────────────────────────────────────── */
.pc-randos-bloc { padding-bottom: 24px; }
.pc-onglets { display: flex; gap: 4px; margin-top: 28px; border-bottom: 1px solid var(--hr-bordure); }
.pc-onglets button { height: 48px; padding: 0 16px; margin-bottom: -1px; border: 0; border-bottom: 3px solid transparent; background: none; font: 600 15.5px var(--hr-font-texte); color: var(--hr-texte-2); white-space: nowrap; cursor: pointer; }
.pc-onglet__court { display: none; }
.pc-onglets button span { font-weight: 500; color: var(--hr-texte-3); }
.pc-onglets button[aria-selected="true"] { color: var(--hr-petrole); border-bottom-color: var(--hr-petrole); }
.pc-onglets button:focus-visible { outline: none; box-shadow: var(--hr-focus); }
/* Sélections de randonnées : sélecteur à deux boutons, comme le choix FR / EN
   (François, 06/10/2026 : l'onglet inactif passait pour un intertitre) */
.pc .pc-randos-bloc .pc-onglets { display: inline-flex; gap: 4px; margin-left: 0; padding: 4px; border: 1px solid var(--hr-bordure); border-radius: var(--hr-r-rond); background: var(--hr-surface); }
.pc .pc-randos-bloc .pc-onglets button { height: 44px; margin: 0; padding: 0 22px; border: 0; border-radius: var(--hr-r-rond); background: transparent; color: var(--hr-encre); }
.pc .pc-randos-bloc .pc-onglets button > span:not([class]) { color: var(--hr-texte-3); }
.pc .pc-randos-bloc .pc-onglets button > span[class] { color: inherit; }
.pc .pc-randos-bloc .pc-onglets button[aria-selected="true"] { background: var(--hr-petrole); color: #fff; }
.pc .pc-randos-bloc .pc-onglets button[aria-selected="true"] > span:not([class]) { color: rgba(255, 255, 255, .75); }
@media (hover: hover) { .pc .pc-randos-bloc .pc-onglets button:not([aria-selected="true"]):hover { background: var(--hr-petrole-pale); color: var(--hr-petrole); } }
/* Renvoi vers le second onglet, à la fin du premier (pages-carnet.js) */
.pc-renvoi { margin: 24px 0 0; padding: 16px 20px; border: 1px dashed var(--hr-bordure); border-radius: var(--hr-r-md); font-size: 16px; line-height: 1.5; color: var(--hr-texte-2); text-align: center; }
.pc .pc-renvoi button { margin: 0; padding: 0; border: 0; background: none; font: 600 16px/1.5 var(--hr-font-texte); color: var(--hr-petrole); cursor: pointer; }
@media (hover: hover) { .pc .pc-renvoi button:hover { text-decoration: underline; text-underline-offset: 3px; } }
.pc-randos__intro { max-width: 680px; margin: 20px 0 28px; }
.pc-randos__intro p { margin: 0 0 16px; } .pc-randos__intro p:last-child { margin-bottom: 0; }
.pc-randos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
/* Sans introduction : 28 px sous les onglets (le texte d'introduction les donnait) ;
   le titre d'impression caché (.pc-onglet-papier, pages-carnet.js) peut précéder la grille */
.pc-randos-panneau > :is(.pc-randos:first-child, .pc-onglet-papier:first-child + .pc-randos) { margin-top: 28px; }
/* Blanc adouci, comme l'encadré et les tableaux (François, 03/10/2026) : 75 % papier, 65 % sable */
.pc-groupe--pair .pc-rando { background: rgba(255, 255, 255, .65); }
.pc-rando { display: flex; flex-direction: column; background: rgba(255, 255, 255, .75); border: 1px solid var(--hr-bordure); border-radius: var(--hr-r-md); overflow: hidden; transition: box-shadow var(--hr-transition); }
.pc-rando img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }   /* 16:10 → 3:2 (François, 06/10/2026) */
.pc-rando__corps { display: flex; flex-direction: column; flex: 1; padding: 16px 18px 18px; }
.pc-rando__lieu { font: 600 11px/1.3 var(--hr-font-texte); letter-spacing: .08em; text-transform: uppercase; color: var(--hr-vert-texte); }
.pc .pc-rando__nom { margin: 6px 0 0; font: 600 20px/1.25 var(--hr-font-titre); }
.pc .pc-rando__nom .pc-rando__acc { display: block; }
.pc .pc-rando__nom a { color: var(--hr-encre); text-decoration: none; }
.pc-rando__acc { margin-top: 4px; font: 500 15px/1.4 var(--hr-font-texte); color: var(--hr-encre); }
.pc-chiffres { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin-top: 10px; font: 500 13px var(--hr-font-texte); color: var(--hr-encre); }
.pc-chiffres .pt { color: var(--hr-texte-3); }
.pc-carres { display: inline-flex; gap: 2px; }
.pc-carres i { width: 10px; height: 10px; border-radius: 1.5px; background: #e2dccf; }
.pc-carres i.on { background: var(--hr-petrole); }
.pc-rando__texte { margin: 12px 0 0; font-size: 15px; line-height: 1.5; text-wrap: pretty; }
.pc-rando__texte p { margin: 0 0 10px; } .pc-rando__texte p:last-child { margin-bottom: 0; }
.pc-rando__pied { margin-top: auto; padding-top: 14px; }
.pc .pc-rando__fiche { font: 600 14.5px var(--hr-font-texte); color: var(--hr-petrole); text-decoration: none; }
.pc-rando__lire, .pc-randos__plus { display: none; }
@media (hover: hover) { .pc-rando:hover { box-shadow: var(--hr-om-survol); } .pc .pc-rando__nom a:hover { color: var(--hr-petrole); } }
@media (max-width: 1199px) { .pc-randos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .pc-onglets { display: grid; grid-template-columns: repeat(var(--n, 2), minmax(0, 1fr)); margin-top: 20px; } .pc-onglets button { font-size: 15px; padding: 0; } .pc-onglets button > span:not([class]) { display: none; }
  .pc-onglet__long { display: none; } .pc-onglet__court { display: inline; }
  /* Plus de 3 onglets, ou un libellé trop long : défilement, jamais deux lignes */
  .pc-onglets--defile { display: flex; overflow-x: auto; scrollbar-width: none; } .pc-onglets--defile button { flex: 0 0 auto; padding: 0 14px; }
  .pc-randos__intro { margin: 16px 0 24px; padding-bottom: 20px; border-bottom: 1px solid var(--hr-bordure); }
  .pc-randos { grid-template-columns: 1fr; gap: 16px; }
  .pc .pc-randos-bloc .pc-onglets { display: grid; width: 100%; box-sizing: border-box; }
  .pc .pc-randos-bloc .pc-onglets button { padding: 0 8px; }
  .pc-renvoi { padding: 14px 16px; font-size: 15px; }
  .pc-randos-panneau > :is(.pc-randos:first-child, .pc-onglet-papier:first-child + .pc-randos) { margin-top: 20px; }
  .pc-rando img { aspect-ratio: 3 / 2; }   /* 16:9 → 3:2 (François, 06/10/2026) */
  .pc-rando__corps { padding: 14px 16px 6px; }
  .pc .pc-rando__nom { font-size: 19px; margin-top: 4px; }
  .pc-rando__texte { margin-top: 10px; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
  .pc-rando.est-ouverte .pc-rando__texte { display: block; -webkit-line-clamp: unset; }
  .pc-rando__pied { display: flex; justify-content: space-between; align-items: center; padding-top: 4px; }
  .pc-rando__lire { display: block; height: 44px; padding: 0; border: 0; background: none; font: 600 14.5px var(--hr-font-texte); color: var(--hr-petrole); cursor: pointer; }
  .pc .pc-rando__fiche { display: flex; align-items: center; height: 44px; }
  .pc-randos:not(.tout-voir) .pc-rando:nth-child(n+4) { display: none; }
  .pc .pc-randos__plus { display: flex; width: 100%; height: 48px; margin-top: 16px; justify-content: center; }
  .pc .pc-randos.tout-voir + .pc-randos__plus { display: none; }
}

/* ── Outils (« Explorer ») ─────────────────────────────────── */
.pc-outils { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; padding: 40px 0 24px; }
.pc-outil { display: flex; flex-direction: column; gap: 14px; }
.pc-outil__tete { display: flex; align-items: center; gap: 12px; }
.pc-outil__ic { flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; background: var(--hr-vert-pale); color: var(--hr-vert-texte); display: flex; align-items: center; justify-content: center; }
.pc .pc-outil h3 { margin: 0; font: 600 22px/1.3 var(--hr-font-titre); color: var(--hr-encre); }
.pc-outil p { margin: 0; font-size: 15px; line-height: 1.5; }
.pc-liens { background: var(--hr-surface); border: 1px solid var(--hr-bordure); border-radius: var(--hr-r-md); overflow: hidden; }
.pc .pc-lien-rangee { display: grid; grid-template-columns: minmax(0, 1fr) 20px; align-items: center; gap: 12px; min-height: 60px; padding: 10px 16px; box-sizing: border-box; text-decoration: none; transition: background var(--hr-transition); }
.pc-lien-rangee + .pc-lien-rangee { border-top: 1px solid var(--hr-filet); }
.pc .pc-lien-rangee:focus-visible { outline: none; box-shadow: inset 0 0 0 2px var(--hr-petrole); }
.pc-lien-rangee__l { display: block; font: 600 15px/1.35 var(--hr-font-texte); color: var(--hr-encre); }
.pc-lien-rangee__s { display: block; margin-top: 2px; font-size: 13px; line-height: 1.4; color: var(--hr-texte-2); }
.pc-lien-rangee::after { content: "→"; font: 600 17px var(--hr-font-texte); color: var(--hr-petrole); }
@media (hover: hover) { .pc .pc-lien-rangee:hover { background: var(--hr-petrole-pale); } }
@media (max-width: 1023px) { .pc-outils { grid-template-columns: 1fr; } .pc-outil { display: grid; grid-template-columns: minmax(0, 1fr) 360px; column-gap: 32px; row-gap: 14px; align-content: start; } .pc-outil .pc-liens { grid-column: 2; grid-row: 1 / span 2; } }
@media (max-width: 767px) {
  .pc-outils { gap: 28px; padding-top: 24px; } .pc-outil { display: flex; gap: 10px; }
  .pc-outil__ic { flex-basis: 36px; width: 36px; height: 36px; } .pc .pc-outil h3 { font-size: 19px; }
  .pc .pc-lien-rangee { min-height: 56px; padding: 8px 14px; }
}

/* ── FAQ ───────────────────────────────────────────────────── */
.pc-faq-bloc { padding: 32px 0 0; }
.pc-faq { max-width: 760px; display: grid; gap: 8px; }
.pc-faq details { background: var(--hr-surface); border: 1px solid var(--hr-bordure); border-radius: var(--hr-r-md); }
.pc-faq summary { display: grid; grid-template-columns: minmax(0, 1fr) 28px; align-items: center; gap: 16px; min-height: 58px; padding: 14px 20px; box-sizing: border-box; font: 600 16.5px/1.4 var(--hr-font-texte); color: var(--hr-encre); cursor: pointer; list-style: none; }
.pc-faq summary::-webkit-details-marker { display: none; }
.pc-faq summary::after { content: "+"; width: 28px; height: 28px; border-radius: 50%; background: var(--hr-petrole-pale); color: var(--hr-petrole); display: flex; align-items: center; justify-content: center; font: 500 20px/1 var(--hr-font-texte); }
.pc-faq details[open] summary::after { content: "−"; }
.pc-faq summary:focus-visible { outline: none; box-shadow: var(--hr-focus); border-radius: var(--hr-r-md); }
.pc-faq__r { max-width: 680px; padding: 0 20px 20px; font-size: 15px; line-height: 1.5; }
.pc-faq__r p { margin: 0 0 12px; padding: 0; } .pc-faq__r p:last-child { margin-bottom: 0; }
.pc-faq__suite { margin-top: 24px; }
@media (max-width: 767px) {
  .pc-faq summary { min-height: 56px; padding: 12px 16px; gap: 12px; font-size: 15.5px; }
  .pc-faq__r { padding: 0 16px 16px; }
}

/* ── Boutons ───────────────────────────────────────────────── */
.pc-boutons { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0 0; }
.pc .pc-btn { display: inline-flex; align-items: center; gap: 10px; height: 44px; padding: 0 18px; box-sizing: border-box; border-radius: var(--hr-r-sm); font: 600 15px var(--hr-font-texte); text-decoration: none; cursor: pointer; transition: background var(--hr-transition); }
.pc .pc-btn::after { content: "→"; }
.pc .pc-btn--principal { background: var(--hr-petrole); color: #fff; border: 0; }
.pc .pc-btn--secondaire { background: var(--hr-surface); color: var(--hr-petrole); border: 1.5px solid var(--hr-petrole); }
.pc .pc-btn--carte { height: 40px; padding: 0 16px; font-size: 14.5px; }
.pc .pc-btn:focus-visible { outline: none; box-shadow: var(--hr-focus); }
@media (min-width: 768px) { .pc .pc-randos__plus { display: none; } }
.pc .pc-randos__plus::after { content: none; }
@media (hover: hover) { .pc .pc-btn--principal:hover { background: var(--hr-petrole-fonce); } .pc .pc-btn--secondaire:hover { background: var(--hr-petrole-pale); } }
.pc-lien-texte { padding: 0; border: 0; background: none; font: 600 14.5px var(--hr-font-texte); color: var(--hr-petrole); text-decoration: none; cursor: pointer; }
.pc-lien-casse { color: var(--hr-trace); }
@media (max-width: 767px) { .pc-boutons .pc-btn, .pc-faq__suite { width: 100%; height: 48px; justify-content: space-between; } }

/* ══ Types des guides régionaux (03/10/2026) ════════════════════════
   Design : _migration/design_handoff_guide_lofoten/ (sections-guide.css),
   préfixé pc-. Carte, grille, saisons, onglets, tableaux du texte. */

/* ── Filtre par île (carte et grille) : neutre, la couleur est à la difficulté ── */
.pc-filtre-iles { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0 12px; }
.pc-filtre-iles button { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border: 1px solid var(--hr-bordure); border-radius: var(--hr-r-rond); background: var(--hr-surface); color: var(--hr-encre); font: 500 14px var(--hr-font-texte); white-space: nowrap; cursor: pointer; }
.pc-filtre-iles button span { color: var(--hr-texte-3); }
.pc-filtre-iles button[aria-checked="true"] { background: var(--hr-petrole); border-color: var(--hr-petrole); color: #fff; }
.pc-filtre-iles button[aria-checked="true"] span { color: var(--hr-petrole-pale); }
.pc-filtre-iles button:focus-visible { outline: none; box-shadow: var(--hr-focus); }
@media (max-width: 767px) {
  .pc-filtre-iles-cadre { position: relative; }
  .pc-filtre-iles-cadre::after { content: ""; position: absolute; right: -16px; top: 0; bottom: 0; width: 32px; background: linear-gradient(90deg, rgba(250,248,244,0), var(--hr-papier)); pointer-events: none; }
  .pc-groupe--pair .pc-filtre-iles-cadre::after { background: linear-gradient(90deg, rgba(243,239,231,0), var(--hr-sable)); }
  .pc-filtre-iles { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 16px -16px 8px; padding: 4px 16px; }
  .pc-filtre-iles::-webkit-scrollbar { display: none; }
  .pc-filtre-iles button { flex: 0 0 auto; }
}

/* ── Carte d'une région : le moteur de la carte du pays (carte-carnet.css),
   sur toute la largeur, sans liste ni filtres collés ; légende sortie dessous ── */
.pc-carte { padding: 0 0 32px; }
.hr-carte--section .hr-carte__cadre { position: relative; top: 0; height: 540px; min-height: 0; border-radius: var(--hr-r-md); box-shadow: none; }
.hr-carte--section .hr-carte__legende { position: static; max-width: none; }
.hr-carte--section .hr-carte__legende-bouton { display: none !important; }
.hr-carte--section .hr-carte__legende-items { display: flex !important; width: auto !important; min-height: 0; margin: 0; padding: 0; gap: 6px 16px; background: none; box-shadow: none; border-radius: 0; font: 400 13px var(--hr-font-texte); color: var(--hr-texte-2); }
.hr-carte__pied-section { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 12px; }
.pc .pc-carte__suite { flex-shrink: 0; height: 40px; padding: 0 16px; font-size: 14.5px; }
@media (max-width: 1199px) { .hr-carte--section .hr-carte__cadre { height: 480px; } }
@media (max-width: 767px) {
  .hr-carte--section .hr-carte__cadre { height: 440px; }
  .hr-carte__pied-section { flex-direction: column; align-items: stretch; gap: 12px; }
  .hr-carte--section .hr-carte__legende-items { gap: 6px 14px; }
  .pc .pc-carte__suite { width: 100%; height: 48px; justify-content: space-between; }
}

/* ── Saisons : frise (bandes fines, dates en clair) et périodes ── */
.pc-saisons { padding: 0 0 32px; }
.pc-frise__ligne { display: grid; grid-template-columns: 220px minmax(0, 1fr); column-gap: 24px; }
.pc-frise__mois { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); padding-bottom: 8px; font: 500 12px var(--hr-font-texte); color: var(--hr-texte-3); }
.pc-frise__mois span { padding-left: 4px; }
.pc-frise__lib, .pc-frise__piste { min-height: 40px; border-top: 1px solid var(--hr-filet); }
.pc-frise__lib { display: flex; flex-direction: column; justify-content: center; }
.pc-frise__lib b { font: 500 13.5px/1.3 var(--hr-font-texte); color: var(--hr-encre); }
.pc-frise__lib span { font-size: 12.5px; line-height: 1.3; color: var(--hr-texte-2); }
.pc-frise__piste { position: relative; background: repeating-linear-gradient(90deg, var(--hr-filet) 0 1px, transparent 1px calc(100% / 12)); }
.pc-frise__piste i { position: absolute; top: 50%; height: 8px; margin-top: -4px; border-radius: 4px; background: var(--c); }
/* Un inconvénient (« frise: − Forte affluence ») : séparé des atouts, bande hachurée, signe « − » */
.pc-frise__ligne--moins .pc-frise__lib, .pc-frise__ligne--moins .pc-frise__piste { border-top-color: var(--hr-bordure); }
.pc-frise__ligne--moins .pc-frise__piste i { background: repeating-linear-gradient(135deg, var(--hr-texte-2) 0 3px, transparent 3px 6px); box-shadow: inset 0 0 0 1px var(--hr-texte-2); }
.pc-frise__signe { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; margin-right: 2px; border-radius: 50%; background: var(--hr-texte-2); color: #fff; font: 700 12px/1 var(--hr-font-texte); font-style: normal; vertical-align: 1px; }
.pc-periodes { margin-top: 36px; }
/* La frise se ferme par un filet sous sa dernière ligne ; la première période n'a plus le sien (François, 03/10/2026) */
.pc-frise > .pc-frise__ligne:last-child :is(.pc-frise__lib, .pc-frise__piste) { border-bottom: 1px solid var(--hr-filet); }
.pc-periode:first-child { border-top: 0; }
.pc-periode { display: grid; grid-template-columns: 220px minmax(0, 1fr); column-gap: 24px; padding: 20px 0; border-top: 1px solid var(--hr-bordure); }
.pc-periode__lib { font: 500 13px/1.4 var(--hr-font-texte); color: var(--hr-texte-2); }
.pc .pc-periode__titre { margin: 2px 0 0; padding: 0; font: 600 18px/1.3 var(--hr-font-titre); color: var(--hr-encre); }
.pc-periode__titre::first-letter { text-transform: uppercase; }
.pc-periode__txt { max-width: 640px; display: flex; flex-direction: column; gap: 10px; }
.pc .pc-periode__txt p { margin: 0; }
.pc-periode__txt strong { font-weight: 500; color: var(--hr-encre); }
.pc-periode__marque { display: inline-block; margin-right: 8px; font: 600 12px var(--hr-font-texte); letter-spacing: .06em; text-transform: uppercase; }
.pc-periode__marque--plus { color: var(--hr-vert-texte); }
.pc-periode__marque--moins { color: var(--hr-texte-2); }
@media (max-width: 1199px) { .pc-frise__ligne, .pc-periode { grid-template-columns: 180px minmax(0, 1fr); } }
@media (max-width: 767px) {
  .pc-frise__ligne { display: block; padding: 8px 0 10px; border-top: 1px solid var(--hr-filet); }
  .pc-frise__ligne--mois { padding: 0; border-top: 0; } .pc-frise__ligne--mois > span { display: none; }
  .pc-frise__mois { font-size: 11.5px; padding-bottom: 6px; } .pc-frise__mois span { padding-left: 3px; }
  .pc-frise__lib, .pc-frise__piste { min-height: 0; border-top: 0; }
  .pc-frise > .pc-frise__ligne:last-child { border-bottom: 1px solid var(--hr-filet); }
  .pc-frise > .pc-frise__ligne:last-child :is(.pc-frise__lib, .pc-frise__piste) { border-bottom: 0; }
  .pc-frise__lib { flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: baseline; gap: 0 8px; margin-bottom: 6px; }
  .pc-frise__piste { height: 8px; } .pc-frise__piste i { top: 0; margin-top: 0; }
  .pc-periodes { margin-top: 24px; }
  .pc-periode { display: flex; flex-direction: column; gap: 16px; padding: 20px 0 24px; }
  .pc .pc-periode__titre { font-size: 17px; }
  .pc-periode__txt { gap: 16px; }
  .pc-periode__marque { display: block; margin: 0 0 4px; }
}

/* ── Encadré : un conseil mis en évidence (« Ma recommandation »), 03/10/2026 ──
   Direction 5 retenue par François : cadre fin, liseré vert en haut, pastille ★
   devant le titre ; blanc adouci (semi-transparent) : 75 % sur le papier, 65 % sur le sable */
.pc-encadre { max-width: 680px; margin: 8px 0 32px; padding: 20px 24px; background: rgba(255, 255, 255, .75); border: 1px solid rgba(28, 42, 49, .08); border-top: 3px solid var(--hr-vert); border-radius: var(--hr-r-md); box-sizing: border-box; }
.pc .pc-encadre h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; font: 600 19px/1.3 var(--hr-font-titre); color: var(--hr-encre); }
.pc .pc-encadre h3::before { content: "★"; flex: none; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--hr-vert-pale); color: var(--hr-vert-texte); font-size: 14px; }
.pc .pc-encadre p { margin: 0 0 12px; padding: 0; font-size: 15px; line-height: 1.5; }
.pc .pc-encadre p:last-child { margin-bottom: 0; }
.pc-encadre strong { color: var(--hr-encre); }
.pc-groupe--pair .pc-encadre { background: rgba(255, 255, 255, .65); }
/* Une frise seule, suivie d'un encadré : pas de marge basse de section */
.pc-saisons:has(+ .pc-encadre) { padding-bottom: 24px; }
.pc-encadre + .pc-saisons .pc-periodes, .pc-encadre-section + .pc-saisons .pc-periodes { margin-top: 0; }
/* Encadré avec photo à côté : la grille du texte ; l'encadré sans marge propre */
.pc-encadre-section { padding-top: 8px; }
.pc-encadre-section .pc-encadre { margin: 0; }
/* Autour des saisons, espaces resserrés (François, 03/10/2026 : « beaucoup trop d'espace ») :
   texte → frise 16 px, frise → encadré 24, encadré → périodes 24, périodes → chapitre suivant
   sans marge de section (la dernière période garde la sienne) */
.pc-texte:has(+ .pc-saisons) { padding-bottom: 16px; }
.pc-saisons:has(+ .pc-encadre, + .pc-encadre-section) { padding-bottom: 16px; }
.pc-encadre-section:has(+ .pc-saisons) { padding-top: 8px; padding-bottom: 16px; }
.pc-encadre-section + .pc-saisons .pc-periode:first-child, .pc-encadre + .pc-saisons .pc-periode:first-child { padding-top: 8px; }
.pc-saisons:last-child { padding-bottom: 0; }
@media (max-width: 767px) {
  .pc-encadre { margin: 4px 0 24px; padding: 16px 18px; }
  .pc .pc-encadre h3 { font-size: 18px; }
}

/* ── Onglets (type) : panneau sans cadre, étiquettes de chiffres clés ── */
.pc-onglets-section { padding: 0 0 32px; }
/* Fin des onglets marquée par un filet, sinon on ne sait pas où le panneau s'arrête (François, 03/10/2026) */
.pc-onglets-section > .pc-onglets-section__panneau:last-child, .pc-onglets-section .pc-texte__corps { padding-bottom: 24px; border-bottom: 1px solid var(--hr-bordure); }
.pc-onglets-section .pc-texte__corps > .pc-onglets:first-child { margin-top: 0; }
.pc-onglets-section.pc-texte { padding-top: 16px; }
.pc-texte--seul:has(+ .pc-onglets-section) { padding-bottom: 0; }
.pc-onglets-section .pc-onglets { margin-top: 16px; }
.pc-onglets-section__panneau { max-width: 680px; padding-top: 20px; font-size: 15px; line-height: 1.5; }
.pc-onglets-section__panneau strong { color: var(--hr-encre); }
.pc-onglets-section__panneau > :last-child { margin-bottom: 0; }
.pc-onglets-section__titre { display: none; }
.pc-etiquettes { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.pc-etiquettes span { display: inline-flex; align-items: center; height: 28px; padding: 0 10px; border-radius: var(--hr-r-xs); background: var(--hr-sable); font: 600 13px var(--hr-font-texte); color: var(--hr-encre); font-variant-numeric: tabular-nums; }
.pc-groupe--pair .pc-etiquettes span { background: var(--hr-surface); }
@media (max-width: 767px) {
  .pc-onglets-section .pc-onglets { margin-top: 12px; }
  .pc-onglets-section__panneau { padding-top: 16px; }
  .pc .pc-onglets-section__titre { display: block; margin: 0 0 10px; font: 600 13px var(--hr-font-texte); color: var(--hr-texte-2); }
  .pc-etiquettes { margin-bottom: 12px; }
}

/* ── Tableaux du texte ── */
.pc-tableau-defile, .pc-tableau-mois { margin: 4px 0 16px; }
.pc-tableau { width: 100%; border-collapse: separate; border-spacing: 0; background: rgba(255, 255, 255, .75); border: 1px solid var(--hr-bordure); border-radius: var(--hr-r-md); overflow: hidden; font-size: 14px; line-height: 1.4; font-variant-numeric: tabular-nums; }
.pc-tableau th, .pc-tableau td { padding: 10px 14px; text-align: left; vertical-align: top; }
.pc-tableau thead th { background: var(--hr-petrole-pale); font: 600 13px var(--hr-font-texte); color: var(--hr-encre); }
.pc-tableau tbody td, .pc-tableau tbody th { border-top: 1px solid var(--hr-filet); color: var(--hr-encre); }
.pc-tableau tbody > tr > :first-child { color: var(--hr-texte-2); font-weight: 400; }
.pc-tableau--2col { max-width: 480px; }
/* Blanc adouci, comme l'encadré (François, 03/10/2026) : 75 % sur le papier, 65 % sur le sable */
.pc-groupe--pair .pc-tableau { background: rgba(255, 255, 255, .65); }
.pc-tableau--long td, .pc-tableau--long th { padding-top: 9px; padding-bottom: 9px; }
.pc-tableau__duree { font-size: 12.5px; color: var(--hr-texte-3); }
.pc-tableau__lumiere { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--hr-encre); }
.pc-tableau__lumiere::before { content: ""; flex: 0 0 8px; width: 8px; height: 8px; border-radius: 50%; background: var(--hr-trace); }
.pc-tableau__lumiere--nuit::before { background: var(--hr-encre); }
.pc .pc-tableau-source { margin: -8px 0 16px; font-size: 12px; color: var(--hr-texte-3); }
.pc-tableau-pied { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 4px 16px; margin: -8px 0 16px; }
.pc .pc-tableau-pied .pc-tableau-source { margin: 0; }
.pc-tableau-legende { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--hr-texte-3); }
.pc-tableau-legende i { width: 96px; height: 8px; border-radius: 2px; background: linear-gradient(90deg, #fff, #e3eff4, #c4dce7, #a3c8d9, #82b4ca); box-shadow: inset 0 0 0 1px var(--hr-bordure); }
/* Tableau large : hors de la grille texte/photos, sur toute la colonne ; la suite du texte reprend à 680 */
.pc-texte__large { margin-top: 32px; }
.pc-texte__suite { max-width: 680px; margin-top: 8px; }
.pc-texte__suite > :last-child { margin-bottom: 0; }
/* Par mois : mois en colonnes, teinte du minimum au maximum de chaque ligne (texte toujours à l'encre) */
.pc-tableau--mois { table-layout: fixed; line-height: 1.3; }
.pc-tableau--mois thead th { text-align: center; padding: 10px 4px; }
.pc-tableau--mois thead th:first-child { width: 124px; }
.pc-tableau--mois tbody th { font: 500 13px var(--hr-font-texte); color: var(--hr-texte-2); padding: 12px 14px; }
.pc-tableau--mois tbody td { text-align: center; padding: 12px 4px; }
:is(.pc-tableau--mois, .pc-tableau--mois-mobile) td[data-t="1"] { background: #e3eff4; }
:is(.pc-tableau--mois, .pc-tableau--mois-mobile) td[data-t="2"] { background: #c4dce7; }
:is(.pc-tableau--mois, .pc-tableau--mois-mobile) td[data-t="3"] { background: #a3c8d9; }
:is(.pc-tableau--mois, .pc-tableau--mois-mobile) td[data-t="4"] { background: #82b4ca; }
.pc-tableau .pc-tableau__annee, .pc-tableau .pc-tableau__annee :is(td, th) { font-weight: 600; color: var(--hr-encre); }
.pc-tableau--mois-mobile { display: none; }
@media (max-width: 767px) {
  .pc-tableau { font-size: 13.5px; line-height: 1.35; }
  .pc-tableau th, .pc-tableau td { padding: 8px 10px; }
  .pc-tableau__duree { display: block; font-size: 12px; }
  .pc-tableau-defile { overflow-x: auto; }
  .pc-tableau--mois { display: none; }
  .pc-tableau--mois-mobile { display: table; }
  .pc-tableau--mois-mobile td { text-align: right; }
  .pc-tableau--mois-mobile thead th:not(:first-child) { text-align: right; }
}

/* ── Grille : vignettes (photo 3:2, légende posée sur la page), triées par mon avis ── */
.pc-grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 24px; margin-top: 24px; }
.pc .pc-vignette { display: flex; flex-direction: column; min-width: 0; text-decoration: none; color: var(--hr-texte); }
.pc-vignette img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--hr-r-md); }
.pc .pc-vignette:focus-visible { outline: none; } .pc-vignette:focus-visible img { box-shadow: var(--hr-focus); }
.pc-vignette__tete { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 12px; font-size: 13px; color: var(--hr-texte-2); }
.pc-vignette__tete .hr-tableau__etoiles { font-size: 13px; } .pc-vignette__tete .hr-tableau__etoiles b { width: 13px; }
.pc-vignette__nom { margin-top: 2px; font: 600 18px/1.3 var(--hr-font-titre); color: var(--hr-encre); }
.pc-vignette__note { display: none; }
.pc-vignette__diff { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin-top: 6px; font: 500 13px var(--hr-font-texte); color: var(--hr-encre); }
.pc-vignette__ch { font-weight: 400; color: var(--hr-texte-2); }
.pc-vignette__pt { margin-right: 8px; }
.pc-carres i.demi { background: linear-gradient(90deg, var(--hr-petrole) 50%, #e2dccf 50%); }
@media (hover: hover) { .pc .pc-vignette:hover .pc-vignette__nom { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; } }
.pc-grille:not(.tout-voir) .pc-vignette:nth-child(n+10) { display: none; }
.pc .pc-vignette[hidden], .pc .pc-grille__voir[hidden] { display: none; }
.pc-grille__pied { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 32px; }
.pc .pc-grille__voir { height: 44px; }
.pc .pc-grille__voir::after { content: none; }
.pc-grille.tout-voir + .pc-grille__pied .pc-grille__voir { display: none; }
.pc .pc-grille__suite::after { content: " →"; }
.pc-grille-bloc { padding: 0 0 32px; }
@media (max-width: 1199px) { .pc-grille { gap: 28px 20px; } }
@media (max-width: 767px) {
  .pc-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; margin-top: 16px; }
  .pc-grille:not(.tout-voir) .pc-vignette:nth-child(n+9) { display: none; }
  .pc-vignette img { border-radius: var(--hr-r-sm); }
  .pc-vignette__tete { margin-top: 8px; font-size: 12px; }
  /* La note en chiffre avant l'étoile (« 4,5 ★ ») ; la région se coupe (« … ») si elle est trop longue */
  .pc-vignette__ile { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .pc-vignette__tete .hr-tableau__etoiles { display: none; }
  .pc-vignette__note { display: inline; flex-shrink: 0; font: 600 12px var(--hr-font-texte); color: var(--hr-petrole); }
  .pc-vignette__nom { font-size: 15.5px; line-height: 1.25; overflow-wrap: anywhere; hyphens: auto; }
  .pc-vignette__diff { gap: 6px; margin-top: 5px; font-size: 12.5px; }
  .pc-vignette__diff .pc-carres i { width: 8px; height: 8px; border-radius: 1px; }
  .pc-vignette__esp, .pc-vignette__pt, .pc-vignette__den { display: none; }
  .pc-vignette__ch { display: block; width: 100%; font-size: 12.5px; }
  .pc-grille__pied { flex-direction: column; align-items: stretch; gap: 4px; margin-top: 24px; }
  .pc .pc-grille__voir { width: 100%; height: 48px; justify-content: center; }
  .pc .pc-grille__suite { display: flex; justify-content: center; align-items: center; height: 44px; }
}

/* Bandes de chapitre (François, 02/10/2026) : un chapitre sur deux (pair) sur
   fond sable, limité à la colonne de contenu (32 px de débord, arrondi), du titre
   à la fin du chapitre ; le sommaire reste sur le papier */
.pc-groupe--pair { position: relative; z-index: 0; padding-bottom: 40px; margin-top: 40px; }
.pc-groupe--pair::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: -32px; right: -32px; border-radius: 12px; background: var(--hr-sable); }
.pc-groupe--pair + .pc-groupe { margin-top: 0; }
/* Ordinateur, avec sommaire : la bande va jusqu'au bord droit de l'écran,
   arrondie à gauche seulement (François, 04/10/2026) ; le débord est rogné
   par .pc (clip : ni barre de défilement, ni conteneur qui casserait le
   sommaire collant). Sans « clip » (navigateurs anciens), bande d'avant. */
@supports (overflow: clip) {
  @media (min-width: 1024px) {
    .pc { overflow-x: clip; }
    .pc-corps:not(.pc-corps--sans-sommaire) .pc-groupe--pair::before { right: -100vw; border-top-right-radius: 0; border-bottom-right-radius: 0; }
  }
}
/* Dernier chapitre sur sable : la bande descend jusqu'au pied de page ; espace
   divisé par 2 (88 → 44 px, 64 → 32 sur mobile ; François, 03/10/2026) : plus de
   marge basse du chapitre, et la marge du pied réduite */
.pc-contenu > .pc-groupe--pair:last-child { padding-bottom: 0; }
.pc-contenu > .pc-groupe--pair:last-child::before { bottom: -44px; border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
body:has(.pc-contenu > .pc-groupe--pair:last-child) .hr-pied { margin-top: 44px; }
@media (max-width: 767px) {
  .pc-contenu > .pc-groupe--pair:last-child::before { bottom: -32px; }
  body:has(.pc-contenu > .pc-groupe--pair:last-child) .hr-pied { margin-top: 32px; }
  .pc-groupe--pair { padding-bottom: 32px; margin-top: 32px; }
  /* Toute la largeur de l'écran (François, 03/10/2026) : les marges du conteneur (16, 18 dès 400 px) */
  .pc-groupe--pair::before { left: -16px; right: -16px; border-radius: 0; }
}
@media (min-width: 400px) and (max-width: 767px) { .pc-groupe--pair::before { left: -18px; right: -18px; } }

/* Pas d'ancrage du défilement (comme le circuit) */
html:has(.pc), body:has(.pc) { overflow-anchor: none; }
/* Fond papier jusqu'au pied de page (sinon la marge du pied montre le blanc du body) */
body:has(.pc) { background: var(--hr-papier); }
/* Écart avant le pied de page : 48 px (40 sur mobile), porté par sa marge */
body:has(.pc) .hr-pied { margin-top: 48px; }
@media (max-width: 767px) { body:has(.pc) .hr-pied { margin-top: 40px; } }

@media (prefers-reduced-motion: reduce) { .pc * { transition: none !important; } }

/* Mobile, espacements (François, 03/10/2026) : +30 % au-dessus des photos (20 → 26),
   −25 % en haut des chapitres (40 → 30) et en bas des sections (32 → 24 ; 24 → 18) */
@media (max-width: 767px) {
  .pc-texte__grille, .pc-texte--gauche .pc-texte__grille { row-gap: 26px; }
  .pc-texte--seul .pc-texte__mobile { margin-top: 26px; }
  .pc-chapitre { padding-top: 30px; }
  .pc-texte, .pc-regions, .pc-carte, .pc-saisons, .pc-onglets-section, .pc-grille-bloc { padding-bottom: 24px; }
  .pc-randos-bloc { padding-bottom: 18px; }
  .pc-groupe--pair { padding-bottom: 24px; }
}


/* ── Types des guides courts (Islande) : liste, choix, colonnes, onglets à photos, compléments de la grille,
   encadré court. Design de Claude Design (_migration/design_handoff_guides_islande/sections-guide-islande.css,
   03/10/2026), traduit vers les classes du site ; choix de François : « une + trois », paliers, tracés neutres,
   distance en tête de vignette, « ★ Mon choix » ; le « · » des chiffres est gardé ; pas de photo retirée par le script. ── */
.pc { --pc-blanc: rgba(255, 255, 255, .75); --pc-fond: var(--hr-papier); --pc-filet-sable: #ddd5c8; }
.pc-groupe--pair { --pc-blanc: rgba(255, 255, 255, .65); --pc-fond: var(--hr-sable); }

/* Pastille « ★ Mon choix » (choix, colonnes) : texte du site */
.pc-pastille-choix { display: inline-flex; align-items: center; gap: 5px; height: 26px; padding: 0 10px; border-radius: var(--hr-r-xs); background: var(--hr-vert-texte); color: #fff; font: 600 12.5px var(--hr-font-label); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }

/* ── liste ── */
.pc-liste { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 40px; align-items: start; padding: 24px 0 40px; }
.pc .pc-liste__intro h3 { margin: 0 0 6px; font: 600 var(--hr-fs-h3)/1.3 var(--hr-font-titre); color: var(--hr-encre); }
.pc .pc-liste__intro p { margin: 0 0 24px; color: var(--hr-texte-2); }
.pc-liste__intro + .pc-liste__palier, .pc-liste__intro + .pc-liste__ol { margin-top: 18px; }
/* Palier : un intertitre par niveau de difficulté ; il sert de légende */
.pc-liste__palier { display: flex; align-items: center; gap: 8px; padding: 28px 0 10px; border-bottom: 1px solid var(--hr-bordure); }
.pc-groupe--pair .pc-liste__palier { border-bottom-color: var(--pc-filet-sable); }
.pc-liste__gauche > .pc-liste__palier:first-child, .pc-liste__intro + .pc-liste__palier { padding-top: 0; }
.pc-liste__palier i { width: 10px; height: 10px; border-radius: 50%; background: var(--c); }
.pc-liste__palier i.clair { background: #fff; box-shadow: inset 0 0 0 1.5px var(--hr-encre); }
.pc-liste__palier b { font: 600 13px var(--hr-font-label); letter-spacing: .07em; text-transform: uppercase; color: var(--hr-encre); }
.pc-liste__palier span { font-size: 13px; color: var(--hr-texte-3); }
.pc .pc-liste__ol { list-style: none; margin: 0; padding: 0; }
.pc-liste__el { display: grid; grid-template-columns: 28px 112px minmax(0, 1fr); column-gap: 16px; margin: 0 -12px; padding: 16px 12px; border-top: 1px solid var(--hr-bordure); border-radius: var(--hr-r-md); scroll-margin-top: 24px; }
.pc-liste__el:first-child { border-top: 0; }
.pc-liste__el.on, .pc-liste__el:focus-within { background: var(--pc-blanc); }
.pc-liste__num { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--c); color: #fff; font: 700 14px/1 var(--hr-font-texte); font-variant-numeric: tabular-nums; }
.pc-liste__num--clair { background: #fff; color: var(--hr-encre); box-shadow: inset 0 0 0 1.5px var(--hr-encre); }
.pc-liste__el.on .pc-liste__num, .pc-liste__el:focus-within .pc-liste__num { box-shadow: 0 0 0 2px var(--pc-fond), 0 0 0 4px var(--c); }
.pc-liste__el.on .pc-liste__num--clair, .pc-liste__el:focus-within .pc-liste__num--clair { box-shadow: inset 0 0 0 1.5px var(--hr-encre), 0 0 0 2px var(--pc-fond), 0 0 0 4px var(--hr-encre); }
.pc-liste__photo img { display: block; width: 112px; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--hr-r-sm); }
.pc .pc-liste__corps :is(h3, h4) { margin: 0; font: 600 18px/1.3 var(--hr-font-titre); color: var(--hr-encre); }
.pc .pc-liste__corps :is(h3, h4) a { color: inherit; text-decoration: none; }
.pc .pc-liste__el.on :is(h3, h4) a { color: var(--hr-petrole); }
.pc .pc-liste__corps :is(h3, h4) a:focus-visible { outline: none; box-shadow: var(--hr-focus); border-radius: 2px; }
.pc-liste__chiffres { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 10px; margin-top: 3px; font-size: 13.5px; line-height: 1.4; color: var(--hr-texte-2); font-variant-numeric: tabular-nums; }
.pc-liste__depart { display: inline-flex; align-items: center; gap: 5px; font-weight: 500; color: var(--hr-encre); }
.pc-liste__depart i { display: grid; place-items: center; width: 14px; height: 14px; border-radius: 3px; background: var(--hr-petrole); }
.pc-liste__depart svg { width: 9px; height: 9px; fill: #fff; }
.pc-liste__texte { margin-top: 6px; font-size: 14.5px; line-height: 1.5; }
.pc .pc-liste__texte p { margin: 0 !important; padding: 0; }
.pc .pc-liste__texte strong { font-weight: 600; color: var(--hr-encre); }
.pc-liste__pied { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--hr-bordure); }
.pc-groupe--pair .pc-liste__pied { border-top-color: var(--pc-filet-sable); }
.pc .pc-liste__pied h4 { margin: 0 0 8px; font: 600 16px/1.4 var(--hr-font-texte); color: var(--hr-encre); }
.pc .pc-liste__pied p { margin: 0 0 12px; }
.pc .pc-liste__pied ul { margin: 0; padding: 0 0 0 22px; line-height: inherit; }
.pc .pc-liste__pied li + li { margin-top: 4px; }
.pc .pc-liste__pied strong { color: var(--hr-encre); }
.pc-liste__droite { position: sticky; top: 24px; }
/* --pc-h-liste : hauteur de la liste, posée par liste-carnet.js ; la carte ne la dépasse jamais */
.pc-liste__carte { position: relative; height: clamp(440px, var(--pc-h-liste, 640px), min(640px, 100vh - 48px)); border: 1px solid var(--hr-bordure); border-radius: var(--hr-r-md); background: #e8e4da; overflow: hidden; z-index: 0; }
.pc-liste__legende { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 10px; font-size: 12.5px; line-height: 1.4; color: var(--hr-texte-2); }
.pc-liste__legende i { display: inline-block; width: 10px; height: 10px; margin-right: 6px; border-radius: 3px; background: var(--hr-petrole); vertical-align: -1px; }
.pc-liste__legende i.repere { border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 1.5px var(--hr-texte-2); }
.pc-liste__rep { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--c); color: #fff; font: 700 13px/1 var(--hr-font-texte); box-shadow: 0 0 0 2px #fff, 0 1px 4px rgba(0, 0, 0, .35); transition: transform var(--hr-transition); }
.pc-liste__rep--clair { color: var(--hr-encre); background: #fff; box-shadow: inset 0 0 0 1.5px var(--hr-encre), 0 0 0 2px #fff, 0 1px 4px rgba(0, 0, 0, .35); }
.pc-liste__rep.on { transform: scale(1.23); box-shadow: 0 0 0 3px #fff, 0 2px 8px rgba(0, 0, 0, .45); }
.pc-liste__camp { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 6px; background: var(--hr-petrole); box-shadow: 0 0 0 2px #fff, 0 1px 4px rgba(0, 0, 0, .3); }
.pc-liste__camp svg { width: 15px; height: 15px; fill: #fff; }
/* Mobile : aperçu du repère touché, dans la carte */
.pc-liste__apercu { position: absolute; left: 8px; right: 8px; bottom: 28px; z-index: 1000; display: grid; grid-template-columns: 72px minmax(0, 1fr) 44px; align-items: center; gap: 12px; padding: 8px 4px 8px 8px; background: #fff; border-radius: var(--hr-r-md); box-shadow: var(--hr-om-tooltip); }
.pc-liste__apercu[hidden] { display: none; }
.pc-liste__apercu img { width: 72px; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--hr-r-xs); }
.pc-liste__apercu b { display: block; font: 600 15px/1.25 var(--hr-font-titre); color: var(--hr-encre); }
.pc .pc-liste__apercu a { display: flex; min-height: 44px; flex-direction: column; justify-content: center; font: 500 13px var(--hr-font-texte); color: var(--hr-petrole); text-decoration: none; }
.pc-liste__apercu button { width: 44px; height: 44px; border: 0; background: none; font-size: 20px; color: var(--hr-texte-2); cursor: pointer; }
/* Mobile : bouton « Carte », quand la liste est à l'écran et la carte hors de l'écran */
.pc-liste__retour { position: sticky; bottom: 16px; z-index: 5; display: none; justify-content: center; margin-top: 16px; pointer-events: none; }
.pc-liste__retour.vu { display: flex; }
.pc .pc-liste__retour a { pointer-events: auto; display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 18px; border-radius: var(--hr-r-rond); background: var(--hr-encre); color: #fff; font: 600 14px var(--hr-font-texte); text-decoration: none; box-shadow: var(--hr-om-tooltip); }
.pc .pc-liste__retour a:focus-visible { outline: none; box-shadow: var(--hr-focus); }
.pc-liste__avis { position: absolute; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 16px; background: rgba(28, 42, 49, .55); color: #fff; font: 600 15px var(--hr-font-texte); text-align: center; pointer-events: none; opacity: 0; }
.pc-liste__avis.vu { opacity: 1; }
@media (hover: hover) { .pc .pc-liste__corps :is(h3, h4) a:hover { color: var(--hr-petrole); } }
@media (max-width: 1199px) {
  .pc-liste { grid-template-columns: minmax(0, 1fr) 320px; gap: 28px; }
  .pc-liste__el { grid-template-columns: 28px 96px minmax(0, 1fr); column-gap: 14px; }
  .pc-liste__photo img { width: 96px; }
}
@media (max-width: 1023px) {
  .pc-liste { grid-template-columns: 1fr; gap: 20px; }
  .pc-liste__droite { position: static; order: -1; }
  .pc-liste__carte { height: 420px; }
  .pc-liste__el { grid-template-columns: 28px 112px minmax(0, 1fr); }
  .pc-liste__photo img { width: 112px; }
}
@media (max-width: 767px) {
  .pc-liste { gap: 16px; padding-bottom: 24px; }
  .pc-liste__carte { height: clamp(320px, 56vh, 420px); }
  .pc-liste__legende { font-size: 12px; margin-top: 8px; }
  .pc-liste__palier { padding-top: 24px; padding-bottom: 8px; }
  .pc-liste__palier b, .pc-liste__palier span { font-size: 12.5px; }
  .pc-liste__el { grid-template-columns: 26px 88px minmax(0, 1fr); column-gap: 12px; row-gap: 8px; margin: 0 -8px; padding: 14px 8px; }
  .pc-liste__num { width: 26px; height: 26px; font-size: 13px; }
  .pc-liste__photo img { width: 88px; border-radius: var(--hr-r-xs); }
  .pc .pc-liste__corps :is(h3, h4) { font-size: 16.5px; line-height: 1.25; }
  .pc-liste__chiffres { margin-top: 4px; gap: 2px 8px; font-size: 12.5px; }
  .pc-liste__texte { grid-column: 2 / -1; margin-top: 0; font-size: 14px; }
}

/* ── choix : « une + lignes » ── */
.pc-choix { display: grid; grid-template-columns: 400px minmax(0, 1fr); gap: 40px; align-items: start; padding: 24px 0 40px; }
.pc .pc-choix__une, .pc .pc-choix__ligne { text-decoration: none; color: var(--hr-texte); min-width: 0; }
.pc-choix__une { display: flex; flex-direction: column; }
.pc-choix__photo { position: relative; }
.pc-choix__une img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--hr-r-md); }
.pc-choix__photo .pc-pastille-choix { position: absolute; top: 12px; left: 12px; box-shadow: 0 1px 4px rgba(0, 0, 0, .25); }
.pc-choix__qui { font: 600 12.5px/1.35 var(--hr-font-label); letter-spacing: .05em; text-transform: uppercase; color: var(--hr-vert-texte); text-wrap: pretty; }
.pc-choix__une .pc-choix__qui { margin-top: 14px; font-size: 13px; }
.pc .pc-choix__nom { margin: 3px 0 0; font: 600 17px/1.3 var(--hr-font-titre); color: var(--hr-encre); text-wrap: pretty; }
.pc .pc-choix__une .pc-choix__nom { margin-top: 4px; font-size: 22px; line-height: 1.25; }
.pc .pc-choix__une .pc-chiffres { margin-top: 8px; font-size: 13.5px; }
.pc-choix__lignes { display: flex; flex-direction: column; }
.pc-choix__ligne { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 16px; padding: 16px 0; border-top: 1px solid var(--hr-bordure); }
.pc-choix__ligne:first-child { border-top: 0; padding-top: 0; }
.pc-choix__ligne img { display: block; width: 132px; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--hr-r-sm); }
.pc .pc-choix__ligne .pc-chiffres { margin-top: 6px; }
.pc .pc-choix__une:focus-visible, .pc .pc-choix__ligne:focus-visible { outline: none; }
.pc-choix__une:focus-visible img, .pc-choix__ligne:focus-visible img { box-shadow: var(--hr-focus); }
@media (hover: hover) { .pc :is(.pc-choix__une, .pc-choix__ligne):hover .pc-choix__nom { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; } }
.pc-choix__lignes--suite { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; }
.pc-choix__lignes--suite .pc-choix__ligne:first-child { padding-top: 16px; border-top: 1px solid var(--hr-bordure); }
@media (max-width: 1199px) {
  .pc-choix { grid-template-columns: 360px minmax(0, 1fr); gap: 28px; }
  .pc-choix__ligne { grid-template-columns: 112px minmax(0, 1fr); gap: 14px; } .pc-choix__ligne img { width: 112px; }
}
@media (max-width: 1023px) {
  .pc-choix { grid-template-columns: 320px minmax(0, 1fr); gap: 24px; }
  .pc .pc-choix__une .pc-choix__nom { font-size: 20px; }
}
@media (max-width: 767px) {
  .pc-choix { display: block; padding-bottom: 24px; }
  .pc-choix__une img { border-radius: var(--hr-r-sm); }
  .pc-choix__photo .pc-pastille-choix { top: 8px; left: 8px; height: 22px; padding: 0 8px; font-size: 11.5px; }
  .pc-choix__une .pc-choix__qui { margin-top: 10px; font-size: 12px; }
  .pc .pc-choix__une .pc-choix__nom { margin-top: 3px; font-size: 19px; }
  .pc .pc-choix__une .pc-chiffres { margin-top: 6px; font-size: 13px; }
  .pc-choix__lignes { margin-top: 12px; }
  .pc-choix__lignes--suite { display: flex; margin-top: 0; }
  .pc-choix__ligne, .pc-choix__ligne:first-child { grid-template-columns: 112px minmax(0, 1fr); gap: 12px; padding: 14px 0; border-top: 1px solid var(--hr-bordure); }
  .pc-choix__ligne img { width: 112px; border-radius: var(--hr-r-xs); }
  .pc-choix__qui { font-size: 11.5px; }
  .pc .pc-choix__nom { margin-top: 2px; font-size: 15.5px; line-height: 1.25; overflow-wrap: anywhere; }
  .pc .pc-choix__ligne .pc-chiffres { margin-top: 4px; gap: 3px 8px; font-size: 12.5px; }
  .pc-choix .pc-carres i { width: 8px; height: 8px; border-radius: 1px; }
}

/* ── colonnes : 2 sur deux pistes (720 au plus) · 3 · 4 en 2 × 2 · 5–6 sur trois ── */
.pc-colonnes { padding: 24px 0 8px; }
.pc .pc-colonnes__intro p { margin: 0 0 16px; }
.pc-colonnes__grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.pc-colonnes__grille--2, .pc-colonnes__grille--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pc-colonnes__grille--2 { max-width: 720px; }
.pc-colonne { display: flex; flex-direction: column; padding: 20px 22px 22px; background: var(--pc-blanc); border: 1px solid var(--hr-bordure); border-radius: var(--hr-r-md); }
.pc-colonne--avant { background: var(--hr-surface); border-color: var(--pc-filet-sable); box-shadow: 0 6px 24px rgba(34, 49, 58, .08); }
.pc-colonne__haut { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 24px; }
.pc-colonne__haut .pc-pastille-choix { height: 24px; padding: 0 9px; font-size: 12px; }
.pc .pc-colonne .pc-colonne__etiquette { margin: 0; font: 600 12.5px var(--hr-font-label); letter-spacing: .06em; text-transform: uppercase; color: var(--hr-vert-texte); }
.pc-colonne__tete { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin-top: 6px; }
.pc .pc-colonne__tete :is(h3, h4, h5) { margin: 0; font: 600 20px/1.3 var(--hr-font-titre); color: var(--hr-encre); }
.pc-colonne__tete span { font-size: 13px; color: var(--hr-texte-3); }
.pc .pc-colonne p:not(.pc-colonne__etiquette) { margin: 10px 0 0; font-size: 14.5px; line-height: 1.5; text-wrap: pretty; }
.pc-colonnes + .pc-texte { padding-top: 24px; }
@media (max-width: 1023px) {
  .pc-colonnes__grille, .pc-colonnes__grille--2, .pc-colonnes__grille--4 { grid-template-columns: 1fr; gap: 12px; max-width: 680px; }
  .pc-colonne { padding: 16px 18px 18px; }
  .pc .pc-colonne__tete :is(h3, h4, h5) { font-size: 18px; }
}

/* ── onglets ── barre décalée de 16 px : le 1er libellé s'aligne sur le texte (tous les onglets) */
@media (min-width: 768px) { .pc-onglets { margin-left: -16px; } }
/* Onglets à photos propres : une rangée par photo, le texte à gauche (600), la photo à droite (320) */
.pc-onglets-section--photos > .pc-onglets-section__panneau { display: grid; grid-template-columns: 600px 320px; column-gap: 32px; row-gap: 28px; align-items: start; max-width: none; padding-top: 20px; padding-bottom: 0; }
.pc-onglets-section--photos > .pc-onglets-section__panneau[hidden] { display: none; }
.pc-onglets__rangee-texte { grid-column: 1; min-width: 0; }
.pc-onglets__rangee-photo { grid-column: 2; }
.pc-onglets-section__panneau--gauche { grid-template-columns: 320px 600px !important; grid-auto-flow: dense; }
.pc-onglets-section__panneau--gauche .pc-onglets__rangee-texte { grid-column: 2; }
.pc-onglets-section__panneau--gauche .pc-onglets__rangee-photo { grid-column: 1; }
.pc-onglets__rangee-texte > :last-child { margin-bottom: 0; }
.pc-onglets__rangee-photo img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--hr-r-md); }
.pc-onglets-section--photos .pc-onglets-section__panneau :is(td, th):not(:first-child) { white-space: nowrap; }
.pc-tableau__precision { display: block; font-size: 12.5px; font-weight: 400; color: var(--hr-texte-3); }
@media (max-width: 1199px) {
  .pc-onglets-section--photos > .pc-onglets-section__panneau { grid-template-columns: minmax(0, 1fr) 280px; column-gap: 28px; }
  .pc-onglets-section__panneau--gauche { grid-template-columns: 280px minmax(0, 1fr) !important; }
}
@media (max-width: 1023px) {
  .pc-onglets-section--photos > .pc-onglets-section__panneau { display: flex; flex-direction: column; align-items: stretch; }
  .pc-onglets__rangee-photo { display: none; }
  .pc-onglets__rangee-photo--1 { display: block; order: 99; margin-top: 20px; }
}
@media (max-width: 767px) {
  .pc-onglets__rangee-photo img { border-radius: var(--hr-r-sm); }
  .pc-onglets-section--photos .pc-onglets-section__panneau :is(td, th):not(:first-child) { white-space: normal; }
  /* 3 colonnes → 2 : la 3e cellule passe sous la 2e */
  .pc-onglets-section--photos .pc-tableau tr:has(> :nth-child(3):last-child) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .pc-onglets-section--photos .pc-tableau tr:has(> :nth-child(3):last-child) > :first-child { grid-row: span 2; }
  .pc-onglets-section--photos .pc-tableau tr:has(> :nth-child(3):last-child) > :nth-child(2) { padding-bottom: 2px; }
  .pc-onglets-section--photos .pc-tableau tr:has(> :nth-child(3):last-child) > :nth-child(3) { grid-column: 2; padding-top: 0; border-top: 0; color: var(--hr-texte-2); font-weight: 400; }
}

/* ── grille : titre, introduction, distance, type du lieu ── */
.pc-grille__intro { padding-top: 24px; }
.pc .pc-grille__intro h3 { margin: 0 0 6px; font: 600 var(--hr-fs-h3)/1.3 var(--hr-font-titre); color: var(--hr-encre); }
.pc .pc-grille__intro p { margin: 0; }
.pc-grille__intro + .pc-grille { margin-top: 20px; }
.pc-grille-bloc + .pc-grille-bloc > .pc-grille__intro { padding-top: 16px; }   /* 32 du bloc précédent + 16 : 48 entre deux grilles */
.pc-grille--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 20px; }
.pc-grille--4 .pc-vignette__nom { font-size: 17px; }
.pc-vignette__type { display: inline-flex; align-items: center; gap: 6px; }
.pc-vignette__type::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: #c99a06; }
.pc-vignette__type--drone::before { background: #5b6a72; }
@media (max-width: 1199px) { .pc-grille--4 { gap: 28px 16px; } }
@media (max-width: 1023px) { .pc-grille--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .pc-grille-bloc + .pc-grille-bloc > .pc-grille__intro { padding-top: 8px; }
  .pc-grille__intro + .pc-grille { margin-top: 16px; }
  /* 3 ou 5 lieux : en lignes (photo 112 + texte), jamais une vignette seule */
  .pc-grille--lignes { display: flex; flex-direction: column; gap: 0; margin-top: 8px; }
  .pc .pc-grille--lignes .pc-vignette { display: grid; grid-template-columns: 112px minmax(0, 1fr); grid-template-rows: auto auto 1fr; column-gap: 12px; padding: 12px 0; border-top: 1px solid var(--hr-bordure); }
  .pc .pc-grille--lignes .pc-vignette:first-child { border-top: 0; }
  .pc-grille--lignes .pc-vignette img { grid-row: 1 / span 3; border-radius: var(--hr-r-xs); }
  .pc-grille--lignes .pc-vignette > :not(img) { grid-column: 2; }
  .pc-grille--lignes .pc-vignette__tete { margin-top: 0; }
}

/* ── encadré court : mise en garde d'une phrase (« attention: » dans un texte) ── */
.pc .pc-encadre--court { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 12px; align-items: start; max-width: 680px; margin: 20px 0; padding: 14px 18px; background: var(--hr-sable); border: 0; border-radius: var(--hr-r-md); }
.pc-groupe--pair .pc-encadre--court { background: rgba(255, 255, 255, .65); }
.pc-encadre--court svg { width: 22px; height: 22px; margin-top: 1px; stroke: var(--hr-encre); fill: none; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.pc .pc-encadre--court p { margin: 0; font-weight: 600; color: var(--hr-encre); }
.pc-encadre--court a { font-weight: 500; white-space: nowrap; }

/* Une liste en fin de bloc ne garde pas sa marge : une section qui finit par une
   liste a le même espace dessous qu'une section qui finit par une phrase (François, 03/10/2026) */
.pc :is(.pc-texte__corps, .pc-texte__large, .pc-texte__suite, .pc-onglets-section__panneau, .pc-encadre, .pc-colonne, .pc-chapitre__intro) > ul:last-child { margin-bottom: 0; }
/* Blanc adouci (75 % sur le papier, 65 % sur le sable) aussi pour les listes de liens, la FAQ et les cartes des
   régions (François, 03/10/2026) ; les contrôles (boutons secondaires, filtres, pastilles) restent en blanc plein */
.pc-liens, .pc-faq details, .pc-region { background: rgba(255, 255, 255, .75); }
.pc-groupe--pair :is(.pc-liens, .pc-faq details, .pc-region) { background: rgba(255, 255, 255, .65); }

/* ── Pages de FAQ (03/10/2026, maquette D1 retenue par François) : questions
   écrites dans la page (== faq sans « faq: »), réponses longues avec
   intertitres, listes et notes de l'auteur. Le h des questions et des
   intertitres dépend des thèmes (pc_faq_questions()) : aspect par classe. */
.pc-faq-bloc--page { padding-top: 24px; }
.pc-faq--page { gap: 10px; }
.pc .pc-faq-theme { margin: 48px 0 16px; font: 600 24px/1.25 var(--hr-font-titre); color: var(--hr-encre); }
.pc .pc-faq-theme:first-child { margin-top: 8px; }
.pc-faq-theme::after { content: ""; display: block; width: 40px; height: 3px; margin-top: 12px; background: var(--hr-vert); border-radius: 2px; }
.pc-faq--page details { scroll-margin-top: calc(var(--hr-en-h, 0px) + 16px); }
.pc .pc-faq__q { margin: 0; padding: 0; font: inherit; color: inherit; }
.pc .pc-faq__r.pc-texte__corps { max-width: 680px; padding-top: 4px; }
.pc .pc-faq__r .pc-faq__t1 { margin: 28px 0 10px; font: 600 18px/1.3 var(--hr-font-titre); color: var(--hr-encre); }
.pc .pc-faq__r .pc-faq__t2 { margin: 20px 0 8px; font: 600 15.5px/1.4 var(--hr-font-texte); color: var(--hr-encre); }
.pc .pc-faq__r .pc-faq__t3 { margin: 16px 0 6px; font: 600 15px/1.4 var(--hr-font-texte); color: var(--hr-texte-2); }
.pc .pc-faq__r > :is(.pc-faq__t1, .pc-faq__t2, .pc-faq__t3):first-child { margin-top: 0; }
.pc .pc-faq__r ol { margin: 0 0 16px; padding: 0 0 0 22px; line-height: inherit; }
.pc .pc-faq__r li > :is(ul, ol) { margin: 4px 0 0; }
.pc .pc-faq__r .pc-mot.pc-mot { margin: 24px 0 !important; padding-left: 44px; }
.pc .pc-faq__r .pc-mot blockquote p { margin: 0 0 8px; } .pc .pc-faq__r .pc-mot blockquote p:last-child { margin-bottom: 0; }
.pc .pc-faq__r img { display: inline; vertical-align: -4px; }
.pc .pc-faq__r a strong { color: inherit; }   /* lien en gras : la couleur du lien, pas l'encre du gras */
@media (max-width: 767px) {
  .pc .pc-faq-theme { margin-top: 40px; font-size: 21px; }
  .pc .pc-faq__r .pc-faq__t1 { font-size: 17px; }
}

/* Ouverture sans photo (pages de FAQ) : polices et espaces de l'en-tête du
   Top 5 et de la fiche (François, 03/10/2026) — fil d'Ariane 14/1,5 souligné,
   22 px au-dessus, 21 px jusqu'au titre (48/1,08), introduction à 36 px dans
   la police de la présentation des fiches (16/1,6, paragraphes à 16 px, liens
   soulignés ; François, 03/10/2026) ; 32 px jusqu'aux questions. Texte aligné à gauche (l'accordéon l'est). */
.pc-ouv--sans { padding-top: 22px; }
.pc-ouv--sans .pc-ariane { margin-bottom: 0; font-size: 14px; line-height: 1.5; }
.pc .pc-ouv--sans .pc-ariane a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.pc-ouv--sans .pc-ariane > span:last-child { color: var(--hr-encre); }
.pc .pc-ouv--sans h1 { max-width: 900px; margin-top: 21px; font-size: var(--hr-fs-h1); line-height: var(--hr-lh-h1); letter-spacing: -.01em; }
.pc-ouv__intro { max-width: 760px; margin-top: 36px; font: 400 16px/1.6 var(--hr-font-texte); color: var(--hr-texte); text-wrap: pretty; }
.pc .pc-ouv__intro p { margin: 0 0 16px; padding: 0; }
.pc .pc-ouv__intro p:last-child { margin-bottom: 0; }
.pc .pc-ouv__intro a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.pc-ouv__intro strong { font-weight: 700; }
.pc-ouv--sans + .pc-corps { padding-top: 32px; }
.pc-contenu > .pc-faq-bloc--page:first-child { padding-top: 0; }
@media (max-width: 767px) {
  .pc-ouv--sans { padding-top: 14px; }
  .pc .pc-ouv--sans h1 { margin-top: 25px; font-size: 32px; line-height: 1.1; }
  .pc-ouv__intro { margin-top: 30px; }
  .pc-ouv--sans + .pc-corps { padding-top: 24px; }
}

/* ── Accueil (03/10/2026, maquette _migration/maquette_accueil.html : O1,
   destinations A, randonnée à la une, pépites, à propos C, outils A) ── */
/* Introduction sous la photo d'ouverture ; la dernière phrase en italique : la promesse */
.pc-ouv__accroche { padding-top: 28px; }
.pc .pc-ouv__accroche p { max-width: 720px; margin: 0 0 10px; padding: 0; font-size: 18px; line-height: 1.6; color: var(--hr-texte); }
.pc .pc-ouv__accroche p:last-child { margin-bottom: 0; }
.pc-ouv__accroche strong { color: var(--hr-encre); }
.pc .pc-ouv__accroche em { font: italic 500 16px/1.5 var(--hr-font-titre); color: var(--hr-encre); }
.pc-ouv__accroche + .pc-corps { padding-top: 8px; }
/* Surtitre d'un chapitre */
.pc-chapitre__surtitre { margin-bottom: 8px; font: 600 12.5px var(--hr-font-label); letter-spacing: .08em; text-transform: uppercase; color: var(--hr-vert-texte); }
/* Destinations : cartes 3 + 2 (les deux dernières centrées) */
.pc-destinations { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; padding-top: 24px; }
.pc-dest { grid-column: span 2; display: flex; flex-direction: column; background: rgba(255, 255, 255, .75); border: 1px solid var(--hr-bordure); border-radius: var(--hr-r-md); overflow: hidden; }
.pc-dest:nth-child(4):nth-last-child(2) { grid-column: 2 / span 2; }
.pc-groupe--pair .pc-dest { background: rgba(255, 255, 255, .65); }
.pc .pc-dest__ph img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.pc-dest__c { padding: 16px 20px 20px; }
.pc .pc-dest h3 { margin: 0; font: 600 22px/1.25 var(--hr-font-titre); }
.pc .pc-dest h3 a { color: var(--hr-encre); text-decoration: none; }
.pc .pc-dest__n { margin: 4px 0 0; padding: 0; font-size: 13.5px; color: var(--hr-texte-2); }
.pc-dest__n b { font-weight: 600; color: var(--hr-encre); }
.pc .pc-dest__t { margin: 10px 0 0; padding: 0; font-size: 15px; line-height: 1.5; }
.pc .pc-dest__liens { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 12px 0 0; padding: 0; font: 500 14px var(--hr-font-texte); }
.pc .pc-dest__liens a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
@media (max-width: 1023px) { .pc-destinations { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pc-dest, .pc-dest:nth-child(4):nth-last-child(2) { grid-column: auto; } }
@media (max-width: 767px) { .pc-destinations { grid-template-columns: 1fr; gap: 16px; } }
/* Outils : tuiles sans lien, 3 × 2 */
.pc-tuiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding-top: 24px; }
.pc .pc-tuiles .pc-tuile { min-height: 0; }
@media (hover: hover) { .pc .pc-tuiles .pc-tuile:hover { border-color: var(--hr-bordure); box-shadow: none; } }   /* pas de lien : pas de survol */
@media (max-width: 767px) { .pc-tuiles { grid-template-columns: 1fr; } }
/* Chiffres en ligne sous un texte (à propos) */
.pc .pc-texte__corps .pc-faits, .pc .pc-faits { display: flex; flex-wrap: wrap; gap: 8px 28px; margin: 20px 0 0; padding: 16px 0 0; list-style: none; border-top: 1px solid var(--hr-bordure); color: var(--hr-texte-2); }
.pc .pc-faits li { margin: 0; padding: 0; }
.pc-faits strong { margin-right: 4px; font: 600 22px var(--hr-font-titre); color: var(--hr-petrole); }
@media (max-width: 767px) { .pc-ouv__accroche { padding-top: 20px; } .pc .pc-ouv__accroche p { font-size: 16px; } }

/* ── Accueil, version finie (Claude Design, 04/10/2026, _migration/design_handoff_accueil/) :
   accueil-retouches.css repris ; section 2 limitée à l'accueil (.pc--accueil), qui sinon
   changeait la page Norvège et les guides ; règle [PARTAGÉ ?] des chiffres non reprise
   hors de l'accueil (décision de François). ── */
/* ═══ 1. Ouverture ═══════════════════════════════════════════════
   La classe pc-ouv--accueil est à ajouter sur <header class="pc-ouv pc-ouv--photo"> de l'accueil. */
.pc .pc-ouv--accueil h1 { max-width: 1000px; font-size: 44px; line-height: 1.1; letter-spacing: -.01em; }   /* 2 lignes dès 1 180 px (3 avant) */
@media (max-width: 1179px) { .pc .pc-ouv--accueil h1 { font-size: 40px; } }
.pc-ouv--accueil > img { object-position: 50% 40%; }
.pc-ouv--accueil::after { background: linear-gradient(180deg, rgba(10,25,32,0) 38%, rgba(10,25,32,.80) 100%); }
.pc-ouv--accueil .pc-ouv__txt { padding-bottom: 36px; }
.pc-ouv--accueil .pc-reperes { margin-top: 18px; }

.pc-ouv__accroche { padding-top: 32px; }
.pc .pc-ouv__accroche p { max-width: 680px; margin: 0; text-wrap: pretty; }
.pc .pc-ouv__accroche p + p { margin-top: 12px; }
.pc .pc-ouv__accroche em { font-size: 17px; }

@media (max-width: 767px) {
  .pc .pc-ouv--accueil h1 { font-size: 30px; line-height: 1.12; }   /* titre sur le papier, comme ailleurs */
  .pc-ouv--accueil:not(.a-image-mobile) > img { object-position: 50% 45%; }
  .pc-ouv__accroche { padding-top: 20px; }
  .pc .pc-ouv__accroche em { font-size: 16px; }
}


/* ═══ 2. Chapitres de l'accueil : un peu plus d'air entre sections (limité à l'accueil, .pc--accueil) ═══ */
.pc--accueil .pc-contenu > .pc-groupe > .pc-chapitre { padding-top: 48px; }          /* 40 → 48 */
.pc-chapitre__surtitre { font-size: var(--hr-fs-label); letter-spacing: var(--hr-ls-label); }   /* 12,5 → 12 : le jeton */
.pc--accueil .pc-groupe--pair { margin-top: 48px; }
@media (max-width: 767px) {
  .pc--accueil .pc-contenu > .pc-groupe > .pc-chapitre { padding-top: 36px; }
  .pc--accueil .pc-groupe--pair { margin-top: 32px; padding-bottom: 28px; }
}


/* ═══ 3. Destinations ═════════════════════════════════════════════ */
.pc-dest { transition: box-shadow var(--hr-transition); }
@media (hover: hover) {
  .pc-dest:hover { box-shadow: var(--hr-om-survol); }
  .pc .pc-dest:hover h3 a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
}
.pc-dest__c { flex: 1; display: flex; flex-direction: column; padding: 16px 20px; }
.pc .pc-dest__n { font-size: 13px; }
.pc .pc-dest__t { margin: 10px 0 16px; text-wrap: pretty; }
/* Liens calés en bas : même ligne de base sur les cinq cartes */
.pc .pc-dest__liens { gap: 4px 20px; margin: auto 0 0; padding-top: 12px; border-top: 1px solid var(--hr-filet); font: 600 14.5px var(--hr-font-texte); }
.pc .pc-dest__liens a { text-decoration: none; }
.pc .pc-dest__liens a:first-child::after { content: " →"; }
@media (hover: hover) { .pc .pc-dest__liens a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; } }
.pc-groupe--pair .pc-dest__liens { border-top-color: var(--hr-bordure); }

@media (max-width: 767px) {
  .pc .pc-dest__ph img { aspect-ratio: 1.7 / 1; }   /* entre 3:2 et 2:1 (François, 06/10/2026 : 2:1 trop panoramique, 3:2 trop haut) */
  .pc-dest__c { padding: 14px 16px; }
  .pc .pc-dest__t { margin-bottom: 14px; }
}


/* ═══ 4. « Pour tous les goûts » : deux familles côte à côte ════════
   Nouveau balisage (remplace .pc-onglets et les deux panneaux) :

   <section class="pc-grille-bloc pc-selection">
     <div class="pc-familles">
       <div class="pc-famille" data-pc-famille>
         <h3 class="pc-famille__titre">Les incontournables</h3>
         <p class="pc-famille__n"><b>87</b> randonnées, les plus fréquentées</p>
         <div class="pc-grille pc-grille--2" aria-live="polite"> 2 × <a class="pc-vignette">…</a> visibles, les autres [hidden] </div>
         <button type="button" class="pc-famille__autres" data-pc-autres>Deux autres incontournables</button>
       </div>
       <div class="pc-famille" data-pc-famille> … les pépites … </div>
     </div>
   </section>

   La phrase sous le titre du chapitre (.pc-chapitre__intro) porte l'idée « comparer ».
   « Deux autres » remplace la paire visible par la suivante (8 par famille servies dans
   la page, en boucle) : la section garde toujours la même hauteur. */
.pc-selection { padding-top: 0; }
.pc-familles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 28px; }
.pc-famille { min-width: 0; }
.pc-famille + .pc-famille { padding-left: 32px; border-left: 1px solid #e2dccf; }   /* #e2dccf : le gris des carrés, déjà au site */
.pc-famille:first-child { padding-right: 32px; }
.pc .pc-famille__titre { margin: 0; font: 600 20px/1.3 var(--hr-font-titre); color: var(--hr-encre); }
.pc .pc-famille__n { margin: 4px 0 0; padding: 0; font-size: 14px; line-height: 1.45; color: var(--hr-texte-2); }
.pc-famille__n b { font-weight: 600; color: var(--hr-encre); }
.pc-selection .pc-grille--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 16px; }
.pc-selection .pc-vignette__tete { margin-top: 10px; }
.pc-selection .pc-vignette__nom { font-size: 17px; line-height: 1.25; }
/* Chiffres toujours sur leur propre ligne : plus de « · » en tête de ligne */
.pc-selection .pc-vignette__pt { display: none; }
.pc-selection .pc-vignette__ch { display: block; width: 100%; margin-top: 3px; }   /* −3 px prévus : trop serré (François, 04/10/2026) */
@media (max-width: 767px) { .pc-selection .pc-vignette__den { display: inline; } }   /* le dénivelé tient aussi sur mobile (François) */
.pc .pc-famille__autres { display: inline-flex; align-items: center; gap: 8px; height: 44px; margin-top: 8px; padding: 0; border: 0; background: none; font: 600 14.5px var(--hr-font-texte); color: var(--hr-petrole); cursor: pointer; }
.pc .pc-famille__autres::before { content: ""; width: 15px; height: 15px; background: currentColor; -webkit-mask: var(--pc-ic-rotation) center / contain no-repeat; mask: var(--pc-ic-rotation) center / contain no-repeat; }
.pc .pc-famille__autres:focus-visible { outline: none; box-shadow: var(--hr-focus); border-radius: var(--hr-r-xs); }
@media (hover: hover) { .pc .pc-famille__autres:hover { color: var(--hr-petrole-fonce); text-decoration: underline; text-underline-offset: 3px; } }
.pc-selection { --pc-ic-rotation: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8M21 3v5h-5M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16M8 16H3v5'/%3E%3C/svg%3E"); }

@media (max-width: 767px) {
  .pc-familles { grid-template-columns: 1fr; margin-top: 24px; }
  .pc-famille:first-child { padding-right: 0; }
  .pc-famille + .pc-famille { padding: 20px 0 0; margin-top: 4px; border-left: 0; border-top: 1px solid #e2dccf; }
  .pc .pc-famille__titre { font-size: 18px; }
  .pc-selection .pc-grille--2 { gap: 12px; margin-top: 14px; }
  .pc-selection .pc-vignette__nom { font-size: 15.5px; }
  .pc .pc-famille__autres { margin-top: 4px; }
}


/* ═══ 5. À propos ═════════════════════════════════════════════════
   Ajouter pc-texte--apropos sur <section class="pc-texte pc-texte--gauche"> (et pc-texte--contact sur la dernière).
   Photo 4:5 en 272 px = 340 px de haut ; texte en 660 px + chiffres sur une ligne ≈ 345 px. */
.pc-texte--apropos .pc-texte__grille { grid-template-columns: 232px minmax(0, 660px); }   /* 272 px prévus ; le texte mesuré fait 294 px de haut (FR et EN) : 232 px de large, 290 de haut, la photo reste sous le texte */
.pc-texte--apropos .pc-texte__corps { max-width: 660px; }
.pc-texte--apropos { padding-bottom: 48px; }
.pc .pc-faits { flex-wrap: nowrap; gap: 8px 28px; }
.pc .pc-faits li { display: flex; align-items: baseline; gap: 6px; font-size: 13px; line-height: 1.35; }
.pc-faits strong { margin-right: 0; font-size: 20px; line-height: 1.1; white-space: nowrap; }
@media (max-width: 1023px) { .pc-texte--apropos .pc-texte__grille { grid-template-columns: 220px minmax(0, 1fr); } .pc .pc-faits { flex-wrap: wrap; } }
@media (max-width: 767px) {
  .pc-texte--apropos .pc-texte__grille { grid-template-columns: 1fr; }
  /* Trois colonnes égales, chiffre au-dessus du libellé : jamais un orphelin */
  .pc .pc-texte__corps .pc-faits, .pc .pc-faits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .pc .pc-faits li { flex-direction: column; align-items: flex-start; gap: 2px; font-size: 12.5px; }
  .pc-faits strong { font-size: 21px; }
}


/* ═══ 6. Outils : une liste, plus des boutons ═════════════════════
   .pc-tuiles est propre à l'accueil : la tuile partagée (.pc-tuile) n'est pas touchée ailleurs. */
.pc-tuiles { gap: 28px 40px; padding-top: 28px; margin: 0; list-style: none; }
.pc .pc-tuiles .pc-tuile { padding: 0; background: none; border: 0; border-radius: 0; gap: 3px 14px; align-content: start; }   /* phrase collée au titre, même quand la voisine est plus haute */
.pc-tuiles .pc-tuile__t { padding-top: 7px; font: 600 15.5px/1.35 var(--hr-font-texte); color: var(--hr-encre); }
.pc-tuiles .pc-tuile__s { font-size: 14px; line-height: 1.5; color: var(--hr-texte-2); text-wrap: pretty; }
@media (hover: hover) { .pc .pc-tuiles .pc-tuile:hover { border: 0; box-shadow: none; } }
@media (max-width: 1023px) { .pc-tuiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .pc-tuiles { grid-template-columns: 1fr; gap: 18px; padding-top: 24px; }
  /* l'icône reste à gauche (la règle partagée mobile la met au-dessus) */
  .pc .pc-tuiles .pc-tuile { display: grid; grid-template-columns: 32px minmax(0, 1fr); flex: none; min-height: 0; padding: 0; }
  .pc-tuiles .pc-tuile__ic { grid-row: span 2; }
  .pc-tuiles .pc-tuile__t { padding-top: 5px; }
}


/* ═══ 7. FAQ et contact ══════════════════════════════════════════
   Même grille qu'« À propos », en miroir ; la photo paysage passe de 320 à 400 px. */
.pc-texte--contact .pc-texte__grille { grid-template-columns: minmax(0, 660px) 320px; justify-content: space-between; }   /* 400 px prévus ; le texte mesuré (≈ 215 px) est plus court : 320 px, la photo reste sous le texte */
.pc-texte--contact .pc-texte__corps { max-width: 660px; }
.pc-texte--contact { padding-bottom: 56px; }
@media (max-width: 1179px) { .pc-texte--contact .pc-texte__grille { grid-template-columns: minmax(0, 1fr) 260px; } }
@media (max-width: 767px) { .pc-texte--contact .pc-texte__grille { grid-template-columns: 1fr; } .pc-texte--contact { padding-bottom: 40px; } }

/* Bloc d'« Explorer » visé par un raccourci (#top5…) : sous l'en-tête collé, comme un chapitre */
.pc-outil[id] { scroll-margin-top: calc(var(--hr-en-h, 0px) + 24px); }
@media (max-width: 1023px) { .pc-outil[id] { scroll-margin-top: calc(var(--hr-en-h, 0px) + 64px); } }
.pc-famille__etoile { color: var(--hr-petrole); }   /* « 4,5 ★ ou 5 ★ » : l'étoile des vignettes (accueil) */

/* Accueil, espaces resserrés (François, 04/10/2026) — uniquement par des classes propres à
   l'accueil (pc-selection, pc-texte--apropos, pc-texte--contact) : les autres pages construites
   et la marge commune du pied de page (48 px, 40 sur mobile) ne changent pas.
   Sous « Deux autres… » : 93 → 61 px (mobile 28) ; bas d'« À propos » : 96 → 64 (mobile 80 → 48) ;
   bas du contact jusqu'au pied : 104 → 48 (mobile 80 → 40). */
.pc .pc-selection { padding-bottom: 20px; }   /* 93 → 60 px sous les boutons (45 jugé trop serré) */
/* Boutons des deux familles alignés en bas de leur colonne (un nom sur deux lignes décalait l'un des deux) */
.pc-famille { display: flex; flex-direction: column; }
.pc .pc-famille__autres { margin-top: auto; padding-top: 8px; box-sizing: content-box; align-self: flex-start; }
@media (max-width: 767px) { .pc .pc-selection { padding-bottom: 0; } }
.pc .pc-texte--apropos { padding-bottom: 16px; }   /* 96 → 64 px (48 jugé trop serré) ; mobile 80 → 48 */
.pc .pc-texte--contact { padding-bottom: 0; }

/* Frise : la période préférée de l'auteur (« choix: juin | Mon mois préféré ») en colonne teintée
   sur toute la hauteur des pistes, pastille au-dessus (guide des Lofoten ; direction B retenue
   par François parmi trois, 04/10/2026). */
.pc-frise { position: relative; z-index: 0; --lib: 220px; --ecart: 24px; }
.pc-frise:has(.pc-frise__choix) { margin-top: 40px; }
@media (max-width: 1199px) { .pc-frise { --lib: 180px; } }
@media (max-width: 767px) { .pc-frise { --lib: 0px; --ecart: 0px; } }
.pc-frise__choix { position: absolute; z-index: -1; top: 0; bottom: 0; pointer-events: none; border-radius: 6px; background: rgba(0, 168, 150, .14);
  left: calc(var(--lib) + var(--ecart) + (100% - var(--lib) - var(--ecart)) * var(--x));
  width: calc((100% - var(--lib) - var(--ecart)) * var(--w)); }
.pc-frise__choix .pc-pastille-choix { position: absolute; bottom: 100%; left: 50%; transform: translate(-50%, -8px); height: 24px; padding: 0 9px; font-size: 12px; white-space: nowrap; }
@media (max-width: 767px) { .pc-frise__choix .pc-pastille-choix { font-size: 11px; } }

/* Liste dans un encadré (recommandation des Lofoten, 04/10/2026) : sans la marge et l'interligne hérités du thème */
.pc .pc-encadre ul { margin: 0 0 12px; padding: 0 0 0 20px; line-height: 1.5; }
.pc .pc-encadre li + li { margin-top: 6px; }
.pc .pc-encadre > ul:last-child { margin-bottom: 0; }


/* Claude Design, design_handoff_sections_nouvelles (04/10/2026), adapté au site : .pastille-choix → .pc-pastille-choix,
   --hr-filet-sable → --pc-filet-sable, ligne de chiffres hors accueil (.pc:not(.pc--accueil) : l'accueil garde la sienne, François).
   Horizonrando — types de section des pages du site et des idées de circuits, style Carnet (version finie du 04/10/2026).
   Remplace types-nouveaux-actuel.css. Dépend de hr-fiche-tokens.css et de sections-guide-islande.css (.pc-pastille-choix, --pc-blanc, couleurs de difficulté).
   Texte 15/1,5 · intro 16/1,6. Ruptures : ≥1200 · 1024–1199 · 768–1023 · <768. Couleur : difficulté seulement ; pétrole : liens et boutons. */

/* ── circuits ───────────────────────────────────────────────── */
/* Gabarit : .pc-circuits__grille--n (n = 1 à 4). 1 → carte en ligne · 2 → 2 · 3 → 3 (tuiles 2 × 2) · 4 → 2 × 2.
   Pastille de niveau rendue seulement si la section compte au moins deux niveaux différents (sinon elle ne compare rien).
   Photo : 3:2, srcset 480 / 960 / 1440, sizes="(min-width: 1024px) 464px, (min-width: 768px) 50vw, 100vw" (n = 3 : 304px). */
.pc-circuits { padding: 24px 0 8px; }
.pc-circuits__grille { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.pc-circuits__grille--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.pc-circuit { display: flex; flex-direction: column; min-width: 0; overflow: hidden; background: var(--hr-surface); border: 1px solid var(--hr-bordure); border-radius: var(--hr-r-md); }
.pc-circuit__photo { position: relative; display: block; }
.pc-circuit__photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
/* même gabarit que .pc-pastille-choix : rectangle 26 px, coins 4 */
.pc-circuit__niveau { position: absolute; left: 12px; top: 12px; display: inline-flex; align-items: center; gap: 7px; height: 26px; padding: 0 10px; border-radius: var(--hr-r-xs); background: #fff; color: var(--hr-encre); font: 600 12.5px var(--hr-font-label); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; box-shadow: 0 1px 4px rgba(0, 0, 0, .25); }
.pc-circuit__niveau i, .pc-circuit__infos i { flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--c); }
:is(.pc-circuit__niveau, .pc-circuit__infos) i.clair { background: #fff; box-shadow: inset 0 0 0 1.5px var(--hr-encre); }
.pc-circuit__corps { display: flex; flex: 1; flex-direction: column; padding: 18px 20px 20px; }
.pc .pc-circuit__duree { margin: 0; font: 600 12.5px/1.35 var(--hr-font-label); letter-spacing: .06em; text-transform: uppercase; color: var(--hr-vert-texte); }
.pc .pc-circuit h3 { margin: 4px 0 0; font: 600 21px/1.25 var(--hr-font-titre); color: var(--hr-encre); text-wrap: pretty; }
.pc .pc-circuit h3 a { color: inherit; text-decoration: none; }
.pc .pc-circuit h3 a:focus-visible { outline: none; box-shadow: var(--hr-focus); border-radius: 2px; }
.pc .pc-circuit__acc p { margin: 6px 0 0; font-size: 14.5px; line-height: 1.5; color: var(--hr-texte-2); }
.pc-circuit__tuiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 16px 0 0; overflow: hidden; background: var(--hr-filet); border: 1px solid var(--hr-bordure); border-radius: var(--hr-r-sm); }
.pc-circuit__tuiles div { padding: 9px 12px 10px; background: var(--hr-papier); }
.pc-circuit__tuiles dt { font: 600 11.5px/1.3 var(--hr-font-label); letter-spacing: .06em; text-transform: uppercase; color: var(--hr-texte-3); }
.pc-circuit__tuiles dd { margin: 3px 0 0; font: 600 18px/1.2 var(--hr-font-texte); color: var(--hr-encre); font-variant-numeric: tabular-nums; white-space: nowrap; }
.pc-circuit__tuiles small { margin-left: 2px; font-size: 12.5px; font-weight: 400; color: var(--hr-texte-2); }
/* fourchette et saison : sorties du pied, en deux lignes étiquetées ; pastille devant chaque borne de la fourchette */
.pc-circuit__infos { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 6px 14px; margin: 14px 0 0; font-size: 14px; line-height: 1.45; }
.pc-circuit__infos dt { font: 600 11.5px/20px var(--hr-font-label); letter-spacing: .06em; text-transform: uppercase; color: var(--hr-texte-3); }
.pc-circuit__infos dd { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 6px; margin: 0; color: var(--hr-encre); }
.pc-circuit__infos dd span { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.pc-circuit__pied { margin-top: auto; padding-top: 18px; }
/* bouton secondaire : sur l'accueil, 3 ou 4 boutons pleins côte à côte se disputeraient la page */
.pc-circuit__pied .pc-btn { height: 44px; }
/* n = 3 : cartes de 304 px, tuiles en 2 × 2 */
.pc-circuits__grille--3 .pc-circuit__tuiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
/* n = 1, et la 3e carte en tablette : photo à gauche (5/11), texte à droite */
.pc-circuits__grille--1 { grid-template-columns: minmax(0, 1fr); }
.pc-circuits__grille--1 .pc-circuit { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
.pc-circuits__grille--1 .pc-circuit__photo img { height: 100%; min-height: 100%; }
@media (hover: hover) {
  .pc .pc-circuit h3 a:hover { color: var(--hr-petrole); }
  .pc-circuit__photo:hover + .pc-circuit__corps h3 a { color: var(--hr-petrole); }
}
@media (max-width: 1199px) {
  .pc-circuit__corps { padding: 16px 18px 18px; }
  .pc-circuit__tuiles div { padding: 8px 10px 9px; }
  .pc-circuit__tuiles dd { font-size: 17px; }
}
@media (max-width: 1023px) {
  .pc-circuits__grille--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .pc-circuits__grille--3 .pc-circuit:last-child:nth-child(odd) { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
  .pc-circuits__grille--3 .pc-circuit:last-child:nth-child(odd) .pc-circuit__photo img { height: 100%; }
  .pc-circuits__grille .pc-circuit__tuiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .pc-circuits { padding-top: 16px; }
  .pc-circuits__grille, .pc-circuits__grille--3 { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .pc-circuits__grille--1 .pc-circuit, .pc-circuits__grille--3 .pc-circuit:last-child:nth-child(odd) { display: flex; grid-column: auto; }
  .pc-circuits__grille--1 .pc-circuit__photo img { height: auto; }
  .pc-circuit__niveau { left: 8px; top: 8px; height: 24px; padding: 0 8px; font-size: 12px; }
  .pc-circuit__corps { padding: 14px 16px 16px; }
  .pc .pc-circuit h3 { font-size: 19px; }
  .pc-circuit__infos { gap: 4px 12px; font-size: 13.5px; }
  .pc-circuit__pied { padding-top: 16px; }
  .pc-circuit__pied .pc-btn { width: 100%; height: 48px; justify-content: space-between; }
}

/* ── classement ─────────────────────────────────────────────── */
/* Chiffre en Roboto Serif, encre, sans rond : un rond plein se lirait comme un repère de difficulté (encre = très difficile).
   Pastille : .pc-pastille-choix (même objet que dans choix et colonnes : la recommandation de l'auteur) ; gabarit « ★ Mon choix », « ★ Mon coup de cœur ».
   Durée et fiches : ligne sous le nom, comme les chiffres de .pc-liste ; « 41 fiches sur la carte » / « 41 hikes on the map ».
   « rang: non » → .pc-classement__el--hors : pas de chiffre, étiquette « Hors classement » / « Not ranked » ; toujours en fin de liste. */
.pc-classement { padding: 16px 0 8px; }
.pc .pc-classement__liste { list-style: none; max-width: 720px; margin: 0; padding: 0; }
.pc-classement__el { display: grid; grid-template-columns: 36px minmax(0, 1fr); column-gap: 12px; margin: 0; padding: 18px 0; border-top: 1px solid var(--hr-bordure); }
.pc-groupe--pair .pc-classement__el { border-top-color: var(--pc-filet-sable); }
.pc-classement__el:first-child { border-top: 0; padding-top: 8px; }
.pc-classement__num { font: 600 26px/24px var(--hr-font-titre); color: var(--hr-encre); font-variant-numeric: lining-nums tabular-nums; }
.pc-classement__tete { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; min-height: 24px; }
.pc .pc-classement__nom { margin: 0; font: 600 18px/1.3 var(--hr-font-titre); color: var(--hr-encre); text-wrap: pretty; }
.pc-classement__tete .pc-pastille-choix { height: 22px; padding: 0 8px; font-size: 11.5px; }
.pc-classement__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 16px; margin-top: 4px; font-size: 13.5px; line-height: 1.4; font-variant-numeric: tabular-nums; }
.pc-classement__duree { display: inline-flex; align-items: center; gap: 6px; font-weight: 500; color: var(--hr-encre); white-space: nowrap; }
.pc-classement__duree svg { width: 14px; height: 14px; fill: none; stroke: var(--hr-texte-2); stroke-width: 2; }
.pc .pc-classement__compte { font-weight: 500; color: var(--hr-petrole); white-space: nowrap; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.pc .pc-classement__compte:focus-visible { outline: none; box-shadow: var(--hr-focus); border-radius: 2px; }
.pc .pc-classement__texte { margin: 6px 0 0; font-size: 14.5px; line-height: 1.5; color: var(--hr-texte); }
.pc-classement__texte strong { font-weight: 600; color: var(--hr-encre); }
.pc-classement__el--hors { margin-top: 8px; border-top: 1px solid var(--hr-encre); }
.pc-classement__hors { grid-column: 2; margin: 0 0 4px; font: 600 11.5px var(--hr-font-label); letter-spacing: .06em; text-transform: uppercase; color: var(--hr-texte-3); }
@media (hover: hover) { .pc .pc-classement__compte:hover { color: var(--hr-petrole-fonce); text-decoration-thickness: 2px; } }
@media (max-width: 767px) {
  .pc-classement__el { grid-template-columns: 28px minmax(0, 1fr); column-gap: 10px; padding: 16px 0; }
  .pc-classement__num { font-size: 22px; line-height: 22px; }
  .pc .pc-classement__nom { font-size: 16.5px; line-height: 1.25; }
  .pc-classement__meta { margin-top: 2px; font-size: 13px; }
  /* zone de toucher de 44 px sans décaler la ligne */
  .pc .pc-classement__compte { display: inline-flex; align-items: center; min-height: 44px; margin: -12px 0; }
  .pc .pc-classement__texte { font-size: 14px; }
}

/* ── formulaire (contact) ───────────────────────────────────── */
/* Colonne des conseils fixée à 320 px et collante : le formulaire prend 584 (952 − 320 − 48), le vide sous les conseils n'est plus une colonne à moitié vide de 420 px. */
.pc-formulaire { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 48px; align-items: start; padding: 8px 0 64px; }
.pc-formulaire__aside { position: sticky; top: calc(var(--hr-en-h, 0px) + 24px); }
.pc .pc-formulaire__aside h2 { margin: 0 0 12px; font: 600 var(--hr-fs-h3)/1.3 var(--hr-font-titre); color: var(--hr-encre); }
.pc .pc-formulaire__conseils { list-style: none; margin: 0; padding: 0; }
.pc-formulaire__conseils li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 12px; margin: 0; padding: 14px 0; border-top: 1px solid var(--hr-bordure); }
.pc-formulaire__conseils li:first-child { border-top: 0; padding-top: 0; }
.pc-formulaire__pic { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--hr-filet); color: var(--hr-encre); }
.pc-formulaire__pic svg { width: 17px; height: 17px; }
.pc .pc-formulaire__titre { margin: 4px 0 0; font: 600 15px/1.35 var(--hr-font-texte); color: var(--hr-encre); }
.pc .pc-formulaire__conseils li p:not(.pc-formulaire__titre) { margin: 3px 0 0; font-size: 14px; line-height: 1.5; color: var(--hr-texte-2); }
@media (max-width: 1023px) { .pc-formulaire { grid-template-columns: 280px minmax(0, 1fr); gap: 32px; } }
/* Mobile : conseils avant le formulaire (le premier peut éviter d'écrire), resserrés : 3 conseils ≈ 210 px au lieu de 300 */
@media (max-width: 767px) {
  .pc-formulaire { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-bottom: 48px; }
  .pc-formulaire__aside { position: static; }
  .pc .pc-formulaire__aside h2 { margin-bottom: 8px; font-size: 19px; }
  .pc-formulaire__conseils li { grid-template-columns: 28px minmax(0, 1fr); gap: 10px; padding: 10px 0; }
  .pc-formulaire__pic { width: 28px; height: 28px; }
  .pc-formulaire__pic svg { width: 15px; height: 15px; }
  .pc .pc-formulaire__titre { margin-top: 3px; font-size: 14.5px; }
  .pc .pc-formulaire__conseils li p:not(.pc-formulaire__titre) { font-size: 13.5px; }
}

/* ── tableau : pastille de niveau (première cellule) ────────── */
/* Pastilles, pas carrés : une ligne du tableau définit un niveau, comme la légende de la carte et les paliers de .pc-liste.
   La barre de cinq carrés reste réservée à la fiche (position d'une randonnée sur l'échelle). */
.pc-tableau tbody th:has(> .pc-tableau__niveau) { white-space: nowrap; }
.pc-tableau__niveau { display: inline-block; width: 10px; height: 10px; margin-right: 8px; border-radius: 50%; background: var(--c); vertical-align: -1px; }
.pc-tableau__niveau.clair { background: #fff; box-shadow: inset 0 0 0 1.5px var(--hr-encre); }
.pc .pc-tableau tbody th:has(> .pc-tableau__niveau) strong { font-weight: 600; color: var(--hr-encre); }

/* ── tableau empilé sur mobile (niveaux, vertige) ───────────── */
/* Gabarit : .pc-tableau--empile sur tout tableau dont la 1re colonne est un en-tête de ligne ; data-th="Durée" sur les td à partir de la 3e colonne.
   < 768 : 1re cellule en titre, 2e en pleine largeur, les suivantes côte à côte avec leur libellé. Vertige (2 col.) : 40 % de hauteur en moins. */
@media (max-width: 767px) {
  .pc-tableau--empile thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
  .pc-tableau--empile, .pc-tableau--empile tbody { display: block; }
  .pc-tableau--empile tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 12px; padding: 12px 14px 13px; border-top: 1px solid var(--hr-filet); }
  .pc-tableau--empile tbody tr:first-child { border-top: 0; }
  .pc-tableau--empile tbody :is(th, td) { grid-column: 1 / -1; padding: 0; border: 0; }
  .pc-tableau--empile tbody th { margin-bottom: 3px; font: 600 14px/1.35 var(--hr-font-texte); color: var(--hr-encre); }
  /* Cotations des via ferrata (« A ≈ F – Facile ») : un peu plus grand ; le tableau des difficultés garde ses 14 px */
  .pc-tableau--empile tbody th:not(:has(.pc-tableau__niveau)) { font-size: 16px; }
  .pc-tableau--empile tbody td { color: var(--hr-texte); }
  .pc-tableau--empile tbody td[data-th] { grid-column: auto; margin-top: 8px; font-size: 13.5px; color: var(--hr-encre); }
  .pc-tableau--empile tbody td[data-th]::before { content: attr(data-th); display: block; font: 600 11px var(--hr-font-label); letter-spacing: .06em; text-transform: uppercase; color: var(--hr-texte-3); }
}

/* ── tableau à deux colonnes (pages légales) ────────────────── */
/* Gabarit : si la 2e cellule d'en-tête est vide, la 1re devient <caption> ; plus de thead. 1re colonne : 36 %, secondaire. */
.pc-tableau--2col { max-width: 560px; }
.pc-tableau--2col caption { caption-side: top; padding: 0 0 8px; text-align: left; font: 600 12.5px var(--hr-font-label); letter-spacing: .06em; text-transform: uppercase; color: var(--hr-texte-2); }
.pc-tableau--2col tbody tr:first-child > * { border-top: 0; }
.pc-tableau--2col tbody th { width: 36%; font: 400 14px/1.4 var(--hr-font-texte); color: var(--hr-texte-2); }
@media (max-width: 767px) {
  .pc-tableau--2col tbody tr { display: grid; padding: 10px 12px; border-top: 1px solid var(--hr-filet); }
  .pc-tableau--2col tbody tr:first-child { border-top: 0; }
  .pc-tableau--2col tbody :is(th, td) { width: auto; padding: 0; border: 0; }
  .pc-tableau--2col tbody th { font-size: 12.5px; }
}

/* ── encadrés : trois sens, trois signes ────────────────────── */
/* Gabarit : « type: conseil | info | attention » ; à défaut, d'après le titre (Bon à savoir / Good to know → info ; Important → attention ; sinon conseil). */
.pc .pc-encadre--info h3::before { content: "i"; font: italic 700 15px var(--hr-font-titre); }
.pc-encadre--attention { border-top-color: var(--hr-encre); }
.pc .pc-encadre--attention h3::before { content: "!"; background: var(--hr-encre); color: #fff; font: 700 15px var(--hr-font-texte); }

/* ── ligne de chiffres ──────────────────────────────────────── */
/* Gabarit : la valeur = nombre + unité (km, km/h, m, h, min, j, %) dans <strong> ; le reste en légende. Encre, non pétrole (le pétrole se lit comme un lien). */
.pc:not(.pc--accueil) .pc-faits { display: flex; flex-wrap: wrap; gap: 10px 32px; margin: 20px 0 0; padding: 16px 0 0; list-style: none; border-top: 1px solid var(--hr-bordure); font-size: 13.5px; line-height: 1.35; color: var(--hr-texte-2); }
.pc:not(.pc--accueil) .pc-faits li { display: flex; flex-direction: column; gap: 2px; margin: 0; padding: 0; max-width: 200px; }
.pc:not(.pc--accueil) .pc-faits strong { font: 600 22px/1.15 var(--hr-font-titre); color: var(--hr-encre); white-space: nowrap; font-variant-numeric: lining-nums; }
.pc:not(.pc--accueil) .pc-faits + * { margin-top: 18px; }
@media (max-width: 767px) {
  .pc:not(.pc--accueil) .pc-faits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .pc:not(.pc--accueil) .pc-faits strong { font-size: 19px; }
  .pc:not(.pc--accueil) .pc-faits li { font-size: 12.5px; }
}

/* ── colonnes : intertitre ──────────────────────────────────── */
.pc .pc-colonnes__intro h3 { margin: 0 0 6px; font: 600 var(--hr-fs-h3)/1.3 var(--hr-font-titre); color: var(--hr-encre); }
.pc .pc-colonnes__intro p { max-width: 680px; margin: 0; color: var(--hr-texte-2); }
.pc-colonnes__intro + .pc-colonnes__grille { margin-top: 16px; }

/* ── pages légales ──────────────────────────────────────────── */
/* .pc--legal : chapitres d'un paragraphe ; bandes sable gardées (règle du site), resserrées 40 → 32. Date de mise à jour en légende, pas en intro. */
.pc--legal .pc-chapitre { padding-top: 32px; }
.pc--legal .pc-groupe--pair { margin-top: 32px; padding-bottom: 32px; }
.pc--legal .pc-chapitre h2 { font-size: 26px; }
.pc--legal .pc-ouv__date { margin: 8px 0 0; font-size: 14px; color: var(--hr-texte-2); }
.pc--legal :is(.pc-chapitre__intro, .pc-texte) p { max-width: 680px; }

/* ── Galerie (plages de Corse, 04/10/2026) : toutes les photos, chacune à son format (François) — rangées
   justifiées : largeur proportionnelle au ratio (--r, posé par le gabarit), même hauteur dans une rangée,
   la dernière rangée ne s'étire pas (::after) ; survol et focus de la galerie des fiches ; PhotoSwipe (galerie.js) ── */
.pc-galerie-bloc { padding: 8px 0 32px; }
.pc .pc-galerie { display: flex; flex-wrap: wrap; gap: var(--hr-sp-2); height: auto !important; margin: 0; }
.pc .pc-galerie::after { content: ""; flex: 999 1 0; }
/* Hauteur tenue par l'image (largeur 100 %, hauteur auto d'après ses dimensions), pas par aspect-ratio : sur iPhone,
   Safari donnait une hauteur nulle à un élément flex étiré dont seul aspect-ratio fixait la hauteur (04/10/2026) */
.pc .pc-galerie .galerie__element { position: relative; inset: auto; flex: var(--r) 1 calc(var(--r) * 230px); align-self: flex-start; width: auto !important; margin: 0; padding: 0; border: 0; border-radius: var(--hr-r-xs); overflow: hidden; background: #dcd8cf; box-shadow: none; }
.pc .pc-galerie .galerie__lien { display: block; border: 0; border-radius: inherit; }
.pc .pc-galerie .galerie__image { display: block; width: 100%; height: auto; max-width: none; transition: transform var(--hr-transition); }
.pc .pc-galerie .galerie__legende { display: none; }
.pc .pc-galerie .galerie__lien::after { content: ""; position: absolute; right: 8px; bottom: 8px; width: 28px; height: 28px; border-radius: 50%; background: rgba(255, 255, 255, .92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2305668d' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M14 4h6v6M20 4l-7 7M10 20H4v-6M4 20l7-7'/%3E%3C/svg%3E") center / 14px no-repeat; opacity: 0; transition: opacity var(--hr-transition); }
.pc .pc-galerie .galerie__lien:focus-visible { box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 5px var(--hr-petrole); }
.pc .pc-galerie .galerie__lien:focus-visible .galerie__image { transform: scale(1.04); }
.pc .pc-galerie .galerie__lien:focus-visible::after { opacity: 1; }
@media (hover: hover) {
  .pc .pc-galerie .galerie__lien:hover .galerie__image { transform: scale(1.04); }
  .pc .pc-galerie .galerie__lien:hover::after { opacity: 1; }
}
@media (max-width: 767px) { .pc .pc-galerie .galerie__element { flex-basis: calc(var(--r) * 130px); } }

/* Vignette en carte, comme « D'autres randonnées » de la fiche (choix A de
   François, 04/10/2026), au blanc adouci des encadrés (75 % sur le papier,
   65 % sur le sable). Espaces de l'accueil, référence de toutes les vignettes. */
.pc .pc-vignette--carte { position: relative; padding-bottom: 14px; background: var(--pc-blanc); border: 1px solid var(--hr-bordure); border-radius: var(--hr-r-md); overflow: hidden; transition: box-shadow var(--hr-transition), transform var(--hr-transition); }
.pc-vignette--carte img { border-radius: 0; transition: transform var(--hr-transition); }
.pc-vignette--carte > :not(img) { padding-left: 16px; padding-right: 16px; }
.pc .pc-vignette--carte .pc-vignette__tete { margin-top: 14px; }
.pc .pc-vignette--carte .pc-vignette__nom { font-size: 17px; line-height: 1.25; }
.pc-vignette--carte .pc-vignette__pt { display: none; }
.pc-vignette--carte .pc-vignette__ch { display: block; width: 100%; margin-top: 3px; }   /* sa propre ligne, comme l'accueil */
@media (hover: hover) {
  .pc .pc-vignette--carte:hover { box-shadow: var(--hr-om-survol); transform: translateY(-2px); }
  .pc .pc-vignette--carte:hover .pc-vignette__nom { text-decoration: none; }
}
.pc .pc-vignette--carte:focus-visible { box-shadow: var(--hr-focus); } .pc-vignette--carte:focus-visible img { box-shadow: none; }
/* Lien étendu depuis le nom (08/10/2026 : la carte n'est plus un <a>, pour porter le cœur des favoris) */
.pc .pc-vignette__lien { color: inherit; text-decoration: none; }
.pc-vignette__lien::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.pc .pc-vignette__lien:focus-visible { outline: none; }
.pc .pc-vignette--carte:has(.pc-vignette__lien:focus-visible) { box-shadow: var(--hr-focus); }
@media (max-width: 767px) {
  .pc .pc-vignette--carte { padding-bottom: 10px; }
  .pc-vignette--carte > :not(img) { padding-left: 10px; padding-right: 10px; }
  .pc .pc-vignette--carte .pc-vignette__tete { margin-top: 10px; }
  .pc .pc-vignette--carte .pc-vignette__nom { font-size: 15.5px; }
  /* Grilles en lignes (3 ou 5 lieux) : la ligne d'origine, sans carte */
  .pc .pc-grille--lignes .pc-vignette--carte { padding: 12px 0; background: none; border: 0; border-top: 1px solid var(--hr-bordure); border-radius: 0; overflow: visible; }
  .pc .pc-grille--lignes .pc-vignette--carte:first-child { border-top: 0; }
  .pc-grille--lignes .pc-vignette--carte > :not(img) { padding-left: 0; padding-right: 0; }
  .pc-grille--lignes .pc-vignette--carte img { border-radius: var(--hr-r-xs); }
  .pc .pc-grille--lignes .pc-vignette--carte .pc-vignette__tete { margin-top: 0; }
}
@media (prefers-reduced-motion: reduce) { .pc .pc-vignette--carte, .pc-vignette--carte img { transition: none; } .pc .pc-vignette--carte:hover { transform: none; } }

/* ── Impression (maquette « 2 », François, 05/10/2026) ──────────
   Comme la fiche et le circuit imprimés : 11 pt, bleu pétrole pour les
   titres, aucune ombre floue, photos jamais étirées. Tout en blocs (Safari
   ne coupe ni grille ni boîte flexible entre deux pages) ; tous les onglets
   imprimés, chacun sous son nom ; textes entiers, photo à côté du texte (la
   photo est placée devant son texte par pages-carnet.js) ; boutons, sommaire,
   raccourcis et commandes de carte retirés ; grandes cartes des guides
   retirées (fonds incomplets à l'impression). L'accueil (.pc--accueil),
   hors de cette maquette, garde l'impression d'avant. */
.pc-onglet-papier { display: none; }
/* Texte pour les moteurs et les lecteurs d'écran seulement (« — » entre le nom et l'accroche) */
.pc-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
@media print {
  .pc:not(.pc--accueil) { background: #fff; color: #111; font-size: 11pt; }
  .pc:not(.pc--accueil) *, .pc:not(.pc--accueil) *::before, .pc:not(.pc--accueil) *::after { box-shadow: none !important; text-shadow: none !important; transition: none !important; }
  .pc:not(.pc--accueil) [class*="pc-"] { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .pc:not(.pc--accueil) .pc-conteneur { max-width: none; padding: 0; }
  .pc:not(.pc--accueil) .pc-groupe--pair::before, .pc:not(.pc--accueil) .pc-groupe--pair { background: none !important; }
  .pc:not(.pc--accueil) .pc-groupe--pair { margin-top: 0; padding-bottom: 0; }
  /* Tout en blocs : Safari ne coupe ni grille ni boîte flexible entre deux pages */
  .pc:not(.pc--accueil) .pc-corps, .pc:not(.pc--accueil) .pc-texte__grille, .pc:not(.pc--accueil) .pc-regions, .pc:not(.pc--accueil) .pc-regions__liste, .pc:not(.pc--accueil) .pc-outils, .pc:not(.pc--accueil) .pc-outil, .pc:not(.pc--accueil) .pc-faq, .pc:not(.pc--accueil) .pc-texte__cote { display: block !important; }

  /* Mobilier d'écran */
  .pc:not(.pc--accueil) .pc-ariane, .pc:not(.pc--accueil) .pc-sommaire, .pc:not(.pc--accueil) .pc-sommaire-barre, .pc:not(.pc--accueil) .pc-raccourcis, .pc:not(.pc--accueil) .pc-onglets, .pc:not(.pc--accueil) .pc-boutons, .pc:not(.pc--accueil) .pc-btn,
  .pc:not(.pc--accueil) .pc-randos__plus, .pc:not(.pc--accueil) .pc-renvoi, .pc:not(.pc--accueil) .pc-rando__lire, .pc:not(.pc--accueil) .pc-rando__pied, .pc:not(.pc--accueil) .pc-region__actions, .pc:not(.pc--accueil) .pc-region__lire, .pc:not(.pc--accueil) .pc-filtre-iles,
  .pc:not(.pc--accueil) .pc-grille__voir, .pc:not(.pc--accueil) .pc-faq__suite, .pc:not(.pc--accueil) .leaflet-control-container, .pc:not(.pc--accueil) .pc-regions__legende,
  .pc:not(.pc--accueil) .pc-texte__mobile, .pc:not(.pc--accueil) .pc-liste__apercu { display: none !important; }

  /* Ouverture : photo en bandeau, titre dessous en bleu pétrole */
  .pc:not(.pc--accueil) header.pc-ouv { display: block !important; height: auto !important; color: #111; }
  .pc:not(.pc--accueil) .pc-ouv--photo::after { display: none; }
  .pc:not(.pc--accueil) .pc-ouv--photo picture, .pc:not(.pc--accueil) .pc-ouv--photo > img { display: block; }
  .pc:not(.pc--accueil) .pc-ouv--photo img { position: static !important; width: 100%; height: auto !important; aspect-ratio: 3 / 1; object-fit: cover; border-radius: 8px; }
  .pc:not(.pc--accueil) .pc-ouv__txt { display: block; height: auto; padding: 12pt 0 0 !important; }
  .pc:not(.pc--accueil) .pc-ouv h1, .pc:not(.pc--accueil) .pc-ouv--photo h1 { font-size: 24pt; line-height: 1.12; color: var(--hr-petrole) !important; max-width: none; }
  .pc:not(.pc--accueil) .pc-reperes, .pc:not(.pc--accueil) .pc-ouv--photo .pc-reperes { display: flex; margin-top: 8pt; color: #444; font-size: 10pt; gap: 4pt 16pt; }
  .pc:not(.pc--accueil) .pc-reperes strong, .pc:not(.pc--accueil) .pc-ouv--photo .pc-reperes strong { color: var(--hr-petrole); font-size: 14pt; }
  .pc:not(.pc--accueil) .pc-ouv--sans { padding-top: 0; }

  /* Chapitres et textes */
  .pc:not(.pc--accueil) .pc-chapitre { padding-top: 18pt; break-after: avoid; }
  .pc:not(.pc--accueil) .pc-chapitre h2 { font-size: 16pt; color: var(--hr-petrole); }
  .pc:not(.pc--accueil) .pc-chapitre h2::after { margin-top: 6pt; height: 2px; }
  .pc:not(.pc--accueil) .pc-chapitre__intro { max-width: none; margin-top: 8pt; }
  .pc:not(.pc--accueil) .pc-texte { padding: 10pt 0 6pt; }
  .pc:not(.pc--accueil) .pc-texte__corps, .pc:not(.pc--accueil) .pc-texte--seul .pc-texte__corps, .pc:not(.pc--accueil) .pc-randos__intro, .pc:not(.pc--accueil) .pc-onglets-section__panneau, .pc:not(.pc--accueil) .pc-faq, .pc:not(.pc--accueil) .pc-faq__r { max-width: none; }
  .pc:not(.pc--accueil) :is(.pc-texte__corps, .pc-texte__large, .pc-texte__suite, .pc-chapitre__intro, .pc-randos__intro, .pc-onglets-section__panneau, .pc-faq__r, .pc-region, .pc-outil, .pc-saisons, .pc-periode__txt) { font-size: 11pt; line-height: 1.4; color: #111; }
  .pc:not(.pc--accueil) :is(.pc-texte__corps, .pc-texte__large, .pc-texte__suite, .pc-chapitre__intro, .pc-randos__intro, .pc-onglets-section__panneau, .pc-faq__r, .pc-region__texte) p { margin: 0 0 6pt; }
  .pc:not(.pc--accueil) :is(.pc-texte__corps, .pc-texte__large, .pc-texte__suite, .pc-saisons) h3 { margin: 12pt 0 4pt; font-size: 12.5pt; color: var(--hr-petrole); break-after: avoid; }
  .pc:not(.pc--accueil) :is(.pc-texte__corps, .pc-texte__large, .pc-texte__suite, .pc-saisons, .pc-onglets-section__panneau) h4 { margin: 8pt 0 2pt; font-size: 11pt; break-after: avoid; }
  .pc:not(.pc--accueil) strong { color: #111; }
  .pc:not(.pc--accueil) a { color: inherit; text-decoration: none; }
  .pc:not(.pc--accueil) a[data-hote]::after { content: " (" attr(data-hote) ")"; font-size: 9.5pt; color: #444; }
  /* Photos du texte : une seule, à droite (à gauche pour un texte « gauche »), le texte autour */
  .pc:not(.pc--accueil) .pc-texte__cote { float: right; width: 34%; margin: 2pt 0 8pt 14pt; padding: 0 !important; }
  .pc:not(.pc--accueil) .pc-texte--gauche .pc-texte__cote { float: left; margin: 2pt 14pt 8pt 0; }
  .pc:not(.pc--accueil) .pc-texte__cote > :not(:first-child), .pc:not(.pc--accueil) .pc-texte__cote::before, .pc:not(.pc--accueil) .pc-texte__cote::after, .pc:not(.pc--accueil) .pc-espace { display: none !important; }
  .pc:not(.pc--accueil) .pc-texte__cote > .pc-photo-place { margin-top: 0 !important; }
  .pc:not(.pc--accueil) .pc-texte__cote > * { display: block; }
  .pc:not(.pc--accueil) .pc-texte__cote--ancres > .pc-photo-place { margin-top: 0 !important; }
  .pc:not(.pc--accueil) .pc-texte__cote img { aspect-ratio: 3 / 2 !important; border-radius: 6px; }
  .pc:not(.pc--accueil) .pc-texte--a-mobile .pc-texte__cote, .pc:not(.pc--accueil) .pc-texte--ordi-seul .pc-texte__cote { display: block !important; }
  .pc:not(.pc--accueil) .pc-texte { display: flow-root; }
  .pc:not(.pc--accueil) .pc-mot { max-width: none; margin: 10pt 0 0 !important; padding-left: 28pt; font-size: 11.5pt; break-inside: avoid; }
  .pc:not(.pc--accueil) .pc-encadre { max-width: none; margin: 6pt 0 10pt; padding: 8pt 12pt; break-inside: avoid; }

  /* Régions : la carte, puis les régions, texte entier, petite photo */
  .pc:not(.pc--accueil) .pc-regions { padding: 8pt 0; }
  .pc:not(.pc--accueil) .pc-regions__carte { position: static; float: right; margin: 0 0 8pt 12pt; }
  .pc:not(.pc--accueil) .pc-region { display: flow-root !important; padding: 8pt; margin-bottom: 8pt; break-inside: avoid; }
  .pc:not(.pc--accueil) .pc-region > img { float: left; width: 26%; aspect-ratio: 3 / 2; margin: 0 12pt 4pt 0; }
  .pc:not(.pc--accueil) .pc-region h3 { font-size: 13pt; margin: 2pt 0 4pt; }
  .pc:not(.pc--accueil) .pc-region__texte { display: block !important; margin-top: 4pt; }

  /* Grandes cartes des guides (fiches de la carte du pays) : retirées, avec leur titre de chapitre */
  .pc:not(.pc--accueil) .pc-carte, .pc:not(.pc--accueil) .pc-chapitre:not(:has(.pc-chapitre__intro)):has(+ .pc-carte) { display: none !important; }

  /* Cartes interactives : taille d'écran, réduites (zoom), sans commandes */
  .pc:not(.pc--accueil) .pc-carte-papier { width: var(--pc-l) !important; height: var(--pc-h) !important; zoom: var(--pc-z); break-inside: avoid; }
  .pc:not(.pc--accueil) .pc-regions__leaflet, .pc:not(.pc--accueil) .pc-liste__carte { height: auto; }

  /* Randonnées : tous les onglets, chacun titré ; trois colonnes, textes entiers */
  .pc:not(.pc--accueil) .pc-randos-panneau { display: block !important; }
  .pc:not(.pc--accueil) .pc-onglet-papier { margin: 14pt 0 6pt; font: 600 13pt var(--hr-font-titre); color: var(--hr-petrole); break-after: avoid; }
  .pc:not(.pc--accueil) .pc-randos__intro { margin: 0 0 8pt; padding: 0; border: 0; }
  /* En liste, comme les étapes du circuit imprimé : petite photo 3:2 à gauche, texte autour,
     un filet entre deux randonnées (en rangées de trois, une rangée d'une demi-page laissait
     autant de blanc en passant à la page suivante) */
  .pc:not(.pc--accueil) .pc-randos { display: block !important; margin-top: 0 !important; }
  .pc:not(.pc--accueil) .pc-randos .pc-rando { display: flow-root !important; padding: 8pt 0; border: 0; border-top: 1px solid #ddd; border-radius: 0; background: none !important; break-inside: avoid; }
  .pc:not(.pc--accueil) .pc-randos .pc-rando:first-child { border-top: 0; padding-top: 2pt; }
  .pc:not(.pc--accueil) .pc-rando > a:first-child { float: left; width: 28%; margin: 2pt 12pt 2pt 0; }
  .pc:not(.pc--accueil) .pc-rando img { aspect-ratio: 3 / 2 !important; border-radius: 6px; }
  .pc:not(.pc--accueil) .pc-rando__corps { display: block; padding: 0; }
  .pc:not(.pc--accueil) .pc-rando__nom { font-size: 12pt; margin-top: 1pt; }
  .pc:not(.pc--accueil) .pc-rando__nom a { color: var(--hr-petrole); }
  .pc:not(.pc--accueil) .pc-rando__acc { font-size: 10.5pt; }
  .pc:not(.pc--accueil) .pc-chiffres { margin-top: 3pt; font-size: 9.5pt; gap: 2pt 6pt; }
  .pc:not(.pc--accueil) .pc-carres i { width: 6pt; height: 6pt; }
  .pc:not(.pc--accueil) .pc-rando__texte { display: block !important; -webkit-line-clamp: unset !important; overflow: visible !important; margin-top: 4pt; font-size: 10.5pt; line-height: 1.38; }
  .pc:not(.pc--accueil) .pc-rando__lieu { font-size: 8pt; }

  /* Onglets d'une section : tous, chacun sous son titre */
  .pc:not(.pc--accueil) .pc-onglets-section__panneau { display: block !important; padding-top: 6pt; }
  .pc:not(.pc--accueil) .pc-onglets-section__titre { display: block !important; margin: 8pt 0 4pt; font: 600 12pt var(--hr-font-titre); color: var(--hr-petrole); }
  .pc:not(.pc--accueil) .pc-onglets-section > .pc-onglets-section__panneau:last-child, .pc:not(.pc--accueil) .pc-onglets-section .pc-texte__corps { border: 0; padding-bottom: 0; }

  /* Grilles de vignettes : toutes, quatre par ligne */
  .pc:not(.pc--accueil) .pc-vignette[hidden] { display: block !important; }
  .pc:not(.pc--accueil) .pc-grille { display: block !important; font-size: 0; }
  .pc:not(.pc--accueil) .pc-grille > * { display: inline-block !important; width: calc((100% - 30pt) / 4); margin: 0 10pt 8pt 0; vertical-align: top; font-size: 11pt; break-inside: avoid; }
  .pc:not(.pc--accueil) .pc-grille > :nth-child(4n) { margin-right: 0; }

  /* Outils : listes de liens, sur deux colonnes */
  .pc:not(.pc--accueil) .pc-outils { padding: 12pt 0 0; font-size: 0; }
  .pc:not(.pc--accueil) .pc-outil { display: inline-block !important; width: calc(50% - 8pt); margin: 0 16pt 10pt 0; vertical-align: top; font-size: 11pt; break-inside: avoid; }
  .pc:not(.pc--accueil) .pc-outil:nth-child(2n) { margin-right: 0; }
  .pc:not(.pc--accueil) .pc-outil h3 { font-size: 12.5pt; }
  .pc:not(.pc--accueil) .pc-outil__ic { display: none; }
  .pc:not(.pc--accueil) .pc-lien-rangee { display: block !important; min-height: 0 !important; padding: 4pt 8pt !important; }
  .pc:not(.pc--accueil) .pc-lien-rangee::after { content: none; }
  .pc:not(.pc--accueil) .pc-liens { border-color: #ddd; background: #fff; }

  /* FAQ : questions et réponses */
  .pc:not(.pc--accueil) .pc-faq details { margin-bottom: 6pt; background: #fff; border-color: #ddd; }
  .pc:not(.pc--accueil) .pc-faq summary { break-after: avoid; break-inside: avoid; display: block; min-height: 0; padding: 6pt 10pt 2pt; font-size: 11.5pt; color: var(--hr-petrole); }
  .pc:not(.pc--accueil) .pc-faq summary::after { content: none; }
  .pc:not(.pc--accueil) .pc-faq__r { padding: 0 10pt 8pt; }

  /* Une rangée de cartes peut rester seule en bas ou en haut d'une page (sinon tout le bloc était repoussé) */
  .pc:not(.pc--accueil) .pc-randos, .pc:not(.pc--accueil) .pc-grille, .pc:not(.pc--accueil) .pc-outils, .pc:not(.pc--accueil) .pc-circuits__grille { orphans: 1; widows: 1; }

  /* Idées de circuits : deux cartes par rangée, photo 3:2 réduite, sans bouton */
  .pc:not(.pc--accueil) .pc-circuits__grille { display: block !important; font-size: 0; }
  .pc:not(.pc--accueil) .pc-circuit { display: inline-block !important; width: calc(50% - 6pt); margin: 0 12pt 12pt 0; vertical-align: top; font-size: 11pt; break-inside: avoid; background: #fff; border-color: #ddd; }
  .pc:not(.pc--accueil) .pc-circuit:nth-child(2n) { margin-right: 0; }
  .pc:not(.pc--accueil) .pc-circuits__grille--1 .pc-circuit { width: 100%; }
  .pc:not(.pc--accueil) .pc-circuit__corps { display: block; padding: 8pt 10pt 10pt; }
  .pc:not(.pc--accueil) .pc-circuit h3 { font-size: 13pt; }
  .pc:not(.pc--accueil) .pc-circuit__tuiles dd { font-size: 12pt; }

  /* Safari : titres jamais seuls en bas de page */
  @supports (font: -apple-system-body) {
    .pc:not(.pc--accueil) h2, .pc:not(.pc--accueil) h3 { break-inside: avoid; }
    .pc:not(.pc--accueil) h2::before, .pc:not(.pc--accueil) h3::before { content: ""; display: block; height: 48pt; margin-bottom: -48pt; }
  }
}
