/*
 * Bénédicte Greil – Réflexologie — charte reprise du site Elementor (kit #14).
 *
 * Couleurs : bleu nuit #334364 · texte #4A4A4A · bleu canard #46797E · blanc
 * Polices  : Raleway 300/400/500/600 (texte et titres) · Inspiration (nom du hero) · Mr De Haviland (citation)
 */

:root {
	--bg-blue: #334364;
	--bg-blue-dark: #283550;
	--bg-teal: #46797E;
	--bg-text: #4A4A4A;
	--bg-line: #D5DAE4;
	--bg-light: #F3F5F8;
	--bg-sans: var(--wp--preset--font-family--texte, Raleway, Arial, sans-serif);
	--bg-script: var(--wp--preset--font-family--signature, Inspiration, cursive);
	--bg-quote: var(--wp--preset--font-family--citation, "Mr De Haviland", cursive);
	--bg-wrap: 1200px;
	--bg-pad: 5%;
	--bg-nav-h: 140px;
	--bg-nav-h-scrolled: 96px;
	--mm-header-height: var(--bg-nav-h-scrolled);
	--mm-color-brand: var(--bg-blue);
	--mm-color-accent: var(--bg-teal);
	--mm-color-line: var(--bg-line);
	--mm-color-bg-alt: var(--bg-light);
	--mm-burger-size: 46px;
}

body { font-family: var(--bg-sans); font-weight: 300; font-size: 16px; line-height: 1.75; color: var(--bg-text); }
strong, b { font-weight: 600; }
::selection { background: var(--bg-blue); color: #fff; }
h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; hyphens: manual; }

/* ---------- Mises en page ---------- */
.bg-section { padding: clamp(64px, 8vw, 120px) var(--bg-pad); position: relative; }
.bg-section > * { max-width: var(--bg-wrap); margin-inline: auto; }
.bg-section > .wp-block-heading { margin-top: 0; margin-bottom: clamp(32px, 4vw, 56px); }
.bg-section--bleu { background: var(--bg-blue); color: #fff; }
.bg-section--bleu a:not(.wp-block-button__link) { color: #fff; }
.bg-section .wp-block-columns { gap: clamp(32px, 5vw, 80px); margin-bottom: 0; }

/* Logo en filigrane (sections FAQ et ateliers) */
.bg-filigrane { overflow: hidden; isolation: isolate; }
.bg-filigrane::before {
	content: ""; position: absolute; z-index: -1; pointer-events: none;
	width: min(1100px, 110vw); aspect-ratio: 1; right: -18%; top: 50%; translate: 0 -50%;
	background: url("../img/logo-blanc.png") center / contain no-repeat; opacity: .06;
}
.bg-filigrane--bleu::before { background-image: url("../img/logo-bleu.png"); opacity: .07; left: -20%; right: auto; mix-blend-mode: multiply; }

/* ---------- Boutons ---------- */
.wp-block-button__link, .bg-submit, .bg-popup__btn {
	font-family: var(--bg-sans); font-size: 15px; font-weight: 600; line-height: 1.4; text-transform: uppercase; letter-spacing: .5px;
	background: var(--bg-blue); color: #fff; border: 0; border-radius: 0; padding: 15px 30px; cursor: pointer;
	display: inline-block; text-decoration: none; transition: background-color .3s, color .3s;
}
.wp-block-button__link:hover, .bg-submit:hover, .bg-submit:focus-visible, .bg-popup__btn:hover { background: var(--bg-teal); color: #fff; }
.wp-block-button.is-style-blanc .wp-block-button__link, .bg-section--bleu .bg-submit { background: #fff; color: #000; }
.wp-block-button.is-style-blanc .wp-block-button__link:hover, .bg-section--bleu .bg-submit:hover { background: var(--bg-teal); color: #fff; }

/* ---------- Bandeau supérieur (blanc) ---------- */
.bg-topbar { background: #fff; color: var(--bg-blue); position: relative; z-index: 91; }
.bg-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 8px 30px; min-height: 40px; padding: 4px 4%; flex-wrap: wrap; }
.bg-topbar .mm-social { margin: 0; gap: 4px; }
.bg-topbar .mm-social a { width: 30px; height: 30px; color: var(--bg-blue); transition: color .3s; }
.bg-topbar .mm-social a:hover { color: var(--bg-teal); }
.bg-topbar .mm-social .mm-icon { width: 15px; height: 15px; }
.bg-topbar__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 34px; }
.bg-topbar__list a { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 300; line-height: 1.2; color: var(--bg-blue); text-decoration: none; transition: color .3s; }
.bg-topbar__list a:hover { color: var(--bg-teal); }
.bg-topbar__list .mm-icon { width: 13px; height: 13px; }

/* ---------- Barre de navigation ---------- */
.bg-header .mm-navbar { background: var(--bg-blue); transition: background-color .45s ease, box-shadow .3s; }
.bg-has-hero .bg-header:not(.is-scrolled) .mm-navbar { background: transparent; }
/* Menu mobile ouvert : toute la barre passe en bleu nuit, même en haut de l'accueil */
.bg-has-hero .bg-header.is-menu-open .mm-navbar,
.bg-has-hero .bg-header:has(.mm-nav.is-open) .mm-navbar { background: var(--bg-blue); }
.bg-header.is-scrolled .mm-navbar { box-shadow: 0 6px 24px rgba(20, 28, 45, .18); }
.bg-navbar__inner { min-height: var(--bg-nav-h); padding-inline: 4%; transition: min-height .35s ease; }
.bg-header.is-scrolled .bg-navbar__inner { min-height: var(--bg-nav-h-scrolled); }
.bg-logo { display: block; line-height: 0; }
.bg-logo__img, .mm-brand .bg-logo img { width: 115px; height: auto; max-height: none; transition: width .35s ease; }
.bg-header.is-scrolled .bg-logo__img { width: 78px; }

.mm-nav__menu { gap: 0; }
.mm-nav__menu > li > a { position: relative; font-size: 19px; font-weight: 300; line-height: 1.3; color: #fff; padding: 18px 20px; }
.mm-nav__menu > li > a::after {
	content: ""; position: absolute; left: 20px; right: 20px; bottom: 10px; height: 2px; background: #fff;
	opacity: 0; transition: opacity .3s;
}
.mm-nav__menu > li > a:hover::after, .mm-nav__menu > li > a:focus-visible::after,
.mm-nav__menu > .current-menu-item > a:not([href*="#"])::after, .mm-nav__menu > .current-menu-ancestor > a::after { opacity: 1; }
/* Sur l'accueil, l'élément souligné suit la section visible (comme sur Elementor) */
.bg-is-front .mm-nav__menu.has-spy > .current-menu-item > a::after { opacity: 0; }
.bg-is-front .mm-nav__menu.has-spy > li.is-spy > a::after { opacity: 1; }
.mm-nav__menu > .menu-item-has-children > a { padding-right: 34px; }
.mm-nav__menu > .menu-item-has-children > a::before {
	content: ""; position: absolute; right: 16px; top: 50%; width: 7px; height: 7px; margin-top: -6px;
	border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; rotate: 45deg;
}
.mm-nav__menu .sub-menu { background: var(--bg-blue); box-shadow: 0 14px 30px rgba(20, 28, 45, .25); }
.mm-nav__menu .sub-menu a { font-size: 16px; color: #fff; }
.mm-nav__menu .sub-menu a:hover, .mm-nav__menu .sub-menu .current-menu-item > a { background: rgba(255, 255, 255, .08); }
.mm-nav__toggle { color: #fff; }

@media (max-width: 1024px) {
	:root { --bg-nav-h: 96px; --bg-nav-h-scrolled: 76px; }
	.bg-logo__img, .mm-brand .bg-logo img { width: 78px; }
	.bg-header.is-scrolled .bg-logo__img { width: 60px; }
	.mm-nav__menu { background: var(--bg-blue); }
	.mm-nav__menu > li { border-bottom-color: rgba(255, 255, 255, .15); }
	.mm-nav__menu > li > a { padding: 16px var(--mm-gutter); font-size: 18px; }
	.mm-nav__menu > li > a::after { display: none; }
	.mm-nav__menu > .menu-item-has-children > a::before { display: none; }
	.mm-nav__menu .sub-menu { box-shadow: none; padding: 0 0 10px 18px; }
	.mm-nav__menu .sub-menu a { padding: 10px var(--mm-gutter); }
	.mm-nav.is-open ~ * { pointer-events: none; }
	.bg-has-hero .bg-header:not(.is-scrolled) .mm-nav.is-open .mm-nav__menu { background: var(--bg-blue); }
}
@media (max-width: 600px) {
	.bg-topbar__inner { justify-content: center; }
	.bg-topbar__list { gap: 4px 20px; justify-content: center; }
	.bg-topbar__list a { font-size: 14px; }
}

/* ---------- Hero ---------- */
.bg-has-hero .mm-main > .mm-entry .mm-content > .bg-hero:first-child,
.bg-has-hero .mm-main .mm-content--full > .bg-hero:first-child { margin-top: calc(-1 * var(--bg-nav-h)); }
.wp-block-cover.bg-hero { padding: calc(var(--bg-nav-h) + 40px) var(--bg-pad) 80px; }
.bg-hero .wp-block-cover__inner-container { max-width: 1050px; margin-inline: auto; }
.is-style-signature,
.wp-block-heading.is-style-signature {
	font-family: var(--bg-script) !important; font-weight: 400 !important; font-size: var(--wp--preset--font-size--affiche, clamp(60px, 9.4vw, 135px)) !important;
	line-height: 1.05 !important; letter-spacing: 0 !important; text-transform: none !important; margin: 0;
}
.bg-hero__sous-titre { font-size: clamp(26px, 3.3vw, 48px); font-weight: 300; line-height: 1.2; margin: 18px 0 0; }
@media (max-width: 767px) {
	.bg-hero .bg-hero__sous-titre { text-align: center !important; }
}

/* ---------- Citation + encart « Qu'est-ce que la réflexologie » ---------- */
.wp-block-quote.is-style-citation {
	position: relative; border: 0; margin: 0 auto clamp(40px, 6vw, 80px); padding: 40px 0 0;
	color: var(--bg-blue); text-align: right;
}
.wp-block-quote.is-style-citation::before {
	content: "\201C"; position: absolute; left: 0; top: -10px; font-family: Georgia, serif; font-size: 110px; line-height: 1;
	color: var(--bg-teal); font-weight: 700;
}
.wp-block-quote.is-style-citation p {
	font-family: var(--bg-quote); font-size: clamp(48px, 6.9vw, 99px); line-height: 1.25; margin: 0; font-style: normal; text-align: center;
}
.wp-block-quote.is-style-citation cite { display: block; margin-top: 4px; font-style: normal; font-size: 16px; font-weight: 600; color: var(--bg-teal); }

.wp-block-image.is-style-arrondi img { border-radius: clamp(40px, 7vw, 100px); filter: grayscale(1) contrast(1.01); width: 100%; aspect-ratio: 577 / 604; object-fit: cover; }
.wp-block-group.is-style-encart { background: var(--bg-blue); color: #fff; padding: clamp(28px, 3.4vw, 40px) clamp(24px, 3vw, 44px); }
.wp-block-group.is-style-encart h2 { color: #fff; font-size: var(--wp--preset--font-size--tres-grand); margin: 0 0 clamp(40px, 6vw, 90px); line-height: 1.18; }
.wp-block-group.is-style-encart p { line-height: 1.75; }
.bg-intro__cols { align-items: center !important; }

/* ---------- Questions fréquentes ---------- */
.bg-questions__titre { line-height: .95 !important; margin: 0 0 clamp(40px, 6vw, 80px) !important; }
.wp-block-heading.is-style-question {
	font-family: var(--bg-sans); font-size: 20px; font-weight: 500; line-height: 2.1; letter-spacing: .8px; text-transform: uppercase;
	margin: clamp(40px, 6vw, 80px) 0 28px; padding-bottom: 14px; position: relative;
}
.wp-block-heading.is-style-question::after { content: ""; position: absolute; left: 0; bottom: 0; width: min(376px, 70%); border-top: 1.5px solid currentColor; }
.bg-questions .wp-block-column > .is-style-question:first-child { margin-top: 0; }
.bg-questions .wp-block-image { margin-top: 36px; }
.bg-questions__photo { max-width: min(860px, 100%) !important; margin-top: clamp(48px, 7vw, 100px) !important; }

/* ---------- Bienfaits ---------- */
.bg-bienfaits h3 { color: var(--bg-blue); margin: 0 0 20px; }
.bg-bienfaits__cols .wp-block-image img { width: 100%; }
.bg-pourqui { margin-top: clamp(48px, 7vw, 100px); }
.bg-pourqui h2 { margin: 0 0 24px; }
.bg-liste-centree { width: fit-content; margin-inline: auto !important; }

/* Listes à flèches */
.wp-block-list.is-style-fleches { list-style: none; padding-left: 0; }
.wp-block-list.is-style-fleches li { position: relative; padding-left: 30px; margin-bottom: 6px; }
.wp-block-list.is-style-fleches li::before {
	content: ""; position: absolute; left: 0; top: .5em; width: 16px; height: 16px; background: var(--bg-teal);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-28.9 143.6l75.5 72.4H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h182.6l-75.5 72.4c-9.7 9.3-9.9 24.8-.4 34.3l11 10.9c9.4 9.4 24.6 9.4 33.9 0L404.3 273c9.4-9.4 9.4-24.6 0-33.9L271.6 106.3c-9.4-9.4-24.6-9.4-33.9 0l-11 10.9c-9.5 9.6-9.3 25.1.4 34.4z'/%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 512 512'%3E%3Cpath d='M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-28.9 143.6l75.5 72.4H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h182.6l-75.5 72.4c-9.7 9.3-9.9 24.8-.4 34.3l11 10.9c9.4 9.4 24.6 9.4 33.9 0L404.3 273c9.4-9.4 9.4-24.6 0-33.9L271.6 106.3c-9.4-9.4-24.6-9.4-33.9 0l-11 10.9c-9.5 9.6-9.3 25.1.4 34.4z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.bg-section--bleu .wp-block-list.is-style-fleches li::before { background: #fff; }

/* ---------- Ateliers ---------- */
.bg-ateliers__cols { align-items: center !important; }
.bg-ateliers h2 { margin-top: 0; }
.bg-ateliers__dates { list-style: none; margin: 4px 0 24px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px 14px; }
.bg-ateliers__dates li { border: 1px solid var(--bg-line); border-left: 3px solid var(--bg-blue); padding: 9px 14px; background: rgba(255, 255, 255, .85); color: var(--bg-blue); font-weight: 500; line-height: 1.4; }
.bg-ateliers__vide { font-style: italic; color: var(--bg-blue); }
.bg-ateliers__resa { font-weight: 500; color: var(--bg-blue); }
.bg-ateliers__resa a { white-space: nowrap; }
.bg-ateliers__affiche { margin: 0; }
.bg-ateliers__affiche img { width: 100%; height: auto; box-shadow: 0 18px 45px rgba(20, 28, 45, .18); transition: transform .5s ease; }
.bg-ateliers__affiche a:hover img { transform: scale(1.015); }
/* Sans affiche, le texte est centré seul */
.bg-ateliers__visuel:not(:has(.bg-ateliers__affiche)) { display: none; }
.bg-ateliers__cols:not(:has(.bg-ateliers__affiche)) .bg-ateliers__texte { flex-basis: 100% !important; max-width: 820px; margin-inline: auto; text-align: center; }
.bg-ateliers__cols:not(:has(.bg-ateliers__affiche)) .bg-ateliers__dates { justify-content: center; text-align: left; }

/* ---------- Pédiatrique ---------- */
.bg-pediatrique .wp-block-image img { width: 100%; }
.bg-avertissement { margin-top: clamp(48px, 6vw, 80px) !important; padding-top: 32px; border-top: 1px solid rgba(255, 255, 255, .25); font-size: 14px; font-weight: 500; line-height: 1.7; }
.bg-avertissement p { margin: 0 0 10px; }

/* ---------- À propos ---------- */
.bg-apropos h2 { margin-top: 0; }
.bg-apropos__media .wp-block-image img { width: 100%; }
.bg-apropos__chute { font-weight: 500; color: var(--bg-blue); }

/* ---------- Tarifs ---------- */
.bg-tarifs__intro { margin-bottom: clamp(36px, 5vw, 64px) !important; }
.bg-tarifs__intro p { margin: 0 0 8px; }
.bg-tarifs { display: flex; flex-wrap: wrap; justify-content: center; gap: 30px; }
.bg-tarifs > * { margin: 0 !important; }
.wp-block-group.is-style-carte {
	flex: 1 1 300px; max-width: 380px; display: flex; flex-direction: column;
	background: #fff; color: var(--bg-text); padding: 34px 30px 30px; text-align: center;
	transition: transform .35s ease, box-shadow .35s ease;
}
.wp-block-group.is-style-carte:hover { transform: translateY(-6px); box-shadow: 0 22px 45px rgba(10, 18, 35, .3); }
.wp-block-group.is-style-carte > * { margin: 0; }
.bg-tarif__titre { font-size: clamp(34px, 3.4vw, 46px) !important; font-weight: 300 !important; color: var(--bg-blue) !important; line-height: 1.1 !important; }
.bg-tarif__sous-titre { margin-top: 10px !important; font-size: 18px; font-weight: 400; color: var(--bg-blue); line-height: 1.4; min-height: 2.8em; }
.wp-block-group.is-style-carte .wp-block-list { text-align: left; margin: 24px 0 !important; padding-top: 22px; border-top: 1px solid var(--bg-line); font-size: 15px; line-height: 1.5; }
.bg-tarif__prix { margin-top: auto !important; padding-top: 18px; border-top: 1px solid var(--bg-line); white-space: nowrap; font-size: clamp(34px, 3.6vw, 50px); font-weight: 300; line-height: 1.2; color: #555; }
.bg-tarif__prix--devis { font-size: 22px; font-weight: 500; color: var(--bg-blue); padding-block: 22px 8px; }

/* ---------- Le cabinet ---------- */
.bg-cabinet { isolation: isolate; overflow: hidden; }
/* Forme décorative du site d'origine (médiathèque), teintée en bleu très clair */
.bg-cabinet::before {
	content: ""; position: absolute; z-index: -1; right: -6%; bottom: -4%; width: min(750px, 75vw); aspect-ratio: 1;
	background: var(--bg-blue); opacity: .06; pointer-events: none;
	-webkit-mask: url("/wp-content/uploads/2022/05/contactpage-hero-bg-shape.svg") center / contain no-repeat;
	        mask: url("/wp-content/uploads/2022/05/contactpage-hero-bg-shape.svg") center / contain no-repeat;
}
.wp-block-gallery.is-style-mosaique { display: block !important; columns: 3 260px; column-gap: 16px; }
.wp-block-gallery.is-style-mosaique .wp-block-image { width: 100% !important; margin: 0 0 16px !important; break-inside: avoid; display: block; overflow: hidden; }
.wp-block-gallery.is-style-mosaique .wp-block-image img { width: 100%; height: auto !important; object-fit: initial !important; transition: transform .6s ease, opacity .4s; }
.wp-block-gallery.is-style-mosaique .wp-block-image a:hover img { transform: scale(1.04); opacity: .9; }
@media (max-width: 600px) { .wp-block-gallery.is-style-mosaique { columns: 2; column-gap: 10px; } .wp-block-gallery.is-style-mosaique .wp-block-image { margin-bottom: 10px !important; } }

/* ---------- Contact ---------- */
.bg-contact h2 { font-size: clamp(36px, 4.5vw, 65px); margin: 0 0 32px; }
.bg-contact__infos { display: flex; flex-direction: column; gap: 32px; }
.bg-carte { position: relative; aspect-ratio: 4 / 3; background: rgba(255, 255, 255, .06); }
.bg-carte iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(.4); }
.bg-contact__moyens { gap: 24px !important; }
.bg-moyen { text-align: center; }
.bg-moyen h3 { font-size: 16px; font-weight: 300; margin: 0 0 6px; }
.bg-moyen::before { content: ""; display: block; width: 46px; height: 46px; margin: 0 auto 14px; border-radius: 50%; background: rgba(255, 255, 255, .12) center / 20px no-repeat; }
.bg-moyen--mail::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23fff'%3E%3Cpath d='M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z'/%3E%3C/svg%3E"); }
.bg-moyen--tel::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23fff'%3E%3Cpath d='M497.4 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.7 370.7 0 0 1 130.6 204.1l60.6-49.6a23.9 23.9 0 0 0 6.9-28l-48-112A24.2 24.2 0 0 0 122.6.6l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.3 24.3 0 0 0-14-27.6z'/%3E%3C/svg%3E"); }
.bg-coord { color: inherit; text-decoration: none; font-weight: 500; overflow-wrap: anywhere; }
.bg-coord:hover { text-decoration: underline; }

/* ---------- Formulaire ---------- */
.bg-form { display: flex; flex-wrap: wrap; gap: 16px 4%; }
.bg-field { margin: 0; flex: 1 1 100%; }
.bg-field--half { flex-basis: 48%; }
.bg-field input, .bg-field textarea {
	font: inherit; font-weight: 300; width: 100%; color: inherit; background: transparent;
	border: 0; border-bottom: 1px solid currentColor; border-radius: 0; padding: 12px 2px; transition: border-color .3s, background-color .3s;
}
.bg-section--bleu .bg-field input, .bg-section--bleu .bg-field textarea { border-color: rgba(255, 255, 255, .55); }
.bg-field input::placeholder, .bg-field textarea::placeholder { color: inherit; opacity: .8; }
.bg-field input:focus, .bg-field textarea:focus { outline: none; border-color: currentColor; background: rgba(255, 255, 255, .05); }
.bg-field--check { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; line-height: 1.5; }
.bg-field--check input { width: 18px; height: 18px; margin-top: 2px; flex: none; accent-color: var(--bg-teal); }
.bg-field--check a { color: inherit; }
.bg-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.bg-form__submit { margin: 6px 0 0; flex-basis: 100%; }
.bg-form__note { margin: 0; flex-basis: 100%; font-size: 12px; opacity: .8; }
.bg-notice { padding: 14px 18px; margin-bottom: 24px; border-left: 3px solid var(--bg-teal); background: rgba(255, 255, 255, .92); color: var(--bg-blue); }
.bg-notice--erreur { border-color: #a12a2a; }
.bg-notice ul { margin: 0; padding-left: 18px; }
@media (max-width: 600px) { .bg-field--half { flex-basis: 100%; } }

/* ---------- Pied de page ---------- */
.bg-footer { background: #fff; color: var(--bg-text); }
.bg-footer__main { max-width: var(--bg-wrap); margin-inline: auto; display: grid; grid-template-columns: 1.1fr 1fr 1.3fr; gap: 40px 5%; padding: clamp(48px, 6vw, 80px) var(--bg-pad); align-items: start; }
.bg-footer__logo img { width: 170px; max-width: 100%; height: auto; }
.bg-footer__ffr { display: flex; align-items: center; gap: 12px; margin: 22px 0 0; font-size: 14px; line-height: 1.4; }
.bg-footer__ffr img { width: 40px; height: auto; flex: none; }
.bg-footer__title { font-family: var(--bg-sans); font-size: 30px; font-weight: 400; line-height: 1.17; color: var(--bg-blue); margin: 0 0 22px; }
.bg-footer__list { list-style: none; margin: 0; padding: 0; line-height: 1.6; }
.bg-footer__list li + li { margin-top: 6px; }
.bg-footer__list:not(.bg-footer__infos) li:not(:first-child) { text-transform: uppercase; letter-spacing: .5px; }
.bg-footer__infos li { display: flex; gap: 12px; align-items: baseline; }
.bg-footer__infos .mm-icon { width: 14px; height: 14px; color: var(--bg-blue); translate: 0 2px; }
.bg-footer__list a { color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.bg-footer__list a:hover { color: var(--bg-blue); text-decoration: underline; }
.bg-footer .mm-social { margin-top: 22px; }
.bg-footer .mm-social a { background: var(--bg-blue); color: #fff; transition: background-color .3s; }
.bg-footer .mm-social a:hover { background: var(--bg-teal); }
.bg-footer__bottom { background: var(--bg-blue); color: #fff; min-height: 45px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 18px; padding: 10px 5%; text-align: center; }
.bg-footer__bottom p { margin: 0; font-size: 15px; }
.bg-footer__bottom a { color: inherit; text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, .4); transition: border-color .3s; }
.bg-footer__bottom a:hover { border-bottom-color: #fff; }
.bg-footer__menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 18px; font-size: 15px; }
@media (max-width: 900px) {
	.bg-footer__main { grid-template-columns: 1fr 1fr; }
	.bg-footer__brand { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 20px 32px; }
	.bg-footer__brand .bg-footer__ffr { margin: 0; }
	.bg-footer__logo img { width: 130px; }
}
@media (max-width: 600px) {
	.bg-footer__main { grid-template-columns: 1fr; text-align: center; }
	.bg-footer__brand { justify-content: center; flex-direction: column; }
	.bg-footer__infos li { justify-content: center; }
	.bg-footer .mm-social { justify-content: center; }
}

/* ---------- Fenêtre « chèque cadeau » ---------- */
.bg-popup {
	position: fixed; z-index: 120; left: 20px; bottom: 20px; width: min(380px, calc(100vw - 40px));
	background: #fff; color: var(--bg-text); box-shadow: 0 24px 60px rgba(10, 18, 35, .35);
	translate: calc(-100% - 40px) 0; transition: translate .7s cubic-bezier(.2, .8, .2, 1);
}
.bg-popup.is-open { translate: 0 0; }
.bg-popup[hidden] { display: block; visibility: hidden; }
.bg-popup.is-open[hidden], .bg-popup.is-open { visibility: visible; }
.bg-popup__media img { width: 100%; height: auto; }
.bg-popup__body { padding: 22px 24px 24px; }
.bg-popup__titre { margin: 0 0 8px; font-size: 22px; font-weight: 400; line-height: 1.3; color: var(--bg-blue); }
.bg-popup__texte { margin: 0; font-size: 15px; line-height: 1.6; }
.bg-popup__action { margin: 16px 0 0; }
.bg-popup__btn { font-size: 13px; padding: 12px 22px; }
.bg-popup__close { position: absolute; top: 8px; right: 8px; z-index: 1; width: 34px; height: 34px; border: 0; border-radius: 50%; background: var(--bg-blue); color: #fff; cursor: pointer; display: grid; place-items: center; }
.bg-popup__close .mm-icon { width: 13px; height: 13px; }
.bg-popup__close:hover { background: var(--bg-teal); }

/* ---------- Pages standard, articles, archives (blog) ---------- */
.mm-page-header { padding-block: clamp(56px, 7vw, 96px) clamp(24px, 3vw, 40px); }
.mm-page-title { color: var(--bg-blue); font-weight: 300; font-size: clamp(36px, 5vw, 60px); }
.mm-kicker { margin: 0 0 10px; text-transform: uppercase; letter-spacing: 2px; font-size: 13px; font-weight: 500; color: var(--bg-teal); }
.mm-entry__media { max-width: 1000px; }
.mm-entry__media img { max-height: 70vh; object-fit: cover; }
.mm-content:not(.mm-content--full) { padding-top: 24px; }
.mm-content h2 { font-size: clamp(28px, 3.4vw, 40px); margin-top: 1.6em; }
.mm-content h3 { font-size: clamp(22px, 2.4vw, 28px); margin-top: 1.4em; }
.mm-content img { height: auto; }
.mm-post-list { max-width: var(--bg-wrap); margin-inline: auto; }
.mm-card { background: #fff; border: 1px solid var(--bg-line); transition: box-shadow .3s, transform .3s; }
.mm-card:hover { box-shadow: 0 16px 36px rgba(20, 28, 45, .12); transform: translateY(-4px); }
.mm-card__media img { aspect-ratio: 4 / 3; }
.mm-card__body { padding: 20px 22px 24px; }
.mm-card__title { font-size: 24px; margin: 0 0 10px; }
.mm-card__title a { color: var(--bg-blue); }
.mm-card__text p { margin: 0; font-size: 15px; }
.page-numbers.current { background: var(--bg-blue); color: #fff; }
.bg-legal { padding-block: 0 clamp(48px, 6vw, 96px); }
.bg-legal h2 { font-size: clamp(26px, 3vw, 34px); margin-top: 1.8em; }
.bg-legal h3 { font-size: 22px; margin-top: 1.5em; }

/* ---------- Animations d'entrée (reprises d'Elementor : fadeIn, fadeInDown, slideInUp…) ----------
 * À ajouter dans « Classe(s) CSS additionnelle(s) » d'un bloc :
 * bg-anim-fade · bg-anim-up · bg-anim-down · bg-anim-left · bg-anim-right
 * + délai facultatif : bg-delay-150 … bg-delay-1000
 */
@keyframes bg-fade  { from { opacity: 0; } to { opacity: 1; } }
@keyframes bg-up    { from { opacity: 0; transform: translate3d(0, 60px, 0); } to { opacity: 1; transform: none; } }
@keyframes bg-down  { from { opacity: 0; transform: translate3d(0, -60px, 0); } to { opacity: 1; transform: none; } }
@keyframes bg-left  { from { opacity: 0; transform: translate3d(-80px, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes bg-right { from { opacity: 0; transform: translate3d(80px, 0, 0); } to { opacity: 1; transform: none; } }
.bg-js [class*="bg-anim-"] { opacity: 0; }
.bg-js [class*="bg-anim-"].is-visible { opacity: 1; animation-duration: 1.25s; animation-fill-mode: both; animation-timing-function: ease; animation-delay: var(--bg-delay, 0ms); }
.bg-js .bg-anim-fade.is-visible  { animation-name: bg-fade; }
.bg-js .bg-anim-up.is-visible    { animation-name: bg-up; }
.bg-js .bg-anim-down.is-visible  { animation-name: bg-down; }
.bg-js .bg-anim-left.is-visible  { animation-name: bg-left; }
.bg-js .bg-anim-right.is-visible { animation-name: bg-right; }
@media (max-width: 767px) { .bg-js .bg-anim-left.is-visible, .bg-js .bg-anim-right.is-visible { animation-name: bg-up; } }
.bg-delay-150 { --bg-delay: 150ms; } .bg-delay-300 { --bg-delay: 300ms; } .bg-delay-500 { --bg-delay: 500ms; }
.bg-delay-700 { --bg-delay: 700ms; } .bg-delay-1000 { --bg-delay: 1000ms; }
@media (prefers-reduced-motion: reduce) { .bg-js [class*="bg-anim-"] { opacity: 1 !important; animation: none !important; } }

/* ---------- Effets de défilement (repris des « effets de mouvement » d'Elementor Pro) ---------- */
[class*="bg-motion-y-"], .bg-scale { will-change: translate, scale; }
.bg-zoom { overflow: hidden; }
.bg-zoom img { will-change: scale; }
@media (max-width: 781px) { [class*="bg-motion-y-"] { translate: none !important; } }

/* Fonds « parallax » : désactivés sur mobile / tactile (non supportés par iOS) */
@media (max-width: 1024px), (hover: none) {
	.wp-block-cover.has-parallax .wp-block-cover__image-background { background-attachment: scroll !important; }
}

/* ---------- Responsive général ---------- */
@media (max-width: 781px) {
	.bg-section .wp-block-columns { gap: 36px; }
	.bg-intro .wp-block-quote.is-style-citation { padding-top: 54px; }
	.bg-ateliers__cols { flex-direction: column-reverse; }
}

/* ---------- Blog : fil d'Ariane, filtres, cartes, article ---------- */
.bg-ariane { margin: 0 0 22px; font-size: 14px; line-height: 1.5; }
.bg-ariane ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 2px 0; }
.bg-ariane li { display: inline-flex; align-items: center; color: var(--bg-text); }
.bg-ariane li + li::before { content: "›"; margin: 0 10px; color: var(--bg-gris, #8A8F99); }
.bg-ariane a { color: var(--bg-blue); text-decoration: none; border-bottom: 1px solid transparent; transition: border-color .3s; }
.bg-ariane a:hover { border-bottom-color: currentColor; }
.bg-ariane [aria-current] span { font-weight: 500; }
.bg-legal ~ * .bg-ariane, .mm-page-header .bg-ariane:only-child { margin-bottom: 0; }

.bg-blog { max-width: var(--bg-wrap); margin-inline: auto; padding: 0 var(--bg-pad) clamp(56px, 7vw, 100px); }
.bg-blog__header { padding-bottom: clamp(32px, 4vw, 48px); }
.bg-filtres { margin-top: 26px; }
.bg-filtres ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.bg-filtres a {
	display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; border: 1px solid var(--bg-blue); color: var(--bg-blue);
	font-size: 15px; font-weight: 400; line-height: 1.2; text-decoration: none; transition: background-color .3s, color .3s;
}
.bg-filtres a:hover, .bg-filtres a[aria-current] { background: var(--bg-blue); color: #fff; }
.bg-filtres__nb { font-size: 12px; opacity: .7; }

.bg-carte-article { display: flex; flex-direction: column; }
.bg-carte-article .mm-card__body { display: flex; flex-direction: column; flex: 1; }
.bg-carte-article .mm-card__media { overflow: hidden; }
.bg-carte-article .mm-card__media img { transition: transform .6s ease; }
.bg-carte-article:hover .mm-card__media img { transform: scale(1.04); }
.bg-carte-article__vide { background: var(--bg-blue); display: grid; place-items: center; aspect-ratio: 4 / 3; }
.bg-carte-article__vide img { width: 40% !important; aspect-ratio: auto !important; opacity: .9; }
.bg-carte-article__meta { margin: 0 0 6px; font-size: 13px; font-weight: 500; letter-spacing: 1.5px; text-transform: uppercase; color: var(--bg-teal); }
.bg-carte-article .bg-etiquettes { margin-top: auto; padding-top: 16px; }
.bg-etiquettes { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.mm-page-header .bg-etiquettes { justify-content: center; margin-top: 18px; }
.bg-etiquette { display: inline-block; padding: 4px 12px; background: var(--bg-light); color: var(--bg-blue); font-size: 13px; font-weight: 500; line-height: 1.4; text-decoration: none; transition: background-color .3s, color .3s; }
.bg-etiquette:hover { background: var(--bg-blue); color: #fff; }

.bg-article__nav { max-width: 800px; margin-top: clamp(40px, 5vw, 64px); padding-top: 28px; border-top: 1px solid var(--bg-line); }
.bg-article__nav .nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; width: 100%; }
.bg-article__nav .nav-next { text-align: right; grid-column: 2; }
.bg-article__nav a { display: flex; flex-direction: column; gap: 4px; color: var(--bg-blue); text-decoration: none; font-weight: 400; line-height: 1.4; }
.bg-article__nav a:hover span:last-child { text-decoration: underline; }
.bg-article__nav-label { font-size: 12px; font-weight: 500; letter-spacing: 1.5px; text-transform: uppercase; color: var(--bg-teal); }
.bg-article__retour { margin: 28px 0 0; text-align: center; }
.bg-article__retour a { color: var(--bg-blue); font-weight: 500; }
@media (max-width: 600px) { .bg-article__nav .nav-links { grid-template-columns: 1fr; } .bg-article__nav .nav-next { grid-column: 1; } }
