/*
 * En-tête Concept-plan
 * Bandeau haut qui sort de l'écran au défilement, barre principale collante à hauteur fixe
 * (seule l'ombre change, donc aucun tressautement), méga-menu à cartes, tiroir mobile.
 * Les règles d'affichage des panneaux sont limitées au site public : dans l'éditeur,
 * les panneaux restent visibles et modifiables.
 */

:root {
	--cp-top-h: 40px;
	--cp-bar-h: 76px;
	--cp-ease: cubic-bezier(.2, .7, .2, 1);
	--cp-navy: var(--wp--preset--color--navy, #000033);
	--cp-navy-2: var(--wp--preset--color--navy-2, #00012E);
	--cp-orange: var(--wp--preset--color--orange, #FF9900);
	--cp-ink: var(--wp--preset--color--ink, #0B0B1F);
	--cp-mute: var(--wp--preset--color--mute, #555B6B);
	--cp-mist: var(--wp--preset--color--mist, #F3F4F8);
	--cp-line: var(--wp--preset--color--line, #E3E5EC);
}

/*
 * Aucun défilement horizontal : un contenu trop large pousse sinon le navigateur mobile
 * à élargir sa zone d'affichage (1 500 px au lieu de 375), et le tiroir avec elle.
 * Sur html (sur body, Chrome ne la reporte pas à la page). clip ne casse pas l'en-tête collant.
 */
html { overflow-x: clip; }

/* Le thème n'impose pas de box-sizing global : sans cette règle, padding et bordure s'ajoutent aux tailles. */
.cp-header,
.cp-header *,
.cp-header *::before,
.cp-header *::after { box-sizing: border-box; }

/* ---------- En-tête collant ---------- */
body:not(.editor-styles-wrapper) .cp-header {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) - var(--cp-top-h));
	z-index: 100;
}
.wp-site-blocks > .cp-header + * { margin-block-start: 0; }
.cp-sentinel { position: absolute; left: 0; top: calc(var(--cp-top-h) + 1px); width: 1px; height: 1px; pointer-events: none; }

/* ---------- Bandeau haut ---------- */
.cp-topbar {
	background: var(--cp-navy-2);
	color: #C9CBE0;
	font-size: .875rem;
	line-height: 1.4;
}
/* Hauteur fixe : header.js la mesure pour caler l'en-tête collant, elle ne doit donc pas dépendre de --cp-top-h. */
.cp-topbar__inner { height: 40px; gap: 28px; }
.cp-toplinks .wp-block-navigation__container { gap: 24px; }
.cp-toplinks .wp-block-navigation-item__content { color: #C9CBE0; text-decoration: none; transition: color .2s; }
.cp-toplinks .wp-block-navigation-item__content:hover,
.cp-toplinks .wp-block-navigation-item__content:focus-visible { color: #fff; }
.cp-socials { margin: 0; gap: 2px !important; padding-left: 22px; border-left: 1px solid rgba(255, 255, 255, .14); }
.cp-socials.is-style-logos-only .wp-social-link { color: #C9CBE0; background: none; }
.cp-socials .wp-social-link a { padding: 7px; border-radius: 50%; transition: background .2s, color .2s; }
.cp-socials .wp-social-link a:hover { background: rgba(255, 255, 255, .1); color: #fff; }
.cp-socials .wp-social-link svg { width: 16px; height: 16px; }

/* ---------- Barre principale ---------- */
.cp-bar {
	position: relative;
	background: var(--cp-navy);
	color: #fff;
	transition: box-shadow .25s;
}
.cp-header.is-stuck .cp-bar { box-shadow: 0 10px 30px rgba(0, 0, 30, .28); }

/* Filet lumineux entre le bandeau haut et la barre ; il s'efface quand la barre colle en haut. */
.cp-bar::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(201, 203, 240, .55) 18%, rgba(201, 203, 240, .55) 82%, transparent);
	box-shadow: 0 0 10px 1px rgba(150, 160, 255, .28);
	pointer-events: none;
	transition: opacity .25s;
}
.cp-header.is-stuck .cp-bar::before { opacity: 0; }
.cp-bar > .cp-bar__inner { height: var(--cp-bar-h); gap: 28px; }
.cp-logo { flex: 0 0 auto; margin: 0; }
.cp-logo img { height: 46px; width: auto; display: block; }

.cp-mainnav { flex: 1 1 auto; align-self: stretch; }
.cp-mainnav .wp-block-navigation__container { height: 100%; gap: 0; align-items: stretch; }
.cp-mainnav .wp-block-navigation-item { display: flex; align-items: center; height: 100%; }
.cp-mainnav .wp-block-navigation-item__content {
	position: relative;
	display: flex;
	align-items: center;
	height: 100%;
	padding: 0 13px;
	font-size: 15.5px;
	font-weight: 600;
	white-space: nowrap;
	color: #EDEEF7;
	text-decoration: none;
	transition: color .2s;
}
.cp-mainnav .has-mega .wp-block-navigation-item__content { padding-right: 4px; }
.cp-mainnav .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 13px;
	right: 13px;
	bottom: 18px;
	height: 2px;
	background: var(--cp-orange);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .25s var(--cp-ease);
}
.cp-mainnav .has-mega .wp-block-navigation-item__content::after { right: -18px; }
.cp-mainnav .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.cp-mainnav .is-open > .wp-block-navigation-item__content { color: #fff; }
.cp-mainnav .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.cp-mainnav .is-open > .wp-block-navigation-item__content::after { transform: scaleX(1); }
/* Rubrique en cours (header.js : page de l'onglet ou l'une de ses sous-pages) : libellé et chevron en orange de la
   charte (demande client du 15/10, à la place de la pastille claire du 03/10). Le trait orange reste le repère du survol. */
.cp-mainnav .is-current > .wp-block-navigation-item__content,
.cp-mainnav .is-current > .cp-mega-toggle,
.cp-mainnav .wp-block-navigation-item.is-current:hover > .wp-block-navigation-item__content,
.cp-mainnav .is-current.is-open > .wp-block-navigation-item__content { color: var(--cp-orange); }

.cp-mega-toggle { position: relative; z-index: 1; color: #fff; }

.cp-mega-toggle {
	display: grid;
	place-items: center;
	width: 24px;
	height: 24px;
	margin-right: 9px;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: none;
	color: #EDEEF7;
	cursor: pointer;
}
.cp-mega-toggle svg { transition: transform .25s var(--cp-ease); }
.is-open > .cp-mega-toggle svg { transform: rotate(180deg); }

.cp-cta { flex: 0 0 auto; margin: 0; }
.cp-cta .wp-block-button__link { white-space: nowrap; transition: background-color .2s, transform .2s; }
.cp-cta .wp-block-button__link:hover { transform: translateY(-1px); }

.cp-header :focus-visible { outline: 2px solid var(--cp-orange); outline-offset: 3px; border-radius: 4px; }

/* ---------- Panneaux du méga-menu (site public) ---------- */
body:not(.editor-styles-wrapper) .cp-mega { margin: 0 !important; }
body:not(.editor-styles-wrapper) .cp-panel {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	max-width: none !important;
	margin: 0 !important;
	padding-block: 36px 40px;
	background: #fff;
	color: var(--cp-ink);
	border-top: 1px solid var(--cp-line);
	box-shadow: 0 24px 50px rgba(0, 0, 30, .18);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity .2s var(--cp-ease), transform .2s var(--cp-ease), visibility 0s .2s;
}
body:not(.editor-styles-wrapper) .cp-panel.is-open {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: opacity .2s var(--cp-ease), transform .2s var(--cp-ease);
}

/* ---------- Contenu des panneaux (site et éditeur) ---------- */
.cp-panel__cols { display: grid !important; grid-template-columns: minmax(0, 1fr) 340px; gap: 48px !important; margin: 0; }
.cp-panel__cols > .wp-block-column { flex-basis: auto !important; min-width: 0; margin: 0; }
.cp-panel__head { justify-content: space-between; align-items: baseline; gap: 24px; margin-bottom: 22px; }
.cp-panel__title { margin: 0; font-size: 26px; font-weight: 700; line-height: 1.2; color: var(--cp-navy); }
.cp-panel__all { margin: 0; }
.cp-panel__all a { display: inline-flex; gap: 6px; font-weight: 600; color: var(--cp-navy); text-decoration: none; white-space: nowrap; border-bottom: 2px solid var(--cp-orange); padding-bottom: 2px; }
.cp-panel__all a::after { content: "→"; transition: transform .2s var(--cp-ease); }
.cp-panel__all a:hover::after { transform: translateX(3px); }

.cp-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.cp-cards > * { margin: 0 !important; }
.cp-cards:has(> :nth-child(3):last-child),
.cp-cards:has(> :nth-child(5)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
/* Cinq cartes sur trois colonnes : la dernière prend deux colonnes, pas de case vide. */
.cp-cards:has(> :nth-child(5):last-child) > :last-child { grid-column: span 2; }

.cp-card {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	gap: 16px;
	align-items: start;
	padding: 16px;
	border: 1px solid var(--cp-line);
	border-radius: 8px;
	color: var(--cp-ink);
	text-decoration: none;
	transition: background .2s, border-color .2s, transform .25s var(--cp-ease);
}
.cp-cards:has(> :nth-child(3):last-child) .cp-card,
.cp-cards:has(> :nth-child(5)) .cp-card { grid-template-columns: 1fr; gap: 12px; }
.cp-card:hover { background: var(--cp-mist); border-color: #D2D6E2; transform: translateY(-2px); }
.cp-card__icon {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 8px;
	background: var(--cp-navy);
	color: var(--cp-orange);
	transition: transform .3s var(--cp-ease);
}
.cp-card:hover .cp-card__icon { transform: rotate(-4deg) scale(1.05); }

/* Couleurs de secteur : tuile colorée, icône bleu nuit (contraste lisible sur les six teintes). */
.cp-tone-tertiaire { --cp-tone: var(--wp--preset--color--secteur-tertiaire, #4DAF47); }
.cp-tone-culturel { --cp-tone: var(--wp--preset--color--secteur-culturel, #A05C87); }
.cp-tone-industrie { --cp-tone: var(--wp--preset--color--secteur-industrie, #6E92C7); }
.cp-tone-patrimoine { --cp-tone: var(--wp--preset--color--secteur-patrimoine, #DDA145); }
.cp-tone-visite { --cp-tone: var(--wp--preset--color--secteur-visite, #C59E52); }
.cp-tone-projet { --cp-tone: var(--wp--preset--color--secteur-projet, #EE754E); }
.cp-card__icon[class*="cp-tone-"] { background: var(--cp-tone); color: var(--cp-navy); }
.cp-card[class*="cp-tone-"]:hover { border-color: var(--cp-tone); }
/* Page en cours dans le méga-menu : fond brume, comme une carte survolée. */
.cp-card[aria-current="page"] { background: var(--cp-mist); border-color: #D2D6E2; }
.cp-icon { width: 30px; height: 30px; }
.cp-card__title { display: block; margin-bottom: 3px; font-size: 16.5px; line-height: 1.3; color: var(--cp-navy); }
.cp-card__desc { display: block; font-size: 14.5px; line-height: 1.45; color: var(--cp-mute); }

.cp-lead { display: flex; flex-direction: column; gap: 0; overflow: hidden; border-radius: 8px; background: var(--cp-navy); color: #fff; }
.cp-lead > * { margin: 0 !important; }
.cp-lead__img { position: relative; }
.cp-lead__img img { display: block; width: 100%; height: auto; aspect-ratio: 560 / 248; object-fit: cover; }
.cp-lead__img figcaption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
	padding: 22px 16px 10px;
	font-size: 14px;
	font-weight: 600;
	text-align: left;
	color: #fff;
	background: linear-gradient(transparent, rgba(0, 0, 30, .85));
}
.cp-lead__pitch { padding: 18px 20px 0; font-size: 15px; line-height: 1.5; color: #D8DAEA; }
.cp-lead__cta { padding: 14px 20px 0; }
.cp-lead__cta .wp-block-button__link { justify-content: center; }
.cp-tel { padding: 12px 20px 20px; text-align: center; }
.cp-tel a { display: inline-flex; align-items: center; gap: 8px; font-size: 17px; font-weight: 700; letter-spacing: .02em; color: #fff; text-decoration: none; }
.cp-tel a::before {
	content: "";
	width: 18px;
	height: 18px;
	background: var(--cp-orange);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 2.5l2.4 3.2-1.5 1.8a10 10 0 0 0 6.1 6.1l1.8-1.5 3.2 2.4-1.3 2.6c-.4.8-1.3 1.2-2.2 1C7.7 16.9 3.1 12.3 1.9 6c-.2-.9.2-1.8 1-2.2z' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 2.5l2.4 3.2-1.5 1.8a10 10 0 0 0 6.1 6.1l1.8-1.5 3.2 2.4-1.3 2.6c-.4.8-1.3 1.2-2.2 1C7.7 16.9 3.1 12.3 1.9 6c-.2-.9.2-1.8 1-2.2z' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Dans l'éditeur : chaque panneau reste visible, encadré, pour être modifié. */
.editor-styles-wrapper .cp-panel { padding: 24px; margin-block: 0 24px; border: 1px dashed var(--cp-line); background: #fff; }

/* ---------- Burger et tiroir mobile (créés par header.js) ---------- */
.cp-burger { display: none; place-items: center; width: 46px; height: 46px; margin-left: auto; padding: 0; border: 0; border-radius: 8px; background: none; cursor: pointer; }
.cp-burger span,
.cp-burger span::before,
.cp-burger span::after { display: block; width: 24px; height: 2px; border-radius: 2px; background: #fff; }
.cp-burger span { position: relative; transition: background .2s; }
.cp-burger span::before,
.cp-burger span::after { content: ""; position: absolute; left: 0; transition: transform .3s var(--cp-ease), top .3s var(--cp-ease); }
.cp-burger span::before { top: -7px; }
.cp-burger span::after { top: 7px; }
.cp-burger[aria-expanded="true"] span { background: transparent; }
.cp-burger[aria-expanded="true"] span::before { top: 0; transform: rotate(45deg); }
.cp-burger[aria-expanded="true"] span::after { top: 0; transform: rotate(-45deg); }

.cp-drawer {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	top: var(--cp-drawer-top, var(--cp-bar-h));
	z-index: 99;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 12px clamp(16px, 3vw, 40px) calc(28px + env(safe-area-inset-bottom, 0px));
	background: #fff;
	color: var(--cp-ink);
	transform: translateX(100%);
	visibility: hidden;
	transition: transform .3s var(--cp-ease), visibility 0s .3s;
}
.cp-drawer.is-open { transform: none; visibility: visible; transition: transform .3s var(--cp-ease); }
.cp-drawer details { border-bottom: 1px solid var(--cp-line); }
.cp-drawer summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px 2px; font-size: 18px; font-weight: 700; color: var(--cp-navy); list-style: none; cursor: pointer; }
.cp-drawer summary::-webkit-details-marker { display: none; }
/* Chevron dans une pastille : on voit tout de suite que la rubrique se déplie. */
.cp-drawer summary svg {
	flex: 0 0 auto;
	box-sizing: content-box;
	width: 16px;
	height: 16px;
	padding: 8px;
	border-radius: 50%;
	background: var(--cp-mist);
	color: var(--cp-navy);
	transition: transform .25s var(--cp-ease), background .2s;
}
.cp-drawer details[open] summary svg { transform: rotate(180deg); background: var(--cp-orange); }
.cp-drawer .cp-foot .wp-block-button { width: 100%; }
.cp-drawer .cp-sub { display: grid; gap: 4px; padding-bottom: 14px; }
.cp-drawer .cp-sub a { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 12px; align-items: center; padding: 8px 4px; border-radius: 8px; font-size: 15.5px; font-weight: 600; line-height: 1.3; color: var(--cp-navy); text-decoration: none; }
.cp-drawer .cp-sub a:active { background: var(--cp-mist); }
/* Menu mobile : rubrique et page en cours. */
.cp-drawer .is-current > summary,
.cp-drawer a.cp-plain.is-current { margin-inline: -10px; padding-inline: 10px; border-radius: 8px; background: var(--cp-mist); }
.cp-drawer .cp-sub a[aria-current="page"] { background: var(--cp-mist); font-weight: 700; }
.cp-drawer .cp-sub .cp-card__icon { width: 40px; height: 40px; border-radius: 8px; }
.cp-drawer .cp-sub .cp-icon { width: 24px; height: 24px; }
.cp-drawer .cp-sub .cp-all { grid-template-columns: 1fr; color: var(--cp-mute); }
.cp-drawer .cp-plain { display: block; padding: 16px 2px; border-bottom: 1px solid var(--cp-line); font-size: 18px; font-weight: 700; color: var(--cp-navy); text-decoration: none; }
.cp-drawer .cp-foot { display: grid; gap: 14px; margin-top: 24px; }
.cp-drawer .cp-foot .wp-block-button__link { display: flex; justify-content: center; }
.cp-drawer .cp-tel { padding: 0; }
.cp-drawer .cp-tel a { color: var(--cp-navy); }
.cp-drawer .cp-minor { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 20px; font-size: 15px; font-weight: 600; }
.cp-drawer .cp-minor a { color: var(--cp-mute); text-decoration: none; }
.cp-drawer .cp-socials { justify-content: center; padding: 0; border: 0; }
.cp-drawer .cp-socials.is-style-logos-only .wp-social-link { color: var(--cp-navy); }
.cp-drawer .cp-socials .wp-social-link a:hover { background: var(--cp-mist); color: var(--cp-navy); }

/* ---------- Points de rupture ---------- */
@media (max-width: 1279px) {
	/* Sélecteurs renforcés : la classe de mise en page .is-layout-flex des blocs cœur gagnerait sinon. */
	body:not(.editor-styles-wrapper) .cp-bar .cp-mainnav,
	body:not(.editor-styles-wrapper) .cp-bar .cp-bar__inner > .cp-cta,
	body:not(.editor-styles-wrapper) .cp-mega { display: none; }
	.cp-burger { display: grid; }
}
@media (min-width: 1280px) {
	.cp-drawer { display: none; }
}
/*
 * Menu sur une seule ligne de 1280 à 1600 px (7 items depuis l'ajout d'« Aménagement », demande client du 04/10) :
 * espacement des items, taille du texte, chevrons, écarts et bouton devis suivent la largeur ; au-delà de
 * 1600 px, les valeurs de base. Mesuré : aucun débordement de 1280 à 1920 px.
 */
@media (min-width: 1280px) and (max-width: 1599px) {
	body:not(.editor-styles-wrapper) .cp-bar > .cp-bar__inner { gap: clamp(12px, 1.4vw, 28px); }
	.cp-mainnav .wp-block-navigation-item__content { padding-inline: clamp(6px, .7vw, 13px); font-size: clamp(14px, .98vw, 15.5px); }
	.cp-mainnav .has-mega .wp-block-navigation-item__content { padding-right: 3px; }
	.cp-mainnav .wp-block-navigation-item__content::after { left: clamp(6px, .7vw, 13px); right: clamp(6px, .7vw, 13px); bottom: 18px; }
	.cp-mainnav .has-mega .wp-block-navigation-item__content::after { right: -16px; }
	/* Flèche : zone cliquable de 24 px (minimum d'accessibilité) qui occupe la même place que les 18 px d'avant. */
	.cp-mega-toggle { width: 24px; margin-left: -3px; margin-right: calc(clamp(3px, .45vw, 9px) - 3px); }
	.cp-cta .wp-block-button__link { padding-inline: clamp(12px, 1.1vw, 20px); font-size: clamp(14.5px, 1.05vw, 16.7px); }
	.cp-logo img { height: clamp(40px, 3.1vw, 46px); }
}
@media (max-width: 760px) {
	:root { --cp-bar-h: 66px; }
	body:not(.editor-styles-wrapper) .cp-topbar,
	.cp-bar::before { display: none; }
	.cp-logo img { height: 38px; }
}
@media (max-width: 600px) {
	.admin-bar .cp-header { top: calc(0px - var(--cp-top-h)); }
}
@media (prefers-reduced-motion: reduce) {
	.cp-header *,
	.cp-header *::before,
	.cp-header *::after { transition-duration: 0s !important; animation: none !important; }
}

/* Pages de texte (mentions légales, politique de confidentialité…) : le contenu commence par son
   H1 et le gabarit page.html n'a pas d'en-tête de page ; on donne de l'air sous le menu et avant
   le pied. Ne vise que les contenus qui débutent par un H1 (les pages WPBakery débutent par une
   rangée vc_row et restent telles quelles). */
.cp-main > .wp-block-post-content:has(> h1:first-child) {
	padding-block: clamp(40px, 6vw, 80px) clamp(56px, 8vw, 112px);
}

/*
 * En-tête transparent sur un bandeau vidéo ou photo (pages Réalisations et Actualités, fiches
 * réalisation : .cp-wa-band__video, .cp-actu-band__video, .cp-pj-hero, .cp-sx-hero) :
 * en haut de page, l'en-tête laisse voir la vidéo à travers un léger voile noir ; dès que la
 * barre se détache au défilement (classe is-stuck, header.js) ou que le tiroir mobile est ouvert,
 * il reprend son fond bleu nuit. Le bandeau remonte sous l'en-tête (realisations-archive.css,
 * actualites.css).
 */
body:has(.cp-wa-band__video, .cp-actu-band__video, .cp-pj-hero, .cp-sx-hero) .cp-header { isolation: isolate; }
body:has(.cp-wa-band__video, .cp-actu-band__video, .cp-pj-hero, .cp-sx-hero) .cp-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(0, 0, 0, .55) 0%, rgba(0, 0, 0, .3) 100%);
	pointer-events: none;
	transition: opacity .3s;
}
body:has(.cp-wa-band__video, .cp-actu-band__video, .cp-pj-hero, .cp-sx-hero) .cp-topbar,
body:has(.cp-wa-band__video, .cp-actu-band__video, .cp-pj-hero, .cp-sx-hero) .cp-bar { transition: background-color .3s, box-shadow .25s; }
body:has(.cp-wa-band__video, .cp-actu-band__video, .cp-pj-hero, .cp-sx-hero):not(:has(.cp-drawer.is-open)) .cp-header:not(.is-stuck) .cp-topbar,
body:has(.cp-wa-band__video, .cp-actu-band__video, .cp-pj-hero, .cp-sx-hero):not(:has(.cp-drawer.is-open)) .cp-header:not(.is-stuck) .cp-bar { background-color: transparent; }
body:has(.cp-wa-band__video, .cp-actu-band__video, .cp-pj-hero, .cp-sx-hero) .cp-header.is-stuck::before,
body:has(.cp-wa-band__video, .cp-actu-band__video, .cp-pj-hero, .cp-sx-hero):has(.cp-drawer.is-open) .cp-header::before { opacity: 0; }
