/*
 * Contexte Beaver Builder — règles nécessaires aux modules ifs-data quand une
 * page est rendue par un layout Beaver dans le post-content « constrained »
 * d'ifs-classic. Embarquées dans le PLUGIN (enqueue par bb-modules.php) pour
 * ne pas dépendre de la version de fse.css déployée côté thème — un déploiement
 * partiel (plugin sans thème) a déjà laissé la prod avec des heros cassés.
 * fse.css (ifs-design) porte les mêmes règles : doublon volontaire et bénin.
 */

/* Le layout Beaver reprend toute la largeur (sinon contraint à 1320px),
   et n'hérite pas du dégagement « pages sans hero » du thème. */
.wp-block-post-content > .fl-builder-content {
	max-width: none;
	margin-top: 0 !important;
}

/* Hero et grille toujours plein écran, même dans une rangée à largeur fixe. */
.fl-builder-content .ifs-page-hero,
.fl-builder-content .ifs-grid-pages {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* Hero : voile sombre uniquement derrière le texte (panneau), plus de dim sur
   toute l'image. Panneau calé sur la colonne de contenu (1320px), padding
   cohérent avec les encarts du site, texte libéré de la limite 58% de fse.css
   (le panneau borne déjà la largeur). */
.ifs-page-hero--scrim .wp-block-cover__background { display: none; }
.ifs-page-hero--scrim .ifs-page-hero__scrim {
	width: fit-content;
	max-width: min(58%, 720px);
	background: rgba(0, 0, 0, 0.45);
	border-radius: 5px;
	padding: 24px 32px;
}
.ifs-page-hero--scrim .ifs-page-hero__scrim h1,
.ifs-page-hero--scrim .ifs-page-hero__scrim p {
	max-width: 100%;
}
@media (max-width: 767.98px) {
	.ifs-page-hero--scrim .ifs-page-hero__scrim {
		max-width: 100%;
		padding: 16px 20px;
	}
}

/* Hero flush : tiré sous le débord du logo quand il ouvre la 1re rangée. */
.fl-builder-content > .fl-row:first-child .fl-module-page-hero .ifs-page-hero {
	margin-top: -60px;
}
@media (max-width: 767.98px) {
	.fl-builder-content > .fl-row:first-child .fl-module-page-hero .ifs-page-hero { margin-top: 0; }
}

/* Panneau vert du contact : toute la hauteur de la carte (une marge parasite
   le décalait vers le bas), contenu centré. */
.fl-builder-content .ifs-kontakt { align-items: stretch; }
.fl-builder-content .ifs-kontakt__left {
	margin: 0 !important;
	height: 100%;
	box-sizing: border-box;
}

/* Cartes : l'image remplit TOUJOURS la largeur de la carte. !important — la
   feuille complète des blocs core (et le sizing auto/aspect-ratio des images
   lazy) laissent sinon certaines images à leur largeur naturelle quand leur
   ratio est plus étroit que 810/470. */
/* Le lien autour de l'image est rendu inline-block par un CSS hérité : il
   s'ajuste alors à l'image et le width:100% de celle-ci devient circulaire. */
.fl-builder-content .ifs-card .ifs-card__img a {
	display: block;
	width: 100%;
}
.fl-builder-content .ifs-card .ifs-card__img img {
	width: 100% !important;
	height: 237px;
	object-fit: cover;
	object-position: center top;
}
@media (max-width: 1399px) {
	.fl-builder-content .ifs-card .ifs-card__img img { height: 203px; }
}

/* Encarts contraints à la colonne de contenu (comme dans le post-content). */
.fl-module-kontakt-info .ifs-kontakt,
.fl-builder-content .ifs-form-wrap,
.fl-builder-content .ifs-core-blocks {
	max-width: var(--wp--style--global--content-size, 1320px);
	margin-inline: auto;
}
.fl-builder-content .ifs-form-wrap,
.fl-builder-content .ifs-core-blocks {
	padding-inline: 16px;
}

/* Fragments Gutenberg : les enfants alignfull reprennent le plein écran. */
.fl-builder-content .ifs-core-blocks > .alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* Décoration legacy Spletnik (barres colorées blocks-1.svg en position
   absolue, présente sur ~42 pages) : mal placée en contexte Beaver, elle
   chevauche les cartes — masquée partout. */
.fl-builder-content .image-container2 { display: none; }

/* Sections ateliers : resserrer l'espace hérité des anciens spacers
   Gutenberg (100px) au-dessus de chaque section.
   !important : les marges par nœud (.fl-node-… > .fl-module-content)
   arrivent après dans la cascade. */
.fl-module-kids-workshop > .fl-module-content {
	margin-top: 32px !important;
	margin-bottom: 0 !important;
}
