/*
Theme Name: ID Entreprises
Theme URI: https://www.identreprises.fr/
Description: Thème sur mesure d'identreprises.fr : le guichet de Thomas. Pilule de navigation flottante, portrait incliné, réponse sourcée, aiguillage par profil, bloc marine sur les sources.
Version: 1.1.3
Author: ID Entreprises
Text Domain: identreprises
*/

/* ==========================================================================
   Jetons
   Contrastes calculés (WCAG 2.2) :
   encre #0F2A3D sur blanc 14,80:1, sur brume #EEF8F6 13,67:1, sur sarcelle pâle #D7F0EC 12,1:1.
   encre secondaire #44596A sur blanc 7,28:1, sur brume 6,73:1.
   sarcelle #0B7A75 : blanc dessus 5,18:1 ; en texte sur blanc 5,18:1, sur brume 4,79:1 (jamais en texte sur sarcelle pâle : 4,3:1).
   sarcelle foncée #086661 (survol) : blanc dessus 6,6:1.
   sur le bloc marine #0F2A3D : blanc 14,80:1, #CFE3E8 11,14:1, menthe #8FE3D2 9,93:1.
   texte indicatif des champs #5D7180 sur blanc 5,2:1.
   corail #FF7A6B et ambre #F2B33D : décor seulement (trait de marqueur, pastille du nom), jamais de texte.
   Un seul accent d'action : la sarcelle.
   Gamme typographique fermée : 14 15 17 20 24 32 38 44 64 px.
   Formes : doux partout, quatre rayons et pas un de plus (12, 22, 34 px, pilule).
   ========================================================================== */
:root {
  --brume: #EEF8F6;
  --blanc: #FFFFFF;
  --encre: #0F2A3D;
  --encre2: #44596A;
  --indice: #5D7180;
  --sarcelle: #0B7A75;
  --sarcelle-f: #086661;
  --sarcelle-p: #D7F0EC;
  --corail: #FF7A6B;
  --ambre: #F2B33D;
  --menthe: #8FE3D2;
  --pale: #CFE3E8;
  --filet: #DCEBE8;
  --r-s: 12px;
  --r: 22px;
  --r-l: 34px;
  --pil: 999px;
  --ombre: 0 18px 44px -12px rgba(15, 42, 61, .22);
  --ombre-s: 0 8px 22px -8px rgba(15, 42, 61, .2);
  --ombre-l: 0 34px 70px -24px rgba(15, 42, 61, .45);
  --f-t: 'Gabarito', 'Trebuchet MS', sans-serif;
  --f-c: 'Lexend', 'Segoe UI', sans-serif;
  --t1: 14px; --t2: 15px; --t3: 17px; --t4: 20px; --t5: 24px; --t6: 32px; --t7: 38px; --t8: 44px; --t9: 64px;
  --ease: cubic-bezier(.16, 1, .3, 1);
}

/* ==========================================================================
   Base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { overflow-x: clip; max-width: 100%; -webkit-text-size-adjust: 100%; scroll-padding-top: 110px; }
body { max-width: 100%; color: var(--encre); font: 300 var(--t3)/1.65 var(--f-c); background: var(--blanc); -webkit-font-smoothing: antialiased; }
b, strong { font-weight: 600; }
a { color: inherit; text-underline-offset: .18em; text-decoration-thickness: 1px; }
img { display: block; max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; color: inherit; }
::selection { background: var(--menthe); color: var(--encre); }
:focus-visible { outline: 3px solid var(--sarcelle); outline-offset: 3px; border-radius: var(--r-s); }
html { scrollbar-color: #9DBDB8 var(--brume); }
.gt-masque { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.gt-saut { position: absolute; left: 16px; top: -60px; z-index: 300; padding: 12px 20px; background: var(--encre); color: var(--blanc); border-radius: var(--pil); text-decoration: none; font-weight: 500; }
.gt-saut:focus { top: 12px; }
.gt-sentinelle { position: absolute; top: 0; left: 0; width: 1px; height: 40px; pointer-events: none; }
.gt-ico { flex: none; }
.gt-cadre { width: min(1280px, 100% - 56px); margin-left: auto; margin-right: auto; }
.gt-colonne { width: min(900px, 100% - 56px); margin-left: auto; margin-right: auto; }
.gt-trait { background: linear-gradient(transparent 62%, rgba(255, 122, 107, .55) 62%, rgba(255, 122, 107, .55) 90%, transparent 90%); padding: 0 2px; -webkit-box-decoration-break: clone; box-decoration-break: clone; }

/* ==========================================================================
   Navigation : pilule flottante
   ========================================================================== */
.gt-haut { position: sticky; top: 14px; z-index: 50; padding: 0 28px; }
.gt-pilule { max-width: 1180px; margin: 14px auto 0; display: flex; align-items: center; gap: 18px; height: 68px; padding: 0 10px 0 18px; background: rgba(255, 255, 255, .97); border-radius: var(--pil); box-shadow: var(--ombre-s); transition: box-shadow .3s var(--ease); }
.gt-haut.gt-colle .gt-pilule { box-shadow: var(--ombre); }
.gt-logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font: 800 var(--t4)/1 var(--f-t); letter-spacing: -.01em; color: var(--encre); }
.gt-logo-ico { width: 38px; height: 38px; }
.gt-nav { margin-left: auto; }
.gt-nav ul { display: flex; align-items: center; gap: 2px; list-style: none; padding: 0; }
.gt-nav a { display: block; padding: 10px 14px; border-radius: var(--pil); text-decoration: none; font-weight: 500; font-size: var(--t2); white-space: nowrap; transition: background-color .2s; }
.gt-nav a:hover, .gt-nav a[aria-current] { background: var(--brume); }
.gt-nav a.gt-contact { background: var(--sarcelle); color: var(--blanc); padding: 12px 22px; margin-left: 8px; }
.gt-nav a.gt-contact:hover { background: var(--sarcelle-f); }
.gt-burger { display: none; margin-left: auto; width: 48px; height: 48px; border-radius: var(--pil); border: 0; background: var(--brume); color: var(--encre); cursor: pointer; place-items: center; }
.gt-tiroir { position: fixed; inset: 0; z-index: 200; background: var(--blanc); padding: 20px 24px 40px; display: flex; flex-direction: column; overflow-y: auto; }
.gt-tiroir[hidden] { display: none; }
.gt-tiroir-x { align-self: flex-end; width: 48px; height: 48px; border-radius: var(--pil); border: 0; background: var(--brume); color: var(--encre); display: grid; place-items: center; cursor: pointer; }
.gt-tiroir nav { display: flex; flex-direction: column; margin-top: 18px; }
.gt-tiroir nav a { font: 700 var(--t6)/1.3 var(--f-t); text-decoration: none; padding: 10px 0; color: var(--encre) !important; border-bottom: 1px solid var(--filet); }

/* ==========================================================================
   Accueil : ouverture
   ========================================================================== */
.gt-ouv { position: relative; margin-top: -82px; padding: 140px 0 80px; background:
  radial-gradient(900px 520px at 85% 20%, rgba(143, 227, 210, .45), transparent 70%),
  radial-gradient(700px 500px at 0% 100%, rgba(255, 122, 107, .14), transparent 70%), var(--brume); }
.gt-ouv .gt-cadre { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 64px; align-items: center; }
.gt-h1 { font: 800 var(--t9)/1.02 var(--f-t); letter-spacing: -.03em; text-wrap: balance; }
.gt-h1 em { display: block; margin-top: 12px; font-style: normal; font-weight: 700; font-size: var(--t7); line-height: 1.12; color: var(--sarcelle); letter-spacing: -.02em; }
.gt-chapo { margin-top: 24px; font-size: var(--t4); line-height: 1.6; color: var(--encre2); max-width: 30em; }
.gt-cherche { margin-top: 34px; display: flex; align-items: center; gap: 10px; background: var(--blanc); border-radius: var(--pil); padding: 8px 8px 8px 24px; box-shadow: var(--ombre); max-width: 600px; }
.gt-cherche > .gt-ico { color: var(--sarcelle); }
.gt-cherche input { flex: 1; min-width: 0; border: 0; height: 52px; font: 400 var(--t3) var(--f-c); color: var(--encre); background: none; -webkit-appearance: none; appearance: none; }
.gt-cherche input::placeholder { color: var(--indice); opacity: 1; }
.gt-cherche input:focus { outline: none; }
.gt-cherche:focus-within { box-shadow: var(--ombre), 0 0 0 3px var(--sarcelle); }
.gt-cherche button { height: 52px; padding: 0 26px; border: 0; border-radius: var(--pil); background: var(--sarcelle); color: var(--blanc); font: 600 var(--t3) var(--f-c); cursor: pointer; transition: background-color .2s; }
.gt-cherche button:hover { background: var(--sarcelle-f); }
.gt-confiance { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; }
.gt-confiance li { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; background: var(--blanc); border-radius: var(--pil); font-size: var(--t1); font-weight: 500; box-shadow: var(--ombre-s); }
.gt-confiance .gt-ico { color: var(--sarcelle); }

.gt-photo { position: relative; justify-self: end; width: min(470px, 100%); }
.gt-cadre-photo { border-radius: var(--r-l); overflow: hidden; border: 10px solid var(--blanc); box-shadow: var(--ombre-l); transform: rotate(2.5deg); aspect-ratio: 4 / 5; background: var(--sarcelle-p); }
.gt-cadre-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.gt-nom { position: absolute; right: -20px; top: 36px; display: flex; align-items: center; gap: 12px; padding: 12px 20px 12px 12px; background: var(--blanc); border-radius: var(--pil); box-shadow: var(--ombre); }
.gt-nom i { display: grid; place-items: center; width: 40px; height: 40px; border-radius: var(--pil); background: var(--ambre); color: var(--encre); }
.gt-nom b { display: block; font: 700 var(--t3)/1.1 var(--f-t); }
.gt-nom span span { font-size: var(--t1); color: var(--encre2); }
.gt-rep { position: absolute; left: -70px; bottom: 40px; width: 290px; padding: 18px 20px; background: var(--blanc); border-radius: var(--r); box-shadow: var(--ombre); font-size: var(--t2); line-height: 1.5; }
.gt-rep-q { display: flex; align-items: center; gap: 8px; font: 700 var(--t3)/1.2 var(--f-t); margin-bottom: 6px; color: var(--sarcelle); }
.gt-rep-q .gt-ico { width: 30px; height: 30px; padding: 6px; border-radius: var(--pil); background: var(--corail); color: var(--encre); }
.gt-rep a { display: inline-flex; gap: 6px; align-items: center; margin-top: 10px; font-size: var(--t1); font-weight: 500; color: var(--sarcelle); }

/* ==========================================================================
   Accueil : aiguillage par profil
   ========================================================================== */
.gt-profils { padding: 88px 0 104px; }
.gt-h2 { font: 800 var(--t8)/1.08 var(--f-t); letter-spacing: -.025em; text-wrap: balance; }
.gt-centre { text-align: center; max-width: 720px; margin: 0 auto; }
.gt-centre p { margin-top: 14px; color: var(--encre2); font-size: var(--t4); }
.gt-onglets { margin: 40px auto 0; display: flex; gap: 6px; padding: 6px; background: var(--brume); border-radius: var(--pil); width: max-content; max-width: 100%; }
.gt-onglets button { display: flex; align-items: center; gap: 8px; border: 0; background: none; padding: 14px 22px; border-radius: var(--pil); font: 500 var(--t3) var(--f-c); color: var(--encre); cursor: pointer; white-space: nowrap; transition: background-color .2s, box-shadow .2s; }
.gt-onglets button:hover { background: rgba(255, 255, 255, .6); }
.gt-onglets button[aria-selected="true"] { background: var(--blanc); box-shadow: var(--ombre-s); font-weight: 600; color: var(--sarcelle); }
.gt-panneau { margin-top: 36px; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 28px; background: var(--blanc); border-radius: var(--r-l); box-shadow: var(--ombre); padding: 16px; }
.gt-panneau[hidden] { display: none; }
.gt-vedette { position: relative; border-radius: var(--r); overflow: hidden; min-height: 440px; display: flex; align-items: flex-end; text-decoration: none; color: var(--blanc); background: var(--encre); }
.gt-vedette img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.gt-vedette:hover img { transform: scale(1.04); }
.gt-vedette::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15, 42, 61, 0) 25%, rgba(15, 42, 61, .9) 100%); }
.gt-vedette div { position: relative; z-index: 1; padding: 30px; }
.gt-vedette h3 { font: 700 var(--t6)/1.15 var(--f-t); letter-spacing: -.01em; max-width: 18em; text-wrap: balance; }
.gt-vedette p { margin-top: 10px; font-size: var(--t2); color: #E2EEF0; }
.gt-etiq { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: var(--pil); font-size: var(--t1); font-weight: 600; background: var(--blanc); color: var(--encre); margin-bottom: 12px; text-decoration: none; }
.gt-liste { padding: 20px 18px 18px 8px; display: flex; flex-direction: column; }
.gt-liste h3 { font: 700 var(--t4)/1.2 var(--f-t); }
.gt-liste ul { list-style: none; padding: 0; margin-top: 12px; }
.gt-liste li a { display: grid; grid-template-columns: 1fr 24px; gap: 12px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--filet); text-decoration: none; font-weight: 500; line-height: 1.4; }
.gt-liste li a .gt-ico { color: var(--sarcelle); transition: transform .25s var(--ease); }
.gt-liste li a:hover { color: var(--sarcelle); }
.gt-liste li a:hover .gt-ico { transform: translateX(4px); }
.gt-liste small { display: block; font-weight: 300; font-size: var(--t1); color: var(--encre2); margin-top: 2px; }
.gt-chips { margin-top: auto; padding-top: 20px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.gt-chips p { width: 100%; font-size: var(--t1); font-weight: 600; color: var(--encre2); }
.gt-chips a { padding: 8px 14px; border-radius: var(--pil); background: var(--sarcelle-p); text-decoration: none; font-size: var(--t2); font-weight: 500; transition: background-color .2s; }
.gt-chips a:hover { background: var(--menthe); }

/* ==========================================================================
   Accueil : bloc marine (origine des réponses)
   ========================================================================== */
.gt-rupture { padding: 0 0 112px; }
.gt-marine { background: var(--encre); color: var(--blanc); border-radius: var(--r-l); padding: 76px 72px; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 64px; position: relative; overflow: hidden; }
.gt-marine::before { content: ""; position: absolute; right: -180px; top: -200px; width: 520px; height: 520px; border-radius: var(--pil); background: radial-gradient(circle, rgba(143, 227, 210, .28), transparent 65%); pointer-events: none; }
.gt-marine > * { position: relative; }
.gt-marine .gt-h2 { color: var(--blanc); }
.gt-marine .gt-trait { background: linear-gradient(transparent 62%, rgba(255, 122, 107, .7) 62%, rgba(255, 122, 107, .7) 90%, transparent 90%); }
.gt-qui { display: flex; align-items: center; gap: 16px; margin-top: 30px; }
.gt-qui img { width: 76px; height: 76px; border-radius: var(--pil); object-fit: cover; border: 3px solid var(--menthe); }
.gt-qui b { display: block; font: 700 var(--t4)/1.2 var(--f-t); }
.gt-qui span { color: var(--pale); font-size: var(--t2); }
.gt-bio { margin-top: 24px; color: var(--pale); display: grid; gap: 14px; }
.gt-bio ul { list-style: none; padding: 0; display: grid; gap: 10px; }
.gt-bio li { position: relative; padding-left: 38px; }
.gt-bio li::before { content: ""; position: absolute; left: 0; top: 2px; width: 24px; height: 24px; background: var(--menthe);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.gt-bio strong { color: var(--blanc); }
.gt-bio-lien { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 10px 22px; font-size: var(--t2); }
.gt-bio-lien a { color: var(--menthe); font-weight: 500; }
.gt-sources { align-self: center; display: grid; gap: 12px; }
.gt-sources h3 { font: 700 var(--t4)/1.2 var(--f-t); margin-bottom: 6px; }
.gt-source { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: center; padding: 16px 18px; background: rgba(255, 255, 255, .07); border-radius: var(--r); }
.gt-source i { display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--r-s); background: rgba(143, 227, 210, .16); color: var(--menthe); }
.gt-source b { display: block; font-weight: 600; }
.gt-source span { font-size: var(--t1); color: var(--pale); }
a.gt-source-obs { text-decoration: none; color: inherit; box-shadow: inset 0 0 0 1px rgba(143, 227, 210, .35); transition: background-color .2s; }
a.gt-source-obs span { color: var(--menthe); text-decoration: underline; text-underline-offset: .18em; }
a.gt-source-obs:hover { background: rgba(255, 255, 255, .13); }
.gt-anime [data-reveal] { opacity: 0; transform: translateY(24px) scale(.985); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.gt-anime [data-reveal].gt-vu { opacity: 1; transform: none; }

/* ==========================================================================
   Grille des articles (accueil, rubriques, recherche)
   ========================================================================== */
.gt-art { padding: 20px 0 112px; }
.gt-art-tete { display: grid; gap: 20px; margin-bottom: 34px; }
.gt-rubs { display: flex; flex-wrap: wrap; gap: 8px; }
.gt-rubs a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px 9px 12px; border-radius: var(--pil); background: var(--brume); text-decoration: none; font-weight: 500; font-size: var(--t2); transition: background-color .2s; }
.gt-rubs a .gt-ico { color: var(--sarcelle); }
.gt-rubs a span { display: grid; place-items: center; min-width: 30px; height: 24px; padding: 0 6px; border-radius: var(--pil); background: var(--blanc); font-size: var(--t1); font-weight: 600; }
.gt-rubs a:hover { background: var(--sarcelle-p); }
.gt-grille { display: grid; grid-auto-flow: dense; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 22px; }
.gt-carte { display: flex; flex-direction: column; text-decoration: none; border-radius: var(--r); transition: transform .3s var(--ease); }
.gt-carte:hover { transform: translateY(-4px); }
.gt-carte:hover h3 { color: var(--sarcelle); }
.gt-carte figure { border-radius: var(--r); overflow: hidden; aspect-ratio: 4 / 3; box-shadow: var(--ombre-s); background: var(--sarcelle-p); }
.gt-carte figure img { width: 100%; height: 100%; object-fit: cover; }
.gt-carte > div { padding: 14px 4px 0; }
.gt-carte h3 { font: 600 var(--t3)/1.35 var(--f-t); transition: color .2s; }
.gt-carte-m { margin-top: 8px; font-size: var(--t1); color: var(--encre2); display: flex; gap: 4px 10px; flex-wrap: wrap; }
.gt-carte-m b { font-weight: 600; color: var(--sarcelle); }
.gt-large { grid-column: span 2; flex-direction: row; gap: 22px; align-items: center; background: var(--brume); padding: 14px; border-radius: var(--r-l); }
.gt-large figure { width: 48%; flex: none; aspect-ratio: 1 / 1; }
.gt-large > div { padding: 0 10px 0 0; }
.gt-large h3 { font: 700 var(--t5)/1.2 var(--f-t); text-wrap: balance; }
.gt-sans { background: var(--brume); padding: 22px; border-radius: var(--r); justify-content: space-between; min-height: 220px; gap: 16px; }
.gt-sans > div { padding: 0; }
.gt-sans h3 { font-size: var(--t4); line-height: 1.3; }

/* ==========================================================================
   Pied de page
   ========================================================================== */
.gt-pied { background: var(--brume); padding: 72px 0 34px; }
.gt-pied a { text-decoration: none; }
.gt-pied a:hover { color: var(--sarcelle); }
.gt-pied-haut { display: flex; justify-content: space-between; gap: 40px; align-items: flex-start; flex-wrap: wrap; }
.gt-pied-id p { max-width: 30em; color: var(--encre2); margin-top: 14px; font-size: var(--t2); }
.gt-pied-liens { display: flex; gap: 56px; flex-wrap: wrap; }
.gt-pied h2 { font: 700 var(--t2)/1 var(--f-t); margin-bottom: 14px; color: var(--sarcelle); }
.gt-pied ul { list-style: none; padding: 0; display: grid; gap: 8px; font-size: var(--t2); }
.gt-pied-derniers { margin-top: 44px; padding-top: 26px; border-top: 1px solid #D6E7E4; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.gt-pied-derniers a { display: block; padding: 16px; background: var(--blanc); border-radius: var(--r); font-weight: 500; font-size: var(--t2); line-height: 1.4; box-shadow: var(--ombre-s); transition: transform .3s var(--ease); }
.gt-pied-derniers a:hover { transform: translateY(-3px); }
.gt-pied-derniers small { display: block; color: var(--encre2); font-weight: 300; margin-top: 6px; }
.gt-copy { margin-top: 30px; font-size: var(--t1); color: var(--encre2); }

/* ==========================================================================
   Lecture : article et pages (fond blanc, une seule colonne)
   ========================================================================== */
.gt-lecture { padding: 56px 0 72px; background: var(--blanc); }
.gt-fil { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; font-size: var(--t1); color: var(--encre2); }
.gt-fil a { color: var(--encre2); text-decoration: none; }
.gt-fil a:hover { color: var(--sarcelle); text-decoration: underline; }
.gt-fil span[aria-current] { color: var(--encre); display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; max-width: 46ch; }
.gt-fil-sep { color: #9DBDB8; }
.gt-lecture-tete { display: grid; justify-items: start; gap: 16px; margin-bottom: 30px; }
.gt-lecture-tete h1 { font: 800 var(--t8)/1.1 var(--f-t); letter-spacing: -.025em; text-wrap: balance; }
.gt-etiq-rub { margin: 6px 0 0; background: var(--sarcelle-p); color: var(--encre); }
.gt-etiq-rub .gt-ico { color: var(--sarcelle); }
.gt-etiq-rub:hover { background: var(--menthe); }
.gt-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; font-size: var(--t2); color: var(--encre2); }
.gt-meta time, .gt-meta > span { display: inline-flex; align-items: center; }
.gt-maj { color: var(--sarcelle); font-weight: 500; }
.gt-etoiles .kk-star-ratings { margin: 0 !important; display: inline-flex !important; align-items: center; gap: 8px; }
.gt-etoiles .kksr-legend { font-size: var(--t1) !important; color: var(--encre2) !important; }
.gt-signe { display: inline-flex; align-items: center; gap: 10px; font-size: var(--t2); color: var(--encre2); }
.gt-signe img { width: 36px; height: 36px; border-radius: var(--pil); object-fit: cover; }
.gt-signe a { color: var(--encre); font-weight: 500; }
.gt-une { margin-top: 0; margin-bottom: 26px; border-radius: var(--r); overflow: hidden; background: var(--brume); }
.gt-une img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.gt-resume { margin-bottom: 28px; }
.gt-resume img { display: inline-block; }

/* Corps de texte */
.gt-corps { font-size: var(--t3); line-height: 1.75; color: var(--encre); overflow-wrap: break-word; }
.gt-corps > * + * { margin-top: 1.1em; }
.gt-corps h2 { margin-top: 2.2em; margin-bottom: .2em; font: 800 var(--t6)/1.2 var(--f-t); letter-spacing: -.015em; text-wrap: pretty; }
.gt-corps h3 { margin-top: 1.8em; font: 700 var(--t5)/1.25 var(--f-t); }
.gt-corps h4 { margin-top: 1.6em; font: 700 var(--t4)/1.3 var(--f-t); }
.gt-corps a { color: var(--sarcelle); font-weight: 500; text-decoration: underline; }
.gt-corps a:hover { color: var(--sarcelle-f); }
.gt-corps ul, .gt-corps ol { padding-left: 1.3em; }
.gt-corps li + li { margin-top: .45em; }
.gt-corps li::marker { color: var(--sarcelle); }
.gt-corps img { border-radius: var(--r); }
.gt-corps figure { margin-left: 0; margin-right: 0; }
.gt-corps figcaption { margin-top: 8px; font-size: var(--t1); color: var(--encre2); }
.gt-corps blockquote { padding: 22px 26px; background: var(--brume); border-radius: var(--r); font-size: var(--t4); line-height: 1.55; }
.gt-corps table { width: 100%; border-collapse: collapse; font-size: var(--t2); font-variant-numeric: tabular-nums; }
.gt-corps th { text-align: left; padding: 13px 14px; background: var(--brume) !important; color: var(--encre) !important; font-weight: 600; border-bottom: 2px solid var(--sarcelle); }
.gt-corps td { padding: 12px 14px; border-bottom: 1px solid var(--filet); color: var(--encre) !important; background: transparent !important; vertical-align: top; }
.gt-corps .wp-block-table, .gt-corps .gt-defile { overflow-x: auto; }
.gt-corps hr { border: 0; height: 1px; background: var(--filet); margin: 2.4em 0; }
.gt-corps code { font-size: .9em; padding: 2px 6px; background: var(--brume); border-radius: var(--r-s); }
.gt-corps iframe { max-width: 100%; border-radius: var(--r); }
.gt-corps iframe[src*="youtube"] { width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; }
/* Vidéo YouTube en vignette, lue au clic (gabarit : idn_youtube_au_clic) */
.gt-corps .gt-video { margin: 1.8em 0; border-radius: var(--r); overflow: hidden; box-shadow: var(--ombre-s); aspect-ratio: 16 / 9; background: var(--brume); }
.gt-corps .gt-video iframe { display: block; width: 100%; height: 100%; border: 0; border-radius: 0; }
.gt-video-lance { position: relative; display: block; width: 100%; height: 100%; padding: 0; border: 0; background: none; cursor: pointer; color: var(--blanc); }
.gt-video-lance img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; transition: transform .6s var(--ease); }
.gt-video-lance::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15, 42, 61, 0) 45%, rgba(15, 42, 61, .7) 100%); }
.gt-video-lance:hover img { transform: scale(1.03); }
.gt-video-rond { position: absolute; z-index: 1; left: 50%; top: 50%; width: 72px; height: 72px; margin: -36px 0 0 -36px; display: grid; place-items: center; border-radius: var(--pil); background: var(--sarcelle); color: var(--blanc); box-shadow: var(--ombre); transition: background-color .2s; }
.gt-video-lance:hover .gt-video-rond { background: var(--sarcelle-f); }
.gt-video-rond svg { margin-left: 4px; }
.gt-video-txt { position: absolute; z-index: 1; left: 22px; bottom: 18px; font: 600 var(--t2)/1.2 var(--f-c); color: var(--blanc); }

/* Sommaire (Easy Table of Contents) */
.gt-corps #ez-toc-container { width: 100% !important; margin: 26px 0 !important; padding: 18px 22px !important; background: var(--brume) !important; border: 0 !important; border-radius: var(--r); box-shadow: none !important; }
.gt-corps #ez-toc-container .ez-toc-title { font: 700 var(--t3)/1.3 var(--f-t) !important; color: var(--encre) !important; }
.gt-corps #ez-toc-container a { color: var(--encre) !important; font-weight: 400; text-decoration: none; }
.gt-corps #ez-toc-container a:hover { color: var(--sarcelle) !important; text-decoration: underline; }
.gt-corps #ez-toc-container ul { padding-left: 0; }
.gt-corps #ez-toc-container li::marker { color: transparent; }

/* Encarts « À lire aussi » du plugin d'articles liés : repris dans l'accent du site (le plugin pose sa couleur en ligne) */
.gt-corps a:has(> .centered-text-area), .gt-corps a:has(> .centered-text-area):hover, .gt-corps a:has(> .centered-text-area):visited { display: block; background-color: var(--brume) !important; border-radius: var(--r); overflow: hidden; text-decoration: none; margin: 1.6em 0; }
.gt-corps a:has(> .centered-text-area):hover { background-color: var(--sarcelle-p) !important; }
.gt-corps .centered-text-area, .gt-corps .centered-text { background: transparent !important; }
.gt-corps .ctaText { color: var(--sarcelle) !important; font-weight: 600 !important; }
.gt-corps .postTitle { color: var(--encre) !important; }
.gt-corps a .ctaButton, .gt-corps a:hover .ctaButton { background-color: var(--sarcelle) !important; border-radius: 0 !important; }
.gt-corps a .ctaText { text-decoration: none !important; }

/* ==========================================================================
   Blocs de la chaîne de contenu : repris par le thème
   Sélecteurs sur la FIN du nom de classe, toujours qualifiés par .gt-corps, jamais par le préfixe de la chaîne
   (il change à chaque version). Reprend tout ce qu'habillait le CSS additionnel de l'ancien thème.
   ========================================================================== */
.gt-corps [class$="-key"] { background: var(--blanc); border-radius: var(--r); margin: 34px 0; overflow: hidden; box-shadow: var(--ombre); }
.gt-corps [class$="-key-bar"] { height: 6px; background: var(--sarcelle); }
.gt-corps [class$="-key-in"] { position: relative; padding: 26px 30px; }
.gt-corps [class$="-key-top"] { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin: 0 0 6px; }
.gt-corps [class$="-kick"] { display: block; font: 700 var(--t1)/1.2 var(--f-t); color: var(--sarcelle); }
.gt-corps [class$="-badge"] { display: inline-flex; align-items: center; gap: 6px; font: 600 var(--t1)/1 var(--f-c); color: var(--encre); background: var(--sarcelle-p); border-radius: var(--pil); padding: 7px 13px; white-space: nowrap; }
.gt-corps [class$="-key-h"] { margin: 6px 0 14px; font: 700 var(--t4)/1.3 var(--f-t); color: var(--encre); }
.gt-corps [class$="-key"] ul { list-style: none; margin: 14px 0 0; padding: 0; }
.gt-corps [class$="-key"] li { position: relative; margin: 0; padding: 12px 0 12px 36px; border-bottom: 1px solid var(--filet); line-height: 1.6; color: var(--encre); }
.gt-corps [class$="-key"] li:last-child { border-bottom: 0; padding-bottom: 0; }
.gt-corps [class$="-key"] li::before { content: ''; position: absolute; left: 0; top: 50%; margin-top: -10px; width: 20px; height: 20px; border-radius: var(--pil); background: var(--sarcelle); opacity: 1; color: transparent; font-size: 0; }
.gt-corps [class$="-key"] li:last-child::before { margin-top: -4px; }
.gt-corps [class$="-key"] li::after {
  content: ''; position: absolute; left: 5px; top: 50%; margin-top: -5px; width: 10px; height: 10px; border: 0; transform: none; background: var(--blanc);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1.6 5.2 4 7.5 8.4 2.6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1.6 5.2 4 7.5 8.4 2.6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.gt-corps [class$="-key"] li:last-child::after { margin-top: 1px; }
.gt-corps [class$="-badge"]::before {
  content: ''; display: inline-block; flex: none; width: 15px; height: 15px; background: var(--sarcelle);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.gt-corps [class$="-foot"] { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 18px 0 0; padding-top: 14px; border-top: 1px solid var(--filet); font-size: var(--t1); color: var(--encre2); }
.gt-corps [class$="-foot"] span { display: inline-flex; align-items: center; gap: 8px; }
.gt-corps [class$="-foot"] span::before { content: ''; flex: none; width: 15px; height: 15px; background: var(--sarcelle); }
.gt-corps [class$="-foot"] span:nth-child(1)::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12.5 2.8 2.8L16.5 9.5'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12.5 2.8 2.8L16.5 9.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.gt-corps [class$="-foot"] span:nth-child(2)::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h8l4 4v14H6zM14 3v4h4M9 12h6M9 16h6'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h8l4 4v14H6zM14 3v4h4M9 12h6M9 16h6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.gt-corps [class$="-foot"] span:nth-child(3)::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.5 2'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.5 2'/%3E%3C/svg%3E") center / contain no-repeat;
}
.gt-corps [class$="-key"] #ez-toc-container { margin: 14px 0 8px !important; }
.gt-corps [class$="-key"] #ez-toc-container li { padding: 2px 0; border: 0; }
.gt-corps [class$="-key"] #ez-toc-container li::before, .gt-corps [class$="-key"] #ez-toc-container li::after { content: none; }

.gt-corps [class$="-grid"] { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 18px; margin: 34px 0; }
.gt-corps [class$="-card"] { position: relative; background: var(--brume); border-radius: var(--r); padding: 24px 22px; overflow: hidden; margin: 0; transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.gt-corps [class$="-card"]:hover { transform: translateY(-3px); box-shadow: var(--ombre-s); }
.gt-corps [class$="-num"] { position: absolute; top: 10px; right: 16px; font: 800 var(--t6)/1 var(--f-t); color: var(--sarcelle); opacity: .22; }
.gt-corps [class$="-ico"] { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: var(--r-s); background: var(--blanc); color: var(--sarcelle); margin: 0 0 14px; }
.gt-corps [class$="-ico"] svg { width: 22px; height: 22px; }
.gt-corps [class$="-card-t"] { font: 700 var(--t3)/1.3 var(--f-t); color: var(--encre); margin: 0 0 8px; }
.gt-corps [class$="-card-x"] { font-size: var(--t2); color: var(--encre2); margin: 0; line-height: 1.6; }
.gt-corps [class$="-card"] > p:empty { display: none; }

.gt-corps [class$="-quote"] { background: var(--sarcelle-p); border: 0; border-radius: var(--r); padding: 22px 26px; margin: 30px 0; color: var(--encre); font-style: normal; }

.gt-corps [class$="-tool"] { background: var(--blanc); border-radius: var(--r); padding: 28px 30px; margin: 34px 0; box-shadow: var(--ombre); }
.gt-corps [class$="-tool"] label { display: block; font: 600 var(--t2)/1.3 var(--f-c); color: var(--encre); margin: 0 0 6px; }
.gt-corps [class$="-rng"] { width: 100%; accent-color: var(--sarcelle); margin: 6px 0 16px; }
.gt-corps [class$="-val"] { font: 800 var(--t6)/1.1 var(--f-t); color: var(--sarcelle); }
.gt-corps [class$="-gauge"] { height: 10px; border-radius: var(--pil); background: var(--brume); overflow: hidden; margin: 14px 0; }
.gt-corps [class$="-gauge"] i { display: block; height: 100%; width: 0; background: var(--sarcelle); transition: width .3s var(--ease); }
.gt-corps [class$="-pick"] { display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0 16px; }
.gt-corps [class$="-pick"] button { flex: 1 1 120px; min-height: 48px; background: var(--brume) !important; border: 2px solid transparent; border-radius: var(--pil); padding: 12px 16px; cursor: pointer; font: 600 var(--t2)/1.2 var(--f-c); color: var(--encre) !important; text-decoration: none; transition: border-color .2s, background-color .2s; }
.gt-corps [class$="-pick"] button:hover, .gt-corps [class$="-pick"] button:focus-visible { border-color: var(--sarcelle); background: var(--blanc) !important; color: var(--encre) !important; }
.gt-corps [class$="-pick"] button.on, .gt-corps [class$="-pick"] button.on:hover { border-color: var(--sarcelle) !important; background: var(--sarcelle-p) !important; color: var(--encre) !important; box-shadow: none; }
.gt-corps [class$="-pick"] button:disabled { opacity: 1; cursor: default; }
.gt-corps [class$="-out"] { margin: 16px 0 0; padding: 18px 20px; border-radius: var(--r-s); background: var(--brume); color: var(--encre); font-size: var(--t2); line-height: 1.6; }
.gt-corps [class$="-out"]:empty { display: none; }
.gt-corps [class$="-step"] { display: none; }
.gt-corps [class$="-step"].on { display: block; }
.gt-corps [class$="-cnt"] { font: 600 var(--t1)/1.2 var(--f-c); color: var(--sarcelle); margin: 0 0 8px; }
.gt-corps [class$="-nav"] { display: none; margin: 16px 0 0; text-align: right; }
.gt-corps [class$="-nav"].on { display: block; }
.gt-corps [class$="-nav"] button { background: var(--sarcelle) !important; border: 0; border-radius: var(--pil); color: var(--blanc) !important; min-height: 48px; font: 600 var(--t2)/1 var(--f-c); padding: 12px 24px; cursor: pointer; text-decoration: none; }
.gt-corps [class$="-nav"] button:hover, .gt-corps [class$="-nav"] button:focus-visible { background: var(--sarcelle-f) !important; color: var(--blanc) !important; opacity: 1; }
.gt-corps [class$="-done"] { display: none; margin: 16px 0 0; padding: 14px 18px; border-radius: var(--r-s); background: var(--sarcelle-p); font-weight: 600; color: var(--encre); }
.gt-corps [class$="-done"].on { display: block; }
.gt-corps [class$="-quiz-item"] { margin: 14px 0; padding-bottom: 14px; border-bottom: 1px solid var(--filet); }
.gt-corps [class$="-quiz-item"]:last-child { border-bottom: 0; padding-bottom: 0; }
.gt-corps [class$="-quiz-item"] > p { font-weight: 500; margin: 0 0 8px; }

.gt-corps [class$="-faq"] { margin: 30px 0; }
.gt-corps [class$="-q"] { background: var(--blanc); border-radius: var(--r); padding: 6px 24px; margin: 0 0 12px; box-shadow: var(--ombre-s); transition: background-color .2s; }
.gt-corps [class$="-q"][open] { background: var(--brume); box-shadow: none; padding-bottom: 20px; }
.gt-corps [class$="-q"] summary { cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 56px; }
.gt-corps [class$="-q"] summary::-webkit-details-marker { display: none; }
.gt-corps [class$="-q"] summary h3 { margin: 0; font: 600 var(--t3)/1.35 var(--f-t); color: var(--encre); }
.gt-corps [class$="-q"] summary::after { content: ''; flex: none; width: 10px; height: 10px; border-right: 2px solid var(--sarcelle); border-bottom: 2px solid var(--sarcelle); transform: rotate(45deg); transition: transform .25s var(--ease); }
.gt-corps [class$="-q"][open] summary::after { transform: rotate(-135deg); }
.gt-corps [class$="-q"] p { margin: 8px 0 0; color: var(--encre2); line-height: 1.7; }

.gt-corps [class$="-src"] { background: var(--brume); border-radius: var(--r); padding: 26px 28px; margin: 34px 0; }
.gt-corps [class$="-src"] h2 { margin: 0 0 14px; font: 700 var(--t4)/1.25 var(--f-t); }
.gt-corps [class$="-src"] ul { list-style: none; margin: 0; padding: 0; }
.gt-corps [class$="-src"] li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; padding: 12px 0; border-bottom: 1px solid var(--filet); margin: 0; }
.gt-corps [class$="-src"] li:last-child { border-bottom: 0; }
.gt-corps [class$="-src"] a { color: var(--encre); font-weight: 500; text-decoration: none; }
.gt-corps [class$="-src"] a:hover { color: var(--sarcelle); text-decoration: underline; }
.gt-corps [class$="-tag"] { display: inline-block; font: 600 var(--t1)/1 var(--f-c); color: var(--encre); background: var(--blanc); border-radius: var(--pil); padding: 5px 10px; margin: 0; }
.gt-corps [class$="-tab"] { width: 100%; border-collapse: collapse; margin: 28px 0; font-size: var(--t2); background: var(--blanc); }
.gt-corps [class$="-tab"] tr:nth-child(even) td { background: #F7FBFA !important; }
.gt-corps [class$="-img"] { border-radius: var(--r); max-width: 100%; height: auto; }
.gt-corps [class$="-key-in"] > :first-child, .gt-corps [class$="-quote"] > :first-child, .gt-corps [class$="-out"] > :first-child, .gt-corps [class$="-tool"] > :first-child { margin-top: 0; }
.gt-corps [class$="-key-in"] > :last-child, .gt-corps [class$="-quote"] > :last-child, .gt-corps [class$="-out"] > :last-child, .gt-corps [class$="-tool"] > :last-child { margin-bottom: 0; }

/* Mots-clés, auteur, suite */
.gt-mots { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin-top: 40px; }
.gt-mots a { display: inline-block; padding: 7px 14px; border-radius: var(--pil); background: var(--brume); text-decoration: none; font-size: var(--t1); font-weight: 500; }
.gt-mots a:hover { background: var(--sarcelle-p); }
.gt-auteur { margin-top: 44px; display: grid; grid-template-columns: 88px 1fr; gap: 22px; align-items: start; padding: 28px; background: var(--brume); border-radius: var(--r-l); }
.gt-auteur img { width: 88px; height: 88px; border-radius: var(--pil); object-fit: cover; border: 3px solid var(--blanc); box-shadow: var(--ombre-s); }
.gt-auteur-n { font: 700 var(--t4)/1.2 var(--f-t); }
.gt-auteur-n span { display: block; margin-top: 4px; font: 400 var(--t2)/1.3 var(--f-c); color: var(--encre2); }
.gt-auteur-b { margin-top: 12px; font-size: var(--t2); color: var(--encre2); }
.gt-auteur-l { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: var(--t2); }
.gt-auteur-l a { color: var(--sarcelle); font-weight: 500; }
.gt-suite { padding: 8px 0 96px; }
.gt-suite h2 { font: 800 var(--t6)/1.15 var(--f-t); letter-spacing: -.015em; margin-bottom: 22px; }
.gt-suite-grille { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); grid-template-rows: auto auto; gap: 16px 22px; }
.gt-suite-grille a { text-decoration: none; transition: transform .3s var(--ease); }
.gt-suite-grille a:hover { transform: translateY(-3px); }
.gt-suite-grille a:hover h3 { color: var(--sarcelle); }
.gt-suite-une { grid-row: span 2; display: flex; flex-direction: column; }
.gt-suite-une figure { border-radius: var(--r); overflow: hidden; aspect-ratio: 3 / 2; box-shadow: var(--ombre-s); }
.gt-suite-une figure img, .gt-suite-ligne figure img { width: 100%; height: 100%; object-fit: cover; }
.gt-suite-une div { padding-top: 14px; }
.gt-suite-une h3 { font: 700 var(--t5)/1.25 var(--f-t); }
.gt-suite-ligne { display: grid; grid-template-columns: 132px 1fr; gap: 16px; align-items: center; padding: 12px; background: var(--brume); border-radius: var(--r); }
.gt-suite-ligne figure { border-radius: var(--r-s); overflow: hidden; aspect-ratio: 1 / 1; }
.gt-suite-ligne h3 { font: 600 var(--t3)/1.35 var(--f-t); }
.gt-suite-grille p { margin-top: 6px; font-size: var(--t1); color: var(--encre2); }

/* ==========================================================================
   Rubrique, recherche, page introuvable
   ========================================================================== */
.gt-rub-tete { margin-top: -82px; padding: 136px 0 64px; background:
  radial-gradient(800px 420px at 90% 0%, rgba(143, 227, 210, .4), transparent 70%), var(--brume); }
.gt-rub-tete .gt-cadre { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 56px; align-items: end; }
.gt-rub-court .gt-cadre { grid-template-columns: minmax(0, 1fr); }
.gt-rub-texte { display: grid; justify-items: start; gap: 14px; }
.gt-rub-h1 { display: flex; align-items: center; gap: 16px; font: 800 var(--t9)/1.04 var(--f-t); letter-spacing: -.03em; text-wrap: balance; }
.gt-rub-h1 .gt-ico { width: 64px; height: 64px; padding: 12px; border-radius: var(--r); background: var(--blanc); color: var(--sarcelle); box-shadow: var(--ombre-s); }
.gt-rub-n { font: 700 var(--t4)/1.3 var(--f-t); color: var(--sarcelle); }
.gt-rub-desc { max-width: 40em; font-size: var(--t3); color: var(--encre2); }
.gt-rub-desc p + p { margin-top: .8em; }
.gt-rub-photo { border-radius: var(--r-l); overflow: hidden; border: 10px solid var(--blanc); box-shadow: var(--ombre-l); transform: rotate(-2deg); aspect-ratio: 4 / 3; }
.gt-rub-photo img { width: 100%; height: 100%; object-fit: cover; }
.gt-rub-autres { display: grid; gap: 8px; padding: 22px; background: var(--blanc); border-radius: var(--r-l); box-shadow: var(--ombre); }
.gt-rub-autres p { font: 700 var(--t2)/1.2 var(--f-t); color: var(--encre2); margin-bottom: 4px; }
.gt-rub-autres a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: var(--r-s); text-decoration: none; font-weight: 500; transition: background-color .2s; }
.gt-rub-autres a .gt-ico { color: var(--sarcelle); }
.gt-rub-autres a span { margin-left: auto; font-size: var(--t1); color: var(--encre2); }
.gt-rub-autres a:hover { background: var(--brume); }
.gt-rub-corps { padding: 56px 0 104px; }
.gt-cherche-s { margin-top: 10px; width: 100%; }
.gt-vide { font-size: var(--t4); color: var(--encre2); }
.gt-seo { margin-top: 72px; padding: 36px 40px; background: var(--brume); border-radius: var(--r-l); max-width: 900px; color: var(--encre2); }
.gt-seo h2 { font: 800 var(--t5)/1.2 var(--f-t); color: var(--encre); margin-bottom: 12px; }
.gt-seo p + p { margin-top: .8em; }

/* ==========================================================================
   Contact, plan du site, fiche auteur, mentions légales
   ========================================================================== */
.gt-contact-grille { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 56px; align-items: start; }
.gt-contact-intro { font-size: var(--t4); line-height: 1.6; color: var(--encre2); }
.gt-contact-err { margin-top: 30px; padding: 24px 26px; background: var(--brume); border-radius: var(--r); }
.gt-contact-err h2 { display: flex; align-items: center; gap: 10px; font: 700 var(--t4)/1.25 var(--f-t); margin-bottom: 8px; }
.gt-contact-err h2 .gt-ico { color: var(--sarcelle); }
.gt-contact-err a { color: var(--sarcelle); font-weight: 500; }
.gt-contact-d { background: var(--blanc); border-radius: var(--r-l); padding: 34px; box-shadow: var(--ombre); }
.wpcf7-form p { display: flex; flex-direction: column; gap: 6px; margin: 0 0 18px; }
.wpcf7-form br { display: none; }
.wpcf7-form label { font-weight: 500; font-size: var(--t2); color: var(--encre); display: flex; flex-direction: column; gap: 6px; }
.wpcf7-form input:not([type=submit]):not([type=checkbox]):not([type=radio]), .wpcf7-form textarea, .wpcf7-form select {
  width: 100%; padding: 14px 18px; border: 2px solid transparent; border-radius: var(--r-s); font: 400 var(--t3)/1.4 var(--f-c); background: var(--brume); color: var(--encre); transition: border-color .2s, background-color .2s;
}
.wpcf7-form textarea { min-height: 170px; resize: vertical; }
.wpcf7-form input:not([type=submit]):focus, .wpcf7-form textarea:focus { outline: none; border-color: var(--sarcelle); background: var(--blanc); }
.wpcf7-form input.wpcf7-submit { width: auto; min-height: 52px; background: var(--sarcelle); color: var(--blanc); border: 0; padding: 14px 30px; border-radius: var(--pil); font: 600 var(--t3)/1 var(--f-c); cursor: pointer; transition: background-color .2s; }
.wpcf7-form input.wpcf7-submit:hover { background: var(--sarcelle-f); }
.wpcf7-not-valid-tip { color: #A3332A; font-size: var(--t1); margin-top: 4px; }
.wpcf7 form .wpcf7-response-output { margin: 16px 0 0; padding: 12px 16px; border-radius: var(--r-s); border: 0; background: var(--brume); font-size: var(--t2); }
.wpcf7-spinner { margin: 12px 0 0; }
.gt-plan-sommaire { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 40px; }
.gt-plan-sommaire a { padding: 9px 16px; border-radius: var(--pil); background: var(--brume); text-decoration: none; font-weight: 500; font-size: var(--t2); }
.gt-plan-sommaire a:hover { background: var(--sarcelle-p); }
.gt-plan-rub { margin: 0 0 48px; }
.gt-plan-rub h2 { display: flex; align-items: center; gap: 12px; font: 800 var(--t6)/1.15 var(--f-t); margin: 0 0 16px; }
.gt-plan-rub h2 a { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.gt-plan-rub h2 .gt-ico { color: var(--sarcelle); }
.gt-plan-rub h2 span { font: 600 var(--t2)/1 var(--f-c); color: var(--encre2); }
.gt-plan-rub ul { columns: 2; column-gap: 48px; padding: 0; list-style: none; font-size: var(--t2); }
.gt-plan-rub li { break-inside: avoid; padding: 6px 0; }
.gt-plan-rub li a { text-decoration: none; }
.gt-plan-rub li a:hover { color: var(--sarcelle); text-decoration: underline; }
.gt-fiche-haut { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 64px; align-items: start; }
.gt-fiche-photo { border-radius: var(--r-l); overflow: hidden; border: 10px solid var(--blanc); box-shadow: var(--ombre-l); transform: rotate(-2deg); aspect-ratio: 4 / 5; margin-top: 8px; }
.gt-fiche-photo img { width: 100%; height: 100%; object-fit: cover; }
.gt-fiche-texte h1 { font: 800 var(--t9)/1.02 var(--f-t); letter-spacing: -.03em; margin-bottom: 24px; }
.gt-fiche-texte h1 em { display: block; margin-top: 10px; font: 700 var(--t5)/1.2 var(--f-t); font-style: normal; color: var(--sarcelle); letter-spacing: -.01em; }
.gt-fiche-texte .gt-corps ul { list-style: none; padding: 0; }
.gt-fiche-texte .gt-corps ul li { position: relative; padding-left: 34px; }
.gt-fiche-texte .gt-corps ul li::before { content: ""; position: absolute; left: 0; top: 4px; width: 22px; height: 22px; background: var(--sarcelle);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.gt-fiche-faits { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.gt-fiche-faits div { padding: 16px 22px; background: var(--brume); border-radius: var(--r); }
.gt-fiche-faits dt { font-size: var(--t1); color: var(--encre2); }
.gt-fiche-faits dd { margin: 4px 0 0; font: 700 var(--t5)/1.2 var(--f-t); }
.gt-fiche-faits a { color: var(--sarcelle); }
.gt-fiche-listes { margin-top: 72px; display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 40px 56px; }
.gt-fiche-listes h2 { font: 800 var(--t5)/1.2 var(--f-t); margin-bottom: 12px; }
.gt-fiche-listes ul { list-style: none; padding: 0; }
.gt-fiche-listes li { display: grid; gap: 2px; padding: 12px 0; border-bottom: 1px solid var(--filet); }
.gt-fiche-listes li a { text-decoration: none; font-weight: 500; line-height: 1.4; }
.gt-fiche-listes li a:hover { color: var(--sarcelle); }
.gt-fiche-listes li span { font-size: var(--t1); color: var(--encre2); }
.gt-fiche-rubs { margin-top: 48px; }
.gt-legal .gt-corps h2 { font-size: var(--t5); }
.gt-legal .gt-corps h2 b { font-weight: 800; }
.gt-legal .gt-corps .gt-coord img { border-radius: 0; width: auto; max-width: 100%; height: auto; }

/* ==========================================================================
   Observatoire BODACC (page-observatoire.php)
   Couleurs de données : liquidation = encre (14,80:1), redressement = sarcelle (5,18:1), sauvegarde = menthe (sur blanc, aplat seulement).
   ========================================================================== */
.gt-obs-tete { margin-top: -82px; padding: 136px 0 56px; background:
  radial-gradient(760px 420px at 92% 0%, rgba(143, 227, 210, .42), transparent 70%), var(--brume); }
.gt-obs-tete .gt-cadre { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: 56px; align-items: end; }
.gt-obs-titre { display: grid; justify-items: start; gap: 18px; }
.gt-obs-titre h1 { font: 800 var(--t9)/1.04 var(--f-t); letter-spacing: -.03em; text-wrap: balance; }
.gt-obs-chapo { max-width: 40em; font-size: var(--t4); line-height: 1.6; color: var(--encre2); text-wrap: pretty; }
.gt-obs-chapo strong { color: var(--encre); font-weight: 600; }
.gt-obs-releve { display: grid; gap: 2px; padding: 10px; background: var(--blanc); border-radius: var(--r-l); box-shadow: var(--ombre); }
.gt-obs-releve div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 12px 14px; }
.gt-obs-releve div + div { border-top: 1px solid var(--filet); }
.gt-obs-releve dt { font-size: var(--t1); color: var(--encre2); }
.gt-obs-releve dd { margin: 0; font: 700 var(--t2)/1.3 var(--f-t); text-align: right; }
.gt-obs-releve a { color: var(--sarcelle); }

.gt-obs-bloc { padding: 56px 0 24px; }
.gt-obs-graphe { padding: 30px 32px 24px; background: var(--blanc); border-radius: var(--r-l); box-shadow: var(--ombre); margin-top: -12px; position: relative; }
.gt-obs-graphe-tete { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 28px; margin-bottom: 18px; }
.gt-obs-graphe h2, .gt-obs-cumul h2, .gt-obs-regions h2, .gt-obs-pied h2 { font: 800 var(--t5)/1.2 var(--f-t); letter-spacing: -.01em; }
.gt-obs-legende { display: flex; flex-wrap: wrap; gap: 8px 18px; list-style: none; padding: 0; font-size: var(--t1); color: var(--encre2); }
.gt-obs-legende li { display: inline-flex; align-items: center; gap: 8px; }
.gt-obs-legende i { width: 14px; height: 14px; border-radius: var(--pil); }
.gt-obs-defile { overflow-x: auto; }
.gt-obs-graphe svg { display: block; width: 100%; min-width: 640px; height: auto; font-family: var(--f-c); }
.gt-obs-c-lj { fill: var(--encre); background: var(--encre); }
.gt-obs-c-rj { fill: var(--sarcelle); background: var(--sarcelle); }
.gt-obs-c-sauv { fill: var(--menthe); background: var(--menthe); }
.gt-obs-grille { stroke: var(--filet); stroke-width: 1; }
.gt-obs-axe { stroke: #9DBDB8; stroke-width: 1.5; }
.gt-obs-graduation, .gt-obs-mois { fill: var(--encre2); font-size: var(--t1); }
.gt-obs-annee { fill: var(--encre); font-size: var(--t1); font-weight: 600; }
.gt-obs-etiquette { fill: var(--encre); font: 700 var(--t3) var(--f-t); }
.gt-obs-col rect { transition: opacity .2s; }
.gt-obs-graphe svg:hover .gt-obs-col rect { opacity: .45; }
.gt-obs-graphe svg:hover .gt-obs-col:hover rect { opacity: 1; }
.gt-obs-note { margin-top: 14px; font-size: var(--t1); color: var(--encre2); max-width: 70ch; }

.gt-obs-duo { margin-top: 56px; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 56px; align-items: start; }
.gt-obs-cumul > p, .gt-obs-regions > p { margin: 8px 0 20px; color: var(--encre2); font-size: var(--t2); }
.gt-obs-cumul table, .gt-obs-table table { width: 100%; border-collapse: collapse; font-size: var(--t2); font-variant-numeric: tabular-nums; }
.gt-obs-cumul th, .gt-obs-cumul td, .gt-obs-table th, .gt-obs-table td { padding: 12px 10px; text-align: right; border-bottom: 1px solid var(--filet); }
.gt-obs-cumul th[scope="row"], .gt-obs-table th[scope="row"], .gt-obs-cumul thead th:first-child, .gt-obs-table thead th:first-child { text-align: left; }
.gt-obs-cumul thead th, .gt-obs-table thead th { font-weight: 600; color: var(--encre2); font-size: var(--t1); border-bottom: 2px solid var(--sarcelle); }
.gt-obs-cumul tbody th, .gt-obs-table tbody th { font-weight: 500; }
.gt-obs-cumul tfoot th, .gt-obs-cumul tfoot td { font-weight: 700; border-bottom: 0; }
.gt-obs-part { display: flex; height: 40px; margin-top: 22px; border-radius: var(--pil); overflow: hidden; }
.gt-obs-part span { display: grid; place-items: center; font-size: var(--t1); font-weight: 600; color: var(--blanc); min-width: 6px; }
.gt-obs-part .gt-obs-c-sauv { color: var(--encre); }
.gt-obs-regions ol { list-style: none; padding: 0; display: grid; gap: 4px; }
.gt-obs-regions li { display: grid; grid-template-columns: minmax(0, 15em) minmax(0, 1fr) 4.5em 4.5em; align-items: center; gap: 12px; padding: 6px 0; font-size: var(--t2); font-variant-numeric: tabular-nums; }
.gt-obs-r-nom { line-height: 1.3; }
.gt-obs-r-barre { height: 12px; background: var(--brume); border-radius: var(--pil); overflow: hidden; }
.gt-obs-r-barre i { display: block; height: 100%; background: var(--sarcelle); border-radius: var(--pil); }
.gt-obs-r-n { text-align: right; font-weight: 600; }
.gt-obs-r-e { text-align: right; font-size: var(--t1); color: var(--encre2); }

.gt-obs-table { margin-top: 48px; border-radius: var(--r); background: var(--brume); }
.gt-obs-table summary { cursor: pointer; padding: 18px 24px; font: 700 var(--t3)/1.3 var(--f-t); list-style-position: inside; }
.gt-obs-table summary:hover { color: var(--sarcelle); }
.gt-obs-table[open] summary { border-bottom: 1px solid var(--filet); }
.gt-obs-table .gt-obs-defile { padding: 8px 24px 20px; }
.gt-obs-table table { min-width: 620px; }

.gt-obs-pied { padding: 64px 0 104px; }
.gt-obs-pied .gt-cadre { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; align-items: start; }
.gt-obs-methode { padding: 36px 40px; background: var(--encre); color: var(--blanc); border-radius: var(--r-l); box-shadow: var(--ombre-l); }
.gt-obs-methode ol { margin-top: 18px; padding-left: 1.4em; display: grid; gap: 12px; color: var(--pale); font-size: var(--t2); line-height: 1.65; }
.gt-obs-methode li::marker { color: var(--menthe); font-weight: 600; }
.gt-obs-src { margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(207, 227, 232, .25); font-size: var(--t1); color: var(--pale); }
.gt-obs-methode a { color: var(--menthe); }
.gt-obs-cote h2 + * { margin-top: 14px; }
.gt-obs-cote h2:not(:first-child) { margin-top: 40px; }
.gt-obs-histo { list-style: none; padding: 0; }
.gt-obs-histo li { display: grid; gap: 2px; padding: 12px 0; border-bottom: 1px solid var(--filet); font-size: var(--t2); }
.gt-obs-histo time { font-weight: 600; color: var(--sarcelle); }
.gt-obs-lies { list-style: none; padding: 0; display: grid; gap: 8px; }
.gt-obs-lies a { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; background: var(--brume); border-radius: var(--r); text-decoration: none; font-weight: 500; line-height: 1.4; transition: background-color .2s; }
.gt-obs-lies a .gt-ico { color: var(--sarcelle); margin-top: 2px; }
.gt-obs-lies a:hover { background: var(--sarcelle-p); }

/* ==========================================================================
   Calculateurs greffés dans les articles (assets/js/idn-calculs.js)
   Noms de classes choisis pour ne jamais finir comme ceux de la chaîne de contenu (-tool, -val, -card...).
   ========================================================================== */
.gt-corps .gt-calc { margin: 2.4em 0; padding: 30px 32px; background: var(--brume); border-radius: var(--r-l); }
.gt-corps .gt-calc h2 { margin-top: 0; }
.gt-calc-intro { color: var(--encre2); font-size: var(--t2); }
.gt-calc-plan { margin-top: 22px; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 20px; align-items: start; }
.gt-calc-form { display: grid; gap: 16px; }
.gt-corps .gt-calc-form > * + * { margin-top: 0; }
.gt-calc-champ { display: grid; gap: 6px; }
.gt-calc-champ label, .gt-calc-choix legend { font-weight: 500; font-size: var(--t2); line-height: 1.35; }
.gt-calc-champ small { font-size: var(--t1); color: var(--encre2); line-height: 1.5; }
.gt-calc-champ input, .gt-calc-champ select { width: 100%; height: 50px; padding: 0 16px; border: 1px solid var(--indice); border-radius: var(--r-s); background: var(--blanc); font: 500 var(--t3) var(--f-c); color: var(--encre); font-variant-numeric: tabular-nums; }
.gt-calc-champ input:hover, .gt-calc-champ select:hover { border-color: var(--sarcelle); }
.gt-calc-champ input:focus-visible, .gt-calc-champ select:focus-visible { outline: 3px solid var(--sarcelle); outline-offset: 1px; border-color: var(--sarcelle); }
.gt-calc-champ input[aria-invalid="true"] { border-color: var(--encre); border-width: 2px; }
.gt-calc-choix { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.gt-calc-choix legend { padding: 0; margin-bottom: 6px; width: 100%; }
.gt-calc-choix span { position: relative; }
.gt-calc-choix input { position: absolute; opacity: 0; inset: 0; margin: 0; }
.gt-calc-choix label { display: block; padding: 11px 20px; border-radius: var(--pil); background: var(--blanc); border: 1px solid var(--indice); font-weight: 500; font-size: var(--t2); cursor: pointer; transition: background-color .2s, color .2s; }
.gt-calc-choix input:checked + label { background: var(--sarcelle); border-color: var(--sarcelle); color: var(--blanc); }
.gt-calc-choix input:focus-visible + label { outline: 3px solid var(--sarcelle); outline-offset: 2px; }
.gt-calc-case { display: flex; align-items: flex-start; gap: 10px; font-size: var(--t2); line-height: 1.45; }
.gt-calc-case input { flex: none; width: 20px; height: 20px; margin-top: 2px; accent-color: var(--sarcelle); }
.gt-calc-res { padding: 24px 26px; background: var(--blanc); border-radius: var(--r); box-shadow: var(--ombre); }
.gt-corps .gt-calc-res > * + * { margin-top: 14px; }
.gt-calc-phrase { font: 600 var(--t4)/1.4 var(--f-t); color: var(--encre); text-wrap: pretty; }
.gt-calc-phrase span { display: block; }
.gt-calc-phrase .gt-calc-suite { font: 500 var(--t2)/1.4 var(--f-c); color: var(--encre2); }
.gt-calc-phrase strong { display: block; font-size: var(--t7); font-weight: 800; line-height: 1.15; color: var(--sarcelle); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.gt-calc-detail { display: grid; font-size: var(--t2); font-variant-numeric: tabular-nums; }
.gt-calc-detail div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 8px 0; border-bottom: 1px solid var(--filet); }
.gt-calc-detail dt { color: var(--encre2); line-height: 1.4; }
.gt-calc-detail dd { margin: 0; white-space: nowrap; color: var(--encre); }
.gt-calc-detail .gt-calc-fort dt, .gt-calc-detail .gt-calc-fort dd { color: var(--encre); font-weight: 700; }
.gt-calc-detail div:last-child { border-bottom: 0; }
.gt-calc-annexe { font-size: var(--t1); color: var(--encre2); line-height: 1.55; }
.gt-calc-formule { margin-top: 20px; background: var(--blanc); border-radius: var(--r); }
.gt-calc-formule summary { cursor: pointer; padding: 16px 20px; font: 700 var(--t3)/1.3 var(--f-t); }
.gt-calc-formule summary:hover { color: var(--sarcelle); }
.gt-calc-formule > :not(summary) { margin: 0 20px; font-size: var(--t2); }
.gt-calc-formule > :last-child { padding-bottom: 18px; }
.gt-calc-formule ul + ul, .gt-calc-formule p + ul { margin-top: 12px; }
.gt-calc-sources { list-style: none; padding-left: 0 !important; display: flex; flex-wrap: wrap; gap: 8px; }
.gt-corps .gt-calc-sources li + li { margin-top: 0; }
.gt-calc-sources a { display: inline-block; padding: 6px 12px; border-radius: var(--pil); background: var(--brume); font-size: var(--t1); text-decoration: none !important; }
.gt-calc-sources a:hover { background: var(--sarcelle-p); }
.gt-calc-note { display: flex; gap: 8px; align-items: flex-start; margin-top: 16px; font-size: var(--t1); color: var(--encre2); line-height: 1.55; }
.gt-corps .gt-calc-note .gt-ico { display: block; width: 16px; height: 16px; margin: 3px 0 0; padding: 0; background: none; border-radius: 0; color: var(--sarcelle); }

/* ==========================================================================
   Mouvement réduit : tout s'arrête
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
  .gt-anime [data-reveal] { opacity: 1; transform: none; }
}

/* ==========================================================================
   Paliers
   ========================================================================== */
@media (max-width: 1180px) {
  .gt-ouv .gt-cadre, .gt-panneau, .gt-marine, .gt-rub-tete .gt-cadre, .gt-fiche-haut, .gt-obs-tete .gt-cadre, .gt-obs-duo, .gt-obs-pied .gt-cadre { grid-template-columns: minmax(0, 1fr); }
  .gt-obs-releve { max-width: 520px; }
  .gt-photo { justify-self: center; margin-top: 8px; }
  .gt-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gt-pied-derniers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gt-nav a { padding: 10px 10px; }
  .gt-rub-photo, .gt-rub-autres { max-width: 520px; }
  .gt-fiche-photo { max-width: 360px; }
}
@media (max-width: 960px) {
  .gt-nav { display: none; }
  .gt-burger { display: grid; }
  .gt-contact-grille, .gt-suite-grille { grid-template-columns: minmax(0, 1fr); }
  .gt-suite-une { grid-row: auto; }
}
@media (max-width: 760px) {
  :root { --t9: 44px; --t8: 32px; --t7: 24px; --t6: 24px; }
  .gt-cadre, .gt-colonne { width: calc(100% - 32px); }
  .gt-haut { padding: 0 12px; top: 8px; }
  .gt-pilule { height: 62px; margin-top: 8px; padding-left: 14px; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .gt-ouv { padding: 112px 0 64px; }
  .gt-chapo { font-size: var(--t3); }
  .gt-cherche { padding-left: 16px; }
  .gt-cherche button { padding: 0 16px; }
  .gt-photo { margin-bottom: 44px; width: min(400px, 92%); }
  .gt-rep { left: -6px; bottom: -34px; width: 250px; }
  .gt-nom { right: -6px; top: 16px; }
  .gt-profils { padding: 64px 0 72px; }
  .gt-onglets { width: auto; overflow-x: auto; justify-content: flex-start; margin-left: -16px; margin-right: -16px; border-radius: 0; padding: 6px 16px; scrollbar-width: none; }
  .gt-onglets button { padding: 12px 16px; }
  .gt-vedette { min-height: 320px; }
  .gt-vedette div { padding: 20px; }
  .gt-liste { padding: 8px 6px 6px; }
  .gt-rupture { padding-bottom: 72px; }
  .gt-marine { padding: 44px 22px; gap: 40px; }
  .gt-art { padding-bottom: 72px; }
  .gt-grille { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .gt-large { grid-column: auto; flex-direction: column; align-items: stretch; }
  .gt-large figure { width: 100%; aspect-ratio: 3 / 2; }
  .gt-large > div { padding: 4px 6px 4px; }
  .gt-carte:not(.gt-large):not(.gt-sans) { flex-direction: row; gap: 14px; align-items: center; }
  .gt-carte:not(.gt-large):not(.gt-sans) figure { width: 112px; flex: none; aspect-ratio: 1 / 1; }
  .gt-carte:not(.gt-large):not(.gt-sans) > div { padding: 0; }
  .gt-sans { min-height: 0; }
  .gt-pied { padding-top: 56px; }
  .gt-pied-liens { gap: 36px; }
  .gt-pied-derniers { grid-template-columns: minmax(0, 1fr); }
  .gt-lecture { padding-top: 36px; }
  .gt-lecture-tete h1 { font-size: var(--t8); }
  .gt-corps h2 { font-size: var(--t5); }
  .gt-corps h3 { font-size: var(--t4); }
  .gt-corps table { display: block; overflow-x: auto; }
  .gt-corps [class$="-key-in"], .gt-corps [class$="-tool"], .gt-corps [class$="-src"] { padding: 22px 18px; }
  .gt-corps [class$="-q"] { padding-left: 18px; padding-right: 18px; }
  .gt-auteur { grid-template-columns: minmax(0, 1fr); padding: 22px; }
  .gt-suite-ligne { grid-template-columns: 96px 1fr; }
  .gt-rub-tete { padding: 112px 0 44px; }
  .gt-rub-h1 .gt-ico { width: 48px; height: 48px; padding: 9px; }
  .gt-rub-autres { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; background: none; box-shadow: none; }
  .gt-rub-autres p { width: 100%; margin: 0; }
  .gt-rub-autres a { background: var(--blanc); border-radius: var(--pil); padding: 8px 14px; box-shadow: var(--ombre-s); }
  .gt-rub-autres a span { margin-left: 4px; }
  .gt-seo { padding: 26px 22px; margin-top: 48px; }
  .gt-contact-d { padding: 22px 18px; }
  .gt-plan-rub ul { columns: 1; }
  .gt-fiche-texte h1 { font-size: var(--t9); }
  .gt-fiche-listes { grid-template-columns: minmax(0, 1fr); margin-top: 48px; }
  .gt-obs-tete { padding: 112px 0 44px; }
  .gt-obs-chapo { font-size: var(--t3); }
  .gt-obs-graphe { padding: 22px 16px 18px; }
  .gt-obs-regions li { grid-template-columns: minmax(0, 1fr) 4em 4em; gap: 4px 10px; }
  .gt-obs-r-barre { grid-column: 1 / -1; grid-row: 2; height: 8px; }
  .gt-obs-table summary { padding: 16px 18px; }
  .gt-obs-table .gt-obs-defile { padding: 6px 12px 16px; }
  .gt-obs-methode { padding: 28px 22px; }
  .gt-obs-cumul th, .gt-obs-cumul td { padding: 10px 6px; }
  .gt-corps .gt-calc { padding: 22px 16px; }
}
@media (max-width: 960px) {
  .gt-calc-plan { grid-template-columns: minmax(0, 1fr); }
}
