/*
 * Super-blagues : styles du site public (Bootstrap 5.3 + Bootstrap Icons).
 * Tout ce qui est propre au site est préfixé sb- et réutilisé d'une page à l'autre :
 * sb-carte (bloc blanc), sb-titre-page / sb-titre (titres), sb-blague (une blague), sb-pastille, sb-encart,
 * sb-liste (listes de liens), sb-onglets (navigation par onglets), sb-stat (chiffre clé), sb-bulle (commentaire).
 */

@font-face{font-family:'Fredoka';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/fredoka/fredoka.woff2') format('woff2')}

:root{
	--sb-bleu:#2f6fb5;--sb-bleu-fonce:#1d4f87;--sb-bleu-clair:#eaf2fc;
	--sb-orange:#ffa600;--sb-orange-fonce:#e08e00;--sb-orange-clair:#fff5df;--sb-orange-texte:#9a5b00;--sb-sur-orange:#1a222d;
	--sb-vert:#17703f;--sb-vert-clair:#e8f7ee;--sb-rouge:#c03030;--sb-rouge-clair:#fdecec;
	--sb-fond:#f3f6fa;--sb-texte:#24303f;--sb-gris:#5f6b7a;--sb-bord:#e3e8ef;
	--sb-rayon:16px;--sb-ombre:0 4px 16px rgba(29,79,135,.08);--sb-ombre-forte:0 8px 24px rgba(29,79,135,.16);
	--sb-police-titre:'Fredoka',system-ui,-apple-system,'Segoe UI',sans-serif;
	--bs-body-bg:var(--sb-fond);--bs-body-color:var(--sb-texte);--bs-body-font-size:1rem;
	--bs-link-color-rgb:47,111,181;--bs-link-hover-color-rgb:29,79,135;
	--bs-primary-rgb:47,111,181;--bs-border-radius:12px;--bs-border-color:var(--sb-bord)
}
body{display:flex;flex-direction:column;min-height:100vh}
html{scroll-padding-top:80px} /* l'élément ciblé ou focalisé ne passe pas sous l'en-tête collant */
a{text-decoration:none}
a:hover{text-decoration:underline}
/* Liens au milieu d'un texte : soulignés, la couleur seule ne suffit pas à les repérer */
main p a:not(.btn),.sb-question a,.sb-presentation a{text-decoration:underline;text-underline-offset:2px}
/* Lien d'évitement : visible seulement au clavier */
#contenu:focus{outline:none} /* cible du lien d'évitement : pas de cadre autour de toute la colonne */
.sb-evitement{position:absolute;left:12px;top:8px;z-index:1100;padding:10px 16px;border-radius:12px;background:#fff;color:var(--sb-bleu-fonce);font-weight:700;box-shadow:var(--sb-ombre-forte)}
h1,h2,h3,h4{font-family:var(--sb-police-titre);color:var(--sb-bleu-fonce)}
img{max-width:100%;height:auto}
.sb-page{flex:1;padding-top:24px;padding-bottom:24px}
/* Palier sm (576-767 px) : toute la largeur au lieu d'une colonne de 540 px avec des marges vides */
@media (min-width:576px) and (max-width:767.98px){.container{max-width:100%}}
.sb-justifie{text-align:justify}
.su{background:#fff3b0;border-radius:3px;padding:0 2px}
.sb-alerte-js{background:var(--sb-rouge);color:#fff;font-size:13px;text-align:center;padding:4px}

/* ---------- Boutons ---------- */
.btn{border-radius:999px;font-weight:600;padding:.45rem 1.1rem}
.btn-sm{padding:.3rem .8rem}
.btn-lg{padding:.65rem 1.5rem}
.btn-primary{--bs-btn-bg:var(--sb-bleu);--bs-btn-border-color:var(--sb-bleu);--bs-btn-hover-bg:var(--sb-bleu-fonce);--bs-btn-hover-border-color:var(--sb-bleu-fonce);--bs-btn-active-bg:var(--sb-bleu-fonce);--bs-btn-active-border-color:var(--sb-bleu-fonce);--bs-btn-disabled-bg:var(--sb-bleu);--bs-btn-disabled-border-color:var(--sb-bleu)}
.btn-warning{--bs-btn-color:var(--sb-sur-orange);--bs-btn-bg:var(--sb-orange);--bs-btn-border-color:var(--sb-orange);--bs-btn-hover-color:var(--sb-sur-orange);--bs-btn-hover-bg:var(--sb-orange-fonce);--bs-btn-hover-border-color:var(--sb-orange-fonce);--bs-btn-active-color:var(--sb-sur-orange);--bs-btn-active-bg:var(--sb-orange-fonce);--bs-btn-active-border-color:var(--sb-orange-fonce)}
.btn-outline-primary{--bs-btn-color:var(--sb-bleu);--bs-btn-border-color:var(--sb-bleu);--bs-btn-hover-bg:var(--sb-bleu);--bs-btn-hover-border-color:var(--sb-bleu);--bs-btn-active-bg:var(--sb-bleu-fonce)}
.btn .bi{margin-right:.25rem}
.btn.sb-bouton-icone .bi{margin-right:0}

/* ---------- En-tête ---------- */
.sb-entete{position:sticky;top:0;z-index:1030;background:linear-gradient(90deg,var(--sb-bleu-fonce),var(--sb-bleu));box-shadow:0 2px 0 var(--sb-orange),0 6px 18px rgba(0,0,0,.12)}
.sb-entete .container{display:flex;align-items:center;gap:14px;min-height:64px}
.sb-burger{position:relative;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:26px;width:44px;height:44px;border-radius:12px;line-height:1;flex:0 0 auto}
.sb-burger:hover{background:rgba(255,255,255,.22)}
.sb-burger .badge{position:absolute;top:-4px;right:-6px;font-size:11px;background:var(--sb-orange);color:var(--sb-sur-orange)}
.sb-logo{display:flex;align-items:center;gap:8px;color:#fff;font-family:var(--sb-police-titre);font-weight:700;font-size:24px;white-space:nowrap}
.sb-logo:hover{color:#fff;text-decoration:none}
.sb-logo img{height:40px;width:auto}
.sb-logo b{color:var(--sb-orange);text-shadow:0 2px 0 rgba(0,0,0,.25)}
.sb-recherche{position:relative;width:min(320px,100%)}
.sb-entete .sb-recherche{margin-left:auto}
.sb-recherche .form-control{border-radius:999px;border:0;padding:.5rem 2.8rem .5rem 1.1rem;background:rgba(255,255,255,.96)}
.sb-recherche button{position:absolute;right:4px;top:4px;bottom:4px;width:36px;border:0;border-radius:50%;background:var(--sb-orange);color:var(--sb-sur-orange)}
.sb-recherche button:hover{background:var(--sb-orange-fonce)}
.sb-entete-lien{align-items:center;justify-content:center;flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.12);color:#fff;font-size:24px}
.sb-entete-lien:hover{background:rgba(255,255,255,.22);color:#fff}

/* ---------- Menu (panneau latéral) ---------- */
.sb-menu{--bs-offcanvas-width:290px}
.sb-menu .offcanvas-header{background:linear-gradient(90deg,var(--sb-bleu-fonce),var(--sb-bleu));color:#fff}
.sb-menu .offcanvas-title{font-family:var(--sb-police-titre);font-weight:700;color:#fff;margin:0;font-size:22px}
.sb-menu .btn-close{filter:invert(1) grayscale(1) brightness(2)}
.sb-menu .sb-recherche{width:100%;margin-bottom:12px}
.sb-menu .sb-recherche .form-control{background:var(--sb-fond)}
.sb-menu-lien{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:0;background:none;border-radius:12px;color:var(--sb-texte);font-weight:600;text-align:left}
.sb-menu-lien .bi{font-size:20px;color:var(--sb-bleu)}
.sb-menu-lien:hover,.sb-menu-lien.active{background:var(--sb-bleu-clair);color:var(--sb-bleu-fonce);text-decoration:none}
.sb-menu-lien .badge{margin-left:auto;background:var(--sb-orange);color:var(--sb-sur-orange)}
.sb-menu-reseaux{display:flex;gap:16px;font-size:24px;padding:16px 14px 0;border-top:1px solid var(--sb-bord);margin-top:12px}

/* ---------- Blocs ---------- */
.sb-carte{background:#fff;border:1px solid var(--sb-bord);border-radius:var(--sb-rayon);box-shadow:var(--sb-ombre);padding:20px;margin-bottom:20px}
.sb-carte>:last-child{margin-bottom:0}
.sb-carte-titre{font-family:var(--sb-police-titre);font-weight:600;font-size:18px;color:var(--sb-bleu-fonce);margin:0 0 12px;display:flex;align-items:center;gap:8px}
.sb-carte-titre .bi{color:var(--sb-orange)}
.sb-colonne-etroite,.sb-colonne-moyenne{max-width:640px;margin-left:auto;margin-right:auto}
.sb-colonne-moyenne{max-width:860px}

/* ---------- Titres ---------- */
.sb-titre-page{font-weight:700;font-size:30px;margin:0 0 8px}
.sb-titre-page .sb-surligne{background:linear-gradient(transparent 62%,var(--sb-orange-clair) 62%);padding:0 4px}
.sb-intro{color:var(--sb-gris);font-size:1.05rem;margin-bottom:18px}
.sb-titre{font-weight:600;font-size:22px;margin:28px 0 14px;padding-bottom:6px;border-bottom:2px solid var(--sb-orange);display:flex;align-items:center;gap:10px}
.sb-titre:first-child{margin-top:0}
.sb-titre .bi{color:var(--sb-orange)}

/* ---------- Pastilles et étiquettes ---------- */
.sb-pastilles{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.sb-pastilles.sb-defile{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.sb-pastille{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:6px 14px;border-radius:999px;background:#fff;border:2px solid var(--sb-orange);color:var(--sb-bleu-fonce);font-weight:600;font-size:14px;transition:background .2s,color .2s}
.sb-pastille:hover,.sb-pastille.active{background:var(--sb-orange);color:var(--sb-sur-orange);text-decoration:none}
.sb-etiquette{display:inline-block;flex:0 0 auto;padding:3px 10px;border-radius:999px;background:var(--sb-orange-clair);color:var(--sb-orange-texte);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}
a.sb-etiquette:hover{background:var(--sb-orange);color:var(--sb-sur-orange);text-decoration:none}
.badge{--bs-badge-font-weight:700}

/* ---------- Listes de liens (colonne de gauche, plan du site, classement) ---------- */
.sb-liste{list-style:none;margin:0;padding:0}
.sb-liste>li>a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-radius:10px;color:var(--sb-texte);font-weight:500}
.sb-liste>li>a:hover{background:var(--sb-bleu-clair);color:var(--sb-bleu-fonce);text-decoration:none}
.sb-liste>li>a.active{background:var(--sb-bleu);color:#fff}
.sb-liste .bi-chevron-right{font-size:12px;opacity:.5}
.sb-liste-top>li>a{font-weight:700}
.sb-liste-top .bi:first-child{color:var(--sb-orange)}
.sb-liste-top>li>a.active .bi{color:#fff}
.sb-liste .badge{background:var(--sb-orange);color:var(--sb-sur-orange)}
.sb-liste-colonnes{columns:2 220px;column-gap:24px}
.sb-liste-colonnes>li{break-inside:avoid}
.sb-nouveau{font-size:10px;background:var(--sb-rouge);color:#fff;border-radius:999px;padding:1px 7px;margin-left:6px;vertical-align:middle}

/* ---------- Une blague ---------- */
.sb-blague{background:#fff;border:1px solid var(--sb-bord);border-radius:var(--sb-rayon);box-shadow:var(--sb-ombre);margin-bottom:20px;overflow:hidden;transition:box-shadow .2s,transform .2s}
.sb-blague:hover{box-shadow:var(--sb-ombre-forte);transform:translateY(-2px)}
.sb-blague-entete{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:16px 20px 0}
.sb-blague-titre{font-weight:600;font-size:20px;margin:0}
.sb-blague-titre a{color:var(--sb-bleu-fonce)}
.sb-blague-texte{padding:10px 20px 16px;font-size:17px;line-height:1.6;overflow-wrap:anywhere}
.sb-blague-image{display:block;max-width:480px;margin:12px auto 4px}
.sb-blague-image img{border-radius:12px;width:100%}
.sb-legende{text-align:center;color:var(--sb-gris);font-size:13px;font-style:italic;margin:0}
.sb-reponse{margin-top:12px}
.sb-reponse summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;list-style:none;padding:6px 14px;border-radius:999px;background:var(--sb-orange-clair);color:var(--sb-orange-texte);font-weight:700;font-size:14px}
.sb-reponse summary::-webkit-details-marker{display:none}
.sb-reponse summary:hover{background:var(--sb-orange);color:var(--sb-sur-orange)}
.sb-reponse[open] summary{display:none}
.sb-reponse-texte{padding:10px 14px;border-left:4px solid var(--sb-orange);background:var(--sb-orange-clair);border-radius:0 10px 10px 0;font-weight:600}
.sb-blague-pied{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 20px;background:#fafbfd;border-top:1px solid var(--sb-bord)}
.sb-auteur{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px}
.sb-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.sb-avatar-grand{width:120px;height:120px;border-radius:50%;object-fit:cover;box-shadow:var(--sb-ombre)}
.sb-date{color:var(--sb-gris);font-size:13px;font-weight:400}
.sb-actions{margin-left:auto;display:flex;align-items:center;gap:6px}
.sb-vote{border:1px solid var(--sb-bord);background:#fff;border-radius:999px;padding:4px 12px;font-size:15px;color:var(--sb-gris);transition:all .15s}
.sb-vote span{font-weight:700;margin-left:2px}
.sb-vote:not(:disabled):hover{transform:scale(1.08)}
.sb-vote-plus:not(:disabled):hover,.sb-vote-plus.sb-vote-choisi{background:var(--sb-vert-clair);border-color:var(--sb-vert);color:var(--sb-vert)}
.sb-vote-moins:not(:disabled):hover,.sb-vote-moins.sb-vote-choisi{background:var(--sb-rouge-clair);border-color:var(--sb-rouge);color:var(--sb-rouge)}
.sb-vote:disabled{cursor:default}
.sb-vote:disabled:not(.sb-vote-choisi){opacity:.55}
.sb-votes{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}
.sb-vote-erreur{font-weight:700;color:var(--sb-rouge);font-size:13px}
.sb-votes-lecture{display:inline-flex;gap:12px;color:var(--sb-gris);font-size:14px;font-weight:600}
.sb-partage{border:0;background:var(--sb-bleu-clair);color:var(--sb-bleu);border-radius:999px;padding:4px 12px}
.sb-partage:hover,.sb-partage.show{background:var(--sb-bleu);color:#fff}
.sb-blague-statut{padding:8px 20px;background:var(--sb-orange-clair);color:var(--sb-orange-texte);font-weight:600;font-size:14px}
.sb-blague-compacte .sb-blague-texte{font-size:15px}
.sb-blague-compacte:hover{transform:none}
.sb-rang{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--sb-orange);color:var(--sb-sur-orange);font-family:var(--sb-police-titre);font-weight:700;flex:0 0 auto}

/* ---------- Présentation d'une rubrique (texte en base : p.justifier et h2.h2Rubrique) ---------- */
.sb-illustration{width:120px;height:auto;flex-shrink:0;border-radius:16px}
.sb-presentation p{text-align:justify}
.sb-presentation h2{font-size:20px;font-weight:600;margin:16px 0 8px}
.sb-presentation-rubrique{display:flex;gap:20px;align-items:flex-start}.sb-presentation-rubrique .sb-presentation{min-width:0}.sb-presentation-rubrique p:last-of-type{margin-bottom:8px}
.sb-lire-suite{font-weight:600}.sb-lire-suite .sb-moins,.sb-lire-suite[aria-expanded="true"] .sb-plus{display:none}.sb-lire-suite[aria-expanded="true"] .sb-moins{display:inline}

/* ---------- Encadrés ---------- */
.sb-encart{display:flex;align-items:center;flex-wrap:wrap;gap:15px;padding:18px 20px;border-radius:var(--sb-rayon);background:var(--sb-orange-clair);border:1px solid #ffe0a3;margin-bottom:20px}
.sb-encart>.bi{font-size:34px;color:var(--sb-orange)}
.sb-encart p{flex:1;min-width:180px;margin:0}
.alert{border-radius:12px;border:0;display:flex;gap:10px;align-items:flex-start}
.alert>.bi{font-size:1.15rem;line-height:1.3}
.alert-info{--bs-alert-bg:var(--sb-bleu-clair);--bs-alert-color:var(--sb-bleu-fonce)}

/* ---------- Accueil ---------- */
.sb-bandeau{position:relative;overflow:hidden;border-radius:var(--sb-rayon);padding:26px 28px;margin-bottom:20px;color:#fff;
	background:radial-gradient(circle at 85% 50%,rgba(255,166,0,.35),transparent 45%),linear-gradient(120deg,var(--sb-bleu-fonce),var(--sb-bleu))}
.sb-bandeau h1{font-weight:700;font-size:30px;margin:0 0 6px;color:#fff}
.sb-bandeau p{opacity:.92;margin:0 0 16px;max-width:520px}
.sb-bandeau-emoji{position:absolute;right:24px;top:50%;transform:translateY(-50%) rotate(-8deg);font-size:84px;line-height:1}
.sb-bandeau{padding-right:140px} /* place de l'émoji : le texte ne passe pas dessous */

/* ---------- Onglets (espace membre) ---------- */
.sb-onglets{display:flex;gap:6px;overflow-x:auto;padding:4px;margin-bottom:20px;background:#fff;border:1px solid var(--sb-bord);border-radius:999px;box-shadow:var(--sb-ombre);scrollbar-width:none}
.sb-onglets a{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:8px 16px;border-radius:999px;color:var(--sb-texte);font-weight:600;font-size:15px}
.sb-onglets a:hover{background:var(--sb-bleu-clair);text-decoration:none}
.sb-onglets a.active{background:var(--sb-bleu);color:#fff}
.sb-onglets .badge{background:var(--sb-orange);color:var(--sb-sur-orange)}
.nav-pills{--bs-nav-pills-border-radius:999px;--bs-nav-pills-link-active-bg:var(--sb-bleu);gap:6px;margin-bottom:16px}
.nav-pills .nav-link{font-weight:600}

/* ---------- Filtres en tuiles (ex. état de mes blagues) : la tuile active est pleine ---------- */
.sb-filtres{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}
.sb-filtre{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;background:#fff;border:2px solid var(--sb-bord);border-radius:var(--sb-rayon);color:var(--sb-texte);font-weight:600;font-size:14px;text-align:center;line-height:1.2;transition:border-color .2s,background .2s}
.sb-filtre .bi{font-size:22px;color:var(--sb-orange)}
.sb-filtre strong{font-family:var(--sb-police-titre);font-size:22px;color:var(--sb-bleu-fonce)}
.sb-filtre:hover{border-color:var(--sb-orange);text-decoration:none;color:var(--sb-texte)}
.sb-filtre.active{background:var(--sb-bleu);border-color:var(--sb-bleu);color:#fff;box-shadow:var(--sb-ombre-forte)}
.sb-filtre.active .bi,.sb-filtre.active strong{color:#fff}
@media (max-width:575.98px){.sb-filtres{grid-template-columns:repeat(2,1fr)}}

/* ---------- Chiffres clés ---------- */
.sb-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:20px}
.sb-stat{background:#fff;border:1px solid var(--sb-bord);border-radius:var(--sb-rayon);box-shadow:var(--sb-ombre);padding:16px;text-align:center}
.sb-stat strong{display:block;font-family:var(--sb-police-titre);font-size:30px;color:var(--sb-bleu);line-height:1.1}
.sb-stat span{color:var(--sb-gris);font-size:14px}
.sb-stat .bi{font-size:24px;color:var(--sb-orange)}
.sb-infos{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px;margin:0}
.sb-infos dt{color:var(--sb-gris);font-weight:600}
.sb-infos dd{margin:0;overflow-wrap:anywhere}

/* ---------- Grille de blagueurs ---------- */
.sb-membres{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;list-style:none;padding:0;margin:0 0 20px}
.sb-membre{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px;background:#fff;border:1px solid var(--sb-bord);border-radius:var(--sb-rayon);box-shadow:var(--sb-ombre);color:var(--sb-texte);font-weight:600;text-align:center;overflow-wrap:anywhere;transition:box-shadow .2s,transform .2s}
.sb-membre:hover{box-shadow:var(--sb-ombre-forte);transform:translateY(-2px);text-decoration:none;color:var(--sb-bleu-fonce)}
.sb-membre .sb-avatar{width:56px;height:56px}

/* ---------- Message reçu (les anciens messages en base utilisent la classe center) ---------- */
.sb-message .center{text-align:center}

/* ---------- Commentaires ---------- */
.sb-bulle{position:relative;background:#fff;border:1px solid var(--sb-bord);border-radius:var(--sb-rayon);padding:12px 16px;margin-bottom:14px;box-shadow:var(--sb-ombre)}
.sb-bulle-entete{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-weight:600}
.sb-bulle-entete .sb-date{margin-left:auto}

/* ---------- Numéro d'étape dans un formulaire ---------- */
.sb-etape{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:4px;border-radius:50%;background:var(--sb-orange);color:var(--sb-sur-orange);font-size:12px;font-weight:700;vertical-align:1px}

/* ---------- Pagination ---------- */
.pagination{--bs-pagination-color:var(--sb-bleu);--bs-pagination-hover-color:var(--sb-bleu-fonce);--bs-pagination-active-bg:var(--sb-bleu);--bs-pagination-active-border-color:var(--sb-bleu);--bs-pagination-border-color:var(--sb-bord);gap:6px;justify-content:center;flex-wrap:wrap;margin:8px 0 20px}
.pagination .page-link{border-radius:999px!important;min-width:40px;text-align:center;font-weight:600}

/* ---------- Formulaires ---------- */
.form-control,.form-select{border-radius:12px;padding:.6rem .9rem}
.form-select{padding-right:2.4rem;background-position:right .8rem center}
.form-control:focus,.form-select:focus,.form-check-input:focus{border-color:var(--sb-orange);box-shadow:0 0 0 .2rem rgba(255,166,0,.25)}
.form-label{font-weight:600}
.form-check-input:checked{background-color:var(--sb-bleu);border-color:var(--sb-bleu)}
.input-group>.input-group-text{border-radius:0 12px 12px 0;min-width:44px;justify-content:center}
.input-group>.form-control:not(:last-child){border-radius:12px 0 0 12px}
.input-group-text.sb-ok{background:var(--sb-vert-clair);color:var(--sb-vert);border-color:var(--sb-vert)}
.input-group-text.sb-ko{background:var(--sb-rouge-clair);color:var(--sb-rouge);border-color:var(--sb-rouge)}
.g-recaptcha{display:flex;justify-content:center;margin-bottom:16px}

/* ---------- Tableaux et fenêtres ---------- */
.table{--bs-table-striped-bg:var(--sb-fond);vertical-align:middle}
.sb-tableau{border-radius:12px;overflow:hidden;border:1px solid var(--sb-bord)}
.sb-tableau .table{margin:0}
.modal-content{border-radius:var(--sb-rayon);border:0;--bs-modal-bg:#fff}
.offcanvas{--bs-offcanvas-bg:#fff}
.modal-title{font-family:var(--sb-police-titre);font-weight:600;color:var(--sb-bleu-fonce)}
.breadcrumb{--bs-breadcrumb-divider:'›';font-size:14px;margin-bottom:12px}
.accordion{--bs-accordion-border-radius:var(--sb-rayon);--bs-accordion-inner-border-radius:var(--sb-rayon);--bs-accordion-active-bg:var(--sb-bleu-clair);--bs-accordion-active-color:var(--sb-bleu-fonce);--bs-accordion-btn-focus-box-shadow:0 0 0 .2rem rgba(255,166,0,.25)}
.accordion-button{font-weight:600}

/* ---------- Questions dépliables (FAQ) ---------- */
.sb-question{background:#fff;border:1px solid var(--sb-bord);border-radius:12px;margin-bottom:10px;transition:box-shadow .2s}
.sb-question:hover,.sb-question[open]{box-shadow:var(--sb-ombre-forte)}
.sb-question summary{cursor:pointer;list-style:none;padding:13px 45px 13px 16px;font-weight:600;color:var(--sb-bleu-fonce);position:relative}
.sb-question summary::-webkit-details-marker{display:none}
.sb-question summary::after{content:"\F282";font-family:'bootstrap-icons';position:absolute;right:16px;top:13px;color:var(--sb-orange);transition:transform .2s}
.sb-question[open] summary::after{transform:rotate(180deg)}
.sb-question>div{padding:0 16px 14px;line-height:1.6}
.sb-question ul{margin:8px 0 0;padding-left:20px}

/* ---------- Carte Facebook (colonne de gauche) ---------- */
.sb-facebook{display:block;padding:12px;border-radius:12px;background:#f0f5ff;border:1px solid #d8e4fb;transition:box-shadow .2s}
.sb-facebook:hover{box-shadow:0 3px 10px rgba(24,119,242,.25);text-decoration:none}
.sb-facebook-entete{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.sb-facebook-entete>.bi{flex:0 0 38px;height:38px;border-radius:50%;background:#1877f2;color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center}.sb-facebook-entete>.bi::before{vertical-align:0}
.sb-facebook-nom{color:#1c1e21;font-weight:700;font-size:13px;line-height:1.3}
.sb-facebook-nom small{display:block;color:#65676b;font-weight:400;font-size:12px}
.sb-facebook-bouton{display:block;padding:7px 0;border-radius:999px;background:#1877f2;color:#fff;font-weight:700;text-align:center;font-size:14px}

/* ---------- Pages d'erreur et de maintenance ---------- */
.sb-erreur{text-align:center;padding-block:20px}
.sb-erreur-code{font-family:var(--sb-police-titre);font-weight:700;font-size:96px;line-height:1;color:var(--sb-orange);text-shadow:0 4px 0 var(--sb-bleu-fonce);display:inline-block;animation:sb-dandine 2.6s ease-in-out infinite}
@keyframes sb-dandine{0%,100%{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(4deg) translateY(-6px)}}
@media (prefers-reduced-motion:reduce){.sb-erreur-code{animation:none}.sb-blague:hover{transform:none}}

/* ---------- Pied de page ---------- */
.sb-pied{margin-top:20px;background:var(--sb-bleu-fonce);color:rgba(255,255,255,.85);padding:32px 0 16px}
.sb-pied a{color:#fff}
.sb-pied-liens{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin:14px 0;padding:0;list-style:none}
.sb-pied-reseaux{display:flex;justify-content:center;gap:16px;font-size:28px}
.sb-pied-contact{text-align:center;font-size:14px;margin:0 0 6px}
.sb-pied-copyright{text-align:center;font-size:13px;margin:0}

/* ---------- Publicité ---------- */
/* Place réservée pour éviter que la page saute quand la pub arrive ; masquée si la pub est bloquée ou si Google n'a rien à afficher */
.sb-pub{margin-bottom:20px;min-height:250px}
@media (min-width:768px){.sb-pub{min-height:100px}}
.sb-sans-pub .sb-pub,.sb-pub:has(ins.adsbygoogle[data-ad-status="unfilled"]){display:none}

@media (max-width:575.98px){
	.sb-logo{font-size:20px}
	.sb-logo img{height:32px}
	.sb-blague-entete,.sb-blague-texte,.sb-blague-pied{padding-left:16px;padding-right:16px}
	.sb-blague-texte{font-size:16px}
	.sb-carte{padding:16px}
	.sb-bandeau{padding:20px}
	.sb-bandeau h1{font-size:24px}
	.sb-bandeau-emoji{display:none}
	.sb-titre-page{font-size:24px}
	.sb-infos{grid-template-columns:1fr;gap:2px}
	.sb-infos dd{margin-bottom:8px}
}
