/*
Theme Name: Paintball RGame
*/
@import url('https://fonts.googleapis.com/css2?family=Kanit:ital,wght@0,600;0,800;1,800&family=Asap:ital,wght@0,400;0,600;1,400&family=Chakra+Petch:wght@500;700&display=swap');

/* ==========================================================================
   PAINTBALL RGAME — « le vestiaire d'avant-match »
   Procedes signature : impact de bille (pastille porteuse de donnee), dossards
   d'intention numerotes, coin de bunker (rayon asymetrique 24/4/24/4), trajectoire
   pointillee en arc, tableau de score (tuiles chiffrees), filet (trame losanges),
   chrono d'actu. Palette claire uniquement — AUCUN mode sombre (GD-030).
   ========================================================================== */

/* ---------- 1. JETONS -------------------------------------------------- */
:root{
  --masque:#F6F4F8;
  --bunker:#ECE7F1;
  --filet-c:#D8D1E0;
  --canon:#151A1E;
  --doux:#565063;
  --grenade:#C2168F;
  --grenade-fonce:#99106F;
  --citron:#FFE24A;
  --gazon:#177A45;
  --erreur:#B42318;

  /* alias lus par les composants partages du reseau (sb-auteur-bloc, sb_form) */
  --fond:var(--masque);
  --encre:var(--canon);
  --accent:var(--grenade);
  --surf:var(--bunker);
  --filet:var(--filet-c);

  --f-titre:'Kanit',Impact,'Arial Narrow',sans-serif;
  --f-corps:'Asap','Segoe UI',Arial,sans-serif;
  --f-data:'Chakra Petch','Consolas',monospace;

  --coin: 24px 4px 24px 4px;
  --coin-inv: 4px 24px 4px 24px;
  color-scheme:light;
}

/* ---------- 2. SOCLE ----------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--masque);color:var(--canon);
  font-family:var(--f-corps);font-size:18px;line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
:focus-visible{outline:3px solid var(--grenade);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--f-titre);font-weight:800;margin:0;line-height:1.05;text-wrap:balance}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
button,input,textarea,select{font:inherit}
svg{display:block}
.pb-oeil{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pb-oeil:focus{left:.5rem;top:.5rem;width:auto;height:auto;padding:.6rem .9rem;
  background:var(--canon);color:var(--masque);z-index:200;border-radius:var(--coin)}
.pb-env{width:min(1200px,100% - 2rem);margin-inline:auto}
.pb-coin{border-radius:var(--coin)}
.pb-coin-inv{border-radius:var(--coin-inv)}
.pb-etiq{font-family:var(--f-data);font-size:12px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--grenade-fonce)}

/* ---------- 3. LE FILET (trame de losanges) — fond de bande uniquement --- */
.pb-filet{background-image:
    linear-gradient(45deg,var(--filet-c) 25%,transparent 25%,transparent 75%,var(--filet-c) 75%),
    linear-gradient(45deg,var(--filet-c) 25%,transparent 25%,transparent 75%,var(--filet-c) 75%);
  background-size:22px 22px;background-position:0 0,11px 11px;background-color:var(--bunker);
  background-blend-mode:normal;position:relative}
.pb-filet::before{content:"";position:absolute;inset:0;background:var(--bunker);opacity:.6}
.pb-filet--sombre{background-image:
    linear-gradient(45deg,rgba(255,255,255,.06) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.06) 75%),
    linear-gradient(45deg,rgba(255,255,255,.06) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.06) 75%);
  background-size:22px 22px;background-position:0 0,11px 11px;background-color:var(--canon)}
.pb-filet--sombre::before{display:none}
.pb-filet>*{position:relative;z-index:1}

/* ---------- 4. IMPACT DE BILLE (pastille porteuse de donnee) ------------- */
.pb-impact{position:absolute;display:inline-flex;align-items:center;gap:.4rem;
  padding:.4rem .8rem;border-radius:999px;font-family:var(--f-data);font-size:12.5px;
  font-weight:700;letter-spacing:.03em;box-shadow:3px 3px 0 var(--canon);z-index:2}
.pb-impact--grenade{background:var(--grenade);color:#fff}
.pb-impact--citron{background:var(--citron);color:var(--canon)}
.pb-impact svg{width:14px;height:14px;flex:none}

/* ---------- 5. DOSSARDS D'INTENTION -------------------------------------- */
.pb-dossards{display:flex;gap:.7rem}
.pb-dossard{flex:1 1 0;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;
  min-height:44px;padding:.85rem .6rem .7rem;background:var(--bunker);border:2px solid transparent;
  border-radius:var(--coin);cursor:pointer;text-align:left;position:relative}
.pb-dossard::before,.pb-dossard::after{content:"";position:absolute;top:6px;width:6px;height:6px;
  border-radius:50%;background:var(--masque);border:1px solid var(--filet-c)}
.pb-dossard::before{left:8px}.pb-dossard::after{right:8px}
.pb-dossard-num{font-family:var(--f-data);font-size:11px;font-weight:700;color:var(--grenade-fonce)}
.pb-dossard-lbl{font-family:var(--f-titre);font-weight:800;font-style:italic;font-size:15px;line-height:1.15}
.pb-dossard.is-actif{background:var(--grenade);border-color:var(--canon)}
.pb-dossard.is-actif .pb-dossard-num,.pb-dossard.is-actif .pb-dossard-lbl{color:#fff}

/* ---------- 6. TRAJECTOIRE (arc pointille) -------------------------------- */
.pb-trajectoire{display:flex;align-items:center;gap:0}
.pb-trajectoire-etape{display:flex;flex-direction:column;align-items:center;gap:.4rem;font-family:var(--f-data);
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--doux)}
.pb-trajectoire-pt{width:14px;height:14px;border-radius:50%;border:2px solid var(--filet-c);background:var(--masque)}
.pb-trajectoire-etape.is-fait .pb-trajectoire-pt{background:var(--gazon);border-color:var(--gazon)}
.pb-trajectoire-etape.is-cours .pb-trajectoire-pt{background:var(--grenade);border-color:var(--grenade)}
.pb-trajectoire-etape.is-cours{color:var(--grenade-fonce)}
.pb-trajectoire-trait{flex:1 1 auto;height:0;border-top:2px dashed var(--filet-c);margin:0 -2px 18px}

/* ---------- 7. TABLEAU DE SCORE (tuiles chiffres geantes) ---------------- */
.pb-tuiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem}
.pb-tuile{padding:1.6rem 1.2rem;border-radius:var(--coin);text-align:left}
.pb-tuile--sombre{background:var(--canon);color:var(--citron)}
.pb-tuile--citron{background:var(--citron);color:var(--canon)}
.pb-tuile-n{display:block;font-family:var(--f-titre);font-style:italic;font-weight:800;
  font-size:clamp(46px,6vw,72px);line-height:1}
.pb-tuile-l{font-family:var(--f-data);font-size:12px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;opacity:.85}

/* ---------- 8. CHRONO D'ACTU ---------------------------------------------- */
.pb-chrono{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .6rem;
  background:var(--citron);color:var(--canon);border-radius:999px;font-family:var(--f-data);
  font-size:11px;font-weight:700;letter-spacing:.03em}

/* ---------- 9. HEADER STICKY --------------------------------------------- */
.pb-tete{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--masque) 96%,transparent);
  backdrop-filter:blur(6px);border-bottom:1px solid var(--filet-c)}
.pb-tete-in{display:flex;align-items:center;gap:1.4rem;min-height:72px}
.pb-tete.is-compact .pb-tete-in{min-height:60px}
.pb-logo{display:flex;align-items:center}
.pb-logo svg{height:38px;width:auto}
.pb-tete.is-compact .pb-logo svg{height:30px}
.pb-nav{display:flex;align-items:center;gap:.1rem;margin-left:auto}
.pb-nav-item{position:relative}
.pb-nav-item>a{display:flex;align-items:center;min-height:44px;padding:.5rem .8rem;
  font-family:var(--f-titre);font-weight:600;font-size:15.5px}
.pb-nav-item>a:hover{text-decoration:none;color:var(--grenade-fonce)}
.pb-sous{display:none;position:absolute;top:100%;left:0;min-width:220px;background:var(--masque);
  border:1px solid var(--filet-c);border-radius:0 var(--coin) var(--coin) var(--coin);
  box-shadow:4px 4px 0 var(--canon);padding:.5rem;z-index:10}
.pb-nav-item:hover .pb-sous,.pb-nav-item:focus-within .pb-sous{display:block}
.pb-sous a{display:block;padding:.5rem .7rem;border-radius:8px;font-size:14.5px;font-weight:600;min-height:44px;display:flex;align-items:center}
.pb-sous a:hover{background:var(--bunker);text-decoration:none}
.pb-cta{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.65rem 1.2rem;
  background:var(--grenade);color:#fff!important;font-family:var(--f-titre);font-weight:600;
  font-size:14.5px;border-radius:var(--coin);box-shadow:4px 4px 0 var(--canon);border:none;cursor:pointer}
.pb-cta:hover{text-decoration:none;background:var(--grenade-fonce)}
.pb-cta-bille{width:9px;height:9px;border-radius:50%;background:#fff;flex:none}
.pb-burger{display:none;margin-left:.6rem;background:none;border:1px solid var(--filet-c);
  border-radius:8px;padding:.6rem;cursor:pointer;min-width:44px;min-height:44px}
.pb-burger span{display:block;width:20px;height:2px;background:var(--canon);margin:4px 0}

/* menu plein ecran mobile */
.pb-menu-mobile{display:none;position:fixed;inset:0;z-index:80;background:var(--masque);
  padding:1.4rem 1.2rem;overflow-y:auto}
.pb-menu-mobile.is-ouvert{display:block}
.pb-menu-mobile-haut{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.6rem}
.pb-menu-mobile-ferme{background:none;border:1px solid var(--filet-c);border-radius:8px;
  min-width:44px;min-height:44px;font-size:22px;cursor:pointer}
.pb-menu-mobile a.pb-menu-mobile-lien{display:block;font-family:var(--f-titre);font-weight:800;
  font-style:italic;font-size:28px;padding:.6rem 0;border-bottom:1px solid var(--filet-c)}
.pb-menu-mobile-d3{margin-top:1.6rem}

/* ---------- 10. HERO ------------------------------------------------------ */
.pb-hero{background:var(--masque);padding-block:2.2rem 3rem}
.pb-hero-in{display:grid;grid-template-columns:7fr 5fr;gap:2.5rem;align-items:center}
.pb-kicker{font-family:var(--f-data);font-size:12.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--grenade-fonce);margin-bottom:.7rem}
.pb-h1{font-family:var(--f-titre);font-style:italic;font-weight:800;font-size:clamp(34px,4.6vw,64px);
  line-height:1.03;max-width:16ch}
.pb-promesse{font-family:var(--f-corps);font-size:21px;color:var(--doux);margin-top:1rem;max-width:52ch;line-height:1.5}
.pb-hero-dossards{margin-top:1.5rem}
.pb-d3{margin-top:1.2rem;background:var(--bunker);border-radius:var(--coin);box-shadow:5px 5px 0 var(--canon);
  padding:1.1rem 1.2rem;display:flex;gap:.7rem;flex-wrap:wrap;align-items:flex-end}
.pb-d3-champ{display:flex;flex-direction:column;gap:.3rem;flex:1 1 140px}
.pb-d3-champ label{font-family:var(--f-data);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--doux)}
.pb-d3-champ input{min-height:48px;padding:.6rem .8rem;border:2px solid var(--filet-c);border-radius:12px;background:#fff}
.pb-d3-champ input:focus{outline:none;border-color:var(--grenade)}
.pb-d3-stepper{display:flex;align-items:center;gap:.4rem}
.pb-d3-stepper button{min-width:44px;min-height:44px;border:2px solid var(--filet-c);background:#fff;
  border-radius:10px;font-size:18px;font-weight:700;cursor:pointer}
.pb-d3-stepper output{font-family:var(--f-data);font-weight:700;font-size:18px;min-width:2ch;text-align:center}
.pb-d3 button[type=submit]{flex:1 1 220px}
.pb-d3-rgpd{width:100%;font-size:12px;color:var(--doux);margin-top:.3rem}
.pb-preuves{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:1.2rem}
.pb-preuve{display:flex;align-items:center;gap:.5rem;font-family:var(--f-data);font-size:13px;font-weight:700;color:var(--doux)}
.pb-preuve-bille{width:8px;height:8px;border-radius:50%;background:var(--grenade);flex:none}
.pb-hero-photo{position:relative}
.pb-hero-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--coin)}
.pb-hero-photo .pb-impact:nth-child(2){top:1rem;left:-1rem}
.pb-hero-photo .pb-impact:nth-child(3){bottom:5.5rem;right:-.8rem}

/* ---------- 11. BANDES / SECTIONS ----------------------------------------- */
.pb-bande{padding-block:4rem}
.pb-bande--bunker{background:var(--bunker)}
.pb-bande--citron{background:var(--citron);color:var(--canon)}
.pb-bande--canon{background:var(--canon);color:var(--masque)}
.pb-bande--canon a{color:var(--masque)}
.pb-bande-tete{margin-bottom:1.8rem;max-width:70ch}
.pb-bande-titre{font-size:clamp(26px,3.2vw,42px);font-style:italic}
.pb-bande-lien{display:inline-block;margin-top:.8rem;font-family:var(--f-data);font-size:13px;
  font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--grenade-fonce)}
.pb-bande--canon .pb-bande-lien{color:var(--citron)}

/* a la une + colonne actu */
.pb-alaune{display:grid;grid-template-columns:8fr 4fr;gap:2rem;align-items:start}
.pb-alaune-principal{position:relative}
.pb-alaune-principal img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--coin)}
.pb-alaune-principal h3{font-size:26px;margin-top:.9rem}
.pb-alaune-secs{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-top:1.2rem}
.pb-alaune-sec img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--coin)}
.pb-alaune-sec h4{font-size:16px;margin-top:.5rem;font-style:normal}
.pb-fil-actu{display:flex;flex-direction:column;gap:1rem}
.pb-fil-item{display:flex;gap:.8rem;align-items:flex-start}
.pb-fil-item img{width:56px;height:56px;border-radius:var(--coin);object-fit:cover;flex:none}
.pb-fil-item h4{font-size:14.5px;line-height:1.3;margin-top:.25rem}
.pb-fil-rubrique{font-family:var(--f-data);font-size:10.5px;color:var(--doux);text-transform:uppercase}

/* les 3 portes d'occasion */
.pb-portes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.pb-porte{position:relative;display:block;border-radius:var(--coin);overflow:hidden}
.pb-porte img{width:100%;aspect-ratio:3/4;object-fit:cover}
.pb-porte-voile{position:absolute;inset:0;background:linear-gradient(0deg,rgba(21,26,30,.88),rgba(21,26,30,0) 55%)}
.pb-porte-txt{position:absolute;left:0;right:0;bottom:0;padding:1.1rem}
.pb-porte-num{font-family:var(--f-data);font-size:12px;font-weight:700;color:var(--citron)}
.pb-porte-titre{color:#fff;font-size:22px;font-style:italic;margin-top:.3rem}
.pb-porte-txt p{color:rgba(255,255,255,.86);font-size:14px;margin-top:.4rem}

/* terrains par ville */
.pb-villes-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.pb-ville-carte{display:block;position:relative;border-radius:var(--coin);overflow:hidden}
.pb-ville-carte img{width:100%;aspect-ratio:4/3;object-fit:cover}
.pb-ville-nom{position:absolute;left:.8rem;bottom:.8rem;background:var(--masque);padding:.4rem .8rem;
  border-radius:999px;font-family:var(--f-titre);font-weight:800;font-size:14px}

/* comment ca marche */
.pb-comment{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:2rem}
.pb-comment-etape img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--coin)}
.pb-comment-etape h3{font-size:19px;margin-top:.8rem}

/* rubriques */
.pb-rubriques-grille{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.pb-rub-tuile{display:block;border-top:4px solid var(--grenade);background:var(--masque);border-radius:0 0 var(--coin);padding:0 0 1rem}
.pb-rub-tuile img{width:100%;aspect-ratio:4/3;object-fit:cover}
.pb-rub-tuile-corps{padding:.9rem}
.pb-rub-tuile h3{font-size:16px}
.pb-rub-tuile-nb{font-family:var(--f-data);font-size:11px;color:var(--doux);margin-top:.3rem}
.pb-rub-tuile ul{margin-top:.5rem;font-size:12.5px}
.pb-rub-tuile ul li{padding:.15rem 0;color:var(--doux)}

/* le vestiaire (unique bande sombre) */
.pb-vestiaire-in{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start}
.pb-accordeon details{border-bottom:1px solid rgba(246,244,248,.2);padding:.9rem 0}
.pb-accordeon summary{cursor:pointer;font-family:var(--f-titre);font-weight:600;font-size:16px;list-style:none}
.pb-accordeon summary::-webkit-details-marker{display:none}
.pb-accordeon summary::before{content:"+ ";color:var(--citron);font-weight:800}
.pb-accordeon details[open] summary::before{content:"– "}
.pb-accordeon p{margin-top:.6rem;color:rgba(246,244,248,.85);font-size:15px;line-height:1.55}
.pb-vestiaire-carte{background:var(--masque);color:var(--canon);border-radius:var(--coin);
  box-shadow:6px 6px 0 var(--citron);padding:1.3rem}

/* guides materiel */
.pb-guides{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.pb-guide-carte img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--coin)}
.pb-guide-carte h3{font-size:16px;margin-top:.6rem}

/* qui ecrit */
.pb-auteurs{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.pb-auteur-carte{display:flex;gap:.9rem;align-items:center}
.pb-auteur-carte img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none}
.pb-auteur-carte h3{font-size:16px}
.pb-auteur-carte p{font-size:13px;color:var(--doux);margin-top:.2rem}

/* ---------- 12. CARTES GENERIQUES (rubrique / rechercher / index) ---------- */
.pb-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.pb-carte{display:block}
.pb-carte img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--coin)}
.pb-carte h3{font-size:18px;margin-top:.7rem}
.pb-carte-chapo{font-size:14.5px;color:var(--doux);margin-top:.4rem}
.pb-carte-date{font-family:var(--f-data);font-size:11.5px;color:var(--doux);margin-top:.4rem}
.pb-carte--large{grid-column:span 2}
.pb-carte--large img{aspect-ratio:21/9}
.pb-pagination{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2.4rem;padding-top:1.4rem;
  border-top:1px solid var(--filet-c);font-family:var(--f-data);font-weight:700;font-size:13.5px}
.pb-pagination .page-numbers{padding:.5rem .9rem;border:1px solid var(--filet-c);border-radius:8px;min-height:44px;display:inline-flex;align-items:center}
.pb-pagination .current{background:var(--canon);color:var(--masque);border-color:var(--canon)}

/* ---------- 13. RUBRIQUE (archive.php) ------------------------------------ */
.pb-rub-tete{background:var(--bunker);border-bottom:1px solid var(--filet-c);padding-block:2.2rem 1.6rem}
.pb-fil-ariane{font-family:var(--f-data);font-size:11px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--doux);margin-bottom:.7rem}
.pb-fil-ariane a{color:var(--grenade-fonce)}
.pb-rub-h1{font-size:clamp(28px,4vw,48px);font-style:italic}
.pb-rub-chapo{font-size:17px;color:var(--doux);margin-top:.6rem;max-width:64ch}
.pb-rub-compte{font-family:var(--f-data);font-size:11.5px;font-weight:700;color:var(--grenade-fonce);
  text-transform:uppercase;margin-top:.6rem}
.pb-rub-corps{padding-block:2.4rem 3rem}
.pb-depliant{margin-top:2.4rem;padding-top:1.4rem;border-top:1px solid var(--filet-c)}
.pb-depliant summary{cursor:pointer;font-family:var(--f-titre);font-weight:700;font-size:15px}

/* ---------- 14. ARTICLE ---------------------------------------------------- */
.pb-art-tete{padding-block:2.2rem 1.4rem}
.pb-art-titre{font-size:clamp(28px,4.6vw,52px);font-style:italic;max-width:22ch}
.pb-art-chapo{font-size:19px;color:var(--doux);margin-top:.9rem;max-width:64ch;line-height:1.5}
.pb-art-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-family:var(--f-data);
  font-size:12px;color:var(--doux);margin-top:1rem;text-transform:uppercase;letter-spacing:.03em}
.pb-art-illu{margin:0;max-height:56vh;overflow:hidden;border-radius:0}
.pb-art-illu img{width:100%;aspect-ratio:16/9;max-height:56vh;object-fit:cover}
.pb-art-illu figcaption{font-size:12.5px;color:var(--doux);width:min(1200px,100% - 2rem);margin:.6rem auto 0}
.pb-art-corps{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:3rem;
  align-items:start;padding-block:2.2rem 3rem}
.pb-art-cote{position:sticky;top:96px}
.pb-sommaire{border:1px solid var(--filet-c);border-radius:var(--coin);padding:1rem 1.1rem;background:var(--bunker)}
.pb-sommaire p{font-family:var(--f-data);font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:var(--doux);margin-bottom:.6rem}
.pb-sommaire ol{counter-reset:pb-s}
.pb-sommaire li{counter-increment:pb-s;font-size:14px;padding:.3rem 0;border-bottom:1px solid var(--filet-c)}
.pb-sommaire li::before{content:counter(pb-s,decimal-leading-zero) " ";color:var(--grenade-fonce);
  font-weight:700;font-family:var(--f-data);margin-right:.3rem}
.pb-encart-devis{margin-top:1.2rem;background:var(--canon);color:var(--masque);border-radius:var(--coin);
  padding:1.1rem 1.2rem}
.pb-encart-devis h4{font-size:17px;font-style:italic;margin-bottom:.5rem}
.pb-encart-devis a{color:var(--citron);font-weight:700;font-family:var(--f-data);font-size:13px;text-transform:uppercase}

.pb-corps{font-size:18px;line-height:1.75;max-width:70ch}
.pb-corps p{margin:0 0 1.2rem}
.pb-corps h2{font-family:var(--f-titre);font-style:italic;font-size:clamp(23px,2.6vw,32px);
  margin:2.2rem 0 .8rem;padding-left:1rem;border-left:6px solid var(--grenade)}
.pb-corps h3{font-size:21px;margin:1.6rem 0 .5rem}
.pb-corps ul{margin:0 0 1.2rem}
.pb-corps ul li{position:relative;padding-left:1.4rem;margin-bottom:.5rem}
.pb-corps ul li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:9px;
  border-radius:50%;background:var(--grenade)}
.pb-corps ol{list-style:decimal;padding-left:1.4rem;margin:0 0 1.2rem}
.pb-corps a{color:var(--grenade-fonce);text-decoration:underline;text-underline-offset:3px}
.pb-corps img{margin:1.5rem 0;border-radius:var(--coin)}
.pb-corps blockquote{margin:1.7rem 0;padding:1rem 1.2rem;background:var(--bunker);
  border-left:4px solid var(--citron);border-radius:0 var(--coin) var(--coin) 0;font-size:19px}
.pb-corps table{width:100%;border-collapse:collapse;font-size:15px;margin:1.5rem 0;display:block;overflow-x:auto}
.pb-corps th,.pb-corps td{border-bottom:1px solid var(--filet-c);padding:.6rem .5rem;text-align:left}
.pb-corps th{font-family:var(--f-data);font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  border-bottom:2px solid var(--grenade)}
.pb-corps details{border:1px solid var(--filet-c);border-radius:12px;padding:.8rem 1rem;margin-bottom:.8rem}
.pb-corps summary{cursor:pointer;font-weight:700;font-family:var(--f-titre)}

.pb-voisines{padding-block:2.2rem;border-top:1px solid var(--filet-c);background:var(--bunker)}
.pb-voisines ul{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.pb-voisines a{display:inline-flex;align-items:center;padding:.5rem 1rem;background:var(--masque);
  border:1px solid var(--filet-c);border-radius:999px;font-size:14px;font-weight:600;min-height:44px}

/* ---------- 15. FORMULAIRE SB_FORM — surcouche visuelle du site ----------- */
body .sblf{--sblf-a:var(--grenade);--sblf-b:var(--bunker);max-width:640px;font-family:var(--f-corps);color:var(--canon)}
body .sblf h3{font-family:var(--f-titre);font-style:italic;font-weight:800}
body .sblf-bar i{background:var(--filet-c);border-radius:0}
body .sblf-bar i.on{background:var(--grenade)}
body .sblf-c{border-radius:var(--coin);border-color:var(--filet-c);min-height:44px}
body .sblf-c:hover{background:var(--bunker);border-color:var(--grenade)}
body .sblf-c.on{background:var(--citron);border-color:var(--canon);color:var(--canon)}
body .sblf input[type=text],body .sblf input[type=email],body .sblf input[type=tel],body .sblf textarea{
  border-radius:12px;border-color:var(--filet-c);min-height:48px}
body .sblf input:focus,body .sblf textarea:focus{border-color:var(--canon);box-shadow:0 0 0 3px rgba(194,22,143,.3)}
body .sblf-b1{border-radius:var(--coin);font-family:var(--f-titre);font-weight:600;box-shadow:4px 4px 0 var(--canon)}
body .sblf-rap{background:var(--citron);color:var(--canon);border-radius:12px}
.pb-forme{background:var(--masque);border:2px solid var(--canon);border-radius:var(--coin);
  box-shadow:6px 6px 0 var(--citron);padding:1.6rem}

/* ---------- 16. PIED DE PAGE ------------------------------------------------ */
.pb-pied{background:var(--canon);color:var(--masque)}
.pb-pied a{color:var(--masque)}
.pb-pied-haut{padding-block:2.4rem 1.6rem;border-bottom:1px solid rgba(246,244,248,.2)}
.pb-pied-logo svg{height:30px}
.pb-pied-grille{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;padding-block:2rem}
.pb-pied-titre{font-family:var(--f-data);font-size:11px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(246,244,248,.7);margin-bottom:.8rem;padding-bottom:.5rem;
  border-bottom:1px solid rgba(246,244,248,.2)}
.pb-pied-liste li{padding:.32rem 0;font-size:14.5px}
.pb-pied-d3{padding-block:1.2rem 1.6rem;border-top:1px solid rgba(246,244,248,.2)}
.pb-ours{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;
  padding-block:1rem 1.2rem;font-size:12px;color:rgba(246,244,248,.7)}

/* ---------- 17. PAGES SPECIFIQUES ------------------------------------------ */
.pb-page-bandeau{background:var(--masque);padding-block:2.4rem}
.pb-page-h1{font-size:clamp(30px,4.4vw,50px);font-style:italic}
.pb-page-lecture{padding-block:2.6rem 3.4rem;max-width:70ch;margin-inline:auto}
.pb-page-lecture h2{font-family:var(--f-titre);font-size:24px;margin:1.8rem 0 .7rem}

/* page devis / occasion / entreprise / ville */
.pb-devis-hero{background:var(--bunker);padding-block:2.2rem 2.6rem}
.pb-devis-hero-in{display:grid;grid-template-columns:8fr 4fr;gap:2.2rem;align-items:start}
.pb-devis-preuves{display:flex;gap:1.2rem;margin-top:1rem;flex-wrap:wrap}
.pb-devis-suite{padding-block:3rem}
.pb-devis-suite .pb-trajectoire{margin-bottom:2rem}
.pb-faq details{border-bottom:1px solid var(--filet-c);padding:.9rem 0}
.pb-faq summary{font-family:var(--f-titre);font-weight:700;cursor:pointer;font-size:16.5px}

/* page ville */
.pb-ville-hero{background:var(--masque);padding-block:2.2rem}
.pb-ville-ancrages{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem}
.pb-ancrage{font-family:var(--f-data);font-size:12px;font-weight:700;background:var(--bunker);
  padding:.4rem .8rem;border-radius:999px}
.pb-terrains{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-top:1.5rem}
.pb-terrain-carte{border:1px solid var(--filet-c);border-radius:var(--coin);overflow:hidden}
.pb-terrain-carte img{width:100%;aspect-ratio:16/9;object-fit:cover}
.pb-terrain-carte-corps{padding:1rem}
.pb-terrain-carte h3{font-size:17px}
.pb-terrain-carte p{font-size:13.5px;color:var(--doux);margin-top:.4rem}

/* a propos */
.pb-apropos-hero img{width:100%;aspect-ratio:21/9;object-fit:cover;border-radius:var(--coin)}
.pb-apropos-equipe{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2rem}
.pb-apropos-carte{background:var(--bunker);border-radius:var(--coin);padding:1.3rem;text-align:center}
.pb-apropos-carte img{width:104px;height:104px;border-radius:50%;object-fit:cover;margin:0 auto .9rem}
.pb-apropos-carte h3{font-size:18px}
.pb-apropos-carte .pb-etiq{display:block;margin:.3rem 0 .6rem}
.pb-apropos-carte p{font-size:14px;color:var(--doux);line-height:1.5}

/* contact non-scrollable desktop */
.pb-contact-grille{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start;
  min-height:0;padding-block:2.4rem}
.pb-contact-raisons{display:flex;flex-direction:column;gap:.8rem;margin-top:1rem}
.pb-contact-raison{display:flex;gap:.7rem;align-items:flex-start;font-size:15px}
.pb-contact-raison .pb-dossard-num{background:var(--bunker);border-radius:8px;padding:.15rem .5rem}

/* 404 */
.pb-404{padding-block:3.4rem;text-align:center}
.pb-404 h1{font-size:clamp(30px,5vw,56px);font-style:italic}
.pb-404-liens{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:1.4rem}

/* ---------- 18. FORMULAIRE DE RECHERCHE ------------------------------------ */
.pb-recherche{display:flex;gap:.5rem;flex-wrap:wrap}
.pb-recherche input{flex:1 1 200px;min-height:48px;padding:.6rem .9rem;border:2px solid var(--filet-c);
  border-radius:12px}
.pb-recherche button{min-height:48px;padding:.6rem 1.2rem;background:var(--grenade);color:#fff;
  border:none;border-radius:12px;font-family:var(--f-titre);font-weight:600;cursor:pointer}

/* ---------- 19. REPLIS RESPONSIVE (zero debordement horizontal) ----------- */
@media (max-width:1080px){
  .pb-alaune{grid-template-columns:1fr}
  .pb-rubriques-grille{grid-template-columns:repeat(3,1fr)}
  .pb-tuiles,.pb-guides,.pb-villes-grille,.pb-portes,.pb-auteurs,.pb-apropos-equipe{grid-template-columns:repeat(2,1fr)}
  .pb-vestiaire-in,.pb-devis-hero-in,.pb-contact-grille{grid-template-columns:1fr}
  .pb-art-corps{grid-template-columns:1fr}
  .pb-art-cote{position:static}
  .pb-pied-grille{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .pb-nav{position:fixed;inset:0;display:none}
  .pb-burger{display:block}
  .pb-hero-in{grid-template-columns:1fr}
  .pb-hero-photo{order:-1}
}
@media (max-width:760px){
  .pb-env{width:min(1200px,100% - 1.2rem)}
  .pb-grille,.pb-comment,.pb-villes-grille,.pb-tuiles,.pb-guides,.pb-rubriques-grille,
  .pb-auteurs,.pb-apropos-equipe,.pb-portes,.pb-alaune-secs,.pb-terrains{grid-template-columns:1fr}
  .pb-carte--large{grid-column:auto}
  .pb-carte--large img{aspect-ratio:16/9}
  .pb-dossards{flex-wrap:wrap}
  .pb-dossard{flex:1 1 30%;min-width:0}
  .pb-d3{flex-direction:column;align-items:stretch}
  .pb-bande{padding-block:2.6rem}
  .pb-pied-grille{grid-template-columns:1fr}
  .pb-art-illu img{max-height:38vh}
  .pb-corps{font-size:17px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
@media print{.pb-tete,.pb-menu-mobile,.pb-pied{display:none!important}}

/* garde-fou : un display:grid/flex de classe bat l'attribut hidden */
[hidden]{display:none!important}
/* aucune URL/texte sans point de coupure ne doit faire deborder une colonne etroite */
.pb-corps{overflow-wrap:anywhere}

/* Correctifs de lisibilite et de largeur mobile */
.pb-d3-rgpd a{color:var(--canon);text-decoration:underline;text-underline-offset:2px}
.sblf .sblf-aide{color:#4a4555}
@media (max-width:760px){
  .pb-hero-photo .pb-impact:nth-child(2){left:.5rem}
  .pb-hero-photo .pb-impact:nth-child(3){right:.5rem}
  .pb-impact{max-width:calc(100% - 1rem)}
}
/* Le premier paragraphe de l'article reste visible sans defiler (1440x900 et 390x844) */
.pb-art-tete{padding-block:1.4rem 1rem}
.pb-art-illu,.pb-art-illu img{max-height:34vh}
.pb-art-corps{padding-top:1rem}
@media (max-width:760px){
  .pb-art-titre{font-size:26px;line-height:1.15}
  .pb-art-chapo{font-size:16.5px;margin-top:.6rem}
  .pb-art-illu,.pb-art-illu img{max-height:24vh}
}
body .sblf .sblf-aide{color:#4a4555}

/* Photos dans le corps des pages (22/09) */
.pb-fig-corps{margin:2rem 0;padding:0}
.pb-fig-corps img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;border-radius:18px 4px 18px 4px}
.pb-fig-corps figcaption{margin-top:.55rem;font-size:.86rem;line-height:1.45;color:#4a4555}
@media (max-width:640px){.pb-fig-corps{margin:1.4rem 0}.pb-fig-corps img{max-height:300px}}

/* Listes en cartes, etapes numerotees, tableaux en cartes (CM-0513/0514/0525) */
.pb-cartes{list-style:none;margin:1.6rem 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px}
.pb-cartes>li{position:relative;margin:0;padding:14px 16px 14px 46px;background:#fff;border:1px solid var(--filet-c);border-radius:18px 4px 18px 4px;line-height:1.5}
.pb-cartes>li::before{content:"";position:absolute;left:15px;top:17px;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 32%,var(--citron) 0 28%,var(--grenade) 30% 100%)}
.pb-etapes{list-style:none;margin:1.6rem 0;padding:0;counter-reset:pb-e;display:grid;gap:10px}
.pb-etapes>li{counter-increment:pb-e;position:relative;margin:0;padding:14px 16px 14px 64px;background:#fff;border:1px solid var(--filet-c);border-radius:4px 18px 4px 18px;line-height:1.5}
.pb-etapes>li::before{content:counter(pb-e);position:absolute;left:14px;top:12px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--canon);color:var(--citron);font-family:var(--f-data);font-weight:700;font-size:15px}
.pb-tab-cartes{margin:1.8rem 0}
.pb-tab-cartes table{width:100%;border:0;border-collapse:separate;border-spacing:0}
.pb-tab-cartes thead,.pb-tab-cartes tr:first-child:has(th){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.pb-tab-cartes tbody{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}
.pb-tab-cartes table:not(:has(tbody)){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}
.pb-tab-cartes tr{display:block;background:#fff;border:1px solid var(--filet-c);border-top:4px solid var(--grenade);border-radius:4px 4px 18px 4px;padding:12px 14px}
.pb-tab-cartes td,.pb-tab-cartes th{display:block;border:0;padding:4px 0;text-align:left;font-size:15px;line-height:1.45}
.pb-tab-cartes td:first-child{font-family:var(--f-titre);font-weight:800;font-size:17px;color:var(--canon);padding-bottom:6px}
.pb-tab-cartes td[data-label]:not(:first-child)::before{content:attr(data-label);display:block;font-family:var(--f-data);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--doux)}
.pb-corps,.pb-art-corps{min-width:0}
.pb-tab-cartes,.pb-tab-cartes table,.pb-tab-cartes tbody{max-width:100%;min-width:0!important}
.pb-tab-cartes table{display:block;overflow:visible}
.pb-tab-cartes tr,.pb-tab-cartes td{min-width:0;overflow-wrap:anywhere}
