/* Réussir son expatriation
   Direction : la collection aux couleurs des passeports. Chaque livre porte la couleur du passeport de son pays,
   marquée à l'or, avec une ligne de lecture optique. Les destinations s'affichent comme un tableau des départs.
   Fond papier clair, grands aplats sombres, titres très condensés. */

@font-face { font-family: "Archivo"; src: url("/assets/fonts/archivo.woff2") format("woff2"); font-weight: 100 900; font-stretch: 62% 125%; font-display: swap; }
@font-face { font-family: "Source Serif"; src: url("/assets/fonts/source-serif.woff2") format("woff2"); font-weight: 200 900; font-display: swap; }
@font-face { font-family: "Source Serif"; src: url("/assets/fonts/source-serif-italic.woff2") format("woff2"); font-weight: 200 900; font-style: italic; font-display: swap; }
@font-face { font-family: "B612 Mono"; src: url("/assets/fonts/b612-mono.woff2") format("woff2"); font-weight: 400; font-display: swap; }

:root {
  --bordeaux: #6a1b2d;
  --bordeaux-nuit: #2a0a12;
  --or: #d2ad4f;
  --or-sombre: #8a6a1c;
  --papier: #f3f5f2;
  --teinte: #e4eae6;
  --filet: #c6d1cb;
  --encre: #121a22;
  --encre-douce: #48555f;
  --tampon: #2447a6;
  --blanc: #fff;

  --titre: "Archivo", "Arial Narrow", Arial, sans-serif;
  --texte: "Source Serif", Georgia, "Times New Roman", serif;
  --donnee: "B612 Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;

  --gouttiere: clamp(1.1rem, 4vw, 3rem);
  --largeur: 78rem;
  --guilloche: repeating-radial-gradient(circle at 108% -8%, transparent 0 13px, rgb(210 173 79 / 0.13) 13px 14px),
               repeating-radial-gradient(circle at -8% 112%, transparent 0 17px, rgb(255 255 255 / 0.05) 17px 18px);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 5.5rem; }
body { margin: 0; background: var(--papier); color: var(--encre); font: 400 1.125rem/1.65 var(--texte); }
img, svg { max-width: 100%; height: auto; }

a { color: var(--tampon); text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
a:hover { color: var(--bordeaux); }
:focus-visible { outline: 3px solid var(--tampon); outline-offset: 3px; border-radius: 2px; }

h1, h2, h3 { font-family: var(--titre); margin: 0; text-wrap: balance; }
h1 { font-size: clamp(2.5rem, 6.4vw, 5rem); font-weight: 800; font-stretch: 72%; line-height: 0.98; letter-spacing: -0.015em; }
h2 { font-size: clamp(1.9rem, 4vw, 3.1rem); font-weight: 800; font-stretch: 74%; line-height: 1.02; letter-spacing: -0.01em; }
h3 { font-size: 1.25rem; font-weight: 750; font-stretch: 86%; line-height: 1.15; }
h1 em { font-style: normal; color: var(--or); }
p { margin: 0 0 1em; }

.enveloppe { width: 100%; max-width: var(--largeur); margin-inline: auto; padding-inline: var(--gouttiere); }
.enveloppe--etroite { max-width: 50rem; }

.evitement { position: absolute; left: -999rem; top: 0; background: var(--encre); color: var(--blanc); padding: 0.6rem 1rem; z-index: 20; }
.evitement:focus { left: 0; }

.surtitre { font: 400 0.78rem/1.4 var(--donnee); letter-spacing: 0.1em; text-transform: uppercase; color: var(--encre-douce); margin-bottom: 1.2rem; }
.surtitre--or { color: var(--or); }
.chapo { font-size: clamp(1.15rem, 1.8vw, 1.4rem); line-height: 1.5; color: var(--encre-douce); max-width: 44rem; }

/* En-tête */
.entete { background: var(--bordeaux-nuit); color: var(--blanc); position: sticky; top: 0; z-index: 10; border-bottom: 1px solid rgb(210 173 79 / 0.35); }
.entete__rang { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem 2rem; flex-wrap: wrap; padding-block: 0.85rem; }
.marque { color: inherit; text-decoration: none; }
.marque__nom { font: 600 1.02rem/1.1 var(--titre); font-stretch: 78%; text-transform: uppercase; letter-spacing: 0.12em; margin: 0; }
.marque__nom b { color: var(--or); font-weight: 800; }
.nav ul { display: flex; flex-wrap: wrap; align-items: center; gap: 0.2rem 1.4rem; list-style: none; margin: 0; padding: 0; font: 550 0.95rem/1 var(--titre); font-stretch: 92%; }
.nav a { color: #f1e9ea; text-decoration: none; display: inline-block; padding: 0.5rem 0; border-bottom: 2px solid transparent; }
.nav a:hover, .nav a[aria-current] { border-bottom-color: var(--or); color: var(--blanc); }
.nav .nav__guides { background: var(--or); color: var(--bordeaux-nuit); padding: 0.55rem 1rem; border-radius: 999px; border-bottom: 0; font-weight: 750; }
.nav .nav__guides:hover { background: var(--blanc); color: var(--bordeaux-nuit); }
/* Sur /guides/, aria-current faisait passer le bouton en blanc sur or (2,14:1) : la règle
   .nav a[aria-current] est plus spécifique que .nav .nav__guides. Corrigé le 04/10/2026. */
.nav a.nav__guides[aria-current] { color: var(--bordeaux-nuit); }
.nav__bouton { display: none; }
.nav { display: flex; align-items: center; gap: 0.5rem 1.4rem; flex-wrap: wrap; }
/* En-tête sur une ligne à toutes les tailles (05/10/2026) : le bouton « Destinations »
   ouvre la liste des pays ; sur grand écran, elle se déplie en panneau sous la barre. */
.nav--repliable .nav__bouton { display: inline-flex; align-items: center; gap: 0.5rem; min-height: 40px; padding: 0 1rem; background: transparent; color: var(--blanc); border: 1px solid rgb(210 173 79 / 0.7); border-radius: 999px; font: 650 0.95rem/1 var(--titre); font-stretch: 92%; cursor: pointer; }
.nav--repliable .nav__bouton::after { content: ""; width: 0.45rem; height: 0.45rem; border-right: 2px solid var(--or); border-bottom: 2px solid var(--or); transform: translateY(-0.15rem) rotate(45deg); transition: transform 0.15s ease; }
.nav--repliable .nav__bouton[aria-expanded="true"]::after { transform: translateY(0.1rem) rotate(-135deg); }
@media (min-width: 40.01rem) {
  .entete__rang { position: relative; }
  .nav--repliable:not(.nav--ouvert) .nav__pays { display: none; }
  .nav--ouvert .nav__pays { display: grid; grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr)); gap: 0.1rem 1.4rem; position: absolute; left: 0; right: 0; top: 100%; padding: 1rem clamp(1rem, 4vw, 2.5rem) 1.4rem; background: var(--bordeaux-nuit); border-bottom: 1px solid rgb(210 173 79 / 0.35); box-shadow: 0 24px 40px -24px rgb(0 0 0 / 0.6); }
}
.entete :focus-visible { outline-color: var(--or); }

/* Boutons et liens */
.bouton { display: inline-block; background: var(--bordeaux); color: var(--blanc); font: 750 1.02rem/1.2 var(--titre); font-stretch: 92%; padding: 1rem 1.6rem; border: 0; border-radius: 999px; text-decoration: none; cursor: pointer; transition: transform 0.15s ease, background-color 0.15s ease; }
.bouton:hover { background: var(--bordeaux-nuit); color: var(--blanc); transform: translateY(-2px); }
.bouton--or { background: var(--or); color: var(--bordeaux-nuit); }
.bouton--or:hover { background: var(--blanc); color: var(--bordeaux-nuit); }
.bouton--second { background: transparent; color: var(--bordeaux); box-shadow: inset 0 0 0 2px var(--bordeaux); }
.bouton--second:hover { background: var(--bordeaux); color: var(--blanc); }
.bouton--plein { display: block; width: 100%; text-align: center; }
.lien-fleche { font: 650 1.02rem/1.3 var(--titre); font-stretch: 92%; color: var(--tampon); }
.lien-fleche::after { content: " →"; }
.lien-fleche--clair { color: var(--blanc); }
.lien-fleche--clair:hover { color: var(--or); }

/* Couverture de livre, en unités de conteneur pour rester juste à toutes les tailles */
.couv { container-type: inline-size; aspect-ratio: 170 / 240; width: 100%; display: flex; flex-direction: column; justify-content: space-between; padding: 9% 8.5% 7%; color: var(--blanc); background-color: var(--couv, var(--bordeaux)); background-image: var(--guilloche); border-radius: 1.2% 3% 3% 1.2% / 1% 2% 2% 1%; box-shadow: inset 5px 0 0 rgb(0 0 0 / 0.22), inset 6px 0 0 rgb(255 255 255 / 0.08), 0 28px 50px -24px rgb(18 26 34 / 0.75), 0 8px 16px -10px rgb(18 26 34 / 0.5); text-decoration: none; overflow: hidden; }
.couv span { display: block; }
.couv__coll { font: 600 3.6cqw/1.2 var(--titre); font-stretch: 78%; letter-spacing: 0.14em; text-transform: uppercase; color: var(--or); }
.couv__sur { font: 400 3.1cqw/1 var(--donnee); letter-spacing: 0.1em; text-transform: uppercase; color: var(--or); margin-bottom: 4.5cqw; }
.couv__titre { font: 800 12.2cqw/1 var(--titre); font-stretch: 76%; letter-spacing: -0.01em; }
.couv__titre em { display: block; font-style: normal; color: var(--or); }
.couv__pied { border-top: 1px solid rgb(210 173 79 / 0.6); padding-top: 3.5cqw; font: 400 2.9cqw/1.5 var(--donnee); color: #eadfe1; }
.couv__mrz { display: block; letter-spacing: 0.16em; color: var(--or); white-space: nowrap; overflow: hidden; }
.couv--attente { filter: saturate(0.35) brightness(0.92); opacity: 0.75; }

/* Héros de l'accueil */
.hero { background-color: var(--bordeaux-nuit); background-image: radial-gradient(90rem 40rem at 85% 10%, rgb(106 27 45 / 0.95), transparent 60%), var(--guilloche); color: var(--blanc); padding-block: clamp(3rem, 8vw, 6.5rem) clamp(3.5rem, 9vw, 7.5rem); overflow: hidden; }
.hero__grille { display: grid; grid-template-columns: minmax(0, 1fr); gap: 3.5rem; align-items: center; }
.hero h1 { max-width: 13ch; }
.hero h1 .hero__suite { display: block; margin-top: .5em; font-size: .45em; line-height: 1.2; font-style: normal; opacity: .85; }
.hero__chapo { font-size: clamp(1.12rem, 1.7vw, 1.35rem); line-height: 1.55; color: #e6d9dc; max-width: 36rem; margin-top: 1.8rem; }
.hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2rem; margin: 2.2rem 0 0; }
.hero__livres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; max-width: 34rem; margin-inline: auto; width: 100%; padding-block: 1rem; }
.hero__livres .couv { animation: poser 0.9s cubic-bezier(0.2, 0.8, 0.2, 1) both; }
.hero__livres .couv:nth-child(1) { transform: rotate(-9deg) translate(18%, 6%); animation-delay: 0.05s; }
.hero__livres .couv:nth-child(2) { transform: translateY(-4%) scale(1.12); z-index: 2; animation-delay: 0.18s; }
.hero__livres .couv:nth-child(3) { transform: rotate(9deg) translate(-18%, 6%); animation-delay: 0.31s; }
@keyframes poser { from { opacity: 0; translate: 0 2.5rem; } to { opacity: 1; translate: 0 0; } }
@media (min-width: 62rem) {
  .hero__grille { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 3rem; }
}

/* Tableau des départs */
.departs { background: var(--encre); color: var(--blanc); padding-block: clamp(3rem, 7vw, 5.5rem); }
.departs__tete { display: grid; gap: 1rem 3rem; align-items: end; margin-bottom: 2.2rem; }
.departs__tete h2 { color: var(--or); font-size: clamp(2.6rem, 7vw, 5.2rem); text-transform: uppercase; letter-spacing: 0.01em; }
.departs__tete p { color: #b9c4cc; max-width: 38rem; margin: 0; }
@media (min-width: 56rem) { .departs__tete { grid-template-columns: auto minmax(0, 1fr); } }
.tableau-departs { list-style: none; margin: 0; padding: 0; border-top: 1px solid #2c3945; }
.tableau-departs__entete, .depart > a, .depart > div { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr) 7rem; gap: 0.3rem 1.2rem; align-items: baseline; padding: 1.05rem 0.4rem; }
.tableau-departs__entete { font: 400 0.68rem/1 var(--donnee); letter-spacing: 0.12em; text-transform: uppercase; color: #7f8e9a; padding-block: 0.8rem; border-bottom: 1px solid #2c3945; }
.tableau-departs__entete span:nth-child(3), .depart__programme { display: none; }
.depart { border-bottom: 1px solid #2c3945; animation: afficher 0.5s ease both; animation-delay: calc(var(--i) * 70ms); }
@keyframes afficher { from { opacity: 0; transform: rotateX(70deg); transform-origin: top; } to { opacity: 1; transform: none; } }
.depart > a { color: inherit; text-decoration: none; transition: background-color 0.15s ease, padding 0.15s ease; }
.depart > a:hover { background: #1d2833; padding-left: 1rem; color: var(--blanc); }
.depart__code { font: 400 1.05rem/1 var(--donnee); letter-spacing: 0.08em; color: var(--or); }
.depart__pays { font: 800 clamp(1.5rem, 3.4vw, 2.4rem)/1 var(--titre); font-stretch: 76%; text-transform: uppercase; letter-spacing: 0.01em; }
.depart__programme { font-size: 0.98rem; line-height: 1.4; color: #b9c4cc; }
.depart__etat { font: 400 0.72rem/1 var(--donnee); letter-spacing: 0.1em; text-transform: uppercase; justify-self: end; padding: 0.45rem 0.7rem; border-radius: 999px; background: #1f6b3c; color: #eafff1; white-space: nowrap; }
.depart--attente { color: #7f8e9a; }
.depart--attente .depart__code { color: #7f8e9a; }
.depart--attente .depart__etat { background: transparent; color: #7f8e9a; box-shadow: inset 0 0 0 1px #3a4855; }
.depart--attente .depart__programme { color: #7f8e9a; }
@media (min-width: 58rem) {
  .tableau-departs__entete, .depart > a, .depart > div { grid-template-columns: 5.5rem 17rem minmax(0, 1fr) 8rem; }
  .tableau-departs__entete span:nth-child(3), .depart__programme { display: block; }
}

/* Un chiffre, une source */
.preuves { padding-block: clamp(3rem, 7vw, 5.5rem); }
.preuves h2 { margin-bottom: 1rem; }
.preuves__liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.2rem; grid-template-columns: repeat(auto-fit, minmax(min(15.5rem, 100%), 1fr)); }
.preuves__liste li { background: var(--blanc); border-top: 6px solid var(--couv); padding: 1.5rem 1.4rem 1.3rem; box-shadow: 0 1px 0 var(--filet), 0 18px 30px -26px rgb(18 26 34 / 0.6); display: flex; flex-direction: column; }
.preuves__liste p { margin: 0; }
.preuve__pays { font: 400 0.72rem/1 var(--donnee); letter-spacing: 0.1em; text-transform: uppercase; color: var(--encre-douce); }
.preuve__valeur { font: 800 clamp(2rem, 3.4vw, 2.7rem)/1 var(--titre); font-stretch: 74%; color: var(--couv); margin-block: 0.9rem 0.6rem !important; }
.preuve__label { font-size: 1rem; line-height: 1.4; flex: 1; }
.preuve__source { font: 400 0.72rem/1.4 var(--donnee); color: var(--encre-douce); margin-top: 1rem !important; padding-top: 0.8rem; border-top: 1px solid var(--filet); }

/* Blocs */
.bloc { padding-block: clamp(3rem, 7vw, 5.5rem); }
.bloc--serre { padding-block: 1rem 3rem; }
.bloc--sombre { background-color: var(--bordeaux); background-image: var(--guilloche); color: var(--blanc); }
.bloc h2 { margin-bottom: 1rem; }
.bloc--serre h2 { font-size: clamp(1.5rem, 2.6vw, 2rem); margin-bottom: 1.5rem; }
.bloc__intro { color: var(--encre-douce); max-width: 44rem; margin-bottom: 2.2rem; font-size: 1.12rem; }

.profils { display: grid; gap: 0; grid-template-columns: repeat(auto-fit, minmax(min(17rem, 100%), 1fr)); margin: 2.5rem 0 0; border-top: 1px solid rgb(210 173 79 / 0.5); }
.profils > div { padding: 1.6rem 1.6rem 1.6rem 0; border-bottom: 1px solid rgb(210 173 79 / 0.5); }
.profils dt { font: 800 1.55rem/1.05 var(--titre); font-stretch: 78%; color: var(--or); margin-bottom: 0.7rem; }
.profils dd { margin: 0; font-size: 1.08rem; line-height: 1.5; color: #f1e6e8; }

.collection { display: grid; grid-template-columns: minmax(0, 1fr); gap: 3rem; align-items: center; }
.collection__livre { max-width: 17rem; margin-inline: auto; width: 100%; transform: rotate(-4deg); }
@media (min-width: 56rem) { .collection { grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr); gap: 5rem; } }
.tarifs { list-style: none; margin: 0 0 2rem; padding: 0; max-width: 34rem; }
.tarifs li { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: 0.95rem 0; border-top: 1px solid var(--filet); font: 550 1.08rem/1.3 var(--titre); font-stretch: 92%; }
.tarifs__prix { font: 800 1.5rem/1 var(--titre); font-stretch: 78%; white-space: nowrap; }
.tarifs__pack { border-bottom: 1px solid var(--filet); color: var(--bordeaux); }
.tarifs__pack .tarifs__prix { font-size: 2rem; }

/* Catalogue */
.fiches { display: grid; gap: 2.5rem 1.6rem; grid-template-columns: repeat(auto-fill, minmax(min(12.5rem, 100%), 1fr)); }
.fiche { position: relative; display: flex; flex-direction: column; gap: 1.3rem; }
.fiche .couv { transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1); }
.fiche:hover .couv { transform: translateY(-8px) rotate(-1.5deg); }
.fiche__type { font: 400 0.7rem/1 var(--donnee); letter-spacing: 0.1em; text-transform: uppercase; color: var(--encre-douce); margin: 0 0 0.5rem; }
.fiche__pays { font-size: 1.7rem; font-weight: 800; font-stretch: 76%; }
.fiche__pays a { color: inherit; text-decoration: none; }
.fiche__pays a::after { content: ""; position: absolute; inset: 0; }
.fiche__resume { font-size: 0.98rem; line-height: 1.5; color: var(--encre-douce); margin: 0.5rem 0 0; }
.fiche__donnees { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 0.9rem; margin: 0.9rem 0 0; font: 400 0.8rem/1 var(--donnee); color: var(--encre); }
.etat { padding: 0.4rem 0.65rem; border-radius: 999px; font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; background: var(--teinte); color: var(--tampon); box-shadow: inset 0 0 0 1px var(--tampon); }
.etat--vente { background: #1f6b3c; color: #fff; box-shadow: none; }
.etat--attente { background: transparent; color: var(--encre-douce); box-shadow: inset 0 0 0 1px var(--encre-douce); }
.fiche--attente .fiche__pays { color: var(--encre-douce); }

/* Fil d'Ariane, en-têtes de page */
.fil { font: 400 0.78rem/1.4 var(--donnee); color: var(--encre-douce); padding-block: 1.6rem 0; }
.fil a { color: inherit; }
.fil--clair { color: #cdbfc3; padding-top: 0; margin-bottom: 2.5rem; }
.fil--clair a:hover { color: var(--or); }
.tete-pays { padding-block: 2.2rem 2.5rem; }
.tete-pays h1 { max-width: 16ch; margin-bottom: 1.4rem; color: var(--bordeaux); }

.bandeau { position: relative; background-color: var(--couv, var(--bordeaux)); background-image: linear-gradient(180deg, rgb(0 0 0 / 0.28), transparent 55%), var(--guilloche); color: var(--blanc); padding-block: 1.8rem clamp(3.5rem, 7vw, 5.5rem); overflow: hidden; }
.bandeau .enveloppe { position: relative; }
.bandeau h1 { max-width: 14ch; }
.bandeau .surtitre--or { color: rgb(255 255 255 / 0.88); }
.bandeau__chapo { font-size: clamp(1.12rem, 1.7vw, 1.35rem); line-height: 1.5; color: rgb(255 255 255 / 0.85); max-width: 40rem; margin: 1.6rem 0 0; }
.bandeau__code { position: absolute; right: var(--gouttiere); bottom: -0.22em; margin: 0; font: 800 clamp(7rem, 22vw, 17rem)/0.8 var(--titre); font-stretch: 66%; letter-spacing: -0.02em; color: rgb(255 255 255 / 0.07); pointer-events: none; user-select: none; }

.reperes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(12.5rem, 100%), 1fr)); gap: 1rem; margin-block: -2.2rem 3.5rem; position: relative; }
.repere { background: var(--blanc); padding: 1.4rem 1.4rem 1.2rem; box-shadow: 0 1px 0 var(--filet), 0 22px 34px -26px rgb(18 26 34 / 0.7); border-radius: 4px; display: flex; flex-direction: column; }
.repere p { margin: 0; }
.repere__valeur { font: 800 clamp(1.7rem, 2.6vw, 2.2rem)/1.05 var(--titre); font-stretch: 76%; color: var(--bordeaux); }
.repere__label { font-size: 0.98rem; line-height: 1.4; margin-top: 0.55rem !important; flex: 1; }
.repere__source { font: 400 0.7rem/1.4 var(--donnee); color: var(--encre-douce); margin-top: 0.9rem !important; padding-top: 0.7rem; border-top: 1px solid var(--filet); }

.dossier { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; padding-bottom: 4rem; }
@media (min-width: 62rem) {
  .dossier { grid-template-columns: 15.5rem minmax(0, 45rem); gap: 5rem; }
  .rubriques { position: sticky; top: 6rem; }
}
.rubriques__titre { font: 400 0.72rem/1 var(--donnee); text-transform: uppercase; letter-spacing: 0.1em; color: var(--encre-douce); margin-bottom: 1rem; }
.rubriques ol { list-style: none; margin: 0; padding: 0; font: 550 0.95rem/1.3 var(--titre); font-stretch: 92%; counter-reset: rubrique; border-left: 1px solid var(--filet); }
.rubriques li { counter-increment: rubrique; }
.rubriques a { display: block; padding: 0.45rem 0 0.45rem 1rem; margin-left: -1px; border-left: 2px solid transparent; color: var(--encre); text-decoration: none; }
.rubriques a:hover { color: var(--bordeaux); border-left-color: var(--bordeaux); }

/* Texte courant */
.prose > h2 { font-size: clamp(1.7rem, 3vw, 2.35rem); margin: 3.2rem 0 1.1rem; padding-top: 1.6rem; border-top: 2px solid var(--encre); }
.prose > h2:first-child { margin-top: 0; }
.prose h3 { margin: 2rem 0 0.6rem; color: var(--bordeaux); }
.prose ul, .prose ol { padding-left: 1.3rem; margin: 0 0 1.2em; }
.prose li + li { margin-top: 0.4em; }
.prose table { width: 100%; border-collapse: collapse; margin: 1.6rem 0 2.2rem; font: 400 0.95rem/1.45 var(--titre); font-stretch: 94%; display: block; overflow-x: auto; }
.prose th, .prose td { text-align: left; vertical-align: top; padding: 0.75rem 1rem 0.75rem 0; border-bottom: 1px solid var(--filet); min-width: 8rem; }
.prose thead th { font: 400 0.7rem/1.3 var(--donnee); text-transform: uppercase; letter-spacing: 0.08em; color: var(--encre-douce); border-bottom: 2px solid var(--encre); }
.prose--page { padding-block: 1rem 4.5rem; max-width: 45rem; }
.prose--page h1 { margin: 1.2rem 0 2.2rem; color: var(--bordeaux); font-size: clamp(2.3rem, 5vw, 3.6rem); }

.questions details { border-top: 1px solid var(--filet); }
.questions details:last-of-type { border-bottom: 1px solid var(--filet); }
.questions summary { font: 700 1.12rem/1.35 var(--titre); font-stretch: 90%; padding: 1.1rem 2.2rem 1.1rem 0; cursor: pointer; list-style: none; position: relative; }
.questions summary::-webkit-details-marker { display: none; }
.questions summary::after { content: "+"; position: absolute; right: 0.2rem; top: 0.95rem; font: 400 1.5rem/1 var(--donnee); color: var(--bordeaux); transition: transform 0.2s ease; }
.questions details[open] summary::after { transform: rotate(45deg); }
.questions details p { margin: 0 0 1.3rem; }

.renvoi { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2.5rem; align-items: center; margin-top: 4rem; padding: clamp(1.6rem, 4vw, 2.8rem); background: var(--encre); color: var(--blanc); border-radius: 6px; }
.renvoi h2 { margin: 0 0 0.9rem; padding: 0; border: 0; color: var(--or); font-size: clamp(1.6rem, 3vw, 2.2rem); }
.renvoi p { color: #c9d3da; }
.renvoi a:not(.renvoi__livre) { color: var(--blanc); font: 650 1rem/1.3 var(--titre); }
.renvoi a:not(.renvoi__livre):hover { color: var(--or); }
.renvoi__livre { display: block; max-width: 13rem; margin-inline: auto; width: 100%; transform: rotate(3deg); transition: transform 0.25s ease; }
.renvoi__livre:hover { transform: rotate(0) translateY(-6px); }
@media (min-width: 46rem) { .renvoi { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); } }

/* Pages de vente */
/* Ordre refait le 04/10/2026 : titre, puis achat, puis détail. Sur grand écran, l'en-tête
   et le détail occupent la colonne de gauche, l'achat la marge droite sur toute la hauteur. */
.vente { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.6rem; padding-block: 1.2rem 4.5rem; }
.vente__tete h1 { margin-bottom: 0.9rem; color: var(--bordeaux); font-size: clamp(2rem, 5.4vw, 4.2rem); }
.vente__tete .chapo { margin: 0; }
.vente__texte h2 { font-size: clamp(1.6rem, 2.8vw, 2.2rem); margin: 3.2rem 0 1.1rem; }
.vente__texte .vente__premier { margin-top: 1.2rem; }
.vente__marge { max-width: 30rem; width: 100%; }
@media (min-width: 62rem) {
  .vente { grid-template-columns: minmax(0, 1fr) 21rem; column-gap: 5.5rem; row-gap: 0; }
  .vente__tete { grid-column: 1; grid-row: 1; }
  .vente__texte { grid-column: 1; grid-row: 2; }
  .vente__marge { grid-column: 2; grid-row: 1 / span 2; position: sticky; top: 6rem; align-self: start; }
}
.parties { list-style: none; margin: 0; padding: 0; counter-reset: partie; }
.parties li { counter-increment: partie; display: grid; grid-template-columns: 3.4rem minmax(0, 1fr); gap: 0 1rem; padding: 1.2rem 0; border-top: 1px solid var(--filet); }
.parties li::before { content: counter(partie, decimal-leading-zero); font: 800 2rem/1 var(--titre); font-stretch: 72%; color: var(--or-sombre); grid-row: span 2; }
.parties p { margin: 0.35rem 0 0; font-size: 1.02rem; line-height: 1.55; color: var(--encre-douce); }
.annexes { columns: 2 16rem; column-gap: 2.5rem; padding-left: 1.2rem; font-size: 1.02rem; }
.annexes li { break-inside: avoid; margin-bottom: 0.4rem; }

.achat { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.8rem; }
/* Couverture réduite à côté du prix sur téléphone, au-dessus du prix sur grand écran. */
.achat__tete { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: 1.2rem; align-items: center; margin-bottom: 0.4rem; }
.achat__couv.livre3d { padding: 0.2rem 0.6rem 0.6rem 0; }
.achat__couv.livre3d .couv { transform: rotateY(-14deg); box-shadow: inset 4px 0 0 rgb(0 0 0 / 0.22), 2px 0 0 #f4efe3, 4px 0 0 #ddd5c2, 14px 16px 22px -10px rgb(18 26 34 / 0.55); }
@media (min-width: 62rem) {
  .achat__tete { grid-template-columns: minmax(0, 1fr); gap: 1.4rem; }
  .achat__couv.livre3d { width: 15rem; padding: 0.5rem 1.6rem 1.2rem 0.4rem; }
  .achat__couv.livre3d .couv { transform: rotateY(-24deg) rotateX(3deg); box-shadow: inset 5px 0 0 rgb(0 0 0 / 0.22), inset 6px 0 0 rgb(255 255 255 / 0.08), 2px 0 0 #f4efe3, 4px 0 0 #e6dfcf, 6px 0 0 #f4efe3, 8px 0 0 #ddd5c2, 10px 0 0 #efe9da, 12px 0 0 #cfc6b1, 34px 38px 50px -18px rgb(18 26 34 / 0.6); }
}
.achat__barre { font-weight: 450; opacity: 0.8; }
.achat__rassure { font: 400 0.84rem/1.45 var(--texte); color: var(--encre-douce); text-align: center; }
.extrait__lien { cursor: pointer; text-align: center; font: 650 0.98rem/1.3 var(--titre); font-stretch: 92%; color: var(--tampon); text-decoration: underline; text-underline-offset: 0.2em; padding: 0.7rem 0; }
.extrait[open] .extrait__lien { background: none; color: var(--bordeaux); }
.achat p { margin: 0; }
.achat__prix { font: 800 3.4rem/0.95 var(--titre); font-stretch: 72%; }
.achat__format { font: 400 0.74rem/1.4 var(--donnee); text-transform: uppercase; letter-spacing: 0.08em; color: var(--encre-douce); margin-bottom: 0.5rem !important; }
.achat__attente { font-size: 0.98rem; line-height: 1.5; padding: 1rem 1.1rem; background: var(--blanc); border-left: 3px solid var(--tampon); }
/* Les trois preuves qui portent le prix : sources, édition, garantie. */
.achat__preuves { list-style: none; padding: 0; margin: -0.2rem 0 0.4rem; display: grid; gap: 0.45rem; font-size: 0.95rem; line-height: 1.45; }
.achat__preuves li { padding-left: 1.5rem; position: relative; color: var(--encre-douce); }
.achat__preuves li::before { content: ""; position: absolute; left: 0; top: 0.42em; width: 0.62rem; height: 0.32rem; border-left: 2px solid var(--or-sombre); border-bottom: 2px solid var(--or-sombre); transform: rotate(-45deg); }
.achat__preuves strong { color: var(--encre); font-weight: 650; }
/* Ancrage : ce que coûte une erreur, avec sa source. */
.achat__risque { font-size: 0.95rem; line-height: 1.5; padding: 0.9rem 1.05rem; background: var(--blanc); border-left: 3px solid var(--or-sombre); }
.achat__risque a { color: var(--encre-douce); font-size: 0.88rem; overflow-wrap: anywhere; }
.prevenir { display: grid; gap: 0.5rem; }
.prevenir label { font: 650 0.92rem/1.3 var(--titre); }
.prevenir input { font: 400 1rem/1.2 var(--texte); padding: 0.9rem 1rem; border: 1px solid var(--encre-douce); border-radius: 999px; width: 100%; background: var(--blanc); }
.prevenir__note { font-size: 0.85rem; color: var(--encre-douce); }

/* Extrait gratuit : un bouton qui se déplie en formulaire */
.extrait summary { list-style: none; }
.extrait summary::-webkit-details-marker { display: none; }
.extrait summary::marker { content: ""; }
.extrait[open] summary { background: var(--bordeaux); color: var(--blanc); }
.extrait--clair[open] summary { background: var(--or); color: var(--bordeaux-nuit); }
.extrait__form { display: grid; gap: 0.6rem; margin-top: 0.8rem; padding: 1.1rem 1.2rem 1.2rem; background: var(--blanc); border: 1px solid var(--filet); border-radius: 10px; text-align: left; }
.extrait__form label { font: 650 0.92rem/1.3 var(--titre); color: var(--encre); }
.extrait__form input[type="email"] { font: 400 1rem/1.2 var(--texte); padding: 0.9rem 1rem; border: 1px solid var(--encre-douce); border-radius: 999px; width: 100%; background: var(--blanc); color: var(--encre); }
.extrait__case { display: flex; gap: 0.55rem; align-items: flex-start; font: 400 0.9rem/1.4 var(--texte); color: var(--encre); }
.extrait__case input { margin-top: 0.2rem; flex: none; }
.extrait__form .bouton { justify-self: start; }
.extrait .extrait__note { font-size: 0.82rem; line-height: 1.45; color: var(--encre-douce); margin: 0; }
.extrait .extrait__note a { color: var(--bordeaux); text-decoration: underline; }
.extrait__piege { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; margin: 0; }
.offre__boutons .extrait[open], .fiche__boutons .extrait[open], .renvoi__boutons .extrait[open], .methode__boutons .extrait[open] { grid-column: 1 / -1; }
.renvoi__boutons .extrait, .methode__boutons .extrait { display: inline-block; vertical-align: top; }
.renvoi__boutons .extrait[open], .methode__boutons .extrait[open] { display: block; }

/* Comparatif */
.tableau-defilant { overflow-x: auto; margin-bottom: 3.5rem; background: var(--blanc); border-radius: 6px; box-shadow: 0 1px 0 var(--filet), 0 24px 40px -30px rgb(18 26 34 / 0.6); }
.comparatif { border-collapse: collapse; width: 100%; min-width: 60rem; font: 400 0.98rem/1.5 var(--texte); }
.comparatif th, .comparatif td { text-align: left; vertical-align: top; padding: 1.1rem 1.2rem; border-bottom: 1px solid var(--filet); }
.comparatif thead th { background: var(--encre); color: var(--blanc); font: 800 1.35rem/1.1 var(--titre); font-stretch: 78%; text-transform: uppercase; }
.comparatif thead th a { color: var(--or); text-decoration: none; }
.comparatif thead th a:hover { text-decoration: underline; }
.comparatif tbody th { font: 700 0.98rem/1.3 var(--titre); font-stretch: 90%; width: 11rem; background: var(--teinte); position: sticky; left: 0; }
.comparatif tbody tr:last-child > * { border-bottom: 0; }

/* Pied */
.pied { background: var(--bordeaux-nuit); background-image: var(--guilloche); color: #d9cccf; padding-block: 3.5rem; font-size: 0.98rem; line-height: 1.55; }
.pied__grille { display: grid; gap: 2.5rem; grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr)); }
.pied .marque__nom { color: var(--blanc); margin-bottom: 1rem; }
.pied__note { max-width: 27rem; font-size: 0.92rem; }
.pied__titre { font: 400 0.72rem/1 var(--donnee); text-transform: uppercase; letter-spacing: 0.1em; color: var(--or); margin-bottom: 1rem; }
.pied ul { list-style: none; margin: 0; padding: 0; font: 500 1rem/1.3 var(--titre); font-stretch: 94%; }
.pied li + li { margin-top: 0.6rem; }
.pied a { color: var(--blanc); text-decoration: none; }
.pied a:hover { text-decoration: underline; color: var(--or); }
.pied :focus-visible { outline-color: var(--or); }

@media (max-width: 40rem) {
  .entete { position: static; }
  html { scroll-padding-top: 1rem; }
  .nav ul { gap: 0.1rem 1rem; font-size: 0.92rem; }
  /* Menu replié (classe posée par le script de base.njk ; sans JavaScript, tout reste affiché). */
  .nav--repliable { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.6rem; }
  .nav--repliable .nav__bouton { display: inline-flex; align-items: center; gap: 0.5rem; min-height: 44px; padding: 0 1rem; background: transparent; color: var(--blanc); border: 1px solid rgb(210 173 79 / 0.7); border-radius: 999px; font: 650 0.95rem/1 var(--titre); font-stretch: 92%; cursor: pointer; }
  .nav--repliable .nav__bouton::after { content: ""; width: 0.45rem; height: 0.45rem; border-right: 2px solid var(--or); border-bottom: 2px solid var(--or); transform: translateY(-0.15rem) rotate(45deg); transition: transform 0.15s ease; }
  .nav--repliable .nav__bouton[aria-expanded="true"]::after { transform: translateY(0.1rem) rotate(-135deg); }
  .nav--repliable:not(.nav--ouvert) li:not(.nav__fixe) { display: none; }
  .nav--ouvert ul { flex-basis: 100%; order: 2; padding-top: 0.4rem; }
  .nav--repliable a { min-height: 44px; display: inline-flex; align-items: center; }
  .nav--repliable .nav__guides { padding-block: 0; }
  /* Liens du pied : cibles tactiles de 44 px. */
  .pied ul a { display: inline-flex; align-items: center; min-height: 44px; }
  .pied li + li { margin-top: 0; }
  .hero__livres { max-width: 24rem; }
  .reperes { margin-top: -1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

@media print {
  .entete, .pied, .rubriques, .achat, .renvoi, .hero__livres { display: none; }
  body { background: #fff; font-size: 11pt; }
}

/* ───────── Seconde passe : couche visuelle et typographie d'édition ───────── */

@font-face { font-family: "Instrument Serif"; src: url("/assets/fonts/instrument-serif.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Instrument Serif"; src: url("/assets/fonts/instrument-serif-italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }

/* L'accent des titres : une serif d'édition en italique, contre la grotesque condensée. */
h1 em, h2 em { font-family: "Instrument Serif", "Source Serif", Georgia, serif; font-style: italic; font-weight: 400; font-stretch: 100%; letter-spacing: -0.01em; font-size: 1.12em; line-height: 0.9; }
h2 em { color: var(--bordeaux); }
.bloc--sombre h2 em, .hero h1 em, .bandeau h1 em { color: var(--or); }
.bloc > .enveloppe > .surtitre, .preuves .surtitre { margin-bottom: 0.9rem; }
.bloc--teinte { background: var(--teinte); }

/* Tampons */
.tampon { display: block; width: 100%; height: auto; font-family: var(--donnee); overflow: visible; }
.tampon__code { font-family: var(--titre); font-stretch: 75%; }
.hero__scene { position: relative; }
.hero__tampon { position: absolute; width: clamp(6.5rem, 13vw, 10.5rem); color: var(--or); opacity: 0.92; animation: tamponner 0.45s cubic-bezier(0.2, 1.4, 0.4, 1) both; }
.hero__tampon--a { top: -30%; right: -5%; rotate: 14deg; animation-delay: 0.75s; }
.hero__tampon--b { bottom: -34%; left: -7%; rotate: -11deg; color: #f2e7e9; animation-delay: 0.95s; }
.hero__livres { position: relative; z-index: 1; }
.hero__scene { padding-block: 3.5rem; }
@keyframes tamponner { from { opacity: 0; scale: 1.7; } to { opacity: 0.92; scale: 1; } }

/* Carte des routes */
.departs__tete { grid-template-columns: minmax(0, 1fr); align-items: center; }
.departs__tete > div:first-child { display: grid; gap: 1.1rem; }
@media (min-width: 60rem) { .departs__tete { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 3rem; } }
.carte { display: block; width: 100%; height: auto; color: #a9b7c2; font-family: var(--donnee); overflow: visible; }
.carte__routes path { stroke-dasharray: 1; stroke-dashoffset: 1; animation: tracer 1.6s cubic-bezier(0.6, 0, 0.2, 1) 0.3s forwards; }
.carte__routes path:nth-child(2) { animation-delay: 0.5s; }
.carte__routes path:nth-child(3) { animation-delay: 0.7s; }
.carte__routes path:nth-child(4) { animation-delay: 0.9s; }
.carte__routes path:nth-child(5) { animation-delay: 1.1s; }
.carte__routes path:nth-child(6) { animation-delay: 1.3s; }
.carte__routes path:nth-child(7) { animation-delay: 1.5s; }
@keyframes tracer { to { stroke-dashoffset: 0; } }

/* Six sujets */
.themes { list-style: none; margin: 2.8rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(19rem, 100%), 1fr)); border-top: 2px solid var(--encre); }
.themes li { padding: 2rem 2rem 2rem 0; border-bottom: 1px solid var(--filet); }
.themes h3 { font-size: 1.45rem; font-weight: 800; font-stretch: 78%; margin: 1.1rem 0 0.6rem; }
.themes p { margin: 0; color: var(--encre-douce); font-size: 1.04rem; line-height: 1.55; max-width: 30rem; }
.icone { display: block; width: 3.4rem; height: 3.4rem; padding: 0.8rem; border-radius: 50%; background: var(--bordeaux); color: var(--or); }

/* Tampon dans les cartes « un chiffre, une source » */
.preuves__liste li { position: relative; overflow: hidden; }
.preuve__tampon { position: absolute; top: 0.7rem; right: -1.1rem; width: 6.8rem; color: var(--couv); opacity: 0.16; rotate: 12deg; pointer-events: none; }

/* Trois étapes */
.etapes { list-style: none; margin: 2.8rem 0 0; padding: 0; display: grid; gap: 2.5rem 3rem; grid-template-columns: repeat(auto-fit, minmax(min(17rem, 100%), 1fr)); counter-reset: etape; }
.etapes li { counter-increment: etape; position: relative; padding-top: 5.2rem; border-top: 2px solid var(--encre); }
.etapes li::before { content: counter(etape); position: absolute; top: 0.2rem; left: 0; font: italic 400 5rem/1 "Instrument Serif", Georgia, serif; color: var(--bordeaux); }
.etapes h3 { font-size: 1.45rem; font-weight: 800; font-stretch: 78%; margin-bottom: 0.6rem; }
.etapes p { margin: 0; color: var(--encre-douce); font-size: 1.04rem; line-height: 1.55; }

/* Livre en volume */
.livre3d { perspective: 1600px; padding: 0.5rem 1.6rem 1.5rem 0.4rem; }
.livre3d .couv { transform: rotateY(-24deg) rotateX(3deg); transform-origin: 30% 50%; transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1); box-shadow: inset 5px 0 0 rgb(0 0 0 / 0.22), inset 6px 0 0 rgb(255 255 255 / 0.08), 2px 0 0 #f4efe3, 4px 0 0 #e6dfcf, 6px 0 0 #f4efe3, 8px 0 0 #ddd5c2, 10px 0 0 #efe9da, 12px 0 0 #cfc6b1, 34px 38px 50px -18px rgb(18 26 34 / 0.6); }
.livre3d:hover .couv { transform: rotateY(-10deg) rotateX(1deg); }
.collection__livre.livre3d { transform: none; }

/* Bandeau des dossiers pays */
.bandeau__code { display: none; }
.bandeau__tampon { position: absolute; right: var(--gouttiere); top: 50%; translate: 0 -42%; rotate: -11deg; width: clamp(9rem, 22vw, 17rem); color: rgb(255 255 255 / 0.78); pointer-events: none; }
@media (max-width: 52rem) { .bandeau__tampon { top: auto; bottom: -1.5rem; translate: 0 0; right: 0.6rem; width: 8.5rem; opacity: 0.55; } .bandeau h1, .bandeau__chapo { position: relative; z-index: 1; } }

/* Barre de lecture, pilotée par le défilement quand le navigateur le permet */
.progression { position: fixed; inset: 0 0 auto 0; height: 4px; z-index: 30; background: var(--or); transform-origin: 0 50%; scale: 0 1; }
@supports (animation-timeline: scroll()) {
  .progression { animation: avancer linear both; animation-timeline: scroll(root); }
  @keyframes avancer { to { scale: 1 1; } }
}

/* Texte long : lettrine, encadrés, sommaire numéroté */
.prose > p:first-child::first-letter, .prose > h2:first-child + p::first-letter { font: 400 4.6em/0.78 "Instrument Serif", Georgia, serif; float: left; padding: 0.06em 0.12em 0 0; color: var(--bordeaux); }
.prose blockquote { margin: 2rem 0; padding: 1.2rem 1.5rem; border-left: 4px solid var(--bordeaux); background: var(--blanc); font-size: 1.05rem; }
.prose blockquote p:last-child { margin-bottom: 0; }
.prose a { text-decoration-color: rgb(36 71 166 / 0.4); }
.prose a:hover { text-decoration-color: currentColor; }
.rubriques a { display: grid; grid-template-columns: 1.9rem minmax(0, 1fr); }
.rubriques a::before { content: counter(rubrique, decimal-leading-zero); font: 400 0.7rem/1.9 var(--donnee); color: var(--encre-douce); }

/* Apparition au défilement, sans script */
@supports (animation-timeline: view()) {
  .revele { animation: monter linear both; animation-timeline: view(); animation-range: entry 5% entry 45%; }
  @keyframes monter { from { opacity: 0; translate: 0 2.2rem; } to { opacity: 1; translate: 0 0; } }
}

/* Pied : l'enseigne en très grand */
.pied { overflow: hidden; }
.pied__confiance { list-style: none; margin: 1.4rem 0 0; padding: 0; display: grid; gap: 0.45rem; font: 400 0.9rem/1.45 var(--texte) !important; color: #d9cccf; max-width: 27rem; }
.pied__confiance li + li { margin-top: 0; }
.pied__confiance a { color: var(--or); text-decoration: underline; }
.pied__enseigne { margin: 0 0 3rem; padding: 2.2rem var(--gouttiere) 0; font: 800 clamp(1.9rem, 7.6vw, 7.4rem)/0.9 var(--titre); font-stretch: 68%; text-transform: uppercase; letter-spacing: -0.01em; color: rgb(255 255 255 / 0.1); white-space: nowrap; text-align: center; }
.pied__enseigne em { font: italic 400 1.02em/0.9 "Instrument Serif", Georgia, serif; text-transform: none; color: rgb(210 173 79 / 0.55); letter-spacing: 0; }

@media (prefers-reduced-motion: reduce) {
  .carte__routes path { stroke-dashoffset: 0; }
  .progression { display: none; }
}

/* Renvois entre dossiers pays */
.ailleurs { margin-top: 4rem; padding-top: 1.6rem; border-top: 2px solid var(--encre); }
.ailleurs h2 { font-size: clamp(1.6rem, 2.8vw, 2.2rem); margin: 0 0 0.8rem; padding: 0; border: 0; }
.ailleurs ul { list-style: none; margin: 1.6rem 0; padding: 0; display: grid; gap: 0.8rem; grid-template-columns: repeat(auto-fit, minmax(min(13rem, 100%), 1fr)); }
.ailleurs li { margin: 0; }
.ailleurs li a { display: grid; gap: 0.5rem; padding: 1.1rem 1.2rem; background: var(--couv); background-image: var(--guilloche); color: var(--blanc); text-decoration: none; border-radius: 4px; transition: transform 0.2s ease; }
.ailleurs li a:hover { transform: translateY(-4px); color: var(--blanc); }
.ailleurs__code { font: 400 0.78rem/1 var(--donnee); letter-spacing: 0.12em; color: rgb(255 255 255 / 0.85); }
.ailleurs__pays { font: 800 1.35rem/1.05 var(--titre); font-stretch: 78%; }
.ailleurs > p { margin: 0.4rem 0 0; }

/* Signature des dossiers */
.bandeau__signature { font: 400 0.78rem/1.5 var(--donnee); letter-spacing: 0.06em; color: rgb(255 255 255 / 0.8); margin: 1.4rem 0 0; position: relative; z-index: 1; }
.bandeau__signature a { color: var(--blanc); }
.achat .bouton--second { margin-bottom: 0.4rem; }

.soude { white-space: nowrap; }

/* Bloc d'offre posé dans les dossiers pays gratuits : en haut, au milieu et en bas.
   Clair et sobre en haut et au milieu pour ne pas casser la lecture ; le bloc du bas
   reste sombre, c'est lui qui conclut. */
.offre { margin: 3rem 0; padding: 1.5rem clamp(1.1rem, 3vw, 1.9rem); background: var(--blanc); border-left: 4px solid var(--couv, var(--bordeaux)); border-radius: 4px; box-shadow: 0 1px 0 var(--filet), 0 24px 36px -32px rgb(18 26 34 / 0.65); display: grid; gap: 0.85rem; }
.offre--haut { margin-top: 0; }
.offre p { margin: 0; }
.offre__surtitre { font: 400 0.72rem/1 var(--donnee); text-transform: uppercase; letter-spacing: 0.1em; color: var(--encre-douce); }
.offre__accroche { font-size: 1.02rem; line-height: 1.5; }
.offre__accroche strong { font-weight: 650; color: var(--encre); }
.offre__prix { font: 800 2.3rem/1 var(--titre); font-stretch: 74%; color: var(--bordeaux); display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.2rem 0.7rem; }
.offre__prix span { font: 400 0.72rem/1.4 var(--donnee); text-transform: uppercase; letter-spacing: 0.07em; color: var(--encre-douce); }
.offre__boutons { display: grid; gap: 0.6rem; }
.offre__boutons .bouton { text-align: center; }
.offre__detail { font-size: 0.92rem; }
.offre__detail a { color: var(--encre-douce); }
@media (min-width: 34rem) { .offre__boutons { grid-template-columns: repeat(auto-fit, minmax(13rem, auto)); justify-content: start; } }

/* Prix et boutons dans le bloc sombre de fin de dossier */
.renvoi__prix { font: 800 2.3rem/1 var(--titre); font-stretch: 74%; color: var(--or) !important; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.2rem 0.7rem; margin-top: 1.2rem !important; }
.renvoi__prix span { font: 400 0.72rem/1.4 var(--donnee); text-transform: uppercase; letter-spacing: 0.07em; color: #c9d3da; }
.renvoi__boutons { display: grid; gap: 0.6rem; margin-top: 1.1rem !important; }
.renvoi__boutons .bouton { text-align: center; }
.renvoi a.bouton--or { color: var(--bordeaux-nuit) !important; }
.renvoi a.bouton--or:hover { color: var(--bordeaux-nuit) !important; }
.bouton--clair { color: var(--blanc); box-shadow: inset 0 0 0 2px var(--or); }
.renvoi a.bouton--clair { color: var(--blanc); }
.bouton--clair:hover, .renvoi a.bouton--clair:hover { background: var(--or); color: var(--bordeaux-nuit) !important; }
@media (min-width: 34rem) { .renvoi__boutons { grid-template-columns: repeat(auto-fit, minmax(13rem, auto)); justify-content: start; } }

/* Acheter directement depuis le catalogue */
.fiche__boutons { display: grid; gap: 0.5rem; margin-top: 1rem; }
.fiche__boutons .bouton { text-align: center; padding: 0.8rem 1.2rem; font-size: 0.95rem; }
@media (min-width: 30rem) { .fiche__boutons { grid-template-columns: repeat(auto-fit, minmax(10rem, auto)); justify-content: start; } }
.collection__boutons { display: grid; gap: 0.6rem; }
@media (min-width: 34rem) { .collection__boutons { grid-template-columns: repeat(auto-fit, minmax(12rem, auto)); justify-content: start; } }

/* L'offre à hauteur du titre, dans le bandeau du dossier pays. Sur un dossier de vingt
   écrans, elle doit être lisible dès le premier — pas trois écrans plus bas. */
.bandeau__grille--offre { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; }
@media (min-width: 62rem) {
  .bandeau__grille--offre { grid-template-columns: minmax(0, 1fr) 21rem; gap: 3.5rem; align-items: start; }
  /* Le tampon occupe la place que prend désormais la carte : on le garde pour les
     pages sans offre et pour les petits écrans, où il vit en bas du bandeau. */
  .bandeau__grille--offre .bandeau__tampon { display: none; }
}
.offre--bandeau { margin: 0; border-left: 0; border-top: 4px solid var(--or); background: var(--blanc); color: var(--encre); padding: 1.3rem clamp(1.1rem, 2.4vw, 1.5rem); }
.offre--bandeau .offre__surtitre { color: var(--encre-douce); }
.offre--bandeau .offre__accroche { font-size: 0.98rem; }
.offre--bandeau .offre__prix { font-size: 2.1rem; }
.offre--bandeau .offre__boutons { grid-template-columns: minmax(0, 1fr); }
.offre--bandeau .offre__detail { font-size: 0.88rem; }
@media (max-width: 52rem) { .bandeau__grille--offre .bandeau__tampon { opacity: 0.3; } }
/* Le chapô passe sous la carte sur téléphone, à gauche d'elle sur grand écran. */
.bandeau__grille--offre { gap: 1.5rem; }
.bandeau__grille--offre .bandeau__chapo { margin-top: 0; }
@media (min-width: 62rem) {
  .bandeau__grille--offre { gap: 0 3.5rem; }
  .bandeau__grille--offre .bandeau__titre { grid-column: 1; grid-row: 1; }
  .bandeau__grille--offre .bandeau__suite { grid-column: 1; grid-row: 2; }
  .bandeau__grille--offre .offre--bandeau { grid-column: 2; grid-row: 1 / span 2; }
  .bandeau__grille--offre .bandeau__chapo { margin-top: 1.6rem; }
}

/* La méthode, mise en avant en haut de l'accueil */
.methode__grille { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2.5rem; align-items: center; }
@media (min-width: 52rem) { .methode__grille { grid-template-columns: minmax(0, 15rem) minmax(0, 1fr); gap: 4rem; } }
.methode__livre { max-width: 15rem; margin-inline: auto; width: 100%; }
.methode h2 { margin-bottom: 1rem; }
.methode__chapo { font-size: 1.08rem; line-height: 1.55; color: rgb(255 255 255 / 0.85); margin: 0 0 1.3rem; }
.methode__preuves { list-style: none; padding: 0; margin: 0 0 1.5rem; display: grid; gap: 0.5rem; font-size: 0.98rem; line-height: 1.45; color: rgb(255 255 255 / 0.82); }
.methode__preuves li { padding-left: 1.5rem; position: relative; }
.methode__preuves li::before { content: ""; position: absolute; left: 0; top: 0.42em; width: 0.62rem; height: 0.32rem; border-left: 2px solid var(--or); border-bottom: 2px solid var(--or); transform: rotate(-45deg); }
.methode__preuves strong { color: var(--blanc); font-weight: 650; }
.methode__preuves a { color: var(--blanc); }
.methode__prix { font: 800 2.6rem/1 var(--titre); font-stretch: 74%; color: var(--or); display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.2rem 0.8rem; margin: 0 0 1.2rem; }
.methode__prix span { font: 400 0.74rem/1.4 var(--donnee); text-transform: uppercase; letter-spacing: 0.07em; color: rgb(255 255 255 / 0.7); }
.methode__boutons { display: grid; gap: 0.6rem; margin: 0 0 1.1rem; }
.methode__boutons .bouton { text-align: center; }
.methode a.bouton--or { color: var(--bordeaux-nuit); }
.methode__detail { margin: 0; }
@media (min-width: 34rem) { .methode__boutons { grid-template-columns: repeat(auto-fit, minmax(13rem, auto)); justify-content: start; } }

/* Page d'arrivée des publicités (/depart/) : le choix du pays tient dans le premier écran mobile.
   Chaque case reprend la couleur du passeport et le code d'aéroport du guide, comme la collection. */
.depart-hero { padding-block: clamp(1.6rem, 5vw, 3.5rem) clamp(1.6rem, 5vw, 3rem); }
.depart-hero h1 { max-width: 16ch; }
.depart-hero .hero__chapo { margin-bottom: 1rem; }
.depart-preuve { display: flex; flex-wrap: wrap; gap: 0.35rem 1rem; margin: 0; font: 400 0.72rem/1.4 var(--donnee); text-transform: uppercase; letter-spacing: 0.07em; color: var(--or); }
.depart-preuve span { white-space: nowrap; padding-left: 0.9rem; position: relative; }
.depart-preuve span::before { content: ""; position: absolute; left: 0; top: 0.45em; width: 0.4rem; height: 0.4rem; background: var(--or); transform: rotate(45deg); }
.depart-golfe { padding-block: 1.2rem 0.4rem; }
.depart-golfe__liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.8rem; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
.depart-golfe__carte { background: var(--blanc); border: 1px solid var(--filet); border-top: 6px solid var(--couv); border-radius: 10px; padding: 1rem 1.1rem 1.1rem; box-shadow: 0 2px 10px rgb(18 26 34 / 0.07); display: grid; gap: 0.55rem; }
.depart-golfe__tete { margin: 0; font: 750 1.2rem/1.2 var(--titre); color: var(--encre); display: flex; align-items: baseline; gap: 0.6rem; }
.depart-golfe__tete .depart-code { color: var(--couv); }
.depart-golfe__fait { margin: 0; font-size: 0.97rem; line-height: 1.45; color: var(--encre-douce); }
.depart-golfe__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; margin-top: 0.2rem; }
.depart-golfe__bouton { padding: 0.75rem 1.2rem; font-size: 0.95rem; }
.depart-golfe__achat { font: 700 0.92rem/1.2 var(--titre); color: var(--bordeaux); }
.depart-preuve--clair { color: var(--or-sombre); margin-top: 1rem; }
.depart-titre { font: 750 clamp(1.25rem, 4.5vw, 1.7rem)/1.2 var(--titre); margin: 0 0 0.9rem; }
.depart-pays { padding-block: 1.4rem 1.6rem; }
.depart-grille { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr)); gap: 0.55rem; }
.depart-grille a { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 0.6rem; min-height: 3.3rem; padding: 0.6rem 0.75rem 0.6rem 0.9rem; background: var(--blanc); border: 1px solid var(--filet); border-left: 6px solid var(--couv); border-radius: 8px; color: var(--encre); text-decoration: none; box-shadow: 0 1px 2px rgb(18 26 34 / 0.06); transition: transform 0.15s ease, box-shadow 0.15s ease; }
.depart-grille a:hover, .depart-grille a:focus-visible { transform: translateY(-1px); box-shadow: 0 4px 12px rgb(18 26 34 / 0.12); border-color: var(--couv); }
.depart-grille a:active { transform: scale(0.98); }
.depart-code { font: 700 0.8rem/1 var(--donnee); color: var(--couv); }
.depart-nom { font: 700 1rem/1.2 var(--titre); }
.depart-fleche { color: var(--encre-douce); }
.depart-aide { margin: 1rem 0 0; }
.depart-aide a { color: var(--bordeaux); }
.depart-extrait { background-color: var(--bordeaux-nuit); background-image: var(--guilloche); color: var(--blanc); padding-block: 2.5rem 3rem; }
.depart-extrait__grille { display: grid; gap: 1.6rem; align-items: center; max-width: 60rem; }
.depart-extrait__livre { max-width: 10rem; margin-inline: auto; width: 100%; }
.depart-extrait h2 em { color: var(--or); }
.depart-extrait__chapo { color: rgb(255 255 255 / 0.85); margin: 0 0 0.4rem; }
.depart-extrait .extrait__form { color: var(--encre); }
.depart-achat { margin-top: 1.4rem; padding-top: 1.3rem; border-top: 1px solid rgb(255 255 255 / 0.18); display: grid; gap: 0.6rem; }
.depart-achat__titre { margin: 0; font: 700 1.02rem/1.3 var(--titre); }
.depart-achat .bouton { text-align: center; color: var(--bordeaux-nuit); }
.depart-achat__note { margin: 0; font-size: 0.88rem; line-height: 1.45; color: rgb(255 255 255 / 0.75); }
@media (min-width: 48rem) { .depart-extrait__grille { grid-template-columns: 13rem minmax(0, 1fr); } .depart-extrait__livre { max-width: 13rem; } }

/* Questionnaire « Quel pays pour vous » */
.quiz { background: var(--blanc); border-radius: 6px; padding: clamp(1.3rem, 4vw, 2.4rem); box-shadow: 0 1px 0 var(--filet), 0 22px 34px -26px rgb(18 26 34 / 0.7); margin-bottom: 3rem; }
.quiz[hidden], .quiz-resultat[hidden], .quiz__question[hidden] { display: none; }
.quiz__progres { height: 4px; background: var(--teinte); border-radius: 999px; overflow: hidden; margin-bottom: 1rem; }
.quiz__progres span { display: block; height: 100%; width: 0; background: var(--or); transition: width 0.25s ease; }
.quiz__etape { font: 400 0.78rem/1.4 var(--donnee); letter-spacing: 0.08em; text-transform: uppercase; color: var(--encre-douce); margin-bottom: 0.8rem; }
.quiz__question { border: 0; margin: 0; padding: 0; min-width: 0; }
.quiz__question legend { font: 800 clamp(1.45rem, 3vw, 2rem)/1.1 var(--titre); font-stretch: 78%; color: var(--bordeaux); margin-bottom: 1.3rem; padding: 0; }
.quiz__question legend span { display: block; font: 400 0.95rem/1.4 var(--texte); color: var(--encre-douce); margin-top: 0.4rem; }
.quiz__question label { display: flex; align-items: center; gap: 0.8rem; padding: 0.9rem 1rem; margin-bottom: 0.6rem; border: 1px solid var(--filet); border-radius: 6px; cursor: pointer; font: 550 1.05rem/1.3 var(--titre); font-stretch: 94%; transition: border-color 0.15s ease, background-color 0.15s ease; }
.quiz__question label:hover { border-color: var(--bordeaux); }
.quiz__question label:has(input:checked) { border-color: var(--bordeaux); background: #f7eef0; box-shadow: inset 0 0 0 1px var(--bordeaux); }
.quiz__question input { accent-color: var(--bordeaux); width: 1.15rem; height: 1.15rem; flex: none; margin: 0; }
.quiz__nav { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.8rem; margin: 1.4rem 0 0; }
.quiz__nav .bouton:only-child, .quiz__nav #quiz-suivant { margin-left: auto; }
.bouton:disabled { opacity: 0.45; cursor: not-allowed; transform: none; }

.quiz-resultat { margin-bottom: 3rem; outline: none; }
.quiz-resultat h2 { color: var(--bordeaux); margin-bottom: 1.6rem; }
.quiz-resultat h2 em { font-style: normal; color: var(--or-sombre); }
.quiz-resultat__liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.2rem; }
.reco { background: var(--blanc); border-radius: 6px; border-left: 6px solid var(--couv, var(--bordeaux)); padding: clamp(1.2rem, 3.5vw, 2rem); box-shadow: 0 1px 0 var(--filet), 0 22px 34px -26px rgb(18 26 34 / 0.7); }
.reco__tete { display: flex; align-items: baseline; gap: 0.8rem; margin-bottom: 1rem; }
.reco__rang { font: 800 2.2rem/1 var(--titre); font-stretch: 70%; color: var(--or-sombre); }
.reco__code { font: 400 0.78rem/1 var(--donnee); letter-spacing: 0.1em; color: var(--encre-douce); }
.reco__pays { font-size: clamp(1.6rem, 3.4vw, 2.1rem); font-stretch: 76%; color: var(--encre); }
.reco__criteres { list-style: none; margin: 0 0 1.2rem; padding: 0; display: grid; gap: 0.35rem; font: 550 0.98rem/1.35 var(--titre); font-stretch: 94%; }
.reco__critere { padding-left: 1.7rem; position: relative; }
.reco__critere::before { position: absolute; left: 0; top: 0; width: 1.2rem; text-align: center; font-weight: 800; }
.reco__critere--oui::before { content: "✓"; color: #1f6b3c; }
.reco__critere--moyen::before { content: "~"; color: var(--or-sombre); }
.reco__critere--non::before { content: "✕"; color: #a3262f; }
.reco__faits { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.4rem 2rem; font-size: 0.98rem; line-height: 1.5; border-top: 1px solid var(--filet); padding-top: 1rem; }
@media (min-width: 46rem) { .reco__faits { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.reco__faits ul { margin: 0 0 0.8rem; padding-left: 1.1rem; }
.reco__faits li + li { margin-top: 0.3rem; }
.reco__titre { font: 400 0.72rem/1.3 var(--donnee); text-transform: uppercase; letter-spacing: 0.1em; color: var(--encre-douce); margin: 0 0 0.5rem; }
.reco__liens { display: flex; flex-wrap: wrap; align-items: center; gap: 0.8rem 1.6rem; margin: 0.6rem 0 0; }
.reco__plus { margin: 0.9rem 0 0; font: 400 0.9rem/1.5 var(--titre); font-stretch: 94%; color: var(--encre-douce); }
.reco__plus a { color: var(--bordeaux); font-weight: 650; }
.reco .bouton--or:hover { background: var(--bordeaux-nuit); color: var(--blanc); }
.quiz-resultat__note { font-size: 0.95rem; color: var(--encre-douce); margin-top: 1.6rem; }

.hero__quiz-note { font: 400 0.9rem/1.45 var(--texte); color: #cdbfc3; max-width: 32rem; margin: 1rem 0 0; }

/* Profil de partant et résultat Groenland */
.profil-partant { background: var(--bordeaux); background-image: var(--guilloche); color: var(--blanc); border-radius: 6px; padding: clamp(1.3rem, 4vw, 2.2rem); margin-bottom: 2.4rem; }
.profil-partant .surtitre { color: var(--or); margin-bottom: 0.5rem; }
.profil-partant__nom { font: 800 clamp(1.8rem, 4.4vw, 2.6rem)/1.02 var(--titre); font-stretch: 74%; margin: 0 0 0.8rem; }
.profil-partant__texte { color: #eadfe1; max-width: 38rem; }
.profil-partant__jauge { display: flex; align-items: center; gap: 0.8rem; margin: 1.2rem 0 0; font: 400 0.8rem/1.2 var(--donnee); letter-spacing: 0.06em; text-transform: uppercase; }
.profil-partant__barre { flex: 1; max-width: 14rem; height: 6px; border-radius: 999px; background: rgb(255 255 255 / 0.18); overflow: hidden; }
.profil-partant__barre span { display: block; height: 100%; background: var(--or); }
.profil-partant__jauge strong { color: var(--or); font-weight: 400; }
.profil-partant__clin { font-style: italic; color: #eadfe1; font-size: 0.98rem; margin: 1rem 0 0; }
.groenland { position: relative; overflow: hidden; background: #0f2a3d; background-image: radial-gradient(40rem 18rem at 80% -10%, rgb(94 234 212 / 0.28), transparent 70%), radial-gradient(30rem 14rem at 10% 0%, rgb(167 139 250 / 0.22), transparent 70%); color: var(--blanc); border-radius: 6px; padding: clamp(1.5rem, 5vw, 2.8rem); margin-bottom: 2.4rem; }
.groenland h2 { color: var(--blanc); margin-bottom: 1.2rem; position: relative; }
.groenland h2 em { font-style: normal; color: #7fe3d3; }
.groenland p { color: #d6e4ee; position: relative; }
.groenland a { color: var(--blanc); }
.groenland a:hover { color: #7fe3d3; }
.groenland .surtitre--or { color: var(--or); }
.groenland__blague { font: 400 0.8rem/1.3 var(--donnee); letter-spacing: 0.1em; text-transform: uppercase; color: #7fe3d3 !important; }
.groenland__code { position: absolute !important; right: 1rem; top: -0.1em; margin: 0; font: 800 clamp(5rem, 16vw, 9rem)/1 var(--titre); font-stretch: 66%; color: rgb(255 255 255 / 0.07) !important; pointer-events: none; }
#quiz-classement[hidden], .groenland[hidden] { display: none; }
.quiz-lead { margin-top: 2.4rem; padding: clamp(1.3rem, 4vw, 2rem); border: 2px solid var(--or); border-radius: 6px; gap: 0.7rem; }
.quiz-lead .surtitre { margin: 0; color: var(--or-sombre); }
.quiz-lead h3 { font-size: clamp(1.3rem, 2.6vw, 1.7rem); font-stretch: 80%; color: var(--bordeaux); }
.quiz-lead__texte { margin: 0; font-size: 1rem; color: var(--encre-douce); }
.quiz-lead .extrait__note { font-size: 0.82rem; line-height: 1.45; color: var(--encre-douce); margin: 0; }
.quiz-lead .extrait__note a { color: var(--bordeaux); }

/* Aperçus des pages intérieures sur la fiche de vente (04/10/2026). Défilement latéral
   sur téléphone, trois colonnes sur grand écran. */
.apercus { display: grid; grid-auto-flow: column; grid-auto-columns: 72%; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0.3rem 0.2rem 1rem; margin-inline: -0.2rem; }
.apercus__page { margin: 0; scroll-snap-align: start; }
.apercus__page img { display: block; width: 100%; height: auto; border: 1px solid var(--filet); border-radius: 4px; box-shadow: 0 14px 28px -18px rgb(18 26 34 / 0.55); background: var(--blanc); }
.apercus__page figcaption { margin-top: 0.5rem; font: 400 0.74rem/1.4 var(--donnee); text-transform: uppercase; letter-spacing: 0.06em; color: var(--encre-douce); }
.apercus__note { font-size: 0.95rem; color: var(--encre-douce); }
.apercus__note a { color: var(--tampon); }
@media (min-width: 46rem) { .apercus { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; } }

/* Accueil refait le 05/10/2026 : prix dès le premier écran, quatre guides pays en
   vitrine, seize chiffres repliés en quatre. */
.hero__prix { margin: 1.3rem 0 0; font: 650 0.98rem/1.45 var(--titre); font-stretch: 92%; color: var(--or); }
.vedette__chapo { font-size: 1.08rem; line-height: 1.55; color: rgb(255 255 255 / 0.85); max-width: 46rem; margin: 0 0 2rem; }
.vedette__liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.6rem 1.4rem; grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr)); }
.vedette__carte { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: 1.1rem; align-items: center; }
.vedette__couv { display: block; transition: transform 0.2s ease; }
.vedette__carte:hover .vedette__couv { transform: translateY(-4px) rotate(-1.5deg); }
.vedette__texte h3 { margin: 0 0 0.25rem; font-size: 1.6rem; }
.vedette__texte h3 a { color: var(--blanc); text-decoration: none; }
.vedette__donnees { margin: 0 0 0.8rem; font: 400 0.74rem/1.4 var(--donnee); text-transform: uppercase; letter-spacing: 0.06em; color: rgb(255 255 255 / 0.75); }
.vedette__achat { display: block; text-align: center; padding: 0.8rem 1rem; margin-bottom: 0.5rem; }
.vedette__suite { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.6rem; margin: 2.4rem 0 0; }
.vedette__methode { color: rgb(255 255 255 / 0.85); font-size: 0.98rem; }
.vedette__methode a { color: var(--or); }
.preuves__plus { margin-top: 1.6rem; }
.preuves__plus summary { list-style: none; cursor: pointer; }
.preuves__plus summary::-webkit-details-marker { display: none; }
.preuves__plus[open] summary { margin-bottom: 1.6rem; }
.tarifs__avant { display: block; font: 400 0.85rem/1.3 var(--texte); color: var(--encre-douce); }
@media (max-width: 40rem) {
  .hero__scene { padding-block: 1.5rem 0.5rem; }
  .hero__livres { max-width: 17rem; }
  .hero__tampon { display: none; }
}
/* Grand écran : l'accroche tient sur trois lignes et les boutons restent au-dessus de la ligne de flottaison (900 px). */
@media (min-width: 62rem) {
  .hero { padding-top: clamp(3rem, 5vw, 4.5rem); }
  .hero h1 { max-width: 15ch; }
}
@media (max-width: 40rem) { .pied .pied__confiance a { display: inline; min-height: 0; } }
.depart-achat__boutons { display: grid; gap: 0.5rem; }
.depart-achat__note a { color: var(--or); }

/* 05/10/2026 : second formulaire de /depart/, juste après les cartes du Golfe. */
.depart-haut { padding-block: 2rem 2.5rem; }
.depart-haut .depart-titre { margin-block: .25rem 1rem; }
.depart-haut .extrait__form { max-width: 40rem; }
/* Le lien « Lire … gratuitement » posé dans l’en-tête sombre de l’accueil (05/10/2026) : or, lisible sur bordeaux. */
.hero .extrait__lien { color: var(--or); text-decoration-color: currentColor; }
/* 08/10/2026 : le formulaire de l'accueil est ouvert d'emblée ; la règle générale
   repasse le lien ouvert en bordeaux, illisible sur l'en-tête sombre. */
.hero .extrait[open] .extrait__lien { color: var(--or); background: none; }
.hero .extrait__form { max-width: 30rem; }

/* Dossiers pays, 06/10/2026 : encadrés d'entrée (retraités, choix du visa, seuils),
   preuve et note de l'offre du bandeau, sommaire du guide dans le renvoi. */
.encadres { display: grid; gap: 1.2rem; margin: 0 0 3rem; }
.encadre { background: var(--blanc); border-left: 4px solid var(--or); border-radius: 4px; padding: 1.4rem clamp(1.1rem, 3vw, 2rem); box-shadow: 0 1px 0 var(--filet), 0 22px 34px -30px rgb(18 26 34 / 0.6); scroll-margin-top: 6rem; }
.encadre h2 { font-size: clamp(1.35rem, 2.4vw, 1.75rem); margin: 0 0 0.9rem; }
.encadre ul { margin: 0; padding-left: 1.2rem; display: grid; gap: 0.6rem; line-height: 1.55; }
.encadre table { width: 100%; border-collapse: collapse; font-size: 0.98rem; }
.encadre th, .encadre td { text-align: left; padding: 0.55rem 0.6rem 0.55rem 0; border-bottom: 1px solid var(--filet); vertical-align: top; }
.encadre th { font: 650 0.8rem/1.3 var(--titre); text-transform: uppercase; letter-spacing: 0.04em; color: var(--encre-douce); }
.encadre a { color: var(--tampon); }
.encadre__suite { margin: 1rem 0 0; font-size: 0.95rem; }
.offre__preuve { font-size: 0.9rem; color: var(--encre-douce); }
.offre__note { font-size: 0.85rem; color: var(--encre-douce); }
.offre__note a { color: var(--tampon); }
.offre--bandeau .offre__boutons .extrait summary { display: block; text-align: center; }
.renvoi__sommaire-titre { margin: 1.2rem 0 0.4rem; font-weight: 650; }
.renvoi__sommaire { margin: 0 0 1rem; padding-left: 1.3rem; columns: 2 14rem; column-gap: 2rem; font-size: 0.95rem; line-height: 1.5; }
.offre__risque { font-size: 0.95rem; line-height: 1.5; padding: 0.8rem 1rem; background: var(--fond, #f3f5f2); border-left: 3px solid var(--or-sombre); }
.offre__risque a { color: var(--encre-douce); font-size: 0.85rem; overflow-wrap: anywhere; }
