/* ==========================================================================
   LaRevueD'Geek — Refonte
   Fichier unique, chargé après Elementor (voir inc/lrdg-refonte.php).
   Étape 0 : tokens + polices.  Étape 1 : layout (sidebar / topbar / footer).
   ========================================================================== */

/* --------------------------------------------------------------------------
   Polices auto-hébergées (sous-ensemble latin, woff2, font-display:swap)
   Manrope et Space Grotesk sont des polices variables (1 fichier = toutes les graisses).
   -------------------------------------------------------------------------- */
@font-face{
  font-family:'Space Grotesk';
  font-style:normal;
  font-weight:300 700;
  font-display:swap;
  src:url('../fonts/space-grotesk.woff2') format('woff2');
}
@font-face{
  font-family:'Manrope';
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url('../fonts/manrope.woff2') format('woff2');
}
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('../fonts/ibm-plex-mono-400.woff2') format('woff2');
}
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('../fonts/ibm-plex-mono-500.woff2') format('woff2');
}

/* --------------------------------------------------------------------------
   Design tokens — NE PAS MODIFIER les couleurs de marque
   -------------------------------------------------------------------------- */
:root{
  /* couleurs de marque */
  --lrdg-purple:      #9457B5;
  --lrdg-purple-deep: #6E3A8C;
  --lrdg-yellow:      #F5E663;
  --lrdg-white:       #FFFFFF;

  /* thème clair */
  --bg:#EFEDF2; --surface:#FFFFFF; --surface2:#F7F5FA;
  --ink:#15111C; --ink2:#3C3448; --muted:#736B80; --line:#E1DCE9;
  --shadow:0 1px 2px rgba(21,17,28,.05), 0 12px 32px -18px rgba(21,17,28,.28);

  /* dégradé Premium (réservé aux blocs Premium) */
  --grad-premium:linear-gradient(135deg, var(--lrdg-purple) 0%, var(--lrdg-purple-deep) 100%);

  /* rayons */
  --r-card:17px; --r-lg:22px; --r-sm:11px;

  /* typographie */
  --font-title:'Space Grotesk', 'Segoe UI', system-ui, sans-serif;
  --font-body:'Manrope', 'Segoe UI', system-ui, sans-serif;
  --font-mono:'IBM Plex Mono', ui-monospace, 'Cascadia Mono', Menlo, Consolas, monospace;

  /* échelle typographique (maquette) */
  --fs-h1-article:44px;
  --fs-h1-rubrique:42px;
  --fs-h1-hero:35px;
  --fs-h2:25px;
  --fs-card-title:15px;
  --fs-body:17px;
  --fs-meta:12px;
  --lh-body:1.75;

  /* espacements (repris de l'existant, harmonisation progressive) */
  --lrdg-space-3xs:4px; --lrdg-space-2xs:8px; --lrdg-space-xs:12px;
  --lrdg-space-sm:16px; --lrdg-space-md:24px; --lrdg-space-lg:32px; --lrdg-space-xl:48px;

  /* layout sidebar */
  --sidebar-w:252px;
  --sidebar-w-collapsed:82px;
}

[data-theme="dark"]{
  --bg:#120E18; --surface:#1B1523; --surface2:#221B2C;
  --ink:#F6F3F9; --ink2:#DAD2E4; --muted:#9C93A9; --line:#2E2639;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 18px 40px -22px rgba(0,0,0,.8);
}


/* ==========================================================================
   ÉTAPE 1 — Layout : sidebar persistante + topbar + footer
   ========================================================================== */

/* base ------------------------------------------------------------------ */
/* garde-fou anti-scroll horizontal : sur mobile, le tiroir de la sidebar
   (position:fixed + transform, voir .lrdg-sidebar__inner) reste hors-écran
   à gauche mais peut quand même élargir la zone défilable du viewport sur
   iOS Safari — on la coupe ici pour empêcher la page de « glisser » latéralement. */
html{ overflow-x:hidden; }
body.lrdg{
  margin:0;
  overflow-x:hidden;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
body.lrdg h1, body.lrdg h2, body.lrdg h3, body.lrdg h4{
  font-family:var(--font-title);
  letter-spacing:-.02em;
  text-wrap:pretty;
}
.lrdg-kicker,
.lrdg-nav__title,
.lrdg-brand__tag,
.lrdg-breadcrumb,
.lrdg-pill,
.lrdg-usercard__status,
.lrdg-footer__tag{
  font-family:var(--font-mono);
  letter-spacing:.1em;
  text-transform:uppercase;
}

/* shell --------------------------------------------------------------- */
.lrdg-app{
  display:flex;
  align-items:flex-start;
  min-height:100vh;
}
.lrdg-shell{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  min-height:100vh;
}
.lrdg-main{ flex:1 0 auto; }

/* Corrections CSS hérité / mode sombre ------------------------------------
   Elementor pose `#content{ background:#e9e9e9 }` (spécificité ID) et le CSS
   additionnel force `color:#414141` sur body / input / table. En sombre, ça
   donne du texte sombre sur fond sombre (ou clair sur fond resté clair). */
.lrdg-app #content{ background:var(--bg) !important; }
.lrdg-app .lrdg-topbar__search input{ color:var(--ink) !important; }
.lrdg-app .lrdg-topbar__search input::placeholder{ color:var(--muted) !important; }
/* tableaux PMS (compte / inscription) : lisibles quel que soit le thème */
.lrdg-app .lrdg-page .pms-account-subscription-details-table td,
.lrdg-app .lrdg-access .pms-account-subscription-details-table td,
.lrdg-app .lrdg-page .pms-account-details td,
.lrdg-app .lrdg-access .pms-account-details td{ color:var(--ink2) !important; }
.lrdg-app .lrdg-page .pms-account-subscription-details-table td:first-child,
.lrdg-app .lrdg-access .pms-account-subscription-details-table td:first-child{ color:var(--muted) !important; }

/* sidebar : "slot" dans le flux + rail en position fixe -------------------- */
.lrdg-sidebar{
  --_w:var(--sidebar-w);
  flex:0 0 var(--_w);
  width:var(--_w);
}
html.lrdg-nav-collapsed .lrdg-sidebar{ --_w:var(--sidebar-w-collapsed); }

.lrdg-sidebar__inner{
  position:fixed;
  top:0; left:0; bottom:0;   /* épinglé haut + bas : la hauteur suit toujours la fenêtre */
  box-sizing:border-box;      /* le padding compte dans la hauteur, pas de débordement sous l'écran */
  width:var(--_w);
  display:flex;
  flex-direction:column;
  gap:18px;
  padding:18px 14px;
  background:var(--surface);
  border-right:1px solid var(--line);
  overflow-y:auto;
  overscroll-behavior:contain;
  transition:width .22s ease;
  z-index:120;
}
.admin-bar .lrdg-sidebar__inner{ top:32px; }

/* rail replié : concept "desktop" uniquement (sur mobile c'est un drawer) */
@media (min-width:1024px){
  html.lrdg-nav-collapsed .lrdg-brand__text,
  html.lrdg-nav-collapsed .lrdg-nav__title,
  html.lrdg-nav-collapsed .lrdg-nav__label,
  html.lrdg-nav-collapsed .lrdg-nav__hint,
  html.lrdg-nav-collapsed .lrdg-sidebar__premium-title,
  html.lrdg-nav-collapsed .lrdg-sidebar__premium-text,
  html.lrdg-nav-collapsed .lrdg-sidebar__premium .lrdg-kicker,
  html.lrdg-nav-collapsed .lrdg-usercard__text{
    display:none;
  }
  /* tout le rail replié = une colonne de carrés 40px alignés à gauche */
  html.lrdg-nav-collapsed .lrdg-sidebar__inner{ padding:18px 16px; align-items:flex-start; gap:12px; }
  html.lrdg-nav-collapsed .lrdg-brand{ flex-direction:column; align-items:flex-start; gap:10px; }
  html.lrdg-nav-collapsed .lrdg-brand__home{ flex:0 0 auto; }
  html.lrdg-nav-collapsed .lrdg-nav-toggle{ width:40px; height:40px; border-radius:12px; transform:rotate(180deg); }
  html.lrdg-nav-collapsed .lrdg-nav{ align-items:flex-start; gap:6px; }
  html.lrdg-nav-collapsed .lrdg-nav__list{ align-items:flex-start; gap:6px; }
  html.lrdg-nav-collapsed .lrdg-nav__link{ padding:0; border:0; background:none; }
  html.lrdg-nav-collapsed .lrdg-nav__mono{ width:40px; height:40px; border-radius:12px; font-size:12px; }
  html.lrdg-nav-collapsed .lrdg-nav__mono--icon svg{ width:20px !important; height:20px !important; }
  html.lrdg-nav-collapsed .lrdg-sidebar__premium{ margin-top:auto; padding:0; background:none; border:0; }
  html.lrdg-nav-collapsed .lrdg-sidebar .lrdg-btn--premium{ width:40px; height:40px; padding:0; border-radius:12px; }
  html.lrdg-nav-collapsed .lrdg-sidebar .lrdg-btn--premium .lrdg-btn__icon{ width:20px; height:20px; }
  html.lrdg-nav-collapsed .lrdg-sidebar .lrdg-btn__label{ display:none; }
  html.lrdg-nav-collapsed .lrdg-sidebar__foot{ flex-direction:column; align-items:flex-start; gap:10px; }
  html.lrdg-nav-collapsed .lrdg-usercard{ flex:0 0 auto; padding:0; }
  html.lrdg-nav-collapsed .lrdg-usercard__avatar{ width:40px; height:40px; border-radius:50%; }
  html.lrdg-nav-collapsed .lrdg-theme-toggle{ width:40px; height:40px; border-radius:12px; }
  html.lrdg-nav-collapsed .lrdg-auth-btn{ width:40px; height:40px; border-radius:12px; flex:0 0 auto; padding:0; }
  html.lrdg-nav-collapsed .lrdg-auth-btn__label{ display:none; }
}

/* survol d'un rail replié : overlay élargi, sans pousser le contenu.
   Piloté par la classe .lrdg-nav-peek (posée par le JS au mouseenter), pas par :hover pur,
   pour que le clic sur « replier » ne ré-ouvre pas le rail tant que la souris est dessus. */
@media (min-width:1024px){
  html.lrdg-nav-collapsed.lrdg-nav-peek .lrdg-sidebar__inner{
    width:var(--sidebar-w);
    box-shadow:var(--shadow);
    padding-inline:14px;
    align-items:stretch;
  }
  html.lrdg-nav-collapsed.lrdg-nav-peek .lrdg-brand__text,
  html.lrdg-nav-collapsed.lrdg-nav-peek .lrdg-nav__title,
  html.lrdg-nav-collapsed.lrdg-nav-peek .lrdg-nav__label,
  html.lrdg-nav-collapsed.lrdg-nav-peek .lrdg-nav__hint,
  html.lrdg-nav-collapsed.lrdg-nav-peek .lrdg-sidebar__premium-title,
  html.lrdg-nav-collapsed.lrdg-nav-peek .lrdg-sidebar__premium-text,
  html.lrdg-nav-collapsed.lrdg-nav-peek .lrdg-sidebar__premium .lrdg-kicker,
  html.lrdg-nav-collapsed.lrdg-nav-peek .lrdg-usercard__text{
    display:block;
  }
  html.lrdg-nav-collapsed.lrdg-nav-peek .lrdg-nav__link{ justify-content:flex-start; padding-inline:10px; }
  html.lrdg-nav-collapsed.lrdg-nav-peek .lrdg-sidebar .lrdg-btn--premium{ padding:12px 14px; font-size:13px; }
  html.lrdg-nav-collapsed.lrdg-nav-peek .lrdg-sidebar .lrdg-btn--premium::before{ content:none; }
  html.lrdg-nav-collapsed.lrdg-nav-peek .lrdg-auth-btn--guest{ width:auto; height:34px; flex:1; padding:0 12px; border-radius:9px; }
  html.lrdg-nav-collapsed.lrdg-nav-peek .lrdg-auth-btn--guest .lrdg-auth-btn__label{ display:inline; }
}

/* brand --------------------------------------------------------------- */
.lrdg-brand{ display:flex; align-items:center; gap:10px; }
.lrdg-brand__home{ display:flex; align-items:center; gap:10px; text-decoration:none; color:inherit; min-width:0; flex:1; }
.lrdg-brand__tile{
  flex:0 0 auto;
  width:38px; height:38px;
  display:grid; place-items:center;
  background:var(--lrdg-purple); color:#fff;
  border-radius:11px;
  font-family:var(--font-title); font-weight:700; font-size:15px;
}
.lrdg-brand__tile--logo{
  background:none !important; border-radius:50%; overflow:hidden;
  padding:0 !important;
}
.lrdg-brand__tile--logo img{
  width:100% !important; height:100% !important; max-width:none !important;
  object-fit:contain; border-radius:50%; display:block;
}
html.lrdg-nav-collapsed .lrdg-brand__tile--logo{ width:40px; height:40px; }
.lrdg-brand__text{ display:flex; flex-direction:column; min-width:0; }
.lrdg-brand__name{ font-family:var(--font-title); font-weight:700; font-size:14.5px; line-height:1.1; color:var(--ink); }
.lrdg-brand__tag{ font-size:9.5px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lrdg-nav-toggle{
  flex:0 0 auto;
  width:28px; height:28px;
  display:grid; place-items:center;
  border:1px solid var(--line); border-radius:8px;
  background:var(--surface); color:var(--ink2);
  cursor:pointer;
  transition:background .15s ease, transform .22s ease;
}
.lrdg-nav-toggle:hover{ background:var(--surface2); }

/* nav ---------------------------------------------------------------- */
.lrdg-nav{ display:flex; flex-direction:column; gap:8px; }
.lrdg-nav__title{ margin:2px 0; font-size:10px; color:var(--muted); }
.lrdg-nav__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
.lrdg-nav__link{
  display:flex; align-items:center; gap:11px;
  padding:8px 10px;
  border:1px solid transparent; border-radius:10px;
  color:var(--ink2); text-decoration:none;
  font-family:var(--font-body); font-weight:600; font-size:14px;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.lrdg-nav__mono{
  flex:0 0 auto;
  width:24px; height:24px;
  display:grid; place-items:center;
  border-radius:7px;
  background:var(--surface2); color:var(--ink2);
  font-family:var(--font-title); font-weight:700; font-size:10.5px;
}
.lrdg-nav__mono--icon svg{ width:15px !important; height:15px !important; display:block; }
.lrdg-nav__link:hover{ background:var(--surface2); color:var(--ink); }
.lrdg-nav__item.is-active .lrdg-nav__link{
  background:color-mix(in srgb, var(--lrdg-purple) 12%, transparent);
  border-color:color-mix(in srgb, var(--lrdg-purple) 34%, transparent);
  color:var(--lrdg-purple);
}
.lrdg-nav__item.is-active .lrdg-nav__mono{ background:var(--lrdg-purple); color:#fff; }
.lrdg-nav__hint{
  display:block; margin-top:6px; padding:6px 10px;
  font-size:11px; color:var(--muted); text-decoration:none;
  border:1px dashed var(--line); border-radius:8px;
}

/* bloc premium (sidebar) --------------------------------------------------- */
.lrdg-sidebar__premium{
  margin-top:auto;
  padding:14px;
  background:var(--surface2);
  border:1px solid var(--line);
  border-radius:14px;
}
.lrdg-kicker{ margin:0 0 6px; font-size:10px; font-weight:500; color:var(--muted); }
.lrdg-kicker--premium{ color:var(--lrdg-purple-deep); }
.lrdg-sidebar__premium-title{ margin:0 0 4px; font-family:var(--font-title); font-weight:600; font-size:14px; color:var(--ink); }
.lrdg-sidebar__premium-text{ margin:0 0 12px; font-size:12px; color:var(--muted); line-height:1.5; }

/* utilisateur + thème --------------------------------------------------- */
.lrdg-sidebar__foot{ display:flex; align-items:center; gap:8px; }
/* membre Premium : plus de bloc « Devenir Premium » → le pied colle en bas */
.lrdg-is-premium .lrdg-sidebar__foot{ margin-top:auto; }
.lrdg-usercard{
  flex:1; min-width:0;
  display:flex; align-items:center; gap:9px;
  padding:7px; border-radius:10px;
  text-decoration:none; color:inherit;
}
.lrdg-usercard:hover{ background:var(--surface2); }
.lrdg-usercard__avatar{
  flex:0 0 auto; width:34px; height:34px; border-radius:50%; object-fit:cover;
  background:var(--surface2); border:1px solid var(--line);
}
.lrdg-usercard__avatar--empty{ display:grid; place-items:center; color:var(--muted); }
.lrdg-usercard__text{ display:flex; flex-direction:column; min-width:0; }
.lrdg-usercard__name{ font-weight:700; font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--ink); }
.lrdg-usercard__status{ font-size:9px; color:var(--muted); }
.lrdg-theme-toggle{
  flex:0 0 auto;
  width:34px; height:34px;
  display:grid; place-items:center;
  border:1px solid var(--line); border-radius:9px;
  background:var(--surface); color:var(--ink2);
  cursor:pointer;
}
.lrdg-theme-toggle:hover{ background:var(--surface2); }
/* on montre l'icône de la CIBLE : clair -> lune (aller sombre), sombre -> soleil (aller clair) */
.lrdg-theme-toggle__sun{ display:none; }
.lrdg-theme-toggle__moon{ display:block; }
[data-theme="dark"] .lrdg-theme-toggle__sun{ display:block; }
[data-theme="dark"] .lrdg-theme-toggle__moon{ display:none; }

/* connexion / déconnexion -------------------------------------------- */
.lrdg-auth-btn{
  flex:0 0 auto; width:34px; height:34px;
  display:grid; place-items:center; grid-auto-flow:column; gap:8px;
  border:1px solid var(--line); border-radius:9px;
  background:var(--surface); color:var(--ink2); text-decoration:none; cursor:pointer;
}
.lrdg-auth-btn:hover{ background:var(--surface2); color:var(--lrdg-purple); }
.lrdg-auth-btn svg{ flex:0 0 auto; }
.lrdg-auth-btn__label{ display:none; font-weight:700; font-size:13px; color:var(--ink); white-space:nowrap; }
.lrdg-auth-btn--guest{ flex:1; width:auto; padding:0 12px; }
.lrdg-auth-btn--guest .lrdg-auth-btn__label{ display:inline; }
.lrdg-auth-btn--guest:hover .lrdg-auth-btn__label{ color:var(--lrdg-purple); }
.lrdg-app .lrdg-auth-btn{ color:var(--ink2) !important; font-size:13px !important; font-weight:700 !important; }
.lrdg-app .lrdg-auth-btn:hover{ color:var(--lrdg-purple) !important; }

/* topbar --------------------------------------------------------------- */
.lrdg-topbar{
  position:sticky; top:0; z-index:100;
  background:color-mix(in srgb, var(--surface) 88%, transparent);
  backdrop-filter:saturate(1.4) blur(8px);
  border-bottom:1px solid var(--line);
}
/* La topbar est en position:sticky (pas fixed) : sa position de repos suit
   le flux normal, déjà décalé de 32px par le margin-top que WordPress met
   sur <html> quand la barre d'admin est affichée. Remettre top:32px ici
   double ce décalage (barre d'admin à 0-32, topbar à 64) et laisse un vide
   entre les deux — contrairement à la sidebar (position:fixed), qui elle
   ignore ce margin-top et a bien besoin de son propre décalage. */
.admin-bar .lrdg-topbar{ top:0; }
.lrdg-topbar__inner{
  display:flex; align-items:center; gap:14px;
  padding:10px clamp(16px, 3vw, 32px);
}
.lrdg-breadcrumb{ font-size:11.5px; color:var(--muted); flex:0 1 auto; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.lrdg-breadcrumb a{ color:var(--muted); text-decoration:none; }
.lrdg-breadcrumb a:hover{ color:var(--lrdg-purple); }
.lrdg-topbar__search{
  flex:1 1 420px; max-width:420px;
  display:flex; align-items:center; gap:8px;
  padding:8px 12px;
  border:1px solid var(--line); border-radius:var(--r-sm);
  background:var(--surface); color:var(--muted);
}
.lrdg-topbar__search input{
  flex:1; border:0; background:transparent; outline:none;
  font:inherit; font-size:13px; color:var(--ink); min-width:0;
}
.lrdg-topbar__search:focus-within{ border-color:var(--lrdg-purple); }
.lrdg-topbar__end{ margin-left:auto; display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.lrdg-pill{
  display:inline-flex; align-items:center; gap:6px;
  font-size:10.5px; font-weight:500; color:var(--lrdg-purple-deep);
  padding:5px 11px; border-radius:999px;
  background:color-mix(in srgb, var(--lrdg-purple) 12%, transparent);
  white-space:nowrap;
}
[data-theme="dark"] .lrdg-pill{
  color:#DCC0F0;
  background:color-mix(in srgb, var(--lrdg-purple) 24%, transparent);
}
.lrdg-pill::before{
  content:""; width:5px; height:5px; border-radius:50%;
  background:currentColor; flex:0 0 auto;
}
.lrdg-topbar a.lrdg-pill{
  color:var(--lrdg-purple-deep) !important; text-decoration:none !important;
  transition:background .15s ease;
}
[data-theme="dark"] .lrdg-topbar a.lrdg-pill{ color:#DCC0F0 !important; }
.lrdg-topbar a.lrdg-pill:hover{ background:color-mix(in srgb, var(--lrdg-purple) 22%, transparent); }

/* cloche de notifications + panneau déroulant */
.lrdg-notifhub{ position:relative; display:flex; align-items:center; }
.lrdg-topbar a.lrdg-bell{
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; flex:0 0 auto;
  border-radius:10px; color:var(--ink2) !important; text-decoration:none !important;
  transition:background .15s ease, color .15s ease;
}
.lrdg-topbar a.lrdg-bell:hover{ background:var(--surface2); color:var(--lrdg-purple) !important; }
.lrdg-topbar a.lrdg-bell.has-unread{ color:var(--lrdg-purple) !important; }
.lrdg-bell__badge{
  position:absolute; top:1px; right:0;
  min-width:16px; height:16px; padding:0 4px; box-sizing:border-box;
  display:flex; align-items:center; justify-content:center;
  border-radius:999px; background:var(--lrdg-purple); color:#fff;
  font-family:var(--font-mono); font-size:9.5px; font-weight:700; line-height:1;
}
@media (max-width:560px){
  .lrdg-topbar a.lrdg-bell{ width:30px; height:30px; }
}

.lrdg-notifhub__panel{
  position:absolute; top:calc(100% + 10px); right:0; z-index:200;
  width:min(360px, calc(100vw - 24px));
  background:var(--surface); border:1px solid var(--line); border-radius:14px;
  box-shadow:0 16px 44px rgba(0,0,0,.22);
  overflow:hidden;
}
[data-theme="dark"] .lrdg-notifhub__panel,
:root:not([data-theme="light"]) .lrdg-notifhub__panel{ box-shadow:0 16px 44px rgba(0,0,0,.5); }
.lrdg-notifhub__head{
  padding:12px 16px; border-bottom:1px solid var(--line);
  font-weight:800; font-size:13px; color:var(--ink);
}
.lrdg-notifhub__list{
  margin:0 !important; padding:6px !important;
  max-height:min(420px, 60vh); overflow-y:auto; overscroll-behavior:contain;
}
.lrdg-notifhub__list .lrdg-notif__link{ padding:10px; gap:11px; }
.lrdg-notifhub__list .lrdg-notif__text{ font-size:13px; }
.lrdg-notifhub__empty{ margin:0; padding:26px 16px; text-align:center; color:var(--muted); font-size:13px; }
.lrdg-app .lrdg-notifhub__all{
  display:block; padding:11px 16px; border-top:1px solid var(--line);
  text-align:center; font-size:12.5px; font-weight:700;
  color:var(--lrdg-purple) !important; text-decoration:none !important;
}
.lrdg-app .lrdg-notifhub__all:hover{ background:var(--surface2); }
@media (max-width:560px){
  .lrdg-notifhub__panel{ right:-6px; top:calc(100% + 8px); }
}

/* page /notifications/ */
.lrdg-notifs__empty{ margin:20px 0 0; color:var(--muted); font-size:14.5px; line-height:1.6; max-width:56ch; }
.lrdg-notifs__list{ list-style:none; margin:22px 0 0; padding:0; display:flex; flex-direction:column; gap:2px; }
.lrdg-notif__link{
  position:relative; display:flex; align-items:center; gap:13px;
  padding:12px; text-decoration:none; border-radius:12px;
  border:1px solid transparent;
}
.lrdg-notif__link:hover{ background:var(--surface2); }
.lrdg-notif.is-unread .lrdg-notif__link{
  background:color-mix(in srgb, var(--lrdg-purple) 8%, transparent);
  border-color:color-mix(in srgb, var(--lrdg-purple) 22%, transparent);
}
.lrdg-notif__ico{
  flex:0 0 auto; width:36px; height:36px; display:flex; align-items:center; justify-content:center;
  border-radius:10px; background:var(--surface2); color:var(--ink2);
}
.lrdg-notif__ico svg{ width:18px; height:18px; display:block; }
.lrdg-notif__ico--heart{ color:var(--lrdg-purple); }
.lrdg-notif__ico--follow{ color:var(--lrdg-purple); }
.lrdg-notif__body{ min-width:0; }
.lrdg-notif__text{ display:block; font-size:13.5px; line-height:1.5; color:var(--ink2); }
.lrdg-app .lrdg-notif__text a,
.lrdg-app .lrdg-notif__text strong{ color:var(--ink) !important; font-weight:700; text-decoration:none !important; }
.lrdg-app .lrdg-notif__text a:hover{ color:var(--lrdg-purple) !important; }
.lrdg-notif__time{ display:block; margin-top:2px; font-family:var(--font-mono); font-size:10px; color:var(--muted); }
[data-theme="dark"] .lrdg-topbar a.lrdg-pill:hover{ background:color-mix(in srgb, var(--lrdg-purple) 34%, transparent); }
.lrdg-topbar__logo{ display:none; }

/* boutons ------------------------------------------------------------- */
.lrdg-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  padding:12px 16px;
  border:0; border-radius:var(--r-sm);
  font-family:var(--font-body); font-weight:800; font-size:13px;
  text-decoration:none; cursor:pointer; white-space:nowrap;
  transition:transform .15s ease, filter .15s ease;
}
.lrdg-btn--sm{ padding:9px 13px; font-size:12px; }
.lrdg-btn__icon{ flex:0 0 auto; }
/* JAUNE = PREMIUM UNIQUEMENT */
.lrdg-btn--premium{ background:var(--lrdg-yellow); color:#2b2410; }
.lrdg-btn--premium:hover{ transform:translateY(-1px); filter:brightness(1.03); }

/* footer ------------------------------------------------------------- */
.lrdg-footer{
  flex:0 0 auto;
  border-top:1px solid var(--line);
  background:var(--surface);
}
.lrdg-footer__inner{
  max-width:1200px; margin:0 auto;
  padding:28px clamp(16px, 3vw, 32px);
  display:flex; flex-wrap:wrap; align-items:center; gap:16px 28px;
}
.lrdg-footer__brand{ display:flex; align-items:center; gap:10px; }
.lrdg-footer__name{ font-family:var(--font-title); font-weight:700; font-size:14px; color:var(--ink); }
.lrdg-footer__tag{ font-size:9.5px; color:var(--muted); }
.lrdg-footer__list{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px 18px; }
.lrdg-footer__list a{ font-size:12px; color:var(--muted); text-decoration:none; }
.lrdg-footer__list a:hover{ color:var(--lrdg-purple); }
.lrdg-footer__legal{ width:100%; margin:0; font-size:11px; color:var(--muted); }

/* hamburger + backdrop (mobile) ---------------------------------------- */
.lrdg-hamburger{ display:none; }
.lrdg-backdrop{
  position:fixed; inset:0; z-index:115;
  background:rgba(10,7,15,.5);
  border:0;
}
.lrdg-backdrop[hidden]{ display:none; }

/* Mobile / tablette : la sidebar devient un drawer --------------------- */
@media (max-width:1023px){
  /* la colonne ne réserve plus d'espace, mais reste dans le flux :
     display:none masquerait aussi .lrdg-sidebar__inner (enfant). */
  .lrdg-sidebar{ flex-basis:0; width:0; overflow:visible; }
  .lrdg-sidebar__inner{
    width:var(--sidebar-w);
    transform:translateX(-100%);
    transition:transform .22s ease;
    z-index:130;
  }
  html.lrdg-nav-open .lrdg-sidebar__inner{ transform:none; box-shadow:var(--shadow); }

  .lrdg-hamburger{
    display:inline-flex !important;      /* neutralise le style bouton global */
    align-items:center; justify-content:center;
    width:40px; height:40px; padding:0;
    border:1px solid var(--line) !important; border-radius:11px;
    background:var(--surface) !important; color:var(--ink) !important;
    cursor:pointer; flex:0 0 auto;
  }
  .lrdg-hamburger__icon{ width:20px !important; height:20px !important; flex:0 0 auto; }
  .lrdg-hamburger__icon rect{ fill:currentColor !important; }
  .lrdg-topbar__logo{ display:inline-flex; align-items:center; }
  .lrdg-breadcrumb{ display:none; }
  .lrdg-topbar__search{ flex-basis:auto; }
  .lrdg-pill{ display:none; }
  .admin-bar .lrdg-sidebar__inner{ top:46px; }
  html.lrdg-nav-open{ overflow:hidden; }
}

@media (max-width:560px){
  .lrdg-topbar .lrdg-btn--premium .lrdg-btn__label{ display:none; }
  .lrdg-topbar .lrdg-btn--premium{ width:40px; height:40px; padding:0; }
}

/* --------------------------------------------------------------------------
   Neutralisation : le CSS « Personnaliser › CSS additionnel » (hérité) force
   TOUS les <button> en jaune avec !important
   (`button, input[type=button], .acf-button { background:#F5E663 !important }`).
   On rétablit un rendu neutre pour les seuls contrôles du châssis (sidebar/topbar).
   À supprimer quand ce CSS additionnel sera migré (étape dédiée).
   -------------------------------------------------------------------------- */
.lrdg-app .lrdg-nav-toggle,
.lrdg-app .lrdg-theme-toggle,
.lrdg-app .lrdg-hamburger,
.lrdg-app .lrdg-usercard{
  background-color:var(--surface) !important;
  border:1px solid var(--line) !important;
  color:var(--ink2) !important;
  font-weight:inherit !important;
}
/* le padding du <button> global décentrait l'icône (lune / chevron) */
.lrdg-app .lrdg-nav-toggle,
.lrdg-app .lrdg-theme-toggle{
  padding:0 !important;
  display:grid !important; place-items:center !important;
}
.lrdg-app .lrdg-usercard{ border-color:transparent !important; }
.lrdg-app .lrdg-nav-toggle:hover,
.lrdg-app .lrdg-theme-toggle:hover,
.lrdg-app .lrdg-usercard:hover{ background-color:var(--surface2) !important; }
.lrdg-app .lrdg-btn{ border:0 !important; }
.lrdg-app .lrdg-btn--premium{
  background-color:var(--lrdg-yellow) !important;
  color:#2b2410 !important;
}

/* le kit Elementor force `.elementor-kit-7 a { color:#941ED5 }` sur tous les liens.
   On rétablit la couleur voulue pour les liens du châssis. */
.lrdg-sidebar a,
.lrdg-topbar a,
.lrdg-footer a{ color:inherit !important; }
.lrdg-nav__link{ color:var(--ink2) !important; }
.lrdg-nav__link:hover{ color:var(--ink) !important; }
.lrdg-nav__item.is-active .lrdg-nav__link{ color:var(--lrdg-purple) !important; }
.lrdg-breadcrumb a:hover,
.lrdg-footer__list a:hover{ color:var(--lrdg-purple) !important; }

/* accessibilité : focus visible partout ------------------------------- */
.lrdg-app a:focus-visible,
.lrdg-app button:focus-visible,
.lrdg-app input:focus-visible{
  outline:2px solid var(--lrdg-purple);
  outline-offset:2px;
  border-radius:4px;
}

@media (prefers-reduced-motion: reduce){
  .lrdg-sidebar__inner,
  .lrdg-nav-toggle,
  .lrdg-btn{ transition:none !important; }
}


/* ==========================================================================
   ÉTAPE 2 — Accueil : widgets Elementor (hero, à la une, grille, bande premium)
   ========================================================================== */

.lrdg-mono{ font-family:var(--font-mono); letter-spacing:.09em; text-transform:uppercase; }

/* le kit Elementor met h1..h6 en MAJUSCULES + tailles fixes : on rétablit pour nos titres */
.lrdg-hero__title,
.lrdg-section__title,
.lrdg-premiumband__title,
.lrdg-tile__title,
.lrdg-alaune__title{
  text-transform:none !important;
  font-family:var(--font-title) !important;
  letter-spacing:-.02em !important;
}
.lrdg-hero__title{ font-size:var(--fs-h1-hero) !important; line-height:1.12 !important; }
.lrdg-section__title{ font-size:var(--fs-h2) !important; line-height:1.15 !important; }
.lrdg-premiumband__title{ font-size:27px !important; line-height:1.2 !important; }
.lrdg-tile__title{ font-family:var(--font-body) !important; font-size:var(--fs-card-title) !important; line-height:1.32 !important; }
.lrdg-alaune__title{ font-family:var(--font-body) !important; font-size:14px !important; line-height:1.3 !important; letter-spacing:0 !important; }

.lrdg-editor-empty{
  padding:20px; border:1px dashed var(--line); border-radius:12px;
  color:var(--muted); font-family:var(--font-mono); font-size:12px; text-align:center;
}

/* le kit Elementor force `.elementor-kit-7 a { color:#941ED5 }` : on remet des couleurs
   sobres pour les liens du corps de l'accueil. */
.lrdg-home a{ color:inherit !important; }
.lrdg-home .lrdg-hero__title a{ color:var(--ink) !important; }
.lrdg-home .lrdg-hero__title a:hover,
.lrdg-home .lrdg-tile__link:hover .lrdg-tile__title,
.lrdg-home .lrdg-alaune__link:hover .lrdg-alaune__title,
.lrdg-home .lrdg-hlist__link:hover .lrdg-hlist__title{ color:var(--lrdg-purple) !important; }
.lrdg-home .lrdg-pill--cat{ color:var(--lrdg-purple-deep) !important; }
.lrdg-home .lrdg-section__more{ color:var(--muted) !important; font-size:10px !important; }
.lrdg-home .lrdg-section__more:hover{ color:var(--lrdg-purple) !important; }
.lrdg-home .lrdg-alaune__cat{ color:var(--lrdg-purple) !important; }

/* pastille catégorie (violet) --------------------------------------------- */
.lrdg-pill--cat{
  display:inline-block;
  padding:4px 10px; border-radius:999px;
  background:color-mix(in srgb, var(--lrdg-purple) 14%, transparent);
  color:var(--lrdg-purple-deep);
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase;
  text-decoration:none;
}
[data-theme="dark"] .lrdg-pill--cat{ color:#d9b8ec; }

/* badge de note (cartes) ------------------------------------------------- */
.lrdg-score{
  position:absolute; top:12px; right:12px;
  display:grid; place-items:center;
  border-radius:50%;
  background:rgba(18,12,24,.72);
  border:3px solid var(--lrdg-yellow);
  color:var(--lrdg-yellow);
  font-family:var(--font-title); font-weight:700; line-height:1;
}
.lrdg-score--sm{ width:44px; height:44px; font-size:17px; }
.lrdg-score--md{ width:56px; height:56px; font-size:21px; }

/* byline -------------------------------------------------------------- */
.lrdg-byline{ display:flex; align-items:center; gap:10px; margin-top:16px; }
.lrdg-byline__avatar{
  width:34px; height:34px; border-radius:50%; flex:0 0 auto;
  display:grid; place-items:center;
  background:var(--lrdg-purple); color:#fff;
  font-family:var(--font-title); font-weight:700; font-size:12px; letter-spacing:0;
}
.lrdg-app .lrdg-byline__avatar--photo{
  width:34px !important; height:34px !important; max-width:none !important;
  object-fit:cover; background:var(--surface2); color:transparent;
}
.lrdg-app .lrdg-byline__avatar-link{ display:block; flex:0 0 auto; line-height:0; border-radius:50%; text-decoration:none !important; }
.lrdg-byline__meta{ display:flex; flex-direction:column; gap:1px; }
.lrdg-byline__name{ font-weight:700; font-size:13px; color:var(--ink); }
.lrdg-app .lrdg-byline__name a{ color:var(--ink) !important; text-decoration:none !important; transition:color .15s ease; }
.lrdg-app .lrdg-byline__name a:hover{ color:var(--lrdg-purple) !important; }
.lrdg-byline__sub{ font-family:var(--font-mono); font-size:10.5px; color:var(--muted); letter-spacing:.04em; }

/* hero vedette ------------------------------------------------------- */
.lrdg-hero{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.lrdg-hero__media{ position:relative; display:block; aspect-ratio:16/9; overflow:hidden; }
.lrdg-hero__img{
  position:absolute; inset:0;
  width:100% !important; height:100% !important;   /* bat le `height:auto` d'Elementor sur img */
  object-fit:cover; display:block; max-width:none;
}
.lrdg-hero__img--empty,
.lrdg-tile__img--empty,
.lrdg-alaune__img--empty{ position:absolute; inset:0; background:var(--surface2); }
.lrdg-hero__score{
  position:absolute; right:18px; top:18px;
  width:72px; height:72px; display:grid; place-items:center;
  border-radius:50%;
  background:rgba(18,12,24,.72);
  border:3px solid var(--lrdg-yellow);
  backdrop-filter:blur(4px);
}
.lrdg-hero__score-num{
  font-family:var(--font-title); font-weight:700; font-size:28px;
  color:var(--lrdg-yellow); line-height:1;
}
.lrdg-hero__body{ padding:22px 24px 24px; }
.lrdg-hero__tags{
  margin:12px 0 0; min-height:1.1em;
  font-size:11px; color:var(--muted);
  display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden;
}
.lrdg-hero__title{
  margin:12px 0 12px;
  font-family:var(--font-title); font-weight:700; font-size:var(--fs-h1-hero);
  line-height:1.1; letter-spacing:-.025em; text-wrap:pretty;
}
.lrdg-hero__title a{ color:var(--ink); text-decoration:none; }
.lrdg-hero__title a:hover{ color:var(--lrdg-purple); }
.lrdg-hero__chapo{ margin:0; color:var(--ink2); font-size:15.5px; line-height:1.62; }

/* carrousel hero (derniers test/critiques) ---------------------------- */
.lrdg-hero-slider{ position:relative; }
.lrdg-hero-slider__track{
  display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;
  scrollbar-width:none; -ms-overflow-style:none;
  border-radius:var(--r-lg);
}
.lrdg-hero-slider__track::-webkit-scrollbar{ display:none; }
.lrdg-hero-slider__slide{
  flex:0 0 100%; min-width:0; scroll-snap-align:start; display:flex;
}
/* tous les slides au même gabarit : média fixe, corps qui s'étire,
   signature calée en bas → alignée d'un slide à l'autre. */
.lrdg-hero-slider__slide .lrdg-hero{
  box-shadow:none; width:100%;
  display:flex; flex-direction:column;
}
.lrdg-hero-slider__slide .lrdg-hero__media{ flex:0 0 auto; }
.lrdg-hero-slider__slide .lrdg-hero__body{
  flex:1 1 auto; display:flex; flex-direction:column;
}
/* la pastille catégorie ne doit pas s'étirer sur toute la largeur du corps flex */
.lrdg-hero-slider__slide .lrdg-hero__body .lrdg-pill{ align-self:flex-start; }
.lrdg-hero-slider__slide .lrdg-hero__chapo{
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.lrdg-hero-slider__slide .lrdg-hero__body .lrdg-byline{ margin-top:auto; padding-top:18px; }
.lrdg-hero-slider__nav{
  display:flex; align-items:center; justify-content:flex-end; gap:12px; margin-top:12px;
}
.lrdg-app .lrdg-hero-slider__arrow{
  width:34px; height:34px; padding:0; display:grid; place-items:center;
  border:1px solid var(--line) !important; border-radius:50% !important;
  background:var(--surface) !important; color:var(--ink2) !important; box-shadow:none !important;
  cursor:pointer; transition:border-color .15s ease, color .15s ease;
}
.lrdg-app .lrdg-hero-slider__arrow svg{ width:15px !important; height:15px !important; }
.lrdg-app .lrdg-hero-slider__arrow:hover{ border-color:var(--lrdg-purple) !important; color:var(--lrdg-purple) !important; }
.lrdg-app .lrdg-hero-slider__arrow[disabled]{ opacity:.35; cursor:default; }
.lrdg-hero-slider__count{ min-width:40px; text-align:center; font-size:11px; color:var(--muted); }
@media (prefers-reduced-motion: reduce){ .lrdg-hero-slider__track{ scroll-behavior:auto; } }

/* à la une (cartes) ------------------------------------------------- */
.lrdg-alaune__head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.lrdg-alaune__update{ margin:0; font-size:9.5px; color:var(--muted); }
.lrdg-alaune__list{ list-style:none; margin:12px 0 0; padding:0; display:flex; flex-direction:column; gap:12px; }
.lrdg-alaune__item{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:14px;
}
.lrdg-alaune__link{
  display:grid; grid-template-columns:124px 1fr; gap:16px; align-items:center;
  padding:14px; text-decoration:none;
}
.lrdg-alaune__media{ position:relative; aspect-ratio:16/10; border-radius:10px; overflow:hidden; background:var(--surface2); }
.lrdg-alaune__media img{
  position:absolute; inset:0;
  width:100% !important; height:100% !important;
  object-fit:cover; display:block; max-width:none;
}
.lrdg-alaune__cat{ font-size:9px; color:var(--lrdg-purple); }
.lrdg-alaune__title{
  display:block; margin:4px 0 5px;
  font-family:var(--font-body); font-weight:700; font-size:14px; line-height:1.3; color:var(--ink);
}
.lrdg-alaune__link:hover .lrdg-alaune__title{ color:var(--lrdg-purple); }
.lrdg-alaune__meta{ font-size:9.5px; color:var(--muted); }

/* section rubrique + grille ---------------------------------------------- */
.lrdg-section{ margin:0; }
.lrdg-section__head{ display:flex; align-items:baseline; gap:16px; margin-bottom:18px; }
.lrdg-section__title{
  margin:0; flex:0 0 auto;
  font-family:var(--font-title); font-weight:700; font-size:var(--fs-h2); letter-spacing:-.02em;
}
.lrdg-section__rule{ flex:1 1 auto; height:1px; background:var(--line); }
.lrdg-section__more{
  flex:0 0 auto; display:inline-flex; align-items:center; gap:5px;
  font-size:10px; letter-spacing:.08em; color:var(--muted); text-decoration:none;
  white-space:nowrap;
}
.lrdg-section__more:hover{ color:var(--lrdg-purple); }
.lrdg-section__more svg{ opacity:.7; }

.lrdg-grid{ display:grid; gap:18px; grid-template-columns:repeat(4,1fr); }
.lrdg-grid--2{ grid-template-columns:repeat(2,1fr); }
.lrdg-grid--3{ grid-template-columns:repeat(3,1fr); }
.lrdg-grid--4{ grid-template-columns:repeat(4,1fr); }

/* wrapper accueil --------------------------------------------------- */
.lrdg-main__wrap{ padding:clamp(18px,2vw,30px) clamp(16px,2.4vw,40px) 60px; }
.lrdg-home{ position:relative; max-width:1560px; margin:0 auto; display:flex; flex-direction:column; gap:clamp(38px,4vw,58px); }
/* H1 + chapeau accueil : présents dans le DOM pour le SEO / lecteurs d'écran,
   mais masqués visuellement (la home enchaîne directement sur le carrousel). */
.lrdg-home__intro{
  position:absolute !important; width:1px !important; height:1px !important;
  padding:0 !important; margin:-1px !important; overflow:hidden !important;
  clip:rect(0 0 0 0) !important; white-space:nowrap !important; border:0 !important;
}
.lrdg-home__hero{ display:grid; grid-template-columns:1.5fr 1fr; gap:28px; align-items:start; }
/* les enfants de grille doivent pouvoir rétrécir : sans ça le carrousel hero
   (flex + overflow-x) force la colonne à sa largeur naturelle et déborde/rogne. */
.lrdg-home__hero{ min-width:0; }
.lrdg-home__hero > *{ min-width:0; }
.lrdg-home__hero-main{ min-width:0; }
.lrdg-hero-slider{ min-width:0; }
.lrdg-hero-slider__track{ min-width:0; }
.lrdg-home__hero-side{ display:flex; flex-direction:column; gap:18px; min-width:0; }

/* bloc « Ton profil geek » ------------------------------------------- */
.lrdg-profil{
  padding:16px 18px;
  background:var(--surface2); border:1px solid var(--line); border-radius:14px;
}
.lrdg-profil__title{ margin:6px 0 0; font-family:var(--font-title); font-weight:700; font-size:15px; color:var(--ink); }
.lrdg-profil__text{ margin:8px 0 12px; font-size:12.5px; color:var(--muted); line-height:1.5; }
.lrdg-profil__tags{ list-style:none; margin:12px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:7px; }
.lrdg-profil__tags a{
  display:inline-block; padding:5px 11px; border-radius:999px;
  border:1px solid var(--line); background:var(--surface);
  font-size:11.5px; font-weight:600; color:var(--ink2); text-decoration:none;
}
.lrdg-profil__tags a:hover{ border-color:var(--lrdg-purple); color:var(--lrdg-purple); }
.lrdg-profil__add a{
  border-style:dashed; color:var(--lrdg-purple);
  border-color:color-mix(in srgb, var(--lrdg-purple) 40%, transparent);
}

/* carte article ----------------------------------------------------- */
.lrdg-tile{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r-card);
  overflow:hidden; transition:transform .18s ease, box-shadow .18s ease;
  /* colonne pleine hauteur : la méta (« X min de lecture ») s'aligne en bas
     de chaque carte, quelle que soit la longueur du titre */
  display:flex; flex-direction:column;
}
.lrdg-tile:hover{ transform:translateY(-3px); box-shadow:var(--shadow); }
.lrdg-tile__link{ display:flex; flex-direction:column; flex:1 1 auto; text-decoration:none; color:inherit; }
.lrdg-tile__media{ position:relative; display:block; flex:0 0 auto; overflow:hidden; }
.lrdg-tile--16x10 .lrdg-tile__media{ aspect-ratio:16/10; }
.lrdg-tile--16x9 .lrdg-tile__media{ aspect-ratio:16/9; }
.lrdg-tile--1x1 .lrdg-tile__media{ aspect-ratio:1/1; }
.lrdg-tile__img{
  position:absolute; inset:0;
  width:100% !important; height:100% !important;
  object-fit:cover; display:block; max-width:none;
}
.lrdg-tile__kicker{
  position:absolute; left:10px; top:10px;
  padding:4px 9px; border-radius:7px;
  background:rgba(18,12,24,.72); color:#fff;
  font-family:var(--font-mono); font-size:9.5px; letter-spacing:.07em; text-transform:uppercase;
  backdrop-filter:blur(3px);
}
.lrdg-tile__kicker.is-scored{ color:var(--lrdg-yellow); }
.lrdg-tile__body{ display:flex; flex-direction:column; flex:1 1 auto; padding:12px 13px 13px; }
.lrdg-tile__title{
  display:block;
  font-family:var(--font-body); font-weight:700; font-size:var(--fs-card-title); line-height:1.32; color:var(--ink);
  text-wrap:pretty;
}
.lrdg-tile__link:hover .lrdg-tile__title{ color:var(--lrdg-purple); }
.lrdg-tile__excerpt{ display:block; margin-top:5px; font-size:12.5px; color:var(--muted); line-height:1.5; }
.lrdg-tile__meta{ display:block; margin-top:auto; padding-top:8px; font-size:10.5px; color:var(--muted); }

/* bande premium ---------------------------------------------------- */
.lrdg-premiumband{
  display:grid; grid-template-columns:1.15fr .85fr; gap:0;
  border-radius:var(--r-lg); overflow:hidden;
  border:1px solid var(--line);
}
.lrdg-premiumband__pitch{ padding:28px 30px; background:var(--surface); }
.lrdg-premiumband__title{
  margin:6px 0 10px; font-family:var(--font-title); font-weight:700; font-size:27px; letter-spacing:-.02em;
}
.lrdg-premiumband__text{ margin:0 0 18px; color:var(--ink2); font-size:14.5px; line-height:1.6; }
.lrdg-premiumband__actions{ display:flex; flex-wrap:wrap; gap:10px; }
.lrdg-premiumband__adv{
  list-style:none; margin:0; padding:28px 30px;
  background:var(--grad-premium); color:#fff;
  display:flex; flex-direction:column; gap:14px; justify-content:center;
}
.lrdg-premiumband__adv-item{ display:flex; align-items:flex-start; gap:12px; font-size:14px; line-height:1.4; }
.lrdg-premiumband__num{
  flex:0 0 auto; font-family:var(--font-title); font-weight:700; font-size:13px;
  color:var(--lrdg-yellow); padding-top:1px;
}

/* bouton fantôme --------------------------------------------------- */
.lrdg-btn--ghost{
  background:transparent; color:var(--ink);
  box-shadow:inset 0 0 0 1px var(--line);
}
.lrdg-btn--ghost:hover{ box-shadow:inset 0 0 0 1px var(--lrdg-purple); color:var(--lrdg-purple); }

/* bloc Instagram : grille maison ------------------------------------ */
.lrdg-insta__grid{
  list-style:none; margin:0 0 20px; padding:0;
  display:grid; grid-template-columns:repeat(6,1fr); gap:14px;
}
.lrdg-insta__item{ position:relative; aspect-ratio:1/1; border-radius:var(--r-card); overflow:hidden; background:var(--surface2); }
.lrdg-insta__item a{ display:block; width:100%; height:100%; }
.lrdg-insta__item img{
  width:100% !important; height:100% !important; object-fit:cover; display:block; max-width:none;
  transition:transform .3s ease;
}
.lrdg-insta__item:hover img{ transform:scale(1.05); }
.lrdg-insta__type{
  position:absolute; top:8px; right:8px;
  width:24px; height:24px; display:grid; place-items:center;
  border-radius:7px; background:rgba(18,12,24,.6); color:#fff;
}
.lrdg-insta__actions{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
.lrdg-btn--insta{ background:var(--lrdg-purple); color:#fff; }
.lrdg-btn--insta:hover{ background:var(--lrdg-purple-deep); }
.lrdg-insta__empty{
  padding:36px; text-align:center; border:1px dashed var(--line); border-radius:var(--r-lg);
  color:var(--muted); font-family:var(--font-mono); font-size:12px; margin:0 0 20px;
}

@media (max-width:900px){ .lrdg-insta__grid{ grid-template-columns:repeat(4,1fr); } }
@media (max-width:520px){ .lrdg-insta__grid{ grid-template-columns:repeat(3,1fr); } }

/* section quiz (Premium) --------------------------------------------- */
.lrdg-badge-premium{
  display:inline-block;
  padding:4px 10px; border-radius:999px;
  background:var(--lrdg-yellow); color:#2b2410;
  font-size:9.5px; font-weight:600; letter-spacing:.12em;
}
/* en-tête façon « autres sections » : pastille compacte au-dessus, puis
   titre + trait + lien */
.lrdg-quiz > .lrdg-badge-premium{ margin:0 0 10px; }
.lrdg-quiz .lrdg-section__head{ margin-bottom:10px; }
.lrdg-quiz__intro{ margin:0 0 18px; font-size:13.5px; color:var(--muted); }
.lrdg-tile--quiz .lrdg-tile__body{ padding:11px 13px; }
.lrdg-tile--quiz .lrdg-tile__title{ font-size:13.5px !important; }

/* section « Recommandé pour toi » (Premium) ----------------------------- */
.lrdg-reco .lrdg-section__head{ flex-wrap:wrap; }
.lrdg-reco__flag{ flex-basis:100%; margin:0 0 2px !important; }
.lrdg-home .lrdg-reco .lrdg-section__title{ color:var(--lrdg-purple) !important; }
[data-theme="dark"] .lrdg-home .lrdg-reco .lrdg-section__title{ color:#d9b8ec !important; }
.lrdg-reco--empty{
  display:flex; flex-direction:column; align-items:flex-start; gap:10px;
  padding:22px 24px; border:1px dashed var(--line); border-radius:var(--r-lg); background:var(--surface2);
}
.lrdg-reco__prompt-text{ margin:0; font-size:14px; color:var(--ink2); }

/* carrousel de brèves : une brève par écran, flèches sur les côtés -------- */
.lrdg-breves__count{ flex:0 0 auto; font-size:10px; color:var(--muted); }

.lrdg-breves__viewport{ position:relative; }
.lrdg-breves__track{
  display:flex;
  overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;
  overscroll-behavior-x:contain;
  border:1px solid var(--line); border-radius:var(--r-lg);
  background:var(--surface);
  scrollbar-width:none;
}
.lrdg-breves__track::-webkit-scrollbar{ display:none; }

.lrdg-breve{
  flex:0 0 100%;
  scroll-snap-align:center;
  display:grid; grid-template-columns:minmax(0,44%) 1fr;
  min-height:0;
}
.lrdg-breve__media{ position:relative; background:var(--surface2); min-height:280px; }
.lrdg-breve__media img{ position:absolute; inset:0; width:100% !important; height:100% !important; object-fit:cover; max-width:none; display:block; }
.lrdg-breve__body{ padding:28px clamp(22px,3vw,40px); align-self:center; }
.lrdg-breve__kicker{ margin:0 0 10px; font-size:10px; color:var(--lrdg-purple); }
.lrdg-breve__title{
  margin:0 0 14px;
  font-family:var(--font-title); font-weight:700; font-size:clamp(20px,2.4vw,27px); line-height:1.15;
  letter-spacing:-.02em; color:var(--ink); text-wrap:pretty;
}
.lrdg-breve__text{ font-size:14.5px; line-height:1.68; color:var(--ink2); }
.lrdg-breve__text p{ margin:0 0 .8em; }
.lrdg-breve__text p:last-child{ margin-bottom:0; }
.lrdg-app .lrdg-breve__text a{
  color:var(--lrdg-purple) !important; text-decoration:underline; text-underline-offset:2px;
  transition:color .15s ease;
}
.lrdg-app .lrdg-breve__text a:hover{ color:var(--lrdg-purple-deep) !important; text-decoration-thickness:2px; }

.lrdg-app .lrdg-breves__arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  width:44px; height:44px; display:grid; place-items:center;
  border:1px solid var(--line) !important; border-radius:50% !important;
  background:var(--surface) !important; color:var(--ink) !important; cursor:pointer;
  box-shadow:var(--shadow);
  transition:background .15s ease, opacity .15s ease;
}
.lrdg-app .lrdg-breves__arrow:hover{ background:var(--surface2) !important; }
.lrdg-app .lrdg-breves__arrow[disabled]{ opacity:.3; cursor:default; box-shadow:none; }
.lrdg-breves__arrow--prev{ left:-14px; }
.lrdg-breves__arrow--next{ right:-14px; }

@media (max-width:760px){
  .lrdg-breve{ grid-template-columns:1fr; }
  .lrdg-breve__media{ aspect-ratio:16/9; min-height:0; }
  .lrdg-breve__body{ padding:20px; }
  /* flèches : sous le carrousel, centrées (plus de chevauchement du texte) */
  .lrdg-breves__viewport{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
  .lrdg-breves__track{ order:1; flex:1 1 100%; }
  .lrdg-app .lrdg-breves__arrow{ position:static; transform:none; }
  .lrdg-breves__arrow--prev{ order:2; }
  .lrdg-breves__arrow--next{ order:3; }
}
@media (prefers-reduced-motion: reduce){
  .lrdg-breves__track{ scroll-behavior:auto; }
}

/* duo bas de page : 2 colonnes de cartes horizontales ------------------- */
.lrdg-duo{ display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.lrdg-hlist{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.lrdg-hlist__item + .lrdg-hlist__item{ border-top:1px solid var(--line); }
.lrdg-hlist__link{ display:grid; grid-template-columns:132px 1fr; gap:14px; align-items:center; padding:12px 0; text-decoration:none; }
.lrdg-hlist__media{ position:relative; aspect-ratio:16/10; border-radius:10px; overflow:hidden; background:var(--surface2); }
.lrdg-hlist__media img{ position:absolute; inset:0; width:100% !important; height:100% !important; object-fit:cover; max-width:none; }
.lrdg-hlist__title{ display:block; font-family:var(--font-body); font-weight:700; font-size:14px; line-height:1.32; color:var(--ink); }
.lrdg-hlist__link:hover .lrdg-hlist__title{ color:var(--lrdg-purple); }
.lrdg-hlist__meta{ display:block; margin-top:5px; font-size:10.5px; color:var(--muted); }

/* responsive accueil --------------------------------------------------- */
@media (max-width:1180px){
  .lrdg-home__hero{ grid-template-columns:1fr; }
  .lrdg-home__hero-side{ flex-direction:row; flex-wrap:wrap; }
  .lrdg-home__hero-side > *{ flex:1 1 300px; }
}
@media (max-width:1024px){
  .lrdg-grid--4{ grid-template-columns:repeat(3,1fr); }
  .lrdg-duo{ grid-template-columns:1fr; }
}
@media (max-width:820px){
  .lrdg-grid--3,.lrdg-grid--4{ grid-template-columns:repeat(2,1fr); }
  .lrdg-premiumband{ grid-template-columns:1fr; }
  .lrdg-home__hero-side{ flex-direction:column; }
}
@media (max-width:520px){
  .lrdg-grid{ grid-template-columns:1fr; }
  .lrdg-section__head{ flex-wrap:wrap; gap:8px 12px; }
  .lrdg-section__rule{ order:3; flex-basis:100%; }
  .lrdg-hero__title{ font-size:27px !important; }
  .lrdg-hlist__link{ grid-template-columns:96px 1fr; }
}


/* ==========================================================================
   ÉTAPE 3 — Archive de rubrique (catégorie / étiquette / plateforme)
   ========================================================================== */

.lrdg-archive{ max-width:1560px; margin:0 auto; }

/* neutralise le CSS additionnel hérité qui force TOUS les <button> en jaune
   (`button { background:#F5E663 !important }`) : nos <button> d'archive. */
.lrdg-app .lrdg-archive__desc-toggle{
  background-color:transparent !important; border:0 !important; padding:0 !important;
  color:var(--lrdg-purple) !important; font-weight:500 !important; border-radius:0 !important;
}
.lrdg-app button.lrdg-loadmore{
  background-color:transparent !important;
  color:var(--ink) !important;
  border:0 !important;
  border-radius:var(--r-sm) !important;
  box-shadow:inset 0 0 0 1px var(--line) !important;
  padding:12px 16px !important;
  font-weight:800 !important;
}
.lrdg-app button.lrdg-loadmore:hover{ box-shadow:inset 0 0 0 1px var(--lrdg-purple) !important; color:var(--lrdg-purple) !important; }

/* en-tête de rubrique -------------------------------------------------- */
.lrdg-archive__head{
  padding:26px 28px;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg);
  box-shadow:var(--shadow);
  margin-bottom:26px;
}
.lrdg-archive__title{
  margin:4px 0 0;
  font-family:var(--font-title) !important; font-weight:700;
  font-size:var(--fs-h1-rubrique) !important; line-height:1.08 !important;
  letter-spacing:-.025em !important; text-transform:none !important;
}
.lrdg-archive__desc{ margin:12px 0 0; max-width:70ch; color:var(--ink2); font-size:14px; line-height:1.6; }
.lrdg-archive__desc p{ margin:0 0 .6em; }
.lrdg-archive__desc p:last-child{ margin-bottom:0; }
.lrdg-archive__desc.is-clamped{
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.lrdg-archive__desc-toggle{
  margin-top:6px; padding:0; border:0; background:none; cursor:pointer;
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--lrdg-purple);
}
.lrdg-archive__desc-toggle:hover{ color:var(--lrdg-purple-deep); }
.lrdg-archive__desc-toggle[hidden]{ display:none; }

.lrdg-archive__stats{
  display:flex; flex-wrap:wrap; gap:10px 34px;
  margin:20px 0 0; padding:16px 0 0;
  border-top:1px solid var(--line);
}
.lrdg-archive__stats > div{ display:flex; flex-direction:column; gap:2px; }
.lrdg-archive__stats dt{
  font-family:var(--font-mono); font-size:9.5px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--muted);
}
.lrdg-archive__stats dd{
  margin:0; font-family:var(--font-title); font-weight:700; font-size:22px; color:var(--ink); line-height:1;
}

/* barre de filtres --------------------------------------------------- */
.lrdg-archive__filters{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px;
  margin-bottom:24px;
}
.lrdg-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.lrdg-chip{
  display:inline-flex; align-items:center; gap:7px;
  padding:7px 13px; border-radius:999px;
  border:1px solid var(--line); background:var(--surface);
  font-size:12.5px; font-weight:600; color:var(--ink2); text-decoration:none;
  transition:border-color .15s ease, color .15s ease, background .15s ease;
}
.lrdg-chip:hover{ border-color:var(--lrdg-purple); color:var(--lrdg-purple); }
.lrdg-chip.is-active{
  background:var(--lrdg-purple); border-color:var(--lrdg-purple); color:#fff;
}
.lrdg-chip__count{
  font-family:var(--font-mono); font-size:10px; opacity:.7;
}
.lrdg-chip.is-active .lrdg-chip__count{ opacity:.85; }
.lrdg-chip--removable{ background:var(--surface2); border-style:dashed; color:var(--ink2); }
.lrdg-chip--removable.is-active{ background:var(--surface2); border-color:var(--lrdg-purple); color:var(--lrdg-purple); }

/* mise en page : contenu + colonne latérale -------------------------- */
.lrdg-archive__layout{
  display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:34px; align-items:start;
}
.lrdg-archive__main{ min-width:0; }
.lrdg-archive__main .lrdg-grid{ gap:20px; }

.lrdg-archive__empty{
  padding:40px 28px; text-align:center;
  border:1px dashed var(--line); border-radius:var(--r-lg);
  color:var(--muted); font-size:14px;
}
.lrdg-archive__empty a{ color:var(--lrdg-purple); font-weight:700; }

/* colonne latérale : cartes ----------------------------------------- */
.lrdg-archive__aside{
  position:sticky; top:84px;
  display:flex; flex-direction:column; gap:16px;
}
.lrdg-aside-card{
  padding:18px; border:1px solid var(--line); border-radius:var(--r-card); background:var(--surface);
}
.lrdg-aside-card__title{
  margin:0 0 12px;
  font-family:var(--font-title) !important; font-weight:700; font-size:15px !important;
  letter-spacing:-.01em !important; text-transform:none !important;
}
.lrdg-aside-rank{ list-style:none; margin:0; padding:0; counter-reset:rank; display:flex; flex-direction:column; gap:2px; }
.lrdg-aside-rank__item a{
  display:grid; grid-template-columns:34px 1fr; gap:10px; align-items:center;
  padding:8px 0; text-decoration:none; color:inherit;
  border-top:1px solid var(--line);
}
.lrdg-aside-rank__item:first-child a{ border-top:0; }
.lrdg-aside-rank__score{
  display:grid; place-items:center; width:34px; height:34px; border-radius:9px;
  background:var(--surface2); color:var(--lrdg-purple-deep);
  font-family:var(--font-title); font-weight:700; font-size:14px;
}
[data-theme="dark"] .lrdg-aside-rank__score{ color:#d9b8ec; }
.lrdg-aside-rank__title{ font-size:12.5px; font-weight:600; line-height:1.35; color:var(--ink2); }
.lrdg-aside-rank__item a:hover .lrdg-aside-rank__title{ color:var(--lrdg-purple); }

.lrdg-aside-card--premium{ background:var(--surface2); }
.lrdg-aside-premium__pitch{ margin:2px 0 14px; font-size:13px; line-height:1.5; color:var(--ink2); }
.lrdg-aside-card--premium .lrdg-btn{ width:100%; }

.lrdg-cloud{ display:flex; flex-wrap:wrap; gap:7px; }
.lrdg-cloud__item{
  display:inline-flex; align-items:center; gap:6px;
  padding:5px 10px; border-radius:999px;
  border:1px solid var(--line); background:var(--surface2);
  font-size:11.5px; font-weight:600; color:var(--ink2); text-decoration:none;
}
.lrdg-cloud__item:hover{ border-color:var(--lrdg-purple); color:var(--lrdg-purple); }
.lrdg-cloud__count{ font-family:var(--font-mono); font-size:9.5px; color:var(--muted); }

/* pagination / charger plus ----------------------------------------- */
.lrdg-pagination{ margin-top:30px; }
.lrdg-pagination .page-numbers{
  list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:wrap; gap:6px; justify-content:center;
}
.lrdg-pagination .page-numbers li{ display:flex; }
.lrdg-pagination a.page-numbers,
.lrdg-pagination span.page-numbers{
  display:grid; place-items:center; min-width:38px; height:38px; padding:0 12px;
  border:1px solid var(--line); border-radius:10px; background:var(--surface);
  font-family:var(--font-mono); font-size:12px; color:var(--ink2); text-decoration:none;
}
.lrdg-pagination a.page-numbers:hover{ border-color:var(--lrdg-purple); color:var(--lrdg-purple); }
.lrdg-pagination .page-numbers.current{ background:var(--lrdg-purple); border-color:var(--lrdg-purple); color:#fff; }
.lrdg-pagination .page-numbers.dots{ border:0; background:none; }

.lrdg-loadmore{ display:flex; margin:30px auto 0; min-width:240px; }
.lrdg-loadmore.is-loading{ opacity:.6; pointer-events:none; }
.lrdg-loadmore[hidden]{ display:none; }

@keyframes lrdg-in{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
.lrdg-tile.lrdg-in{ animation:lrdg-in .32s ease both; }
@media (prefers-reduced-motion: reduce){ .lrdg-tile.lrdg-in{ animation:none; } }

/* responsive -------------------------------------------------------- */
@media (max-width:1100px){
  .lrdg-archive__layout{ grid-template-columns:1fr; }
  .lrdg-archive__aside{
    position:static;
    flex-direction:row; flex-wrap:wrap;
  }
  .lrdg-archive__aside > *{ flex:1 1 260px; }
}
@media (max-width:820px){
  .lrdg-archive__main .lrdg-grid--3{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:520px){
  .lrdg-archive__head{ padding:20px; }
  .lrdg-archive__title{ font-size:30px !important; }
  .lrdg-archive__stats{ gap:10px 22px; }
  .lrdg-archive__main .lrdg-grid--3{ grid-template-columns:1fr; }
  .lrdg-archive__aside{ flex-direction:column; }
}


/* ==========================================================================
   ÉTAPE 4 — Article / test (single-post.php)
   ========================================================================== */

.lrdg-article{ max-width:1180px; margin:0 auto; }

/* le CSS additionnel hérité force `.single-post p { margin:1rem 0 1.4rem !important }`
   sur TOUS les <p> : on remet à zéro dans l'article, chaque bloc rétablit sa marge
   avec 2 classes (spécificité > `.single-post p`). À retirer avec la migration du CSS additionnel. */
.lrdg-app .lrdg-article p{ margin-top:0 !important; margin-bottom:0 !important; }
.lrdg-app .lrdg-article .lrdg-article__kicker{ margin-bottom:16px !important; }
.lrdg-app .lrdg-article .lrdg-article__chapo{ margin-bottom:24px !important; }
.lrdg-app .lrdg-article .lrdg-article__byline-sub{ margin-top:2px !important; }
.lrdg-app .lrdg-article .lrdg-article-premium__text{ margin:6px 0 14px !important; }
.lrdg-app .lrdg-article .lrdg-rail-card__kicker{ margin-bottom:14px !important; }
.lrdg-app .lrdg-article .lrdg-verdict__label{ margin-bottom:8px !important; }
.lrdg-app .lrdg-article .lrdg-verdict__community-ask{ margin-bottom:9px !important; }
.lrdg-app .lrdg-article .lrdg-article__content > p{ margin-bottom:1.35em !important; }
.lrdg-app .lrdg-article .lrdg-article__content blockquote p,
.lrdg-app .lrdg-article .lrdg-article__content li > p{ margin-bottom:0 !important; }

/* 2 colonnes dès le haut : lecture + rail collant --------------------- */
.lrdg-article__layout{
  display:grid; grid-template-columns:minmax(0,1fr) 340px;
  column-gap:56px; align-items:start;
}
.lrdg-article__head{ grid-column:1; grid-row:1; min-width:0; }
.lrdg-article__content-wrap{ grid-column:1; grid-row:2; min-width:0; }
.lrdg-article__rail{ grid-column:2; grid-row:1 / span 2; }

/* en-tête ----------------------------------------------------------- */
.lrdg-article__kicker{
  margin:0 0 16px; display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  font-size:10.5px; color:var(--muted);
}
.lrdg-article__kicker a{ color:var(--lrdg-purple) !important; }
.lrdg-article__kicker-sep{ color:var(--line); }
.lrdg-article__title{
  margin:0 0 18px !important;
  font-family:var(--font-title) !important; font-weight:700; color:var(--ink) !important;
  font-size:var(--fs-h1-article) !important; line-height:1.08 !important;
  letter-spacing:-.025em !important; text-transform:none !important; text-wrap:balance;
}
.lrdg-article__chapo{
  margin:0 0 24px; font-size:18px; line-height:1.6; color:var(--ink2); font-weight:500;
}

/* barre d'auteur --------------------------------------------------- */
.lrdg-article__byline{
  display:flex; align-items:center; gap:12px;
  padding-top:20px; border-top:1px solid var(--line);
}
.lrdg-article__avatar-ini{
  width:40px; height:40px; border-radius:50%; flex:0 0 auto;
  display:grid; place-items:center;
  background:var(--lrdg-purple); color:#fff;
  font-family:var(--font-title); font-weight:700; font-size:13px;
}
.lrdg-app .lrdg-article__avatar-img{
  width:40px !important; height:40px !important; max-width:none !important;
  flex:0 0 auto; border-radius:50%; object-fit:cover; display:block;
  background:var(--surface2);
}
.lrdg-app .lrdg-article__byline-avatar{
  display:block; flex:0 0 auto; line-height:0; border-radius:50%;
  text-decoration:none !important;
}
.lrdg-article__byline-meta{ flex:1 1 auto; min-width:0; }
.lrdg-article__byline-name{ margin:0; font-weight:700; font-size:14px; color:var(--ink); }
.lrdg-app .lrdg-article__byline-name a{
  color:var(--ink) !important; text-decoration:none !important;
  transition:color .15s ease;
}
.lrdg-app .lrdg-article__byline-name a:hover,
.lrdg-app .lrdg-article__byline-avatar:hover + .lrdg-article__byline-meta .lrdg-article__byline-name a{
  color:var(--lrdg-purple) !important;
}
.lrdg-article__byline-sub{ margin:2px 0 0; font-size:10px; color:var(--muted); }

/* puce « produit » en tête d'article --------------------------------- */
.lrdg-app a.lrdg-article__produit{
  display:flex; align-items:center; gap:14px; margin:16px 0 0;
  padding:10px 12px; border:1px solid var(--line); border-radius:var(--r-lg);
  background:var(--surface2); text-decoration:none !important; color:inherit !important;
  transition:border-color .15s ease;
}
.lrdg-app a.lrdg-article__produit:hover{ border-color:var(--lrdg-purple); }
.lrdg-article__produit-media{
  flex:0 0 auto; width:52px; height:52px; border-radius:var(--r-sm);
  background:var(--surface) center/cover no-repeat;
}
.lrdg-article__produit-text{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:2px; }
.lrdg-article__produit-kicker{ font-size:9px; color:var(--muted); }
.lrdg-article__produit-name{
  font-family:var(--font-title); font-weight:700; font-size:15px; color:var(--ink);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.lrdg-article__produit-score{
  flex:0 0 auto; width:38px; height:38px; border-radius:50%;
  display:grid; place-items:center;
  background:var(--lrdg-purple); color:#fff;
  font-family:var(--font-title); font-weight:700; font-size:14px;
}

/* ================= page fiche produit ============================== */
.lrdg-produit{ max-width:960px; margin:0 auto; }
.lrdg-produit__hero{
  position:relative; border-radius:var(--r-lg); overflow:hidden;
  background:var(--lrdg-purple-deep) center 22% / cover no-repeat;
  min-height:clamp(300px, 34vw, 420px);
  display:flex; align-items:flex-end;
}
.lrdg-produit__hero.has-bg::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(0deg, rgba(12,5,20,.92) 0%, rgba(12,5,20,.42) 42%, rgba(12,5,20,.12) 72%, rgba(12,5,20,.2) 100%);
}
.lrdg-produit__hero-inner{ position:relative; z-index:1; padding:28px 32px 30px; width:100%; }
.lrdg-produit__type{ margin:0 0 6px; font-size:10px; color:rgba(255,255,255,.8); }
.lrdg-app .lrdg-produit__title{
  margin:0 !important; color:#fff !important; text-transform:none !important;
  font-family:var(--font-title) !important; font-weight:700 !important;
  font-size:clamp(1.7rem, 1rem + 2vw, 2.4rem) !important; line-height:1.08 !important; letter-spacing:-.02em !important;
}
.lrdg-produit__score{
  position:absolute; right:26px; bottom:24px; z-index:1;
  display:flex; align-items:baseline; gap:2px;
  padding:8px 14px; border-radius:999px;
  background:rgba(18,12,24,.72); border:2px solid var(--lrdg-yellow);
}
.lrdg-produit__score-num{ font-family:var(--font-title); font-weight:700; font-size:22px; color:var(--lrdg-yellow); line-height:1; }
.lrdg-produit__score-max{ font-size:11px; color:rgba(245,230,99,.8); }

.lrdg-produit__body{
  display:grid; grid-template-columns:1fr 280px; gap:32px; align-items:start;
  margin:30px 0 0;
}
.lrdg-produit__desc{ color:var(--ink2); font-size:15.5px; line-height:1.66; }
.lrdg-produit__desc p{ margin:0 0 1em; }
.lrdg-produit__trailer{ margin:20px 0 0; }
.lrdg-produit__trailer .lrdg-embed{
  position:relative; aspect-ratio:16/9; border-radius:var(--r-card); overflow:hidden; background:#000;
}
.lrdg-produit__trailer iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.lrdg-produit__fiche{
  padding:20px 22px; background:var(--surface);
  border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow);
}
.lrdg-produit__fiche .lrdg-rail-card__kicker{ margin:0 0 12px; }
.lrdg-produit__fiche dl{ margin:0; display:flex; flex-direction:column; gap:12px; }
.lrdg-produit__fiche-row dt{ font-family:var(--font-mono); font-size:9px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.lrdg-produit__fiche-row dd{ margin:3px 0 0; font-size:13.5px; color:var(--ink2); }
.lrdg-produit__fiche-row dd a{ color:var(--lrdg-purple) !important; text-decoration:none; }

.lrdg-produit__articles{ margin:44px 0 0; }

@media (max-width:820px){
  .lrdg-produit__body{ grid-template-columns:1fr; gap:22px; }
  .lrdg-produit__fiche{ order:-1; }
}
.lrdg-article__share{ display:flex; flex-wrap:wrap; gap:6px; flex:0 0 auto; }
.lrdg-share-btn{
  padding:5px 10px; border-radius:7px;
  border:1px solid var(--line); background:transparent;
  font-family:var(--font-mono); font-weight:400; font-size:9px; letter-spacing:.07em; text-transform:uppercase;
  color:var(--muted); text-decoration:none; cursor:pointer; white-space:nowrap;
  transition:border-color .15s ease, color .15s ease;
}
.lrdg-share-btn:hover{ border-color:var(--lrdg-purple); color:var(--lrdg-purple); }
.lrdg-share-btn.is-done{ border-color:var(--lrdg-purple); color:var(--lrdg-purple); }
/* neutralise le CSS hérité (boutons jaunes) + garde le texte visible au survol */
.lrdg-app a.lrdg-share-btn,
.lrdg-app button.lrdg-share-btn{
  background-color:transparent !important; border:1px solid var(--line) !important;
  font-family:var(--font-mono) !important; font-weight:400 !important; font-size:9px !important;
  letter-spacing:.07em !important; border-radius:7px !important; padding:5px 10px !important;
  color:var(--muted) !important;
}
.lrdg-app a.lrdg-share-btn:hover,
.lrdg-app button.lrdg-share-btn:hover,
.lrdg-app a.lrdg-share-btn.is-done,
.lrdg-app button.lrdg-share-btn.is-done{
  background-color:transparent !important; border-color:var(--lrdg-purple) !important;
  color:var(--lrdg-purple) !important;
}

/* visuel d'en-tête (sans note : la note est dans le verdict) -------- */
.lrdg-article__cover{
  position:relative; margin:26px 0 0;
  aspect-ratio:16/9; border-radius:var(--r-lg); overflow:hidden; background:var(--surface2);
}
.lrdg-article__cover-img{
  position:absolute; inset:0;
  width:100% !important; height:100% !important; object-fit:cover; display:block; max-width:none;
}

/* rail droit : cartes -------------------------------------------- */
.lrdg-article__rail{
  position:sticky; top:84px;
  display:flex; flex-direction:column; gap:16px;
  /* si le rail est plus haut que l'écran (petit portable, barre d'admin WP…),
     on le rend défilable au survol + molette au lieu de rogner le bas. */
  max-height:calc(100vh - 84px - 20px - var(--wp-admin--admin-bar--height, 0px));
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:var(--line) transparent;
  padding-right:2px;
}
.lrdg-article__rail::-webkit-scrollbar{ width:7px; }
.lrdg-article__rail::-webkit-scrollbar-track{ background:transparent; }
.lrdg-article__rail::-webkit-scrollbar-thumb{ background:var(--line); border-radius:4px; }
.lrdg-article__rail:hover::-webkit-scrollbar-thumb{ background:var(--muted); }
.lrdg-rail-card{
  padding:20px;
  border:1px solid var(--line); border-radius:var(--r-lg); background:var(--surface);
  box-shadow:var(--shadow);
}
.lrdg-rail-card__kicker{ margin:0 0 14px; font-size:9.5px; color:var(--muted); }

/* sommaire (scroll-spy) ---------------------------------------- */
.lrdg-article__toc-nav{ display:flex; flex-direction:column; gap:1px; }
.lrdg-article__toc-nav a{
  display:block; padding:6px 0 6px 14px; margin-left:-2px;
  font-size:13px; line-height:1.35; color:var(--muted); text-decoration:none;
  border-left:2px solid var(--line);
  transition:color .15s ease, border-color .15s ease;
}
.lrdg-article__toc-nav a:hover{ color:var(--ink2); }
.lrdg-article__toc-nav a.is-active{ color:var(--lrdg-purple); border-color:var(--lrdg-purple); font-weight:600; }
.lrdg-article__toc-nav a.is-sub{ padding-left:26px; font-size:12px; }

/* sommaire repliable (articles à long sommaire) */
.lrdg-toc-group{ display:flex; flex-direction:column; }
.lrdg-toc-group__head{ display:flex; align-items:stretch; }
.lrdg-toc-group__head .lrdg-toc-group__link{ flex:1 1 auto; }
.lrdg-app .lrdg-article__toc-nav .lrdg-toc-group__toggle,
.lrdg-app .lrdg-article__toc-nav .lrdg-toc-group__toggle:hover,
.lrdg-app .lrdg-article__toc-nav .lrdg-toc-group__toggle:focus{
  flex:0 0 auto; display:grid; place-items:center;
  width:26px; padding:0; margin:0;
  background:none !important; border:0 !important; box-shadow:none !important;
  color:var(--muted) !important;
  cursor:pointer; transition:color .15s ease, transform .18s ease;
}
.lrdg-app .lrdg-article__toc-nav .lrdg-toc-group__toggle:hover{ color:var(--lrdg-purple) !important; }
.lrdg-app .lrdg-article__toc-nav .lrdg-toc-group__toggle svg{
  width:13px !important; height:13px !important; transition:transform .18s ease;
}
.lrdg-app .lrdg-article__toc-nav .lrdg-toc-group__toggle svg path{
  stroke:currentColor !important; fill:none !important;
}
.lrdg-toc-group.is-open .lrdg-toc-group__toggle svg{ transform:rotate(180deg); }
.lrdg-toc-group.is-open > .lrdg-toc-group__head .lrdg-toc-group__link{ color:var(--ink2); }
.lrdg-toc-sub{ display:flex; flex-direction:column; gap:1px; }
.lrdg-toc-sub[hidden]{ display:none; }

/* « À lire plus tard » (sous le sommaire) --------------------- */
.lrdg-article__save{ display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; }
.lrdg-article__save-icon{ color:var(--lrdg-purple); }
.lrdg-app .lrdg-article__save .geek-read-later-btn,
.lrdg-app .lrdg-article__save > a.button{
  display:block; width:100%;
  padding:10px 12px !important; margin:0 !important;
  border:1px solid var(--line) !important; border-radius:var(--r-sm) !important;
  background-color:transparent !important; color:var(--ink2) !important;
  font-family:var(--font-body) !important; font-weight:700 !important; font-size:12px !important;
  line-height:1.35 !important; text-align:center; text-decoration:none; cursor:pointer;
  transition:border-color .15s ease, color .15s ease, background-color .15s ease;
}
.lrdg-app .lrdg-article__save .geek-read-later-btn:hover,
.lrdg-app .lrdg-article__save > a.button:hover{
  border-color:var(--lrdg-purple) !important; color:var(--lrdg-purple) !important;
}
.lrdg-app .lrdg-article__save .geek-read-later-btn[data-state="added"]{
  background-color:var(--lrdg-purple) !important; border-color:var(--lrdg-purple) !important; color:#fff !important;
}
.lrdg-article__save:has(.geek-read-later-btn[data-state="added"]) .lrdg-article__save-icon path{ fill:currentColor; }
.lrdg-article__save .geek-read-later-btn.is-loading{ opacity:.55; pointer-events:none; }

/* carte « La fiche » ------------------------------------------- */
.lrdg-fiche__list{ margin:0; }
.lrdg-fiche__row{
  display:flex; align-items:baseline; justify-content:space-between; gap:14px;
  padding:11px 0; border-top:1px solid var(--line);
}
.lrdg-fiche__row:first-child{ border-top:0; padding-top:0; }
.lrdg-fiche__row dt{ flex:0 0 auto; font-size:12px; color:var(--muted); }
.lrdg-fiche__row dd{
  margin:0; text-align:right; font-size:12.5px; font-weight:700; color:var(--ink);
  min-width:0; overflow-wrap:anywhere;
}

/* corps de l'article ------------------------------------------ */
.lrdg-article__content{ margin-top:34px; font-size:var(--fs-body); line-height:var(--lh-body); color:var(--ink2); }
.lrdg-article__content > p{ margin:0 0 1.35em; }
.lrdg-article__content p[style*="text-align: center"]{ text-align:left !important; }
.lrdg-article__content a{ color:var(--lrdg-purple) !important; text-decoration:underline; text-underline-offset:2px; }
.lrdg-article__content a:hover{ color:var(--lrdg-purple-deep) !important; }
.lrdg-article__content strong{ color:var(--ink); font-weight:700; }
.lrdg-article__content h2,
.lrdg-article__content h3{
  font-family:var(--font-title) !important; font-weight:700 !important;
  letter-spacing:-.02em !important; text-transform:none !important; color:var(--ink) !important;
  scroll-margin-top:90px; text-wrap:pretty;
}
.lrdg-article__content h2{ margin:1.8em 0 .6em !important; font-size:26px !important; line-height:1.2 !important; }
.lrdg-article__content h3{ margin:1.5em 0 .5em !important; font-size:20px !important; line-height:1.25 !important; }
.lrdg-article__content ul,
.lrdg-article__content ol{ margin:0 0 1.35em; padding-left:1.3em; }
.lrdg-article__content li{ margin:0 0 .5em; }
.lrdg-article__content img{ max-width:100%; height:auto; border-radius:var(--r-card); margin:1em 0; }
.lrdg-article__content figure{ margin:1.6em 0; }
.lrdg-article__content figcaption{ margin-top:8px; font-family:var(--font-mono); font-size:11px; color:var(--muted); }
.lrdg-article__content blockquote{
  margin:1.6em 0; padding:4px 0 4px 22px; border-left:3px solid var(--lrdg-purple);
  font-family:var(--font-title); font-size:20px; line-height:1.45; color:var(--ink); font-style:normal;
}
.lrdg-article__content blockquote p{ margin:0; }
.lrdg-article__content iframe{ max-width:100%; margin:1.4em 0; border-radius:var(--r-card); border:0; }
.lrdg-article__content table{
  width:100%; border-collapse:collapse; margin:1.6em 0; font-size:14.5px; display:block; overflow-x:auto;
}
.lrdg-article__content th,
.lrdg-article__content td{ padding:10px 14px; border:1px solid var(--line); text-align:left; }
.lrdg-article__content th{ background:var(--surface2); font-family:var(--font-title); font-weight:700; color:var(--ink); }

/* anciens articles Elementor migrés -------------------------- */
/* vidéo / embed responsive */
.lrdg-article__content .lrdg-embed{
  position:relative; width:100%; margin:1.6em 0;
  aspect-ratio:16/9; border-radius:var(--r-card); overflow:hidden; background:#000;
}
.lrdg-article__content .lrdg-embed iframe{
  position:absolute; inset:0; width:100%; height:100%; margin:0; border:0; border-radius:0;
}
.lrdg-article__content .wp-block-embed{ margin:1.6em 0; }
.lrdg-article__content .wp-block-embed figcaption{ margin-top:8px; }

/* galerie d'images */
.lrdg-gallery{
  display:grid; gap:10px; margin:1.6em 0;
  grid-template-columns:repeat(3, 1fr);
}
.lrdg-gallery--2{ grid-template-columns:repeat(2, 1fr); }
.lrdg-gallery--4{ grid-template-columns:repeat(4, 1fr); }
.lrdg-gallery__item{
  display:block; margin:0; border-radius:var(--r-sm); overflow:hidden;
  background:var(--surface2); cursor:zoom-in; position:relative;
  aspect-ratio:16/10;
}
.lrdg-gallery__item img{
  width:100% !important; height:100% !important; margin:0 !important;
  object-fit:cover; border-radius:0; display:block;
  transition:transform .3s ease;
}
.lrdg-gallery__item:hover img{ transform:scale(1.05); }
.lrdg-app .lrdg-article__content a.lrdg-gallery__item{ text-decoration:none; }
@media (max-width:600px){
  .lrdg-gallery,
  .lrdg-gallery--4{ grid-template-columns:repeat(2, 1fr); }
}

/* image seule : cliquable vers la visionneuse */
.lrdg-app .lrdg-article__content .wp-block-image a[data-lrdg-lightbox]{
  display:block; cursor:zoom-in; text-decoration:none;
}
.lrdg-article__content .wp-block-image a[data-lrdg-lightbox] img{ margin:0; }

/* liste convertie depuis icon-list */
.lrdg-article__content ul.lrdg-list{ list-style:disc; }

/* bloc « articles liés » (ex-widget Posts) */
.lrdg-related{ margin:2em 0; }
.lrdg-related__title{
  margin:0 0 1em !important; font-family:var(--font-title); font-weight:700;
  font-size:22px !important; color:var(--ink); letter-spacing:-.01em;
}
.lrdg-related .lrdg-section__foot{ margin-top:20px; text-align:center; }

/* les cartes du site gardent leur propre habillage dans le corps d'article :
   on neutralise la typo « texte courant » de .lrdg-article__content */
.lrdg-app .lrdg-article__content .lrdg-tile a,
.lrdg-app .lrdg-article__content .lrdg-tile__link,
.lrdg-app .lrdg-article__content .lrdg-tile__link:hover{
  color:inherit !important; text-decoration:none !important;
}
.lrdg-article__content .lrdg-tile__title{ color:var(--ink); }
.lrdg-article__content .lrdg-tile__media img,
.lrdg-article__content .lrdg-tile__img{
  margin:0 !important; border-radius:0 !important;
  width:100% !important; height:100% !important; max-width:none;
}
.lrdg-article__content .lrdg-related figure{ margin:0; }
.lrdg-article__content .lrdg-related .lrdg-grid{ margin:0; }

/* visionneuse (lightbox) */
.lrdg-lightbox{
  position:fixed; inset:0; z-index:9999;
  display:flex; align-items:center; justify-content:center;
  padding:clamp(12px, 4vw, 56px);
  background:rgba(8, 4, 14, .92);
  -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
}
.lrdg-lightbox[hidden]{ display:none; }
.lrdg-lightbox__stage{
  margin:0; max-width:100%; max-height:100%;
  display:flex; flex-direction:column; align-items:center; gap:12px;
}
.lrdg-lightbox__stage img{
  max-width:100%; max-height:82vh; margin:0;
  border-radius:var(--r-card); box-shadow:0 24px 60px -12px rgba(0,0,0,.6);
  background:#000;
}
.lrdg-lightbox__count{
  font-family:var(--font-mono); font-size:12px; color:rgba(255,255,255,.7);
}
.lrdg-lightbox__close,
.lrdg-lightbox__nav{
  position:absolute; display:grid; place-items:center;
  width:44px; height:44px; padding:0; margin:0;
  color:#fff; background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.2) !important; border-radius:999px !important;
  font-size:22px; line-height:1; cursor:pointer;
  transition:background .16s ease, transform .16s ease;
}
.lrdg-lightbox__close:hover,
.lrdg-lightbox__nav:hover{ background:rgba(255,255,255,.24) !important; }
.lrdg-lightbox__close{ top:16px; right:16px; font-size:26px; }
.lrdg-lightbox__nav{ top:50%; transform:translateY(-50%); }
.lrdg-lightbox__nav:hover{ transform:translateY(-50%) scale(1.08); }
.lrdg-lightbox__nav--prev{ left:16px; }
.lrdg-lightbox__nav--next{ right:16px; }
@media (max-width:600px){
  .lrdg-lightbox__nav{ width:40px; height:40px; }
  .lrdg-lightbox__nav--prev{ left:8px; }
  .lrdg-lightbox__nav--next{ right:8px; }
}

/* bloc verdict ------------------------------------------------- */
.lrdg-verdict{
  display:grid; grid-template-columns:auto 1fr; gap:26px; align-items:start;
  margin:44px 0 0; padding:26px;
  border:1px solid var(--line); border-radius:var(--r-lg); background:var(--surface);
}
.lrdg-verdict__score{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:104px; height:104px; border-radius:50%; background:var(--grad-premium); color:#fff;
}
.lrdg-verdict__num{ font-family:var(--font-title); font-weight:700; font-size:40px; line-height:1; color:var(--lrdg-yellow); }
.lrdg-verdict__max{ font-size:9px; opacity:.85; margin-top:3px; color:var(--lrdg-yellow); }
.lrdg-verdict__title{
  margin:0 0 14px !important;
  font-family:var(--font-title) !important; font-weight:700; font-size:22px !important;
  letter-spacing:-.02em !important; text-transform:none !important; color:var(--ink) !important;
}
.lrdg-verdict__cols{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.lrdg-verdict__label{ margin:0 0 8px !important; font-size:9.5px; }
.lrdg-verdict__col .lrdg-verdict__label{ font-size:11px; letter-spacing:.09em; }
.lrdg-verdict__col--plus .lrdg-verdict__label{ color:#2e7d55; }
.lrdg-verdict__col--minus .lrdg-verdict__label{ color:#b3443b; }
[data-theme="dark"] .lrdg-verdict__col--plus .lrdg-verdict__label{ color:#6dd1a0; }
[data-theme="dark"] .lrdg-verdict__col--minus .lrdg-verdict__label{ color:#ef8a80; }
.lrdg-verdict__col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.lrdg-verdict__col li{ position:relative; padding-left:22px; font-size:13.5px; line-height:1.45; color:var(--ink2); }
.lrdg-verdict__col li::before{ position:absolute; left:0; top:0; font-weight:700; }
.lrdg-verdict__col--plus li::before{ content:"+"; color:#2e7d55; }
.lrdg-verdict__col--minus li::before{ content:"–"; color:#b3443b; }
[data-theme="dark"] .lrdg-verdict__col--plus li::before{ color:#6dd1a0; }
[data-theme="dark"] .lrdg-verdict__col--minus li::before{ color:#ef8a80; }
.lrdg-app .lrdg-verdict__num{ background-color:transparent !important; }

/* note des lecteurs (Premium) dans le verdict ----------------- */
/* réutilise le back-end du mu-plugin lrdg-ratings ; styles neutralisés + refaits */
.lrdg-verdict__community{
  display:flex; flex-wrap:wrap; align-items:flex-start; gap:16px 32px;
  margin-top:22px; padding-top:20px; border-top:1px solid var(--line);
}
.lrdg-verdict__community-head{ display:flex; flex-direction:column; }
.lrdg-verdict__community-action{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; }

/* rangée 1 : les libellés — même hauteur des 2 côtés */
.lrdg-app .lrdg-verdict__community .lrdg-verdict__label,
.lrdg-app .lrdg-verdict__community-ask{
  margin:0 0 9px !important; font-size:9px; color:var(--muted); line-height:1;
}

/* rangée 2 : la note (gauche) alignée avec les boutons (droite) */
.lrdg-app .lrdg-verdict__community-figure{
  margin:0 !important; display:flex; align-items:center; gap:10px; min-height:30px;
}
.lrdg-verdict__community-num{
  display:inline-flex; align-items:baseline; gap:2px;
  font-family:var(--font-title); font-weight:700; color:var(--ink);
}
.lrdg-verdict .lrdg-rating-avg{
  color:var(--lrdg-purple) !important; font-family:var(--font-title) !important;
  font-weight:700 !important; font-size:24px !important; line-height:1 !important;
}
[data-theme="dark"] .lrdg-verdict .lrdg-rating-avg{ color:#d9b8ec !important; }
.lrdg-verdict__community-max{ font-size:11px; color:var(--muted); font-weight:400; }
.lrdg-verdict__community-votes{ font-size:10px; color:var(--muted); align-self:center; }
.lrdg-verdict__community-votes .lrdg-rating-votes{ font-weight:400 !important; font-size:10px !important; color:var(--muted) !important; }

.lrdg-verdict__community-cta{ margin:0; font-size:12px; color:var(--ink2); line-height:1.5; }
.lrdg-verdict__community-cta a{ color:var(--lrdg-purple) !important; font-weight:700; white-space:nowrap; }
.lrdg-verdict__community-done{ margin:0; min-height:30px; display:flex; align-items:center; font-size:12px; color:var(--muted); }

.lrdg-verdict__scale{ display:flex; flex-wrap:wrap; gap:5px; min-height:30px; }
.lrdg-verdict .lrdg-rate-btn{
  width:30px; height:30px; display:inline-flex; align-items:center; justify-content:center;
  padding:0 !important; border-radius:8px !important;
  border:1px solid var(--line) !important; background:transparent !important;
  box-shadow:none !important; transform:none !important;
  font-family:var(--font-title) !important; font-weight:700 !important; font-size:12px !important;
  color:var(--ink2) !important; cursor:pointer;
  transition:border-color .12s ease, background .12s ease, color .12s ease;
}
.lrdg-verdict .lrdg-rate-btn:hover{
  background:var(--lrdg-purple) !important; border-color:var(--lrdg-purple) !important; color:#fff !important;
}
.lrdg-verdict .lrdg-rate-btn.is-disabled,
.lrdg-verdict .lrdg-rate-btn:disabled{ opacity:.4 !important; cursor:not-allowed; }
.lrdg-app .lrdg-verdict .lrdg-rating-msg:not(:empty){ margin:8px 0 0 !important; font-size:11.5px; color:var(--lrdg-purple); }
.lrdg-app .lrdg-verdict__community-cta,
.lrdg-app .lrdg-verdict__community-done{ margin:0 !important; }

@media (max-width:520px){
  .lrdg-verdict__community{ gap:14px; }
  .lrdg-verdict__community-action{ flex-basis:100%; }
}

/* encart Premium in-article ---------------------------------- */
.lrdg-article-premium{
  margin:36px 0 0; padding:22px 24px;
  border:1px solid var(--line); border-radius:var(--r-lg); background:var(--surface2);
}
.lrdg-article-premium__text{ margin:6px 0 14px; font-size:14px; line-height:1.55; color:var(--ink2); }

/* réactions / tags ------------------------------------------ */
.lrdg-article__react{ margin:32px 0 0; }

/* « J'aime » maison */
.lrdg-like{ display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.lrdg-app .lrdg-like__btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 18px; margin:0;
  font-family:var(--font-title); font-size:14px; font-weight:600; line-height:1;
  color:var(--ink2) !important;
  background:var(--surface) !important;
  border:1px solid var(--line) !important; border-radius:999px !important;
  box-shadow:none !important; cursor:pointer;
  transition:border-color .16s ease, color .16s ease, background .16s ease, transform .12s ease;
}
.lrdg-app .lrdg-like__btn:hover{
  border-color:var(--lrdg-purple) !important;
  color:var(--lrdg-purple) !important;
  background:color-mix(in srgb, var(--lrdg-purple) 5%, var(--surface)) !important;
}
.lrdg-app .lrdg-like__btn:active{ transform:scale(.96); }
.lrdg-like__heart{
  flex:0 0 auto;
  fill:transparent; stroke:currentColor;
  transition:transform .18s ease, fill .18s ease, stroke .18s ease;
}
.lrdg-app .lrdg-like__btn:hover .lrdg-like__heart{
  fill:color-mix(in srgb, var(--lrdg-purple) 22%, transparent);
}
.lrdg-like__count{
  font-family:var(--font-mono); font-size:12px; font-weight:500;
  padding-left:10px; margin-left:2px; border-left:1px solid var(--line);
  color:var(--muted);
}
.lrdg-app .lrdg-like.is-liked .lrdg-like__btn{
  color:var(--lrdg-purple) !important;
  border-color:var(--lrdg-purple) !important;
  background:color-mix(in srgb, var(--lrdg-purple) 8%, var(--surface)) !important;
}
.lrdg-app .lrdg-like.is-liked .lrdg-like__heart{ fill:var(--lrdg-purple) !important; stroke:var(--lrdg-purple); transform:scale(1.08); }
.lrdg-app .lrdg-like.is-liked .lrdg-like__btn:hover .lrdg-like__heart{ fill:var(--lrdg-purple) !important; }
.lrdg-like.is-liked .lrdg-like__count{ color:var(--lrdg-purple); border-left-color:color-mix(in srgb, var(--lrdg-purple) 35%, transparent); }
.lrdg-like__btn[data-gated="1"]{ opacity:.85; }
.lrdg-like__hint{
  margin:0; font-size:12.5px; line-height:1.5; color:var(--muted);
}
.lrdg-like__hint a{ color:var(--lrdg-purple) !important; text-decoration:none; font-weight:600; }
.lrdg-like__hint a:hover{ text-decoration:underline; }
@keyframes lrdg-like-pop{ 0%{ transform:scale(1); } 45%{ transform:scale(1.28); } 100%{ transform:scale(1.08); } }
.lrdg-like.just-liked .lrdg-like__heart{ animation:lrdg-like-pop .32s ease; }
.lrdg-article__tags{ margin:24px 0 0; display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:12.5px; }
.lrdg-article__tags .lrdg-mono{ color:var(--muted); font-size:10px; }
.lrdg-article__tags a{
  padding:4px 10px; border-radius:999px; border:1px solid var(--line);
  color:var(--ink2) !important; text-decoration:none;
}
.lrdg-article__tags a:hover{ border-color:var(--lrdg-purple); color:var(--lrdg-purple) !important; }

/* à lire ensuite + commentaires ---------------------------- */
.lrdg-article__related{ margin:60px 0 0; }

/* article quiz : colonne unique, pas de rail/verdict ------------------- */
.lrdg-article--quiz{ max-width:840px; }
.lrdg-article--quiz__inner{ max-width:760px; margin:0 auto; }
.lrdg-article--quiz .lrdg-article__cover{ margin:24px 0 0; }
.lrdg-article--quiz__body{ margin-top:30px; }
.lrdg-article--quiz .lrdg-article__related{ margin-top:56px; }

/* --- quiz Forminator : habillage v4 --------------------------------- */
.lrdg-article--quiz .forminator-ui.forminator-quiz{ margin:8px 0; padding:0; background:none; border:0; }
/* une seule image : celle mise en avant par WordPress */
.lrdg-article--quiz .forminator-quiz--image{ display:none !important; }
/* lien d'édition Forminator (visible pour les admins) */
.lrdg-article--quiz .forminator-quiz [class*="edit"],
.lrdg-article--quiz a[href*="page=forminator"]{ display:none !important; }

.lrdg-article--quiz .forminator-quiz--title{
  margin:0 0 6px !important;
  font-family:var(--font-title) !important; font-weight:700 !important; font-size:var(--fs-h2) !important;
  color:var(--ink) !important; letter-spacing:-.02em !important;
}
.lrdg-article--quiz .forminator-quiz--description{ margin:0 0 22px !important; color:var(--ink2); font-size:14px; }
.lrdg-article--quiz .forminator-quiz--description p{ margin:0 0 .5em !important; }

/* une question = une carte */
.lrdg-article--quiz .forminator-question{
  margin:0 0 16px !important; padding:20px 22px !important;
  background:var(--surface) !important; border:1px solid var(--line) !important; border-radius:var(--r-lg) !important;
}
.lrdg-article--quiz .forminator-legend{
  display:block; margin:0 0 14px !important;
  font-family:var(--font-body) !important; font-weight:700 !important; font-size:15.5px !important;
  line-height:1.4 !important; color:var(--ink) !important;
}

/* réponses : options cliquables avec survol */
.lrdg-article--quiz .forminator-answer{ display:block; margin:0 0 8px !important; cursor:pointer; }
.lrdg-article--quiz .forminator-answer:last-of-type{ margin-bottom:0 !important; }
.lrdg-app .lrdg-article--quiz .forminator-answer .forminator-answer--design{
  display:flex; align-items:center; gap:11px;
  padding:12px 14px !important; margin:0 !important;
  background:var(--surface) !important; border:1px solid var(--line) !important; border-radius:var(--r-sm) !important;
  font-size:14px; color:var(--ink2) !important;
  transition:border-color .14s ease, background-color .14s ease, color .14s ease;
}
.lrdg-app .lrdg-article--quiz .forminator-answer:hover .forminator-answer--design{
  border-color:var(--lrdg-purple) !important;
  background:color-mix(in srgb, var(--lrdg-purple) 6%, var(--surface)) !important;
  color:var(--ink) !important;
}
.lrdg-app .lrdg-article--quiz .forminator-answer input:checked ~ .forminator-answer--design{
  border-color:var(--lrdg-purple) !important;
  background:color-mix(in srgb, var(--lrdg-purple) 12%, var(--surface)) !important;
  color:var(--ink) !important; font-weight:600;
}
.lrdg-article--quiz .forminator-answer--status{
  flex:0 0 auto; width:16px; height:16px; border-radius:50%;
  border:1.5px solid var(--line); background:var(--surface);
}
.lrdg-article--quiz .forminator-answer:hover .forminator-answer--status{ border-color:var(--lrdg-purple); }
.lrdg-article--quiz .forminator-answer input:checked ~ .forminator-answer--design .forminator-answer--status{
  border-color:var(--lrdg-purple); background:var(--lrdg-purple);
  box-shadow:inset 0 0 0 3px var(--surface);
}
.lrdg-article--quiz .forminator-answer--name{ flex:1 1 auto; }
/* on masque la puce radio native (dupliquée par --status) */
.lrdg-article--quiz .forminator-answer input[type="radio"]{ position:absolute; opacity:0; width:1px; height:1px; }

/* bouton de résultat / suivant */
.lrdg-app .lrdg-article--quiz .forminator-button,
.lrdg-app .lrdg-article--quiz button[class*="forminator"]{
  background:var(--lrdg-purple) !important; color:#fff !important; border:0 !important;
  border-radius:var(--r-sm) !important; box-shadow:none !important;
  font-family:var(--font-body) !important; font-weight:800 !important;
}
.lrdg-article__comments{ max-width:760px; margin:48px 0 0; }

/* commentaires — habillage v4, clair + sombre --------------------------- */
.lrdg-app .lrdg-article__comments .comments-area,
.lrdg-app .lrdg-article__comments #respond{ background:none; border:0; padding:0; margin:0; }
.lrdg-app .lrdg-article__comments .comment-reply-title,
.lrdg-app .lrdg-article__comments .comments-title{
  margin:0 0 18px !important;
  font-family:var(--font-title) !important; font-weight:700 !important;
  font-size:var(--fs-h2) !important; letter-spacing:-.02em !important; color:var(--ink) !important;
}
.lrdg-app .lrdg-article__comments .comment-reply-title small{ font-size:12px; font-weight:400; }
.lrdg-app .lrdg-article__comments .comment-notes,
.lrdg-app .lrdg-article__comments .logged-in-as,
.lrdg-app .lrdg-article__comments .comment-form-cookies-consent label,
.lrdg-app .lrdg-article__comments .comment-subscription-form label{
  font-size:12.5px !important; color:var(--muted) !important; line-height:1.5;
}
.lrdg-app .lrdg-article__comments .logged-in-as a,
.lrdg-app .lrdg-article__comments .comment-notes a{ color:var(--lrdg-purple) !important; }
.lrdg-app .lrdg-article__comments .comment-form{ display:flex; flex-direction:column; gap:14px; margin-top:14px; }
.lrdg-app .lrdg-article__comments .comment-form p{ margin:0; }
.lrdg-app .lrdg-article__comments .comment-form label{
  display:block; margin-bottom:6px;
  font-family:var(--font-body) !important; font-weight:700 !important; font-size:13px !important; color:var(--ink) !important;
}
.lrdg-app .lrdg-article__comments .comment-form input[type="text"],
.lrdg-app .lrdg-article__comments .comment-form input[type="email"],
.lrdg-app .lrdg-article__comments .comment-form input[type="url"],
.lrdg-app .lrdg-article__comments .comment-form textarea{
  width:100%; padding:11px 13px !important;
  border:1px solid var(--line) !important; border-radius:var(--r-sm) !important;
  background:var(--surface) !important; color:var(--ink) !important;
  font-family:var(--font-body) !important; font-size:14px !important;
}
.lrdg-app .lrdg-article__comments .comment-form textarea{ min-height:120px; resize:vertical; }
.lrdg-app .lrdg-article__comments .comment-form input:focus,
.lrdg-app .lrdg-article__comments .comment-form textarea:focus{
  outline:0; border-color:var(--lrdg-purple) !important;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--lrdg-purple) 18%, transparent) !important;
}
/* Cases à cocher du formulaire de commentaire (consentement cookies, abonnement
   aux commentaires / aux articles) : case + phrase sur la même ligne. */
.lrdg-app .lrdg-article__comments .comment-form-cookies-consent,
.lrdg-app .lrdg-article__comments .comment-subscription-form,
.lrdg-app .lrdg-article__comments .comment-form p:has(> input[type="checkbox"]){
  display:flex; align-items:flex-start; gap:8px;
}
.lrdg-app .lrdg-article__comments .comment-form-cookies-consent label,
.lrdg-app .lrdg-article__comments .comment-subscription-form label,
.lrdg-app .lrdg-article__comments .comment-form p:has(> input[type="checkbox"]) > label{
  display:inline; margin:0; flex:1 1 auto;
}
.lrdg-app .lrdg-article__comments .comment-form-cookies-consent input,
.lrdg-app .lrdg-article__comments .comment-subscription-form input,
.lrdg-app .lrdg-article__comments .comment-form p:has(> input[type="checkbox"]) > input{
  flex:0 0 auto; width:16px; height:16px; accent-color:var(--lrdg-purple); margin:2px 0 0;
}
.lrdg-app .lrdg-article__comments .form-submit{ margin:4px 0 0 !important; }
.lrdg-app .lrdg-article__comments .form-submit .submit{
  display:inline-flex; align-items:center; justify-content:center;
  padding:11px 22px !important; margin:0 !important;
  background:var(--lrdg-purple) !important; color:#fff !important;
  border:0 !important; border-radius:999px !important; box-shadow:none !important;
  font-family:var(--font-title) !important; font-weight:700 !important; font-size:14px !important;
  cursor:pointer; transition:background .16s ease;
}
.lrdg-app .lrdg-article__comments .form-submit .submit:hover{ background:var(--lrdg-purple-deep) !important; }
/* liste des commentaires */
.lrdg-app .lrdg-article__comments .comment-list{ list-style:none; margin:26px 0 34px; padding:0; display:flex; flex-direction:column; gap:20px; }
.lrdg-app .lrdg-article__comments .comment-list ol{ list-style:none; margin:16px 0 0; padding:0 0 0 22px; border-left:1px solid var(--line); display:flex; flex-direction:column; gap:20px; }
.lrdg-app .lrdg-article__comments .comment-body{
  padding:16px 18px; border:1px solid var(--line); border-radius:var(--r-lg); background:var(--surface);
}
.lrdg-app .lrdg-article__comments .comment-author{ display:flex; align-items:center; gap:10px; }
.lrdg-app .lrdg-article__comments .comment-author .avatar{ border-radius:50%; width:34px; height:34px; }
.lrdg-app .lrdg-article__comments .comment-author .fn{ font-weight:700; color:var(--ink); font-style:normal; }
.lrdg-app .lrdg-article__comments .comment-metadata{ font-size:11px; color:var(--muted); }
.lrdg-app .lrdg-article__comments .comment-metadata a{ color:var(--muted) !important; }
.lrdg-app .lrdg-article__comments .comment-content{ margin-top:8px; font-size:14.5px; line-height:1.6; color:var(--ink2); }
.lrdg-app .lrdg-article__comments .comment-content p{ margin:0 0 .8em; }
.lrdg-app .lrdg-article__comments .reply a{
  font-family:var(--font-mono); font-size:11px; letter-spacing:.03em; text-transform:uppercase;
  color:var(--lrdg-purple) !important; text-decoration:none;
}
.lrdg-app .lrdg-article__comments .no-comments,
.lrdg-app .lrdg-article__comments .comments-closed{ color:var(--muted); font-size:14px; }

/* responsive ---------------------------------------------- */
@media (max-width:1080px){
  .lrdg-article__layout{ grid-template-columns:1fr; row-gap:24px; }
  .lrdg-article__head{ grid-column:1; grid-row:auto; order:1; }
  .lrdg-article__rail{
    grid-column:1; grid-row:auto; order:2;
    position:static;
    display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:start;
    max-height:none; overflow:visible; padding-right:0;
  }
  .lrdg-article__content-wrap{ grid-column:1; grid-row:auto; order:3; }
  .lrdg-fiche{ order:1; }
  .lrdg-article__save{ order:2; }
  .lrdg-article__toc{ order:3; }
  .lrdg-article__content{ margin-top:0; }
}
@media (max-width:720px){
  .lrdg-article__rail{ grid-template-columns:1fr; }
  .lrdg-article__byline{ flex-wrap:wrap; }
  .lrdg-article__share{ width:100%; }
}
@media (max-width:640px){
  .lrdg-article__title{ font-size:29px !important; }
  .lrdg-article__chapo{ font-size:16px; }
  .lrdg-verdict{ grid-template-columns:1fr; gap:18px; padding:20px; }
  .lrdg-verdict__cols{ grid-template-columns:1fr; gap:16px; }
  .lrdg-article__content h2{ font-size:22px !important; }
}



/* ==========================================================================
   ÉTAPE 5 — Page Premium (page-premium.php)
   ========================================================================== */

.lrdg-premium{ max-width:1000px; margin:0 auto; }

/* en-tête ---------------------------------------------------------- */
.lrdg-premium__head{ text-align:center; max-width:640px; margin:0 auto 40px; }
.lrdg-premium__head .lrdg-kicker{ margin-bottom:10px; }
.lrdg-premium__title{
  margin:0 0 14px !important;
  font-family:var(--font-title) !important; font-weight:700; color:var(--ink) !important;
  font-size:clamp(30px,4vw,44px) !important; line-height:1.08 !important;
  letter-spacing:-.025em !important; text-transform:none !important; text-wrap:balance;
}
.lrdg-premium__pitch{ margin:0 0 22px; font-size:16px; line-height:1.65; color:var(--ink2); }

/* bascule mensuel / annuel --------------------------------------- */
.lrdg-premium__toggle{
  display:inline-flex; gap:4px; padding:4px;
  border:1px solid var(--line); border-radius:999px; background:var(--surface);
}
.lrdg-app .lrdg-premium__toggle button{
  display:inline-flex; align-items:center; gap:8px;
  padding:9px 18px !important; border:0 !important; border-radius:999px !important;
  background:transparent !important; color:var(--ink2) !important;
  font-family:var(--font-body) !important; font-weight:700 !important; font-size:13px !important;
  cursor:pointer; transition:background .15s ease, color .15s ease;
}
.lrdg-app .lrdg-premium__toggle button.is-active{
  background:var(--lrdg-purple) !important; color:#fff !important;
}
.lrdg-premium__toggle-flag{
  padding:2px 7px; border-radius:999px;
  background:var(--lrdg-yellow); color:#2b2410;
  font-family:var(--font-mono); font-size:8.5px; letter-spacing:.06em; text-transform:uppercase; font-weight:400;
}
.lrdg-premium__toggle button.is-active .lrdg-premium__toggle-flag{ background:#fff; }

/* cartes d'offres ----------------------------------------------- */
.lrdg-premium__offers{
  display:grid; grid-template-columns:repeat(2,1fr); gap:22px; align-items:stretch;
  margin-bottom:56px;
}
.lrdg-premium__card{
  position:relative; display:flex; flex-direction:column; height:100%;
  padding:28px 26px;
  border:1px solid var(--line); border-radius:var(--r-lg); background:var(--surface);
}
.lrdg-premium__card--featured{
  border-color:transparent;
  background:var(--grad-premium); color:#fff;
  box-shadow:var(--shadow);
}
.lrdg-premium__flag{
  position:absolute; top:-11px; left:50%; transform:translateX(-50%);
  margin:0; padding:5px 14px; border-radius:999px;
  background:var(--lrdg-yellow); color:#2b2410;
  font-size:9px; letter-spacing:.12em; white-space:nowrap;
}
.lrdg-premium__name{
  margin:0 0 4px !important;
  font-family:var(--font-title) !important; font-weight:700; font-size:20px !important;
  letter-spacing:-.02em !important; text-transform:none !important;
}
.lrdg-premium__card--featured .lrdg-premium__name{ color:#fff !important; }
.lrdg-premium__tagline{ margin:0 0 18px; font-size:13px; opacity:.85; }
.lrdg-premium__card:not(.lrdg-premium__card--featured) .lrdg-premium__tagline{ color:var(--muted); opacity:1; }

.lrdg-premium__price{ margin:0; display:flex; align-items:baseline; gap:6px; }
.lrdg-premium__amount{ font-family:var(--font-title); font-weight:700; font-size:34px; line-height:1; }
.lrdg-premium__card--featured .lrdg-premium__amount{ color:var(--lrdg-yellow); }
.lrdg-premium__per{ font-size:11px; opacity:.8; }
.lrdg-premium__sub{ margin:6px 0 0; min-height:13px; font-size:10px; opacity:.75; }

.lrdg-premium__cta{ margin:18px 0 0; width:100%; }
.lrdg-premium__card--featured .lrdg-premium__cta.lrdg-btn--premium{ background:#fff; color:var(--lrdg-purple-deep); }
.lrdg-app .lrdg-premium__card--featured .lrdg-btn--premium{ background-color:#fff !important; color:var(--lrdg-purple-deep) !important; }

.lrdg-premium__features{ list-style:none; margin:22px 0 0; padding:20px 0 0; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:9px; }
.lrdg-premium__card--featured .lrdg-premium__features{ border-top-color:rgba(255,255,255,.25); }
.lrdg-premium__features li{ position:relative; padding-left:22px; font-size:13px; line-height:1.4; }
.lrdg-premium__features li::before{
  content:""; position:absolute; left:0; top:5px; width:12px; height:7px;
  border-left:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(-45deg); opacity:.55;
}
.lrdg-premium__card--featured .lrdg-premium__features li::before{ opacity:.9; color:var(--lrdg-yellow); }

/* avantages ---------------------------------------------------- */
.lrdg-premium__adv{ margin-bottom:52px; }
.lrdg-premium__adv-grid{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(2,1fr); gap:14px 26px;
}
.lrdg-premium__adv-grid li{ display:flex; align-items:flex-start; gap:11px; font-size:14px; line-height:1.45; color:var(--ink2); }
.lrdg-premium__adv-grid svg{ flex:0 0 auto; margin-top:2px; color:var(--lrdg-purple); }

/* FAQ -------------------------------------------------------- */
.lrdg-premium__faq{ margin-bottom:36px; }
.lrdg-premium__faq-item{
  border-bottom:1px solid var(--line);
}
.lrdg-premium__faq-item summary{
  padding:16px 0; cursor:pointer; list-style:none;
  font-family:var(--font-title); font-weight:700; font-size:15px; color:var(--ink);
  display:flex; justify-content:space-between; gap:16px; align-items:center;
}
.lrdg-premium__faq-item summary::-webkit-details-marker{ display:none; }
.lrdg-premium__faq-item summary::after{
  content:"+"; flex:0 0 auto; font-family:var(--font-mono); color:var(--lrdg-purple); font-size:18px;
}
.lrdg-premium__faq-item[open] summary::after{ content:"–"; }
.lrdg-premium__faq-item p{ margin:0 0 18px; font-size:14px; line-height:1.6; color:var(--ink2); }

.lrdg-premium__reassure{ text-align:center; font-size:10px; color:var(--muted); }

/* responsive ---------------------------------------------- */
@media (max-width:720px){
  .lrdg-premium__offers,
  .lrdg-premium__adv-grid{ grid-template-columns:1fr; }
  .lrdg-premium__card--featured{ order:-1; }
}


/* ==========================================================================
   Pages hub thématiques (page-hub.php : Jeu vidéo, Ciné/Séries, Littérature, Soluces)
   ========================================================================== */

.lrdg-hub{ max-width:1560px; margin:0 auto; display:flex; flex-direction:column; gap:clamp(38px,4vw,54px); }

.lrdg-hub__head{ max-width:760px; }
.lrdg-hub__title{
  margin:0 !important;
  font-family:var(--font-title) !important; font-weight:700; color:var(--ink) !important;
  font-size:var(--fs-h1-rubrique) !important; line-height:1.08 !important;
  letter-spacing:-.025em !important; text-transform:none !important;
}
/* chapeau éditorial (SEO + contexte lecteur) */
.lrdg-hub__intro{ margin:14px 0 0; }
.lrdg-hub__intro > :first-child{ margin-top:0; }
.lrdg-hub__intro > :last-child{ margin-bottom:0; }
.lrdg-hub__intro p{
  margin:.7em 0 0; color:var(--ink2);
  font-size:15px; line-height:1.62; max-width:66ch;
}
.lrdg-hub__intro a{ color:var(--lrdg-purple); text-underline-offset:2px; }

.lrdg-hub__platforms,
.lrdg-hub__genres{ margin-top:16px; }

/* filtres par type de la section principale ------------------------ */
.lrdg-hub__filters{ margin:2px 0 22px; }

/* hero du hub : carte horizontale ---------------------------------- */
.lrdg-hub__hero .lrdg-hero{ display:grid; grid-template-columns:1.2fr 1fr; align-items:center; }
.lrdg-hub__hero .lrdg-hero__media{ aspect-ratio:3/2; height:auto; min-height:0; }
.lrdg-hub__hero .lrdg-hero:not(.lrdg-hero--portrait-safe) .lrdg-hero__img{ object-position:center 32% !important; }
.lrdg-hub__hero .lrdg-hero__body{ align-self:center; padding:26px clamp(24px,3vw,40px); }
@media (max-width:820px){
  .lrdg-hub__hero .lrdg-hero{ grid-template-columns:1fr; }
  .lrdg-hub__hero .lrdg-hero__media{ aspect-ratio:16/9; }
}

/* hero « portrait-safe » : affiches de film / couvertures de livre.
   L'image entière est visible (contain) sur un fond flouté de la même image
   plutôt que recadrée façon 16/9 (perdrait le sujet sur une affiche verticale). */
.lrdg-hero--portrait-safe .lrdg-hero__media{ background:var(--surface2); }
.lrdg-hero__backdrop{
  position:absolute; inset:-10%;
  background-size:cover; background-position:center;
  filter:blur(28px) brightness(.55) saturate(1.15);
  transform:scale(1.1);
}
.lrdg-hero--portrait-safe .lrdg-hero__img{
  position:absolute; inset:0;
  width:100% !important; height:100% !important;
  object-fit:contain !important; max-width:none;
  filter:drop-shadow(0 12px 28px rgba(0,0,0,.45));
}

/* bandeau « tests notés » : pastille de note visible sur la carte --- */
.lrdg-hub__scored .lrdg-tile .lrdg-score{ top:10px; right:10px; }

/* section « exclusivités membres » -------------------------------- */
.lrdg-hub__premium .lrdg-section__head{ flex-wrap:wrap; }
.lrdg-hub__premium .lrdg-badge-premium{ flex-basis:100%; margin-bottom:2px; }
.lrdg-hub__premium{
  padding:20px 22px; border-radius:var(--r-lg);
  background:color-mix(in srgb, var(--lrdg-purple) 6%, var(--surface));
  border:1px solid color-mix(in srgb, var(--lrdg-purple) 20%, var(--line));
}
/* bouton « Charger plus » de section (pages hub) */
.lrdg-section__foot{ display:flex; justify-content:center; margin-top:28px; }
.lrdg-section__foot .lrdg-loadmore{ min-width:240px; }
.lrdg-section__foot .lrdg-loadmore.is-loading{ opacity:.55; }

/* bloc « sorties à venir » (rempli par rawg-api.js / tmdb-movies.js) -----
   Sélecteurs sur-spécifiés (#id.class) pour battre le CSS Elementor/Customizer
   hérité : #movies-container{display:flex}, .movie{padding;text-align:center}… */
#games-container.lrdg-releases,
#movies-container.lrdg-releases{
  display:grid !important; grid-template-columns:repeat(4,1fr); gap:18px;
  justify-content:initial;
}
.lrdg-releases__status{ grid-column:1/-1; margin:0; padding:22px 0; color:var(--muted); font-size:11px; }

#games-container.lrdg-releases .game,
#movies-container.lrdg-releases .movie{
  display:flex; flex-direction:column; align-items:stretch;
  padding:0 !important; text-align:left; box-shadow:none !important;
  min-height:0 !important; height:auto !important;
  background:var(--surface); border:1px solid var(--line) !important; border-radius:var(--r-card) !important; overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease;
}
#games-container.lrdg-releases .game:hover,
#movies-container.lrdg-releases .movie:hover{ transform:translateY(-3px); box-shadow:var(--shadow) !important; }

.lrdg-app #games-container.lrdg-releases .game img,
.lrdg-app #movies-container.lrdg-releases .movie img{
  order:-1; width:100% !important; height:auto !important; display:block;
  object-fit:cover; background:var(--surface2); border-radius:0 !important; max-width:none;
}
.lrdg-app #games-container.lrdg-releases .game img{ aspect-ratio:16/10; }
.lrdg-app #movies-container.lrdg-releases .movie img{ aspect-ratio:2/3; }

.lrdg-app #games-container.lrdg-releases .game h3,
.lrdg-app #movies-container.lrdg-releases .movie h3{
  margin:0 !important; padding:12px 13px 0; max-width:none !important;
  white-space:normal !important; overflow:visible !important; text-overflow:clip !important;
  font-family:var(--font-body) !important; font-weight:700 !important; font-size:var(--fs-card-title) !important;
  line-height:1.32 !important; color:var(--ink) !important; text-transform:none !important; letter-spacing:0 !important;
}
.lrdg-app #games-container.lrdg-releases .game p,
.lrdg-app #movies-container.lrdg-releases .movie p{
  flex:0 0 auto !important; display:block !important;
  margin:auto 0 0 !important; padding:6px 13px 13px;
  font-family:var(--font-mono) !important; font-size:10px; letter-spacing:.04em; color:var(--muted) !important;
}

@media (max-width:1024px){
  #games-container.lrdg-releases,#movies-container.lrdg-releases{
    grid-template-columns:repeat(3,1fr);
    align-items:start; /* cartes à la hauteur du contenu, pas de blanc inutile */
  }
  /* la date suit le titre au lieu d'être poussée en bas de carte */
  .lrdg-app #games-container.lrdg-releases .game p,
  .lrdg-app #movies-container.lrdg-releases .movie p{ margin:6px 0 0 !important; padding:0 13px 13px; }
}
@media (max-width:720px){ #games-container.lrdg-releases,#movies-container.lrdg-releases{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:420px){ #games-container.lrdg-releases,#movies-container.lrdg-releases{ grid-template-columns:1fr; } }


/* ==========================================================================
   Pages éditoriales (page-lrdg.php : pied de page, Notre Équipe, Plan du site)
   ========================================================================== */

.lrdg-page{ max-width:1120px; margin:0 auto; }
.lrdg-page__head{ max-width:760px; margin:0 auto 26px; }
.lrdg-page__title{
  margin:0 !important;
  font-family:var(--font-title) !important; font-weight:700; color:var(--ink) !important;
  font-size:var(--fs-h1-rubrique) !important; line-height:1.08 !important;
  letter-spacing:-.025em !important; text-transform:none !important;
}
.lrdg-page__updated{ margin:10px 0 0; font-size:10px; color:var(--muted); }
.lrdg-page__content{ max-width:760px; margin:0 auto; }
.lrdg-page__content > h2:first-child,
.lrdg-page__content > h3:first-child{ margin-top:0 !important; }
.lrdg-page__content hr{
  margin:2.4em 0; border:0; height:1px; background:var(--line);
}
.lrdg-page__content ul li{ margin:.35em 0; }
.lrdg-page__content ul li strong{ color:var(--ink); }
/* pages « colonnes » (nous rejoindre) : intro pleine largeur, sections côte à côte */
.lrdg-page--columns{ max-width:1120px; }
.lrdg-page--columns .lrdg-page__lead,
.lrdg-page--columns .lrdg-page__outro{ max-width:760px; margin-left:auto; margin-right:auto; }
.lrdg-page__cols{
  display:grid; gap:34px; margin:36px auto;
  grid-template-columns:repeat(3,1fr);
}
.lrdg-page__cols--2{ grid-template-columns:repeat(2,1fr); max-width:820px; }
.lrdg-page__cols--4{ grid-template-columns:repeat(4,1fr); }
.lrdg-page__col{
  padding:22px; border:1px solid var(--line); border-radius:var(--r-lg); background:var(--surface);
  font-size:14px;
}
.lrdg-page__col > :first-child{ margin-top:0 !important; }
.lrdg-page__col > :last-child{ margin-bottom:0 !important; }
.lrdg-page__col h2{ margin-top:0 !important; font-size:18px !important; }
.lrdg-page__col h2:first-child{ margin-bottom:.7em !important; }
@media (max-width:960px){
  .lrdg-page__cols,
  .lrdg-page__cols--4{ grid-template-columns:1fr 1fr; }
}
@media (max-width:620px){
  .lrdg-page__cols,
  .lrdg-page__cols--2,
  .lrdg-page__cols--4{ grid-template-columns:1fr; }
}

.lrdg-page__content ul.lrdg-list--emoji{ list-style:none; padding-left:0; }
.lrdg-page__content ul.lrdg-list--emoji li{
  display:flex; align-items:baseline; gap:11px; padding-left:0;
}
.lrdg-li-mark{ flex:0 0 1.4em; text-align:center; }
.lrdg-li-mark img.emoji{ width:1.05em; height:1.05em; vertical-align:-.15em; }

/* Neutralise le rendu Elementor injecté par the_content() : on laisse le texte
   respirer dans la colonne, sans les fonds/sections pleine largeur du builder. */
.lrdg-app .lrdg-page__content .elementor,
.lrdg-app .lrdg-page__content .elementor-section,
.lrdg-app .lrdg-page__content .elementor-container,
.lrdg-app .lrdg-page__content .elementor-row,
.lrdg-app .lrdg-page__content .elementor-column,
.lrdg-app .lrdg-page__content .elementor-column-wrap,
.lrdg-app .lrdg-page__content .elementor-widget-wrap,
.lrdg-app .lrdg-page__content .e-con,
.lrdg-app .lrdg-page__content .e-con-inner{
  width:auto !important; max-width:100% !important; flex:1 1 auto !important;
  margin:0 !important; padding:0 !important;
  background:none !important; background-image:none !important; box-shadow:none !important; min-height:0 !important;
}
.lrdg-app .lrdg-page__content .elementor-widget{ margin:0 0 1.1em !important; width:auto !important; }
.lrdg-app .lrdg-page__content .elementor-widget:last-child{ margin-bottom:0 !important; }

/* image parasite (logo gris) laissée dans le contenu de certaines pages */
.lrdg-page__content > img:last-child,
.lrdg-page__content p:last-child > img:only-child{ display:none; }

/* Formulaire Forminator (espace presse…) : accord avec la refonte -------- */
.lrdg-page__content .forminator-ui.forminator-custom-form{ margin:26px 0 0; max-width:520px; }
.lrdg-page__content .forminator-row{ margin-bottom:14px !important; }
.lrdg-page__content .forminator-label{
  font-family:var(--font-mono) !important; font-size:10px !important; letter-spacing:.06em; text-transform:uppercase;
  color:var(--muted) !important; margin-bottom:6px !important;
}
.lrdg-page__content .forminator-input,
.lrdg-page__content .forminator-textarea,
.lrdg-page__content .forminator-selectfield,
.lrdg-page__content .forminator-input-with-icon input{
  width:100% !important; padding:11px 13px !important;
  border:1px solid var(--line) !important; border-radius:var(--r-sm) !important;
  background:var(--surface) !important; color:var(--ink) !important;
  font-family:var(--font-body) !important; font-size:14px !important; box-shadow:none !important;
}
.lrdg-page__content .forminator-textarea{ min-height:120px !important; }
.lrdg-page__content .forminator-input:focus,
.lrdg-page__content .forminator-textarea:focus{ border-color:var(--lrdg-purple) !important; outline:none !important; }
.lrdg-page__content .forminator-description{ font-size:10px !important; color:var(--muted) !important; }
.lrdg-app .lrdg-page__content .forminator-button-submit{
  background-color:var(--lrdg-purple) !important; color:#fff !important;
  border:0 !important; border-radius:var(--r-sm) !important;
  padding:12px 22px !important; font-family:var(--font-body) !important; font-weight:800 !important; font-size:13px !important;
  box-shadow:none !important;
}
.lrdg-app .lrdg-page__content .forminator-button-submit:hover{ background-color:var(--lrdg-purple-deep) !important; }
.lrdg-page__content .forminator-editor-link,
.lrdg-page__content a[href*="admin.php?page=forminator"]{ display:none !important; }

/* Notre Équipe ---------------------------------------------------------- */
.lrdg-equipe__intro{ max-width:680px; margin:0 auto 40px; }
.lrdg-equipe__grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:24px 20px;
}
.lrdg-equipe__grid--past{ grid-template-columns:repeat(6,1fr); gap:20px 14px; }
.lrdg-equipe__card{ text-align:center; }
.lrdg-equipe__avatar{
  display:block; width:104px; height:104px; margin:0 auto 12px;
  border-radius:50%; overflow:hidden; background:var(--surface2);
  box-shadow:0 0 0 0 transparent;
  transition:transform .18s ease, box-shadow .18s ease;
}
.lrdg-equipe__grid--past .lrdg-equipe__avatar{ width:72px; height:72px; }
.lrdg-equipe__avatar img{
  width:100% !important; height:100% !important; object-fit:cover; display:block; max-width:none;
  transition:transform .28s ease;
}
.lrdg-equipe__card:hover .lrdg-equipe__avatar,
.lrdg-equipe__avatar:focus-visible{
  transform:translateY(-3px);
  box-shadow:0 0 0 3px var(--surface), 0 0 0 5px var(--lrdg-purple), 0 10px 22px -8px rgba(20,10,30,.35);
}
.lrdg-equipe__card:hover .lrdg-equipe__avatar img{ transform:scale(1.06); }
.lrdg-app .lrdg-equipe__card:hover .lrdg-equipe__name a{ color:var(--lrdg-purple) !important; }
@media (prefers-reduced-motion: reduce){
  .lrdg-equipe__card:hover .lrdg-equipe__avatar{ transform:none; }
  .lrdg-equipe__card:hover .lrdg-equipe__avatar img{ transform:none; }
}
.lrdg-equipe__avatar--empty{
  display:grid; place-items:center; width:100%; height:100%;
  background:var(--lrdg-purple); color:#fff; font-family:var(--font-title); font-weight:700; font-size:24px;
}
.lrdg-equipe__name{ margin:0; font-family:var(--font-title); font-weight:700; font-size:15px; color:var(--ink); }
.lrdg-app .lrdg-equipe__name a{ color:inherit !important; font-size:inherit !important; font-weight:700 !important; text-decoration:none; }
.lrdg-app .lrdg-equipe__name a:hover{ color:var(--lrdg-purple) !important; }
.lrdg-equipe__grid--past .lrdg-equipe__name{ font-size:13px; }
.lrdg-equipe__role{ margin:3px 0 0; font-size:9.5px; color:var(--muted); }

/* Plan du site -------------------------------------------------------- */
.lrdg-sitemap__stack{ display:flex; flex-direction:column; gap:18px; margin:8px 0 0; }
.lrdg-sitemap__block{
  padding:26px 28px;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg);
  box-shadow:var(--shadow);
}
.lrdg-sitemap__block .lrdg-kicker{ margin:0 0 4px; text-transform:uppercase; letter-spacing:.1em; font-family:var(--font-mono); font-size:9.5px; }
.lrdg-sitemap__h{
  margin:0 0 18px !important;
  font-family:var(--font-title) !important; font-weight:700; font-size:24px !important;
  line-height:1.1 !important; text-transform:none !important; letter-spacing:-.02em !important;
  color:var(--ink) !important;
}
.lrdg-sitemap__list{
  list-style:none; margin:0; padding:16px 0 0; border-top:1px solid var(--line);
  columns:220px; column-gap:34px;
}
.lrdg-sitemap__list li{
  break-inside:avoid;
  display:flex; align-items:baseline; gap:8px; padding:5px 0;
  font-size:13.5px; line-height:1.4;
}
.lrdg-sitemap__list--recent{ columns:240px; column-gap:34px; }
.lrdg-sitemap__list--recent li{ display:block; padding:6px 0; }
.lrdg-sitemap__list--recent li a{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.lrdg-sitemap li a{ color:var(--ink2) !important; text-decoration:none; }
.lrdg-sitemap li a:hover{ color:var(--lrdg-purple) !important; }
.lrdg-sitemap__n{
  flex:0 0 auto; font-family:var(--font-mono); font-size:9.5px; color:var(--muted);
}
.lrdg-sitemap__date{ display:block; margin-top:2px; font-size:10px; color:var(--muted); }

@media (max-width:900px){
  .lrdg-equipe__grid{ grid-template-columns:repeat(3,1fr); }
  .lrdg-equipe__grid--past{ grid-template-columns:repeat(4,1fr); }
}
@media (max-width:560px){
  .lrdg-equipe__grid,
  .lrdg-equipe__grid--past{ grid-template-columns:repeat(2,1fr); }
  .lrdg-sitemap__block{ padding:20px; }
  .lrdg-sitemap__h{ font-size:20px !important; }
  .lrdg-sitemap__list{ columns:1; }
}

/* ==========================================================================
   Espace membre (page-lrdg.php : /account/)
   ========================================================================== */

.lrdg-account__head{ max-width:none; margin:0 0 22px; text-align:left; }

/* rangée de boutons (modifier profil / mon compte / devenir premium) */
.lrdg-account__actions{ display:flex; flex-wrap:wrap; gap:12px; margin:20px 0 0; }

/* sections empilées */
.lrdg-account__section{ margin-top:clamp(34px,4.5vw,56px); }

/* titres : harmonise les <h3> émis par les shortcodes avec .lrdg-section__head */
.lrdg-account__section > .lrdg-section__head{ margin-bottom:18px; }
.lrdg-account .lrdg-liked-posts{ margin:0 !important; }
.lrdg-liked-posts__empty{ color:var(--muted); font-size:14px; margin:0; }

/* <h3> bruts émis par [read_later_list] / [platform_recos] / [lrdg_my_ratings] */
.lrdg-app .lrdg-account .lrdg-liked-posts > h3{
  display:flex; align-items:center; gap:16px; margin:0 0 18px !important;
  font-family:var(--font-title) !important; font-weight:700 !important;
  font-size:var(--fs-h2) !important; letter-spacing:-.02em !important;
  color:var(--ink) !important; text-transform:none !important;
}
.lrdg-account .lrdg-liked-posts > h3::after{
  content:""; flex:1 1 auto; height:1px; background:var(--line);
}

/* [read_later_list] + [platform_recos] : cartes .lrdg-card → habillage v4, theme-aware */
.lrdg-account .lrdg-cards-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; margin:0;
}
.lrdg-app .lrdg-account .lrdg-card{
  display:flex; flex-direction:column; overflow:hidden;
  background:var(--surface) !important;
  border:1px solid var(--line) !important;
  border-radius:var(--r-card) !important; box-shadow:none !important;
}
.lrdg-app .lrdg-account .lrdg-card-link{
  display:flex; flex-direction:column; flex:1 1 auto;
  text-decoration:none !important; color:inherit !important;
}
.lrdg-account .lrdg-card-thumb{
  position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--surface2);
}
.lrdg-app .lrdg-account .lrdg-card-thumb img{
  width:100% !important; height:100% !important; max-width:none !important;
  object-fit:cover; margin:0 !important; border-radius:0 !important;
}
.lrdg-app .lrdg-account .lrdg-card-pill{
  position:absolute !important; left:10px !important; top:10px !important; right:auto !important;
  display:inline-block; width:auto !important; max-width:calc(100% - 20px);
  padding:3px 9px !important; border-radius:5px !important;
  font-family:var(--font-mono) !important; font-size:9px !important; font-weight:600 !important;
  letter-spacing:.06em !important; text-transform:uppercase;
  background:rgba(12,5,20,.72) !important; color:#fff !important;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.lrdg-account .lrdg-card-body{
  display:flex; flex-direction:column; gap:6px; padding:14px 15px 16px; flex:1 1 auto;
}
.lrdg-app .lrdg-account .lrdg-card-title{
  margin:0 !important; font-family:var(--font-title) !important; font-weight:700 !important;
  font-size:15px !important; line-height:1.25 !important; color:var(--ink) !important;
}
.lrdg-app .lrdg-account .lrdg-card-excerpt{
  margin:0 !important; font-size:12.5px; line-height:1.5; color:var(--ink2) !important;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.lrdg-app .lrdg-account .lrdg-card-more{
  margin-top:auto; padding-top:6px;
  font-family:var(--font-mono); font-size:10px; letter-spacing:.05em; text-transform:uppercase;
  color:var(--muted) !important;
}
.lrdg-account .lrdg-card > div:last-child{ padding:0 15px 15px !important; }
@media (max-width:820px){ .lrdg-account .lrdg-cards-grid{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width:520px){ .lrdg-account .lrdg-cards-grid{ grid-template-columns:1fr; } }

/* en-tête de repli (pas de photo de couverture) */
.lrdg-account .profil-geek-header--fallback{
  background:linear-gradient(135deg,var(--lrdg-purple),var(--lrdg-purple-deep));
  border-radius:var(--r-lg); overflow:hidden;
}
.lrdg-account .profil-geek-header--fallback .profil-geek-header__initials{
  display:flex; align-items:center; justify-content:center; width:100%; height:100%;
  font-family:var(--font-title); font-weight:700; font-size:34px; color:#fff;
  background:rgba(255,255,255,.14);
}

/* en-tête bannière (badge Premium) — autonome, ne dépend d'aucun CSS Elementor */
.lrdg-account .profil-geek-header{
  position:relative; display:flex; width:100%; min-height:220px;
  margin:0 0 26px; border-radius:var(--r-lg); overflow:hidden;
  background-color:var(--lrdg-purple-deep);
  background-size:cover !important; background-position:center 35% !important;
  background-repeat:no-repeat !important;
}
.lrdg-account .profil-geek-header__overlay{
  width:100%; display:flex; align-items:center;
  background:
    linear-gradient(90deg, rgba(12,5,20,.88) 0%, rgba(12,5,20,.6) 46%, rgba(12,5,20,.34) 100%),
    linear-gradient(0deg, rgba(12,5,20,.25), rgba(12,5,20,.25));
}
.lrdg-account .profil-geek-header__inner{
  display:flex; align-items:center; gap:22px; width:100%; padding:26px 32px;
}
.lrdg-account .profil-geek-header__avatar{ position:relative; flex:0 0 auto; width:92px; height:92px; }
.lrdg-account .profil-geek-header__avatar img{
  width:92px !important; height:92px !important; max-width:92px !important;
  border-radius:50%; object-fit:cover; display:block;
  border:2px solid rgba(255,255,255,.9); box-shadow:0 0 0 4px rgba(255,255,255,.12);
}
.lrdg-account .profil-geek-header__avatar-badge{
  position:absolute; right:-2px; bottom:-2px; display:grid; place-items:center;
  width:26px; height:26px; border-radius:50%;
  background:var(--lrdg-yellow); color:#1c1526; font-size:13px; font-weight:700;
  border:2px solid rgba(12,5,20,.9);
}
.lrdg-account .profil-geek-header__text{
  display:flex; flex-direction:column; align-items:flex-start; gap:8px; min-width:0;
}
.lrdg-account .profil-geek-header__name-row{ display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.lrdg-app .lrdg-account .profil-geek-header__name{
  margin:0 !important; color:#fff !important; text-transform:none !important;
  font-family:var(--font-title) !important; font-weight:700 !important;
  font-size:clamp(1.6rem, 1rem + 1.7vw, 2rem) !important;
  line-height:1.06 !important; letter-spacing:-.02em !important;
}
.lrdg-account .profil-geek-header__ach-title{
  font-family:var(--font-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase;
  color:rgba(255,255,255,.75);
}
.lrdg-account .profil-geek-header__progress{ width:100%; max-width:420px; margin-top:2px; }
.lrdg-account .profil-geek-header__progress .lrdg-progress-wrap{ margin:0; }
.lrdg-account .profil-geek-header__bio{
  margin:4px 0 0; max-width:60ch;
  color:rgba(255,255,255,.82); font-size:13.5px; line-height:1.5;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
@media (max-width:640px){
  .lrdg-account .profil-geek-header__inner{ flex-direction:column; align-items:flex-start; gap:14px; padding:22px; }
  .lrdg-account .profil-geek-header__avatar,
  .lrdg-account .profil-geek-header__avatar img{ width:74px; height:74px; }
}

/* --- formulaire d'édition du profil geek (ACF) ------------------------- */
.lrdg-account__edit{
  padding:26px 28px; background:var(--surface);
  border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow);
}
.lrdg-account__edit .titre-geek,
.lrdg-account__edit > h2:first-child{
  margin:0 0 18px !important;
  font-family:var(--font-title) !important; font-weight:700 !important;
  font-size:var(--fs-h2) !important; letter-spacing:-.02em !important; color:var(--ink) !important;
}
.lrdg-app .lrdg-account__edit .acf-form .acf-fields > .acf-field{
  border-top:1px solid var(--line); padding:16px 0;
}
.lrdg-app .lrdg-account__edit .acf-form .acf-label label{
  font-family:var(--font-body); font-weight:700; font-size:13px; color:var(--ink);
}
.lrdg-app .lrdg-account__edit .acf-form input[type="text"],
.lrdg-app .lrdg-account__edit .acf-form input[type="url"],
.lrdg-app .lrdg-account__edit .acf-form textarea,
.lrdg-app .lrdg-account__edit .acf-form select{
  border:1px solid var(--line) !important; border-radius:var(--r-sm) !important;
  background:var(--surface) !important; font-family:var(--font-body) !important; font-size:13px !important;
}
.lrdg-app .lrdg-account__edit .acf-form .acf-button,
.lrdg-app .lrdg-account__edit .acf-form input[type="submit"]{
  background:var(--lrdg-purple) !important; color:#fff !important; border:0 !important;
  border-radius:var(--r-sm) !important; box-shadow:none !important;
  font-family:var(--font-body) !important; font-weight:800 !important; font-size:13px !important;
  padding:12px 20px !important;
}
.lrdg-app .lrdg-account__edit .acf-form .acf-button:hover,
.lrdg-app .lrdg-account__edit .acf-form input[type="submit"]:hover{ background:var(--lrdg-purple-deep) !important; }

/* --- Non-Premium : accroche de conversion ------------------------------- */
.lrdg-account__gate{
  max-width:620px; margin:0 auto; padding:38px 32px; text-align:center;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg);
  box-shadow:var(--shadow);
}
.lrdg-account__gate .lrdg-page__title{ margin:4px 0 0; }
.lrdg-account__pitch{
  margin:14px auto 0; max-width:46ch; color:var(--ink2); font-size:14px; line-height:1.6;
}
.lrdg-account__gate .lrdg-account__actions{ justify-content:center; margin-top:22px; }

/* --- neutralise le bouton jaune hérité (CSS additionnel) sur les CTA « Retirer » --- */
.lrdg-app .lrdg-account button.geek-read-later-btn,
.lrdg-app .lrdg-account .lrdg-card .button{
  background:transparent !important; color:var(--ink2) !important;
  border:1px solid var(--line) !important; border-radius:var(--r-sm) !important;
  font-family:var(--font-body) !important; font-weight:700 !important; font-size:12px !important;
  padding:8px 14px !important; box-shadow:none !important;
}
.lrdg-app .lrdg-account button.geek-read-later-btn:hover,
.lrdg-app .lrdg-account .lrdg-card .button:hover{
  color:var(--lrdg-purple) !important; box-shadow:inset 0 0 0 1px var(--lrdg-purple) !important;
}

/* --- [lrdg_my_ratings] : cercles de notes ------------------------------- */
.lrdg-rating-circles{
  display:flex; flex-wrap:wrap; gap:26px 20px; margin:0;
}
.lrdg-app .lrdg-account .lrdg-rating-circles .lrdg-circle{
  position:relative; display:block; width:92px; flex:0 0 92px;
  padding-bottom:34px; text-decoration:none !important; color:var(--ink2) !important;
}
.lrdg-circle__bg{
  display:block; width:92px; height:92px; border-radius:50%;
  background-image:var(--lrdg-img); background-size:cover; background-position:center;
  background-color:var(--surface2);
  box-shadow:inset 0 0 0 1px var(--line), 0 8px 18px -10px rgba(20,10,30,.45);
  transition:transform .18s ease;
}
.lrdg-circle:hover .lrdg-circle__bg{ transform:translateY(-3px); }
.lrdg-circle__score{
  position:absolute; left:60px; top:60px;
  width:32px; height:32px; border-radius:50%;
  display:grid; place-items:center;
  background:var(--lrdg-purple) !important; color:#fff !important;
  border:3px solid var(--surface);
  font-family:var(--font-title); font-weight:700; font-size:12px; line-height:1;
}
.lrdg-circle__score-inner,
.lrdg-circle__score-num{ display:block; line-height:1; color:#fff !important; }
.lrdg-circle__title{
  position:absolute; left:-10px; right:-10px; top:98px;
  text-align:center; font-size:11px; line-height:1.25; color:var(--ink2);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
/* « Mes notes » : toutes les pastilles en violet (couleur de la section).
   Les notes éditoriales d'un rédacteur portent .lrdg-circle--editorial mais
   restent violettes — le distinguo se lit dans l'en-tête « N notes · moyenne ». */
/* sous-titre compteur + moyenne dans le <h3> « Mes notes » (rédaction) */
.lrdg-app .lrdg-account .lrdg-liked-posts > h3 .lrdg-liked-posts__meta{
  font-family:var(--font-mono) !important; font-weight:500 !important;
  font-size:11px !important; letter-spacing:.04em !important;
  text-transform:uppercase; color:var(--muted) !important;
  flex:0 0 auto; white-space:nowrap;
}
/* « Mes notes » : vue réduite à 2 lignes de pastilles, dépliée au clic.
   Rangée = 126px (bg 92 + padding-bottom 34), row-gap 26px → 2 lignes ≈ 278px. */
.lrdg-app .lrdg-account .lrdg-rating-circles[data-lrdg-rows="2"]{
  max-height:288px; overflow:hidden;
}
.lrdg-app .lrdg-account .lrdg-rating-circles[data-lrdg-rows].is-expanded{
  max-height:none; overflow:visible;
}

/* --- [profil_geek_favorites] dans l'espace membre ---------------------- */
.lrdg-account .profil-geek-favs{
  display:grid; gap:18px;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  align-items:start;
}
.lrdg-account .profil-geek-favs__section{
  padding:18px 20px; background:var(--surface);
  border:1px solid var(--line); border-radius:var(--r-lg);
}
.lrdg-account .profil-geek-favs__title{
  margin:0 0 12px !important; font-family:var(--font-title); font-weight:700;
  font-size:15px !important; color:var(--ink) !important; letter-spacing:0;
}
.lrdg-account .profil-geek-favs__subtitle{
  margin:14px 0 6px; font-family:var(--font-mono); font-size:9.5px;
  letter-spacing:.1em; text-transform:uppercase; color:var(--muted);
}
.lrdg-account .profil-geek-favs__tags,
.lrdg-account .profil-geek-favs__list{
  list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px;
}
.lrdg-account .profil-geek-favs__tags li,
.lrdg-account .profil-geek-favs__list li{
  padding:5px 12px; border:1px solid var(--line); border-radius:999px;
  font-size:12.5px; color:var(--ink2); background:var(--surface2);
}
/* liste « Genres » repliable — bascule CSS (case cachée + label) */
.lrdg-account .profil-genres-toggle{ position:absolute; opacity:0; width:1px; height:1px; pointer-events:none; }
.lrdg-account .profil-geek-favs__tags--genres{
  max-height:88px; overflow:hidden;
  -webkit-mask-image:linear-gradient(#000 58%, transparent);
          mask-image:linear-gradient(#000 58%, transparent);
  transition:max-height .2s ease;
}
.lrdg-account .profil-genres-toggle:checked ~ .profil-geek-favs__tags--genres{
  max-height:1200px; -webkit-mask-image:none; mask-image:none;
}
.lrdg-app .lrdg-account .profil-genres-more{
  display:inline-block; margin:12px 0 0; padding:0; cursor:pointer;
  font-family:var(--font-mono); letter-spacing:.08em; text-transform:uppercase;
  font-size:0 !important;
  color:var(--lrdg-purple) !important; background:none !important; border:0 !important; box-shadow:none !important;
}
.lrdg-account .profil-genres-more::after{ content:"Voir plus"; font-size:10px; }
.lrdg-account .profil-genres-toggle:checked ~ .profil-genres-more::after{ content:"Voir moins"; }
.lrdg-app .lrdg-account .profil-genres-more:hover{ color:var(--lrdg-purple-deep) !important; }

/* --- succès : garde le compteur du shortcode en légende discrète -------- */
.lrdg-account__section--ach .lrdg-ach-wrap{ margin-top:0; }
.lrdg-account__section--ach .lrdg-ach-header{
  margin:0 0 14px; font-family:var(--font-mono); font-size:11px; letter-spacing:.04em; color:var(--muted);
}
.lrdg-account__section--ach .lrdg-ach-header strong{ color:var(--muted); font-weight:400; }

@media (max-width:560px){
  .lrdg-account__actions .lrdg-btn{ flex:1 1 auto; }
}

/* --- Paramètres du compte (PMS [pms-account]) -------------------------- */
.lrdg-account-settings__pms{ margin-top:8px; }

/* navigation par onglets */
.lrdg-account-settings .pms-account-navigation{ margin:0 0 26px; }
.lrdg-account-settings .pms-account-navigation ul{
  display:flex; flex-wrap:wrap; gap:4px; margin:0; padding:0; list-style:none;
  border-bottom:1px solid var(--line);
}
.lrdg-account-settings .pms-account-navigation-link{ margin:0; }
.lrdg-app .lrdg-account-settings .pms-account-navigation-link a{
  display:inline-block; padding:10px 14px; margin-bottom:-1px;
  border-bottom:2px solid transparent;
  font-family:var(--font-body); font-weight:700; font-size:13px;
  color:var(--muted) !important; text-decoration:none;
}
.lrdg-app .lrdg-account-settings .pms-account-navigation-link a:hover{ color:var(--ink) !important; }
.lrdg-app .lrdg-account-settings .pms-account-navigation-link a.pms-account-navigation-link--active{
  color:var(--lrdg-purple) !important; border-bottom-color:var(--lrdg-purple);
}
.lrdg-account-settings .pms-account-navigation-link--logout{ margin-left:auto; }

/* tableau d'abonnement */
.lrdg-account-settings .pms-account-subscription-details-table,
.lrdg-account-settings table.pms-account-subscription-details-table{
  width:100%; border-collapse:collapse; margin:0 0 18px;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden;
}
.lrdg-account-settings .pms-account-subscription-details-table tr{ border-bottom:1px solid var(--line); }
.lrdg-account-settings .pms-account-subscription-details-table tr:last-child{ border-bottom:0; }
.lrdg-app .lrdg-account-settings .pms-account-subscription-details-table td{
  padding:14px 20px; font-size:13.5px; vertical-align:middle; border:0;
}
.lrdg-app .lrdg-account-settings .pms-account-subscription-details-table td:first-child{
  width:38%; font-family:var(--font-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--muted) !important; background:var(--surface2);
}
.lrdg-app .lrdg-account-settings .pms-account-subscription-details-table td:last-child{ color:var(--ink) !important; font-weight:600; }
.lrdg-app .lrdg-account-settings .pms-account-subscription-details-table td.status-active{ color:#1a7f45 !important; }

/* liens d'action (renouveler / changer / abandon) */
.lrdg-account-settings .pms-account-subscription-details-table__actions td:last-child{
  display:flex; flex-wrap:wrap; gap:10px; align-items:center; font-weight:400;
}
.lrdg-app .lrdg-account-settings a.pms-account-subscription-action-link{
  display:inline-flex; padding:8px 14px; border-radius:var(--r-sm);
  font-size:12px; font-weight:700; text-decoration:none;
  box-shadow:inset 0 0 0 1px var(--line); color:var(--ink2) !important;
}
.lrdg-app .lrdg-account-settings a.pms-account-subscription-action-link:hover{
  box-shadow:inset 0 0 0 1px var(--lrdg-purple); color:var(--lrdg-purple) !important;
}
.lrdg-app .lrdg-account-settings a.pms-account-subscription-action-link__renew{
  background:var(--lrdg-purple); color:#fff !important; box-shadow:none;
}
.lrdg-app .lrdg-account-settings a.pms-account-subscription-action-link__renew:hover{
  background:var(--lrdg-purple-deep); color:#fff !important;
}
.lrdg-app .lrdg-account-settings .pms-account-subscription-action-link__abandon{
  font-size:11px; color:var(--muted) !important; box-shadow:none; cursor:pointer;
}

/* boutons de formulaire PMS : violet, pas le jaune hérité */
.lrdg-app .lrdg-account-settings .pms-account-form button,
.lrdg-app .lrdg-account-settings .pms-account-form input[type="submit"],
.lrdg-app .lrdg-account-settings form[class*="pms"] button,
.lrdg-app .lrdg-account-settings form[class*="pms"] input[type="submit"]{
  background:var(--lrdg-purple) !important; color:#fff !important;
  border:0 !important; border-radius:var(--r-sm) !important; box-shadow:none !important;
  padding:12px 20px !important; font-family:var(--font-body) !important;
  font-weight:800 !important; font-size:13px !important; cursor:pointer;
}
.lrdg-app .lrdg-account-settings .pms-account-form button:hover,
.lrdg-app .lrdg-account-settings .pms-account-form input[type="submit"]:hover,
.lrdg-app .lrdg-account-settings form[class*="pms"] button:hover,
.lrdg-app .lrdg-account-settings form[class*="pms"] input[type="submit"]:hover{
  background:var(--lrdg-purple-deep) !important;
}

/* messages / formulaires PMS génériques */
.lrdg-account-settings .pms-account-content{ max-width:none; }
.lrdg-app .lrdg-account-settings .pms-account-messages,
.lrdg-account-settings .pms-account-form input[type="text"],
.lrdg-account-settings .pms-account-form input[type="email"],
.lrdg-account-settings .pms-account-form input[type="password"],
.lrdg-account-settings .pms-account-form select{
  border:1px solid var(--line); border-radius:var(--r-sm); background:var(--surface);
  padding:10px 12px; font-family:var(--font-body); font-size:13px;
}

@media (max-width:560px){
  .lrdg-app .lrdg-account-settings .pms-account-subscription-details-table td{ display:block; width:auto; }
  .lrdg-account-settings .pms-account-navigation-link--logout{ margin-left:0; }
}

/* ==========================================================================
   Pages auteur (single-membre-redaction.php)
   ========================================================================== */

/* colonne centrée, resserrée : bannière / bio / réseaux / articles alignés */
.lrdg-member{ max-width:940px; margin:0 auto; }

/* en-tête bannière — autonome, ne dépend pas du CSS Elementor */
.lrdg-member .profil-geek-header{
  position:relative; display:flex; width:100%; min-height:210px;
  margin:0 0 26px; border-radius:var(--r-lg); overflow:hidden;
  background-color:var(--lrdg-purple-deep); background-size:cover; background-position:center 35%;
}
.lrdg-member .profil-geek-header__overlay{
  width:100%; display:flex; align-items:center;
  background:
    linear-gradient(90deg, rgba(12,5,20,.86) 0%, rgba(12,5,20,.55) 48%, rgba(12,5,20,.32) 100%),
    linear-gradient(0deg, rgba(12,5,20,.25), rgba(12,5,20,.25));
}
.lrdg-member .profil-geek-header__inner{
  display:flex; align-items:center; gap:22px; width:100%; padding:26px 32px;
}
.lrdg-member .profil-geek-header__avatar{ flex:0 0 auto; width:88px; height:88px; }
.lrdg-member .profil-geek-header__avatar img{
  width:88px; height:88px; border-radius:50%; object-fit:cover;
  border:2px solid rgba(255,255,255,.9);
  box-shadow:0 0 0 4px rgba(255,255,255,.12);
}
.lrdg-member .profil-geek-header__text{ display:flex; flex-direction:column; align-items:flex-start; gap:10px; min-width:0; }
.lrdg-app .lrdg-member .profil-geek-header__name{
  margin:0 !important; color:#fff !important; text-transform:none !important;
  font-family:var(--font-title) !important; font-weight:700 !important;
  font-size:clamp(1.7rem, 1rem + 1.9vw, 2.15rem) !important;
  line-height:1.06 !important; letter-spacing:-.02em !important;
}
.lrdg-member .profil-geek-header__poste{
  display:inline-block; padding:5px 12px; border-radius:999px;
  background:rgba(255,255,255,.16); color:#fff;
  font-family:var(--font-mono); font-size:9.5px; letter-spacing:.14em; text-transform:uppercase;
}
.lrdg-member .profil-geek-header__bio{ display:none; }

/* carte bio — pleine largeur de la colonne */
.lrdg-member .profil-geek-favs.lrdg-bio-card-wrap{ display:block; width:100%; max-width:none; margin:0 0 24px; padding:0; background:none; border:0; }
.lrdg-member .lrdg-bio-card{
  width:100%; max-width:none; margin:0; padding:26px 30px;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow);
}
.lrdg-app .lrdg-member .lrdg-bio-card .profil-geek-favs__title{
  margin:0 0 12px !important; color:var(--ink) !important; text-align:left !important;
  font-family:var(--font-title) !important; font-weight:700 !important;
  font-size:var(--fs-h2) !important; letter-spacing:-.02em !important;
}
.lrdg-member .lrdg-bio-card__content{ color:var(--ink2); font-size:14.5px; line-height:1.7; }
.lrdg-member .lrdg-bio-card__content p{ margin:0 0 .9em; }
.lrdg-member .lrdg-bio-card__content p:last-child{ margin-bottom:0; }

/* réseaux sociaux */
.lrdg-member__social-wrap{ display:flex; justify-content:center; margin:0 0 32px; }
.lrdg-member__social{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.lrdg-app .lrdg-member__social-link{
  display:grid; place-items:center; width:40px; height:40px; border-radius:50%;
  background:var(--surface); border:1px solid var(--line); color:var(--ink2) !important;
  transition:background-color .15s ease, border-color .15s ease, color .15s ease;
}
.lrdg-app .lrdg-member__social-link:hover{
  background:var(--lrdg-purple); border-color:var(--lrdg-purple); color:#fff !important;
}

/* articles */
.lrdg-member__articles{ margin-top:8px; }
.lrdg-member__articles .lrdg-section__foot{ display:flex; justify-content:center; margin-top:26px; }

/* bilan chiffré du rédacteur */
.lrdg-member__stats{
  margin-top:36px; padding:20px clamp(16px,3vw,24px);
  border:1px solid var(--line); border-radius:14px; background:var(--surface2);
}
.lrdg-member__stats-eyebrow{
  margin:0 0 14px; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted);
}
.lrdg-member__stats-tiles{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:14px;
}
.lrdg-member__stat{ display:flex; flex-direction:column; gap:3px; }
.lrdg-member__stat b{
  font-family:var(--font-title); font-weight:700; font-size:clamp(1.4rem,1rem+1.4vw,1.9rem);
  line-height:1; color:var(--ink); font-variant-numeric:tabular-nums;
}
.lrdg-member__stat b small{ font-size:.5em; font-weight:400; color:var(--muted); }
.lrdg-member__stat span{ font-size:11.5px; color:var(--muted); line-height:1.35; }
.lrdg-member__stats-line{
  margin:14px 0 0; padding-top:14px; border-top:1px solid var(--line);
  font-size:13px; color:var(--ink2); line-height:1.6;
}
.lrdg-member__stats-line:first-of-type{ }
.lrdg-member__stats-key{
  display:inline-block; margin-right:8px; font-family:var(--font-mono); font-size:10px;
  letter-spacing:.06em; text-transform:uppercase; color:var(--muted);
}
.lrdg-app .lrdg-member__stats-line a{ color:var(--lrdg-purple) !important; font-weight:600; }
.lrdg-member__stats-sub{ color:var(--muted); font-size:11.5px; }

.lrdg-member__verdicts,
.lrdg-member__biblio{ margin-top:44px; }
.lrdg-member__verdicts .lrdg-grid,
.lrdg-member__biblio-group .lrdg-biblio__grid{ margin-top:16px; }

@media (max-width:640px){
  .lrdg-member .profil-geek-header__inner{ flex-direction:column; align-items:flex-start; gap:14px; padding:22px 22px; }
  .lrdg-member .profil-geek-header__avatar,
  .lrdg-member .profil-geek-header__avatar img{ width:72px; height:72px; }
}

/* ==========================================================================
   Pages accès (connexion / mot de passe oublié)
   ========================================================================== */

.lrdg-access{ max-width:940px; margin:0 auto; }
.lrdg-access__grid{
  display:grid; grid-template-columns:1.25fr .9fr; gap:30px; align-items:start;
}
.lrdg-access__head{ margin:0 0 22px; }
.lrdg-access__head .lrdg-page__title{ margin:4px 0 0; }
.lrdg-access__sub{ margin:12px 0 0; color:var(--ink2); font-size:14px; line-height:1.6; }

/* colonne formulaire */
.lrdg-access__main{
  padding:28px 30px;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow);
}
.lrdg-access__form .pms-form,
.lrdg-access__form form{ margin:0; }
.lrdg-access__form .pms-form p{ margin:0 0 14px; font-size:13px; color:var(--ink2); line-height:1.5; }
.lrdg-access__form .pms-form-fields-wrapper,
.lrdg-access__form .pms-form ul{ list-style:none; margin:0; padding:0; }
.lrdg-access__form .pms-field{ margin:0 0 14px; }
.lrdg-access__form label{
  display:block; margin:0 0 5px;
  font-family:var(--font-body); font-weight:700; font-size:12.5px; color:var(--ink);
}
.lrdg-app .lrdg-access__form input[type="text"],
.lrdg-app .lrdg-access__form input[type="email"],
.lrdg-app .lrdg-access__form input[type="password"]{
  width:100%; padding:11px 13px;
  border:1px solid var(--line) !important; border-radius:var(--r-sm) !important;
  background:var(--surface) !important; color:var(--ink) !important;
  font-family:var(--font-body) !important; font-size:14px !important;
}
.lrdg-pw{ position:relative; display:block; }
.lrdg-app .lrdg-pw input{ padding-right:44px !important; }
.lrdg-app .lrdg-pw input::-ms-reveal,
.lrdg-app .lrdg-pw input::-ms-clear{ display:none; }
.lrdg-app .lrdg-pw__toggle{
  position:absolute; right:3px; top:0; bottom:0; width:40px;
  display:grid; place-items:center;
  padding:0 !important; margin:0 !important;
  background:none !important; border:0 !important; box-shadow:none !important;
  color:var(--muted) !important; cursor:pointer;
}
.lrdg-app .lrdg-pw__toggle:hover{ color:var(--lrdg-purple) !important; }
.lrdg-app .lrdg-pw__toggle:focus-visible{ outline:2px solid var(--lrdg-purple); outline-offset:-3px; border-radius:6px; }
.lrdg-pw__toggle svg{ width:18px !important; height:18px !important; flex:0 0 auto; }
.lrdg-pw__toggle .lrdg-pw__eye-off{ display:none; }
.lrdg-pw__toggle.is-visible .lrdg-pw__eye{ display:none; }
.lrdg-pw__toggle.is-visible .lrdg-pw__eye-off{ display:block; }

.lrdg-app .lrdg-access__form input:focus{
  outline:none; border-color:var(--lrdg-purple) !important;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--lrdg-purple) 20%, transparent) !important;
}
.lrdg-access__form .login-remember{
  display:flex; align-items:center; gap:8px;
  font-size:12.5px; color:var(--ink2);
}
.lrdg-access__form .login-remember label{ margin:0; font-weight:400; font-size:12.5px; color:var(--ink2); }
.lrdg-access__form .login-remember input{ width:auto; }
.lrdg-app .lrdg-access__form .login-submit{ margin-top:4px; }
.lrdg-app .lrdg-access__form input[type="submit"],
.lrdg-app .lrdg-access__form button[type="submit"]{
  width:100%; padding:13px 18px;
  background:var(--lrdg-purple) !important; color:#fff !important;
  border:0 !important; border-radius:var(--r-sm) !important; box-shadow:none !important;
  font-family:var(--font-body) !important; font-weight:800 !important; font-size:14px !important; cursor:pointer;
}
.lrdg-app .lrdg-access__form input[type="submit"]:hover,
.lrdg-app .lrdg-access__form button[type="submit"]:hover{ background:var(--lrdg-purple-deep) !important; }
.lrdg-access__form .login-extra{ display:none; } /* on fournit nos propres liens */

/* --- inscription (/register/) : formulaire PMS + comparatif -------------- */
.lrdg-access--register{ max-width:820px; }
.lrdg-access--register .lrdg-access__form{
  margin:22px 0 0; padding:26px 28px;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow);
}
.lrdg-access--register .lrdg-access__form > ul:first-child{ list-style:disc; margin:0 0 20px; padding-left:20px; }
.lrdg-access--register .lrdg-access__form > ul:first-child li{ margin:.3em 0; font-size:14px; color:var(--ink2); }
/* sélection de formule (radios PMS) */
.lrdg-access--register .pms-form .pms-subscription-plan,
.lrdg-access--register .pms-form ul[class*="subscription"] li,
.lrdg-access--register .pms-form .pms-field label input[type="radio"] ~ *{ }
.lrdg-access--register .pms-form label{ cursor:pointer; }
.lrdg-access--register .pms-form input[type="radio"],
.lrdg-access--register .pms-form input[type="checkbox"]{ width:auto; margin-right:8px; accent-color:var(--lrdg-purple); }
/* le comparatif (prose sous le formulaire) reprend le style article */
.lrdg-access--register > .lrdg-article__content > h3{ margin-top:1.8em !important; }
.lrdg-app .lrdg-access--register .pms-form input[type="submit"],
.lrdg-app .lrdg-access--register .pms-form button[type="submit"]{
  width:100%; padding:13px 18px !important;
  background:var(--lrdg-purple) !important; color:#fff !important; border:0 !important;
  border-radius:var(--r-sm) !important; box-shadow:none !important;
  font-family:var(--font-body) !important; font-weight:800 !important; font-size:14px !important;
}

.lrdg-access__links{
  margin:16px 0 0; font-size:12.5px; color:var(--muted);
  display:flex; flex-wrap:wrap; gap:8px; align-items:center;
}
.lrdg-app .lrdg-access__links a{ color:var(--lrdg-purple) !important; text-decoration:none; font-weight:700; }
.lrdg-app .lrdg-access__links a:hover{ color:var(--lrdg-purple-deep) !important; }

/* déjà connecté */
.lrdg-access__connected p{ margin:0 0 14px; color:var(--ink2); font-size:14px; }
.lrdg-access__connected .lrdg-access__actions{ display:flex; flex-wrap:wrap; gap:10px; }

/* encart Premium */
.lrdg-access__aside{
  padding:26px 26px 28px;
  background:linear-gradient(160deg, var(--lrdg-purple), var(--lrdg-purple-deep));
  border-radius:var(--r-lg); color:#fff;
}
.lrdg-access__aside .lrdg-kicker--premium{ color:var(--lrdg-yellow); margin:0 0 8px; }
.lrdg-access__aside-title{
  margin:0 0 16px; color:#fff;
  font-family:var(--font-title); font-weight:700; font-size:18px; letter-spacing:-.01em; line-height:1.2;
}
.lrdg-access__perks{ list-style:none; margin:0 0 20px; padding:0; display:flex; flex-direction:column; gap:10px; }
.lrdg-access__perks li{
  position:relative; padding-left:24px;
  font-size:13px; line-height:1.45; color:rgba(255,255,255,.92);
}
.lrdg-access__perks li::before{
  content:""; position:absolute; left:0; top:.15em;
  width:15px; height:15px; border-radius:50%;
  background:var(--lrdg-yellow);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M6.5 10.6 3.9 8l-1 1 3.6 3.6 7-7-1-1z'/%3E%3C/svg%3E") center/13px no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M6.5 10.6 3.9 8l-1 1 3.6 3.6 7-7-1-1z'/%3E%3C/svg%3E") center/13px no-repeat;
}
.lrdg-app .lrdg-access__aside .lrdg-btn--premium{ width:100%; }

@media (max-width:820px){
  .lrdg-access__grid{ grid-template-columns:1fr; }
}

/* ==========================================================================
   Page « MCU timeline » (film-mcu)
   ========================================================================== */

.lrdg-mcu{ max-width:960px; margin:0 auto; }
.lrdg-mcu .lrdg-mcu__head{ max-width:none; margin:0 0 22px; }

.lrdg-mcu__cover{
  margin:0 0 26px; padding:0;
  display:flex; align-items:center; justify-content:center;
  border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--line); background:#000;
}
.lrdg-mcu__cover-img{ display:block; width:auto; max-width:100%; max-height:320px; height:auto; }

.lrdg-mcu__intro{ max-width:760px; margin:0 auto 34px; }

/* barre de filtres — chips v4 (remplace les boutons jaunes hérités) */
.lrdg-mcu .mcu-filters{
  justify-content:center; gap:8px;
  margin:0 0 26px; padding:0 0 22px;
  border-bottom:1px solid var(--line);
}
.lrdg-app .lrdg-mcu .filter-btn{
  appearance:none; cursor:pointer;
  padding:8px 15px !important; border-radius:999px !important;
  background:var(--surface) !important; color:var(--ink2) !important;
  border:1px solid var(--line) !important; box-shadow:none !important;
  font-family:var(--font-body) !important; font-weight:700 !important; font-size:12.5px !important;
  transition:background-color .15s ease, color .15s ease, border-color .15s ease;
}
.lrdg-app .lrdg-mcu .filter-btn:hover{
  border-color:var(--lrdg-purple) !important; color:var(--lrdg-purple) !important; transform:none !important;
}
.lrdg-app .lrdg-mcu .filter-btn.active{
  background:var(--lrdg-purple) !important; border-color:var(--lrdg-purple) !important; color:#fff !important;
}

/* grille : cartes .lrdg-tile en format affiche */
.lrdg-mcu .mcu-timeline-grid{
  grid-template-columns:repeat(auto-fill, minmax(184px, 1fr)); gap:18px;
}
.lrdg-tile--poster .lrdg-tile__media{ aspect-ratio:2/3; background:var(--surface2); }
.lrdg-mcu .mcu-card .lrdg-tile__title{ font-size:13.5px !important; }
.lrdg-mcu .mcu-card .lrdg-tile__meta{ margin-top:6px; letter-spacing:.02em; }

/* neutralise l'ancien style Elementor de .mcu-card (padding, bordure, ombre)
   qui empêchait l'image d'aller au bord de la carte */
.lrdg-mcu .mcu-card{
  padding:0 !important; overflow:hidden;
  border:1px solid var(--line) !important; border-radius:var(--r-card) !important;
  background:var(--surface) !important; box-shadow:none !important;
}
.lrdg-mcu .mcu-card:hover{ transform:translateY(-3px) !important; box-shadow:var(--shadow) !important; }

@media (max-width:520px){
  .lrdg-mcu .mcu-timeline-grid{ grid-template-columns:repeat(auto-fill, minmax(140px, 1fr)); gap:12px; }
}

/* ==========================================================================
   Page « Les quiz geeks » (.lrdg-quizzes — distincte de la section .lrdg-quiz
   de l'accueil)
   ========================================================================== */

.lrdg-quizzes{ max-width:1120px; margin:0 auto; }
.lrdg-quizzes__intro{ max-width:760px; margin:0 auto 12px; }
.lrdg-quizzes .lrdg-section{ margin-top:clamp(30px,4vw,46px); }
/* un quiz ne se « lit » pas : on masque la durée de lecture */
.lrdg-quizzes .lrdg-tile__meta{ display:none; }
.lrdg-quizzes .lrdg-tile__body{ padding:11px 13px 13px; }
.lrdg-quizzes .lrdg-section__foot{ display:flex; justify-content:center; margin-top:22px; }

/* ==========================================================================
   Recherche & 404
   ========================================================================== */

.lrdg-search,
.lrdg-404{ max-width:1120px; margin:0 auto; }

.lrdg-search__head{ max-width:760px; margin:0 0 26px; }
.lrdg-search__head .lrdg-page__title{ margin:4px 0 0; }
.lrdg-search__count{ margin:8px 0 0; font-size:10px; color:var(--muted); }

/* « Afficher plus » : le JS remplace la pagination numérotée par un bouton */
.lrdg-search__pagination{ display:flex; justify-content:center; margin:28px 0 0; }
.lrdg-search .lrdg-loadmore{ display:block; margin:28px auto 0; min-width:240px; }

/* champ de recherche */
.lrdg-searchform{
  display:flex; align-items:center; gap:8px; margin:18px 0 0;
  padding:6px 6px 6px 14px;
  background:var(--surface); border:1px solid var(--line); border-radius:999px;
  max-width:520px;
}
.lrdg-searchform__icon{ flex:0 0 auto; color:var(--muted); }
.lrdg-app .lrdg-searchform input[type="search"]{
  flex:1 1 auto; min-width:0; border:0 !important; background:transparent !important;
  padding:8px 0 !important; font-family:var(--font-body) !important; font-size:14px !important; color:var(--ink) !important;
}
.lrdg-app .lrdg-searchform input[type="search"]:focus{ outline:none; box-shadow:none !important; }
.lrdg-app .lrdg-searchform button[type="submit"]{
  flex:0 0 auto; padding:9px 16px !important;
  background:var(--lrdg-purple) !important; color:#fff !important; border:0 !important;
  border-radius:999px !important; box-shadow:none !important;
  font-family:var(--font-body) !important; font-weight:800 !important; font-size:12.5px !important; cursor:pointer;
}
.lrdg-app .lrdg-searchform button[type="submit"]:hover{ background:var(--lrdg-purple-deep) !important; }

.lrdg-search__empty{
  margin:0 0 30px; padding:26px 28px;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg);
  color:var(--ink2); font-size:14px;
}
.lrdg-search__empty p{ margin:0; }
.lrdg-search__suggest{ margin-top:8px; }

/* page « Cette semaine » (/cette-semaine/) */
.lrdg-semaine .lrdg-page__head{ max-width:none; margin:0 0 8px; }
.lrdg-semaine__count{ margin:8px 0 0; font-size:10px; color:var(--muted); }
.lrdg-semaine__empty{
  margin:20px 0 0; padding:28px;
  border:1px dashed var(--line); border-radius:var(--r-lg);
  color:var(--muted); font-size:14px; text-align:center;
}
.lrdg-semaine__day{ margin-top:34px; }
.lrdg-semaine__day:first-of-type{ margin-top:24px; }

/* 404 */
.lrdg-404__head{ max-width:640px; margin:clamp(10px,4vw,40px) 0 clamp(34px,5vw,54px); }
.lrdg-404__head .lrdg-page__title{ margin:6px 0 0; }
.lrdg-404__text{ margin:14px 0 0; color:var(--ink2); font-size:14.5px; line-height:1.6; }
.lrdg-404__actions{ margin:18px 0 0; }
.lrdg-404__latest{ margin-top:8px; }

@media (max-width:560px){
  .lrdg-searchform{ flex-wrap:wrap; border-radius:var(--r-lg); }
  .lrdg-app .lrdg-searchform button[type="submit"]{ flex:1 1 100%; border-radius:var(--r-sm) !important; }
}

/* ======================================================================
   Ma bibliothèque — suivi perso des œuvres (Premium)
   ====================================================================== */

/* --- widget « Suivre » (fiche produit + article) --- */
.lrdg-track{ margin:18px 0 0; }
.lrdg-track__label{ margin:0 0 8px; font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.lrdg-track__row{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.lrdg-track__statuses{ display:inline-flex; flex-wrap:wrap; gap:6px; }
.lrdg-app .lrdg-track__btn{
  padding:7px 12px; border-radius:999px !important;
  border:1px solid var(--line) !important; background:var(--surface) !important;
  color:var(--ink2) !important; font-family:var(--font-body) !important;
  font-size:12.5px !important; font-weight:600 !important; line-height:1 !important;
  cursor:pointer; box-shadow:none !important; transition:border-color .15s, color .15s, background .15s;
}
.lrdg-app .lrdg-track__btn:hover{ border-color:var(--lrdg-purple) !important; color:var(--lrdg-purple) !important; }
.lrdg-app .lrdg-track__btn.is-active{
  background:var(--lrdg-purple) !important; border-color:var(--lrdg-purple) !important; color:#fff !important;
}
.lrdg-app .lrdg-track__fav{
  width:34px; height:34px; flex:0 0 auto; padding:0; display:grid; place-items:center;
  border:1px solid var(--line) !important; border-radius:50% !important; background:var(--surface) !important;
  color:var(--muted) !important; cursor:pointer; box-shadow:none !important; transition:.15s;
}
.lrdg-track__fav svg{ fill:currentColor; }
.lrdg-app .lrdg-track__fav:hover{ border-color:var(--lrdg-purple) !important; color:var(--lrdg-purple) !important; }
.lrdg-app .lrdg-track__fav.is-active{ border-color:var(--lrdg-purple) !important; color:var(--lrdg-purple) !important; }
.lrdg-app .lrdg-track__clear{
  padding:6px 10px; border:0 !important; background:none !important; box-shadow:none !important;
  color:var(--muted) !important; font-size:11.5px !important; text-decoration:underline; cursor:pointer;
}
.lrdg-app .lrdg-track__clear:hover{ color:var(--lrdg-purple) !important; }
.lrdg-track__msg{ margin:8px 0 0; font-size:11.5px; color:var(--muted); min-height:1em; }
.lrdg-track__msg.is-ok{ color:var(--lrdg-purple); }

.lrdg-track--compact{ margin:10px 0 0; }
.lrdg-track--compact .lrdg-track__btn{ font-size:11.5px !important; padding:5px 10px; }
.lrdg-track--compact .lrdg-track__fav{ width:30px; height:30px; }

.lrdg-track--gated{
  margin:16px 0 0; padding:14px 16px; border:1px dashed var(--line); border-radius:12px;
  background:var(--surface2);
}
.lrdg-track__pitch{ margin:0 0 8px; font-size:13px; color:var(--ink2); line-height:1.5; }
.lrdg-app .lrdg-track__cta{
  display:inline-block; padding:8px 14px; border-radius:999px !important;
  background:var(--lrdg-yellow) !important; color:#1a1205 !important;
  font-weight:800 !important; font-size:12px !important; text-decoration:none !important;
}

/* --- note communauté d'une œuvre (fiche produit, sous « Ma bibliothèque ») --- */
.lrdg-prating{ margin:16px 0 0; }
.lrdg-prating__head{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 12px; margin:0 0 9px;
}
.lrdg-prating__label{
  margin:0; font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted);
}
.lrdg-prating__figure{
  margin:0; font-size:11px; color:var(--muted); display:inline-flex; align-items:baseline; gap:5px;
}
.lrdg-prating__avg{
  font-family:var(--font-title); font-weight:700; font-size:16px; line-height:1; color:var(--lrdg-purple);
}
[data-theme="dark"] .lrdg-prating__avg{ color:#d9b8ec; }
.lrdg-prating__max{ font-size:10px; color:var(--muted); }
.lrdg-prating__votes{ font-size:10px; color:var(--muted); }
.lrdg-prating__scale{ display:flex; flex-wrap:wrap; gap:5px; }
.lrdg-app .lrdg-prating__btn{
  width:32px; height:32px; display:inline-flex; align-items:center; justify-content:center;
  padding:0 !important; border-radius:8px !important;
  border:1px solid var(--line) !important; background:var(--surface) !important;
  box-shadow:none !important;
  font-family:var(--font-title) !important; font-weight:700 !important; font-size:12px !important;
  color:var(--ink2) !important; cursor:pointer;
  transition:border-color .12s ease, background .12s ease, color .12s ease;
}
.lrdg-app .lrdg-prating__btn:hover{
  background:var(--lrdg-purple) !important; border-color:var(--lrdg-purple) !important; color:#fff !important;
}
.lrdg-app .lrdg-prating__btn.is-active{
  background:var(--lrdg-purple) !important; border-color:var(--lrdg-purple) !important; color:#fff !important;
}
.lrdg-prating__msg{ margin:8px 0 0; font-size:11.5px; color:var(--muted); min-height:1em; }
.lrdg-prating__msg.is-ok{ color:var(--lrdg-purple); }

.lrdg-prating--gated{
  margin:16px 0 0; padding:14px 16px; border:1px dashed var(--line); border-radius:12px;
  background:var(--surface2);
}
.lrdg-prating--gated .lrdg-prating__figure{ margin:2px 0 6px; }
.lrdg-prating__pitch{ margin:0; font-size:12.5px; color:var(--ink2); line-height:1.5; }
.lrdg-app .lrdg-prating__pitch a{ color:var(--lrdg-purple) !important; font-weight:700; white-space:nowrap; }

@media (prefers-reduced-motion: reduce){
  .lrdg-prating__btn{ transition:none; }
}

/* --- « Ma bibliothèque » sur /account/ --- */
.lrdg-biblio__head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; margin:0 0 14px; }
.lrdg-biblio__title{ margin:0; font-family:var(--font-title); font-weight:700; font-size:17px; color:var(--ink); }
.lrdg-biblio__count{ margin:0; font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
.lrdg-biblio__empty{ margin:0; padding:16px; border:1px dashed var(--line); border-radius:12px; background:var(--surface2); font-size:13px; color:var(--muted); }
.lrdg-biblio__public{
  display:flex; flex-wrap:wrap; align-items:flex-start; gap:9px;
  margin:0 0 16px; padding:11px 13px; border:1px solid var(--line);
  border-radius:10px; background:var(--surface2); font-size:12.5px; color:var(--ink2); cursor:pointer;
}
.lrdg-biblio__public input{ margin:2px 0 0; flex:0 0 auto; accent-color:var(--lrdg-purple); }
.lrdg-biblio__public > span{ flex:1; min-width:180px; line-height:1.45; }
.lrdg-biblio__public a{ color:var(--lrdg-purple); }
.lrdg-biblio__public-msg{ flex-basis:100%; font-style:normal; font-size:11px; color:var(--lrdg-purple); }

/* --- section publique sur la page rédacteur --- */
.lrdg-member__biblio{ display:flex; flex-direction:column; gap:32px; }
.lrdg-member__biblio-group .lrdg-biblio__grid{ margin-top:14px; }

/* ======================================================================
   Ton année geek (récap annuel, en slider — un point fort par slide)
   ====================================================================== */
.lrdg-wrapped{
  position:relative; overflow:hidden; border-radius:16px; color:#f4eefa;
  background:
    radial-gradient(120% 140% at 100% 0%, rgba(245,230,99,.10), transparent 55%),
    linear-gradient(135deg, var(--lrdg-purple-deep, #3a1d52) 0%, var(--lrdg-purple, #9457B5) 120%);
}
.lrdg-wrapped__track{
  display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;
  scrollbar-width:none; -ms-overflow-style:none;
}
.lrdg-wrapped__track::-webkit-scrollbar{ display:none; }
.lrdg-wrapped__slide{
  flex:0 0 100%; min-width:0; scroll-snap-align:start;
  display:flex; flex-direction:column; justify-content:center;
  min-height:230px; padding:clamp(22px,3.5vw,36px);
}
.lrdg-wrapped--single .lrdg-wrapped__slide{ min-height:0; }
.lrdg-wrapped__kicker{
  margin:0; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.14em;
  text-transform:uppercase; color:rgba(255,255,255,.72);
}
.lrdg-wrapped__big{
  margin:10px 0 0; font-family:var(--font-title); font-weight:700; line-height:1.05;
  color:#fff; letter-spacing:-.02em;
  font-size:clamp(2.4rem, 1.5rem + 4vw, 3.6rem);
}
.lrdg-wrapped__big span{
  display:inline; font-size:.34em; font-weight:600; color:rgba(255,255,255,.85);
  letter-spacing:0; margin-left:.2em;
}
.lrdg-wrapped__big small{ font-size:.32em; font-weight:400; color:rgba(255,255,255,.7); margin-left:.15em; }
.lrdg-wrapped__small{
  margin:12px 0 0; font-size:14px; line-height:1.5; color:rgba(255,255,255,.88); max-width:34ch;
}
.lrdg-wrapped__types{
  list-style:none; margin:16px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:9px;
}
.lrdg-wrapped__types li{
  padding:8px 14px; border-radius:999px; background:rgba(255,255,255,.15);
  font-size:14px; color:#fff;
}
.lrdg-wrapped__types b{ font-family:var(--font-title); font-weight:700; font-size:1.15em; margin-right:.15em; }
.lrdg-wrapped__facts{
  margin:14px 0 0; padding:0;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px;
}
.lrdg-wrapped__facts div{ padding:13px 15px; border-radius:12px; background:rgba(255,255,255,.12); }
.lrdg-wrapped__facts dt{
  margin:0; font-family:var(--font-mono); font-size:9.5px; letter-spacing:.08em;
  text-transform:uppercase; color:rgba(255,255,255,.65);
}
.lrdg-wrapped__facts dd{
  margin:6px 0 0; font-family:var(--font-title); font-weight:700; font-size:17px; color:#fff;
}
.lrdg-wrapped__facts dd span{ font-size:.7em; font-weight:400; color:rgba(255,255,255,.7); }
.lrdg-wrapped__favs-row{ display:flex; flex-wrap:wrap; gap:12px; margin-top:14px; }
.lrdg-wrapped__fav{ flex:1 1 110px; max-width:150px; text-decoration:none; color:#fff; }
.lrdg-wrapped__fav img,
.lrdg-wrapped__fav > span{
  display:block; width:100%; aspect-ratio:3/4; object-fit:cover;
  border-radius:9px; background:rgba(255,255,255,.12);
}
.lrdg-wrapped__fav b{
  display:block; margin-top:7px; font-family:var(--font-body); font-weight:600;
  font-size:11.5px; line-height:1.3;
}
.lrdg-app .lrdg-wrapped__fav:hover b{ text-decoration:underline; }

.lrdg-wrapped__nav{
  display:flex; align-items:center; justify-content:flex-end; gap:12px;
  padding:0 clamp(18px,3vw,28px) 16px;
}
.lrdg-app .lrdg-wrapped__arrow{
  width:34px; height:34px; padding:0; display:grid; place-items:center;
  border:1px solid rgba(255,255,255,.35) !important; border-radius:50% !important;
  background:rgba(255,255,255,.08) !important; color:#fff !important; box-shadow:none !important;
  cursor:pointer; transition:background .15s, border-color .15s;
}
.lrdg-app .lrdg-wrapped__arrow:hover{ background:rgba(255,255,255,.2) !important; border-color:#fff !important; }
.lrdg-app .lrdg-wrapped__arrow[disabled]{ opacity:.3; cursor:default; }
.lrdg-wrapped__count{ min-width:44px; text-align:center; font-family:var(--font-mono); font-size:11px; color:rgba(255,255,255,.75); }

.lrdg-account__section--wrapped{ border:0 !important; padding:0 !important; background:none !important; }
@media (prefers-reduced-motion: reduce){ .lrdg-wrapped__track{ scroll-behavior:auto; } }
@media (max-width:520px){ .lrdg-wrapped__fav{ flex-basis:calc(50% - 6px); } }

/* ======================================================================
   Profil public /membre/{pseudo}/  (phase 2a)
   ====================================================================== */
.lrdg-profile{ max-width:940px; margin:0 auto; }
.lrdg-profile__notice{
  margin:0 0 20px; padding:11px 14px; border:1px dashed var(--line);
  border-radius:10px; background:var(--surface2); font-size:13px; color:var(--muted);
}
.lrdg-profile__head{
  display:flex; align-items:flex-start; gap:18px; flex-wrap:wrap;
  padding-bottom:24px; border-bottom:1px solid var(--line); margin-bottom:8px;
}
.lrdg-profile__avatar{
  width:96px; height:96px; border-radius:50%; object-fit:cover; flex:0 0 auto;
  border:1px solid var(--line);
}
.lrdg-profile__cta{ display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
.lrdg-app button.lrdg-report{
  padding:4px 6px; background:none !important; border:0 !important; box-shadow:none !important;
  font-size:11px !important; color:var(--muted) !important; cursor:pointer;
  text-decoration:underline; text-underline-offset:2px;
}
.lrdg-app button.lrdg-report:hover{ color:#c0392b !important; }
.lrdg-app button.lrdg-report.is-done{ text-decoration:none; color:var(--lrdg-purple) !important; cursor:default; }
.lrdg-profile__id{ flex:1; min-width:0; }
.lrdg-app .lrdg-profile__name{
  margin:0 !important; font-family:var(--font-title) !important; font-weight:700 !important;
  font-size:clamp(1.5rem,1.1rem+1.6vw,2rem) !important; color:var(--ink) !important; line-height:1.1 !important;
}
.lrdg-profile__badges{ list-style:none; margin:10px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:6px; }
.lrdg-profile__bio{ margin:12px 0 0; color:var(--ink2); font-size:14.5px; line-height:1.55; max-width:60ch; }
.lrdg-profile__cta{ flex:0 0 auto; }
.lrdg-profile__edit{ flex:0 0 auto; }
.lrdg-profile__counts{ margin:12px 0 0; display:flex; gap:16px; font-size:11px; color:var(--muted); }
.lrdg-profile__counts b{ color:var(--ink); font-family:var(--font-title); font-size:13px; }
.lrdg-profile__pins{ margin-top:36px; }
.lrdg-profile__pins .lrdg-biblio__grid{ margin-top:14px; }

/* bouton suivre — même style que les boutons pleins du site (violet) */
.lrdg-app .lrdg-follow.lrdg-btn{
  min-width:104px;
  background:var(--lrdg-purple) !important; color:#fff !important;
  border:0 !important; box-shadow:none !important;
}
.lrdg-app .lrdg-follow.lrdg-btn:hover{ background:var(--lrdg-purple-deep) !important; }
.lrdg-follow .lrdg-follow__off{ display:none; }
.lrdg-follow.is-following .lrdg-follow__on{ display:none; }
.lrdg-follow.is-following .lrdg-follow__off{ display:inline; }
.lrdg-app .lrdg-follow.lrdg-btn.is-following{
  background:var(--surface2) !important; color:var(--ink2) !important;
  box-shadow:inset 0 0 0 1px var(--line) !important;
}
.lrdg-app .lrdg-follow.lrdg-btn.is-following:hover{
  background:var(--surface2) !important; color:var(--lrdg-purple) !important;
  box-shadow:inset 0 0 0 1px var(--lrdg-purple) !important;
}

/* fil d'activité */
.lrdg-feed{ list-style:none; margin:14px 0 0; padding:0; display:flex; flex-direction:column; }
.lrdg-feed__item{
  display:flex; align-items:center; gap:12px; padding:11px 0;
  border-bottom:1px solid var(--line);
}
.lrdg-feed__item:last-child{ border-bottom:0; }
.lrdg-feed__media{
  flex:0 0 auto; width:46px; height:46px; border-radius:8px;
  background:var(--surface2) center / cover no-repeat; border:1px solid var(--line);
}
.lrdg-feed__body{ min-width:0; }
.lrdg-feed__text{ margin:0; font-size:13.5px; line-height:1.4; color:var(--ink2); }
.lrdg-app .lrdg-feed__text a{ color:var(--ink) !important; font-weight:600; text-decoration:none !important; }
.lrdg-app .lrdg-feed__text a.lrdg-feed__actor{ color:var(--lrdg-purple) !important; }
.lrdg-app .lrdg-feed__text a:hover{ color:var(--lrdg-purple) !important; }
.lrdg-feed__time{ display:block; margin-top:2px; font-family:var(--font-mono); font-size:10px; color:var(--muted); }

/* ----------------------------------------------------------------------
   Mise en page « contenu + rail collant » (profil public, /account/)
   Le fil d'activité / les notifications passent dans une carte à droite,
   comme le sommaire d'un article.
   -------------------------------------------------------------------- */
.lrdg-withrail{
  display:grid; grid-template-columns:minmax(0,1fr) 320px;
  column-gap:48px; align-items:start;
}
.lrdg-withrail--norail{ display:block; }
.lrdg-withrail__main{ min-width:0; }
.lrdg-withrail__aside{
  position:sticky; top:84px;
  max-height:calc(100vh - 84px - 24px - var(--wp-admin--admin-bar--height, 0px));
  overflow-y:auto; overscroll-behavior:contain;
  scrollbar-width:thin; scrollbar-color:var(--line) transparent;
  display:flex; flex-direction:column; gap:16px;
}
.lrdg-withrail__aside::-webkit-scrollbar{ width:7px; }
.lrdg-withrail__aside::-webkit-scrollbar-thumb{ background:var(--line); border-radius:4px; }
/* la section d'activité devient une carte compacte dans le rail */
.lrdg-withrail__aside > .lrdg-section,
.lrdg-withrail__aside > section{
  margin:0; padding:18px; border:1px solid var(--line);
  border-radius:var(--r-lg); background:var(--surface);
}
.lrdg-withrail__aside .lrdg-section__head{ margin-bottom:6px; }
.lrdg-app .lrdg-withrail__aside .lrdg-section__title{ font-size:14px !important; line-height:1.3 !important; }
.lrdg-withrail__aside .lrdg-section__rule{ display:none; }
.lrdg-withrail__aside .lrdg-feed{ margin-top:6px; }
.lrdg-withrail__aside .lrdg-feed__item{ padding:9px 0; gap:10px; }
.lrdg-withrail__aside .lrdg-feed__media{ width:38px; height:38px; }
.lrdg-withrail__aside .lrdg-feed__text{ font-size:12.5px; }
.lrdg-withrail__aside .lrdg-feed-wrap{ margin:0; }
.lrdg-withrail__aside .lrdg-section__head .lrdg-section__more{ margin-left:auto; font-size:10px; color:var(--muted); }

/* « Mes abonnés » : bande d'avatars qui défile horizontalement */
.lrdg-followers-strip{
  list-style:none; margin:8px 0 0; padding:0 0 6px;
  display:flex; gap:12px;
  overflow-x:auto; overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
  scrollbar-width:thin; scrollbar-color:var(--line) transparent;
}
.lrdg-followers-strip::-webkit-scrollbar{ height:6px; }
.lrdg-followers-strip::-webkit-scrollbar-thumb{ background:var(--line); border-radius:3px; }
.lrdg-follower{ flex:0 0 auto; width:56px; scroll-snap-align:start; }
.lrdg-follower__link{ display:flex; flex-direction:column; align-items:center; gap:5px; text-decoration:none; }
.lrdg-app .lrdg-follower__avatar{
  width:48px !important; height:48px !important; max-width:none !important;
  border-radius:50%; object-fit:cover; background:var(--surface2); border:1px solid var(--line);
}
.lrdg-follower__name{
  max-width:56px; font-size:10px; line-height:1.2; color:var(--ink2); text-align:center;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
a.lrdg-follower__link:hover .lrdg-follower__name{ color:var(--lrdg-purple); }
a.lrdg-follower__link:hover .lrdg-follower__avatar{ border-color:var(--lrdg-purple); }

@media (max-width:1023px){
  .lrdg-withrail{ display:block; }
  .lrdg-withrail__aside{
    position:static; max-height:none; overflow:visible;
    margin-top:32px;
  }
}

/* ======================================================================
   Listes publiques (phase 2c)
   ====================================================================== */
.lrdg-list-cards{ display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px; margin-top:14px; }
.lrdg-list-card{
  display:flex; flex-direction:column; gap:6px; padding:14px 15px;
  border:1px solid var(--line); border-radius:12px; background:var(--surface); text-decoration:none;
}
.lrdg-app .lrdg-list-card:hover{ border-color:var(--lrdg-purple); }
.lrdg-list-card__title{ font-family:var(--font-title); font-weight:600; font-size:14px; color:var(--ink); }
.lrdg-list-card__meta{ font-size:10px; color:var(--muted); }

.lrdg-mylists__new,
.lrdg-addlist__new{ display:flex; gap:8px; margin-top:14px; flex-wrap:wrap; }
.lrdg-app .lrdg-mylists__new input,
.lrdg-app .lrdg-addlist__new input{
  flex:1; min-width:180px; padding:9px 11px; border:1px solid var(--line) !important;
  border-radius:8px !important; background:var(--surface) !important; color:var(--ink) !important; font:inherit !important;
}
.lrdg-mylists__msg,
.lrdg-addlist__msg{ margin:6px 0 0; font-size:11.5px; color:var(--lrdg-purple); }
.lrdg-mylists__msg.is-err,
.lrdg-addlist__msg.is-err{ color:#c0392b; }

/* boutons « Créer » — violet plein */
.lrdg-app .lrdg-mylists__new button,
.lrdg-app .lrdg-addlist__new button{
  background:var(--lrdg-purple) !important; color:#fff !important;
  border:0 !important; border-radius:8px !important; padding:9px 16px !important;
  font-family:var(--font-body) !important; font-weight:800 !important; font-size:13px !important;
  white-space:nowrap; cursor:pointer;
}
.lrdg-app .lrdg-mylists__new button:hover,
.lrdg-app .lrdg-addlist__new button:hover,
.lrdg-app .lrdg-mylists__new button:focus,
.lrdg-app .lrdg-addlist__new button:focus{ background:var(--lrdg-purple-deep) !important; color:#fff !important; }

/* neutralise le hover rose du reset hello-elementor sur les boutons des listes */
.lrdg-app .lrdg-addlist__toggle:hover,
.lrdg-app .lrdg-addlist__toggle:focus,
.lrdg-app .lrdg-listpage__delete:hover,
.lrdg-app .lrdg-listpage__delete:focus,
.lrdg-app .lrdg-list-item__ctrl button:hover,
.lrdg-app .lrdg-list-item__ctrl button:focus{
  background-color:transparent !important;
  text-decoration:none !important;
}
.lrdg-app .lrdg-addlist__toggle:hover{ box-shadow:inset 0 0 0 1px var(--lrdg-purple) !important; color:var(--lrdg-purple) !important; }
.lrdg-app .lrdg-list-item__ctrl button:hover{ border-color:var(--lrdg-purple) !important; color:var(--lrdg-purple) !important; }
.lrdg-app .lrdg-listpage__delete:hover{ color:#c0392b !important; }

/* bouton « j'aime » d'une liste */
.lrdg-app .lrdg-listpage__like{
  background:var(--surface) !important; color:var(--ink2) !important; border:0 !important;
  box-shadow:inset 0 0 0 1px var(--line) !important;
}
.lrdg-app .lrdg-listpage__like:hover,
.lrdg-app .lrdg-listpage__like:focus{
  background:var(--surface) !important; color:var(--lrdg-purple) !important;
  box-shadow:inset 0 0 0 1px var(--lrdg-purple) !important;
}
.lrdg-app .lrdg-listpage__like.is-on,
.lrdg-app .lrdg-listpage__like.is-on:hover,
.lrdg-app .lrdg-listpage__like.is-on:focus{
  background:var(--lrdg-purple) !important; color:#fff !important; box-shadow:none !important;
}

/* menu « ajouter à une liste » sur la fiche produit */
.lrdg-addlist{ position:relative; display:inline-block; margin-top:12px; }
.lrdg-addlist__menu{
  margin-top:8px; padding:12px; border:1px solid var(--line); border-radius:12px;
  background:var(--surface); box-shadow:var(--shadow); min-width:240px;
}
.lrdg-addlist__row{ display:flex; align-items:center; gap:8px; padding:5px 0; font-size:13px; color:var(--ink2); cursor:pointer; }
.lrdg-addlist__row input{ accent-color:var(--lrdg-purple); }
.lrdg-app .lrdg-addlist__new button,
.lrdg-app .lrdg-mylists__new button{ white-space:nowrap; }

/* page d'une liste */
.lrdg-listpage{ max-width:820px; margin:0 auto; }
.lrdg-listpage__title{ margin:.2em 0 .1em; font-family:var(--font-title); font-weight:700; font-size:clamp(1.6rem,1.2rem+1.6vw,2.2rem); color:var(--ink); }
.lrdg-listpage__title.is-editable{ outline:none; border-bottom:1px dashed transparent; }
.lrdg-listpage__title.is-editable:focus{ border-bottom-color:var(--lrdg-purple); }
.lrdg-listpage__by{ margin:0; font-size:13px; color:var(--muted); }
.lrdg-listpage__by a{ color:var(--lrdg-purple); }
.lrdg-listpage__desc{ margin:12px 0 0; color:var(--ink2); font-size:14.5px; line-height:1.6; max-width:60ch; }
.lrdg-listpage__actions{ display:flex; align-items:center; gap:12px; margin:18px 0 0; flex-wrap:wrap; }
.lrdg-app .lrdg-listpage__like.is-on{ background:var(--lrdg-purple) !important; color:#fff !important; }
.lrdg-app .lrdg-listpage__delete{
  border:0 !important; background:none !important; color:var(--muted) !important; box-shadow:none !important;
  font-size:12px !important; text-decoration:underline; cursor:pointer;
}
.lrdg-app .lrdg-listpage__delete:hover{ color:#c0392b !important; }
.lrdg-listpage__likecount{ font-size:11px; color:var(--muted); }

.lrdg-list-items{ list-style:none; margin:26px 0 0; padding:0; display:flex; flex-direction:column; gap:12px; }
.lrdg-list-item{
  display:flex; align-items:center; gap:14px; padding:12px;
  border:1px solid var(--line); border-radius:12px; background:var(--surface);
}
.lrdg-list-item__rank{
  flex:0 0 auto; width:26px; text-align:center; font-family:var(--font-title); font-weight:700;
  font-size:15px; color:var(--muted);
}
.lrdg-list-item__media{ flex:0 0 auto; width:52px; height:52px; border-radius:8px; overflow:hidden; background:var(--surface2); border:1px solid var(--line); }
.lrdg-list-item__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.lrdg-list-item__body{ flex:1; min-width:0; }
.lrdg-list-item__name{ margin:0; font-size:14px; font-weight:600; }
.lrdg-app .lrdg-list-item__name a{ color:var(--ink) !important; text-decoration:none !important; }
.lrdg-app .lrdg-list-item__name a:hover{ color:var(--lrdg-purple) !important; }
.lrdg-app .lrdg-list-item__note{
  width:100%; margin-top:5px; padding:5px 8px; border:1px solid var(--line) !important;
  border-radius:6px !important; background:var(--surface2) !important; color:var(--ink2) !important;
  font:inherit !important; font-size:12px !important;
}
.lrdg-list-item__note-ro{ margin:5px 0 0; font-size:12.5px; color:var(--muted); font-style:italic; }
.lrdg-list-item__ctrl{ display:flex; gap:4px; flex:0 0 auto; }
.lrdg-app .lrdg-list-item__ctrl button{
  width:28px; height:28px; padding:0; border:1px solid var(--line) !important; border-radius:7px !important;
  background:var(--surface) !important; color:var(--ink2) !important; box-shadow:none !important; cursor:pointer; font-size:12px;
}
.lrdg-app .lrdg-list-item__ctrl button:hover{ border-color:var(--lrdg-purple) !important; color:var(--lrdg-purple) !important; }
.lrdg-listpage__empty{ margin:26px 0 0; color:var(--muted); font-size:14px; }
.lrdg-listpage__msg{ margin:16px 0 0; font-size:12px; color:var(--lrdg-purple); }

.lrdg-profile__lists{ margin-top:44px; }

/* ======================================================================
   Score de compatibilité (phase 2d)
   ====================================================================== */
.lrdg-compat{
  margin-top:24px; padding:18px 20px; border-radius:14px;
  border:1px solid color-mix(in srgb, var(--lrdg-purple) 30%, var(--line));
  background:color-mix(in srgb, var(--lrdg-purple) 6%, var(--surface));
}
.lrdg-compat__score{ margin:0; display:flex; align-items:center; gap:14px; }
.lrdg-compat__score > b{
  font-family:var(--font-title); font-weight:700; line-height:1; color:var(--lrdg-purple);
  font-size:clamp(1.8rem,1.3rem+1.6vw,2.6rem);
}
.lrdg-compat__score > b span{ font-size:.5em; }
.lrdg-compat__label{ font-size:14px; color:var(--ink2); line-height:1.4; }
.lrdg-compat__label small{ display:block; font-family:var(--font-mono); font-size:10px; color:var(--muted); margin-top:2px; }
.lrdg-compat__shared{ margin-top:14px; }
.lrdg-compat__shared-label{ margin:0 0 8px; font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
.lrdg-compat__shared-row{ display:flex; flex-wrap:wrap; gap:8px; }
.lrdg-compat__work{
  display:flex; align-items:flex-end; width:74px; height:54px; padding:5px 6px;
  border-radius:8px; background:var(--surface2) center / cover no-repeat;
  text-decoration:none; overflow:hidden; position:relative;
}
.lrdg-compat__work::before{ content:""; position:absolute; inset:0; background:linear-gradient(transparent 30%, rgba(0,0,0,.72)); }
.lrdg-compat__work span{
  position:relative; font-size:9.5px; line-height:1.15; color:#fff; font-weight:600;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.lrdg-compat__gap{ margin:12px 0 0; font-size:12.5px; color:var(--muted); line-height:1.5; }
.lrdg-compat__gap a{ color:var(--lrdg-purple); }

/* zone « Réglages » en bas de /account/ */
.lrdg-account__settings{ margin-top:44px; padding-top:8px; border-top:1px solid var(--line); }
.lrdg-account__edit{
  border:1px solid var(--line); border-radius:12px; background:var(--surface);
  margin:12px 0 0; overflow:hidden;
}
.lrdg-account__edit > summary{
  list-style:none; cursor:pointer; padding:14px 16px;
  font-family:var(--font-title); font-weight:600; font-size:15px; color:var(--ink);
  display:flex; align-items:center; justify-content:space-between; gap:10px;
}
.lrdg-account__edit > summary::-webkit-details-marker{ display:none; }
.lrdg-account__edit > summary::after{
  content:"+"; font-family:var(--font-mono); font-size:18px; color:var(--muted); line-height:1;
}
.lrdg-account__edit[open] > summary::after{ content:"–"; }
.lrdg-account__edit > summary:hover{ color:var(--lrdg-purple); }
.lrdg-account__edit-body{ padding:4px 16px 18px; }
.lrdg-account__edit-body .titre-geek{ display:none; }

/* --- Comptes de jeu : Steam --- */
.lrdg-steam{ display:flex; flex-direction:column; gap:12px; max-width:520px; }
.lrdg-steam__notice{ margin:0; padding:8px 12px; border-radius:8px; font-size:13px; }
.lrdg-steam__notice.is-ok{ background:color-mix(in srgb, var(--lrdg-purple) 12%, transparent); color:var(--lrdg-purple); }
.lrdg-steam__notice.is-err{ background:color-mix(in srgb, #e5484d 14%, transparent); color:#e5484d; }
.lrdg-steam__pitch{ margin:0; font-size:13.5px; color:var(--ink2); line-height:1.55; }
.lrdg-app .lrdg-steam__btn{
  display:inline-flex; align-items:center; gap:9px; align-self:flex-start;
  padding:10px 16px; border-radius:999px !important;
  background:#1b2838 !important; color:#fff !important;
  font-weight:700 !important; font-size:13px !important; text-decoration:none !important;
}
.lrdg-app .lrdg-steam__btn:hover{ background:#2a475e !important; }
.lrdg-steam__linked{
  display:flex; align-items:center; gap:12px;
  padding:12px 14px; border:1px solid var(--line); border-radius:var(--r-lg); background:var(--surface);
}
.lrdg-app .lrdg-steam__avatar{
  width:40px !important; height:40px !important; max-width:none !important;
  flex:0 0 auto; border-radius:8px; object-fit:cover; background:var(--surface2);
  display:grid; place-items:center; font-weight:700; color:var(--muted);
}
.lrdg-steam__meta{ flex:1 1 auto; min-width:0; }
.lrdg-steam__name{ margin:0; font-weight:700; font-size:14px; }
.lrdg-app .lrdg-steam__name a{ color:var(--ink) !important; text-decoration:none !important; }
.lrdg-app .lrdg-steam__name a:hover{ color:var(--lrdg-purple) !important; }
.lrdg-steam__sub{ margin:2px 0 0; font-size:10.5px; color:var(--muted); }
.lrdg-steam__form{ margin:0; flex:0 0 auto; }
.lrdg-app .lrdg-steam__unlink{
  padding:6px 12px; border:1px solid var(--line) !important; border-radius:999px !important;
  background:none !important; box-shadow:none !important;
  color:var(--muted) !important; font-size:12px !important; cursor:pointer;
}
.lrdg-app .lrdg-steam__unlink:hover{ border-color:var(--lrdg-purple) !important; color:var(--lrdg-purple) !important; }
.lrdg-steam__hint{ margin:0; font-size:11px; color:var(--muted); }
.lrdg-steam__prefs{ margin:0; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.lrdg-steam__check{ display:flex; align-items:center; gap:9px; font-size:13px; color:var(--ink); cursor:pointer; }
.lrdg-steam__check input{ width:17px; height:17px; accent-color:var(--lrdg-purple); flex:0 0 auto; }
.lrdg-app .lrdg-steam__save{
  padding:6px 14px; border:1px solid var(--line) !important; border-radius:999px !important;
  background:none !important; box-shadow:none !important;
  color:var(--ink2) !important; font-size:12px !important; cursor:pointer;
}
.lrdg-app .lrdg-steam__save:hover{ border-color:var(--lrdg-purple) !important; color:var(--lrdg-purple) !important; }

/* carte « Sur Steam » du profil public */
.lrdg-steam-card__id{ display:flex; align-items:center; gap:12px; margin-bottom:6px; }
.lrdg-app .lrdg-steam-card__avatar{
  width:44px !important; height:44px !important; max-width:none !important;
  flex:0 0 auto; border-radius:10px; object-fit:cover; background:var(--surface2);
}
.lrdg-steam-card__name{ margin:0; font-weight:700; font-size:15px; }
.lrdg-app .lrdg-steam-card__name a{ color:var(--ink) !important; text-decoration:none !important; }
.lrdg-app .lrdg-steam-card__name a:hover{ color:var(--lrdg-purple) !important; }
.lrdg-steam-card__meta{ margin:2px 0 0; font-size:11px; color:var(--muted); }
.lrdg-steam-card__block{ margin-top:16px; }
.lrdg-steam-card__subtitle{
  margin:0 0 8px; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--muted);
}
.lrdg-steam-games{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.lrdg-steam-game{
  display:flex; align-items:center; gap:12px;
  padding:6px; border:1px solid var(--line); border-radius:10px; background:var(--surface);
}
.lrdg-app .lrdg-steam-game img{
  width:92px !important; height:35px !important; max-width:none !important;
  flex:0 0 auto; border-radius:5px; object-fit:cover; background:var(--surface2);
}
.lrdg-steam-game__name{
  flex:1 1 auto; min-width:0; font-size:13.5px; font-weight:600; color:var(--ink);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.lrdg-steam-game__time{ flex:0 0 auto; font-size:11px; color:var(--muted); }
.lrdg-steam-card__foot{ margin:14px 0 0; font-size:12.5px; }
.lrdg-app .lrdg-steam-card__foot a{ color:var(--lrdg-purple) !important; text-decoration:none !important; font-weight:600; }
.lrdg-app .lrdg-steam-card__foot a:hover{ text-decoration:underline !important; }
@media (max-width:560px){
  .lrdg-app .lrdg-steam-game img{ width:72px !important; height:27px !important; }
}

/* fiche produit (jeu) : bibliothèque / note à gauche, carte Steam à droite */
.lrdg-produit__toolbar{ margin-top:20px; }
.lrdg-produit__toolbar.has-live{
  display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:26px; align-items:start;
}
.lrdg-produit__toolbar-main{ min-width:0; }

.lrdg-steamlive{
  display:flex; flex-direction:column; gap:10px;
  padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--surface);
  font-size:13px;
}
.lrdg-steamlive__brand{
  margin:0; display:flex; align-items:center; gap:6px;
  font-size:9.5px; letter-spacing:.08em; color:var(--muted);
}
.lrdg-steamlive__players{ margin:0; display:flex; gap:8px; color:var(--ink2); line-height:1.4; }
.lrdg-steamlive__players b{ color:var(--ink); font-weight:700; }
.lrdg-steamlive__dot{
  margin-top:5px; flex:0 0 auto; width:7px; height:7px; border-radius:50%; background:#3ba55d;
  box-shadow:0 0 0 3px color-mix(in srgb, #3ba55d 25%, transparent);
}
.lrdg-steamlive__price{ margin:0; display:flex; align-items:baseline; flex-wrap:wrap; gap:7px; }
.lrdg-steamlive__price s{ color:var(--muted); }
.lrdg-steamlive__price strong{ color:var(--ink); font-size:16px; }
.lrdg-steamlive__off{
  padding:1px 6px; border-radius:5px; font-family:var(--font-mono); font-size:10px; font-weight:700;
  background:color-mix(in srgb, #3ba55d 16%, transparent); color:#2e8049;
}
.lrdg-app .lrdg-steamlive__link{
  margin-top:2px; color:var(--lrdg-purple) !important; text-decoration:none !important;
  font-weight:600; font-size:12px;
}
.lrdg-app .lrdg-steamlive__link:hover{ text-decoration:underline !important; }
@media (max-width:820px){
  .lrdg-produit__toolbar.has-live{ grid-template-columns:1fr; gap:16px; }
}

/* « Suis LaRevueD'Geek » (succès déclaratifs réseaux) */
.lrdg-sfollow__intro{ margin:0 0 12px; font-size:13px; color:var(--muted); }
.lrdg-sfollow__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.lrdg-sfollow__row{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:var(--surface);
}
.lrdg-sfollow__ico{ flex:0 0 auto; display:grid; place-items:center; width:34px; height:34px; border-radius:9px; background:var(--surface2); color:var(--ink2); }
.lrdg-sfollow__row--instagram .lrdg-sfollow__ico{ color:#c13584; }
.lrdg-sfollow__label{ flex:1 1 auto; min-width:120px; font-size:14px; font-weight:600; color:var(--ink); }
.lrdg-sfollow__handle{ font-weight:400; font-size:11px; color:var(--muted); }
.lrdg-app .lrdg-sfollow__open{ flex:0 0 auto; font-size:12px; color:var(--lrdg-purple) !important; text-decoration:none !important; font-weight:600; }
.lrdg-app .lrdg-sfollow__open:hover{ text-decoration:underline !important; }
.lrdg-app .lrdg-sfollow__claim{
  flex:0 0 auto; padding:7px 14px; border:1px solid var(--lrdg-purple) !important; border-radius:999px !important;
  background:none !important; box-shadow:none !important;
  color:var(--lrdg-purple) !important; font-size:12px !important; font-weight:700 !important; cursor:pointer;
}
.lrdg-app .lrdg-sfollow__claim:hover{ background:color-mix(in srgb, var(--lrdg-purple) 10%, transparent) !important; }
.lrdg-app .lrdg-sfollow__claim:disabled{ cursor:default; opacity:.65; }
.lrdg-sfollow__row.is-done{ border-color:color-mix(in srgb, var(--lrdg-purple) 40%, var(--line)); background:color-mix(in srgb, var(--lrdg-purple) 6%, var(--surface)); }
.lrdg-app .lrdg-sfollow__row.is-done .lrdg-sfollow__claim{ border-color:var(--line) !important; color:var(--muted) !important; background:none !important; }

/* réglages sur /account/ */
.lrdg-profile-settings{ display:flex; flex-direction:column; gap:14px; max-width:520px; }
.lrdg-profile-settings__toggle{ display:flex; align-items:center; gap:10px; font-size:14px; color:var(--ink); cursor:pointer; }
.lrdg-profile-settings__toggle input{ width:18px; height:18px; accent-color:var(--lrdg-purple); }
.lrdg-profile-settings__url{ margin:0; font-size:12.5px; color:var(--muted); }
.lrdg-profile-settings__url a{ color:var(--lrdg-purple); word-break:break-all; }
.lrdg-profile-settings__hint{ margin:-4px 0 0; font-size:11.5px; color:var(--muted); line-height:1.5; }
.lrdg-profile-settings__row{ display:flex; flex-direction:column; gap:5px; }
.lrdg-profile-settings__row > span{
  font-family:var(--font-mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted);
}
.lrdg-app .lrdg-profile-settings__row input,
.lrdg-app .lrdg-profile-settings__row textarea{
  width:100%; padding:9px 11px; border:1px solid var(--line) !important; border-radius:8px !important;
  background:var(--surface) !important; color:var(--ink) !important; font:inherit !important; box-shadow:none !important;
}
.lrdg-app .lrdg-profile-settings__row input:focus,
.lrdg-app .lrdg-profile-settings__row textarea:focus{ border-color:var(--lrdg-purple) !important; outline:none !important; }
.lrdg-profile-settings__pins-label{
  margin:0 0 8px; font-family:var(--font-mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted);
}
.lrdg-profile-settings__pins-grid{ display:flex; flex-wrap:wrap; gap:7px; }
.lrdg-profile-settings__pin{
  display:inline-flex; align-items:center; gap:6px; padding:6px 11px; border-radius:999px;
  border:1px solid var(--line); background:var(--surface); font-size:12px; color:var(--ink2); cursor:pointer;
}
.lrdg-profile-settings__pin input{ position:absolute; opacity:0; width:0; height:0; }
.lrdg-profile-settings__pin.is-on{ background:var(--lrdg-purple); border-color:var(--lrdg-purple); color:#fff; }
.lrdg-profile-settings__msg{ margin:2px 0 0; font-size:11.5px; color:var(--lrdg-purple); min-height:1em; }
.lrdg-profile-settings__msg.is-err{ color:#c0392b; }
[data-theme="dark"] .lrdg-profile-settings__msg.is-err{ color:#ff8b7a; }
.lrdg-biblio__filters{ display:flex; flex-direction:column; gap:10px; margin:0 0 18px; }
.lrdg-biblio__filtergroup{ display:flex; flex-wrap:wrap; gap:7px; }
.lrdg-biblio .lrdg-chip{ font-size:12px; padding:6px 11px; }
.lrdg-biblio .lrdg-chip__count{ font-size:10px; opacity:.7; }
.lrdg-biblio .lrdg-chip--fav.is-active{ background:var(--lrdg-purple); border-color:var(--lrdg-purple); }

.lrdg-biblio__grid{
  display:grid; gap:14px;
  grid-template-columns:repeat(auto-fill, minmax(150px, 1fr));
}
.lrdg-biblio__card.is-hidden{ display:none; }
.lrdg-biblio__media{
  position:relative; display:block; aspect-ratio:3/4; border-radius:10px; overflow:hidden;
  background:var(--surface2); border:1px solid var(--line);
}
.lrdg-biblio__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.lrdg-biblio__media--empty{ position:absolute; inset:0; background:var(--surface2); }
.lrdg-biblio__heart{ position:absolute; top:7px; right:8px; font-size:14px; color:var(--lrdg-purple); text-shadow:0 1px 3px rgba(0,0,0,.5); }
.lrdg-biblio__meta{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:8px 0 3px; }
.lrdg-biblio__status{
  font-size:10px; font-weight:700; letter-spacing:.02em; padding:2px 7px; border-radius:5px;
  background:var(--surface2); color:var(--ink2); border:1px solid var(--line);
}
.lrdg-biblio__status--envie{ color:var(--lrdg-purple); border-color:color-mix(in srgb, var(--lrdg-purple) 40%, var(--line)); }
.lrdg-biblio__status--en-cours{ color:#b26a00; border-color:color-mix(in srgb, #b26a00 40%, var(--line)); }
.lrdg-biblio__status--termine{ background:var(--lrdg-purple); color:#fff; border-color:var(--lrdg-purple); }
.lrdg-biblio__status--abandonne{ color:var(--muted); }
.lrdg-biblio__type{ font-size:10px; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); }
.lrdg-biblio__score{ margin-left:auto; font-family:var(--font-title); font-weight:700; font-size:13px; color:var(--ink); }
.lrdg-biblio__score span{ font-size:9px; color:var(--muted); font-weight:400; }
.lrdg-biblio__name{ margin:0; font-size:13px; line-height:1.3; font-weight:600; }
.lrdg-biblio__name a{ color:var(--ink); text-decoration:none; }
.lrdg-app .lrdg-biblio__name a:hover{ color:var(--lrdg-purple); }

@media (max-width:560px){
  .lrdg-biblio__grid{ grid-template-columns:repeat(auto-fill, minmax(120px, 1fr)); gap:11px; }
}
@media (prefers-reduced-motion: reduce){
  .lrdg-track__btn, .lrdg-track__fav, .lrdg-track__clear{ transition:none; }
}

/* Page « Bibliothèque » (catalogue de toutes les œuvres) */
.lrdg-biblio-cat__lede{ margin:10px 0 0; color:var(--ink2); font-size:14.5px; line-height:1.6; max-width:60ch; }
.lrdg-biblio-cat__bar{
  display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px;
  margin:26px 0 4px; padding-bottom:14px; border-bottom:1px solid var(--line);
}
.lrdg-biblio-cat__search{ flex:1 1 220px; max-width:340px; display:block; }
.lrdg-app .lrdg-biblio-cat__search input{
  width:100%; padding:10px 14px;
  border:1px solid var(--line) !important; border-radius:999px !important;
  background:var(--surface) !important; color:var(--ink) !important;
  font-family:var(--font-body) !important; font-size:13.5px !important;
}
.lrdg-app .lrdg-biblio-cat__search input:focus{
  outline:0; border-color:var(--lrdg-purple) !important;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--lrdg-purple) 18%, transparent) !important;
}
.lrdg-biblio-cat__tabs{ display:flex; flex-wrap:wrap; gap:8px; }
.lrdg-app .lrdg-biblio-cat__tab{
  display:inline-flex; align-items:center; gap:7px;
  padding:8px 15px; border:1px solid var(--line) !important; border-radius:999px !important;
  background:var(--surface) !important; box-shadow:none !important;
  color:var(--ink2) !important; font-size:12.5px !important; font-weight:700 !important; cursor:pointer;
}
.lrdg-app .lrdg-biblio-cat__tab:hover{ border-color:var(--lrdg-purple) !important; color:var(--lrdg-purple) !important; }
.lrdg-app .lrdg-biblio-cat__tab.is-active{
  background:var(--lrdg-purple) !important; border-color:var(--lrdg-purple) !important; color:#fff !important;
}
.lrdg-biblio-cat__n{ font-size:10.5px; font-weight:700; opacity:.7; font-family:var(--font-mono); }
.lrdg-biblio-cat__panel{ margin-top:22px; }
.lrdg-biblio-cat__panel.is-hidden{ display:none; }
.lrdg-biblio-cat__noresult{ margin:24px 0 0; color:var(--muted); font-size:14px; }
.lrdg-biblio-cat .lrdg-section__foot{ margin-top:26px; }
/* chaque onglet ne montre qu'un type : on adapte le format à ce type.
   Jeux vidéo = key-art paysage ; cinéma / séries / livres = jaquette portrait. */
.lrdg-biblio-cat .lrdg-biblio__grid{ grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:14px; }
.lrdg-biblio-cat .lrdg-biblio__media{ aspect-ratio:3 / 4; }
.lrdg-biblio-cat__panel[data-lrdg-biblio-panel="jeu-video"] .lrdg-biblio__grid,
.lrdg-biblio-cat__panel[data-lrdg-biblio-panel="autre"] .lrdg-biblio__grid{
  grid-template-columns:repeat(auto-fill, minmax(196px, 1fr)); gap:16px;
}
.lrdg-biblio-cat .lrdg-biblio__card[data-type="jeu-video"] .lrdg-biblio__media,
.lrdg-biblio-cat .lrdg-biblio__card[data-type="autre"] .lrdg-biblio__media{ aspect-ratio:16 / 10; }
@media (max-width:560px){
  .lrdg-biblio-cat .lrdg-biblio__grid,
  .lrdg-biblio-cat__panel[data-lrdg-biblio-panel="jeu-video"] .lrdg-biblio__grid,
  .lrdg-biblio-cat__panel[data-lrdg-biblio-panel="autre"] .lrdg-biblio__grid{
    grid-template-columns:repeat(auto-fill, minmax(140px, 1fr)); gap:11px;
  }
}

/* ======================================================================
   Page « Communauté » (/communaute/) + encart d'accueil
   ====================================================================== */
.lrdg-community__lede{ margin:10px 0 0; color:var(--ink2); font-size:14.5px; line-height:1.6; max-width:62ch; }
.lrdg-community__bar{
  display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px;
  margin:26px 0 4px; padding-bottom:14px; border-bottom:1px solid var(--line);
}
.lrdg-community__search{ flex:1 1 220px; max-width:340px; display:block; }
.lrdg-app .lrdg-community__search input{
  width:100%; padding:10px 14px;
  border:1px solid var(--line) !important; border-radius:999px !important;
  background:var(--surface) !important; color:var(--ink) !important;
  font-family:var(--font-body) !important; font-size:13.5px !important;
}
.lrdg-app .lrdg-community__search input:focus{
  outline:0; border-color:var(--lrdg-purple) !important;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--lrdg-purple) 18%, transparent) !important;
}
.lrdg-community__sorts{ display:flex; flex-wrap:wrap; gap:8px; }
.lrdg-app .lrdg-community__sort{
  padding:8px 15px; border:1px solid var(--line) !important; border-radius:999px !important;
  background:var(--surface) !important; box-shadow:none !important;
  color:var(--ink2) !important; font-size:12.5px !important; font-weight:700 !important; cursor:pointer;
}
.lrdg-app .lrdg-community__sort:hover{ border-color:var(--lrdg-purple) !important; color:var(--lrdg-purple) !important; }
.lrdg-app .lrdg-community__sort.is-active{ background:var(--lrdg-purple) !important; border-color:var(--lrdg-purple) !important; color:#fff !important; }
.lrdg-community__hint{ margin:14px 0 0; font-size:12.5px; color:var(--muted); }
.lrdg-community__noresult{ margin:24px 0 0; color:var(--muted); font-size:14px; }

.lrdg-community__grid{
  margin-top:22px; display:grid; gap:16px;
  grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
}
.lrdg-commember{
  display:flex; flex-direction:column; gap:10px;
  padding:16px; border:1px solid var(--line); border-radius:var(--r-lg); background:var(--surface);
}
.lrdg-commember[hidden]{ display:none; }
.lrdg-commember__head{ display:flex; align-items:center; gap:12px; text-decoration:none; }
.lrdg-app .lrdg-commember__avatar{
  width:52px !important; height:52px !important; max-width:none !important;
  flex:0 0 auto; border-radius:50%; object-fit:cover; background:var(--surface2);
}
.lrdg-commember__id{ min-width:0; }
.lrdg-commember__name{ display:block; font-weight:700; font-size:15px; color:var(--ink); }
.lrdg-commember__badges{ display:flex; flex-wrap:wrap; gap:5px; margin-top:4px; }
.lrdg-commember__bio{ margin:0; font-size:13px; color:var(--ink2); line-height:1.5; }
.lrdg-commember__stats{ margin:0; font-size:10.5px; color:var(--muted); }
.lrdg-commember__foot{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:auto; padding-top:4px; }
.lrdg-app .lrdg-commember__foot .lrdg-follow.lrdg-btn{ min-width:0; padding:9px 14px; font-size:12px !important; }

/* encart d'accueil */
.lrdg-comband__lede{ margin:8px 0 0; color:var(--ink2); font-size:14px; line-height:1.55; max-width:64ch; }
.lrdg-comband__grid{
  list-style:none; margin:18px 0 0; padding:0;
  display:grid; gap:14px; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr));
}
.lrdg-comband__item a{
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:7px;
  padding:16px 12px; border:1px solid var(--line); border-radius:var(--r-lg); background:var(--surface);
  text-decoration:none;
}
.lrdg-comband__item a:hover{ border-color:var(--lrdg-purple); }
.lrdg-app .lrdg-comband__avatar{
  width:56px !important; height:56px !important; max-width:none !important;
  border-radius:50%; object-fit:cover; background:var(--surface2);
}
.lrdg-comband__name{ font-weight:700; font-size:13.5px; color:var(--ink); line-height:1.3; }
.lrdg-comband__meta{ font-size:9.5px; color:var(--muted); }
@media (max-width:560px){
  .lrdg-community__grid{ grid-template-columns:1fr; }
  .lrdg-comband__grid{ grid-template-columns:repeat(auto-fill, minmax(120px, 1fr)); }
}

/* ======================================================================
   Récompenses cosmétiques de niveau
   ====================================================================== */
/* anneau d'avatar (posé sur l'<img> via box-shadow, pas de wrapper) */
.lrdg-app .lrdg-lvlring--initie  { box-shadow:0 0 0 3px color-mix(in srgb, var(--lrdg-purple) 38%, transparent); }
.lrdg-app .lrdg-lvlring--fervent { box-shadow:0 0 0 3px var(--lrdg-purple); }
.lrdg-app .lrdg-lvlring--veteran { box-shadow:0 0 0 3px var(--lrdg-purple), 0 0 0 6px color-mix(in srgb, var(--lrdg-purple) 24%, transparent); }
.lrdg-app .lrdg-lvlring--elite   { box-shadow:0 0 0 3px #E0B34B, 0 0 0 6px color-mix(in srgb, #E0B34B 26%, transparent); }
.lrdg-app .lrdg-lvlring--legende { box-shadow:0 0 0 3px #E0B34B; animation:lrdg-lvlpulse 2.6s ease-in-out infinite; }
@keyframes lrdg-lvlpulse{
  0%,100%{ box-shadow:0 0 0 3px #E0B34B, 0 0 0 0 color-mix(in srgb, #E0B34B 55%, transparent); }
  50%    { box-shadow:0 0 0 3px #F2D588, 0 0 14px 2px color-mix(in srgb, #E0B34B 60%, transparent); }
}
@media (prefers-reduced-motion: reduce){
  .lrdg-app .lrdg-lvlring--legende{ animation:none; box-shadow:0 0 0 3px #E0B34B, 0 0 12px color-mix(in srgb, #E0B34B 50%, transparent); }
}

/* pseudo coloré */
.lrdg-app .lrdg-lvlname--fervent,
.lrdg-app .lrdg-lvlname--veteran{ color:var(--lrdg-purple) !important; }
.lrdg-app .lrdg-lvlname--elite{ color:#C4952B !important; }
.lrdg-app .lrdg-lvlname--legende{
  background:linear-gradient(92deg,#C4952B,#F2D588,#C4952B);
  -webkit-background-clip:text; background-clip:text; color:transparent !important;
}
[data-theme="dark"] .lrdg-app .lrdg-lvlname--elite,
:root:not([data-theme="light"]) .lrdg-app .lrdg-lvlname--elite{ color:#E8C878 !important; }

/* titre sous le nom */
.lrdg-lvltitle{
  margin:2px 0 0; font-family:var(--font-mono); font-size:9.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--lrdg-purple);
}
.lrdg-commember__title{
  font-family:var(--font-mono); font-size:8.5px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--lrdg-purple); font-weight:400;
}

/* rubrique Podcast (/podcast/) --------------------------------------- */
.lrdg-podcast__host{ margin:12px 0 0; font-size:14px; color:var(--ink2); }
.lrdg-podcast__host a{ color:var(--lrdg-purple); font-weight:700; text-decoration:none; }
.lrdg-app .lrdg-podcast__host a:hover{ text-decoration:underline; }
.lrdg-podcast__platforms{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.lrdg-podcast__empty{ color:var(--muted); font-size:14px; }

.lrdg-podcast__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:18px; }
.lrdg-episode{
  display:grid; grid-template-columns:132px 1fr; gap:18px;
  padding:18px; border:1px solid var(--line); border-radius:var(--r-lg); background:var(--surface);
}
.lrdg-episode__media{
  display:block; aspect-ratio:1/1; border-radius:12px; overflow:hidden;
  background:var(--surface2);
}
.lrdg-episode__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.lrdg-episode__media--none{ display:block; width:100%; height:100%; }
.lrdg-episode__body{ min-width:0; display:flex; flex-direction:column; }
.lrdg-episode__meta{ margin:0; font-size:10.5px; color:var(--muted); }
.lrdg-episode__title{ margin:6px 0 0; font-family:var(--font-title); font-weight:700; font-size:17px; line-height:1.28; color:var(--ink); }
.lrdg-episode__desc{ margin:8px 0 0; font-size:13.5px; line-height:1.55; color:var(--ink2); }
.lrdg-episode__desc.is-clamped{
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.lrdg-episode__desc-toggle{
  margin-top:6px; padding:0; border:0; background:none; cursor:pointer;
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--lrdg-purple);
}
.lrdg-episode__desc-toggle:hover{ color:var(--lrdg-purple-deep); }
.lrdg-episode__desc-toggle[hidden]{ display:none; }
.lrdg-episode__player{ width:100%; margin-top:14px; height:36px; }
.lrdg-episode__link{
  align-self:flex-start; margin-top:10px; color:var(--lrdg-purple); text-decoration:none;
  font-size:12px; font-weight:600;
}
.lrdg-app .lrdg-episode__link:hover{ text-decoration:underline; }
@media (max-width:640px){
  .lrdg-episode{ grid-template-columns:1fr; }
  .lrdg-episode__media{ aspect-ratio:16/9; }
}

/* badge de niveau sur les commentaires */
.lrdg-clvl{
  display:inline-block; margin-left:6px; padding:1px 7px; border-radius:999px;
  font-family:var(--font-mono); font-size:9px; letter-spacing:.04em; font-weight:700;
  vertical-align:middle;
  background:color-mix(in srgb, var(--lrdg-purple) 14%, transparent); color:var(--lrdg-purple);
}
.lrdg-clvl--elite,
.lrdg-clvl--legende{ background:color-mix(in srgb, #C4952B 18%, transparent); color:#B0851F; }
[data-theme="dark"] .lrdg-clvl--elite,
[data-theme="dark"] .lrdg-clvl--legende,
:root:not([data-theme="light"]) .lrdg-clvl--elite,
:root:not([data-theme="light"]) .lrdg-clvl--legende{ color:#E8C878; }

/* échelle des récompenses (/account/) */
.lrdg-lvlrewards__next{ margin:6px 0 0; font-size:11px; color:var(--muted); }
.lrdg-lvlrewards__bar{ margin:8px 0 20px; height:6px; border-radius:999px; background:var(--surface2); overflow:hidden; }
.lrdg-lvlrewards__bar span{ display:block; height:100%; border-radius:999px; background:var(--lrdg-purple); }
.lrdg-lvlrewards__ladder{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.lrdg-lvltier{
  display:flex; align-items:center; gap:14px;
  padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:var(--surface);
  opacity:.55;
}
.lrdg-lvltier.is-reached{ opacity:1; }
.lrdg-lvltier.is-current{ border-color:var(--lrdg-purple); box-shadow:0 0 0 1px var(--lrdg-purple) inset; }
.lrdg-lvlring--preview{
  flex:0 0 auto; width:26px; height:26px; border-radius:50%;
  background:var(--surface2); display:block;
}
.lrdg-lvltier__body{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:2px; }
.lrdg-lvltier__name{ font-weight:700; font-size:14px; color:var(--ink); display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
.lrdg-lvltier__lvl{ font-size:10px; color:var(--muted); font-weight:400; }
.lrdg-lvltier__perk{ font-size:12.5px; color:var(--ink2); line-height:1.4; }
.lrdg-lvltier__state{ flex:0 0 auto; color:var(--lrdg-purple); font-weight:700; }

/* ======================================================================
   Ex-CSS additionnel (Personnaliser) rapatrie - versions theme-aware.
   Le champ CSS additionnel du Customizer est vide : ce qui suit remplace
   ses regles utiles (le reste etait mort : wp-dark-mode, WP ULike, boutons
   et popups Elementor, button{background:#F5E663 !important}, etc.).
   ====================================================================== */

.lrdg-app .wp-caption-text{ text-align:center; font-size:12px; color:var(--muted); margin-top:6px; }

/* citations dans les pages de contenu (les articles ont deja leur regle) */
.lrdg-app .lrdg-page__content blockquote,
.lrdg-app .lrdg-page__col blockquote{
  border-left:4px solid var(--lrdg-purple); padding-left:18px; margin:24px 0;
  font-style:italic; color:var(--ink2);
}

/* Badge membre (.lrdg-badge) : profil + commentaires */
.lrdg-badge{
  display:inline-flex; align-items:center; gap:6px;
  padding:5px 13px; border-radius:999px;
  font-family:var(--font-mono); font-size:10px; font-weight:600;
  letter-spacing:.06em; text-transform:uppercase; line-height:1; white-space:nowrap; vertical-align:middle;
}
.lrdg-badge--premium{ background:var(--lrdg-purple); color:#fff; }
.lrdg-badge--soutien{ background:var(--lrdg-yellow); color:#1c1526; }
.lrdg-badge--free,
.lrdg-badge--membre{ background:var(--surface2); color:var(--ink2); border:1px solid var(--line); }

/* Barre de progression XP ([lrdg_progress]) */
.lrdg-progress-wrap{
  max-width:460px; padding:16px 18px;
  background:var(--surface); border:1px solid var(--line);
  border-radius:var(--r-lg); box-shadow:var(--shadow);
}
.lrdg-progress-title{ margin:0 0 10px; font-family:var(--font-title); font-weight:700; font-size:15px; color:var(--ink); }
.lrdg-progress-bar{ height:12px; background:var(--surface2); border:1px solid var(--line); border-radius:999px; overflow:hidden; }
.lrdg-progress-fill{
  height:100%; border-radius:999px;
  background:linear-gradient(90deg, var(--lrdg-purple), color-mix(in srgb, var(--lrdg-purple) 55%, #fff));
  transition:width .4s ease;
}
.lrdg-progress-meta{ margin:10px 0 0; font-family:var(--font-mono); font-size:11px; color:var(--muted); }

/* HUD compact dans l'en-tete de profil (badge) */
.profil-geek-header__progress{ margin:6px 0 0; width:100%; max-width:460px; }
.profil-geek-header__progress .lrdg-progress-wrap{
  display:grid; grid-template-columns:1fr auto; grid-template-areas:"title meta" "bar bar";
  row-gap:8px; column-gap:12px;
  max-width:none; padding:12px 14px; border-radius:14px;
  background:rgba(255,255,255,.14); border:0; box-shadow:none;
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
}
.profil-geek-header__progress .lrdg-progress-title{ grid-area:title; margin:0; font-size:12px; color:#fff; }
.profil-geek-header__progress .lrdg-progress-meta{ grid-area:meta; margin:0; color:rgba(255,255,255,.85); }
.profil-geek-header__progress .lrdg-progress-bar{ grid-area:bar; height:8px; background:rgba(255,255,255,.22); border:0; }
.profil-geek-header__progress .lrdg-progress-fill{ background:linear-gradient(90deg, var(--lrdg-yellow), #fff); }
@media (max-width:520px){
  .profil-geek-header__progress .lrdg-progress-wrap{ grid-template-columns:1fr; grid-template-areas:"title" "meta" "bar"; }
}

/* Succes ([lrdg_achievements]) */
.lrdg-ach-wrap{ margin-top:0; }
.lrdg-ach-header{ margin:0 0 16px; font-family:var(--font-mono); font-size:11px; letter-spacing:.04em; color:var(--muted); }
.lrdg-ach-wrap strong,
.lrdg-ach-header strong{ color:var(--ink2); font-weight:600; }
.lrdg-ach-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:16px; }
/* vue repliée à ~2 lignes + aperçu (déplié par initAchievementsClamp au clic) */
.lrdg-ach-grid.lrdg-ach-grid--clamp{ max-height:280px; overflow:hidden; -webkit-mask-image:linear-gradient(#000 78%, transparent); mask-image:linear-gradient(#000 78%, transparent); }
@media (max-width:640px){ .lrdg-ach-grid.lrdg-ach-grid--clamp{ max-height:340px; } }

/* repli générique des sections de /account/ (initAccountClamps) */
.lrdg-acc-clampbox{ position:relative; }
.lrdg-acc-clampbox--on{
  max-height:44rem; overflow:hidden;
  -webkit-mask-image:linear-gradient(#000 78%, transparent);
  mask-image:linear-gradient(#000 78%, transparent);
}
@media (max-width:640px){ .lrdg-acc-clampbox--on{ max-height:34rem; } }
.lrdg-app button.lrdg-acc-clamp__btn{ margin:22px auto 0; display:flex; min-width:200px; }
button.lrdg-acc-clamp__btn[hidden]{ display:none !important; }
.lrdg-ach-card{
  padding:16px 18px; background:var(--surface);
  border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:none;
  transition:transform .18s ease, border-color .18s ease;
}
.lrdg-ach-card:hover{ transform:translateY(-2px); }
.lrdg-ach-card.is-done{ border-color:var(--lrdg-purple); }
.lrdg-ach-card.is-locked{ opacity:.55; }
.lrdg-ach-title{ margin:0 0 6px; font-family:var(--font-title); font-weight:700; font-size:14.5px; color:var(--ink); }
.lrdg-ach-desc{ margin:0; font-size:13px; line-height:1.45; color:var(--ink2); }
.lrdg-ach-progress{ margin:12px 0 0; font-family:var(--font-mono); font-size:10px; letter-spacing:.05em; color:var(--lrdg-purple); }

/* Favoris profil (.profil-geek-favs) - base autonome */
.profil-geek-favs__list{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.profil-geek-favs__tags{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.profil-geek-favs__list li,
.profil-geek-favs__tags li{
  padding:5px 12px; border:1px solid var(--line); border-radius:999px;
  font-size:12.5px; color:var(--ink2); background:var(--surface2);
}
.profil-geek-favs__subtitle{
  margin:12px 0 6px; font-family:var(--font-mono); font-size:9.5px;
  letter-spacing:.1em; text-transform:uppercase; color:var(--muted);
}

/* Formulaire ACF profil geek */
.lrdg-app .lrdg-profil-geek-form .titre-geek,
.lrdg-app .titre-geek{ margin:0 0 1rem; font-family:var(--font-title); font-weight:700; color:var(--ink); }
.lrdg-app .lrdg-profil-geek-form .acf-field label{ font-weight:700; font-size:13px; color:var(--ink); }
.lrdg-app .lrdg-profil-geek-form textarea,
.lrdg-app .lrdg-profil-geek-form input[type="text"],
.lrdg-app .lrdg-profil-geek-form input[type="email"],
.lrdg-app .lrdg-profil-geek-form input[type="url"],
.lrdg-app .lrdg-profil-geek-form input[type="file"],
.lrdg-app .lrdg-profil-geek-form select{
  width:100%; max-width:100%; padding:9px 11px;
  color:var(--ink); background:var(--surface);
  border:1px solid var(--line); border-radius:var(--r-sm);
}
.lrdg-app .lrdg-profil-geek-form .acf-submit input[type="submit"]{
  background:var(--lrdg-purple); color:#fff; border:0;
  padding:9px 18px; border-radius:999px; font-family:var(--font-title); font-weight:700; cursor:pointer;
}
.lrdg-app .lrdg-profil-geek-form .acf-submit input[type="submit"]:hover{ background:var(--lrdg-purple-deep); }

/* Formulaires Paid Member Subscriptions (register / recover / paiement) */
.lrdg-app .lrdg-page .pms-form,
.lrdg-app .lrdg-page .pms-register-form,
.lrdg-app .lrdg-page .pms-payment-details,
.lrdg-app .lrdg-page .pms-subscription-plans-wrapper,
.lrdg-app .lrdg-access .pms-form{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:20px;
}
.lrdg-app .lrdg-page .pms-form label,
.lrdg-app .lrdg-page .pms-form legend,
.lrdg-app .lrdg-access .pms-form label,
.lrdg-app .lrdg-page form[class*="pms-recover"] label,
.lrdg-app .lrdg-page .pms-subscription-plan-name{ color:var(--ink); font-weight:700; font-size:13px; }
.lrdg-app .lrdg-page .pms-form p,
.lrdg-app .lrdg-page .pms-alert,
.lrdg-app .lrdg-page .pms-subscription-plan-description,
.lrdg-app .lrdg-page form[class*="pms-recover"] p{ color:var(--ink2); }
.lrdg-app .lrdg-page .pms-form input[type="text"],
.lrdg-app .lrdg-page .pms-form input[type="email"],
.lrdg-app .lrdg-page .pms-form input[type="password"],
.lrdg-app .lrdg-page .pms-form select,
.lrdg-app .lrdg-access .pms-form input[type="text"],
.lrdg-app .lrdg-access .pms-form input[type="email"],
.lrdg-app .lrdg-access .pms-form input[type="password"],
.lrdg-app .lrdg-page form[class*="pms-recover"] input{
  color:var(--ink) !important; background:var(--surface) !important;
  border:1px solid var(--line) !important; border-radius:var(--r-sm) !important; padding:10px 12px !important;
}
/* place pour l'œil « afficher le mot de passe » (spécificité ≥ règle ci-dessus) */
.lrdg-app .lrdg-page .pms-form .lrdg-pw input,
.lrdg-app .lrdg-access .pms-form .lrdg-pw input,
.lrdg-app .lrdg-page form[class*="pms-recover"] .lrdg-pw input{ padding-right:44px !important; }
.lrdg-app .lrdg-page .pms-form input[type="submit"],
.lrdg-app .lrdg-page .pms-form button[type="submit"],
.lrdg-app .lrdg-access .pms-form input[type="submit"]{
  background:var(--lrdg-purple) !important; color:#fff !important;
  border:0 !important; border-radius:999px !important; padding:11px 24px !important;
  font-family:var(--font-title) !important; font-weight:700 !important; cursor:pointer;
}
.lrdg-app .lrdg-page .pms-form input[type="submit"]:hover,
.lrdg-app .lrdg-page .pms-form button[type="submit"]:hover,
.lrdg-app .lrdg-access .pms-form input[type="submit"]:hover{ background:var(--lrdg-purple-deep) !important; }
