/*
Theme Name: Le Geekz Club
Theme URI: https://geekz-club.org
Author: Geekz Club
Description: Thème magazine inspiré de Geekz Club (Newsup) avec mise en page type journal, section à la une et sidebar.
Version: 1.0.25
Text Domain: geekzclub
*/

/*@import url("css/colors/default.css");*/
/*@import url("css/colors/style.css");*/

/* ========== Similarités avec css/colors/style.css (Geekz Club) ==========
 * Règles communes aux deux feuilles :
 * - :root (--headFont: Josefin Sans, --bodyFont: Onest)
 * - .wrapper.boxed (margin, box-shadow #5a5a5a20, max-width 1200px)
 * - .container-fluid (padding 15px)
 * - p a { text-decoration: underline }
 * - a:focus { outline: 1px solid }
 * - Titres h1–h6 + .site-title (font-family, letter-spacing 0)
 * - body { font-family: Onest }
 * - .site-title { font-size: 2.875em }
 * - textarea { outline: 0 }
 * - .screen-reader-text:focus (bg #f1f1f1, color #21759b, box-shadow rgba(0,0,0,0.6))
 * Valeurs couleur Geekz Club importées ci-dessus : #ff001b (accent), #21759b (focus), #f1f1f1.
 * ========== Style par défaut Geekz Club (appliqué à Geekz Club) ========== */
:root {
	--headFont: var(--gc-head-font, "Oswald", sans-serif);
	--bodyFont: var(--gc-body-font, "Roboto Flex", sans-serif);
	/* Palette Geekz Club (css/colors/style.css) pour cohérence visuelle */
	--Geekz Club-accent: #ff001b;
	--Geekz Club-focus: #21759b;
	--Geekz Club-focus-bg: #f1f1f1;
	--Geekz Club-shadow: rgba(0, 0, 0, 0.6);
	--Geekz Club-box-shadow: 0 0 10px 0 #5a5a5a20;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

.wrapper.boxed {
	margin: 0 auto;
	box-shadow: var(--Geekz Club-box-shadow);
	max-width: 1200px;
}

.gc-container,
.container-fluid {
	padding-right: 15px;
	padding-left: 15px;
}
.gc-container {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

p a {
	text-decoration: underline;
}

a {
	color: var(--gc-link, var(--Geekz Club-accent));
	text-decoration: none;
}

a:hover,
a:focus {
	text-decoration: underline;
	outline: 1px solid;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

textarea {
	outline: 0;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6,
.site-title,
.gc-section-title,
.gc-post-card-title,
.gc-featured-main-title,
.gc-featured-item-title,
.gc-single-title,
.widget-title {
	font-family: var(--headFont);
	font-weight: 700;
	letter-spacing: 0;
	color: var(--gc-heading-color, #7C4DFF);
	font-size: 1.25em;
	
}
.gc-featured-item-title {
	/* Bordure fine pour la définition */
  -webkit-text-stroke: 1px #2D0066; 
  /* Ombre portée pour le détacher du fond */
  text-shadow: 2px 2px 0px rgba(0,0,0,0.2);
}


body {
	margin: 0;
	font-family: var(--bodyFont);
	line-height: 1.6;
	color: var(--gc-body-text, #E0E0E0);
	/* Fond par défaut si les variables Customizer ne sont pas injectées */
	background: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(226, 232, 240, 0.15), transparent 70%), #000000;
	background: var(--gc-body-background);
	min-height: 100vh;
}

/* Code inline / bloc — style néon (aligné TVDB / titres cyan) */
code,
.gc-code {
	font-family: ui-monospace, "Cascadia Code", "Segoe UI Mono", "Roboto Mono", Menlo, Consolas, monospace;
	font-style: normal;
	font-size: 0.92em;
	color: #7df9ff;
	background: rgba(10, 12, 20, 0.78);
	border: 1px solid rgba(125, 249, 255, 0.35);
	border-radius: 4px;
	padding: 0.12em 0.42em;
	text-shadow:
		0 0 2px #00d4ff,
		0 0 6px rgba(0, 212, 255, 0.5),
		0 0 12px rgba(0, 184, 255, 0.25);
	box-shadow:
		0 0 8px rgba(0, 212, 255, 0.18),
		inset 0 0 10px rgba(0, 212, 255, 0.06);
}

.gc-single-content pre,
.gc-single-content .wp-block-code {
	margin: 1em 0;
	padding: 12px 14px;
	overflow-x: auto;
	border-radius: 8px;
	border: 1px solid rgba(125, 249, 255, 0.35);
	background: rgba(10, 12, 20, 0.55);
	box-shadow:
		0 0 14px rgba(0, 212, 255, 0.2),
		inset 0 0 20px rgba(0, 212, 255, 0.06);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.gc-single-content pre code,
.gc-single-content .wp-block-code code {
	display: block;
	padding: 0;
	background: transparent;
	border: none;
	box-shadow: none;
	text-shadow:
		0 0 2px #00d4ff,
		0 0 6px rgba(0, 212, 255, 0.4);
	white-space: pre;
	overflow-x: auto;
}

.site-title {
	font-size: 2.875em;
	font-family: var(--gc-head-font, "Oswald", sans-serif);
	font-weight: 700;
}

/* Masquage visuel (équivalent noyau WP) : requis pour .screen-reader-text hors :focus */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: var(--Geekz Club-focus-bg);
	border-radius: 3px;
	box-shadow: 0 0 2px 2px var(--Geekz Club-shadow);
	clip: auto !important;
	clip-path: none;
	color: var(--Geekz Club-focus);
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* ========== Geekz Club – Top bar (équivalent .gc-head-detail) ========== */
.gc-top-bar {
	color: var(--gc-header-text, #7C4DFF);
	font-size: 0.875em;
	padding: 5px 0;
/*	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #111827;
	*/
}

.gc-top-bar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	white-space: nowrap;
	overflow-x: auto;
}

.gc-top-bar-title {
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-right: 12px;
}

.gc-top-bar-links {
	display: flex;
	flex-wrap: nowrap;
	gap: 10px;
}

.gc-top-bar-links a,
.gc-top-menu > li > a {
	color: var(--gc-link, var(--gc-header-text, #e5e7eb));
}

.gc-top-bar-links a:hover,
.gc-top-menu > li > a:hover {
	color: var(--gc-accent, var(--Geekz Club-accent));
}

.gc-top-menu {
	display: flex;
	margin: 0 0 0 16px;
	padding: 0;
	list-style: none;
	gap: 10px;
}

/* ========== Geekz Club – Header ========== */
.site-header {

}

.gc-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 18px 0;
}

.site-branding-inner {
	display: flex;
	align-items: center;
	gap: 16px;
}

.site-logo img {
	display: block;
	height: auto;
	width: var(--gc-logo-size, 150px);
	max-width: 100%;
	object-fit: contain;
}

/* Logo responsive
 * Référence: 150px à 1440px de largeur d’écran.
 * Formule: 150 * (viewportWidth / 1440).
 */
:root {
	/* 150px à 1440px => 150/1440*100 = 10.4167vw */
	--gc-logo-size: clamp(96px, 10.4167vw, 240px);
}

.site-logo a.custom-logo-link {
	display: inline-block;
	width: var(--gc-logo-size, 150px);
}


.gc-header-layout-centered .site-branding-inner,
.gc-header-layout-centered .site-branding,
.gc-header-layout-text-only .site-branding {
	text-align: center;
}

.gc-header-layout-centered .site-branding-inner,
.gc-header-layout-centered,
.gc-header-layout-text-only {
	flex-direction: column;
	align-items: center;
}

.site-branding .site-title {
	margin: 0;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	/* Effet néon bleu électrique avec pulsation (max 10px) */
	color: #7df9ff;
	text-shadow:
		0 0 2px #00d4ff,
		0 0 5px #00d4ff,
		0 0 10px #00b8ff;
/*	animation: neon-pulse 2s ease-in-out infinite; */
}

@keyframes neon-pulse {
	0%, 100% {
		text-shadow:
			0 0 2px #00d4ff,
			0 0 5px #00d4ff,
			0 0 10px #00b8ff;
	}
	50% {
		text-shadow:
			0 0 5px #7df9ff,
			0 0 8px #00d4ff,
			0 0 10px #00b8ff;
	}
}

.site-branding .site-title a {
	color: inherit;
	text-decoration: none;
}

.site-branding .site-title a:hover,
.site-branding .site-title a:focus {
	color: inherit;
	text-decoration: none;
}

.site-branding .site-description {
	font-size: 0.8125em;
	color: #6b7280;
	margin: 4px 0 0;
}

.gc-header-search {
	display: block;
	position: relative;
	flex: 0 0 auto;
	margin-left: auto;
	min-width: 0;
}

.gc-header-search input[type="search"] {
	padding: 6px 28px 6px 10px;
	border-radius: 4px;
	border: 1px solid rgba(125, 249, 255, 0.45);
	font-size: 0.8125em;
	height: 40px;
	line-height: 25px;
	box-sizing: border-box;
	background: #000;
	color: #e8e8ed;
	box-shadow:
		0 0 0 1px rgba(0, 212, 255, 0.08),
		0 0 14px rgba(0, 212, 255, 0.12);
}

.gc-header-search input[type="search"]::placeholder {
	color: rgba(200, 230, 255, 0.45);
}

.gc-header-search input[type="search"]:focus {
	outline: none;
	border-color: #7df9ff;
	box-shadow:
		0 0 0 1px rgba(125, 249, 255, 0.25),
		0 0 20px rgba(0, 212, 255, 0.22);
}

.gc-header-search button {
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	border: none;
	background: none;
	cursor: pointer;
	color: rgba(125, 249, 255, 0.85);
}

.gc-header-search button:hover,
.gc-header-search button:focus {
	color: #7df9ff;
}

.gc-header-search button:focus-visible {
	outline: 2px solid rgba(125, 249, 255, 0.6);
	outline-offset: 2px;
	border-radius: 2px;
}

/* ========== Geekz Club – Navigation (équivalent .navbar-wp) ========== */
.gc-main-nav {
	/*background: #111827;*/
}

.gc-main-nav-inner {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 8px 16px;
}

.gc-main-nav .menu {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gc-main-nav .menu > li {
	flex: 0 0 auto;
}

.gc-main-nav .menu > li > a {
	display: block;
	padding: 12px 16px;
	color: var(--gc-link, var(--gc-header-text, #e5e7eb));
	font-size: 0.875em;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.gc-main-nav .menu > li > a:hover,
.gc-main-nav .menu > li.current-menu-item > a {
	background: var(--gc-accent, var(--Geekz Club-accent));
	color: #111;
}

/* Bouton menu mobile : masqué par défaut (desktop) */
.gc-nav-toggle {
	display: none;
}

@media (max-width: 767.98px) {
	.gc-nav-toggle {
		display: inline-flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 5px;
		box-sizing: border-box;
		width: 44px;
		height: 44px;
		padding: 0;
		margin: 0;
		border: 1px solid rgba(255, 255, 255, 0.22);
		border-radius: 4px;
		background: transparent;
		cursor: pointer;
		color: var(--gc-link, var(--gc-header-text, #e5e7eb));
		flex: 0 0 auto;
	}

	.gc-nav-toggle:focus {
		outline: 2px solid var(--gc-accent, var(--Geekz Club-accent));
		outline-offset: 2px;
	}

	.gc-nav-toggle-bar {
		display: block;
		width: 22px;
		height: 2px;
		background: currentColor;
		border-radius: 1px;
		transition: transform 0.2s ease, opacity 0.2s ease;
		transform-origin: center;
	}

	.gc-nav-toggle[aria-expanded="true"] .gc-nav-toggle-bar:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
	}

	.gc-nav-toggle[aria-expanded="true"] .gc-nav-toggle-bar:nth-child(2) {
		opacity: 0;
	}

	.gc-nav-toggle[aria-expanded="true"] .gc-nav-toggle-bar:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}

	.gc-main-nav:not(.is-open) #primary-menu,
	.gc-main-nav:not(.is-open) ul.menu {
		display: none !important;
	}

	.gc-main-nav.is-open #primary-menu,
	.gc-main-nav.is-open ul.menu {
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		width: 100%;
		flex: 1 1 100%;
	}

	.gc-main-nav.is-open .menu > li {
		flex: 1 1 auto;
		width: 100%;
	}

	.gc-main-nav.is-open .menu > li > a {
		width: 100%;
		box-sizing: border-box;
	}

	/* Sous-menus : pile verticale lisible sur petit écran */
	.gc-main-nav .menu .sub-menu {
		list-style: none;
		margin: 0 0 4px;
		padding: 0 0 4px 12px;
		border-left: 1px solid rgba(225, 225, 225, 0.28);
	}

	.gc-main-nav .menu .sub-menu li {
		margin: 0;
	}

	.gc-main-nav .menu .sub-menu a {
		display: block;
		padding: 8px 12px;
		font-size: 0.8125em;
		font-weight: 500;
		text-transform: none;
		letter-spacing: 0.03em;
		color: var(--gc-link, var(--gc-header-text, #e5e7eb));
		border-bottom: 1px solid rgba(225, 225, 225, 0.2);
	}

	.gc-main-nav .menu .sub-menu a:hover,
	.gc-main-nav .menu .sub-menu .current-menu-item > a {
		background: var(--gc-accent, var(--Geekz Club-accent));
		color: #111;
	}
}

/* ========== Geekz Club – Zone principale ========== */
.gc-main {
	padding: 24px 0 40px;
	background-color: transparent;
}

.gc-layout {
	display: grid;
	grid-template-columns: 2.2fr 1fr;
	gap: 24px;
}

/* Liste d’articles : une colonne pleine largeur si sidebar désactivée (Customizer) */
body.geekzclublisting-no-sidebar .gc-layout {
	grid-template-columns: 1fr;
}

body.geekzclublisting-no-sidebar .content-area.gc-listing-main {
	max-width: 100%;
}

.content-area {
	min-width: 0;
}

.sidebar-area {
	min-width: 0;
}

/* Sidebar sticky : uniquement quand .gc-layout est en 2 colonnes (évite un comportement bizarre en pile mobile). */
@media (min-width: 992px) {
	.sidebar-area {
		position: sticky;
		top: 1.5rem;
		align-self: start;
	}
}

/* ========== Section à la une (équivalent .gc-blog-post.lg / .gc-latest-news-sec) ========== */
.gc-featured {
	margin-bottom: 24px;
	box-shadow: none;
}

.gc-section-title {
	font-size: 0.875em;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #6b7280;
	margin: 0 0 10px;
	border-bottom: 2px solid var(--gc-accent, var(--Geekz Club-accent));
	padding-bottom: 4px;
}

.gc-featured-grid {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1.4fr);
	gap: 16px;
	align-items: stretch;
}

.gc-featured-main {
	position: relative;
	background-color: #1a1a1a;
	overflow: hidden;
	border-radius: 4px;
	min-height: 300px;
}

/* Bloc principal avec image : hauteur = ligne de grille (comme avec background-size: cover) */
.gc-featured-main--has-thumb {
	display: flex;
	flex-direction: column;
	align-self: stretch;
	min-height: 300px;
}

/* Image LCP : occupe toute la hauteur du bloc (flex), lien en overlay absolu par-dessus */
.gc-featured-main--has-thumb .gc-featured-main-media {
	position: relative;
	z-index: 0;
	flex: 1 1 auto;
	min-height: 0;
	width: 100%;
	overflow: hidden;
	pointer-events: none;
}

.gc-featured-main-media .gc-featured-main__picture,
.gc-featured-main-media .gc-picture {
	display: block;
	width: 100%;
	height: 100%;
}

.gc-featured-main-media img.gc-featured-main__img,
.gc-featured-main-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.gc-featured-main--no-thumb {
	background-image: linear-gradient(145deg, #2d2d2d 0%, #111 100%);
}

.gc-featured-main-link {
	position: absolute;
	inset: 0;
	display: block;
	padding: 0;
	text-decoration: none;
	z-index: 1;
	color: var(--gc-link, var(--Geekz Club-accent));
}

.gc-featured-main-link:focus {
	outline: 2px solid var(--Geekz Club-focus, #21759b);
	outline-offset: 2px;
}

.gc-featured-main-link:hover .gc-featured-main-title,
.gc-featured-main-link:focus .gc-featured-main-title {
	color: var(--gc-accent, var(--Geekz Club-accent));
}

.gc-featured-item-link:hover .gc-featured-item-title,
.gc-featured-item-link:focus .gc-featured-item-title {
	color: var(--gc-accent, var(--Geekz Club-accent));
}

/* Pas de contour / soulignement sur les cartes liste (écrase a:focus global + focus navigateur) */
.gc-featured-list .gc-featured-item-link,
.gc-featured-list .gc-featured-item-link:hover,
.gc-featured-list .gc-featured-item-link:focus,
.gc-featured-list .gc-featured-item-link:focus-visible,
.gc-featured-list .gc-featured-item-link:active {
	text-decoration: none !important;
	outline: none !important;
	outline-width: 0 !important;
	outline-offset: 0 !important;
	box-shadow: none !important;
	-webkit-tap-highlight-color: transparent;
}

.gc-featured-main-overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.82), transparent 55%);
	pointer-events: none;
}

.gc-featured-main-link .gc-badge-category {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 2;
	margin: 0;
}

.gc-featured-main-bottom {
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 16px;
	z-index: 2;
}

.gc-badge-category {
	display: inline-block;
	background: var(--gc-accent, var(--Geekz Club-accent));
	color: #111;
	font-size: 0.6875em;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	padding: 4px 8px;
	border-radius: 2px;
	margin-bottom: 8px;
	text-decoration: none;
}

a.gc-badge-category:hover,
a.gc-badge-category:focus {
	color: #111;
	text-decoration: none;
	filter: brightness(1.08);
}

.gc-single-tags .gc-badge-category a {
	color: inherit;
	text-decoration: none;
}

.gc-post-meta a {
	color: inherit;
	text-decoration: underline;
}

.gc-post-meta a:hover,
.gc-post-meta a:focus {
	color: inherit;
}

.gc-featured-main-title {
	font-size: 1.625em;
	margin: 0 0 8px;
	color: inherit;
}

.gc-post-meta {
	font-size: 0.75em;
	color: #d1d5db;
}

.gc-featured-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
}

.gc-featured-grid > .gc-featured-list.gc-featured-list--count-1 {
	align-self: start;
}

/* Exclusif à la liste (ne doit jamais impacter le bloc principal) */
.gc-featured-grid > .gc-featured-list.gc-featured-list--count-1 > article.gc-featured-item {
	min-height: 0;
}

.gc-featured-grid > .gc-featured-list.gc-featured-list--count-1 > article.gc-featured-item > a.gc-featured-item-link {
	height: 420px !important;
	max-height: 420px !important;
}

.gc-featured-item {
	position: relative;
	min-height: 140px;
	border-radius: 4px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: #1a1a1a;
}

/* Pas de contour (bordure) sur les cartes de la liste "Dernières actualités" */
.gc-featured-list .gc-featured-item {
	border: none;
}

.gc-featured-item-link {
	position: absolute;
	inset: 0;
	display: block;
	padding: 0;
	background-color: #2d2d2d;
	background-size: cover;
	background-position: center;
	text-decoration: none;
	z-index: 1;
	color: var(--gc-link, var(--Geekz Club-accent));
}

.gc-featured-item-media,
.gc-featured-item-media .gc-picture {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.gc-featured-item-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.gc-featured-list .gc-featured-item-link {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: stretch;
}

.gc-featured-item--no-thumb .gc-featured-item-link {
	background-image: linear-gradient(145deg, #3d3d3d 0%, #1a1a1a 100%);
}

.gc-featured-item-link .gc-badge-category {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
	margin: 0;
}

/* Bandeau titre : uniquement dans .gc-featured-list, collé bas / pleine largeur */
.gc-featured-list .gc-featured-item-bottom {
	position: relative;
	left: auto;
	right: auto;
	bottom: auto;
	width: 100%;
	margin: 0;
	z-index: 2;
	background: rgba(0, 0, 0, 0.65);
	padding: 8px 10px;
	border-radius: 0;
	flex-shrink: 0;
}

.gc-featured-list .gc-featured-item-bottom .gc-featured-item-title {
	/* Couleur plus lisible sur voile noir (alignée avec la DA néon du site) */
	color: var(--gc-card-title, #7df9ff);
	margin: 0;
	/* Annule le “contour” visuel global (.gc-featured-item-title → -webkit-text-stroke) */
	-webkit-text-stroke: 0;
	text-shadow: none;
}

.gc-featured-item-title {
	font-size: 1.125em;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	color: inherit;
}

.gc-featured-main-link .gc-post-meta,
.gc-featured-item-link .gc-post-meta {
	color: inherit;
	opacity: 0.88;
}

/* ========== Liste d’articles (équivalent .gc-posts-sec-post / .small-post) ========== */
.gc-posts-section {
	box-shadow: none;
	margin-bottom: 40px;
	border-radius: 4px;
	padding: 10px 0;
}

.gc-post-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
}

/* Précédemment au Geekz Club — grille (max 2 cartes / ligne), vignettes hauteur forcée 576px */
.gc-post-list.gc-missed-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gc-missed-grid .gc-post-card {
	max-width: none;
	width: 100%;
	height: 100%;
}

.gc-missed-grid .gc-post-card-thumb {
	width: 100%;
}

.gc-missed-grid .gc-post-card-thumb-link {
	display: block;
	width: 100%;
	max-width: none;
	height: 576px;
	max-height: 576px;
	margin-inline: 0;
	overflow: hidden;
	background: #f3f4f6;
	box-sizing: border-box;
}

.gc-missed-grid .gc-post-card-thumb-link .gc-picture {
	display: block;
	width: 100%;
	height: 100%;
	max-height: 576px;
	overflow: hidden;
}

.gc-missed-grid .gc-post-card-thumb-link img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: 576px;
	object-fit: cover;
	object-position: center;
}

@media (max-width: 640px) {
	.gc-post-list.gc-missed-grid {
		grid-template-columns: 1fr;
	}
}

/* Précédemment au Geekz Club : bouton en bas du cadre (10px), au plus 10px du bord gauche */
.gc-missed-grid .gc-post-card-body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	padding: 14px 16px 10px 10px;
}

.gc-missed-grid .gc-post-excerpt {
	flex: 1 1 auto;
	min-height: 0;
}

.gc-missed-grid .gc-read-more {
	margin-top: auto;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: auto;
	align-self: flex-start;
}

.gc-post-card {
	display: flex;
	flex-direction: column;
	background: #1E1E1E;
	border-radius: 4px;
	border: 1px solid #e5e7eb;
	overflow: hidden;
	backdrop-filter: blur(16px) saturate(180%);
	-webkit-backdrop-filter: blur(16px) saturate(180%);
	box-shadow: 0 3px 12px -1px rgba(7,10,25,.2), 0 22px 27px -20px rgba(7,10,25,.2);
	max-width: 800px;
}

.gc-post-card-thumb {
	position: relative;
	background: #f3f4f6;
}

.gc-post-card-thumb-link {
	display: block;
}

.gc-post-card-thumb img {
	width: 100%;
	height: auto;
}

.gc-post-card-thumb .gc-badge-category {
	position: absolute;
	top: 20px;
	left: 20px;
	margin: 0;
	z-index: 2;
}

.gc-post-card-meta-overlay {
	position: absolute;
	right: 20px;
	bottom: 20px;
	z-index: 2;
}

.gc-post-card-body {
	padding: 14px 16px;
}

.gc-post-card-title {
	font-size: 1.625em;
	margin: 0 0 8px;
	font-weight: 700;
}

.gc-post-card-title a {
	color: var(--gc-link, #111827);
	text-decoration: none;
}

.gc-post-card-title a:hover {
	color: var(--gc-link, #111827);
	text-decoration: none;
	outline: none;
}

.gc-post-card-title a:focus {
	color: var(--gc-link, #111827);
	text-decoration: none;
}

.gc-post-excerpt {
	font-size: 0.875em;
	color: #E0E0E0;
	margin: 0 0 10px;
}

.gc-read-more {
	display: inline-block;
	margin-top: 6px;
	padding: 10px 20px;
	font-size: 0.875em;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0.02em;
	text-decoration: none;
	color: #111;
	background: var(--gc-accent, var(--Geekz Club-accent));
	border-radius: 999px;
	border: 1px solid rgba(0, 0, 0, 0.2);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
	transition: filter 0.2s ease, box-shadow 0.2s ease;
}

.gc-read-more:hover,
.gc-read-more:focus {
	color: #111;
	filter: brightness(1.08);
	text-decoration: none;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.22);
}

.gc-read-more:focus-visible {
	outline: 2px solid var(--gc-accent, var(--Geekz Club-accent));
	outline-offset: 3px;
}

/* ========== Archives catégorie — listing type jeuxvideo.com / toutes-les-news ========== */
.gc-jv-news.gc-posts-section {
	box-shadow: none;
	margin-bottom: 32px;
	padding: 0;
}

.gc-jv-news-head {
	margin: 0 0 4px;
	padding: 0 0 18px;
	border-bottom: 1px solid #d9d9d9;
}

.gc-jv-news-head.gc-neon-box {
	margin: 0 0 1.25rem;
}

.gc-jv-news-title {
	font-size: clamp(1.5rem, 2.8vw, 2rem);
	font-weight: 700;
	margin: 0 0 10px;
	padding: 0;
	color: #1a1a1a;
	line-height: 1.15;
	letter-spacing: -0.02em;
}

.gc-cat-archive .gc-jv-news-head .gc-jv-news-title {
	color: #7df9ff;
	text-shadow: 0 0 12px rgba(125, 249, 255, 0.35);
}

.gc-jv-news-desc {
	margin: 0 0 14px;
	font-size: 0.9375em;
	line-height: 1.5;
}

.gc-cat-archive .gc-jv-news-head .gc-jv-news-desc {
	color: rgba(230, 245, 255, 0.88);
	line-height: 1.55;
	margin-bottom: 1rem;
}

.gc-cat-archive .gc-jv-news-head .gc-jv-news-desc p {
	margin: 0 0 0.65em;
}

.gc-cat-archive .gc-jv-news-head .gc-jv-news-desc p:last-child {
	margin-bottom: 0;
}

.gc-cat-archive .gc-jv-news-head .gc-jv-news-desc a {
	color: #7df9ff;
	text-decoration: none;
	border-bottom: 1px solid rgba(125, 249, 255, 0.35);
	transition: color 0.2s ease, border-color 0.2s ease, text-shadow 0.2s ease;
}

.gc-cat-archive .gc-jv-news-head .gc-jv-news-desc a:hover,
.gc-cat-archive .gc-jv-news-head .gc-jv-news-desc a:focus {
	color: #fff;
	text-shadow: 0 0 10px rgba(125, 249, 255, 0.4);
	border-bottom-color: rgba(125, 249, 255, 0.6);
}

.gc-cat-archive .gc-jv-news-head .gc-breadcrumbs {
	opacity: 1;
}

.gc-cat-archive .gc-jv-news-head .gc-breadcrumbs,
.gc-cat-archive .gc-jv-news-head .gc-breadcrumbs a {
	color: #7df9ff;
}

.gc-cat-archive .gc-jv-news-head .gc-breadcrumbs a:hover,
.gc-cat-archive .gc-jv-news-head .gc-breadcrumbs a:focus {
	color: #fff;
}

.gc-jv-news-results {
	margin: 0;
	font-size: 0.9375em;
	line-height: 1.3;
	color: #333;
}

.gc-cat-archive .gc-jv-news-head .gc-jv-news-results {
	color: rgba(230, 245, 255, 0.78);
}

.gc-jv-news-results-num {
	font-weight: 800;
	font-size: 1.05em;
	letter-spacing: 0.02em;
}

.gc-cat-archive .gc-jv-news-head .gc-jv-news-results-num {
	color: #7df9ff;
	text-shadow: 0 0 8px rgba(125, 249, 255, 0.25);
}

.gc-jv-news-results-label {
	font-weight: 400;
	margin-left: 0.35em;
	color: #666;
}

.gc-cat-archive .gc-jv-news-head .gc-jv-news-results-label {
	color: rgba(200, 230, 255, 0.65);
}

/* Liste : reprend le gabarit .gc-post-card — sur les listes (.gc-listing), rangée image + texte (pas seulement 800px en colonne) */
.gc-jv-news .gc-cat-post-list {
	gap: 22px;
}

.gc-listing .gc-post-card {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	max-width: none;
	width: 100%;
	min-height: 0;
}

.gc-listing .gc-post-card-thumb {
	flex: 0 0 300px;
	width: 300px;
	max-width: 300px;
	height: auto;
	align-self: flex-start;
	overflow: hidden;
}

.gc-listing .gc-post-card-thumb-link {
	display: block;
	width: 300px;
}

.gc-listing .gc-post-card-thumb img {
	width: 300px;
	height: auto;
	max-width: 300px;
	display: block;
	object-fit: contain;
}

.gc-listing .gc-post-card-body {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* Bouton « Lire l’article » : largeur fixe (~250px), évite l’étirement en flex column */
.gc-listing .gc-read-more {
	width: 15.625rem; /* 250px ÷ 16 */
	max-width: 100%;
	box-sizing: border-box;
	align-self: flex-start;
	text-align: center;
}

@media (max-width: 640px) {
	.gc-listing .gc-post-card {
		flex-direction: column;
	}

	.gc-listing .gc-post-card-thumb {
		flex: none;
		width: 300px;
		max-width: 300px;
		height: auto;
		margin-inline: auto;
	}

	.gc-listing .gc-post-card-thumb-link {
		width: 100%;
	}

	.gc-listing .gc-post-card-thumb img {
		width: 100%;
		max-width: 300px;
		height: auto;
	}
}

.gc-jv-news .gc-pagination {
	margin-top: 28px;
	padding-top: 12px;
	border-top: 1px solid #e8e8e8;
}

/* ========== Single article ========== */
.gc-single {
	background: var(--gc-card-bg, #1E1E1E);
	border-radius: var(--gc-radius, 4px);
	border: var(--gc-border-width, 1px) var(--gc-border-style, solid) var(--gc-border-color, #e5e7eb);
	padding: 18px 20px;
	box-shadow: var(--gc-glow, none);
	color: var(--gc-body-text, #e0e0e0);
	backdrop-filter: blur(16px) saturate(180%);
	-webkit-backdrop-filter: blur(16px) saturate(180%);
}

.gc-single > .gc-content-hero {
	margin: -18px -20px 16px;
	border-radius: var(--gc-radius, 4px) var(--gc-radius, 4px) 0 0;
}

.gc-single-header {
	margin-bottom: 16px;
}

.gc-single-title {
	font-size: 1.625em;
	margin: 4px 0 8px;
	color: #212121;
}

.gc-content-hero {
	position: relative;
	min-height: 320px;
	margin-bottom: 16px;
	border-radius: var(--gc-radius, 4px);
	border: var(--gc-border-width, 1px) var(--gc-border-style, solid) var(--gc-border-color, #e5e7eb);
	box-shadow: var(--gc-glow, 0 3px 12px -1px rgba(7,10,25,.2));
	overflow: hidden;
	background-color: #111827;
	background-size: cover;
	background-position: center;
}

.gc-content-hero--has-thumb {
	background-image: none;
}

.gc-content-hero-media,
.gc-content-hero-media .gc-picture {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.gc-content-hero-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.gc-content-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(to bottom, rgba(0, 0, 0, 0.8), transparent 45%),
		linear-gradient(to top, rgba(0, 0, 0, 0.55), transparent 45%);
	z-index: 1;
	pointer-events: none;
}

.gc-content-hero-top {
	position: absolute;
	top: 20px;
	left: 20px;
	right: 20px;
	z-index: 2;
}

.gc-content-hero-top .gc-single-title {
	color: #00CFB4;
	margin: 0 0 8px;
text-shadow: 
    -1px -1px 0 #004D44,  
     1px -1px 0 #004D44,
    -1px  1px 0 #004D44,
     1px  1px 0 #004D44,
     3px 3px 0px rgba(0,0,0,0.2); /* Petite ombre portée pour la profondeur */
}

.gc-content-hero-meta {
	position: absolute;
	right: 20px;
	bottom: 20px;
	z-index: 2;
}

.gc-content-hero-tags {
	position: absolute;
	left: 20px;
	bottom: 16px;
	z-index: 2;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	gap: 6px;
	max-width: calc(100% - 15rem);
	margin: 0;
	overflow: hidden;
}

.gc-content-hero-tags .gc-badge-category {
	position: static;
	top: auto;
	left: auto;
	margin: 0;
	flex: 0 0 auto;
	white-space: nowrap;
}

.gc-single-thumb {
	margin-bottom: 16px;
	border-radius: var(--gc-radius, 4px);
	border: var(--gc-border-width, 1px) var(--gc-border-style, solid) var(--gc-border-color, #e5e7eb);
	box-shadow: var(--gc-glow, 0 3px 12px -1px rgba(7,10,25,.2), 0 22px 27px -20px rgba(7,10,25,.2));
}

.gc-single-content {
	font-size: 1em;
	color: var(--gc-body-text, #e0e0e0);
	font-family: var(--gc-content-font, var(--bodyFont));
	line-height: 1.8;
}

.gc-single-content p {
	margin: 0 0 1em;
	color: var(--gc-body-text, #e0e0e0);
	font-family: var(--gc-content-font, var(--bodyFont));
	line-height: 1.85;
}

.gc-single-content h2,
.gc-single-content h3,
.gc-single-content h4,
.gc-single-content h5,
.gc-single-content h6 {
	color: var(--gc-heading-color, #7df9ff);
	font-family: var(--gc-content-font, var(--bodyFont));
}

/* Panneau néon (box auteur, description de catégorie, etc.) */
.gc-neon-box,
.gc-author-box {
	padding: 1.15rem 1.25rem;
	background: rgba(10, 14, 22, 0.88);
	border: var(--gc-border-width, 1px) var(--gc-border-style, solid) var(--gc-border-color, rgba(125, 249, 255, 0.35));
	border-radius: var(--gc-radius, 12px);
	box-shadow: var(--gc-glow, 0 0 0 1px rgba(0, 212, 255, 0.08), 0 0 28px rgba(0, 212, 255, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.04));
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.gc-author-box {
	margin-top: 1.75rem;
}

.gc-author-box__eyebrow {
	margin: 0 0 0.5rem;
	font-family: var(--headFont);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #7df9ff;
	text-shadow: 0 0 10px rgba(125, 249, 255, 0.4);
}

.gc-author-box__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 1rem 1.25rem;
}

.gc-author-box__avatar {
	flex-shrink: 0;
}

.gc-author-box__avatar-img {
	display: block;
	width: 112px;
	height: auto;
	border-radius: 50%;
	border: 2px solid rgba(125, 249, 255, 0.45);
	box-shadow:
		0 0 18px rgba(0, 212, 255, 0.22),
		inset 0 0 0 1px rgba(255, 255, 255, 0.06);
}

.gc-author-box__body {
	flex: 1 1 200px;
	min-width: 0;
}

.gc-author-box__name {
	margin: 0 0 0.35rem;
	font-family: var(--headFont), sans-serif;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.04em;
}

.gc-author-box__name a {
	color: #7df9ff;
	text-decoration: none;
	text-shadow: 0 0 12px rgba(125, 249, 255, 0.35);
	transition: color 0.2s ease, text-shadow 0.2s ease;
}

.gc-author-box__name a:hover,
.gc-author-box__name a:focus {
	color: #fff;
	text-shadow: 0 0 16px rgba(125, 249, 255, 0.55);
	text-decoration: none;
}

.gc-author-box__website {
	margin: 0 0 0.5rem;
	font-size: 0.875em;
}

.gc-author-box__website a {
	color: rgba(125, 249, 255, 0.85);
	text-decoration: none;
	border-bottom: 1px solid rgba(125, 249, 255, 0.35);
	transition: color 0.2s ease, border-color 0.2s ease;
}

.gc-author-box__website a:hover,
.gc-author-box__website a:focus {
	color: #7df9ff;
	border-bottom-color: rgba(125, 249, 255, 0.65);
}

.gc-author-box__bio {
	margin: 0 0 0.75rem;
	font-size: 0.9375em;
	line-height: 1.55;
	color: rgba(230, 245, 255, 0.88);
}

.gc-author-box__bio p {
	margin: 0 0 0.65em;
}

.gc-author-box__bio p:last-child {
	margin-bottom: 0;
}

.gc-author-box__more {
	margin: 0;
	font-size: 0.875em;
	font-weight: 600;
}

.gc-author-box__more a {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	color: #7df9ff;
	text-decoration: none;
	padding: 0.35rem 0.75rem;
	border: 1px solid rgba(125, 249, 255, 0.4);
	border-radius: 8px;
	background: rgba(0, 212, 255, 0.08);
	box-shadow: 0 0 14px rgba(0, 212, 255, 0.08);
	transition: color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.gc-author-box__more a:hover,
.gc-author-box__more a:focus {
	color: #fff;
	border-color: rgba(125, 249, 255, 0.65);
	background: rgba(0, 212, 255, 0.14);
	box-shadow: 0 0 20px rgba(0, 212, 255, 0.2);
	text-decoration: none;
}

@media (max-width: 480px) {
	.gc-author-box__inner {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.gc-author-box__body {
		text-align: center;
	}
}

.gc-single-footer {
	margin-top: 20px;
	border-top: 1px solid #e5e7eb;
	padding-top: 12px;
}

.gc-single-tags .gc-badge-category {
	margin-right: 4px;
	margin-bottom: 4px;
}

.gc-breadcrumbs {
	margin: 0 0 10px;
	font-size: 0.75em;
	line-height: 1.5;
	opacity: 1;
	color: #7df9ff;
}

.gc-breadcrumbs a {
	text-decoration: none;
	color: #7df9ff;
}

.gc-breadcrumbs a:hover,
.gc-breadcrumbs a:focus {
	text-decoration: underline;
	color: #a8fbff;
}

/* Fil d’Ariane Rank Math (pages avec plugin) */
.gc-breadcrumbs .rank-math-breadcrumb,
.gc-breadcrumbs .rank-math-breadcrumb a {
	color: #7df9ff;
}

.gc-breadcrumbs .rank-math-breadcrumb a:hover,
.gc-breadcrumbs .rank-math-breadcrumb a:focus {
	color: #a8fbff;
	text-decoration: underline;
}

.gc-breadcrumbs--top {
	margin: 10px 0 0;
}

/*
 * Espace obligatoire sous le fil d’Ariane global (header) : au moins 1rem avant .gc-layout.
 * :has() évite une bande vide lorsque aucun fil n’est affiché (ex. accueil sans assez d’items).
 */
.gc-main > .gc-main-breadcrumbs:has(.gc-breadcrumbs) {
	padding-bottom: 1rem;
}

/* Fil d’Ariane (pages, ex. Rank Math) au-dessus du titre : au moins 1rem avant le H1 */
.gc-single-header .gc-breadcrumbs {
	margin-block-end: 1rem;
}

.gc-breadcrumbs--top ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 0.35em;
}

.gc-breadcrumbs--top li {
	display: flex;
	align-items: center;
	gap: 0.35em;
}

.gc-breadcrumbs--top li:not(:last-child)::after {
	content: ">";
	opacity: 0.75;
	color: rgba(125, 249, 255, 0.65);
}

.gc-breadcrumbs-sep {
	opacity: 0.75;
	color: rgba(125, 249, 255, 0.65);
}

/* ========== Widget Twitch ========== */
.widget_twitch .twitch-widget-embed,
.widget_twitch .twitch-widget-offline {
	max-width: 100%;
	overflow: hidden;
	border-radius: 4px;
}
.widget_twitch .twitch-widget-embed iframe,
.widget_twitch .twitch-widget-offline img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	border: 0;
}
.widget_twitch .twitch-widget-link,
.widget_twitch .twitch-widget-offline-label,
.widget_twitch .twitch-widget-no-config {
	margin: 8px 0 0;
	font-size: 0.8125em;
}
.widget_twitch .twitch-widget-offline-label {
	opacity: 0.8;
}

/* ========== Sidebar (équivalent .gc-sidebar .gc-widget) ========== */
.sidebar-area .widget {
	background: var(--gc-sidebar-bg, #1E1E1E);
	border-radius: 4px;
	border: 1px solid var(--gc-sidebar-border, #e5e7eb);
	padding: 14px 16px;
	margin-bottom: 16px;
	backdrop-filter: blur(16px) saturate(180%);
	-webkit-backdrop-filter: blur(16px) saturate(180%);
	opacity: 0.8;

}

.sidebar-area .widget,
.sidebar-area .widget p,
.sidebar-area .widget li {
	color: var(--gc-sidebar-text, #e0e0e0);
}

.sidebar-area .widget a {
	color: var(--gc-sidebar-link, var(--gc-link, #e53935));
}

.sidebar-area .widget a:hover,
.sidebar-area .widget a:focus {
	color: var(--gc-sidebar-link-hover, var(--gc-accent, #f97316));
}

.sidebar-area .widget-title {
	font-size: 1.25em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	margin: 0 0 12px;
	color: var(--gc-sidebar-title, var(--gc-accent, #7C4DFF));
}

/* ========== Widget étiquettes / nuage de tags (| entre tags, néon par tag) ==========
 *
 * Ces couleurs sont volontairement spécifiques au nuage de tags : elles ne
 * suivent pas « Liens des widgets ». Le reste des liens de la sidebar suit
 * --gc-sidebar-link / --gc-sidebar-link-hover.
 */
.sidebar-area .widget_tag_cloud .tagcloud,
.footer-widgets .widget_tag_cloud .tagcloud,
.sidebar-area .widget .wp-block-tag-cloud,
.footer-widgets .widget .wp-block-tag-cloud {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	row-gap: 6px;
	column-gap: 0;
}

.sidebar-area .widget_tag_cloud .tagcloud a,
.footer-widgets .widget_tag_cloud .tagcloud a,
.sidebar-area .widget .wp-block-tag-cloud a,
.footer-widgets .widget .wp-block-tag-cloud a {
	display: inline-block;
	text-decoration: none;
	background: transparent !important;
	border: none !important;
	padding: 0 1px;
	transition: filter 0.2s ease, text-shadow 0.2s ease;
}

.sidebar-area .widget_tag_cloud .tagcloud a + a::before,
.footer-widgets .widget_tag_cloud .tagcloud a + a::before,
.sidebar-area .widget .wp-block-tag-cloud a + a::before,
.footer-widgets .widget .wp-block-tag-cloud a + a::before {
	content: '|';
	display: inline-block;
	margin-right: 0.5em;
	margin-left: 0.15em;
	color: rgba(148, 163, 184, 0.85);
	text-shadow:
		0 0 4px rgba(148, 163, 184, 0.65),
		0 0 10px rgba(125, 249, 255, 0.35);
	font-weight: 400;
	pointer-events: none;
}

/* Couleurs néon distinctes (cycle sur 6 tags) — pas de font-size ajoutée */
.sidebar-area .widget_tag_cloud .tagcloud a:nth-child(6n + 1),
.footer-widgets .widget_tag_cloud .tagcloud a:nth-child(6n + 1),
.sidebar-area .widget .wp-block-tag-cloud a:nth-child(6n + 1),
.footer-widgets .widget .wp-block-tag-cloud a:nth-child(6n + 1) {
	color: #7df9ff;
	text-shadow:
		0 0 2px #00d4ff,
		0 0 6px #00d4ff,
		0 0 10px #00b8ff;
}

.sidebar-area .widget_tag_cloud .tagcloud a:nth-child(6n + 2),
.footer-widgets .widget_tag_cloud .tagcloud a:nth-child(6n + 2),
.sidebar-area .widget .wp-block-tag-cloud a:nth-child(6n + 2),
.footer-widgets .widget .wp-block-tag-cloud a:nth-child(6n + 2) {
	color: #ff6ec7;
	text-shadow:
		0 0 2px #ff2d9b,
		0 0 6px #ff2d9b,
		0 0 10px #c71585;
}

.sidebar-area .widget_tag_cloud .tagcloud a:nth-child(6n + 3),
.footer-widgets .widget_tag_cloud .tagcloud a:nth-child(6n + 3),
.sidebar-area .widget .wp-block-tag-cloud a:nth-child(6n + 3),
.footer-widgets .widget .wp-block-tag-cloud a:nth-child(6n + 3) {
	color: #b8ff57;
	text-shadow:
		0 0 2px #7fff00,
		0 0 6px #6fdc00,
		0 0 10px #4caf00;
}

.sidebar-area .widget_tag_cloud .tagcloud a:nth-child(6n + 4),
.footer-widgets .widget_tag_cloud .tagcloud a:nth-child(6n + 4),
.sidebar-area .widget .wp-block-tag-cloud a:nth-child(6n + 4),
.footer-widgets .widget .wp-block-tag-cloud a:nth-child(6n + 4) {
	color: #ffd54f;
	text-shadow:
		0 0 2px #ffc107,
		0 0 6px #ffb300,
		0 0 10px #ff8f00;
}

.sidebar-area .widget_tag_cloud .tagcloud a:nth-child(6n + 5),
.footer-widgets .widget_tag_cloud .tagcloud a:nth-child(6n + 5),
.sidebar-area .widget .wp-block-tag-cloud a:nth-child(6n + 5),
.footer-widgets .widget .wp-block-tag-cloud a:nth-child(6n + 5) {
	color: #c4a7ff;
	text-shadow:
		0 0 2px #9d7aff,
		0 0 6px #7c4dff,
		0 0 10px #651fff;
}

.sidebar-area .widget_tag_cloud .tagcloud a:nth-child(6n + 6),
.footer-widgets .widget_tag_cloud .tagcloud a:nth-child(6n + 6),
.sidebar-area .widget .wp-block-tag-cloud a:nth-child(6n + 6),
.footer-widgets .widget .wp-block-tag-cloud a:nth-child(6n + 6) {
	color: #62ffd4;
	text-shadow:
		0 0 2px #00e5b8,
		0 0 6px #00cfb4,
		0 0 10px #009688;
}

.sidebar-area .widget_tag_cloud .tagcloud a:hover,
.sidebar-area .widget_tag_cloud .tagcloud a:focus,
.footer-widgets .widget_tag_cloud .tagcloud a:hover,
.footer-widgets .widget_tag_cloud .tagcloud a:focus,
.sidebar-area .widget .wp-block-tag-cloud a:hover,
.sidebar-area .widget .wp-block-tag-cloud a:focus,
.footer-widgets .widget .wp-block-tag-cloud a:hover,
.footer-widgets .widget .wp-block-tag-cloud a:focus {
	filter: brightness(1.12);
	text-decoration: none;
}

.gc-listing-header {
	margin-bottom: 16px;
}

.gc-listing-desc {
	margin: 8px 0 0;
	font-size: 0.9375em;
	line-height: 1.5;
}

.gc-listing-count {
	margin: 6px 0 0;
	font-size: 0.875em;
	opacity: 0.85;
}
.gc-pagination {
	margin-top: 24px;
	text-align: center;
}

.gc-pagination ul.page-numbers,
.gc-pagination .nav-links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 4px;
}

.gc-pagination ul.page-numbers li {
	display: inline-block;
}

.gc-pagination ul.page-numbers li a,
.gc-pagination ul.page-numbers li span,
.gc-pagination .nav-links a,
.gc-pagination .nav-links span {
	display: inline-block;
	min-width: 32px;
	padding: 6px 10px;
	border-radius: 4px;
	border: 1px solid #d1d5db;
	font-size: 0.8125em;
	color: var(--gc-link, #374151);
}

.gc-pagination ul.page-numbers li .current,
.gc-pagination ul.page-numbers li a:hover,
.gc-pagination .nav-links .current,
.gc-pagination .nav-links a:hover {
	background: var(--gc-accent, var(--Geekz Club-accent));
	border-color: var(--gc-accent, var(--Geekz Club-accent));
	color: #111;
}

/* ========== Footer ========== */
.site-footer {
	background: #111827;
	color: var(--gc-header-text, #e5e7eb);
	padding: 24px 0;
	font-size: 0.8125em;
}

.site-footer a {
	color: var(--gc-link, var(--gc-header-text, #e5e7eb));
	text-decoration: none;
}

.site-footer a:hover {
	color: var(--gc-accent, var(--Geekz Club-accent));
}

.site-footer-inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px;
	align-items: center;
}

/* ========== Réactivité (breakpoints Geekz Club) ========== */
@media (min-width: 767px) {
	.gc-featured-grid {
		grid-template-columns: minmax(0, 2fr) minmax(0, 1.4fr);
	}
}

@media (max-width: 991.98px) {
	.gc-layout {
		grid-template-columns: 1fr;
	}

	.gc-post-card {
		grid-template-columns: 1fr;
	}

	.gc-featured-grid {
		grid-template-columns: 1fr;
	}

	.gc-main-nav-inner {
		justify-content: space-between;
	}

	.gc-featured-main {
		min-height: 395px;
		margin-bottom: 50px;
	}
}

@media (max-width: 767px) {
	.gc-header-inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.gc-main-nav .menu > li > a {
		padding: 10px 12px;
		font-size: 0.8125em;
		border-bottom: 1px solid rgba(225,225,225,0.4);
	}

	.gc-featured-main {
		min-height: 300px;
		margin-bottom: 20px;
	}

	.site-title {
		font-size: 2em;
	}
}

@media (max-width: 576px) {
	.gc-main-nav-inner {
		justify-content: flex-start;
		flex-wrap: wrap;
	}

	.gc-main-nav .gc-header-search {
		margin-left: 0;
		flex: 1 1 100%;
		max-width: 100%;
	}

	.gc-main-nav .gc-header-search input[type="search"] {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.content-area {
		margin-bottom: 30px;
	}
}

/* ========== Easy Table of Contents — harmonie style néon ========== */
#ez-toc-container,
.ez-toc-widget-container,
div[id^="ez-toc-container"] {
	background: rgba(10, 14, 22, 0.88) !important;
	border: 1px solid rgba(125, 249, 255, 0.35) !important;
	border-radius: 12px !important;
	box-shadow:
		0 0 0 1px rgba(0, 212, 255, 0.08),
		0 0 28px rgba(0, 212, 255, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	padding: 1rem 1.15rem !important;
	margin: 1.5rem 0 !important;
}

#ez-toc-container .ez-toc-title-container,
.ez-toc-widget-container .ez-toc-title-container {
	border-bottom: 1px solid rgba(125, 249, 255, 0.2) !important;
	padding-bottom: 0.65rem !important;
	margin-bottom: 0.75rem !important;
}

#ez-toc-container .ez-toc-title,
.ez-toc-widget-container .ez-toc-title {
	color: #7df9ff !important;
	font-family: "Orbitron", "Exo 2", sans-serif !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	text-shadow: 0 0 12px rgba(125, 249, 255, 0.45) !important;
	margin: 0 !important;
	background: transparent !important;
	border: none !important;
}

#ez-toc-container .ez-toc-title-toggle,
.ez-toc-widget-container .ez-toc-title-toggle {
	color: #7df9ff !important;
	opacity: 0.85;
}

#ez-toc-container .ez-toc-title-toggle a,
.ez-toc-widget-container .ez-toc-title-toggle a,
#ez-toc-container .ez-toc-toggle,
.ez-toc-widget-container .ez-toc-toggle {
	color: #7df9ff !important;
	text-decoration: none !important;
	border: 1px solid rgba(125, 249, 255, 0.35) !important;
	border-radius: 6px !important;
	padding: 0.2rem 0.5rem !important;
	background: rgba(0, 212, 255, 0.08) !important;
	transition: color 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

#ez-toc-container .ez-toc-title-toggle a:hover,
#ez-toc-container .ez-toc-title-toggle a:focus,
.ez-toc-widget-container .ez-toc-title-toggle a:hover,
.ez-toc-widget-container .ez-toc-title-toggle a:focus,
#ez-toc-container .ez-toc-toggle:hover,
#ez-toc-container .ez-toc-toggle:focus {
	color: #fff !important;
	border-color: rgba(125, 249, 255, 0.6) !important;
	box-shadow: 0 0 14px rgba(0, 212, 255, 0.25);
}

#ez-toc-container .ez-toc-list,
.ez-toc-widget-container .ez-toc-list {
	border: none !important;
	background: transparent !important;
}

#ez-toc-container .ez-toc-list li,
.ez-toc-widget-container .ez-toc-list li {
	border: none !important;
}

#ez-toc-container .ez-toc-list a,
.ez-toc-widget-container .ez-toc-list a,
#ez-toc-container .ez-toc-link,
.ez-toc-widget-container .ez-toc-link {
	color: rgba(230, 245, 255, 0.92) !important;
	text-decoration: none !important;
	border-bottom: 1px solid transparent !important;
	transition: color 0.2s ease, text-shadow 0.2s ease, border-color 0.2s ease;
}

#ez-toc-container .ez-toc-list a:hover,
#ez-toc-container .ez-toc-list a:focus,
.ez-toc-widget-container .ez-toc-list a:hover,
.ez-toc-widget-container .ez-toc-list a:focus {
	color: #7df9ff !important;
	text-shadow: 0 0 10px rgba(125, 249, 255, 0.4);
	border-bottom-color: rgba(125, 249, 255, 0.35) !important;
}

#ez-toc-container .ez-toc-list .active > a,
#ez-toc-container .ez-toc-list a.active,
.ez-toc-widget-container .ez-toc-list .active > a,
.ez-toc-widget-container .ez-toc-list a.active {
	color: #7df9ff !important;
	font-weight: 600 !important;
	text-shadow: 0 0 12px rgba(125, 249, 255, 0.5);
}

#ez-toc-container .ez-toc-list .ez-toc-heading-level-2,
.ez-toc-widget-container .ez-toc-list .ez-toc-heading-level-2 {
	padding-left: 0;
}

#ez-toc-container .ez-toc-list .ez-toc-heading-level-3,
.ez-toc-widget-container .ez-toc-list .ez-toc-heading-level-3 {
	padding-left: 0.75rem;
	opacity: 0.95;
}

#ez-toc-container .ez-toc-list .ez-toc-heading-level-4,
.ez-toc-widget-container .ez-toc-list .ez-toc-heading-level-4 {
	padding-left: 1.25rem;
	opacity: 0.9;
}

#ez-toc-container.counter-decimal .ez-toc-list li::before,
#ez-toc-container.counter-numeric .ez-toc-list li::before,
#ez-toc-container.counter-romanupper .ez-toc-list li::before,
#ez-toc-container.counter-romanlower .ez-toc-list li::before,
.ez-toc-widget-container.counter-decimal .ez-toc-list li::before {
	color: rgba(125, 249, 255, 0.75) !important;
}

#ez-toc-container .ez-toc-cssicon,
.ez-toc-widget-container .ez-toc-cssicon {
	border-color: rgba(125, 249, 255, 0.5) !important;
}
/* ==========================================================================
   CORRECTIFS DESIGN CARTES & BOUTONS (.gc-*)
   ========================================================================== */

/* Bouton « Lire l'article » */
.gc-read-more {
    display: inline-block;
    align-self: flex-start;
    margin-top: auto;
    padding: 8px 18px;
    background-color: transparent;
    color: var(--gc-accent, #ff001b) !important;
    border: 1px solid var(--gc-accent, #ff001b);
    border-radius: 4px;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none !important;
    transition: all 0.2s ease-in-out;
}

.gc-read-more:hover,
.gc-read-more:focus {
    background-color: var(--gc-accent, #ff001b);
    color: #ffffff !important;
    border-color: var(--gc-accent, #ff001b);
    text-decoration: none !important;
}

/* Badges : le positionnement absolu reste réservé aux vignettes (règles plus spécifiques). */
.gc-badge-category {
    display: inline-block;
    position: static;
    z-index: 2;
    padding: 4px 10px;
    background-color: var(--gc-accent, #ff001b);
    color: #ffffff !important;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 3px;
    text-decoration: none !important;
    line-height: 1.2;
}

.gc-badge-category:hover {
    background-color: #d60017;
    color: #ffffff !important;
}

/* Métadonnées (Date et auteur) incrustées en bas de l'image */
.gc-post-card-thumb {
    position: relative;
    overflow: hidden;
}

.gc-post-card-meta-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    padding: 18px 12px 8px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0) 100%);
    color: #d1d5db;
    font-size: 12px;
    display: flex;
    justify-content: flex-end;
    gap: 6px;
}

.gc-post-card-meta-overlay a {
    color: #ffffff !important;
    text-decoration: none;
}

.gc-post-card-meta-overlay a:hover {
    color: var(--gc-accent, #ff001b) !important;
}

/* ========== Préréglages visuels GKZ ========== */
body[class*="gc-style-preset-"] {
	color: var(--gc-body-text, #E0E0E0);
	font-family: var(--gc-content-font, var(--bodyFont));
}

body[class*="gc-style-preset-"] .site-title {
	font-family: var(--gc-site-title-font, var(--gc-head-font, var(--headFont)));
	color: var(--gc-heading-color, #7C4DFF);
}

body[class*="gc-style-preset-"] .site-description {
	font-family: var(--gc-site-description-font, var(--gc-content-font, var(--bodyFont)));
}

body[class*="gc-style-preset-"] h1:not(.site-title),
body[class*="gc-style-preset-"] h2,
body[class*="gc-style-preset-"] h3,
body[class*="gc-style-preset-"] h4,
body[class*="gc-style-preset-"] h5,
body[class*="gc-style-preset-"] h6,
body[class*="gc-style-preset-"] .gc-featured-item-title,
body[class*="gc-style-preset-"] .gc-featured-main-title,
body[class*="gc-style-preset-"] .gc-post-card-title {
	font-family: var(--gc-content-font, var(--bodyFont));
	color: var(--gc-heading-color, #7C4DFF);
}

body[class*="gc-style-preset-"] .gc-single-content,
body[class*="gc-style-preset-"] .gc-single-content p,
body[class*="gc-style-preset-"] .sidebar-area .widget,
body[class*="gc-style-preset-"] .sidebar-area .widget p,
body[class*="gc-style-preset-"] .sidebar-area .widget li {
	font-family: var(--gc-content-font, var(--bodyFont));
}

body[class*="gc-style-preset-"] .gc-single-content a {
	color: var(--gc-link, #e53935);
}

body[class*="gc-style-preset-"] .gc-single-content a:hover,
body[class*="gc-style-preset-"] .gc-single-content a:focus {
	color: var(--gc-accent, #f97316);
}

body[class*="gc-style-preset-"] .gc-single,
body[class*="gc-style-preset-"] .gc-content-hero,
body[class*="gc-style-preset-"] .gc-single-thumb,
body[class*="gc-style-preset-"] .gc-neon-box,
body[class*="gc-style-preset-"] .gc-author-box {
	border-radius: var(--gc-radius, 4px);
	border-width: var(--gc-border-width, 1px);
	border-style: var(--gc-border-style, solid);
	border-color: var(--gc-border-color, #e5e7eb);
	box-shadow: var(--gc-glow, none);
}

body[class*="gc-style-preset-"] .sidebar-area .widget,
body[class*="gc-style-preset-"] .gc-post-card,
body[class*="gc-style-preset-"] .gc-featured-main,
body[class*="gc-style-preset-"] .gc-featured-item,
body[class*="gc-style-preset-"] .gc-posts-section {
	border-radius: var(--gc-radius, 4px);
	border-color: var(--gc-border-color, var(--gc-sidebar-border, #e5e7eb));
}

body[class*="gc-style-preset-"] .sidebar-area .widget {
	border-width: var(--gc-border-width, 1px);
	border-style: var(--gc-border-style, solid);
	box-shadow: var(--gc-glow, none);
}

body[class*="gc-style-preset-"] .gc-post-card {
	background: var(--gc-card-bg, #1E1E1E);
	border-width: var(--gc-border-width, 1px);
	border-style: var(--gc-border-style, solid);
	border-color: var(--gc-border-color, #e5e7eb);
	box-shadow: var(--gc-glow, none);
}

body[class*="gc-style-preset-"] .gc-featured-main,
body[class*="gc-style-preset-"] .gc-featured-item {
	background-color: var(--gc-card-bg, #1E1E1E);
	box-shadow: var(--gc-glow, none);
}

body[class*="gc-style-preset-"] .gc-featured-item-title,
body[class*="gc-style-preset-"] .gc-featured-main-title,
body[class*="gc-style-preset-"] .gc-post-card-title {
	font-family: var(--gc-content-font, var(--bodyFont));
}

body[class*="gc-style-preset-"] input,
body[class*="gc-style-preset-"] textarea,
body[class*="gc-style-preset-"] select {
	border-radius: var(--gc-radius, 4px);
	border-width: var(--gc-border-width, 1px);
	border-style: var(--gc-border-style, solid);
	border-color: var(--gc-border-color, #d1d5db);
}

body[class*="gc-style-preset-"] .gc-nav-toggle {
	border-radius: var(--gc-radius, 4px);
	border-color: var(--gc-border-color, rgba(255,255,255,.22));
}

body[class*="gc-style-preset-"] .gc-badge-category {
	border-radius: var(--gc-radius, 4px);
}

@media (prefers-reduced-motion: reduce) {
	body[class*="gc-style-preset-"] *,
	body[class*="gc-style-preset-"] *::before,
	body[class*="gc-style-preset-"] *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}



/* ============================================================
 * Header — option « Titre à gauche + slogan dessous, menu à droite »
 * ============================================================ */
.gc-header-layout-brand-left-menu-right {
	align-items: center;
	justify-content: space-between;
	gap: clamp(24px, 4vw, 64px);
	min-height: 86px;
}

.gc-header-layout-brand-left-menu-right .site-branding {
	flex: 1 1 auto;
	min-width: 0;
}

.gc-header-layout-brand-left-menu-right .site-branding-inner {
	align-items: center;
	gap: 16px;
}

.gc-header-layout-brand-left-menu-right .site-text {
	min-width: 0;
}

.gc-header-layout-brand-left-menu-right .site-title {
	margin: 0;
	font-family: var(--gc-site-title-font, var(--headFont));
}

.gc-header-layout-brand-left-menu-right .site-description {
	margin: 3px 0 0;
	font-family: var(--gc-site-description-font, var(--bodyFont));
	color: var(--gc-header-text, #e5e7eb);
}

.gc-main-nav--header-right {
	flex: 0 1 auto;
	min-width: 0;
	margin: 0;
	background: transparent;
}

.gc-main-nav--header-right .gc-main-nav-inner {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: nowrap;
	gap: 8px 14px;
	padding: 0;
}

.gc-main-nav--header-right .menu {
	flex-wrap: nowrap;
	justify-content: flex-end;
}

.gc-main-nav--header-right .menu > li > a {
	padding: 10px 8px;
	white-space: nowrap;
}

.gc-main-nav--header-right .gc-header-search {
	margin-left: 8px;
}

.gc-main-nav--header-right .gc-header-search input[type="search"] {
	width: clamp(120px, 12vw, 190px);
}

/* Desktop : ce mode ne doit pas créer une seconde ligne de navigation. */
@media (min-width: 768px) {
	.gc-header-layout-brand-left-menu-right .site-logo {
		flex: 0 0 auto;
	}

	.gc-header-layout-brand-left-menu-right .site-logo a.custom-logo-link {
		width: clamp(72px, 7vw, 120px);
	}

	.gc-header-layout-brand-left-menu-right .site-logo img {
		width: 100%;
		max-height: 82px;
		object-fit: contain;
	}
}

/* Mobile : branding en haut, actions/menu juste dessous ; le menu existant
 * conserve son comportement accordéon via navigation.js. */
@media (max-width: 767.98px) {
	.gc-header-layout-brand-left-menu-right {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
		padding-top: 12px;
		padding-bottom: 10px;
	}

	.gc-header-layout-brand-left-menu-right .site-branding-inner {
		align-items: center;
	}

	.gc-header-layout-brand-left-menu-right .site-logo a.custom-logo-link {
		width: clamp(64px, 22vw, 92px);
	}

	.gc-header-layout-brand-left-menu-right .site-title {
		font-size: clamp(1.8rem, 8vw, 2.5rem);
		line-height: 1.05;
	}

	.gc-header-layout-brand-left-menu-right .site-description {
		font-size: 0.78rem;
	}

	.gc-main-nav--header-right {
		width: 100%;
	}

	.gc-main-nav--header-right .gc-main-nav-inner {
		width: 100%;
		justify-content: flex-end;
		flex-wrap: wrap;
		gap: 8px;
	}

	.gc-main-nav--header-right .menu {
		width: 100%;
		order: 3;
	}

	.gc-main-nav--header-right .gc-header-search {
		margin-left: auto;
		order: 2;
	}

	.gc-main-nav--header-right .gc-nav-toggle {
		order: 1;
	}

	.gc-main-nav--header-right:not(.is-open) .menu {
		display: none !important;
	}

	.gc-main-nav--header-right.is-open .menu {
		display: flex;
	}
}


/* ========== Typographie locale — couche finale de cohérence ========== */
body[class*="gc-style-preset-"] {
	font-family: var(--gc-content-font, "Roboto Flex", sans-serif);
}

body[class*="gc-style-preset-"] .site-branding .site-title,
body[class*="gc-style-preset-"] .gc-header-layout-brand-left-menu-right .site-title {
	font-family: var(--gc-site-title-font, var(--gc-head-font, "Oswald", sans-serif));
}

body[class*="gc-style-preset-"] .site-branding .site-description,
body[class*="gc-style-preset-"] .gc-header-layout-brand-left-menu-right .site-description {
	font-family: var(--gc-site-description-font, var(--gc-content-font, "Roboto Flex", sans-serif));
}

/* Le choix « Texte général du contenu » pilote les textes éditoriaux
 * et les composants de contenu. Les titres du branding restent indépendants. */
body[class*="gc-style-preset-"] .gc-single-content,
body[class*="gc-style-preset-"] .gc-single-content p,
body[class*="gc-style-preset-"] .gc-single-content li,
body[class*="gc-style-preset-"] .gc-single-content blockquote,
body[class*="gc-style-preset-"] .gc-single-content figcaption,
body[class*="gc-style-preset-"] .content-area,
body[class*="gc-style-preset-"] .content-area p,
body[class*="gc-style-preset-"] .content-area li,
body[class*="gc-style-preset-"] .gc-post-card,
body[class*="gc-style-preset-"] .gc-featured-item,
body[class*="gc-style-preset-"] .gc-featured-main,
body[class*="gc-style-preset-"] .sidebar-area .widget {
    font-family: var(--gc-content-font, var(--bodyFont));
}

/* Exceptions : le branding conserve ses deux réglages dédiés. */
body[class*="gc-style-preset-"] .site-branding .site-title,
body[class*="gc-style-preset-"] .site-branding .site-title *,
body[class*="gc-style-preset-"] .site-branding .site-description {
	font-family: inherit;
}

body[class*="gc-style-preset-"] .site-branding .site-title,
body[class*="gc-style-preset-"] .gc-header-layout-brand-left-menu-right .site-title {
	font-family: var(--gc-site-title-font, var(--gc-head-font, "Oswald", sans-serif));
}

body[class*="gc-style-preset-"] .site-branding .site-description,
body[class*="gc-style-preset-"] .gc-header-layout-brand-left-menu-right .site-description {
	font-family: var(--gc-site-description-font, var(--gc-content-font, "Roboto Flex", sans-serif));
}


/* ========== Recherche du header : icône ou champ ========== */
.gc-header-search {
	position: relative;
	display: flex;
	align-items: center;
	flex: 0 0 auto;
}

.gc-search-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border: var(--gc-border-width, 1px) solid var(--gc-border-color, currentColor);
	border-radius: var(--gc-radius, 6px);
	background: transparent;
	color: var(--gc-header-text, currentColor);
	cursor: pointer;
	transition: color .2s ease, border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.gc-search-toggle:hover,
.gc-search-toggle:focus-visible,
.gc-header-search.is-open .gc-search-toggle {
	color: var(--gc-accent, currentColor);
	border-color: var(--gc-accent, currentColor);
	box-shadow: var(--gc-glow, none);
	outline: none;
}

.gc-search-form-panel {
	display: none;
}

.gc-header-search--field .gc-search-toggle {
	display: none;
}

.gc-header-search--field .gc-search-form-panel {
	display: flex;
}

.gc-header-search--icon.is-open .gc-search-form-panel {
	position: absolute;
	top: calc(100% + .6rem);
	right: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	gap: .35rem;
	min-width: min(20rem, 80vw);
	padding: .5rem;
	border: var(--gc-border-width, 1px) solid var(--gc-border-color, currentColor);
	border-radius: var(--gc-radius, 6px);
	background: var(--gc-card-bg, #111);
	box-shadow: var(--gc-glow, none);
}

.gc-header-search--icon .gc-search-form-panel label {
	flex: 1 1 auto;
}

.gc-header-search--icon .gc-search-form-panel .search-field {
	width: 100%;
}

@media (max-width: 767px) {
	.gc-header-search--icon.is-open .gc-search-form-panel {
		position: fixed;
		top: auto;
		right: 1rem;
		left: 1rem;
		width: auto;
		min-width: 0;
	}
}


/* ========== Article hero : bordure uniquement en partie basse ========== */
/*
 * Le hero utilise volontairement uniquement la bordure inférieure.
 * Ce bloc est placé en fin de feuille afin de passer après les règles
 * génériques des presets qui appliquent une bordure aux composants.
 */
body[class*="gc-style-preset-"] .gc-content-hero,
.gc-single > .gc-content-hero {
	border: 0;
	border-bottom: var(--gc-border-width, 1px) var(--gc-border-style, solid) var(--gc-border-color, #e5e7eb);
	border-radius: 0 0 var(--gc-radius, 4px) var(--gc-radius, 4px);
	box-shadow: var(--gc-glow, none);
}


/* Recherche : icône SVG locale, indépendante de Dashicons */
.gc-search-toggle .gc-search-icon,
.gc-header-search .search-form button .gc-search-icon {
	display: block;
	width: 1.1rem;
	height: 1.1rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	flex: 0 0 auto;
}

.gc-search-toggle .gc-search-icon {
	pointer-events: none;
}


/* Espace entre le menu principal et l'icône de recherche */
.gc-header-search {
	margin-left: clamp(1rem, 2vw, 2rem);
}


/* Espace menu → recherche : surcharge explicite de la règle du header-right. */
@media (min-width: 768px) {
	.gc-main-nav--header-right .gc-header-search {
		margin-left: clamp(1.5rem, 3vw, 3rem);
	}
}

@media (max-width: 767px) {
	.gc-main-nav--header-right .gc-header-search {
		margin-left: auto;
	}
}


/* ==========================================================================
   Geekz Club — Blocs bas de homepage / fondation GCE
   ========================================================================== */

.gc-home-sections {
	margin: 28px 0 34px;
}

.gc-home-section-head {
	margin-bottom: 12px;
}

.gc-home-section-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.gc-home-section-card {
	position: relative;
	min-height: 145px;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	border: var(--gc-border-width, 1px) var(--gc-border-style, solid) var(--gc-border-color, #3f4650);
	border-radius: var(--gc-radius, 4px);
	background: var(--gc-card-bg, #111);
	text-decoration: none;
	isolation: isolate;
	color: var(--gc-body-text, #fff);
}

.gc-home-section-card__media,
.gc-home-section-card__media img,
.gc-home-section-card__overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.gc-home-section-card__media img {
	object-fit: cover;
	transition: transform .35s ease;
}

.gc-home-section-card__overlay {
	z-index: 1;
	background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.86));
}

.gc-home-section-card__content {
	position: relative;
	z-index: 2;
	padding: 14px;
	width: 100%;
	color: #fff;
}

.gc-home-section-card__count {
	display: block;
	color: rgba(255,255,255,.68);
	font-size: .72rem;
}

.gc-home-section-card__title {
	display: block;
	margin-top: 2px;
	font-family: var(--gc-head-font, var(--headFont));
	font-size: 1.25rem;
	font-weight: 700;
}

.gc-home-section-card__link {
	display: block;
	margin-top: 4px;
	color: var(--gc-link, currentColor);
	font-size: .82rem;
	font-weight: 700;
}

.gc-home-section-card:hover .gc-home-section-card__media img,
.gc-home-section-card:focus-visible .gc-home-section-card__media img {
	transform: scale(1.04);
}

.gc-home-section-card:focus-visible {
	outline: 2px solid var(--gc-accent, currentColor);
	outline-offset: 3px;
}

.gc-home-bottom-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin: 0 0 38px;
}

.gc-editorial-box {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 18px;
	border: var(--gc-border-width, 1px) var(--gc-border-style, solid) var(--gc-border-color, #3f4650);
	border-radius: var(--gc-radius, 4px);
	background: var(--gc-card-bg, #111);
	color: var(--gc-body-text, inherit);
}

.gc-editorial-box__avatar,
.gc-editorial-box__icon {
	width: 48px;
	height: 48px;
	flex: 0 0 48px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: color-mix(in srgb, var(--gc-accent, #7df9ff) 20%, transparent);
	color: var(--gc-link, currentColor);
	font-family: var(--gc-head-font, var(--headFont));
	font-size: 1.35rem;
}

.gc-eyebrow {
	display: block;
	margin-bottom: 4px;
	color: var(--gc-link, currentColor);
	font-family: var(--gc-head-font, var(--headFont));
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.gc-editorial-box h2 {
	margin: 0 0 5px;
	font-family: var(--gc-head-font, var(--headFont));
	font-size: 1.2rem;
}

.gc-editorial-box p {
	margin: 0 0 8px;
	color: var(--gc-body-text, inherit);
	opacity: .82;
	font-size: .9rem;
}

.gc-editorial-box a {
	color: var(--gc-link, currentColor);
	font-weight: 700;
}

.gc-button {
	display: inline-flex;
	padding: 8px 12px;
	border: 1px solid transparent;
	border-radius: var(--gc-radius, 4px);
	background: var(--gc-accent, currentColor);
	color: #fff !important;
	text-decoration: none !important;
}

@media (max-width: 991px) {
	.gc-home-section-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.gc-home-section-grid,
	.gc-home-bottom-grid {
		grid-template-columns: 1fr;
	}

	.gc-home-section-card {
		min-height: 130px;
	}
}


/* ========== Précédemment au Geekz Club — archives compactes ========== */
.gc-missed-heading {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 12px;
}

.gc-missed-heading .gc-section-title { margin-bottom: 0; }

.gc-missed-archive-link {
	flex: 0 0 auto;
	color: var(--gc-link, currentColor);
	font-family: var(--gc-head-font, var(--headFont));
	font-size: .78rem;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

.gc-missed-archive-link:hover,
.gc-missed-archive-link:focus-visible {
	color: var(--gc-accent, currentColor);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.gc-post-list.gc-missed-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.gc-missed-grid .gc-post-card--archive {
	height: auto;
	min-height: 0;
}

.gc-missed-grid .gc-post-card--archive .gc-post-card-thumb-link {
	height: auto;
	max-height: none;
	aspect-ratio: 16 / 10;
}

.gc-missed-grid .gc-post-card--archive .gc-post-card-thumb-link .gc-picture,
.gc-missed-grid .gc-post-card--archive .gc-post-card-thumb-link img {
	height: 100%;
	max-height: none;
}

.gc-missed-grid .gc-post-card--archive .gc-post-card-body {
	padding: 12px 14px 12px;
}

.gc-missed-grid .gc-post-card--archive .gc-post-card-title {
	margin: 0 0 7px;
	font-size: clamp(1rem, 1.25vw, 1.25rem);
	line-height: 1.25;
}

.gc-missed-grid .gc-post-card--archive .gc-post-excerpt {
	flex: 0 0 auto;
	margin-bottom: 10px;
}

.gc-missed-grid .gc-post-card--archive .gc-post-excerpt p {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	margin-bottom: 0;
}

.gc-missed-grid .gc-post-card--archive .gc-read-more {
	margin-top: auto;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--gc-link, currentColor) !important;
	font-family: var(--gc-head-font, var(--headFont));
	font-size: .8rem;
	font-weight: 700;
	text-decoration: none !important;
}

.gc-missed-grid .gc-post-card--archive .gc-read-more::after { content: ' →'; }

.gc-missed-grid .gc-post-card--archive .gc-read-more:hover,
.gc-missed-grid .gc-post-card--archive .gc-read-more:focus-visible {
	color: var(--gc-accent, currentColor) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

@media (max-width: 991px) {
	.gc-post-list.gc-missed-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
	.gc-missed-heading { align-items: flex-start; }
	.gc-post-list.gc-missed-grid { grid-template-columns: 1fr; }
	.gc-missed-grid .gc-post-card--archive .gc-post-card-thumb-link { aspect-ratio: 16 / 9; }
}


/* ========== Précédemment : hiérarchie titre / extrait SEO ========== */
.gc-missed-grid .gc-post-card--archive .gc-post-card-title {
	font-size: clamp(.98rem, 1.1vw, 1.12rem);
	line-height: 1.25;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	min-height: 2.5em;
}

.gc-missed-grid .gc-post-card--archive .gc-post-excerpt {
	font-size: .82rem;
	line-height: 1.45;
	min-height: 3.6em;
}

.gc-missed-grid .gc-post-card--archive .gc-post-excerpt p {
	-webkit-line-clamp: 3;
}


/* ========== Bloc de présentation homepage / futur emplacement GCE ========== */
.gc-home-intro {
	margin: 0 0 clamp(22px, 3vw, 34px);
	position: relative;
}

.gc-home-intro__inner {
	position: relative;
	padding: clamp(15px, 2vw, 22px) clamp(16px, 2.2vw, 26px);
	border: var(--gc-border-width, 1px) var(--gc-border-style, solid) var(--gc-border-color, rgba(148, 163, 184, .35));
	border-radius: var(--gc-radius, 8px);
	background: var(--gc-card-bg, rgba(15, 23, 42, .55));
	box-shadow: var(--gc-glow, none);
	overflow: hidden;
}

.gc-home-intro__inner::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 3px;
	background: var(--gc-accent, currentColor);
	box-shadow: 0 0 12px var(--gc-accent, transparent);
	opacity: .9;
}

.gc-home-intro__title {
	margin: 0 0 6px;
	color: var(--gc-heading-color, var(--gc-accent, currentColor));
	font-family: var(--gc-head-font, var(--headFont));
	font-size: clamp(1.05rem, 1.7vw, 1.35rem);
	line-height: 1.2;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.gc-home-intro__text {
	max-width: 78ch;
	color: var(--gc-body-text, inherit);
	font-family: var(--gc-body-font, var(--bodyFont));
	font-size: .9rem;
	line-height: 1.65;
}

.gc-home-intro__text p {
	margin: 0;
}

.gc-home-intro__link {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	margin-top: 9px;
	color: var(--gc-link, currentColor);
	font-family: var(--gc-head-font, var(--headFont));
	font-size: .82rem;
	font-weight: 700;
	text-decoration: none;
}

.gc-home-intro__link:hover,
.gc-home-intro__link:focus-visible {
	color: var(--gc-accent, currentColor);
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 640px) {
	.gc-home-intro {
		margin-bottom: 22px;
	}

	.gc-home-intro__inner {
		padding: 14px 15px 15px 17px;
	}

	.gc-home-intro__text {
		font-size: .86rem;
		line-height: 1.55;
	}
}

/* ==========================================================================
   Contenu éditorial — captions WordPress responsive
   ========================================================================== */

.gc-single-content .wp-caption {
	max-width: 100%;
	box-sizing: border-box;
}

.gc-single-content .wp-caption img {
	max-width: 100%;
	height: auto;
}

/* ==========================================================================
   Séparateurs éditoriaux — suivent le preset visuel actif
   ========================================================================== */

body[class*="gc-style-preset-"] .gc-single-content hr {
	border: 0;
	height: var(--gc-border-width, 1px);
	margin: 2rem 0;
	background: linear-gradient(
		90deg,
		transparent,
		var(--gc-accent, var(--gc-border-color)),
		var(--gc-border-color),
		var(--gc-accent, var(--gc-border-color)),
		transparent
	);
	box-shadow: var(--gc-glow, none);
	opacity: .9;
}

/* ==========================================================================
   Séparateurs éditoriaux — suivent le preset visuel actif
   ========================================================================== */

body[class*="gc-style-preset-"] .gc-single-content hr {
	border: 0;
	height: var(--gc-border-width, 1px);
	margin: 2rem 0;
	background: linear-gradient(
		90deg,
		transparent,
		var(--gc-accent, var(--gc-border-color)),
		var(--gc-border-color),
		var(--gc-accent, var(--gc-border-color)),
		transparent
	);
	box-shadow: var(--gc-glow, none);
	opacity: .9;
}
