/* =========================================================================
 * UMR – Accueil V3 (épurée). Cubano pour les grands titres, Nunito ailleurs.
 * Couleur d'accent : modifier --umr3-accent ci-dessous.
 * ====================================================================== */

.umr3, .e-con.umr3-sec {
	--umr3-accent: #2F55B8;
	--umr3-encre: #1D1D1F;
	--umr3-gris: #6E6E73;
	--umr3-gris-fonce: #424245;
	--umr3-trait: #D2D2D7;
	--umr3-fond: #F5F5F7;
	--umr3-titre: 'Cubano', 'Nunito', system-ui, sans-serif;
	--umr3-texte: 'Nunito', system-ui, sans-serif;
	font-family: var(--umr3-texte);
	color: var(--umr3-encre);
	-webkit-font-smoothing: antialiased;
}
.umr3 *, .umr3 *::before, .umr3 *::after { box-sizing: border-box; }
.umr3-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
html { scroll-behavior: smooth; }
#trouver, #zero-dechet, #a-venir, #contribuer { scroll-margin-top: 80px; }

/* ---------- Barre de recherche [umr_recherche] ---------- */
.umr3-recherche { display: flex; flex-direction: column; align-items: center; gap: 16px; width: 100%; }
.umr3-champ { width: 100%; max-width: 640px; min-height: 56px; display: flex; align-items: center; gap: 12px; padding: 0 22px; border-radius: 28px; background: var(--umr3-fond); color: var(--umr3-gris); }
.umr3-champ input[type="search"] { flex: 1 1 auto; min-width: 0; min-height: 52px; border: none !important; background: transparent !important; box-shadow: none !important; padding: 0 !important; font-family: var(--umr3-texte); font-size: 18px; color: var(--umr3-encre); outline-color: var(--umr3-accent); }
.umr3-champ:focus-within { box-shadow: 0 0 0 2px var(--umr3-accent); }
.umr3-suggestions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px 20px; font-size: 15px; }
.umr3-suggestions span { color: var(--umr3-gris); }
.umr3 .umr3-suggestions a { color: var(--umr3-accent); text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; }
.umr3 .umr3-suggestions a:hover { text-decoration: underline; }

/* ---------- Moteur [umr_moteur] ---------- */
.umr3-moteur { display: flex; flex-direction: column; gap: 32px; }
.umr3-segments { align-self: center; display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; padding: 4px; border-radius: 22px; background: #E8E8ED; }
.umr3 .umr3-seg { min-height: 36px; padding: 0 16px; border: none; border-radius: 18px; background: transparent; color: var(--umr3-encre); font-family: var(--umr3-texte); font-size: 14px; font-weight: 600; line-height: 1; cursor: pointer; }
.umr3 .umr3-seg:hover { background: rgba(255, 255, 255, .6); color: var(--umr3-encre); }
.umr3 .umr3-seg.is-on { background: #FFFFFF; font-weight: 800; box-shadow: 0 1px 3px rgba(0, 0, 0, .12); }
.umr3 .umr3-seg:focus-visible { outline: 2px solid var(--umr3-accent); outline-offset: 2px; }

.umr3-barre { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 16px; border-bottom: 1px solid var(--umr3-trait); }
.umr3-selects { display: flex; flex-wrap: wrap; gap: 10px; }
.umr3-select { position: relative; display: inline-flex; margin: 0; }
.umr3-select select { appearance: none; -webkit-appearance: none; min-height: 40px; padding: 0 38px 0 16px; border: 1px solid var(--umr3-trait); border-radius: 20px; background: #FFFFFF; font-family: var(--umr3-texte); font-size: 14px; font-weight: 600; color: var(--umr3-encre); cursor: pointer; }
.umr3-select svg { position: absolute; right: 16px; top: 50%; margin-top: -6px; color: var(--umr3-gris); pointer-events: none; }
.umr3-compte { display: flex; align-items: center; gap: 16px; font-size: 14px; color: var(--umr3-gris); }
.umr3 .umr3-lien { min-height: 36px; padding: 0; border: none; background: transparent; color: var(--umr3-accent); font-family: var(--umr3-texte); font-size: 14px; font-weight: 700; cursor: pointer; }
.umr3 .umr3-lien:hover { background: transparent; color: var(--umr3-accent); text-decoration: underline; }
.umr3 [hidden] { display: none !important; }

.umr3-vide { padding: 48px 24px; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.umr3-vide strong { font-size: 24px; font-weight: 800; }
.umr3-vide span { font-size: 17px; color: var(--umr3-gris); }
.umr3-vide .umr3-lien { font-size: 17px; min-height: 44px; }

.umr3-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }
.umr3 .umr3-carte { min-height: 220px; padding: 28px; border-radius: 20px; background: #FFFFFF; display: flex; flex-direction: column; gap: 10px; text-decoration: none; color: var(--umr3-encre); transition: transform .2s ease, box-shadow .2s ease; }
.umr3 .umr3-carte:hover { color: var(--umr3-encre); transform: translateY(-2px); box-shadow: 0 10px 30px rgba(0, 0, 0, .08); }
.umr3 .umr3-carte:focus-visible { outline: 2px solid var(--umr3-accent); outline-offset: 3px; }
.umr3-carte__type { font-size: 13px; font-weight: 700; color: var(--umr3-gris); }
.umr3-carte__titre { font-size: 21px; font-weight: 800; line-height: 1.25; }
.umr3-carte__desc { flex: 1 1 auto; font-size: 15px; line-height: 1.5; color: var(--umr3-gris); }
.umr3-carte__pied { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding-top: 8px; }
.umr3-carte__theme { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--umr3-gris); }
.umr3-carte__theme i { width: 8px; height: 8px; border-radius: 4px; flex: 0 0 8px; }
.umr3-carte__action { font-size: 15px; font-weight: 700; color: var(--umr3-accent); white-space: nowrap; }

.umr3 .umr3-plus { align-self: center; min-height: 44px; padding: 0 22px; border: none; border-radius: 22px; background: var(--umr3-encre); color: #FFFFFF; font-family: var(--umr3-texte); font-size: 15px; font-weight: 700; cursor: pointer; }
.umr3 .umr3-plus:hover { background: #000000; color: #FFFFFF; }

/* =========================================================================
 * Modèle Elementor V3 (classes saisies dans Avancé > Classes CSS)
 * ====================================================================== */

.e-con.umr3-sec { padding: 0 !important; gap: 0 !important; background: #FFFFFF; }
.e-con.umr3-sec.umr3-gris { background: var(--umr3-fond); }
.e-con.umr3-wrap { width: 100% !important; max-width: 1080px !important; margin: 0 auto !important; padding: 88px 24px 96px !important; gap: 32px !important; flex-direction: column !important; }
.e-con.umr3-wrap.umr3-wrap--hero { max-width: 980px !important; padding: 120px 24px 72px !important; gap: 24px !important; align-items: center !important; text-align: center; }
.e-con.umr3-wrap.umr3-wrap--etroit { max-width: 760px !important; padding: 120px 24px !important; gap: 18px !important; align-items: center !important; text-align: center; }
.e-con.umr3-wrap > .elementor-widget { width: 100%; }

/* Titres */
.e-con.umr3-sec .umr3-h1 .elementor-heading-title,
.e-con.umr3-sec .umr3-h2 .elementor-heading-title { font-family: var(--umr3-titre); font-weight: 900; font-synthesis: none; letter-spacing: 0; color: var(--umr3-encre); margin: 0; }
.e-con.umr3-sec .umr3-h1 .elementor-heading-title { font-size: 68px; line-height: 1.1; }
.e-con.umr3-sec .umr3-h2 .elementor-heading-title { font-size: 48px; line-height: 1.12; text-align: center; }
.e-con.umr3-sec .umr3-tuile .umr3-h2 .elementor-heading-title { font-size: 40px; }
.e-con.umr3-sec .umr3-eyebrow .elementor-heading-title { font-family: var(--umr3-texte); font-size: 17px; font-weight: 700; color: var(--umr3-accent); }
.e-con.umr3-sec .umr3-kicker .elementor-heading-title { font-family: var(--umr3-texte); font-size: 15px; font-weight: 700; color: var(--umr3-accent); }
.e-con.umr3-sec .umr3-kicker--mzd .elementor-heading-title { color: #C2315A; }
.e-con.umr3-sec .umr3-sub { font-family: var(--umr3-texte); font-size: 22px; line-height: 1.45; color: var(--umr3-gris); max-width: 640px; margin: 0 auto; }
.e-con.umr3-sec .umr3-tuile .umr3-sub { font-size: 19px; max-width: 440px; }
.e-con.umr3-sec .umr3-sub p { margin: 0; }

/* Liens « › » */
.e-con.umr3-liens { flex-direction: row !important; flex-wrap: wrap !important; justify-content: center !important; gap: 4px 28px !important; padding: 0 !important; width: auto !important; }
.e-con.umr3-sec .umr3-lien-fleche .elementor-heading-title,
.e-con.umr3-sec .umr3-lien-fleche .elementor-heading-title a { font-family: var(--umr3-texte); font-size: 17px; font-weight: 600; color: var(--umr3-accent); }
.e-con.umr3-sec .umr3-lien-fleche .elementor-heading-title a { min-height: 44px; display: inline-flex; align-items: center; }
.e-con.umr3-sec .umr3-lien-fleche .elementor-heading-title a:hover { text-decoration: underline; }
.e-con.umr3-liens > .elementor-widget { width: auto !important; }

/* Tuiles */
.e-con.umr3-tuiles { max-width: 1240px !important; width: 100% !important; margin: 0 auto !important; padding: 12px !important; gap: 12px !important; flex-direction: row !important; flex-wrap: wrap !important; }
.e-con.umr3-tuile { flex: 1 1 420px !important; width: auto !important; min-width: 0; border-radius: 24px; overflow: hidden; padding: 64px 32px !important; gap: 12px !important; align-items: center !important; text-align: center; }
.e-con.umr3-tuile > .elementor-widget { width: 100%; }
.e-con.umr3-tuile.umr3-tuile--clair { background: var(--umr3-fond); padding-bottom: 0 !important; }
.e-con.umr3-tuile.umr3-tuile--sombre { background: #1D1D1F; }
.e-con.umr3-tuile--sombre .umr3-h2 .elementor-heading-title { color: #FFFFFF; }
.e-con.umr3-tuile--sombre .umr3-kicker .elementor-heading-title,
.e-con.umr3-tuile--sombre .umr3-lien-fleche .elementor-heading-title,
.e-con.umr3-tuile--sombre .umr3-lien-fleche .elementor-heading-title a { color: #A1B6F0; }
.e-con.umr3-tuile--sombre .umr3-sub { color: #A1A1A6; }
.e-con.umr3-tuile-photo { align-self: stretch !important; width: auto !important; min-height: 280px; margin-top: 24px; padding: 0 !important; border-radius: 16px 16px 0 0; background-color: #DDE5F2; background-image: url('/wp-content/uploads/2026/03/Bilan-Montagnez-Nous5-2.jpg'); background-size: cover; background-position: center; }

/* Agenda (tuile sombre) */
.e-con.umr3-agenda { align-self: stretch !important; width: auto !important; margin-top: auto; padding: 32px 0 0 !important; gap: 0 !important; flex-direction: column !important; text-align: left; }
.e-con.umr3-agenda-ligne { flex-direction: row !important; align-items: baseline !important; gap: 20px !important; padding: 16px 0 !important; border-top: 1px solid #424245; text-decoration: none; }
.e-con.umr3-agenda-ligne > .elementor-widget { width: auto !important; }
.e-con.umr3-sec .umr3-agenda-date { flex: 0 0 72px; }
.e-con.umr3-sec .umr3-agenda-date .elementor-heading-title { font-family: var(--umr3-texte); font-size: 14px; color: #A1A1A6; }
.e-con.umr3-sec .umr3-agenda-titre .elementor-heading-title { font-family: var(--umr3-texte); font-size: 16px; font-weight: 600; line-height: 1.4; color: #F5F5F7; }
a.e-con.umr3-agenda-ligne:hover .umr3-agenda-titre .elementor-heading-title { text-decoration: underline; }

/* Bouton principal */
.e-con.umr3-sec .umr3-btn .elementor-button { min-height: 48px; padding: 0 26px; border-radius: 24px; background: var(--umr3-accent); color: #FFFFFF; font-family: var(--umr3-texte); font-size: 17px; font-weight: 700; display: inline-flex; align-items: center; }
.e-con.umr3-sec .umr3-btn .elementor-button:hover { background: #1E3A84; color: #FFFFFF; }
.e-con.umr3-sec .umr3-btn { width: auto !important; margin-top: 8px; }

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
	.e-con.umr3-wrap { padding: 64px 16px 72px !important; }
	.e-con.umr3-wrap.umr3-wrap--hero { padding: 72px 16px 48px !important; }
	.e-con.umr3-wrap.umr3-wrap--etroit { padding: 80px 16px !important; }
	.e-con.umr3-sec .umr3-h1 .elementor-heading-title { font-size: 40px; }
	.e-con.umr3-sec .umr3-h2 .elementor-heading-title,
	.e-con.umr3-sec .umr3-tuile .umr3-h2 .elementor-heading-title { font-size: 30px; }
	.e-con.umr3-sec .umr3-sub { font-size: 18px; }
	.e-con.umr3-tuile { padding: 48px 20px !important; }
	.umr3 .umr3-carte { min-height: 0; padding: 22px; }
	.umr3-segments { border-radius: 18px; }
}
