/* ==========================================================================
   Biha_Theme — feuille de style principale
   --------------------------------------------------------------------------
   Convention anti-conflit :
   - Toutes les classes du thème commencent par « bt- ».
   - Les styles d'éléments HTML génériques (h1, table, img, a…) sont écrits
     dans :where() → spécificité nulle : le CSS de n'importe quel plugin
     (bandeau des matchs, classements, clubs, Facebook…) passe toujours devant.
   - Aucun !important.
   ========================================================================== */

/* ---------- Polices (hébergées localement, aucune requête vers Google) ---------- */
@font-face {
	font-family: "Barlow Condensed";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/barlow-condensed-latin-600-normal.woff2") format("woff2");
}
@font-face {
	font-family: "Barlow Condensed";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/barlow-condensed-latin-700-normal.woff2") format("woff2");
}
@font-face {
	font-family: "Barlow Condensed";
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url("../fonts/barlow-condensed-latin-800-normal.woff2") format("woff2");
}
@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/inter-latin-wght-normal.woff2") format("woff2");
}

/* ---------- Jetons ---------- */
:root {
	--bt-black: #111111;
	--bt-yellow: #FDDA24;
	--bt-red: #EF3340;
	--bt-ink: #1b1d21;
	--bt-muted: #5f656d;
	--bt-line: #e2e4e8;
	--bt-ice: #eef0f3;
	--bt-white: #ffffff;
	--bt-dark: #141414;
	--bt-dark-2: #1e1e1e;
	--bt-dark-text: #b9bcc1;

	--bt-font-display: "Barlow Condensed", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
	--bt-font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;

	--bt-container: 1720px;
	--bt-gutter: clamp(16px, 3vw, 32px);
	--bt-radius: 6px;
	--bt-header-h: 64px;
	--bt-shadow: 0 1px 2px rgba(17, 17, 17, .06), 0 6px 18px rgba(17, 17, 17, .06);
	--bt-admin-bar: 0px;
}
.admin-bar { --bt-admin-bar: 32px; }
@media (max-width: 782px) { .admin-bar { --bt-admin-bar: 46px; } }
@media (max-width: 600px) { .admin-bar { --bt-admin-bar: 0px; } }

/* ---------- Base (spécificité 0) ---------- */
:where(html) { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--bt-header-h) + 16px); }
:where(body.biha-theme) {
	margin: 0;
	background: var(--bt-ice);
	color: var(--bt-ink);
	font-family: var(--bt-font-body);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
:where(.biha-theme) :where(*, *::before, *::after) { box-sizing: border-box; }
:where(.biha-theme) :where(img, video, iframe, embed, object) { max-width: 100%; }
:where(.biha-theme) :where(img) { height: auto; }
:where(.biha-theme) :where(a) { color: inherit; }
:where(.biha-theme) :where(h1, h2, h3, h4, h5, h6) {
	font-family: var(--bt-font-display);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: .005em;
	margin: 1.4em 0 .5em;
}
:where(.biha-theme) :where(button, input, select, textarea) { font: inherit; }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute; word-wrap: normal;
}
.skip-link:focus {
	clip: auto; clip-path: none; height: auto; width: auto; margin: 0;
	position: fixed; top: 8px; left: 8px; z-index: 100000;
	padding: 12px 18px; background: var(--bt-yellow); color: var(--bt-black);
	font-weight: 700; border-radius: var(--bt-radius);
}

.bt-container {
	width: 100%;
	max-width: var(--bt-container);
	margin-inline: auto;
	padding-inline: var(--bt-gutter);
}
.bt-icon { width: 22px; height: 22px; fill: currentColor; display: inline-block; vertical-align: middle; flex: none; }

/* ---------- Bandeau des scores ----------
   On ne style PAS le contenu du plugin : seulement son conteneur. */
.bt-ticker { position: relative; z-index: 2; width: 100%; }

/* ---------- Bande tricolore ---------- */
.bt-tricolor { display: flex; height: 4px; }
.bt-tricolor span { flex: 1; }
.bt-tricolor span:nth-child(1) { background: #000; }
.bt-tricolor span:nth-child(2) { background: var(--bt-yellow); }
.bt-tricolor span:nth-child(3) { background: var(--bt-red); }

/* ==========================================================================
   En-tête
   ========================================================================== */
.bt-header { position: relative; z-index: 90; background: var(--bt-black); color: #fff; }
.bt-sticky-nav .bt-header { position: sticky; top: var(--bt-admin-bar); }
.bt-header.is-scrolled { box-shadow: 0 6px 20px rgba(0, 0, 0, .35); }

.bt-header__bar { background: var(--bt-black); }
.bt-header__inner {
	display: flex;
	align-items: center;
	gap: 20px;
	min-height: var(--bt-header-h);
}

/* Marque */
.bt-brand { display: flex; align-items: center; gap: 12px; flex: none; }
.bt-brand .custom-logo-link { display: block; line-height: 0; }
.bt-brand .custom-logo { width: auto; max-height: 46px; }
.bt-brand__name {
	display: flex; align-items: baseline; gap: 10px;
	color: #fff; text-decoration: none;
}
.bt-brand__short {
	font-family: var(--bt-font-display);
	font-weight: 800;
	font-size: 30px;
	letter-spacing: .02em;
	line-height: 1;
	position: relative;
	padding-bottom: 3px;
	background: linear-gradient(90deg, var(--bt-yellow) 0 50%, var(--bt-red) 50% 100%) left bottom / 100% 3px no-repeat;
}
.bt-brand__long {
	font-family: var(--bt-font-display);
	font-weight: 600;
	font-size: 15px;
	color: #a9acb2;
	text-transform: uppercase;
	letter-spacing: .06em;
	max-width: 12em;
	line-height: 1.1;
	display: none;
}
@media (min-width: 1680px) { .bt-brand__long { display: block; } }
@media (min-width: 1101px) and (max-width: 1360px) {
	.bt-nav__menu > li > a { padding-inline: 9px; font-size: 16px; }
	.bt-nav__menu > .menu-item-has-children > a { padding-right: 22px; }
	.bt-utility__menu a { padding: 0 10px; font-size: 14px; }
}

/* Navigation principale */
.bt-nav { flex: 1; min-width: 0; }
.bt-nav__menu, .bt-nav__menu ul { list-style: none; margin: 0; padding: 0; }
.bt-nav__menu { display: flex; align-items: center; flex-wrap: nowrap; }
.bt-nav__menu > li > a { white-space: nowrap; }
.bt-nav__menu > li { position: relative; }
.bt-nav__menu a {
	display: block;
	color: #e9eaec;
	text-decoration: none;
	font-family: var(--bt-font-display);
	font-weight: 600;
	font-size: 17px;
	letter-spacing: .04em;
	text-transform: uppercase;
	line-height: 1.2;
}
.bt-nav__menu > li > a {
	padding: 22px 12px 19px;
	border-bottom: 3px solid transparent;
}
.bt-nav__menu > li > a:hover,
.bt-nav__menu > li:focus-within > a { color: var(--bt-yellow); }
.bt-nav__menu > .current-menu-item > a,
.bt-nav__menu > .current-menu-ancestor > a,
.bt-nav__menu > .current_page_item > a { color: #fff; border-bottom-color: var(--bt-yellow); }

.bt-nav__menu > .menu-item-has-children > a { padding-right: 26px; }
.bt-nav__menu > .menu-item-has-children > a::after {
	content: "";
	position: absolute;
	right: 10px; top: 50%;
	width: 6px; height: 6px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-70%) rotate(45deg);
	opacity: .8;
}
.bt-subtoggle { display: none; }

/* Sous-menus (desktop) */
.bt-nav__menu .sub-menu,
.bt-nav__menu .children {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 240px;
	background: #1a1a1a;
	border-top: 3px solid var(--bt-yellow);
	box-shadow: 0 16px 30px rgba(0, 0, 0, .35);
	padding: 8px 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .15s ease, transform .15s ease, visibility .15s;
	z-index: 5;
}
.bt-nav__menu li:hover > .sub-menu,
.bt-nav__menu li:focus-within > .sub-menu,
.bt-nav__menu li:hover > .children,
.bt-nav__menu li:focus-within > .children { opacity: 1; visibility: visible; transform: none; }
.bt-nav__menu .sub-menu a,
.bt-nav__menu .children a {
	padding: 10px 18px;
	font-size: 16px;
	letter-spacing: .02em;
	color: #d7d9dc;
}
.bt-nav__menu .sub-menu a:hover,
.bt-nav__menu .children a:hover { background: #262626; color: var(--bt-yellow); }
.bt-nav__menu .sub-menu .sub-menu { top: -11px; left: 100%; }

.bt-nav__mobile-extra { display: none; }

/* Outils (boutons, langue, recherche) */
.bt-tools { display: flex; align-items: center; gap: 14px; flex: none; margin-left: auto; }
.bt-utility__menu { list-style: none; display: flex; gap: 8px; margin: 0; padding: 0; }
.bt-utility__menu a {
	display: inline-flex;
	align-items: center;
	height: 34px;
	padding: 0 14px;
	border: 1.5px solid #4a4a4a;
	border-radius: 4px;
	color: #fff;
	text-decoration: none;
	font-family: var(--bt-font-display);
	font-weight: 700;
	font-size: 15px;
	letter-spacing: .05em;
	text-transform: uppercase;
	white-space: nowrap;
	transition: background .15s, border-color .15s, color .15s;
}
.bt-utility__menu a:hover { border-color: var(--bt-yellow); color: var(--bt-yellow); }
.bt-utility__menu li:last-child a,
.bt-utility__menu .is-highlight a { background: var(--bt-yellow); border-color: var(--bt-yellow); color: var(--bt-black); }
.bt-utility__menu li:last-child a:hover,
.bt-utility__menu .is-highlight a:hover { background: #fff; border-color: #fff; color: var(--bt-black); }

.bt-lang { list-style: none; display: flex; gap: 2px; margin: 0; padding: 0; }
.bt-lang a {
	display: block;
	padding: 4px 6px;
	color: #9ea2a8;
	text-decoration: none;
	font-family: var(--bt-font-display);
	font-weight: 700;
	font-size: 15px;
	letter-spacing: .05em;
	border-radius: 3px;
}
.bt-lang a:hover { color: #fff; }
.bt-lang a.is-current { color: var(--bt-black); background: #fff; }

.bt-search-toggle, .bt-burger {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px;
	padding: 0;
	background: transparent;
	color: #fff;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
}
.bt-search-toggle:hover, .bt-burger:hover { background: #262626; color: var(--bt-yellow); }
.bt-burger { display: none; }
.bt-burger__close { display: none; }

:where(.bt-header) :where(a, button):focus-visible { outline: 2px solid var(--bt-yellow); outline-offset: 2px; }

/* Panneau de recherche */
.bt-search { background: #1a1a1a; padding: 18px 0; border-top: 1px solid #2a2a2a; }
.bt-searchform { display: flex; max-width: 720px; margin: 0 auto; }
.bt-searchform__input {
	flex: 1;
	min-width: 0;
	height: 48px;
	padding: 0 16px;
	border: 2px solid #d6d8dc;
	border-right: 0;
	border-radius: var(--bt-radius) 0 0 var(--bt-radius);
	background: #fff;
	color: var(--bt-ink);
	font-size: 16px;
}
.bt-searchform__input:focus { outline: none; border-color: var(--bt-yellow); }
.bt-searchform__btn {
	width: 56px;
	height: 48px;
	border: 0;
	border-radius: 0 var(--bt-radius) var(--bt-radius) 0;
	background: var(--bt-yellow);
	color: var(--bt-black);
	cursor: pointer;
}
.bt-searchform__btn:hover { background: var(--bt-red); color: #fff; }

.bt-overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, .55); z-index: 80; }

/* ---------- Menu « tiroir » (téléphone, tablette, ou dès que le menu ne tient plus sur une ligne) ----------
   La classe .bt-nav-drawer est posée sur <html> par le thème (script en tête de page + main.js). */
.bt-nav-drawer { --bt-header-h: 58px; }
.bt-nav-drawer .bt-burger { display: inline-flex; margin-left: -8px; }
.bt-nav-drawer .bt-brand__short { font-size: 26px; }
.bt-nav-drawer .bt-brand .custom-logo { max-height: 38px; }
.bt-nav-drawer .bt-utility { display: none; }

.bt-nav-drawer .bt-nav {
	position: fixed;
	top: calc(var(--bt-admin-bar) + var(--bt-header-h) + 4px);
	left: 0;
	bottom: 0;
	width: min(86vw, 380px);
	background: var(--bt-black);
	overflow-y: auto;
	overscroll-behavior: contain;
	transform: translateX(-100%);
	transition: transform .25s ease;
	z-index: 95;
	padding: 8px 0 32px;
	visibility: hidden;
}
.bt-nav-drawer .bt-nav-open .bt-nav { transform: none; visibility: visible; }
.bt-nav-drawer .bt-nav-open .bt-burger__open { display: none; }
.bt-nav-drawer .bt-nav-open .bt-burger__close { display: inline; }

.bt-nav-drawer .bt-nav__menu { display: block; }
.bt-nav-drawer .bt-nav__menu > li { border-bottom: 1px solid #262626; }
.bt-nav-drawer .bt-nav__menu > li > a { padding: 15px 64px 15px 20px; font-size: 19px; border-bottom: 0; }
.bt-nav-drawer .bt-nav__menu > .current-menu-item > a,
.bt-nav-drawer .bt-nav__menu > .current-menu-ancestor > a,
.bt-nav-drawer .bt-nav__menu > .current_page_item > a { box-shadow: inset 4px 0 0 var(--bt-yellow); }
.bt-nav-drawer .bt-nav__menu > .menu-item-has-children > a::after { display: none; }

.bt-nav-drawer .bt-subtoggle {
	display: inline-flex; align-items: center; justify-content: center;
	position: absolute; top: 4px; right: 8px;
	width: 46px; height: 46px;
	background: transparent; border: 0; color: #fff; cursor: pointer;
}
.bt-nav-drawer .bt-subtoggle[aria-expanded="true"] .bt-icon { transform: rotate(180deg); }
.bt-nav-drawer .bt-subtoggle .bt-icon { transition: transform .2s; }

.bt-nav-drawer .bt-nav__menu .sub-menu,
.bt-nav-drawer .bt-nav__menu .children {
	position: static;
	display: none;
	opacity: 1; visibility: visible; transform: none;
	box-shadow: none; border-top: 0;
	background: #1a1a1a;
	padding: 4px 0 10px;
	min-width: 0;
}
.bt-nav-drawer .bt-nav__menu .is-open > .sub-menu,
.bt-nav-drawer .bt-nav__menu .is-open > .children { display: block; }
.bt-nav-drawer .bt-nav__menu .sub-menu a, .bt-nav-drawer .bt-nav__menu .children a { padding: 11px 20px 11px 34px; font-size: 17px; }

.bt-nav-drawer .bt-nav__mobile-extra { display: block; padding: 20px; }
.bt-nav-drawer .bt-nav__mobile-extra .bt-utility__menu { flex-direction: column; gap: 10px; }
.bt-nav-drawer .bt-nav__mobile-extra .bt-utility__menu a { width: 100%; justify-content: center; height: 44px; font-size: 17px; }
.bt-nav-drawer .bt-nav__mobile-extra .bt-social { margin-top: 18px; }
@media (max-width: 480px) {
	.bt-tools { gap: 6px; }
	.bt-lang a { padding: 4px 4px; font-size: 14px; }
}
.bt-nav-open { overflow: hidden; }

/* ==========================================================================
   Éléments communs
   ========================================================================== */
.bt-chip {
	display: inline-block;
	padding: 3px 8px 2px;
	background: var(--bt-yellow);
	color: var(--bt-black);
	font-family: var(--bt-font-display);
	font-weight: 700;
	font-size: 13px;
	line-height: 1.3;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 2px;
	position: relative;
	z-index: 2;
}
.bt-chip:hover { background: var(--bt-red); color: #fff; }

.bt-date {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: var(--bt-muted);
	letter-spacing: .01em;
}

.bt-section-title {
	font-family: var(--bt-font-display);
	font-weight: 800;
	font-size: clamp(26px, 3vw, 34px);
	text-transform: uppercase;
	letter-spacing: .02em;
	margin: 0 0 24px;
	display: flex;
	align-items: center;
	gap: 14px;
}
.bt-section-title::after {
	content: "";
	flex: 1;
	height: 2px;
	background: linear-gradient(90deg, var(--bt-yellow) 0 64px, var(--bt-red) 64px 128px, var(--bt-line) 128px);
}
.bt-section-title--light { color: #fff; }
.bt-section-title--light::after { background: linear-gradient(90deg, var(--bt-yellow) 0 64px, var(--bt-red) 64px 128px, #2e2e2e 128px); }

.bt-btn, :where(.bt-content) :where(.wp-block-button__link) {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 22px;
	background: var(--bt-yellow);
	color: var(--bt-black);
	border-radius: 4px;
	text-decoration: none;
	font-family: var(--bt-font-display);
	font-weight: 700;
	font-size: 17px;
	letter-spacing: .05em;
	text-transform: uppercase;
}
.bt-btn:hover { background: var(--bt-black); color: #fff; }

.bt-more {
	display: inline-flex; align-items: center; gap: 6px;
	margin-top: 18px;
	color: var(--bt-ink);
	font-family: var(--bt-font-display);
	font-weight: 700;
	font-size: 16px;
	text-transform: uppercase;
	letter-spacing: .05em;
	text-decoration: none;
}
.bt-more .bt-icon { width: 18px; height: 18px; color: var(--bt-red); transition: transform .15s; }
.bt-more:hover .bt-icon { transform: translateX(4px); }

/* ---------- Visuels (images entières sur fond flouté) ---------- */
.bt-media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #1d1d1d;
	border-radius: var(--bt-radius);
	isolation: isolate;
}
.bt-media__bg {
	position: absolute;
	inset: -24px;
	background-size: cover;
	background-position: center;
	filter: blur(22px) brightness(.62) saturate(1.15);
	transform: scale(1.08);
	z-index: -1;
}
.bt-media__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform .35s ease;
}
a.bt-media:hover .bt-media__img { transform: scale(1.03); }
.bt-media__placeholder {
	position: absolute; inset: 0;
	display: flex; align-items: center; justify-content: center;
	background:
		linear-gradient(115deg, transparent 0 58%, var(--bt-yellow) 58% 66%, var(--bt-red) 66% 74%, transparent 74%),
		radial-gradient(circle at 20% 20%, #2b2b2b, #111 70%);
}
.bt-media__placeholder span {
	font-family: var(--bt-font-display);
	font-weight: 800;
	font-size: clamp(28px, 5vw, 64px);
	color: rgba(255, 255, 255, .14);
	letter-spacing: .08em;
}

/* ==========================================================================
   Accueil
   ========================================================================== */
.bt-banner { padding: 20px 0 0; text-align: center; }
.bt-banner img { display: inline-block; border-radius: var(--bt-radius); }

.bt-hero { min-width: 0; }

/* ---------- Accueil : contenu à gauche, widgets à droite ---------- */
.bt-home {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	grid-template-areas: "hero side" "news side";
	grid-template-rows: auto 1fr;
	gap: 28px;
	padding-top: clamp(16px, 2.4vw, 32px);
	padding-bottom: clamp(36px, 5vw, 64px);
}
.bt-home--paged { grid-template-areas: "news side"; grid-template-rows: auto; }
.bt-home--nosidebar { grid-template-columns: minmax(0, 1fr); grid-template-areas: "hero" "news"; }
.bt-home--nosidebar.bt-home--paged { grid-template-areas: "news"; }
.bt-home--mid { grid-template-areas: "hero side" "mid side" "news side"; grid-template-rows: auto auto 1fr; }
.bt-home--mid.bt-home--nosidebar { grid-template-areas: "hero" "mid" "news"; grid-template-rows: auto; }
.bt-home > .bt-home-mid { grid-area: mid; min-width: 0; }
.bt-home > .bt-hero { grid-area: hero; }
.bt-home > .bt-sidebar { grid-area: side; align-self: start; }
.bt-home > .bt-news { grid-area: news; align-self: start; }
@media (min-width: 1500px) { .bt-home { grid-template-columns: minmax(0, 1fr) 380px; } }
/* Tablette / téléphone : les widgets passent en bande horizontale entre la une et les actus */
@media (max-width: 1100px) {
	.bt-home,
	.bt-home--paged { grid-template-columns: minmax(0, 1fr); grid-template-areas: "hero" "side" "news"; grid-template-rows: auto; gap: 24px; }
	.bt-home--paged { grid-template-areas: "side" "news"; }
	.bt-home--mid { grid-template-areas: "hero" "side" "mid" "news"; }
	.bt-home--mid.bt-home--nosidebar { grid-template-areas: "hero" "mid" "news"; }
}
/* Zone sous le menu */
.bt-after-header { background: #fff; border-bottom: 1px solid var(--bt-line); }
.bt-hero__inner > * { min-width: 0; }
.bt-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
	gap: 0;
}
.bt-hero__story,
.bt-topstories { background: var(--bt-white); }
.bt-hero__story { position: relative; display: flex; flex-direction: column; padding: 20px 0 20px 20px; border-radius: var(--bt-radius) 0 0 var(--bt-radius); }
/* L'image remplit toute la hauteur de la une (alignée sur la liste « Top Stories ») */
.bt-hero .bt-media--hero { flex: 1 1 auto; aspect-ratio: auto; min-height: clamp(300px, 30vw, 560px); border-radius: 4px; }
/* L'image ne doit pas imposer sa hauteur (affiches verticales) : c'est la liste « Top Stories » qui donne la hauteur */
.bt-hero .bt-media--hero .bt-media__img { position: absolute; inset: 0; }
.bt-hero__caption {
	position: absolute;
	left: 20px; right: 0; bottom: 20px;
	padding: 80px 28px 24px;
	background: linear-gradient(0deg, rgba(0, 0, 0, .88) 0%, rgba(0, 0, 0, .55) 55%, transparent 100%);
	border-radius: 0 0 4px 4px;
	color: #fff;
	pointer-events: none;
}
.bt-hero__caption a { pointer-events: auto; }
.bt-hero__title {
	margin: 10px 0 6px;
	font-size: clamp(26px, 3.4vw, 46px);
	text-transform: uppercase;
	line-height: 1;
	letter-spacing: .01em;
	text-wrap: balance;
}
.bt-hero__title a { text-decoration: none; color: #fff; }
.bt-hero__title a:hover { color: var(--bt-yellow); }
.bt-hero__caption .bt-date { color: #d0d2d6; }

.bt-topstories { padding: 26px 26px 24px; border-radius: 0 var(--bt-radius) var(--bt-radius) 0; }
.bt-topstories__title {
	margin: 0 0 10px;
	font-size: 32px;
	letter-spacing: .01em;
}
.bt-topstories__list { list-style: none; margin: 0; padding: 0; }
.bt-topstories__list li { border-bottom: 1px solid var(--bt-line); padding: 11px 0 11px 14px; position: relative; }
.bt-topstories__list li::before {
	content: "";
	position: absolute; left: 0; top: 17px;
	width: 4px; height: 12px;
	background: var(--bt-line);
	border-radius: 1px;
}
.bt-topstories__list li.is-hero::before { background: var(--bt-yellow); }
.bt-topstories__list li:hover::before { background: var(--bt-red); }
.bt-topstories__list a {
	display: block;
	text-decoration: none;
	font-weight: 600;
	font-size: 15px;
	line-height: 1.4;
	color: var(--bt-ink);
}
.bt-topstories__list a:hover { color: var(--bt-red); }
.bt-topstories__list .bt-date { font-size: 12px; font-weight: 500; margin-top: 2px; }

@media (max-width: 900px) {
	.bt-home { padding-top: 0; }
	.bt-home > .bt-hero { margin-inline: calc(-1 * var(--bt-gutter)); }
	.bt-hero__inner { grid-template-columns: 1fr; }
	.bt-hero__story { padding: 0; border-radius: 0; }
	.bt-hero .bt-media--hero { border-radius: 0; aspect-ratio: 4 / 3; min-height: 0; flex: none; }
	.bt-hero__caption { left: 0; bottom: 0; padding: 70px var(--bt-gutter) 20px; border-radius: 0; }
	.bt-topstories { border-radius: 0; padding: 22px var(--bt-gutter); }
	.bt-topstories__title { font-size: 28px; }
}

/* ---------- Grille d'actualités ---------- */
.bt-news { background: var(--bt-dark); padding: clamp(24px, 3vw, 40px); border-radius: var(--bt-radius); min-width: 0; }
@media (max-width: 640px) { .bt-news { margin-inline: calc(-1 * var(--bt-gutter)); border-radius: 0; padding: 28px var(--bt-gutter); } }
.bt-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: clamp(20px, 2.4vw, 32px) clamp(16px, 2vw, 24px);
}
.bt-card { grid-column: span 4; position: relative; display: flex; flex-direction: column; min-width: 0; }
.bt-card--large { grid-column: span 6; }
.bt-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bt-grid--2 .bt-card { grid-column: auto; }

.bt-card__body { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding-top: 14px; flex: 1; }
.bt-card__title {
	margin: 2px 0 0;
	font-size: 22px;
	line-height: 1.12;
	text-wrap: balance;
}
.bt-card--large .bt-card__title { font-size: clamp(24px, 2.4vw, 30px); }
.bt-card__title a { text-decoration: none; }
/* Toute la carte est cliquable */
.bt-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.bt-card__excerpt { margin: 0; font-size: 15px; line-height: 1.5; color: var(--bt-muted); }
.bt-card .bt-date { margin-top: auto; padding-top: 4px; }

.bt-card--dark .bt-card__title a { color: #fff; }
.bt-card--dark:hover .bt-card__title a { color: var(--bt-yellow); }
.bt-card--dark .bt-card__excerpt { color: var(--bt-dark-text); }
.bt-card--dark .bt-date { color: #8d9096; }
.bt-card--dark:hover .bt-media__img { transform: scale(1.03); }

.bt-card--light { background: var(--bt-white); border-radius: var(--bt-radius); box-shadow: var(--bt-shadow); overflow: hidden; }
.bt-card--light .bt-media { border-radius: 0; }
.bt-card--light .bt-card__body { padding: 16px 18px 18px; }
.bt-card--light .bt-card__title a { color: var(--bt-ink); }
.bt-card--light:hover .bt-card__title a { color: var(--bt-red); }
.bt-card--light:hover .bt-media__img { transform: scale(1.03); }

/* Dernière rangée incomplète : les cartes s'élargissent pour ne pas laisser de trou */
@media (min-width: 1101px) {
	.bt-grid:not(.bt-grid--2) > .bt-card--default:last-child:nth-child(3n) { grid-column: span 12; flex-direction: row; gap: 24px; align-items: center; }
	.bt-grid:not(.bt-grid--2) > .bt-card--default:last-child:nth-child(3n) .bt-media { width: calc(33.333% - 11px); flex: none; }
	.bt-grid:not(.bt-grid--2) > .bt-card--default:last-child:nth-child(3n) .bt-card__body { padding-top: 0; }
	.bt-grid:not(.bt-grid--2) > .bt-card--default:nth-last-child(2):nth-child(3n),
	.bt-grid:not(.bt-grid--2) > .bt-card--default:nth-last-child(2):nth-child(3n) + .bt-card { grid-column: span 6; }
}
@media (max-width: 1100px) {
	.bt-card { grid-column: span 6; }
	.bt-card--large { grid-column: span 12; }
}
@media (max-width: 640px) {
	.bt-grid { grid-template-columns: 1fr; }
	.bt-card, .bt-card--large { grid-column: auto; }
	.bt-grid--2 { grid-template-columns: 1fr; }
	.bt-card--default.bt-card--dark { flex-direction: row; gap: 14px; align-items: flex-start; }
	.bt-card--default.bt-card--dark .bt-media { width: 42%; flex: none; aspect-ratio: 4 / 3; }
	.bt-card--default.bt-card--dark .bt-card__body { padding-top: 0; }
	.bt-card--default.bt-card--dark .bt-card__title { font-size: 19px; }
	.bt-card--default.bt-card--dark .bt-chip { font-size: 11px; }
}

/* ==========================================================================
   Pages, articles, archives
   ========================================================================== */
.bt-pagehead {
	background: var(--bt-black);
	color: #fff;
	padding: clamp(28px, 4vw, 52px) 0 clamp(24px, 3vw, 40px);
	position: relative;
	overflow: hidden;
}
.bt-pagehead::after {
	content: "";
	position: absolute;
	right: -60px; top: 0; bottom: 0;
	width: 280px;
	background: linear-gradient(105deg, transparent 0 30%, var(--bt-yellow) 30% 46%, var(--bt-red) 46% 62%, transparent 62%);
	opacity: .9;
	pointer-events: none;
}
.bt-pagehead .bt-container { position: relative; z-index: 1; }
.bt-pagehead__title {
	margin: 0;
	font-size: clamp(32px, 5vw, 58px);
	text-transform: uppercase;
	line-height: 1;
	max-width: 22ch;
	text-wrap: balance;
}
.bt-pagehead--article .bt-pagehead__title { margin-top: 14px; font-size: clamp(30px, 4.4vw, 52px); max-width: 26ch; }
.bt-pagehead__title span { color: var(--bt-yellow); }
.bt-pagehead__desc { margin-top: 12px; color: #c4c6ca; max-width: 70ch; }
.bt-pagehead__meta { margin-top: 12px; }
.bt-pagehead__meta .bt-date { color: #b3b6bb; font-size: 14px; }
@media (max-width: 700px) {
	.bt-pagehead::after { width: 120px; right: -40px; opacity: .75; }
}

.bt-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 32px;
	padding-top: clamp(20px, 3vw, 36px);
	padding-bottom: clamp(36px, 5vw, 64px);
}
.bt-has-sidebar .bt-layout,
.page-template-with-sidebar .bt-layout { grid-template-columns: minmax(0, 1fr) 340px; }
@media (max-width: 1100px) {
	.bt-has-sidebar .bt-layout,
	.page-template-with-sidebar .bt-layout { grid-template-columns: minmax(0, 1fr); }
}
.bt-page-pad { padding-top: clamp(20px, 3vw, 36px); padding-bottom: clamp(36px, 5vw, 64px); }

.bt-single .bt-layout__main,
.bt-page .bt-content,
.page-template-with-sidebar .bt-layout__main {
	background: var(--bt-white);
	border-radius: var(--bt-radius);
	box-shadow: var(--bt-shadow);
	padding: clamp(18px, 3.4vw, 44px);
	min-width: 0;
}
/* Téléphone : moins de marges autour du contenu (les plugins ont déjà leurs propres cadres) */
@media (max-width: 640px) {
	.bt-page .bt-content { padding: 10px; border-radius: 0; margin-inline: calc(-1 * var(--bt-gutter)); box-shadow: none; }
	.bt-page-pad { padding-top: 12px; }
}
.bt-single__figure { margin: 0 0 28px; }
.bt-single__figure .bt-media { aspect-ratio: auto; max-height: 80vh; background: #1d1d1d; }
.bt-single__figure .bt-media__img { height: auto; max-height: 80vh; margin: 0 auto; width: auto; max-width: 100%; }
.bt-single__figure figcaption { font-size: 13px; color: var(--bt-muted); margin-top: 8px; }

.bt-content--bleed { min-height: 40vh; }
.bt-content--bleed > :where(:not(.alignfull):not(.elementor)) { max-width: var(--bt-container); margin-inline: auto; padding-inline: var(--bt-gutter); }

/* ---------- Typographie du contenu (spécificité 0 → les plugins gardent la main) ---------- */
:where(.bt-content) { font-size: 17px; line-height: 1.7; overflow-wrap: break-word; }
:where(.bt-content) > :where(:first-child) { margin-top: 0; }
:where(.bt-content) :where(p, ul, ol, blockquote, figure, table, pre) { margin: 0 0 1.2em; }
:where(.bt-content) :where(h2) { font-size: 32px; text-transform: uppercase; }
:where(.bt-content) :where(h3) { font-size: 25px; }
:where(.bt-content) :where(h4) { font-size: 21px; }
:where(.bt-content) :where(a) { color: #b8121f; text-decoration-thickness: 1.5px; text-underline-offset: 2px; }
:where(.bt-content) :where(a:hover) { color: var(--bt-ink); text-decoration-color: var(--bt-yellow); }
:where(.bt-content) :where(img) { border-radius: 4px; }
:where(.bt-content) :where(blockquote) {
	padding: 6px 0 6px 20px;
	border-left: 4px solid var(--bt-yellow);
	font-size: 1.1em;
	font-style: italic;
	color: #3a3d42;
}
:where(.bt-content) :where(table) { width: 100%; border-collapse: collapse; font-size: 15px; }
:where(.bt-content) :where(th, td) { padding: 9px 12px; border-bottom: 1px solid var(--bt-line); text-align: left; }
:where(.bt-content) :where(thead th) {
	background: var(--bt-black); color: #fff;
	font-family: var(--bt-font-display); font-weight: 700; font-size: 15px;
	text-transform: uppercase; letter-spacing: .05em;
}
:where(.bt-content) :where(tbody tr:hover) { background: #fafbfc; }
:where(.bt-content) :where(hr) { border: 0; height: 3px; background: linear-gradient(90deg, #000 33.3%, var(--bt-yellow) 33.3% 66.6%, var(--bt-red) 66.6%); margin: 2em 0; }
:where(.bt-content) :where(pre) { background: #f4f5f7; padding: 16px; overflow-x: auto; border-radius: 4px; }
/* Tableaux larges (classements…) : défilement horizontal sur téléphone */
@media (max-width: 760px) {
	:where(.bt-content) :where(table) { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; white-space: nowrap; }
	:where(.bt-content) { font-size: 16px; }
}

/* Alignements WordPress */
:where(.bt-content) .alignleft { float: left; margin: .3em 1.5em 1em 0; }
:where(.bt-content) .alignright { float: right; margin: .3em 0 1em 1.5em; }
:where(.bt-content) .aligncenter { display: block; margin-inline: auto; }
:where(.bt-content) .wp-caption-text, :where(.bt-content) figcaption { font-size: 13px; color: var(--bt-muted); }
@media (max-width: 600px) { :where(.bt-content) :is(.alignleft, .alignright) { float: none; margin: 0 0 1em; } }

.bt-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.bt-tags a {
	padding: 5px 10px; border: 1px solid var(--bt-line); border-radius: 3px;
	font-size: 13px; font-weight: 600; text-decoration: none; color: var(--bt-muted);
}
.bt-tags a:hover { border-color: var(--bt-ink); color: var(--bt-ink); }

.bt-postnav { margin-top: 36px; border-top: 1px solid var(--bt-line); padding-top: 24px; }
.bt-postnav .nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.bt-postnav .nav-next { text-align: right; grid-column: 2; }
.bt-postnav a { text-decoration: none; display: block; }
.bt-postnav__label {
	display: block;
	font-family: var(--bt-font-display); font-weight: 700; text-transform: uppercase;
	letter-spacing: .06em; font-size: 14px; color: var(--bt-red);
}
.bt-postnav__title { font-weight: 600; line-height: 1.35; }
.bt-postnav a:hover .bt-postnav__title { text-decoration: underline; text-decoration-color: var(--bt-yellow); text-decoration-thickness: 2px; }
@media (max-width: 600px) { .bt-postnav .nav-links { grid-template-columns: 1fr; } .bt-postnav .nav-next { grid-column: 1; } }

/* ---------- Barre latérale & widgets ---------- */
.bt-sidebar { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
/* Tablette / téléphone : barre latérale = bande horizontale à faire glisser (pas une longue colonne) */
@media (max-width: 1100px) {
	.bt-sidebar {
		flex-direction: row;
		align-items: flex-start;
		gap: 16px;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--bt-gutter);
		margin-inline: calc(-1 * var(--bt-gutter));
		padding: 2px var(--bt-gutter) 14px;
		scrollbar-width: thin;
	}
	.bt-sidebar > * {
		flex: 0 0 min(84%, 360px);
		scroll-snap-align: start;
		max-height: 440px;
		overflow-y: auto;
	}
}
@media (max-width: 640px) {
	.bt-sidebar > * { max-height: 320px; }
	/* Téléphone : 5 titres suffisent dans « Top Stories » */
	.bt-topstories__list li:nth-child(n+6) { display: none; }
}
.bt-widget {
	background: var(--bt-white);
	border-radius: var(--bt-radius);
	box-shadow: var(--bt-shadow);
	padding: 20px 22px;
	min-width: 0;
}
.bt-widget__title {
	margin: 0 0 14px;
	padding-left: 12px;
	border-left: 4px solid var(--bt-red);
	font-size: 22px;
	text-transform: uppercase;
	letter-spacing: .02em;
	line-height: 1.05;
}
:where(.bt-widget) :where(ul) { list-style: none; margin: 0; padding: 0; }
:where(.bt-widget) :where(ul li) { padding: 8px 0; border-bottom: 1px solid var(--bt-line); }
:where(.bt-widget) :where(ul li:last-child) { border-bottom: 0; }
:where(.bt-widget) :where(a) { text-decoration: none; font-weight: 500; }
:where(.bt-widget) :where(a:hover) { color: var(--bt-red); }
:where(.bt-widget) :where(img) { border-radius: 4px; }
.bt-widget .bt-searchform__input { border-color: var(--bt-line); }

/* ---------- Pagination ---------- */
.bt-pagination-wrap { margin-top: 36px; }
.bt-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.bt-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 42px; height: 42px; padding: 0 10px;
	background: var(--bt-white); color: var(--bt-ink);
	border-radius: 4px; text-decoration: none;
	font-family: var(--bt-font-display); font-weight: 700; font-size: 18px;
	box-shadow: var(--bt-shadow);
}
.bt-pagination .page-numbers:hover { background: var(--bt-black); color: #fff; }
.bt-pagination .page-numbers.current { background: var(--bt-yellow); color: var(--bt-black); }
.bt-pagination-wrap--dark .page-numbers { background: var(--bt-dark-2); color: #fff; box-shadow: none; }
.bt-pagination-wrap--dark .page-numbers:hover { background: #fff; color: var(--bt-black); }
.bt-pagination-wrap--dark .page-numbers.current { background: var(--bt-yellow); color: var(--bt-black); }

/* ---------- Commentaires ---------- */
.bt-comments { margin-top: 40px; }
.bt-comments__list { list-style: none; padding: 0; margin: 0 0 24px; }
.bt-comments__list .comment-body { padding: 14px 0; border-bottom: 1px solid var(--bt-line); }
:where(.bt-comments) :where(input[type="text"], input[type="email"], input[type="url"], textarea) {
	width: 100%; padding: 10px 12px; border: 1.5px solid var(--bt-line); border-radius: 4px; background: #fff;
}
:where(.bt-comments) :where(input[type="submit"]) {
	padding: 11px 22px; border: 0; border-radius: 4px; cursor: pointer;
	background: var(--bt-yellow); color: var(--bt-black);
	font-family: var(--bt-font-display); font-weight: 700; font-size: 17px; text-transform: uppercase; letter-spacing: .05em;
}

/* ---------- Vide & 404 ---------- */
.bt-empty { background: var(--bt-white); border-radius: var(--bt-radius); padding: 32px; box-shadow: var(--bt-shadow); }
.bt-empty__title { margin-top: 0; font-size: 30px; text-transform: uppercase; }
.bt-empty .bt-searchform { margin: 18px 0 0; }

.bt-404 { padding: clamp(48px, 8vw, 110px) 0; text-align: center; }
.bt-404__code {
	margin: 0;
	font-family: var(--bt-font-display);
	font-weight: 800;
	font-size: clamp(110px, 20vw, 220px);
	line-height: .9;
	background: linear-gradient(90deg, #000 0 33.3%, #c9a800 33.3% 66.6%, var(--bt-red) 66.6%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.bt-404__title { font-size: clamp(28px, 4vw, 44px); text-transform: uppercase; margin: 10px 0; }
.bt-404 .bt-searchform { margin: 26px auto; }

/* ==========================================================================
   Pied de page
   ========================================================================== */
.bt-footer { background: var(--bt-black); color: #c3c5c9; font-size: 15px; margin-top: 0; }
.bt-footer__top {
	display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px;
	padding: 40px 0 28px;
	border-bottom: 1px solid #262626;
}
.bt-footer__brand { display: flex; align-items: baseline; gap: 14px; color: #fff; text-decoration: none; }
.bt-footer__brand .bt-brand__short { font-size: 38px; }
.bt-footer__tagline { font-family: var(--bt-font-display); font-weight: 600; font-size: 17px; color: #9ea2a8; letter-spacing: .04em; }

.bt-footer__aff {
	display: flex; align-items: center; gap: 20px;
	padding: 24px 0;
	border-bottom: 1px solid #262626;
}
.bt-footer__aff-link { display: block; line-height: 0; flex: none; }
.bt-footer__aff-logo { display: block; width: auto; height: auto; max-height: 72px; max-width: 180px; flex: none; }
.bt-footer__aff-text { color: #d6d8db; font-size: 15px; line-height: 1.55; max-width: 70ch; }
.bt-footer__aff-text p { margin: 0 0 .4em; }
.bt-footer__aff-text p:last-child { margin-bottom: 0; }
@media (max-width: 600px) {
	.bt-footer__aff { flex-direction: column; align-items: flex-start; gap: 14px; }
	.bt-footer__aff-logo { max-height: 60px; }
}

.bt-social { list-style: none; display: flex; gap: 8px; margin: 0; padding: 0; }
.bt-social a {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border-radius: 50%;
	background: #232323; color: #fff;
	transition: background .15s, color .15s;
}
.bt-social a:hover { background: var(--bt-yellow); color: var(--bt-black); }
.bt-social .bs-ico, .bt-social .bt-icon { width: 20px; height: 20px; fill: currentColor; }

.bt-footer__widgets {
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px;
	padding: 36px 0;
	border-bottom: 1px solid #262626;
}
@media (max-width: 800px) { .bt-footer__widgets { grid-template-columns: 1fr; } }
.bt-footer .bt-widget { background: transparent; box-shadow: none; padding: 0; color: #c3c5c9; }
.bt-footer .bt-widget__title { color: #fff; border-left-color: var(--bt-yellow); font-size: 20px; }
.bt-footer :where(.bt-widget) :where(ul li) { border-bottom-color: #262626; }
.bt-footer :where(a) { color: #e5e6e8; }
.bt-footer :where(a:hover) { color: var(--bt-yellow); }

.bt-footer__bottom {
	display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px 28px;
	padding: 22px 0 30px;
	font-size: 13.5px;
	color: #8d9096;
}
.bt-footer__copy { margin: 0; }
.bt-footer__menu { list-style: none; display: flex; flex-wrap: wrap; gap: 18px; margin: 0; padding: 0; }
.bt-footer__menu a { text-decoration: none; color: #b5b8bd; }
.bt-footer .bt-lang a.is-current { background: var(--bt-yellow); }

/* ---------- Préférences de mouvement ---------- */
@media (prefers-reduced-motion: reduce) {
	.bt-nav, .bt-media__img, .bt-subtoggle .bt-icon, .bt-nav__menu .sub-menu { transition: none; }
	a.bt-media:hover .bt-media__img, .bt-card:hover .bt-media__img { transform: none; }
}

/* ---------- Impression ---------- */
@media print {
	.bt-ticker, .bt-header, .bt-footer, .bt-sidebar, .bt-postnav, .bt-comments { display: none; }
	.bt-pagehead { background: none; color: #000; }
	.bt-pagehead::after { display: none; }
	.bt-single .bt-layout__main { box-shadow: none; padding: 0; }
}
