/*
Theme Name: Eagle-Elite Child
Author: VamTam
Author URI: https://vamtam.com
Template: eagle-elite
*/

/*
 * Charte Viking Club Paris.
 * Les couleurs et polices se modifient dans Elementor > Réglages du site (Kit) :
 * les variables ci-dessous reprennent les couleurs globales du Kit, la valeur
 * après la virgule n'est qu'un repli. Aucun texte dans ce fichier.
 */
:root {
	--vk-rouge: var(--e-global-color-vamtam_accent_1, #C8102E);
	--vk-rouge-survol: var(--e-global-color-vk_rouge_survol, #A30D26);
	--vk-rouge-clair: var(--e-global-color-vamtam_accent_2, #FF4D5E);
	--vk-rouge-clair-2: var(--e-global-color-vk_rouge_clair_2, #FF6B78);
	--vk-fond: var(--e-global-color-vamtam_accent_6, #0B1630);
	--vk-fond-carte: var(--e-global-color-vamtam_accent_3, #12224A);
	--vk-fond-section: var(--e-global-color-vk_fond_section, #0E1A38);
	--vk-fond-footer: var(--e-global-color-vk_fond_footer, #070F22);
	--vk-bordure: var(--e-global-color-vamtam_accent_7, #29344F);
	--vk-texte-secondaire: var(--e-global-color-vamtam_accent_8, #8E9AB8);
	--vk-gris-clair: var(--e-global-color-vamtam_accent_4, #E1E6F0);
	--vk-gris-clair-2: var(--e-global-color-vk_gris_clair_2, #C3CBDD);
	--vk-blanc: var(--e-global-color-vamtam_accent_5, #FFFFFF);

	--vk-rayon-bouton: 6px;
	--vk-rayon-carte: 12px;
	--vk-transition: 0.2s ease;
}

/* Carte : fond carte, rayon 12 px (classe à poser sur un conteneur, onglet Avancé). */
.vk-carte {
	background-color: var(--vk-fond-carte);
	border-radius: var(--vk-rayon-carte);
	overflow: hidden;
}

/* Liseré rouge en haut des cartes (équipes, actualités, mission). */
.vk-carte--lisere {
	border-top: 3px solid var(--vk-rouge);
}

/* Photo arrondie 12 px (widget Image ou conteneur avec image). */
.vk-photo img,
img.vk-photo {
	border-radius: var(--vk-rayon-carte);
	display: block;
}

/* Bouton secondaire : contour blanc 2 px sur fond bleu. */
.elementor-widget-button.vk-btn-contour .elementor-button {
	background-color: transparent;
	color: var(--vk-blanc);
	border: 2px solid var(--vk-blanc);
}
.elementor-widget-button.vk-btn-contour .elementor-button:hover,
.elementor-widget-button.vk-btn-contour .elementor-button:focus {
	background-color: var(--vk-blanc);
	color: var(--vk-fond);
	border-color: var(--vk-blanc);
}

/* Bouton sur fond rouge : fond blanc, texte rouge. */
.elementor-widget-button.vk-btn-blanc .elementor-button {
	background-color: var(--vk-blanc);
	color: var(--vk-rouge);
	border: 2px solid var(--vk-blanc);
}
.elementor-widget-button.vk-btn-blanc .elementor-button:hover,
.elementor-widget-button.vk-btn-blanc .elementor-button:focus {
	background-color: var(--vk-gris-clair);
	color: var(--vk-rouge-survol);
	border-color: var(--vk-gris-clair);
}

/* Transition commune des boutons. */
.elementor-button {
	transition: background-color var(--vk-transition), color var(--vk-transition), border-color var(--vk-transition);
}

/*
 * Header (UAE Navigation Menu, seuil "Tablet" = 1024 px).
 * Menu fermé : UAE le laisse en position static, largeur 100 %, ce qui repousse
 * le logo et le bouton hors écran. On le sort du flux comme UAE le fait déjà
 * pour le menu ouvert. Classes UAE ciblées : .hfe-nav-menu__breakpoint-tablet,
 * .hfe-nav-menu__layout-horizontal (à revérifier après chaque mise à jour d'UAE).
 */
@media only screen and (max-width: 1024px) {
	.vk-header .hfe-nav-menu__breakpoint-tablet .hfe-nav-menu__layout-horizontal {
		position: absolute;
	}
	/* Menu fermé : aucune largeur (UAE pose sa largeur en ligne à l'ouverture). */
	.vk-header .hfe-nav-menu__breakpoint-tablet .hfe-nav-menu__toggle:not(.hfe-active-menu) + .hfe-nav-menu__layout-horizontal {
		width: 0 !important;
		overflow: hidden;
	}
}

/*
 * Header : soulignement rouge de l'élément de premier niveau dont une sous-page est
 * affichée (ex. "Sports" sur la page Football). UAE ne souligne que .current-menu-item.
 * Classes UAE ciblées : .hfe-pointer__underline, .hfe-menu-item (à revérifier après mise à jour d'UAE).
 */
.vk-header .hfe-pointer__underline .menu-item.current-menu-ancestor a.hfe-menu-item::after {
	opacity: 1 !important;
	transform: scale(1);
	background-color: var(--vk-rouge);
}

/*
 * Header desktop : flèche de sous-menu de "Sports" masquée (le soulignement ne couvre
 * que le texte). Elle reste visible dans le menu mobile (sous 1024 px).
 * Classe UAE ciblée : .sub-arrow (à revérifier après mise à jour d UAE).
 */
@media only screen and (min-width: 1025px) {
	.vk-header .hfe-nav-menu .sub-arrow {
		display: none;
	}
}
/* Footer : liens de texte dans la couleur du texte, email en blanc gras. */
.vk-footer .vk-footer-texte a {
	color: inherit;
}
.vk-footer .vk-footer-texte a:hover,
.vk-footer .vk-footer-texte a:focus,
.vk-footer .vk-footer-texte a.vk-lien-fort {
	color: var(--vk-blanc) !important;
}
.vk-footer .vk-footer-texte a.vk-lien-fort {
	font-weight: 600 !important;
}

/* Paragraphe sans marge basse (dernier paragraphe d'un éditeur de texte). */
.vk-sans-marge p:last-child {
	margin-bottom: 0;
}

/* Menu vertical sur deux colonnes, rempli colonne par colonne (colonne Activités du footer). */
.vk-menu-2col ul.hfe-nav-menu {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-rows: repeat(6, auto);
	grid-auto-flow: column;
	column-gap: 24px;
}
.vk-menu-2col nav,
.vk-menu-2col ul.hfe-nav-menu {
	width: 100% !important;
}
.vk-menu-2col ul.hfe-nav-menu::before,
.vk-menu-2col ul.hfe-nav-menu::after {
	display: none !important;
}
.vk-menu-2col ul.hfe-nav-menu > li {
	width: auto !important;
}

/* Logo d'image à hauteur fixe : largeur proportionnelle (bandeau partenaires). */
.vk-logo-auto img {
	width: auto !important;
}

/* Footer : liens légaux alignés à gauche en mobile (l'alignement UAE n'est pas réglable par appareil). */
/* Desktop et tablette : liens légaux sur une seule ligne. */
@media (min-width: 768px) {
	.vk-footer .vk-footer-legal ul.hfe-nav-menu {
		flex-wrap: nowrap;
		white-space: nowrap;
	}
}
@media (max-width: 767px) {
	.vk-footer .vk-footer-legal ul.hfe-nav-menu {
		justify-content: flex-start;
	}
}

/*
 * Formulaires Contact Form 7 (classes vk-form-grille, vk-champ, vk-form-actions dans le formulaire).
 */
.wpcf7 .vk-form-grille {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 21px 16px;
}
.wpcf7 .vk-champ {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	font-family: "Barlow", "Helvetica Neue", Arial, sans-serif;
	font-weight: 600;
	font-size: 14px;
	line-height: 1.3;
	color: var(--vk-gris-clair);
	text-transform: none !important;
	letter-spacing: normal !important;
}
.wpcf7 .vk-champ--large {
	grid-column: 1 / -1;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="number"],
.wpcf7 select,
.wpcf7 textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 12px 16px;
	background-color: var(--vk-fond);
	border: 1px solid var(--vk-bordure);
	border-radius: var(--vk-rayon-bouton);
	color: var(--vk-blanc);
	font-family: "Barlow", "Helvetica Neue", Arial, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.4;
	box-shadow: none;
	transition: border-color var(--vk-transition);
}
.wpcf7 textarea {
	min-height: 120px;
	resize: vertical;
}
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
	color: var(--vk-texte-secondaire) !important;
	opacity: 1;
}
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
	outline: none;
	border-color: var(--vk-rouge-clair);
}
.wpcf7 select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 44px;
	background-image: linear-gradient(45deg, transparent 50%, var(--vk-gris-clair) 50%), linear-gradient(135deg, var(--vk-gris-clair) 50%, transparent 50%);
	background-position: calc(100% - 22px) 52%, calc(100% - 16px) 52%;
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
}
.wpcf7 select option {
	background-color: var(--vk-fond);
	color: var(--vk-blanc);
}
.wpcf7 .vk-form-actions {
	margin-top: 16px;
	display: flex;
	align-items: center;
	gap: 12px;
}
.wpcf7 input[type="submit"] {
	padding: 13px 26px;
	background-color: var(--vk-rouge);
	border: 2px solid var(--vk-rouge);
	border-radius: var(--vk-rayon-bouton);
	color: var(--vk-blanc);
	font-family: "Barlow", "Helvetica Neue", Arial, sans-serif;
	font-weight: 600;
	font-size: 18px;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color var(--vk-transition), border-color var(--vk-transition);
}
.wpcf7 input[type="submit"]:hover,
.wpcf7 input[type="submit"]:focus {
	background-color: var(--vk-rouge-survol);
	border-color: var(--vk-rouge-survol);
}
.wpcf7 .wpcf7-not-valid-tip {
	margin-top: 4px;
	color: var(--vk-rouge-clair);
	font-weight: 500;
	font-size: 13px;
}
.wpcf7 input.wpcf7-not-valid,
.wpcf7 select.wpcf7-not-valid,
.wpcf7 textarea.wpcf7-not-valid {
	border-color: var(--vk-rouge-clair);
}
.wpcf7 form .wpcf7-response-output {
	margin: 18px 0 0;
	padding: 12px 16px;
	border: 1px solid var(--vk-bordure);
	border-radius: var(--vk-rayon-bouton);
	color: var(--vk-gris-clair);
	font-size: 15px;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
	border-color: var(--vk-rouge-clair);
}
.wpcf7 form.sent .wpcf7-response-output {
	border-color: var(--vk-gris-clair-2);
}
@media (max-width: 767px) {
	.wpcf7 .vk-form-grille {
		grid-template-columns: 1fr;
	}
}

/* Pastilles (widget Liste d'icônes en ligne, sans icône) : "Ils agissent avec nous". */
.vk-pastilles .elementor-icon-list-items {
	margin: 0 !important;
	gap: 10px;
}
.vk-pastilles .elementor-icon-list-items .elementor-icon-list-item {
	margin: 0 !important;
	padding: 8px 16px !important;
	background-color: var(--vk-fond-carte);
	border-radius: 999px;
}
.vk-pastilles .elementor-icon-list-item::after {
	display: none !important;
}

/*
 * Sous-navigation Sports (UAE Navigation Menu, menu "Sports") : pastilles, page courante en rouge.
 * Classes UAE ciblées : ul.hfe-nav-menu, a.hfe-menu-item, .current-menu-item (à revérifier après mise à jour d'UAE).
 */
.vk-subnav ul.hfe-nav-menu {
	flex-wrap: wrap;
	gap: 8px;
}
.vk-subnav ul.hfe-nav-menu > li.menu-item {
	margin: 0 !important;
}
.vk-subnav a.hfe-menu-item {
	border: 1px solid var(--vk-bordure);
	border-radius: 999px;
	transition: border-color var(--vk-transition), background-color var(--vk-transition);
}
.vk-subnav a.hfe-menu-item:hover,
.vk-subnav a.hfe-menu-item:focus {
	border-color: var(--vk-gris-clair-2);
}
.vk-subnav .current-menu-item > a.hfe-menu-item {
	border-color: var(--vk-rouge);
}

/*
 * Réseaux sociaux du shortcode [vk_social] (ligne légale du footer) : même style que les liens légaux.
 */
.vk-social {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.vk-social li {
	margin: 0;
	padding: 0;
}
.vk-footer .vk-social a {
	display: block;
	font-family: var(--e-global-typography-vk_texte_legal-font-family), sans-serif;
	font-size: var(--e-global-typography-vk_texte_legal-font-size);
	font-weight: var(--e-global-typography-vk_texte_legal-font-weight);
	line-height: var(--e-global-typography-vk_texte_legal-line-height);
	color: var(--vk-texte-secondaire);
	transition: color var(--vk-transition);
}
.vk-footer .vk-social a:hover,
.vk-footer .vk-social a:focus {
	color: var(--vk-blanc);
}
/*
 * Accueil et modèles VK (P4.1). Classes posées dans l'onglet Avancé des widgets et conteneurs.
 */

/* Label (eyebrow) précédé d'un trait rouge. */
.vk-eyebrow-trait .elementor-heading-title::before {
	content: "";
	display: inline-block;
	width: 32px;
	height: 2px;
	margin-right: 12px;
	vertical-align: middle;
	background-color: var(--vk-rouge);
}

/* Lien fléché ("EN SAVOIR PLUS →") : bouton sans fond ni marge intérieure. */
.elementor-widget-button.vk-lien-fleche .elementor-button {
	padding: 0;
	background-color: transparent;
	border: 0;
	border-radius: 0;
	color: var(--vk-blanc);
}
.elementor-widget-button.vk-lien-fleche .elementor-button:hover,
.elementor-widget-button.vk-lien-fleche .elementor-button:focus {
	background-color: transparent;
	color: var(--vk-rouge-clair);
}
/* Variante soulignée en rouge ("VOIR LES 11 SPORTS →"). */
.elementor-widget-button.vk-lien-souligne .elementor-button {
	padding-bottom: 8px;
	border-bottom: 2px solid var(--vk-rouge);
}

/* Variante sur fond blanc ("Lire l'article →", palmarès de la page Compétition). */
.elementor-widget-button.vk-lien-fleche.vk-lien-sur-blanc .elementor-button,
.elementor-widget-button.vk-lien-fleche.vk-lien-sur-blanc .elementor-button:hover,
.elementor-widget-button.vk-lien-fleche.vk-lien-sur-blanc .elementor-button:focus {
	color: var(--vk-rouge);
}

/* Bas de carte poussé en bas (tags et lien alignés d'une carte à l'autre). */
.vk-pied {
	margin-top: auto;
}

/* Badge de carte ("SPORT FÉMININ", "HANDISPORT"). */
.vk-badge {
	align-self: flex-start;
}
.vk-badge .elementor-heading-title {
	display: inline-block;
	padding: 4px 8px;
	border-radius: 3px;
	background-color: var(--vk-blanc);
}

/* Tags de carte : petites pastilles sombres. */
.vk-tags .elementor-icon-list-items {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 !important;
}
.vk-tags .elementor-icon-list-items .elementor-icon-list-item {
	margin: 0 !important;
	padding: 5px 8px !important;
	border-radius: 4px;
	background-color: var(--vk-fond);
}
.vk-tags .elementor-icon-list-item::after {
	display: none !important;
}

/* Pastilles à contour rouge (section Le club). */
.vk-pastilles--contour .elementor-icon-list-items .elementor-icon-list-item {
	background-color: transparent;
	border: 1px solid var(--vk-rouge-clair);
	padding: 6px 12px !important;
}

/* Pastilles blanches cliquables (carte "Et aussi"). */
.elementor-widget-button.vk-pastille-blanche .elementor-button {
	padding: 10px 16px;
	border: 0;
	border-radius: 999px;
	background-color: var(--vk-blanc);
	color: var(--vk-fond);
}
.elementor-widget-button.vk-pastille-blanche .elementor-button:hover,
.elementor-widget-button.vk-pastille-blanche .elementor-button:focus {
	background-color: var(--vk-gris-clair);
	color: var(--vk-fond);
}

/* Image qui remplit sa carte (photo des cartes sport). */
.vk-image-carte img {
	display: block;
	width: 100%;
}

/*
 * Actualités (widget Basic Posts d'UAE) : date au-dessus du titre, lien en bas de carte,
 * cartes de même hauteur. Classes UAE ciblées : .hfe-post-card, .hfe-post-content,
 * .hfe-post-meta, .hfe-read-more (à revérifier après mise à jour d'UAE).
 */
.vk-actus .hfe-post-card {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.vk-actus .hfe-post-content {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}
.vk-actus .hfe-post-meta {
	order: -1;
}
.vk-actus .hfe-read-more {
	margin-top: auto;
}
/* Images des cartes (page Actualités) : même hauteur pour toutes, recadrées, comme les cartes des archives. */
.vk-actus .hfe-post-image img {
	display: block;
	width: 100%;
	height: 220px;
	object-fit: cover;
}

/*
 * Actualités de l'accueil : 2 articles (Basic Posts) + carte fixe en 3e colonne, trois colonnes
 * de même largeur (articles : 2 colonnes et l'espace de 24 px entre elles ; carte fixe : 1 colonne).
 * Tablette et mobile : empilement (articles puis carte fixe).
 */
.e-con.vk-actus-ligne > .elementor-widget.vk-actus {
	flex: 0 0 auto;
	width: calc((100% - 48px) * 2 / 3 + 24px);
	min-width: 0;
}
.e-con.vk-actus-ligne > .e-con.vk-carte-fixe {
	flex: 0 0 auto;
	width: calc((100% - 48px) / 3);
	min-width: 0;
}
.vk-actus-ligne .vk-actus > .elementor-widget-container,
.vk-actus-ligne .vk-actus .hfe-posts-grid {
	height: 100%;
}
@media (max-width: 1024px) {
	.e-con.vk-actus-ligne > .elementor-widget.vk-actus,
	.e-con.vk-actus-ligne > .e-con.vk-carte-fixe {
		flex: 0 0 auto;
		width: 100%;
	}
}

/* Lien souligné en casse normale ("Calendrier et résultats →", page Compétition) : soulignement plus proche du texte. */
.elementor-widget-button.vk-lien-souligne.vk-lien-texte .elementor-button {
	padding-bottom: 4px;
}

/* Pastille numérotée (étapes de la page Adhésion) : cercle rouge de 44 px. */
.vk-numero {
	align-self: flex-start;
}
.vk-numero .elementor-heading-title {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background-color: var(--vk-rouge);
}

/* Lien texte souligné en blanc ("Lire les conditions générales d'adhésion →"). */
.elementor-widget-button.vk-lien-ligne .elementor-button {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/*
 * Page Contact (P4.6) : coordonnées. Liens des shortcodes en couleur du texte ;
 * réseaux sociaux ([vk_social]) en ligne, séparés par un point médian (classe vk-reseaux sur le widget).
 */
.vk-coord a {
	color: inherit;
	transition: color var(--vk-transition);
}
.vk-coord a:hover,
.vk-coord a:focus {
	color: var(--vk-gris-clair-2);
}
.vk-reseaux .elementor-widget-container {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
}
.vk-reseaux .elementor-widget-container > p {
	margin: 0;
}
.vk-reseaux .vk-social {
	display: inline-flex;
	gap: 0;
}
.vk-reseaux .elementor-widget-container > p + .vk-social li::before,
.vk-reseaux .vk-social li + li::before {
	content: "\00B7";
	padding: 0 0.25em;
}

/*
 * Gabarits d'articles, d'archives et de recherche (single.php, archive.php, search.php, templates/vk-carte-article.php,
 * P4.9). Style des modèles VK : hero simple (fond, label, titre H1), cartes d'actualités de l'accueil. Typographies et
 * couleurs du Kit Elementor (variables --e-global-*) : un changement de preset dans le Kit s'applique ici aussi.
 */
.vk-boite {
	box-sizing: border-box;
	width: 100%;
	max-width: 1344px;
	margin: 0 auto;
	padding: 0 32px;
}
.vk-hero-wp {
	padding: 80px 0 64px;
	background-color: var(--vk-fond);
}
.vk-hero-wp .vk-boite {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.vk-hero-wp p {
	margin: 0;
}
.vk-hero-wp__label,
.vk-hero-wp__label a {
	font-family: var(--e-global-typography-vamtam_h5-font-family), sans-serif;
	font-size: var(--e-global-typography-vamtam_h5-font-size);
	font-weight: var(--e-global-typography-vamtam_h5-font-weight);
	line-height: var(--e-global-typography-vamtam_h5-line-height);
	letter-spacing: var(--e-global-typography-vamtam_h5-letter-spacing);
	text-transform: var(--e-global-typography-vamtam_h5-text-transform);
	color: var(--vk-rouge-clair-2);
}
.vk-hero-wp__titre {
	margin: 0;
	font-family: var(--e-global-typography-vamtam_h2-font-family), sans-serif;
	font-size: var(--e-global-typography-vamtam_h2-font-size);
	font-weight: var(--e-global-typography-vamtam_h2-font-weight);
	line-height: var(--e-global-typography-vamtam_h2-line-height);
	text-transform: var(--e-global-typography-vamtam_h2-text-transform);
	color: var(--vk-blanc);
	overflow-wrap: anywhere;
}
/* Titres des articles, souvent longs : preset "Titre section XL" au lieu du titre de page. */
.vk-hero-wp__titre--article {
	font-family: var(--e-global-typography-vk_titre_xl-font-family), sans-serif;
	font-size: var(--e-global-typography-vk_titre_xl-font-size);
	font-weight: var(--e-global-typography-vk_titre_xl-font-weight);
	line-height: var(--e-global-typography-vk_titre_xl-line-height);
	text-transform: var(--e-global-typography-vk_titre_xl-text-transform);
}
.vk-hero-wp__date,
.vk-hero-wp__intro {
	font-family: var(--e-global-typography-vk_tag-font-family), sans-serif;
	font-size: var(--e-global-typography-vk_tag-font-size);
	font-weight: var(--e-global-typography-vk_tag-font-weight);
	letter-spacing: var(--e-global-typography-vk_tag-letter-spacing);
	text-transform: var(--e-global-typography-vk_tag-text-transform);
	color: var(--vk-texte-secondaire);
}
.vk-article,
.vk-liste {
	background-color: var(--vk-fond);
}
.vk-article__corps,
.vk-liste__corps {
	padding-top: 64px;
	padding-bottom: 96px;
}
.vk-article__image {
	max-width: 960px;
	margin: 0 auto 48px;
}
.vk-article__image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--vk-rayon-carte);
}
/* Contenu : largeur de lecture 760 px ; un article construit avec Elementor garde sa propre mise en page. */
.vk-article__contenu {
	max-width: 760px;
	margin: 0 auto;
	font-family: var(--e-global-typography-vamtam_primary_font-font-family), sans-serif;
	font-size: var(--e-global-typography-vamtam_primary_font-font-size);
	font-weight: var(--e-global-typography-vamtam_primary_font-font-weight);
	line-height: var(--e-global-typography-vamtam_primary_font-line-height);
	color: var(--vk-gris-clair-2);
}
.vk-article__contenu > *:first-child {
	margin-top: 0;
}
.vk-article__contenu p,
.vk-article__contenu ul,
.vk-article__contenu ol {
	margin: 0 0 1.2em;
	color: inherit;
}
/* Tableaux des anciens articles importés : le thème parent colore th et td en #383838 (--vamtam-widget-text-lighter),
   illisible sur fond sombre ; les cellules reprennent la couleur du texte de l'article (P4.11). */
.vk-article__contenu th,
.vk-article__contenu td {
	color: inherit;
}
.vk-article__contenu h2,
.vk-article__contenu h3,
.vk-article__contenu h4 {
	margin: 1.6em 0 0.6em;
	color: var(--vk-blanc);
}
.vk-article__contenu strong,
.vk-article__contenu b {
	color: var(--vk-blanc);
}
.vk-article__contenu a {
	color: var(--vk-rouge-clair-2);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.vk-article__contenu a:hover,
.vk-article__contenu a:focus {
	color: var(--vk-blanc);
}
.vk-article__contenu img {
	max-width: 100%;
	height: auto;
	border-radius: var(--vk-rayon-carte);
}

/* Pages légales (P4.10) : intertitres du texte (classe vk-legal sur l'éditeur de texte), presets du Kit. */
.vk-legal h2,
.vk-legal h3 {
	margin: 1.8em 0 0.6em;
	color: var(--vk-blanc);
}
.vk-legal > .elementor-widget-container > h2:first-child {
	margin-top: 0;
}
.vk-legal h2 {
	font-family: var(--e-global-typography-vamtam_h4-font-family), sans-serif;
	font-size: var(--e-global-typography-vamtam_h4-font-size);
	font-weight: var(--e-global-typography-vamtam_h4-font-weight);
	line-height: var(--e-global-typography-vamtam_h4-line-height);
	text-transform: var(--e-global-typography-vamtam_h4-text-transform);
}
.vk-legal h3 {
	font-family: var(--e-global-typography-vk_petit_titre-font-family), sans-serif;
	font-size: var(--e-global-typography-vk_petit_titre-font-size);
	font-weight: var(--e-global-typography-vk_petit_titre-font-weight);
	line-height: var(--e-global-typography-vk_petit_titre-line-height);
	text-transform: var(--e-global-typography-vk_petit_titre-text-transform);
}
.vk-legal p {
	margin: 0 0 1em;
}
.vk-legal a {
	color: var(--vk-rouge-clair-2);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.vk-legal a:hover,
.vk-legal a:focus {
	color: var(--vk-blanc);
}

/* Grille de cartes (archives, recherche) : 3 colonnes, 2 en tablette, 1 en mobile. */
.vk-cartes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}
.vk-carte-article {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-top: 3px solid var(--vk-rouge);
	border-radius: var(--vk-rayon-carte);
	background-color: var(--vk-fond-carte);
}
.vk-carte-article__image img {
	display: block;
	width: 100%;
	height: 220px;
	object-fit: cover;
}
.vk-carte-article__corps {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 32px;
}
.vk-carte-article__corps p {
	margin: 0;
}
.vk-carte-article__meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px;
	font-family: var(--e-global-typography-vk_tag-font-family), sans-serif;
	font-size: var(--e-global-typography-vk_tag-font-size);
	font-weight: var(--e-global-typography-vk_tag-font-weight);
	letter-spacing: var(--e-global-typography-vk_tag-letter-spacing);
	text-transform: var(--e-global-typography-vk_tag-text-transform);
	color: var(--vk-texte-secondaire);
}
.vk-carte-article__categorie {
	color: var(--vk-rouge-clair);
}
.vk-carte-article__titre {
	margin: 0;
	font-family: var(--e-global-typography-vk_titre_carte_equipe-font-family), sans-serif;
	font-size: var(--e-global-typography-vk_titre_carte_equipe-font-size);
	font-weight: var(--e-global-typography-vk_titre_carte_equipe-font-weight);
	line-height: var(--e-global-typography-vk_titre_carte_equipe-line-height);
	text-transform: var(--e-global-typography-vk_titre_carte_equipe-text-transform);
	overflow-wrap: anywhere;
}
.vk-carte-article__titre a {
	color: var(--vk-blanc);
	transition: color var(--vk-transition);
}
.vk-carte-article__titre a:hover,
.vk-carte-article__titre a:focus {
	color: var(--vk-rouge-clair);
}
.vk-carte-article__extrait,
.vk-liste__vide {
	font-family: var(--e-global-typography-vk_texte_carte-font-family), sans-serif;
	font-size: var(--e-global-typography-vk_texte_carte-font-size);
	line-height: var(--e-global-typography-vk_texte_carte-line-height);
	color: var(--vk-gris-clair-2);
}

/* Pagination WordPress (the_posts_pagination) : pastilles comme la sous-navigation Sports. */
.vk-liste .pagination {
	margin-top: 48px;
}
.vk-liste .pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}
.vk-liste .pagination .page-numbers {
	display: inline-block;
	box-sizing: border-box;
	min-width: 44px;
	padding: 10px 16px;
	border: 1px solid var(--vk-bordure);
	border-radius: 999px;
	text-align: center;
	font-family: var(--e-global-typography-vk_tag-font-family), sans-serif;
	font-size: 15px;
	font-weight: 600;
	color: var(--vk-blanc);
	transition: border-color var(--vk-transition), background-color var(--vk-transition);
}
.vk-liste .pagination a.page-numbers:hover,
.vk-liste .pagination a.page-numbers:focus {
	border-color: var(--vk-gris-clair-2);
}
.vk-liste .pagination .page-numbers.current {
	border-color: var(--vk-rouge);
	background-color: var(--vk-rouge);
}
.vk-liste .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}
@media (max-width: 1024px) {
	.vk-boite {
		padding: 0 24px;
	}
	.vk-hero-wp {
		padding: 64px 0 56px;
	}
	.vk-article__corps,
	.vk-liste__corps {
		padding-top: 56px;
		padding-bottom: 80px;
	}
	.vk-cartes {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 767px) {
	.vk-boite {
		padding: 0 16px;
	}
	.vk-hero-wp {
		padding: 48px 0;
	}
	.vk-article__corps,
	.vk-liste__corps {
		padding-top: 40px;
		padding-bottom: 56px;
	}
	.vk-cartes {
		grid-template-columns: 1fr;
	}
	.vk-carte-article__corps {
		padding: 24px;
	}
}

/* Accessibilité (P6.2) : focus clavier visible sur les liens parents de sous-menu ("Sports") et leurs sous-liens.
   UAE les met à "outline: 0" (frontend.css) ; on rétablit l'anneau du navigateur, comme sur les autres liens
   du menu, uniquement pour la navigation au clavier (:focus-visible). Aucun effet sur le rendu à la souris. */
.hfe-nav-menu .hfe-has-submenu-container a.hfe-menu-item:focus-visible,
.hfe-nav-menu .sub-menu a.hfe-sub-menu-item:focus-visible {
	outline: auto;
}

/* Performance (P6.2) : place du logo réservée avant son chargement (le widget Site Logo d'UAE n'écrit pas
   width / height sur l'image). Sans cela, le contenu se décale vers le bas au chargement du logo (CLS).
   "auto 1 / 1" : carré avant chargement, puis proportions réelles de l'image si le logo est remplacé. */
.hfe-site-logo .hfe-site-logo-container img.hfe-site-logo-img {
	aspect-ratio: auto 1 / 1;
}

/* Footer (P6.8) : séparateurs " · " entre les liens du bas (Mentions légales · Confidentialité · Facebook · Instagram
   · YouTube), comme dans le PDF. Purement visuels (::before) : ajouter ou retirer un lien dans le menu "Footer - Légal"
   ou un réseau dans Coordonnées Viking ne demande rien d'autre. Le point est centré dans l'écart de 20 px existant
   (position absolue) : aucune autre mise en page ne change. Entre les deux groupes (Confidentialité · Facebook),
   seulement à partir de 1 024 px, largeur où ils sont sur la même ligne (en dessous, les réseaux passent à la ligne). */
.vk-footer .vk-footer-legal ul.hfe-nav-menu > li.menu-item,
.vk-footer .vk-social li {
	position: relative;
}
.vk-footer .vk-footer-legal ul.hfe-nav-menu > li.menu-item + li.menu-item::before,
.vk-footer .vk-social li + li::before {
	content: "\00B7";
	position: absolute;
	left: -10px;
	top: 50%;
	transform: translate(-50%, -50%);
	font-family: var(--e-global-typography-vk_texte_legal-font-family), sans-serif;
	font-size: var(--e-global-typography-vk_texte_legal-font-size);
	line-height: 1;
	color: var(--vk-texte-secondaire);
	pointer-events: none;
}
@media (min-width: 1024px) {
	.vk-footer .vk-social li:first-child::before {
		content: "\00B7";
		position: absolute;
		left: -10px;
		top: 50%;
		transform: translate(-50%, -50%);
		font-family: var(--e-global-typography-vk_texte_legal-font-family), sans-serif;
		font-size: var(--e-global-typography-vk_texte_legal-font-size);
		line-height: 1;
		color: var(--vk-texte-secondaire);
		pointer-events: none;
	}
}
