/* Entre quatre murs : styles des blocs dynamiques. Couleurs et typos de base : kit Elementor.
   Lin #F6F0E6 · lin foncé #EADFCD · charbon #2E2823 · charbon doux #685D52 · terracotta #A84C32 · sauge #8FA384 · ocre #D9A441 · trait #DCCDB6 */

:root {
	--lin: #F6F0E6; --linf: #EADFCD; --ch: #2E2823; --chd: #685D52; --terra: #A84C32; --sauge: #8FA384; --ocre: #D9A441; --trait: #DCCDB6;
	--serif: 'Fraunces', Georgia, serif; --sans: 'Work Sans', system-ui, sans-serif;
}
body { background: #fff; color: var(--ch); font-family: var(--sans); }
body .e4m-i { flex: none; vertical-align: -2px; }
body .e4m-vide { color: var(--chd); }
body .e4m-label { font: 600 12px/16px var(--sans); text-transform: uppercase; letter-spacing: .8px; color: var(--chd); margin: 0; }
body .e4m-display, body .e4m-display .elementor-heading-title { font: 600 52px/56px var(--serif); color: var(--ch); margin: 0; letter-spacing: -.01em; }
body .e4m-h2, body .e4m-h2 .elementor-heading-title { font: 600 34px/40px var(--serif); color: var(--ch); margin: 0; }
body .e4m-h40 .elementor-heading-title { font: 600 40px/46px var(--serif); color: var(--ch); }
body .e4m-h32 .elementor-heading-title { font: 600 32px/38px var(--serif); }
body .e4m-centre, body .e4m-centre .elementor-heading-title, body .e4m-centre p { text-align: center; }
body .e4m-chapo, body .e4m-chapo p { font: 500 19px/29px var(--sans); color: var(--ch); margin: 0; }
body .e4m-rdv.is-seul { grid-template-columns: 1fr; }
body .e4m-lien-fleche a, body .e4m-lien-fleche .elementor-heading-title a { color: var(--terra) !important; font: 600 15px/20px var(--sans); color: var(--terra); text-decoration: none; }
body .e4m-ariane { font: 500 13px/18px var(--sans); color: var(--chd); margin-bottom: 14px; }
body .e4m-ariane a { color: var(--chd); text-decoration: none; }
body .e4m-ariane a:hover { color: var(--terra); }

/* Boutons */
body .e4m-btn { display: inline-flex; align-items: center; gap: 8px; background: var(--terra); color: var(--lin); font: 600 15px/20px var(--sans); padding: 13px 20px; border-radius: 6px; text-decoration: none; border: 0; transition: background .15s; }
body .e4m-btn:hover { background: var(--ch); color: var(--lin); }
body .e4m-btn-dark { background: var(--ch); }
body .e4m-btn-dark:hover { background: var(--terra); }
body .e4m-btn-block { display: flex; justify-content: center; width: 100%; }
body .e4m-btn-lin .elementor-button { background: var(--lin); color: var(--terra); }
body .e4m-btn-lin .elementor-button:hover { background: var(--ch); color: var(--lin); }
body .e4m-btn-contour .elementor-button { background: transparent; color: var(--ch); border: 1.5px solid var(--ch); }
body .e4m-btn-contour .elementor-button:hover { background: var(--ch); color: var(--lin); }

/* Arches : haut en demi-cercle, bas arrondi 16 px. Rayon vertical = moitié de la largeur / hauteur. */
body .e4m-arche { display: block; position: relative; overflow: hidden; background: var(--linf); aspect-ratio: 4 / 5; border-radius: 50% 50% 16px 16px / 40% 40% 16px 16px; }
body .e4m-arche img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
body .e4m-arche-vide { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--terra); }

/* Pastilles */
body .e4m-pastilles { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
body .e4m-pastille { display: inline-flex; align-items: center; gap: 6px; background: var(--ocre); color: var(--ch); font: 600 13px/18px var(--sans); padding: 4px 10px; border-radius: 999px; }
body .e4m-meta-item { display: inline-flex; align-items: center; gap: 5px; font: 400 13px/18px var(--sans); color: var(--chd); }
body .e4m-kicker { font: 600 12px/16px var(--sans); text-transform: uppercase; letter-spacing: .8px; color: var(--terra); }
body .e4m-kicker a { color: var(--terra); text-decoration: none; }
body .e4m-badge { display: inline-block; background: var(--lin); color: var(--ch); font: 600 11px/14px var(--sans); text-transform: uppercase; letter-spacing: .6px; padding: 5px 10px; border-radius: 999px; }
body .e4m-meta { font: 400 13px/18px var(--sans); color: var(--chd); }

/* En-tête */
body .e4m-header { border-bottom: 1px solid var(--trait); }
body .e4m-header > .e-con-inner { flex-wrap: nowrap; }
body .e4m-header .e4m-header-actions { width: auto !important; flex: 0 0 auto !important; justify-content: flex-end; }
body .e4m-header .e4m-nav { flex: 1 1 auto !important; width: auto !important; }
body .e4m-header .e4m-nav .elementor-nav-menu--main { display: flex; justify-content: center; }
@media (max-width: 1024px) { body .e4m-header .e4m-nav { flex: 0 0 auto !important; order: 3; } body .e4m-header .e4m-nav .elementor-nav-menu--main { display: none; } }
body .e4m-nav .elementor-nav-menu--main .elementor-item { font-family: var(--sans); }
body .e4m-recherche-btn label { display: flex; align-items: center; gap: 8px; height: 42px; min-width: 42px; padding: 0 12px; border: 1px solid var(--trait); border-radius: 999px; color: var(--ch); cursor: text; margin: 0; }
body .e4m-recherche-btn input { border: 0 !important; padding: 0 !important; width: 0; background: transparent !important; font: 400 15px var(--sans); outline: none; transition: width .2s; box-shadow: none !important; }
body .e4m-recherche-btn label:focus-within input { width: 200px; }
body .e4m-page-head .e4m-recherche-btn label { height: 48px; border-color: var(--ch); border-radius: 6px; padding: 0 14px; }
body .e4m-page-head .e4m-recherche-btn input { width: 280px; }
body .e4m-barre-wrap { border-bottom: 1px solid var(--trait); }
body .e4m-barre { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 11px 0; }
body .e4m-barre-pieces { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
body .e4m-barre-pieces a { font: 500 14px/20px var(--sans); color: var(--ch); text-decoration: none; }
body .e4m-barre-pieces a:hover, body .e4m-barre-pieces a.is-active { color: var(--terra); }
body .e4m-barre-simu { display: inline-flex; align-items: center; gap: 7px; font: 600 14px/20px var(--sans); color: var(--terra); text-decoration: none; white-space: nowrap; }

/* Accueil : à la une */
body .e4m-une { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 56px; align-items: center; }
body .e4m-une.has-video { grid-template-columns: minmax(0, .95fr) minmax(0, 1.15fr) 230px; gap: 48px; }
body .e4m-une-photo { aspect-ratio: 3 / 4; border-radius: 50% 50% 16px 16px / 37.5% 37.5% 16px 16px; }
body .e4m-une-budget { position: absolute; left: 20px; bottom: 20px; background: var(--ocre); color: var(--ch); font: 600 22px/28px var(--serif); padding: 10px 16px; border-radius: 6px; }
body .e4m-une-budget small { display: block; font: 600 10px/14px var(--sans); text-transform: uppercase; letter-spacing: .8px; }
body .e4m-une-txt { display: flex; flex-direction: column; gap: 20px; }
body .e4m-une-titre { font: 600 52px/56px var(--serif); margin: 0; letter-spacing: -.01em; }
body .e4m-une-titre a { color: var(--ch); text-decoration: none; }
body .e4m-faits { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: 28px; border-top: 1px solid var(--trait); border-bottom: 1px solid var(--trait); padding: 14px 0; margin: 0; }
body .e4m-faits dt { font: 600 11px/14px var(--sans); text-transform: uppercase; letter-spacing: .8px; color: var(--chd); }
body .e4m-faits dd { font: 600 15px/22px var(--sans); margin: 4px 0 0; }
body .e4m-une-cta { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; }
body .e4m-une-video p { font: 600 14px/20px var(--sans); margin: 12px 0 0; }

/* Vidéos en arche */
body .e4m-video-arche { position: relative; aspect-ratio: 9 / 16; overflow: hidden; background: var(--sauge); border-radius: 50% 50% 16px 16px / 28% 28% 16px 16px; }
body .e4m-video-sombre { background: var(--ch); }
body .e4m-video-arche .e4m-badge { position: absolute; left: 50%; top: 22%; transform: translateX(-50%); white-space: nowrap; pointer-events: none; }
body .e4m-facade { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; padding: 0; background: var(--sauge) center / cover no-repeat; cursor: pointer; border-radius: 0; }
body .e4m-video-sombre .e4m-facade { background-color: var(--ch); }
body .e4m-play { position: absolute; left: 50%; top: 55%; transform: translate(-50%, -50%); width: 60px; height: 60px; border-radius: 50%; background: #fff; color: var(--ch); display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 20px rgba(0,0,0,.2); transition: transform .15s; }
body .e4m-facade:hover .e4m-play { transform: translate(-50%, -50%) scale(1.08); }
body .e4m-duree { position: absolute; left: 14px; bottom: 12px; color: #fff; font: 600 12px/16px var(--sans); background: rgba(46,40,35,.7); padding: 3px 8px; border-radius: 4px; }
body .e4m-mp4 { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background: #000; }

/* Accueil : pièces */
body .e4m-pieces { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; }
body .e4m-piece { display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; text-decoration: none; color: var(--ch); }
body .e4m-piece-arche { width: 100%; display: flex; align-items: center; justify-content: center; color: var(--terra); margin-bottom: 12px; transition: background .2s; }
body .e4m-piece:hover .e4m-piece-arche { background: var(--lin); }
body .e4m-piece strong { font: 600 20px/26px var(--serif); }
body .e4m-piece span:last-child { font: 400 13px/18px var(--sans); color: var(--chd); }

/* Sections colorées */
body .e4m-sauge, body .e4m-sauge p { color: var(--ch); }
body .e4m-terra, body .e4m-terra p, body .e4m-terra .elementor-heading-title { color: var(--lin); }
body .e4m-terra-cta { border-left: 1px solid rgba(246,240,230,.35); padding-left: 48px !important; }
body .e4m-h3-lin .elementor-heading-title { font: 600 22px/28px var(--serif); color: var(--lin); }

/* Simulateur */
body .e4m-choix { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
body .e4m-choix-pieces { grid-template-columns: repeat(5, minmax(0, 1fr)); }
body .e4m-choix label { position: relative; margin: 0; cursor: pointer; }
body .e4m-choix input { position: absolute; opacity: 0; pointer-events: none; }
body .e4m-choix label > span { display: flex; flex-direction: column; gap: 2px; height: 100%; padding: 12px 14px; border: 1px solid var(--trait); border-radius: 6px; background: #fff; font: 500 14px/18px var(--sans); color: var(--ch); transition: border-color .15s, background .15s; }
body .e4m-choix label > span small { font: 400 12px/16px var(--sans); color: var(--chd); }
body .e4m-choix-pieces label > span { align-items: center; justify-content: center; gap: 6px; text-align: center; padding: 14px 6px 12px; border-radius: 40px 40px 6px 6px; }
body .e4m-choix label:hover > span { border-color: var(--ch); }
body .e4m-choix input:checked + span { background: var(--ch); border-color: var(--ch); color: var(--lin); }
body .e4m-choix input:checked + span small { color: var(--linf); }
body .e4m-choix input:focus-visible + span { outline: 2px solid var(--terra); outline-offset: 2px; }
body .e4m-choix-seg { gap: 0; background: var(--lin); border-radius: 6px; padding: 3px; }
body .e4m-choix-seg label > span { border: 0; background: transparent; text-align: center; padding: 9px 6px; }
body .e4m-choix-seg input:checked + span { background: #fff; color: var(--ch); box-shadow: 0 1px 3px rgba(0,0,0,.12); }
body .e4m-surface { display: inline-flex; align-items: center; gap: 8px; border: 1.5px solid var(--ch); border-radius: 6px; padding: 0 14px; background: #fff; margin: 0; }
body .e4m-surface input { width: 90px; border: 0 !important; padding: 11px 0 !important; font: 500 16px var(--sans); background: transparent !important; box-shadow: none !important; }
body .e4m-surface span { color: var(--chd); font-size: 14px; }
body .e4m-simu-mini { background: #fff; border-radius: 16px; padding: 24px; }
body .e4m-simu-mini .e4m-simu-form { display: flex; flex-direction: column; gap: 12px; }
body .e4m-simu-ligne { display: grid; grid-template-columns: auto 1fr; gap: 20px; align-items: end; }
body .e4m-simu-ligne > div { display: flex; flex-direction: column; gap: 8px; }
body .e4m-simu-mini-res { display: flex; justify-content: space-between; align-items: center; gap: 16px; border-top: 1px solid var(--trait); padding-top: 16px; margin-top: 4px; }
body .e4m-simu-mini .e4m-simu-prix { display: inline-block; margin: 6px 0 0; background: var(--ocre); font: 600 18px/24px var(--serif); padding: 4px 12px; border-radius: 999px; }

body .e4m-simu:not(.e4m-simu-mini) { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 32px; align-items: start; }
body .e4m-simu:not(.e4m-simu-mini) .e4m-simu-form { border: 1.5px solid var(--ch); border-radius: 16px; overflow: hidden; }
body .e4m-simu fieldset { border: 0; border-bottom: 1px solid var(--trait); margin: 0; padding: 24px 28px; display: flex; flex-direction: column; gap: 14px; min-width: 0; }
body .e4m-simu fieldset:last-child { border-bottom: 0; }
body .e4m-simu legend { float: left; width: 100%; display: flex; align-items: center; gap: 10px; font: 600 20px/26px var(--serif); padding: 0; margin: 0 0 14px; }
body .e4m-simu legend + * { clear: both; }
body .e4m-step { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: var(--ch); color: var(--lin); flex: none; }
body .e4m-step-num { background: transparent; border: 1.5px solid var(--ch); color: var(--ch); font: 600 12px var(--sans); }
body .e4m-simu select { max-width: 360px; border: 1px solid var(--trait); border-radius: 6px; padding: 11px 12px; font: 400 15px var(--sans); background: #fff; }
body .e4m-simu-res { position: sticky; top: 24px; background: var(--ch); color: var(--lin); border-radius: 16px; padding: 28px; display: flex; flex-direction: column; gap: 16px; }
body .e4m-simu-ctx { font: 400 13px/18px var(--sans); color: var(--linf); margin: 0; }
body .e4m-simu-res .e4m-simu-prix { font: 600 34px/40px var(--serif); color: var(--ocre); margin: 0; }
body .e4m-simu-duree { display: flex; align-items: center; gap: 8px; font: 600 14px/20px var(--sans); margin: 0; }
body .e4m-simu-barre { display: flex; height: 10px; border-radius: 999px; overflow: hidden; }
body .e4m-simu-postes { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
body .e4m-simu-postes li { display: flex; align-items: center; gap: 10px; font: 400 14px/20px var(--sans); }
body .e4m-simu-postes i { width: 10px; height: 10px; border-radius: 2px; flex: none; }
body .e4m-simu-postes strong { margin-left: auto; font-weight: 600; }
body .e4m-simu-note { border-top: 1px solid rgba(246,240,230,.2); padding-top: 14px; }
body .e4m-simu-note strong { font: 600 13px var(--sans); }
body .e4m-simu-note p { font: 400 12px/18px var(--sans); color: var(--linf); margin: 4px 0 0; }

/* Rendez-vous vidéo */
body .e4m-rdv { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 72px; align-items: start; }
body .e4m-rdv-legende { font: 600 16px/22px var(--serif); margin: 14px 0 0; }
body .e4m-rdv-legende a { color: var(--ch); text-decoration: none; }
body .e4m-rdv-liste .e4m-h2 { padding-bottom: 16px; border-bottom: 1px solid var(--trait); margin-bottom: 4px; }
body .e4m-rdv-item { display: flex; gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--trait); }
body .e4m-rdv-pastille { flex: none; width: 38px; height: 52px; border-radius: 19px 19px 6px 6px; background: var(--sauge); color: var(--ch); display: flex; align-items: center; justify-content: center; }
body .e4m-rdv-item h3 { font: 600 21px/26px var(--serif); margin: 0 0 4px; }
body .e4m-rdv-item p { font: 400 14px/20px var(--sans); color: var(--chd); margin: 0 0 6px; }
body .e4m-rdv-ep { font: 600 14px/20px var(--sans); color: var(--ch); text-decoration: none; }
body a.e4m-rdv-ep:hover { color: var(--terra); }
body .e4m-rdv-ep.is-off { color: var(--chd); font-weight: 400; font-style: italic; }

/* Cartes de fiches */
body .e4m-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
body .e4m-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 28px; }
body .e4m-card { display: flex; flex-direction: column; gap: 14px; }
body .e4m-card .e4m-arche { aspect-ratio: 6 / 5; border-radius: 50% 50% 16px 16px / 60% 60% 16px 16px; }
body .e4m-card-body { display: flex; flex-direction: column; gap: 10px; }
body .e4m-card-title { font: 600 22px/28px var(--serif); margin: 0; }
body .e4m-card-title a { color: var(--ch); text-decoration: none; }
body .e4m-card-title a:hover { color: var(--terra); }
body .e4m-card-h { flex-direction: row; gap: 20px; align-items: flex-start; }
body .e4m-card-h .e4m-arche { width: 150px; flex: none; aspect-ratio: 4 / 5; border-radius: 50% 50% 12px 12px / 40% 40% 12px 12px; }
body .e4m-card-h .e4m-card-title { font-size: 20px; line-height: 26px; }
body .e4m-grid3.mini { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
body .e4m-mini { display: flex; flex-direction: column; gap: 12px; justify-content: space-between; background: #fff; border-radius: 12px; padding: 18px; text-decoration: none; color: var(--ch); }
body .e4m-mini strong { font: 600 18px/24px var(--serif); }
body .e4m-mini:hover strong { color: var(--terra); }

/* Lettre du dimanche */
body .e4m-lettre { max-width: 720px; margin: 0 auto; border: 1.5px solid var(--ch); border-radius: 360px 360px 16px 16px; padding: 96px 64px 40px !important; text-align: center; }
body .e4m-lettre-icone { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--terra); color: var(--lin); }
body .e4m-lettre-titre .elementor-heading-title { font: 600 32px/38px var(--serif); text-align: center; color: var(--ch); }
body .e4m-lettre-note p { font: 400 13px/18px var(--sans); color: var(--chd); margin: 0; }
body .e4m-form-inline .elementor-form-fields-wrapper { flex-wrap: nowrap; }
body .e4m-form-inline .elementor-field-group:not(.elementor-field-type-submit) { flex: 1; }
body .e4m-form-inline .elementor-field-type-submit { width: auto !important; }
body .e4m-lettre .e4m-form-inline { width: 100%; max-width: 440px; }

/* Pied de page */
body .e4m-footer, body .e4m-footer p { color: var(--lin); }
body .e4m-foot-signature .elementor-heading-title { font: italic 400 34px/40px var(--serif); color: var(--lin); }
body .e4m-foot-title .elementor-heading-title { font: 600 11px/14px var(--sans); text-transform: uppercase; letter-spacing: 1px; color: var(--ocre); }
body .e4m-foot-links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
body .e4m-foot-links a { color: var(--lin); text-decoration: none; font: 400 15px/20px var(--sans); }
body .e4m-foot-links a:hover { color: var(--ocre); }
body .e4m-foot-bottom { border-top: 1px solid rgba(246,240,230,.15); }
body .e4m-legal { font: 400 13px/18px var(--sans); color: var(--linf) !important; margin: 0; }
body .e4m-legal a { color: var(--linf); text-decoration: none; }
body .e4m-legal a:hover { color: var(--ocre); }
body .e4m-socials { display: flex; gap: 10px; }
body .e4m-socials a { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 1px solid rgba(246,240,230,.3); border-radius: 6px; color: var(--lin); }
body .e4m-form-dark input { background: #3B342E !important; border-color: #3B342E !important; color: var(--lin) !important; }
body .e4m-form-dark .elementor-button { background: var(--ocre) !important; color: var(--ch) !important; }
body .e4m-form-dark .elementor-button:hover { background: var(--lin) !important; }

/* Pages d'archive et blog */
body .e4m-page-head-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; flex-wrap: wrap; }
body .e4m-blog { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 56px; align-items: start; }
body .e4m-filtres { display: flex; flex-direction: column; gap: 10px; border-top: 1.5px solid var(--ch); padding-top: 20px; }
body .e4m-filtres ul { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-direction: column; gap: 6px; }
body .e4m-filtres a { font: 400 15px/22px var(--sans); color: var(--ch); text-decoration: none; }
body .e4m-filtres a:hover, body .e4m-filtres a.is-active { color: var(--terra); font-weight: 600; }
body .e4m-filtres-tout { font-weight: 600 !important; color: var(--terra) !important; }
body .e4m-blog-barre { display: flex; align-items: center; gap: 12px; border-top: 1.5px solid var(--ch); padding: 16px 0 28px; font: 500 14px/20px var(--sans); color: var(--chd); }
body .e4m-chip { background: var(--ch); color: var(--lin); padding: 4px 12px; border-radius: 999px; text-decoration: none; font: 500 13px/18px var(--sans); }
body .e4m-pagination { display: flex; justify-content: space-between; align-items: center; gap: 16px; border-top: 1px solid var(--trait); margin-top: 40px; padding-top: 20px; font: 400 14px var(--sans); color: var(--chd); }
body .e4m-pagination .page-numbers { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; border: 1px solid var(--trait); border-radius: 6px; color: var(--ch); text-decoration: none; margin: 0 3px; }
body .e4m-pagination .page-numbers.current { background: var(--ch); color: var(--lin); border-color: var(--ch); }

/* Encarts sauge en arche */
body .e4m-encart-simu { background: var(--sauge); border-radius: 140px 140px 16px 16px; padding: 48px 24px 24px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 10px; margin-top: 16px; }
body .e4m-encart-simu p { font: 400 14px/20px var(--sans); color: var(--ch); margin: 0; }
body .e4m-encart-simu > p:first-of-type, body .e4m-encart-titre { font: 600 20px/26px var(--serif) !important; }
body .e4m-encart-simu .e4m-btn { margin-top: 6px; }
body .e4m-encart-simu .e4m-btn, body .e4m-encart-simu .e4m-btn:hover, body .e4m-encart-simu .e4m-btn:focus, body .e4m-encart-simu .e4m-btn:active, body .e4m-encart-simu .e4m-btn:visited { color: #fff !important; }
body .e4m-arche-icone { color: var(--ch); }
body .e4m-encadre { border: 1.5px solid var(--ch); border-radius: 16px; padding: 22px 24px; }
body .e4m-encadre p { font: 400 14px/21px var(--sans); color: var(--chd); margin: 0; }
body .e4m-encadre .e4m-encadre-titre { font: 600 19px/24px var(--serif); color: var(--ch); margin-bottom: 8px; }

/* Fiche : en-tête */
body .e4m-art-head { display: grid; grid-template-columns: minmax(0, 1fr); gap: 56px; align-items: end; }
body .e4m-art-head.has-video, body .e4m-art-head:has(.e4m-art-photo) { grid-template-columns: minmax(0, 1fr) 280px; }
body .e4m-art-head-txt { display: flex; flex-direction: column; gap: 18px; padding-bottom: 8px; }
body .e4m-art-titre { font: 600 48px/54px var(--serif); margin: 0; letter-spacing: -.01em; color: var(--ch); }
body .e4m-art-video p { font: 400 12px/16px var(--sans); color: var(--chd); text-align: center; margin: 10px 0 0; }
body .e4m-art-video p a { color: var(--chd); }
body .e4m-art-photo { aspect-ratio: 4 / 5; }
body .e4m-byline { display: flex; align-items: center; gap: 12px; }
body .e4m-byline-logo { width: 40px; height: 40px; border-radius: 50%; background: var(--sauge); color: var(--ch); display: flex; align-items: center; justify-content: center; flex: none; }
body .e4m-byline strong { display: block; font: 600 14px/20px var(--sans); }
body .e4m-byline strong a { color: var(--ch); text-decoration: none; }
body .e4m-byline span { font: 400 13px/18px var(--sans); color: var(--chd); }
body .e4m-recap { display: flex; flex-wrap: wrap; margin: 36px 0 0; border: 1.5px solid var(--ch); border-radius: 16px; padding: 14px 8px; }
body .e4m-recap > div { flex: 1 1 160px; padding: 4px 20px; border-left: 1px solid var(--trait); }
body .e4m-recap > div:first-child { border-left: 0; }
body .e4m-recap dt { font: 400 12px/16px var(--sans); color: var(--chd); }
body .e4m-recap dd { display: inline-flex; align-items: center; gap: 6px; margin: 4px 0 0; font: 600 14px/20px var(--sans); }
body .e4m-recap dd.e4m-pastille { padding: 3px 10px; }

/* Fiche : corps */
body .e4m-art-col { min-width: 0; max-width: 760px; }
body .e4m-contenu { font: 400 17px/28px var(--sans); color: var(--ch); }
body .e4m-contenu p { margin: 0 0 18px; }
body .e4m-contenu h2 { font: 600 30px/36px var(--serif); margin: 44px 0 14px; color: var(--ch); }
body .e4m-contenu h3 { font: 600 22px/28px var(--serif); margin: 30px 0 10px; color: var(--ch); }
body .e4m-contenu a { color: var(--terra); }
body .e4m-contenu ul, body .e4m-contenu ol { margin: 0 0 18px; padding-left: 22px; }
body .e4m-contenu li { margin-bottom: 6px; }
body .e4m-contenu figure { margin: 28px 0; }
body .e4m-contenu figure img { width: 100%; height: auto; border-radius: 16px; display: block; }
body .e4m-contenu figure.is-style-arche img, body .e4m-contenu .e4m-fig-arche img { border-radius: 400px 400px 16px 16px; aspect-ratio: 4 / 3; object-fit: cover; }
body .e4m-contenu figcaption { font: 400 13px/19px var(--sans); color: var(--chd); margin-top: 10px; text-align: left; }
body .e4m-contenu figcaption a { color: var(--chd); }
body .e4m-contenu .wp-block-table { border: 1px solid var(--trait); border-radius: 16px; padding: 8px 20px; overflow-x: auto; }
body .e4m-contenu table { width: 100%; border-collapse: collapse; font: 400 15px/22px var(--sans); margin: 0; }
body .e4m-contenu th { text-align: left; font: 600 13px/18px var(--sans); border-bottom: 1.5px solid var(--ch); padding: 12px 8px; }
body .e4m-contenu td { border-bottom: 1px solid var(--trait); padding: 12px 8px; vertical-align: top; }
body .e4m-contenu tr:last-child td { border-bottom: 0; }
body .e4m-contenu .wp-block-table figcaption { border-top: 1px solid var(--trait); padding-top: 10px; }
body .e4m-contenu blockquote { background: var(--sauge); border: 0; border-radius: 16px; padding: 24px 28px; margin: 28px 0; }
body .e4m-contenu blockquote p { font: italic 400 20px/30px var(--serif); margin: 0; color: var(--ch); }
body .e4m-contenu blockquote cite { display: block; font: 600 13px/18px var(--sans); font-style: normal; margin-top: 10px; }
body .e4m-contenu .e4m-retenir { background: var(--terra); color: var(--lin); border-radius: 16px; padding: 26px 30px; margin: 32px 0; }
body .e4m-contenu .e4m-retenir > p:first-child { font: 600 22px/28px var(--serif); margin-bottom: 12px; color: var(--lin); }
body .e4m-contenu .e4m-retenir ul { list-style: none; padding: 0; margin: 0; }
body .e4m-contenu .e4m-retenir li { position: relative; padding-left: 26px; margin-bottom: 8px; color: var(--lin); }
body .e4m-contenu .e4m-retenir li::before { content: ''; position: absolute; left: 2px; top: 7px; width: 12px; height: 7px; border-left: 2px solid var(--lin); border-bottom: 2px solid var(--lin); transform: rotate(-45deg); }
body .e4m-contenu .e4m-retenir a { color: var(--lin); }
body .e4m-contenu .e4m-chiffres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 28px 0; }
body .e4m-contenu .e4m-chiffres > div { background: var(--lin); border-radius: 16px; padding: 18px 20px; }
body .e4m-contenu .e4m-chiffres strong { display: block; font: 600 30px/36px var(--serif); color: var(--terra); }
body .e4m-contenu .e4m-chiffres span { font: 400 14px/20px var(--sans); color: var(--chd); }
body .e4m-art-note { font: 400 13px/19px var(--sans); color: var(--chd); border-top: 1px solid var(--trait); padding-top: 16px; margin-top: 32px; }
body .e4m-aside-col { position: sticky; top: 24px; }
body .e4m-toc { border-top: 1.5px solid var(--ch); padding-top: 14px; }
body .e4m-toc .elementor-toc { border: 0 !important; padding: 0 !important; background: transparent !important; }
body .e4m-toc .elementor-toc__header-title { font: 600 18px/24px var(--serif) !important; color: var(--ch) !important; }
body .e4m-toc .elementor-toc__header { padding: 0 0 10px !important; border: 0 !important; }
body .e4m-toc .elementor-toc__body { padding: 0 !important; }
body .e4m-toc .elementor-toc__list-item-text { font: 400 14px/20px var(--sans) !important; color: var(--chd) !important; }
body .e4m-toc .elementor-toc__list-item-text.elementor-item-active, body .e4m-toc .elementor-toc__list-item-text:hover { color: var(--terra) !important; }
body .e4m-toc .elementor-toc__list-item { margin-bottom: 6px; }
body .e4m-toc .elementor-toc__list-wrapper { list-style: none; padding: 0; }
body .e4m-toc .elementor-toc__list-item-text-wrapper::before, body .e4m-toc .elementor-toc__list-item-text-wrapper i { display: none !important; }
body .e4m-suite { border-top: 1px solid var(--trait); }
body .e4m-suite-vide { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; background: var(--lin); border-radius: 16px; padding: 24px 28px; }
body .e4m-suite-vide p { margin: 0; }

/* Le média */
body .e4m-regles { list-style: none; margin: 0; padding: 0; }
body .e4m-regles li { display: flex; gap: 18px; padding: 18px 0; border-top: 1px solid var(--trait); }
body .e4m-regles li:last-child { border-bottom: 1px solid var(--trait); }
body .e4m-regle-icone { flex: none; width: 38px; height: 46px; border-radius: 19px 19px 6px 6px; background: var(--sauge); display: flex; align-items: center; justify-content: center; color: var(--ch); }
body .e4m-regles strong { font: 600 21px/26px var(--serif); }
body .e4m-regles p { margin: 2px 0 0; font: 400 15px/22px var(--sans); color: var(--chd); }
body .e4m-etapes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
body .e4m-etapes li { background: #fff; border-radius: 16px; padding: 24px; }
body .e4m-etape-num { display: block; font: italic 400 40px/44px var(--serif); color: var(--terra); margin-bottom: 8px; }
body .e4m-etapes strong { font: 600 19px/24px var(--serif); }
body .e4m-etapes p { margin: 6px 0 0; font: 400 14px/20px var(--sans); color: var(--chd); }
body .e4m-ia { width: 100%; background: #fff; border-radius: 16px; border-collapse: separate; border-spacing: 0; overflow: hidden; font: 400 15px/22px var(--sans); }
body .e4m-ia th { text-align: left; font: 600 12px/16px var(--sans); text-transform: uppercase; letter-spacing: .6px; padding: 18px 24px 12px; border-bottom: 1.5px solid var(--ch); }
body .e4m-ia th:first-child { font: 600 20px/26px var(--serif); text-transform: none; letter-spacing: 0; }
body .e4m-ia tr, body .e4m-ia td, body .e4m-ia th { background: #fff !important; }
body .e4m-ia td { padding: 13px 24px; border-bottom: 1px solid var(--trait); }
body .e4m-ia tr:last-child td { border-bottom: 0; }
body .e4m-editeur { border-top: 1.5px solid var(--ch); }

/* Contact */
body .e4m-objets { display: flex; flex-wrap: wrap; gap: 8px; }
body .e4m-objets button { background: #fff; border: 1px solid var(--trait); color: var(--ch); border-radius: 6px; padding: 8px 14px; font: 500 14px/18px var(--sans); cursor: pointer; }
body .e4m-objets button:hover { border-color: var(--ch); background: #fff; color: var(--ch); }
body .e4m-objets button.is-active { background: var(--ch); border-color: var(--ch); color: var(--lin); }
body .e4m-form-contact .elementor-field-type-select { display: none; }
body .e4m-form-contact .elementor-field-type-html .elementor-field-label { display: none; }
body .e4m-form-contact .elementor-field-type-upload input { border: 1.5px dashed var(--trait) !important; padding: 18px !important; border-radius: 6px; }
body .e4m-encart-devis { border-radius: 200px 200px 16px 16px; padding: 64px 32px 32px; margin-top: 0; }

/* Tablette */
@media (max-width: 1024px) {
	body .e4m-une, body .e4m-une.has-video { grid-template-columns: 1fr 1fr; }
	body .e4m-une-video { grid-column: 1 / -1; max-width: 260px; }
	body .e4m-pieces { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	body .e4m-rdv { grid-template-columns: 260px minmax(0, 1fr); gap: 40px; }
	body .e4m-simu:not(.e4m-simu-mini) { grid-template-columns: 1fr; }
	body .e4m-simu-res { position: static; }
	body .e4m-blog { grid-template-columns: 1fr; gap: 24px; }
	body .e4m-filtres { flex-direction: row; flex-wrap: wrap; gap: 16px 32px; }
	body .e4m-filtres ul { flex-direction: row; flex-wrap: wrap; gap: 6px 16px; }
	body .e4m-filtres .e4m-encart-simu { display: none; }
	body .e4m-grid2 { grid-template-columns: 1fr; }
	body .e4m-etapes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body .e4m-terra-cta { border-left: 0; padding-left: 0 !important; }
	body .e4m-aside-col { position: static; width: 100% !important; }
	body .e4m-barre-pieces .e4m-label { display: none; }
}

/* Mobile */
@media (max-width: 767px) {
	body .e4m-display, body .e4m-display .elementor-heading-title, body .e4m-une-titre { font-size: 34px; line-height: 39px; }
	body .e4m-h2, body .e4m-h2 .elementor-heading-title, body .e4m-h40 .elementor-heading-title { font-size: 28px; line-height: 34px; }
	body .e4m-h32 .elementor-heading-title, body .e4m-lettre-titre .elementor-heading-title { font-size: 25px; line-height: 31px; }
	body .e4m-chapo, body .e4m-chapo p { font-size: 17px; line-height: 26px; }
	body .e4m-une, body .e4m-une.has-video { grid-template-columns: 1fr; gap: 28px; }
	body .e4m-une-photo { max-width: 340px; }
	body .e4m-une-video { max-width: 220px; }
	body .e4m-faits { grid-template-columns: repeat(2, auto); gap: 14px 24px; }
	body .e4m-pieces { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
	body .e4m-piece strong { font-size: 16px; line-height: 22px; }
	body .e4m-piece span:last-child { display: none; }
	body .e4m-choix-pieces { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	body .e4m-choix { grid-template-columns: 1fr; }
	body .e4m-choix-pieces, body .e4m-choix-seg { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	body .e4m-simu-ligne { grid-template-columns: 1fr; }
	body .e4m-simu-mini-res { flex-direction: column; align-items: flex-start; }
	body .e4m-simu fieldset { padding: 20px; }
	body .e4m-rdv { grid-template-columns: 1fr; gap: 32px; }
	body .e4m-rdv-video { max-width: 240px; }
	body .e4m-grid3, body .e4m-grid3.mini { grid-template-columns: 1fr; }
	body .e4m-card-h .e4m-arche { width: 110px; }
	body .e4m-lettre { padding: 64px 22px 28px !important; }
	body .e4m-form-inline .elementor-form-fields-wrapper { flex-wrap: wrap; }
	body .e4m-form-inline .elementor-field-type-submit { width: 100% !important; }
	body .e4m-art-head.has-video, body .e4m-art-head:has(.e4m-art-photo) { grid-template-columns: 1fr; gap: 24px; }
	body .e4m-art-video { max-width: 220px; }
	body .e4m-art-titre { font-size: 32px; line-height: 38px; }
	body .e4m-recap > div { flex-basis: 45%; border-left: 0; padding: 8px 12px; }
	body .e4m-contenu h2 { font-size: 25px; line-height: 31px; }
	body .e4m-contenu .e4m-chiffres { grid-template-columns: 1fr; }
	body .e4m-etapes { grid-template-columns: 1fr; }
	body .e4m-ia th, body .e4m-ia td { padding: 10px 12px; font-size: 13px; }
	body .e4m-barre { flex-direction: column; align-items: flex-start; gap: 8px; }
	body .e4m-barre-pieces { gap: 6px 16px; }
	body .e4m-page-head .e4m-recherche-btn input { width: 200px; }
	body .e4m-header-actions .e4m-recherche-btn { display: none; }
}

/* Le média : chaînes et dernières vidéos YouTube */
body .e4m-chaines { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
body .e4m-chaine { display: flex; flex-direction: column; gap: 6px; background: #fff; border-radius: 120px 120px 16px 16px; padding: 44px 28px 28px; text-decoration: none; color: var(--ch); transition: transform .15s; }
body .e4m-chaine:hover { transform: translateY(-3px); color: var(--ch); }
body .e4m-chaine-icone { width: 56px; height: 56px; border-radius: 50%; background: var(--terra); color: var(--lin); display: flex; align-items: center; justify-content: center; margin-bottom: 10px; }
body .e4m-chaine strong { font: 600 24px/30px var(--serif); }
body .e4m-chaine-compte { font: 600 14px/20px var(--sans); color: var(--terra); }
body .e4m-chaine p { font: 400 15px/22px var(--sans); color: var(--chd); margin: 4px 0 8px; flex: 1; }
body .e4m-chaine-btn { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; background: var(--ch); color: var(--lin); font: 600 14px/18px var(--sans); padding: 10px 16px; border-radius: 6px; }
body .e4m-yt-grille { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 24px; }
body .e4m-yt { display: flex; flex-direction: column; gap: 8px; }
body .e4m-yt .e4m-facade { background-size: cover; background-position: center; }
body .e4m-yt-titre { font: 600 18px/24px var(--serif); margin: 8px 0 0; }
body .e4m-yt-titre a { color: var(--ch); text-decoration: none; }
body .e4m-yt-titre a:hover { color: var(--terra); }
body .e4m-yt-iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media (max-width: 1024px) { body .e4m-yt-grille { grid-template-columns: repeat(3, minmax(0, 1fr)); } body .e4m-chaines { grid-template-columns: 1fr; } }
@media (max-width: 767px) { body .e4m-yt-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; } body .e4m-yt-titre { font-size: 15px; line-height: 20px; } }
