/*
Theme Name:   Guillaume Adam 2
Theme URI:    https://guillaume-adam.com/
Description:  Thème autonome de guillaume-adam.com (sans thème parent) : blog en cartes, articles avec sommaire, pages en colonne de lecture. Polices Archivo, Source Serif 4 et Caveat hébergées dans le thème.
Author:       Guillaume Adam
Author URI:   https://guillaume-adam.com/
Version:      2.0.2
Requires at least: 6.4
Requires PHP: 7.4
License:      GPL-2.0-or-later
Text Domain:  guillaume-adam-v2
*/

/* ---------- Polices (SIL Open Font License, voir dossier fonts) ---------- */
@font-face { font-family: "Archivo"; src: url("fonts/archivo.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Source Serif 4"; src: url("fonts/source-serif-4.woff2") format("woff2"); font-weight: 200 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Source Serif 4"; src: url("fonts/source-serif-4-italic.woff2") format("woff2"); font-weight: 200 900; font-style: italic; font-display: swap; }
@font-face { font-family: "Caveat"; src: url("fonts/caveat-600.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }

:root {
	--ga-green: #33e8a6;
	--ga-green-dark: #0b7a52;
	--ga-ink: #0c0c0c;
	--ga-text: #2b2b2b;
	--ga-text-2: #3d3d3d;
	--ga-muted: #5c5c5c;
	--ga-soft: #f4f7f5;
	--ga-line: #e3e8e5;
	--ga-line-2: #d5ddd8;
	--ga-radius: 10px;
	--ga-wrap: 1152px;
	--ga-read: 760px;
	--ga-sans: "Archivo", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--ga-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
	--ga-hand: "Caveat", "Bradley Hand", cursive;
	--ga-gutter: 24px;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: #fff; color: var(--ga-text); font-family: var(--ga-sans); font-size: 17px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
img, video { max-width: 100%; height: auto; }
a { color: var(--ga-green-dark); text-decoration-thickness: 1px; text-underline-offset: 2px; }
a:hover, a:focus { color: var(--ga-ink); }
:focus-visible { outline: 3px solid var(--ga-green); outline-offset: 2px; }
h1, h2, h3, h4 { font-family: var(--ga-sans); color: var(--ga-ink); line-height: 1.2; font-weight: 800; margin: 0 0 .5em; }
h1 { font-size: clamp(32px, 4.4vw, 48px); letter-spacing: -0.5px; }
h2 { font-size: clamp(25px, 2.8vw, 32px); }
h3 { font-size: 21px; }
p { margin: 0 0 1em; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ga-skip { position: absolute; left: -999px; top: 8px; background: var(--ga-ink); color: #fff; padding: 10px 14px; z-index: 100; border-radius: 6px; }
.ga-skip:focus { left: 8px; color: #fff; }
.ga-wrap { max-width: var(--ga-wrap); margin: 0 auto; padding: 0 var(--ga-gutter); }
.ga-read { max-width: calc(var(--ga-read) + 2 * var(--ga-gutter)); margin: 0 auto; padding: 0 var(--ga-gutter); }

/* ---------- Étiquettes ---------- */
.ga-label { font-family: var(--ga-hand); font-weight: 600; font-size: 27px; line-height: 1.1; color: var(--ga-green-dark); }
.ga-label--block { display: block; margin-bottom: 6px; }
.ga-cat { font-size: 14px; font-weight: 600; color: var(--ga-green-dark); }
.ga-badge { background: var(--ga-green); color: var(--ga-ink); font-size: 13px; font-weight: 700; padding: 3px 10px; border-radius: 4px; }
.ga-tags { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.ga-meta { font-size: 14px; color: var(--ga-muted); margin: 0; }
.ga-more { font-weight: 700; color: var(--ga-green-dark); }

/* ---------- Boutons ---------- */
.ga-btn, .wp-block-button__link, .wp-element-button {
	display: inline-flex; align-items: center; justify-content: center; min-height: 44px;
	padding: 12px 20px; border-radius: 8px; border: 2px solid transparent;
	font-family: var(--ga-sans); font-weight: 700; font-size: 16px; line-height: 1.2; text-decoration: none; text-align: center; cursor: pointer;
	transition: background-color .15s, color .15s, border-color .15s;
}
.ga-btn--dark { background: var(--ga-ink); color: #fff; }
.ga-btn--dark:hover, .ga-btn--dark:focus { background: var(--ga-green-dark); color: #fff; }
.ga-btn--green, .wp-block-button__link, .wp-element-button { background: var(--ga-green); color: var(--ga-ink); }
.ga-btn--green:hover, .wp-block-button__link:hover, .wp-element-button:hover { background: var(--ga-ink); color: #fff; }
.ga-btn--outline, .wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--ga-ink); border-color: var(--ga-ink); }
.ga-btn--outline:hover, .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--ga-ink); color: #fff; }
.ga-btn--lg { padding: 16px 26px; }
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin: 8px 0 1.5em; }

/* ---------- En-tête ---------- */
.ga-header { border-bottom: 1px solid var(--ga-line); background: #fff; position: relative; z-index: 20; }
.ga-header__inner { max-width: 1280px; margin: 0 auto; padding: 0 var(--ga-gutter); min-height: 88px; display: flex; align-items: center; gap: 24px; }
.ga-logo { display: block; flex-shrink: 0; margin-right: auto; }
.ga-logo img { height: 60px; width: auto; display: block; }
.ga-nav { display: flex; align-items: center; gap: 28px; }
.ga-nav__list { list-style: none; margin: 0; padding: 0; display: flex; gap: 26px; }
.ga-nav__list a { color: var(--ga-ink); text-decoration: none; font-weight: 600; font-size: 15px; padding: 6px 0; border-bottom: 2px solid transparent; }
.ga-nav__list a:hover { color: var(--ga-green-dark); }
.ga-nav__list .current-menu-item > a, .ga-nav__list .current_page_parent > a, .ga-nav__list .current-menu-ancestor > a { color: var(--ga-green-dark); border-bottom-color: var(--ga-green); }
.ga-nav__cta { font-size: 15px; padding: 10px 16px; }
.ga-menu-toggle, .ga-header__cta-mobile { display: none; }

/* ---------- Pied de page ---------- */
.ga-footer { background: var(--ga-ink); color: #d9d9d9; margin-top: 88px; }
.ga-footer__inner { max-width: var(--ga-wrap); margin: 0 auto; padding: 52px var(--ga-gutter) 28px; display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 32px; font-size: 15px; line-height: 1.9; }
.ga-footer__brand { display: flex; flex-direction: column; color: #b5b5b5; }
.ga-footer__name { color: #fff; font-weight: 800; font-size: 17px; letter-spacing: .5px; }
.ga-footer__title { color: #fff; font-weight: 700; display: block; }
.ga-footer ul { list-style: none; margin: 0; padding: 0; }
.ga-footer a { color: #d9d9d9; text-decoration: none; }
.ga-footer a:hover { color: var(--ga-green); }
.ga-footer__bottom { max-width: var(--ga-wrap); margin: 0 auto; padding: 20px var(--ga-gutter) 32px; border-top: 1px solid #2e2e2e; display: flex; justify-content: space-between; gap: 16px; font-size: 13px; color: #a3a3a3; flex-wrap: wrap; }

/* ---------- Blog : en-tête, catégories ---------- */
.ga-blog-head { background: var(--ga-soft); padding: 52px 0 44px; }
.ga-blog-head h1 { margin: 6px 0 12px; max-width: 820px; }
.ga-blog-head__text { font-family: var(--ga-serif); font-size: 19px; color: var(--ga-text-2); max-width: 720px; margin: 0; }
.ga-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.ga-chip { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 16px; border-radius: 999px; border: 1px solid var(--ga-line-2); background: #fff; color: var(--ga-ink); text-decoration: none; font-size: 14px; font-weight: 600; }
.ga-chip:hover { border-color: var(--ga-ink); color: var(--ga-ink); }
.ga-chip.is-active { background: var(--ga-ink); border-color: var(--ga-ink); color: #fff; }

/* Article mis en avant */
.ga-featured { margin-top: 52px; }
.ga-featured__link { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; text-decoration: none; color: inherit; }
.ga-featured__img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--ga-radius); display: block; }
.ga-featured__title { font-size: clamp(26px, 3vw, 34px); margin: 0 0 12px; }
.ga-featured__link:hover .ga-featured__title { color: var(--ga-green-dark); }
.ga-featured__excerpt { font-family: var(--ga-serif); font-size: 18px; color: var(--ga-text-2); margin: 0 0 12px; }
.ga-featured .ga-more { display: inline-block; margin-top: 12px; }

/* Grille de cartes */
.ga-list { margin-top: 64px; }
.ga-list__head { border-bottom: 1px solid var(--ga-line); padding-bottom: 12px; margin-bottom: 28px; }
.ga-list__head h2 { margin: 0; font-size: 26px; }
.ga-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 32px; }
.ga-card-post { display: flex; flex-direction: column; gap: 10px; text-decoration: none; color: inherit; }
.ga-card-post__img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 8px; display: block; }
.ga-card-post__title { font-size: 20px; line-height: 1.3; margin: 0; color: var(--ga-ink); }
.ga-card-post:hover .ga-card-post__title { color: var(--ga-green-dark); }
.ga-card-post__excerpt { font-family: var(--ga-serif); font-size: 16px; line-height: 1.55; color: #4a4a4a; margin: 0; }
.ga-pagination { margin-top: 44px; }
.ga-pagination .nav-links { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; }
.ga-pagination .page-numbers { min-width: 44px; height: 44px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--ga-line-2); border-radius: 6px; color: var(--ga-ink); text-decoration: none; font-weight: 700; }
.ga-pagination .page-numbers.current { background: var(--ga-ink); border-color: var(--ga-ink); color: #fff; }

/* Bandeau d'appel à l'action */
.ga-band { margin-top: 72px; background: var(--ga-green); border-radius: 14px; padding: 40px 48px; display: flex; align-items: center; justify-content: space-between; gap: 32px; color: var(--ga-ink); }
.ga-band h2 { margin: 0 0 6px; font-size: 28px; }
.ga-band p { margin: 0; max-width: 680px; }
.ga-band .ga-btn { white-space: nowrap; }

/* ---------- Article ---------- */
.ga-article__head { padding-top: 36px; max-width: calc(900px + 2 * var(--ga-gutter)); margin-left: max(0px, calc((100% - var(--ga-wrap)) / 2)); }
.ga-breadcrumb { font-size: 14px; color: var(--ga-muted); display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.ga-breadcrumb a { color: var(--ga-muted); }
.ga-article__title { margin: 0 0 16px; }
.ga-byline { font-size: 15px; color: var(--ga-muted); margin: 0 0 4px; }
.ga-byline strong { color: var(--ga-ink); }
.ga-article__hero { margin-top: 28px; }
.ga-article__img { width: 100%; max-height: 560px; object-fit: cover; border-radius: var(--ga-radius); display: block; }
.ga-article__layout { display: grid; grid-template-columns: minmax(0, var(--ga-read)) minmax(0, 300px); justify-content: space-between; gap: 56px; margin-top: 44px; align-items: start; }
.ga-article__layout--single { grid-template-columns: minmax(0, var(--ga-read)); }
.ga-article__aside { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 24px; }
.ga-toc { border: 1px solid var(--ga-line); border-radius: var(--ga-radius); padding: 18px 22px; }
.ga-toc ul, .ga-toc-mobile ul { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ga-toc a, .ga-toc-mobile a { color: var(--ga-text-2); text-decoration: none; font-size: 15px; line-height: 1.4; display: block; padding-left: 12px; border-left: 3px solid transparent; }
.ga-toc a:hover, .ga-toc-mobile a:hover { color: var(--ga-green-dark); border-left-color: var(--ga-green); }
.ga-toc-mobile { display: none; border: 1px solid var(--ga-line); border-radius: var(--ga-radius); padding: 12px 16px; margin-bottom: 24px; }
.ga-toc-mobile summary { cursor: pointer; min-height: 32px; display: flex; align-items: center; }
.ga-aside-cta { background: var(--ga-ink); color: #d9d9d9; border-radius: var(--ga-radius); padding: 22px; display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.ga-aside-cta strong { color: #fff; font-size: 18px; }
.ga-related { margin-top: 72px; }
.ga-related h2 { font-size: 26px; margin-bottom: 24px; }

/* ---------- Page ---------- */
.ga-page__head { padding-top: 52px; }
.ga-page__title { margin: 0 0 14px; }
.ga-page__lead { font-family: var(--ga-serif); font-size: 20px; color: var(--ga-text-2); }
.ga-page__hero { max-width: 1000px; margin: 28px auto 0; padding: 0 var(--ga-gutter); }
.ga-page__img { width: 100%; border-radius: var(--ga-radius); display: block; }
.ga-page .ga-content { margin-top: 28px; }
.ga-404 { padding-bottom: 40px; }
.ga-404__links { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px; }

/* ---------- Contenu éditorial (articles et pages) ---------- */
.ga-content { font-family: var(--ga-serif); font-size: 19px; line-height: 1.75; color: var(--ga-text); }
.ga-content > * { margin-top: 0; }
.ga-content h2 { font-family: var(--ga-sans); font-size: clamp(25px, 2.6vw, 30px); margin: 1.8em 0 .55em; scroll-margin-top: 20px; }
.ga-content h3 { font-family: var(--ga-sans); font-size: 21px; margin: 1.5em 0 .5em; }
.ga-content h2:first-child, .ga-content h3:first-child { margin-top: 0; }
.ga-content ul, .ga-content ol { padding-left: 1.3em; margin: 0 0 1.2em; }
.ga-content li { margin-bottom: .45em; }
.ga-content li::marker { color: var(--ga-green-dark); }
.ga-content strong { color: var(--ga-ink); }
.ga-content figure { margin: 1.6em 0; }
.ga-content .wp-block-image img { border-radius: var(--ga-radius); }
.ga-content figcaption { font-family: var(--ga-sans); font-size: 14px; color: var(--ga-muted); margin-top: 8px; text-align: center; }
.ga-content blockquote { margin: 1.6em 0; padding: 4px 0 4px 22px; border-left: 3px solid var(--ga-green); font-style: italic; }
.ga-content hr, .ga-content .wp-block-separator { border: 0; border-top: 1px solid var(--ga-line); margin: 2.4em 0; }
.ga-content .wp-block-buttons { font-family: var(--ga-sans); }
/* Tableaux */
.ga-content .wp-block-table { overflow-x: auto; margin: 1.6em 0; }
.ga-content table { width: 100%; border-collapse: separate; border-spacing: 0; font-family: var(--ga-sans); font-size: 16px; line-height: 1.5; border: 1px solid var(--ga-line); border-radius: var(--ga-radius); overflow: hidden; }
.ga-content th { background: var(--ga-ink); color: #fff; text-align: left; font-weight: 700; padding: 12px 16px; }
.ga-content td { padding: 12px 16px; border-top: 1px solid var(--ga-line); vertical-align: top; }
.ga-content tbody tr:nth-child(even) td { background: #f8faf9; }
/* Encadrés .ga-card (La réponse en bref, À propos de l'auteur…) */
.ga-content .ga-card { background: var(--ga-soft); border: 1px solid var(--ga-line); border-radius: var(--ga-radius); padding: 22px 26px; margin: 0 0 1.6em; }
.ga-content .ga-card > .wp-block-group__inner-container { padding: 0; }
.ga-content .ga-card p:last-child { margin-bottom: 0; }
.ga-content .ga-card h3 { margin-top: 0; }
/* Paragraphe « Pour aller plus loin » */
.ga-content .ga-more-links { font-family: var(--ga-sans); font-size: 16px; border-top: 1px solid var(--ga-line); padding-top: 18px; margin-top: 2em; }
/* Vidéos */
.ga-content .wp-block-embed { margin: 1.4em 0; }
.ga-content .wp-block-embed iframe { position: static !important; display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: var(--ga-radius); }
.ga-content .wp-block-embed__wrapper { position: relative; }
.ga-content .wp-has-aspect-ratio .wp-block-embed__wrapper::before { display: none; }
/* Colonnes */
.ga-content .wp-block-columns { display: flex; gap: 28px; margin: 1.4em 0; }
.ga-content .wp-block-column { flex: 1 1 0; min-width: 0; }

/* ---------- Accueil : sections pleine largeur ---------- */
.ga-home { font-family: var(--ga-sans); font-size: 17px; }
.ga-home > * { margin: 0; }
.ga-home .ga-section { padding: 80px var(--ga-gutter) 0; }
.ga-home .ga-section > .wp-block-group__inner-container, .ga-home .ga-inner { max-width: var(--ga-wrap); margin: 0 auto; padding: 0; }
.ga-home .ga-section.ga-soft { background: var(--ga-soft); padding-bottom: 80px; margin-top: 80px; }
.ga-home .ga-section.ga-dark { background: var(--ga-ink); color: #c9c9c9; padding: 36px var(--ga-gutter); }
.ga-home .ga-section.ga-green { background: var(--ga-green); padding: 32px var(--ga-gutter); }
.ga-home .ga-center { text-align: center; }
.ga-home .ga-intro { max-width: 760px; color: var(--ga-text-2); font-family: var(--ga-serif); font-size: 19px; }
.ga-home .ga-center.ga-intro, .ga-home .ga-center .ga-intro { margin-left: auto; margin-right: auto; }
.ga-home h2 { font-size: clamp(28px, 3.4vw, 38px); }
.ga-home p { margin-bottom: 1em; }
/* Héros */
.ga-home .ga-hero2 { padding: 64px var(--ga-gutter) 56px; }
.ga-home .ga-hero2 > .wp-block-group__inner-container { max-width: var(--ga-wrap); margin: 0 auto; }
.ga-home .ga-hero2 .wp-block-columns { align-items: center; gap: 56px; display: flex; }
.ga-home .ga-hero2 h1 { font-size: clamp(36px, 5vw, 58px); line-height: 1.07; letter-spacing: -1px; margin: 8px 0 20px; }
.ga-home .ga-hero2 .ga-lead { font-family: var(--ga-serif); font-size: 20px; color: var(--ga-text-2); }
.ga-home .ga-hero2 .wp-block-image img { width: 100%; aspect-ratio: 4 / 4.2; object-fit: cover; border-radius: 14px; }
.ga-home .ga-small { font-size: 14px; color: var(--ga-muted); }
/* Ancien héros (image de fond) */
.ga-hero.wp-block-cover { min-height: 66vh; padding: 48px var(--ga-gutter); }
.ga-hero .wp-block-cover__inner-container { max-width: var(--ga-wrap); margin: 0 auto; width: 100%; }
.ga-hero h1, .ga-hero p { color: #fff; max-width: 720px; }
/* Chiffres */
.ga-home .ga-stats .wp-block-columns { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; margin: 0; }
.ga-home .ga-stats .wp-block-column { border-left: 3px solid var(--ga-green); padding-left: 18px; }
.ga-home .ga-chiffre { font-size: 36px; font-weight: 900; line-height: 1.1; margin: 0 0 4px; color: inherit; }
.ga-home .ga-dark .ga-chiffre { color: #fff; }
.ga-home .ga-stats p { margin: 0; line-height: 1.45; font-size: 15px; }
.ga-home .ga-green .ga-chiffre { color: var(--ga-ink); }
.ga-home .ga-green p { color: var(--ga-ink); margin: 0; }
/* Ligne de crédibilité */
.ga-home .ga-proof { padding: 24px var(--ga-gutter); border-bottom: 1px solid var(--ga-line); }
.ga-home .ga-proof p { max-width: var(--ga-wrap); margin: 0 auto; font-size: 16px; color: var(--ga-text-2); font-weight: 600; }
.ga-home .ga-proof strong { color: var(--ga-ink); margin-right: 12px; }
/* Cartes de section */
.ga-home .ga-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 32px; }
.ga-home .ga-cards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ga-home .ga-cards > .wp-block-group__inner-container { display: contents; }
.ga-home .ga-box { border: 1px solid var(--ga-line); border-radius: 12px; padding: 24px; background: #fff; }
.ga-home .ga-box > .wp-block-group__inner-container { padding: 0; }
.ga-home .ga-box--soft { background: var(--ga-soft); border-color: transparent; }
.ga-home .ga-box h3 { font-size: 20px; margin: 0 0 8px; }
.ga-home .ga-box p { font-family: var(--ga-serif); font-size: 16px; line-height: 1.6; color: #4a4a4a; margin: 0 0 .6em; }
.ga-home .ga-box p:last-child { margin-bottom: 0; }
.ga-home .ga-step { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--ga-green); color: var(--ga-ink); font-weight: 900; font-size: 18px; margin: 0 0 12px !important; font-family: var(--ga-sans) !important; }
.ga-home .ga-bar::before { content: ""; display: block; width: 40px; height: 4px; background: var(--ga-green); border-radius: 2px; margin-bottom: 14px; }
.ga-home .ga-box .wp-block-image { margin: -24px -24px 18px; }
.ga-home .ga-box .wp-block-image img { width: 100%; height: 220px; object-fit: cover; border-radius: 12px 12px 0 0; display: block; }
.ga-home .ga-box ul { margin: 0; padding-left: 1.1em; font-family: var(--ga-serif); font-size: 16px; line-height: 1.55; color: var(--ga-text-2); }
.ga-home .ga-box li { margin-bottom: .35em; }
/* Encart entreprise */
.ga-home .ga-outline { border: 2px solid var(--ga-ink); border-radius: 16px; padding: 40px 48px; max-width: var(--ga-wrap); margin: 0 auto; }
.ga-home .ga-outline > .wp-block-group__inner-container { padding: 0; }
.ga-home .ga-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
.ga-home .ga-section-head h2 { margin: 4px 0 0; }
/* Derniers articles (bloc Derniers articles) */
.ga-home .wp-block-latest-posts.is-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; list-style: none; padding: 0; margin: 28px 0 0; }
.ga-home .wp-block-latest-posts.is-grid li { margin: 0; width: auto; display: flex; flex-direction: column; gap: 10px; }
.ga-home .wp-block-latest-posts__featured-image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 8px; display: block; }
.ga-home .wp-block-latest-posts__post-title { font-size: 20px; font-weight: 800; line-height: 1.3; color: var(--ga-ink); text-decoration: none; }
.ga-home .wp-block-latest-posts__post-title:hover { color: var(--ga-green-dark); }
.ga-home .wp-block-latest-posts__post-excerpt { font-family: var(--ga-serif); font-size: 16px; color: #4a4a4a; margin: 0; }
/* FAQ (bloc FAQ de Yoast) */
.ga-home .schema-faq-section, .ga-content .schema-faq-section { border-bottom: 1px solid var(--ga-line); padding: 18px 0; }
.ga-home .schema-faq-question, .ga-content .schema-faq-question { display: block; font-family: var(--ga-sans); font-size: 18px; font-weight: 700; color: var(--ga-ink); margin-bottom: 6px; }
.ga-home .schema-faq-answer, .ga-content .schema-faq-answer { font-family: var(--ga-serif); font-size: 17px; line-height: 1.65; color: var(--ga-text-2); margin: 0; }
/* Bandeau final */
.ga-home .ga-band-final { background: var(--ga-green); border-radius: 16px; padding: 48px; max-width: var(--ga-wrap); margin: 0 auto; }
.ga-home .ga-band-final > .wp-block-group__inner-container { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding: 0; }
.ga-home .ga-band-final h2 { margin: 0 0 6px; font-size: 32px; }
.ga-home .ga-band-final p { margin: 0; color: var(--ga-ink); }
.ga-home .ga-band-final .wp-block-buttons { margin: 0; flex-shrink: 0; }
.ga-home .ga-band-final .wp-block-button__link { background: var(--ga-ink); color: #fff; }
.ga-home .ga-band-final .wp-block-button__link:hover { background: #fff; color: var(--ga-ink); }
/* Réseaux */
.ga-home .wp-block-social-links { display: flex; gap: 16px; list-style: none; padding: 0; justify-content: center; }
.ga-home .wp-block-social-links svg { width: 32px; height: 32px; fill: var(--ga-ink); }
.ga-strava svg { width: 32px; height: 32px; }
.ga-social-row { display: flex; gap: 16px; justify-content: center; align-items: center; }

/* ---------- Tablette ---------- */
@media (max-width: 1080px) {
	.ga-nav__list { gap: 18px; }
	.ga-article__layout { grid-template-columns: minmax(0, 1fr); }
	.ga-article__aside { display: none; }
	.ga-toc-mobile { display: block; }
	.ga-home .ga-cards--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- Mobile ---------- */
@media (max-width: 860px) {
	:root { --ga-gutter: 16px; }
	body { font-size: 16px; }
	.ga-header__inner { min-height: 68px; gap: 10px; }
	.ga-logo img { height: 44px; }
	.ga-menu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; border-radius: 8px; background: var(--ga-soft); color: var(--ga-ink); cursor: pointer; }
	.ga-header__cta-mobile { display: inline-flex; font-size: 14px; padding: 10px 12px; min-height: 44px; }
	.ga-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-bottom: 1px solid var(--ga-line); padding: 8px var(--ga-gutter) 20px; flex-direction: column; align-items: stretch; gap: 12px; box-shadow: 0 12px 24px rgba(12, 12, 12, .08); }
	.ga-nav.is-open { display: flex; }
	.ga-nav__list { flex-direction: column; gap: 0; }
	.ga-nav__list a { display: block; padding: 14px 0; border-bottom: 1px solid var(--ga-line); font-size: 17px; }
	.ga-nav__cta { display: none; }

	.ga-blog-head { padding: 28px 0 24px; }
	.ga-blog-head__text { font-size: 17px; }
	.ga-chips { flex-wrap: nowrap; overflow-x: auto; margin: 18px calc(-1 * var(--ga-gutter)) 0; padding: 0 var(--ga-gutter) 4px; scrollbar-width: none; }
	.ga-chip { white-space: nowrap; }
	.ga-featured { margin-top: 28px; }
	.ga-featured__link { grid-template-columns: 1fr; gap: 16px; }
	.ga-featured__excerpt { font-size: 17px; }
	.ga-list { margin-top: 44px; }
	.ga-grid { grid-template-columns: 1fr; gap: 32px; }
	.ga-band { flex-direction: column; align-items: stretch; padding: 24px 20px; margin-top: 48px; }
	.ga-band h2 { font-size: 23px; }

	.ga-article__head { padding-top: 20px; }
	.ga-breadcrumb { display: none; }
	.ga-article__hero { margin-top: 16px; }
	.ga-article__img { aspect-ratio: 16 / 10; }
	.ga-article__layout { margin-top: 24px; }
	.ga-content { font-size: 18px; line-height: 1.7; }
	.ga-content .ga-card { padding: 16px 18px; }
	.ga-content table { font-size: 15px; }
	.ga-content th, .ga-content td { padding: 10px 12px; }
	.ga-content .wp-block-columns { flex-direction: column; gap: 16px; }
	.ga-page__head { padding-top: 28px; }
	.ga-page__lead { font-size: 18px; }
	.ga-related { margin-top: 48px; }
	.ga-footer { margin-top: 56px; }
	.ga-footer__inner { grid-template-columns: 1fr 1fr; padding-top: 36px; }
	.ga-footer__brand { grid-column: 1 / -1; }

	.ga-home .ga-section { padding-top: 52px; }
	.ga-home .ga-section.ga-soft { margin-top: 52px; padding-bottom: 52px; }
	.ga-home .ga-hero2 { padding: 28px var(--ga-gutter) 36px; }
	.ga-home .ga-hero2 .wp-block-columns { flex-direction: column; gap: 24px; }
	.ga-home .ga-hero2 .wp-block-column { width: 100%; }
	.ga-home .ga-hero2 .ga-lead { font-size: 17px; }
	.ga-home .ga-hero2 .wp-block-buttons { flex-direction: column; align-items: stretch; }
	.ga-home .ga-stats .wp-block-columns { grid-template-columns: 1fr 1fr; gap: 22px 16px; }
	.ga-home .ga-chiffre { font-size: 26px; }
	.ga-home .ga-cards, .ga-home .ga-cards--4 { grid-template-columns: 1fr; gap: 16px; margin-top: 20px; }
	.ga-home .ga-box { padding: 18px; }
	.ga-home .ga-box .wp-block-image { margin: -18px -18px 14px; }
	.ga-home .ga-box .wp-block-image img { height: 180px; }
	.ga-home .ga-outline { padding: 24px 20px; }
	.ga-home .wp-block-latest-posts.is-grid { grid-template-columns: 1fr; gap: 24px; }
	.ga-home .ga-band-final { padding: 24px 20px; }
	.ga-home .ga-band-final > .wp-block-group__inner-container { flex-direction: column; align-items: stretch; gap: 16px; }
	.ga-home .ga-band-final h2 { font-size: 24px; }
	.ga-hero.wp-block-cover { min-height: auto; padding: 64px var(--ga-gutter) 48px; }
}

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

/* ===== Accueil, fidèle à la maquette (2.0.1) ===== */
.ga-home .ga-label { margin: 0 0 6px; }
.ga-home .ga-label + h1, .ga-home .ga-label + h2 { margin-top: 0; }
.ga-home .ga-cards + p { margin-top: 20px; }
.ga-home .ga-section--last { padding-bottom: 72px; }

/* Haut de page : deux colonnes égales, photo haute et badge chrono */
.ga-home .ga-hero2 .wp-block-columns { gap: 56px; }
.ga-home .ga-hero2 .wp-block-column { flex: 1 1 0 !important; min-width: 0; }
.ga-home .ga-hero2 h1 { font-size: clamp(36px, 4.4vw, 56px); line-height: 1.08; margin: 0 0 22px; }
.ga-home .ga-hero2 .ga-lead { font-size: 19px; line-height: 1.6; color: #3d3d3d; margin: 0 0 22px; }
.ga-home .ga-hero2 .wp-block-buttons { margin: 0 0 22px; }
.ga-home .ga-hero2 .ga-small { margin: 0; }
.ga-home .ga-hero-media { position: relative; }
.ga-home .ga-hero-media .wp-block-image { margin: 0; }
.ga-home .ga-hero2 .ga-hero-media img { width: 100%; height: 520px; aspect-ratio: auto; object-fit: cover; border-radius: 14px; display: block; }
.ga-home .ga-badge { position: absolute; left: -28px; bottom: 32px; background: #fff; border-radius: 10px; padding: 16px 20px; box-shadow: 0 12px 32px rgba(12, 12, 12, .14); }
.ga-home .ga-badge p { margin: 0; }
.ga-home .ga-badge .ga-badge__n { font-size: 30px; font-weight: 900; line-height: 1.1; color: var(--ga-ink); }
.ga-home .ga-badge .ga-badge__l { font-size: 14px; color: #4a4a4a; }

/* Bandeau de chiffres */
.ga-home .ga-stats .wp-block-columns { max-width: var(--ga-wrap); margin: 0 auto; }
.ga-home .ga-dark .ga-stats__l, .ga-home .ga-dark .wp-block-column p:not(.ga-chiffre) { color: #c9c9c9; }

/* Ligne « Publié et diffusé dans » */
.ga-home .ga-proof { padding: 26px var(--ga-gutter); }
.ga-home .ga-proof__row > .wp-block-group__inner-container, .ga-home .ga-proof__row.is-layout-flex { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 40px; max-width: var(--ga-wrap); margin: 0 auto; }
.ga-home .ga-proof .ga-proof__row p { margin: 0; font-size: 17px; font-weight: 700; color: #3d3d3d; max-width: none; }
.ga-home .ga-proof .ga-proof__row p.ga-proof__lead { font-size: 15px; color: var(--ga-ink); }
.ga-home .ga-proof .ga-proof__row a { color: inherit; text-decoration: none; }
.ga-home .ga-proof .ga-proof__row a:hover { color: var(--ga-green-dark); }

/* Étapes : cartes vert pâle */
.ga-home .ga-box--soft { padding: 28px; }
.ga-home .ga-box--soft h3 { font-size: 21px; }

/* Science : encart arrondi */
.ga-home .ga-sci { background: var(--ga-soft); border-radius: 16px; padding: 48px; gap: 48px; max-width: var(--ga-wrap); margin: 0 auto; align-items: center; }
.ga-home .ga-sci h2 { font-size: 34px; }
.ga-home .ga-pub { background: #fff; border: 1px solid var(--ga-line); border-radius: 10px; padding: 20px 22px; margin: 0 0 14px; }
.ga-home .ga-pub:last-child { margin-bottom: 0; }
.ga-home .ga-pub p { margin: 0 0 6px; font-family: var(--ga-sans); }
.ga-home .ga-pub p:last-child { margin: 0; }
.ga-home .ga-pub .ga-pub__src { font-size: 12px; font-weight: 800; color: var(--ga-green-dark); }
.ga-home .ga-pub .ga-pub__title { font-size: 16px; font-weight: 700; line-height: 1.4; }
.ga-home .ga-pub .ga-pub__title a { color: var(--ga-ink); text-decoration: none; }
.ga-home .ga-pub .ga-pub__title a:hover { color: var(--ga-green-dark); }
.ga-home .ga-pub .ga-pub__authors { font-size: 14px; color: var(--ga-muted); }

/* Palmarès : photo en tête, lignes simples */
.ga-home .ga-box--media { padding: 0; overflow: hidden; }
.ga-home .ga-box--media .wp-block-image { margin: 0; }
.ga-home .ga-box--media .wp-block-image img { border-radius: 0; height: 220px; }
.ga-home .ga-box--media h3, .ga-home .ga-box--media p { padding: 0 24px; }
.ga-home .ga-box--media h3 { margin: 22px 0 10px; }
.ga-home .ga-box--media p { font-family: var(--ga-sans); font-size: 15px; line-height: 1.55; color: #3d3d3d; margin: 0 0 10px; }
.ga-home .ga-box--media p:last-child { margin-bottom: 22px; }

/* Entreprise : texte à gauche, contact à droite */
.ga-home .ga-outline .wp-block-columns { align-items: center; gap: 40px; margin: 0; }
.ga-home .ga-outline h2 { font-size: 30px; margin: 0 0 10px; }
.ga-home .ga-outline .ga-right { text-align: right; flex: 0 0 auto !important; }
.ga-home .ga-outline .ga-right .wp-block-buttons { justify-content: flex-end; margin: 0 0 10px; }
.ga-home .ga-btn-dark .wp-block-button__link { background: var(--ga-ink); color: #fff; }
.ga-home .ga-btn-dark .wp-block-button__link:hover { background: var(--ga-green); color: var(--ga-ink); }
.ga-home .ga-outline p { margin: 0; }

/* Derniers articles : image, catégorie, titre */
.ga-home .ga-latest .wp-block-post-template { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; list-style: none; padding: 0; margin: 28px 0 0; }
.ga-home .ga-latest .wp-block-post { margin: 0; width: auto; display: flex; flex-direction: column; gap: 10px; }
.ga-home .ga-latest .wp-block-post-featured-image { margin: 0; }
.ga-home .ga-latest .wp-block-post-featured-image img { width: 100%; aspect-ratio: 16 / 10; height: auto; object-fit: cover; border-radius: 8px; display: block; }
.ga-home .ga-latest .wp-block-post-terms { font-size: 14px; font-weight: 600; color: var(--ga-green-dark); margin: 0; }
.ga-home .ga-latest .wp-block-post-terms a { color: inherit; text-decoration: none; }
.ga-home .ga-latest .wp-block-post-title { font-size: 20px; line-height: 1.3; margin: 0; }
.ga-home .ga-latest .wp-block-post-title a { color: var(--ga-ink); text-decoration: none; }
.ga-home .ga-latest .wp-block-post-title a:hover { color: var(--ga-green-dark); }

/* FAQ : titre à gauche, questions à droite */
.ga-home .ga-faq-cols { gap: 56px; margin: 0; }
.ga-home .ga-faq-cols > .wp-block-column:first-child { flex: 0 0 380px !important; }
.ga-home .ga-faq-cols h2 { font-size: 34px; line-height: 1.2; }
.ga-home .ga-faq-cols .schema-faq-section:first-child { padding-top: 0; }

@media (max-width: 860px) {
	.ga-home .ga-hero2 .wp-block-columns { gap: 28px; }
	.ga-home .ga-hero2 .ga-hero-media img { height: 340px; }
	.ga-home .ga-badge { left: 12px; bottom: 12px; padding: 12px 16px; }
	.ga-home .ga-badge .ga-badge__n { font-size: 24px; }
	.ga-home .ga-proof__row > .wp-block-group__inner-container { gap: 6px 20px; }
	.ga-home .ga-proof .ga-proof__row p { font-size: 15px; }
	.ga-home .ga-sci { padding: 24px 20px; gap: 24px; flex-direction: column; }
	.ga-home .ga-sci h2 { font-size: 28px; }
	.ga-home .ga-box--soft { padding: 20px; }
	.ga-home .ga-box--media .wp-block-image img { height: 200px; }
	.ga-home .ga-box--media h3, .ga-home .ga-box--media p { padding: 0 18px; }
	.ga-home .ga-outline .wp-block-columns { flex-direction: column; align-items: stretch; gap: 16px; }
	.ga-home .ga-outline .ga-right { text-align: left; }
	.ga-home .ga-outline .ga-right .wp-block-buttons { justify-content: flex-start; }
	.ga-home .ga-latest .wp-block-post-template { grid-template-columns: 1fr; gap: 24px; }
	.ga-home .ga-faq-cols { flex-direction: column; gap: 16px; }
	.ga-home .ga-faq-cols > .wp-block-column:first-child { flex: 1 1 auto !important; }
	.ga-home .ga-faq-cols h2 { font-size: 26px; }
	.ga-home .ga-section--last { padding-bottom: 40px; }
}
