/* =========================================================
   Zicoss Backstage — habillage de zicoss.com (enfant d'Extra)
   ========================================================= */

:root {
	--zb-bg: #0F0F12;
	--zb-deep: #08080A;
	--zb-surface: #17171C;
	--zb-surface-2: #202028;
	--zb-line: #2B2B35;
	--zb-text: #ECECF1;
	--zb-muted: #9A9AA3;
	--zb-acid: #F7632B;
	--zb-pink: #F01E6A;
	--zb-cyan: #3AD7FF;
	--zb-display: 'Anton', 'Impact', 'Haettenschweiler', 'Arial Narrow Bold', sans-serif;
	--zb-body: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}

/* ---------- Base ---------- */

html, body, #page-container, #main-content, .et_extra_layout #main-content,
body.et_extra #main-content .container {
	background-color: var(--zb-bg) !important;
}
body, body.et_extra, input, textarea, select, button,
.post-content, .entry-summary, .excerpt, p, li {
	font-family: var(--zb-body) !important;
}
body, .post-content, .excerpt, .entry-summary, p, li, td, th, label {
	color: var(--zb-text);
}
body { -webkit-font-smoothing: antialiased; }

h1:not([style*="color"]), h2:not([style*="color"]), h3:not([style*="color"]),
h4:not([style*="color"]), h5:not([style*="color"]), h6:not([style*="color"]) {
	color: var(--zb-text) !important;
}
h1, h2, h3, h4, h5, h6 {
	font-family: var(--zb-display) !important;
	font-weight: 400 !important;
	letter-spacing: .01em;
	line-height: 1.12;
}

a { color: var(--zb-acid); transition: color .15s ease; }
a:hover { color: var(--zb-pink); }
.post-content a, .entry-content a {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

::selection { background: var(--zb-acid); color: var(--zb-bg); }

hr { border-color: var(--zb-line); }

/* ---------- Barre du haut (tendances + réseaux + recherche) ---------- */

#top-header {
	background: var(--zb-deep) !important;
	border-bottom: 1px solid var(--zb-line);
}
#et-trending-label {
	font-family: var(--zb-display) !important;
	color: var(--zb-acid) !important;
	text-transform: uppercase;
	letter-spacing: .06em;
	font-size: 14px !important;
}
#et-trending-button span { background: var(--zb-acid) !important; }
#et-trending-container a, .et-trending-post a { color: var(--zb-text) !important; }
#et-trending-container a:hover { color: var(--zb-acid) !important; }

#et-info .et-extra-social-icon a { color: var(--zb-muted) !important; }
#et-info .et-extra-social-icon a:hover { color: var(--zb-acid) !important; background: transparent !important; }

.et-top-search .et-search-field,
#top-header .et-search-field {
	background: var(--zb-surface-2) !important;
	color: var(--zb-text) !important;
	border: 1px solid var(--zb-line) !important;
	border-radius: 0 !important;
}
.et-top-search .et-search-submit:before { color: var(--zb-acid) !important; }

/* ---------- En-tête principal ---------- */

#main-header-wrapper, #main-header {
	background: var(--zb-bg) !important;
	box-shadow: none !important;
}
#main-header {
	border-bottom: 3px solid var(--zb-acid);
}

/* Logo typographique « ZICOSS » à la place de l'image */
#main-header .logo {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}
#main-header .logo img { display: none !important; }
#main-header .logo::before {
	content: "ZICOSS";
	font-family: var(--zb-display);
	font-size: 40px;
	line-height: 1;
	letter-spacing: .04em;
	color: var(--zb-text);
}
#main-header .logo::after {
	content: "";
	width: 12px;
	height: 12px;
	margin-left: 6px;
	align-self: flex-end;
	margin-bottom: 6px;
	background: var(--zb-acid);
}
#main-header .logo:hover::before { color: var(--zb-acid); }

/* Menu */
#et-navigation > ul > li > a,
#et-menu > li > a {
	font-family: var(--zb-display) !important;
	font-weight: 400 !important;
	font-size: 17px !important;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--zb-text) !important;
}
#et-menu > li > a:hover,
#et-menu > li.current-menu-item > a,
#et-menu > li.current-menu-ancestor > a,
#et-menu > li.current-cat > a {
	color: var(--zb-acid) !important;
}
#et-navigation > ul > li > a:before { background: var(--zb-acid) !important; }

#et-navigation ul li ul,
#et-navigation .et_pb_menu__menu ul,
.nav li ul, .et-menu li ul,
#et-navigation li.mega-menu > ul {
	background: var(--zb-surface) !important;
	border-top: 3px solid var(--zb-acid) !important;
	box-shadow: none !important;
}
#et-navigation ul li ul a,
#et-navigation li.mega-menu a,
#et-navigation li.mega-menu .title {
	color: var(--zb-text) !important;
}
#et-navigation ul li ul a:hover { color: var(--zb-acid) !important; background: var(--zb-surface-2) !important; }

/* Menu mobile */
#et-mobile-navigation .show-menu,
#et-mobile-navigation .show-menu-button { color: var(--zb-text) !important; }
#et-mobile-navigation .show-menu-button span { background: var(--zb-text) !important; }
#et-mobile-navigation nav,
#et-mobile-navigation nav ul,
#et-extra-mobile-menu {
	background: var(--zb-surface) !important;
	border-top: 3px solid var(--zb-acid) !important;
}
#et-mobile-navigation nav a,
#et-extra-mobile-menu a {
	color: var(--zb-text) !important;
	border-color: var(--zb-line) !important;
	font-family: var(--zb-display) !important;
	text-transform: uppercase;
	letter-spacing: .04em;
}

/* ---------- Modules de la page d'accueil et cartes ---------- */

.et_pb_extra_module, .module, .post-module,
.posts-blog-feed-module .hentry,
.posts-blog-feed-module.masonry .hentry,
.et_pb_extra_column_sidebar .et_pb_widget,
.single .post-wrap, .page .post-wrap,
.post-wrap, .author-box, #comment-wrap,
.et_extra_other_module, .related-posts,
.archive-pagination, .post-footer {
	background: var(--zb-surface) !important;
	border: 1px solid var(--zb-line) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* Bandeau titre de module */
.module-head {
	background: transparent !important;
	border-bottom: 3px solid var(--zb-acid) !important;
	padding-bottom: 10px !important;
}
.module-head h1, .module-head .module-title {
	font-family: var(--zb-display) !important;
	text-transform: uppercase;
	letter-spacing: .04em;
	font-size: 22px !important;
}
.module-filter, .module-head .module-filter a { color: var(--zb-muted) !important; }

/* Titres d'articles */
.main-post .entry-title, .main-post .entry-title a,
.single .post-header .entry-title,
.page .entry-title,
.posts-blog-feed-module .hentry .entry-title,
.posts-blog-feed-module .hentry .entry-title a,
.featured-posts-slider-module .post-content .entry-title a {
	font-family: var(--zb-display) !important;
	font-weight: 400 !important;
	text-transform: uppercase;
	letter-spacing: .01em;
	line-height: 1.08 !important;
	color: var(--zb-text) !important;
}
.single .post-header .entry-title { font-size: clamp(32px, 4.4vw, 54px) !important; }

.posts-list .post-title, .posts-list .post-title a,
.posts-list .entry-title, .posts-list .entry-title a,
.wp-block-latest-posts__list a {
	font-family: var(--zb-body) !important;
	font-weight: 600 !important;
	text-transform: none !important;
	color: var(--zb-text) !important;
	line-height: 1.35 !important;
}
.entry-title a:hover, .post-title a:hover,
.posts-list a:hover, .wp-block-latest-posts__list a:hover {
	color: var(--zb-acid) !important;
}

/* Méta (date, auteur, rubrique) */
.post-meta, .post-meta a, .post-meta span,
.posts-list .post-meta, .post-header .post-meta {
	color: var(--zb-muted) !important;
	font-size: 12px !important;
	text-transform: uppercase;
	letter-spacing: .07em;
	font-family: var(--zb-body) !important;
}
.post-meta a:hover { color: var(--zb-acid) !important; }

/* Hors sujet pour un site d'actu : notes et bulles de commentaires */
.rating-stars, .post-meta .rating-stars,
.comment-bubble, .post-meta .comments-link { display: none !important; }

/* Images */
.featured-image, .post-thumbnail, .et_pb_extra_module .post-thumbnail img,
.posts-list .post-thumbnail img, .header .featured-image img {
	border-radius: 0 !important;
}
.post-thumbnail img, .featured-image img {
	transition: transform .35s ease, filter .35s ease;
}
.hentry:hover .post-thumbnail img,
.main-post:hover .featured-image img {
	transform: scale(1.03);
	filter: saturate(1.15);
}

/* ---------- Article seul ---------- */

.single .post-content, .page .post-content {
	font-size: 18px;
	line-height: 1.75;
}
.single .post-content h2, .single .post-content h3 {
	margin-top: 1.6em;
	text-transform: uppercase;
	letter-spacing: .02em;
}
.single .post-content h2 { border-left: 6px solid var(--zb-acid); padding-left: 14px; }
.post-content blockquote, .wp-block-quote {
	border-left: 6px solid var(--zb-pink) !important;
	background: var(--zb-surface-2);
	padding: 18px 22px !important;
	font-size: 20px;
	color: var(--zb-text);
}
.post-content figcaption, .wp-caption-text, .wp-element-caption {
	color: var(--zb-muted) !important;
	font-size: 13px;
}
.post-content code { background: var(--zb-surface-2); color: var(--zb-cyan); padding: 2px 6px; }

.post-footer .social-share-link, .social-share .social-share-link,
.et-extra-social-icons .et-extra-icon {
	color: var(--zb-text) !important;
}
.post-footer .social-share-link:hover { color: var(--zb-acid) !important; }

.author-box .author-box-header, .author-box-header {
	background: var(--zb-surface-2) !important;
	color: var(--zb-text) !important;
	font-family: var(--zb-display) !important;
	text-transform: uppercase;
}
.author-box .author-box-content, .author-box-description { color: var(--zb-text) !important; }

/* ---------- Colonne latérale ---------- */

.et_pb_extra_column_sidebar .et_pb_widget h4.widgettitle,
.et_pb_extra_column_sidebar .wp-block-heading,
.et_pb_extra_column_sidebar .wp-block-search__label {
	font-family: var(--zb-display) !important;
	font-weight: 400 !important;
	text-transform: uppercase;
	letter-spacing: .05em;
	font-size: 18px !important;
	color: var(--zb-text) !important;
	background: transparent !important;
	border-bottom: 3px solid var(--zb-acid);
	padding-bottom: 8px;
	margin-bottom: 14px;
}
.et_pb_extra_column_sidebar .et_pb_widget li,
.wp-block-latest-comments__comment { border-color: var(--zb-line) !important; color: var(--zb-muted); }

/* ---------- Formulaires et boutons ---------- */

input[type="text"], input[type="email"], input[type="search"], input[type="url"],
input[type="password"], input[type="tel"], input[type="number"],
textarea, select, .wp-block-search__input {
	background: var(--zb-surface-2) !important;
	color: var(--zb-text) !important;
	border: 1px solid var(--zb-line) !important;
	border-radius: 0 !important;
}
input:focus, textarea:focus, select:focus {
	outline: 2px solid var(--zb-acid) !important;
	outline-offset: 0;
	border-color: var(--zb-acid) !important;
}
input::placeholder, textarea::placeholder { color: var(--zb-muted) !important; }

.read-more-button, a.read-more-button,
.et_pb_button, .et_pb_more_button,
input[type="submit"], button[type="submit"],
.wp-block-search__button, .wp-block-button__link,
#comment-wrap .submit {
	background: var(--zb-acid) !important;
	color: var(--zb-bg) !important;
	border: 0 !important;
	border-radius: 0 !important;
	font-family: var(--zb-display) !important;
	font-weight: 400 !important;
	text-transform: uppercase;
	letter-spacing: .06em;
	padding: 10px 18px !important;
	box-shadow: none !important;
	transition: background .15s ease, transform .15s ease;
}
.read-more-button:hover, .et_pb_button:hover, .et_pb_more_button:hover,
input[type="submit"]:hover, button[type="submit"]:hover,
.wp-block-search__button:hover, .wp-block-button__link:hover {
	background: var(--zb-pink) !important;
	color: var(--zb-bg) !important;
	transform: translateY(-1px);
}
.et_pb_button:after { color: var(--zb-bg) !important; }

/* Pagination */
.pagination li a, .paginated .pagination li a,
.archive-pagination .pagination li a, .page-numbers {
	background: var(--zb-surface-2) !important;
	color: var(--zb-text) !important;
	border-radius: 0 !important;
	font-family: var(--zb-display) !important;
}
.pagination li.active a, .pagination li a:hover,
.page-numbers.current, .page-numbers:hover {
	background: var(--zb-acid) !important;
	color: var(--zb-bg) !important;
}

/* ---------- Pied de page ---------- */

#footer {
	background: var(--zb-deep) !important;
	border-top: 3px solid var(--zb-acid);
	color: var(--zb-muted);
}
#footer .footer-widget h4, #footer .et_pb_widget h4,
#footer .widgettitle, #footer .wp-block-heading {
	font-family: var(--zb-display) !important;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--zb-text) !important;
}
#footer a, #footer li { color: var(--zb-muted) !important; }
#footer a:hover { color: var(--zb-acid) !important; }
#footer-bottom {
	background: #000 !important;
	border-top: 1px solid var(--zb-line);
}
#footer-info, #footer-info a { color: var(--zb-muted) !important; font-size: 13px; }
#footer-nav .et-extra-icon { color: var(--zb-muted) !important; }
#footer-nav .et-extra-icon:hover { color: var(--zb-acid) !important; }

/* Retour en haut */
.back-to-top, #back_to_top {
	background: var(--zb-acid) !important;
	color: var(--zb-bg) !important;
	border-radius: 0 !important;
}

/* ---------- Divers ---------- */

.et_pb_extra_column_main .nopost, .no-results, .not-found {
	color: var(--zb-muted);
}
table, th, td { border-color: var(--zb-line) !important; }
th { background: var(--zb-surface-2); }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--zb-deep); }
::-webkit-scrollbar-thumb { background: var(--zb-line); }
::-webkit-scrollbar-thumb:hover { background: var(--zb-acid); }

@media (max-width: 767px) {
	#main-header .logo::before { font-size: 32px; }
	.single .post-content, .page .post-content { font-size: 17px; }
}

/* ---------- Correctifs v1.1 ---------- */

/* Logo sur une seule ligne */
#main-header .logo {
	width: auto !important;
	max-width: none !important;
	white-space: nowrap;
}

/* Textes restés sombres */
.share-title, .post-footer .share-title,
.author-link, .author-box a.author-link,
.comment-reply-link, .reply-container a,
.comment-author, .comment-author a, .comment-meta, .comment-meta a,
.comment-content, .comment-content p {
	color: var(--zb-text) !important;
}
.comment-reply-link:hover, .author-link:hover { color: var(--zb-acid) !important; }

/* Widget « derniers commentaires » resté blanc */
.wp-block-latest-comments article,
.wp-block-latest-comments__comment,
.et_pb_widget article {
	background: transparent !important;
}
.wp-block-latest-comments__comment-meta,
.wp-block-latest-comments__comment-excerpt p { color: var(--zb-muted) !important; }
.wp-block-latest-comments a { color: var(--zb-text) !important; }

/* Bouton du menu mobile */
#et-mobile-navigation .show-menu-button {
	background: transparent !important;
	border: 2px solid var(--zb-acid) !important;
	border-radius: 0 !important;
}
#et-mobile-navigation .show-menu-button span,
#et-mobile-navigation .show-menu-button:before,
#et-mobile-navigation .show-menu-button:after { background: var(--zb-acid) !important; }

/* ---------- Charte ZikLink (orange #F7632B, rose #F01E6A) ---------- */

:root { --zb-grad: linear-gradient(90deg, #F7632B 0%, #F01E6A 100%); }

#main-header, .module-head, #footer {
	border-image: var(--zb-grad) 1 !important;
}
#main-header { border-width: 0 0 3px 0 !important; border-style: solid !important; }
.module-head { border-width: 0 0 3px 0 !important; border-style: solid !important; }
#footer { border-width: 3px 0 0 0 !important; border-style: solid !important; }

#main-header .logo::after { background: var(--zb-grad); }

/* ---------- Couleur propre à chaque rubrique sous les titres de blocs ---------- */

.module-head:has(h1[style*="#F7632B" i]) { border-image: none !important; border-bottom-color: #F7632B !important; }
.module-head:has(h1[style*="#F01E6A" i]) { border-image: none !important; border-bottom-color: #F01E6A !important; }
.module-head:has(h1[style*="#3AD7FF" i]) { border-image: none !important; border-bottom-color: #3AD7FF !important; }
.module-head:has(h1[style*="#FFC23A" i]) { border-image: none !important; border-bottom-color: #FFC23A !important; }
.module-head:has(h1[style*="#9B5CFF" i]) { border-image: none !important; border-bottom-color: #9B5CFF !important; }
.module-head:has(h1[style*="#5B8CFF" i]) { border-image: none !important; border-bottom-color: #5B8CFF !important; }
.module-head:has(h1[style*="#EDEDF2" i]) { border-image: none !important; border-bottom-color: #EDEDF2 !important; }

/* ---------- Bandeau cookies Complianz aux couleurs du site ---------- */

.cmplz-cookiebanner, #cmplz-manage-consent, .cmplz-manage-consent {
	--cmplz_banner_background_color: #17171C !important;
	--cmplz_banner_border_color: #2B2B35 !important;
	--cmplz_text_color: #ECECF1 !important;
	--cmplz_hyperlink_color: #F7632B !important;
	--cmplz_category_header_always_active_color: #F7632B !important;
	--cmplz_category_header_title_color: #ECECF1 !important;
	--cmplz_category_header_active_color: #F7632B !important;
	--cmplz_category_open_icon_color: #ECECF1 !important;
	--cmplz_slider_active_color: #F7632B !important;
	--cmplz_slider_inactive_color: #2B2B35 !important;
	--cmplz_slider_bullet_color: #ECECF1 !important;
	--cmplz_button_accept_background_color: #F7632B !important;
	--cmplz_button_accept_border_color: #F7632B !important;
	--cmplz_button_accept_text_color: #0F0F12 !important;
	--cmplz_button_deny_background_color: #202028 !important;
	--cmplz_button_deny_border_color: #2B2B35 !important;
	--cmplz_button_deny_text_color: #ECECF1 !important;
	--cmplz_button_settings_background_color: #202028 !important;
	--cmplz_button_settings_border_color: #2B2B35 !important;
	--cmplz_button_settings_text_color: #ECECF1 !important;
	--cmplz_button_border_radius: 0 !important;
	--cmplz_banner_border_radius: 0 !important;
}
.cmplz-cookiebanner { box-shadow: 0 0 0 1px #2B2B35 !important; font-family: var(--zb-body) !important; }
.cmplz-cookiebanner .cmplz-title { font-family: var(--zb-display) !important; text-transform: uppercase; letter-spacing: .04em; color: #ECECF1 !important; }
.cmplz-cookiebanner .cmplz-btn { font-family: var(--zb-display) !important; font-weight: 400 !important; text-transform: uppercase; letter-spacing: .05em; }
.cmplz-cookiebanner .cmplz-category { background: #202028 !important; }

/* Sections Divi : fond transparent par défaut (évite le texte clair sur fond blanc) */
.et_pb_section { background-color: transparent; }

/* Crédit photo et chapô des articles */
.zb-photo-credit {
	font-size: 12px !important;
	line-height: 1.4 !important;
	color: var(--zb-muted) !important;
	text-align: right;
	margin: -12px 0 22px !important;
}
.zb-photo-credit a { color: var(--zb-muted) !important; text-decoration: underline; }
.zb-chapo {
	font-size: 21px !important;
	line-height: 1.55 !important;
	font-weight: 500;
	color: var(--zb-text) !important;
	border-left: 4px solid var(--zb-acid);
	padding-left: 16px;
	margin-bottom: 30px !important;
}

/* Articles similaires */
.related-posts .title a, .related-posts .title {
	color: var(--zb-text) !important;
	line-height: 1.2 !important;
}
.related-posts .title a:hover { color: var(--zb-acid) !important; }
.related-posts .date, .related-posts .date .updated {
	color: var(--zb-muted) !important;
	font-size: 12px !important;
	text-transform: uppercase;
	letter-spacing: .07em;
}

/* ---------- Bannières maison ZikLink (zones de pub Extra + widget) ---------- */

a.zl-ban, a.zl-ban:hover, a.zl-ban * {
	text-decoration: none !important;
}
a.zl-ban {
	display: block;
	margin: 32px 0;
	padding: 2px;
	border-radius: 14px;
	background: linear-gradient(90deg, var(--zb-acid), var(--zb-pink));
	color: var(--zb-text) !important;
	text-align: left;
	transition: transform .15s ease, box-shadow .15s ease;
}
a.zl-ban:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 30px rgba(240, 30, 106, .25);
}
.zl-ban__in {
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 22px 26px;
	border-radius: 12px;
	background: radial-gradient(120% 140% at 100% 0%, rgba(240, 30, 106, .16), transparent 55%), var(--zb-surface);
}
.zl-ban__brand {
	flex: 0 0 auto;
	font-family: var(--zb-display);
	font-size: 36px;
	line-height: 1;
	letter-spacing: .02em;
	text-transform: uppercase;
	background: linear-gradient(90deg, var(--zb-acid), var(--zb-pink));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.zl-ban__brand small {
	display: block;
	font-size: .42em;
	letter-spacing: .2em;
	margin-top: 4px;
}
.zl-ban__brand, .zl-ban__title { font-weight: 400 !important; font-synthesis: none; }
.etad.post_below a.zl-ban { margin: 8px 0 4px; }
.zl-ban__txt { flex: 1 1 auto; min-width: 0; display: block; }
.zl-ban__tag {
	display: block;
	margin-bottom: 6px;
	font-family: var(--zb-body);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--zb-muted);
}
.zl-ban__title {
	display: block;
	margin-bottom: 6px;
	font-family: var(--zb-display);
	font-size: 24px;
	line-height: 1.1;
	text-transform: uppercase;
	color: var(--zb-text);
}
.zl-ban__desc {
	display: block;
	font-family: var(--zb-body);
	font-size: 14px;
	line-height: 1.5;
	color: var(--zb-muted);
}
.zl-ban__cta {
	flex: 0 0 auto;
	display: inline-block;
	padding: 12px 18px;
	border-radius: 999px;
	background: var(--zb-acid);
	color: #0F0F12;
	font-family: var(--zb-body);
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
	transition: background .15s ease, color .15s ease;
}
a.zl-ban:hover .zl-ban__cta { background: var(--zb-pink); color: #fff; }

/* Format carte (barre latérale) */
a.zl-ban--card { margin: 0; }
.zl-ban--card .zl-ban__in {
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	padding: 22px;
}
.zl-ban--card .zl-ban__brand { font-size: 30px; }
.zl-ban--card .zl-ban__title { font-size: 22px; }
.zl-ban__list { display: block; margin-top: 10px; }
.zl-ban__list span {
	display: block;
	padding: 3px 0 3px 18px;
	position: relative;
	font-family: var(--zb-body);
	font-size: 14px;
	color: var(--zb-text);
}
.zl-ban__list span::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-radius: 50%;
	background: linear-gradient(90deg, var(--zb-acid), var(--zb-pink));
}

/* Conteneurs Extra des zones de pub */
.etad:has(.zl-ban), .adsense-responsive-ad:has(.zl-ban) { background: none; padding: 0; text-align: left; }

@media (max-width: 767px) {
	.zl-ban__in { flex-direction: column; align-items: flex-start; gap: 14px; padding: 20px; }
	.zl-ban__title { font-size: 21px; }
}

/* ---------- Formulaire de candidature contributeurs ---------- */

.zb-form {
	margin: 28px 0;
	padding: 26px;
	border: 1px solid var(--zb-line);
	border-radius: 14px;
	background: var(--zb-surface);
}
.zb-form p { margin: 0 0 18px; padding: 0; }
.zb-form label {
	display: block;
	margin-bottom: 6px;
	font-family: var(--zb-body);
	font-weight: 600;
	font-size: 15px;
	color: var(--zb-text);
}
.zb-form label span { font-weight: 400; color: var(--zb-muted); }
.zb-form .zb-help { display: block; margin: -2px 0 8px; font-size: 13px; line-height: 1.45; color: var(--zb-muted); }
.zb-form input[type="text"], .zb-form input[type="email"], .zb-form textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 11px 13px;
	border: 1px solid var(--zb-line);
	border-radius: 8px;
	background: var(--zb-deep);
	color: var(--zb-text);
	font-family: var(--zb-body);
	font-size: 15px;
	line-height: 1.5;
}
.zb-form input:focus, .zb-form textarea:focus { outline: 2px solid var(--zb-acid); outline-offset: 1px; border-color: transparent; }
.zb-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.zb-form fieldset { margin: 0 0 18px; padding: 0; border: 0; }
.zb-form legend { margin-bottom: 8px; font-weight: 600; font-size: 15px; color: var(--zb-text); }
.zb-form fieldset .zb-check { display: inline-flex; margin: 0 18px 8px 0; }
.zb-form .zb-check { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 12px; font-weight: 400; }
.zb-form .zb-check input { margin-top: 4px; accent-color: var(--zb-acid); width: 16px; height: 16px; flex: 0 0 auto; }
.zb-form__legal { font-size: 13px; line-height: 1.5; color: var(--zb-muted); }
.zb-form__submit {
	padding: 13px 24px;
	border: 0;
	border-radius: 999px;
	background: var(--zb-acid);
	color: #0F0F12;
	font-family: var(--zb-body);
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
}
.zb-form__submit:hover { background: var(--zb-pink); color: #fff; }
.zb-form__errors { margin-bottom: 20px; padding: 14px 18px; border-left: 4px solid var(--zb-pink); border-radius: 6px; background: rgba(240, 30, 106, .1); }
.zb-form__errors ul { margin: 6px 0 0 18px; }
.zb-form--ok { border-color: var(--zb-acid); }
.zb-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 767px) {
	.zb-form { padding: 18px; }
	.zb-form__row { grid-template-columns: 1fr; }
}

/* ---------- Encadré auteur (contributeurs) ---------- */

.zb-author {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	margin: 36px 0 8px;
	padding: 20px 22px;
	border: 1px solid var(--zb-line);
	border-radius: 12px;
	background: var(--zb-surface-2);
}
.zb-author__avatar {
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--zb-acid), var(--zb-pink));
	color: #0F0F12;
	font-family: var(--zb-display);
	font-size: 22px;
	font-weight: 400;
}
.zb-author__body { display: block; min-width: 0; }
.zb-author__label { display: block; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--zb-muted); }
.zb-author__name { display: block; margin: 2px 0 6px; font-family: var(--zb-display); font-size: 22px; font-weight: 400; text-transform: uppercase; color: var(--zb-text); }
.zb-author__bio { display: block; font-size: 15px; line-height: 1.55; color: var(--zb-text); }
.zb-author__links { display: flex; gap: 18px; margin-top: 10px; font-size: 14px; font-weight: 600; }
.post-content .zb-author__links a { text-decoration: none; }

/* ---------- Barre latérale : liste des rubriques en blanc ---------- */
.et_pb_extra_column_sidebar .wp-block-categories a,
.et_pb_extra_column_sidebar .widget_categories a {
	color: var(--zb-text) !important;
}
.et_pb_extra_column_sidebar .wp-block-categories a:hover,
.et_pb_extra_column_sidebar .widget_categories a:hover {
	color: var(--zb-acid) !important;
}

/* ---------- Menu principal : « Contribuer » en bouton ---------- */
#et-menu > li.zb-menu-cta { margin-left: 30px; }
#et-menu > li.zb-menu-cta > a {
	position: relative;
	z-index: 0;
	color: var(--zb-acid) !important;
	transition: color .15s ease;
}
#et-menu > li.zb-menu-cta > a::before { display: none !important; }
#et-menu > li.zb-menu-cta > a::after {
	content: "";
	position: absolute;
	z-index: -1;
	left: -16px;
	right: -16px;
	top: -10px;
	height: 36px;
	box-sizing: border-box;
	border: 2px solid var(--zb-acid);
	border-radius: 999px;
	background: transparent;
	transition: background .15s ease, border-color .15s ease;
}
#et-menu > li.zb-menu-cta > a:hover,
#et-menu > li.zb-menu-cta.current-menu-item > a { color: #0F0F12 !important; }
#et-menu > li.zb-menu-cta > a:hover::after,
#et-menu > li.zb-menu-cta.current-menu-item > a::after { background: var(--zb-acid); }
/* Menu mobile : simple mise en avant en orange */
#et-extra-mobile-menu li.zb-menu-cta > a { color: var(--zb-acid) !important; font-weight: 700; }
