/*
Theme Name: MainTendue Ensemble
Description: Thème WordPress du guide gratuit et indépendant pour trouver de l'aide en santé mentale MainTendue Ensemble. Accessible, sans police externe ni traceur, avec bandeau d'aide immédiate, bouton de sortie rapide et répertoire de ressources vérifiées.
Version: 3.79.1
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: maintendue-ensemble
*/

:root {
	--c-ink: #0f2e3a;
	--c-primary: #14566b;
	--c-primary-dark: #0e4152;
	--c-teal: #2a9d8f;
	--c-teal-soft: #e6f4f1;
	--c-orange: #f4a261;
	--c-orange-dark: #a8480f;
	--c-orange-soft: #fdf0e3;
	--c-bg: #f7faf9;
	--c-surface: #ffffff;
	--c-text: #18303a;
	--c-muted: #4a6068;
	--c-line: #dbe6e4;
	--radius: 22px;
	--radius-sm: 14px;
	--shadow-sm: 0 1px 2px rgba(15, 46, 58, .06), 0 2px 10px rgba(15, 46, 58, .05);
	--shadow: 0 2px 4px rgba(15, 46, 58, .05), 0 16px 40px rgba(15, 46, 58, .10);
	--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI Variable", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--wrap: 1140px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}
body {
	margin: 0;
	font-family: var(--font);
	font-size: 18px;
	line-height: 1.65;
	color: var(--c-text);
	background: var(--c-bg);
}
img, svg { max-width: 100%; height: auto; }
a { color: var(--c-primary); text-underline-offset: .18em; }
a:hover { color: var(--c-primary-dark); }
:focus-visible { outline: 3px solid var(--c-orange); outline-offset: 3px; border-radius: 4px; }
h1, h2, h3, h4 { color: var(--c-ink); line-height: 1.2; margin: 0 0 .6em; letter-spacing: -.01em; }
h1 { font-size: clamp(2.1rem, 5vw, 3.4rem); letter-spacing: -.025em; }
h2 { font-size: clamp(1.55rem, 3vw, 2.1rem); }
h3 { font-size: 1.2rem; }
p { margin: 0 0 1em; }
.container { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 24px; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link { position: absolute; left: 8px; top: -60px; z-index: 100; background: var(--c-ink); color: #fff; padding: 10px 16px; border-radius: 8px; }
.skip-link:focus { top: 8px; color: #fff; }

/* Boutons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5em; padding: .85em 1.5em; border-radius: 999px; border: 2px solid var(--c-primary); background: transparent; color: var(--c-primary); font: inherit; font-weight: 700; font-size: 1rem; text-decoration: none; cursor: pointer; transition: transform .15s, background .15s, box-shadow .15s; }
.btn:hover { background: var(--c-teal-soft); transform: translateY(-1px); }
.btn-primary { background: var(--c-primary); color: #fff; box-shadow: 0 6px 18px rgba(20, 86, 107, .28); }
.btn-primary:hover { background: var(--c-primary-dark); color: #fff; }
.btn-light { background: #fff; border-color: #fff; color: var(--c-primary); }
.btn-light:hover { background: var(--c-teal-soft); }

/* Bandeau d'aide immédiate */
.crisis-bar { background: var(--c-ink); color: #fff; font-size: .95rem; }
.crisis-bar .container { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .25rem 1.1rem; padding-top: 9px; padding-bottom: 9px; text-align: center; }
.crisis-bar a { color: #fff; font-weight: 700; }
.crisis-bar a:hover { color: var(--c-orange); }
.crisis-bar .sep { opacity: .5; }

/* En-tête */
.site-header { background: rgba(255, 255, 255, .92); backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--c-line); position: sticky; top: 0; z-index: 50; }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding-top: 12px; padding-bottom: 12px; }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--c-ink); flex-shrink: 0; }
.brand img { width: 48px; height: 48px; }
.brand-name { display: block; font-weight: 800; font-size: 1.25rem; line-height: 1; letter-spacing: -.02em; color: var(--c-primary); }
.brand-name small { display: block; font-weight: 700; font-size: .95rem; color: var(--c-teal-dark, #1f7a6f); letter-spacing: .01em; margin-top: 3px; }
.main-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: .25rem; flex-wrap: nowrap; }
.main-nav a { display: block; padding: .55em .95em; border-radius: 999px; color: var(--c-text); text-decoration: none; font-weight: 600; font-size: 1rem; white-space: nowrap; }
.main-nav a:hover { background: var(--c-teal-soft); color: var(--c-primary-dark); }
.main-nav .current-menu-item > a, .main-nav .current_page_item > a { background: var(--c-teal-soft); color: var(--c-primary-dark); }
.nav-toggle { display: none; border: 2px solid var(--c-primary); background: #fff; color: var(--c-primary); border-radius: 999px; padding: .55em 1.1em; font: inherit; font-weight: 700; cursor: pointer; }

@media (max-width: 960px) {
	.nav-toggle { display: inline-flex; }
	.main-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-bottom: 1px solid var(--c-line); box-shadow: var(--shadow); padding: 12px 16px 20px; }
	.main-nav.is-open { display: block; }
	.main-nav ul { flex-direction: column; }
	.main-nav a { padding: .8em 1em; font-size: 1.05rem; }
}

/* Héros */
.hero { position: relative; overflow: hidden; background: linear-gradient(160deg, #eaf6f4 0%, #f7efe4 100%); padding: clamp(48px, 8vw, 96px) 0 clamp(56px, 8vw, 104px); }
.hero::before { content: ""; position: absolute; left: -180px; bottom: -300px; width: 760px; height: 560px; border-radius: 50%; background: #bfe3dd; opacity: .55; }
.hero::after { content: ""; position: absolute; right: -200px; bottom: -330px; width: 760px; height: 560px; border-radius: 50%; background: #f5d9bc; opacity: .7; }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.25fr .75fr; gap: 40px; align-items: center; }
.hero h1 { color: var(--c-primary); margin-bottom: .4em; }
.hero .lead { font-size: 1.3rem; color: var(--c-text); max-width: 34em; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin: 1.6rem 0 1rem; }
.hero-note { font-size: .98rem; color: var(--c-muted); }
.hero-art { display: flex; justify-content: center; position: relative; }
.hero-art .sun { position: absolute; right: 6%; top: -6%; width: 96px; height: 96px; border-radius: 50%; background: var(--c-orange); opacity: .9; }
.hero-art img { width: min(340px, 80%); aspect-ratio: 1; position: relative; border-radius: 50%; background: #fff; padding: 10px; box-shadow: 0 24px 50px rgba(20, 86, 107, .22); }
@media (max-width: 820px) {
	.hero-grid { grid-template-columns: 1fr; }
	.hero-art { order: -1; justify-content: flex-start; }
	.hero-art img { width: 120px; }
	.hero-art .sun { display: none; }
}

/* Sections */
.section { padding: clamp(48px, 7vw, 88px) 0; }
.section-alt { background: #fff; border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.section-head { max-width: 44rem; margin-bottom: 2rem; }
.section-head p { color: var(--c-muted); font-size: 1.1rem; }
.eyebrow { display: inline-block; font-size: .85rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--c-orange-dark); margin-bottom: .6em; }

.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 22px; }
.grid-3 { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }

.card { background: var(--c-surface); border: 1px solid var(--c-line); border-radius: var(--radius); padding: 26px; box-shadow: var(--shadow-sm); display: flex; flex-direction: column; }
.card h3 { margin-bottom: .35em; }
.card p:last-child { margin-bottom: 0; }
.card .meta { font-size: .9rem; color: var(--c-muted); margin: .4rem 0 0; }

/* Cartes d'urgence */
.urgence .card { border-top: 6px solid var(--c-orange); }
.big-num { display: block; font-size: clamp(2.4rem, 5vw, 3.2rem); font-weight: 800; color: var(--c-primary); letter-spacing: -.03em; line-height: 1; text-decoration: none; margin: .1em 0 .3em; }
a.big-num:hover { color: var(--c-orange-dark); }
.card .label { font-weight: 700; color: var(--c-ink); }

/* Tuiles de besoins */
.need { display: flex; align-items: center; gap: 14px; padding: 18px 20px; background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius-sm); text-decoration: none; color: var(--c-ink); font-weight: 700; box-shadow: var(--shadow-sm); transition: transform .15s, box-shadow .15s, border-color .15s; }
.need:hover { transform: translateY(-2px); box-shadow: var(--shadow); border-color: var(--c-teal); color: var(--c-primary-dark); }
.need .dot { width: 14px; height: 14px; border-radius: 50%; background: var(--c-teal); flex: none; }
.need:nth-child(3n+2) .dot { background: var(--c-orange); }
.need:nth-child(3n) .dot { background: var(--c-primary); }

/* Étapes */
.steps { counter-reset: step; list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 22px; }
.steps li { counter-increment: step; position: relative; background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 28px 24px 24px; box-shadow: var(--shadow-sm); }
.steps li::before { content: counter(step); display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--c-primary); color: #fff; font-weight: 800; margin-bottom: 14px; }

/* Pastilles */
.pill { display: inline-block; padding: .2em .8em; border-radius: 999px; background: var(--c-teal-soft); color: var(--c-primary-dark); font-size: .88rem; font-weight: 700; margin: 0 6px 6px 0; }
.pill-warn { background: var(--c-orange-soft); color: var(--c-orange-dark); }

/* Bande d'appel */
.band { background: var(--c-primary); color: #fff; border-radius: var(--radius); padding: clamp(28px, 5vw, 52px); display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between; }
.band h2 { color: #fff; margin: 0 0 .3em; }
.band p { margin: 0; opacity: .95; }

/* Pages */
.page-header { background: linear-gradient(160deg, #eaf6f4 0%, #f7efe4 100%); padding: clamp(36px, 6vw, 64px) 0; border-bottom: 1px solid var(--c-line); }
.page-header h1 { color: var(--c-primary); margin: 0 0 .25em; }
.page-header p { margin: 0; color: var(--c-muted); font-size: 1.15rem; max-width: 42rem; }
.content-area { padding: clamp(36px, 6vw, 72px) 0; }
.prose { max-width: 46rem; }
.prose h2 { margin-top: 1.8em; }
.prose ul { padding-left: 1.2em; }
.prose li { margin-bottom: .4em; }
.notice { background: var(--c-orange-soft); border-left: 6px solid var(--c-orange); border-radius: 12px; padding: 16px 20px; margin: 0 0 1.6rem; }

/* Répertoire */
.filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 1rem; }
.filters strong { margin-right: 6px; font-size: .95rem; color: var(--c-muted); }
.filters a { padding: .4em 1em; border-radius: 999px; background: #fff; border: 1px solid var(--c-line); text-decoration: none; font-weight: 600; font-size: .95rem; color: var(--c-text); }
.filters a:hover { border-color: var(--c-teal); }
.filters a.is-active { background: var(--c-primary); border-color: var(--c-primary); color: #fff; }
.fiche-meta { list-style: none; margin: .8rem 0 0; padding: 0; display: grid; gap: .45rem; font-size: 1rem; }
.fiche-meta strong { color: var(--c-ink); }
.card-title { margin: .2rem 0 .5rem; font-size: 1.25rem; }
.card-title a { color: var(--c-ink); text-decoration: none; }
.card-title a:hover { color: var(--c-primary); text-decoration: underline; }
.more { margin-top: auto; padding-top: .9rem; font-weight: 700; }

/* Pied de page */
.site-footer { background: var(--c-ink); color: #d6e4e2; padding: 56px 0 28px; margin-top: 0; font-size: 1rem; }
.site-footer a { color: #fff; }
.site-footer a:hover { color: var(--c-orange); }
.site-footer h2 { color: #fff; font-size: 1.05rem; margin-bottom: .8em; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 32px; }
.footer-brand { display: flex; gap: 12px; align-items: center; font-weight: 800; font-size: 1.2rem; color: #fff; margin-bottom: 1rem; }
.footer-brand img { width: 44px; height: 44px; }
.site-footer ul { list-style: none; margin: 0; padding: 0; }
.site-footer li { margin-bottom: .45em; }
.footer-legal { border-top: 1px solid rgba(255, 255, 255, .15); margin-top: 36px; padding-top: 20px; font-size: .92rem; opacity: .9; }
@media (max-width: 760px) { .footer-grid { grid-template-columns: 1fr; } }

/* Sortie rapide */
.exit-btn { position: fixed; right: 16px; bottom: 16px; z-index: 90; background: #8b1d1d; color: #fff; border: 0; border-radius: 999px; padding: .7em 1.2em; font: inherit; font-size: .95rem; font-weight: 800; cursor: pointer; box-shadow: 0 8px 24px rgba(0, 0, 0, .3); }
.exit-btn:hover { background: #701616; }
.exit-btn small { display: block; font-weight: 500; font-size: .75rem; opacity: .9; }
@media (max-width: 600px) { .exit-btn small { display: none; } .exit-btn { padding: .65em 1em; } }

.pagination { margin-top: 2rem; }
.pagination .nav-links { display: flex; gap: 8px; flex-wrap: wrap; }
.pagination a, .pagination span { padding: .4em .9em; border: 1px solid var(--c-line); border-radius: 999px; background: #fff; text-decoration: none; }
.pagination .current { background: var(--c-primary); color: #fff; border-color: var(--c-primary); }

/* Carte des villes */
.map-wrap { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 14px; box-shadow: var(--shadow-sm); }
.mte-map { display: block; width: 100%; height: auto; }
.mte-map a { cursor: pointer; }
.mte-map a:hover circle:last-of-type, .mte-map a:focus circle:last-of-type { fill: var(--c-orange-dark); }
.mte-map a:focus-visible { outline: none; }
.mte-map a:focus-visible circle:first-of-type { stroke: var(--c-orange); stroke-width: 5; }
.map-city { font: 600 19px var(--font); fill: #3d555d; }
.map-pilote { font-weight: 800; font-size: 23px; fill: var(--c-primary-dark); }
.map-water { font: italic 600 17px var(--font); fill: #6b99a8; }
.map-note { font: 500 14px var(--font); fill: #6b7f86; }
.city-card .meta { margin: .2rem 0 0; }
@media (max-width: 600px) { .map-city { font-size: 31px; } .map-pilote { font-size: 36px; } .map-water { font-size: 26px; } .map-note { font-size: 22px; } .map-wrap { padding: 8px; } }
.brand img, .footer-brand img { border-radius: 12px; background: #fff; }
.card-title a:focus-visible { outline-offset: 4px; }

/* Fiches détaillées par ville */
.org-list { display: grid; gap: 22px; max-width: 52rem; }
.org-card .card-title { font-size: 1.4rem; }
.org-desc { margin: .2rem 0 .4rem; }
.org-card.is-draft { border-style: dashed; border-color: var(--c-orange); background: #fffaf4; }
.private-note { background: var(--c-orange-soft); border-radius: 10px; padding: 10px 14px; font-size: .95rem; margin: 1rem 0 0; }

/* Recherche de villes */
.city-search { display: flex; gap: 10px; flex-wrap: wrap; margin: 0 0 1.4rem; }
.city-search input { flex: 1 1 260px; min-width: 0; font: inherit; padding: .8em 1.2em; border: 2px solid var(--c-line); border-radius: 999px; background: #fff; color: var(--c-text); }
.city-search input:focus { border-color: var(--c-teal); outline: none; box-shadow: 0 0 0 4px rgba(42,157,143,.2); }
[hidden] { display: none !important; }

/* Bulle de discussion guidée */
.chat { position: fixed; right: 16px; bottom: 16px; z-index: 95; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.chat-btn { display: inline-flex; align-items: center; gap: .55em; background: var(--c-primary); color: #fff; border: 0; border-radius: 999px; padding: .85em 1.3em; font: inherit; font-weight: 700; cursor: pointer; box-shadow: 0 10px 28px rgba(15, 46, 58, .35); }
.chat-btn:hover { background: var(--c-primary-dark); }
.chat-panel { width: min(380px, calc(100vw - 32px)); max-height: calc(100vh - 110px); display: flex; flex-direction: column; background: #fff; border: 1px solid var(--c-line); border-radius: 22px; box-shadow: var(--shadow); overflow: hidden; }
.chat-head { display: flex; justify-content: space-between; align-items: center; background: var(--c-primary); color: #fff; padding: 14px 18px; }
.chat-close { background: transparent; border: 0; color: #fff; font-size: 1.7rem; line-height: 1; cursor: pointer; padding: 0 6px; }
.chat-log { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; background: var(--c-bg); min-height: 70px; }
.msg { margin: 0; padding: .65em .95em; border-radius: 16px; max-width: 88%; font-size: .98rem; line-height: 1.5; }
.msg.bot { background: #fff; border: 1px solid var(--c-line); align-self: flex-start; border-bottom-left-radius: 4px; }
.msg.me { background: var(--c-primary); color: #fff; align-self: flex-end; border-bottom-right-radius: 4px; }
.chat-choices { display: flex; flex-direction: column; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--c-line); max-height: 46vh; overflow-y: auto; flex-shrink: 0; }
.chat-opt { display: block; text-align: left; padding: .6em 1em; border: 2px solid var(--c-primary); border-radius: 14px; background: #fff; color: var(--c-primary); font: inherit; font-weight: 700; font-size: .96rem; text-decoration: none; cursor: pointer; }
.chat-opt:hover { background: var(--c-teal-soft); }
.chat-foot { margin: 0; padding: 8px 16px 12px; font-size: .8rem; color: var(--c-muted); }
@media (max-width: 600px) { .chat-btn span { display: none; } .chat-btn { padding: .9em; } }

/* À propos : partenaires et appuis */
.prose h3 { margin-top: 1.4em; }
.partners { margin-top: 3.5rem; padding-top: 2.5rem; border-top: 1px solid var(--c-line); }
.partners-intro { max-width: 46rem; color: var(--c-muted); }
.partner-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 20px; margin: 1.5rem 0; }
.partner { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 22px; box-shadow: var(--shadow-sm); text-align: center; }
.partner-logo { display: grid; place-items: center; height: 96px; margin-bottom: 12px; }
.partner-logo img { max-height: 96px; width: auto; max-width: 100%; object-fit: contain; }
.partner h3 { font-size: 1.05rem; margin: 0 0 .3em; }
.partner .meta { font-size: .88rem; color: var(--c-muted); margin: 0; }
.partner-empty { border: 2px dashed var(--c-line); border-radius: var(--radius); padding: 22px 24px; background: #fff; margin: 1.5rem 0; max-width: 46rem; }

.contact-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 16px; margin: 1.5rem 0; max-width: 56rem; }
.contact-cards h3 { margin-bottom: .3em; font-size: 1.05rem; color: var(--c-muted); text-transform: uppercase; letter-spacing: .05em; }
.contact-cards p { margin: 0 0 .3em; font-size: 1.1rem; }
.contact-cards .meta { font-size: .9rem; }

/* Pied de page : liens légaux séparés */
.legal-links ul { display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; margin: 0 0 14px; }
.legal-links a { font-weight: 600; }
.footer-legal p { margin: 0; }
.site-footer { padding-bottom: 96px; }

/* Carte : onglets, légende, villes à venir */
.map-tabs { display: inline-flex; gap: 6px; padding: 5px; background: #fff; border: 1px solid var(--c-line); border-radius: 999px; margin: 0 0 12px; }
.map-tabs button { border: 0; background: transparent; font: inherit; font-weight: 700; font-size: .95rem; padding: .5em 1.1em; border-radius: 999px; cursor: pointer; color: var(--c-primary); }
.map-tabs button.is-active { background: var(--c-primary); color: #fff; }
.map-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: center; font-size: .92rem; color: var(--c-muted); margin: 10px 0 0; }
.lg { display: inline-block; width: 12px; height: 12px; border-radius: 50%; margin-right: 6px; vertical-align: -1px; }
.lg-pilote { background: #14566b; } .lg-actif { background: #2a9d8f; } .lg-prevu { background: #9db0b6; }
.map-small { font-size: 12px; font-weight: 600; fill: #55707a; }
.map-call { font-size: 22px; }
.mte-map .map-city.map-small { font-size: 15px; }
.city-more { margin-top: 1.5rem; background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); padding: 16px 22px; }
.city-more summary { cursor: pointer; font-weight: 700; color: var(--c-primary); }
.city-chips { list-style: none; margin: .8rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.city-chip { padding: .3em .9em; border-radius: 999px; background: var(--c-bg); border: 1px solid var(--c-line); font-size: .95rem; }
@media (max-width: 600px) { .map-small { font-size: 22px; } .map-call { font-size: 30px; } .mte-map .map-city.map-small { font-size: 22px; } }
.map-tabs button { white-space: nowrap; }
@media (max-width: 600px) { .map-tabs button { font-size: .85rem; padding: .5em .8em; } }

/* Zoom de la carte */
.map-widget { position: relative; }
.map-zoom { position: absolute; right: 12px; top: 64px; z-index: 5; display: flex; flex-direction: column; gap: 6px; }
.map-zoom button { width: 44px; height: 44px; border-radius: 12px; border: 1px solid var(--c-line); background: #fff; color: var(--c-primary); font: inherit; font-size: 1.5rem; font-weight: 700; line-height: 1; cursor: pointer; box-shadow: var(--shadow-sm); }
.map-zoom button:hover { background: var(--c-teal-soft); }
.map-view svg { user-select: none; -webkit-user-select: none; }
@media (max-width: 600px) { .map-zoom { top: 58px; right: 8px; } .map-zoom button { width: 40px; height: 40px; } }

/* Bulle d'aide déplaçable */
.chat-btn { cursor: grab; touch-action: none; user-select: none; -webkit-user-select: none; }
.chat.is-dragging .chat-btn { cursor: grabbing; transform: scale(1.04); }
.chat.chat--below { flex-direction: column-reverse; }
.chat.chat--left { align-items: flex-start; }

/* Bulle qui suit la souris (carte) */
.map-widget{position:relative}
.map-tip{position:absolute;z-index:5;pointer-events:none;background:#14566b;color:#fff;font-size:.9rem;font-weight:600;line-height:1.2;padding:6px 10px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.25);white-space:nowrap}
.map-tip[hidden]{display:none}

/* 3.8.0 */
.map-now{margin:0 0 .8rem;padding:.7rem 1rem;background:var(--c-teal-soft);border-radius:12px;font-size:1.02rem}
.map-zoom .zl{font-size:.75rem;font-weight:700;color:var(--c-primary);text-align:center;background:#fff;border-radius:8px;padding:1px 0;border:1px solid var(--c-line)}
.hero-art img{max-width:100%;height:auto}

.report-link{margin:.6rem 0 0;font-size:.95rem}.report-link a{text-decoration:underline}

.maint-note{margin:1rem 0;padding:.8rem 1rem;background:#fdf0e3;border-left:4px solid #f4a261;border-radius:8px;font-size:1rem}

.chat-opt{display:flex;align-items:center;gap:.55rem}.chat-opt .chat-ic{flex:0 0 auto;display:inline-flex;color:#2a9d8f}.chat-opt .chat-ic svg{display:block}

/* 3.48 : garder le site sur le téléphone */
.mte-app { display: none; margin: 0 0 18px; }
@media (hover: none) and (pointer: coarse) { .mte-app { display: block; } }
.mte-app summary { cursor: pointer; font-weight: 700; }
.mte-app p { margin: 8px 0 0; }

.footer-responsable{margin-top:.4rem;font-size:.92em;opacity:.9}

/* ---------- 3.58 : bandeau défilant de l'accueil (pleine largeur) ---------- */
.mte-band{position:relative;width:100%;margin:28px 0 10px;background:linear-gradient(100deg,var(--c-primary-dark),var(--c-primary) 55%,var(--c-teal));color:#fff;overflow:hidden;padding:clamp(12px,1.4vw,20px) 0}
.mte-band-track{display:flex;width:max-content;animation:mteband 70s linear infinite}
.mte-band:hover .mte-band-track,.mte-band:focus-within .mte-band-track{animation-play-state:paused}
.mte-band-group{display:flex;flex:none;list-style:none;margin:0;padding:0}
.mte-band-group li{flex:none;position:relative;padding:0 clamp(22px,2.4vw,44px);font-weight:700;font-size:clamp(1rem,1.5vw,1.45rem);white-space:nowrap}
.mte-band-group li::after{content:"";position:absolute;right:-5px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:var(--c-orange)}
@keyframes mteband{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.mte-band-track{animation:none;width:auto;flex-wrap:wrap;justify-content:center}.mte-band-group[aria-hidden="true"]{display:none}.mte-band-group{flex-wrap:wrap;justify-content:center;row-gap:8px}.mte-band-group li:nth-child(n+10){display:none}}
html{overflow-x:clip}

/* ---------- 3.59 : rectangle « Comment ça va aujourd'hui ? » ---------- */
.mh .ot-top[data-tool="home"] .ot-intro{margin:-4px 0 14px;color:var(--c-muted);font-size:1.02rem}
.mh .ot-top[data-tool="home"] .ot-faces{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,1.4vw,16px)}
.mh .ot-top[data-tool="home"] .ot-faces button{min-width:0;padding:clamp(12px,1.6vw,20px) 8px;font-size:clamp(.95rem,1.3vw,1.15rem)}
.mh .ot-top[data-tool="home"] .ot-faces button span{font-size:clamp(2rem,3.2vw,2.8rem)}
.mh .ot-top[data-tool="home"] .ot-small{margin:12px 0 0}
.ot-urgent{margin:10px 0 0;padding-top:12px;border-top:1px dashed var(--c-line);font-size:.95rem;color:var(--c-text)}
.ot-urgent a{font-weight:800;color:var(--c-primary);white-space:nowrap}
@media (max-width:420px){.mh .ot-top[data-tool="home"] .ot-faces{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- 3.60 : bandeau sous le menu, fond clair ---------- */
.mte-band{background:var(--c-teal-soft);color:var(--c-ink);margin:0;border-bottom:1px solid var(--c-line);padding:clamp(10px,1.1vw,16px) 0}
.mte-band-group li{font-weight:700}
.mte-band-group li::after{background:var(--c-orange)}
html[data-v="ado"] .mte-band{background:#1a1b2e;color:#e8ecff;border-color:#2b2d4a}
html[data-v="enfant"] .mte-band{background:var(--c-orange-soft)}

/* ---------- 3.61 : « Lis-moi ça » et « Besoin d'aide ? » réunis, plus petits, en haut ---------- */
.hdr-tools{display:flex;align-items:center;gap:6px;flex:none;margin-left:auto}
.hdr-btn,.hdr-tools .lire-btn{display:inline-flex;align-items:center;gap:6px;min-height:34px;height:34px;padding:0 11px;border-radius:999px;font:inherit;font-weight:700;font-size:.8rem;line-height:1;cursor:pointer;white-space:nowrap;box-shadow:none}
.hdr-btn{background:var(--c-primary);color:#fff;border:2px solid var(--c-primary)}
.hdr-btn:hover{background:var(--c-primary-dark);border-color:var(--c-primary-dark)}
.hdr-tools .lire-btn{position:static;background:#fff;color:var(--c-primary-dark);border:2px solid var(--c-primary);width:auto}
.hdr-tools .lire-btn svg{width:16px;height:16px}
.hdr-tools .lire-btn[aria-pressed="true"]{background:var(--c-primary);color:#fff}
.chat-btn{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;opacity:0;pointer-events:none}
.chat{top:var(--mte-top,124px);bottom:auto;right:16px}
.header-inner{gap:12px}
.main-nav a{padding-left:.8em;padding-right:.8em}
@media (max-width:1399px){.hdr-btn span,.hdr-tools .lire-btn span{display:none}.hdr-btn,.hdr-tools .lire-btn{width:36px;padding:0;justify-content:center}}
@media (max-width:900px){.brand{order:1}.hdr-tools{order:2;margin-left:auto}.nav-toggle{order:3;margin-left:0}.main-nav{order:4}}
@media (min-width:901px){.hdr-tools{margin-left:8px}}
@media (max-width:430px){.hdr-btn,.hdr-tools .lire-btn{width:32px;height:32px;min-height:32px}.header-inner{gap:8px}.brand img{width:40px;height:40px}.nav-toggle{padding:.5em .8em}.hdr-tools{gap:5px}}

/* 3.64 : fond vert pâle bien visible sur la page d'accueil */
html:has(body.home),body.home{background:#dff3e8}
body.home .mte-band{background:#fff}

/* 3.65 : section « Pour te soutenir » sur l'accueil */
.mh-soutien{padding:clamp(28px,4vw,56px) 0}
.mh-soutien h2{margin:0 0 6px}
.mh-msgjour{margin:18px 0;padding:18px 22px;background:#fff;border-left:5px solid var(--c-orange);border-radius:14px;font-size:clamp(1.1rem,1.8vw,1.4rem);font-weight:700;color:var(--c-ink);box-shadow:0 4px 18px rgba(14,65,82,.08)}
.mh-msgjour span{display:block;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--c-orange-dark);margin-bottom:4px}
.mh-gestes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.mh-geste{display:block;padding:18px;background:#fff;border-radius:16px;text-decoration:none;color:var(--c-ink);box-shadow:0 4px 18px rgba(14,65,82,.08);border-top:4px solid var(--c-teal);transition:transform .15s}
.mh-geste:hover,.mh-geste:focus-visible{transform:translateY(-3px)}
.mh-geste b{display:block;font-size:1.05rem;margin-bottom:4px;color:var(--c-primary)}
.mh-geste span{font-size:.95rem;color:var(--c-ink)}

/* 3.67 : Mon jardin de petits pas */
.jd-btns{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.jd-garden{min-height:120px;display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start;padding:16px;border-radius:16px;background:linear-gradient(180deg,#e8f6fc 0%,#e4f5ec 70%,#c9e7d1 100%);border:1px solid var(--c-line)}
.jd-fl{font-size:clamp(2rem,5vw,2.8rem);line-height:1;display:inline-block;transform:rotate(var(--r,0deg));animation:jdgrow .6s ease-out both}
@keyframes jdgrow{from{transform:scale(0) rotate(var(--r,0deg));opacity:0}to{transform:scale(1) rotate(var(--r,0deg));opacity:1}}
.jd-info{margin:12px 0 0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.mh-geste em{font-style:normal;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;background:var(--c-orange);color:#4a2400;padding:2px 8px;border-radius:99px;margin-left:6px;vertical-align:middle}
@media (prefers-reduced-motion:reduce){.jd-fl{animation:none}}
.jd-btns .btn,.jd-info .btn{background:#fff;border:2px solid var(--c-teal);color:var(--c-primary-dark)}

/* 3.68 : ambiance calme + dates importantes */
.nat-row{display:flex;align-items:center;gap:12px;margin:8px 0}.nat-row input{flex:1;max-width:320px}
.nat .btn[aria-pressed="true"]{background:var(--c-teal);color:#fff;border-color:var(--c-teal)}
.mh-evnow{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin:18px 0;padding:16px 20px;background:var(--c-orange-soft);border-left:5px solid var(--c-orange);border-radius:14px}
.mh-evnow b{flex:1 1 100%;color:var(--c-orange-dark)}.mh-evnow span{flex:1 1 280px}
.mh-cal{margin:22px 0 0;padding:16px 20px;background:#fff;border-radius:16px;box-shadow:0 4px 18px rgba(14,65,82,.08)}
.mh-cal h3{margin:0 0 8px;font-size:1.05rem;color:var(--c-primary)}
.mh-cal ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.mh-cal li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 16px;padding-bottom:8px;border-bottom:1px solid var(--c-line)}
.mh-cal li:last-child{border-bottom:0;padding-bottom:0}.mh-cal li span{color:var(--c-primary-dark);font-weight:600}

/* 3.69 : Mes outils sans trous (colonnes qui se remplissent) */
@media(min-width:720px){
 .ot .jx-grid{display:block;column-count:2;column-gap:16px}
 .ot .jx-grid>.jx-card{display:block;break-inside:avoid;margin:0 0 16px}
 .ot .jx-grid>.jx-wide{column-span:all}
}
@media(min-width:900px){.ot .jx-grid{column-count:3}}
@media(min-width:900px){
 .ot-cols{column-count:2;column-gap:20px}
 .ot-cols>.ot-card{max-width:none;break-inside:avoid;margin:0 0 20px}
}
@media(min-width:720px){
 .ot .jxp .jx-grid{display:grid;column-count:auto;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}
 .ot .jxp .jx-grid>.jx-card{margin:0}
 .ot .jxp .jx-grid>.jx-wide{grid-column:1/-1}
}

/* 3.70 : le bandeau est cliquable */
.mte-band-group a{color:inherit;text-decoration:none}
.mte-band-group a:hover,.mte-band-group a:focus-visible{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}

/* 3.71 : logo Facebook + Zone créativité */
.fb-ico{width:1.1em;height:1.1em;vertical-align:-.15em;margin-right:.45em;color:#1877f2}
.mte-band-group a .fb-ico{color:inherit}
.cz{max-width:900px}
.cz-card{max-width:none!important}
.cz-idee{font-size:clamp(1.1rem,2vw,1.4rem);font-weight:700;color:var(--c-primary);min-height:2.6em}
.cz-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0}
.cz-pal{display:inline-flex;gap:6px;flex-wrap:wrap}
.cz-sw{width:34px;height:34px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 2px var(--c-line);cursor:pointer;padding:0}
.cz-sw[aria-pressed="true"]{box-shadow:0 0 0 3px var(--c-ink)}
.cz-size{display:inline-flex;gap:8px;align-items:center;font-weight:700;margin:0!important}
.cz-size input{width:120px}
#cz-eraser[aria-pressed="true"]{background:var(--c-teal);color:#fff;border-color:var(--c-teal)}
.cz-canvas{display:block;width:100%;height:auto;aspect-ratio:5/3;background:#fff;border:2px solid var(--c-line);border-radius:14px;touch-action:none;cursor:crosshair}
.cz-row{margin:12px 0 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.cz-text{min-height:9em}
.cz-tearing{animation:cztear .7s ease-in forwards}
@keyframes cztear{0%{transform:none;opacity:1}40%{transform:rotate(-2deg) translateX(-6px)}100%{transform:rotate(6deg) translateY(40px);opacity:0}}
.cz-list{margin:0;padding-left:1.2em;display:grid;gap:6px}
@media (prefers-reduced-motion:reduce){.cz-tearing{animation:none;opacity:0}}
.cz{margin:28px auto 40px}
.cz-tools .btn,.cz-row .btn-light{background:#fff;border:2px solid var(--c-teal);color:var(--c-primary-dark)}
.cz-canvas{margin-top:6px}

/* 3.72 : bandeau déplaçable + message de bienvenue */
.mte-band.is-js{cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.mte-band.is-js .mte-band-track{animation:none;will-change:transform}
.mte-band.is-drag{cursor:grabbing}
.mte-band-group a{-webkit-user-drag:none}
.mte-wel{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px;background:rgba(14,46,58,.55);animation:welfade .4s ease both}
.mte-wel[hidden]{display:none}
.mte-wel-box{position:relative;max-width:520px;width:100%;max-height:92vh;overflow:auto;background:#fff;border-radius:22px;padding:clamp(22px,4vw,34px);box-shadow:0 20px 60px rgba(0,0,0,.3);border-top:6px solid var(--c-teal)}
.mte-wel-box h2{margin:0 0 12px;color:var(--c-primary);font-size:clamp(1.4rem,3vw,1.8rem)}
.mte-wel-box p{margin:0 0 12px;line-height:1.6}
.mte-wel-urg{padding:12px 14px;background:var(--c-orange-soft);border-radius:12px;font-size:.95rem}
.mte-wel-btns{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0!important}
.mte-wel-btns .btn-light{background:#fff;border:2px solid var(--c-teal);color:var(--c-primary-dark)}
.mte-wel-x{position:absolute;top:8px;right:12px;width:40px;height:40px;border:0;background:transparent;font-size:2rem;line-height:1;cursor:pointer;color:var(--c-ink)}
html.mte-wel-open{overflow:hidden}
@keyframes welfade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.mte-wel{animation:none}}

/* 3.73 : Quitter vite, retour en haut, fiches à imprimer, ma semaine */
.mte-fab{position:fixed;right:12px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:90;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.mte-exit,.mte-top{font:inherit;font-weight:800;font-size:14px;cursor:pointer;border-radius:99px;padding:10px 16px;border:2px solid #fff;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.mte-exit{background:#b3261e;color:#fff}
.mte-top{background:#fff;color:var(--c-primary-dark);border-color:var(--c-teal)}
.mte-top[hidden]{display:none}
@media print{.mte-fab{display:none!important}}
.fi{max-width:820px;margin:28px auto 40px}
.fiche{max-width:none!important}
.fiche h3{margin:16px 0 6px;color:var(--c-primary)}
.fiche ul{margin:0 0 8px;padding-left:1.2em;display:grid;gap:5px}
.fi-for{font-weight:700;color:var(--c-orange-dark);margin:0 0 6px}
.fi-urg{margin-top:14px;padding:12px 14px;background:var(--c-orange-soft);border-radius:12px}
.fi-foot{margin-top:14px;font-size:.85rem;color:var(--c-muted)}
.fi-num{list-style:none;padding:0!important}.fi-num li{font-size:1.15rem}.fi-num b{display:inline-block;min-width:7.5em;color:var(--c-primary);font-size:1.4rem}
.fi-line{margin:14px 0 0;font-size:1.05rem}
@media print{
 html.fiche-mode body *{visibility:hidden}
 html.fiche-mode .fiche-printing,html.fiche-mode .fiche-printing *{visibility:visible}
 html.fiche-mode .fiche-printing{position:absolute;left:0;top:0;width:100%;border:0;box-shadow:none}
 html.fiche-mode .fiche-printing .ot-row{display:none}
}
.sem-grid{display:grid;gap:8px;margin:12px 0}
.sem-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:8px 0;border-bottom:1px solid var(--c-line)}
.sem-day{flex:0 0 7.5em;font-weight:800;color:var(--c-primary)}
.sem-faces{display:flex;flex-wrap:wrap;gap:8px}
.sem-f{font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:0;min-width:74px;padding:6px 10px;border:2px solid var(--c-line);border-radius:14px;background:#fff;color:var(--c-ink)}
.sem-f span{font-size:1.5rem;line-height:1.2}.sem-f small{font-size:.78rem}
.sem-f[aria-pressed="true"]{border-color:var(--c-primary);background:var(--c-teal-soft)}
.sem-res{font-weight:700;color:var(--c-primary);min-height:1.6em}
.sem-print-only{display:none}
@media print{
 body:has(.sem-printing) *{visibility:hidden}
 .sem-printing,.sem-printing *{visibility:visible}
 .sem-printing{position:absolute;left:0;top:0;width:100%}
 .sem-printing .sem-print-only{display:block}
 .sem-printing .ot-row,.sem-printing textarea,.sem-printing label{display:none}
}

/* 3.74 : recherche, liens rapides, Quitter vite plus discret */
.mte-search{display:flex;gap:10px;flex-wrap:wrap;max-width:640px;margin:10px 0}
.mte-search input[type=search]{flex:1 1 240px;min-width:0;font:inherit;padding:12px 16px;border:2px solid var(--c-line);border-radius:999px;background:#fff;color:var(--c-text)}
.mte-search input[type=search]:focus{outline:3px solid var(--c-teal);outline-offset:1px}
.mh-search{padding:clamp(18px,3vw,34px) 0}
.mh-search h2{margin:0 0 6px;color:var(--c-ink)}
.srch{max-width:820px;margin:20px auto 40px}
.sr-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.sr-list li{background:#fff;border:1px solid var(--c-line);border-radius:14px;padding:14px 16px}
.sr-t{display:block;font-weight:800;font-size:1.1rem;color:var(--c-primary)}
.sr-d{display:block;margin-top:2px;color:var(--c-text)}
.sr-h{margin:24px 0 10px}
.ot-quick{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.ot-quick a{display:inline-block;padding:9px 14px;border-radius:999px;background:#fff;border:2px solid var(--c-teal);color:var(--c-primary-dark);font-weight:800;text-decoration:none}
.ot-quick a:hover,.ot-quick a:focus-visible{background:var(--c-teal-soft)}
.mte-exit{padding:6px 12px;font-size:12px;opacity:.85}
.mte-exit.is-armed{opacity:1;font-size:14px;padding:10px 16px;animation:exitpulse 1s ease-in-out infinite}
@keyframes exitpulse{50%{transform:scale(1.05)}}
@media (prefers-reduced-motion:reduce){.mte-exit.is-armed{animation:none}}

/* 3.75 : menu en sous-menus, pied de page rangé, plan du site, accueil par blocs */
.main-nav .menu-item-has-children{position:relative}
.main-nav .menu-item-has-children>a::after{content:"";display:inline-block;margin-left:.45em;border:.32em solid transparent;border-top-color:currentColor;border-bottom:0;vertical-align:.15em}
.main-nav .sub-menu{display:none;position:absolute;left:0;top:100%;min-width:260px;z-index:120;background:#fff;border:1px solid var(--c-line);border-radius:16px;box-shadow:0 12px 32px rgba(14,65,82,.18);padding:8px;flex-direction:column;gap:2px;list-style:none;margin:0}
.main-nav .menu-item-has-children:hover>.sub-menu,.main-nav .menu-item-has-children:focus-within>.sub-menu,.main-nav .menu-item-has-children.is-sub-open>.sub-menu{display:flex}
.main-nav .sub-menu a{border-radius:10px;padding:.6em .9em;font-weight:600;white-space:normal}
@media (max-width:900px){
 .main-nav .sub-menu{display:flex;position:static;min-width:0;border:0;box-shadow:none;padding:0 0 6px 14px;background:transparent}
 .main-nav .sub-menu a{font-size:.98rem;font-weight:500}
 .main-nav .menu-item-has-children>a::after{display:none}
 .main-nav .menu-item-has-children>a{font-weight:800}
}
.footer-grid-3{grid-template-columns:1.2fr 1fr 2.2fr}
.footer-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px 22px;margin-bottom:12px}
.footer-grp h3{margin:0 0 6px;font-size:.95rem}
.footer-grp h3 a{color:#fff;text-decoration:none}
.footer-grp ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.footer-grp li a{font-size:.93rem}
@media (max-width:760px){.footer-grid-3{grid-template-columns:1fr}}
.plan{max-width:900px;margin:24px auto 40px;display:grid;gap:18px}
.plan-grp{background:#fff;border:1px solid var(--c-line);border-radius:16px;padding:16px 20px}
.plan-grp h2{margin:0 0 8px;font-size:1.25rem}.plan-grp h2 a{color:var(--c-primary);text-decoration:none}
.plan-grp ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.plan-grp li a{font-weight:800;color:var(--c-primary)}
.plan-grp li span{display:block;color:var(--c-text);font-size:.95rem}
.mh-grp{margin:26px 0 10px;font-size:1.15rem;color:var(--c-primary-dark)}

/* 3.76 : avis par étoiles */
.mte-avis{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:30px;padding:16px 20px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18)}
.av-t{font-weight:800;color:#fff}
.av-stars{display:inline-flex;gap:2px}
.av-star{font-size:2rem;line-height:1;background:transparent;border:0;cursor:pointer;color:rgba(255,255,255,.35);padding:2px 4px;border-radius:8px}
.av-star.on{color:#f4a261}
.av-star:focus-visible{outline:3px solid #fff;outline-offset:1px}
.av-star:disabled{cursor:default}
.av-msg{font-size:.92rem;color:rgba(255,255,255,.85);flex:1 1 220px}
.mte-avis.is-done .av-msg{font-weight:700;color:#fff}
@media print{.mte-avis{display:none}}

/* 3.77 : barre de version aux boutons égaux, bouton « Musique douce » compact sur téléphone */
.ver-bar button{display:flex;align-items:center;justify-content:center;text-align:center;min-height:44px}
.ver-bar .ver-age{font-weight:600;font-size:.85em}
@media (max-width:640px){
 .ver-bar .container{align-items:stretch}
 .ver-bar .ver-age{display:none}
 .mte-snd{padding:0;width:48px;height:48px;justify-content:center;bottom:calc(14px + env(safe-area-inset-bottom,0px))}
 .mte-snd span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 body:has(.mte-snd){padding-bottom:76px}
}

/* 3.77 : mots doux en arrière-plan */
.mte-mots{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;user-select:none;-webkit-user-select:none}
.mte-mots[hidden]{display:none}
.mte-mots .mot{position:absolute;max-width:min(80vw,520px);font-weight:800;line-height:1.15;letter-spacing:-.01em;color:var(--c-primary);opacity:0;transform:translateY(14px) rotate(var(--rot,0deg));animation:motfade 20s ease-in-out infinite}
html[data-v="ado"] .mte-mots .mot{color:#00e1c9}
html[data-v="enfant"] .mte-mots .mot{color:#ff7a59}
@keyframes motfade{0%{opacity:0;transform:translateY(14px) rotate(var(--rot,0deg))}25%{opacity:.18}60%{opacity:.18}100%{opacity:0;transform:translateY(-22px) rotate(var(--rot,0deg))}}
@media (prefers-reduced-motion:reduce){.mte-mots .mot{animation:none;opacity:.09;transform:rotate(var(--rot,0deg))}}
main#contenu,.site-footer{position:relative}
.mte-mots-sw{margin:18px 0 0}
.mte-mots-sw button{font:inherit;font-size:.88rem;background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:999px;padding:6px 14px;cursor:pointer}
@media print{.mte-mots{display:none!important}}

/* 3.78 : site plus chaleureux et moderne, mots doux qui se promènent, barre « Mon guide » sur toutes les pages */
:root{--warm:#fffaf3;--peach:#ffeadb;--mint:#e4f6ee;--sky:#e8f3fb;--rose:#ffe8ee;--shadow-warm:0 10px 30px rgba(170,110,60,.10),0 2px 6px rgba(20,86,107,.05)}
html:not([data-v]){background:radial-gradient(620px 420px at 92% 6%,rgba(255,200,150,.38),transparent 70%),radial-gradient(720px 520px at 4% 30%,rgba(150,225,195,.38),transparent 70%),radial-gradient(640px 440px at 96% 62%,rgba(255,208,222,.38),transparent 70%),radial-gradient(700px 480px at 6% 90%,rgba(190,225,250,.38),transparent 70%),linear-gradient(180deg,#f1faf4 0,#fff8ee 35%,#eef8f2 68%,#fff5ea 100%)}
html:not([data-v]) body,html:not([data-v]) body.home,html:not([data-v]):has(body.home){background-color:transparent}
html:not([data-v]):has(body.home){background:radial-gradient(620px 420px at 92% 6%,rgba(255,200,150,.38),transparent 70%),radial-gradient(720px 520px at 4% 30%,rgba(150,225,195,.38),transparent 70%),radial-gradient(640px 440px at 96% 62%,rgba(255,208,222,.38),transparent 70%),radial-gradient(700px 480px at 6% 90%,rgba(190,225,250,.38),transparent 70%),linear-gradient(180deg,#f1faf4 0,#fff8ee 35%,#eef8f2 68%,#fff5ea 100%)}
html:not([data-v]) body{background-image:none}
body{font-size:1.06rem;line-height:1.7}
h1,h2,h3{font-weight:750;letter-spacing:-.012em;line-height:1.2}
html:not([data-v]){--font:ui-rounded,"SF Pro Rounded","Nunito","Quicksand","Segoe UI Variable","Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif}

/* En-tête et barres */
html:not([data-v]) .crisis-bar{background:linear-gradient(90deg,#14566b,#1d7478)}
html:not([data-v]) .site-header{background:rgba(255,251,245,.9);border-bottom:0;box-shadow:0 8px 28px rgba(20,86,107,.08)}
html:not([data-v]) .site-footer{background:linear-gradient(160deg,#14566b,#1d7478);border-radius:44px 44px 0 0;margin-top:40px}
body.home .mte-band,html:not([data-v]) .mte-band{background:linear-gradient(90deg,#fff0de,#e6f6ee 50%,#fff0de);border-bottom:0}
.mte-band-group li::after{background:#f4a261;opacity:.8}

/* Barre « Mon guide » : trois grosses pastilles sur toutes les pages */
.ver-bar{background:transparent;border-bottom:0;position:relative;z-index:2}
.ver-bar .container{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 10px;padding-top:12px;padding-bottom:4px}
.ver-bar>.container>span{width:auto;grid-column:auto;font-size:.95rem;color:var(--c-muted);font-weight:700}
.ver-bar a[data-ver]{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.4em 1.3em;border-radius:999px;border:2px solid var(--c-primary);color:var(--c-primary);background:rgba(255,255,255,.7);font-weight:800;text-decoration:none;transition:transform .2s,box-shadow .2s}
.ver-bar a[data-ver]:hover{transform:translateY(-2px);box-shadow:var(--shadow-warm)}
.ver-bar a[data-ver][aria-pressed="true"]{background:var(--c-primary);color:#fff}
.ver-bar a[data-ver]:focus-visible{outline:3px solid var(--c-orange);outline-offset:2px}
html[data-v="ado"] .ver-bar a[data-ver]{background:transparent}
html[data-v="ado"] .ver-bar a[data-ver][aria-pressed="true"]{color:#10111c}
html[data-v="enfant"] .ver-bar{background:transparent}
@media (max-width:640px){.ver-bar .container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.ver-bar>.container>span{grid-column:1/-1;text-align:center}.ver-bar a[data-ver]{padding:.45em .3em;font-size:.95rem}}

/* Bas des guides */
.gd-nav{border-top:0;background:transparent}
.gd-nav a,.gd-nav .gd-here{padding:10px 20px;border-radius:999px;font-weight:800;text-decoration:none;line-height:1.2;text-align:center}
.gd-nav small{display:block;font-weight:600;font-size:.78em;opacity:.85}
.gd-nav .gd-here{background:var(--c-primary);color:#fff;border:2px solid var(--c-primary)}
html[data-v="ado"] .gd-nav .gd-here{color:#10111c}

/* Accueil chaleureux */
.mh-hero{border-radius:44px}
.mh-hello{display:inline-block;margin:0 0 14px;padding:7px 16px;border-radius:999px;background:rgba(255,255,255,.16);color:#fff;font-weight:700;font-size:1.02rem;letter-spacing:.01em;backdrop-filter:blur(4px)}
.card,.mh-help,.mh-geste,.mh-msgjour,.mh-cal,.mh-evnow,.mh-cta{transition:transform .25s,box-shadow .25s}
html:not([data-v]) .card,html:not([data-v]) .mh-help,html:not([data-v]) .mh-geste,html:not([data-v]) .mh-msgjour,html:not([data-v]) .mh-cal{border:0;border-radius:28px;box-shadow:var(--shadow-warm)}
html:not([data-v]) .mh-geste{border-top:0;padding:20px;background:rgba(255,255,255,.92)}
html:not([data-v]) .card:hover,html:not([data-v]) .mh-help:hover,html:not([data-v]) .mh-geste:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(170,110,60,.16)}
html:not([data-v]) .urgence .card{border-top:0}
html:not([data-v]) .urgence .card:nth-child(1){background:linear-gradient(160deg,#fff1e4,#fff)}
html:not([data-v]) .urgence .card:nth-child(2){background:linear-gradient(160deg,#e4f6ee,#fff)}
html:not([data-v]) .urgence .card:nth-child(3){background:linear-gradient(160deg,#ffe8ee,#fff)}
html:not([data-v]) .mh-gestes .mh-geste:nth-child(4n+1){background:linear-gradient(160deg,#fff1e4,#fff)}
html:not([data-v]) .mh-gestes .mh-geste:nth-child(4n+2){background:linear-gradient(160deg,#e4f6ee,#fff)}
html:not([data-v]) .mh-gestes .mh-geste:nth-child(4n+3){background:linear-gradient(160deg,#e8f3fb,#fff)}
html:not([data-v]) .mh-gestes .mh-geste:nth-child(4n+4){background:linear-gradient(160deg,#ffe8ee,#fff)}
.btn,.mh-btn,.mh-cta{border-radius:999px}
.mh-grp{font-size:1.1rem;color:var(--c-primary)}
.section{padding-block:clamp(36px,6vw,72px)}

/* Mots doux qui se promènent */
.mte-mots .mot{left:0;animation:none;opacity:0;transform:none;font-weight:800;color:var(--mc,var(--c-primary));white-space:nowrap;max-width:none;will-change:transform,opacity}
html[data-v="ado"] .mte-mots .mot{color:#00e1c9}
html[data-v="enfant"] .mte-mots .mot{color:#ff7a59}
@media (prefers-reduced-motion:reduce){.mte-mots .mot{opacity:.12}}
html:not([data-v]) .card,html:not([data-v]) .mh-help,html:not([data-v]) .mh-geste,html:not([data-v]) .mh-msgjour,html:not([data-v]) .mh-cal{background-color:rgba(255,255,255,.86)}
html .ver-bar,html[data-v] .ver-bar{background:transparent}
.ver-bar .ver-age{margin-left:.35em}
html:not([data-v]) .mh-hero{background:linear-gradient(135deg,#1b7a8c,#2a9d8f 65%,#58b9a0)}
html[data-v="ado"] .ver-bar a[data-ver][aria-pressed="true"],html[data-v="enfant"] .ver-bar a[data-ver][aria-pressed="true"]{background:var(--c-primary);color:#fff}
html[data-v="ado"] .ver-bar a[data-ver][aria-pressed="true"]{color:#10111c}

/* 3.78 : bandeau « Version d'essai » (à retirer : MTE_NOTE_TEST à false dans functions.php) */
.mte-test{background:#fff3c4;color:#4a3500;font-size:.95rem;text-align:center;border-bottom:2px solid #f0c94a;position:relative;z-index:60}
.mte-test .container{padding-top:9px;padding-bottom:9px}
html[data-v="ado"] .mte-test{background:#3a3210;color:#ffe9a0;border-color:#8a7420}
@media print{.mte-test{display:none}}

/* 3.78 : boutons « Commencer » des guides = vrais liens */
.gd a.g-big,.gd a.g-btn{text-decoration:none;display:inline-block}
.gd #feel,.gd #breath{scroll-margin-top:110px}

/* 3.78 : Devenir partenaire et Questions fréquentes */
.pt-page,.faq{max-width:860px;margin:28px auto 48px;display:grid;gap:18px}
.pt-bloc{background:rgba(255,255,255,.9);border-radius:28px;padding:22px 26px;box-shadow:var(--shadow-warm)}
.pt-bloc h2{margin:0 0 .5em;font-size:1.35rem;color:var(--c-primary)}
.pt-bloc p{margin:.4em 0}
.pt-bloc ul{margin:0;padding-left:1.2em;display:grid;gap:.4em}
.pt-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px}
.pt-oui{background:linear-gradient(160deg,#e4f6ee,#fff)}
.pt-non{background:linear-gradient(160deg,#fff1e4,#fff)}
.pt-etapes{margin:0;padding-left:1.3em;display:grid;gap:.7em}
.pt-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px!important}
.pt-note{font-size:.95rem;color:var(--c-muted)}
.faq-q{background:rgba(255,255,255,.9);border-radius:22px;padding:0 22px;box-shadow:var(--shadow-warm)}
.faq-q summary{cursor:pointer;font-weight:750;font-size:1.08rem;padding:18px 0;color:var(--c-primary);list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:44px}
.faq-q summary::-webkit-details-marker{display:none}
.faq-q summary::after{content:"+";font-size:1.6rem;line-height:1;color:var(--c-orange-dark);flex:none}
.faq-q[open] summary::after{content:"–"}
.faq-q summary:focus-visible{outline:3px solid var(--c-orange);outline-offset:2px;border-radius:8px}
.faq-q p{margin:0 0 18px}
.faq-fin{text-align:center;margin:8px 0 0}
html[data-v="ado"] .pt-bloc,html[data-v="ado"] .faq-q{background:#1b1c30;box-shadow:none;border:1px solid #2b2d4a}
html[data-v="ado"] .pt-oui,html[data-v="ado"] .pt-non{background:#1b1c30}
html[data-v="ado"] .pt-bloc h2,html[data-v="ado"] .faq-q summary{color:#00e1c9}

/* 3.79 : bas de page plus clair et plus chaleureux */
.site-footer{padding-top:0}
.ft-help{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 28px;margin:0 0 36px;padding:24px 28px;border-radius:0 0 32px 32px;background:rgba(255,255,255,.13)}
.ft-help-t{display:grid;gap:2px;min-width:220px}
.ft-help-t strong{font-size:1.35rem;color:#fff}
.ft-help-t span{color:#e6f1ef}
.ft-calls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;flex:1 1 440px;max-width:680px}
.ft-calls a{display:grid;gap:2px;align-content:center;min-height:64px;padding:10px 14px;border-radius:20px;background:#fff;color:var(--c-primary-dark,#0e4152);text-decoration:none;text-align:center;box-shadow:0 6px 18px rgba(0,0,0,.14);transition:transform .2s}
.ft-calls a:hover{transform:translateY(-3px);color:var(--c-primary-dark,#0e4152)}
.ft-calls b{font-size:1.7rem;line-height:1;color:var(--c-primary-dark,#0e4152)}
.ft-calls small{font-size:.76rem;line-height:1.25;color:#33505a}
.site-footer .ft-calls a:hover{color:var(--c-primary-dark,#0e4152)}
.ft-calls a:focus-visible{outline:3px solid var(--c-orange);outline-offset:2px}
.ft-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.2fr);gap:36px 48px;align-items:start}
.ft-about p{margin:0 0 .8em;line-height:1.65}
.ft-soc{margin:.4em 0!important}
.ft-main .footer-groups{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:26px 28px;margin:0}
.ft-main .footer-grp h3{font-size:1rem;margin:0 0 8px}
.ft-main .footer-grp li{margin:0}
.ft-main .footer-grp li a{display:inline-block;padding:3px 0;font-size:.95rem;text-decoration:none;opacity:.92}
.ft-main .footer-grp li a:hover{text-decoration:underline;opacity:1}
.mte-avis{margin-top:32px;border-radius:24px}
.ft-tools{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 18px;margin-bottom:20px}
.ft-tools .mte-mots-sw{margin:0}
.ft-tools details,.ft-tools .share{margin:0}
.footer-legal{margin-top:28px}
.legal-links ul{display:flex;flex-wrap:wrap;gap:6px 20px;margin:0 0 12px}
.legal-links li{margin:0}
@media (max-width:860px){.ft-main{grid-template-columns:1fr}}
@media (max-width:560px){
 .ft-help{padding:20px 16px;border-radius:0 0 26px 26px}
 .ft-calls{grid-template-columns:1fr;gap:10px}
 .ft-calls a{grid-template-columns:auto 1fr;gap:12px;text-align:left;align-items:center;min-height:56px}
 .ft-calls small{font-size:.82rem}
 .ft-main .footer-groups{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media print{.ft-help{display:none}}
