/* ============================================================
   UFML-Syndicat — Charte graphique refonte 2026
   Thème enfant Kleo — Lot 1 (socle : article + rubrique)
   Portée volontairement limitée au conteneur .ufmls-page
   pour ne pas fuiter dans l'admin ni sur les pages non refondues.
   ============================================================ */

/* ---------- 1. Police Poppins (auto-hébergée — conforme CNIL) ---------- */
/* latin */
@font-face { font-family:'Poppins'; font-style:normal; font-weight:400; font-display:swap;
  src:url('../fonts/poppins-400-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Poppins'; font-style:normal; font-weight:500; font-display:swap;
  src:url('../fonts/poppins-500-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Poppins'; font-style:normal; font-weight:600; font-display:swap;
  src:url('../fonts/poppins-600-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Poppins'; font-style:normal; font-weight:700; font-display:swap;
  src:url('../fonts/poppins-700-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Poppins'; font-style:normal; font-weight:800; font-display:swap;
  src:url('../fonts/poppins-800-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
/* latin-ext */
@font-face { font-family:'Poppins'; font-style:normal; font-weight:400; font-display:swap;
  src:url('../fonts/poppins-400-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Poppins'; font-style:normal; font-weight:500; font-display:swap;
  src:url('../fonts/poppins-500-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Poppins'; font-style:normal; font-weight:600; font-display:swap;
  src:url('../fonts/poppins-600-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Poppins'; font-style:normal; font-weight:700; font-display:swap;
  src:url('../fonts/poppins-700-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Poppins'; font-style:normal; font-weight:800; font-display:swap;
  src:url('../fonts/poppins-800-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }

/* ---------- 2. Variables de charte ---------- */
.ufmls-page {
  --ufmls-violet:      #545BE3;  /* structurant */
  --ufmls-magenta:     #ED009A;  /* accent / CTA */
  --ufmls-anthracite:  #1A1A1A;  /* texte */
  --ufmls-bg:          #F4F5FE;  /* fond teinté */

  --ufmls-header-bg:   rgba(72,79,205,0.92);
  --ufmls-dark:        #23255E;  /* footer, newsletter */
  --ufmls-violet-soft: #EEF0FF;  /* encadré « À retenir » */
  --ufmls-pink-soft:   #FF66C4;  /* titres de colonnes footer */

  --ufmls-text-muted:  #55556A;
  --ufmls-text-faint:  #7A7A8C;
  --ufmls-border:      #E1E2EE;
  --ufmls-border-soft: #ECEDF6;
  --ufmls-card-shadow: 0 14px 40px rgba(84,91,227,0.10);

  --ufmls-font: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  --ufmls-read: 760px;   /* colonne de lecture article */
  --ufmls-wide: 1200px;  /* largeur max site */
  --ufmls-radius: 14px;
}

/* ---------- 3. Base (scopée) ---------- */
.ufmls-page{ font-family:var(--ufmls-font); color:var(--ufmls-anthracite); background:#fff;
  -webkit-font-smoothing:antialiased; line-height:1.6; }
.ufmls-page *{ box-sizing:border-box; }
.ufmls-page img{ max-width:100%; height:auto; }
.ufmls-page a{ color:var(--ufmls-violet); }
.ufmls-shell{ max-width:var(--ufmls-wide); margin:0 auto; padding-left:32px; padding-right:32px; }

/* ---------- 4. Header ---------- */
.ufmls-header{ position:sticky; top:0; z-index:50; background:var(--ufmls-header-bg);
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,0.12); }
.ufmls-header__inner{ max-width:var(--ufmls-wide); margin:0 auto; padding:15px 32px;
  display:flex; align-items:center; justify-content:space-between; gap:24px; }
.ufmls-brand{ display:flex; align-items:center; gap:12px; text-decoration:none; }
.ufmls-brand__logo{ width:44px; height:44px; border-radius:8px; background:transparent; display:flex;
  align-items:center; justify-content:center; font-size:10px; font-weight:700; letter-spacing:1px;
  color:#8A8A9A; overflow:hidden; flex:0 0 auto; }
.ufmls-brand__logo img{ width:100%; height:100%; object-fit:contain; }
.ufmls-brand__text{ display:flex; flex-direction:column; line-height:1; }
.ufmls-brand__name{ font-weight:700; font-size:18px; color:#fff; letter-spacing:-0.3px; }
.ufmls-brand__tag{ font-size:10px; letter-spacing:1.4px; text-transform:uppercase; color:#C6C9F0; margin-top:4px; }
.ufmls-nav{ display:flex; align-items:center; gap:28px; }
/* Couleurs FORCÉES (!important + -webkit-text-fill-color) sur tous les états :
   sans ça, le thème parent Kleo surcharge les liens du header (texte qui vire
   à la couleur du fond / « transparent » via un text-fill hérité). */
.ufmls-nav a,.ufmls-nav a:link,.ufmls-nav a:visited{
  color:#E4E6FA !important; -webkit-text-fill-color:#E4E6FA !important;
  text-decoration:none; font-size:14.5px; font-weight:500; transition:color .15s ease; }
.ufmls-nav a:hover,.ufmls-nav a:focus,.ufmls-nav a:active{
  color:#fff !important; -webkit-text-fill-color:#fff !important; }
.ufmls-nav a.current-menu-item,.ufmls-nav a[aria-current="page"],.ufmls-nav .current-menu-item>a{
  color:#fff !important; -webkit-text-fill-color:#fff !important;
  font-weight:600; border-bottom:2px solid var(--ufmls-magenta); padding-bottom:2px; }
.ufmls-btn-adhere,.ufmls-btn-adhere:link,.ufmls-btn-adhere:visited,
.ufmls-btn-adhere:hover,.ufmls-btn-adhere:focus,.ufmls-btn-adhere:active{
  background:var(--ufmls-magenta) !important; color:#fff !important; -webkit-text-fill-color:#fff !important;
  text-decoration:none; padding:11px 22px; border-radius:10px; font-weight:600; font-size:14.5px;
  box-shadow:0 6px 20px rgba(237,0,154,0.4); white-space:nowrap; flex:0 0 auto; }
.ufmls-nav-toggle{ display:none; }

/* ---------- 5. Boutons / éléments partagés ---------- */
.ufmls-badge{ display:inline-block; color:#fff; padding:6px 14px; border-radius:7px; font-size:11.5px;
  font-weight:700; letter-spacing:0.6px; text-transform:uppercase; }
.ufmls-badge--sm{ padding:5px 11px; font-size:10.5px; }
.ufmls-cta-lg,.ufmls-cta-lg:link,.ufmls-cta-lg:visited,
.ufmls-cta-lg:hover,.ufmls-cta-lg:focus,.ufmls-cta-lg:active{
  display:inline-block; background:var(--ufmls-magenta) !important; color:#fff !important;
  -webkit-text-fill-color:#fff !important; text-decoration:none;
  padding:16px 34px; border-radius:12px; font-weight:700; font-size:16px; box-shadow:0 12px 34px rgba(237,0,154,0.45); }

/* BOUTON ROSE CANONIQUE — à utiliser pour tout bouton d'action rose du site
   (header, hero, sidebar, CTA articles, pages adhésion). Texte blanc forcé sur
   tous les états (pseudo-classes + -webkit-text-fill-color) : sans ça, la règle
   de base .ufmls-page a (violet) l'emporterait et rendrait le texte illisible. */
.ufmls-btn-primary,.ufmls-btn-primary:link,.ufmls-btn-primary:visited,
.ufmls-btn-primary:hover,.ufmls-btn-primary:focus,.ufmls-btn-primary:active{
  display:inline-block; background:var(--ufmls-magenta) !important; color:#fff !important;
  -webkit-text-fill-color:#fff !important; text-decoration:none; border:none; cursor:pointer;
  padding:15px 30px; border-radius:12px; font-weight:600; font-size:16px;
  box-shadow:0 10px 30px rgba(237,0,154,0.42); }
.ufmls-btn-primary:hover{ filter:brightness(1.05); }

/* BOUTON SECONDAIRE « fantôme » — sur fond coloré : contour blanc 2px + texte blanc,
   au survol fond blanc + texte violet. */
.ufmls-btn-ghost,.ufmls-btn-ghost:link,.ufmls-btn-ghost:visited,
.ufmls-btn-ghost:focus,.ufmls-btn-ghost:active{
  display:inline-block; background:transparent; border:2px solid #fff; color:#fff !important;
  -webkit-text-fill-color:#fff !important; text-decoration:none;
  padding:14px 28px; border-radius:12px; font-weight:600; font-size:16px; transition:background .15s ease, color .15s ease; }
.ufmls-btn-ghost:hover{ background:#fff; color:var(--ufmls-violet) !important; -webkit-text-fill-color:var(--ufmls-violet) !important; }

/* FILET ANTI-RÉGRESSION — tout bouton rose du site garde un texte blanc lisible,
   quelle que soit sa classe (empêche définitivement le retour du bug « texte violet »). */
.ufmls-btn-primary,.ufmls-btn-adhere,.ufmls-cta-lg,.ufmls-tier__cta,.ufmls-aside__adhere > a{
  color:#fff !important; -webkit-text-fill-color:#fff !important; }

/* ---------- 6. Fil d'Ariane ---------- */
.ufmls-breadcrumb{ display:flex; align-items:center; gap:8px; font-size:13px; flex-wrap:wrap; }
.ufmls-breadcrumb a{ color:var(--ufmls-text-faint); text-decoration:none; }
.ufmls-breadcrumb .sep{ opacity:0.5; }
.ufmls-breadcrumb .current{ color:var(--ufmls-violet); font-weight:500; }

/* ============================================================
   7. TEMPLATE ARTICLE (single.php)
   ============================================================ */
.ufmls-article__head{ background:#fff; border-bottom:1px solid var(--ufmls-border-soft); }
.ufmls-article__head-inner{ max-width:var(--ufmls-read); margin:0 auto; padding:40px 20px 32px; }
.ufmls-article__head .ufmls-breadcrumb{ margin-bottom:24px; }
.ufmls-article__badge{ margin-bottom:20px; }
.ufmls-article__title{ font-weight:700; font-size:40px; line-height:1.12; letter-spacing:-1px;
  color:var(--ufmls-anthracite); margin:0 0 22px; text-wrap:balance; }
.ufmls-article__meta-row{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.ufmls-article__meta{ display:flex; align-items:center; gap:14px; font-size:13.5px; color:var(--ufmls-text-muted); flex-wrap:wrap; }
.ufmls-article__author{ display:flex; align-items:center; gap:8px; }
.ufmls-avatar{ width:34px; height:34px; border-radius:50%; background:var(--ufmls-violet); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; flex:0 0 auto; }
.ufmls-article__author strong{ font-weight:600; color:var(--ufmls-anthracite); }
.ufmls-dot{ width:4px; height:4px; border-radius:50%; background:#C6C9F0; display:inline-block; }
.ufmls-share{ display:flex; align-items:center; gap:8px; }
.ufmls-share a{ height:42px; padding:0 14px; display:inline-flex; align-items:center; gap:7px; border-radius:10px;
  border:1px solid var(--ufmls-border); background:#fff; color:var(--ufmls-anthracite); text-decoration:none;
  font-size:13.5px; font-weight:600; }
.ufmls-share a:hover{ border-color:var(--ufmls-violet); }

.ufmls-article__body{ max-width:var(--ufmls-read); margin:0 auto; padding:44px 20px 20px; }
.ufmls-prose{ font-size:17px; line-height:1.6; color:var(--ufmls-anthracite); display:flow-root; }
.ufmls-prose > p:first-of-type,
.ufmls-prose .ufmls-chapo{ font-size:19px; line-height:1.55; color:var(--ufmls-violet); font-weight:500; margin:0 0 30px; }
.ufmls-prose p{ margin:0 0 22px; }
.ufmls-prose h2{ font-weight:700; font-size:27px; line-height:1.2; letter-spacing:-0.5px; margin:42px 0 16px; }
.ufmls-prose h3{ font-weight:700; font-size:21px; line-height:1.25; letter-spacing:-0.3px; margin:36px 0 14px; }
.ufmls-prose img{ max-width:100%; height:auto; border-radius:var(--ufmls-radius); }
.ufmls-prose a{ color:var(--ufmls-violet); text-decoration:underline; text-underline-offset:2px; }
.ufmls-prose ul,.ufmls-prose ol{ margin:0 0 22px; padding-left:22px; }
.ufmls-prose li{ margin-bottom:8px; }
/* Citation en exergue */
.ufmls-prose blockquote{ margin:30px 0; padding:22px 26px; background:var(--ufmls-bg);
  border-left:4px solid var(--ufmls-magenta); border-radius:0 12px 12px 0; }
.ufmls-prose blockquote p{ font-size:20px; line-height:1.45; font-weight:500; font-style:italic;
  color:var(--ufmls-anthracite); margin:0; }
.ufmls-prose blockquote cite,.ufmls-prose blockquote footer{ display:block; font-size:13.5px;
  color:var(--ufmls-text-faint); font-style:normal; margin-top:12px; }
/* Encadré « À retenir » */
.ufmls-callout{ margin:32px 0; background:var(--ufmls-violet-soft); border-radius:var(--ufmls-radius); padding:24px 26px; }
.ufmls-callout__title{ font-weight:700; font-size:13px; letter-spacing:1.2px; text-transform:uppercase;
  color:var(--ufmls-violet); margin-bottom:14px; }
.ufmls-callout ul{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:12px; }
.ufmls-callout li{ display:flex; gap:12px; align-items:flex-start; font-size:15.5px; line-height:1.5; margin:0; }
.ufmls-callout li::before{ content:""; flex:0 0 auto; width:8px; height:8px; border-radius:50%;
  background:var(--ufmls-magenta); margin-top:8px; }
/* Figures / vidéo */
.ufmls-prose figure{ margin:34px 0; }
.ufmls-prose figcaption{ font-size:13px; color:var(--ufmls-text-faint); margin-top:10px; text-align:center; }
.ufmls-video{ position:relative; width:100%; aspect-ratio:16/9; border-radius:var(--ufmls-radius); overflow:hidden; }
.ufmls-video lite-youtube{ border-radius:var(--ufmls-radius); }
/* Signature de fin */
.ufmls-signature{ clear:both; margin:44px 0 8px; padding:24px 26px; background:var(--ufmls-bg); border-radius:var(--ufmls-radius);
  display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.ufmls-signature .ufmls-avatar{ width:48px; height:48px; font-size:13px; }
.ufmls-signature__name{ font-weight:700; font-size:15.5px; }
.ufmls-signature a{ color:var(--ufmls-magenta); text-decoration:none; font-weight:600; font-size:14px; }

/* CTA adhésion (bandeau) */
.ufmls-cta{ position:relative; overflow:hidden; clear:both; padding:56px 0;
  background:radial-gradient(700px 340px at 90% 0%, rgba(237,0,154,0.28), transparent 60%), var(--ufmls-violet); }
.ufmls-cta__inner{ max-width:1000px; margin:0 auto; padding:0 32px; display:flex; align-items:center;
  justify-content:space-between; gap:28px; }
.ufmls-cta h2{ font-weight:800; font-size:30px; line-height:1.15; letter-spacing:-0.8px; color:#fff; margin:0 0 8px; }
.ufmls-cta p{ font-size:17px; line-height:1.5; color:#DDE0F7; margin:0; }

/* ============================================================
   8. TEMPLATE RUBRIQUE (category.php)
   ============================================================ */
.ufmls-page--rubrique{ background:var(--ufmls-bg); }
.ufmls-cat-banner{ position:relative; overflow:hidden;
  background:radial-gradient(900px 400px at 92% -20%, rgba(237,0,154,0.28), transparent 60%), var(--ufmls-violet); }
.ufmls-cat-banner__inner{ max-width:var(--ufmls-wide); margin:0 auto; padding:40px 32px 46px; }
.ufmls-cat-banner .ufmls-breadcrumb{ margin-bottom:22px; }
.ufmls-cat-banner .ufmls-breadcrumb a,.ufmls-cat-banner .ufmls-breadcrumb .current{ color:#C6C9F0; }
.ufmls-cat-banner .ufmls-breadcrumb .current{ color:#fff; }
.ufmls-cat-banner__row{ display:flex; align-items:flex-start; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.ufmls-cat-banner h1{ font-weight:800; font-size:46px; line-height:1.05; letter-spacing:-1.4px; color:#fff; margin:0 0 14px; }
.ufmls-cat-banner__desc{ font-size:17px; line-height:1.6; color:#DDE0F7; margin:0; max-width:620px; }
.ufmls-count-pill{ flex:0 0 auto; display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,0.14);
  border:1px solid rgba(255,255,255,0.28); color:#fff; padding:9px 16px; border-radius:100px; font-size:13.5px; font-weight:600; }
.ufmls-count-pill::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--ufmls-magenta); }

.ufmls-cat-layout{ max-width:var(--ufmls-wide); margin:0 auto; padding:50px 32px 72px;
  display:grid; grid-template-columns:1fr 340px; gap:40px; align-items:start; }
.ufmls-eyebrow{ font-size:12.5px; letter-spacing:1.6px; text-transform:uppercase; color:var(--ufmls-magenta);
  font-weight:700; margin-bottom:16px; }

/* Article à la une */
.ufmls-featured{ display:grid; grid-template-columns:300px 1fr; gap:0; background:#fff; border-radius:18px;
  overflow:hidden; box-shadow:var(--ufmls-card-shadow); margin-bottom:48px; }
/* À la une : bandeau dédié à la catégorie (assets/bandeaux/{slug}) si présent,
   sinon ce dégradé charte par défaut. Recadrage cover (voir img ci-dessous). */
.ufmls-featured__img{ position:relative; min-height:240px; overflow:hidden;
  background:linear-gradient(135deg, #545BE3 0%, #ED009A 100%); }
.ufmls-featured__img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ufmls-featured__body{ padding:30px 32px; display:flex; flex-direction:column; justify-content:center; }
.ufmls-featured__meta{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.ufmls-featured__date{ font-size:12.5px; color:var(--ufmls-text-faint); font-weight:500; }
.ufmls-featured h2{ font-weight:700; font-size:26px; line-height:1.22; color:var(--ufmls-anthracite);
  margin:0 0 12px; letter-spacing:-0.5px; }
.ufmls-featured h2 a{ color:inherit; text-decoration:none; }
.ufmls-featured p{ font-size:15px; line-height:1.6; color:var(--ufmls-text-muted); margin:0 0 20px; }
.ufmls-featured__more{ color:var(--ufmls-magenta); text-decoration:none; font-weight:600; font-size:14.5px; }

.ufmls-list-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:22px;
  gap:16px; flex-wrap:wrap; }
.ufmls-list-head h2{ font-weight:700; font-size:24px; letter-spacing:-0.5px; margin:0; }
.ufmls-list-head span{ font-size:13.5px; color:var(--ufmls-text-faint); }

/* Grille d'articles (partagée rubrique + articles liés) */
.ufmls-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.ufmls-card{ background:#fff; border-radius:16px; overflow:hidden; box-shadow:var(--ufmls-card-shadow);
  display:flex; flex-direction:column; }
/* En-tête de carte UNIFORME (grille catégorie + articles liés), badge par-dessus.
   PAS d'extraction d'image (bandeaux historiques hétérogènes). Défaut = dégradé charte.
   Variante « aplat + motif » : remplacer le background ci-dessous par
     background:#F4F5FE; background-image:radial-gradient(circle at 1px 1px, rgba(84,91,227,0.14) 1.5px, transparent 0); background-size:16px 16px; */
.ufmls-card__img{ height:150px; position:relative; display:flex; align-items:flex-end; padding:12px; overflow:hidden;
  background:linear-gradient(135deg, #545BE3 0%, #ED009A 100%); }
.ufmls-card__img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ufmls-card__badge{ position:absolute; top:12px; left:12px; z-index:1; box-shadow:0 2px 8px rgba(0,0,0,0.18); }
/* Placeholder de marque quand l'article n'a AUCUNE image dans son contenu :
   fond teinté charte + pointillé violet discret + petite pastille dégradée. Jamais un vide. */
.ufmls-card__placeholder{ position:absolute; inset:0; background-color:#F4F5FE;
  background-image:radial-gradient(circle at 1px 1px, rgba(84,91,227,0.12) 1.5px, transparent 0); background-size:16px 16px; }
.ufmls-card__placeholder::after{ content:""; position:absolute; inset:0; margin:auto; width:34px; height:34px;
  border-radius:9px; background:linear-gradient(135deg, rgba(84,91,227,0.22), rgba(237,0,154,0.22)); }

/* ---- Filigrane pictogramme (logo sans texte) sur les vignettes AU DÉGRADÉ ----
   Le repli des cartes de grille passe au dégradé du conteneur (placeholder rendu
   transparent) pour laisser voir le filigrane blanc. Ancré coin bas-droit, sous
   le badge (pas de z-index → z-index:1 du badge au-dessus), figure entière visible. */
.ufmls-card__placeholder{ background:transparent; background-image:none; }
.ufmls-card__placeholder::after{ display:none; }
.ufmls-featured__img::before,
.ufmls-card__img::before{
  content:""; position:absolute; pointer-events:none;
  right:7%; bottom:9%; width:40%; height:56%;   /* marge par rapport au coin → figure ENTIÈRE visible */
  background:url('../img/picto-ufmls-blanc.svg') no-repeat right bottom / contain;
  opacity:0.14;
}
/* À la une (grande carte) : un peu plus petit en proportion. */
.ufmls-featured__img::before{ right:6%; bottom:8%; width:26%; height:46%; }
.ufmls-card__body{ padding:18px 20px 22px; display:flex; flex-direction:column; flex:1; }
.ufmls-card__date{ font-size:12px; color:var(--ufmls-text-faint); margin-bottom:9px; font-weight:500; }
.ufmls-card__title{ font-weight:600; font-size:17px; line-height:1.28; margin:0 0 9px; letter-spacing:-0.3px; }
.ufmls-card__title a{ color:var(--ufmls-anthracite); text-decoration:none; }
.ufmls-card__excerpt{ font-size:13.5px; line-height:1.55; color:var(--ufmls-text-muted); margin:0 0 16px; }
.ufmls-card__more{ margin-top:auto; color:var(--ufmls-violet); text-decoration:none; font-weight:600; font-size:13.5px; }

/* Pagination */
.ufmls-pagination{ display:flex; align-items:center; justify-content:center; gap:8px; margin-top:42px; flex-wrap:wrap; }
.ufmls-pagination .page-numbers{ min-width:40px; height:40px; padding:0 12px; border-radius:10px; background:#fff;
  border:1px solid #DADCEC; color:var(--ufmls-anthracite); text-decoration:none; font-size:14px; font-weight:500;
  display:flex; align-items:center; justify-content:center; }
.ufmls-pagination .page-numbers.current{ background:var(--ufmls-violet); color:#fff; border-color:var(--ufmls-violet); font-weight:600; }
.ufmls-pagination .page-numbers.dots{ border:none; background:transparent; }

/* Sidebar */
.ufmls-aside{ display:flex; flex-direction:column; gap:22px; }
.ufmls-aside__adhere{ background:var(--ufmls-violet); border-radius:18px; padding:26px; position:relative; overflow:hidden; }
.ufmls-aside__adhere .eyebrow{ font-size:12px; letter-spacing:1.4px; text-transform:uppercase; color:var(--ufmls-pink-soft); font-weight:700; margin-bottom:10px; }
.ufmls-aside__adhere h3{ font-weight:700; font-size:20px; color:#fff; line-height:1.25; margin:0 0 10px; letter-spacing:-0.3px; }
.ufmls-aside__adhere p{ font-size:13.5px; line-height:1.55; color:#DDE0F7; margin:0 0 18px; }
.ufmls-aside__adhere a{ display:block; text-align:center; background:var(--ufmls-magenta); color:#fff; text-decoration:none;
  padding:13px 20px; border-radius:11px; font-weight:700; font-size:15px; box-shadow:0 10px 26px rgba(237,0,154,0.4); }
.ufmls-aside__card{ background:#fff; border-radius:18px; padding:24px; box-shadow:0 14px 40px rgba(84,91,227,0.08); }
.ufmls-aside__card h3{ font-weight:700; font-size:16px; margin:0 0 16px; letter-spacing:-0.3px; }
.ufmls-video-list{ display:flex; flex-direction:column; gap:14px; }
.ufmls-video-list a{ display:flex; gap:12px; align-items:center; text-decoration:none; }
.ufmls-video-list .thumb{ position:relative; flex:0 0 96px; aspect-ratio:16/9; border-radius:10px; overflow:hidden;
  background:#E7E8FB; }
.ufmls-video-list .thumb img{ width:100%; height:100%; object-fit:cover; }
.ufmls-video-list h4{ font-weight:600; font-size:13.5px; line-height:1.3; color:var(--ufmls-anthracite); margin:0; letter-spacing:-0.2px; }
.ufmls-aside__link{ display:inline-block; margin-top:16px; color:var(--ufmls-violet); text-decoration:none; font-weight:600; font-size:13.5px; }
.ufmls-aside__news{ background:var(--ufmls-dark); border-radius:18px; padding:24px; }
.ufmls-aside__news h3{ font-weight:700; font-size:16px; color:#fff; margin:0 0 8px; letter-spacing:-0.3px; }
.ufmls-aside__news p{ font-size:13px; line-height:1.5; color:#C6C9F0; margin:0 0 16px; }
.ufmls-aside__news .fields{ display:flex; flex-direction:column; gap:10px; }
.ufmls-aside__news input{ width:100%; padding:12px 14px; border-radius:10px; border:1px solid rgba(255,255,255,0.18);
  background:rgba(255,255,255,0.08); color:#fff; font-family:var(--ufmls-font); font-size:14px; outline:none; }
.ufmls-aside__news input::placeholder{ color:#C6C9F0; }
.ufmls-aside__news button{ width:100%; padding:12px 14px; border-radius:10px; border:none; background:var(--ufmls-magenta);
  color:#fff; font-family:var(--ufmls-font); font-weight:700; font-size:14.5px; cursor:pointer; }

/* ============================================================
   9. « Sur le même thème » / articles liés
   ============================================================ */
.ufmls-related{ background:var(--ufmls-bg); padding:66px 0 76px; }
.ufmls-related__inner{ max-width:var(--ufmls-wide); margin:0 auto; padding:0 32px; }
.ufmls-related__eyebrow{ font-size:12.5px; letter-spacing:1.6px; text-transform:uppercase; color:var(--ufmls-magenta); font-weight:700; margin-bottom:10px; }
.ufmls-related h2{ font-weight:700; font-size:32px; letter-spacing:-0.8px; margin:0 0 30px; }

/* ============================================================
   10. Footer
   ============================================================ */
.ufmls-footer{ clear:both; background:var(--ufmls-dark); padding:54px 0 34px; }
.ufmls-footer__cols{ max-width:var(--ufmls-wide); margin:0 auto; padding:0 32px; display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px; }
.ufmls-footer__brand-row{ display:flex; align-items:center; gap:11px; margin-bottom:16px; }
.ufmls-footer .ufmls-brand__logo{ width:40px; height:40px; }
.ufmls-footer__brand-row span{ font-weight:700; font-size:17px; color:#fff; }
.ufmls-footer__about{ font-size:13.5px; color:#A9ACD8; line-height:1.6; margin:0 0 14px; max-width:300px; }
.ufmls-footer__contact{ font-size:13.5px; color:#C6C9F0; line-height:1.7; }
.ufmls-footer__col-title{ font-size:12px; letter-spacing:1px; text-transform:uppercase; color:var(--ufmls-pink-soft); font-weight:600; margin-bottom:16px; }
.ufmls-footer__links{ display:flex; flex-direction:column; gap:11px; }
.ufmls-footer__links a{ color:#C6C9F0; text-decoration:none; font-size:14px; }
.ufmls-footer__bottom{ max-width:var(--ufmls-wide); margin:34px auto 0; padding:22px 32px 0;
  border-top:1px solid rgba(255,255,255,0.1); display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.ufmls-footer__bottom span{ font-size:12.5px; color:#8386B8; }
.ufmls-footer__bottom .links{ display:flex; gap:22px; }
.ufmls-footer__bottom a{ color:#8386B8; text-decoration:none; font-size:12.5px; }

/* ============================================================
   11. Responsive (< 768px) — toutes les grilles passent en 1 colonne
   ============================================================ */
@media (max-width:768px){
  .ufmls-shell,.ufmls-header__inner,.ufmls-cat-banner__inner,.ufmls-cat-layout,
  .ufmls-related__inner,.ufmls-footer__cols,.ufmls-footer__bottom{ padding-left:20px; padding-right:20px; }

  /* Header : nav repliée */
  .ufmls-nav{ display:none; }
  .ufmls-nav-toggle{ display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px;
    border-radius:10px; border:1px solid rgba(255,255,255,0.28); background:rgba(255,255,255,0.08); color:#fff; cursor:pointer; }
  .ufmls-header.is-open .ufmls-nav{ display:flex; position:absolute; top:100%; left:0; right:0; flex-direction:column;
    align-items:flex-start; gap:0; background:var(--ufmls-dark); padding:8px 20px 16px; }
  .ufmls-header.is-open .ufmls-nav a{ padding:12px 0; width:100%; border-bottom:1px solid rgba(255,255,255,0.08); }

  .ufmls-article__title{ font-size:30px; }
  .ufmls-cat-banner h1{ font-size:34px; }
  .ufmls-article__meta-row{ flex-direction:column; align-items:flex-start; }
  .ufmls-share .share-label{ display:none; }
  .ufmls-share a{ width:42px; padding:0; justify-content:center; }

  .ufmls-cta__inner{ flex-direction:column; align-items:flex-start; }

  .ufmls-cat-layout{ grid-template-columns:1fr; }
  .ufmls-grid{ grid-template-columns:1fr; }
  .ufmls-featured{ grid-template-columns:1fr; }
  .ufmls-featured__img{ min-height:200px; }
  .ufmls-related .ufmls-grid{ grid-template-columns:1fr; }
  .ufmls-footer__cols{ grid-template-columns:1fr 1fr; }
}
@media (max-width:480px){
  .ufmls-footer__cols{ grid-template-columns:1fr; }
}

/* ---- Lot 4 : champ de recherche (search.php / 404.php) + page 404 ---- */
.ufmls-search-form{ display:flex; gap:8px; margin-top:16px; max-width:520px; }
.ufmls-search-form input[type="search"]{ flex:1 1 auto; padding:12px 16px; border:1px solid #E4E5F2;
  border-radius:11px; font-family:inherit; font-size:15px; background:#fff; color:#1A1A1A; }
.ufmls-search-form input[type="search"]:focus{ outline:none; border-color:#545BE3; }
.ufmls-search-form button{ flex:0 0 auto; padding:12px 22px; border:none; border-radius:11px; cursor:pointer;
  background:#545BE3; color:#fff; font-family:inherit; font-weight:700; font-size:14.5px; }
.ufmls-search-form button:hover{ filter:brightness(1.05); }

.ufmls-404{ padding:72px 24px; }
.ufmls-404__inner{ max-width:640px; margin:0 auto; text-align:center; }
.ufmls-404__code{ font-size:96px; font-weight:800; line-height:1; color:#545BE3; letter-spacing:-2px; }
.ufmls-404 h1{ margin:8px 0 10px; }
.ufmls-404 p{ color:#55556A; margin:0 auto 22px; max-width:460px; }
.ufmls-404 .ufmls-search-form{ margin:0 auto 24px; justify-content:center; }
.ufmls-404__home{ display:inline-block; }

/* ---- Lot 4 : correctif header STICKY ----
   Kleo (combined.css) impose `body{overflow:hidden}` + `html,body{overflow-x:hidden}`.
   `overflow:hidden` sur le body en fait un conteneur de défilement, ce qui CASSE
   `position:sticky` du header (il défile avec la page). On neutralise UNIQUEMENT sur les
   pages refonte (cette charte n'est chargée que là) : `overflow-x:clip` supprime le scroll
   horizontal sans créer de conteneur qui capture le sticky ; `overflow-y:visible` rend au
   header le viewport comme référence. */
body.ufmls-page{ overflow-x: clip !important; overflow-y: visible !important; }

/* ---- Lot 4 : page Cellule juridique ---- */
.ufmls-juri-banner__inner{ display:flex; align-items:center; justify-content:flex-start; gap:32px; }
.ufmls-juri-banner__text{ max-width:640px; }
.ufmls-juri-tagline{ font-size:20px; font-weight:600; color:#DDE0F7; margin:10px 0 0; }
.ufmls-juri-logo{ flex:0 0 auto; width:164px; height:164px; border-radius:50%; background:#fff;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  box-shadow:0 12px 30px rgba(0,0,0,0.18); }
/* Le PNG a une marge blanche intégrée : on zoome (>100%) pour que le sigle remplisse
   le cercle ; le surplus blanc déborde et est rogné (invisible car blanc sur blanc). */
.ufmls-juri-logo img{ display:block; width:140%; height:140%; object-fit:contain; }
.ufmls-juri-body{ max-width:var(--ufmls-wide); margin:0 auto; padding:48px 32px 8px; display:flow-root; }
.ufmls-juri-intro{ max-width:760px; }
.ufmls-juri-motto{ font-size:19px; font-weight:700; color:#545BE3; border-left:4px solid #ED009A;
  padding-left:18px; margin-top:26px; }
.ufmls-juri-topics{ margin-top:46px; }
.ufmls-topic-card{ display:flex; flex-direction:column; background:#fff; border:1px solid #E4E5F2;
  border-radius:16px; padding:22px 22px 20px; text-decoration:none; box-shadow:var(--ufmls-card-shadow);
  transition:transform .15s ease, box-shadow .15s ease; }
.ufmls-topic-card:hover{ transform:translateY(-3px); box-shadow:0 18px 40px rgba(84,91,227,0.16); }
.ufmls-topic-card h3{ margin:0 0 8px; font-size:17px; color:#1A1A1A; }
.ufmls-topic-card p{ margin:0 0 16px; font-size:14px; line-height:1.5; color:#55556A; flex:1; }
.ufmls-topic-card__more{ font-weight:700; font-size:14px; color:#545BE3; }
@media (max-width:768px){
  .ufmls-juri-banner__inner{ flex-direction:column; align-items:flex-start; gap:22px; }
  .ufmls-juri-logo{ width:124px; height:124px; }
  .ufmls-juri-body{ padding:34px 20px 4px; }
}

/* Cartes en mobile : l'image passe en ratio (au lieu des 150px fixes) pour ne pas
   être tronquée quand la carte occupe toute la largeur. */
@media (max-width:768px){
  /* min-height = filet de sécurité : sur iOS, aspect-ratio sur un conteneur flex
     dont TOUS les enfants sont en position:absolute (placeholder + badge + filigrane)
     peut s'effondrer à hauteur ~0 → le dégradé disparaissait. Le plancher garantit
     un fond dégradé + filigrane visibles ; l'aspect-ratio reste prioritaire quand il fonctionne. */
  .ufmls-card__img{ height:auto; aspect-ratio:16/9; min-height:190px; }
}

/* ---- Lot 4 : page Le Bureau (cartes membres natives) ---- */
.ufmls-bureau-head{ background:#F4F5FE; padding:40px 32px 34px; }
.ufmls-bureau-head__inner{ max-width:var(--ufmls-wide); margin:0 auto; }
.ufmls-bureau-head h1{ margin:12px 0 10px; }
.ufmls-bureau-head p{ max-width:680px; color:#55556A; font-size:16px; line-height:1.6; margin:0; }
.ufmls-bureau-body{ max-width:var(--ufmls-wide); margin:0 auto; padding:40px 32px 16px; }
.ufmls-bureau-section{ margin-bottom:44px; }
.ufmls-bureau-section__title{ display:flex; align-items:center; gap:12px; font-size:22px; color:#1A1A1A; margin:0 0 22px; }
.ufmls-bureau-section__title i{ font-style:normal; font-size:13px; font-weight:700; color:#545BE3;
  background:#EDEEFB; border-radius:999px; padding:2px 10px; }
.ufmls-bureau-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:20px; }
/* Rangée centrée : Président + Trésorière (tête), Secrétariat général */
.ufmls-bureau-row{ display:flex; flex-wrap:wrap; justify-content:center; gap:20px; }
.ufmls-bureau-row .ufmls-bureau-card{ width:236px; flex:0 0 auto; }
.ufmls-bureau-card{ background:#fff; border:1px solid #E4E5F2; border-radius:18px; padding:26px 18px 20px;
  text-align:center; box-shadow:var(--ufmls-card-shadow); transition:transform .15s ease, box-shadow .15s ease;
  display:flex; flex-direction:column; align-items:center; }
.ufmls-bureau-card:hover{ transform:translateY(-3px); box-shadow:0 18px 40px rgba(84,91,227,0.16); }
.ufmls-bureau-card__photo{ width:118px; height:118px; border-radius:50%; overflow:hidden; margin:0 auto 16px;
  border:3px solid #fff; box-shadow:0 6px 18px rgba(84,91,227,0.22); background:#EDEEFB; }
.ufmls-bureau-card__photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.ufmls-bureau-card__ph{ display:flex; align-items:center; justify-content:center; width:100%; height:100%;
  font-weight:800; font-size:34px; color:#545BE3; background:linear-gradient(135deg,#E7E9FB,#F4E4F3); }
.ufmls-bureau-card__name{ width:100%; font-size:17px; margin:0 0 8px; color:#1A1A1A; font-weight:500; line-height:1.25; }
.ufmls-bureau-card__name b{ color:#1B2A6B; font-weight:800; }
.ufmls-bureau-card__spe{ width:100%; display:flex; align-items:center; justify-content:center; gap:6px; color:#55556A;
  font-size:13.5px; line-height:1.3; min-height:36px; margin-bottom:14px; } /* 2 lignes réservées → hauteur uniforme */
.ufmls-bureau-card__steth{ color:#545BE3; flex:0 0 auto; }
.ufmls-bureau-card__role{ margin-top:auto; display:inline-block; background:#545BE3; color:#fff; font-weight:700; font-size:13px;
  padding:6px 16px; border-radius:999px; } /* margin-top:auto → badge collé en bas, alignés entre cartes */
@media (max-width:768px){
  .ufmls-bureau-head{ padding:30px 20px 26px; }
  .ufmls-bureau-body{ padding:28px 20px 8px; }
  .ufmls-bureau-grid{ grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:14px; }
  .ufmls-bureau-row{ gap:14px; }
  .ufmls-bureau-row .ufmls-bureau-card{ width:150px; }
  .ufmls-bureau-card__photo{ width:96px; height:96px; }
}

/* ---- Lot 4 : menu déroulant « Le syndicat » + bouton Espace personnel ---- */
.ufmls-nav__item{ position:relative; display:inline-flex; align-items:center; }
.ufmls-nav__top{ display:inline-flex; align-items:center; gap:5px; }
.ufmls-caret{ opacity:.85; transition:transform .15s ease; }
.ufmls-nav__item:hover .ufmls-caret{ transform:rotate(180deg); }
.ufmls-subnav{ position:absolute; top:100%; left:-14px; min-width:214px; background:#fff; border-radius:12px;
  box-shadow:0 18px 44px rgba(20,20,40,0.20); padding:8px; display:flex; flex-direction:column;
  opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity .15s ease, transform .15s ease, visibility .15s; z-index:60; }
.ufmls-nav__item:hover .ufmls-subnav,
.ufmls-nav__item:focus-within .ufmls-subnav{ opacity:1; visibility:visible; transform:translateY(0); }
.ufmls-nav .ufmls-subnav a,
.ufmls-nav .ufmls-subnav a:link,
.ufmls-nav .ufmls-subnav a:visited{ display:block; padding:10px 14px; border-radius:8px; font-size:14px; font-weight:500;
  color:#1A1A1A !important; -webkit-text-fill-color:#1A1A1A !important; }
.ufmls-nav .ufmls-subnav a:hover{ background:#F4F5FE; color:#545BE3 !important; -webkit-text-fill-color:#545BE3 !important; }

.ufmls-btn-compte,.ufmls-btn-compte:link,.ufmls-btn-compte:visited,
.ufmls-btn-compte:hover,.ufmls-btn-compte:focus,.ufmls-btn-compte:active{
  display:inline-flex; align-items:center; gap:8px; text-decoration:none; font-size:14px; font-weight:600;
  color:#fff !important; -webkit-text-fill-color:#fff !important; padding:9px 15px; border-radius:11px;
  border:1px solid rgba(255,255,255,0.34); white-space:nowrap; }
.ufmls-btn-compte:hover{ background:rgba(255,255,255,0.12); }

@media (max-width:768px){
  .ufmls-header__inner{ gap:10px; }
  .ufmls-header.is-open .ufmls-nav .ufmls-nav__item{ display:block; width:100%; }
  .ufmls-header.is-open .ufmls-subnav{ position:static; opacity:1; visibility:visible; transform:none;
    box-shadow:none; background:transparent; padding:2px 0 6px 16px; min-width:0; }
  .ufmls-header.is-open .ufmls-nav .ufmls-subnav a{ color:#E4E6FA !important; -webkit-text-fill-color:#E4E6FA !important;
    padding:8px 0; border-bottom:1px solid rgba(255,255,255,0.06); }
  .ufmls-caret{ display:none; }
  .ufmls-btn-compte__label{ display:none; }
  .ufmls-btn-compte{ padding:9px; }
}

/* ---- Lot 4 : gabarit générique des pages simples (page.php) ---- */
.ufmls-static{ max-width:820px; margin:0 auto; padding:48px 24px 64px; display:flow-root; }
.ufmls-static__title{ font-weight:700; font-size:34px; line-height:1.15; letter-spacing:-0.6px;
  color:var(--ufmls-anthracite); margin:0 0 24px; }
@media (max-width:768px){
  .ufmls-static{ padding:32px 20px 48px; }
  .ufmls-static__title{ font-size:27px; }
}

/* « Le mot du Président » — billet complet */
.ufmls-motpres__eyebrow{ font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#ED009A; margin-bottom:6px; }
.ufmls-motpres .ufmls-static__title{ margin-bottom:12px; }
.ufmls-motpres__meta{ display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:500; color:#7A7A8C;
  border:1px solid #E4E5F2; border-radius:999px; padding:4px 13px; margin-bottom:26px; }
.ufmls-motpres__body{ max-width:680px; }
.ufmls-motpres__body h2{ color:#545BE3; }
/* Bloc « Citation » de l'éditeur WordPress => exergue magenta */
.ufmls-motpres__body blockquote{ border-left:3px solid #ED009A; padding:2px 0 2px 18px; margin:0 0 20px;
  font-size:20px; font-weight:600; line-height:1.4; color:#1A1A1A; font-style:normal; }
.ufmls-motpres__body blockquote p{ margin:0; }
.ufmls-motpres__salut{ font-weight:500; color:#1A1A1A; }
.ufmls-motpres__lead{ font-size:20px; font-weight:600; line-height:1.4; color:#1A1A1A;
  border-left:3px solid #ED009A; padding-left:16px; margin:0 0 18px; }
.ufmls-motpres .ufmls-non{ color:#ED009A; font-weight:800; }
.ufmls-motpres__sign{ margin-top:34px; padding-top:20px; border-top:1px solid #E4E5F2; }
.ufmls-motpres__sign .n{ font-weight:700; color:#1A1A1A; font-size:17px; }
.ufmls-motpres__sign .r{ font-size:14px; color:#7A7A8C; margin-top:2px; }

/* Temps de lecture sur le teaser accueil */
.ufmls-presword__time{ display:block; margin-top:9px; font-size:12.5px; font-weight:500; color:#7A7A8C; }

/* Modal « Le mot du Président » (ouverte depuis l'accueil) */
.ufmls-modal[hidden]{ display:none; }
.ufmls-modal{ position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; padding:24px; }
.ufmls-modal__backdrop{ position:absolute; inset:0; background:rgba(18,20,42,.55); }
.ufmls-modal__dialog{ position:relative; background:#fff; border-radius:18px; width:100%; max-width:740px; max-height:88vh;
  display:flex; flex-direction:column; box-shadow:0 30px 80px rgba(20,22,60,.38); overflow:hidden; }
.ufmls-modal__close{ position:absolute; top:12px; right:12px; z-index:2; width:38px; height:38px; border:none; border-radius:50%;
  background:#F1F2FC; color:#545BE3; font-size:24px; line-height:1; cursor:pointer; }
.ufmls-modal__close:hover{ background:#E4E5F2; }
.ufmls-modal__scroll{ overflow-y:auto; -webkit-overflow-scrolling:touch; padding:36px 36px 40px; }
.ufmls-modal__dialog .ufmls-static__title{ font-size:28px; }
body.ufmls-modal-open{ overflow:hidden; }
@media (max-width:600px){
  .ufmls-modal{ padding:0; }
  .ufmls-modal__dialog{ max-width:none; max-height:100vh; height:100vh; border-radius:0; }
  .ufmls-modal__scroll{ padding:26px 20px 34px; }
}

/* Carte « Relation presse » (page Contact presse) */
.ufmls-presse-card{ margin-top:26px; max-width:440px; background:#fff; border:1px solid #E4E5F2;
  border-radius:18px; padding:26px 28px; box-shadow:var(--ufmls-card-shadow); }
.ufmls-presse-card__label{ display:inline-block; font-size:12px; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:#fff; background:#545BE3; border-radius:999px; padding:5px 14px; margin-bottom:16px; }
.ufmls-presse-card__names{ font-size:19px; font-weight:800; color:#1A1A1A; line-height:1.3; }
.ufmls-presse-card__org{ font-size:14.5px; color:#55556A; margin:2px 0 16px; }
.ufmls-presse-card__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; }
.ufmls-presse-card__list li{ display:flex; align-items:baseline; gap:10px; font-size:15px; }
.ufmls-presse-card__list span{ flex:0 0 84px; color:#7A7A8C; font-size:13px; }
.ufmls-presse-card__list a{ color:#545BE3; text-decoration:none; font-weight:600; }
.ufmls-presse-card__list a:hover{ text-decoration:underline; }

/* ---- Formidable Forms (page Contact) — habillage charte ----
   Scopé .ufmls-page → inerte hors des pages refonte. !important pour primer
   sur la CSS générée par Formidable Pro (« with_frm_style »). */
.ufmls-page .frm_forms{ max-width:640px; margin:8px 0 0; }
.ufmls-page .frm_form_field{ margin-bottom:16px !important; }
.ufmls-page .frm_primary_label{ display:block; font-weight:600; font-size:14px; color:#1A1A1A; margin:0 0 6px; padding:0; }
.ufmls-page .frm_required{ color:#ED009A; }
.ufmls-page .frm_forms input[type=text],
.ufmls-page .frm_forms input[type=email],
.ufmls-page .frm_forms input[type=tel],
.ufmls-page .frm_forms input[type=url],
.ufmls-page .frm_forms input[type=number],
.ufmls-page .frm_forms input[type=password],
.ufmls-page .frm_forms select,
.ufmls-page .frm_forms textarea{
  width:100% !important; box-sizing:border-box !important; padding:12px 14px !important;
  font-family:inherit !important; font-size:15px !important; line-height:1.4 !important; color:#1A1A1A !important;
  background:#fff !important; border:1px solid #E4E5F2 !important; border-radius:12px !important;
  box-shadow:none !important; transition:border-color .15s ease, box-shadow .15s ease !important; }
.ufmls-page .frm_forms input:focus,
.ufmls-page .frm_forms select:focus,
.ufmls-page .frm_forms textarea:focus{
  outline:none !important; border-color:#545BE3 !important; box-shadow:0 0 0 3px rgba(84,91,227,.15) !important; }
.ufmls-page .frm_forms textarea{ min-height:150px !important; resize:vertical !important; }
.ufmls-page .frm_submit{ margin-top:8px !important; padding:0 !important; }
.ufmls-page .frm_button_submit,
.ufmls-page .frm_forms button[type=submit],
.ufmls-page .frm_forms input[type=submit]{
  display:inline-block !important; width:auto !important; background:#545BE3 !important; background-image:none !important;
  color:#fff !important; -webkit-text-fill-color:#fff !important; font-weight:700 !important; font-size:15px !important;
  font-family:inherit !important; border:none !important; border-radius:999px !important; padding:13px 30px !important;
  cursor:pointer !important; box-shadow:none !important; transition:background .15s ease, transform .15s ease !important; }
.ufmls-page .frm_button_submit:hover,
.ufmls-page .frm_forms button[type=submit]:hover,
.ufmls-page .frm_forms input[type=submit]:hover{ background:#4249d8 !important; transform:translateY(-1px); }
.ufmls-page .frm_error{ color:#ED009A !important; font-size:13px; margin-top:5px; }
.ufmls-page .frm_error_style{ background:#FDECF5 !important; border:1px solid #ED009A !important; color:#8a0059 !important;
  border-radius:12px !important; padding:12px 14px !important; margin-bottom:16px !important; }
.ufmls-page .frm_message{ background:#EAF7EE !important; border:1px solid #34A853 !important; color:#1e6b34 !important;
  border-radius:12px !important; padding:14px 16px !important; }
/* Case à cocher (consentement RGPD) */
.ufmls-page .frm_checkbox label,
.ufmls-page .frm_opt_container label{ font-weight:400 !important; color:#55556A !important; font-size:14px !important;
  display:flex !important; align-items:flex-start !important; gap:9px !important; cursor:pointer; }
.ufmls-page .frm_checkbox input[type=checkbox],
.ufmls-page .frm_forms input[type=radio]{ width:auto !important; margin:3px 0 0 !important; accent-color:#545BE3; flex:0 0 auto; }
/* Zone de téléversement de fichier (Formidable Pro dropzone) */
.ufmls-page .frm_dropzone,
.ufmls-page .frm_dropzone_disabled,
.ufmls-page .dropzone{ border:1px dashed #C7C9E4 !important; border-radius:12px !important;
  background:#F7F8FE !important; color:#55556A !important; }
