/* Home (aligné maquette HotelCastera.png : hero 3 col., serif, crème) */

:root {
	--hc-bg: #fcf9f3;
	--hc-surface: #f3efe8;
	--hc-card: #fcf9f3;
	--hc-border: rgba(0, 0, 0, 0.10);
	--hc-text: #1a1a1a;
	--hc-muted: rgba(26, 26, 26, 0.72);
	/* Slogan sous le titre (header maquette) */
	--hc-header-tagline: #5a5a5a;
	--hc-accent: #c0826a;
	/* Bloc « populaires » (maquette liste + filets) */
	--hc-popular-rule: #e5e1d8;
	--hc-popular-rank: #9c4d35;
	--hc-popular-meta: #8a8a8a;
	/* Bandeau bas de page (populaires + méthode), crème chaud */
	--hc-bottom-bg: #fdfbf7;
	--hc-radius: 0;
	--hc-shadow: none;
	--hc-max: 1260px;
	--hc-font-serif: Georgia, "Times New Roman", Times, serif;
	--hc-font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	/* Footer maquette (fond sombre) */
	--hc-footer-main-bg: #333333;
	--hc-footer-socket-bg: #000000;
	--hc-footer-text: #e8e8e8;
	--hc-footer-muted: #b0b0b0;
	--hc-footer-link: #c8c8c8;
	/* Hauteur unique des 3 colonnes du hero (sinon la colonne droite impose ~600px+) */
	--hc-hero-row-height: 560px;
}

body {
	background: var(--hc-bg);
	color: var(--hc-text);
	font-family: var(--hc-font-sans);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--hc-font-serif);
	letter-spacing: -0.01em;
}

/* Métadonnées / libellés = sans ; titres = serif (hérités du body) */
.hc-home .hc-kicker,
.hc-home .hc-section-link a,
.hc-home .hc-card-kicker,
.hc-home .hc-card-foot,
.hc-home .hc-hero-meta,
.hc-home .hc-side-kicker,
.hc-home .hc-side-meta {
	font-family: var(--hc-font-sans);
}

.hc-home .hc-section-title {
	font-family: var(--hc-font-serif);
	font-weight: 500;
	font-size: clamp(1.2rem, 2vw, 1.8rem);
	letter-spacing: -0.02em;
}

/* Images : pas d’arrondi, sujet centré dans le cadre (comme la maquette) */
.hc-home .wp-block-post-featured-image img,
.hc-home .wp-block-image img,
.hc-home .my-card-image-link img {
	border-radius: 0;
	object-position: center center;
}

/* Fond global et blocs : même crème que la maquette */
body,
.site-content,
.content-area,
.site-main {
	background: var(--hc-bg);
}

/* max-width sans margin auto = bloc calé à gauche dans une zone plus large */
.container.grid-container,
.inside-top-bar,
.inside-header,
.inside-navigation,
.inside-footer-widgets,
.inside-site-info,
.inside-article,
.inside-page-header {
	max-width: var(--hc-max);
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	box-sizing: border-box;
}

/* Gouttière cohérente avec la maquette (le contenu respire, reste centré) */
.inside-article {
	padding-left: 24px;
	padding-right: 24px;
}

/* Blocs Gutenberg full / wide : éviter le décalage latéral sur la home */
body.home .entry-content .alignwide {
	max-width: var(--hc-max) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	width: 100%;
	box-sizing: border-box;
}

body.home .entry-content .alignfull.wp-block-group.hc-home {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 100% !important;
	width: 100%;
	box-sizing: border-box;
}

.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.one-container .container,
.separate-containers .paging-navigation,
.separate-containers .site-main > * {
	background-color: transparent;
}

/*
 * Colonne magazine : centré même si .hc-home est en pleine largeur (alignfull),
 * car le parent peut alors faire 100vw.
 */
.hc-wrap {
	max-width: var(--hc-max);
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	box-sizing: border-box;
	padding: 0;
}

.hc-home {
	padding-bottom: 50px;
}

/*
 * Wonder Generator (custom.css) applique souvent :
 * .site-main .wp-block-group__inner-container { padding: 50px 30px 100px; }
 * → ça “gonfle” toutes les cartes. On annule sur la home.
 */
.site-main .hc-home .wp-block-group__inner-container {
	padding: 0 !important;
}

/* Titre de section seul (si besoin) */
.hc-section-block {
	margin: 34px 0 14px;
}

/* Ancien markup (hero + colonne droite) : tout empiler comme la maquette actuelle */
.hc-home .hc-hero {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 18px;
	align-items: stretch;
}

.hc-home .hc-hero-right ul.wp-block-post-template {
	grid-template-columns: 1fr !important;
	grid-template-rows: none !important;
}

/* Si la page n’a pas encore le bloc hc-hero-lead : forcer la grille du hero historique */
.hc-home .hc-hero-grid > .wp-block-group__inner-container {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
	align-items: stretch;
	min-height: min(420px, 70vw);
	background: var(--hc-card);
	border: none;
	border-radius: var(--hc-radius);
	box-shadow: none;
	overflow: hidden;
}

/* Section header row */
.hc-section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin: 40px 0 14px;
}

.hc-section-title {
	margin: 0;
}

.hc-section-link {
	margin: 0;
}

.hc-section-link a {
	font-family: var(--hc-font-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--hc-accent);
	text-decoration: none;
}

.hc-section-link a:hover {
	color: var(--hc-text);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/*
 * En-tête type maquette HotelCastera.png :
 * — bandeau blanc pleine largeur (pas de transparence / fusion avec le hero),
 * — logo + menu alignés sur la même gouttière que .inside-article,
 * — cas « menu sous le header » (nav-below-header, défaut GP) : deux rangées visuellement unies.
 */
.site-header {
	position: relative;
	z-index: 100;
	/* Maquette : même crème que le corps, pas de bandeau blanc isolé */
	background-color: var(--hc-bg) !important;
	border-bottom: none !important;
	box-shadow: none !important;
}

.site-header .inside-header {
	padding-top: 16px;
	padding-bottom: 16px;
	padding-left: 24px;
	padding-right: 24px;
}

.inside-navigation {
	padding-left: 24px;
	padding-right: 24px;
}

.inside-top-bar {
	padding-left: 24px;
	padding-right: 24px;
}

/* Maquette : pas de filet gris entre header / menu / contenu */
body.nav-below-header .site-header {
	border-bottom: none !important;
	box-shadow: none !important;
}

/* Ne pas cibler .slideout-navigation (#generate-slideout-menu) : sinon fond blanc + height:auto cassent l’off-canvas GP */
body.nav-below-header .main-navigation:not(#mobile-header):not(.mobile-menu-control-wrapper):not(.slideout-navigation) {
	background-color: #fff !important;
	border-bottom: none !important;
	box-shadow: none !important;
}

/* Hauteur fixe = maquette desktop uniquement ; sur mobile (#site-navigation) elle masquait le menu déplié */
@media (min-width: 769px) {
	body.nav-below-header .main-navigation:not(#mobile-header):not(.mobile-menu-control-wrapper):not(.slideout-navigation) {
		height: 80px;
	}
}

@media (max-width: 768px) {
	body.nav-below-header .main-navigation:not(#mobile-header):not(.mobile-menu-control-wrapper):not(.slideout-navigation) {
		height: auto !important;
		min-height: 0;
		overflow: visible;
	}
}

body.nav-above-header .main-navigation:not(#mobile-header):not(.mobile-menu-control-wrapper):not(.slideout-navigation) {
	background-color: var(--hc-bg) !important;
	border-bottom: none !important;
	box-shadow: none !important;
}

body.nav-above-header .site-header {
	background-color: var(--hc-bg) !important;
	border-bottom: none !important;
	box-shadow: none !important;
}

body.nav-float-right .site-header,
body.nav-float-left .site-header {
	border-bottom: none !important;
	box-shadow: none !important;
	background-color: var(--hc-bg) !important;
}

body.nav-float-right .main-navigation:not(#mobile-header):not(.mobile-menu-control-wrapper):not(.slideout-navigation),
body.nav-float-left .main-navigation:not(#mobile-header):not(.mobile-menu-control-wrapper):not(.slideout-navigation) {
	background-color: var(--hc-bg) !important;
	border-bottom: none !important;
	box-shadow: none !important;
}

@media (min-width: 769px) {
	body.nav-float-right .inside-header,
	body.nav-float-left .inside-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-wrap: nowrap;
		gap: 12px 24px;
	}

	body.nav-float-right .inside-header .site-branding-container,
	body.nav-float-left .inside-header .site-branding-container {
		flex: 0 1 auto;
		/* Laisser place au titre en capitales + slogan long (20rem coupait la maquette) */
		max-width: min(42rem, 58vw);
		min-width: 0;
	}

	/* Variante GP : branding directement sous .inside-header */
	body.nav-float-right .inside-header > .site-branding,
	body.nav-float-left .inside-header > .site-branding {
		flex: 0 1 auto;
		max-width: min(42rem, 58vw);
		min-width: 0;
	}

	body.nav-float-right .inside-header .main-navigation,
	body.nav-float-left .inside-header .main-navigation {
		flex: 1 1 0;
		min-width: 0;
		justify-content: flex-end;
	}

	body.nav-float-right .inside-header .main-navigation .inside-navigation,
	body.nav-float-left .inside-header .main-navigation .inside-navigation {
		flex: 1 1 auto;
		display: flex;
		justify-content: flex-end;
		align-items: center;
		width: 100%;
		max-width: none;
	}

	body.nav-float-right .inside-header .main-navigation .main-nav,
	body.nav-float-left .inside-header .main-navigation .main-nav {
		flex: 1 1 auto;
		display: flex;
		justify-content: flex-end;
		min-width: 0;
	}

	body.nav-float-right .inside-header .main-navigation .main-nav ul.menu,
	body.nav-float-left .inside-header .main-navigation .main-nav ul.menu {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		column-gap: 1.35rem;
		row-gap: 0.35rem;
	}
}

/* Menu sous le header : occuper plus de largeur (aligné maquette) */
@media (min-width: 769px) {
	body.nav-below-header .main-navigation:not(#mobile-header):not(.slideout-navigation) .inside-navigation {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 0.75rem 1rem;
	}

	body.nav-below-header .main-navigation:not(#mobile-header):not(.slideout-navigation) .main-nav {
		flex: 1 1 auto;
		display: flex !important;
		justify-content: center;
		min-width: 0;
	}

	body.nav-below-header .main-navigation:not(#mobile-header):not(.slideout-navigation) .main-nav ul.menu {
		display: flex !important;
		flex-wrap: wrap;
		justify-content: center;
		column-gap: 1.5rem;
		row-gap: 0.35rem;
	}
}

/* GP Menu Plus / sticky : fond crème, ombre très légère seulement au scroll */
.main-navigation.navigation-stick,
.main-navigation.is_stuck,
.sticky-enabled .main-navigation.has-sticky-branding.navigation-stick,
.sticky-enabled .gen-sidebar-nav.is_stuck {
	background-color: var(--hc-bg) !important;
	background-image: none !important;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05) !important;
	border-bottom: none !important;
}

/*
 * Typo « HOTEL CASTERA » : Georgia + capitales.
 * Préfixe html body pour passer après la typo dynamique GP Premium (inline head).
 */
html body .site-header .main-title,
html body .site-header .main-title a,
html body .site-header .site-title,
html body .site-header .site-title a,
html body .navigation-branding .main-title,
html body .navigation-branding .main-title a,
html body .header-wrap .main-title,
html body .header-wrap .main-title a,
html body .mobile-header-navigation .main-title,
html body .mobile-header-navigation .main-title a {
	font-family: var(--hc-font-serif) !important;
	font-weight: 500 !important;
	font-style: normal !important;
	letter-spacing: 0.08em;
	text-transform: uppercase !important;
	font-size: clamp(1.08rem, 1.45vw, 1.68rem) !important;
	line-height: 1.15 !important;
	color: #141414 !important;
	text-decoration: none !important;
}

/* GP Menu Plus : logo + pile titre/slogan sur une ligne, sans marges parasites */
html body .main-navigation.has-branding .navigation-branding {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	flex-wrap: nowrap !important;
	gap: 0.75rem 1rem !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: min(44rem, 62vw) !important;
}

html body .navigation-branding .site-logo,
html body .navigation-branding .site-logo a {
	flex-shrink: 0;
	margin: 0 !important;
}

/* Logo : taille proche picto maquette (évite un picto énorme à côté du titre) */
html body .navigation-branding .site-logo img,
html body .navigation-branding img.header-image,
html body .navigation-branding img.is-logo-image {
	max-height: 64px !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain;
}

html body .navigation-branding .main-title {
	margin: 0 !important;
	padding: 0 !important;
}

/* Navigation comme header : titre + slogan empilés, alignés sur le « H » */
.navigation-branding .hc-nav-title-stack {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 0.2rem;
	margin: 0;
	padding: 0;
	flex: 0 1 auto;
	min-width: 0;
}

.navigation-branding .hc-nav-title-stack .main-title {
	margin: 0 !important;
	padding: 0 !important;
}

.site-header .site-branding,
.site-header .site-branding-container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.25rem;
	max-width: min(44rem, 92vw) !important;
}

.site-header .site-description,
.navigation-branding .site-description,
.header-wrap .site-description {
	display: block !important;
	font-family: var(--hc-font-sans) !important;
	font-size: 0.7rem !important;
	line-height: 1.4 !important;
	letter-spacing: 0.006em;
	font-weight: 400;
	color: var(--hc-header-tagline) !important;
	max-width: 36rem;
	margin: 0 !important;
	margin-top: 0.35rem !important;
	opacity: 1 !important;
}

.navigation-branding .site-description {
	margin-top: 0.25rem !important;
	max-width: 36rem;
}

/* Liens du menu principal : capitales, un peu plus gras (maquette) */
.main-navigation:not(#mobile-header) .main-nav ul.menu > li > a,
.main-navigation:not(#mobile-header) .menu-bar-items .menu-bar-item > a {
	font-family: var(--hc-font-sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--hc-text) !important;
}

.main-navigation:not(#mobile-header) .main-nav ul.menu > li > a:hover,
.main-navigation:not(#mobile-header) .main-nav ul.menu > li > a:focus,
.main-navigation:not(#mobile-header) .menu-bar-items .menu-bar-item > a:hover {
	color: var(--hc-accent) !important;
}

/* Indication de contexte : page catégorie / article → item courant du menu */
.main-navigation:not(#mobile-header) .main-nav ul.menu > li.current-menu-item > a,
.main-navigation:not(#mobile-header) .main-nav ul.menu > li.current-menu-ancestor > a,
.main-navigation:not(#mobile-header) .main-nav ul.menu > li.current-menu-parent > a,
.main-navigation:not(#mobile-header) .main-nav ul.menu > li.current-post-parent > a {
	color: var(--hc-accent) !important;
	position: relative;
}

.main-navigation:not(#mobile-header) .main-nav ul.menu > li.current-menu-item > a::after,
.main-navigation:not(#mobile-header) .main-nav ul.menu > li.current-menu-ancestor > a::after,
.main-navigation:not(#mobile-header) .main-nav ul.menu > li.current-menu-parent > a::after,
.main-navigation:not(#mobile-header) .main-nav ul.menu > li.current-post-parent > a::after {
	content: "";
	position: absolute;
	left: 0.05em;
	right: 0.05em;
	bottom: -10px;
	height: 2px;
	background: currentColor;
	opacity: 0.9;
}

/* Off-canvas GP : ul.slideout-menu sans classe .menu — couleurs de lien lisibles sur fond clair */
#generate-slideout-menu.slideout-navigation .slideout-menu > li > a,
#generate-slideout-menu.slideout-navigation .slideout-menu .menu-item > a {
	color: var(--hc-text) !important;
}

#generate-slideout-menu.slideout-navigation .slideout-menu > li.current-menu-item > a,
#generate-slideout-menu.slideout-navigation .slideout-menu > li.current-menu-ancestor > a,
#generate-slideout-menu.slideout-navigation .slideout-menu > li.current-menu-parent > a,
#generate-slideout-menu.slideout-navigation .slideout-menu > li.current-post-parent > a {
	color: var(--hc-accent) !important;
	text-decoration: underline;
	text-underline-offset: 0.35em;
	text-decoration-thickness: 2px;
}

#generate-slideout-menu.slideout-navigation.do-overlay .inside-navigation {
	color: var(--hc-text);
}

.menu-toggle,
.has-menu-bar-items .menu-toggle,
.mobile-menu-control-wrapper .menu-toggle {
	color: var(--hc-text);
}

/* Air entre le bloc header+menu et le contenu (hero) */
body.home .site-content,
body.home #page .site-content {
	padding-top: 80px;
}

/*
 * Hero magazine (HotelCastera.png) : colonne texte | grande image | pile de 2 cartes.
 * display:contents sur la query #1 pour que les 3 zones soient des enfants directs de la grille.
 */
.hc-hero-mag {
	margin-top: 0;
	padding-bottom: 28px;
	margin-bottom: 4px;
	border-bottom: 1px solid var(--hc-border);
}

.hc-hero-mag > .wp-block-group__inner-container {
	display: grid;
	/* Colonne droite un peu plus large (maquette) */
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1fr) minmax(0, 0.8fr);
	/* Au moins la hauteur maquette, mais sans plafond : minmax(0, 560px) coupait
	   la colonne droite (2 cartes + textes) quand le contenu dépassait — visiteur / typo / zoom. */
	grid-template-rows: minmax(var(--hc-hero-row-height), auto);
	gap: clamp(16px, 2.2vw, 20px);
	align-items: stretch;
	min-height: 0;
}

.hc-hero-mag .hc-hero-q1,
.hc-hero-mag .hc-hero-q1 .wp-block-query__inner-container,
.hc-hero-mag .hc-hero-q1 ul.wp-block-post-template,
.hc-hero-mag .hc-hero-q1 li {
	display: contents;
}

.hc-hero-mag .hc-hero-q1 ul.wp-block-post-template {
	list-style: none;
	padding: 0;
	margin: 0;
}

.hc-hero-mag .hc-hero-q1 li {
	margin: 0;
}

.hc-hero-mag .hc-hero-left {
	background: var(--hc-card);
	padding: clamp(18px, 2.4vw, 26px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	min-height: 0;
	max-height: 100%;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-gutter: stable;
}

.hc-hero-mag .hc-hero-image {
	margin: 0;
	height: 100%;
	max-height: 100%;
	min-height: 0;
	align-self: stretch;
	display: block;
	overflow: hidden;
	border: 1px solid var(--hc-border);
}

.hc-hero-mag .hc-hero-image a {
	display: block;
	height: 100%;
}

.hc-hero-mag .hc-hero-image img {
	width: 100%;
	height: 100%;
	max-height: 100%;
	min-height: 0;
	object-fit: cover;
	object-position: center center;
	display: block;
}

.hc-hero-mag .hc-hero-qside {
	min-width: 0;
	min-height: 0;
	max-height: 100%;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.hc-hero-mag .hc-hero-qside .wp-block-query__inner-container {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-height: 0;
}

.hc-hero-mag .hc-hero-qside ul.wp-block-post-template {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex !important;
	flex-direction: column;
	gap: 14px;
	flex: 1;
}

.hc-hero-mag .hc-hero-qside li {
	margin: 0;
	flex: 1;
	min-height: 0;
	display: flex;
}

.hc-hero-side-card {
	background: var(--hc-card);
	min-height: 0;
	flex: 1;
	overflow: hidden;
	border: 1px solid var(--hc-border);
}

.hc-hero-side-card > .wp-block-group__inner-container {
	display: flex !important;
	/* maquette : photo puis texte en dessous */
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
	min-height: 0;
	height: 100%;
}

.hc-hero-side-card .hc-side-thumb {
	flex: 1 1 0;
	min-height: 0;
	max-width: none;
	width: 100%;
	margin: 0;
	align-self: stretch;
	overflow: hidden;
}

.hc-hero-side-card .hc-side-thumb img {
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: cover;
	object-position: center center;
	display: block;
}

.hc-hero-side-card .hc-side-text {
	flex: 0 0 auto;
	padding: 0 12px 12px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	gap: 6px;
	min-width: 0;
}

.hc-hero-side-card .hc-side-text > .wp-block-group__inner-container {
	display: flex !important;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.hc-side-kicker {
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--hc-accent);
	margin: 0 !important;
}

.hc-side-kicker a {
	color: var(--hc-accent);
	text-decoration: none;
	font-weight: 700;
	font-size: 11px;
}

.hc-side-title {
	margin: 0 !important;
	font-family: var(--hc-font-serif);
	font-size: clamp(0.95rem, 1.40vw, 1.20rem);
	line-height: 1.25;
	font-weight: 500;
}

.hc-side-title a {
	color: var(--hc-text);
	text-decoration: none;
}

.hc-side-title a:hover {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.hc-side-meta {
	margin: 0 !important;
	font-size: 11px;
	color: var(--hc-muted);
}

.hc-meta-date {
	margin: 0;
	font-size: 11px;
	letter-spacing: 0.04em;
	color: var(--hc-muted);
}

.hc-meta-place {
	margin: 0;
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--hc-muted);
}

.hc-meta-place a {
	color: var(--hc-muted);
	text-decoration: none;
}

/* Hero : une carte pleine largeur, texte à gauche / image à droite (ancien markup) */
.hc-hero-lead {
	margin-top: 10px;
}

.hc-hero-lead ul.wp-block-post-template {
	list-style: none;
	padding: 0;
	margin: 0;
}

.hc-hero-lead-card > .wp-block-group__inner-container {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	align-items: stretch;
	min-height: min(420px, 70vw);
	background: var(--hc-card);
	border: none;
	border-radius: var(--hc-radius);
	box-shadow: none;
	overflow: hidden;
}

.hc-hero-left {
	padding: 26px 26px 22px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.hc-kicker {
	font-family: var(--hc-font-sans);
	font-weight: 700;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--hc-accent);
	margin: 0 0 32px;
}

.hc-kicker a {
	color: var(--hc-accent);
	text-decoration: none;
}

.hc-kicker a:hover {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.hc-hero-title {
	margin: 0 0 14px;
	font-family: var(--hc-font-serif);
	font-size: clamp(1.65rem, 2.8vw, 2.35rem);
	line-height: 1.12;
	font-weight: 500;
}

.hc-hero-title a {
	color: var(--hc-text);
	text-decoration: none;
}

.hc-hero-title a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.hc-hero-excerpt {
	color: var(--hc-muted);
	font-size: 14px;
	line-height: 1.65;
	margin: 0 0 18px;
}

.hc-btn,
.hc-btn.wp-block-read-more {
	display: inline-block;
	background: var(--hc-accent);
	color: #fff !important;
	border-radius: 0;
	padding: 12px 22px;
	font-family: var(--hc-font-sans);
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-size: 11px;
	text-decoration: none;
	margin: 0 0 18px;
}

.hc-btn:hover {
	filter: brightness(0.95);
}

.hc-hero-meta {
	color: var(--hc-muted);
	font-size: 12px;
	gap: 12px;
	width: 100%;
	align-items: center;
}

.hc-hero-image {
	margin: 0;
	height: 100%;
	min-height: 280px;
}

.hc-hero-image img {
	width: 100%;
	height: 100%;
	min-height: 280px;
	object-fit: cover;
	display: block;
}

/* Bloc du milieu : 2 cartes empilées */
.hc-mid-stack {
	margin-top: 18px;
}

.hc-mid-stack ul.wp-block-post-template {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 32px;
}

.hc-mid-card > .wp-block-group__inner-container {
	display: grid !important;
	grid-template-rows: auto 1fr;
	background: var(--hc-card);
	border: none;
	border-radius: var(--hc-radius);
	box-shadow: none;
	overflow: hidden;
}

.hc-mid-image {
	margin: 0;
}

.hc-mid-image img {
	width: 100%;
	aspect-ratio: 21 / 9;
	object-fit: cover;
	display: block;
}

.hc-mid-body {
	padding: 18px 20px 16px;
}

.hc-mid-kicker {
	font-family: var(--hc-font-sans);
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--hc-accent);
	margin: 0 0 8px;
}

.hc-mid-kicker a {
	color: var(--hc-accent);
	text-decoration: none;
}

.hc-mid-title {
	font-family: var(--hc-font-sans);
	font-size: clamp(1.05rem, 2vw, 1.25rem);
	line-height: 1.25;
	margin: 0 0 10px;
	font-weight: 700;
}

.hc-mid-title a {
	color: var(--hc-text);
	text-decoration: none;
}

.hc-mid-title a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.hc-mid-meta {
	color: var(--hc-muted);
	font-size: 12px;
	margin: 0;
}

.hc-mid-excerpt {
	color: var(--hc-muted);
	font-size: 14px;
	line-height: 1.6;
	margin: 0 0 12px;
}

/* Cards grid sections */
.hc-grid ul.wp-block-post-template {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
}

.hc-grid ul.wp-block-post-template > li {
	display: flex;
	min-width: 0;
}

.hc-grid ul.wp-block-post-template > li > .hc-card {
	flex: 1;
	width: 100%;
}

.hc-card {
	background: var(--hc-card);
	border: 1px solid var(--hc-border);
	border-radius: var(--hc-radius);
	overflow: hidden;
}

.hc-card > .wp-block-group__inner-container {
	display: flex !important;
	flex-direction: column;
	flex: 1;
	min-height: 100%;
}

.hc-card:hover {
	box-shadow: none;
}

.hc-card-image {
	margin: 0;
}

.hc-card-image img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	object-position: center center;
	display: block;
}

.hc-card-kicker {
	font-family: var(--hc-font-sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--hc-accent);
	margin: 0 0 8px;
}

.hc-card-kicker a {
	color: var(--hc-accent);
	text-decoration: none;
}

.hc-card-body {
	padding: 18px 18px 16px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

/* Maquette : même crème que le fond + bordure fine, donc pas de “blanc carte” */
.hc-card-image {
	background: var(--hc-card);
}

/* Cartes « texte » (Récemment) : pas d’image hero */
.hc-card--text {
	min-height: 200px;
	display: flex;
	flex-direction: column;
}

.hc-card--text > .wp-block-group__inner-container {
	display: flex !important;
	flex-direction: column;
	flex: 1;
	min-height: 100%;
}

.hc-card--text .hc-card-body {
	flex: 1;
}

.hc-card-title {
	margin: 0 0 10px;
	font-family: var(--hc-font-serif);
	font-size: 1.25rem;
	line-height: 1.3;
	font-weight: 500;
}

.hc-card-title a {
	color: var(--hc-text);
	text-decoration: none;
}

.hc-card-title a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.hc-card-excerpt {
	color: var(--hc-muted);
	font-size: 13px;
	line-height: 1.6;
	margin: 0 0 12px;
}

.hc-card-foot {
	margin-top: auto;
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--hc-muted);
}

.hc-card-foot .wp-block-post-date,
.hc-card-foot .hc-card-foot-date {
	margin: 0;
}

.hc-card-pipe {
	margin: 0;
	color: rgba(26, 26, 26, 0.28);
	font-size: 11px;
}

.hc-card-foot:not(:has(.hc-card-geo a)) .hc-card-pipe {
	display: none;
}

.hc-card-geo {
	margin: 0;
}

.hc-card-geo a {
	color: var(--hc-muted);
	text-decoration: none;
}

.hc-card-meta {
	color: var(--hc-muted);
	font-size: 12px;
	margin: 0;
}

/*
 * « Les articles les plus populaires » — maquette : liste pleine largeur, filets horizontaux,
 * rangée numéro (Georgia, terracotta) | titre sans-serif gras | temps MAJ droite.
 * Image masquée sur la home ; meta = lecture (plugin) sauf archives catégorie.
 */
.hc-home .hc-bottom.wp-block-columns > .wp-block-column:first-child > h2.hc-section-title {
	font-family: var(--hc-font-serif);
	font-weight: 500;
	font-size: clamp(1.2rem, 1.9vw, 1.5rem);
	letter-spacing: -0.02em;
	color: var(--hc-text);
	margin: 0;
	padding-bottom: 1.25rem;
	border-bottom: none;
}

.hc-home .popular-posts-grid {
	counter-reset: hc-popular;
	display: flex;
	flex-direction: column;
	gap: 0;
	margin-top: 0;
	max-width: none;
	width: 100%;
}

.hc-home .popular-posts-grid .my-card {
	counter-increment: hc-popular;
	position: relative;
	display: grid;
	grid-template-columns: 3rem minmax(0, 1fr) minmax(3.25rem, auto);
	align-items: center;
	column-gap: 1.15rem;
	background: transparent !important;
	border: none !important;
	border-bottom: 1px solid var(--hc-popular-rule) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0.1rem 0;
	margin: 0;
	min-height: 2.50rem;	
	box-sizing: border-box;
}

/* Pas de filet sous le dernier article de la liste */
.hc-home .popular-posts-grid .my-card:last-child {
	border-bottom: none !important;
}

.hc-home .popular-posts-grid .my-card::before {
	content: counter(hc-popular, decimal-leading-zero);
	font-family: var(--hc-font-serif);
	font-size: clamp(1.5rem, 2.5vw, 1.1rem);
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.04em;
	color: var(--hc-popular-rank);
	grid-column: 1;
	grid-row: 1;
	align-self: center;
}

.hc-home .popular-posts-grid .my-card-image-link {
	display: none;
}

.hc-home .popular-posts-grid .my-card-content {
	display: contents;
	padding: 0 !important;
}

/* Titres d’article : sans-serif, graisse moyenne (maquette) */
.hc-home .popular-posts-grid .my-card-title,
.hc-home .popular-posts-grid h2.my-card-title,
.hc-home .popular-posts-grid h3.my-card-title {
	grid-column: 2;
	grid-row: 1;
	font-family: "Urbanist", var(--hc-font-sans) !important;
	font-size: clamp(0.9375rem, 1.08vw, 1.0625rem) !important;
	font-weight: 600 !important;
	line-height: 1.38 !important;
	letter-spacing: -0.012em;
	margin: 0;
	align-self: center;
}

.hc-home .popular-posts-grid .my-card-title a,
.hc-home .popular-posts-grid h2.my-card-title a,
.hc-home .popular-posts-grid h3.my-card-title a {
	font-weight: 600 !important;
	font-size: inherit !important;
	color: var(--hc-text);
	text-decoration: none;
}

.hc-home .popular-posts-grid .my-card-title a:hover,
.hc-home .popular-posts-grid h2.my-card-title a:hover,
.hc-home .popular-posts-grid h3.my-card-title a:hover {
	color: var(--hc-popular-rank);
}

.hc-home .popular-posts-grid .my-card-meta {
	grid-column: 3;
	grid-row: 1;
	margin: 0;
	align-self: center;
	padding-top: 0;
	text-align: right;
	white-space: nowrap;
}

.hc-home .popular-posts-grid .my-card-reading {
	display: inline-block;
	font-family: "Urbanist", var(--hc-font-sans);
	font-size: 0.65625rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--hc-popular-meta);
}

.hc-home .popular-posts-grid .my-card-date {
	display: inline-block;
	font-family: var(--hc-font-sans);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.03em;
	color: #888;
}

.hc-home .popular-posts-grid .my-card-excerpt {
	display: none;
}

/* Surface section (Conseils pour réserver malin / hc-surface) — maquette : pas de contour sur le bloc */
.hc-surface {
	/*background: var(--hc-surface);*/
	border: none !important;
	border-radius: var(--hc-radius);
	/*padding: 22px;
	margin-top: 18px;*/
	box-shadow: none !important;
	outline: none !important;
}

/* Annule bordures éventuelles du bloc Gutenberg / GP sur ce groupe */
.hc-home .hc-surface.wp-block-group,
.hc-home .wp-block-group.hc-surface {
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
}

.hc-icon-cards {
	margin-top: 8px;
	gap: 18px;
}

.hc-icon-card {
	background: var(--hc-card);
	border: 1px solid var(--hc-border);
	border-radius: var(--hc-radius);
	padding: 18px;
	height: 100%;
	box-shadow: none !important;
	outline: none !important;
}

.hc-home .hc-icon-card.wp-block-group {
	/*border: none !important;*/
	box-shadow: none !important;
}

.hc-icon-card > .wp-block-group__inner-container {
	display: grid !important;
	grid-template-columns: 56px 1fr;
	grid-template-rows: auto auto;
	column-gap: 14px;
	row-gap: 6px;
	align-items: start;
}

.hc-icon {
	margin: 0;
	width: 56px;
	height: 56px;
	border-radius: 999px;
	overflow: hidden;
	grid-column: 1;
	grid-row: 1 / span 2;
	align-self: start;
	border: none !important;
	box-shadow: none !important;
}

.hc-icon + .hc-icon-title,
.hc-icon + .wp-block-heading {
	margin-top: 0;
}

.hc-icon-card .hc-icon-title,
.hc-icon-card h3.hc-icon-title {
	grid-column: 2;
	grid-row: 1;
	margin: 0 !important;
}

.hc-icon-card p.hc-icon-text,
.hc-icon-card .hc-icon-text {
	grid-column: 2;
	grid-row: 2;
	margin: 0 !important;
}

.hc-icon img {
	width: 56px;
	height: 56px;
	object-fit: contain;
	object-position: center;
	display: block;
}

.hc-icon-title {
	margin: 0 0 8px;
	font-family: var(--hc-font-serif);
	font-size: 16px;
	line-height: 1.2;
	font-weight: 500;
}

.hc-icon-text {
	margin: 0;
	color: var(--hc-muted);
	font-size: 13px;
	line-height: 1.6;
}

/* Conseils pour réserver malin : mini-cartes (image ronde + titre + extrait), grille 3 × 2 */
.hc-home .hc-reserver-malin {
	margin-top: 0;
}

.hc-reserver-malin-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 8px;
}

.hc-reserver-malin-card {
	display: grid;
	grid-template-columns: 64px 1fr;
	grid-template-rows: auto auto;
	column-gap: 14px;
	row-gap: 6px;
	align-items: center;
	box-sizing: border-box;
	margin: 0;
	min-width: 0;
	background: var(--hc-card);
	border: 1px solid var(--hc-border);
	border-radius: var(--hc-radius);
	padding: 18px;
}

.hc-reserver-malin-thumb-link {
	grid-column: 1;
	grid-row: 1 / span 2;
	align-self: center;
	display: block;
	flex-shrink: 0;
	text-decoration: none;
	line-height: 0;
}

.hc-reserver-malin-thumb-img {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.hc-reserver-malin-thumb-placeholder {
	display: block;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--hc-border);
	opacity: 0.65;
}

.hc-reserver-malin-title {
	grid-column: 2;
	grid-row: 1;
	margin: 0 !important;
	font-family: var(--hc-font-sans) !important;
	font-size: clamp(15px, 1.05vw, 17px);
	line-height: 1.25;
	font-weight: 600;
}

.hc-reserver-malin-title a {
	color: var(--hc-text);
	text-decoration: none;
}

.hc-reserver-malin-title a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.hc-reserver-malin-excerpt {
	grid-column: 2;
	grid-row: 2;
	margin: 0 !important;
	padding: 0;
	font-family: var(--hc-font-sans);
	font-size: 13px;
	line-height: 1.55;
	color: var(--hc-muted);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

@media (max-width: 781px) {
	.hc-reserver-malin-grid {
		grid-template-columns: 1fr;
	}
}

@media (min-width: 600px) and (max-width: 781px) {
	.hc-reserver-malin-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/*
 * Query Loop native « Conseils pour réserver malin » (.hc-mini-q)
 * Même look que le shortcode (vignette ronde + titre + extrait).
 */
.hc-mini-q ul.wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}

.hc-mini-q ul.wp-block-post-template > li {
	margin: 0;
	min-width: 0;
}

.hc-mini-q .hc-reserver-malin-card {
	height: 100%;
}

.hc-mini-q .hc-reserver-malin-card > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: 64px 1fr;
	grid-template-rows: auto auto;
	column-gap: 14px;
	row-gap: 6px;
	align-items: center;
	box-sizing: border-box;
	min-width: 0;
	height: 100%;
	background: var(--hc-card);
	border: 1px solid var(--hc-border);
	border-radius: var(--hc-radius);
	padding: 18px;
}

.hc-mini-q .hc-reserver-malin-thumb {
	grid-column: 1;
	grid-row: 1 / span 2;
	align-self: center;
	margin: 0;
	line-height: 0;
}

.hc-mini-q .hc-reserver-malin-thumb a {
	display: block;
	line-height: 0;
}

.hc-mini-q .hc-reserver-malin-thumb img {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.hc-mini-q .hc-reserver-malin-title {
	grid-column: 2;
	grid-row: 1;
	margin: 0 !important;
	font-family: var(--hc-font-sans) !important;
	font-size: clamp(15px, 1.05vw, 17px);
	line-height: 1.25;
	font-weight: 600;
}

.hc-mini-q .hc-reserver-malin-title a {
	color: var(--hc-text);
	text-decoration: none;
}

.hc-mini-q .hc-reserver-malin-title a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.hc-mini-q .hc-reserver-malin-excerpt {
	grid-column: 2;
	grid-row: 2;
	margin: 0 !important;
	padding: 0;
	font-family: var(--hc-font-sans);
	font-size: 13px;
	line-height: 1.55;
	color: var(--hc-muted);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.hc-mini-q .hc-reserver-malin-excerpt p {
	margin: 0;
}

@media (max-width: 781px) {
	.hc-mini-q ul.wp-block-post-template {
		grid-template-columns: 1fr;
	}
}

@media (min-width: 600px) and (max-width: 781px) {
	.hc-mini-q ul.wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/*
 * Query Loop native « articles populaires » (.hc-popular-q)
 * Même look que .popular-posts-grid (numéros + titre + temps de lecture).
 */
.hc-home .hc-popular-q ul.wp-block-post-template {
	counter-reset: hc-popular;
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
}

.hc-home .hc-popular-q ul.wp-block-post-template > li {
	margin: 0;
	min-width: 0;
}

.hc-home .hc-popular-q .hc-popular-item {
	counter-increment: hc-popular;
}

.hc-home .hc-popular-q .hc-popular-item > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: 3rem minmax(0, 1fr) minmax(3.25rem, auto);
	align-items: center;
	column-gap: 1.15rem;
	border-bottom: 1px solid var(--hc-popular-rule);
	padding: 1.1rem 0;
	margin: 0;
	min-height: 3.25rem;
	box-sizing: border-box;
}

.hc-home .hc-popular-q ul.wp-block-post-template > li:last-child .hc-popular-item > .wp-block-group__inner-container {
	border-bottom: none;
}

.hc-home .hc-popular-q .hc-popular-item > .wp-block-group__inner-container::before {
	content: counter(hc-popular, decimal-leading-zero);
	font-family: var(--hc-font-serif);
	font-size: clamp(1.5rem, 2.5vw, 1.1rem);
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.04em;
	color: var(--hc-popular-rank);
	grid-column: 1;
	grid-row: 1;
	align-self: center;
}

.hc-home .hc-popular-q .hc-popular-title {
	grid-column: 2;
	grid-row: 1;
	font-family: "Urbanist", var(--hc-font-sans) !important;
	font-size: clamp(0.9375rem, 1.08vw, 1.0625rem) !important;
	font-weight: 600 !important;
	line-height: 1.38 !important;
	letter-spacing: -0.012em;
	margin: 0;
	align-self: center;
}

.hc-home .hc-popular-q .hc-popular-title a {
	color: var(--hc-text);
	text-decoration: none;
	font-weight: 600 !important;
}

.hc-home .hc-popular-q .hc-popular-title a:hover {
	color: var(--hc-popular-rank);
}

.hc-home .hc-popular-q .hc-popular-reading {
	grid-column: 3;
	grid-row: 1;
	margin: 0;
	align-self: center;
	text-align: right;
	white-space: nowrap;
	font-family: "Urbanist", var(--hc-font-sans);
	font-size: 0.65625rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--hc-popular-meta);
	text-decoration: none;
}

.hc-home .hc-popular-q a.hc-popular-reading:hover {
	color: var(--hc-popular-rank);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.hc-category-section {
	margin-top: clamp(1.75rem, 3.5vw, 2.75rem);
}

.hc-category-section .hc-section-head {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.75rem 1.25rem;
	margin-bottom: 1rem;
	width: 100%;
}

.hc-category-section__empty {
	margin: 0.5rem 0 0;
	padding: 1rem 1.15rem;
	border: 1px dashed var(--hc-border);
	color: var(--hc-muted);
	font-size: 0.9375rem;
}

/* Bottom section (populaires + méthode) — bandeau crème, séparateur vertical, méthode en 2×2 */
.hc-bottom {
	margin-top: 0;
	gap: 0;
	align-items: stretch;
}

/* Fond pleine largeur (même teinte que la maquette) sans casser le flux */
.hc-home .hc-bottom.wp-block-columns {
	position: relative;
	background: var(--hc-bottom-bg);
	margin-top: clamp(2.25rem, 4.5vw, 3.75rem);
	padding-top: clamp(2.35rem, 4.75vw, 3.85rem);
	padding-bottom: clamp(2.35rem, 4.75vw, 3.85rem);
	box-shadow: 0 0 0 100vmax var(--hc-bottom-bg);
	clip-path: inset(0 -100vmax);
	border: none;
	box-sizing: border-box;
	gap: 0 !important;
}

/* Proportions : populaires plus larges, méthode plus étroite */
@media (min-width: 783px) {
	.hc-home .hc-bottom.wp-block-columns > .wp-block-column:first-child {
		flex-basis: 65% !important;
		max-width: 65%;
		border-right: 1px solid var(--hc-popular-rule) !important;
		padding-right: clamp(1.5rem, 2.8vw, 2.5rem);
		box-sizing: border-box;
	}

	.hc-home .hc-bottom.wp-block-columns > .wp-block-column:nth-child(2) {
		flex-basis: 35% !important;
		max-width: 35%;
		padding-left: clamp(1.5rem, 2.8vw, 2.5rem);
		box-sizing: border-box;
	}
}

@media (max-width: 782px) {
	.hc-home .hc-bottom.wp-block-columns {
		flex-direction: column !important;
	}

	.hc-home .hc-bottom.wp-block-columns > .wp-block-column:first-child {
		border-right: none !important;
		padding-right: 0 !important;
		border-bottom: 1px solid var(--hc-popular-rule);
		padding-bottom: clamp(1.75rem, 4vw, 2.25rem);
		margin-bottom: clamp(1.75rem, 4vw, 2.25rem);
		flex-basis: 100% !important;
		max-width: 100% !important;
	}

	.hc-home .hc-bottom.wp-block-columns > .wp-block-column:nth-child(2) {
		padding-left: 0 !important;
		flex-basis: 100% !important;
		max-width: 100% !important;
	}
}

/*
 * « Pourquoi nous lire ? Notre méthode » — titre serif ; grille 2×2 ;
 * cellules centrées ; icônes ligne fine dans un cercle ; titres sans-serif gras.
 */
.hc-home .hc-bottom.wp-block-columns > .wp-block-column:nth-child(2) > h2.hc-section-title {
	font-family: var(--hc-font-serif);
	font-weight: 500;
	font-size: clamp(1.2rem, 1.9vw, 1.5rem);
	letter-spacing: -0.02em;
	line-height: 1.22;
	color: var(--hc-text);
	text-align: left;
	margin: 0 0 clamp(1.35rem, 2.5vw, 1.85rem);
	max-width: 100%;
}

.hc-home .hc-method.wp-block-columns {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: clamp(1.35rem, 3.2vw, 2.75rem);
	row-gap: clamp(1.85rem, 3.5vw, 2.65rem);
	margin: 0;
	padding: 0;
	align-items: start;
	justify-items: center;
	border: none;
	box-shadow: none;
	background: transparent;
	width: 100%;
}

.hc-home .hc-method.wp-block-columns > .wp-block-column {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 0 clamp(0.35rem, 1.2vw, 0.65rem);
	min-width: 0;
	width: 100%;
	max-width: 20rem;
	flex-basis: auto !important;
	flex-grow: 0;
	border: none;
	box-shadow: none;
	background: transparent;
}

.hc-home .hc-method .hc-method-icon {
	margin: 0 0 1rem;
	width: 76px;
	height: 76px;
	min-width: 76px;
	min-height: 76px;
	border-radius: 50%;
	border: 1px solid rgba(26, 26, 26, 0.2);
	background: transparent;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: visible;
	padding: 0;
}

.hc-home .hc-method .hc-method-icon img,
.hc-home .hc-method .hc-method-icon svg {
	width: 46px;
	height: 46px;
	max-width: 100%;
	object-fit: contain;
	object-position: center;
	display: block;
	flex-shrink: 0;
}

.hc-home .hc-method .hc-method-icon svg {
	color: var(--hc-text);
	stroke-width: 1.15;
}

.hc-home .hc-method .hc-method-title,
.hc-home .hc-method h3.hc-method-title {
	margin: 0 0 0.55rem;
	font-family: var(--hc-font-sans) !important;
	font-size: clamp(0.9375rem, 1.05vw, 1rem) !important;
	font-weight: 700 !important;
	letter-spacing: -0.015em;
	line-height: 1.28;
	color: var(--hc-text) !important;
	text-align: center;
}

.hc-home .hc-method .hc-method-text {
	margin: 0;
	padding: 0;
	font-family: var(--hc-font-sans);
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.55;
	color: var(--hc-muted);
	text-align: center;
	max-width: 17.5rem;
}

/* Variante sans .hc-home (éditeur / autres pages) */
.hc-method-icon {
	margin: 0 0 10px;
}

.hc-method-title {
	font-size: 14px;
	font-family: var(--hc-font-sans);
	font-weight: 700;
}

.hc-method-text {
	color: var(--hc-muted);
	font-size: 0.875rem;
	line-height: 1.55;
}

/*
 * Footer maquette (sombre) : zone principale #333, barre inférieure #000.
 * Logo site : injecté en PHP à gauche des widgets « Pied de page 1 » si logo défini (Personnaliser).
 */
.site-footer {
	background: transparent !important;
	border-top: none;
	color: var(--hc-footer-text);
}

.site-footer .footer-widgets {
	background: var(--hc-footer-main-bg) !important;
	border-bottom: none;
	margin: 0;
}

.site-footer .footer-widgets-container {
	padding: 3rem 24px 2.75rem !important;
	box-sizing: border-box;
}

.site-footer .footer-widgets-container .inside-footer-widgets {
	margin-left: 0 !important;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 2rem 1.75rem;
}

.site-footer .inside-footer-widgets > .footer-widget-1,
.site-footer .inside-footer-widgets > .footer-widget-2,
.site-footer .inside-footer-widgets > .footer-widget-3,
.site-footer .inside-footer-widgets > .footer-widget-4 {
	flex: 1 1 140px;
	min-width: 0;
}

.site-footer .inside-footer-widgets > .footer-widget-1 {
	flex: 1.15 1 200px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 1.25rem;
}

/* Logo WordPress à gauche du bloc marque (widget 1) */
.site-footer .inside-footer-widgets > .footer-widget-1 > .hc-footer-logo-wrap {
	margin: 0;
	flex-shrink: 0;
	line-height: 0;
}

.site-footer .inside-footer-widgets > .footer-widget-1 > .widget {
	flex: 1 1 160px;
	min-width: 0;
	margin-bottom: 0;
}

.hc-footer-logo-wrap {
	line-height: 0;
}

.hc-footer-logo-wrap .custom-logo-link {
	display: inline-block;
	text-decoration: none !important;
}

.hc-footer-logo-wrap img,
.hc-footer-logo-wrap .custom-logo {
	max-height: 52px;
	width: auto;
	height: auto;
	display: block;
	object-fit: contain;
}

.footer-widgets .widget {
	margin-bottom: 0;
	color: var(--hc-footer-text);
}

.footer-widgets .widget-title {
	font-family: var(--hc-font-sans) !important;
	font-size: 0.6875rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: var(--hc-footer-text) !important;
	margin: 0 0 1rem !important;
	padding: 0 !important;
	border: none !important;
}

.footer-widgets .widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-widgets .widget ul li {
	margin: 0 0 0.55rem;
	padding: 0;
	border: none;
}

.footer-widgets .widget ul li a {
	font-family: var(--hc-font-sans);
	font-size: 0.8125rem;
	font-weight: 400;
	line-height: 1.45;
	color: var(--hc-footer-link) !important;
	text-decoration: none;
}

.footer-widgets .widget ul li a:hover {
	color: #fff !important;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Colonne marque : titre serif fort, texte clair */
.hc-footer-brand-title {
	font-family: var(--hc-font-serif) !important;
	font-weight: 700 !important;
	font-style: normal !important;
	font-size: clamp(1rem, 1.2vw, 1.15rem) !important;
	letter-spacing: 0.07em !important;
	text-transform: uppercase !important;
	margin: 0 0 0.4rem !important;
	line-height: 1.15 !important;
}

.hc-footer-brand-title a {
	color: var(--hc-footer-text) !important;
	text-decoration: none !important;
}

.hc-footer-brand-title a:hover {
	color: #fff !important;
}

.hc-footer-brand-tagline {
	font-family: var(--hc-font-sans);
	font-size: 0.8125rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--hc-footer-muted) !important;
	margin: 0;
	max-width: 22rem;
}

/* Ancien bloc réseaux (widget) : masqué si encore présent en base */
.hc-footer-social {
	display: none !important;
}

/* Barre noire : © | ligne centrale | liens (conteneur .site-info : div, plus <footer> GP) */
.site-footer > .site-info {
	background: var(--hc-footer-socket-bg) !important;
	border: none !important;
	box-shadow: none !important;
	color: var(--hc-footer-muted);
}

.site-footer .inside-site-info {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 1rem 24px 1.25rem !important;
	max-width: var(--hc-max) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
	background: transparent !important;
}

.site-footer .site-info {
	text-align: left !important;
	font-size: inherit;
	color: var(--hc-footer-muted) !important;
}

.site-footer .copyright-bar {
	width: 100%;
	max-width: none;
	margin: 0 !important;
}

.hc-footer-socket-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.25rem;
	width: 100%;
	font-family: var(--hc-font-sans);
	font-size: 0.75rem;
	line-height: 1.45;
	color: var(--hc-footer-muted);
}

.hc-footer-socket-inner.hc-footer-socket-inner--dual .hc-footer-socket-center {
	display: none;
}

.hc-footer-socket-copy {
	color: var(--hc-footer-muted) !important;
	flex: 0 0 auto;
}

.hc-footer-socket-center {
	flex: 1 1 auto;
	text-align: center;
	color: var(--hc-footer-muted) !important;
	min-width: 8rem;
}

.hc-footer-socket-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.35rem 1.15rem;
	flex: 0 1 auto;
}

.hc-footer-socket-nav a {
	color: var(--hc-footer-muted) !important;
	text-decoration: none !important;
	white-space: nowrap;
}

.hc-footer-socket-nav a:hover {
	color: #fff !important;
	text-decoration: underline !important;
	text-underline-offset: 2px;
}

/*
 * Mobile : GeneratePress empile les colonnes et ajoute 40px sous chaque colonne
 * sauf la dernière (.inside-footer-widgets > div:not(:last-child)).
 * Une colonne vide (ex. pied de page 2 sans widget) crée alors ~80px de vide
 * entre la colonne 1 et la 3. On retire du flux les colonnes sans .widget.
 * (:has() — navigateurs récents ; le pied de page reste utilisable sans.)
 *
 * Le thème enfant impose aussi gap: 2rem sur le flex : en colonne, ça s’ajoute
 * au margin-bottom GP → trop d’air. On uniformise avec un gap serré et
 * margin-bottom: 0 sur les colonnes ; titres / liens du footer un peu plus compacts.
 */
@media (max-width: 768px) {
	.site-footer .inside-footer-widgets > div:not(:has(.widget)) {
		display: none !important;
	}

	.site-footer .footer-widgets-container .inside-footer-widgets {
		gap: 0.5rem 0.5rem;
	}

	.site-footer .inside-footer-widgets > div:not(:last-child) {
		margin-bottom: 0 !important;
	}

	.site-footer .footer-widgets .widget-title {
		margin-bottom: 0.65rem !important;
	}

	.site-footer .footer-widgets .widget ul li {
		margin-bottom: 0.35rem;
	}
}

@media (max-width: 640px) {
	.site-footer .footer-widgets-container {
		padding: 1.75rem 16px 1.5rem !important;
	}

	.site-footer .inside-site-info {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.hc-footer-socket-inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.hc-footer-socket-center {
		text-align: left;
		width: 100%;
	}

	.hc-footer-socket-nav {
		justify-content: flex-start;
	}
}

/* Responsive */
@media (max-width: 900px) {
	.hc-hero-mag > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
		grid-template-rows: none;
		gap: 18px;
	}

	.hc-hero-mag .hc-hero-left {
		max-height: none;
		overflow: visible;
	}

	.hc-hero-mag .hc-hero-qside {
		max-height: none;
		overflow: visible;
	}

	.hc-hero-mag .hc-hero-image,
	.hc-hero-mag .hc-hero-image img {
		height: auto;
		max-height: none;
		min-height: min(300px, 58vw);
	}

	.hc-hero-mag .hc-hero-image a {
		height: auto;
	}

	.hc-hero-side-card .hc-side-thumb {
		flex: 0 0 auto;
		min-height: 0;
	}

	.hc-hero-side-card .hc-side-thumb img {
		height: auto;
		aspect-ratio: 16 / 9;
	}

	.hc-hero-lead-card > .wp-block-group__inner-container {
		grid-template-columns: 1fr !important;
		min-height: 0;
	}

	/*
	 * En mobile, le hero doit suivre l'ordre visuel :
	 * "À LA UNE" -> image -> titre -> extrait -> bouton -> date.
	 * On aplatit le wrapper texte pour pouvoir insérer l'image juste
	 * après le kicker sans toucher au markup Gutenberg.
	 */
	.hc-hero-mag > .wp-block-group__inner-container {
		gap: 0;
	}

	.hc-hero-mag .hc-hero-left,
	.hc-hero-mag .hc-hero-left > .wp-block-group__inner-container {
		display: contents !important;
	}

	.hc-hero-mag .hc-kicker {
		order: 1;
		margin: 0 0 14px;
	}

	.hc-hero-mag .hc-hero-image {
		order: 2;
		margin: 0 0 18px;
	}

	.hc-hero-mag .hc-hero-title {
		order: 3;
		margin: 0 0 14px;
	}

	.hc-hero-mag .hc-hero-excerpt {
		order: 4;
		margin: 0 0 18px;
	}

	.hc-hero-mag .hc-btn,
	.hc-hero-mag .hc-btn.wp-block-read-more {
		order: 5;
		margin: 0 0 18px;
		justify-self: start;
	}

	.hc-hero-mag .hc-hero-meta {
		order: 6;
		margin: 0;
	}

	.hc-hero-mag .hc-hero-qside {
		order: 7;
		margin-top: 18px;
	}

	.hc-hero-lead .hc-hero-image,
	.hc-hero-lead .hc-hero-image img {
		min-height: 220px;
	}

	.hc-mid-image img {
		aspect-ratio: 16 / 9;
	}
}

@media (max-width: 782px) {
	.hc-grid ul.wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 640px) {
	.inside-article,
	.site-header .inside-header,
	.inside-navigation,
	.inside-top-bar {
		padding-left: 16px;
		padding-right: 16px;
	}

	.hc-home .popular-posts-grid .my-card {
		grid-template-columns: 2.5rem minmax(0, 1fr) minmax(2.85rem, auto);
		padding: 1rem 0;
		column-gap: 0.65rem;
		min-height: 0;
	}

	.hc-home .popular-posts-grid .my-card::before {
		font-size: 1.65rem;
	}

	.hc-home .popular-posts-grid .my-card-title,
	.hc-home .popular-posts-grid h2.my-card-title,
	.hc-home .popular-posts-grid h3.my-card-title {
		font-size: 0.875rem !important;
		line-height: 1.38 !important;
	}

	.hc-home .hc-popular-q .hc-popular-item > .wp-block-group__inner-container {
		grid-template-columns: 2.5rem minmax(0, 1fr) minmax(2.85rem, auto);
		column-gap: 0.75rem;
	}

	.hc-home .hc-popular-q .hc-popular-item > .wp-block-group__inner-container::before {
		font-size: 1.25rem;
	}

	.hc-home .hc-popular-q .hc-popular-title {
		font-size: 0.875rem !important;
	}

	.hc-home .popular-posts-grid .my-card-reading,
	.hc-home .popular-posts-grid .my-card-date {
		font-size: 0.625rem;
	}

	/* Méthode : une colonne sur mobile */
	.hc-home .hc-method.wp-block-columns {
		grid-template-columns: 1fr !important;
		row-gap: 1.75rem;
	}

	.hc-home .hc-method.wp-block-columns > .wp-block-column {
		max-width: 100%;
	}

	.hc-grid ul.wp-block-post-template {
		grid-template-columns: 1fr !important;
	}
}


.header-wrap .main-title a,
.navigation-branding .main-title a {
	color: var(--hc-text) !important;
}

/* =========================================================
 * Category archive — Hotel Castera (Réservation & Prix, etc.)
 * Scoped under .hc-category : aucun risque de conflit avec la home.
 * ========================================================= */

/*
 * Filet de sécurité visuel : GP Premium peut injecter un second bandeau
 * « Page Header » sur les archives de catégorie via des "Elements".
 * On masque ce doublon, notre `.hc-category-hero` joue déjà ce rôle.
 */
body.category .generate-page-header,
body.category .page-hero,
body.category .generate-page-header-image {
	display: none !important;
}

.hc-category {
	background: var(--hc-bg);
	color: var(--hc-text);
	font-family: var(--hc-font-sans);
	/* Espace bas universel : la pagination (si elle existe) ou la dernière section finit ici. */
	padding-bottom: 80px;
}

/* ---------- 1. HERO ---------- */

.hc-category-hero {
	position: relative;
	/* Pleine largeur : on déborde du conteneur centré (max-width: 1260px) jusqu'aux bords de la fenêtre. */
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-top: -24px;
	padding: 96px 24px 88px;
	background-color: #2a2a2a;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	color: #fff;
	overflow: hidden;
}

.hc-category-hero--no-image {
	background-image: linear-gradient(135deg, #3a2a22 0%, #2a2a2a 100%);
}

.hc-category-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(20, 20, 20, 0.55) 0%, rgba(20, 20, 20, 0.78) 100%);
	pointer-events: none;
}

.hc-category-hero-inner {
	position: relative;
	z-index: 1;
	max-width: var(--hc-max);
	margin: 0 auto;
	padding: 0 24px;
}

.hc-category-breadcrumb {
	font-family: var(--hc-font-sans);
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.78);
	margin-bottom: 20px;
}

.hc-category-breadcrumb a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.hc-category-breadcrumb a:hover,
.hc-category-breadcrumb a:focus {
	color: #fff;
}

.hc-category-breadcrumb-sep {
	margin: 0 8px;
	opacity: 0.6;
}

.hc-category-breadcrumb-current {
	color: var(--hc-accent);
}

.hc-category-title {
	font-family: var(--hc-font-serif);
	font-weight: 500;
	font-size: clamp(2rem, 5vw, 3.6rem);
	line-height: 1.08;
	letter-spacing: -0.02em;
	margin: 0 0 22px;
	color: #fff;
}

.hc-category-description {
	max-width: 640px;
	font-size: 1.0625rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.88);
	margin: 0 0 24px;
}

.hc-category-description p {
	margin: 0;
}

.hc-category-meta {
	font-family: var(--hc-font-sans);
	font-size: 0.8125rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.72);
	margin: 0;
}

.hc-category-meta-sep {
	margin: 0 10px;
	color: var(--hc-accent);
}

/* ---------- Section eyebrow (À LIRE EN PREMIER / GUIDES ESSENTIELS) ---------- */
/* Style magazine : label en petites majuscules + ligne traînante remplissant la colonne. */

.hc-category .hc-section-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: var(--hc-font-sans);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--hc-accent);
	margin: 0 0 26px;
}

/* Trait de suite maquette : teinte proche de l’accent (pas gris neutre seul). */
.hc-category .hc-section-eyebrow::after {
	content: '';
	flex: 1 1 auto;
	height: 1px;
	background: linear-gradient(
		90deg,
		color-mix(in srgb, var(--hc-accent) 55%, transparent) 0%,
		color-mix(in srgb, var(--hc-accent) 18%, var(--hc-popular-rule, #e5e1d8)) 100%
	);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
	.hc-category .hc-section-eyebrow::after {
		background: rgba(179, 122, 77, 0.35);
	}
}

/* ---------- 2. BLOC ÉDITORIAL HAUT ---------- */

.hc-category-top {
	max-width: var(--hc-max);
	margin: 56px auto 0;
	padding: 0 24px 64px;
	display: grid;
	/* ~60 % / 40 % (plus d’air pour la colonne « Guides essentiels »). */
	grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
	gap: clamp(28px, 4vw, 52px);
	/* Même hauteur pour les deux colonnes : alignement du bas comme la maquette. */
	align-items: stretch;
	position: relative;
	/* Rayon discret pour toutes les vignettes / image à la une de ce bloc. */
	--hc-cat-media-radius: 5px;
}

/* Colonne gauche : l'image grandit pour remplir la hauteur imposée par la grille. */
.hc-featured {
	display: flex;
	flex-direction: column;
	min-height: 0;
	height: 100%;
}

/* Colonne droite : spacer flexible entre le titre et la liste. */
.hc-essential {
	display: flex;
	flex-direction: column;
	min-height: 0;
	height: 100%;
}

.hc-essential-spacer {
	flex: 1 1 0;
	min-height: 0;
	width: 100%;
}

/* Ligne de séparation entre le bloc éditorial haut et « Tous les guides ». */
.hc-category-top::after {
	content: '';
	position: absolute;
	left: 24px;
	right: 24px;
	bottom: 0;
	height: 1px;
	background: var(--hc-popular-rule, #e5e1d8);
}

/*
 * Carte featured : image (coins arrondis) + encart crème qui chevauche le bas,
 * aligné au bord gauche, plus étroit que l’image à droite (marge droite).
 */
.hc-featured-card {
	background: transparent;
	border: 0;
	overflow: visible;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	position: relative;
}

@media (min-width: 1024px) {
	.hc-featured-card {
		container-type: size;
		container-name: hcFeaturedCard;
	}
}

.hc-featured-card-media {
	display: block;
	flex: 1 1 0;
	min-height: 200px;
	overflow: hidden;
	background: var(--hc-surface);
	border-radius: var(--hc-cat-media-radius, 5px);
}

@media (min-width: 1024px) {
	.hc-featured-card-media {
		/* Image plus haute : plus de matière sous l’encart (maquette annotée). */
		min-height: clamp(280px, 36vw, 388px);
	}
}

.hc-featured-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 44%;
	display: block;
	transition: transform 0.5s ease;
}

.hc-featured-card:hover .hc-featured-card-media img,
.hc-featured-card:focus-within .hc-featured-card-media img {
	transform: scale(1.02);
}

.hc-featured-card-body {
	position: relative;
	z-index: 1;
	/*
	 * Encart plus large vers la droite (maquette annotée) : marge droite réduite.
	 * Toujours un débord d’image visible à droite pour respiration visuelle.
	 */
	margin-left: 0;
	margin-right: clamp(3rem, 16%, 9.5rem);
	/* Chevauchement un peu plus doux → zone image un peu plus haute avant l’encart. */
	margin-top: -3.75rem;
	display: flex;
	flex-direction: column;
	gap: clamp(0.55rem, 1.4vw, 0.25rem);
	background: var(--hc-card);
	border: 1px solid rgba(0, 0, 0, 0.08);
	padding: clamp(1.35rem, 2.2vw, 1.75rem) clamp(1.5rem, 2.6vw, 2rem) clamp(1.35rem, 2vw, 1.65rem);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.07);
	border-radius: var(--hc-cat-media-radius, 5px);
}

@supports (height: 1cqh) {
	@media (min-width: 1024px) {
		.hc-featured-card-body {
			/* Chevauchement modéré : laisse davantage d’image au-dessus. */
			margin-top: min(-3.5rem, -43cqh);
		}
	}
}

.hc-card-kicker {
	font-family: var(--hc-font-sans);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--hc-accent);
	margin: 0;
}

.hc-featured-card-body .hc-card-title {
	font-family: var(--hc-font-serif);
	font-weight: 500;
	font-size: clamp(1.35rem, 2.15vw, 1.75rem);
	line-height: 1.18;
	letter-spacing: -0.018em;
	margin: 0;
}

.hc-featured-card-body .hc-card-excerpt {
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--hc-muted);
	margin: 2px 0 0;
}

/* Date de l’article à la une : gris clair, capitales (maquette). */
.hc-featured-card-body .hc-card-foot {
	margin-top: 0.35rem;
	color: var(--hc-popular-meta, #8a8a8a);
}

.hc-card-title a {
	color: var(--hc-text);
	text-decoration: none;
	background-image: linear-gradient(var(--hc-accent), var(--hc-accent));
	background-repeat: no-repeat;
	background-size: 0 1px;
	background-position: 0 100%;
	transition: background-size 0.25s ease, color 0.2s ease;
}

.hc-card-title a:hover,
.hc-card-title a:focus {
	background-size: 100% 1px;
	color: var(--hc-accent);
}

.hc-card-excerpt {
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--hc-muted);
	margin: 0;
}

.hc-card-foot {
	font-family: var(--hc-font-sans);
	font-size: 0.70rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--hc-popular-meta, #8a8a8a);
	margin: 4px 0 0;
}

.hc-card-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--hc-surface) 0%, #ece6db 100%);
}

/*
 * Liste « Guides essentiels » : pas de cadre.
 * Maquette : traits uniquement ENTRE les articles (pas au-dessus du 1er,
 * pas en dessous du dernier).
 */

.hc-essential-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	flex: 0 0 auto;
}

.hc-essential-item {
	display: grid;
	/* Vignettes droite : un cran plus larges (maquette). */
	grid-template-columns: 158px 1fr;
	column-gap: 28px;
	row-gap: 0;
	background: transparent;
	border: 0;
	border-top: 1px solid var(--hc-popular-rule, #e5e1d8);
	padding: 28px 0 28px;
	align-items: center;
}

.hc-essential-item:first-child {
	border-top: 0;
	padding-top: 0;
}

.hc-essential-item:last-child {
	padding-bottom: 0;
}

.hc-essential-thumb {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--hc-surface);
	align-self: start;
	border-radius: var(--hc-cat-media-radius, 5px);
}

.hc-essential-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.hc-essential-body {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	min-width: 0;
	justify-content: center;
	min-height: 100%;
}

.hc-essential-title {
	font-family: var(--hc-font-serif);
	font-weight: 500;
	font-size: 1.0625rem;
	line-height: 1.3;
	letter-spacing: -0.01em;
	margin: 0;
}

.hc-essential-title a {
	color: var(--hc-text);
	text-decoration: none;
	transition: color 0.2s ease;
}

.hc-essential-title a:hover,
.hc-essential-title a:focus {
	color: var(--hc-accent);
}

/* Dates des « Guides essentiels » : gris neutre, capitales (maquette). */
.hc-essential-date {
	font-family: var(--hc-font-sans);
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--hc-popular-meta, #8a8a8a);
	margin: 0.4rem 0 0;
}

/* ---------- 3. GRILLE TOUS LES GUIDES ---------- */

.hc-guides {
	max-width: var(--hc-max);
	margin: 56px auto 0;
	padding: 0 24px;
}

.hc-guides-head {
	margin-bottom: 36px;
}

.hc-guides-title {
	font-family: var(--hc-font-serif);
	font-weight: 500;
	font-size: clamp(1.5rem, 2.6vw, 2rem);
	line-height: 1.15;
	letter-spacing: -0.015em;
	margin: 0;
}

/* Grille */

.hc-guide-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px 28px;
}

.hc-guide-grid-item {
	display: flex;
}

.hc-card {
	background: var(--hc-card);
	border: 1px solid var(--hc-border);
	display: flex;
	flex-direction: column;
	width: 100%;
}

.hc-card-media {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--hc-surface);
}

.hc-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	transition: transform 0.45s ease;
}

.hc-card:hover .hc-card-media img,
.hc-card:focus-within .hc-card-media img {
	transform: scale(1.03);
}

.hc-card-body {
	padding: 20px 22px 22px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}

.hc-card-body .hc-card-title {
	font-family: var(--hc-font-serif);
	font-weight: 500;
	font-size: 1.125rem;
	line-height: 1.28;
	letter-spacing: -0.01em;
	margin: 0;
}

.hc-card-body .hc-card-excerpt {
	font-size: 0.9rem;
	line-height: 1.55;
	color: var(--hc-muted);
	margin: 0;
}

.hc-card-body .hc-card-foot {
	margin-top: auto;
	padding-top: 8px;
}

/* Empty state */

.hc-category .hc-empty {
	padding: 60px 20px;
	text-align: center;
	color: var(--hc-muted);
	font-size: 1rem;
	border: 1px dashed var(--hc-border);
	background: var(--hc-card);
}

/* Pagination — maquette : pastilles circulaires + bouton « SUIVANT » en pilule bordée accent. */

.hc-pagination {
	max-width: var(--hc-max);
	margin: 72px auto 0;
	padding: 0 24px;
	display: flex;
	justify-content: center;
}

.hc-pagination .page-numbers {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	justify-content: center;
}

.hc-pagination .page-numbers li {
	display: inline-flex;
	align-items: center;
}

.hc-pagination .page-numbers li a.page-numbers:not(.prev):not(.next),
.hc-pagination .page-numbers li span.page-numbers.current,
.hc-pagination .page-numbers li span.page-numbers.dots {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 40px;
	min-width: 40px;
	height: 40px;
	padding: 0;
	font-family: var(--hc-font-sans);
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1;
	color: var(--hc-text);
	background: var(--hc-card);
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 50%;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}

.hc-pagination .page-numbers li a.page-numbers:not(.prev):not(.next):hover,
.hc-pagination .page-numbers li a.page-numbers:not(.prev):not(.next):focus {
	background: var(--hc-surface);
	border-color: rgba(0, 0, 0, 0.18);
	color: var(--hc-text);
}

.hc-pagination .page-numbers li span.page-numbers.current {
	background: var(--hc-accent);
	color: #fff;
	border-color: var(--hc-accent);
	font-weight: 600;
}

.hc-pagination .page-numbers li span.page-numbers.dots {
	color: var(--hc-muted);
	font-weight: 500;
	font-size: 0.75rem;
	letter-spacing: 0.06em;
}

/* Boutons PRÉCÉDENT / SUIVANT : pilule, bordure accent, fond transparent. */
.hc-pagination .page-numbers a.next,
.hc-pagination .page-numbers a.prev {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: auto;
	min-width: unset;
	height: auto;
	min-height: 40px;
	padding: 0.55rem 1.35rem;
	font-family: var(--hc-font-sans);
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	line-height: 1.2;
	color: var(--hc-text);
	background: transparent;
	border: 1px solid var(--hc-accent);
	border-radius: 6px;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.hc-pagination .page-numbers a.next:hover,
.hc-pagination .page-numbers a.next:focus,
.hc-pagination .page-numbers a.prev:hover,
.hc-pagination .page-numbers a.prev:focus {
	background: color-mix(in srgb, var(--hc-accent) 10%, transparent);
	border-color: var(--hc-accent);
	color: var(--hc-text);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
	.hc-pagination .page-numbers a.next:hover,
	.hc-pagination .page-numbers a.next:focus,
	.hc-pagination .page-numbers a.prev:hover,
	.hc-pagination .page-numbers a.prev:focus {
		background: rgba(192, 130, 106, 0.1);
	}
}

/* ---------- 4. BLOC « NOS CONSEILS POUR RÉSERVER MALIN » (maquette éditoriale) ---------- */

.hc-tips {
	/* Bandeau pleine largeur — padding UNIQUEMENT ici (pas sur les groupes internes). */
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-top: 3.5rem;
	margin-bottom: 0;
	box-sizing: border-box;
	padding: 3rem 0 !important;
	background: #f5f0e7;
	text-align: center;
}

/* Le groupe Gutenberg porte aussi .hc-tips : on force le padding du bandeau. */
section.hc-tips.wp-block-group,
.hc-tips.wp-block-group {
	padding-top: 3rem !important;
	padding-bottom: 3rem !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/*
 * Annule le padding GeneratePress sur les conteneurs INTERNES seulement.
 * Ne pas cibler .hc-tips.wp-block-group (sinon le padding du bandeau disparaît).
 */
.hc-tips .wp-block-group:not(.hc-tips),
.hc-tips .wp-block-group__inner-container,
.site-main .hc-tips .wp-block-group__inner-container {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	gap: 0 !important;
	row-gap: 0 !important;
}

.hc-tips.wp-block-group > .wp-block-group__inner-container,
.site-main .hc-tips.wp-block-group > .wp-block-group__inner-container {
	max-width: var(--hc-max) !important;
	width: 100%;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 clamp(20px, 4vw, 32px) !important;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.75rem !important;
}

.hc-tips .wp-block-columns,
.hc-tips .wp-block-column,
.hc-tips .wp-block-heading,
.hc-tips p {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.hc-tips-inner {
	max-width: var(--hc-max);
	margin: 0 auto;
	padding: 0 clamp(20px, 4vw, 32px) !important;
	box-sizing: border-box;
}

.hc-tips-title,
.hc-tips h2.hc-tips-title,
.hc-tips .wp-block-heading.hc-tips-title {
	font-family: var(--hc-font-serif);
	font-weight: 500;
	font-size: clamp(1.45rem, 2.5vw, 1.85rem);
	line-height: 1.22;
	letter-spacing: -0.02em;
	color: var(--hc-text);
	margin: 0 auto !important;
	max-width: 32rem;
}

.hc-tips-grid {
	--hc-tips-col-gap: clamp(1.75rem, 4vw, 2.75rem);

	list-style: none;
	margin: 0 auto;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: var(--hc-tips-col-gap);
	row-gap: 0;
	max-width: 1080px;
}

/* Variante Gutenberg (Element GP) : colonnes natives */
.hc-tips .hc-tips-grid.wp-block-columns {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: var(--hc-tips-col-gap);
	row-gap: 0;
	flex-wrap: nowrap;
	align-items: stretch;
	max-width: 1080px;
	margin-left: auto;
	margin-right: auto;
	gap: 0 var(--hc-tips-col-gap);
}

.hc-tips .hc-tips-grid.wp-block-columns > .wp-block-column {
	margin: 0;
	flex-basis: auto !important;
	flex-grow: 0;
	width: auto !important;
	min-width: 0;
}

.hc-tip {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 0 0.5rem;
	box-sizing: border-box;
}

.hc-tips .wp-block-column.hc-tip {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

/* Séparateurs verticaux entre colonnes : centré en hauteur, ne couvre pas toute la hauteur du bandeau. */
.hc-tip:not(:first-child)::before {
	content: '';
	position: absolute;
	left: calc(-0.5 * var(--hc-tips-col-gap));
	top: 50%;
	transform: translate(-50%, -50%);
	width: 1px;
	height: min(12.5rem, 78%);
	max-height: 11.5rem;
	background: rgba(0, 0, 0, 0.085);
	pointer-events: none;
}

.hc-tip-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0 0 0.85rem;
	color: var(--hc-accent);
	color: color-mix(in srgb, var(--hc-accent) 90%, #4a3028 10%);
}

.hc-tip-icon svg {
	width: 100%;
	height: 100%;
}

.hc-tip-title,
.hc-tips h3.hc-tip-title,
.hc-tips .wp-block-heading.hc-tip-title {
	font-family: var(--hc-font-serif);
	font-weight: 600;
	font-size: 1.0625rem;
	line-height: 1.28;
	letter-spacing: -0.012em;
	margin: 0 0 0.5rem !important;
	color: var(--hc-text);
	max-width: 14rem;
}

.hc-tip-text,
.hc-tips p.hc-tip-text {
	font-family: var(--hc-font-sans);
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.55;
	color: rgba(45, 45, 45, 0.72);
	margin: 0 !important;
	max-width: 15.5rem;
}

/* ---------- 5. À NE PAS MANQUER ---------- */

.hc-dont-miss {
	max-width: var(--hc-max);
	margin: 72px auto 0;
	padding: 0 24px;
}

.hc-dont-miss-title {
	font-family: var(--hc-font-serif);
	font-weight: 500;
	font-size: clamp(1.5rem, 2.6vw, 2rem);
	line-height: 1.15;
	letter-spacing: -0.015em;
	margin: 0 0 32px;
}

/*
 * Layout maquette : 1 carte large à gauche (~50%) + 2 cartes normales à droite (~25% chacune).
 * Le tout sur UNE SEULE LIGNE en desktop.
 */
.hc-dont-miss-grid {
	display: grid;
	/* 4 colonnes pour aligner parfaitement la 2e ligne (4 cartes). */
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px;
	align-items: stretch;
}

.hc-dont-miss-grid--more {
	margin-top: 28px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px;
}

.hc-dont-miss-card {
	background: var(--hc-card);
	border: 1px solid var(--hc-border);
	display: flex;
	flex-direction: column;
}

.hc-dont-miss-media {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--hc-surface);
}

.hc-dont-miss-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	transition: transform 0.5s ease;
}

.hc-dont-miss-card:hover .hc-dont-miss-media img,
.hc-dont-miss-card:focus-within .hc-dont-miss-media img {
	transform: scale(1.03);
}

.hc-dont-miss-body {
	padding: 20px 22px 22px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}

.hc-dont-miss-card-title {
	font-family: var(--hc-font-serif);
	font-weight: 500;
	font-size: 1.0625rem;
	line-height: 1.28;
	letter-spacing: -0.01em;
	margin: 0;
}

.hc-dont-miss-card-title a {
	color: var(--hc-text);
	text-decoration: none;
	transition: color 0.2s ease;
}

.hc-dont-miss-card-title a:hover,
.hc-dont-miss-card-title a:focus {
	color: var(--hc-accent);
}

.hc-dont-miss-card .hc-card-excerpt {
	font-size: 0.875rem;
	line-height: 1.55;
	color: var(--hc-muted);
	margin: 0;
}

.hc-dont-miss-card .hc-card-foot {
	margin-top: auto;
	padding-top: 6px;
}

/* Carte large : reste sur la même ligne, layout interne horizontal (image gauche / contenu droite). */

.hc-dont-miss-card--wide {
	/* Sur desktop : occupe 2 colonnes (≈50%). */
	grid-column: 1 / span 2;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	align-items: stretch;
}

.hc-dont-miss-card--wide .hc-dont-miss-media {
	aspect-ratio: auto;
	height: 100%;
	min-height: 260px;
}

.hc-dont-miss-card--wide .hc-dont-miss-body {
	padding: 30px 32px;
	justify-content: center;
	gap: 14px;
}

.hc-dont-miss-card-title--wide {
	font-family: var(--hc-font-serif);
	font-weight: 500;
	font-size: clamp(1.35rem, 2.1vw, 1.7rem);
	line-height: 1.2;
	letter-spacing: -0.015em;
	margin: 0;
}

.hc-dont-miss-card--wide .hc-card-excerpt {
	font-size: 0.95rem;
	line-height: 1.55;
}

.hc-dont-miss-cta {
	margin: 6px 0 0;
}

.hc-button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 22px;
	font-family: var(--hc-font-sans);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #fff;
	background: var(--hc-accent);
	border: 1px solid var(--hc-accent);
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.hc-button:hover,
.hc-button:focus {
	background: #a8694f;
	border-color: #a8694f;
	color: #fff;
	transform: translateX(2px);
}

/* =========================================================
 * Responsive
 * ========================================================= */

@media (max-width: 1023px) {
	.hc-category-hero {
		padding: 72px 24px 64px;
	}

	.hc-category-top {
		grid-template-columns: 1fr;
		gap: 48px;
		margin-top: 48px;
		padding-bottom: 48px;
	}

	/* Une colonne : plus d’alignement forcé des hauteurs. */
	.hc-featured,
	.hc-essential {
		height: auto;
		min-height: 0;
	}

	.hc-essential-spacer {
		display: none;
	}

	.hc-featured-card {
		flex: 0 1 auto;
	}

	.hc-featured-card-media {
		flex: 0 0 auto;
		aspect-ratio: 16 / 10;
		min-height: 0;
	}

	.hc-featured-card-body {
		margin-left: 0;
		margin-right: clamp(2.5rem, 18%, 9rem);
		margin-top: -3.75rem;
		padding: 1.25rem 1.5rem 1.4rem;
	}

	.hc-guide-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 24px;
	}

	.hc-tips-grid {
		--hc-tips-col-gap: 2rem;

		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 2.5rem;
		max-width: 640px;
	}

	.hc-tips .hc-tips-grid.wp-block-columns {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		row-gap: 2.5rem;
		max-width: 640px;
	}

	.hc-tip:not(:first-child)::before {
		display: none;
	}

	.hc-tip:nth-child(even) {
		border-left: 1px solid rgba(0, 0, 0, 0.08);
		padding-left: clamp(1rem, 4vw, 1.75rem);
		margin-left: 0;
	}

	.hc-tip:nth-child(odd) {
		padding-right: clamp(1rem, 4vw, 1.75rem);
	}

	.hc-dont-miss-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hc-dont-miss-grid--more {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	/* Sur tablette : la carte large occupe toute la première ligne, puis les 2 normales en dessous. */
	.hc-dont-miss-card--wide {
		grid-column: 1 / -1;
		grid-template-columns: 1fr 1fr;
	}

	.hc-dont-miss-card--wide .hc-dont-miss-media {
		min-height: 220px;
	}
}

@media (max-width: 767px) {
	.hc-category-hero {
		padding: 60px 20px 56px;
	}

	.hc-category-breadcrumb {
		font-size: 0.6875rem;
		margin-bottom: 16px;
	}

	.hc-category-title {
		margin-bottom: 18px;
	}

	.hc-category-top {
		padding: 0 16px;
		margin-top: 40px;
		gap: 36px;
	}

	.hc-featured,
	.hc-essential {
		height: auto;
	}

	.hc-essential-spacer {
		display: none;
	}

	.hc-featured-card {
		flex: 0 1 auto;
	}

	.hc-featured-card-media {
		flex: 0 0 auto;
		aspect-ratio: 16 / 10;
		min-height: 0;
	}

	.hc-featured-card-body {
		margin-left: 0;
		margin-right: clamp(1.75rem, 10%, 6.5rem);
		margin-top: -2.75rem;
		padding: 1.1rem 1.25rem 1.25rem;
		box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
	}

	.hc-essential-item {
		grid-template-columns: 112px 1fr;
		gap: 14px;
		padding: 18px 0;
	}

	.hc-essential-thumb {
		aspect-ratio: 4 / 3;
	}

	.hc-guides {
		padding: 0 16px;
		margin-top: 56px;
	}

	.hc-guide-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.hc-tips,
	section.hc-tips.wp-block-group,
	.hc-tips.wp-block-group {
		margin-top: 2.5rem;
		padding-top: 2.5rem !important;
		padding-bottom: 2.5rem !important;
	}

	.hc-tips-inner {
		padding: 0 16px;
	}

	.hc-tips-grid {
		--hc-tips-col-gap: 0;

		grid-template-columns: 1fr;
		row-gap: 0;
		max-width: 22rem;
		margin: 0 auto;
	}

	.hc-tips .hc-tips-grid.wp-block-columns {
		grid-template-columns: 1fr !important;
		max-width: 22rem;
	}

	.hc-tip {
		flex-direction: column;
		align-items: center;
		text-align: center;
		padding: 1.625rem 0.5rem;
	}

	.hc-tip:not(:first-child) {
		border-top: 1px solid rgba(0, 0, 0, 0.08);
	}

	.hc-tip:not(:first-child)::before {
		display: none !important;
	}

	.hc-tip:nth-child(even),
	.hc-tip:nth-child(odd) {
		border-left: 0;
		padding-left: 0.5rem;
		padding-right: 0.5rem;
	}

	.hc-tip-icon {
		margin-bottom: 1rem;
	}

	.hc-dont-miss {
		padding: 0 16px;
		margin-top: 56px;
		margin-bottom: 0;
	}

	.hc-dont-miss-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.hc-dont-miss-grid--more {
		margin-top: 24px;
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.hc-dont-miss-card--wide {
		grid-template-columns: 1fr;
	}

	.hc-dont-miss-card--wide .hc-dont-miss-media {
		aspect-ratio: 16 / 10;
		min-height: 0;
	}

	.hc-dont-miss-card--wide .hc-dont-miss-body {
		padding: 22px 22px 24px;
	}

	.hc-pagination .page-numbers li a.page-numbers:not(.prev):not(.next),
	.hc-pagination .page-numbers li span.page-numbers.current,
	.hc-pagination .page-numbers li span.page-numbers.dots {
		width: 36px;
		min-width: 36px;
		height: 36px;
		font-size: 0.8125rem;
	}

	.hc-pagination .page-numbers a.next,
	.hc-pagination .page-numbers a.prev {
		min-height: 36px;
		padding: 0.5rem 1.1rem;
		font-size: 0.75rem;
	}
}

/* =============================================================================
 * Article single (.hc-article) — maquette article + sidebar
 * ============================================================================= */

body.single-post .generate-page-header,
body.single-post .page-hero,
body.single-post .generate-page-header-image {
	display: none !important;
}

.hc-article {
	background: var(--hc-bg);
	color: var(--hc-text);
	padding-bottom: 80px;
}

/* ---------- Hero ---------- */

.hc-article-hero {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-top: -24px;
	min-height: clamp(320px, 42vh, 580px);
	display: flex;
	flex-direction: column;
	padding: 28px 24px 56px;
	background-color: #2a2a2a;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	color: #fff;
	overflow: hidden;
}

.hc-article-hero--no-image {
	background-image: linear-gradient(90deg, #2a2420 0%, #3a3530 55%, #2a2a2a 100%);
}

.hc-article-hero-overlay {
	position: absolute;
	inset: 0;
	/* Plus sombre à gauche (lisibilité du texte), image plus visible à droite */
	background: linear-gradient(
		90deg,
		rgba(6, 5, 4, 0.92) 0%,
		rgba(8, 7, 6, 0.72) 48%,
		rgba(10, 9, 8, 0.38) 63%,
		rgba(12, 10, 8, 0.08) 100%,
		rgba(12, 10, 8, 0) 100%
	);
	pointer-events: none;
}

.hc-article-hero-inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: var(--hc-max);
	margin-top: 15px;
	margin-left: auto;
	margin-right: auto;
	padding: 0 24px;
}

.hc-article-hero-text {
	max-width: 60%;
	display: flex;
	flex-direction: column;
	min-height: 0;
}

/* Sans résumé : la colonne texte remplit le hero, les méta restent en bas (effet chapô) */
.hc-article-hero--no-lede .hc-article-hero-inner {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
	margin-top: 0;
}

.hc-article-hero--no-lede .hc-article-hero-text {
	flex: 1 1 auto;
	min-height: 0;
}

/* Sans chapô : répartir l’espace entre fil d’Ariane, titre et méta (titre moins « collé » en haut) */
.hc-article-hero-text--no-lede {
	justify-content: space-between;
}

.hc-article-hero-text--no-lede .hc-article-breadcrumb {
	margin-bottom: 8px;
}

.hc-article-hero-text--no-lede .hc-article-title {
	margin-bottom: 0;
}

.hc-article-hero-text--no-lede .hc-article-meta {
	margin-top: 0;
	padding-top: 8px;
}

@media (max-width: 1024px) {
	.hc-article-hero-text {
		max-width: 75%;
	}
}

.hc-article-breadcrumb {
	font-family: var(--hc-font-sans);
	font-size: 0.75rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	text-transform: none;
	color: rgba(255, 255, 255, 0.72);
	margin: 0 0 22px;
	text-shadow: none;
	line-height: 1.5;
}

.hc-article-breadcrumb a {
	color: rgba(255, 255, 255, 0.82);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.hc-article-breadcrumb a:hover,
.hc-article-breadcrumb a:focus {
	color: #fff;
	border-bottom-color: rgba(255, 255, 255, 0.45);
}

.hc-article-breadcrumb-sep {
	margin: 0 0.2em;
	opacity: 0.55;
	font-weight: 300;
}

.hc-article-title {
	font-family: var(--hc-font-serif);
	font-weight: 500;
	font-size: clamp(1.85rem, 4.2vw, 3.15rem);
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 0 0 16px;
	color: #fff;
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}

.hc-article-lede {
	max-width: none;
	font-family: var(--hc-font-sans);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.94);
	margin: 0 0 26px;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.25);
}

.hc-article-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 24px;
	list-style: none;
	margin: 0;
	padding: 0;
	font-family: var(--hc-font-sans);
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	color: rgba(255, 255, 255, 0.95);
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.35);
}

.hc-article-meta-item {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
}

.hc-article-meta-item--author {
	gap: 10px;
}

.hc-article-meta-avatar,
.hc-article-meta-avatar.avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
	border: 2px solid rgba(255, 255, 255, 0.35);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.hc-article-meta-author-text {
	line-height: 1.3;
	font-weight: 400;
}

.hc-article-meta-icon {
	display: flex;
	flex-shrink: 0;
	width: 1.1rem;
	height: 1.1rem;
	color: #fff;
	opacity: 0.98;
}

.hc-article-meta-icon svg {
	width: 100%;
	height: 100%;
}

/* ---------- Corps : grille + sidebar ---------- */

.hc-article-body {
	max-width: var(--hc-max);
	margin: 0 auto;
	padding: 40px 24px 0;
}

.hc-article-wrap {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 32%);
	gap: 40px 48px;
	align-items: start;
}

.hc-article-main {
	min-width: 0;
}

.hc-article-sidebar {
	min-width: 0;
	position: sticky;
	top: 28px;
	align-self: start;
	padding-left: 24px;
	border-left: 1px solid var(--hc-border);
}

/* ---------- Sommaire + À retenir (maquette cartes crème) ---------- */

.hc-article-topper {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	margin-bottom: 36px;
}

.hc-article-topper--with-retenir {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.hc-toc-box,
.hc-retenir-box {
	background: #f2ece6;
	border: 1px solid #efd7bd;
	border-radius: 6px;
	padding: 30px 32px 32px;
	box-shadow:
		0 4px 24px rgba(0, 0, 0, 0.06),
		0 1px 4px rgba(0, 0, 0, 0.04);
}

.hc-toc-box-inner {
	padding-top: 0;
	font-family: var(--hc-font-sans);
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.7;
	color: #3a3a3a;
}

.hc-toc-box-title,
.hc-retenir-title {
	font-family: var(--hc-font-serif);
	font-size: 1.375rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
	margin: 0 0 1.1rem;
	padding-bottom: 0;
	color: #1a1a1a;
}

/* Table of Contents Plus */
.hc-toc-box #toc_container {
	background: transparent !important;
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
}

.hc-toc-box #toc_container .toc_title {
	display: none !important;
}

.hc-toc-box #toc_container ul.toc_list {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.hc-toc-box #toc_container ul.toc_list li {
	margin: 0.5em 0 !important;
	padding: 0 !important;
	line-height: 1.6;
	color: #3a3a3a;
}

.hc-toc-box #toc_container ul.toc_list li:first-child {
	margin-top: 0 !important;
}

.hc-toc-box #toc_container ul.toc_list li:last-child {
	margin-bottom: 0 !important;
}

.hc-toc-box #toc_container ul.toc_list ul {
	margin: 0.35em 0 0 !important;
	padding-left: 1.25rem !important;
	list-style: none !important;
}

.hc-toc-box #toc_container ul.toc_list a {
	color: var(--hc-accent);
	text-decoration: none;
	font-weight: 400;
	font-size: 0.9375rem;
	transition: opacity 0.15s ease;
}

.hc-toc-box #toc_container ul.toc_list a:hover,
.hc-toc-box #toc_container ul.toc_list a:focus {
	opacity: 0.7;
}

.hc-toc-box #toc_container ol.toc_list {
	margin: 0 !important;
	padding-left: 1.35rem !important;
	color: #3a3a3a;
}

.hc-toc-box #toc_container ol.toc_list li {
	margin: 0.5em 0 !important;
	line-height: 1.6;
}

.hc-toc-box #toc_container ol.toc_list a {
	color: var(--hc-accent);
	text-decoration: none;
	font-weight: 400;
	font-size: 0.9375rem;
	transition: opacity 0.15s ease;
}

.hc-toc-box #toc_container ol.toc_list a:hover,
.hc-toc-box #toc_container ol.toc_list a:focus {
	opacity: 0.7;
}

.hc-toc-box #toc_container ol.toc_list ol {
	margin: 0.35em 0 0 !important;
	padding-left: 1.25rem !important;
}

.hc-retenir-list {
	list-style: none;
	margin: 0;
	padding: 0;
	font-family: var(--hc-font-sans);
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.65;
	color: #3a3a3a;
}

.hc-retenir-list li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding-left: 0;
	margin: 0 0 1.1rem;
}

.hc-retenir-list li:last-child {
	margin-bottom: 0;
}

/* Puce « À retenir » : coche orange seule (sans cercle) */
.hc-retenir-list li::before {
	content: '';
	flex: 0 0 1.125rem;
	width: 1.125rem;
	height: 0.95rem;
	margin-top: 0.32em;
	border-radius: 0;
	background-color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 11' fill='none'%3E%3Cpath d='M1%205.5L5.5%2010L13%201' stroke='%23e85d04' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: 0 50%;
	background-size: 100% auto;
	box-shadow: none;
}

.hc-retenir-list li::after {
	content: none;
	display: none;
}

/* ---------- Contenu article ---------- */

.hc-article-entry {
	margin-bottom: 40px;
}

.hc-article-entry .entry-content {
	font-family: var(--hc-font-sans);
	font-size: 1.0625rem;
	line-height: 1.75;
	color: var(--hc-text);
}

/* Titres : hiérarchie plus nette (Gutenberg + HTML classique) */
.hc-article-entry .entry-content h2 {
	font-family: var(--hc-font-serif);
	font-size: clamp(1.45rem, 2.75vw, 1.85rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.22;
	margin: 2.5rem 0 0.85rem;
	color: var(--hc-text);
}

.hc-article-entry .entry-content h2:first-of-type {
	margin-top: 0;
}

.hc-article-entry .entry-content h2::before {
	content: none;
}

.hc-article-entry .entry-content h3 {
	font-family: var(--hc-font-sans);
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--hc-muted);
	margin: 1.85rem 0 0.55rem;
	line-height: 1.35;
}

.hc-article-entry .entry-content h4 {
	font-family: var(--hc-font-serif);
	font-size: 1.125rem;
	font-weight: 600;
	margin: 1.35rem 0 0.45rem;
	color: var(--hc-text);
}

.hc-article-entry .entry-content p {
	margin: 0 0 1.15em;
}
.hc-article-entry .entry-content p.schema-faq-answer {
	margin: 0;
}

.hc-article-entry .entry-content ul:not(.toc_list):not(.wp-block-latest-posts__list):not(.blocks-gallery-grid):not(.wc-amz-box-features-list) {
	list-style: none;
	padding-left: 0;
	margin: 0 0 1.35em 0;
}

/* Puce article : simple coche orange */
.hc-article-entry .entry-content ul:not(.toc_list):not(.wp-block-latest-posts__list):not(.blocks-gallery-grid):not(.wc-amz-box-features-list) > li {
	position: relative;
	padding-left: 1.6rem;
	margin: 0 0 0.5em;
	font-family: var(--hc-font-sans);
	font-size: inherit;
	font-weight: 400;
	line-height: 1.65;
	color: var(--hc-text);
}

.hc-article-entry .entry-content ul:not(.toc_list):not(.wp-block-latest-posts__list):not(.blocks-gallery-grid):not(.wc-amz-box-features-list) > li::before {
	content: '✓';
	position: absolute;
	left: 0;
	top: 0;
	width: auto;
	height: auto;
	border-radius: 0;
	background: none;
	background-image: none;
	box-shadow: none;
	font-size: 0.9em;
	font-weight: 700;
	line-height: inherit;
	color: #e07b3a;
}

.hc-article-entry .entry-content ul:not(.toc_list):not(.wp-block-latest-posts__list):not(.blocks-gallery-grid):not(.wc-amz-box-features-list) > li::after {
	content: none;
	display: none;
}

.hc-article-entry .entry-content ul:not(.toc_list):not(.wp-block-latest-posts__list):not(.wc-amz-box-features-list) ul > li {
	position: relative;
	padding-left: 1.4rem;
	margin: 0 0 0.4em;
	font-weight: 400;
}

.hc-article-entry .entry-content ul:not(.toc_list):not(.wp-block-latest-posts__list):not(.wc-amz-box-features-list) ul > li::before {
	content: '✓';
	position: absolute;
	left: 0;
	top: 0;
	width: auto;
	height: auto;
	border-radius: 0;
	background: none;
	background-image: none;
	box-shadow: none;
	font-size: 0.8em;
	font-weight: 700;
	line-height: inherit;
	color: #e07b3a;
}

.hc-article-entry .entry-content ul:not(.toc_list):not(.wp-block-latest-posts__list):not(.wc-amz-box-features-list) ul > li::after {
	display: none;
}

.hc-article-entry .entry-content ol:not(.toc_list) {
	list-style: none !important;
	padding-left: 0;
	margin: 0 0 1.35em 0;
	counter-reset: hc-article-ol;
}

.hc-article-entry .entry-content ol:not(.toc_list) > li {
	position: relative;
	counter-increment: hc-article-ol;
	padding-left: 2.65rem;
	margin: 0 0 0.85em;
	min-height: 1.75rem;
}

.hc-article-entry .entry-content ol:not(.toc_list) > li::before {
	content: counter(hc-article-ol);
	position: absolute;
	left: 0;
	top: 0.12em;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	background: var(--hc-accent);
	color: #fff;
	font-family: var(--hc-font-sans);
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1.75rem;
	text-align: center;
	box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.12);
}

.hc-article-entry .entry-content ol:not(.toc_list) ol {
	counter-reset: hc-article-ol-sub;
	list-style: none !important;
	padding-left: 0;
	margin-top: 0.5em;
}

.hc-article-entry .entry-content ol:not(.toc_list) ol > li {
	counter-increment: hc-article-ol-sub;
	padding-left: 2.15rem;
}

.hc-article-entry .entry-content ol:not(.toc_list) ol > li::before {
	content: counter(hc-article-ol-sub, lower-alpha);
	width: 1.45rem;
	height: 1.45rem;
	font-size: 0.7rem;
	line-height: 1.45rem;
	text-align: center;
	top: 0.22em;
	background: rgba(192, 130, 106, 0.88);
}

.hc-article-entry .entry-content blockquote {
	position: relative;
	margin: 1.75rem 0;
	padding: 1.35rem 1.35rem 1.35rem 2.85rem;
	border-left: 4px solid var(--hc-accent);
	background: rgba(192, 130, 106, 0.1);
	font-family: var(--hc-font-serif);
	font-size: 1.08rem;
	font-style: italic;
	line-height: 1.55;
	color: var(--hc-text);
}

.hc-article-entry .entry-content blockquote::before {
	content: '\201C';
	position: absolute;
	left: 0.65rem;
	top: 0.35rem;
	font-family: var(--hc-font-serif);
	font-size: 2.75rem;
	line-height: 1;
	font-style: normal;
	color: var(--hc-accent);
	opacity: 0.35;
	pointer-events: none;
}

.hc-article-entry .entry-content blockquote cite {
	font-family: var(--hc-font-sans);
	font-size: 0.875rem;
	font-style: normal;
	color: var(--hc-muted);
}

.hc-article-entry .entry-content .wp-block-pullquote {
	position: relative;
	border: 0;
	border-top: 3px solid var(--hc-accent);
	border-bottom: 3px solid var(--hc-accent);
	padding: 1.75rem 1rem 1.75rem 2.5rem;
	background: rgba(192, 130, 106, 0.08);
	font-family: var(--hc-font-serif);
}

.hc-article-entry .entry-content .wp-block-pullquote::before {
	content: '\201C';
	position: absolute;
	left: 0.5rem;
	top: 0.85rem;
	font-size: 2.25rem;
	line-height: 1;
	color: var(--hc-accent);
	opacity: 0.4;
}

.hc-article-entry .entry-content .wp-block-pullquote blockquote {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	font-size: 1.2rem;
}

.hc-article-entry .entry-content .wp-block-pullquote blockquote::before {
	display: none;
}

/* Encadrés éditoriaux (bloc HTML classique ou groupe avec classe) */
.hc-article-entry .entry-content .hc-article-info,
.hc-article-entry .entry-content .wp-block-group.hc-article-info {
	margin: 1.5rem 0;
	padding: 1rem 1.15rem 1rem 2.35rem;
	background: rgba(192, 130, 106, 0.14);
	border: 1px solid rgba(192, 130, 106, 0.35);
	border-radius: 4px;
	font-family: var(--hc-font-sans);
	font-size: 0.9375rem;
	line-height: 1.55;
	position: relative;
}

.hc-article-entry .entry-content .hc-article-info::before,
.hc-article-entry .entry-content .wp-block-group.hc-article-info::before {
	content: '';
	position: absolute;
	left: 0.85rem;
	top: 1.15rem;
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 50%;
	background: var(--hc-accent);
	box-shadow: 0 0 0 3px rgba(192, 130, 106, 0.25);
}

.hc-article-entry .entry-content .hc-article-warning,
.hc-article-entry .entry-content .wp-block-group.hc-article-warning {
	margin: 1.5rem 0;
	padding: 1rem 1rem 1rem 2.65rem;
	background: rgba(220, 80, 80, 0.08);
	border: 1px solid rgba(200, 60, 60, 0.35);
	border-radius: 4px;
	font-family: var(--hc-font-sans);
	font-size: 0.9375rem;
	line-height: 1.55;
	position: relative;
}

.hc-article-entry .entry-content .hc-article-warning::before,
.hc-article-entry .entry-content .wp-block-group.hc-article-warning::before {
	content: '\26A0\FE0F';
	position: absolute;
	left: 0.75rem;
	top: 0.95rem;
	font-size: 1.25rem;
	line-height: 1;
	color: #b71c1c;
}

.hc-article-entry .entry-content .hc-article-tip,
.hc-article-entry .entry-content .wp-block-group.hc-article-tip {
	margin: 1.5rem 0;
	padding: 0.95rem 1.1rem 0.95rem 2.65rem;
	background: rgba(192, 130, 106, 0.12);
	border-left: 3px solid var(--hc-accent);
	border-radius: 0 4px 4px 0;
	font-family: var(--hc-font-sans);
	font-size: 0.9375rem;
	line-height: 1.55;
	position: relative;
}

.hc-article-entry .entry-content .hc-article-tip::before,
.hc-article-entry .entry-content .wp-block-group.hc-article-tip::before {
	content: '\1F4A1';
	position: absolute;
	left: 0.75rem;
	top: 0.95rem;
	font-size: 1.05rem;
	line-height: 1;
}

/* Rangée de logos (bloc groupe + classe ou HTML) */
.hc-article-entry .entry-content .hc-article-logo-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1.25rem 1.75rem;
	padding: 1.25rem 1rem;
	margin: 1.5rem 0;
	background: var(--hc-surface);
	border: 1px solid var(--hc-border);
	border-radius: 4px;
}

.hc-article-entry .entry-content .wp-block-group.hc-article-logo-row {
	margin: 1.5rem 0;
}

.hc-article-entry .entry-content .wp-block-group.hc-article-logo-row > .wp-block-group__inner-container {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1.25rem 1.75rem;
	padding: 1.25rem 1rem;
	background: var(--hc-surface);
	border: 1px solid var(--hc-border);
	border-radius: 4px;
}

.hc-article-entry .entry-content .hc-article-logo-row img,
.hc-article-entry .entry-content .wp-block-group.hc-article-logo-row img {
	max-height: 36px;
	width: auto;
	object-fit: contain;
	filter: grayscale(0.15);
	opacity: 0.92;
}

.hc-article-entry .entry-content .wp-block-group.hc-article-faq > .wp-block-group__inner-container > details,
.hc-article-entry .entry-content details.hc-article-faq {
	border-bottom: 1px solid var(--hc-border);
	padding: 0.65rem 0;
}

.hc-article-entry .entry-content .wp-block-group.hc-article-faq > .wp-block-group__inner-container > details summary,
.hc-article-entry .entry-content details.hc-article-faq summary {
	cursor: pointer;
	font-family: var(--hc-font-sans);
	font-weight: 700;
	font-size: 0.98rem;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	color: var(--hc-text);
}

.hc-article-entry .entry-content .wp-block-group.hc-article-faq > .wp-block-group__inner-container > details summary::-webkit-details-marker,
.hc-article-entry .entry-content details.hc-article-faq summary::-webkit-details-marker {
	display: none;
}

.hc-article-entry .entry-content .wp-block-group.hc-article-faq > .wp-block-group__inner-container > details summary::after,
.hc-article-entry .entry-content details.hc-article-faq summary::after {
	content: '';
	flex-shrink: 0;
	width: 0.45rem;
	height: 0.45rem;
	border-right: 2px solid var(--hc-muted);
	border-bottom: 2px solid var(--hc-muted);
	transform: rotate(45deg);
	transition: transform 0.2s ease;
	margin-top: -0.2rem;
}

.hc-article-entry .entry-content .wp-block-group.hc-article-faq > .wp-block-group__inner-container > details[open] summary::after,
.hc-article-entry .entry-content details.hc-article-faq[open] summary::after {
	transform: rotate(225deg);
	margin-top: 0.15rem;
}

.hc-article-entry .entry-content .wp-block-group.hc-article-faq > .wp-block-group__inner-container > details > *:not(summary),
.hc-article-entry .entry-content details.hc-article-faq > *:not(summary) {
	margin-top: 0.75rem;
	font-family: var(--hc-font-sans);
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--hc-text);
}

/* ---- FAQ Yoast : accordéon (maquette) ---- */

.schema-faq.wp-block-yoast-faq-block {
	background: #f8f3ee;
	border: 1px solid #e8ddd4;
	border-radius: 10px;
	padding: 0 20px;
	margin: 0 0 1.5rem;
	overflow: hidden;
}

.schema-faq-section {
	border-bottom: 1px solid #e8ddd4;
}

.schema-faq-section:last-child {
	border-bottom: 0;
}

/* Neutraliser les styles de lien Yoast sur la question */
.schema-faq-question,
.schema-faq-question a,
.schema-faq-question * {
	color: #2e2a26 !important;
	text-decoration: none !important;
}

.schema-faq-question {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	width: 100%;
	padding: 13px 0;
	font-family: var(--hc-font-sans);
	font-size: 0.9rem;
	font-weight: 400;
	cursor: pointer;
	user-select: none;
	line-height: 1.45;
}

/* Chevron accent à droite */
.schema-faq-question::after {
	content: '';
	flex-shrink: 0;
	width: 0.9rem;
	height: 0.9rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%23c0826a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: transform 0.22s ease;
}

.schema-faq-section.hc-faq--open .schema-faq-question::after {
	transform: rotate(180deg);
}

/* Réponse masquée par défaut, animée à l'ouverture */
.schema-faq-answer {
	overflow: hidden;
	max-height: 0;
	transition: max-height 0.3s ease;
	font-family: var(--hc-font-sans);
	font-size: 0.9rem;
	line-height: 1.65;
	color: #5a534c;
	margin: 0;
	padding: 0;
}

.schema-faq-answer p {
	margin: 0 0 14px;
}

.schema-faq-section.hc-faq--open .schema-faq-answer {
	padding-bottom: 14px;
}

/* Hero déjà rempli : masquer un bloc « image à la une » redondant en tête de contenu */
body.hc-single-has-hero-image .hc-article-entry .entry-content > .wp-block-post-featured-image:first-child {
	display: none !important;
}

/* Blocs Gutenberg : espacement cohérent */
.hc-article-entry .entry-content .wp-block-group,
.hc-article-entry .entry-content .wp-block-columns,
.hc-article-entry .entry-content .wp-block-media-text {
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
}

.hc-article-entry .entry-content .wp-block-image,
.hc-article-entry .entry-content .wp-block-embed {
	margin-top: 1.35rem;
	margin-bottom: 1.75rem;
}

/* Boutons (bloc + liens type bouton) : palette du site */
.hc-article-entry .entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.hc-article-entry .entry-content .wp-block-button:not(.is-style-outline) .wp-element-button {
	background-color: var(--hc-accent);
	color: #fff;
	border-color: transparent;
	border-radius: 2px;
	font-family: var(--hc-font-sans);
	font-weight: 600;
	padding: 0.55em 1.15em;
	transition: filter 0.2s ease, opacity 0.2s ease;
}

.hc-article-entry .entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.hc-article-entry .entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link:focus,
.hc-article-entry .entry-content .wp-block-button:not(.is-style-outline) .wp-element-button:hover,
.hc-article-entry .entry-content .wp-block-button:not(.is-style-outline) .wp-element-button:focus {
	filter: brightness(0.94);
	color: #fff;
}

.hc-article-entry .entry-content .wp-block-button.is-style-outline .wp-block-button__link {
	color: var(--hc-accent);
	border-color: var(--hc-accent);
	background: transparent;
}

.hc-article-entry .entry-content .wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: rgba(192, 130, 106, 0.12);
	color: var(--hc-accent);
}

/* Bloc affiliation Amazon (Wonder Generator) : renfort si le CSS plugin charge après le thème */
.hc-article-entry .entry-content .wc-amz-box-offer-button {
	background: var(--hc-accent) !important;
	color: #fff !important;
}

.hc-article-entry .entry-content .wc-amz-box-offer-button:hover {
	filter: brightness(0.92);
	color: #fff !important;
}

/* ---- Section commentaires ---- */

.hc-comments-area {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid var(--hc-border);
}

/* Titre « X commentaire(s) » */
.hc-comments-area .comments-title {
	font-family: var(--hc-font-serif);
	font-size: 1.375rem;
	font-weight: 700;
	color: #1a1a1a;
	margin: 0 0 1.5rem;
	letter-spacing: -0.01em;
}

/* Liste des commentaires */
.hc-comments-area .comment-list {
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
}

.hc-comments-area .comment-list .comment {
	border-bottom: 1px solid #ede8e1;
	padding: 1.25rem 0;
}

.hc-comments-area .comment-list .comment:last-child {
	border-bottom: 0;
}

.hc-comments-area .comment-list .children {
	list-style: none;
	padding-left: 2rem;
	margin: 0;
	border-left: 2px solid #e8ddd4;
}

/* Avatar + meta auteur */
.hc-comments-area .comment-meta {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 0.75rem;
}

.hc-comments-area .comment-meta .comment-author img {
	border-radius: 50%;
	width: 44px;
	height: 44px;
	flex-shrink: 0;
}

.hc-comments-area .comment-meta .comment-author .fn {
	font-family: var(--hc-font-sans);
	font-size: 0.9rem;
	font-weight: 700;
	color: #1a1a1a;
}

.hc-comments-area .comment-meta .comment-author a {
	color: inherit;
	text-decoration: none;
}

.hc-comments-area .comment-meta .comment-metadata {
	font-family: var(--hc-font-sans);
	font-size: 0.8125rem;
	color: #8a8a8a;
	margin-left: auto;
}

.hc-comments-area .comment-meta .comment-metadata a {
	color: inherit;
	text-decoration: none;
}

/* Texte du commentaire */
.hc-comments-area .comment-content p {
	font-family: var(--hc-font-sans);
	font-size: 0.9375rem;
	line-height: 1.65;
	color: #3a3a3a;
	margin: 0 0 0.5em;
}

/* Lien répondre */
.hc-comments-area .reply a {
	font-family: var(--hc-font-sans);
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--hc-accent);
	text-decoration: none;
}

.hc-comments-area .reply a:hover {
	text-decoration: underline;
}

/* Modération */
.hc-comments-area .comment-awaiting-moderation {
	font-size: 0.8125rem;
	color: #8a8a8a;
	font-style: italic;
}

/* ---- Formulaire de commentaire ---- */

.hc-comments-area #respond {
	background: #f8f3ee;
	border: 1px solid #e8ddd4;
	border-radius: 12px;
	padding: 28px 28px 24px;
	margin-top: 2rem;
}

.hc-comments-area #respond .comment-reply-title {
	font-family: var(--hc-font-serif);
	font-size: 1.2rem;
	font-weight: 700;
	color: #1a1a1a;
	margin: 0 0 1.25rem;
}

.hc-comments-area #respond .comment-reply-title small a {
	font-family: var(--hc-font-sans);
	font-size: 0.8125rem;
	font-weight: 400;
	color: var(--hc-accent);
	margin-left: 0.75rem;
}

.hc-comments-area #respond .comment-notes,
.hc-comments-area #respond .logged-in-as {
	font-size: 0.875rem;
	color: #8a8a8a;
	margin-bottom: 1rem;
}

.hc-comments-area #respond .comment-form-comment label,
.hc-comments-area #respond .comment-form-author label,
.hc-comments-area #respond .comment-form-email label,
.hc-comments-area #respond .comment-form-url label {
	display: block;
	font-family: var(--hc-font-sans);
	font-size: 0.8125rem;
	font-weight: 600;
	color: #3a3a3a;
	margin-bottom: 5px;
}

.hc-comments-area #respond input[type="text"],
.hc-comments-area #respond input[type="email"],
.hc-comments-area #respond input[type="url"],
.hc-comments-area #respond textarea {
	width: 100%;
	font-family: var(--hc-font-sans);
	font-size: 0.9375rem;
	color: #1a1a1a;
	background: #ffffff;
	border: 1px solid #d8d0c8;
	border-radius: 6px;
	padding: 10px 14px;
	transition: border-color 0.15s ease;
	box-sizing: border-box;
}

.hc-comments-area #respond input[type="text"]:focus,
.hc-comments-area #respond input[type="email"]:focus,
.hc-comments-area #respond input[type="url"]:focus,
.hc-comments-area #respond textarea:focus {
	outline: none;
	border-color: var(--hc-accent);
}

.hc-comments-area #respond textarea {
	min-height: 130px;
	resize: vertical;
}

.hc-comments-area #respond .form-submit .submit {
	display: inline-block;
	font-family: var(--hc-font-sans);
	font-size: 0.9375rem;
	font-weight: 600;
	padding: 11px 26px;
	background: var(--hc-accent);
	color: #fff;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	transition: filter 0.18s ease;
}

.hc-comments-area #respond .form-submit .submit:hover {
	filter: brightness(0.92);
}

/* Navigation pagination commentaires */
.hc-comments-area .comment-navigation {
	display: flex;
	justify-content: space-between;
	font-family: var(--hc-font-sans);
	font-size: 0.875rem;
	margin-bottom: 1.5rem;
}

.hc-comments-area .comment-navigation a {
	color: var(--hc-accent);
	text-decoration: none;
	font-weight: 600;
}

/* Navigation entre articles (single.php) */
.hc-post-nav {
	margin: 2.5rem 0 0;
	padding-top: 1.5rem;
	border-top: 1px solid var(--hc-border);
}

.hc-post-nav .nav-links {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
}

.hc-post-nav .nav-previous,
.hc-post-nav .nav-next {
	margin: 0;
}

.hc-post-nav .nav-next {
	text-align: right;
}

.hc-post-nav a {
	display: block;
	text-decoration: none;
	color: var(--hc-text);
	font-family: var(--hc-font-sans);
	transition: color 0.2s ease;
}

.hc-post-nav a:hover,
.hc-post-nav a:focus {
	color: var(--hc-accent);
}

.hc-post-nav .hc-post-nav-label {
	display: block;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--hc-muted);
	margin-bottom: 0.35rem;
}

.hc-post-nav .hc-post-nav-title {
	display: block;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.35;
}

@media (max-width: 600px) {
	.hc-post-nav .nav-links {
		grid-template-columns: 1fr;
	}

	.hc-post-nav .nav-next {
		text-align: left;
	}
}

/* ---------- Auteur ---------- */

.hc-author-box {
	display: flex;
	gap: 24px;
	align-items: flex-start;
	background: #f8f3ee;
	border: 1px solid #e8ddd4;
	border-radius: 12px;
	padding: 28px 28px 26px;
	margin-bottom: 28px;
}

.hc-author-avatar,
.hc-author-avatar.avatar {
	width: 88px;
	height: 88px;
	border-radius: 10px;
	flex-shrink: 0;
	object-fit: cover;
}

.hc-author-body {
	min-width: 0;
}

.hc-author-label {
	font-family: var(--hc-font-sans);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	color: var(--hc-accent);
	margin: 0 0 8px;
}

.hc-author-name {
	font-family: var(--hc-font-sans);
	font-size: 1rem;
	font-weight: 500;
	color: #1a1a1a;
	margin: 0 0 10px;
	line-height: 1.2;
}

.hc-author-bio {
	font-family: var(--hc-font-sans);
	font-size: 0.9rem;
	line-height: 1.6;
	color: #5a534c;
	margin: 0;
}

.hc-author-bio p {
	margin: 0 0 0.4em;
}

.hc-author-bio p:last-child {
	margin-bottom: 0;
}

.hc-article-cta {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 16px 18px;
	background: rgba(192, 130, 106, 0.18);
	border: 1px solid rgba(192, 130, 106, 0.45);
	border-radius: 4px;
}

.hc-article-cta-icon {
	flex-shrink: 0;
	width: 1.5rem;
	height: 1.5rem;
	color: var(--hc-accent);
}

.hc-article-cta-icon svg {
	width: 100%;
	height: 100%;
}

.hc-article-cta-text {
	margin: 0;
	font-family: var(--hc-font-sans);
	font-size: 0.9375rem;
	line-height: 1.5;
	color: var(--hc-text);
}

/* ---------- Sidebar ---------- */

.hc-sidebar-card {
	background: #ffffff;
	border: 1px solid #e8e1d8;
	border-radius: 12px;
	padding: 24px 22px 22px;
	margin-bottom: 20px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
}

.hc-sidebar-title {
	font-family: var(--hc-font-serif);
	font-size: 1.125rem;
	font-weight: 700;
	margin: 0 0 16px;
	padding-bottom: 14px;
	border-bottom: 1px solid #ede8e1;
	color: #1a1a1a;
	letter-spacing: -0.01em;
}

.hc-sidebar-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hc-sidebar-item {
	display: grid;
	grid-template-columns: 72px 1fr;
	gap: 14px;
	align-items: start;
	padding: 14px 0;
	border-bottom: 1px solid #ede8e1;
}

.hc-sidebar-item:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.hc-sidebar-item:first-child {
	padding-top: 0;
}

.hc-sidebar-item--ranked {
	grid-template-columns: 24px 56px 1fr;
	gap: 10px 12px;
}

.hc-sidebar-rank {
	font-family: var(--hc-font-sans);
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--hc-popular-rank);
	padding-top: 8px;
	text-align: center;
}

.hc-sidebar-item--ranked .hc-sidebar-thumb {
	width: 56px;
	height: 56px;
}

.hc-sidebar-thumb {
	display: block;
	width: 72px;
	height: 72px;
	overflow: hidden;
	border-radius: 6px;
	background: var(--hc-surface);
	flex-shrink: 0;
}

.hc-sidebar-thumb-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hc-sidebar-thumb-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #ede8e0, #ddd8d0);
}

.hc-sidebar-kicker {
	font-family: var(--hc-font-sans);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--hc-accent);
	margin: 0 0 5px;
}

.hc-sidebar-item-title {
	font-family: var(--hc-font-serif);
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.35;
	margin: 0;
}

.hc-sidebar-item-title a {
	color: #1a1a1a;
	text-decoration: none;
	transition: color 0.15s ease;
}

.hc-sidebar-item-title a:hover {
	color: var(--hc-accent);
}

.hc-sidebar-more {
	display: block;
	margin-top: 18px;
	padding: 10px 20px;
	text-align: center;
	font-family: var(--hc-font-sans);
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--hc-accent);
	text-decoration: none;
	border: 1.5px solid var(--hc-accent);
	border-radius: 6px;
	transition: background 0.18s ease, color 0.18s ease;
}

.hc-sidebar-more:hover {
	background: var(--hc-accent);
	color: #ffffff;
	text-decoration: none;
}

/* Newsletter */
.hc-newsletter-box {
	background: rgba(192, 130, 106, 0.14);
	border-color: rgba(192, 130, 106, 0.35);
}

.hc-newsletter-icon {
	display: flex;
	width: 2rem;
	height: 2rem;
	margin-bottom: 12px;
	color: var(--hc-accent);
}

.hc-newsletter-icon svg {
	width: 100%;
	height: 100%;
}

.hc-newsletter-title {
	font-family: var(--hc-font-serif);
	font-size: 1.125rem;
	margin: 0 0 8px;
	color: var(--hc-text);
}

.hc-newsletter-text {
	font-family: var(--hc-font-sans);
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--hc-muted);
	margin: 0 0 16px;
}

.hc-newsletter-form {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.hc-newsletter-input {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--hc-border);
	border-radius: 2px;
	font-size: 0.9375rem;
}

.hc-newsletter-submit {
	width: 100%;
	padding: 12px 16px;
	font-family: var(--hc-font-sans);
	font-size: 0.9375rem;
	font-weight: 600;
	background: var(--hc-accent);
	color: #fff;
	border: 0;
	border-radius: 2px;
	cursor: pointer;
}

.hc-newsletter-submit:hover {
	opacity: 0.92;
}

.hc-newsletter-hint {
	font-size: 0.75rem;
	line-height: 1.45;
	color: var(--hc-muted);
	margin: 12px 0 0;
}

.hc-newsletter-plugin .sib_signup_form,
.hc-newsletter-plugin form {
	margin: 0;
}

/* ---------- Article single : responsive ---------- */

@media (max-width: 1023px) {
	.hc-article-wrap {
		grid-template-columns: 1fr;
	}

	.hc-article-sidebar {
		position: static;
		max-width: 32rem;
		padding-left: 0;
		border-left: 0;
	}
}

@media (max-width: 767px) {
	.hc-article-hero {
		min-height: 0;
		padding: 24px 16px 44px;
		margin-top: -16px;
	}

	.hc-article-hero-inner {
		padding: 0 16px;
	}

	.hc-article-hero-text {
		max-width: 100%;
	}

	.hc-article-body {
		padding: 28px 16px 0;
	}

	.hc-article-topper--with-retenir {
		grid-template-columns: 1fr;
	}

	.hc-article-meta {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	.hc-author-box {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.hc-sidebar-item {
		grid-template-columns: 72px 1fr;
	}

	.hc-sidebar-item--ranked {
		grid-template-columns: 24px 52px 1fr;
	}
}