/* ==========================================================================
   Cognac Grande Champagne — direction artistique « Maison de Cognac & Patrimoine »
   Feuille unique, mobile d'abord, sans framework ni JavaScript.
   Palette : ivoire #F7F3EB · anthracite #262626 · or patiné #A88950 · pierre #E8DFD0 · blanc #FFFFFF
   L'or patiné (#A88950) est réservé aux filets et ornements (contraste insuffisant pour du texte sur ivoire) ;
   pour le texte doré on utilise --or-texte (#6E5A30, contraste 6:1 sur ivoire).
   ========================================================================== */

/* ---------- Polices auto-hébergées (SIL Open Font License) ----------
   Italiques en font-display: optional : pas de permutation tardive, donc aucun décalage de mise en page (CLS). */
@font-face { font-family: "Cormorant Garamond"; font-style: normal; font-display: swap; font-weight: 300 700;
	src: url(../fonts/cormorant-garamond-latin-wght-normal.woff2) format("woff2");
	unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Cormorant Garamond"; font-style: normal; font-display: swap; font-weight: 300 700;
	src: url(../fonts/cormorant-garamond-latin-ext-wght-normal.woff2) format("woff2");
	unicode-range: U+0100-0130,U+0132-0151,U+0154-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Cormorant Garamond"; font-style: normal; font-display: swap; font-weight: 300 700;
	src: url(../fonts/cormorant-garamond-cyrillic-wght-normal.woff2) format("woff2");
	unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: "Cormorant Garamond"; font-style: italic; font-display: optional; font-weight: 300 700;
	src: url(../fonts/cormorant-garamond-latin-wght-italic.woff2) format("woff2");
	unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Cormorant Garamond"; font-style: italic; font-display: optional; font-weight: 300 700;
	src: url(../fonts/cormorant-garamond-latin-ext-wght-italic.woff2) format("woff2");
	unicode-range: U+0100-0130,U+0132-0151,U+0154-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Inter"; font-style: normal; font-display: swap; font-weight: 100 900;
	src: url(../fonts/inter-latin-wght-normal.woff2) format("woff2");
	unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-display: swap; font-weight: 100 900;
	src: url(../fonts/inter-latin-ext-wght-normal.woff2) format("woff2");
	unicode-range: U+0100-0130,U+0132-0151,U+0154-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Inter"; font-style: normal; font-display: swap; font-weight: 100 900;
	src: url(../fonts/inter-cyrillic-wght-normal.woff2) format("woff2");
	unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: "Inter"; font-style: italic; font-display: swap; font-weight: 100 900;
	src: url(../fonts/inter-latin-wght-italic.woff2) format("woff2");
	unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

/* ---------- Jetons de design ---------- */
:root {
	--ivoire: #F7F3EB;
	--anthracite: #262626;
	--or: #A88950;
	--pierre: #E8DFD0;
	--blanc: #FFFFFF;
	--or-texte: #6E5A30;
	--texte-doux: #5A564F;
	--filet: #D6CAB4;

	--serif: "Cormorant Garamond", Garamond, "Hoefler Text", "Times New Roman", serif;
	--sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	--largeur: 75rem;
	--largeur-lecture: 42rem;
	--marge: clamp(1.25rem, 4vw, 2.5rem);
	--espace-section: clamp(3.5rem, 8vw, 7rem);
}
/* Polices de repli adaptées aux écritures non latines */
:lang(zh) { --serif: "Cormorant Garamond", "Songti SC", "STSong", "Noto Serif SC", "Source Han Serif SC", "SimSun", serif;
	--sans: "Inter", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", sans-serif; }
:lang(ja) { --serif: "Cormorant Garamond", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", serif;
	--sans: "Inter", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", Meiryo, sans-serif; }
:lang(ko) { --serif: "Cormorant Garamond", "AppleMyungjo", "Nanum Myeongjo", "Noto Serif KR", Batang, serif;
	--sans: "Inter", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif; }

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: 1rem; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body {
	margin: 0; background: var(--ivoire); color: var(--anthracite);
	font-family: var(--sans); font-size: 1.0625rem; line-height: 1.65; font-weight: 400;
	font-feature-settings: "kern", "liga"; text-rendering: optimizeLegibility;
}
:lang(zh) body, :lang(ja) body, :lang(ko) body, body:lang(zh), body:lang(ja), body:lang(ko) { line-height: 1.85; }
img, svg { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration-color: var(--or); text-decoration-thickness: 1px; text-underline-offset: .2em; }
a:hover { color: var(--or-texte); }
:focus-visible { outline: 2px solid var(--anthracite); outline-offset: 3px; }
h1, h2, h3, h4 { font-family: var(--serif); font-weight: 500; line-height: 1.15; margin: 0 0 .5em; letter-spacing: -.005em; text-wrap: balance; }
p { margin: 0 0 1em; }
address { font-style: normal; }
.cgc-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.cgc-wrap { width: 100%; max-width: var(--largeur); margin-inline: auto; padding-inline: var(--marge); }
.cgc-wrap-etroit { width: 100%; max-width: calc(var(--largeur-lecture) + 2 * var(--marge)); margin-inline: auto; padding-inline: var(--marge); }
main:focus { outline: none; }

/* Lien d'évitement */
.cgc-evitement { position: absolute; left: 1rem; top: -4rem; z-index: 100; background: var(--anthracite); color: var(--blanc); padding: .6rem 1rem; text-decoration: none; }
.cgc-evitement:focus { top: 1rem; color: var(--blanc); }

/* Éléments typographiques récurrents */
.cgc-surtitre { font-family: var(--sans); font-size: .75rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--or-texte); margin: 0 0 .9rem; }
:lang(zh) .cgc-surtitre, :lang(ja) .cgc-surtitre, :lang(ko) .cgc-surtitre { letter-spacing: .08em; }
.cgc-numero { font-family: var(--serif); font-size: 1.25rem; font-style: italic; color: var(--or-texte); margin: 0 0 .25rem; }
.cgc-chapo { font-family: var(--serif); font-size: clamp(1.3rem, 2.2vw, 1.55rem); line-height: 1.45; font-weight: 400; color: var(--anthracite); }
.cgc-chapo p:last-child { margin-bottom: 0; }
.cgc-lien-fleche { display: inline-block; font-size: .8125rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; color: var(--anthracite); border-bottom: 1px solid var(--or); padding-bottom: .15rem; }
.cgc-lien-fleche::after { content: " →"; }
[dir="rtl"] .cgc-lien-fleche::after { content: " ←"; }
.cgc-lien-fleche:hover { color: var(--or-texte); }
.cgc-ornement { width: 3rem; height: 1px; background: var(--or); margin: 0 auto 1.5rem; position: relative; }
.cgc-ornement::after { content: ""; position: absolute; left: 50%; top: -3px; width: 7px; height: 7px; background: var(--ivoire); border: 1px solid var(--or); transform: translateX(-50%) rotate(45deg); }

/* ---------- En-tête ---------- */
.cgc-entete { background: var(--ivoire); border-bottom: 1px solid var(--filet); }
.cgc-entete-haut { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 1rem; }
.cgc-marque { display: flex; align-items: center; gap: .75rem; text-decoration: none; color: var(--anthracite); min-width: 0; }
.cgc-marque-logo { height: 2.75rem; width: auto; }
.cgc-marque-texte { display: flex; flex-direction: column; line-height: 1.1; }
.cgc-marque-nom { font-family: var(--serif); font-size: clamp(1.3rem, 3.5vw, 1.75rem); font-weight: 500; letter-spacing: .01em; }
.cgc-marque-sous { font-size: .6875rem; letter-spacing: .18em; text-transform: uppercase; color: var(--or-texte); margin-top: .3rem; }

/* Sélecteur de langue (details/summary, sans JavaScript) */
.cgc-langue-choix { position: relative; flex-shrink: 0; }
.cgc-langue-choix summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: .45rem; min-height: 44px; padding: .4rem .2rem; font-size: .875rem; font-weight: 500; }
.cgc-langue-choix summary::-webkit-details-marker { display: none; }
.cgc-langue-choix summary::after { content: ""; width: .45rem; height: .45rem; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); margin-inline-start: .2rem; }
.cgc-langue-choix[open] summary::after { transform: rotate(-135deg); }
.cgc-icone-globe { width: 1rem; height: 1rem; border: 1.5px solid currentColor; border-radius: 50%; position: relative; }
.cgc-icone-globe::before { content: ""; position: absolute; inset: -1.5px 3px; border: 1.5px solid currentColor; border-radius: 50%; }
.cgc-langue-choix .cgc-langues { position: absolute; right: 0; top: 100%; z-index: 20; background: var(--blanc); border: 1px solid var(--filet); box-shadow: 0 12px 30px rgba(38,38,38,.12); min-width: 14rem; padding: .5rem 0; }
.cgc-langues ul { list-style: none; margin: 0; padding: 0; }
.cgc-langue-choix .cgc-langues a, .cgc-langue-choix .cgc-langues span { display: block; padding: .55rem 1.1rem; text-decoration: none; font-size: .9375rem; }
.cgc-langue-choix .cgc-langues a:hover { background: var(--ivoire); color: var(--anthracite); }
.cgc-lang-courante span { font-weight: 600; border-inline-start: 2px solid var(--or); }
.cgc-lang-repli small { color: var(--texte-doux); font-size: .8em; }
.cgc-lang-indisponible span { color: var(--texte-doux); }

/* Navigation principale : défilement horizontal sur mobile */
.cgc-nav { border-top: 1px solid var(--filet); }
.cgc-nav ul { list-style: none; margin: 0 auto; display: flex; gap: 1.75rem; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.cgc-nav ul::-webkit-scrollbar { display: none; }
.cgc-nav li { flex: 0 0 auto; }
.cgc-nav a { display: block; padding: .85rem 0; font-size: .8125rem; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; white-space: nowrap; border-bottom: 2px solid transparent; }
:lang(zh) .cgc-nav a, :lang(ja) .cgc-nav a, :lang(ko) .cgc-nav a { text-transform: none; letter-spacing: .02em; font-size: .875rem; }
.cgc-nav a:hover, .cgc-nav a.cgc-actif, .cgc-nav a[aria-current] { border-bottom-color: var(--or); color: var(--anthracite); }
@media (min-width: 64em) { .cgc-nav ul { flex-wrap: wrap; justify-content: center; overflow: visible; gap: 0 1.6rem; } .cgc-nav a { font-size: .75rem; letter-spacing: .04em; } }

/* ---------- Bandeau d'accueil ---------- */
.cgc-hero { position: relative; overflow: hidden; background: var(--pierre); }
.cgc-hero-media img { width: 100%; height: 100%; object-fit: cover; }
.cgc-hero--photo { color: var(--blanc); min-height: min(78vh, 46rem); display: flex; align-items: flex-end; }
.cgc-hero--photo .cgc-hero-media { position: absolute; inset: 0; }
.cgc-hero--photo .cgc-hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(20,20,20,.72) 0%, rgba(20,20,20,.25) 45%, rgba(20,20,20,0) 70%); }
.cgc-hero--photo .cgc-hero-texte { position: relative; padding-block: 3rem clamp(2.5rem, 7vw, 5rem); }
.cgc-hero--photo .cgc-surtitre { color: var(--pierre); }
.cgc-hero--sans-photo { background: linear-gradient(180deg, var(--ivoire) 0%, var(--pierre) 100%); }
.cgc-hero--sans-photo .cgc-hero-texte { position: relative; z-index: 1; padding-block: clamp(3.5rem, 10vw, 7.5rem) clamp(7rem, 16vw, 12rem); text-align: center; }
.cgc-hero-motif { position: absolute; inset: auto 0 0 0; height: 60%; }
.cgc-hero-motif svg { width: 100%; height: 100%; }
.cgc-hero-titre { font-size: clamp(2.4rem, 6.5vw, 4.75rem); font-weight: 500; line-height: 1.05; max-width: 18ch; margin-bottom: 0; }
.cgc-hero--sans-photo .cgc-hero-titre { margin-inline: auto; }
:lang(zh) .cgc-hero-titre, :lang(ja) .cgc-hero-titre, :lang(ko) .cgc-hero-titre { font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.3; max-width: 22ch; }

/* ---------- Bandeau d'accueil : texte à côté de la photographie (pas de superposition) ---------- */
.cgc-hero-accueil { padding-block: clamp(2rem, 5vw, 4.5rem) 0; }
.cgc-hero-grille { display: grid; gap: clamp(1.75rem, 4vw, 4rem); align-items: center; }
.cgc-hero-texte { max-width: 34rem; }
.cgc-hero-titre { font-size: clamp(2.3rem, 5vw, 4rem); font-weight: 500; line-height: 1.06; margin-bottom: 1.25rem; }
:lang(zh) .cgc-hero-titre, :lang(ja) .cgc-hero-titre, :lang(ko) .cgc-hero-titre { font-size: clamp(2rem, 4.2vw, 3.2rem); line-height: 1.3; }
.cgc-hero-intro { font-size: clamp(1.05rem, 1.5vw, 1.2rem); line-height: 1.65; color: var(--texte-doux); margin-bottom: 1.25rem; }
.cgc-hero-signature { font-size: .75rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--or-texte); padding-top: 1rem; border-top: 1px solid var(--or); display: inline-block; margin-bottom: 1.75rem; }
:lang(zh) .cgc-hero-signature, :lang(ja) .cgc-hero-signature, :lang(ko) .cgc-hero-signature { letter-spacing: .04em; text-transform: none; }
.cgc-bouton-principal { display: inline-flex; align-items: center; gap: .6rem; min-height: 48px; padding: .8rem 1.6rem; background: var(--anthracite); color: var(--ivoire); text-decoration: none; font-size: .8125rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; border: 1px solid var(--anthracite); transition: background-color .2s ease, border-color .2s ease; }
.cgc-bouton-principal::after { content: "→"; }
.cgc-bouton-principal:hover, .cgc-bouton-principal:focus-visible { background: var(--or-texte); border-color: var(--or-texte); color: var(--blanc); }
.cgc-hero-visuel { margin: 0 calc(-1 * var(--marge)); }
.cgc-hero-visuel picture, .cgc-hero-visuel img { display: block; width: 100%; }
.cgc-hero-visuel img { height: auto; aspect-ratio: 4 / 3; object-fit: cover; background: var(--pierre); }
.cgc-hero-legende { display: flex; flex-direction: column; gap: .3rem; font-size: .8125rem; line-height: 1.5; color: var(--texte-doux); padding: .9rem var(--marge) 0; }
/* Mention de la photographie : texte HTML (non incrusté dans l'image), sobre, rattaché visuellement à la photo */
.cgc-hero-mention { display: flex; align-items: center; gap: .75rem; font-family: var(--serif); font-size: clamp(1.15rem, 1.6vw, 1.35rem); font-style: italic; font-weight: 500; line-height: 1.3; color: var(--anthracite); }
.cgc-hero-mention::before { content: ""; flex: 0 0 2rem; height: 1px; background: var(--or); }
:lang(zh) .cgc-hero-mention, :lang(ja) .cgc-hero-mention, :lang(ko) .cgc-hero-mention { font-style: normal; }
.cgc-hero-credits { white-space: nowrap; font-size: .75rem; letter-spacing: .02em; }
@media (min-width: 48em) {
	.cgc-hero-visuel { margin: 0; }
	.cgc-hero-visuel img { aspect-ratio: auto; }
	.cgc-hero-legende { padding-inline: 0; }
}
@media (min-width: 64em) {
	.cgc-hero-accueil { background: linear-gradient(90deg, var(--ivoire) 0 58%, var(--pierre) 58% 100%); padding-block: clamp(3rem, 6vw, 5.5rem); }
	.cgc-hero-grille { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
	.cgc-hero-visuel img { box-shadow: 0 24px 60px -30px rgba(38,38,38,.45); }
}
.cgc-hero-racine .cgc-hero-titre { font-size: clamp(2.4rem, 5.5vw, 4.25rem); }

/* ---------- Introduction ---------- */
.cgc-intro { text-align: center; padding-block: var(--espace-section) 0; }
.cgc-intro .cgc-chapo p { margin: 0; }
.cgc-intro .cgc-chapo { font-size: clamp(1.35rem, 2.6vw, 1.75rem); }
.cgc-intro-signature { margin-top: 1.5rem; font-size: .8125rem; letter-spacing: .14em; text-transform: uppercase; color: var(--or-texte); }

/* ---------- Sections ---------- */
.cgc-section { padding-block: var(--espace-section) 0; }
.cgc-section-entete { margin-bottom: clamp(2rem, 4vw, 3rem); max-width: 40rem; }
.cgc-section-titre { font-size: clamp(1.9rem, 4vw, 2.75rem); }
.cgc-section-titre::after { content: ""; display: block; width: 3rem; height: 1px; background: var(--or); margin-top: 1.1rem; }
.cgc-section-intro { color: var(--texte-doux); }

/* Cartes des univers */
.cgc-cartes-univers { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; background: var(--filet); border: 1px solid var(--filet); grid-template-columns: 1fr; }
@media (min-width: 40em) { .cgc-cartes-univers { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 64em) { .cgc-cartes-univers { grid-template-columns: repeat(3, 1fr); } }
/* 31/10/2026 : un seul univers publié (secteur anglais) : carte à la largeur d'une colonne, sans cases vides */
.cgc-cartes-univers:has(> li:only-child) { grid-template-columns: minmax(0, 1fr); max-width: 26rem; }
.cgc-carte-univers { position: relative; background: var(--ivoire); padding: clamp(1.75rem, 3vw, 2.5rem); display: flex; flex-direction: column; transition: background-color .2s ease; }
.cgc-carte-univers:hover, .cgc-carte-univers:focus-within { background: var(--blanc); }
.cgc-carte-univers .cgc-carte-image { margin: calc(-1 * clamp(1.75rem, 3vw, 2.5rem)) calc(-1 * clamp(1.75rem, 3vw, 2.5rem)) 1.5rem; aspect-ratio: 3 / 2; overflow: hidden; background: var(--pierre); }
.cgc-carte-image img { width: 100%; height: 100%; object-fit: cover; }
.cgc-carte-titre { font-size: clamp(1.5rem, 2.4vw, 1.85rem); margin-bottom: .6rem; }
.cgc-carte-titre a { text-decoration: none; }
.cgc-carte-titre a::after { content: ""; position: absolute; inset: 0; }
.cgc-carte-texte { color: var(--texte-doux); font-size: .9688rem; flex-grow: 1; }
.cgc-carte-univers .cgc-lien-fleche { align-self: flex-start; margin: .5rem 0 0; }

/* Cartes d'articles */
.cgc-cartes-articles { list-style: none; margin: 0; padding: 0; display: grid; gap: clamp(2rem, 4vw, 3rem) 2rem; grid-template-columns: 1fr; }
@media (min-width: 40em) { .cgc-cartes-articles { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 64em) { .cgc-cartes-articles { grid-template-columns: repeat(3, 1fr); } }
.cgc-carte-article { position: relative; border-top: 1px solid var(--anthracite); padding-top: 1.25rem; }
.cgc-carte-article .cgc-carte-image { aspect-ratio: 4 / 3; overflow: hidden; margin-bottom: 1.1rem; background: var(--pierre); }
.cgc-carte-article .cgc-surtitre { margin-bottom: .5rem; }
.cgc-carte-article .cgc-carte-titre a:hover { color: var(--or-texte); }

/* Patrimoine et archives : bloc sombre */
.cgc-patrimoine { background: var(--anthracite); color: var(--ivoire); margin-top: var(--espace-section); padding-block: var(--espace-section); }
.cgc-patrimoine .cgc-surtitre { color: var(--or); }
.cgc-patrimoine .cgc-section-intro { color: var(--pierre); }
.cgc-patrimoine .cgc-lien-fleche { color: var(--ivoire); }
.cgc-patrimoine a:hover { color: var(--or); }
.cgc-patrimoine-grille { display: grid; gap: 2.5rem; }
@media (min-width: 64em) { .cgc-patrimoine-grille { grid-template-columns: 1fr 2fr; align-items: start; } }
.cgc-liste-patrimoine { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); }
.cgc-liste-patrimoine a { display: block; text-decoration: none; border-top: 1px solid var(--or); padding-top: 1rem; }
.cgc-liste-patrimoine img { margin-bottom: .9rem; filter: sepia(.15); }
.cgc-liste-patrimoine .cgc-carte-titre { font-family: var(--serif); font-size: 1.35rem; display: block; }

/* La Maison */
.cgc-maison { text-align: center; padding-bottom: var(--espace-section); }
.cgc-maison .cgc-section-titre::after { display: none; }
.cgc-maison p { color: var(--texte-doux); font-size: 1.0625rem; }
.cgc-maison-liens { display: flex; flex-wrap: wrap; gap: 1rem 2rem; justify-content: center; margin-top: 1.75rem; }

/* ---------- Fil d'Ariane ---------- */
.cgc-ariane ol { list-style: none; margin: 0; padding: 1.25rem 0 0; display: flex; flex-wrap: wrap; font-size: .8125rem; color: var(--texte-doux); }
.cgc-ariane li + li::before { content: "/"; margin: 0 .55rem; color: var(--or); }
.cgc-ariane a { text-decoration: none; }
.cgc-ariane a:hover { text-decoration: underline; }

/* ---------- Pages rubriques (univers et sous-rubriques) ---------- */
.cgc-titre-page { font-size: clamp(2.3rem, 5.5vw, 3.75rem); line-height: 1.08; }
:lang(zh) .cgc-titre-page, :lang(ja) .cgc-titre-page, :lang(ko) .cgc-titre-page { line-height: 1.3; font-size: clamp(1.9rem, 4.5vw, 3rem); }
.cgc-page-rubrique main { padding-bottom: var(--espace-section); }
/* Bandeau : même langage que l'accueil (fond ivoire/pierre, texte jamais superposé au visuel) */
.cgc-rubrique-bandeau { padding-block: clamp(2rem, 6vw, 4.5rem); background: linear-gradient(180deg, var(--ivoire) 0%, var(--pierre) 100%); border-bottom: 1px solid var(--filet); }
.cgc-rubrique-grille { display: grid; gap: clamp(1.75rem, 4vw, 4rem); align-items: center; }
.cgc-rubrique-intro { max-width: 40rem; }
.cgc-rubrique-intro .cgc-titre-page { margin-bottom: 1.1rem; }
.cgc-rubrique-intro .cgc-titre-page::after { content: ""; display: block; width: 3rem; height: 1px; background: var(--or); margin-top: 1.25rem; }
.cgc-rubrique-intro .cgc-chapo { color: var(--texte-doux); font-size: clamp(1.1rem, 1.8vw, 1.3rem); }
.cgc-rubrique-intro .cgc-chapo p:last-child { margin-bottom: 0; }
.cgc-rubrique-visuel { margin: 0; }
.cgc-rubrique-visuel img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; background: var(--pierre); box-shadow: 0 24px 60px -30px rgba(38,38,38,.45); }
/* Ornement sans photo : chiffre romain de l'univers dans un cartouche à double filet (purement décoratif) */
.cgc-rubrique-ornement { display: none; }
/* Carte « À découvrir » (bandeau des rubriques) : vignette en passe-partout, image entière (contain, aucun recadrage) */
.cgc-decouvrir { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: 1rem; align-items: center; text-decoration: none; color: inherit; padding: .75rem; background: rgba(255,255,255,.55); border: 1px solid var(--filet); border-top: 2px solid var(--or); }
/* Zone d'image à hauteur fixe (carte stable), largeur disponible : l'image garde ses proportions réelles (verticale, carrée, horizontale,
   panoramique), entière et centrée, sur le fond de la carte ; un filet fin souligne ses bords */
.cgc-decouvrir-cadre { display: flex; align-items: center; justify-content: center; height: 5.75rem; }
.cgc-decouvrir-cadre img { display: block; box-sizing: border-box; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; border: 1px solid var(--filet); }
.cgc-decouvrir-texte { display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.cgc-decouvrir-surtitre { font-family: var(--sans); font-size: .6875rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--or-texte); }
.cgc-decouvrir-titre { font-family: var(--serif); font-size: 1.15rem; line-height: 1.2; color: var(--anthracite); text-wrap: balance; }
.cgc-decouvrir-lire { font-family: var(--sans); font-size: .8125rem; color: var(--texte-doux); }
.cgc-decouvrir:hover .cgc-decouvrir-titre, .cgc-decouvrir:focus-visible .cgc-decouvrir-titre { text-decoration: underline; text-decoration-color: var(--or); text-underline-offset: .2em; }
.cgc-decouvrir:focus-visible { outline: 2px solid var(--or-texte); outline-offset: 3px; }
@media (min-width: 48em) {
	.cgc-rubrique-grille:has(> .cgc-rubrique-visuel), .cgc-rubrique-grille:has(> .cgc-rubrique-ornement), .cgc-rubrique-grille:has(> .cgc-decouvrir) { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
	.cgc-rubrique-ornement { display: grid; place-items: center; justify-self: end; width: min(100%, 17rem); aspect-ratio: 4 / 5; border: 1px solid var(--or); outline: 1px solid var(--or); outline-offset: -.6rem; background: rgba(255,255,255,.35); }
	.cgc-rubrique-ornement span { font-family: var(--serif); font-weight: 400; font-size: clamp(4.5rem, 9vw, 7.5rem); line-height: 1; letter-spacing: .04em; color: var(--or-texte); }
	.cgc-rubrique-ornement span::after { content: ""; display: block; width: 2.5rem; height: 1px; background: var(--or); margin: 1.1rem auto 0; }
	.cgc-decouvrir { justify-self: end; width: min(100%, 22rem); grid-template-columns: 1fr; gap: .9rem; padding: .9rem .9rem 1.1rem; }
	.cgc-decouvrir-cadre { height: 16rem; }
	.cgc-decouvrir-titre { font-size: 1.35rem; }
}
.cgc-rubrique-texte { padding-top: var(--espace-section); }
.cgc-rubrique-texte .cgc-texte > :first-child { margin-top: 0; }
.cgc-cartes-sous { margin-bottom: 0; }
/* Article mis en avant : premier article de la première page, pleine largeur (image + texte côte à côte si image) */
@media (min-width: 40em) {
	.cgc-cartes-articles--une > .cgc-carte-article:first-child { grid-column: 1 / -1; }
	.cgc-cartes-articles--une > .cgc-carte-article:first-child .cgc-carte-titre { font-size: clamp(1.8rem, 3.4vw, 2.5rem); }
	.cgc-cartes-articles--une > .cgc-carte-article:first-child .cgc-carte-texte { font-size: 1.0625rem; max-width: 40rem; }
}
@media (min-width: 64em) {
	.cgc-cartes-articles--une > .cgc-carte-article--image:first-child { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 2.5rem; align-items: center; }
	.cgc-cartes-articles--une > .cgc-carte-article--image:first-child .cgc-carte-image { margin-bottom: 0; }
}
/* Dans une rubrique, le surtitre des cartes (nom de la rubrique) serait redondant */
.cgc-rubrique-articles .cgc-carte-article .cgc-surtitre { display: none; }
/* Pagination SPIP */
/* ---------- Rubriques : « Articles et guides » en une de journal (formats A à E, voir cgc_une_carte) ---------- */
.cgc-une { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2.25rem 2.5rem; margin-top: 2rem; }
.cgc-une-item { position: relative; min-width: 0; border-top: 1px solid var(--anthracite); padding-top: 1.1rem; }
.cgc-une-corps { min-width: 0; }
.cgc-une-titre { font-family: var(--serif); font-weight: 400; line-height: 1.15; margin: 0 0 .6rem; text-wrap: balance; -webkit-hyphens: manual; hyphens: manual; }
.cgc-une-titre a { text-decoration: none; }
.cgc-une-titre a:hover, .cgc-une-titre a:focus-visible { color: var(--or-texte); }
.cgc-une-item:focus-within { outline: 2px solid var(--or-texte); outline-offset: 6px; }
.cgc-une-titre a:focus-visible { outline: none; }
.cgc-une-resume { color: var(--texte-doux); font-size: .9688rem; line-height: 1.6; margin: 0; }
.cgc-une-surtitre { font-family: var(--sans); font-size: .6875rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--or-texte); margin: 0 0 .7rem; }
.cgc-une-lire { font-family: var(--sans); font-size: .8125rem; color: var(--texte-doux); margin: .9rem 0 0; }
/* Images : proportions d'origine, entières (aucun recadrage), hauteur plafonnée selon le format, sur le fond crème avec un filet fin */
.cgc-une-image { margin: 0 0 1rem; display: flex; flex-direction: column; align-items: center; }
.cgc-une-image img { display: block; box-sizing: border-box; width: auto; height: auto; max-width: 100%; max-height: 20rem; border: 1px solid var(--filet); }
.cgc-une-legende { font-size: .75rem; letter-spacing: .02em; color: var(--texte-doux); margin-top: .5rem; text-align: center; }
/* A — grand reportage */
.cgc-une--a { border-top: 3px double var(--anthracite); padding-top: 1.5rem; }
.cgc-une--a .cgc-une-titre { font-size: clamp(1.9rem, 4.2vw, 2.9rem); line-height: 1.08; }
.cgc-une--a .cgc-une-resume { font-size: 1.0625rem; color: var(--anthracite); max-width: 38rem; }
.cgc-une--a .cgc-une-image { margin: 1.25rem 0 0; }
.cgc-une--a .cgc-une-image img { max-height: 26rem; }
/* B — article illustré ; C — brève ; D — archive à l'honneur ; E — chronique */
.cgc-une--b .cgc-une-titre { font-size: clamp(1.4rem, 2.3vw, 1.7rem); }
.cgc-une--c .cgc-une-titre { font-size: 1.3rem; }
.cgc-une--c .cgc-une-resume { font-size: .9063rem; }
.cgc-une--d .cgc-une-titre { font-size: 1.3rem; }
.cgc-une--d .cgc-une-image img { max-height: 24rem; }
.cgc-une--d .cgc-une-resume { font-size: .9063rem; }
.cgc-une--e .cgc-une-titre { font-size: clamp(1.45rem, 2.4vw, 1.75rem); font-style: italic; }
/* Grand reportage en colonne large (rubrique de deux articles) : texte puis image, image plafonnée */
.cgc-une--a.cgc-une--s7 .cgc-une-image img { max-height: 22rem; }
/* E — chronique avec petite illustration (à côté d'une archive illustrée) : vignette flottante à droite, texte sur une colonne */
.cgc-une--e.cgc-une--image { display: flow-root; }
.cgc-une--e.cgc-une--image .cgc-une-image { float: right; max-width: 42%; margin: .2rem 0 .75rem 1.25rem; }
.cgc-une--e.cgc-une--image .cgc-une-image img { max-height: 11rem; }
.cgc-une--e.cgc-une--image .cgc-une-resume { columns: auto !important; }
@media (min-width: 40em) {
	.cgc-une { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cgc-une--s12 { grid-column: 1 / -1; }
	/* article seul en fin de liste, illustré : image et texte côte à côte */
	.cgc-une--s12.cgc-une--b.cgc-une--image { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 2rem; align-items: center; }
	.cgc-une--s12.cgc-une--b .cgc-une-image { margin: 0; }
}
@media (min-width: 48em) {
	.cgc-une--a.cgc-une--s12.cgc-une--image { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 2.5rem; align-items: center; }
	.cgc-une--a.cgc-une--s12.cgc-une--image .cgc-une-image { margin: 0; }
	.cgc-une--a.cgc-une--s12.cgc-une--texte .cgc-une-resume { columns: 2 16rem; column-gap: 2.5rem; max-width: none; }
}
@media (min-width: 64em) {
	.cgc-une { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2.75rem 0; }
	.cgc-une--s7 { grid-column: span 7; }
	.cgc-une--s5 { grid-column: span 5; }
	/* filet vertical entre les deux colonnes d'une rangée, comme dans un journal */
	.cgc-une--s7 + .cgc-une--s5, .cgc-une--s5 + .cgc-une--s7 { margin-left: 1.25rem; padding-left: 1.25rem; border-left: 1px solid var(--filet); }
	.cgc-une--s7:has(+ .cgc-une--s5), .cgc-une--s5:has(+ .cgc-une--s7) { margin-right: 1.25rem; }
	.cgc-une--e .cgc-une-resume { columns: 2 14rem; column-gap: 2rem; }
	/* deux articles (7/5) : image du reportage un peu plus basse, celle de l'article voisin plus haute, colonnes de hauteurs plus proches */
	.cgc-une--a.cgc-une--s7 .cgc-une-image img { max-height: 17rem; }
	.cgc-une--a.cgc-une--s7 + .cgc-une--s5 .cgc-une-image img { max-height: 26rem; }
}
.cgc-pagination { margin-top: 3rem; display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem; font-size: .9375rem; }
.cgc-pagination .pagination-items, .cgc-pagination ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; justify-content: center; }
.cgc-pagination a, .cgc-pagination .on, .cgc-pagination strong { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 .75rem; border: 1px solid var(--filet); text-decoration: none; }
.cgc-pagination a:hover { border-color: var(--or); background: var(--blanc); }
.cgc-pagination .on, .cgc-pagination strong { background: var(--anthracite); border-color: var(--anthracite); color: var(--ivoire); }
.cgc-pagination .sep, .cgc-pagination .disabled { display: none; }

/* ---------- Article ---------- */
.cgc-article-entete { text-align: center; padding-block: clamp(2rem, 6vw, 4.5rem) clamp(1.5rem, 3vw, 2.5rem); }
.cgc-article-entete .cgc-titre-page { margin-inline: auto; max-width: 20ch; }
.cgc-soustitre { font-family: var(--serif); font-style: italic; font-size: clamp(1.2rem, 2.2vw, 1.45rem); color: var(--texte-doux); }
.cgc-meta { margin-top: 1.75rem; padding-top: 1.25rem; border-top: 1px solid var(--filet); font-size: .875rem; color: var(--texte-doux); }
.cgc-meta p { margin: .2rem 0; }
.cgc-signature { color: var(--anthracite); }
.cgc-signature-maison { font-variant: small-caps; letter-spacing: .04em; }
.cgc-sep { margin: 0 .4rem; color: var(--or); }
.cgc-article-visuel { margin: 0 auto clamp(2rem, 5vw, 3.5rem); }
.cgc-article-visuel img { width: 100%; }

.cgc-article-corps { display: grid; gap: 2rem; padding-bottom: var(--espace-section); }
.cgc-article-contenu { max-width: var(--largeur-lecture); width: 100%; margin-inline: auto; min-width: 0; }
@media (min-width: 72em) {
	.cgc-article-corps { grid-template-columns: 15rem minmax(0, var(--largeur-lecture)) 15rem; justify-content: center; gap: 3.5rem; }
	.cgc-article-aside { grid-column: 1; }
	.cgc-article-contenu { grid-column: 2; margin: 0; }
	.cgc-sommaire { position: sticky; top: 1.5rem; }
}
.cgc-article-aside:empty { display: none; }

/* Sommaire automatique */
.cgc-sommaire { border-top: 1px solid var(--anthracite); padding-top: 1rem; font-size: .875rem; }
.cgc-sommaire-titre { font-size: .75rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--or-texte); margin-bottom: .75rem; }
.cgc-sommaire ol { margin: 0; padding: 0; list-style: none; counter-reset: s; }
.cgc-sommaire li { counter-increment: s; display: flex; gap: .6rem; padding: .4rem 0; border-bottom: 1px solid var(--filet); line-height: 1.4; }
.cgc-sommaire li::before { content: counter(s, upper-roman) "."; font-family: var(--serif); font-style: italic; color: var(--or-texte); min-width: 1.75rem; }
.cgc-sommaire a { text-decoration: none; }
.cgc-sommaire a:hover { text-decoration: underline; }

/* Texte courant : lisibilité */
.cgc-article-contenu > .cgc-chapo { margin-bottom: 2.25rem; padding-bottom: 2rem; border-bottom: 1px solid var(--filet); }
.cgc-texte { font-size: 1.125rem; line-height: 1.75; hyphens: auto; overflow-wrap: break-word; }
:lang(zh) .cgc-texte, :lang(ja) .cgc-texte, :lang(ko) .cgc-texte { line-height: 1.95; hyphens: none; }
.cgc-texte h2 { font-size: clamp(1.75rem, 3.2vw, 2.25rem); margin: 2.75rem 0 1rem; scroll-margin-top: 1.5rem; }
.cgc-texte h3 { font-size: 1.5rem; margin: 2rem 0 .75rem; }
.cgc-texte ul, .cgc-texte ol { padding-inline-start: 1.4rem; margin: 0 0 1.2em; }
.cgc-texte li { margin-bottom: .35em; }
.cgc-texte li::marker { color: var(--or-texte); }
.cgc-texte a { color: var(--or-texte); }
.cgc-texte a:hover { color: var(--anthracite); }
.cgc-texte hr { border: 0; height: 1px; background: var(--filet); margin: 2.5rem 0; }

/* Citations */
.cgc-texte blockquote { margin: 2.5rem 0; padding: .25rem 0 .25rem 1.75rem; border-inline-start: 2px solid var(--or); font-family: var(--serif); font-size: clamp(1.4rem, 2.6vw, 1.7rem); line-height: 1.4; font-style: italic; }
:lang(zh) .cgc-texte blockquote, :lang(ja) .cgc-texte blockquote, :lang(ko) .cgc-texte blockquote { font-style: normal; }
.cgc-texte blockquote p:last-child { margin-bottom: 0; }

/* Encadré documentaire : <div class="cgc-encadre"> … </div> dans le texte */
.cgc-encadre { background: var(--blanc); border: 1px solid var(--filet); border-top: 2px solid var(--or); padding: 1.5rem 1.75rem; margin: 2.5rem 0; font-size: 1rem; line-height: 1.65; }
.cgc-encadre > :first-child { margin-top: 0; }
.cgc-encadre > :last-child { margin-bottom: 0; }
.cgc-encadre h3, .cgc-encadre strong:first-child { font-family: var(--sans); font-size: .75rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--or-texte); }

/* Images et documents SPIP : légende et crédits */
.cgc-texte .spip_documents, .cgc-texte .spip_document { margin: 2.5rem 0; }
.cgc-texte .spip_doc_inner { margin: 0; }
.cgc-texte .spip_documents_center .spip_doc_img, .cgc-texte .spip_doc_img { margin-inline: auto; }
.cgc-texte .spip_doc_legende { font-size: .875rem; line-height: 1.5; color: var(--texte-doux); margin-top: .75rem; padding-top: .6rem; border-top: 1px solid var(--filet); }
.cgc-texte .spip_doc_titre { font-family: var(--serif); font-size: 1.1rem; color: var(--anthracite); -webkit-hyphens: manual; hyphens: manual; text-wrap: balance; }
.cgc-texte .spip_doc_credits { font-size: .75rem; letter-spacing: .04em; margin-top: .3rem; }
/* Pas de « © » automatique : les crédits sont rédigés en entier dans SPIP (droits parfois à vérifier) */
.cgc-texte .spip_doc_inner img { display: block; max-width: 100%; height: auto; margin-inline: auto; background: var(--pierre); }
/* Images verticales (archives, façades) : plus étroites et centrées, légende alignée sur l'image */
.cgc-texte .spip_document:has(img.cgc-portrait) { max-width: 30rem; margin-inline: auto; }
/* Photographies insérées : passe-partout blanc à filet fin, comme un tirage d'archive ; clic = image en grand */
.cgc-texte .spip_document_image .spip_doc_inner img { box-sizing: border-box; padding: .45rem; background: var(--blanc); border: 1px solid var(--filet); box-shadow: 0 18px 40px -28px rgba(38,38,38,.45); }
.cgc-texte .spip_document_image .spip_doc_lien { display: block; cursor: zoom-in; }
.cgc-texte .spip_document_image .spip_doc_lien:focus-visible { outline: 2px solid var(--or-texte); outline-offset: 3px; }
@media (min-width: 48em) { .cgc-texte .spip_documents, .cgc-texte .spip_document { margin-block: 3rem; } }
/* Illustrations réservées (modèle cgc_illustration) : introduction rapprochée de l'image ; repère visible seulement en prévisualisation */
.cgc-texte .cgc-illustration { margin: 2.5rem 0; }
.cgc-texte .cgc-illustration-intro { margin-bottom: 0; }
.cgc-texte .cgc-illustration .spip_document { margin-top: 1.25rem; margin-bottom: 0; }
.cgc-texte .cgc-illustration-attente { margin: 2rem 0; padding: 1rem 1.25rem; border: 1px dashed var(--or); background: var(--blanc); font-family: var(--sans); font-size: .875rem; line-height: 1.55; color: var(--texte-doux); }
.cgc-texte .cgc-illustration-attente strong { display: block; margin-bottom: .4rem; font-size: .75rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--or-texte); }
@media (min-width: 48em) {
	.cgc-texte .spip_documents_left { float: left; max-width: 45%; margin: .3rem 2rem 1rem 0; }
	.cgc-texte .spip_documents_right { float: right; max-width: 45%; margin: .3rem 0 1rem 2rem; }
}

/* Sources et notes */
.cgc-titre-annexe { font-family: var(--sans); font-size: .75rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--or-texte); }
.cgc-sources, .cgc-notes { clear: both; margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--anthracite); font-size: .9375rem; line-height: 1.6; color: var(--texte-doux); }
.cgc-sources ul, .cgc-sources ol { padding-inline-start: 1.2rem; }
.cgc-sources a, .cgc-notes a { color: var(--or-texte); overflow-wrap: anywhere; }
.cgc-notes p { margin-bottom: .6em; }
.spip_note_ref, .spip_note { font-size: .75em; vertical-align: super; line-height: 0; text-decoration: none; }

/* À lire aussi, autres univers */
.cgc-associes { background: var(--blanc); padding-block: var(--espace-section); border-top: 1px solid var(--filet); }
.cgc-autres-univers ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 1rem 2.25rem; }
.cgc-autres-univers { padding-bottom: var(--espace-section); }

/* ---------- Pied de page ---------- */
.cgc-pied { background: var(--anthracite); color: var(--pierre); margin-top: 0; font-size: .9375rem; }
.cgc-pied a { color: var(--ivoire); text-decoration-color: rgba(168,137,80,.6); }
.cgc-pied a:hover { color: var(--or); }
.cgc-pied :focus-visible { outline-color: var(--ivoire); }
.cgc-pied-grille { display: grid; gap: 2.5rem; padding-block: clamp(3rem, 7vw, 5rem); grid-template-columns: 1fr; }
@media (min-width: 40em) { .cgc-pied-grille { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 64em) { .cgc-pied-grille { grid-template-columns: 1.4fr 1fr 1fr 1.2fr; } }
.cgc-pied-nom { font-family: var(--serif); font-size: 1.75rem; line-height: 1.15; color: var(--ivoire); margin-bottom: .75rem; }
.cgc-pied-titre { font-family: var(--sans); font-size: .75rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--or); margin-bottom: 1rem; }
.cgc-pied ul { list-style: none; margin: 0; padding: 0; }
.cgc-pied li { margin-bottom: .45rem; }
.cgc-pied li a, .cgc-pied-reseaux a { text-decoration: none; }
.cgc-pied li a:hover, .cgc-pied-reseaux a:hover { text-decoration: underline; }
.cgc-pied-reseaux { display: flex; flex-wrap: wrap; gap: .4rem 1.1rem; margin-top: 1rem; }
.cgc-pied-bas { border-top: 1px solid rgba(232,223,208,.18); padding-block: 1.5rem; font-size: .8125rem; }
.cgc-pied-bas p { margin: .3rem 0; }
.cgc-sante { font-weight: 600; color: var(--ivoire); }
.cgc-lien-bouton { background: none; border: 0; padding: 0; font: inherit; color: inherit; text-decoration: underline; text-decoration-color: rgba(168,137,80,.6); text-underline-offset: .2em; cursor: pointer; }
.cgc-lien-bouton:hover { color: var(--or); }

/* ---------- Page de choix de langue, 404 ---------- */
.cgc-choix-langue { padding-block: clamp(2.5rem, 6vw, 4rem) var(--espace-section); }
.cgc-choix-langue .cgc-langues ul, .cgc-erreur .cgc-langues ul { display: grid; grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); gap: 1px; background: var(--filet); border: 1px solid var(--filet); }
.cgc-choix-langue .cgc-langues li, .cgc-erreur .cgc-langues li { background: var(--ivoire); }
.cgc-choix-langue .cgc-langues a, .cgc-choix-langue .cgc-langues span, .cgc-erreur .cgc-langues a, .cgc-erreur .cgc-langues span { display: block; padding: 1.1rem 1rem; text-align: center; font-family: var(--serif); font-size: 1.35rem; text-decoration: none; }
.cgc-choix-langue .cgc-langues a:hover, .cgc-erreur .cgc-langues a:hover { background: var(--blanc); color: var(--anthracite); }
.cgc-choix-langue .cgc-lang-repli small, .cgc-erreur .cgc-lang-repli small { display: none; }
.cgc-erreur { padding-block: clamp(3rem, 8vw, 6rem) var(--espace-section); text-align: center; }
.cgc-erreur .cgc-numero { font-size: 3rem; }

/* ---------- Bandeau de consentement (non bloquant, boutons de poids égal) ---------- */
.cgc-bouton { min-width: 8.5rem; min-height: 44px; padding: .55rem 1.25rem; font: 600 .8125rem/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; background: var(--anthracite); color: var(--blanc); border: 1px solid var(--anthracite); }
.cgc-bouton:hover { background: var(--or-texte); border-color: var(--or-texte); }

/* ---------- Impression ---------- */
@media print {
	.cgc-entete nav, .cgc-langue-choix, .cgc-article-aside, .cgc-associes, .cgc-autres-univers, .cgc-pied-grille, .cgc-evitement { display: none !important; }
	body { background: #fff; font-size: 11pt; }
	.cgc-texte a::after { content: " (" attr(href) ")"; font-size: .8em; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; } }

/* ---------- Vidéo verticale « Les instants de la Maison » (accueil et page de la vidéo) ----------
   Cadre 9:16 réservé avant le chargement (aucun décalage de mise en page), commandes natives du navigateur. */
.cgc-video-section { background: var(--pierre); border-block: 1px solid var(--filet); padding-block: var(--espace-section); margin-top: var(--espace-section); }
.cgc-video-grille { display: grid; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
@media (min-width: 48em) { .cgc-video-grille { grid-template-columns: minmax(16rem, 22rem) minmax(0, 1fr); } }
.cgc-video-cadre { width: 100%; max-width: 22rem; margin-inline: auto; aspect-ratio: 9 / 16; background: var(--anthracite); border: 1px solid var(--filet); box-shadow: 0 1px 0 var(--blanc), 0 18px 40px -24px rgba(38, 38, 38, .45); }
.cgc-video { display: block; width: 100%; height: 100%; object-fit: contain; background: var(--anthracite); }
.cgc-video-soustitre { margin: -.5rem 0 0; font-family: var(--serif); font-size: clamp(1.25rem, 2.4vw, 1.6rem); color: var(--or-texte); }
.cgc-video-texte .cgc-section-entete { margin-bottom: 1.75rem; }
.cgc-video-titre { font-family: var(--serif); font-weight: 500; font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.2; margin: 0 0 .75rem; }
.cgc-video-titre a { color: inherit; text-decoration: none; }
.cgc-video-titre a:hover { text-decoration: underline; text-decoration-color: var(--or); text-underline-offset: .2em; }
.cgc-video-description { color: var(--texte-doux); max-width: 36rem; }
.cgc-video-description p { margin: 0 0 1rem; }
.cgc-transcription { max-width: 36rem; margin: 1.25rem 0; border-block: 1px solid var(--filet); padding: .5rem 0; }
.cgc-transcription summary { cursor: pointer; min-height: 2.75rem; display: flex; align-items: center; font-weight: 600; font-size: .9375rem; }
.cgc-transcription-texte { padding: .25rem 0 .75rem; color: var(--texte-doux); font-size: .9375rem; }
.cgc-transcription-texte p { margin: 0 0 .6rem; }
.cgc-video-liens { list-style: none; margin: 1.5rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.75rem; }
.cgc-video-liens a { display: inline-flex; align-items: center; min-height: 2.75rem; }
/* Page de la vidéo */
.cgc-video-article { margin-block: 0 clamp(2rem, 5vw, 3.5rem); }
.cgc-video-article .cgc-video-cadre { max-width: 24rem; }
.cgc-video-legende { max-width: 24rem; margin: .9rem auto 0; font-size: .875rem; color: var(--texte-doux); text-align: center; }
.cgc-video-legende span { display: block; }
.cgc-video-credits { margin-top: .3rem; font-size: .8125rem; font-style: italic; }
.cgc-article-lie { margin: 2rem 0 0; padding-top: 1.25rem; border-top: 1px solid var(--filet); display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem 1rem; }
.cgc-article-lie .cgc-surtitre { margin: 0; }
.cgc-article-lie .cgc-lien-fleche { text-transform: none; letter-spacing: 0; font-size: 1rem; min-height: 2.75rem; display: inline-flex; align-items: center; }
.cgc-video-instagram { margin: 1rem 0 0; text-align: center; }
.cgc-video-instagram a { display: inline-flex; align-items: center; min-height: 2.75rem; }
/* Formats d'origine (18/10/2026) : le ratio exact est porté par l'attribut style (aspect-ratio largeur / hauteur) ; aucun recadrage */
.cgc-video-cadre { position: relative; }
.cgc-video-cadre--carre { max-width: 26rem; }
.cgc-video-cadre--paysage { max-width: none; }
@media (min-width: 48em) { .cgc-video-section--paysage .cgc-video-grille { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); } }
.cgc-video-article .cgc-video-cadre--carre { max-width: 30rem; }
.cgc-video-article .cgc-video-cadre--paysage { max-width: 52rem; }
.cgc-video-article .cgc-video-cadre--paysage ~ .cgc-video-legende { max-width: 52rem; }
/* Bouton de lecture superposé à la miniature (accueil) : affiché seulement si le script est actif, masqué dès la lecture */
.cgc-video-lire { position: absolute; inset: 0; margin: auto; width: 4.5rem; height: 4.5rem; padding: 0; border: 1px solid var(--or); border-radius: 50%; background: rgba(38, 38, 38, .72); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background-color .2s ease, transform .2s ease; }
.cgc-video-lire[hidden] { display: none; }
.cgc-video-lire span { display: block; width: 0; height: 0; margin-left: .3rem; border-style: solid; border-width: .8rem 0 .8rem 1.35rem; border-color: transparent transparent transparent var(--ivoire, #F7F3EB); }
.cgc-video-lire:hover { background: rgba(38, 38, 38, .88); }
.cgc-video-lire:focus-visible { outline: 3px solid var(--or); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .cgc-video-lire { transition: none; } }

/* ---------- Pages de film (étape 2, 18/10/2026) : page de lecture, lecteur natif au format du film ---------- */
.cgc-film .cgc-video-cadre--paysage { max-width: 64rem; }
.cgc-film .cgc-video-cadre--paysage ~ .cgc-video-legende { max-width: 64rem; }
.cgc-film-meta { max-width: 64rem; margin: .9rem auto 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .5rem 1.75rem; font-size: .9375rem; color: var(--texte-doux); }
.cgc-film-meta .cgc-lien-fleche { display: inline-flex; align-items: center; min-height: 2.75rem; }
.cgc-chapitres { margin: 0 0 2.5rem; padding: 1.25rem 0 .5rem; border-block: 1px solid var(--filet); }
.cgc-chapitres .cgc-titre-annexe { margin-top: 0; }
.cgc-chapitres-liste { list-style: none; margin: 0; padding: 0; counter-reset: chapitre; }
.cgc-chapitres-liste li { border-top: 1px solid var(--filet); }
.cgc-chapitres-liste li:first-child { border-top: 0; }
.cgc-chapitre { display: flex; align-items: baseline; gap: 1rem; width: 100%; min-height: 2.75rem; padding: .55rem 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.cgc-chapitre-repere { flex: 0 0 4.5rem; font-family: var(--serif); font-size: 1.05rem; color: var(--or-texte); font-variant-numeric: tabular-nums; }
.cgc-chapitre-titre { flex: 1 1 auto; }
.cgc-chapitre:hover .cgc-chapitre-titre { text-decoration: underline; text-decoration-color: var(--or); text-underline-offset: .2em; }
.cgc-chapitre:focus-visible { outline: 3px solid var(--or); outline-offset: 2px; }
.cgc-chapitre[aria-current="true"] .cgc-chapitre-titre { font-weight: 600; }
.cgc-film-transcription { margin-top: 2.5rem; }
.cgc-film-transcription .cgc-transcription { max-width: none; }
.cgc-film-temoignages { margin-top: 2.5rem; }
.cgc-film-temoignages ul { list-style: none; margin: 0; padding: 0; }
.cgc-film-temoignages a { display: inline-flex; align-items: center; min-height: 2.75rem; text-transform: none; letter-spacing: 0; font-size: 1rem; }

/* ---------- Dossier « Films et témoignages » et galerie d'extraits (étape 3, 18/10/2026) ---------- */
.cgc-films-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: clamp(2rem, 5vw, 3.5rem); }
.cgc-film-carte { display: grid; gap: 1.25rem 2.5rem; align-items: center; border-top: 1px solid var(--filet); padding-top: clamp(1.5rem, 4vw, 2.5rem); }
.cgc-film-carte:first-child { border-top: 0; padding-top: 0; }
@media (min-width: 48em) { .cgc-film-carte { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } }
.cgc-film-carte-image img { display: block; width: 100%; height: auto; border: 1px solid var(--filet); }
.cgc-film-carte-titre { font-family: var(--serif); font-weight: 500; font-size: clamp(1.5rem, 3vw, 2.1rem); line-height: 1.2; margin: 0 0 .75rem; }
.cgc-film-carte-titre a { color: inherit; text-decoration: none; }
.cgc-film-carte-titre a:hover { text-decoration: underline; text-decoration-color: var(--or); text-underline-offset: .2em; }
.cgc-film-carte-texte p { color: var(--texte-doux); margin: 0 0 1rem; }
.cgc-film-carte-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.5rem; font-size: .9375rem; }
.cgc-film-carte-meta .cgc-lien-fleche { display: inline-flex; align-items: center; min-height: 2.75rem; }
.cgc-galerie { list-style: none; margin: 0; padding: 0; display: grid; gap: clamp(1.5rem, 3vw, 2.5rem); grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); align-items: start; }
@media (min-width: 48em) { .cgc-extrait--paysage { grid-column: span 2; } }
.cgc-extrait figure { margin: 0; }
.cgc-extrait .cgc-video-cadre { max-width: none; margin: 0; }
.cgc-extrait figcaption { margin-top: .9rem; }
.cgc-extrait-titre { font-family: var(--serif); font-weight: 500; font-size: 1.25rem; line-height: 1.25; margin: 0 0 .4rem; }
.cgc-extrait-titre a { color: inherit; text-decoration: none; }
.cgc-extrait-titre a:hover { text-decoration: underline; text-decoration-color: var(--or); text-underline-offset: .2em; }
.cgc-extrait-legende { margin: 0 0 .4rem; font-size: .9375rem; color: var(--texte-doux); }
.cgc-extrait .cgc-video-credits { margin: 0 0 .4rem; }
.cgc-extrait-liens { display: flex; flex-wrap: wrap; gap: 0 1.25rem; margin: .25rem 0 0; }
.cgc-extrait-liens .cgc-lien-fleche { display: inline-flex; align-items: center; min-height: 2.75rem; }
.cgc-dossier-liens { list-style: none; margin: 0 0 1.5rem; padding: 0; }
.cgc-dossier-liens li { border-top: 1px solid var(--filet); padding: .75rem 0; display: flex; flex-direction: column; gap: .2rem; }
.cgc-dossier-liens li:first-child { border-top: 0; }
.cgc-dossier-liens .cgc-surtitre { margin: 0; }
.cgc-dossier-liens a { font-family: var(--serif); font-size: 1.2rem; color: inherit; }
.cgc-dossier-plus-loin .cgc-lien-fleche { display: inline-flex; align-items: center; min-height: 2.75rem; }

/* ---------- Séries de vidéos « Histoires de Francine » (étape 4, 18/10/2026) ---------- */
/* Lecteur vertical : hauteur plafonnée à 70 % de l'écran (petits téléphones), largeur déduite du format 9:16 */
.cgc-video-article--plafond .cgc-video-cadre--portrait { width: min(100%, calc(70vh * 9 / 16)); width: min(100%, calc(70svh * 9 / 16)); }
.cgc-extrait--portrait .cgc-video-cadre { width: min(100%, calc(70vh * 9 / 16)); width: min(100%, calc(70svh * 9 / 16)); margin-inline: auto; }
.cgc-serie { margin: 0 auto clamp(2rem, 5vw, 3rem); padding: 1.25rem 0 .75rem; border-block: 1px solid var(--filet); }
.cgc-serie-nom { margin: 0 0 .75rem; font-family: var(--serif); font-size: clamp(1.35rem, 3vw, 1.6rem); line-height: 1.2; }
.cgc-serie-nom .cgc-surtitre { display: block; margin: 0 0 .3rem; }
.cgc-serie-nom a { color: inherit; text-decoration-color: var(--or); text-underline-offset: .2em; }
.cgc-serie-liste { list-style: none; margin: 0 0 .75rem; padding: 0; }
.cgc-serie-liste li { border-top: 1px solid var(--filet); }
.cgc-serie-liste li:first-child { border-top: 0; }
.cgc-serie-liste a, .cgc-serie-liste span { display: flex; align-items: center; min-height: 2.75rem; padding: .5rem 0; line-height: 1.35; }
.cgc-serie-liste a { color: inherit; text-decoration: underline; text-decoration-color: var(--or); text-underline-offset: .2em; }
.cgc-serie-liste li[aria-current="page"] span { font-weight: 600; }
.cgc-serie-liste li[aria-current="page"] span::before { content: ""; flex: 0 0 .5rem; height: .5rem; margin-right: .6rem; border-radius: 50%; background: var(--or); }
.cgc-serie-courant { margin: 0 0 .75rem; font-weight: 600; }
.cgc-serie-youtube { margin: 0 0 .5rem; font-size: .9375rem; color: var(--texte-doux); }
.cgc-serie-youtube > span:first-child { display: block; margin-bottom: .2rem; }
.cgc-serie-lien-youtube { display: inline-flex; align-items: center; min-height: 2.75rem; }
.cgc-serie-duree { font-size: .875rem; color: var(--texte-doux); white-space: nowrap; }
.cgc-serie-collection { margin: 0; }
.cgc-serie-collection .cgc-lien-fleche { display: inline-flex; align-items: center; min-height: 2.75rem; }
.cgc-serie-presentation { max-width: var(--largeur-lecture); margin: -.5rem 0 2rem; color: var(--texte-doux); }
.cgc-extrait-youtube { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0 .4rem; }

/* Encart de découverte d'un produit (fin d'article, 20/10/2026) */
.cgc-encart-produit { display: flex; align-items: center; gap: 1.5rem; margin: 2.5rem 0 0; padding: 1.25rem 1.5rem; border-top: 1px solid var(--filet); border-bottom: 1px solid var(--filet); }
.cgc-encart-produit-visuel { flex: 0 0 11rem; }
.cgc-encart-produit-image { display: block; width: 100%; height: auto; }
.cgc-encart-produit-texte p { margin: 0 0 .75rem; }
.cgc-encart-produit-texte p:last-child { margin-bottom: 0; }
.cgc-encart-produit-legende { font-size: .9375rem; color: var(--or-texte); }
@media (max-width: 47.99em) {
	.cgc-encart-produit { flex-direction: column; align-items: flex-start; gap: 1rem; padding: 1rem 0; }
	.cgc-encart-produit-visuel { flex-basis: auto; width: 9rem; }
}

/* Photo principale verticale en tête d'article (20/10/2026) : taille naturelle, centrée, jamais agrandie */
.cgc-article-visuel img.cgc-visuel-portrait { width: auto; max-width: min(100%, 30rem); height: auto; margin-inline: auto; display: block; }

/* Lien boutique discret sous une photo de produit dans un article (20/10/2026) */
.cgc-texte .cgc-lien-produit { text-align: center; margin: -.5rem 0 2rem; }

/* Confidentialité et préférences (page des mentions légales, 19/10/2026) */
.cgc-preferences { margin-top: 3rem; padding-top: .5rem; border-top: 1px solid var(--filet); }
.cgc-pref-langues { display: flex; flex-wrap: wrap; gap: .35rem .9rem; margin: 1rem 0 0; font-size: .875rem; }
.cgc-pref-langues[hidden] { display: none; }
.cgc-pref-langues-libelle { color: var(--or-texte); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; font-size: .75rem; }
.cgc-pref-langues [aria-pressed="true"] { text-decoration: none; font-weight: 600; }
.cgc-pref-contenu .cgc-titre-annexe { margin-top: 1.25rem; }

/* Accueil — « Un Cognac de notre Maison à découvrir » (20/10/2026)
   Mobile : titre et introduction en haut, bouteille à côté du nom et de la présentation, liens en bas.
   Ordinateur : bouteille à gauche, tout le texte à droite. */
.cgc-cognac-grille { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); grid-template-areas: "entete entete" "visuel nom" "visuel presentation" "liens liens"; column-gap: 1.25rem; align-items: center; }
.cgc-cognac-texte { display: contents; }
.cgc-cognac .cgc-section-entete { grid-area: entete; margin-bottom: 1rem; }
.cgc-cognac-visuel { grid-area: visuel; margin: 0; display: flex; justify-content: center; align-self: center; }
.cgc-cognac-visuel { width: 100%; }
.cgc-cognac-visuel img { display: block; width: 100%; height: 13rem; object-fit: cover; object-position: center; } /* marges transparentes de l'image rognées à l'affichage, bouteille entière */
.cgc-cognac-nom { grid-area: nom; align-self: end; font-family: var(--serif); font-weight: 500; font-size: clamp(1.25rem, 2.2vw, 1.625rem); line-height: 1.25; margin: 0 0 .5rem; }
.cgc-cognac-presentation { grid-area: presentation; align-self: start; color: var(--texte-doux); max-width: 34rem; margin: 0; }
.cgc-cognac-liens { grid-area: liens; display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.75rem; margin: 1.25rem 0 0; }
.cgc-cognac-langue { text-transform: none; letter-spacing: 0; font-weight: 400; }
@media (min-width: 48em) {
	.cgc-cognac-grille { grid-template-columns: minmax(10rem, 16rem) minmax(0, 1fr); grid-template-areas: "visuel entete" "visuel nom" "visuel presentation" "visuel liens"; column-gap: clamp(2rem, 5vw, 4rem); align-content: center; }
	.cgc-cognac .cgc-section-entete { align-self: end; margin-bottom: 1.5rem; }
	.cgc-cognac-visuel img { height: 26rem; }
	.cgc-cognac-presentation { font-size: 1.0625rem; }
	.cgc-cognac-liens { align-self: start; margin-top: 1.75rem; }
}

/* Un Cognac à découvrir : section mise en valeur (fond pierre comme la vidéo, bouteille agrandie) — 20/10/2026 */
.cgc-cognac { background: var(--pierre); border-block: 1px solid var(--filet); padding-block: var(--espace-section); margin-top: var(--espace-section); }
.cgc-cognac .cgc-surtitre { margin-bottom: .6rem; }
.cgc-cognac-grille { grid-template-columns: 6.5rem minmax(0, 1fr); }
.cgc-cognac-visuel img { height: 15rem; }
@media (min-width: 48em) {
	.cgc-cognac-grille { grid-template-columns: minmax(12rem, 20rem) minmax(0, 1fr); }
	.cgc-cognac-visuel img { height: 32rem; }
}

/* Visites de la Maison (27/10/2026) */
.cgc-visite-encart { padding: 2rem 1.5rem; border-top: 1px solid var(--or-texte); border-bottom: 1px solid var(--or-texte); text-align: center; }
.cgc-visite-encart .cgc-section-titre { margin-top: .25rem; }
.cgc-visite-rubrique { margin-top: 2rem; margin-bottom: 1rem; }
.cgc-visite-rubrique-titre { font-size: 1.25rem; margin: .25rem 0 .5rem; }
.cgc-visite-rencontre { margin-top: 2.5rem; margin-bottom: 1rem; padding-top: 1.5rem; border-top: 1px solid var(--or-texte); }
.cgc-visite-note { font-size: .8125rem; opacity: .8; }
.cgc-visite-fixe { display: none; }
@media (max-width: 47.99em) {
	.cgc-visite-fixe { display: block; position: sticky; bottom: 0; z-index: 5; margin: 0; padding: .75rem 1rem; background: var(--ivoire); box-shadow: 0 -1px 0 rgba(0,0,0,.08); text-align: center; }
	.cgc-visite-fixe .cgc-bouton-principal { width: 100%; justify-content: center; }
}
.cgc-a-confirmer { margin: 1.25rem 0; padding: .9rem 1.1rem; border: 2px dashed #b8860b; background: #fff8e1; color: #5a4300; font-size: .9375rem; }
.cgc-a-confirmer::before { content: "BROUILLON · "; font-weight: 700; letter-spacing: .05em; }
.cgc-visite-encart .cgc-section-titre::after { margin-left: auto; margin-right: auto; }

/* ---------- Bandeau d'accueil en trois colonnes (maquette du 28/10/2026) ----------
   Présentation du Cognac 35 % · photographie des dames-jeannes 35 % · encart des visites 30 %.
   Uniquement les variables de la charte (ivoire, pierre, anthracite, or, serif, sans). */
.cgc-hero-accueil.cgc-bandeau3 { background: var(--ivoire); padding-block: clamp(2rem, 4.5vw, 4rem); }
.cgc-bandeau3-grille { display: grid; gap: clamp(1.75rem, 3vw, 2.75rem); align-items: start; }
.cgc-bandeau3-texte { max-width: 34rem; }
.cgc-bandeau3-titre { font-size: clamp(2.2rem, 7vw, 2.9rem); font-weight: 500; line-height: 1.08; margin: 0 0 1.1rem; text-wrap: balance; }
:lang(zh) .cgc-bandeau3-titre, :lang(ja) .cgc-bandeau3-titre, :lang(ko) .cgc-bandeau3-titre { font-size: clamp(1.8rem, 5vw, 2.4rem); line-height: 1.3; }
.cgc-bandeau3-intro { font-size: clamp(1rem, 1.3vw, 1.1rem); line-height: 1.65; color: var(--texte-doux); margin: 0 0 1.5rem; }
.cgc-bandeau3-intro { margin-bottom: 1rem; }
.cgc-bandeau3-signature { font-size: .6875rem; font-weight: 600; letter-spacing: .1em; line-height: 1.6; text-transform: uppercase; color: var(--or-texte); margin: 0 0 1.5rem; padding-top: .8rem; border-top: 1px solid var(--filet); }
:lang(zh) .cgc-bandeau3-signature, :lang(ja) .cgc-bandeau3-signature, :lang(ko) .cgc-bandeau3-signature { letter-spacing: .03em; text-transform: none; }
.cgc-bandeau3-action { margin: 0; }
.cgc-bandeau3-photo .cgc-hero-visuel { margin: 0; }
.cgc-hero-visuel--bandeau img { aspect-ratio: 4 / 3; object-fit: cover; object-position: 48% 55%; }
.cgc-hero-visuel--bandeau .cgc-hero-legende { padding-inline: 0; }
.cgc-hero-visuel--bandeau .cgc-hero-mention { font-size: clamp(1.05rem, 1.3vw, 1.2rem); }
.cgc-bandeau3-visite { background: var(--pierre); padding: clamp(1.5rem, 2.4vw, 2.25rem); display: flex; flex-direction: column; }
.cgc-bandeau3-visite-titre { font-size: clamp(1.65rem, 2.3vw, 2.05rem); line-height: 1.12; margin: 0 0 .9rem; }
.cgc-bandeau3-visite-texte { font-size: .975rem; line-height: 1.6; color: var(--texte-doux); margin: 0 0 1.25rem; }
.cgc-bandeau3-infos { list-style: none; margin: 0 0 1.5rem; padding: 1.1rem 0 0; border-top: 1px solid var(--filet); display: grid; gap: .7rem; }
.cgc-bandeau3-infos li { display: flex; align-items: center; gap: .65rem; font-size: .9375rem; color: var(--anthracite); }
.cgc-bandeau3-infos svg { flex: 0 0 auto; color: var(--or-texte); }
.cgc-bandeau3-visite-action { margin: auto 0 0; }
.cgc-bandeau3-visite .cgc-bouton-principal { width: 100%; justify-content: center; padding-inline: 1rem; letter-spacing: .08em; text-align: center; text-wrap: balance; }
@media (min-width: 48em) {
	.cgc-bandeau3-grille { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.cgc-bandeau3-visite { grid-column: 1 / -1; }
	.cgc-bandeau3-visite .cgc-bouton-principal { width: auto; padding-inline: 1.6rem; }
	.cgc-hero-visuel--bandeau img { aspect-ratio: 1 / 1; }
}
@media (min-width: 64em) {
	.cgc-hero-accueil.cgc-bandeau3 { background: var(--ivoire); }
	.cgc-bandeau3-grille { grid-template-columns: minmax(0, 35fr) minmax(0, 35fr) minmax(0, 30fr); align-items: stretch; }
	.cgc-bandeau3--sans-visite .cgc-bandeau3-grille { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.cgc-bandeau3-texte { align-self: center; padding-block: 1rem; }
	.cgc-bandeau3-visite { grid-column: auto; }
	.cgc-bandeau3-visite .cgc-bouton-principal { width: 100%; padding-inline: 1rem; }
	.cgc-hero-visuel--bandeau img { box-shadow: 0 24px 60px -30px rgba(38,38,38,.45); }
}

/* Page « Réserver une visite » et double accès depuis l'accueil (30/10/2026) */
.cgc-bouton-secondaire { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; min-height: 48px; padding: .8rem 1.6rem; background: transparent; color: var(--anthracite); text-decoration: none; font-size: .8125rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; border: 1px solid var(--anthracite); transition: background-color .2s ease, color .2s ease; }
.cgc-bouton-secondaire:hover, .cgc-bouton-secondaire:focus-visible { background: var(--anthracite); color: var(--ivoire); }
.cgc-bandeau3-visite-action { display: grid; gap: .6rem; }
.cgc-bandeau3-visite .cgc-bouton-secondaire { width: 100%; padding-inline: 1rem; letter-spacing: .08em; text-align: center; text-wrap: balance; }
@media (min-width: 48em) and (max-width: 63.99em) {
	.cgc-bandeau3-visite-action { grid-auto-flow: column; justify-content: start; }
	.cgc-bandeau3-visite .cgc-bouton-secondaire { width: auto; padding-inline: 1.6rem; }
}
/* Accueil, colonne gauche : boutique + Découvrir le Cognac, même largeur et même écart que l'encart de droite (31/10/2026) */
.cgc-bandeau3-action { display: inline-grid; gap: .6rem; }
.cgc-bandeau3-action .cgc-bouton-principal { justify-content: center; }
.cgc-bouton-reserver { margin: 1.25rem 0 1.75rem; }
.cgc-texte .cgc-bouton-reserver a.cgc-bouton-principal { color: var(--ivoire); text-decoration: none; }
.cgc-texte .cgc-bouton-reserver a.cgc-bouton-principal:hover, .cgc-texte .cgc-bouton-reserver a.cgc-bouton-principal:focus-visible { color: var(--blanc); }
@media (max-width: 47.99em) { .cgc-bouton-reserver .cgc-bouton-principal { width: 100%; justify-content: center; } }

/* ---------- Parcours éditorial « Découvrir Cognac Michel Forgeron » (maquette du 30/10/2026) ----------
   Index de lecture par thèmes (liens texte, pas de cartes) : sans numéros d'étape, pour ne pas évoquer la visite guidée. */
.cgc-parcours { padding-block: var(--espace-section); border-top: 1px solid var(--filet); }
.cgc-parcours-themes { list-style: none; margin: 1.75rem 0 0; padding: 0; display: grid; gap: 1.25rem 2.5rem; }
@media (min-width: 48em) { .cgc-parcours-themes { grid-template-columns: repeat(2, 1fr); } }
.cgc-parcours-theme { padding-top: 1rem; border-top: 1px solid var(--or-texte); scroll-margin-top: 6rem; }
.cgc-parcours-titre { font-family: var(--serif); font-size: 1.25rem; font-weight: 500; margin: 0 0 .6rem; }
.cgc-parcours-articles { list-style: none; margin: 0; padding: 0; }
.cgc-parcours-articles li { margin: 0 0 .55rem; line-height: 1.45; }
.cgc-parcours-articles a { color: var(--anthracite); text-decoration-color: var(--or-texte); text-underline-offset: .2em; }
.cgc-parcours-rubrique { display: block; font-family: var(--sans); font-size: .75rem; letter-spacing: .04em; color: var(--texte-doux); }
.cgc-parcours-lien { margin-top: 2.5rem; margin-bottom: 0; padding-top: 1.25rem; border-top: 1px solid var(--filet); }
.cgc-parcours-lien .cgc-surtitre { display: block; margin-bottom: .4rem; }
.cgc-parcours-lien + .cgc-visite-rencontre { margin-top: 1.5rem; }

/* Variante c : parcours intégré à la rubrique Maison (maquette du 30/10/2026) */
.cgc-parcours-integre { padding-block: clamp(2rem, 5vw, 3.5rem) var(--espace-section); }
.cgc-parcours-chapeau { font-family: var(--serif); font-size: clamp(1.2rem, 2vw, 1.4rem); line-height: 1.45; max-width: var(--largeur-lecture); margin: 0 0 1.5rem; }
.cgc-parcours-sommaire { margin: 0 0 1rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--filet); }
.cgc-parcours-sommaire ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.cgc-parcours-sommaire a { font-family: var(--sans); font-size: .875rem; color: var(--anthracite); text-decoration-color: var(--or-texte); text-underline-offset: .25em; }
.cgc-parcours-chapitre { padding-top: clamp(2rem, 5vw, 3rem); scroll-margin-top: 6rem; }
.cgc-parcours-chapitre-titre { font-family: var(--serif); font-size: clamp(1.6rem, 3vw, 2.1rem); font-weight: 500; margin: 0 0 .4rem; }
.cgc-parcours-chapitre-intro { color: var(--texte-doux); max-width: var(--largeur-lecture); margin: 0 0 1.25rem; }
@media (min-width: 64em) {
	.cgc-parcours-chapitre { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); grid-template-rows: auto 1fr; gap: 0 3rem; align-items: start; border-top: 1px solid var(--filet); margin-top: clamp(2rem, 4vw, 3rem); }
	.cgc-parcours-chapitre .cgc-cartes-articles { grid-template-columns: repeat(2, 1fr); }
	.cgc-parcours-chapitre-titre { grid-column: 1; }
	.cgc-parcours-chapitre-intro { grid-column: 1; }
	.cgc-parcours-chapitre .cgc-cartes-articles { grid-column: 2; grid-row: 1 / span 2; }
}
.cgc-parcours-sommaire + .cgc-parcours-chapitre { border-top: 0; margin-top: 0; }

/* Accueil (30/10/2026) : bloc « La Maison Michel Forgeron » sous le bandeau, présentation du guide en fin de page */
.cgc-maison--haut { padding-top: calc(var(--espace-section) - clamp(2rem, 4.5vw, 4rem)); padding-bottom: 0; } /* espace visible au-dessus = espace en dessous (31/10/2026) : on retire la marge basse du bandeau */
.cgc-intro--fin { padding-block: var(--espace-section); }

/* Variante c2 : encart d'appel « Visiter la distillerie » en haut de la rubrique Maison (30/10/2026) */
.cgc-parcours-visite { background: var(--pierre); padding-block: clamp(1.75rem, 4vw, 2.75rem); border-bottom: 1px solid var(--filet); scroll-margin-top: 6rem; }
.cgc-parcours-visite-grille { display: grid; gap: 1.25rem 2.5rem; align-items: center; }
.cgc-parcours-visite-image img { display: block; width: 100%; height: auto; max-height: 15rem; object-fit: cover; }
.cgc-parcours-visite .cgc-parcours-chapitre-intro { color: var(--anthracite); }
.cgc-parcours-visite-actions { display: flex; flex-wrap: wrap; gap: .75rem 1rem; margin: 1.25rem 0 0; }
@media (max-width: 47.99em) {
	.cgc-parcours-visite-actions a { width: 100%; justify-content: center; text-align: center; }
	.cgc-parcours-visite-image img { max-height: 11rem; }
	/* sommaire des thèmes : une ligne défilante sur smartphone */
	.cgc-parcours-sommaire ul { flex-wrap: nowrap; overflow-x: auto; gap: .5rem; padding-bottom: .5rem; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
	.cgc-parcours-sommaire li { flex: 0 0 auto; }
	.cgc-parcours-sommaire a { display: inline-block; padding: .55rem .9rem; border: 1px solid var(--filet); border-radius: 999px; text-decoration: none; white-space: nowrap; background: var(--blanc); min-height: 44px; line-height: 1.6; }
}
@media (min-width: 48em) {
	.cgc-parcours-visite-grille:has(.cgc-parcours-visite-image) { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
	.cgc-parcours-visite-texte { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); column-gap: 3rem; align-items: center; }
	.cgc-parcours-visite-texte > :not(.cgc-parcours-visite-actions) { grid-column: 1; }
	.cgc-parcours-visite-actions { grid-column: 2; grid-row: 1 / span 3; flex-direction: column; align-items: stretch; margin: 0; }
	.cgc-parcours-visite-actions a { justify-content: center; }
}

/* Variante c2, smartphone seulement (30/10/2026) : sur la rubrique Maison, l'encart « Venir à Segonzac — Visiter la distillerie »
   passe entre le titre et la carte « À découvrir ». Même HTML (aucun bloc ni lien dupliqué) : seul l'ordre d'affichage change.
   Portée : <main> contenant l'encart .cgc-parcours-visite (rubrique Maison en c2 uniquement). Ordinateur inchangé. */
@media (max-width: 47.99em) {
	main:has(> .cgc-parcours-visite) { display: flex; flex-direction: column; }
	main:has(> .cgc-parcours-visite) > .cgc-rubrique-bandeau,
	main:has(> .cgc-parcours-visite) > .cgc-rubrique-bandeau > .cgc-rubrique-grille { display: contents; }
	main:has(> .cgc-parcours-visite) .cgc-rubrique-intro { order: -3; max-width: none; padding: 1.5rem var(--marge) 1.25rem; background: linear-gradient(180deg, var(--ivoire) 0%, var(--pierre) 100%); }
	main:has(> .cgc-parcours-visite) .cgc-rubrique-intro .cgc-titre-page { margin-bottom: .75rem; }
	main:has(> .cgc-parcours-visite) .cgc-rubrique-intro .cgc-titre-page::after { margin-top: .9rem; }
	main:has(> .cgc-parcours-visite) > .cgc-parcours-visite { order: -2; padding-block: 1.25rem 1.5rem; }
	main:has(> .cgc-parcours-visite) .cgc-parcours-visite .cgc-surtitre { margin-bottom: .5rem; }
	main:has(> .cgc-parcours-visite) .cgc-parcours-visite-actions { margin-top: 1rem; gap: .6rem; }
	main:has(> .cgc-parcours-visite) .cgc-decouvrir { order: -1; margin: 1.5rem var(--marge) 0; }
	/* 31/10/2026 : texte de présentation sous les boutons, encadré « Venir à Segonzac » uniquement */
	.cgc-parcours-visite .cgc-parcours-visite-actions + .cgc-parcours-chapitre-intro { margin: 1rem 0 0; }
}
