/*
Theme Name: Brandeleva Child
Theme URI: https://brandeleva.fr
Description: Thème enfant Astra pour Brandeleva.
Author: DIGICOM-IT
Author URI: https://digicom-it.fr
Template: astra
Version: 1.8.2
Text Domain: brandeleva-child
*/

:root {
	--bl-bleu-nuit: #1C2A3D;
	--bl-corail: #E07E62;
	--bl-corail-texte: #AE5036;
	--bl-blanc-casse: #F3F2EE;
	--bl-gris-bleute: #D8DFE7;
	--bl-ardoise: #6B7A8F;
}

/* Espace partenaires mis en avant dans le menu principal */
.elementor-nav-menu .menu-partenaires > a.elementor-item {
	color: var(--bl-corail-texte);
}

/* En-tête et pied de page */
.elementor-location-header .elementor-widget-text-editor p,
.elementor-location-footer .elementor-widget-text-editor p:last-child {
	margin-bottom: 0;
}
.bl-header-actions.e-con {
	--width: auto;
	width: auto;
	flex: 0 0 auto;
}
.bl-header-actions .elementor-button-text {
	white-space: nowrap;
}
.bl-footer-cols .bl-footer-col.e-con {
	--width: auto;
	width: auto;
	flex: 1 1 150px;
	min-width: 0;
}
.bl-footer-cols .bl-footer-brand.e-con {
	flex: 2 1 300px;
	max-width: 360px;
}
@media (max-width: 767px) {
	.bl-footer-cols .bl-footer-col.e-con {
		flex: 1 1 100%;
	}
	.bl-footer-cols .bl-footer-brand.e-con {
		max-width: none;
	}
}

.bl-footer-cols .bl-footer-brand.e-con {
	--width: auto;
	width: auto;
}
.elementor-location-footer .elementor-nav-menu--main .elementor-nav-menu {
	flex-wrap: wrap;
}
@media (max-width: 767px) {
	.elementor-location-footer .elementor-nav-menu--main .elementor-nav-menu {
		justify-content: center;
	}
	.elementor-location-header .elementor-widget-text-editor {
		font-size: 12px;
	}
}
@media (max-width: 1024px) {
	.elementor-location-header .elementor-widget-nav-menu {
		flex-grow: 0 !important;
		margin-left: auto;
	}
}

/* Grilles de cartes (page d'accueil et pages de contenu) */
.bl-row .bl-cell.e-con {
	--width: auto;
	width: auto;
	min-width: 0;
	flex: 1 1 220px;
}
.bl-row-2 .bl-cell.e-con { flex-basis: 340px; }
.bl-row-3 .bl-cell.e-con { flex-basis: 260px; }
.bl-row-4 .bl-cell.e-con { flex-basis: 220px; }
.bl-row-5 .bl-cell.e-con { flex-basis: 190px; }
.bl-row-hero .bl-cell.e-con { flex-basis: 420px; }
.bl-grow.e-con {
	--width: auto;
	width: auto;
	flex: 1 1 380px;
}
.bl-cover-hero img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 18px;
}
.bl-metier.e-con {
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease;
}
.bl-metier.e-con:hover {
	transform: translateY(-3px);
}
.bl-metier .bl-cover img {
	width: 100%;
	height: 190px;
	object-fit: cover;
	border-radius: 0;
}
.bl-step-num .elementor-heading-title {
	display: inline-grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 9px;
	background: var(--bl-bleu-nuit);
}
.elementor-widget-text-editor p:last-child {
	margin-bottom: 0;
}

/* Page Contact */
.bl-row-contact .bl-cell-form.e-con { flex: 1.6 1 440px; }
.bl-row-contact .bl-cell-side.e-con { flex: 1 1 300px; }
.elementor-field-type-acceptance label { font-weight: 400; }
.bl-cell-side .bl-cell.e-con { flex: 0 0 auto; }

/* Boutons d'en-tête : contact mis en avant, icônes rondes */
.bl-btn-icon .elementor-button {
	width: 42px;
	height: 42px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.bl-btn-icon .elementor-button-icon {
	margin: 0;
}

/* Animations et survols de la page d'accueil */
@keyframes bl-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-8px); }
}
.bl-cover-hero img {
	animation: bl-float 7s ease-in-out infinite;
}
.bl-hero-title .elementor-headline-dynamic-wrapper {
	min-width: 0;
}
.bl-row-4 .bl-cell.e-con,
.bl-row-2 .bl-cell.e-con {
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.bl-row-4 .elementor-icon-box-icon .elementor-icon {
	transition: background-color .25s ease, color .25s ease, transform .25s ease;
}
.bl-row-4 .bl-cell.e-con:hover .elementor-icon-box-icon .elementor-icon {
	background-color: var(--bl-corail);
	transform: rotate(-6deg);
}
.bl-metier .bl-cover {
	overflow: hidden;
}
.bl-metier .bl-cover img {
	transition: transform .6s ease;
}
.bl-metier.e-con:hover .bl-cover img {
	transform: scale(1.06);
}
.elementor-button {
	transition: transform .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.elementor-button:hover {
	transform: translateY(-2px);
}
@media (prefers-reduced-motion: reduce) {
	.bl-cover-hero img { animation: none; }
	.elementor-invisible { visibility: visible !important; }
	.animated { animation: none !important; }
	.bl-row-4 .bl-cell.e-con:hover,
	.bl-row-2 .bl-cell.e-con:hover,
	.elementor-button:hover,
	.bl-metier.e-con:hover .bl-cover img { transform: none; }
}
.bl-hero-title .elementor-headline {
	min-height: calc(3 * 1.08em);
}
@media (max-width: 767px) {
	.bl-hero-title .elementor-headline {
		min-height: calc(4 * 1.08em);
	}
}

/* Bandeau du haut */
.elementor-location-header .bl-sep { margin: 0 10px; opacity: .45; }
.elementor-location-header .bl-toplinks a { color: #F3F2EE; text-decoration: none; }
.elementor-location-header .bl-toplinks a:hover { color: var(--bl-corail); }
.elementor-location-header .bl-toplinks strong { color: var(--bl-corail); font-weight: 700; }

/* ===== Accueil v2 ===== */
.bl-h1 .elementor-heading-title > span { display: block; }
.bl-h1 .bl-l3 { color: var(--bl-corail); }
@keyframes bl-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.bl-h1 .bl-l1, .bl-h1 .bl-l2, .bl-h1 .bl-l3 { animation: bl-rise .7s cubic-bezier(.2, .7, .2, 1) both; }
.bl-h1 .bl-l2 { animation-delay: .15s; }
.bl-h1 .bl-l3 { animation-delay: .3s; }
.bl-row-hero .bl-hero-text.e-con { flex: 1.05 1 440px; }
.bl-row-hero .bl-hero-visual.e-con { flex: 1 1 420px; }
.bl-hero-features .bl-hero-feature { flex: 1 1 160px; }
.bl-hero-features.e-con > .elementor-widget { --container-widget-width: auto; width: auto; }

/* Cartes univers : texte à gauche, photo à droite */
.bl-row-cats .bl-cat-card.e-con { overflow: hidden; min-height: 230px; }
.bl-cat-card .bl-cat-text.e-con { --width: auto; width: auto; flex: 1 1 55%; }
.bl-cat-card .bl-cat-img.e-con { --width: auto; width: auto; flex: 0 0 42%; padding: 0; }
.bl-cover-fill, .bl-cover-fill .elementor-widget-container { height: 100%; }
.bl-cover-fill img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.bl-cat-card .bl-cover-fill img { transition: transform .6s ease; }
.bl-cat-card.e-con:hover .bl-cover-fill img { transform: scale(1.05); }
.bl-row-cats .bl-cat-card.e-con:hover { transform: translateY(-4px); }
.bl-row-cats .bl-cat-card.e-con { transition: transform .25s ease, box-shadow .25s ease; }

/* Recommander en 1 clic : maquette d'écran */
.bl-row-reorder .bl-cell.e-con { flex: 1 1 380px; }
.bl-mock { background: #1C2A3D; border-radius: 14px; padding: 10px; box-shadow: 0 30px 50px -30px rgba(28, 42, 61, .6); transform: perspective(1400px) rotateY(-6deg); transition: transform .5s ease; }
.bl-mock:hover { transform: perspective(1400px) rotateY(0); }
.bl-mock-bar { display: flex; gap: 6px; padding: 4px 6px 10px; }
.bl-mock-bar span { width: 9px; height: 9px; border-radius: 50%; background: #3A4C66; }
.bl-mock-body { display: flex; background: #fff; border-radius: 8px; overflow: hidden; min-height: 300px; }
.bl-mock-side { width: 30%; background: #F7F8FA; padding: 14px 12px; border-right: 1px solid #ECEFF3; }
.bl-mock-side img { width: 100px; margin-bottom: 16px; }
.bl-mock-side ul { list-style: none; margin: 0; padding: 0; font: 500 12px/1.2 Manrope, sans-serif; color: #556070; }
.bl-mock-side li { padding: 8px 8px; border-radius: 6px; }
.bl-mock-side li.on { background: #FBE6DF; color: #AE5036; font-weight: 700; }
.bl-mock-main { flex: 1; padding: 14px 16px; }
.bl-mock-title { font: 700 15px Syne, sans-serif; color: #1C2A3D; margin: 0 0 10px; }
.bl-mock-row { display: flex; align-items: center; gap: 12px; padding: 10px; border: 1px solid #ECEFF3; border-radius: 10px; margin-bottom: 8px; }
.bl-mock-row img { width: 48px; height: 48px; object-fit: cover; border-radius: 8px; }
.bl-mock-info { flex: 1; display: flex; flex-direction: column; font: 400 11px/1.4 Manrope, sans-serif; color: #6B7A8F; }
.bl-mock-info b { font-size: 12.5px; color: #1C2A3D; }
.bl-mock-btn { background: #E07E62; color: #1C2A3D; font: 700 11px Manrope, sans-serif; padding: 8px 10px; border-radius: 6px; white-space: nowrap; }
@media (max-width: 600px) { .bl-mock-side { display: none; } .bl-mock { transform: none; } .bl-mock-btn { font-size: 10px; padding: 7px 8px; } }

/* Étapes reliées par un pointillé */
.bl-row-steps .bl-step.e-con { position: relative; }
@media (min-width: 1025px) {
	.bl-row-steps .bl-step.e-con:not(:last-child)::after { content: ""; position: absolute; top: 35px; right: -38px; width: 28px; border-top: 2px dashed #E9C6BA; }
}

/* Pourquoi nous */
.bl-row-why .bl-why-img.e-con { position: relative; flex: 1 1 420px; }
.bl-cover-why img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 18px; }
.bl-why-badge { position: absolute; left: 24px; bottom: 24px; background: #fff; border-radius: 12px; padding: 12px 18px; border: 1px solid #E3E7EC; width: auto !important; }
.bl-row-feat .bl-cell.e-con { flex: 1 1 220px; }

/* Bandeau final */
.bl-banner.e-con { overflow: hidden; }
@media (max-width: 767px) { .bl-banner.e-con { background-position: 75% center !important; } .bl-banner.e-con::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(28,42,61,.95), rgba(28,42,61,.7)); border-radius: inherit; } .bl-banner.e-con > * { position: relative; } }

@media (prefers-reduced-motion: reduce) {
	.bl-h1 .bl-l1, .bl-h1 .bl-l2, .bl-h1 .bl-l3 { animation: none; }
	.bl-mock, .bl-mock:hover { transform: none; }
}


/* Section « Des supports qui font la différence » : aucun effet au survol */
.bl-row-why .bl-cell.e-con,
.bl-row-why .bl-cell.e-con:hover,
.bl-row-feat .bl-cell.e-con,
.bl-row-feat .bl-cell.e-con:hover { transform: none; box-shadow: none; border-color: transparent; transition: none; }

/* Réassurance : fond beige, séparations en pointillés façon point de broderie */
.bl-reassure.e-con {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	padding-top: 32px;
	border-top: 2px dashed rgba(174, 80, 54, .45);
}
.bl-reassure.e-con > .elementor-widget { --container-widget-width: auto; width: auto; padding: 4px 24px; }
.bl-reassure.e-con > .elementor-widget:first-child { padding-left: 0; }
.bl-reassure .elementor-icon-box-wrapper { align-items: center; }
.bl-reassure .elementor-icon-box-title { margin-top: 0; }
.bl-reassure .elementor-view-framed .elementor-icon { border: 0; background: #FFFFFF; }
@media (max-width: 1024px) {
	.bl-reassure.e-con { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 22px; }
	.bl-reassure.e-con > .elementor-widget:nth-child(odd) { padding-left: 0; }
}
@media (max-width: 767px) {
	.bl-reassure.e-con { gap: 20px 0; padding-top: 26px; }
	.bl-reassure.e-con > .elementor-widget { padding: 0 10px; }
	.bl-reassure .elementor-icon-box-icon { margin-bottom: 8px !important; }
}

/* Alignement : un seul bord gauche/droit pour l en-tête, les sections et le pied de page.
   Les conteneurs imbriqués perdent le retrait de 10 px par défaut d Elementor ;
   les cartes gardent leurs marges intérieures, réglées explicitement. */
.e-con.e-child {
	--container-default-padding-top: 0px;
	--container-default-padding-right: 0px;
	--container-default-padding-bottom: 0px;
	--container-default-padding-left: 0px;
}

/* ---------- Page Création graphique ---------- */
.bl-step.e-con:hover { transform: none; }
/* Maquette « à valider » */
.bl-bat { background: #fff; border: 1px solid #E3E7EC; border-radius: 18px; padding: 22px; max-width: 520px; margin-left: auto; font-family: Manrope, sans-serif; color: #1C2A3D; }
.bl-bat-head { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.bl-bat-tag { background: #FBE6DF; color: #AE5036; font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 99px; }
.bl-bat-title { font-weight: 700; font-size: 14px; }
.bl-bat-card { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; background: #F3F2EE; border-radius: 12px; padding: 18px; }
.bl-bat-face { aspect-ratio: 85 / 55; border-radius: 6px; background: #fff; border: 1px solid #E3E7EC; display: flex; flex-direction: column; justify-content: center; padding: 10px 12px; }
.bl-bat-front { align-items: center; background: #1C2A3D; border-color: #1C2A3D; }
.bl-bat-front img { width: 72%; filter: brightness(0) invert(1); }
.bl-bat-back { font-size: 10px; line-height: 1.45; color: #3A4656; }
.bl-bat-back b { font-size: 12px; color: #1C2A3D; }
.bl-bat-back span:nth-of-type(1) { color: #AE5036; margin-bottom: 4px; }
.bl-bat-note { display: flex; gap: 10px; margin: 16px 0; align-items: flex-start; }
.bl-bat-avatar { flex: 0 0 32px; height: 32px; border-radius: 50%; background: #1C2A3D; color: #fff; font-weight: 700; display: grid; place-items: center; font-size: 13px; }
.bl-bat-note p { margin: 0; background: #F4EFE9; border-radius: 4px 12px 12px 12px; padding: 10px 12px; font-size: 13px; line-height: 1.5; }
.bl-bat-note b { display: block; font-size: 12px; }
.bl-bat-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.bl-bat-btn { flex: 1 1 160px; text-align: center; font-weight: 700; font-size: 13px; padding: 10px 12px; border-radius: 8px; border: 1.5px solid #1C2A3D; }
.bl-bat-ok { background: #E07E62; border-color: #E07E62; }
.bl-bat-foot { margin: 12px 0 0; font-size: 12px; color: #6B7A8F; text-align: center; }
/* Niveaux et packs */
.bl-row-levels .bl-level.e-con, .bl-row-packs .bl-pack.e-con { justify-content: flex-start; }
.bl-level .bl-from, .bl-pack-price { margin: auto 0 0; }
.bl-level .elementor-widget:last-child, .bl-pack .elementor-widget-button { margin-top: auto; }
.bl-from strong, .bl-pack-price strong { font-family: Syne, sans-serif; font-size: 26px; color: #1C2A3D; }
.bl-pack-price s { color: #6B7A8F; margin-left: 6px; }
.bl-small p, p.bl-small { color: #6B7A8F; }
/* Tableaux de prix */
.bl-prices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: start; font-family: Manrope, sans-serif; }
.bl-price { background: #fff; border-radius: 14px; padding: 22px 24px 10px; border: 1px solid #E8E1D8; }
.bl-price:first-child { grid-row: span 3; }
.bl-price-fam { margin: 0 0 6px; font-family: Syne, sans-serif; font-weight: 700; font-size: 20px; color: #1C2A3D; }
.bl-price-table { width: 100%; border-collapse: collapse; margin: 0; border: 0; }
.bl-price-table th, .bl-price-table td { border: 0; border-top: 1px solid #EEE8E1; padding: 12px 0; background: none; vertical-align: middle; }
.bl-price-table thead th { border-top: 0; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; color: #AE5036; padding: 6px 0; }
.bl-price-table th[scope="row"] { text-align: left; font-weight: 400; padding-right: 12px; }
.bl-price-table th b { display: block; font-size: 15px; color: #1C2A3D; }
.bl-price-table th span { display: block; font-size: 13px; color: #6B7A8F; line-height: 1.4; }
.bl-price-table td, .bl-price-table thead th:not(:first-child) { text-align: right; width: 108px; font-weight: 700; color: #1C2A3D; white-space: nowrap; }
.bl-price-table .bl-na { color: #C2C9D3; font-weight: 400; }
.bl-forfaits .elementor-widget-html { width: 100%; }
/* Questions */
.bl-row-faq .bl-faq-head.e-con { flex: 0 1 380px; }
.bl-row-faq .bl-faq-list.e-con { flex: 1 1 480px; }
.bl-faq details { border-top: 1px solid #E3E7EC; }
.bl-faq details:last-child { border-bottom: 1px solid #E3E7EC; }
.bl-faq summary { list-style: none; cursor: pointer; padding: 18px 36px 18px 0; position: relative; font-family: Manrope, sans-serif; font-weight: 700; font-size: 16px; color: #1C2A3D; }
.bl-faq summary::-webkit-details-marker { display: none; }
.bl-faq summary::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); font-size: 22px; font-weight: 400; color: #AE5036; transition: transform .2s ease; }
.bl-faq details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.bl-faq details p { margin: 0 0 18px; color: #3A4656; font-size: 15px; line-height: 1.6; }
.bl-faq-head a { color: #AE5036; font-weight: 700; }
/* Bandeau d'appel */
.bl-cta .bl-cta-text.e-con { flex: 1 1 420px; }
.bl-cta .bl-cta-actions.e-con { flex: 0 0 auto; }
@media (max-width: 1024px) {
	.bl-prices { grid-template-columns: 1fr; }
	.bl-price:first-child { grid-row: auto; }
	.bl-bat { margin: 0 auto; }
}
@media (max-width: 767px) {
	.bl-price { padding: 18px 16px 6px; }
	.bl-price-table td, .bl-price-table thead th:not(:first-child) { width: 84px; font-size: 14px; }
	.bl-price-table thead th:not(:first-child) { font-size: 10px; letter-spacing: .6px; white-space: normal; }
	.bl-bat { padding: 16px; }
	.bl-bat-card { padding: 12px; gap: 8px; }
}
.bl-price-table thead th:first-child { text-align: left; }
.bl-cta .bl-cta-text.e-con, .bl-cta .bl-cta-actions.e-con { --width: auto; width: auto; }

/* ---------- Accueil : section Métiers (onglets) ---------- */
.bl-trades-head.e-con { flex: 1 1 520px; }
.bl-trades-widget { width: 100%; }
.bl-trades { font-family: Manrope, sans-serif; color: #1C2A3D; }
.bl-trade-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 22px; }
.bl-trade-tabs button { font: 700 14px/1 Manrope, sans-serif; color: #1C2A3D; background: #fff; border: 1.5px solid #E3DCD3; border-radius: 99px; padding: 12px 18px; cursor: pointer; transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
.bl-trade-tabs button:hover { border-color: #1C2A3D; background: #fff; color: #1C2A3D; }
.bl-trade-tabs button.is-active, .bl-trade-tabs button[aria-selected="true"] { background: #1C2A3D; border-color: #1C2A3D; color: #fff; }
.bl-trade-tabs button:focus-visible { outline: 2px solid #E07E62; outline-offset: 2px; }
.bl-trade-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); background: #fff; border-radius: 18px; overflow: hidden; border: 1px solid #E8E1D8; animation: bl-fade .35s ease; }
.bl-trade-panel[hidden] { display: none; }
@keyframes bl-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.bl-trade-img img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; display: block; }
.bl-trade-body { padding: 34px 38px; display: flex; flex-direction: column; gap: 12px; }
.bl-trade-body h3 { margin: 0; font: 700 28px/1.1 Syne, sans-serif; color: #1C2A3D; letter-spacing: -.5px; }
.bl-trade-intro { margin: 0; color: #3A4656; font-size: 16px; line-height: 1.6; }
.bl-trade-label { margin: 6px 0 0; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; color: #AE5036; }
.bl-trade-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.bl-trade-chips li { background: #F4EFE9; border-radius: 99px; padding: 7px 13px; font-size: 14px; font-weight: 600; }
.bl-trade-pack { margin-top: 6px; border-top: 2px dashed rgba(174, 80, 54, .4); padding-top: 14px; }
.bl-trade-pack .bl-trade-label { margin-top: 0; }
.bl-trade-pack-name { margin: 4px 0 6px; font: 700 20px/1.2 Syne, sans-serif; }
.bl-trade-pack ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; }
.bl-trade-pack ul li { position: relative; padding-left: 20px; font-size: 15px; color: #3A4656; }
.bl-trade-pack ul li::before { content: ""; position: absolute; left: 2px; top: .55em; width: 8px; height: 8px; border-radius: 50%; background: #E07E62; }
.bl-trade-pack-note { margin: 8px 0 0; font-size: 13px; color: #6B7A8F; }
.bl-trade-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto; padding-top: 8px; }
.bl-trade-btn { display: inline-flex; align-items: center; font-weight: 700; font-size: 15px; padding: 13px 20px; border-radius: 8px; border: 1.5px solid #1C2A3D; color: #1C2A3D; text-decoration: none; transition: background-color .2s ease, color .2s ease; }
.bl-trade-btn:hover { background: #1C2A3D; color: #fff; }
.bl-trade-btn-main { background: #1C2A3D; color: #fff; }
.bl-trade-btn-main:hover { background: #E07E62; border-color: #E07E62; color: #1C2A3D; }
@media (max-width: 1024px) {
	.bl-trade-panel { grid-template-columns: 1fr; }
	.bl-trade-img img { min-height: 0; height: 260px; }
}
@media (max-width: 767px) {
	.bl-trade-tabs { flex-wrap: nowrap; overflow-x: auto; margin: 0 -18px 18px; padding: 0 18px 4px; scrollbar-width: none; }
	.bl-trade-tabs::-webkit-scrollbar { display: none; }
	.bl-trade-tabs button { flex: 0 0 auto; }
	.bl-trade-body { padding: 24px 20px; }
	.bl-trade-body h3 { font-size: 23px; }
	.bl-trade-img img { height: 210px; }
	.bl-trade-btn { flex: 1 1 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .bl-trade-panel { animation: none; } }

/* ---------- Pages Métiers ---------- */
.bl-crumb { margin: 0; font-weight: 700; font-size: 13px; color: #AE5036; text-transform: uppercase; letter-spacing: 1.2px; }
.bl-crumb a { color: #6B7A8F; }
.bl-crumb a:hover { color: #1C2A3D; }
.bl-crumb span { margin: 0 8px; color: #C2C9D3; }
.bl-row-prods .bl-prod.e-con { flex: 1 1 300px; transition: border-color .2s ease; }
.bl-row-prods .bl-prod.e-con:hover { border-color: #E07E62; }
.bl-prod .elementor-widget-icon:first-child { --container-widget-width: auto; width: auto; flex: 0 0 auto; }
.bl-prod .bl-prod-text.e-con { flex: 1 1 auto; width: auto; min-width: 0; }
.bl-prod .bl-prod-text p { margin: 0; }
.bl-prod .bl-prod-arrow { --container-widget-width: auto; width: auto; flex: 0 0 auto; transition: transform .2s ease; }
.bl-prod:hover .bl-prod-arrow { transform: translateX(4px); }
.bl-pack-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; font-family: Manrope, sans-serif; }
.bl-pack-list li { position: relative; padding-left: 22px; font-size: 17px; font-weight: 600; color: #1C2A3D; }
.bl-pack-list li::before { content: ""; position: absolute; left: 2px; top: .5em; width: 9px; height: 9px; border-radius: 50%; background: #E07E62; }
.bl-pack-kit { margin: 4px 0 0; padding-top: 14px; border-top: 2px dashed rgba(174, 80, 54, .4); }
.bl-pack-kit a { color: #AE5036; font-weight: 700; white-space: nowrap; }
.bl-row-pack .bl-pack-img.e-con { flex: 1 1 420px; }
.bl-row-pack .bl-pack-text.e-con { flex: 1 1 420px; }
.bl-row-pack .bl-cover-why img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 18px; }
.bl-row-trades .bl-trade-card.e-con { flex: 1 1 320px; overflow: hidden; transition: border-color .2s ease; }
.bl-row-trades .bl-trade-card.e-con:hover { border-color: #E07E62; }
.bl-trade-card-img img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.bl-trade-card-body.e-con { flex: 1 1 auto; }
.bl-trade-card-body p { margin: 0; }
.bl-trade-card-more { margin-top: auto !important; font-weight: 700; }
.bl-trade-card:hover .bl-trade-card-more span { margin-left: 4px; }
.bl-row-needs .bl-need.e-con { flex: 1 1 260px; }
@media (max-width: 767px) {
	.bl-pack-list li { font-size: 16px; }
}
/* Page Métiers : 3 cartes puis 2 */
.bl-row-trades.e-con { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.bl-row-trades .bl-trade-card.e-con { grid-column: span 2; width: auto; }
.bl-row-trades .bl-trade-card.e-con:nth-child(n+4) { grid-column: span 3; }
.bl-row-trades .bl-trade-card.e-con:nth-child(n+4) .bl-trade-card-img img { aspect-ratio: 16 / 8; }
@media (max-width: 1024px) {
	.bl-row-trades.e-con { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bl-row-trades .bl-trade-card.e-con, .bl-row-trades .bl-trade-card.e-con:nth-child(n+4) { grid-column: span 1; }
	.bl-row-trades .bl-trade-card.e-con:last-child { grid-column: span 2; }
	.bl-row-trades .bl-trade-card.e-con:last-child .bl-trade-card-img img { aspect-ratio: 21 / 8; }
}
@media (max-width: 767px) {
	.bl-row-trades.e-con { grid-template-columns: 1fr; }
	.bl-row-trades .bl-trade-card.e-con:last-child { grid-column: span 1; }
	.bl-row-trades .bl-trade-card.e-con .bl-trade-card-img img, .bl-row-trades .bl-trade-card.e-con:last-child .bl-trade-card-img img { aspect-ratio: 16 / 10; }
}
/* Les entrées animées (glissement latéral) ne doivent jamais créer de défilement horizontal */
body { overflow-x: clip; }
@media (max-width: 767px) {
	.bl-cta .bl-cta-actions.e-con { flex: 1 1 100%; width: 100%; }
	.bl-cta .bl-cta-actions .elementor-widget-button { flex: 1 1 100%; }
	.bl-cta .bl-cta-actions .elementor-button { width: 100%; justify-content: center; }
}

/* ---------- Méga menu (ordinateur) ---------- */
.bl-mainbar.e-con { position: relative; }
.bl-mainbar > .e-con-inner { position: static; }
.bl-mainbar .bl-mega-widget { position: static; flex: 1 1 auto; --container-widget-width: auto; width: auto; }
.bl-mainbar .bl-mega-widget .elementor-shortcode { position: static; }
.bl-mega { font-family: Manrope, sans-serif; }
.bl-mega-bar { list-style: none; margin: 0; padding: 0; display: flex; justify-content: center; align-items: center; gap: 2px; }
.bl-mega-item { position: static; }
.bl-mega-link { display: inline-flex; align-items: center; gap: 6px; font: 600 14.5px/1 Manrope, sans-serif; color: #1C2A3D; background: none; border: 0; border-radius: 99px; padding: 11px 13px; cursor: pointer; text-decoration: none; transition: background-color .2s ease, color .2s ease; }
.bl-mega-link:hover, .bl-mega-link:focus-visible, .bl-mega-item.is-open > .bl-mega-link { background: #F4EFE9; color: #1C2A3D; }
.bl-mega-item.is-current > .bl-mega-link { color: #AE5036; }
.bl-mega-link:focus-visible { outline: 2px solid #E07E62; outline-offset: 2px; }
.bl-mega-link svg { transition: transform .2s ease; }
.bl-mega-item.is-open > .bl-mega-link svg { transform: rotate(180deg); }
.bl-mega-panel { position: absolute; left: 0; right: 0; top: 100%; z-index: 999; background: #fff; border-top: 1px solid #E3E7EC; border-bottom: 1px solid #E3E7EC; animation: bl-mega-in .18s ease; }
.bl-mega-panel[hidden] { display: none; }
@keyframes bl-mega-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
/* Pont invisible pour ne pas fermer le panneau en descendant la souris */
.bl-mega-item.is-open > .bl-mega-link::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 0; }
.bl-mega-inner { max-width: 1240px; margin: 0 auto; padding: 28px 0 32px; display: grid; grid-template-columns: 230px minmax(0, 1fr) 230px; gap: 28px; align-items: stretch; }
.bl-mega-intro { display: flex; flex-direction: column; gap: 10px; }
.bl-mega-title { margin: 0; font: 700 24px/1.1 Syne, sans-serif; color: #1C2A3D; }
.bl-mega-desc { margin: 0; font-size: 14px; line-height: 1.55; color: #3A4656; }
.bl-mega-all { margin-top: auto; font-weight: 700; font-size: 14px; color: #AE5036; text-decoration: none; }
.bl-mega-all:hover { color: #1C2A3D; }
.bl-mega-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 14px; align-content: start; }
.bl-mega-card { display: flex; flex-direction: column; gap: 9px; text-decoration: none; color: #1C2A3D; }
.bl-mega-img { display: block; aspect-ratio: 4 / 3; border-radius: 12px; overflow: hidden; background: #F4EFE9; }
.bl-mega-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.bl-mega-card:hover .bl-mega-img img, .bl-mega-card:focus-visible .bl-mega-img img { transform: scale(1.05); }
.bl-mega-name { font-weight: 700; font-size: 14px; line-height: 1.3; }
.bl-mega-card:hover .bl-mega-name { color: #AE5036; }
.bl-mega-card:focus-visible { outline: 2px solid #E07E62; outline-offset: 3px; border-radius: 12px; }
.bl-mega-promo { display: flex; flex-direction: column; gap: 6px; background: #1C2A3D; color: #fff; border-radius: 14px; padding: 22px; text-decoration: none; }
.bl-mega-promo-eyebrow { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; color: #E07E62; }
.bl-mega-promo-title { font: 700 19px/1.2 Syne, sans-serif; }
.bl-mega-promo-price { font-size: 14px; color: #DCE3EC; }
.bl-mega-promo-link { margin-top: auto; font-weight: 700; font-size: 14px; color: #E07E62; }
.bl-mega-promo:hover .bl-mega-promo-link { color: #fff; }
@media (max-width: 1366px) {
	.bl-mega-inner { padding: 24px 24px 28px; grid-template-columns: 200px minmax(0, 1fr) 210px; gap: 22px; }
	.bl-mega-link { padding: 10px 10px; font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { .bl-mega-panel { animation: none; } .bl-mega-img img { transition: none; } }
.bl-mega-img.is-empty { background: #F4EFE9 url("/wp-content/uploads/2026/10/brandeleva-icone-arrondie-512.png") center / 34% no-repeat; opacity: .55; }
