/*
Theme Name: CDA FSE Theme
Theme URI: https://cdafrance.com
Description: Theme enfant de Twenty Twenty-Five.
Author: CDA France
Author URI: https://cdafrance.com
Template: twentytwentyfive
Version: 1.0.0
Text Domain: cda-fse-theme
*/

/* Ajoute ici tes surcharges CSS du theme parent. */

.cda-fse-header,
.cda-fse-footer {
	padding: 1rem 0;
}

.cda-fse-surnav {
	border-bottom: 1px solid #e5e5e5;
	padding-bottom: 0.5rem;
	margin-bottom: 0.75rem;
}

.cda-fse-main-nav-inner,
.cda-fse-surnav-inner {
	gap: 1rem;
}

.lang-selector {
	position: relative;
	display: inline-block;
}

.lang-selector .current-lang {
	cursor: pointer;
}

.lang-selector .other-langs {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 1000;
	min-width: 100%;
	background: #fff;
	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.15);
}

.lang-selector.show-dropdown .other-langs {
	display: block;
}

.lang-selector .other-langs a {
	display: block;
	padding: 0.5rem 0.75rem;
	text-decoration: none;
}

.lang-selector .other-langs a:hover {
	background: #f3f6f9;
}

.lang-selector__empty {
	margin: 0;
	padding: 0.5rem 0.75rem;
	font-size: 12px;
	white-space: nowrap;
}

.lang-selector .flag {
	display: block;
	width: 2.7rem;
	height: 1.9rem;
	background-size: cover;
}

.lang-selector .flag.flag-fr {
	background-image: url("images/flags/france.png");
}

.lang-selector .flag.flag-en {
	background-image: url("images/flags/uk.png");
}

.lang-selector .flag.flag-de {
	background-image: url("images/flags/germany.png");
}

.lang-selector .flag.flag-es {
	background-image: url("images/flags/spain.png");
}

.lang-selector .flag.flag-ru {
	background-image: url("images/flags/ru.png");
}

.cda-fse-footer {
	border-top: 1px solid #e5e5e5;
	margin-top: 1.5rem;
}

.cda-fse-footer-logo {
	max-width: 240px;
	height: auto;
}

/*
 * Styles CDA par bloc : blocks/{slug}/style.scss → style.css (npm run build:blocks).
 * Voir blocks/README.md
 */

/* Motif éditeur cda-card-base (évite styles inline désynchronisés sur core/group) */
.wp-block-group.cda-card.cda-card--static {
	padding: var(--wp--preset--spacing--30, 1.5rem);
	border: 1px solid var(--wp--preset--color--contrast, currentColor);
}

.cda-tech-docs {
	list-style: none;
	padding: 0;
	margin: 0;
}

.cda-tech-docs__item {
	padding: 0.5rem 0;
	border-bottom: 1px solid #e5e5e5;
}

.cda-tech-docs__link {
	font-weight: 600;
}

.cda-tech-docs__meta {
	display: block;
	font-size: 0.85rem;
	color: #666;
	margin-top: 0.15rem;
}

/* Gouttières horizontales — padding interne du contenu éditorial */
.single-page-wrapper .wp-block-post-content,
.site-main .wp-block-post-content {
	box-sizing: border-box;
	padding-left: var(--cda-site-gutter, 350px);
	padding-right: var(--cda-site-gutter, 350px);
}

/* Espacement global entre blocs empilés : 0 par défaut (ajuster via Marge/Padding des Groupes) */
.single-page-wrapper .wp-block-post-content.is-layout-flow > *,
.site-main .wp-block-post-content.is-layout-flow > *,
.single-page-wrapper .wp-block-post-content.is-layout-constrained > *,
.site-main .wp-block-post-content.is-layout-constrained > * {
	margin-block-start: 0;
}

/* Conteneur rangée cartes catégorie produit — fond blanc pleine largeur viewport + contenu dans les gouttières */
.single-page-wrapper .wp-block-post-content > .wp-block-group.is-layout-flex:has(.cda-mkt-block--product-square-category),
.site-main .wp-block-post-content > .wp-block-group.is-layout-flex:has(.cda-mkt-block--product-square-category) {
	box-sizing: border-box;
	background-color: #fff;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-top: var(--wp--preset--spacing--40, 40px);
	padding-bottom: var(--wp--preset--spacing--40, 40px);
	padding-left: var(--cda-site-gutter, 350px) !important;
	padding-right: var(--cda-site-gutter, 350px) !important;
}

/* Blocs alignfull « contenu » : restent dans les gouttières (annule le 100vw core) */
.single-page-wrapper .wp-block-post-content > .alignfull:not(.wp-block-cda-hero-banner):not(.wp-block-cda-header-banner):not(.wp-block-cda-legacy-header):not(.fluid-container),
.site-main .wp-block-post-content > .alignfull:not(.wp-block-cda-hero-banner):not(.wp-block-cda-header-banner):not(.wp-block-cda-legacy-header):not(.fluid-container) {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Hero / header : pleine largeur (sortent du padding parent) */
.single-page-wrapper .wp-block-post-content > .alignfull.wp-block-cda-hero-banner,
.single-page-wrapper .wp-block-post-content > .alignfull.wp-block-cda-header-banner,
.single-page-wrapper .wp-block-post-content > .wp-block-cda-legacy-header,
.single-page-wrapper .wp-block-post-content > .wp-block-cda-hero-banner.alignfull,
.single-page-wrapper .wp-block-post-content > .wp-block-cda-header-banner.alignfull,
.single-page-wrapper .wp-block-post-content > .wp-block-cda-legacy-header.alignfull,
.site-main .wp-block-post-content > .alignfull.wp-block-cda-hero-banner,
.site-main .wp-block-post-content > .alignfull.wp-block-cda-header-banner,
.site-main .wp-block-post-content > .alignfull.wp-block-cda-legacy-header {
	box-sizing: border-box;
	width: calc(100% + (2 * var(--cda-site-gutter, 350px)));
	max-width: 100vw;
	margin-left: calc(-1 * var(--cda-site-gutter, 350px));
	margin-right: calc(-1 * var(--cda-site-gutter, 350px));
}

/* Legacy accueil : bandeau pleine largeur, contenu intérieur dans .container */
.single-page-wrapper .wp-block-post-content > .alignfull.fluid-container,
.single-page-wrapper .wp-block-post-content .alignfull.fluid-container.bloc-pushs-products,
.site-main .wp-block-post-content > .alignfull.fluid-container,
.site-main .wp-block-post-content .alignfull.fluid-container.bloc-pushs-products,
#wrapper-front-page > .alignfull.fluid-container {
	box-sizing: border-box;
	width: calc(100% + (2 * var(--cda-site-gutter, 350px)));
	max-width: 100vw;
	margin-left: calc(-1 * var(--cda-site-gutter, 350px));
	margin-right: calc(-1 * var(--cda-site-gutter, 350px));
	padding-left: 0;
	padding-right: 0;
}

@media (max-width: 991px) {
	.single-page-wrapper .wp-block-post-content,
	.site-main .wp-block-post-content {
		padding-left: var(--cda-site-gutter-mobile, 16px);
		padding-right: var(--cda-site-gutter-mobile, 16px);
	}

	.single-page-wrapper .wp-block-post-content > .alignfull.wp-block-cda-hero-banner,
	.single-page-wrapper .wp-block-post-content > .alignfull.wp-block-cda-header-banner,
	.single-page-wrapper .wp-block-post-content > .wp-block-cda-legacy-header,
	.single-page-wrapper .wp-block-post-content > .wp-block-cda-hero-banner.alignfull,
	.single-page-wrapper .wp-block-post-content > .wp-block-cda-header-banner.alignfull,
	.single-page-wrapper .wp-block-post-content > .wp-block-cda-legacy-header.alignfull,
	.site-main .wp-block-post-content > .alignfull.wp-block-cda-hero-banner,
	.site-main .wp-block-post-content > .alignfull.wp-block-cda-header-banner,
	.site-main .wp-block-post-content > .alignfull.wp-block-cda-legacy-header,
	.single-page-wrapper .wp-block-post-content > .alignfull.fluid-container,
	.site-main .wp-block-post-content > .alignfull.fluid-container,
	#wrapper-front-page > .alignfull.fluid-container {
		width: calc(100% + (2 * var(--cda-site-gutter-mobile, 16px)));
		margin-left: calc(-1 * var(--cda-site-gutter-mobile, 16px));
		margin-right: calc(-1 * var(--cda-site-gutter-mobile, 16px));
	}

	.single-page-wrapper .wp-block-post-content > .wp-block-group.is-layout-flex:has(.cda-mkt-block--product-square-category),
	.site-main .wp-block-post-content > .wp-block-group.is-layout-flex:has(.cda-mkt-block--product-square-category) {
		padding-left: var(--cda-site-gutter-mobile, 16px);
		padding-right: var(--cda-site-gutter-mobile, 16px);
	}
}

/* Front page FSE: keep legacy sections wide on large screens. */
body.home .single-page-wrapper.site-main,
body.home #wrapper-front-page {
	max-width: none !important;
	width: 100%;
	overflow: visible;
}

body.home #wrapper-front-page > .alignfull.fluid-container.bloc-pushs-products {
	box-sizing: border-box;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	padding-left: 0;
	padding-right: 0;
	width: 100% !important;
}

body.home #wrapper-front-page > .alignfull.fluid-container.bloc-pushs-products > .container,
body.home #wrapper-front-page > .alignfull.fluid-container.bloc-pushs-products > .container.md-fullwidth {
	box-sizing: border-box;
	max-width: 100% !important;
	padding-left: 0;
	padding-right: 0;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

@media (max-width: 991px) {
	body.home #wrapper-front-page > .alignfull.fluid-container.bloc-pushs-products > .container,
	body.home #wrapper-front-page > .alignfull.fluid-container.bloc-pushs-products > .container.md-fullwidth {
		width: 100% !important;
	}
}

/* Empêche le scroll horizontal (alignfull, animations translateX, etc.). */
html {
	overflow-x: clip;
}

body {
	overflow-x: clip;
	background-color: #ffffff;
}

.wp-site-blocks {
	max-width: 100%;
	overflow-x: clip;
}

.bloc-featured-products .products,
.bloc-clients .clients,
.bloc-groupe-process .process,
.missions.container {
	overflow-x: clip;
}

/* Contenu Gutenberg — largeur utile (gouttières responsive via --cda-site-gutter-total) */
.single-page-wrapper .wp-block-post-content.is-layout-constrained,
.site-main .wp-block-post-content.is-layout-constrained {
	box-sizing: border-box;
	max-width: min(1160px, calc(100vw - var(--cda-site-gutter-total, 700px)));
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

/*
 * Fiches produit : fil d’Ariane legacy en flux (évite le chevauchement
 * position:absolute / z-index:10 sur le titre du hero).
 * Pas de marge sous le fil d’Ariane — collé au hero (#f5f5f5 continu).
 */
body[class*="single-product"] .breadcrumb {
	position: static;
	z-index: auto;
	left: auto;
	right: auto;
	margin-bottom: 0;
}

/*
 * Fiches produit : mêmes gouttières que la home (padding --cda-site-gutter),
 * pas de colonne Gutenberg constrained centrée à 1160px.
 */
body[class*="single-product"] #single-wrapper.site-main {
	box-sizing: border-box;
	max-width: none !important;
	width: 100%;
	padding-left: var(--cda-site-gutter, 350px);
	padding-right: var(--cda-site-gutter, 350px);
}

body[class*="single-product"] #single-wrapper > * {
	box-sizing: border-box;
	max-width: 100% !important;
	width: 100%;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Le main porte déjà les gouttières — pas de double padding / breakout sur post-content */
body[class*="single-product"] #single-wrapper > .wp-block-post-content {
	padding-left: 0;
	padding-right: 0;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body[class*="single-product"] #single-wrapper > .wp-block-post-content > * {
	max-width: 100%;
}

/*
 * alignfull + bandes produit : pleine largeur (annule les gouttières du main).
 * Les sections vivent dans post-content (composition par fiche) ; garder aussi
 * le sélecteur direct pour d’éventuels templates non migrés.
 */
body[class*="single-product"] #single-wrapper > .alignfull:not(.wp-block-post-content),
body[class*="single-product"] #single-wrapper .wp-block-post-content > .alignfull,
body[class*="single-product"] #single-wrapper > .cda-product-hero,
body[class*="single-product"] #single-wrapper > .cda-product-description,
body[class*="single-product"] #single-wrapper > .cda-product-specs,
body[class*="single-product"] #single-wrapper > .cda-product-highlights,
body[class*="single-product"] #single-wrapper > .cda-product-sectors-video,
body[class*="single-product"] #single-wrapper > .cda-product-related,
body[class*="single-product"] #single-wrapper > .cda-product-references,
body[class*="single-product"] #single-wrapper > .cda-product-faq,
body[class*="single-product"] #single-wrapper > .cda-trust-bar,
body[class*="single-product"] #single-wrapper .wp-block-post-content > .cda-product-hero,
body[class*="single-product"] #single-wrapper .wp-block-post-content > .cda-product-description,
body[class*="single-product"] #single-wrapper .wp-block-post-content > .cda-product-specs,
body[class*="single-product"] #single-wrapper .wp-block-post-content > .cda-product-highlights,
body[class*="single-product"] #single-wrapper .wp-block-post-content > .cda-product-sectors-video,
body[class*="single-product"] #single-wrapper .wp-block-post-content > .cda-product-related,
body[class*="single-product"] #single-wrapper .wp-block-post-content > .cda-product-references,
body[class*="single-product"] #single-wrapper .wp-block-post-content > .cda-product-faq,
body[class*="single-product"] #single-wrapper .wp-block-post-content > .cda-trust-bar {
	box-sizing: border-box;
	width: calc(100% + (2 * var(--cda-site-gutter, 350px))) !important;
	max-width: none !important;
	margin-left: calc(-1 * var(--cda-site-gutter, 350px)) !important;
	margin-right: calc(-1 * var(--cda-site-gutter, 350px)) !important;
}

@media (max-width: 991px) {
	body[class*="single-product"] #single-wrapper.site-main {
		padding-left: var(--cda-site-gutter-mobile, 16px);
		padding-right: var(--cda-site-gutter-mobile, 16px);
	}

	body[class*="single-product"] #single-wrapper > .alignfull:not(.wp-block-post-content),
	body[class*="single-product"] #single-wrapper .wp-block-post-content > .alignfull,
	body[class*="single-product"] #single-wrapper > .cda-product-hero,
	body[class*="single-product"] #single-wrapper > .cda-product-description,
	body[class*="single-product"] #single-wrapper > .cda-product-specs,
	body[class*="single-product"] #single-wrapper > .cda-product-highlights,
	body[class*="single-product"] #single-wrapper > .cda-product-sectors-video,
	body[class*="single-product"] #single-wrapper > .cda-product-related,
	body[class*="single-product"] #single-wrapper > .cda-product-references,
	body[class*="single-product"] #single-wrapper > .cda-product-faq,
	body[class*="single-product"] #single-wrapper > .cda-trust-bar,
	body[class*="single-product"] #single-wrapper .wp-block-post-content > .cda-product-hero,
	body[class*="single-product"] #single-wrapper .wp-block-post-content > .cda-product-description,
	body[class*="single-product"] #single-wrapper .wp-block-post-content > .cda-product-specs,
	body[class*="single-product"] #single-wrapper .wp-block-post-content > .cda-product-highlights,
	body[class*="single-product"] #single-wrapper .wp-block-post-content > .cda-product-sectors-video,
	body[class*="single-product"] #single-wrapper .wp-block-post-content > .cda-product-related,
	body[class*="single-product"] #single-wrapper .wp-block-post-content > .cda-product-references,
	body[class*="single-product"] #single-wrapper .wp-block-post-content > .cda-product-faq,
	body[class*="single-product"] #single-wrapper .wp-block-post-content > .cda-trust-bar {
		width: calc(100% + (2 * var(--cda-site-gutter-mobile, 16px))) !important;
		margin-left: calc(-1 * var(--cda-site-gutter-mobile, 16px)) !important;
		margin-right: calc(-1 * var(--cda-site-gutter-mobile, 16px)) !important;
	}
}

/*
 * html { font-size: 8px } (legacy) : utiliser px pour la typo maquette (titres 32 / textes 20).
 */
body[class*="single-product"] .wp-block-post-content {
	font-size: 20px;
	line-height: 1.5;
}

body[class*="single-product"] .wp-block-post-content :where(p),
body[class*="single-product"] .wp-block-post-content :where(li),
body[class*="single-product"] .wp-block-post-content :where(summary) {
	font-size: 20px;
}

body[class*="single-product"] .wp-block-post-content :where(h2),
body[class*="single-product"] .cda-product-section-title {
	font-size: 32px !important;
	line-height: 1.2;
}

body[class*="single-product"] .cda-product-hero__title {
	font-size: 32px !important;
}

body[class*="single-product"] .cda-product-description__body,
body[class*="single-product"] .cda-product-description__body :where(p, li),
body[class*="single-product"] .cda-product-hero__body,
body[class*="single-product"] .cda-product-hero__body :where(p, li),
body[class*="single-product"] .cda-product-hero__subtitle {
	font-size: 20px !important;
}

.single-page-wrapper .wp-block-post-content .wp-block-columns,
.site-main .wp-block-post-content .wp-block-columns {
	max-width: 100%;
	width: 100%;
}

/* Bloc de test — conteneur section (comme .container legacy) */
.single-page-wrapper > .wp-block-cda-bloc-test,
#wrapper-front-page > .wp-block-cda-bloc-test,
.site-main > .wp-block-cda-bloc-test {
	box-sizing: border-box;
	width: min(72.5rem, calc(100vw - var(--cda-site-gutter-total, 700px)));
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}

body.home #wrapper-front-page > .wp-block-cda-bloc-test,
body.home .single-page-wrapper > .wp-block-cda-bloc-test {
	width: min(1600px, calc(100vw - var(--cda-site-gutter-total, 700px)));
}
