/* ============================================================================
   RETOURS ROXANE — 28/09/2026. Chargée en DERNIER (functions.php, priorité 100).
   Une section par modèle de page ; chaque règle renvoie à sa ligne R de
   JOURNEES/2026-09-28/roxane-laboutiquedalexis.com/CORRECTIONS.md.
   Palette inchangée (DA Square) : blanc, #F2F2F2, #1A1A1A, bleu #006AFF.
   ========================================================================== */

:root{
  --gris-texte:#5C5C5C;           /* R33 : #737373 sur #F2F2F2 = 4,2:1 → 5,9:1 */
  --rox-encre-2:#3D3D3D;
  --rox-bleu-clair:#E8F1FF;
  --rox-bleu-nuit:#0A1F44;
  --rox-large:1280px;
  --rox-ombre:0 1px 2px rgba(16,24,40,.06), 0 8px 24px rgba(16,24,40,.08);
  --rox-ombre-forte:0 2px 4px rgba(16,24,40,.06), 0 18px 48px rgba(16,24,40,.14);
}
.lba-rox-large{ max-width:var(--rox-large); }

/* ---------------------------------------------------------------- SOCLE */

/* R10 — logo d'entreprise (pictogramme ticket + nom + signature) */
.lba-logo{ display:inline-flex; align-items:center; text-decoration:none; }
.lba-logo-bloc{ display:inline-flex; align-items:center; gap:11px; }
.lba-logo-marque{ width:42px; height:42px; flex:0 0 auto; display:block; }
.lba-logo-nom{ display:flex; flex-direction:column; line-height:1; white-space:nowrap; }
.lba-logo-nom-l1{ font-weight:800; font-size:20px; letter-spacing:-.025em; color:#1A1A1A; }
.lba-logo-nom-accent{ color:#006AFF; }
.lba-logo-nom-l2{ font-size:10.5px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; color:#595959; margin-top:5px; }
.lba-logo-bloc--sombre .lba-logo-nom-l1{ color:#FFFFFF; }
.lba-logo-bloc--sombre .lba-logo-nom-accent{ color:#6AAEFF; }
.lba-logo-bloc--sombre .lba-logo-nom-l2{ color:#B8B8B8; }
.lba-pied-logo{ margin:0 0 18px; }
.lba-pied-logo svg.lba-logo-marque{ width:42px !important; height:42px !important; }
@media (min-width:1100px){ .lba-pied-grille{ grid-template-columns:1.8fr repeat(4,1fr); } }
body.lba-scrolled .lba-logo-marque{ width:36px; height:36px; }
@media (max-width:1100px){ .lba-logo-nom-l2{ display:none; } .lba-logo-nom-l1{ font-size:18px; } }
@media (max-width:420px){ .lba-logo-marque{ width:36px; height:36px; } .lba-logo-nom-l1{ font-size:16.5px; } }

/* R14 / R19 — plus jamais de texte noir sur bleu : tout fond bleu porte du blanc */
.lba-etiquette{ --e-txt:#FFFFFF; }
.lba-sommaire-num, .lba-corps h2::before, .lba-doc-corps h2::before{ color:#FFFFFF !important; }
.lba-pied-titre{ color:#6AAEFF !important; }                       /* bleu sur noir 4,4 → 7,6:1 */
.lba-corps th, .lba-doc-corps th{ background:#1A1A1A; color:#FFFFFF; }   /* en-têtes blanc sur blanc */

/* R2 — le 7e métier (« Autre commerce ») occupe toute une rangée, partout où le choix du métier existe */
.lba-touches .lba-touche:has(input[name="metier"][value="autre"]){
  grid-column:1 / -1; flex-direction:row; justify-content:flex-start; align-items:center; gap:12px; min-height:0;
}
.lba-touches .lba-touche:has(input[name="metier"][value="autre"]) svg{ margin:0; }

/* R33 — finitions : chapôs jamais coupés au milieu d'un mot */
.lba-article-chapo, .lba-entete-page-chapo, .sbs-chapo{
  display:block !important; -webkit-line-clamp:unset !important; max-height:none !important; overflow:visible !important;
}

/* R8 — questions fréquentes : icône « + » qui ne chevauche plus la question */
.lba2-faq-item summary{ padding-right:52px; }
.lba2-faq-item summary::after{ top:50%; transform:translateY(-50%); }

/* ---------------------------------------------------------------- ACCUEIL */

/* R1 — hero plus large, colonnes équilibrées, moins de vide sur les côtés */
.lba-rox-hero-grid{ max-width:var(--rox-large); grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:64px; align-items:center; }
.lba2-hero{ padding:72px 0 88px; background:linear-gradient(180deg,#FFFFFF 0%,#F4F8FF 100%); }
.lba-rox-hero-grid .lba2-hero-titre{ font-size:48px; line-height:1.1; letter-spacing:-.03em; font-weight:800; text-wrap:balance; }
.lba-rox-hero-grid .lba2-hero-titre br{ display:none; }
.lba-rox-hero-grid .lba2-hero-soustitre{ font-size:19px; max-width:40ch; color:var(--rox-encre-2); }
.lba-rox-hero-grid .lba2-hero-badges{ display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; margin-top:28px; }
.lba-rox-hero-grid .lba2-hero-badges li{ font-size:15px; font-weight:600; }
.lba-rox-hero-grid .lba2-carte-formulaire{ padding:32px; box-shadow:var(--rox-ombre-forte); border:1px solid #E6E6E6; }
.lba-rox-hero-grid fieldset[data-etape="1"] .lba-touches--3col{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.lba-rox-hero-grid fieldset[data-etape="1"] .lba-touches--3col .lba-touche{ flex:none; min-width:0; }
.lba-rox-hero-grid .lba-touche--rangee{ min-height:60px !important; }
.lba-rox-hero-grid .lba-progression span{ flex:1 1 0; height:6px; }
.lba-rox-hero-grid .lba-formulaire-tete{ margin-bottom:22px; }
.lba-rox-hero-grid .lba-touche{ min-height:92px; font-size:14px; }
/* sections de l'accueil : même largeur que le hero */
.home .lba-enveloppe{ max-width:var(--rox-large); }
@media (max-width:900px){
  .lba2-hero{ padding:40px 0 48px; }
  .lba-rox-hero-grid{ grid-template-columns:1fr; gap:28px; }
  .lba-rox-hero-grid .lba2-hero-titre{ font-size:34px; }
  .lba-rox-hero-grid .lba2-hero-badges{ grid-template-columns:1fr; }
  .lba-rox-hero-grid .lba2-carte-formulaire{ padding:20px; }
  .lba-rox-hero-grid .lba-touche{ min-height:76px; }
  .lba-rox-hero-grid fieldset[data-etape="1"] .lba-touches--3col{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Surtitres communs */
.lba-rox-surtitre{ font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin:0 0 12px; color:#9CC6FF; }
.lba-rox-surtitre--bleu{ color:#006AFF; }

/* R4 — « Ma caisse est-elle en règle ? » : panneau sombre + aperçu du test */
.lba-rox-test{ padding:88px 0; background:#FFFFFF; }
.lba-rox-test-panneau{
  display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:56px; align-items:center;
  background:radial-gradient(120% 140% at 100% 0%,#0B3A8C 0%,#0A1F44 45%,#111111 100%);
  color:#FFFFFF; border-radius:20px; padding:64px; overflow:hidden; position:relative;
}
.lba-rox-test-titre{ color:#FFFFFF; font-size:42px; line-height:1.1; letter-spacing:-.025em; font-weight:800; margin:0 0 16px; }
.lba-rox-test-texte p{ color:#D6DEEA; font-size:17px; line-height:1.65; max-width:48ch; }
.lba-rox-test-actions{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:28px; }
.lba-rox-bouton-blanc{ background:#FFFFFF; color:#0A1F44; font-weight:700; border-radius:8px; padding:14px 22px; text-decoration:none; box-shadow:0 6px 18px rgba(0,0,0,.25); transition:transform .18s ease, box-shadow .18s ease; }
.lba-rox-bouton-blanc:hover{ transform:translateY(-2px); box-shadow:0 10px 26px rgba(0,0,0,.3); color:#0A1F44; }
.lba-rox-test-mention{ color:#AFC0D8; font-size:14px; }
.lba-rox-test-apercu{ display:flex; justify-content:center; }
.lba-rox-test-ecran{ width:100%; max-width:400px; background:#FFFFFF; color:#1A1A1A; border-radius:16px; padding:24px; box-shadow:0 30px 60px rgba(0,0,0,.35); transform:rotate(1.5deg); }
.lba-rox-test-ecran-tete{ display:flex; justify-content:space-between; font-size:13px; font-weight:700; color:#5C5C5C; text-transform:uppercase; letter-spacing:.06em; }
.lba-rox-test-barre{ height:6px; border-radius:6px; background:#E6E6E6; margin:12px 0 18px; overflow:hidden; }
.lba-rox-test-barre span{ display:block; height:100%; width:100%; background:#006AFF; border-radius:6px; transform-origin:left; animation:rox-barre 2.4s ease-out both; }
@keyframes rox-barre{ from{ transform:scaleX(.08); } to{ transform:scaleX(1); } }
.lba-rox-test-points{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.lba-rox-test-points li{ display:flex; align-items:center; gap:12px; font-size:15px; font-weight:600; padding:11px 14px; border:1px solid #E6E6E6; border-radius:10px; }
.lba-rox-coche{ width:22px; height:22px; border-radius:50%; background:#0BB634; flex:0 0 auto; position:relative; }
.lba-rox-coche::after{ content:""; position:absolute; left:7px; top:4px; width:6px; height:11px; border:solid #FFFFFF; border-width:0 2.5px 2.5px 0; transform:rotate(45deg); }
.lba-rox-test-verdict{ display:flex; align-items:center; gap:10px; margin-top:16px; padding:12px 14px; background:#E8F1FF; color:#0A1F44; border-radius:10px; font-size:14px; font-weight:700; }
.lba-rox-test-verdict svg{ color:#006AFF; flex:0 0 auto; }
@media (max-width:900px){
  .lba-rox-test{ padding:48px 0; }
  .lba-rox-test-panneau{ grid-template-columns:1fr; padding:32px 22px; gap:32px; border-radius:16px; }
  .lba-rox-test-titre{ font-size:30px; }
  .lba-rox-test-ecran{ transform:none; }
}

/* R7 — carte des villes remontée ; épingles avec bulle au survol */
.lba-rox-villes{ background:#F2F2F2; padding:88px 0; }
.lba-rox-villes .lba2-villes-grid{ max-width:var(--rox-large); }
.lba-rox-villes-top{ list-style:none; margin:0 0 24px; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.lba-rox-villes-top a{ display:inline-block; padding:8px 14px; border-radius:999px; background:#FFFFFF; border:1px solid #D9D9D9; color:#1A1A1A; font-size:14px; font-weight:600; text-decoration:none; transition:border-color .15s, color .15s; }
.lba-rox-villes-top a:hover{ border-color:#006AFF; color:#006AFF; }
.lba-carte-villes-point{ z-index:1; }
.lba-carte-villes-point:hover, .lba-carte-villes-point:focus-visible{ z-index:5; }
.lba-rox-bulle{
  position:absolute; left:50%; bottom:calc(100% + 8px); transform:translate(-50%,4px); white-space:nowrap;
  background:#1A1A1A; color:#FFFFFF; font-size:12.5px; font-weight:700; line-height:1; padding:7px 10px; border-radius:6px;
  opacity:0; pointer-events:none; transition:opacity .15s ease, transform .15s ease;
}
.lba-carte-villes-point:hover .lba-rox-bulle, .lba-carte-villes-point:focus-visible .lba-rox-bulle{ opacity:1; transform:translate(-50%,0); }
.lba-carte-villes-pastille{ border:2px solid #FFFFFF; box-shadow:0 0 0 3px rgba(0,106,255,.18), 0 2px 6px rgba(0,0,0,.25); }
.lba-carte-villes-point:hover .lba-carte-villes-pastille{ animation:rox-pouls 1.2s ease-out infinite; }
@keyframes rox-pouls{ 0%{ box-shadow:0 0 0 0 rgba(0,106,255,.45); } 100%{ box-shadow:0 0 0 12px rgba(0,106,255,0); } }
@media (max-width:900px){ .lba-rox-villes{ padding:48px 0; } }

/* Fonds des sections de l'accueil, posés explicitement (alternance nette) */
.home .lba2-row--inverse{ background:#FFFFFF; }
.home .lba2-row:not(.lba2-row--inverse){ background:#F2F2F2; }
.home .lba2-faq{ background:#FFFFFF; }

/* R5 — « Tous les commerces » : les 7 onglets tiennent sur UNE ligne (picto + libellé court) */
.lba-rox-tabs .lba2-tablist{
  display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; border:0; background:#F2F2F2; padding:6px; border-radius:14px;
}
.lba-rox-tabs .lba2-tab{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; min-height:74px; padding:10px 6px;
  border:0; border-radius:10px; margin:0; font-size:14px; line-height:1.2; text-align:center; color:#3D3D3D; transition:background .15s, color .15s, box-shadow .15s;
}
.lba-rox-tabs .lba2-tab svg{ width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.lba-rox-tabs .lba2-tab:hover{ background:#FFFFFF; color:#1A1A1A; }
.lba-rox-tabs .lba2-tab[aria-selected="true"]{ background:#FFFFFF; color:#006AFF; box-shadow:0 2px 8px rgba(0,0,0,.08); border:0; }
.lba-rox-tabs .lba2-panel{ padding-top:40px; }
@media (max-width:900px){
  .lba-rox-tabs .lba2-tablist{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; }
  .lba-rox-tabs .lba2-tab{ flex:0 0 108px; scroll-snap-align:start; }
}

/* R6 — repères chiffrés animés sur bande bleue */
.lba-rox-chiffres{ padding:96px 0; background:linear-gradient(135deg,#0057D9 0%,#006AFF 55%,#2E86FF 100%); color:#FFFFFF; }
.lba-rox-chiffres-tete{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; margin-bottom:40px; }
.lba-rox-chiffres-titre{ color:#FFFFFF; font-size:36px; letter-spacing:-.02em; font-weight:800; margin:0; }
.lba-rox-chiffres-tete p{ color:#E3EEFF; margin:0; font-size:15px; }
.lba-rox-chiffres-grille{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.lba-rox-chiffre{
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.22); border-radius:16px; padding:26px 24px;
  backdrop-filter:blur(2px); transition:transform .2s ease, background .2s ease;
}
.lba-rox-chiffre:hover{ transform:translateY(-4px); background:rgba(255,255,255,.16); }
.lba-rox-chiffre-picto{ display:inline-flex; width:44px; height:44px; border-radius:12px; background:#FFFFFF; color:#006AFF; align-items:center; justify-content:center; margin-bottom:18px; }
.lba-rox-chiffre-picto svg{ width:24px; height:24px; }
.lba-rox-chiffre-label{ font-size:14px; font-weight:600; color:#E3EEFF; margin:0 0 6px; text-transform:uppercase; letter-spacing:.05em; }
.lba-rox-chiffre-valeur{ font-size:36px; line-height:1.05; font-weight:800; letter-spacing:-.02em; margin:0 0 16px; color:#FFFFFF; white-space:nowrap; font-variant-numeric:tabular-nums; }
.lba-rox-chiffre-valeur small{ font-size:18px; font-weight:700; margin-left:2px; }
.lba-rox-jauge{ height:8px; border-radius:8px; background:rgba(255,255,255,.22); overflow:hidden; margin-bottom:14px; position:relative; }
.lba-rox-jauge span{ position:absolute; top:0; bottom:0; left:var(--de); right:calc(100% - var(--a)); border-radius:8px; background:linear-gradient(90deg,#FFFFFF,#BFDAFF); transform-origin:left; }
.lba-rox-chiffre-note{ color:#E3EEFF; font-size:14px; line-height:1.5; margin:0; }
.lba-rox-js [data-rox-anim] .lba-rox-jauge span{ transform:scaleX(0); transition:transform 1.4s cubic-bezier(.2,.7,.2,1) .15s; }
.lba-rox-js [data-rox-anim].est-visible .lba-rox-jauge span{ transform:scaleX(1); }
.lba-rox-js [data-rox-anim]{ opacity:0; transform:translateY(14px); transition:opacity .5s ease, transform .5s ease; }
.lba-rox-js [data-rox-anim].est-visible{ opacity:1; transform:none; }
.lba-rox-js [data-rox-anim].est-visible:hover{ transform:translateY(-4px); }
@media (max-width:1100px){ .lba-rox-chiffres-grille{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px){
  .lba-rox-chiffres{ padding:56px 0; }
  .lba-rox-chiffres-titre{ font-size:28px; }
  .lba-rox-chiffres-grille{ grid-template-columns:1fr; }
  .lba-rox-chiffre-valeur{ font-size:32px; }
}
@media (prefers-reduced-motion: reduce){
  .lba-rox-js [data-rox-anim], .lba-rox-js [data-rox-anim] .lba-rox-jauge span{ opacity:1; transform:none; transition:none; }
  .lba-rox-test-barre span{ animation:none; }
}

/* ---------------------------------------------------------------- ARTICLES + PAGES CAISSE */

/* R20 — en-tête en 2 colonnes : texte à gauche, image en format carte à droite */
.lba-rox-tete{ background:linear-gradient(180deg,#FFFFFF 0%,#F6F9FF 100%); border-bottom:1px solid #E6E6E6; padding:32px 0 44px; }
.lba-rox-tete-grille{ display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:56px; align-items:center; max-width:1180px; }
.lba-rox-tete-grille--sans-image{ grid-template-columns:minmax(0,1fr); max-width:900px; }
.lba-rox-tete .lba-article-titre{ font-size:clamp(30px,3.4vw,44px); font-weight:800; letter-spacing:-.025em; line-height:1.1; margin-top:.4rem; text-wrap:balance; }
.lba-rox-tete .lba-article-chapo{ color:#3D3D3D; font-size:19px; }
.lba-rox-tete-rubrique{ margin:18px 0 0; }
.lba-rox-tete-rubrique a{ display:inline-block; font-size:12.5px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:#006AFF; text-decoration:none; padding:5px 12px; border-radius:999px; background:#E8F1FF; }
.lba-rox-tete-rubrique a:hover{ background:#D6E7FF; }
.lba-rox-tete-image{ margin:0; }
.lba-rox-tete-image img{ width:100%; aspect-ratio:4/3; height:auto; object-fit:cover; border-radius:16px; box-shadow:var(--rox-ombre-forte); display:block; }
.lba-rox-tete-image figcaption{ font-size:12.5px; color:#5C5C5C; margin-top:8px; }
.lba-rox-tete-cta{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin:24px 0 0; }
.lba-rox-tete-cta span{ font-size:14px; color:#5C5C5C; }
.lba-signature-mini-texte{ color:#5C5C5C; }
@media (max-width:900px){
  .lba-rox-tete{ padding:20px 0 28px; }
  .lba-rox-tete-grille{ grid-template-columns:1fr; gap:22px; }
  .lba-rox-tete-image{ order:-1; }
  .lba-rox-tete-image img{ aspect-ratio:16/9; }
}

/* R16 — sommaire du rail refait : filet de progression, numéros blancs sur bleu, section active marquée */
.lba-rox-sommaire{ border:1px solid #E6E6E6; border-radius:14px; padding:18px 16px 14px; background:#FFFFFF; box-shadow:var(--rox-ombre); }
.lba-rox-sommaire .lba-sommaire-titre{ display:flex; justify-content:space-between; align-items:baseline; color:#1A1A1A; font-size:12.5px; margin-bottom:10px; }
.lba-rox-sommaire-compte{ font-weight:600; color:#5C5C5C; letter-spacing:0; text-transform:none; font-size:12.5px; }
.lba-rox-sommaire-progression{ height:4px; border-radius:4px; background:#EDEDED; margin:0 0 12px; overflow:hidden; }
.lba-rox-sommaire-progression span{ display:block; height:100%; width:0; background:#006AFF; border-radius:4px; transition:width .15s linear; }
.lba-rox-sommaire ol{ gap:2px !important; max-height:calc(100vh - 360px); overflow:auto; }
.lba-rox-sommaire li{ align-items:flex-start !important; }
.lba-rox-sommaire li a{ display:block; flex:1; padding:6px 8px; border-radius:8px; font-size:13.5px !important; color:#3D3D3D !important; transition:background .12s; }
.lba-rox-sommaire li a:hover{ background:#F2F6FF; text-decoration:none !important; color:#1A1A1A !important; }
.lba-rox-sommaire li a.est-actif{ background:#E8F1FF; color:#0047B3 !important; font-weight:700; }
.lba-rox-sommaire .lba-sommaire-num{ margin-top:6px; background:#EDEDED !important; color:#3D3D3D !important; transition:background .12s; }
.lba-rox-sommaire li:has(a.est-actif) .lba-sommaire-num{ background:#006AFF !important; color:#FFFFFF !important; }

/* repli mobile du sommaire (un seul sommaire visible selon l'écran) */
.lba-rox-sommaire-mobile{ display:none; }
@media (max-width:1080px){
  .lba-article-rail .lba-rox-sommaire{ display:none; }
  .lba-rox-sommaire-mobile{ display:block; border:1px solid #E6E6E6; border-radius:12px; margin:0 0 28px; background:#FFFFFF; box-shadow:var(--rox-ombre); }
  .lba-rox-sommaire-mobile summary{ cursor:pointer; list-style:none; padding:14px 18px; font-weight:700; display:flex; justify-content:space-between; align-items:center; }
  .lba-rox-sommaire-mobile summary::-webkit-details-marker{ display:none; }
  .lba-rox-sommaire-mobile summary span{ font-weight:600; font-size:13px; color:#5C5C5C; }
  .lba-rox-sommaire-mobile summary::after{ content:""; width:9px; height:9px; border:solid #006AFF; border-width:0 2px 2px 0; transform:rotate(45deg); margin-left:12px; }
  .lba-rox-sommaire-mobile[open] summary::after{ transform:rotate(-135deg); }
  .lba-rox-sommaire-mobile ol{ margin:0; padding:0 18px 16px 38px; font-size:15px; line-height:1.5; }
  .lba-rox-sommaire-mobile li{ margin:6px 0; }
  .lba-rox-sommaire-mobile a{ color:#1A1A1A; text-decoration:none; }
}

/* R19 — titres numérotés : pastille bleue à chiffre BLANC, bien alignée */
.lba-corps h2::before{ width:32px !important; height:32px !important; top:0 !important; font-size:14px !important; box-shadow:0 4px 10px rgba(0,106,255,.25); }
.lba-corps h2{ padding-left:3rem !important; }

/* Encadrés du corps : fond clair et texte sombre, jamais d'aplat bleu sous du texte noir */
.lba-corps blockquote{ background:#F6F9FF; color:#1A1A1A; border-radius:0 12px 12px 0; }

/* R17 — formulaire des pages caisse, désormais dans le corps (après la 2e section) */
.lba-rox-form-corps{ margin:2.4rem 0; scroll-margin-top:100px; }
.lba-rox-form-corps .lba-plateau{ background:#F6F9FF; border:1px solid #D6E7FF; border-radius:18px; padding:28px; margin:0; }
.lba-rox-form-corps .lba-plateau-in{ display:block !important; padding:0 !important; max-width:none; }
.lba-rox-form-corps .lba-plateau-reassurance{ margin-bottom:18px; }
.lba-rox-form-corps .lba-plateau-reassurance .lba-titre-section{ font-size:24px; margin:0 0 6px; padding:0 !important; }
.lba-rox-form-corps .lba-plateau-reassurance .lba-titre-section::before{ content:none !important; }
.lba-rox-form-corps .lba-plateau-preuves{ display:flex; flex-wrap:wrap; gap:8px 18px; margin:10px 0 0; padding:0; }
.lba-rox-form-corps .lba-carte-form{ background:#FFFFFF; border-radius:14px; box-shadow:var(--rox-ombre); padding:22px; }
.lba-rox-form-corps .lba-touches{ grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:640px){ .lba-rox-form-corps .lba-plateau{ padding:18px; } .lba-rox-form-corps .lba-touches{ grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* rail des pages caisse : un lien vers le formulaire (un seul formulaire par page) */
.lba-rox-rail-cta{ background:linear-gradient(160deg,#0A1F44,#0057D9) !important; color:#FFFFFF; border:0 !important; }
.lba-rox-rail-cta .lba-capture-rail-titre{ color:#FFFFFF; }
.lba-rox-rail-cta p{ color:#E3EEFF; font-size:14.5px; line-height:1.55; }
.lba-rox-rail-cta .lba-bouton{ background:#FFFFFF !important; color:#0A1F44 !important; width:100%; text-align:center; }
.lba-rox-form-corps .lba-carte-form{ max-width:none !important; width:100% !important; min-height:0 !important; }

/* R15 — infographie des pages caisse */
.lba-rox-info{ margin:2.4rem 0; border-radius:18px; padding:30px; background:linear-gradient(150deg,#0A1F44 0%,#0B3A8C 60%,#0057D9 100%); color:#FFFFFF; box-shadow:var(--rox-ombre-forte); }
.lba-corps .lba-rox-info p{ margin:0; }
.lba-rox-info-surtitre{ font-size:12.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#9CC6FF; margin-bottom:6px !important; }
.lba-rox-info-titre{ font-size:24px; font-weight:800; line-height:1.2; letter-spacing:-.015em; margin-bottom:20px !important; color:#FFFFFF; }
.lba-rox-info-grille{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.lba-rox-info-carte{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); border-radius:14px; padding:16px; display:flex; flex-direction:column; gap:6px; }
.lba-rox-info-carte strong{ font-size:16px; color:#FFFFFF; }
.lba-rox-info-carte span:last-child{ font-size:14px; line-height:1.5; color:#D6DEEA; }
.lba-rox-info-picto{ width:40px; height:40px; border-radius:10px; background:#FFFFFF; color:#006AFF; display:inline-flex; align-items:center; justify-content:center; margin-bottom:4px; }
.lba-rox-info-picto svg{ width:22px; height:22px; }
.lba-rox-info-bandeau{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:14px; }
.lba-rox-info-bandeau > div{ background:#FFFFFF; color:#1A1A1A; border-radius:14px; padding:16px; display:flex; flex-direction:column; gap:4px; }
.lba-rox-info-gros{ font-size:28px; font-weight:800; color:#006AFF; letter-spacing:-.02em; line-height:1.1; font-variant-numeric:tabular-nums; white-space:nowrap; }
.lba-rox-info-bandeau > div > span:last-child{ font-size:13.5px; line-height:1.45; color:#3D3D3D; }
.lba-rox-info-source{ font-size:12.5px; color:#AFC0D8; margin-top:16px !important; }
.lba-rox-info-barres{ display:flex; flex-direction:column; gap:18px; }
.lba-rox-info-barre-tete{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom:8px; }
.lba-rox-info-barre-tete strong{ font-size:16px; }
.lba-rox-info-barre-tete span{ font-size:22px; font-weight:800; white-space:nowrap; }
.lba-rox-info-barre p{ font-size:14px; color:#D6DEEA; margin-top:6px !important; }
.lba-rox-jauge--claire{ margin-bottom:0; }
.lba-rox-info-modes{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:20px; }
.lba-rox-info-modes > div{ background:#FFFFFF; color:#1A1A1A; border-radius:14px; padding:16px; display:flex; flex-direction:column; gap:6px; }
.lba-rox-info-modes strong{ color:#006AFF; font-size:16px; }
.lba-rox-info-modes span{ font-size:13.5px; line-height:1.45; color:#3D3D3D; }
@media (max-width:640px){
  .lba-rox-info{ padding:20px; }
  .lba-rox-info-grille, .lba-rox-info-bandeau, .lba-rox-info-modes{ grid-template-columns:1fr; }
}

/* ---------------------------------------------------------------- RUBRIQUES (R24-R27) */
.lba-rox-rub-tete{ background:linear-gradient(180deg,#FFFFFF 0%,#F4F8FF 100%); border-bottom:1px solid #E6E6E6; padding:28px 0 0; }
.lba-rox-rub-tete-grille{ display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin:22px 0 26px; }
.lba-rox-rub-titre{ font-size:clamp(34px,4vw,52px); font-weight:800; letter-spacing:-.03em; line-height:1.05; margin:0 0 12px; }
.lba-rox-rub-chapo{ font-size:18px; color:#3D3D3D; max-width:60ch; margin:0; line-height:1.55; }
.lba-rox-rub-chiffres{ list-style:none; margin:0; padding:0; display:flex; gap:12px; flex:0 0 auto; }
.lba-rox-rub-chiffres li{ background:#FFFFFF; border:1px solid #E6E6E6; border-radius:14px; padding:14px 18px; min-width:120px; display:flex; flex-direction:column; box-shadow:var(--rox-ombre); }
.lba-rox-rub-chiffres strong{ font-size:28px; font-weight:800; color:#006AFF; line-height:1.1; letter-spacing:-.02em; }
.lba-rox-rub-chiffres span{ font-size:13px; color:#5C5C5C; }
.lba-rox-rubnav{ display:flex; gap:4px; overflow-x:auto; scrollbar-width:none; margin:0 -4px; padding:0 4px; }
.lba-rox-rubnav::-webkit-scrollbar{ display:none; }
.lba-rox-rubnav a{ flex:0 0 auto; padding:12px 16px; font-size:14.5px; font-weight:600; color:#3D3D3D; text-decoration:none; border-bottom:3px solid transparent; white-space:nowrap; }
.lba-rox-rubnav a:hover{ color:#006AFF; }
.lba-rox-rubnav a[aria-current="page"]{ color:#006AFF; border-bottom-color:#006AFF; }

.lba-rox-rub-corps{ padding:48px 0 72px; background:#FFFFFF; }
.lba-rox-une{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:40px; align-items:center; margin-bottom:64px; }
.lba-rox-une-img{ display:block; border-radius:18px; overflow:hidden; box-shadow:var(--rox-ombre-forte); }
.lba-rox-une-img img{ width:100%; aspect-ratio:16/10; object-fit:cover; display:block; transition:transform .5s ease; }
.lba-rox-une:hover .lba-rox-une-img img{ transform:scale(1.03); }
.lba-rox-une-surtitre{ font-size:12.5px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#006AFF; margin:0 0 10px; }
.lba-rox-une h2{ font-size:32px; line-height:1.15; letter-spacing:-.02em; font-weight:800; margin:0 0 14px; }
.lba-rox-une h2 a{ color:#1A1A1A; text-decoration:none; }
.lba-rox-une h2 a:hover{ color:#006AFF; }
.lba-rox-une-chapo{ font-size:17px; line-height:1.6; color:#3D3D3D; margin:0 0 14px; }
.lba-rox-lire{ display:inline-block; margin-top:14px; font-weight:700; color:#006AFF; text-decoration:none; }
.lba-rox-lire:hover{ text-decoration:underline; }
.lba-rox-rub-soustitre{ font-size:24px; font-weight:800; letter-spacing:-.015em; margin:0 0 24px; padding-top:32px; border-top:1px solid #E6E6E6; }
.lba-rox-grille{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 28px; }
.lba-rox-carte{ display:flex; flex-direction:column; }
.lba-rox-carte-img{ display:block; border-radius:14px; overflow:hidden; margin-bottom:16px; }
.lba-rox-carte-img img{ width:100%; aspect-ratio:16/10; object-fit:cover; display:block; transition:transform .4s ease; }
.lba-rox-carte:hover .lba-rox-carte-img img{ transform:scale(1.04); }
.lba-rox-carte h3{ font-size:19px; line-height:1.3; font-weight:700; margin:0 0 8px; letter-spacing:-.01em; }
.lba-rox-carte h3 a{ color:#1A1A1A; text-decoration:none; }
.lba-rox-carte h3 a:hover{ color:#006AFF; }
.lba-rox-carte-chapo{ font-size:15px; line-height:1.55; color:#5C5C5C; margin:0 0 10px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.lba-rox-carte-meta{ font-size:13px; color:#5C5C5C; margin:0; }
.lba-rox-voir-tous{ text-align:center; margin:48px 0 0; }
.lba-rox-pagination{ margin-top:48px; }

.lba-rox-cta-bande{ background:linear-gradient(135deg,#0A1F44 0%,#0057D9 100%); color:#FFFFFF; padding:44px 0; }
.lba-rox-cta-bande-in{ display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; }
.lba-rox-cta-titre{ font-size:26px; font-weight:800; letter-spacing:-.015em; margin:0 0 6px; color:#FFFFFF; }
.lba-rox-cta-bande p{ color:#D6DEEA; margin:0; }
.lba-rox-cta-bande .lba-rox-cta-titre{ color:#FFFFFF; }

.lba-rox-guide{ background:#F2F2F2; padding:80px 0; }
.lba-rox-guide-grille{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:56px; align-items:start; }
.lba-rox-guide-tete{ position:sticky; top:110px; }
.lba-rox-guide-tete h2{ font-size:32px; font-weight:800; letter-spacing:-.02em; line-height:1.15; margin:0 0 14px; }
.lba-rox-guide-intro{ color:#3D3D3D; font-size:16px; line-height:1.65; }
.lba-rox-guide-liste{ display:flex; flex-direction:column; gap:10px; }
.lba-rox-guide-item{ background:#FFFFFF; border:1px solid #E6E6E6; border-radius:12px; }
.lba-rox-guide-item summary{ cursor:pointer; list-style:none; display:flex; align-items:center; gap:14px; padding:18px 52px 18px 18px; font-weight:700; font-size:16.5px; position:relative; }
.lba-rox-guide-item summary::-webkit-details-marker{ display:none; }
.lba-rox-guide-item summary::after{ content:""; position:absolute; right:22px; top:50%; width:9px; height:9px; border:solid #006AFF; border-width:0 2px 2px 0; transform:translateY(-70%) rotate(45deg); transition:transform .2s; }
.lba-rox-guide-item[open] summary::after{ transform:translateY(-30%) rotate(-135deg); }
.lba-rox-guide-num{ flex:0 0 auto; width:30px; height:30px; border-radius:50%; background:#E8F1FF; color:#006AFF; font-size:13px; display:inline-flex; align-items:center; justify-content:center; }
.lba-rox-guide-texte{ padding:0 22px 20px 62px; font-size:15.5px; line-height:1.7; color:#3D3D3D; }
.lba-rox-guide-texte img{ border-radius:10px; max-height:300px; width:100%; object-fit:cover; }
.lba-rox-guide-texte h3{ font-size:17px; margin:16px 0 6px; }

@media (max-width:900px){
  .lba-rox-rub-tete-grille{ flex-direction:column; align-items:flex-start; gap:18px; }
  .lba-rox-une{ grid-template-columns:1fr; gap:18px; margin-bottom:40px; }
  .lba-rox-une h2{ font-size:25px; }
  .lba-rox-grille{ grid-template-columns:1fr; gap:28px; }
  .lba-rox-guide{ padding:48px 0; }
  .lba-rox-guide-grille{ grid-template-columns:1fr; gap:24px; }
  .lba-rox-guide-tete{ position:static; }
  .lba-rox-guide-texte{ padding:0 16px 16px; }
}
@media (min-width:640px) and (max-width:900px){ .lba-rox-grille{ grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* ---------------------------------------------------------------- ACTUALITÉS — JOURNAL (R30) */
.lba-rox-journal-tete{ padding:22px 0 0; background:#FFFFFF; }
.lba-rox-journal-bandeau{ display:flex; justify-content:space-between; gap:16px; font-size:13px; font-weight:600; color:#5C5C5C; text-transform:uppercase; letter-spacing:.06em; padding-bottom:12px; border-bottom:1px solid #1A1A1A; }
.lba-rox-journal-titre{ font-size:clamp(40px,6vw,76px); font-weight:800; letter-spacing:-.04em; line-height:1; text-align:center; margin:26px 0 12px; }
.lba-rox-journal-chapo{ text-align:center; font-size:18px; color:#3D3D3D; max-width:62ch; margin:0 auto 22px; }
.lba-rox-journal-tete .lba-rox-rubnav{ justify-content:center; border-top:3px solid #1A1A1A; border-bottom:1px solid #1A1A1A; }
.lba-rox-journal-tete .lba-rox-rubnav a{ border-bottom:0; padding:12px 14px; }
.lba-rox-journal-tete .lba-rox-rubnav a[aria-current="page"]{ color:#006AFF; }
.lba-rox-journal{ padding:40px 0 80px; }
.lba-rox-journal-une-zone{ display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:40px; padding-bottom:40px; border-bottom:1px solid #D9D9D9; }
.lba-rox-journal-une-img{ display:block; border-radius:6px; overflow:hidden; margin-bottom:16px; }
.lba-rox-journal-une-img img{ width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
.lba-rox-journal-rubrique{ font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:#006AFF; margin:0 0 8px; }
.lba-rox-journal-une h2{ font-size:36px; line-height:1.12; font-weight:800; letter-spacing:-.025em; margin:0 0 12px; }
.lba-rox-journal-une h2 a, .lba-rox-journal-item h3 a, .lba-rox-journal-fil a{ color:#1A1A1A; text-decoration:none; }
.lba-rox-journal-une h2 a:hover, .lba-rox-journal-item h3 a:hover, .lba-rox-journal-fil a:hover{ color:#006AFF; }
.lba-rox-journal-une-chapo{ font-size:18px; line-height:1.6; color:#3D3D3D; margin:0; }
.lba-rox-journal-fil{ border-left:1px solid #D9D9D9; padding-left:32px; }
.lba-rox-journal-fil-titre{ display:flex; align-items:center; gap:8px; font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; margin:0 0 12px; }
.lba-rox-journal-fil-titre::before{ content:""; width:8px; height:8px; border-radius:50%; background:#E0182D; animation:rox-direct 1.6s ease-in-out infinite; }
@keyframes rox-direct{ 50%{ opacity:.25; } }
.lba-rox-journal-fil ol{ list-style:none; margin:0; padding:0; }
.lba-rox-journal-fil li{ padding:14px 0; border-top:1px solid #E6E6E6; display:flex; flex-direction:column; gap:4px; }
.lba-rox-journal-fil time{ font-size:12.5px; font-weight:700; color:#006AFF; text-transform:uppercase; letter-spacing:.05em; }
.lba-rox-journal-fil a{ font-weight:700; font-size:16.5px; line-height:1.35; }
.lba-rox-journal-bas{ display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:40px; padding-top:36px; }
.lba-rox-journal-section{ font-size:14px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; border-top:3px solid #1A1A1A; padding-top:10px; margin:0 0 8px; }
.lba-rox-journal-jour{ font-size:13px; font-weight:700; color:#5C5C5C; margin:22px 0 4px; text-transform:uppercase; letter-spacing:.05em; }
.lba-rox-journal-item{ display:grid; grid-template-columns:200px minmax(0,1fr); gap:20px; padding:16px 0; border-bottom:1px solid #E6E6E6; }
.lba-rox-journal-item-img{ display:block; border-radius:6px; overflow:hidden; }
.lba-rox-journal-item-img img{ width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.lba-rox-journal-item h3{ font-size:20px; line-height:1.3; font-weight:800; letter-spacing:-.01em; margin:0 0 6px; }
.lba-rox-journal-item p{ font-size:15px; line-height:1.55; color:#5C5C5C; margin:0; }
.lba-rox-journal-cote{ display:flex; flex-direction:column; gap:20px; align-self:start; position:sticky; top:110px; }
.lba-rox-journal-boite{ border:1px solid #E6E6E6; border-radius:14px; padding:22px; background:#FFFFFF; }
.lba-rox-journal-boite--bleue{ background:linear-gradient(150deg,#0A1F44,#0057D9); border:0; color:#FFFFFF; }
.lba-rox-journal-boite-titre{ font-size:19px; font-weight:800; margin:0 0 6px; }
.lba-rox-journal-boite p{ margin:0 0 14px; font-size:15px; }
.lba-rox-journal-boite--bleue p{ color:#D6DEEA; }
.lba-rox-journal-boite--bleue .lba-rox-journal-boite-titre{ color:#FFFFFF; }
@media (max-width:900px){
  .lba-rox-journal-une-zone, .lba-rox-journal-bas{ grid-template-columns:1fr; gap:28px; }
  .lba-rox-journal-fil{ border-left:0; padding-left:0; }
  .lba-rox-journal-une h2{ font-size:27px; }
  .lba-rox-journal-item{ grid-template-columns:110px minmax(0,1fr); gap:14px; }
  .lba-rox-journal-item h3{ font-size:17px; }
  .lba-rox-journal-item p{ display:none; }
  .lba-rox-journal-cote{ position:static; }
  .lba-rox-journal-tete .lba-rox-rubnav{ justify-content:flex-start; }
}
.lba-rox-cta-bande-in > div{ flex:1 1 520px; }

/* ---------------------------------------------------------------- CARTE DES VILLES (R28, R29) */
.page-template-page-villes-caisse{ background:#F2F2F2; }
.lba-rox-carte-page{ background:#F2F2F2; }
.lba-rox-carte-page-in{ max-width:1320px; margin:0 auto; padding:20px 24px 24px; display:grid; grid-template-columns:minmax(0,1fr) 420px; gap:28px; }
.lba-rox-carte-page-gauche{ display:flex; flex-direction:column; min-height:0; }
.lba-rox-carte-page-titre{ font-size:30px; font-weight:800; letter-spacing:-.025em; line-height:1.15; margin:8px 0 12px; }
.lba-rox-carte-page-carte{ flex:1; min-height:0; display:flex; align-items:center; justify-content:center; background:#FFFFFF; border-radius:20px; box-shadow:var(--rox-ombre); padding:18px; }
.lba-rox-carte-bloc{ position:relative; aspect-ratio:600/578; height:100%; max-height:100%; width:auto; max-width:100%; }
.lba-rox-carte-bloc > svg{ width:100%; height:100%; display:block; }
.lba-rox-carte-page .lba-carte-region, .lba-rox-villes .lba-carte-region{ fill:#DADDE3; stroke:#FFFFFF; stroke-width:1.2; transition:fill .2s; }
.lba-rox-carte-page .lba-carte-region:hover, .lba-rox-villes .lba-carte-region:hover{ fill:#C9D9F2; }
.lba-rox-carte-page .lba-carte-villes-point{ transform:translate(-50%,-50%); }
.lba-rox-carte-page .lba-carte-villes-pastille{ width:14px; height:14px; }
.lba-carte-villes-point.est-survol{ z-index:6; }
.lba-carte-villes-point.est-survol .lba-rox-bulle{ opacity:1; transform:translate(-50%,0); }
.lba-carte-villes-point.est-survol .lba-carte-villes-pastille{ transform:scale(1.35); animation:rox-pouls 1.2s ease-out infinite; }

.lba-rox-carte-page-liste{ background:#FFFFFF; border-radius:20px; box-shadow:var(--rox-ombre); padding:22px; display:flex; flex-direction:column; min-height:0; }
.lba-rox-carte-page-liste-titre{ font-size:20px; font-weight:800; margin:0 0 2px; }
.lba-rox-carte-page-liste-sous{ font-size:13.5px; color:#5C5C5C; margin:0 0 14px; }
.lba-rox-carte-filtre{ display:flex; align-items:center; gap:8px; border:1px solid #D9D9D9; border-radius:10px; padding:0 12px; color:#5C5C5C; margin-bottom:12px; }
.lba-rox-carte-filtre:focus-within{ border-color:#006AFF; box-shadow:0 0 0 3px rgba(0,106,255,.15); }
.lba-rox-carte-filtre input{ border:0; outline:0; font:inherit; font-size:15px; padding:11px 0; width:100%; background:transparent; }
.lba-rox-carte-villes{ list-style:none; margin:0; padding:0 2px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:6px; overflow:auto; flex:1; min-height:0; align-content:start; }
.lba-rox-carte-villes li[hidden]{ display:none; }
.lba-rox-carte-villes a{ display:flex; flex-direction:column; padding:9px 12px; border-radius:10px; border:1px solid #EDEDED; text-decoration:none; transition:border-color .15s, background .15s; }
.lba-rox-carte-villes a strong{ color:#1A1A1A; font-size:14.5px; }
.lba-rox-carte-villes a span{ color:#5C5C5C; font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lba-rox-carte-villes a:hover, .lba-rox-carte-villes a.est-survol{ border-color:#006AFF; background:#F2F7FF; }
.lba-rox-carte-villes a:hover strong, .lba-rox-carte-villes a.est-survol strong{ color:#006AFF; }
.lba-rox-carte-autre{ margin-top:12px; font-size:13.5px; color:#3D3D3D; text-decoration:none; padding-top:12px; border-top:1px solid #EDEDED; }
.lba-rox-carte-autre strong{ color:#006AFF; }

@media (min-width:1000px) and (min-height:620px){
  /* page sans défilement : tout tient dans l'écran sous l'en-tête */
  .page-template-page-villes-caisse .lba-pied, .page-template-page-villes-caisse .lba-nav-app{ display:none !important; }
  .lba-rox-carte-page-in{ height:calc(100vh - var(--rox-entete, 77px)); height:calc(100dvh - var(--rox-entete, 77px)); }
  .page-template-page-villes-caisse{ overflow:hidden; }
}
@media (max-width:999px), (max-height:619px){
  .lba-rox-carte-page-in{ grid-template-columns:1fr; padding:16px; }
  .lba-rox-carte-bloc{ width:100%; height:auto; }
  .lba-rox-carte-villes{ overflow:visible; }
}
.lba-rox-carte-page svg .lba-carte-region, .lba-rox-villes svg .lba-carte-region{ fill:#D5DAE3 !important; stroke:#FFFFFF !important; stroke-width:1.4 !important; }
.lba-rox-carte-page svg .lba-carte-region:hover, .lba-rox-villes svg .lba-carte-region:hover{ fill:#BCD2F5 !important; }
.lba-rox-carte-page-liste{ padding:18px 18px 14px; }
.lba-rox-carte-page-liste-sous{ margin-bottom:10px; }
.lba-rox-carte-filtre{ margin-bottom:10px; }
.lba-rox-carte-filtre input{ padding:9px 0; }
.lba-rox-carte-villes{ gap:5px; }
.lba-rox-carte-villes a{ padding:6px 11px; line-height:1.3; }
.lba-rox-carte-villes a strong{ font-size:14px; }
.lba-rox-carte-villes a span{ font-size:11.5px; }
.lba-rox-carte-autre{ margin-top:10px; padding-top:10px; }
.lba-rox-carte-page svg .lba-carte-region, .lba-rox-villes svg .lba-carte-region{ opacity:1 !important; }
.lba-rox-villes svg .lba-carte-region{ fill:#C6CCD8 !important; }

/* ---------------------------------------------------------------- À PROPOS (R31, R32) */
.lba-rox-ap-intro{ padding:56px 0 64px; background:#FFFFFF; }
.lba-rox-ap-intro-grille{ display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:56px; align-items:center; }
.lba-rox-ap-intro-texte{ font-size:21px; line-height:1.6; color:#1A1A1A; font-weight:500; letter-spacing:-.005em; }
.lba-rox-ap-intro-texte p{ margin:0 0 1em; }
.lba-rox-ap-intro-texte a{ color:#006AFF; }
.lba-rox-ap-fiche{ background:linear-gradient(160deg,#0A1F44 0%,#0057D9 100%); color:#FFFFFF; border-radius:20px; padding:30px; box-shadow:var(--rox-ombre-forte); }
.lba-rox-ap-fiche .lba-logo-marque{ width:56px; height:56px; margin-bottom:14px; box-shadow:0 0 0 4px rgba(255,255,255,.15); border-radius:14px; }
.lba-rox-ap-fiche-nom{ font-size:22px; font-weight:800; margin:0; color:#FFFFFF; }
.lba-rox-ap-fiche-role{ font-size:14.5px; color:#D6DEEA; margin:2px 0 20px; }
.lba-rox-ap-fiche ul{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.lba-rox-ap-fiche li{ background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); border-radius:12px; padding:12px 14px; display:flex; flex-direction:column; }
.lba-rox-ap-fiche strong{ font-size:28px; font-weight:800; line-height:1.1; color:#FFFFFF; }
.lba-rox-ap-fiche span{ font-size:13px; color:#D6DEEA; }
/* 5 cartes : 2 larges puis 3, jamais une carte orpheline */
.lba-rox-ap-mission-grille{ grid-template-columns:repeat(6,minmax(0,1fr)) !important; gap:20px !important; }
.lba-rox-ap-mission-grille > .lba-c4-ap-carte{ grid-column:span 2; border:1px solid #E6E6E6; box-shadow:none; padding:26px; border-radius:16px; transition:transform .2s, box-shadow .2s; }
.lba-rox-ap-mission-grille > .lba-c4-ap-carte:nth-child(-n+2){ grid-column:span 3; }
.lba-rox-ap-mission-grille > .lba-c4-ap-carte:hover{ transform:translateY(-3px); box-shadow:var(--rox-ombre); }
.lba-rox-ap-mission-grille .lba-c4-ap-picto{ width:46px; height:46px; border-radius:12px; background:#E8F1FF; color:#006AFF; margin-bottom:12px; }
.lba-rox-ap-mission-grille .lba-c4-ap-carte h3{ font-size:19px; font-weight:700; }
.lba-rox-ap-mission-grille .lba-c4-ap-carte p{ font-size:15px; color:#3D3D3D; }
.lba-c4-ap-mission{ padding-block:64px; }
/* « Comment on compare » dans la palette du site */
.lba-c4-ap-methode{ background:#FFFFFF; padding-block:64px; }
.lba-c4-ap-methode-grille{ counter-reset:none; }
.lba-c4-ap-methode-etape{ border:1px solid #E6E6E6; border-radius:16px; padding:22px; background:#FFFFFF; position:relative; }
.lba-c4-ap-methode-num{ display:inline-flex; width:44px; height:44px; border-radius:50%; background:#006AFF; color:#FFFFFF !important; font-size:16px !important; align-items:center; justify-content:center; font-family:'Inter',sans-serif !important; margin-bottom:6px; }
.lba-c4-ap-methode-etape p{ color:#3D3D3D !important; font-size:15px !important; }
.lba-c4-ap-methode-note{ background:#F2F7FF !important; border:1px solid #D6E7FF !important; border-radius:12px; }
.lba-c4-ap-equipe{ background:#F2F2F2; padding-block:64px; }
@media (max-width:900px){
  .lba-rox-ap-intro{ padding:32px 0 40px; }
  .lba-rox-ap-intro-grille{ grid-template-columns:1fr; gap:28px; }
  .lba-rox-ap-intro-texte{ font-size:18px; }
  .lba-rox-ap-mission-grille{ grid-template-columns:1fr !important; }
  .lba-rox-ap-mission-grille > .lba-c4-ap-carte, .lba-rox-ap-mission-grille > .lba-c4-ap-carte:nth-child(-n+2){ grid-column:auto; }
}
body:has(.lba-rox-ap-intro) .lba-enveloppe{ max-width:var(--rox-large); }
body:has(.lba-rox-ap-intro) .lba-entete-page{ background:linear-gradient(180deg,#FFFFFF 0%,#F4F8FF 100%); }
body:has(.lba-rox-ap-intro) .lba-entete-page-titre{ font-weight:800; letter-spacing:-.025em; font-size:clamp(32px,4vw,48px); }

/* ---------------------------------------------------------------- COMPARATEUR ET TEST (R12, R13) */
.lba-rox-comparateur{ background:linear-gradient(180deg,#FFFFFF 0%,#F4F8FF 100%); }
.lba-rox-comparateur .lba-plateau-in{ max-width:var(--rox-large); display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) !important; gap:64px !important; align-items:center !important; }
.lba-rox-comparateur h1{ font-size:clamp(32px,3.6vw,46px); font-weight:800; letter-spacing:-.03em; line-height:1.08; text-wrap:balance; }
.lba-rox-comparateur .lba-carte-form{ box-shadow:var(--rox-ombre-forte); border:1px solid #E6E6E6; }
.lba-rox-etapes{ list-style:none; margin:26px 0 0; padding:0; display:flex; flex-direction:column; gap:0; position:relative; }
.lba-rox-etapes li{ display:flex; gap:16px; padding:0 0 20px; position:relative; }
.lba-rox-etapes li:not(:last-child)::before{ content:""; position:absolute; left:17px; top:36px; bottom:0; width:2px; background:#D6E7FF; }
.lba-rox-etapes-num{ flex:0 0 auto; width:36px; height:36px; border-radius:50%; background:#006AFF; color:#FFFFFF; font-weight:800; display:inline-flex; align-items:center; justify-content:center; box-shadow:0 4px 12px rgba(0,106,255,.3); }
.lba-rox-etapes strong{ display:block; font-size:16px; color:#1A1A1A; }
.lba-rox-etapes span:not(.lba-rox-etapes-num){ display:block; font-size:14.5px; color:#5C5C5C; line-height:1.5; }
.lba-rox-garantie{ display:flex; gap:12px; align-items:flex-start; background:#FFFFFF; border:1px solid #D6E7FF; border-radius:12px; padding:14px 16px; margin-top:6px; }
.lba-rox-garantie svg{ color:#0BB634; flex:0 0 auto; margin-top:2px; }
.lba-rox-garantie p{ margin:0; font-size:14.5px; line-height:1.5; color:#3D3D3D; }

.lba-rox-test-page{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:start; max-width:var(--rox-large); margin:0 auto; }
.lba-rox-test-page-titre{ font-size:clamp(32px,3.6vw,46px); font-weight:800; letter-spacing:-.03em; line-height:1.08; margin:0 0 14px; }
.lba-rox-test-page-chapo{ font-size:18px; color:#3D3D3D; line-height:1.6; }
.lba-rox-test-page-liste-titre{ font-weight:800; font-size:15px; text-transform:uppercase; letter-spacing:.06em; margin:26px 0 10px; }
.lba-rox-test-page-points{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; counter-reset:rox-pt; }
.lba-rox-test-page-points li{ counter-increment:rox-pt; display:flex; align-items:center; gap:12px; font-weight:600; padding:12px 14px; background:#FFFFFF; border:1px solid #E6E6E6; border-radius:10px; }
.lba-rox-test-page-points li::before{ content:counter(rox-pt); width:28px; height:28px; border-radius:50%; background:#E8F1FF; color:#006AFF; font-size:13px; font-weight:800; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.lba-rox-test-page-note{ font-size:13.5px; color:#5C5C5C; margin-top:16px; }
.lba-rox-test-page-droite{ position:sticky; top:110px; scroll-margin-top:100px; }
.lba-rox-test-page-droite .lba-quiz{ max-width:none !important; margin:0 !important; box-shadow:var(--rox-ombre-forte); border:1px solid #E6E6E6; border-radius:18px; padding:28px; background:#FFFFFF; }
.lba-rox-quiz-compte{ font-size:13px; font-weight:700; color:#5C5C5C; text-transform:uppercase; letter-spacing:.06em; margin:0 0 10px; }
.lba-rox-test-page-droite .lba-quiz legend{ font-size:22px; font-weight:800; line-height:1.25; margin-bottom:16px; }
.lba-rox-test-page-droite .lba-quiz .lba-touche{ justify-content:flex-start; text-align:left; padding:16px 18px; font-size:15px; min-height:0; border-radius:10px; }
.lba-rox-test-page-droite .lba-resultat{ margin-top:0; }
@media (max-width:900px){
  .lba-rox-comparateur .lba-plateau-in, .lba-rox-test-page{ grid-template-columns:1fr !important; gap:28px !important; }
  .lba-rox-test-page-droite{ position:static; }
  .lba-rox-test-page-droite .lba-quiz{ padding:20px; }
}
.lba-rox-comparateur .lba-carte-form, .lba-rox-comparateur form{ min-height:0 !important; }
.lba-rox-comparateur .lba-carte-form fieldset{ min-height:0 !important; }
.lba-rox-test-page{ align-items:center; }
.lba-rox-test-page-points li{ padding:10px 14px; font-size:15.5px; }
.lba-rox-test-page-droite .lba-quiz{ padding:36px; }
.lba-rox-test-page-droite .lba-quiz .lba-touche{ padding:20px 20px; font-size:16px; }
.lba-rox-test-page-droite .lba-quiz legend{ font-size:24px; }
.lba-rox-test-page-droite .lba-quiz-touches{ display:flex; flex-direction:column; gap:12px; }

/* Mobile : l'en-tête tient dans 390 px (la recherche reste dans le menu mobile) */
@media (max-width:480px){
  .lba-entete .lba-loupe-bouton{ display:none; }
  .lba-logo-bloc{ gap:8px; }
  .lba-logo-marque{ width:34px; height:34px; }
  .lba-logo-nom-l1{ font-size:16px; }
}
@media (max-width:420px){ .lba-logo-nom-l1{ font-size:15px; letter-spacing:-.03em; } .lba-entete-in{ gap:6px; } }

/* Tableaux d'articles : en-tête toujours lisible (sans JS), rendu en cartes (avec JS) */
.lba-corps table thead th{ background:#1A1A1A !important; color:#FFFFFF !important; }
.lba-corps .lba-rox-cartes{ display:block !important; border:0 !important; width:100% !important; overflow:visible !important; }
.lba-corps .lba-rox-cartes thead{ display:none; }
.lba-corps .lba-rox-cartes tbody{ display:flex; flex-direction:column; gap:12px; }
.lba-corps .lba-rox-cartes tr{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 18px; background:#FFFFFF !important; border:1px solid #E6E6E6; border-left:4px solid #006AFF; border-radius:12px; padding:16px 18px; box-shadow:var(--rox-ombre); }
.lba-corps .lba-rox-cartes td, .lba-corps .lba-rox-cartes th{ display:block; padding:0 !important; border:0 !important; background:none !important; color:#1A1A1A !important; font-size:15px; line-height:1.5; white-space:normal !important; }
.lba-corps .lba-rox-cartes td:first-child, .lba-corps .lba-rox-cartes tbody th:first-child{ grid-column:1 / -1; font-weight:800; font-size:16.5px; }
.lba-corps .lba-rox-cartes td[data-rox-lib]:not(:first-child)::before{ content:attr(data-rox-lib); display:block; font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#0052CC; margin-bottom:2px; }
.lba-corps .lba-rox-cartes td:first-child[data-rox-lib="#"]{ display:inline-flex; width:32px; height:32px; border-radius:50%; background:#006AFF !important; color:#FFFFFF !important; align-items:center; justify-content:center; font-size:14px; grid-column:auto; }
.lba-corps .lba-rox-cartes tr:has(td:first-child[data-rox-lib="#"]){ grid-template-columns:32px minmax(0,1fr) minmax(0,1fr); }
.lba-corps .lba-rox-cartes tr:has(td:first-child[data-rox-lib="#"]) td:nth-child(2){ grid-column:2 / -1; font-weight:800; font-size:16.5px; align-self:center; }
.lba-corps .lba-rox-cartes tr:has(td:first-child[data-rox-lib="#"]) td:nth-child(2)::before{ display:none; }
.lba-corps .lba-rox-cartes tr:has(td:first-child[data-rox-lib="#"]) td:nth-child(n+3){ grid-column:2 / -1; }
@media (max-width:640px){ .lba-corps .lba-rox-cartes tr{ grid-template-columns:1fr; } }

/* Petits textes bleus sur fond clair : bleu plus soutenu (≥ 4,5:1) */
.lba-rox-tete-rubrique a, .lba-rox-guide-num, .lba-rox-surtitre--bleu, .lba-c4-ap-equipe-role, .lba-c4-ap-equipe-lien, .lba2-carte-auteur-role, .lba2-carte-auteur-lien{ color:#0052CC !important; }
.lba-corps .sbs_tableau:has(.lba-rox-cartes), .lba-corps [class*="__tbl"]:has(.lba-rox-cartes){ border:0 !important; padding:0 !important; box-shadow:none !important; overflow:visible !important; background:none !important; }
