/* ==========================================================================
   AO Craponne · prototype v2 — pages « Histoire et patrimoine » (V15–V19, équipe patrimoine)
   Composées avec les blocs du socle ; ici seulement les blocs locaux des cadres Figma 228:34943 :
   tête de page à photo à fond perdu, Bloc réponse (Hub), aperçu de la frise, fiches, carte des lieux, aqueduc dessiné,
   numéros géants en escalier, rivières, ASCII, frise chronologique par période (ancres collées, vignettes).
   Placement par la grille du socle : 4 col. / 24 / 16 à 390 ; 12 col. / 64 / 24 à ≥ 1 024 (c = colonne).
   ========================================================================== */

/* ---------- Tête de page : H1 + chapô + actions + réponse (c1–7) · photo c8–12 à fond perdu ---------- */
.patr-tete { display: grid; grid-template-columns: minmax(0, 1fr); row-gap: var(--espace-40); padding-bottom: var(--rythme-section); }
.patr-tete .titre-page { padding: var(--espace-24) 0 0; }
.patr-tete .titre-page__chapo, .patr-titre .titre-page__chapo { color: var(--couleur-texte-secondaire); }
/* H1 en c1–7 à côté de la photo : la taille suit la largeur entre 1 024 et 1 440 (Inter est plus large que Suisse Int'l) ;
   « Les blanchisseurs » : 52 à 390 (369 px à 56 pour 342 utiles), 120 / 112 à 1 440 (788 px à 128 pour 755 en c1–7) */
.patr-h1-long { font-size: min(52px, calc((100vw - 48px) * 0.162)); line-height: 1; }
@media (min-width: 1024px) {
  .patr-tete .t-titre-accueil { font-size: min(var(--taille-ville-titre-accueil), 10.4vw); line-height: 0.9375em; }
  .patr-tete .patr-h1-long { font-size: min(120px, 8.1vw); line-height: 0.9334em; }
}
.patr-tete__texte { display: flex; flex-direction: column; gap: var(--espace-24); min-width: 0; }
.patr-tete__actions { display: flex; flex-direction: column; align-items: stretch; gap: var(--espace-8); }
.patr-tete__actions .bouton--primaire { width: 100%; }
.patr-tete__actions .lien-fleche { align-self: flex-start; }
.patr-tete__media { margin-inline: calc(max(var(--grille-marge), env(safe-area-inset-left, 0px)) * -1); min-width: 0; max-width: none; }
.patr-tete__media .photo__legende, .patr-photo .photo__legende { padding-inline: var(--grille-marge); }
.patr-tete .reponse__lignes { margin-top: 0; }
@media (min-width: 1024px) {
  .patr-tete { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--grille-gouttiere); align-items: start; padding-bottom: 0; }
  .patr-tete .titre-page { padding-top: var(--espace-40); }
  .patr-tete__texte { grid-column: 1 / 8; grid-row: 1; gap: var(--espace-40); }
  .patr-tete__texte .titre-page__chapo { max-width: none; }
  .patr-tete__actions { flex-direction: row; flex-wrap: wrap; align-items: center; gap: var(--espace-16) var(--espace-24); }
  .patr-tete__actions .bouton--primaire { width: auto; }
  .patr-tete__actions .lien-fleche { align-self: center; }
  .patr-tete__texte > .reponse, .patr-tete__texte > .patr-hub { max-width: calc((100% - 6 * var(--grille-gouttiere)) / 7 * 6 + 5 * var(--grille-gouttiere)); }   /* c1–6 */
  .patr-tete__media { grid-column: 8 / 13; grid-row: 1; margin: 0 calc(max(var(--grille-marge), env(safe-area-inset-right, 0px)) * -1) 0 0; }
  .patr-tete__media .photo__legende { padding-inline: 0 var(--grille-marge); }
}
/* photo + crédit sur la photo, légende dessous (D18) */
.photo__cadre { position: relative; }
.photo .photo__legende { display: block; }
.patr-photo .photo__image, .patr-tete__media .photo__image { aspect-ratio: var(--ratio, 3 / 2); }
@media (min-width: 1024px) { .patr-tete__media .photo__image { aspect-ratio: var(--ratio-d, var(--ratio, 3 / 2)); } }
.patr-photo { margin-inline: calc(max(var(--grille-marge), env(safe-area-inset-left, 0px)) * -1); max-width: none; }
.patr-photo--marge { margin-inline: 0; }
.patr-photo--marge .photo__legende { padding-inline: 0; }
@media (min-width: 1024px) { .patr-photo { margin-inline: 0; } .patr-photo .photo__legende { padding-inline: 0; } }
/* l'arche suggérée, en tireté sur la photo d'aujourd'hui (V15) */
.patr-arche { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; color: var(--couleur-decor); }
.patr-arche path { fill: none; stroke: currentColor; stroke-width: var(--trait-forme); stroke-dasharray: 4 4; stroke-linecap: butt; }

/* ---------- Bloc réponse (Hub) : « Les plus visitées » + le jeu (V16) ---------- */
.patr-hub { display: flex; flex-direction: column; gap: var(--espace-16); }
.patr-hub__ligne { display: flex; flex-direction: column; gap: var(--espace-8); padding-block: var(--espace-16); border-block: var(--trait-filet) solid var(--couleur-filet); }
.patr-hub__libelle { font-weight: 400; }
.patr-hub__taches { display: flex; flex-direction: column; gap: var(--espace-8); }
.patr-hub__taches .bouton { width: 100%; }
.patr-hub > .lien-fleche, .patr-lien-long { display: block; min-height: var(--cible-minimum); padding-block: 0; }
.patr-hub > .lien-fleche .ico, .patr-lien-long .ico { display: inline-block; vertical-align: -6px; margin-left: var(--espace-8); }
@media (min-width: 1024px) {
  .patr-hub__ligne { display: grid; grid-template-columns: 120px minmax(0, 1fr); column-gap: var(--espace-24); align-items: start; }
  .patr-hub__libelle { padding-top: var(--espace-8); }
  .patr-hub__taches { flex-direction: row; flex-wrap: wrap; }
  .patr-hub__taches .bouton { width: auto; }
}

/* ---------- Sections ---------- */
.patr-section { padding-block: var(--rythme-section) 0; }
.patr-section:last-of-type { padding-bottom: var(--rythme-section); }
.patr-section__tete { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--espace-8) var(--espace-24); margin-bottom: var(--espace-24); }
.patr-texte > * + * { margin-top: var(--espace-16); }
.patr-texte { max-width: 38em; }
.patr-texte .lien-fleche { margin-top: var(--espace-8); }
.patr-credit { font-size: var(--taille-meta); line-height: var(--interlignage-meta); color: var(--couleur-texte-secondaire); margin-top: var(--espace-16); }
.patr-pleine { margin-inline: calc(max(var(--grille-marge), env(safe-area-inset-left, 0px)) * -1); }

/* ---------- Aperçu de la frise (V16) : 5 jalons ; 390 vertical, ≥ 1 024 en rangée ---------- */
.frise-apercu__liste { position: relative; display: flex; flex-direction: column; }
.frise-apercu__item { position: relative; display: flex; flex-direction: column; gap: var(--espace-8); padding: 0 0 var(--espace-40) 40px; }
.frise-apercu__item::before { content: ""; position: absolute; left: 15.25px; top: 14px; bottom: -14px; width: var(--trait-forme); background: var(--couleur-decor); }
.frise-apercu__item:last-child::before { display: none; }
.frise-apercu__item--incertaine::before { background: repeating-linear-gradient(to bottom, var(--couleur-decor) 0 4px, transparent 4px 8px); }
.frise-apercu__point { position: absolute; left: 10px; top: 10px; width: 12px; height: 12px; background: var(--couleur-decor); border: var(--trait-forme) solid var(--couleur-decor); }
.frise-apercu__item--incertaine .frise-apercu__point { background: var(--couleur-fond); }
.frise-apercu__item--jalon .frise-apercu__point { top: 40px; }
.frise-apercu__item--jalon::before { top: 46px; }
.frise-apercu__item:has(+ .frise-apercu__item--jalon)::before { bottom: -46px; }
.frise-apercu__date { font-size: var(--taille-titre-section); line-height: var(--interlignage-titre-section); letter-spacing: -0.02em; }
.frise-apercu__item--jalon .frise-apercu__date { font-size: 96px; line-height: 96px; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; margin-left: -0.04em; }
.frise-apercu__note { font-size: var(--taille-meta); line-height: var(--interlignage-meta); color: var(--couleur-texte-secondaire); }
.frise-apercu .lien-fleche--bas { margin-top: var(--espace-8); }
@media (min-width: 1024px) {
  .frise-apercu__liste { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: var(--grille-gouttiere); padding-top: 40px; }
  .frise-apercu__item, .frise-apercu__item--jalon { padding: 0; gap: var(--espace-16); }
  .frise-apercu__item::before, .frise-apercu__item--jalon::before { left: 6px; right: calc(var(--grille-gouttiere) * -1 - 6px); top: -34.75px; bottom: auto; width: auto; height: var(--trait-forme); }
  .frise-apercu__item--incertaine::before { background: repeating-linear-gradient(to right, var(--couleur-decor) 0 4px, transparent 4px 8px); }
  .frise-apercu__item:last-child::before { display: block; right: 0; }
  .frise-apercu__point, .frise-apercu__item--jalon .frise-apercu__point { left: 0; top: -40px; }
  .frise-apercu__date { min-height: 88px; display: flex; align-items: flex-end; font-size: calc(28px * var(--facteur-titre)); line-height: calc(32px * var(--facteur-titre)); padding-bottom: 4px; }
  .frise-apercu__item--jalon .frise-apercu__date { padding-bottom: 0; }
  .frise-apercu__item--jalon .frise-apercu__date { line-height: 88px; }
  .frise-apercu .lien-fleche--bas { display: none; }
}
@media (max-width: 1023.98px) { .frise-apercu .patr-section__tete .lien-fleche { display: none; } }

/* ---------- Fiches (V16) : Ligne à vignette (390) · Carte d'actualité standard 4 × 3 (≥ 1 024) ---------- */
.patr-fiches { border-top: var(--trait-filet) solid var(--couleur-filet); }
.patr-fiche { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: var(--espace-16); align-items: start; padding-block: var(--espace-16); border-bottom: var(--trait-filet) solid var(--couleur-filet); }
.patr-fiche__image { position: relative; }
.patr-fiche__image img, .patr-fiche__image .couverture { width: 104px; height: 104px; aspect-ratio: 1; object-fit: cover; display: block; }
.patr-fiche__image .photo__credit { display: none; }
.patr-fiche .carte__textes { padding-top: 2px; min-width: 0; }
.patr-fiche .carte__titre { overflow-wrap: break-word; hyphens: auto; }
@media (min-width: 1024px) {
  .patr-fiches { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--espace-40) var(--grille-gouttiere); border-top: 0; }
  .patr-fiche { display: flex; flex-direction: column; gap: var(--espace-16); padding: 0; border: 0; }
  .patr-fiche__image img, .patr-fiche__image .couverture { width: 100%; height: auto; aspect-ratio: 3 / 2; }
  .patr-fiche__image .photo__credit { display: block; }
  .patr-fiches__credit { display: none; }
}

/* ---------- Carte des lieux (V16) : fond vectoriel du prototype, 6 repères numérotés ---------- */
.lieux-carte {
  --cv-terre: color-mix(in srgb, var(--couleur-filet) 32%, var(--couleur-fond));
  --cv-habite: color-mix(in srgb, var(--couleur-filet) 78%, var(--couleur-fond));
  --cv-herbe: color-mix(in srgb, var(--palette-ville-vert-d-yzeron) 12%, var(--cv-terre));
  --cv-bois: color-mix(in srgb, var(--palette-ville-vert-d-yzeron) 22%, var(--cv-terre));
  --cv-eau: color-mix(in srgb, var(--couleur-decor) 40%, var(--cv-terre));
  --cv-riviere: var(--couleur-decor);
  --cv-voie: var(--palette-ville-blanc);
  --cv-bord: color-mix(in srgb, var(--couleur-texte) 16%, var(--cv-habite));
  --cv-sentier: color-mix(in srgb, var(--couleur-texte) 38%, var(--cv-terre));
  display: grid; grid-template-columns: minmax(0, 1fr); row-gap: var(--espace-24);
  grid-template-areas: "tete" "carte" "liste";
}
[data-contrast="high"] .lieux-carte { --cv-bord: color-mix(in srgb, var(--couleur-texte) 55%, var(--cv-habite)); --cv-sentier: var(--couleur-texte); }
.lieux-carte__tete { grid-area: tete; display: flex; flex-direction: column; gap: var(--espace-16); }
.lieux-carte__carte { grid-area: carte; display: flex; flex-direction: column; gap: var(--espace-8); min-width: 0; }
.lieux-carte__suite { grid-area: liste; display: flex; flex-direction: column; gap: var(--espace-16); }
.lieux-carte__fond { position: relative; overflow: hidden; aspect-ratio: 390 / 478; background: var(--cv-terre); margin-inline: calc(max(var(--grille-marge), env(safe-area-inset-left, 0px)) * -1); }
.lieux-carte__fond > svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.lieux-carte__fond .cv-riviere { stroke-width: 2.5px; } .lieux-carte__fond .cv-ruisseau { stroke-width: 1.5px; }
.lieux-carte__fond .cv-bord.cv-r1 { stroke-width: 6.5px; } .lieux-carte__fond .cv-voie.cv-r1 { stroke-width: 5px; }
.lieux-carte__repere { position: absolute; left: 0; top: 0; z-index: 1; width: 44px; height: 44px; display: grid; place-items: center; background: var(--couleur-fond); color: var(--couleur-texte); border: var(--trait-forme) solid var(--couleur-texte); font-weight: 500; font-size: var(--taille-libelle); line-height: 1; font-variant-numeric: tabular-nums; }
.lieux-carte__repere.cv-repere--approchee { border-style: dashed; }
.lieux-carte__credit { font-size: var(--taille-meta); line-height: var(--interlignage-meta); color: var(--couleur-texte-secondaire); }
.lieux-carte .ligne__lien { align-items: flex-start; min-height: 64px; padding-block: var(--espace-16); }
.lieux-carte .ligne__numero { padding-top: 1px; color: var(--couleur-texte-secondaire); font-size: var(--taille-meta); line-height: var(--interlignage-titre-ligne); min-width: 2.2ch; }
.lieux-carte .ligne__lien > .ico:last-child { align-self: flex-start; }
@media (min-width: 1024px) {
  .lieux-carte { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--grille-gouttiere); grid-template-areas: "tete tete tete tete carte carte carte carte carte carte carte carte" "liste liste liste liste carte carte carte carte carte carte carte carte"; grid-template-rows: auto 1fr; align-items: start; }
  .lieux-carte__fond { aspect-ratio: 867 / 640; margin-inline: 0; }
}

/* ---------- Aplat du jeu de piste (V16) ---------- */
.patr-aplat .aplat__grille { row-gap: var(--espace-24); align-items: start; }
.patr-aplat .photo__image { aspect-ratio: 644 / 483; }
.patr-aplat__visuel { margin-top: var(--espace-16); }
.patr-aplat h2 { text-wrap: wrap; }
@media (min-width: 1024px) { .patr-aplat__visuel { margin-top: 0; } .patr-aplat .aplat__titre { grid-row: 1; } }

/* ---------- L'aqueduc dessiné (V15 frise, V18 arcade) ---------- */
/* .aqueduc-dessin, .aqd-* : dans le socle (blocs.css, « aqueduc dessiné ») */
.patr-frise-aqueduc { padding-top: var(--espace-40); }

/* ---------- Numéros géants en escalier (V15 12 m / 11 m, V17 700 / 256, 150 · 47 · 9 · 3) ---------- */
.patr-chiffres { display: grid; grid-template-columns: minmax(0, 1fr); row-gap: var(--espace-16); }
.patr-chiffre { display: flex; flex-direction: column; gap: var(--espace-8); }
.patr-chiffre__nombre { font-size: var(--taille-numeros-geants); line-height: 0.86; letter-spacing: -0.03em; font-variant-numeric: proportional-nums; white-space: nowrap; margin-left: -0.05em; }
.patr-phrase { font-size: var(--taille-titre-section); line-height: var(--interlignage-titre-section); letter-spacing: -0.02em; text-wrap: pretty; }
/* 12 m / 11 m */
.patr-metres { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: end; column-gap: var(--espace-16); row-gap: var(--espace-8); }
.patr-metres .patr-chiffre__nombre { grid-column: 1 / -1; }
.patr-metres__onze { justify-self: end; }
.patr-metres__legende { grid-row: 2; grid-column: 1; align-self: end; padding-bottom: 6px; max-width: 9em; }
.patr-metres .patr-metres__onze { grid-row: 2; grid-column: 2; }
.patr-metres .patr-phrase { grid-column: 1 / -1; margin-top: var(--espace-24); }
@media (min-width: 1024px) {
  .patr-metres { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--grille-gouttiere); row-gap: 0; }
  .patr-metres__douze { grid-column: 1 / 7; grid-row: 1; }
  .patr-metres .patr-metres__onze { grid-column: 2 / 8; grid-row: 2; justify-self: start; }
  .patr-metres__legende { grid-column: 1 / 5; grid-row: 3; padding: var(--espace-16) 0 0; }
  .patr-metres .patr-phrase { grid-column: 7 / 13; grid-row: 2; align-self: end; margin: 0 0 var(--espace-16); }
}
/* 700 / 256 */
.patr-ateliers { display: flex; flex-direction: column; gap: var(--espace-40); }
.patr-ateliers .patr-chiffre:nth-child(2) { padding-left: 48px; }
@media (max-width: 1023.98px) { .patr-ateliers .patr-phrase { font-size: var(--taille-texte); line-height: var(--interlignage-texte); letter-spacing: 0; max-width: 18em; } }
@media (min-width: 1024px) {
  .patr-ateliers .patr-chiffre { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--grille-gouttiere); align-items: center; }
  .patr-ateliers .patr-chiffre:nth-child(2) { padding-left: 0; }
  .patr-ateliers .patr-chiffre__nombre { grid-column: 1 / 7; }
  .patr-ateliers .patr-phrase { grid-column: 7 / 13; }
}
/* 150 · 47 · 9 · 3 : l'escalier qui descend */
.patr-escalier { display: flex; flex-direction: column; gap: var(--espace-8); }
.patr-escalier li { display: flex; align-items: flex-end; gap: var(--espace-16); }
.patr-escalier li:nth-child(2) { padding-left: 44px; } .patr-escalier li:nth-child(3) { padding-left: 88px; } .patr-escalier li:nth-child(4) { padding-left: 132px; }
.patr-escalier .patr-chiffre__nombre { min-width: 0; }
.patr-escalier .t-meta { padding-bottom: 6px; }
@media (min-width: 1024px) {
  .patr-escalier { flex-direction: row; align-items: flex-start; gap: var(--espace-64); }
  .patr-escalier li { flex-direction: column; align-items: flex-start; gap: var(--espace-16); padding: 0 !important; }
  .patr-escalier li:nth-child(2) { margin-top: 80px; } .patr-escalier li:nth-child(3) { margin-top: 160px; } .patr-escalier li:nth-child(4) { margin-top: 240px; }
  .patr-escalier .t-meta { padding: 0 0 0 0.3em; }
}

/* ---------- La page entre ses deux rivières (V17) ---------- */
.patr-rivieres { padding-top: var(--rythme-section); }
.patr-rivieres .riviere { margin-inline: auto; }
.patr-rivieres__texte { padding-block: var(--espace-40); }
.riviere--plat { aspect-ratio: auto; }
@media (min-width: 1024px) { .patr-rivieres__texte { padding-block: var(--espace-64); } }

/* ---------- Encadrés « Sur le blason » · « Le bleu de ce site » (V17) ---------- */
.patr-encadres { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--espace-24); }
.patr-encadre { display: flex; flex-direction: column; gap: var(--espace-8); padding-top: var(--espace-24); border-top: var(--trait-filet) solid var(--couleur-filet); }
.patr-encadre h2 { display: flex; align-items: center; gap: var(--espace-8); }
.patr-echantillon { flex: none; width: 24px; height: 24px; background: var(--couleur-decor); }
@media (min-width: 1024px) { .patr-encadres { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--grille-gouttiere); } .patr-encadre:first-child { grid-column: 1 / 6; } .patr-encadre:last-child { grid-column: 7 / 12; } }

/* ---------- Paires d'images (V15 hier et aujourd'hui, V17 catalogue Gladel) ---------- */
.patr-paire { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--espace-16); }
.patr-paire figure { display: flex; flex-direction: column; gap: var(--espace-8); margin: 0; }
.patr-paire img { width: 100%; height: auto; aspect-ratio: var(--ratio, 2 / 3); object-fit: cover; display: block; }
.patr-paire figcaption { font-size: var(--taille-meta); line-height: var(--interlignage-meta); }
.patr-paire--egal img { aspect-ratio: var(--ratio); }
@media (min-width: 1024px) { .patr-paire { gap: var(--grille-gouttiere); } .patr-paire figcaption { font-size: var(--taille-libelle); line-height: var(--interlignage-libelle); } }

/* ---------- Mises en page à deux colonnes (texte c1–5/6 · image c7/8–12) ---------- */
.patr-duo { display: grid; grid-template-columns: minmax(0, 1fr); row-gap: var(--espace-24); }
.patr-duo > * { min-width: 0; }
@media (min-width: 1024px) {
  .patr-duo { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--grille-gouttiere); align-items: start; }
  .patr-duo > :first-child { grid-column: 1 / 6; }
  .patr-duo > :last-child { grid-column: 7 / 13; }
  .patr-duo--8 > :last-child { grid-column: 8 / 13; }
  .patr-duo--66 > :first-child { grid-column: 1 / 7; }
  .patr-duo--66 > :last-child { grid-column: 7 / 13; }
}
/* zones : l'ordre du 390 (a, image, b) ; à ≥ 1 024 le texte (a puis b) à gauche, l'image à droite */
.patr-zones { display: grid; grid-template-columns: minmax(0, 1fr); row-gap: var(--espace-24); }
.patr-zones > * { min-width: 0; }
.patr-zones__media { margin-block: var(--espace-8); }
.patr-zones .patr-photo { margin-inline: 0; }
.patr-zones .patr-photo .photo__legende { padding-inline: 0; }
.patr-musee { margin-top: var(--espace-8); }
@media (min-width: 1024px) {
  .patr-zones { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--grille-gouttiere); row-gap: var(--espace-16); grid-template-rows: auto 1fr; align-items: start; }
  .patr-zones__a { grid-column: 1 / 7; grid-row: 1; }
  .patr-zones__b { grid-column: 1 / 7; grid-row: 2; }
  .patr-zones__media { grid-column: 7 / 13; grid-row: 1 / span 2; margin: 0; }
  .patr-zones--8 .patr-zones__a, .patr-zones--8 .patr-zones__b { grid-column: 1 / 6; }
  .patr-zones--8 .patr-zones__media { grid-column: 8 / 13; }
}
.patr-mobile-seul { }
@media (min-width: 1024px) { .patr-mobile-seul { display: none !important; } }
@media (max-width: 1023.98px) { .patr-desktop-seul { display: none !important; } }

/* ---------- ASCII de la carte postale (V15) : décoratif, couleur decor ---------- */
.patr-ascii { display: block; width: 100%; color: var(--couleur-decor); font-family: var(--police-sans); }
.patr-ascii canvas { display: block; width: 100%; height: auto; aspect-ratio: 390 / 520; }
@media (min-width: 1024px) { .patr-ascii canvas { aspect-ratio: 1440 / 715; } }

/* ---------- Liste « Aussi dans Histoire et patrimoine » ---------- */
.patr-liees { display: flex; flex-direction: column; gap: var(--espace-24); }
@media (min-width: 1024px) { .patr-liees { max-width: calc((100% - 11 * var(--grille-gouttiere)) / 12 * 5 + 4 * var(--grille-gouttiere)); } .patr-liees--large { max-width: calc((100% - 11 * var(--grille-gouttiere)) / 12 * 8 + 7 * var(--grille-gouttiere)); } }
.patr-liees .ligne__lien { min-height: 56px; }

/* ---------- Rendez-vous dans ce lieu (V19) ---------- */
.patr-rdv { padding-block: var(--espace-16) var(--espace-24); }
.patr-rdv .carte__titre .ico { display: inline-block; vertical-align: -5px; margin-left: var(--espace-8); color: var(--couleur-action); }
@media (min-width: 1024px) { .patr-rdv { max-width: calc((100% - 11 * var(--grille-gouttiere)) / 12 * 10 + 9 * var(--grille-gouttiere)); align-items: center; } .patr-rdv .carte__titre .ico { display: none; } }

/* ---------- Frise chronologique par période (V18) et frise courte (V19) : le bloc du socle, la mise en page du cadre ---------- */
.frise-patrimoine { gap: var(--espace-40); }
.frise-patrimoine .frise-chrono__date, .frise-patrimoine time, .frise-apercu time, .patr-chiffre__nombre { font-variant-numeric: proportional-nums; }
.frise-patrimoine__tete { display: flex; flex-direction: column; gap: var(--espace-24); background: var(--couleur-fond); }
.frise-patrimoine__repere { height: 0; }
.frise-periode { display: flex; flex-direction: column; gap: var(--espace-24); scroll-margin-top: calc(var(--haut-entete) + 72px); }
.frise-periode__photo { margin-bottom: var(--espace-16); }
.frise-periode__photo .photo__image { aspect-ratio: var(--ratio); }
.frise-patrimoine .frise-chrono__entree { scroll-margin-top: calc(var(--haut-entete) + 88px); }
.frise-patrimoine .frise-chrono__suite { gap: var(--espace-8); }
.frise-patrimoine .frise-chrono__suite .lien-fleche { margin-top: var(--espace-8); }
.frise-patrimoine .frise-chrono__vignette { margin: 0; }
/* ancres collées : une rangée qui défile seule, sous la barre (cadre 236:50352) */
.frise-patrimoine__tete { position: sticky; top: 0; z-index: 20; margin-inline: calc(max(var(--grille-marge), env(safe-area-inset-left, 0px)) * -1); padding-inline: max(var(--grille-marge), env(safe-area-inset-left, 0px)); }
.frise-patrimoine__tete[data-collee] { padding-block: var(--espace-8); border-bottom: var(--trait-filet) solid var(--couleur-filet); }
.frise-patrimoine__tete[data-collee] .frise-chrono__legende { display: none; }
.frise-patrimoine__tete[data-collee] ul.pastilles { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: calc(max(var(--grille-marge), env(safe-area-inset-left, 0px)) * -1); padding: 6px max(var(--grille-marge), env(safe-area-inset-left, 0px)); }
.frise-patrimoine__tete[data-collee] ul.pastilles::-webkit-scrollbar { display: none; }
.frise-patrimoine__tete[data-collee] .pastille { white-space: nowrap; }
.frise-patrimoine .frise-chrono__periodes .pastille[aria-current="true"]::before { content: ""; width: 14px; height: 8px; margin-right: 2px; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(-45deg); }
@media (min-width: 1024px) {
  :root:has(.entete:not([data-masque])) .frise-patrimoine__tete { top: var(--haut-entete); }
  .frise-patrimoine__tete { flex-direction: row; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; column-gap: var(--grille-gouttiere); transition: top calc(var(--menu-fermeture) * 1ms) var(--souffle-courbe); }
  .frise-patrimoine__tete .frise-chrono__legende { flex-direction: column; gap: var(--espace-4); width: auto; }
  .frise-patrimoine .aqueduc-dessin--arcade { margin-top: var(--espace-24); }
  .frise-periode { gap: var(--espace-40); padding-top: var(--espace-40); }
  .frise-patrimoine .frise-chrono__entree > :not(.frise-chrono__date):not(.frise-chrono__point):not(.frise-chrono__vignette) { grid-column: 5 / 10; }
  .frise-patrimoine .frise-chrono__suite { grid-row: auto; }
  .frise-chrono.frise-patrimoine .frise-chrono__entree > .frise-chrono__vignette.photo { grid-column: 10 / 13; grid-row: 1 / span 4; }
  .frise-patrimoine .frise-chrono__entree { padding-bottom: var(--espace-40); }
  .frise-patrimoine .frise-chrono__entree--vignette { min-height: calc(207px + var(--espace-40)); }
  .frise-patrimoine--courte .frise-chrono__date { font-size: var(--taille-titre-section); line-height: var(--interlignage-titre-section); }
}
/* l'arcade d'ouverture : calée à gauche (328 à 390, 600 à 1 440) */
.aqueduc-dessin--arcade { margin-inline: 0 auto; }
@media (min-width: 1024px) { .patr-titre h1 { max-width: calc((100% - 11 * var(--grille-gouttiere)) / 12 * 7 + 6 * var(--grille-gouttiere)); } }
