/* Bureau, direction A « Plein cadre » (pack « vega », maquettes desktop/01 et 02). Chargée à partir de 1024 px.
   Largeur de référence 1440, 12 colonnes de 88, gouttière 24, conteneur 1320, marge 60.
   Colonne i : départ 60 + (i-1) × 112. Concerne l'accueil et l'article ; les autres pages restent en mobile dérivé. */

/* Fond atmosphère, géométrie bureau : bleu cx 30, cy 60, r 720 ; braise cx 1450, cy 820, r 640 ; hauteur 1500 */
.tap-ambient { height: 1500px;
	background:
		radial-gradient(circle 720px at 30px 60px, rgb(var(--tap-ambient-navy) / .7) 0%, rgb(var(--tap-ambient-navy) / .35) 55%, rgb(var(--tap-ambient-navy) / 0) 100%),
		radial-gradient(circle 640px at 1450px 820px, rgb(var(--tap-ambient-ember) / .38) 0%, rgb(var(--tap-ambient-ember) / .19) 55%, rgb(var(--tap-ambient-ember) / 0) 100%); }

/* Conteneurs accueil et article */
.tap-home, .tap-article { max-width: 1440px; padding: 0 60px; }

/* En-tête : une rangée de 84 px (menu et date à gauche, logo officiel de 320 px au centre, recherche et pastille à droite) */
.tap-hd--home, .tap-hd--compact { max-width: none; padding: 0 60px; }
.tap-hd__row--top { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; height: 84px; border-bottom: 0; }
.tap-hd__side { display: flex; align-items: center; gap: 24px; }
.tap-hd__side--l { justify-content: flex-start; }
.tap-hd__side--r { justify-content: flex-end; }
.tap-hd__logo { width: auto; justify-self: center; }
.tap-hd__logo .tap-lockup { width: 320px; }
.tap-hd__row--meta { display: none; }
.tap-hd__date--d { display: inline; font: 400 11px/14px var(--tap-mono); letter-spacing: 1.5px; color: var(--tap-grey-2); }
.tap-pill--d { display: inline-flex; }
.tap-pill--m { display: none; }
.tap-tabs { height: 48px; justify-content: center; gap: 28px; overflow: visible; border-bottom: 1px solid var(--tap-line); }
.tap-tabs__link { font-size: 13px; }

/* Une plein cadre : photo 1440 × 640, titre et chapô posés sur la photo */
.tap-home .tap-une { position: relative; margin: 0 -60px; padding-top: 0; }
.tap-home .tap-une .tap-media--une { width: 100%; height: 640px; aspect-ratio: auto; border-radius: 0; }
.tap-home .tap-une::after { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 640px; z-index: 0; pointer-events: none;
	background: linear-gradient(to top, rgb(15 15 15 / .92) 0%, rgb(15 15 15 / .5) 45%, rgb(15 15 15 / 0) 100%); }
.tap-home .tap-une__over { position: absolute; z-index: 1; left: 60px; right: 60px; bottom: 56px; max-width: 984px; }
.tap-home .tap-une .tap-meta { margin-top: 0; }
.tap-une__title { margin-top: 12px; font: 600 64px/70px var(--tap-serif); color: var(--tap-white); }
.tap-une__title a { text-decoration: none; }
.tap-une__chapo { margin-top: 16px; max-width: 760px; font: 400 18px/26px var(--tap-sans); color: var(--tap-grey-1); }
.tap-home .tap-une + .tap-block { margin-top: var(--tap-block); }

/* Grilles : Canada = trois cartes égales (4 colonnes) puis des textes (3 colonnes) ;
   Afrique = grande à gauche ; Canada-Afrique = grande à droite (miroir). */
.tap-home .tap-grid__head { padding: 0 0 16px; border-top: 0; border-bottom: 1px solid var(--tap-line); }
.tap-home .tap-grid__name { font: 600 32px/38px var(--tap-serif); }
.tap-home .tap-grid__sub { font-size: 14px; }
.tap-home .tap-grid__list { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: 24px; row-gap: 24px; margin-top: 24px; }
.tap-home .tap-grid__item:not(:last-child) { border-bottom: 0; }
.tap-home .tap-grid__item--grande, .tap-home .tap-grid__item--moyenne { grid-column: span 4; }
.tap-home .tap-grid__item--texte { grid-column: span 3; }
.tap-home .tap-card--moyenne { display: block; padding: 0; }
.tap-home .tap-card--moyenne .tap-media--moyenne { width: 100%; height: auto; aspect-ratio: 424 / 240; }
.tap-home .tap-card--moyenne .tap-card__body { margin-top: 14px; }
.tap-home .tap-card__title { font: 600 18px/24px var(--tap-sans); }
/* Trois colonnes verticales : une large, deux piles séparées par filets fins. */
.tap-home .tap-grid__columns { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr); gap:24px; margin-top:24px; }
.tap-home .tap-grid__columns--1 { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); }
.tap-home .tap-grid__columns--0 { grid-template-columns:1fr; }
.tap-home .tap-grid__lead { min-width:0; }
.tap-home .tap-grid__stack { min-width:0; border-left:1px solid var(--tap-line); padding-left:24px; display:flex; flex-direction:column; gap:24px; }
.tap-home .tap-grid__columns .tap-grid__item { border:0; padding:0; }
.tap-home .tap-grid--canada-afrique .tap-grid__lead { grid-column:3; grid-row:1; }
.tap-home .tap-grid--canada-afrique .tap-grid__columns--1 .tap-grid__lead { grid-column:2; }
.tap-home .tap-grid--canada-afrique .tap-grid__columns--0 .tap-grid__lead { grid-column:1; }
.tap-home .tap-grid--canada-afrique .tap-grid__columns--2 { grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr); }
.tap-home .tap-grid--canada-afrique .tap-grid__columns--1 { grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); }
.tap-home .tap-grid--canada-afrique .tap-grid__stack { border-left:0; border-right:1px solid var(--tap-line); padding-left:0; padding-right:24px; }
.tap-home .tap-grid__all { font-size: 11px; }

/* Séparateurs de données, en bureau */
.tap-home .tap-sep__title { font: 600 24px/30px var(--tap-serif); }
.tap-home .tap-tape__value { font: 600 26px/32px var(--tap-sans); }

/* Opinion : mot serif 700 bleu 44 px, avatar et champs dynamiques */
.tap-home .tap-opinion { padding: 40px; }
.tap-home .tap-opinion__word { font: 700 44px/50px var(--tap-serif); }
.tap-home .tap-opinion__title { font: 600 32px/38px var(--tap-serif); }
.tap-home .tap-opinion__chapo { font: 400 16px/26px var(--tap-sans); max-width: 760px; }
.tap-home .tap-opinion__avatar { width: 96px; height: 96px; flex-basis: 96px; }
.tap-home .tap-opinion__avatar img { width: 96px; height: 96px; }

/* Brief : deux colonnes (texte à gauche, formulaire à droite) */
.tap-home .tap-brief { display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; }
.tap-home .tap-brief__title { font: 600 40px/44px var(--tap-serif); }

/* Article : titre 64/70 sur 9 colonnes, chapô 22/34 sur 7 colonnes, photo 1440 × 640,
   colonne de texte de 6 colonnes calée sur la colonne 4 (départ 396) */
.tap-article .tap-hd--compact .tap-hd__row--top { display: grid; grid-template-columns: 1fr auto 1fr; height: 84px; }
.tap-article .tap-hd__logo .tap-lockup { width: 320px; }
.tap-article .tap-hd--compact .tap-hd__icon:last-child { justify-self: end; }
.tap-article .tap-hd--compact .tap-hd__icon:first-child { justify-self: start; }
.tap-article__in { max-width: none; }
.tap-article__head { padding-top: 40px; }
.tap-article__title { max-width: 984px; font: 600 64px/70px var(--tap-serif); margin-top: 20px; }
.tap-article__chapo { max-width: 760px; font: 400 22px/34px var(--tap-sans); margin-top: 24px; }
.tap-article .tap-byline { margin-top: 32px; }
.tap-article__photo { margin: 40px -60px 0; }
.tap-article .tap-media--article { width: 100%; height: 640px; aspect-ratio: auto; border-radius: 0; }
.tap-article__credit { padding: 12px 60px 0; }
.tap-article__body { max-width: 648px; margin-left: 336px; font: 400 19px/32px var(--tap-sans); }
.tap-article__body h2, .tap-article__body h3 { font: 600 32px/40px var(--tap-serif); }
.tap-article__body blockquote { margin-left: -112px; width: 872px; font: 600 38px/48px var(--tap-serif); }
.tap-retenir { margin-left: -112px; width: 872px; }
.tap-article__fix { margin-left: 336px; }
.tap-next { margin-top: 96px; }
.tap-next .tap-grid__list { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: 24px; }
.tap-next .tap-grid__item { grid-column: span 4; }
.tap-next .tap-card--moyenne { display: block; padding: 0; }
.tap-next .tap-card--moyenne .tap-media--moyenne { width: 100%; height: auto; aspect-ratio: 3 / 2; }
.tap-next .tap-card--moyenne .tap-card__title { font: 600 26px/32px var(--tap-serif); margin-top: 12px; }
.tap-article .tap-brief { margin-top: 96px; }
