/* ==========================================================================
   Yellow Conseil — styles du thème (site et éditeur)
   Couleurs et polices : theme.json. Ici : composants propres au site.
   ========================================================================== */

:root {
	--yc-jaune: var(--wp--preset--color--jaune, #FAEA28);
	--yc-noir: var(--wp--preset--color--noir, #000);
	--yc-moana: var(--wp--preset--color--moana, #0B3442);
	--yc-nacre: var(--wp--preset--color--nacre, #EDF2F1);
	--yc-ardoise: var(--wp--preset--color--ardoise, #24343A);
	--yc-gris: var(--wp--preset--color--gris, #5E6E74);
	--yc-filet: #B7C3C3;
	--yc-titres: var(--wp--preset--font-family--titres);
	--yc-interface: var(--wp--preset--font-family--interface);
	--yc-texte: var(--wp--preset--font-family--texte);
	--yc-section: var(--wp--preset--spacing--80, clamp(64px, 8vw, 104px));
	/* Frise tapa : double rangée de fanions entre deux traits, jaune sur Bleu Moana (24 px, pas de 20 px) */
	--yc-frise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='24' viewBox='0 0 20 24'%3E%3Crect width='20' height='24' fill='%230B3442'/%3E%3Crect y='0.25' width='20' height='1.75' fill='%23FAEA28'/%3E%3Crect y='22' width='20' height='1.75' fill='%23FAEA28'/%3E%3Cpath d='M0 4.5 18.75 8.25 0 12ZM0 12 18.75 15.75 0 19.5Z' fill='%23FAEA28'/%3E%3C/svg%3E");
	/* Motif de losanges du bandeau de contact */
	--yc-losanges: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath d='M18 7 29 18 18 29 7 18Z' fill='none' stroke='%23D8C714' stroke-width='1.3'/%3E%3Cpath d='M18 15.5 20.5 18 18 20.5 15.5 18Z' fill='%23D8C714'/%3E%3C/svg%3E");
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
img { max-width: 100%; height: auto; }

/* Les grandes zones (en-tête, contenu, bandeau, pied) se touchent */
.wp-site-blocks > * { margin-block: 0; }
.yc-main { margin: 0; }
.yc-main .wp-block-post-content > * { margin-block-start: 0; margin-block-end: 0; }

:where(a, button, input, summary):focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

/* Liens dans le texte courant */
.wp-block-post-content :where(p, li) a:not(.wp-element-button) {
	color: inherit;
	text-decoration: underline;
	text-decoration-color: var(--yc-jaune);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}
.wp-block-post-content :where(p, li) a:not(.wp-element-button):hover { text-decoration-color: currentColor; }

h1, h2, h3, h4 { margin-block-start: 0; text-wrap: balance; }
p { text-wrap: pretty; }

/* ---------- Frise -------------------------------------------------------- */
.yc-frise-after { position: relative; }
.yc-hero::after,
.yc-footer::before,
.yc-frise-after::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	height: 24px;
	background: var(--yc-frise) repeat-x left center / 20px 24px;
	z-index: 2;
	pointer-events: none;
}
.yc-hero::after, .yc-frise-after::after { bottom: 0; }
.yc-footer::before { top: 0; }

/* ---------- En-tête ------------------------------------------------------ */
.yc-header-wrap { background: #fff; position: relative; z-index: 30; }
.yc-header { min-height: 92px; gap: 24px; padding-block: 12px; }
.yc-logo { display: block; line-height: 0; flex: none; }
.yc-logo img { height: 50px; width: auto; display: block; }
.yc-nav .wp-block-navigation__container { gap: 26px; align-items: center; }
.yc-nav .wp-block-navigation-item__content { padding: 6px 0; color: var(--yc-noir); text-decoration: none; }
.yc-nav .wp-block-navigation-item:not(.yc-nav-cta) .wp-block-navigation-item__content {
	background-image: linear-gradient(var(--yc-jaune), var(--yc-jaune));
	background-repeat: no-repeat;
	background-position: 0 100%;
	background-size: 0 3px;
	transition: background-size .2s ease;
}
.yc-nav .wp-block-navigation-item:not(.yc-nav-cta) .wp-block-navigation-item__content:hover,
.yc-nav .current-menu-item:not(.yc-nav-cta) > .wp-block-navigation-item__content { background-size: 100% 3px; }
.yc-nav .yc-nav-cta > .wp-block-navigation-item__content {
	background: var(--yc-jaune);
	padding: 15px 20px;
	font-weight: 600;
	transition: background-color .2s ease, color .2s ease;
}
.yc-nav .yc-nav-cta > .wp-block-navigation-item__content:hover,
.yc-nav .yc-nav-cta.current-menu-item > .wp-block-navigation-item__content { background: var(--yc-noir); color: var(--yc-jaune); }

/* Bouton « Menu » (sous 1024 px) */
.yc-nav .wp-block-navigation__responsive-container-open {
	align-items: center;
	gap: 10px;
	padding: 8px 0;
	font-family: var(--yc-interface);
	font-size: 15.3px;
	font-weight: 500;
	color: var(--yc-noir);
}
.yc-nav .wp-block-navigation__responsive-container-open::after { content: "Menu"; }
.yc-nav .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }
@media (max-width: 599.98px) {
	.yc-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
}
@media (min-width: 600px) and (max-width: 1099.98px) {
	.yc-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.yc-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
.yc-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: #fff;
	color: var(--yc-noir);
	padding: 24px var(--wp--preset--spacing--gutter, 24px);
}
.yc-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 64px; }
.yc-nav .is-menu-open .wp-block-navigation__container { gap: 18px; }
.yc-nav .is-menu-open .wp-block-navigation-item__content { font-size: 19.8px; }
.yc-nav .is-menu-open .yc-nav-cta { margin-top: 12px; }
.yc-nav .is-menu-open .yc-nav-cta > .wp-block-navigation-item__content { font-size: 16.2px; }

/* ---------- Bandeaux d'ouverture (Couverture) ----------------------------- */
.yc-hero.wp-block-cover {
	min-height: 470px;
	padding-top: clamp(56px, 8vw, 100px);
	padding-bottom: calc(clamp(56px, 8vw, 96px) + 24px);
	padding-left: var(--wp--style--root--padding-left, 20px);
	padding-right: var(--wp--style--root--padding-right, 20px);
	align-items: center;
	color: #fff;
}
.yc-hero--accueil.wp-block-cover { min-height: 650px; }
.yc-hero--simple.wp-block-cover { min-height: 300px; }
.yc-hero.wp-block-cover .wp-block-cover__inner-container { width: 100% !important; max-width: var(--wp--style--global--content-size, 1120px) !important; margin-inline: auto !important; color: #fff; }
.yc-hero .wp-block-cover__inner-container > * { max-width: 660px; margin-left: 0 !important; margin-right: auto !important; }
.yc-hero .wp-block-cover__inner-container > h1 { max-width: 900px; }
.yc-hero h1 { color: #fff; margin: 0 0 28px; }
.yc-hero--accueil h1 { font-size: clamp(34.2px, 1.98rem + 2.16vw, 54px); max-width: 920px !important; }
.yc-hero .yc-lead { color: rgba(255, 255, 255, .93); margin: 0; }
.yc-hero .wp-block-buttons { margin-top: 40px; }
.yc-breadcrumb {
	font-family: var(--yc-interface);
	font-size: 12.6px;
	color: rgba(255, 255, 255, .82);
	margin: 0 0 18px;
}
.wp-block-post-content .yc-breadcrumb a, .yc-breadcrumb a { color: inherit; text-decoration: none; }
.wp-block-post-content .yc-breadcrumb a:hover, .yc-breadcrumb a:hover { text-decoration: underline; text-decoration-color: currentColor; }
@media (max-width: 781.98px) {
	.yc-hero.wp-block-cover { min-height: 0; }
	.yc-hero--accueil.wp-block-cover { min-height: 0; }
	.yc-hero .wp-block-cover__background { background: linear-gradient(180deg, rgba(11, 52, 66, .93), rgba(11, 52, 66, .84)) !important; opacity: 1 !important; }
}

/* ---------- Sections ------------------------------------------------------ */
.yc-section { padding-top: var(--yc-section); padding-bottom: var(--yc-section); }
.yc-section--court { padding-top: clamp(40px, 5vw, 56px); padding-bottom: clamp(40px, 5vw, 56px); }
.yc-section--sans-bas { padding-bottom: 0; }
.yc-section--haut-court { padding-top: clamp(40px, 5vw, 56px); }
.yc-section--haut-nul { padding-top: 0; }
.yc-encadre { margin-top: clamp(16px, 3vw, 32px) !important; }
.yc-section > h2:first-child { margin-bottom: clamp(32px, 4vw, 48px); }
.has-moana-background-color { color: #fff; }
.has-moana-background-color :is(h1, h2, h3, h4) { color: #fff; }
.yc-lead { font-size: var(--wp--preset--font-size--chapo); line-height: 1.6; }
.yc-sub { color: var(--yc-gris); font-size: var(--wp--preset--font-size--texte); line-height: 1.7; }
.yc-tag {
	display: inline-block;
	background: var(--yc-moana);
	color: var(--yc-jaune);
	font-family: var(--yc-interface);
	font-size: 12.6px;
	font-weight: 600;
	line-height: 1.3;
	padding: 6px 10px;
	margin: 0 0 14px;
}
.yc-tag + h2 { margin-top: 0; }

/* Colonnes : écarts généreux */
.wp-block-columns.yc-cols { gap: clamp(28px, 4vw, 48px); margin-block: 0; }
.wp-block-columns.yc-cols--large { gap: clamp(32px, 6vw, 80px); }
.yc-intro h2 { margin: 0; }
.yc-intro p { margin-top: 0; margin-bottom: 0; }
.yc-intro p + p { margin-top: 18px; }
.yc-intro .yc-lead + p { color: var(--yc-ardoise); }

/* En-tête de section : titre à gauche, sous-titre à droite */
.yc-section-head { margin-bottom: clamp(32px, 4vw, 48px) !important; align-items: flex-end; }
.yc-section-head h2 { margin: 0; }
.yc-section-head .yc-sub { margin: 0; }

/* ---------- Listes à triangles -------------------------------------------- */
ul.yc-tri, .yc-tri ul { list-style: none; padding-left: 0; margin: 0; }
ul.yc-tri > li { position: relative; padding-left: 22px; margin: 0 0 10px; }
ul.yc-tri > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .5em;
	width: 10px;
	height: 9px;
	background: var(--yc-moana);
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
ul.yc-tri--ui { font-family: var(--yc-interface); font-size: 12.6px; line-height: 1.5; color: var(--yc-ardoise); }
ul.yc-tri--ui > li::before { top: .42em; }
ul.yc-tri--filets > li { padding: 13px 0 14px 28px; margin: 0; border-bottom: 1px dashed #CFD8D7; line-height: 1.55; font-size: 15.3px; }
ul.yc-tri--filets > li:last-child { border-bottom: 0; }
ul.yc-tri--filets > li::before { top: 1.25em; }

/* ---------- Cartes des expertises (accueil) ------------------------------- */
.yc-cards { gap: 32px !important; }
.yc-cards .wp-block-image { margin: 0 0 24px; }
.yc-cards .wp-block-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.yc-cards h3 { margin: 0 0 10px; }
.yc-cards h3 a { color: inherit; text-decoration: none; }
.yc-cards h3 a:hover { text-decoration: underline; text-decoration-color: var(--yc-jaune); text-decoration-thickness: 3px; }
.yc-cards p { font-size: 15.3px; line-height: 1.6; margin: 0 0 16px; }
.yc-cards ul.yc-tri { margin-bottom: 18px; }
.yc-more { margin: 0; font-family: var(--yc-interface); font-size: 14.4px; font-weight: 600; }
.wp-block-post-content p.yc-more a:not(.wp-element-button),
.yc-more a {
	color: var(--yc-noir);
	text-decoration: none;
	border-bottom: 3px solid var(--yc-jaune);
	padding-bottom: 5px;
	display: inline-block;
}
.yc-more a:hover { border-bottom-color: var(--yc-noir); }
@media (min-width: 782px) and (max-width: 1099.98px) {
	.wp-block-columns.yc-cards { flex-wrap: wrap !important; row-gap: 48px !important; }
	.wp-block-columns.yc-cards > .wp-block-column { flex-basis: calc(50% - 16px) !important; flex-grow: 0; }
}

/* ---------- Pourquoi Yellow Conseil (fond Bleu Moana) --------------------- */
.yc-why { gap: 0 !important; }
.yc-why > .wp-block-column { padding: 0 40px; border-left: 1px solid rgba(250, 234, 40, .28); }
.yc-why > .wp-block-column:first-child { padding-left: 0; border-left: 0; }
.yc-why h3 { font-size: 18px; margin: 0 0 14px; }
.yc-why h3::before {
	content: "";
	display: block;
	width: 30px;
	height: 14px;
	margin-bottom: 26px;
	background: var(--yc-jaune);
	clip-path: polygon(0 100%, 25% 0, 50% 100%, 75% 0, 100% 100%);
}
.yc-why p { color: rgba(255, 255, 255, .86); font-size: 15.3px; line-height: 1.7; margin: 0; }
@media (max-width: 781.98px) {
	.yc-why > .wp-block-column { padding: 28px 0 0; border-left: 0; border-top: 1px solid rgba(250, 234, 40, .28); }
	.yc-why > .wp-block-column:first-child { padding-top: 0; border-top: 0; }
}

/* ---------- Frise chronologique horizontale (accueil) ---------------------- */
ul.yc-timeline {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	color: var(--yc-ardoise);
	font-size: 14.4px;
	line-height: 1.6;
}
ul.yc-timeline > li { padding-right: 28px; margin: 0; }
ul.yc-timeline > li:last-child { padding-right: 0; }
ul.yc-timeline > li > strong:first-child,
ul.yc-vtimeline > li > strong:first-child {
	display: flex;
	align-items: center;
	font-family: var(--yc-titres);
	font-style: italic;
	font-weight: 900;
	font-size: 19.8px;
	line-height: 1.2;
	color: var(--yc-noir);
	margin-bottom: 12px;
}
ul.yc-timeline > li > strong:first-child::before,
ul.yc-vtimeline > li > strong:first-child::before {
	content: "";
	flex: none;
	width: 13px;
	height: 13px;
	background: var(--yc-jaune);
	border: 2px solid var(--yc-noir);
	transform: rotate(45deg);
	margin: 0 16px 0 3px;
}
ul.yc-timeline > li > strong:first-child::after {
	content: "";
	flex: 1;
	height: 2px;
	background: var(--yc-noir);
	margin-left: 14px;
	margin-right: -28px;
}
ul.yc-timeline > li:last-child > strong:first-child::after { margin-right: 0; }
@media (max-width: 781.98px) {
	ul.yc-timeline { grid-template-columns: 1fr; row-gap: 22px; }
	ul.yc-timeline > li { padding-right: 0; }
	ul.yc-timeline > li > strong:first-child::after { margin-right: 0; }
}

/* ---------- Frise chronologique verticale (parcours) ----------------------- */
ul.yc-vtimeline { list-style: none; padding: 6px 0 0; margin: 0; position: relative; }
ul.yc-vtimeline::before { content: ""; position: absolute; left: 10px; top: 14px; bottom: 8px; width: 2px; background: var(--yc-noir); }
ul.yc-vtimeline > li { position: relative; padding-left: 44px; margin: 0 0 26px; font-size: 14.4px; line-height: 1.6; color: var(--yc-ardoise); }
ul.yc-vtimeline > li:last-child { margin-bottom: 0; }
ul.yc-vtimeline > li > strong:first-child { margin: 0 0 4px -44px; }
ul.yc-vtimeline > li > strong:first-child::before { margin: 0 24px 0 3px; position: relative; z-index: 1; }
.yc-reperes h3 { font-size: 21.6px; margin-bottom: 28px; }

/* ---------- Secteurs d'intervention ---------------------------------------- */
.yc-h-petit { font-size: 21.6px !important; margin: 0 0 22px; }
ul.yc-sectors {
	list-style: none;
	margin: 0;
	padding: 28px 0 0;
	border-top: 2px solid var(--yc-noir);
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 24px 16px;
	font-family: var(--yc-interface);
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--yc-noir);
}
ul.yc-sectors > li { margin: 0; padding: 0; }
ul.yc-sectors > li::before {
	content: "";
	display: block;
	width: 34px;
	height: 34px;
	margin-bottom: 14px;
	background: var(--yc-moana);
	-webkit-mask: var(--yc-ico, url("../icons/banque.svg")) left center / contain no-repeat;
	mask: var(--yc-ico, url("../icons/banque.svg")) left center / contain no-repeat;
}
ul.yc-sectors > li.yc-s-banque { --yc-ico: url("../icons/banque.svg"); }
ul.yc-sectors > li.yc-s-telecom { --yc-ico: url("../icons/telecom.svg"); }
ul.yc-sectors > li.yc-s-aerien { --yc-ico: url("../icons/aerien.svg"); }
ul.yc-sectors > li.yc-s-sante { --yc-ico: url("../icons/sante.svg"); }
ul.yc-sectors > li.yc-s-industrie { --yc-ico: url("../icons/industrie.svg"); }
ul.yc-sectors > li.yc-s-energie { --yc-ico: url("../icons/energie.svg"); }
ul.yc-sectors > li.yc-s-distribution { --yc-ico: url("../icons/distribution.svg"); }
@media (max-width: 1099.98px) { ul.yc-sectors { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 559.98px) { ul.yc-sectors { grid-template-columns: repeat(2, 1fr); } }
.wp-block-separator.yc-sep { border: 0; border-top: 1px solid var(--yc-filet); margin: clamp(48px, 6vw, 64px) auto clamp(32px, 4vw, 44px) !important; height: 0; background: none; opacity: 1; width: 100% !important; max-width: var(--wp--style--global--content-size, 1120px) !important; }

/* ---------- Pour qui -------------------------------------------------------- */
.yc-forwho { padding-bottom: clamp(36px, 4vw, 48px); border-bottom: 1px solid var(--yc-filet); }
.yc-label { font-family: var(--yc-interface); font-size: 13.5px; font-weight: 600; color: var(--yc-noir); margin: 0; }
.yc-h-ui {
	font-family: var(--yc-interface) !important;
	font-style: normal !important;
	font-weight: 600 !important;
	font-size: 15.3px !important;
	line-height: 1.45 !important;
	letter-spacing: 0 !important;
	color: var(--yc-noir);
	margin: 0 0 8px !important;
}
.yc-forwho p:not(.yc-label) { font-family: var(--yc-interface); font-size: 13.5px; line-height: 1.6; color: var(--yc-gris); margin: 0; }

/* ---------- Situations « Vous souhaitez… / Notre intervention » ------------ */
.yc-situations { padding-top: clamp(16px, 2vw, 24px); }
.yc-situation { padding: clamp(48px, 5vw, 64px) 0; margin-block: 0 !important; }
.yc-situation + .yc-situation { border-top: 1px solid var(--yc-filet); }
.yc-situation .wp-block-columns { margin: 0; }
h2.yc-situation__label {
	display: inline-block;
	font-family: var(--yc-interface);
	font-style: normal;
	font-weight: 600;
	font-size: 13.5px;
	line-height: 1.4;
	letter-spacing: 0;
	color: var(--yc-noir);
	border-bottom: 3px solid var(--yc-jaune);
	padding-bottom: 6px;
	margin: 0 0 22px;
}
.yc-question { font-style: italic; font-size: var(--wp--preset--font-size--question); line-height: 1.4; color: #11191C; margin: 0; }
.yc-eyebrow { font-family: var(--yc-interface); font-size: 12px; font-weight: 600; color: var(--yc-gris); margin: 0 0 6px; letter-spacing: .01em; }
.yc-situation--avant {
	background: var(--yc-nacre);
	border-left: 6px solid var(--yc-jaune);
	padding: clamp(40px, 5vw, 56px) 40px clamp(40px, 5vw, 56px) 34px !important;
	margin-top: 8px !important;
}
.yc-situation + .yc-situation--avant { border-top: 0; }
@media (max-width: 781.98px) {
	.yc-situation--avant { padding-left: 20px !important; padding-right: 20px !important; }
}

/* ---------- Voir aussi ------------------------------------------------------ */
.yc-voir-aussi h2 { margin: 0; }
.yc-voir-aussi .yc-lead { margin-top: 0; }
.wp-block-button.is-style-noir .wp-block-button__link { background: var(--yc-noir); color: var(--yc-jaune); }
.wp-block-button.is-style-noir .wp-block-button__link:hover { background: var(--yc-jaune); color: var(--yc-noir); }

/* ---------- Domaines de spécialisation (projets) --------------------------- */
.yc-spec { gap: 28px !important; }
.yc-card { background: #fff; border-top: 3px solid var(--yc-moana); padding: clamp(28px, 3vw, 44px) clamp(24px, 3vw, 36px) !important; }
.yc-card h3 { margin: 0 0 12px; }
.yc-card p { font-size: 15.3px; line-height: 1.7; margin: 0; }
.yc-note { border-left: 3px solid var(--yc-jaune); padding: 2px 0 2px 18px; font-size: 15.3px; margin-top: 36px !important; margin-bottom: 0 !important; }

/* ---------- Encadré (fraude) ------------------------------------------------ */
.yc-encadre {
	background: var(--yc-moana);
	color: #fff;
	position: relative;
	padding: clamp(32px, 4vw, 48px) clamp(24px, 4vw, 48px) clamp(32px, 4vw, 48px) clamp(80px, 9vw, 118px) !important;
}
.yc-encadre::before {
	content: "";
	position: absolute;
	left: clamp(24px, 3.4vw, 48px);
	top: clamp(34px, 4vw, 50px);
	width: 34px;
	height: 34px;
	background: var(--yc-jaune);
	-webkit-mask: url("../icons/cadenas.svg") center / contain no-repeat;
	mask: url("../icons/cadenas.svg") center / contain no-repeat;
}
.yc-encadre h2 { color: #fff; font-size: 18.9px; margin: 0 0 8px; }
.yc-encadre p { color: rgba(255, 255, 255, .88); font-size: 15.3px; line-height: 1.7; margin: 0; }

/* ---------- Mon approche (parcours) ----------------------------------------- */
.yc-approche { display: grid !important; grid-template-columns: 1fr 1fr; border-bottom: 1px solid #D3DCDB; }
.yc-approche > * { border-top: 1px solid #D3DCDB; padding: 40px 48px 44px 0; margin: 0 !important; }
.yc-approche > *:nth-child(even) { border-left: 1px solid #D3DCDB; padding-left: 48px; padding-right: 0; }
.yc-approche h3 { font-size: 18px; margin: 0 0 12px; }
.yc-approche p { font-size: 14.85px; line-height: 1.7; margin: 0; }
@media (max-width: 781.98px) {
	.yc-approche { grid-template-columns: 1fr; }
	.yc-approche > *, .yc-approche > *:nth-child(even) { border-left: 0; padding: 28px 0 32px; }
}
.yc-qui p { font-size: 16.2px; line-height: 1.85; }

/* ---------- Contact ---------------------------------------------------------- */
.yc-contact { margin-block: 0 !important; }
.yc-contact > .wp-block-columns { gap: 0 !important; margin: 0; align-items: stretch !important; }
.yc-contact__main {
	padding: clamp(48px, 7vw, 88px) clamp(24px, 5vw, 72px) clamp(56px, 7vw, 88px) max(var(--wp--style--root--padding-left, 20px), calc((100vw - 1120px) / 2)) !important;
}
.yc-contact__main h1 { margin: 0 0 22px; }
.yc-contact__main .yc-lead { margin: 0 0 clamp(32px, 4vw, 48px); max-width: 500px; }
.yc-contact-list { border-bottom: 1px solid var(--yc-filet); max-width: 580px; margin: 0 !important; }
.yc-contact-row {
	display: grid !important;
	grid-template-columns: 170px 1fr;
	gap: 0 12px !important;
	align-items: baseline;
	border-top: 1px solid var(--yc-filet);
	padding: 26px 0;
	margin: 0 !important;
}
.yc-contact-row > * { margin: 0 !important; }
.yc-contact-row__label { font-family: var(--yc-interface); font-size: 13.5px; font-weight: 600; color: var(--yc-gris); }
.yc-contact-row__value { font-size: 17.1px; line-height: 1.55; color: var(--yc-ardoise); }
.wp-block-post-content .yc-contact-row__value a, .yc-contact-row__value a { color: inherit; text-decoration: none; }
.wp-block-post-content .yc-contact-row__value a:hover { text-decoration: underline; text-decoration-color: var(--yc-jaune); }
.yc-tel { font-family: var(--yc-titres); font-style: italic; font-weight: 900; font-size: clamp(25.2px, 1.26rem + 1.08vw, 32.4px); line-height: 1.1; color: var(--yc-noir); letter-spacing: -0.01em; }
.yc-mail { font-family: var(--yc-interface); font-weight: 500; font-size: clamp(16.2px, .9rem + .36vw, 18.9px); color: var(--yc-noir); word-break: break-word; }
.yc-small { font-size: 14.4px; line-height: 1.7; color: var(--yc-gris); margin-top: 36px !important; max-width: 520px; }
.yc-contact__visual { position: relative; min-height: 560px; background: var(--yc-moana); }
.yc-contact__visual .wp-block-image { position: absolute; inset: 0; margin: 0; }
.yc-contact__visual .wp-block-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 781.98px) {
	.yc-contact-row { grid-template-columns: 1fr; gap: 6px !important; }
	.yc-contact__visual { display: none; }
	.yc-contact__main { padding-left: var(--wp--style--root--padding-left, 20px) !important; padding-right: var(--wp--style--root--padding-right, 20px) !important; }
}

/* ---------- Bandeau jaune de contact ------------------------------------------ */
.yc-band { position: relative; overflow: hidden; padding-top: 56px !important; padding-bottom: 56px !important; }
.yc-band::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 34%;
	background: var(--yc-losanges) repeat right top / 36px 36px;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 45%);
	mask-image: linear-gradient(90deg, transparent, #000 45%);
	pointer-events: none;
}
.yc-band > * { position: relative; }
.yc-band .wp-block-columns { align-items: center !important; margin: 0; }
.yc-band h2 { margin: 0; font-size: clamp(25.2px, 1.17rem + 1.44vw, 36px); }
.yc-band__tel { margin: 0 0 6px; font-family: var(--yc-titres); font-style: italic; font-weight: 900; font-size: clamp(27px, 1.26rem + 1.35vw, 36px); line-height: 1.1; letter-spacing: -0.01em; }
.yc-band__mail { margin: 0 0 22px; font-family: var(--yc-interface); font-weight: 500; font-size: 16.2px; }
.yc-band a:not(.wp-element-button) { color: var(--yc-noir); text-decoration: none; }
.yc-band a:not(.wp-element-button):hover { text-decoration: underline; }
.yc-band .wp-block-buttons { margin: 0; }

/* ---------- Pied de page ------------------------------------------------------- */
.yc-footer { position: relative; padding-top: calc(24px + clamp(48px, 5vw, 64px)) !important; padding-bottom: 0 !important; font-family: var(--yc-interface); font-size: 13.5px; }
.yc-footer .wp-block-columns { margin: 0; }
.yc-footer__logo { display: block; line-height: 0; margin-bottom: 22px; }
.yc-footer__logo img { height: 46px; width: auto; }
.yc-footer__pitch { font-family: var(--yc-texte); color: rgba(255, 255, 255, .78); line-height: 1.65; max-width: 290px; margin: 0; }
.yc-footer h2.yc-footer__titre { font-family: var(--yc-interface); font-style: normal; font-weight: 600; font-size: 13.5px; letter-spacing: 0; color: #fff; margin: 4px 0 16px; }
.yc-footer ul { list-style: none; padding: 0; margin: 0; }
.yc-footer li { margin: 0 0 6px; }
.yc-footer a { color: rgba(255, 255, 255, .82); text-decoration: none; }
.yc-footer a:hover { color: #fff; text-decoration: underline; text-decoration-color: var(--yc-jaune); text-underline-offset: 3px; }
.yc-footer p { color: rgba(255, 255, 255, .82); line-height: 1.7; }
.yc-footer__coord { margin: 0; }
.yc-footer__bas {
	margin-top: clamp(40px, 5vw, 56px) !important;
	border-top: 1px solid rgba(255, 255, 255, .13);
	padding: 22px 0 26px;
	font-size: 12px;
	gap: 8px 24px;
}
.yc-footer__bas p { margin: 0; color: rgba(255, 255, 255, .62); }
.yc-footer__bas a { color: rgba(255, 255, 255, .62); }

/* ---------- Mentions légales ---------------------------------------------------- */
.yc-legal { max-width: 760px; margin-left: max(0px, calc((100% - var(--wp--style--global--content-size, 1120px)) / 2)) !important; }
.yc-legal h2 { font-size: 21.6px; margin: 44px 0 12px; }
.yc-legal h2:first-child { margin-top: 0; }
.yc-legal p { margin: 0 0 10px; }

/* ---------- Divers -------------------------------------------------------------- */
.yc-404 { text-align: left; }
.screen-reader-text:focus { background: #fff; color: #000; }
@media print {
	.yc-header-wrap .yc-nav, .yc-band, .yc-hero::after, .yc-footer::before { display: none !important; }
}

/* Menu ouvert (mobile, tablette) : liens alignés à gauche */
.yc-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.yc-nav .is-menu-open .wp-block-navigation__container { align-items: flex-start !important; justify-content: flex-start !important; }
.yc-nav .is-menu-open .yc-nav-cta > .wp-block-navigation-item__content { padding: 14px 22px; }
