/*
 * Styles éditoriaux custom — au-delà de ce que couvrent
 * GeneratePress / GP Premium / GenerateBlocks.
 */

:root {
	--mqc-navy: #142B3B;
	--mqc-red: #C83B32;
	--mqc-anthracite: #202428;
	--mqc-bg: #F7F6F2;
	--mqc-white: #FFFFFF;
	--mqc-border: #DFE3E6;
}

/* Utilitaire standard WordPress, redéfini ici pour ne pas dépendre du CSS
   du thème parent sur un élément critique pour l'accessibilité. */
.mqc-header .screen-reader-text,
.mqc-footer-brand .screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

/* Focus visible sur tous les éléments interactifs du header/footer. */
.mqc-header a:focus-visible,
.mqc-header button:focus-visible,
.mqc-header input:focus-visible,
.mqc-footer-brand a:focus-visible {
	outline: 2px solid var(--mqc-red);
	outline-offset: 2px;
}

/* --- Structure générale ---------------------------------------------- */

.mqc-container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}

.mqc-header {
	position: relative; /* ancre le panneau de recherche mobile (top:100%) */
	background-color: var(--mqc-white);
	color: var(--mqc-navy);
	border-bottom: 1px solid var(--mqc-border);
}

/* Verrouille le scroll de la page quand un panneau (drawer ou recherche)
   est ouvert — classe posée/retirée par header.js. */
body.mqc-scroll-lock {
	overflow: hidden;
}

/* --- Ligne 1 : logo, date, recherche ---------------------------------- */

.mqc-header-row-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	padding-top: 18px;
	padding-bottom: 18px;
}

.mqc-branding {
	min-width: 0;
}

.mqc-site-title {
	margin: 0;
	font-family: Georgia, 'Times New Roman', Times, serif;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.01em;
}

.mqc-site-title a {
	color: var(--mqc-navy);
	text-decoration: none;
}

.mqc-site-title a:hover {
	color: var(--mqc-red);
}

/* --- Logo personnalisé (has_custom_logo() / get_custom_logo()) ---------
   .custom-logo-link/.custom-logo sont les classes générées par le cœur de
   WordPress — max-width (pas de width fixe) pour ne jamais agrandir un
   logo plus petit que ces bornes, et height:auto pour ne jamais le
   déformer quel que soit son ratio d'origine. */

.mqc-site-logo .custom-logo-link {
	display: inline-block;
}

.mqc-site-logo img.custom-logo {
	display: block;
	max-width: 300px;
	width: auto;
	height: auto;
}

@media (max-width: 768px) {
	.mqc-site-logo img.custom-logo {
		max-width: 210px;
	}
}

@media (max-width: 360px) {
	.mqc-site-logo img.custom-logo {
		max-width: 180px;
	}
}

.mqc-header-meta {
	display: flex;
	align-items: center;
	gap: 16px;
}

.mqc-date {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.875rem;
	color: var(--mqc-anthracite);
	white-space: nowrap;
	text-transform: capitalize;
}

/* --- Recherche ---------------------------------------------------------- */

.mqc-search {
	position: relative;
	display: flex;
	align-items: center;
}

.mqc-search-toggle {
	display: none; /* affiché uniquement quand JS est chargé, voir plus bas */
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	background: transparent;
	border: 1px solid var(--mqc-border);
	border-radius: 4px;
	color: var(--mqc-navy);
	cursor: pointer;
}

.mqc-search-toggle:hover {
	border-color: var(--mqc-red);
	color: var(--mqc-red);
}

/* Croix de fermeture et backdrop de la modale recherche mobile : jamais
   affichés sur desktop ni sans JS (voir media query mobile plus bas). */
/* Ligne d'en-tête de la modale : titre à gauche, croix à droite, en flux
   normal (pas de position:absolute — ne chevauche donc jamais le formulaire
   ni la bordure du panneau). */
.mqc-search-form-header {
	display: none; /* affiché uniquement mobile+JS, voir media query */
}

.mqc-search-form-title {
	margin: 0;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1rem;
	font-weight: 700;
	color: var(--mqc-navy);
}

.mqc-search-close {
	display: none;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	/* Zone cliquable minimale 44×44 (WCAG 2.5.5), ic ône visuelle plus petite
	   centrée dedans via font-size/line-height. */
	width: 44px;
	height: 44px;
	padding: 0;
	font-size: 1.5rem;
	line-height: 1;
	background: transparent;
	border: 1px solid var(--mqc-border);
	border-radius: 4px;
	color: var(--mqc-navy);
	cursor: pointer;
}

.mqc-search-close:hover {
	border-color: var(--mqc-red);
	color: var(--mqc-red);
}

.mqc-search-backdrop {
	display: none;
}

/* Sans JS : le formulaire de recherche reste visible en ligne. */
.mqc-search-form {
	display: block;
}

/* border-box sur tout le sous-arbre du panneau recherche : évite qu'un
   padding/bordure n'ajoute de largeur au-delà de celle calculée (cause
   principale du débordement horizontal corrigé ici). */
.mqc-search-form,
.mqc-search-form *,
.mqc-search-form *::before,
.mqc-search-form *::after {
	box-sizing: border-box;
}

.mqc-search-form .search-form {
	display: flex;
	align-items: center;
	gap: 6px;
}

.mqc-search-form input[type='search'] {
	font-family: Arial, Helvetica, sans-serif;
	padding: 6px 10px;
	border: 1px solid var(--mqc-border);
	border-radius: 4px;
	color: var(--mqc-navy);
}

/* get_search_form() de WordPress génère <input type="submit">, pas
   <button> — le sélecteur ciblait button[type='submit'] et ne s'appliquait
   donc jamais (bouton resté en style navigateur par défaut, y compris sur
   desktop). Corrigé ici : même sélecteur input[type='submit'] partout,
   mobile et desktop en profitent désormais tous les deux. */
.mqc-search-form input[type='submit'] {
	font-family: Arial, Helvetica, sans-serif;
	padding: 6px 12px;
	background: var(--mqc-navy);
	color: var(--mqc-white);
	border: 1px solid var(--mqc-navy);
	border-radius: 4px;
	cursor: pointer;
}

.mqc-search-form input[type='submit']:hover {
	background: var(--mqc-red);
	border-color: var(--mqc-red);
}

/* --- Bouton menu mobile -------------------------------------------------- */

.mqc-nav-toggle {
	display: none; /* affiché uniquement en mobile, quand JS est chargé */
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	background: transparent;
	border: 1px solid var(--mqc-border);
	border-radius: 4px;
	color: var(--mqc-navy);
	cursor: pointer;
}

.mqc-nav-toggle:hover {
	border-color: var(--mqc-red);
	color: var(--mqc-red);
}

.mqc-icon {
	display: block;
}

/* Croix de fermeture du drawer et backdrop : jamais affichés sur desktop ni
   sans JS (le drawer lui-même n'existe visuellement que sous mobile+html.js). */
.mqc-nav-close {
	display: none;
	position: absolute;
	top: 12px;
	right: 12px;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	font-size: 1.5rem;
	line-height: 1;
	background: transparent;
	border: 1px solid var(--mqc-border);
	border-radius: 4px;
	color: var(--mqc-navy);
	cursor: pointer;
}

.mqc-nav-close:hover {
	border-color: var(--mqc-red);
	color: var(--mqc-red);
}

.mqc-nav-backdrop {
	display: none;
}

/* --- Ligne 2 : navigation ------------------------------------------------- */

.mqc-nav {
	border-top: 1px solid var(--mqc-border);
	background-color: var(--mqc-white);
}

.mqc-nav-menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mqc-nav-menu .menu-item {
	margin: 0;
}

.mqc-nav-menu a {
	display: block;
	padding: 12px 14px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--mqc-navy);
	text-decoration: none;
	border-bottom: 2px solid transparent;
}

.mqc-nav-menu a:hover,
.mqc-nav-menu a:focus-visible {
	color: var(--mqc-red);
	border-bottom-color: var(--mqc-red);
}

.mqc-nav-menu .current-menu-item > a,
.mqc-nav-menu .current-menu-parent > a {
	color: var(--mqc-red);
	border-bottom-color: var(--mqc-red);
}

/* --- Amélioration progressive : replis actifs uniquement si JS charge --- */
/* Le script inline dans mqc_render_header() ajoute la classe "js" sur
   <html> dès que JS s'exécute. Sans JS, tout reste visible/déplié :
   navigation en liste et formulaire de recherche en ligne, utilisables au
   clavier et à la souris. */

html.js .mqc-search-toggle {
	display: inline-flex;
}

html.js .mqc-search-form {
	display: none;
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	z-index: 20;
	background: var(--mqc-white);
	border: 1px solid var(--mqc-border);
	border-radius: 4px;
	padding: 10px;
	box-shadow: 0 4px 12px rgba(20, 43, 59, 0.12);
}

html.js .mqc-search-form.mqc-is-open {
	display: block;
}

@media (max-width: 768px) {
	.mqc-date {
		display: none;
	}

	/* Logo réduit sur mobile, fluide entre deux bornes. */
	.mqc-site-title {
		font-size: clamp(1.35rem, 6vw, 1.65rem);
	}

	html.js .mqc-nav-toggle {
		display: inline-flex;
	}

	/* --- Drawer de navigation : superposé, jamais dans le flux ------------ */
	html.js .mqc-nav {
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		height: 100dvh;
		width: min(86vw, 340px);
		max-width: 100vw;
		overflow-y: auto;
		background: var(--mqc-white);
		border-top: 0;
		box-shadow: -4px 0 16px rgba(20, 43, 59, 0.18);
		transform: translateX(100%);
		z-index: 50;
		padding-top: 56px;
	}

	html.js .mqc-nav.mqc-is-open {
		transform: translateX(0);
	}

	html.js .mqc-nav-close {
		display: inline-flex;
	}

	html.js .mqc-nav-backdrop {
		display: block;
		position: fixed;
		inset: 0;
		background: rgba(20, 43, 59, 0.5);
		z-index: 45;
		opacity: 0;
		visibility: hidden;
	}

	html.js .mqc-nav-backdrop.mqc-is-open {
		opacity: 1;
		visibility: visible;
	}

	html.js .mqc-nav-menu {
		flex-direction: column;
		align-items: stretch;
	}

	html.js .mqc-nav-menu a {
		padding: 12px 16px;
		border-bottom: 1px solid var(--mqc-border);
	}

	/* --- Recherche : vraie modale superposée, jamais dans le flux du header.
	   Corrige le débordement horizontal précédent (le panneau était ancré en
	   position:absolute avec une largeur calculée sur le header, mais les
	   enfants flex du formulaire refusaient de rétrécir en dessous de leur
	   taille intrinsèque — min-width:auto par défaut sur les items flex —
	   ce qui poussait le panneau au-delà du viewport). ------------------- */
	html.js .mqc-search-backdrop {
		display: block;
		position: fixed;
		inset: 0;
		background: rgba(20, 43, 59, 0.5);
		z-index: 55;
		opacity: 0;
		visibility: hidden;
	}

	html.js .mqc-search-backdrop.mqc-is-open {
		opacity: 1;
		visibility: visible;
	}

	html.js .mqc-search-form {
		position: fixed;
		top: 50%;
		left: 50%;
		right: auto;
		bottom: auto;
		transform: translate(-50%, -50%);
		width: calc(100% - 32px);
		max-width: 420px;
		max-height: calc(100dvh - 32px);
		overflow-y: auto;
		z-index: 60;
		/* Padding régulier — la croix vit maintenant dans le flux normal (ligne
		   d'en-tête), plus besoin de dégagement spécial en haut. */
		padding: 20px;
		border-radius: 6px;
		box-shadow: 0 8px 28px rgba(20, 43, 59, 0.28);
	}

	/* Panneau ouvert = colonne verticale : ligne d'en-tête (titre + croix),
	   puis le formulaire, avec au moins 12px d'écart entre les deux. */
	html.js .mqc-search-form.mqc-is-open {
		display: flex;
		flex-direction: column;
		gap: 16px;
	}

	html.js .mqc-search-form-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
	}

	html.js .mqc-search-close {
		display: inline-flex;
	}

	/* Grille à 2 colonnes : la colonne du champ (label) peut rétrécir
	   jusqu'à 0 (minmax(0, 1fr)), la colonne du bouton garde sa taille de
	   contenu (auto). C'est ça qui empêche le débordement, pas overflow-x. */
	.mqc-search-form .search-form {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 8px;
		align-items: center;
	}

	.mqc-search-form .search-form label {
		min-width: 0;
	}

	.mqc-search-form input[type='search'] {
		width: 100%;
		min-width: 0;
		height: 44px;
		font-size: 16px; /* évite le zoom automatique iOS au focus (<16px le déclenche) */
	}

	/* Bouton d'envoi : même hauteur que le champ (44px min), largeur
	   minimale ~64px, texte centré et lisible. La colonne "auto" de la
	   grille (voir .search-form ci-dessus) le laisse à sa taille de
	   contenu sans jamais déborder, le champ (minmax(0, 1fr)) absorbant le
	   reste de l'espace disponible. */
	.mqc-search-form input[type='submit'] {
		height: 44px;
		min-width: 64px;
		padding: 0 16px;
		font-size: 0.9375rem;
		text-align: center;
		line-height: 1;
	}

	/* --- Titres et contenu ------------------------------------------------ */
	.entry-title,
	.page-title {
		font-size: clamp(1.5rem, 7vw, 32px);
		line-height: 1.15;
		overflow-wrap: anywhere;
	}

	.separate-containers .inside-article,
	.separate-containers .page-header,
	.inside-page-header {
		padding: 20px;
	}
}

/* Animations de transform/opacity uniquement si l'utilisateur n'a pas
   demandé de mouvement réduit — sinon bascule instantanée (pas de
   transition définie du tout hors de ce bloc). */
@media (prefers-reduced-motion: no-preference) {
	html.js .mqc-nav {
		transition: transform 0.25s ease;
	}

	html.js .mqc-nav-backdrop {
		transition: opacity 0.2s ease, visibility 0.2s ease;
	}

	html.js .mqc-search-backdrop {
		transition: opacity 0.2s ease, visibility 0.2s ease;
	}
}

/* --- Composant carte + sections (partagé) ---------------------------------
   Utilisé par l'accueil, les articles associés, les archives de rubrique,
   les archives génériques et la recherche — donc chargé globalement ici
   (editorial.css), pas dans homepage.css qui n'est enqueue que sur
   is_front_page(). Bug corrigé : ces cartes s'affichaient sans aucun style
   sur toute page qui n'était pas l'accueil. */

.mqc-section {
	padding-top: 40px;
	padding-bottom: 40px;
	border-bottom: 1px solid var(--mqc-border);
}

.mqc-section:last-child {
	border-bottom: 0;
}

.mqc-section-header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
}

.mqc-section-title {
	margin: 0 0 20px;
	font-family: Georgia, 'Times New Roman', Times, serif;
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--mqc-navy);
}

.mqc-section-header .mqc-section-title {
	margin-bottom: 0;
}

.mqc-section-link {
	flex-shrink: 0;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--mqc-red);
	text-decoration: none;
	white-space: nowrap;
}

.mqc-section-link:hover,
.mqc-section-link:focus-visible {
	text-decoration: underline;
}

.mqc-card {
	display: flex;
	flex-direction: column;
	background: var(--mqc-white);
}

.mqc-card-media {
	display: block;
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--mqc-bg);
}

.mqc-card-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mqc-card-body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	/* Padding régulier sur les 4 côtés — auparavant seul un padding-top
	   existait, si bien que le titre/l'extrait/la date touchaient les bords
	   gauche, droit et bas de la carte. */
	padding: 16px;
}

@media (min-width: 769px) {
	.mqc-card-body {
		padding: 20px;
	}
}

.mqc-card-category {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--mqc-red);
	text-decoration: none;
}

.mqc-card-category:hover,
.mqc-card-category:focus-visible {
	text-decoration: underline;
}

.mqc-card-title {
	margin: 0;
	font-family: Georgia, 'Times New Roman', Times, serif;
	font-size: 1.125rem;
	line-height: 1.3;
	font-weight: 700;
	/* Limite à 3 lignes : évite qu'un titre très long ne déséquilibre la
	   hauteur de toute la rangée de la grille, sans pour autant tronquer
	   agressivement (3 lignes restent lisibles en entier la plupart du temps). */
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
}

.mqc-card-title a {
	color: var(--mqc-navy);
	text-decoration: none;
}

.mqc-card-title a:hover,
.mqc-card-title a:focus-visible {
	color: var(--mqc-red);
}

.mqc-card-excerpt {
	margin: 0;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.9375rem;
	line-height: 1.5;
	color: var(--mqc-anthracite);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
}

.mqc-card-date {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.8125rem;
	color: var(--mqc-anthracite);
	opacity: 0.75;
}

/* Visuel de secours par rubrique (HTML/CSS, pas d'image). */

.mqc-card-fallback {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
}

.mqc-fallback-economia {
	background: var(--mqc-navy);
}

.mqc-fallback-imprese {
	background: var(--mqc-red);
}

.mqc-fallback-marketing {
	background: linear-gradient(135deg, var(--mqc-navy) 0%, var(--mqc-red) 100%);
}

.mqc-fallback-tecnologia {
	background: var(--mqc-anthracite);
}

.mqc-fallback-casa {
	background: var(--mqc-bg);
	border: 1px solid var(--mqc-border);
}

.mqc-fallback-lifestyle {
	background-color: var(--mqc-red);
	background-image: repeating-linear-gradient(
		135deg,
		rgba(255, 255, 255, 0.16) 0,
		rgba(255, 255, 255, 0.16) 2px,
		transparent 2px,
		transparent 14px
	);
}

.mqc-fallback-viaggi {
	background-color: var(--mqc-navy);
	background-image: repeating-linear-gradient(
		135deg,
		rgba(255, 255, 255, 0.14) 0,
		rgba(255, 255, 255, 0.14) 2px,
		transparent 2px,
		transparent 14px
	);
}

.mqc-fallback-default {
	background: var(--mqc-anthracite);
}

.mqc-card-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 28px 24px;
}

.mqc-card--featured .mqc-card-title {
	font-size: 1.5rem;
	line-height: 1.25;
}

.mqc-card--featured .mqc-card-excerpt {
	font-size: 1rem;
}

@media (min-width: 769px) {
	.mqc-card-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.mqc-card-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.mqc-card--featured {
		height: 100%;
		display: flex;
		flex-direction: column;
	}

	.mqc-card--featured .mqc-card-media {
		aspect-ratio: 3 / 2;
		flex: 0 0 auto;
	}

	.mqc-card--featured .mqc-card-body {
		flex: 1 1 auto;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.mqc-card--featured .mqc-card-title {
		font-size: 1.75rem;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.mqc-card-title a,
	.mqc-card-category,
	.mqc-section-link {
		transition: color 0.15s ease;
	}
}

/* --- Pagination native WordPress (the_posts_pagination / paginate_links) --
   Partagée par les archives (article.css) et l'accueil (flux "Tutti gli
   articoli"), donc définie ici globalement plutôt que dans article.css qui
   n'est pas chargé sur is_front_page(). */

.mqc-container .pagination,
.mqc-container .navigation.pagination {
	margin: 0 0 48px;
}

.mqc-container .pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.mqc-container .pagination .nav-links ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mqc-container .pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	min-height: 40px;
	padding: 0 10px;
	border: 1px solid var(--mqc-border);
	border-radius: 4px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.9375rem;
	color: var(--mqc-navy);
	text-decoration: none;
}

.mqc-container .pagination .page-numbers.current {
	background: var(--mqc-navy);
	border-color: var(--mqc-navy);
	color: var(--mqc-white);
}

.mqc-container .pagination a.page-numbers:hover,
.mqc-container .pagination a.page-numbers:focus-visible {
	border-color: var(--mqc-red);
	color: var(--mqc-red);
}

/* --- Utilitaire : visible par les lecteurs d'écran uniquement ------------- */

.mqc-visually-hidden {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	white-space: nowrap;
}

/* --- Bouton générique ------------------------------------------------------- */

.mqc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 24px;
	background: var(--mqc-navy);
	border: 1px solid var(--mqc-navy);
	border-radius: 4px;
	color: var(--mqc-white);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.9375rem;
	font-weight: 600;
	cursor: pointer;
}

.mqc-btn:hover,
.mqc-btn:focus-visible {
	background: var(--mqc-red);
	border-color: var(--mqc-red);
}

.mqc-btn:disabled,
.mqc-btn.is-loading {
	opacity: 0.7;
	cursor: wait;
}

/* --- Flux "Tutti gli articoli" --------------------------------------------- */

.mqc-all-posts-grid {
	margin-bottom: 28px;
}

.mqc-all-posts-loadmore {
	display: none; /* affiché uniquement quand JS charge, voir plus bas */
	text-align: center;
	margin-bottom: 8px;
}

html.js .mqc-all-posts-loadmore {
	display: block;
}

html.js .mqc-all-posts-pagination {
	/* La pagination classique reste dans le DOM (repli sans JS conservé),
	   mais le bouton "Carica altri articoli" prend le relais visuellement
	   dès que JS est disponible. */
	display: none;
}

/* --- Footer de marque ----------------------------------------------------- */

.mqc-footer-brand {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
	font-family: Arial, Helvetica, sans-serif;
	color: var(--mqc-navy);
}

.mqc-footer-name {
	font-family: Georgia, 'Times New Roman', Times, serif;
	font-weight: 700;
}

.mqc-footer-copyright {
	color: var(--mqc-anthracite);
	font-size: 0.875rem;
}

.mqc-footer-legal {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 16px;
	margin-top: 8px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.8125rem;
}

.mqc-footer-legal a,
.mqc-cookie-preferences {
	background: none;
	border: none;
	padding: 0;
	color: var(--mqc-anthracite);
	text-decoration: underline;
	text-underline-offset: 2px;
	cursor: pointer;
	font: inherit;
}

.mqc-footer-legal a:hover,
.mqc-footer-legal a:focus-visible,
.mqc-cookie-preferences:hover,
.mqc-cookie-preferences:focus-visible {
	color: var(--mqc-red);
}
