/* =========================================================
  SLA UI — styles-sla.css (CLEAN + SANS DOUBLONS)
  - Sidebar + Topbar + Cards
  - Fond jaune dégradé
  - Menu WordPress futuriste (SVG mask) — UNIQUE SOURCE
  - Bottombar alignée + split widget
  ========================================================= */

/* -----------------------------
   1) TOKENS
------------------------------ */
html, body { height: 100%; }
.app { min-height: 100vh; }

:root{
  --bgA:#FFE019;
  --bgB:#F4E255;
  --bgC:#E9D500;

  --blk0:#070707;
  --blk1:#0B0B0B;
  --blk2:#121212;
  --blk3:#1A1A1A;

  --cream0:#FFF7D3;
  --cream1:#F6EFC6;
  --cream2:#F1E6B4;

  --txtDark:#0B0B0B;
  --txt:#111;

  --w: rgba(255,255,255,.94);
  --w2: rgba(255,255,255,.78);
  --w3: rgba(255,255,255,.56);

  --o1:#FFC056;
  --o2:#FF8A1F;
  --o3:#FF5A00;

  --r1: 18px;
  --r2: 14px;
  --r3: 12px;

  --shadowSoft: 0 18px 50px rgba(0,0,0,.18);
  --shadowCard: 0 4px 4px rgba(0,0,0,.10);
  --shadowLift: 0 20px 60px rgba(0,0,0,.22);
  --shadowInset: inset 0 1px 0 rgba(255,255,255,.45);

  --font: "Source Sans Pro", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  /* Menu futuriste */
  --menuItemBg: rgba(255,255,255,.04);
  --menuItemBd: rgba(255,255,255,.10);
  --menuGlow: rgba(255, 170, 0, .32);
  --menuGlow2: rgba(255, 214, 0, .18);
}

/* -----------------------------
   2) BASE
------------------------------ */
*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family:var(--font);
  color:var(--txtDark);
  background:
    radial-gradient(900px 650px at 25% 18%, rgb(255, 232, 47), transparent 62%),
    radial-gradient(750px 520px at 70% 30%, rgba(255, 250, 176, 0.72), transparent 60%),
    linear-gradient(145deg, #E4C600 0, #FFEA44 42%, #FFEB11 100%);
  position:relative;
  font-size: 16px;
  font-weight: 400;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.08;
  background:
    linear-gradient(to right, rgba(0,0,0,.12) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0,0,0,.12) 1px, transparent 1px);
  background-size:120px 120px;

}
a{ color:inherit; }

/* -----------------------------
   3) LAYOUT DASHBOARD
------------------------------ */
.app{
  height:100%;
  display:grid;
  grid-template-columns: 290px 1fr;
  grid-template-rows: 70px 1fr 60px;
  grid-template-areas:
    "sidebar topbar"
    "sidebar main"
    "sidebar bottombar";
  gap:14px;
  padding:14px;
}

/* -----------------------------
   4) SIDEBAR
------------------------------ */
.sidebar{
  grid-area:sidebar;
  border-radius: var(--r1);
  background:
    radial-gradient(600px 240px at 25% 0%, rgba(255,255,255,.06), transparent 60%),
    linear-gradient(180deg, var(--blk2), var(--blk0));
  box-shadow: var(--shadowSoft);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:0;
}

/* ===== BRAND (sidebar) ===== */
.lasla2026-root .sidebar .brand{
  display:flex;
  flex-direction:column;
  gap:8px;
  text-decoration:none;
  padding:14px 14px 12px;
  border-radius:16px;
  margin: 10px 10px 6px;
  background: rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
}

.lasla2026-root .sidebar .brand .brand-row{
  display:flex;
  align-items:center;
  gap:10px;
  line-height:1;
}

.lasla2026-root .sidebar .brand .brand-ico{
  width:30px;
  height:30px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  box-shadow: 0 10px 22px rgba(0,0,0,.35);
}

.lasla2026-root .sidebar .brand .brand-ico svg{
  width:16px;
  height:16px;
  stroke:rgba(255,255,255,.92);
}



/* Nav container */
.nav{
  padding:0;
  overflow:auto;
  min-height:0;
}
.nav::-webkit-scrollbar{ width:10px; }
.nav::-webkit-scrollbar-thumb{
  background: rgba(255,255,255,.16);
  border:3px solid rgba(0,0,0,0);
  background-clip: padding-box;
  border-radius:999px;
}

/* On cache le titre "Menu" */
.lasla2026-root .sidebar .nav .section{
  display:none !important;
}

/* -----------------------------
   4B) MENU WORDPRESS — FUTURISTE (UNIQUE)
   -> IMPORTANT: on neutralise anciens styles
------------------------------ */

/* Neutralise l’ancien système .nav a / .ico */
.lasla2026-root .sidebar .nav a{ all:unset; } /* reset sans casser le WP menu plus bas */
.lasla2026-root .sidebar .ico{ display:none !important; }

/* reset UL/LI */
.lasla2026-root .sidebar .lasla-menu{
  list-style:none !important;
  margin:0 !important;
  padding: 10px 10px 14px !important;
  width:100%;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.lasla2026-root .sidebar .lasla-menu > li{
  margin:0;
  padding:0;
  width:100%;
}

/* lien = full width pill */
.lasla2026-root .sidebar .lasla-menu > li > a{
  width:100%;
  display:flex;
  align-items:center;
  gap:12px;
  padding: 9px 0px;
  border-radius: 14px;
  text-decoration:none;
  font-weight:300;
  font-size:16px;
  color: rgba(255,255,255,.86);

  background: var(--menuItemBg);
  border: 1px solid var(--menuItemBd);

  transition: transform .14s ease, filter .14s ease, box-shadow .14s ease, background .14s ease;
  position:relative;
  cursor: pointer;
}

/* icône = carré futuriste + glyph au centre */
.lasla2026-root .sidebar .lasla-menu > li > a::before{
  content:"";
  width:28px;
  height:28px;
  flex: 0 0 28px;
  border-radius: 12px;

  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.12), rgba(255,255,255,.06) 55%, rgba(255,255,255,.03) 100%);
  border:1px solid rgba(255,255,255,.12);

  /* glyph */
  -webkit-mask: var(--sla-ico) no-repeat center / 18px 18px;
  mask: var(--sla-ico) no-repeat center / 18px 18px;
  background-color: #fff; /* couleur du glyph via mask */

  /* petit glow */
  box-shadow:
    0 10px 18px rgba(0,0,0,.35),
    0 0 0 1px rgba(255,255,255,.05) inset;
  opacity:.92;
  transform: translateY(.5px);
  margin-left: 10px;
  
}

/* hover */
.lasla2026-root .sidebar .lasla-menu > li > a:hover{
  transform: translateY(-1px);
  filter: saturate(1.06);
  color: #000;
  font-weight: 600;
  font-size: 18px;

  background:
  radial-gradient(circle at left, #F4EBC3 0, #FBCB70 0%, #ED9409 90%);
  border-color: rgba(248, 241, 229, 0.45);

  box-shadow: 0 14px 32px rgba(0,0,0,.40);
}
.lasla2026-root .sidebar .lasla-menu > li > a:hover::before{
  background:
    radial-gradient(circle at 30% 30%, #fff6b0 0%, #ffd000 45%, #ff8a00 100%);
  filter: drop-shadow(0 0 12px var(--menuGlow));
  background-color: transparent; /* neutralise le bg-color si certains navigateurs */
}

/* actif WP */
.lasla2026-root .sidebar .lasla-menu > li.current-menu-item > a,
.lasla2026-root .sidebar .lasla-menu > li.current_page_item > a{

  background:
  radial-gradient(circle at left, #F4EBC3 0, #FBCB70 0%, #ED9409 90%);
    color: #000;
    font-weight: 600;
    font-size: 18px;
  border: 2px solid rgba(248, 241, 229, 0.45);
  box-shadow: 0 16px 36px rgba(0,0,0,.45);
}
.lasla2026-root .sidebar .lasla-menu > li.current-menu-item > a::before,
.lasla2026-root .sidebar .lasla-menu > li.current_page_item > a::before{
  background:
    radial-gradient(circle at 30% 30%, #fff6b0 0%, #ffd000 45%, #ff8a00 100%);
  filter: drop-shadow(0 0 14px rgba(255, 170, 0, .55));
}

/* IMPORTANT: supprime l’ancien mapping emoji nth-child (désactivation totale) */
.lasla2026-root .sidebar .lasla-menu > li:nth-child(1) > a::before,
.lasla2026-root .sidebar .lasla-menu > li:nth-child(2) > a::before,
.lasla2026-root .sidebar .lasla-menu > li:nth-child(3) > a::before,
.lasla2026-root .sidebar .lasla-menu > li:nth-child(4) > a::before,
.lasla2026-root .sidebar .lasla-menu > li:nth-child(5) > a::before{
  font-size: unset !important;
  display: block !important;
  place-items: unset !important;
  content: "" !important;
}

/* ---------- Mapping icônes SVG mask (fiable via classes WP) ---------- */
.lasla2026-root .sidebar .lasla-menu > li > a{
  --sla-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2 3 7v10l9 5 9-5V7l-9-5zm0 2.3L19 8v8l-7 3.9L5 16V8l7-3.7z'/%3E%3C/svg%3E");
}

/* Accueil */
.lasla2026-root .sidebar .lasla-menu > li.menu-item-home > a{
  --sla-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3 3 10v11h7v-6h4v6h7V10l-9-7zm0 2.2L19 10v9h-3v-6H8v6H5v-9l7-4.8z'/%3E%3C/svg%3E");
}
/* Articles */
.lasla2026-root .sidebar .lasla-menu > li.menu-item-1261 > a,
.lasla2026-root .sidebar .lasla-menu > li > a[href*='/les-articles']{
  --sla-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 2h9l3 3v17a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zm8 1.5V6h2.5L14 3.5zM7 9h8v2H7V9zm0 4h10v2H7v-2zm0 4h10v2H7v-2z'/%3E%3C/svg%3E");
}
/* Réactions */
.lasla2026-root .sidebar .lasla-menu > li.menu-item-10083 > a,
.lasla2026-root .sidebar .lasla-menu > li > a[href*='/vos-reactions']{
  --sla-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H9l-5 4v-4H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2zm0 2v10h1.5H6v1.6L8 16h12V6H4z'/%3E%3C/svg%3E");
}
/* Presse */
.lasla2026-root .sidebar .lasla-menu > li.menu-item-10082 > a,
.lasla2026-root .sidebar .lasla-menu > li > a[href*='/presse']{
  --sla-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 3h12a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H7a3 3 0 0 1-3-3V6a3 3 0 0 1 2-3zm0 3v12a1 1 0 0 0 1 1h11V5H6.5a.5.5 0 0 0-.5.5zM8 7h8v2H8V7zm0 4h8v2H8v-2zm0 4h6v2H8v-2z'/%3E%3C/svg%3E");
}
/* Contact */
.lasla2026-root .sidebar .lasla-menu > li.menu-item-10106 > a,
.lasla2026-root .sidebar .lasla-menu > li > a[href*='/contact']{
  --sla-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 2v.4l-8 5-8-5V6h16zM4 18V8.9l7.4 4.6a1 1 0 0 0 1.2 0L20 8.9V18H4z'/%3E%3C/svg%3E");
}

/* -----------------------------
   5) TOPBAR
------------------------------ */
.topbar{
  grid-area:topbar;
  border-radius: var(--r1);
  background: radial-gradient(700px 240px at 20% 0%, rgba(255,255,255,.05), transparent 60%), linear-gradient(180deg, #323f32, var(--blk0));
  box-shadow: var(--shadowSoft);
  padding:12px 16px;
  display:flex;
  align-items:center;
  gap:14px;
}
.topbar-actions{ margin-left:auto; }
.h1{
  margin:0;
  color:var(--w);
  font-weight:900;
  font-size:16px;
}
.subline{
  margin-top:3px;
  font-size:12px;
  color:var(--w2);
}

/* -----------------------------
   6) MAIN
------------------------------ */
.main{
  grid-area:main;
  border-radius: var(--r1);
  padding:14px;
  overflow:auto;
  min-height:0;
  background:
    radial-gradient(900px 420px at 30% 0%, rgba(255,255,255,.22), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));
  box-shadow: var(--shadowSoft);
}

/* -----------------------------
   7) CARDS
------------------------------ */
.card{
  border-radius: var(--r1);
  background: radial-gradient(680px 260px at 20% 10%, rgba(255, 200, 0, 0.4), #0000 60%), radial-gradient(520px 220px at 90% 5%, rgba(0, 220, 255, 0.02), #d8000000 55%), linear-gradient(to right, rgba(0,0,0,.06) 1px, transparent 1px), linear-gradient(to bottom, rgba(0,0,0,.06) 1px, transparent 1px);      overflow:hidden;
  box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.05);
}
.card-h{
  padding:8px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background: rgba(0,0,0,.04);
  box-shadow: var(--shadowInset);
}
.card-title span{
  font-weight:900;
  font-size:18px;
  color: var(--txtDark);
}
.card-title small{
  display:block;
  font-size:13px;
  color: rgba(0,0,0);
}
.card-b{ padding:12px 14px; }
.sub{ color: #000; font-size:14px; line-height:1.45; }

.grid-3{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:14px; }
.grid-2{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:14px; }
.mb-14{ margin-bottom:14px; }
.mt-10{ margin-top:10px; }

/* -----------------------------
   8) CHIPS
------------------------------ */
.chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.06);
  color: #000;
  font-size:12px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55);
}
.chip.neon{ background: rgba(255,180,0,.20); }

/* -----------------------------
   9) BOUTONS
------------------------------ */
.btn{
  cursor:pointer;
  user-select:none;
  color:#1a0f06;
  text-shadow: 0 1px 0 rgba(255,255,255,.22);
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease;

  border-radius: 999px;
  padding: 0.6rem 1.8rem;
  font-weight: 600;

  background: radial-gradient(circle at center, #F4EBC3 0, #FFC14A 0%, #ED9409 90%);
  border: 1px solid #ffe5a8;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.18);
  --bs-btn-font-size: 12px;
}
.btn:hover{
  transform: translateY(-1px);
  filter: saturate(1.05) contrast(1.03);
  box-shadow:
    0 0 0 1px rgba(0,0,0,.20),
    0 4px 4px rgba(255,90,0,.22),
    0 2px 5px rgba(0,0,0,.22);
}
.btn.small{
  padding:8px 10px;
  border-radius: 12px;
  font-size:12px;
}

/* -----------------------------
   10) BOTTOMBAR + split widget
------------------------------ */
.bottombar{
  grid-area:bottombar;
  border-radius: var(--r1);
  background: radial-gradient(700px 240px at 20% 0%, rgba(255,255,255,.05), transparent 60%), linear-gradient(180deg, var(--blk2), #261e13);
  box-shadow: var(--shadowSoft);
  padding:10px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

/* bottombar inner (si présent) */
.bottombar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  width:100%;
}

/* droite alignée */
.bottombar-right{
  margin-left:auto;
  text-align:right;
  display:flex;
  justify-content:flex-end;
  align-items:center;
}
.bottombar-widget,
.bottombar-copy{ text-align:right; }

body.home .bottombar-right .textwidget p{
  margin:0;
  line-height:1.2;
  font-weight:600;
  color: rgba(255,255,255,.92);
}
body.home .bottombar-right .textwidget p br{
  content:"";
  display:block;
  margin-top:4px;
}

/* -----------------------------
   11) TOAST
------------------------------ */
.toast-wrap{
  position:fixed;
  right:18px;
  bottom:78px;
  display:flex;
  flex-direction:column;
  gap:10px;
  z-index:9999;
}
.toast{
  min-width:260px;
  max-width:360px;
  border-radius:16px;
  padding:10px 12px;
  background:
    radial-gradient(420px 180px at 20% 10%, rgba(255,255,255,.06), transparent 60%),
    linear-gradient(180deg, var(--blk2), var(--blk0));
  box-shadow: 0 18px 44px rgba(0,0,0,.30);
}
.toast .t-title{ font-weight:900; font-size:13px; color: var(--w); }
.toast .t-sub{ font-size:12px; color: var(--w2); margin-top:2px; }

/* -----------------------------
   12) RESPONSIVE
------------------------------ */
@media (max-width: 1050px){
  body{ overflow:auto; }

  .app{
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto;
    grid-template-areas:
      "sidebar"
      "topbar"
      "main"
      "bottombar";
    overflow:visible;
  }

  .grid-3{ grid-template-columns:1fr; }
  .grid-2{ grid-template-columns:1fr; }

  /* sécurité : si un jour topbar devient sticky/fixed */
  .topbar{
    position: relative;
    top: auto;
  }
}



/* ==============================
   FOND / BADGE AUTOUR DES ICONES
   (pour <span class="ico ...">)
============================== */

/* le badge */
.lasla2026-root .sidebar .nav a .ico{
  width: 36px;
  height: 36px;
  border-radius: 12px;
  display: grid;
  place-items: center;

  /* fond glassy */
  background:
    radial-gradient(circle at 30% 25%, rgba(255,255,255,.16), rgba(255,255,255,.06) 55%, rgba(255,255,255,.03) 100%);

  border: 1px solid rgba(255,255,255,.14);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 10px 22px rgba(0,0,0,.35);
}

/* l’icône SVG dedans */
.lasla2026-root .sidebar .nav a .ico svg{
  width: 18px;
  height: 18px;
  stroke: rgba(255,255,255,.92);
  opacity: 1;
}

/* hover : badge + glow */
.lasla2026-root .sidebar .nav a:hover .ico{
  border-color: rgba(255,255,255,.22);
  background:
    radial-gradient(circle at 30% 25%, rgba(255,255,255,.22), rgba(255,255,255,.08) 55%, rgba(255,255,255,.04) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    0 14px 30px rgba(0,0,0,.45);
}

/* actif : badge plus clair + icône plus sombre (car fond orange) */
.lasla2026-root .sidebar .nav a.active .ico,
.lasla2026-root .sidebar .lasla-menu > li.current-menu-item > a .ico,
.lasla2026-root .sidebar .lasla-menu > li.current_page_item > a .ico{
  background:
    radial-gradient(circle at 30% 25%, rgba(255,255,255,.35), rgba(255,255,255,.16) 55%, rgba(255,255,255,.10) 100%);
  border-color: rgba(0,0,0,.18);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.30),
    0 12px 26px rgba(0,0,0,.40);
}

.lasla2026-root .sidebar .nav a.active .ico svg,
.lasla2026-root .sidebar .lasla-menu > li.current-menu-item > a .ico svg,
.lasla2026-root .sidebar .lasla-menu > li.current_page_item > a .ico svg{
  stroke: #000;
}


/* ============================
   MENU WP => rendu dashboard
============================ */

/* reset UL */
.lasla2026-root .sidebar .lasla-menu{
  list-style:none;
  margin:0;
  padding: 10px 12px 0;
  display:flex;
  flex-direction:column;
  gap:10px;
}

/* li full width */
.lasla2026-root .sidebar .lasla-menu > li{ width:100%; margin:0; padding:0; }

/* lien full width */
.lasla2026-root .sidebar .lasla-menu > li > a{
  width:100%;
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border-radius:14px;
  text-decoration:none;
  color: rgba(255,255,255,.86);
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease, background .12s ease;
}

/* hover */
.lasla2026-root .sidebar .lasla-menu > li > a:hover{
  transform: translateY(-1px);
  filter: brightness(1.03);
  box-shadow: 0 14px 32px rgba(0,0,0,.40);
  color:#000;
  border: 1px solid rgba(248, 241, 229, 0.4);
  background: radial-gradient(circle at 30% 20%, #FFE7A1 0%, #FFC14A 45%, #F29A00 100%);
}

/* actif WP */
.lasla2026-root .sidebar .lasla-menu > li.current-menu-item > a,
.lasla2026-root .sidebar .lasla-menu > li.current_page_item > a{
  color:#1b1200;
  background: radial-gradient(circle at 30% 20%, #FFE7A1 0%, #FFC14A 45%, #F29A00 100%);
  border: 2px solid rgba(248, 241, 229, 0.4);
  box-shadow: 0 16px 36px rgba(0,0,0,.45);
}

/* ============================
   ICÔNE (span.ico) + fond badge
============================ */

.lasla2026-root .sidebar .lasla-menu a .ico{
  width:34px;
  height:34px;
  border-radius:12px;
  display:grid;
  place-items:center;

  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 10px 20px rgba(0,0,0,.35);
}

.lasla2026-root .sidebar .lasla-menu a .ico svg{
  width:18px;
  height:18px;
  stroke: rgba(255,255,255,.92);
}

/* actif : l’icône devient sombre (car fond orange) */
.lasla2026-root .sidebar .lasla-menu > li.current-menu-item > a .ico,
.lasla2026-root .sidebar .lasla-menu > li.current_page_item > a .ico{
  background: rgba(0,0,0,.12);
  border-color: rgba(0,0,0,.18);
}
.lasla2026-root .sidebar .lasla-menu > li.current-menu-item > a .ico svg,
.lasla2026-root .sidebar .lasla-menu > li.current_page_item > a .ico svg{
  stroke: #000;
}

/* (option) hover : glow léger autour du badge */
.lasla2026-root .sidebar .lasla-menu > li > a:hover .ico{
  box-shadow: 0 12px 26px rgba(0,0,0,.40);
  border-color: rgba(255,255,255,.18);
}

/* Couleurs “futuristes” par classe (ça te permet d’avoir amber/blue/cyan/...) */
.lasla2026-root .sidebar .ico.amber{ }
.lasla2026-root .sidebar .ico.blue{  }
.lasla2026-root .sidebar .ico.cyan{  }
.lasla2026-root .sidebar .ico.violet{ }
.lasla2026-root .sidebar .ico.green{ }

/* menu WP skinné (comme tes <a>) */
.lasla2026-root .sidebar .nav { padding: 12px; }

.lasla2026-root .sidebar .nav .lasla-menu{
  list-style:none;
  margin:0;
  padding: 0;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.lasla2026-root .sidebar .nav .lasla-menu > li > a{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  padding:6px 0px;
  border-radius:14px;
  text-decoration:none;
  color:rgba(255,255,255,.84);
  background:radial-gradient(900px 220px at 20% -30%, rgba(255, 198, 0, 0.23), transparent 60%), radial-gradient(560px 220px at 95% 0%, rgba(0, 124, 255, 0.28), transparent 55%);
  border: 1px solid rgba(255, 255, 255, 0.17);
  transition:.15s ease;
}

.lasla2026-root .sidebar .nav .lasla-menu > li > a:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.07);
  color:rgba(255,255,255,.95);
}

/* FOND autour de chaque icône (ce que tu demandes) */
.lasla2026-root .sidebar .nav .ico{
  width:34px;
  height:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background: rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
}

.lasla2026-root .sidebar .nav .ico svg{
  width:18px;
  height:18px;
  stroke: rgba(255,255,255,.92);
}

/* actif = orange comme ton modèle */
.lasla2026-root .sidebar .nav .lasla-menu > li.is-active > a{
  color:#1a0f06;
  background: radial-gradient(circle at center, #F4EBC3 0, #FFC14A 0%, #ED9409 90%);
  border: 1px solid #ffe5a8;
  box-shadow: 0 1px 2px rgba(255, 255, 255, 0.5);
  font-weight: 600;
  font-size: 19px;
}

/* actif : fond icône un peu plus sombre */
.lasla2026-root .sidebar .nav .lasla-menu > li.is-active .ico{
  background: rgba(0,0,0,.16);
  border-color: rgba(0,0,0,.12);
}

/* =========================================================
   BOTTOmBAR — menu gauche clean + séparateur + responsive
   (Mentions légales / Contactez-nous sur 1 ligne)
========================================================= */

/* conteneur gauche */
.bottombar-left{
  display:flex;
  align-items:center;
}

/* UL du menu */
.bottombar-menu{
  display:flex;
  align-items:center;
  gap:18px;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

/* LI */
.bottombar-menu .bb-item{
  margin:0 !important;
  padding:0 !important;
  display:flex;
  align-items:center;
}

/* séparateur automatique " / " entre items */
.bottombar-menu .bb-item + .bb-item{
  position:relative;
  padding-left:22px; /* espace pour le / */
}
.bottombar-menu .bb-item + .bb-item::before{
  content:"/";
  position:absolute;
  left:-11px;
  top:50%;
  transform:translateY(-50%);
  color:rgba(255,255,255,.55);
  font-weight:900;
}

/* lien */
.bottombar-menu .bb-link{
  display:flex;
  align-items:center;
  text-decoration:none;
  color:rgba(255,255,255,.92);
  font-weight:400;
  font-size:13px;
  letter-spacing:.18px;
  line-height:1;
  border: 1px solid rgba(255, 255, 255, 0.12);
    border-top-color: rgba(255, 255, 255, 0.12);
    border-right-color: rgba(255, 255, 255, 0.12);
    border-bottom-color: rgba(255, 255, 255, 0.12);
    border-left-color: rgba(255, 255, 255, 0.12);
  background: radial-gradient(900px 220px at 20% -30%, rgba(255, 198, 0, .18), transparent 60%), radial-gradient(560px 220px at 95% 0%, rgba(0, 220, 255, .10), transparent 55%);
  color: rgba(255, 255, 255, 0.92);
  padding: 10px 12px;
  border-radius: 14px;
  cursor: pointer;
  transition: transform 0.12s, background 0.12s, box-shadow 0.12s, border-color 0.12s;
}

.bottombar-menu .bb-link:hover{
  opacity:.85;
  transform:translateY(-1px);
  filter: drop-shadow(0 6px 14px rgba(255,180,0,.22));
}

/* on garde uniquement le titre */
.bottombar-menu .bb-title{
  white-space:nowrap;
}

/* supprime “accès rapide” */
.bottombar-menu .bb-sub{
  display:none !important;
}

/* Responsive mobile : colonne (sans séparateur) */
@media (max-width: 780px){
  .bottombar-menu{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
  .bottombar-menu .bb-item + .bb-item{
    padding-left:0;
  }
  .bottombar-menu .bb-item + .bb-item::before{
    content:"";
    display:none;
  }
}


/* ===============================
   BOTTOmBAR RIGHT — 1 seule ligne
   "© ... / A NetdevCreative Solution"
   =============================== */

/* Zone droite bien alignée */
.bottombar-right{
  margin-left:auto;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  text-align:right;
  min-width:0;
}

/* Widget / texte */
.bottombar-right .textwidget,
.bottombar-right .bottombar-widget{
  min-width:0;
}

/* Le <p> du widget : une seule ligne */
.bottombar-right .textwidget p{
  margin:0 !important;
  padding:0 !important;
  line-height:1.2;
  font-weight:700;
  font-size:13px;
  color: rgba(255,255,255,.92);
  white-space:nowrap;          /* ✅ force sur 1 ligne */
  overflow:hidden;             /* évite débordement */
  text-overflow:ellipsis;      /* … si trop long */
}

/* On remplace le <br> par " / " visuellement */
.bottombar-right .textwidget p br{
  display:none !important;
}
.bottombar-right .textwidget p br::after{
  content:" / ";
}

/* ⚠️ Comme ::after sur br ne marche pas partout si br est display:none,
   on met une version robuste : on réaffiche le br mais “inline”, et on met le slash */
.bottombar-right .textwidget p br{
  display:inline !important;
}
.bottombar-right .textwidget p br::after{
  content:" / ";
}

/* ========== Responsive ========== */
/* Sur mobile : on autorise 2 lignes (propre) */
@media (max-width: 780px){
  .bottombar-right{
    width:100%;
    justify-content:flex-start;
    text-align:left;
    margin-left:0;
  }

  .bottombar-right .textwidget p{
    white-space:normal;      /* ✅ repasse en multi-lignes */
    overflow:visible;
    text-overflow:clip;
  }

  /* Sur mobile, on remet le retour ligne (slash retiré) */
  .bottombar-right .textwidget p br{
    display:block !important;
  }
  .bottombar-right .textwidget p br::after{
    content:"";              /* pas de slash en mobile */
  }
}


/* Masquer la barre admin WP (front uniquement) */
#wpadminbar{
  display:none !important;
}

/* Annule le décalage automatique de WordPress */
html{
  margin-top:0 !important;
}
/* ===== Brand PRO (sidebar) ===== */


/* Brand: "La Sla" (logo-text-sub) en jaune + domaine (logo-text-main) en dessous */
.lasla2026-root .sidebar .brand .brand-logo{display:flex;flex-direction:column;gap:4px;min-width:0}

.lasla2026-root .sidebar .brand .logo-text-sub{
  display:inline-flex; align-items:center; width:fit-content;
  padding:7px 12px; border-radius:999px;
  background:linear-gradient(180deg,#FFD64D 0%,#FFB300 100%);
  border:1px solid rgba(0,0,0,.18);
  font-weight:900; letter-spacing:-.03em; font-size:16px; color:#121212;
}

.lasla2026-root .sidebar .brand .logo-text-main{
  font-size:11px; font-weight:650; letter-spacing:.12em;
  text-transform:lowercase; color:rgba(255,255,255,.62);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

.lasla2026-root .sidebar .brand .sub{
  font-size:11px;
  color:rgba(255,255,255,.65);
}

/* ===== Brand PRO (sidebar) ===== */
.lasla2026-root .sidebar .brand.brand--pro{
  display:block;
  text-decoration:none;
  padding: 15px 15px 15px 15px;
  border-radius:18px;
  position:relative;
  overflow:hidden;

  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow:
    0 18px 50px rgba(0,0,0,0.45),
    inset 0 1px 0 rgba(255,255,255,0.10);
}

.lasla2026-root .sidebar .brand.brand--pro::before{
  content:"";
  position:absolute;
  inset:-1px;
  background:
    radial-gradient(900px 220px at 20% -30%, rgba(255, 198, 0, .18), transparent 60%),
    radial-gradient(560px 220px at 95% 0%, rgba(0, 220, 255, .10), transparent 55%);
  pointer-events:none;
}

.lasla2026-root .sidebar .brand.brand--pro:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.18);
  box-shadow:
    0 22px 60px rgba(0,0,0,0.52),
    inset 0 1px 0 rgba(255,255,255,0.12);
}

.lasla2026-root .sidebar .brand.brand--pro .brand-inner{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:6px;
}

/* Ligne : La Sla (jaune) + pour les nuls (sans jaune) */
.lasla2026-root .sidebar .brand.brand--pro .brand-title{
  display:flex;
  align-items:center;
  gap:10px;
  line-height:1;
}

/* Fond jaune UNIQUEMENT derrière "La Sla" */
.lasla2026-root .sidebar .brand.brand--pro .brand-bar{
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid rgba(0, 0, 0, 0.11);
  box-shadow: 0 14px 26px rgba(255, 179, 0, .22), inset 0 1px 0 rgba(255,255,255,0.30);
}

.lasla2026-root .sidebar .brand.brand--pro .logo-text-sub{
  font-weight: 900;
  letter-spacing: -0.03em;
  font-size: 21px;
  color: #121212;
  text-transform: uppercase;
}

/* "pour les nuls" sur la même ligne, sans jaune */
.lasla2026-root .sidebar .brand.brand--pro .brand-tag{
  display: inline-flex;
  align-items: center;
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.38);
  padding-top: 1px;
  margin-left: -4px;
}

/* Domaine dessous (fin/petit) */
.lasla2026-root .sidebar .brand.brand--pro .logo-text-main{
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: lowercase;
  color: rgba(255,255,255,0.60);
  text-align: center;
  background: #0000003d;
  padding: 3px;
  border: 1px solid rgb(41, 52, 45);
  margin-top: 4px;
  margin-bottom: 4px;
  border-radius: 5px;
}

/* baseline */
.lasla2026-root .sidebar .brand.brand--pro .sub{
  font-size: 12px;
  color: rgba(255,255,255,0.70);
  line-height: 1.35;
  text-align: center;
}

/* Responsive */
@media (max-width: 520px){
  .lasla2026-root .sidebar .brand.brand--pro .logo-text-sub{ font-size: 17px; }
  .lasla2026-root .sidebar .brand.brand--pro .brand-tag{ font-size: 11px; }
}


/* ===== Topbar: Social buttons futuristes ===== */
.lasla2026-root .topbar-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;
}

/* bouton base */
.lasla2026-root .topbar-actions .social-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  height:40px;
  padding:0 14px;
  border-radius:999px;
  text-decoration:none;
  white-space:nowrap;

  color: rgba(255,255,255,.92);
  background: radial-gradient(900px 220px at 20% -30%, rgba(255, 198, 0, .18), transparent 60%), radial-gradient(560px 220px at 95% 0%, rgba(0, 220, 255, .10), transparent 55%);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow:
    0 14px 34px rgba(0,0,0,.40),
    inset 0 1px 0 rgba(255,255,255,.10);

  transition: transform .14s ease, filter .14s ease, box-shadow .14s ease, border-color .14s ease, background .14s ease;
}

.lasla2026-root .topbar-actions .social-btn i{
  font-size:16px;
  opacity:.95;
}

.lasla2026-root .topbar-actions .social-btn span{
  font-weight:800;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* hover futuriste */
.lasla2026-root .topbar-actions .social-btn:hover{
  transform: translateY(-1px);
  filter: saturate(1.05);
  border-color: rgba(255,255,255,.22);
  background: rgba(255,255,255,.10);
  box-shadow:
    0 18px 44px rgba(0,0,0,.50),
    0 0 0 1px rgba(255,255,255,.06) inset;
}

/* variantes (léger accent par réseau, sans casser ton thème) */
.lasla2026-root .topbar-actions .social-btn.fb:hover{
  box-shadow:
    0 18px 44px rgba(0,0,0,.50),
    0 0 22px rgba(59, 89, 152, .28),
    0 0 0 1px rgba(255,255,255,.06) inset;
}

.lasla2026-root .topbar-actions .social-btn.ig:hover{
  box-shadow:
    0 18px 44px rgba(0,0,0,.50),
    0 0 22px rgba(255, 90, 0, .22),
    0 0 0 1px rgba(255,255,255,.06) inset;
}

/* mobile: garde 1 ligne (scroll si vraiment trop serré) */
@media (max-width: 520px){
  .lasla2026-root .topbar-actions{
    gap:8px;
    overflow:auto;
    padding-bottom:2px;
  }
  .lasla2026-root .topbar-actions .social-btn{
    height:38px;
    padding:0 12px;
  }
  .lasla2026-root .topbar-actions .social-btn span{
    font-size:11px;
  }
}

/* =========================================================
   HERO CARD (Bienvenue) — PRO / FUTURISTE
   ========================================================= */

   .hero-card{
    position:relative;
    overflow:hidden;
  }
  
  /* glow doux + lignes techno */
  .hero-card::before{
    content:"";
    position:absolute;
    inset:-1px;
    pointer-events:none;
    background:
      radial-gradient(680px 260px at 20% 10%, rgba(255, 200, 0, .22), transparent 60%),
      radial-gradient(520px 220px at 90% 5%, rgba(0, 220, 255, .10), transparent 55%),
      linear-gradient(to right, rgba(0,0,0,.06) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(0,0,0,.06) 1px, transparent 1px);
    background-size: auto, auto, 140px 140px, 140px 140px;
  }
  
  /* header légèrement plus premium */
  .hero-card-h{
    position:relative;
    background: rgba(0,0,0,.045);
  }
  
  .hero-badges{
    display:flex;
    align-items:center;
    gap:10px;
  }
  
  /* petit point live futuriste */
  .hero-dot{
    width:10px;
    height:10px;
    border-radius:999px;
    background: radial-gradient(circle at 30% 30%, #fff6b0 0%, #ffd000 45%, #ff8a00 100%);
    box-shadow: 0 0 0 4px rgba(255, 180, 0, .15), 0 0 22px rgba(255, 160, 0, .35);
  }
  
  /* corps */
  .hero-welcome{
    position:relative;
  }
  
  /* bandeau haut (chip + mini texte) */
  .hero-kicker{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
    flex-wrap:wrap;
  }
  
  .hero-mini{
    font-size:12px;
    font-weight:700;
    letter-spacing:.10em;
    text-transform:uppercase;
    color: rgba(0,0,0);
    padding:6px 10px;
    border-radius:999px;
    background: rgba(255,255,255,.40);
    border: 1px solid rgba(0,0,0,.08);
  }
  
  /* chip principal (glassy) */
  .hero-chip{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:8px 12px;
    border-radius:999px;
    background: rgba(255,255,255,.55);
    border: 1px solid rgba(0,0,0,.08);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
  }
  .hero-chip i{
    font-size:16px;
    color: #000;
  }
  .hero-chip span{
    font-weight:800;
    font-size:12px;
    letter-spacing:.04em;
    color: #000;
  }
  
  /* titres */
  .hero-title-card{
    margin: 8px 0 8px;
    line-height:1.05;
  }
  .hero-title-card .highlight{
    display:inline-block;
    padding:6px 10px;
    border-radius:14px;
    background: radial-gradient(circle at 30% 20%, #FFE7A1 0%, #FFC14A 45%, #F29A00 100%);
    border:1px solid rgba(0,0,0,.10);
    box-shadow: 0 12px 30px rgba(255, 140, 0, .18);
    font-weight:1000;
    letter-spacing:-.02em;
  }
  
  .hero-subtitle-strong{
    display:block;
    margin-top:8px;
    font-size:14px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
    color: rgba(0,0,0);
  }
  
  /* texte */
  .hero-subtitle-card{
    margin: 10px 0 12px;
    line-height:1.55;
    color: #000;
    padding: 12px;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(255, 255, 255, 0.61) !important;
  }
  
  /* actions + meta */
  .hero-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    margin-top:10px;
  }
  
  /* boutons hero (cohérents avec ton thème) */
  .btn-hero-main{


  }
  .btn-hero-ghost{
    background: rgba(255,255,255,.42);
    border: 1px solid rgba(0,0,0,.10);
  }
  .btn-hero-ghost:hover{
    filter: saturate(1.05);
  }
  
  /* meta chips (à droite) */
  .hero-meta{
    margin-left:auto;
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
  }
  .chip-soft{
    background: rgba(255,255,255,.46);
    border: 1px solid rgba(0,0,0,.08);
    color: #000;
  }
  
  /* responsive: empile proprement */
  @media (max-width: 720px){
    .hero-actions{
      align-items:stretch;
    }
    .hero-meta{
      margin-left:0;
    }
    .hero-title-card .highlight{
      border-radius:12px;
    }
  }


  
  .hero-chip {

    padding: 0.25rem 0.8rem;

  }
  
  .lasla2026-root .card,
  .lasla2026-root .masonry-item{
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  

  /* ===== CARD ARTICLES : PANEL PRO intégré ===== */
.card.card-articles .articles-card{
  padding: 14px;
}

.card.card-articles .hero-panel--in-card{
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

/* Head */
.card.card-articles .hero-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.card.card-articles .hero-panel-badge{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.45);
  border: 1px solid rgba(0,0,0,.10);
}

.card.card-articles .hero-panel-dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #ffb300;
  box-shadow: 0 0 0 4px rgba(255,179,0,.25);
}

.card.card-articles .hero-panel-kicker{
  font-weight: 800;
  font-size: 13px;
  letter-spacing: .02em;
  color:#2b1a00;
}

/* Preview */
.card.card-articles .hero-article-preview--pro{
  background: rgba(255,255,255,.50);
  border: 1px solid rgba(0,0,0,.10);
  box-shadow: 0 14px 34px rgba(0,0,0,.10);
  border-radius: 18px;
  padding: 14px;
  position: relative;
  overflow: hidden;
}

.card.card-articles .preview-title{
  font-size: 18px;
  font-weight: 900;
  color:#111;
  margin: 10px 0 6px;
}

.card.card-articles .preview-excerpt{
  font-size: 16px;
  line-height: 1.45;
  color:#2b2b2b;
  margin: 0 0 10px;
}

/* Meta pills */
.card.card-articles .preview-meta-pill{
  display:inline-flex;
  align-items:center;
  gap: 6px;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.60);
  border: 1px solid rgba(0,0,0,.10);
  font-size: 12px;
  font-weight: 700;
  color:#2b1a00;
}

.card.card-articles .preview-actions{
  display:flex;
  align-items:center;
  gap: 8px;
}

/* Toolbar search */
.card.card-articles .hero-panel-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  margin-top: 1px;
}

.card.card-articles .hero-panel-search{
  flex:1;
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 0px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.45);
  border: 1px solid rgba(0,0,0,.10);
}

.card.card-articles .hero-panel-search input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  font-size: 14px;
  color:#111;
}

/* Count */
.card.card-articles .hero-panel-count{
  display:inline-flex;
  align-items:center;
  gap: 6px;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.06);
  border: 1px solid rgba(0,0,0,.10);
  font-weight: 900;
  font-size: 12px;
  color:#2b1a00;
  white-space: nowrap;
}

/* List */
.card.card-articles .hero-article-list--pro{
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
  max-height: 260px;
  overflow: auto;
  scrollbar-width: thin;
}

.card.card-articles .hero-article-list--pro li + li{
  margin-top: 6px;
}

/* Item pro (une ligne + meta) */
.card.card-articles .hero-article-list--pro .hero-article-item{
  width:100%;
  border:0;
  border-radius: 14px;
  padding: 10px 12px;
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(0,0,0,.10);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  cursor:pointer;
  transition: transform .14s ease, box-shadow .14s ease, background .14s ease;
  color:#111;
}

.card.card-articles .hero-article-list--pro .hero-article-item:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(0,0,0,.10);
  background: rgba(255,255,255,.75);
}

.card.card-articles .hero-article-list--pro .hero-article-item.active{
  background: #111;
  color:#fff;
  border-color: rgba(0,0,0,.25);
}

.card.card-articles .hero-article-list--pro .hero-item-title{
  font-size: 14px;
  font-weight: 900;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.card.card-articles .hero-article-list--pro .hero-item-meta{
  font-size: 12px;
  opacity: .85;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.card.card-articles .hero-article-list--pro .hero-article-item.active .hero-item-meta{
  opacity: .75;
}

/* Controls mini (coin preview) */
.card.card-articles #heroPreviewControls{
  position:absolute;
  right: 10px;
  bottom: 10px;
  display:flex;
  align-items:center;
  gap: 6px;
  padding: 6px;
  border-radius: 999px;

}

.card.card-articles .hero-preview-btn{
  width: 32px;
  height: 32px;
}

/* Responsive : card respire bien */
@media (max-width: 576px){
  .card.card-articles .hero-panel-toolbar{
    flex-direction: column;
    align-items: stretch;
  }
  .card.card-articles .hero-panel-count{
    width: 100%;
    justify-content: center;
  }
}

/* =========================================================
   LASLA 2026 — Card Articles (compact, futuriste, pro)
   - Hauteur réduite (≈ moitié)
   - Preview + toolbar sticky + liste scroll
   - Anti-blur: pas de transform sur texte
========================================================= */

.card-articles .articles-card{
  /* ✅ baisse la hauteur en 2 : module compact */
  max-height: clamp(360px, 52vh, 540px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Hero panel (internal layout) */
.card-articles .hero-panel--card{
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 0; /* important pour scroll internes */
}

/* ===============================
   Preview (haut) — glass + neon
=============================== */
.card-articles .hero-article-preview{
  position: relative;
  border-radius: 16px;
  padding: 14px 14px 12px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));
  border: 1px solid rgba(255,255,255,.14);
  box-shadow:
    0 10px 22px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.08);
  overflow: hidden;
}

/* petit glow futuriste */
.card-articles .hero-article-preview::before{
  content:"";
  position:absolute; inset:-2px;
  background:
    radial-gradient(600px 180px at 12% 20%, rgba(255,214,0,.24), transparent 60%),
    radial-gradient(520px 220px at 95% 10%, rgba(80,255,230,.14), transparent 55%);
  pointer-events:none;
  opacity:.95;
}

/* top row */
.card-articles .preview-toprow{
  position: relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom: 6px;
}

.card-articles .preview-tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:700;
  font-size: .78rem;
  letter-spacing:.02em;
  padding: 6px 1px;
  border-radius: 999px;

  border: 1px solid rgba(255,255,255,.10);
}

.card-articles .preview-meta{
  display:flex;
  gap:8px;
  flex-wrap: wrap;
  justify-content:flex-end;
}

.card-articles .preview-meta-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:.76rem;
  padding: 6px 10px;
  border-radius:999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  white-space: nowrap;
}

/* titres + excerpt: compact */
.card-articles .preview-title{
  position: relative;
  margin: 6px 0 4px;
  font-size: 1.05rem;
  line-height: 1.2;
  letter-spacing: .01em;
  text-transform: none;
}

.card-articles .preview-excerpt{
  position: relative;
  margin: 0 0 10px;
  font-size: .90rem;


  /* ✅ coupe proprement pour réduire hauteur */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* actions + controls sur une ligne propre */
.card-articles .preview-actions{
  position: relative;
  display:flex;
  align-items:center;
  gap:10px;
}

/* Controls à droite, style futuriste */
.card-articles .hero-preview-controls{
  margin-left:auto;
  display:flex;
  gap:8px;
}

.card-articles .hero-preview-btn{
  width: 36px;
  height: 34px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  display:grid;
  place-items:center;

  /* ✅ anti-blur: pas de translate/transform */
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.card-articles .hero-preview-btn:hover{
  background: rgba(255,214,0,.18);
  border-color: rgba(255,214,0,.35);
  box-shadow:
    0 10px 18px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.10);
}

/* bouton play “primary” */
.card-articles .hero-preview-btn.is-primary{
  background: rgb(255, 195, 14);
  border-color: rgba(255, 255, 255, 0.35);
}

/* progress bar */
.card-articles .hero-auto-progress{
  position: relative;
  margin-top: 10px;
  height: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.10);
}

.card-articles .hero-auto-progress span{
  display:block;
  height: 100%;
  width: 0%;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255,214,0,.95), rgba(80,255,230,.65));
}

/* ===============================
   Toolbar sticky (search + count)
=============================== */
.card-articles .hero-panel-toolbar{
  position: sticky;
  top: 0;
  z-index: 5;

  display:flex;
  align-items:center;
  gap:10px;

  padding: 4px 3px;
  border-radius: 14px;

  background: rgba(0,0,0,.12);
  border: 1px solid rgba(255,255,255,.10);

}

.card-articles .hero-panel-search{
  flex: 1;
  display:flex;
  align-items:center;
  gap:8px;

  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
}

.card-articles .hero-panel-search input{
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: inherit;
  font-size: .9rem;
}

.card-articles .hero-panel-count{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size: .82rem;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(255,214,0,.14);
  border: 1px solid rgba(255,214,0,.25);
  white-space: nowrap;
}

/* ===============================
   Liste scrollable (compact)
=============================== */
.card-articles #heroArticleList.hero-article-list{
  /* ✅ la card ne grandit plus */
  overflow: auto;
  padding-right: 4px;
  margin: 0;
  min-height: 0; /* clé */
  max-height: 240px; /* ajuste si tu veux encore plus compact */
}

/* items */
.card-articles .hero-article-item{
  width: 100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);

  text-align:left;
  font-family: "Source Sans Pro", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  margin-bottom:3px;
  /* ✅ anti-blur: pas de transform/translate */
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.card-articles .hero-article-item span{
  font-weight: 650;
  font-size: 15px;
  line-height: 1.2;
  color: #000;

}

.card-articles .hero-article-item:hover{
  background: rgba(255, 213, 0, 0.863);
  border-color: rgba(255,214,0,.22);
}

.card-articles .hero-article-item.active{
  background: rgba(255,214,0,.16);
  border-color: rgba(255,214,0,.35);

}

/* scrollbar propre */
.card-articles #heroArticleList::-webkit-scrollbar{ width: 10px; }
.card-articles #heroArticleList::-webkit-scrollbar-track{
  background: rgba(255,255,255,.06);
  border-radius: 999px;
}
.card-articles #heroArticleList::-webkit-scrollbar-thumb{
  background: rgba(255,214,0,.35);
  border-radius: 999px;
  border: 2px solid rgba(0,0,0,.10);
}

/* ===============================
   Responsive
=============================== */
@media (max-width: 980px){
  .card-articles .articles-card{
    max-height: none; /* mobile: laisse respirer */
  }
  .card-articles #heroArticleList.hero-article-list{
    max-height: 260px;
  }
}

@media (max-width: 520px){
  .card-articles .preview-meta{
    display:none; /* ultra compact mobile */
  }
  .card-articles .hero-panel-toolbar{
    gap:8px;
  }
  .card-articles .hero-panel-count .muted{ display:none; }
}
/* ✅ Retire les puces (.) devant les items */
#heroArticleList{
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

#heroArticleList > li{
  list-style: none;
  margin: 0;        /* optionnel */
  padding: 0;       /* optionnel */
}

#heroArticleList{ padding-inline-start: 0; }

.bi.bi-chevron-right {
  color: #000;
}



/* =========================================================
   HERO PREVIEW — FIXE + RESPONSIVE + 4 LIGNES (PRO)
   Objectif :
   - une hauteur stable (pas de saut)
   - titre sur 1 ligne (ou 2 si tu veux)
   - extrait toujours 4 lignes max
   - bouton toujours visible
========================================================= */

/* conteneur preview */
#heroArticlePreview.hero-article-preview{
  display: flex;
  flex-direction: column;
  gap: .35rem;

  /* hauteur stable + responsive */
  min-height: 168px;
  height: clamp(160px, 18vh, 190px);

  padding: 1px 16px;
  border-radius: 14px;

  overflow: hidden; /* évite les débordements */
}

/* titre : propre, pas de saut */
#heroArticlePreview .preview-title{
  margin: 0;
  font-weight: 800;
  letter-spacing: .2px;
  line-height: 1.15;

  /* 1 ligne (plus pro, évite les sauts) */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* si tu veux plutôt 2 lignes (option) :
#heroArticlePreview .preview-title{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
*/

/* extrait : TOUJOURS 4 lignes max */
#heroArticlePreview .preview-excerpt--clamp4,
#heroArticlePreview .preview-excerpt{
  margin: 0;
  line-height: 1.35;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  text-overflow: ellipsis;

  /* donne une hauteur "réservée" à 4 lignes -> layout stable */
  min-height: calc(1.35em * 1);
}

/* actions : collées en bas, jamais masquées */
#heroArticlePreview .preview-actions{
  margin-top: auto;        /* pousse en bas */
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .6rem;
  flex-wrap: nowrap;
  margin-bottom: -9px;
}

/* bouton Lire + toujours visible */
#heroArticlePreview .preview-btn{
  flex: 0 0 auto;
  white-space: nowrap;
}

/* controls compacts et alignés */
#heroArticlePreview .hero-preview-controls{
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: .45rem;
}

/* boutons control : taille stable */
#heroArticlePreview .hero-preview-btn{
  width: 36px;
  height: 28px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* barre de progress : reste en bas sans casser le layout */
#heroArticlePreview .hero-auto-progress{
  margin-bottom: -3px;
}

/* MOBILE : plus haut pour respirer + bouton plus large */
@media (max-width: 700px){
  #heroArticlePreview.hero-article-preview{
    height: clamp(190px, 28vh, 240px);
    min-height: 200px;
    padding: 14px;
  }

  #heroArticlePreview .preview-actions{
    flex-direction: column;
    align-items: stretch;
  }

  #heroArticlePreview .preview-btn{
    width: 100%;
    display: flex;
    justify-content: center;
  }

  #heroArticlePreview .hero-preview-controls{
    justify-content: center;
  }
}
/* FIX VISIBILITÉ TITRE PREVIEW (override final) */
#heroArticlePreview{
  position: relative;
}

#heroArticlePreview .preview-title{
  position: relative;
  z-index: 5;
  color: #111 !important;          /* visible sur fond clair */
  margin: 0 0 .25rem 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  display: block !important;
}

/* si un overlay/pseudo element recouvre */
#heroArticlePreview::before,
#heroArticlePreview::after{
  z-index: 0;
  pointer-events: none;
}

#heroArticlePreview > *{
  position: relative;
  z-index: 2;
}

/* =========================================================
   HERO LIST — Boutons Futuristes + Icône livre à gauche
   (CSS only, sans modifier le HTML)
========================================================= */

/* enlève les puces / points */
#heroArticleList{
  list-style: none;
  padding-left: 0;
  margin: 0;
  margin-top: -3px !important;
}
#heroArticleList li{
  list-style: none;
  margin: 0;
}

/* bouton */
#heroArticleList .hero-article-item{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  line-height:30px;
  padding: 0px 1px 0px 52px; /* espace pour l’icone à gauche */
  border-radius: 14px;

  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.62));
  border: 1px solid rgba(0,0,0,.08);

  color: #111;
  font-weight: 800;
  text-align: left;

  position: relative;
  overflow: hidden;

  color: #111;
  text-transform: none;
  font-size: 12px;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease, background .14s ease;
  box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.13) inset;
}

/* “glow” léger futuriste */
#heroArticleList .hero-article-item::after{
  content:"";
  position:absolute;
  inset:-2px;
  background: radial-gradient(600px 120px at 0% 50%, rgba(255,183,0,.22), transparent 55%);
  opacity:.55;
  pointer-events:none;
}

/* Icône livre à gauche (Bootstrap Icons) */
#heroArticleList .hero-article-item > span{
  position: relative;
  padding-left: 0;
  line-height: 1.15;
  color: #111;
  line-height: 35px;
  z-index: 9999;
}

/* icone */
#heroArticleList .hero-article-item::before{
  content: "\F194"; /* bi-book */
  font-family: "bootstrap-icons";
  font-weight: normal;
  font-style: normal;

  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);

  width: 26px;
  height: 20px;
  border-radius: 4px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  background: rgba(0,0,0,.06);
  border: 1px solid rgba(0,0,0,.08);

  color: #000;
}

/* chevron à droite plus discret + aligné */
#heroArticleList .hero-article-item i.bi-chevron-right{
  opacity: .55;
  transform: translateX(0);
  transition: transform .14s ease, opacity .14s ease;
}

/* hover */
#heroArticleList .hero-article-item:hover{
  background: linear-gradient(180deg, rgba(255,214,90,.88), rgba(255,190,40,.62));
  border-color: rgba(255,170,0,.55);


}
#heroArticleList .hero-article-item:hover i.bi-chevron-right{
  opacity: .85;
  transform: translateX(2px);
}

/* active = futuriste + accent */
#heroArticleList .hero-article-item.active{
  background: linear-gradient(180deg, rgba(255,214,90,.88), rgba(255,190,40,.62));
  border-color: rgba(255,170,0,.55);
 
}

#heroArticleList .hero-article-item.active::before{
  background: rgba(0,0,0,.10);
  border-color: rgba(0,0,0,.14);
  color: rgba(0,0,0);
}

/* focus clavier accessible */
#heroArticleList .hero-article-item:focus-visible{
  outline: none;
  box-shadow:
    0 0 0 3px rgba(255,183,0,.35),
    0 14px 34px rgba(0,0,0,.14);
}

/* responsive : plus compact */
@media (max-width: 700px){
  #heroArticleList .hero-article-item{
    padding: 10px 12px 10px 40px;
    border-radius: 12px;
    font-weight: 800;
  }
  #heroArticleList .hero-article-item::before{
    width: 24px;
    height: 24px;
    border-radius: 9px;
    left: 10px;
  }
}

.preview-pill {
  font-size: 10px;
  margin-top: 5px;
}

/* =========================================================
   ARTICLES CARD = 1/2 de la zone utile (header -> footer)
========================================================= */

/* optionnel : marge interne globale à retirer si besoin */
:root{
  --lasla-footer-h: 0px;       /* sera rempli par JS */
  --lasla-safe-gap: 24px;      /* ajuste si tu as des paddings/marges */
}

.card-b.articles-card{
  height: auto;
  max-height: none;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* IMPORTANT : scroll interne correct */
.card-b.articles-card .hero-panel{
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

/* la liste scrolle */
.card-b.articles-card #heroArticleList{
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding-right: 6px;
}


/* =========================================================
   MASONRY => GRID RESPONSIVE (wrap intelligent)
========================================================= */

.masonry{
  display: grid;
  gap: 16px;
  align-items: stretch;

  /* Desktop: 3 colonnes */
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Tablette: 2 colonnes => le 3e passe dessous */
@media (max-width: 1200px){
  .masonry{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Mobile: 1 colonne => tout full width */
@media (max-width: 900px){
  .masonry{ grid-template-columns: 1fr; }
}

/* =========================================================
   GRID responsive + hauteur commune = 1/2 zone utile
========================================================= */
:root{
  --lasla-topbar-h: 0px;
  --lasla-bottombar-h: 0px;
  --lasla-usable-h: 700px;
  --lasla-gap: 16px;

  /* moitié de la zone utile */
  --lasla-card-h: clamp(440px, calc(var(--lasla-usable-h) * 0.70), 900px);
}
/* =========================================================
   DASHBOARD GRID (PRO)
   - >=1920px : 3 colonnes
   - <1920px  : 2 colonnes
   - mobile   : 1 colonne
   - cards: hauteur dynamique basée sur zone utile (topbar->bottombar)
========================================================= */

:root{
  --lasla-gap: 16px;

  /* fournie par ton JS: --lasla-usable-h */
  --lasla-usable-h: 700px;

  /* hauteur d’une card = une bonne “demi-page” lisible */
  --lasla-card-h: clamp(460px, calc(var(--lasla-usable-h) * 0.70), 920px);
}

/* GRID container */
.lasla2026-root .masonry{
  display: grid;
  gap: var(--lasla-gap);
  align-items: stretch;
  grid-template-columns: repeat(3, minmax(0, 1fr)); /* default: 3 */
}

/* < 1920px => 2 colonnes */
@media (max-width: 1919px){
  .lasla2026-root .masonry{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Mobile => 1 colonne */
@media (max-width: 900px){
  .lasla2026-root .masonry{
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   HAUTEUR UNIFIÉE DES CARDS (desktop/tablette)
========================================================= */
@media (min-width: 901px){
  .lasla2026-root .masonry .card.masonry-item{
    height: var(--lasla-card-h);
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .lasla2026-root .masonry .card.masonry-item > .card-h{
    flex: 0 0 auto;
  }

  .lasla2026-root .masonry .card.masonry-item > .card-b{
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
}

/* Mobile: hauteur naturelle (meilleure lisibilité) */
@media (max-width: 900px){
  .lasla2026-root .masonry .card.masonry-item{
    height: auto;
  }
  .lasla2026-root .masonry .card.masonry-item > .card-b{
    overflow: visible;
  }
}

/* =========================================================
   SCROLL INTERNE PRO (exemples)
   - Articles: la liste scrolle, pas la card entière
========================================================= */
.lasla2026-root .card-articles .articles-card{
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.lasla2026-root .card-articles #heroArticleList{
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
}

/* =========================================================
   QUICK CARDS (Themes / Presse / Contact / Témoignages)
   - Futuriste, responsive, même hauteur via ton grid
========================================================= */

.card-quick .quick-body{
  flex: 1 1 auto;
  min-height: 0;
  display:flex;
  flex-direction:column;
  gap: 12px;
  overflow:hidden;
}

/* grid de tuiles */
.quick-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
}

/* tuile */
.quick-tile{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:6px;

  padding: 12px 12px;
  border-radius: 16px;
  text-decoration:none;

  background: rgba(255,255,255,.55);
  border: 1px solid rgba(0,0,0,.10);
  box-shadow: 0 12px 26px rgba(0,0,0,.10);
  overflow:hidden;

  transition: transform .14s ease, box-shadow .14s ease, background .14s ease, border-color .14s ease;
}

.quick-tile::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(520px 160px at 15% 15%, rgba(255,214,0,.22), transparent 60%),
    radial-gradient(520px 220px at 95% 10%, rgba(0,220,255,.10), transparent 55%);
  pointer-events:none;
  opacity:.9;
}

.quick-ico{
  width:40px;
  height:40px;
  border-radius: 14px;
  display:grid;
  place-items:center;

  background: rgba(0,0,0,.06);
  border: 1px solid rgba(0,0,0,.10);
}

.quick-ico i{ font-size:18px; color:#111; }

.quick-label{
  font-weight: 900;
  font-size: 14px;
  color:#111;
  position:relative;
}

.quick-meta{
  font-size: 12px;
  color: rgba(0,0,0);
  position:relative;
}

.quick-arrow{
  position:absolute;
  right:10px;
  top:10px;
  opacity:.65;
}

.quick-tile:hover{
  transform: translateY(-1px);
  background: rgba(255,214,90,.70);
  border-color: rgba(255,170,0,.40);
  box-shadow: 0 18px 36px rgba(0,0,0,.16);
}

/* liste presse */
.quick-list{
  flex: 1 1 auto;
  min-height: 0;
  overflow:auto;
  padding-right: 4px;
  display:flex;
  flex-direction:column;
  gap: 8px;
}

.quick-row{
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  text-decoration:none;

  background: rgba(255,255,255,.55);
  border: 1px solid rgba(0,0,0,.10);
  transition: background .14s ease, transform .14s ease;
}

.quick-row:hover{
  background: rgba(255,214,90,.70);
  transform: translateY(-1px);
}

.quick-row-ico{
  width:34px; height:34px;
  border-radius: 12px;
  display:grid;
  place-items:center;
  background: rgba(0,0,0,.06);
  border: 1px solid rgba(0,0,0,.10);
}

.quick-row-title{ font-weight: 900; font-size: 13px; color:#111; display:block; }
.quick-row-sub{ font-size: 12px; color: rgba(0,0,0); display:block; margin-top:2px; }

.quick-row-arrow{ margin-left:auto; opacity:.65; }

/* témoignages */
.quick-stack{
  flex: 1 1 auto;
  min-height: 0;
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap: 10px;
  padding-right: 4px;
}

.quick-quote{
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 16px;
  padding: 12px 12px;
  box-shadow: 0 12px 26px rgba(0,0,0,.10);
}

.quick-quote-top{
  display:flex;
  align-items:center;
  gap: 10px;
}

.quick-quote-ico{
  width:34px; height:34px;
  border-radius: 12px;
  display:grid;
  place-items:center;
  background: rgba(0,0,0,.06);
  border: 1px solid rgba(0,0,0,.10);
}

.quick-quote-text{
  margin: 10px 0 0;
  font-size: 13px;
  color: #000;
  line-height: 1.45;
}

.quick-quote-meta{
  margin-top: 8px;
  font-size: 12px;
  color: rgba(0,0,0);
}

/* contact */
.contact-mini-head{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}

.contact-mini-box{
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 16px;
  padding: 12px;
}

.quick-actions{
  display:flex;
  gap:10px;
  flex-wrap: wrap;
  margin-top: 10px;
}

/* footer chips */
.quick-footer{
  margin-top:auto;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

/* responsive */
@media (max-width: 900px){
  .quick-grid{ grid-template-columns: 1fr; }
}


/* ============ THEMES CARD (futuriste, dashboard) ============ */

.card-themes .themes-card-body{
  gap: 12px;
}

.themes-card-kicker{
  display:flex;
  flex-direction: column;
  gap: 8px;
}

.themes-card-sub{
  font-size: 12px;
  opacity: .85;
}

.themes-layout--card{
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-columns: 46% 54%;
  gap: 14px;
}

@media (max-width: 900px){
  .themes-layout--card{
    grid-template-columns: 1fr;
  }
}

/* colonne gauche scrollable si besoin */
.themes-layout--card .themes-nav{
  min-height: 0;
  overflow: auto;
  padding-right: 6px;
}

/* boutons nav look “pill futuriste” */
.themes-nav-item{
  width: 100%;
  border: 0;
  cursor: pointer;
  text-align: left;
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(0,0,0,.25);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease;
  margin-bottom: 0px;
  white-space: nowrap;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.themes-nav-item:hover{
  transform: translateY(-1px);
  background: rgba(0,0,0,.30);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), 0 10px 30px rgba(0,0,0,.12);
}

.themes-nav-item.is-active{
  background: rgba(0,0,0,.55);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.16), 0 14px 40px rgba(0,0,0,.16);
}

.themes-nav-icon{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display:grid;
  place-items:center;
  background: rgba(255,255,255,.12);
}

.themes-nav-label{
  font-weight: 700;
  font-size: 12px;
}

.themes-nav-count{
  font-size: 11px;
  opacity: .8;
}

.themes-nav-chevron{
  margin-left:auto;
  opacity:.75;
}

/* preview droite scrollable */
.themes-layout--card .themes-preview{
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.10);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.10);
}

.themes-preview-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
}

.themes-preview-pill{
  display:flex;
  align-items:center;
  gap:8px;
  font-size: 11px;
  opacity: .9;
}

.themes-preview-count{
  font-size: 11px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.35);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.10);
}

.themes-preview-desc{
  font-size: 12px;
  opacity: .9;
  margin: 0;
}

/* posts area scroll */
.themes-preview-posts-wrapper{
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding-right: 6px;
}

.themes-preview-posts{ display:none; }
.themes-preview-posts.is-active{ display:block; }

.neo-theme-posts-grid{
  display: grid;
  gap: 10px;
}

.neo-theme-post-card{
  border-radius: 14px;
  background: rgba(255,255,255,.08);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}

.neo-theme-post-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 10px 12px;
  text-decoration:none;
  color: inherit;
}

.neo-theme-post-title{
  font-size: 12px;
  margin: 0;
  font-weight: 700;
}

/* ===== THEMES CARD (neo-section inside card) ===== */
.card-themes .themes-card{
  display:flex;
  flex-direction:column;
  gap:14px;
  height:100%;
  min-height:0;
}

.themes-card-head{
  padding:2px 2px 6px;
}

.themes-card-kicker{
  margin:0 0 6px;
  display:inline-flex;
  gap:8px;
  align-items:center;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.8;
}

.themes-card-title{
  margin:0 0 6px;
  font-size:18px;
  font-weight:800;
}

.themes-card-subtitle{
  margin:0;
  font-size:13px;
  opacity:.9;
}

/* layout interne : toujours “emboité” */
.card-themes .themes-layout{
  display:grid;
  grid-template-columns: minmax(240px, 0.95fr) minmax(280px, 1.2fr);
  gap:14px;
  align-items:stretch;
  min-height:0;
}

/* nav list */
.card-themes .themes-nav{
  min-height:0;
  overflow:auto;
  padding-right:4px;
}

/* preview */
.card-themes .themes-preview{
  min-height:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  gap:10px;
}

/* posts list scroll inside preview */
.card-themes .themes-preview-posts-wrapper{
  min-height:0;
  overflow:auto;
  padding-right:4px;
}

/* responsive inside card */
@media (max-width: 1100px){
  .card-themes .themes-layout{
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   THEMES CARD — PRO FUTURISTE (NAV HORIZONTALE)
   Compatible avec ton HTML + ton JS actuel
========================================================= */

.card-themes .themes-card{
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Layout global : nav en haut, preview dessous */
.card-themes .themes-layout{
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* -----------------------------
   NAV HORIZONTALE (scrollable)
------------------------------ */
.card-themes .themes-nav{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;

  overflow-x: auto;
  overflow-y: hidden;
  padding: 6px 6px 10px;

  border-radius: 16px;
  background: rgba(0,0,0,.08);
  border: 1px solid rgba(0,0,0,.08);

  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.card-themes .themes-nav::-webkit-scrollbar{ height: 10px; }
.card-themes .themes-nav::-webkit-scrollbar-track{
  background: rgba(255,255,255,.25);
  border-radius: 999px;
}
.card-themes .themes-nav::-webkit-scrollbar-thumb{
  background: rgba(0,0,0,.20);
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,.25);
}

/* Bouton pill futuriste */
.card-themes .themes-nav-item{
  flex: 0 0 auto;
  scroll-snap-align: start;

  display: inline-flex;
  align-items: center;
  gap: 10px;

  padding: 10px 14px;
  border-radius: 999px;

  border: 1px solid rgba(0,0,0,.10);
  background:
    radial-gradient(380px 160px at 20% 10%, rgba(255,214,0,.22), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.55));

  box-shadow:
    0 10px 22px rgba(0,0,0,.10),
    inset 0 1px 0 rgba(255,255,255,.65);

  cursor: pointer;
  transition: transform .14s ease, box-shadow .14s ease, background .14s ease, border-color .14s ease;
  white-space: nowrap;
}

.card-themes .themes-nav-item:hover{
  transform: translateY(-1px);
  box-shadow: 0 18px 36px rgba(0,0,0,.14);
  border-color: rgba(255,170,0,.35);
}

.card-themes .themes-nav-item.is-active{
  background:
    radial-gradient(520px 200px at 20% 10%, rgba(255,214,0,.28), transparent 60%),
    linear-gradient(180deg, rgba(255,214,90,.92), rgba(255,190,40,.62));
  border-color: rgba(255,170,0,.55);
}

.card-themes .themes-nav-icon{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: grid;
  place-items: center;

  background: rgba(0,0,0,.06);
  border: 1px solid rgba(0,0,0,.10);
}

.card-themes .themes-nav-text{
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1.05;
}

.card-themes .themes-nav-label{
  font-weight: 900;
  font-size: 12px;
  color: #111;
}

.card-themes .themes-nav-count{
  font-size: 11px;
  color: rgba(0,0,0);
}

.card-themes .themes-nav-chevron{
  display: none; /* on cache le chevron en mode horizontal */
}

/* -----------------------------
   PREVIEW (zone futuriste)
------------------------------ */
.card-themes .themes-preview{
  flex: 1 1 auto;
  min-height: 0;

  border-radius: 18px;
  padding: 14px;

  background:
    radial-gradient(700px 240px at 15% 10%, rgba(255,214,0,.20), transparent 60%),
    radial-gradient(520px 220px at 95% 10%, rgba(0,220,255,.10), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,.35));
  border: 1px solid rgba(0,0,0,.10);
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow: hidden;
}

.card-themes .themes-preview-pill{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 800;
  color: #000;
}

.card-themes .themes-preview-pill .pill-dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 30%, #fff6b0 0%, #ffd000 45%, #ff8a00 100%);
  box-shadow: 0 0 0 4px rgba(255,180,0,.15), 0 0 18px rgba(255,160,0,.30);
}

.card-themes .themes-preview-count{
  width: fit-content;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.06);
  border: 1px solid rgba(0,0,0,.08);
  font-weight: 900;
  font-size: 12px;
  color: #000;
}

.card-themes .themes-preview-desc{
  margin: 0;
  color: #000;
  line-height: 1.45;

  /* clamp pro */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* bouton */
.card-themes .themes-preview-meta{
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Posts wrapper scroll interne */
.card-themes .themes-preview-posts-wrapper{
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding-right: 6px;
}

.card-themes .themes-preview-posts-wrapper::-webkit-scrollbar{ width: 10px; }
.card-themes .themes-preview-posts-wrapper::-webkit-scrollbar-thumb{
  background: rgba(0,0,0,.20);
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,.35);
}

.card-themes .neo-theme-panel-kicker{
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(0,0,0);
}

/* grille de posts */
.card-themes .neo-theme-posts-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
}

@media (max-width: 1100px){
  .card-themes .neo-theme-posts-grid{
    grid-template-columns: 1fr;
  }
}

.card-themes .neo-theme-post-card{
  border-radius: 16px;
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(0,0,0,.10);
  overflow: hidden;
}

.card-themes .neo-theme-post-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  padding: 12px 12px;
  text-decoration:none;
  color: inherit;
}

.card-themes .neo-theme-post-main{
  display:flex;
  align-items:center;
  gap: 10px;
  min-width: 0;
}

.card-themes .neo-theme-post-icon-wrap{
  width: 36px;
  height: 36px;
  border-radius: 14px;
  display:grid;
  place-items:center;
  background: rgba(0,0,0,.06);
  border: 1px solid rgba(0,0,0,.10);
}

.card-themes .neo-theme-post-title{
  margin: 0;
  font-size: 13px;
  font-weight: 650;
  color:#111;

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.card-themes .neo-theme-post-meta{
  font-size: 12px;
  color: rgba(0,0,0);
}

.card-themes .neo-theme-post-chevron{
  opacity: .65;
}

.card-themes .neo-theme-post-card:hover{
  background: rgba(255,214,90,.70);
  border-color: rgba(255,170,0,.40);
  transform: translateY(-1px);
}
/* =========================================================
   THEMES NAV = 3 colonnes / 2 lignes (grid)
   + Preview : haut plus grand / bas (posts) plus compact
   + Post cards plus basses
========================================================= */

/* 1) NAV en grille 3x2 */
.card-themes .themes-nav{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;

  /* enlève le scroll horizontal du mode pill */
  overflow: visible !important;
  padding: 10px !important;

  border-radius: 16px;
  background: rgba(0,0,0,.08);
  border: 1px solid rgba(0,0,0,.08);
}

/* responsive : tablette => 2 colonnes, mobile => 1 */
@media (max-width: 1100px){
  .card-themes .themes-nav{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 700px){
  .card-themes .themes-nav{
    grid-template-columns: 1fr !important;
  }
}

/* bouton nav plus compact, hauteur stable */
.card-themes .themes-nav-item{
  width: 100%;
  padding: 10px 12px !important;
  border-radius: 16px !important;
  min-height: 58px;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;

  background:
    radial-gradient(380px 160px at 20% 10%, rgba(255,214,0,.18), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.80), rgba(255,255,255,.58)) !important;

  border: 1px solid rgba(0,0,0,.10) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.10), inset 0 1px 0 rgba(255,255,255,.65);
}

/* actives + hover */
.card-themes .themes-nav-item.is-active,
.card-themes .themes-nav-item:hover{
  background:
    radial-gradient(520px 200px at 20% 10%, rgba(255,214,0,.24), transparent 60%),
    linear-gradient(180deg, rgba(255,214,90,.92), rgba(255,190,40,.62)) !important;
  border-color: rgba(255,170,0,.55) !important;
}

/* chevron inutile ici */
.card-themes .themes-nav-chevron{ display:none !important; }

/* icon plus petit */
.card-themes .themes-nav-icon{
  width: 34px !important;
  height: 34px !important;
  border-radius: 14px !important;
}

/* textes : 1 ligne label + 1 ligne count */
.card-themes .themes-nav-label{
  font-size: 13px !important;
  font-weight: 900 !important;
}
.card-themes .themes-nav-count{
  font-size: 11px !important;
}

/* 2) PREVIEW : haut plus haut, bas plus petit */
.card-themes .themes-preview{
  padding: 14px 14px 10px !important;
  gap: 8px !important;
}

/* description un peu plus courte (évite que ça mange le bas) */
.card-themes .themes-preview-desc{
  -webkit-line-clamp: 2 !important;
}

/* 3) POSTS : on diminue la zone du bas */
.card-themes .themes-preview-posts-wrapper{
  /* réduit la place max dédiée aux posts */
  max-height: 210px;
  overflow: auto;
  padding-right: 6px;
}

/* 4) Cartes des posts : plus basses */
.card-themes .neo-theme-post-card{
  border-radius: 14px !important;
}

.card-themes .neo-theme-post-link{
  padding: 8px 10px !important; /* réduit hauteur */
}

/* titre post : compact */
.card-themes .neo-theme-post-title{
  font-size: 12px !important;
  margin: 0 !important;
}

/* meta : compact */
.card-themes .neo-theme-post-meta{
  font-size: 11px !important;
}

/* icone post : un peu plus petite */
.card-themes .neo-theme-post-icon-wrap{
  width: 32px !important;
  height: 32px !important;
  border-radius: 12px !important;
}

/* =========================================================
   THEMES CARD — FIX PRO (anti overflow / grid propre)
========================================================= */

/* Le conteneur de la card doit pouvoir contraindre ses enfants */
.card-themes .themes-card,
.card-themes .themes-layout,
.card-themes .themes-preview{
  min-height: 0 !important;
}

/* Layout : NAV en haut (fixe) + PREVIEW en dessous (flex) */
.card-themes .themes-layout{
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: auto 1fr !important;
  gap: 12px !important;
  height: 100% !important;
  overflow: hidden !important; /* ✅ empêche le débordement global */
}

/* NAV = grille 3 colonnes, hauteur fixe, jamais plus */
.card-themes .themes-nav{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;

  padding: 10px !important;
  border-radius: 16px !important;

  background: rgba(0,0,0,.06) !important;
  border: 1px solid rgba(0,0,0,.08) !important;

  /* ✅ IMPORTANT : on bloque la hauteur */
  height: auto !important;
  max-height: 150px !important;   /* ajuste si tu veux plus grand */
  overflow: hidden !important;    /* ✅ plus de scroll / débordement */
}

/* Responsive nav */
@media (max-width: 1100px){
  .card-themes .themes-nav{ grid-template-columns: repeat(2, minmax(0,1fr)) !important; max-height: 200px !important; }
}
@media (max-width: 700px){
  .card-themes .themes-nav{ grid-template-columns: 1fr !important; max-height: none !important; overflow: visible !important; }
}

/* Boutons nav : compacts, pro */
.card-themes .themes-nav-item{
  margin: 0 !important;
  width: 100% !important;

  min-height: 49px !important;
  padding: 0px 12px !important;
  border-radius: 16px !important;

  display: flex !important;
  align-items: center !important;
  gap: 10px !important;

  background: linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.62)) !important;
  border: 1px solid rgba(0,0,0,.10) !important;

  box-shadow: 0 8px 18px rgba(0,0,0,.08), inset 0 1px 0 rgba(255,255,255,.55);
}

/* hover/active */
.card-themes .themes-nav-item:hover,
.card-themes .themes-nav-item.is-active{
  background: linear-gradient(180deg, rgba(255,214,90,.92), rgba(255,190,40,.62)) !important;
  border-color: rgba(255,170,0,.55) !important;
}
/* =========================================================
   CARD THEMES — FINAL (dernière MAJ)
   - Nav en grille (chevron caché)
   - Preview: pill + count a droite
   - Bouton "Voir tous" en bas sous la grid
========================================================= */

/* Chevron inutile */
.card-themes .themes-nav-chevron{
  display: none !important;
}

/* Preview = conteneur */
.card-themes .themes-preview{
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  padding: 12px !important;

  border-radius: 16px !important;
  background: rgba(255,255,255,.16) !important;
  border: 1px solid rgba(0,0,0,.06) !important;

  min-height: 0 !important;
}

/* Header preview */
.card-themes .themes-preview-top{
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
}

/* Pill: texte + compteur a droite */
.card-themes .themes-preview-pill{
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
}

/* compteur dans la pill */
.card-themes .themes-preview-pill-count.themesPreviewCount{
  margin-left: auto !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;

  background: rgba(0,0,0,.06) !important;
  border: 1px solid rgba(0,0,0,.10) !important;

  font-weight: 900 !important;
  font-size: 12px !important;
  color: #000; !important;

  white-space: nowrap !important;
  flex: 0 0 auto !important;
}

/* description */
.card-themes .themesPreviewDesc{
  margin: 0 !important;
  line-height: 1.45 !important;
  color: #000; !important;

  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Zone posts (bas) plus compacte */
.card-themes .themes-preview-posts-wrapper{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: auto !important;
  max-height: 190px !important;
  padding-right: 6px !important;
}

/* Cards posts plus basses */
.card-themes .neo-theme-post-link{
  padding: 7px 10px !important;
}
.card-themes .neo-theme-post-title{
  font-size: 15px !important;
  margin: 0 !important;
  text-transform: none;
}
.card-themes .neo-theme-post-meta{
  font-size: 11px !important;
}

/* Bouton "Voir tous" en bas */
.card-themes .themes-preview-footer{
  margin-top: 10px !important;
  display: flex !important;
  justify-content: flex-end !important;
}
.card-themes .themes-preview-footer .themesPreviewLink{
  white-space: nowrap !important;
  flex: 0 0 auto !important;
}

/* Mobile: bouton full width */
@media (max-width: 520px){
  .card-themes .themes-preview-footer{
    justify-content: stretch !important;
  }
  .card-themes .themes-preview-footer .themesPreviewLink{
    width: 100% !important;
    text-align: center !important;
  }
}

/* Titres : PAS de ... / PAS de coupe => wrap naturel */
.card-themes .neo-theme-post-title{
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;

  display: block !important;
  max-width: 100% !important;

  /* wrap intelligent */
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
  line-height: 1.25;
}

/* Indispensable pour que le texte puisse rétrécir en flex sans être tronqué */
.card-themes .neo-theme-post-main,
.card-themes .neo-theme-post-texts{
  min-width: 0 !important;
}

/* Les cards doivent pouvoir grandir en hauteur */
.card-themes .neo-theme-post-card{
  height: auto !important;
}

.card-themes .neo-theme-post-link{
  align-items: flex-start !important; /* pour que le titre multi-ligne soit propre */
}


/* =========================================================
   THEMES – cartes "Lire l’article" uniformes
   - hauteur fixe 56px
   - icône taille fixe
   - texte + "Lire l’article" alignés
========================================================= */

/* Chaque carte = hauteur fixe */
.card-themes .neo-theme-post-card{
  height: 56px !important;
}

/* Le lien remplit la carte */
.card-themes .neo-theme-post-link{
  height: 56px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 8px 10px !important;
  box-sizing: border-box !important;
}

/* Zone principale (icône + textes) */
.card-themes .neo-theme-post-main{
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important; /* permet au titre de wrap sans déformer */
  flex: 1 1 auto !important;
}

/* Icône = bloc fixe */
.card-themes .neo-theme-post-icon-wrap{
  width: 28px !important;
  height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 10px !important;
  flex: 0 0 28px !important;
}

/* Icône taille fixe */
.card-themes .neo-theme-post-icon{
  font-size: 14px !important;
  line-height: 1 !important;
}

/* Textes */
.card-themes .neo-theme-post-texts{
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

/* Titre : max 2 lignes sans déformer la hauteur */
.card-themes .neo-theme-post-title{
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 1.15 !important;

  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* "Lire l’article" en bas à droite */
.card-themes .neo-theme-post-meta{
  font-size: 11px !important;
  opacity: .75;
  margin-top: 2px !important;
}

/* Chevron à droite : aligné bas */
.card-themes .neo-theme-post-chevron{
  display: flex !important;
  align-items: flex-end !important;
  justify-content: flex-end !important;
  height: 100% !important;
  flex: 0 0 auto !important;
  padding-left: 8px !important;
}

/* =========================================================
   THEMES NAV ICON — LED futuriste (centré parfait)
========================================================= */

/* Le conteneur icône = carré fixe + centrage */
.card-themes .themes-nav-icon{
  width: 34px !important;
  height: 34px !important;
  flex: 0 0 34px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 12px !important;
  position: relative !important;

  /* base glass */
  background: rgba(255,255,255,.18) !important;
  border: 1px solid rgba(0,0,0,.10) !important;

  /* halo LED */
  box-shadow:
    0 0 0 1px rgba(255,255,255,.12) inset,
    0 10px 24px rgba(0,0,0,.10),
    0 0 18px rgba(255,210,60,.35) !important;
}

/* L'icône elle-même = centrée + plus visible */
.card-themes .themes-nav-icon i{
  display: inline-block !important;
  line-height: 1 !important;
  font-size: 16px !important;
  transform: translateY(0) !important;
  color: rgba(30,30,30,.92) !important;

  /* glow */
  text-shadow:
    0 0 6px rgba(255,210,60,.55),
    0 0 14px rgba(255,210,60,.30) !important;
}

/* Petit "point LED" en haut à gauche */
.card-themes .themes-nav-icon::before{
  content: "";
  position: absolute;
  top: 6px;
  left: 7px;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(255,230,120,.95);
  box-shadow:
    0 0 6px rgba(255,210,60,.85),
    0 0 14px rgba(255,210,60,.45);
  opacity: .9;
}

/* État actif : LED plus forte */
.card-themes .themes-nav-item.is-active .themes-nav-icon{
  background: rgba(255,210,60,.22) !important;
  border-color: rgba(0,0,0,.14) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.18) inset,
    0 10px 26px rgba(0,0,0,.14),
    0 0 22px rgba(255,210,60,.55) !important;
}

.card-themes .themes-nav-item.is-active .themes-nav-icon i{
  text-shadow:
    0 0 7px rgba(255,210,60,.75),
    0 0 18px rgba(255,210,60,.45) !important;
}

/* Pour être sûr que le bouton aligne bien son contenu */
.card-themes .themes-nav-item{
  align-items: center !important;
}

/* =========================================================
   HOME FX — futuriste, pro, moderne (Reactions / Presse / Contact)
========================================================= */

.home-section, .card-reactions, .card-presse, .card-contact{ position: relative; }

/* Headline */

.card .fx-badge{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 10px; border-radius:999px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 0 0 1px rgba(255,255,255,.12) inset;
  font-weight: 900;
  font-size: 14px;
}
.card .fx-sub{
  margin:8px 0 0;
  color: rgba(0,0,0);
  line-height: 1.35;
  font-size: 13px;
}

/* Grid générique */
.card .fx-grid{ display:grid; gap:10px; }
.card .fx-grid--presse{ grid-template-columns: 1fr; }

/* Items (presse) */
.card .fx-item{
  border-radius: 14px;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(0,0,0,.08);
}
.card .fx-link{
  display:flex; align-items:center; gap:10px;
  padding:10px 10px;
  text-decoration:none;
}
.card .fx-ico{
  width:34px; height:34px; flex:0 0 34px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:12px;
  background: rgba(255,255,255,.18);
  border: 1px solid rgba(0,0,0,.10);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.12) inset,
    0 0 18px rgba(255,210,60,.25);
}
.card .fx-ico i{
  font-size:16px;
  text-shadow: 0 0 10px rgba(255,210,60,.35);
}
.card .fx-text{ min-width:0; flex:1 1 auto; }
.card .fx-title{
  display:block;
  font-weight: 650;
  font-size: 14px;
  color: rgba(0,0,0);
  line-height: 1.2;
}
.card .fx-desc{
  display:block;
  margin-top:2px;
  font-size: 11px;
  color: rgba(0,0,0);
  line-height: 1.25;
}
.card .fx-cta{
  flex:0 0 auto;
  font-weight: 900;
  font-size: 11px;
  color: #000;
  white-space: nowrap;
}

/* Quotes (reactions) */
.card .fx-quote{
  border-radius: 16px;
  padding: 10px 10px;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 26px rgba(0,0,0,.08);
}
.card .fx-quote-top{
  display:flex; align-items:center; gap:10px;
  margin-bottom: 6px;
}
.card .fx-meta{
  margin-top: 6px;
  font-size: 11px;
  color: rgba(0,0,0);
}

/* Contact panel */
.card .fx-panel{
  border-radius: 16px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 26px rgba(0,0,0,.08);
  padding: 12px;
}
.card .fx-panel-top{
  display:flex; align-items:center; gap:8px; flex-wrap: wrap;
  margin-bottom: 10px;
}
.card .fx-pill{
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 10px; border-radius:999px;
  background: rgba(0,0,0,.06);
  border: 1px solid rgba(0,0,0,.08);
  font-weight: 900;
  font-size: 11px;
}
.card .fx-pill--soft{
  background: rgba(255,255,255,.16);
}
.card .fx-row{
  display:flex; justify-content:space-between; gap:10px;
  padding: 8px 0;
  border-top: 1px dashed rgba(0,0,0,.10);
}
.card .fx-row:first-child{ border-top: 0; }
.card .fx-k{
  font-size: 11px;
  color: rgba(0,0,0);
  font-weight: 900;
}
.card .fx-v{
  font-size: 11px;
  color: #000;
  font-weight: 800;
  text-align: right;
}
.card .fx-panel-actions{
  margin-top: 10px;
  display:flex;
  gap:10px;
  flex-wrap: wrap;
}

/* Footer */
.card .fx-footer{
  margin-top: 10px;
  display:flex;
  justify-content: flex-end;
}
/* =========================================================
   FX ICO => THUMB (Presse / Cards)
========================================================= */

.fx-ico.fx-ico--thumb{
  width: 38px;
  height: 38px;
  flex: 0 0 38px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 14px; /* ou 999px si tu veux rond */
  overflow: hidden;

  background: rgba(255,255,255,.16);
  border: 1px solid rgba(0,0,0,.10);

  box-shadow:
    0 0 0 1px rgba(255,255,255,.10) inset,
    0 10px 22px rgba(0,0,0,.12),
    0 0 18px rgba(255,210,60,.25);
}

.fx-ico.fx-ico--thumb{
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  overflow: hidden;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(0,0,0,.10);
}

.fx-ico.fx-ico--thumb img.fx-thumb-img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ================================
   CARD PRESSE — Scroll pro
================================ */
.card-presse .card-b{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:0;
}

/* zone scroll interne */
.card-presse .fx-scroll{
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding-right: 6px;
  border-radius: 14px;
}

/* scrollbar soft */
.card-presse .fx-scroll::-webkit-scrollbar{ width: 8px; }
.card-presse .fx-scroll::-webkit-scrollbar-thumb{
  background: rgba(0,0,0,.14);
  border-radius: 999px;
}
.card-presse .fx-scroll::-webkit-scrollbar-track{
  background: rgba(255,255,255,.16);
  border-radius: 999px;
}

/* grid en colonne */
.card-presse .fx-grid--presse{
  display:flex;
  flex-direction:column;
  gap:10px;
}

/* item row pro */
.card-presse .fx-item--presse .fx-link{
  display:flex;
  align-items:center;
  gap:12px;

  padding:10px 12px;
  border-radius: 14px;



  text-decoration:none;
  color: inherit;

  transition: transform .12s ease, background .12s ease, border-color .12s ease;
}
.card-presse .fx-item--presse .fx-link:hover{
  transform: translateY(-1px);
  background: linear-gradient(180deg, rgba(255,214,90,.92), rgba(255,190,40,.62)) !important;
  border-color: rgba(255,170,0,.55) !important;
}

/* thumb fixe */
.card-presse .fx-ico.fx-ico--thumb{
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 6px;
  overflow:hidden;
  position:relative;

  background: rgba(0,0,0,.06);
  border: 1px solid rgba(0,0,0,.10);
}
.card-presse .fx-ico.fx-ico--thumb img.fx-thumb-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* badge type overlay */
.card-presse .fx-ico .fx-type{
  position:absolute;
  right:6px;
  bottom:6px;
  width:18px;
  height:18px;
  border-radius: 999px;
  display:grid;
  place-items:center;

  background: rgba(0,0,0,.55);
  color:#fff;
  border: 1px solid rgba(255,255,255,.35);

  font-size: 11px;
  visibility: hidden;
}

/* textes clamp */
.card-presse .fx-text{
  flex: 1 1 auto;
  min-width: 0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.card-presse .fx-title{
  font-weight: 700;
  font-size: 15px;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.card-presse .fx-desc{
  font-size: 12px;
  color: #000;
  line-height: 1.25;

  display:-webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow:hidden;
}

/* CTA aligné à droite */
.card-presse .fx-cta{
  flex: 0 0 auto;
  white-space: nowrap;
  font-weight: 900;
  font-size: 12px;
  color: #000;
  opacity: .9;
}

/* footer collé en bas */
.card-presse .fx-footer{
  display:flex;
  justify-content:flex-end;
  padding-top: 2px;
}


/* =========================================================
   PRESSE — items plus serrés + hover LED (comme "Journée type")
========================================================= */

/* 1) Réduire l'espace vertical entre les items */
.card-presse .fx-grid--presse{
  gap: 6px !important;              /* avant: 10px */
}

/* Optionnel: réduire aussi l'épaisseur visuelle globale */
.card-presse .fx-item--presse .fx-link{
  padding: 8px 10px !important;     /* avant: 10px 12px */
  border-radius: 14px !important;
}

/* 2) Hover LED (glow + fond) */
.card-presse .fx-item--presse .fx-link{
  position: relative !important;
  overflow: hidden !important;
  transition: transform .12s ease, background .12s ease, border-color .12s ease, box-shadow .12s ease !important;
  background: rgba(255, 255, 255, 0.61) !important;  
}

/* halo LED (pseudo-element) */
.card-presse .fx-item--presse .fx-link::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius: inherit;
  opacity: 0;
  pointer-events:none;
  transition: opacity .15s ease;
}

/* hover: effet LED */
.card-presse .fx-item--presse .fx-link:hover{
  transform: translateY(-1px) !important;

}

.card-presse .fx-item--presse .fx-link:hover::before{
  opacity: 1;
}

/* bonus: CTA "Lire" devient plus visible en hover */
.card-presse .fx-item--presse .fx-link:hover .fx-cta{
  color: rgba(0,0,0) !important;
}

/* bonus: thumb un poil plus "led" en hover */
.card-presse .fx-item--presse .fx-link:hover .fx-ico.fx-ico--thumb{
  box-shadow: 0 0 0 1px rgba(255,170,0,.18), 0 0 16px rgba(255,185,0,.22) !important;
  border-color: rgba(255,170,0,.25) !important;
}

/* =========================================================
   CARD REACTIONS — Futuriste / LED / pro
========================================================= */

.card-reactions .card-b.fx-reactions{
  position: relative !important;
  overflow: hidden !important;
  border-radius: 16px !important;
  padding: 12px !important;
}

/* fond motif futuriste */
.card-reactions .fx-reactions-bg{
  position:absolute;
  inset:-2px;
  pointer-events:none;
  z-index:0;

  /* double couche: glow + grille */
  background:
    radial-gradient(700px 220px at 20% 0%, rgba(255,190,40,.22), transparent 60%),
    radial-gradient(520px 220px at 85% 10%, rgba(120,255,220,.10), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,0));

  /* motif grille */
  mask-image: linear-gradient(180deg, rgba(0,0,0,.9), rgba(0,0,0,.55), rgba(0,0,0,.25));
  opacity: .95;
}

.card-reactions .fx-reactions-bg::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(
      90deg,
      rgba(0,0,0,.08) 0px,
      rgba(0,0,0,.08) 1px,
      transparent 1px,
      transparent 22px
    ),
    repeating-linear-gradient(
      0deg,
      rgba(0,0,0,.06) 0px,
      rgba(0,0,0,.06) 1px,
      transparent 1px,
      transparent 22px
    );
  opacity:.25;
}

.card-reactions .fx-headline,
.card-reactions .reactions-source,
.card-reactions .reactions-grid,
.card-reactions .fx-footer{
  position: relative;
  z-index: 1;
}

/* grille témoignages */
.card-reactions .reactions-grid{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 10px !important;
}

@media (max-width: 520px){
  .card-reactions .reactions-grid{
    grid-template-columns: 1fr !important;
  }
}

/* cards témoignage */
.card-reactions .rx-card{
  border-radius: 14px !important;
  padding: 10px 10px !important;
  border: 1px solid rgba(0,0,0,.08) !important;

  background: rgba(255, 255, 255, 0.61) !important;


  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.card-reactions .rx-card:hover{
  transform: translateY(-1px);
  border-color: rgba(255,190,40,.45) !important;
  box-shadow:
    0 0 0 2px rgba(255,190,40,.18),
    0 12px 30px rgba(0,0,0,.10);
  background: rgba(255,255,255,.22) !important;
}

.card-reactions .rx-top{
  display:flex;
  align-items:center;
  gap: 10px;
  margin-bottom: 6px;
}

.card-reactions .rx-ico{
  width: 26px;
  height: 26px;
  border-radius: 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 26px;

  background: rgba(255,190,40,.16);
  border: 1px solid rgba(255,190,40,.22);
  box-shadow: 0 0 18px rgba(255,190,40,.12);
}

.card-reactions .rx-title{
  font-weight: 900;
  font-size: 13px;
  color: #000;
  line-height: 1.25;
}

.card-reactions .rx-text{
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  color: #000;

  display: -webkit-box;
  -webkit-line-clamp: 4; /* compact dashboard */
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.card-reactions .rx-meta{
  margin-top: 8px;
  font-size: 11px;
  color: rgba(0,0,0);
  font-weight: 600;
}

/* footer bouton */
.card-reactions .fx-footer{
  margin-top: 10px !important;
  display:flex !important;
  justify-content:flex-end !important;
}

.card-reactions .rx-card{
  border:1px solid rgba(0,0,0,.10);
  border-radius:14px;
  padding:10px;
  background: rgba(255,255,255,.16);
}
.card-reactions .rx-top{display:flex; gap:10px; align-items:center; margin-bottom:6px;}
.card-reactions .rx-ico{width:26px;height:26px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(255,190,40,.16);border:1px solid rgba(255,190,40,.22);}
.card-reactions .rx-title{font-weight:900;font-size:13px;}
.card-reactions .rx-text{margin:0;font-size:16px;line-height:1.45;}
.card-reactions .rx-meta{margin-top:8px;font-size:11px;opacity:.75;font-weight:600;}


/* Reactions : scroll pro si beaucoup de témoignages */
.card-reactions .reactions-grid{
  max-height: 360px;      /* ajuste */
  overflow: auto;
  padding-right: 6px;
}

/* =========================================================
   CONTACT CARD — futuriste / full height / pro
========================================================= */

.card-contact .contact-card-body{
  display: flex;
  flex-direction: column;
  gap: 12px;
  height: 100%;
}

/* Le panel prend toute la place de la card */
.card-contact .contact-panel--full{
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;

  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.14);

}

/* Glow LED léger */
.card-contact .contact-glow{
  position: absolute;
  inset: -60px;
  background: radial-gradient(circle at 20% 20%, rgba(175, 255, 0, 0.05), transparent 55%), radial-gradient(circle at 80% 35%, rgba(120,90,255,.18), transparent 55%), radial-gradient(circle at 50% 90%, rgba(255,255,255,.10), transparent 60%);  pointer-events: none;
  filter: blur(14px);
  opacity: .85;
}

/* top pills */
.card-contact .contact-panel-top{
  position: relative;
  z-index: 1;
}

/* Corps */
.card-contact .contact-panel-body{
  position: relative;
  z-index: 1;
  display: grid;
  gap: 12px;
}

/* Bloc preview */
.card-contact .contact-preview{
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 12px;
  padding: 12px;
  border-radius: 16px;

  border: 1px solid rgba(0,0,0,.10);
  background: rgba(255, 255, 255, 0.61) !important;
}

/* Icone ronde, centrée, style LED */
.card-contact .contact-preview-ico{
  width: 56px;
  height: 56px;
  border-radius: 16px;

  display: grid;
  place-items: center;

  border: 1px solid rgba(0,0,0,.10);
  background:
    radial-gradient(circle at 30% 30%, rgba(0,255,198,.35), transparent 60%),
    rgba(255,255,255,.10);

  box-shadow:
    0 0 0 1px rgba(255,255,255,.10) inset,
    0 10px 30px rgba(0,0,0,.12);
}

.card-contact .contact-preview-ico i{
  font-size: 22px;
}

/* Texts */
.card-contact .contact-preview-title{
  font-weight: 900;
  letter-spacing: .2px;
  margin-bottom: 6px;
}

.card-contact .contact-preview-line{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 6px 0;
  border-top: 1px dashed rgba(0,0,0,.10);
}

.card-contact .contact-preview-line:first-of-type{
  border-top: 0;
}

.card-contact .contact-preview-line .fx-k{
  opacity: .75;
  font-weight: 800;
  font-size: 12px;
}

.card-contact .contact-preview-line .fx-v{
  font-weight: 800;
  font-size: 12px;
  text-align: right;
  opacity: .9;
}

/* Checklist */
.card-contact .contact-checklist{
  list-style: none;
  margin: 0;
  padding: 0 4px;
  display: grid;
  gap: 8px;
}

.card-contact .contact-checklist li{
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(255,255,255,.10);
}

.card-contact .contact-checklist i{
  font-size: 16px;
  opacity: .9;
}

/* Actions collées en bas */
.card-contact .contact-panel-actions{
  position: relative;
  z-index: 1;
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid rgba(0,0,0,.08);
}

/* Hover LED clean */
.card-contact .contact-panel--full:hover{

}

/* Responsive */
@media (max-width: 520px){
  .card-contact .contact-preview{
    grid-template-columns: 1fr;
  }
  .card-contact .contact-preview-ico{
    width: 52px;
    height: 52px;
  }
}


.preview-excerpt--clamp4{
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* === HERO PREVIEW: tag + meta sur une seule ligne === */
.hero-article-preview .preview-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0; /* important pour ellipsis */
}

/* Réduit la largeur du #hero-panel-title */
.hero-article-preview #hero-panel-title{
  flex:0 1 210px;           /* <= ajuste ici (ex 180/220) */
  max-width:210px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  margin:0 !important;      /* annule mb-1 si présent */
}

/* Meta à droite, compact */
.hero-article-preview .preview-meta{
  flex:1 1 auto;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:8px;
  min-width:0;
}

/* Pills un peu plus compactes pour gagner encore */
.hero-article-preview .preview-pill{
  padding:4px 10px;
  font-size:12px;
  line-height:1;
  border-radius:999px;
}

/* Mobile: repasse en 2 lignes proprement */
@media (max-width: 520px){
  .hero-article-preview .preview-topline{
    flex-wrap:wrap;
  }
  .hero-article-preview #hero-panel-title{
    flex:1 1 auto;
    max-width:100%;
  }
  .hero-article-preview .preview-meta{
    justify-content:flex-start;
  }
}

.hubSortToggle{
  padding:0 6px;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;

  color: #000;
  width: 34px !important;
  height: 34px !important;
  flex: 0 0 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.18) !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,.12) inset, 0 10px 24px rgba(0,0,0,.10), 0 0 18px rgba(255,210,60,.35) !important;
}
.hubSortToggle:hover{ opacity:1;   background: #000 !important;}


/* Exemple : uniquement Témoignages */
.card-testimonials,
.card-testimonials * {
  filter: none !important;
}

.card-testimonials::before,
.card-testimonials::after {
  backdrop-filter: none !important;
  filter: none !important;
}

/* évite le rendu flou sur certains zooms */
.card-testimonials {
  transform: translateZ(0); /* ou none si tu as déjà transform */
  -webkit-font-smoothing: antialiased;
}

/* Debug / Fix net : Presse */
.card-presse,
.card-presse *{
  filter: none !important;
  backdrop-filter: none !important;
}

.card-presse{
  transform: none !important;
  -webkit-transform: none !important;
}


.hero-auto-progress{
  height: 6px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(0,0,0,.15);
}
.hero-auto-progress > span{
  display:block;
  height:100%;
  width:0%;
  background: linear-gradient(90deg,#ffd54a,#ff9900);
}