/* Site 1.0.0 : haut de page, menu et pied de page communs à toutes les pages publiques. */
:root {
  --lbb-vert: #092f25;
  --lbb-vert-2: #123f30;
  --lbb-creme: #fffdf7;
  --lbb-fond: #fbf5e8;
  --lbb-trait: #d0dac5;
  --lbb-jaune: #e8b931;
  --lbb-rouge: #b3261e;
}

/* Barre de menu : seule partie qui reste en haut de l'écran. */
html body > header.lbb-entete {
  position: sticky;
  top: 0;
  z-index: 40;
  margin: 0;
  padding: 6px max(16px, calc((100vw - 1240px) / 2));
  background: var(--lbb-fond);
  border-bottom: 1px solid var(--lbb-trait);
  font: 700 15px/1.2 Arial, Helvetica, sans-serif;
}
/* 1.0.3 : les anciennes feuilles de RDV et de Première Bande stylent tout « header » et tout « nav »
   (rangée flexible, marges) : le haut de page commun reste un bloc pleine largeur partout. */
html body > header.lbb-entete {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  box-sizing: border-box;
}
html body > header.lbb-entete .lbb-menu {
  display: flex;
  align-items: stretch;
  gap: 4px;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0;
  box-sizing: border-box;
}
html body > header.lbb-entete .lbb-menu a,
html body > header.lbb-entete .lbb-menu button {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 40px;
  min-width: 0;
  margin: 0;
  padding: 6px 12px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--lbb-vert);
  background: transparent;
  font: inherit;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: none;
  cursor: pointer;
}
html body > header.lbb-entete .lbb-menu a::after,
html body > header.lbb-entete .lbb-menu a::before {
  content: none;
}
html body > header.lbb-entete .lbb-menu a:hover {
  background: #eef2e6;
}
html body > header.lbb-entete .lbb-menu a[aria-current='page'] {
  color: var(--lbb-creme);
  background: var(--lbb-vert);
}
html body > header.lbb-entete .lbb-menu a:focus-visible,
html body > header.lbb-entete .lbb-menu button:focus-visible,
.lbb-reglage :focus-visible,
.lbb-slogan a:focus-visible,
.lbb-pied a:focus-visible {
  outline: 3px solid var(--lbb-jaune);
  outline-offset: 2px;
}
/* Ordinateur : « Mon espace » à droite d'« Asso », un peu détaché. */
html body > header.lbb-entete .lbb-menu .lbb-espace,
html body > .lbb-slogan .lbb-espace {
  margin-left: auto;
  border: 1px solid #e3d3a6 !important;
  border-radius: 20px !important;
  background: #f3e7c6 !important;
  color: var(--lbb-vert) !important;
}
html body > header.lbb-entete .lbb-menu .lbb-espace:hover,
html body > .lbb-slogan .lbb-espace:hover {
  background: #ecdcae !important;
}
html body > header.lbb-entete .lbb-menu .lbb-espace[aria-current='page'] {
  background: var(--lbb-vert);
}
html body > header.lbb-entete .lbb-menu [data-lbb-reglage] {
  display: none;
}

/* Slogan : il défile avec la page. */
html body > .lbb-slogan {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 14px max(16px, calc((100vw - 1240px) / 2)) 4px;
}
html body > .lbb-slogan .lbb-slogan-texte {
  margin: 0;
  color: var(--lbb-vert-2);
  font: 700 clamp(24px, 3.2vw, 40px) / 1.12 Arial, Helvetica, sans-serif;
  letter-spacing: -0.02em;
  text-wrap: balance;
}
html body > .lbb-slogan .lbb-espace {
  display: none;
}

/* Panneau de réglage du menu (téléphone). */
.lbb-reglage {
  position: fixed;
  z-index: 60;
  right: max(12px, env(safe-area-inset-right, 0px));
  top: 64px;
  width: min(320px, calc(100vw - 24px));
  box-sizing: border-box;
  padding: 14px 16px 16px;
  border: 1px solid var(--lbb-trait);
  border-radius: 12px;
  background: var(--lbb-creme);
  color: var(--lbb-vert);
  box-shadow: 0 12px 32px rgb(9 47 37 / 0.18);
  font: 400 15px/1.4 Arial, Helvetica, sans-serif;
}
.lbb-reglage[hidden] {
  display: none !important;
}
.lbb-reglage-tete {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.lbb-reglage-tete strong {
  font-size: 16px;
}
.lbb-reglage button {
  min-width: 40px;
  min-height: 40px;
  border: 1px solid var(--lbb-trait);
  border-radius: 8px;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
.lbb-reglage fieldset {
  margin: 0 0 12px;
  padding: 0;
  border: 0;
}
.lbb-reglage legend {
  margin-bottom: 6px;
  font-weight: 700;
}
html body .lbb-reglage label {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px;
  min-height: 40px;
  margin: 0;
  padding: 0;
  font: 400 15px/1.3 Arial, Helvetica, sans-serif !important;
  text-align: left !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  cursor: pointer;
}
html body .lbb-reglage legend {
  font: 700 15px/1.3 Arial, Helvetica, sans-serif;
  text-transform: none;
  letter-spacing: 0;
}
.lbb-reglage input {
  width: 20px;
  height: 20px;
  margin: 0;
  accent-color: var(--lbb-vert);
}
.lbb-reglage-liens {
  display: none;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin-bottom: 12px;
}
.lbb-reglage a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 6px 8px;
  border: 1px solid var(--lbb-trait);
  border-radius: 8px;
  color: var(--lbb-vert);
  background: #fff;
  font-weight: 700;
  text-decoration: none;
}
.lbb-reglage .lbb-reglage-espace {
  background: var(--lbb-vert);
  color: var(--lbb-creme);
}
.lbb-menu-flottant {
  display: none;
}

/* Règle de Rudy : plus de gros cadres vert foncé. Encadrés clairs à la place. */
html body .home-agenda-v98,
html body .home-collection-v98,
html body .asso-membership-v94,
html body .asso-contact-v94,
html body .mb-identity,
html body .mb-success-heading {
  background: #f1f4ea !important;
  background-image: none !important;
  color: var(--lbb-vert) !important;
  border: 1px solid var(--lbb-trait) !important;
  box-shadow: none !important;
}
html body :is(.home-agenda-v98, .home-collection-v98, .asso-membership-v94, .asso-contact-v94, .mb-identity, .mb-success-heading)
  :is(h1, h2, h3, h4, p, span, strong, small, em, li, dt, dd, label, time, a:not([class*='button']):not([class*='btn'])) {
  color: var(--lbb-vert) !important;
}
html body :is(.home-agenda-v98, .home-collection-v98, .asso-membership-v94, .asso-contact-v94) a {
  text-decoration-color: currentColor;
}
/* RDV billard : en-tête des cartes en vert moyen, ni crème ni vert foncé. */
html body .rdv-card-head-v120 {
  background: #2f5f4b !important;
  background-image: none !important;
}
/* 1.0.11 (Rudy) : partout, la couleur dit le type de rendez-vous, comme la carte calendrier.
   Tournoi jaune, Intercafés vert, rencontre de semaine sable crème. */
html body [data-rdv-type='tournoi'] .rdv-card-head-v120,
html body .rdv-detail-head-v120[data-rdv-type='tournoi'] {
  background: #f2cf5b !important;
}
html body [data-rdv-type='intercafes'] .rdv-card-head-v120,
html body .rdv-detail-head-v120[data-rdv-type='intercafes'] {
  background: #1f6b45 !important;
}
html body [data-rdv-type='partie'] .rdv-card-head-v120,
html body .rdv-detail-head-v120[data-rdv-type='partie'] {
  background: #eadfc4 !important;
  box-shadow: inset 0 -3px 0 #c8b88f;
}
html body :is([data-rdv-type='tournoi'], [data-rdv-type='partie']) .rdv-card-head-v120 :is(span, h3, button, p, strong, small),
html body .rdv-detail-head-v120:is([data-rdv-type='tournoi'], [data-rdv-type='partie']) :is(span, h3, strong, small, p) {
  color: #092f25 !important;
}
/* Accueil : la pastille de date des prochains rendez-vous. */
html body .home-event-v98[data-rdv-type='tournoi'] .home-date-v98 {
  background: #f2cf5b !important;
  color: #092f25 !important;
}
html body .home-event-v98[data-rdv-type='intercafes'] .home-date-v98 {
  background: #1f6b45 !important;
  color: #fff !important;
}
html body .home-event-v98[data-rdv-type='partie'] .home-date-v98 {
  background: #eadfc4 !important;
  color: #092f25 !important;
  box-shadow: inset 0 0 0 1px #c8b88f;
}
html body .home-event-v98[data-rdv-type] .home-date-v98 :is(strong, span) {
  color: inherit !important;
}

/* Partenaires : chaque logo posé sur un même cartouche blanc, à la même hauteur, sans étirement. */
html body .partners-grid-v27 article {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
html body .partners-grid-v27 img {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 150px;
  padding: 18px 24px;
  margin-bottom: 6px;
  object-fit: contain;
  object-position: center;
  background: #fff;
  border: 1px solid #e6eadf;
  border-radius: 10px;
}
html body .partners-grid-v27 h2 {
  margin: 4px 0 0;
  font-size: 20px;
}
html body .partners-grid-v27 a[href^='tel:'] {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
}

/* Accueil : le compteur « Cartes 1–2 sur 14 » reste lu par les lecteurs d'écran mais n'est plus affiché. */
html body .home-gallery-hint-v98 {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* Collection : aucun texte sous 12 px sur téléphone. */
html body main .eyebrow,
html body .section-title span,
html body .filters label,
html body .catalogue-options label,
html body .catalogue-options .text-button,
html body .recent-card :is(span, strong) {
  font-size: max(12px, 1em) !important;
}
html body main .eyebrow {
  font-size: 12px !important;
}
html body .recent-card :is(span, strong) {
  font-size: 13px !important;
}

/* Accueil : début de page, prochain RDV mis en avant, carrousel à trois cartes sur téléphone. */
html body .lbb-accueil-chapo {
  max-width: 60ch;
  margin: 0 0 14px;
  color: var(--lbb-vert);
  font: 400 18px/1.45 Arial, Helvetica, sans-serif;
}
html body .lbb-accueil-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 8px;
}
html body a.lbb-bouton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 8px 18px;
  border: 1px solid var(--lbb-vert);
  border-radius: 10px;
  background: var(--lbb-vert);
  color: var(--lbb-creme) !important;
  font: 700 16px/1.2 Arial, Helvetica, sans-serif;
  text-decoration: none;
}
html body a.lbb-bouton.lbb-bouton-clair {
  background: var(--lbb-creme);
  color: var(--lbb-vert) !important;
}
html body a.lbb-bouton:focus-visible {
  outline: 3px solid var(--lbb-jaune);
  outline-offset: 2px;
}
html body .home-event-v98.is-next {
  border-left: 5px solid var(--lbb-jaune) !important;
}
html body .home-event-v98.is-next h3 {
  font-size: 20px !important;
}
@media (max-width: 600px) {
  html body .lbb-accueil-chapo {
    font-size: 16px;
  }
  html body #home-cards-v98 .home-collectible-v98 {
    flex: 0 0 calc((100% - 20px) / 3) !important;
    width: calc((100% - 20px) / 3) !important;
    min-width: 0 !important;
    max-width: none !important;
  }
  html body #home-cards-v98 .home-collectible-v98 span {
    font-size: 12px !important;
  }
}

/* 1.0.3 : sur téléphone, le logo officiel à la place du slogan ; « Mon espace » à droite, décollé du bord. */
html body > .lbb-slogan .lbb-logo {
  display: none;
}
@media (max-width: 850px) {
  html body > .lbb-slogan .lbb-slogan-texte {
    display: none;
  }
  html body > .lbb-slogan .lbb-logo {
    display: flex;
    align-items: center;
    min-height: 44px;
  }
  html body > .lbb-slogan .lbb-logo img {
    display: block;
    width: auto;
    height: 52px;
  }
  /* Logo centré, « Mon espace » à droite. */
  html body > .lbb-slogan {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    padding-top: 8px !important;
    padding-bottom: 4px !important;
  }
  html body > .lbb-slogan .lbb-logo {
    grid-column: 2;
    justify-self: center;
  }
  html body > .lbb-slogan .lbb-espace {
    grid-column: 3;
    justify-self: end;
    margin-right: 8px;
  }
}
/* Première Bande 1.0.3 : les trois cartes du bandeau, en grand et à la bonne proportion. */
html body main .hero #featured {
  display: flex !important;
  align-items: flex-end;
  justify-content: center;
  gap: 10px;
  height: auto !important;
  min-height: 0 !important;
}
html body main .hero #featured img {
  position: static !important;
  display: block;
  width: clamp(92px, 26%, 170px) !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: 630 / 880;
  object-fit: cover;
  border-radius: 10px;
  box-shadow: 0 10px 24px rgb(0 0 0 / 0.35);
}
html body main .hero #featured img:nth-child(1) {
  transform: rotate(-6deg) translateY(6px) !important;
}
html body main .hero #featured img:nth-child(2) {
  transform: translateY(-6px) !important;
  z-index: 1;
}
html body main .hero #featured img:nth-child(3) {
  transform: rotate(6deg) translateY(6px) !important;
}
@media (max-width: 850px) {
  html body main .hero {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    height: auto !important;
  }
  html body main .hero #featured {
    padding: 8px 0 12px;
  }
}
html body main .hero .lbb-collection-sur {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
html body main .hero .lbb-collection-sur span {
  display: block;
  white-space: nowrap;
}
html body main .hero .lbb-collection-chapo {
  white-space: nowrap;
}
@media (max-width: 360px) {
  html body main .hero .lbb-collection-chapo {
    white-space: normal;
  }
}
/* Accueil 1.0.4 : haut de page léger, sans gros bloc. Le menu reste le seul bandeau. */
@media (min-width: 851px) {
  html body > .lbb-slogan.lbb-slogan-logo {
    display: none;
  }
}
html body main section.lbb-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  align-items: center;
  gap: 24px;
  margin: 8px 0 0 !important;
  padding: 8px 0 4px !important;
  border: 0 !important;
  background: none !important;
}
.lbb-hero-texte {
  min-width: 0;
}
html body .lbb-hero h1 {
  margin: 0 0 10px !important;
  color: var(--lbb-vert) !important;
  font: 800 clamp(32px, 4.6vw, 52px) / 1.05 Arial, Helvetica, sans-serif !important;
  letter-spacing: -0.02em;
  text-wrap: balance;
}
html body .lbb-hero .lbb-hero-chapo {
  max-width: 40ch;
  margin: 0 0 10px;
  color: var(--lbb-vert) !important;
  font: 400 clamp(17px, 1.7vw, 20px) / 1.45 Arial, Helvetica, sans-serif;
}
html body .lbb-hero .lbb-hero-faits {
  max-width: 44ch;
  margin: 0 0 18px;
  padding: 10px 14px;
  border-left: 4px solid var(--lbb-jaune);
  background: #eef3e8;
  border-radius: 8px;
  color: #23443a !important;
  font: 400 15px/1.45 Arial, Helvetica, sans-serif;
}
/* Trois vraies cartes Première Bande en éventail, discrètes. */
.lbb-hero-cartes {
  position: relative;
  display: block;
  min-height: 250px;
  text-decoration: none;
}
.lbb-hero-cartes img {
  position: absolute;
  top: 10px;
  left: 50%;
  width: min(150px, 40%);
  height: auto;
  aspect-ratio: 630 / 880;
  border-radius: 10px;
  box-shadow: 0 10px 24px rgb(9 47 37 / 0.28);
  transition: transform 0.25s ease;
}
.lbb-hero-cartes img:nth-of-type(1) {
  transform: translateX(-118%) rotate(-10deg) translateY(16px);
}
.lbb-hero-cartes img:nth-of-type(2) {
  z-index: 2;
  transform: translateX(-50%);
}
.lbb-hero-cartes img:nth-of-type(3) {
  transform: translateX(18%) rotate(10deg) translateY(16px);
}
.lbb-hero-cartes:hover img:nth-of-type(1) {
  transform: translateX(-126%) rotate(-13deg) translateY(12px);
}
.lbb-hero-cartes:hover img:nth-of-type(3) {
  transform: translateX(26%) rotate(13deg) translateY(12px);
}
.lbb-hero-cartes:focus-visible {
  outline: 3px solid var(--lbb-jaune);
  outline-offset: 4px;
  border-radius: 12px;
}
@media (prefers-reduced-motion: reduce) {
  .lbb-hero-cartes img {
    transition: none;
  }
}
/* 1.0.6 : « Crée ta carte » sous l'éventail de cartes de l'accueil. */
.lbb-hero-carte {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.lbb-hero-carte .lbb-hero-cartes {
  order: 0;
  width: 100%;
}
html body .lbb-hero-carte-texte {
  margin: 4px 0 0;
  color: var(--lbb-vert);
  font: 700 15px/1.35 Arial, Helvetica, sans-serif;
  text-align: center;
}
html body a.lbb-bouton.lbb-bouton-jaune {
  border-color: #e3b92a;
  background: #f2cf5b;
  color: var(--lbb-vert) !important;
}
html body a.lbb-bouton.lbb-bouton-jaune:hover {
  background: #ffd86b;
}
/* 1.0.6 (audit 1.0.5) : collection, textes de 13 px minimum et boutons de 40 px pour le doigt. */
html body #recent-list .recent-card small {
  font-size: 13px !important;
}
html body :is(#density-buttons button, .catalogue-mode-v103, .album-mode-v103, #export-owned, #import-owned, .account-sync-actions a) {
  min-height: 40px !important;
  font-size: max(13px, 1em) !important;
}
html body main button.catalogue-mode-v103.catalogue-mode-v103,
html body main button.album-mode-v103.album-mode-v103 {
  min-height: 40px !important;
  font-size: 14px !important;
}
html body main .not-printed-v108.not-printed-v108 {
  font-size: 12px !important;
}
html body button#reset.text-button {
  min-height: 40px !important;
  padding: 0 8px !important;
  font-size: 14px !important;
}
html body .account-sync-actions a {
  display: inline-flex !important;
  align-items: center;
}
/* 1.0.7 : accueil, le haut de page seul (les cartes descendent dans Première Bande). */
html body main section.lbb-hero.lbb-hero-seul {
  grid-template-columns: minmax(0, 1fr);
  max-width: 760px;
}
/* 1.0.7 : un seul bloc Première Bande, « Crée ta carte » puis les dernières cartes. */
html body .lbb-insecable {
  white-space: nowrap;
}
.lbb-pb-creer-107 {
  display: grid;
  grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
  align-items: center;
  gap: 16px 28px;
  margin: 8px 0 18px;
}
.lbb-pb-creer-107 .lbb-hero-cartes {
  order: 0;
  min-height: 230px;
}
.lbb-pb-creer-texte-107 {
  display: grid;
  justify-items: start;
  gap: 8px;
  min-width: 0;
}
html body .lbb-pb-107 .lbb-pb-creer-texte-107 h3,
html body .lbb-pb-107 h3.lbb-pb-dernieres-107 {
  margin: 0;
  color: var(--lbb-vert) !important;
  font: 800 20px/1.2 Arial, Helvetica, sans-serif;
}
html body .lbb-pb-107 .lbb-pb-creer-texte-107 p {
  margin: 0;
  font: 400 16px/1.45 Arial, Helvetica, sans-serif;
}
html body .lbb-pb-107 h3.lbb-pb-dernieres-107 {
  margin-top: 6px;
  font-size: 18px;
}
@media (max-width: 700px) {
  .lbb-pb-creer-107 {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }
  .lbb-pb-creer-107 .lbb-hero-cartes {
    min-height: 200px;
  }
  .lbb-pb-creer-texte-107 {
    justify-items: center;
    text-align: center;
  }
}
/* 1.0.10 (tour téléphone) : textes 13 px minimum, boutons 14 px. Les petites étiquettes
   en capitales (.eyebrow) gardent leur style. */
html body .home-section-head-v98 > a,
html body .home-news-body-v98 .home-news-more-v98 {
  font-size: 14px !important;
}
html body .home-news-body-v98 time,
html body #home-cards-v98 .home-collectible-v98 span,
html body .news-text time,
html body .lbb-asso-role,
html body .cafe-detail-cards-v16 figcaption,
html body #owned-summary,
html body #stats.stats article span,
html body #source.muted,
html body #rarities.rarities article b,
html body .creation-item > p,
html body .creation-proposal p,
html body .member-licence-v97,
html body .member-licence-v97 strong,
html body .member-identity-v97 p:not(.eyebrow),
html body .member-access-v97 a span,
html body .member-next-row-v97 small {
  font-size: 13px !important;
}
html body .creation-item .creation-status {
  font-size: 12px !important;
}
html body .personal-shortcuts-v71 button,
html body button#catalogue-mode-v103,
html body button#album-mode-v103,
html body .creation-item > button,
html body .creation-proposal button,
html body .member-account-actions-v97 :is(a, button) {
  min-height: 40px !important;
  font-size: 14px !important;
}
/* 1.0.7 : « Supprimer ma carte » dans Mes créations, discret puis rouge à confirmer. */
html body button.creation-delete-v107 {
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid #b3261e;
  border-radius: 10px;
  background: #fff;
  color: #b3261e;
  font: 700 14px/1.2 Arial, Helvetica, sans-serif;
  cursor: pointer;
}
html body button.creation-delete-v107.creation-delete-armed-v107 {
  background: #b3261e;
  color: #fff;
}
/* 1.0.6 : invitation à se connecter pour garder la carte créée sans compte. */
html body .creator-invite-v106 {
  display: grid;
  gap: 8px;
  margin: 4px 0 8px;
  padding: 16px;
  border: 2px solid #e3b92a;
  border-radius: 12px;
  background: #fff8df;
  color: var(--lbb-vert);
}
html body .creator-invite-v106[hidden] {
  display: none;
}
html body .creator-invite-v106 h2 {
  margin: 0;
  color: var(--lbb-vert);
  font: 800 20px/1.2 Arial, Helvetica, sans-serif;
}
html body .creator-invite-v106 p {
  margin: 0;
  color: #23443a;
  font: 400 15px/1.45 Arial, Helvetica, sans-serif;
}
html body .creator-invite-v106 .creator-invite-note {
  font-weight: 700;
}
html body .creator-invite-v106 a.button {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 10px;
  background: var(--lbb-vert);
  color: #fff !important;
  font: 700 16px/1.2 Arial, Helvetica, sans-serif;
  text-decoration: none;
}
@media (max-width: 650px) {
  html body .creator-invite-v106 a.button {
    justify-self: stretch;
    justify-content: center;
    text-align: center;
  }
}
html body .creator-invite-v106.creator-invite-active {
  box-shadow: 0 0 0 4px rgb(242 207 91 / 0.45);
}
html body .lbb-collection-liens {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px 16px;
}
/* Comment ça marche : trois petits blocs, le premier en vert. */
html body main section.lbb-etapes {
  margin: 28px 0 8px;
}
html body .lbb-etapes h2 {
  margin: 0 0 12px;
  color: var(--lbb-vert);
  font: 800 clamp(22px, 2.8vw, 30px) / 1.15 Arial, Helvetica, sans-serif;
}
.lbb-etapes ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
/* Trois étapes légères et identiques : un filet jaune, pas de boîte. */
/* 1.0.12 (Rudy) : le numéro est sur la même ligne que le titre (« 1. Choisis ton samedi »). */
.lbb-etapes li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto 1fr auto;
  align-items: baseline;
  column-gap: 6px;
  row-gap: 4px;
  padding: 10px 0 0;
  border: 0;
  border-top: 3px solid var(--lbb-jaune);
  background: none;
}
.lbb-etape-num {
  color: #b3261e;
  font: 800 18px/1.25 Arial, Helvetica, sans-serif;
}
.lbb-etape-num::after {
  content: '.';
}
html body .lbb-etapes h3 {
  margin: 0;
  color: var(--lbb-vert);
  font: 700 18px/1.25 Arial, Helvetica, sans-serif;
}
html body .lbb-etapes :is(p, a) {
  grid-column: 1 / -1;
}
html body .lbb-etapes p {
  align-self: start;
  margin: 0;
  color: #3f5a4c;
  font: 400 15px/1.45 Arial, Helvetica, sans-serif;
}
html body .lbb-etapes a {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  color: var(--lbb-vert);
  font: 700 15px/1.2 Arial, Helvetica, sans-serif;
  text-underline-offset: 3px;
}
@media (max-width: 850px) {
  html body main section.lbb-hero {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 4px 0 0 !important;
  }
  .lbb-hero-cartes {
    min-height: 210px;
    order: 2;
  }
  .lbb-hero-cartes img {
    width: min(124px, 34%);
  }
  .lbb-etapes ol {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  /* Cartes de l'accueil : on les fait glisser au doigt, sans boutons. */
  html body .home-gallery-buttons-v101 {
    display: none !important;
  }
  html body #home-cards-v98 {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  html body #home-cards-v98::-webkit-scrollbar {
    display: none;
  }
  html body #home-cards-v98 .home-collectible-v98 {
    scroll-snap-align: start;
  }
}
@media (max-width: 400px) {
  html body .lbb-hero h1 {
    font-size: 30px !important;
  }
  .lbb-accueil-actions .lbb-bouton {
    flex: 1 1 100%;
  }
}

/* 1.0.4 : un seul gabarit de titre de page partout (sauf le slogan de l'accueil, seul grand titre). */
html body:not(.home-page-v98) main h1 {
  font-size: clamp(26px, 3vw, 36px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em !important;
}

/* Actus : bouton « Voir plus d'actus ». */
html body .lbb-actus-plus {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  margin: 20px auto 0;
  padding: 8px 20px;
  border: 1px solid var(--lbb-vert);
  border-radius: 10px;
  background: var(--lbb-creme);
  color: var(--lbb-vert);
  font: 700 16px/1.2 Arial, Helvetica, sans-serif;
  cursor: pointer;
}
html body .lbb-actus-plus:focus-visible {
  outline: 3px solid var(--lbb-jaune);
  outline-offset: 2px;
}
html body a.news-article[hidden] {
  display: none !important;
}

/* Cafés : prochain rendez-vous sous chaque café. */
html body .lbb-cafe-prochain {
  margin: 6px 0 8px;
  padding: 6px 10px;
  border-left: 4px solid var(--lbb-jaune);
  background: #f1f4ea;
  border-radius: 6px;
  font: 400 14px/1.35 Arial, Helvetica, sans-serif;
}
html body .lbb-cafe-prochain a {
  color: var(--lbb-vert) !important;
  font-weight: 700;
}
/* 1.0.11 : le liseré du « Prochain RDV » d'un café suit le type. */
html body .lbb-cafe-prochain[data-rdv-type='tournoi'] {
  border-left-color: #f2cf5b;
}
html body .lbb-cafe-prochain[data-rdv-type='intercafes'] {
  border-left-color: #1f6b45;
}
html body .lbb-cafe-prochain[data-rdv-type='partie'] {
  border-left-color: #c8b88f;
  background: #f6f0e1;
}

/* Pages légales : texte aéré, titres clairs, sommaire. */
html body.lbb-page-legale main {
  box-sizing: border-box;
  max-width: 780px;
  margin: 0 auto;
  padding: 8px max(16px, env(safe-area-inset-right, 0px)) 24px max(16px, env(safe-area-inset-left, 0px));
  color: var(--lbb-vert);
}
html body.lbb-page-legale main > h1 {
  margin: 16px 0 12px;
  font: 700 clamp(28px, 4.5vw, 40px) / 1.15 Arial, Helvetica, sans-serif;
}
html body.lbb-page-legale .public-markdown-v27 {
  max-width: 68ch;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  font: 400 17px/1.65 Arial, Helvetica, sans-serif;
}
html body.lbb-page-legale .public-markdown-v27 h2 {
  margin: 32px 0 8px;
  padding-top: 16px;
  border-top: 1px solid var(--lbb-trait);
  font: 700 22px/1.25 Arial, Helvetica, sans-serif;
  scroll-margin-top: 70px;
}
html body.lbb-page-legale .public-markdown-v27 h3 {
  margin: 20px 0 6px;
  font: 700 18px/1.3 Arial, Helvetica, sans-serif;
}
html body.lbb-page-legale .public-markdown-v27 :is(p, ul, ol) {
  margin: 0 0 12px;
}
html body.lbb-page-legale .public-markdown-v27 a {
  color: var(--lbb-vert);
  font-weight: 700;
}
html body .lbb-sommaire {
  margin: 0 0 20px;
  padding: 14px 18px;
  border: 1px solid var(--lbb-trait);
  border-left: 4px solid var(--lbb-jaune);
  border-radius: 10px;
  background: #fff;
  font: 400 16px/1.4 Arial, Helvetica, sans-serif;
}
html body .lbb-sommaire p {
  margin: 0 0 6px;
  font-weight: 700;
}
html body .lbb-sommaire ol {
  margin: 0;
  padding-left: 22px;
}
html body .lbb-sommaire li {
  margin: 2px 0;
}
html body .lbb-sommaire a {
  display: inline-block;
  min-height: 32px;
  padding: 4px 0;
  color: var(--lbb-vert);
}
@media (max-width: 640px) {
  html body.lbb-page-legale .public-markdown-v27 {
    font-size: 16px;
  }
}

/* Première Bande : onglets lisibles et boutons de « Créer ma carte » hiérarchisés. */
html body .collection-spaces {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  gap: 6px !important;
}
html body .collection-spaces a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px;
  padding: 6px 4px !important;
  text-align: center !important;
  font: 700 14px/1.2 Arial, Helvetica, sans-serif !important;
}
/* Trois façons d'ajouter sa photo : même style, bien lisibles. */
html body [data-camera='choose'],
html body [data-camera='open-front'],
html body [data-camera='open-back'] {
  min-height: 50px !important;
  border: 2px solid var(--lbb-vert) !important;
  border-radius: 12px !important;
  background: var(--lbb-creme) !important;
  color: var(--lbb-vert) !important;
  font: 700 16px/1.2 Arial, Helvetica, sans-serif !important;
}
/* Action finale : « Proposer à la collection » en principal, « Garder dans mes créations » en second. */
html body button[name='destination'] {
  min-height: 52px !important;
  border-radius: 12px !important;
  font: 700 16px/1.2 Arial, Helvetica, sans-serif !important;
}
html body button[name='destination'][value='pending'] {
  border: 2px solid var(--lbb-vert) !important;
  background: var(--lbb-vert) !important;
  color: var(--lbb-creme) !important;
}
html body button[name='destination'][value='personal'] {
  border: 2px solid var(--lbb-vert) !important;
  background: var(--lbb-creme) !important;
  color: var(--lbb-vert) !important;
}
html body button[name='destination']:disabled {
  opacity: 0.5;
}
html body :is([data-camera], button[name='destination']):focus-visible {
  outline: 3px solid var(--lbb-jaune) !important;
  outline-offset: 2px;
}

/* Pied de page unique (1.0.5) : logo, trois contacts en pastilles, liens d'information discrets. */
html body > footer.lbb-pied {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas: 'logo contacts' 'logo infos';
  align-items: center;
  gap: 10px 32px;
  margin: 48px 0 0;
  padding: 26px max(16px, calc((100vw - 1240px) / 2)) calc(26px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid var(--lbb-trait);
  background: var(--lbb-fond);
  color: var(--lbb-vert);
  font: 400 15px/1.4 Arial, Helvetica, sans-serif;
}
.lbb-pied-logo {
  grid-area: logo;
  display: block;
}
.lbb-pied-logo img {
  display: block;
  width: 150px;
  height: auto;
}
.lbb-pied-contacts {
  grid-area: contacts;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
html body .lbb-pied-contacts a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 6px 14px 6px 8px;
  border: 1px solid var(--lbb-trait);
  border-radius: 21px;
  background: var(--lbb-creme);
  color: var(--lbb-vert);
  font-weight: 700;
  text-decoration: none;
}
html body .lbb-pied-contacts a:hover {
  border-color: var(--lbb-vert);
}
.lbb-pied-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--lbb-vert);
  color: var(--lbb-creme);
  font: 700 15px/1 Arial, Helvetica, sans-serif;
}
.lbb-pied-infos {
  grid-area: infos;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 18px;
}
html body .lbb-pied-infos a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  color: #3f5a4c;
  font-size: 14px;
  text-decoration: underline;
  text-underline-offset: 3px;
}
html body .lbb-pied a:focus-visible {
  outline: 3px solid var(--lbb-jaune);
  outline-offset: 2px;
}

/* Téléphone et petite tablette. */
@media (max-width: 850px) {
  html body > header.lbb-entete {
    padding: 4px max(8px, env(safe-area-inset-right, 0px)) 4px max(8px, env(safe-area-inset-left, 0px));
    font-size: 13px;
  }
  html body > header.lbb-entete .lbb-menu {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: minmax(40px, auto);
    gap: 3px;
  }
  html body > header.lbb-entete .lbb-menu a {
    padding: 4px 2px;
    white-space: normal;
    line-height: 1.15;
  }
  /* Ligne du haut : découvrir. Ligne du bas : tous les jours. */
  html body > header.lbb-entete .lbb-menu [data-ligne='haut'] {
    grid-row: 1;
  }
  html body > header.lbb-entete .lbb-menu [data-ligne='bas'] {
    grid-row: 2;
  }
  /* Ordre voulu par Rudy : Accueil · Asso · Les cafés, puis Actus · RDV billard · Première Bande. */
  html body > header.lbb-entete .lbb-menu a[href='/'],
  html body > header.lbb-entete .lbb-menu a[href='/actus'] {
    grid-column: 1;
  }
  html body > header.lbb-entete .lbb-menu a[href='/asso'],
  html body > header.lbb-entete .lbb-menu a[href='/rendez-vous/'] {
    grid-column: 2;
  }
  html body > header.lbb-entete .lbb-menu a[href='/cafes'],
  html body > header.lbb-entete .lbb-menu a[href='/collection/'] {
    grid-column: 3;
  }
  html body > header.lbb-entete .lbb-tiret {
    display: none;
  }
  html body > header.lbb-entete .lbb-menu .lbb-espace {
    display: none;
  }
  html body > header.lbb-entete .lbb-menu [data-lbb-reglage] {
    display: flex;
    grid-column: 4;
    grid-row: 1 / span 2;
    padding: 0;
    border-color: var(--lbb-trait);
    font-size: 20px;
    line-height: 1;
  }
  html[data-menu='bas'] body > header.lbb-entete .lbb-menu [data-ligne='haut'] {
    display: none;
  }
  html[data-menu='bas'] body > header.lbb-entete .lbb-menu [data-ligne='bas'] {
    grid-row: 1;
  }
  html[data-menu='bas'] body > header.lbb-entete .lbb-menu [data-lbb-reglage] {
    grid-row: 1;
  }
  html[data-menu='aucun'] body > header.lbb-entete {
    display: none;
  }
  html[data-menu='aucun'] .lbb-reglage-liens {
    display: grid;
  }
  html[data-menu='aucun'] .lbb-menu-flottant {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    z-index: 50;
    right: max(14px, env(safe-area-inset-right, 0px));
    bottom: calc(14px + env(safe-area-inset-bottom, 0px));
    min-width: 56px;
    min-height: 48px;
    padding: 0 14px;
    border: 0;
    border-radius: 24px;
    background: var(--lbb-vert);
    color: var(--lbb-creme);
    font: 700 15px/1 Arial, Helvetica, sans-serif;
    box-shadow: 0 6px 18px rgb(9 47 37 / 0.3);
  }
  html[data-menu='aucun'] .lbb-reglage {
    top: auto;
    bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  }
  html body > .lbb-slogan {
    padding: 10px max(16px, env(safe-area-inset-right, 0px)) 2px max(16px, env(safe-area-inset-left, 0px));
  }
  html body > .lbb-slogan .lbb-espace {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 4px 10px;
    border: 1px solid var(--lbb-trait);
    border-radius: 8px;
    background: var(--lbb-creme);
    color: var(--lbb-vert);
    font: 700 13px/1.15 Arial, Helvetica, sans-serif;
    text-align: center;
    text-decoration: none;
  }
  html body > footer.lbb-pied {
    grid-template-columns: 1fr;
    grid-template-areas: 'logo' 'contacts' 'infos';
    justify-items: center;
    text-align: center;
    gap: 14px;
    padding-left: max(16px, env(safe-area-inset-left, 0px));
    padding-right: max(16px, env(safe-area-inset-right, 0px));
  }
  .lbb-pied-logo img {
    width: 130px;
  }
  .lbb-pied-contacts,
  .lbb-pied-infos {
    justify-content: center;
  }
  html[data-menu='aucun'] body > footer.lbb-pied {
    padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px));
  }
}

/* 1.0.16 (Rudy) : Première Bande. Le grand bandeau vert ne reste que sur « La collection » ;
   « Mes créations » et « Créer ma carte » ont toute la hauteur, onglets en haut. Une ancienne
   règle forçait l'affichage du bandeau même caché. */
html body main > section.hero[hidden] {
  display: none !important;
}
/* Même écart sous le trait des onglets que dans les deux autres onglets. */
html body main > section#collection {
  padding-top: 16px !important;
}

/* 1.0.16 (Rudy) : « Créer ma carte » tient sur un écran de téléphone. Titre court, boutons photo
   sur une ligne, carte à gauche et réglages à droite, nom et café côte à côte, deux boutons côte
   à côte ; conseils et brouillon repliés en bas. */
.creator-conseils-116 {
  margin-top: 4px;
  padding: 10px 12px;
  border: 1px solid var(--lbb-trait);
  border-radius: 12px;
  background: #fffdf7;
  font-size: 14px;
}
.creator-conseils-116 > summary {
  min-height: 32px;
  color: var(--lbb-vert);
  font-weight: 700;
  cursor: pointer;
}
.creator-conseils-116 > :not(summary) {
  margin: 8px 0 0;
  color: #3f5a4c;
  font-size: 14px;
}
@media (max-width: 860px) {
  html body #creation-carte .section-title .eyebrow {
    display: none !important;
  }
  html body #creation-carte .section-title h1 {
    margin: 0 !important;
    font-size: 26px !important;
  }
  html body #creation-carte > .section-title + p {
    margin: 2px 0 8px !important;
    font-size: 14px !important;
  }
  html body #creation-carte #creator-form {
    gap: 12px !important;
  }
  html body #creation-carte .creator-photo-panel,
  html body #creation-carte .creator-info-panel,
  html body #creation-carte .creator-save-panel {
    gap: 8px !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
  }
  html body #creation-carte .creator-photo-actions {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px !important;
  }
  html body #creation-carte #creator-camera-host .creator-photo-actions > button {
    grid-column: auto !important;
    grid-row: auto !important;
    width: auto !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 4px !important;
    font-size: 15px !important;
  }
  /* Conseils et brouillon toujours en bas, quel que soit l'ordre des anciens blocs. */
  html body #creation-carte #creator-form > .creator-draft-v171 {
    order: 98 !important;
  }
  html body #creation-carte #creator-form > .creator-conseils-116 {
    order: 99 !important;
  }
  /* La carte à gauche, ses réglages à droite. */
  html body #creation-carte .creator-preview-panel:not([hidden]) {
    display: grid !important;
    grid-template-columns: minmax(0, 54%) minmax(0, 1fr);
    grid-template-rows: auto auto 1fr;
    align-items: start;
    gap: 8px 10px !important;
  }
  html body #creation-carte .creator-preview-panel > .creator-models-v171 {
    grid-column: 1 / -1;
  }
  html body #creation-carte .creator-preview-panel > .creation-native-art {
    grid-column: 1;
    grid-row: 2 / span 2;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
  html body #creation-carte .creator-preview-panel > #creator-framing {
    grid-column: 2;
    grid-row: 2;
  }
  html body #creation-carte .creator-preview-panel > .creator-flip,
  html body #creation-carte .creator-preview-panel > #creator-flip {
    grid-column: 2;
    grid-row: 3;
    align-self: start;
    min-height: 44px;
    margin: 0 !important;
  }
  html body #creation-carte .creator-preview-panel > #creator-render-status:empty {
    display: none;
  }
  html body #creation-carte .creator-zoom {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    align-items: center;
    gap: 6px !important;
  }
  html body #creation-carte .creator-zoom > label {
    grid-column: 1 / -1;
    grid-row: 1;
    display: grid;
    gap: 2px;
    font-size: 13px !important;
  }
  html body #creation-carte .creator-zoom > label input {
    width: 100%;
  }
  html body #creation-carte .creator-zoom > [data-crop='out'] {
    grid-column: 1;
    grid-row: 2;
  }
  html body #creation-carte .creator-zoom > output {
    grid-column: 2;
    grid-row: 2;
    width: auto !important;
    min-width: 0 !important;
    overflow: visible !important;
    text-align: center;
    font-size: 13px !important;
    white-space: nowrap;
  }
  html body #creation-carte .creator-zoom > [data-crop='in'] {
    grid-column: 3;
    grid-row: 2;
  }
  html body #creation-carte .creator-zoom > [data-crop='reset'] {
    grid-column: 1 / -1;
    grid-row: 3;
    min-height: 44px;
  }
  html body #creation-carte .creator-zoom button {
    min-height: 44px;
    margin: 0 !important;
  }
  /* Nom et café côte à côte. */
  html body #creation-carte .creator-info-panel {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  html body #creation-carte .creator-info-panel > #creator-member-info {
    grid-column: 1 / -1;
    margin: 0 !important;
    font-size: 13px !important;
  }
  html body #creation-carte .creator-info-panel > label {
    display: block !important;
    margin: 0 !important;
    font-size: 14px !important;
  }
  html body #creation-carte .creator-info-panel > label span {
    display: inline !important;
    font-size: 13px !important;
    font-weight: 400;
  }
  html body #creation-carte .creator-info-panel > label input {
    display: block;
    width: 100%;
    margin-top: 4px !important;
  }
  /* Accord puis deux boutons côte à côte ; le compteur de créations reste discret. */
  html body #creation-carte #creator-quota {
    display: none !important;
  }
  html body #creation-carte .creator-save-panel .check {
    margin: 0 !important;
    font-size: 14px !important;
  }
  html body #creation-carte .creator-save-panel .personal-actions:not([hidden]) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px !important;
  }
  html body #creation-carte .creator-save-panel .personal-actions button {
    min-height: 48px !important;
    margin: 0 !important;
    padding: 4px 6px !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
  }
}

/* 1.0.16 (Rudy) : filtres de la collection plus calmes, comme le champ de recherche :
   texte normal sur fond crème, intitulés lisibles, deux menus par ligne pour lire tout le texte. */
html body main .filters > label {
  min-width: 0;
  color: #4d6457 !important;
  font: 600 13px/1.3 Arial, Helvetica, sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
html body main .filters :is(select, input) {
  border-color: #d0dac5 !important;
  background-color: #fffdf7 !important;
  color: var(--lbb-vert) !important;
  font-weight: 400 !important;
}
html body main .filters select {
  padding-right: 22px !important;
  text-overflow: ellipsis;
}
@media (max-width: 860px) {
  html body main .filters {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  /* Les anciennes règles visent chaque menu par son identifiant : on fait de même. */
  html body main .filters > label:is(:has(#player), :has(#cafe), :has(#rarity), :has(#sort)) {
    grid-column: auto !important;
    grid-row: auto !important;
  }
  html body main .filters > label:has(#search) {
    order: -1;
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }
}
/* 1.0.16 (Rudy) : dans la grille, juste « Pas imprimée », sur une seule ligne. */
html body #grid .not-printed-v108,
html body #grid .album-slot-v103 > span {
  white-space: nowrap !important;
}
/* 1.0.16 (Rudy) : carte pas encore imprimée, on ne peut pas l'avoir : bouton grisé. */
html body label.owned-impossible-v116 {
  opacity: 0.55;
  cursor: not-allowed !important;
  background: #ece9e1 !important;
  border-style: dashed !important;
}
html body label.owned-impossible-v116 input,
html body .possession-v68 :is(#quantity, #quantity-minus, #quantity-plus):disabled {
  cursor: not-allowed !important;
  opacity: 0.5;
}

/* ===== 1.0.16 (Rudy) : Mon espace, la page qui donne envie de se connecter ===== */
html body main#app:has(.me-page) {
  max-width: 920px;
  margin: 0 auto;
  padding: 12px max(16px, env(safe-area-inset-right, 0px)) 24px max(16px, env(safe-area-inset-left, 0px)) !important;
}
.me-page {
  display: grid;
  gap: 18px;
  color: var(--lbb-vert);
  font: 400 15px/1.45 Arial, Helvetica, sans-serif;
}
/* Ta carte en vedette. */
.me-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 210px) minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  padding: 20px;
  border-radius: 18px;
  background:
    radial-gradient(circle at 18% 30%, rgb(242 207 91 / 0.22), transparent 55%),
    linear-gradient(135deg, #0b3a2d, #092f25 60%, #06231b);
  color: #fffdf7;
  overflow: hidden;
}
.me-cartes {
  position: relative;
  height: 200px;
}
.me-cartes > a,
.me-cartes > .me-carte-vide {
  position: absolute;
  top: 8px;
  left: 50%;
  width: 118px;
  aspect-ratio: 420 / 587;
  border-radius: 9px;
  box-shadow: 0 10px 24px rgb(0 0 0 / 0.4);
  transition: transform 0.25s ease;
}
.me-cartes > .me-carte-vide {
  background: rgb(255 253 247 / 0.08);
  border: 1px dashed rgb(255 253 247 / 0.35);
  box-shadow: none;
}
.me-cartes > a img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 9px;
}
.me-cartes > :nth-child(1) {
  transform: translateX(-112%) rotate(-11deg) translateY(14px);
}
.me-cartes > :nth-child(2) {
  z-index: 2;
  transform: translateX(-50%);
}
.me-cartes > :nth-child(3) {
  transform: translateX(12%) rotate(11deg) translateY(14px);
}
.me-cartes[data-nombre='1'] > :nth-child(1) {
  transform: translateX(-50%) rotate(-3deg);
}
.me-cartes[data-nombre='2'] > :nth-child(1) {
  transform: translateX(-90%) rotate(-8deg) translateY(8px);
}
.me-cartes[data-nombre='2'] > :nth-child(2) {
  transform: translateX(-10%) rotate(6deg);
}
.me-cartes > a:hover,
.me-cartes > a:focus-visible {
  z-index: 3;
  outline: 3px solid #f2cf5b;
  outline-offset: 2px;
}
.me-identite {
  display: grid;
  gap: 6px;
  min-width: 0;
}
html body .me-page .me-sur {
  margin: 0;
  color: #f2cf5b;
  font: 800 12px/1.2 Arial, Helvetica, sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
html body .me-page .me-hero h1 {
  margin: 0;
  color: #fffdf7;
  font: 800 clamp(28px, 6vw, 38px) / 1.05 Arial, Helvetica, sans-serif;
}
html body .me-page .me-equipe {
  margin: 0;
  color: #e9f0e4;
  font: 700 16px/1.3 Arial, Helvetica, sans-serif;
}
.me-puces {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 4px 0 0;
}
.me-puces span {
  padding: 4px 10px;
  border: 1px solid rgb(242 207 91 / 0.6);
  border-radius: 20px;
  color: #f2cf5b;
  font: 700 13px/1.2 Arial, Helvetica, sans-serif;
}
html body .me-page :is(.me-compte, .me-invite) {
  margin: 0;
  color: #cfdccc;
  font-size: 13px;
}
html body .me-page .me-invite a {
  color: #f2cf5b;
}
/* Blocs. */
.me-bloc {
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid var(--lbb-trait);
  border-radius: 16px;
  background: #fffdf7;
}
.me-bloc-tete {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}
html body .me-page .me-bloc h2 {
  margin: 0;
  color: var(--lbb-vert);
  font: 800 20px/1.2 Arial, Helvetica, sans-serif;
}
html body .me-page .me-bloc-tete a {
  color: var(--lbb-vert);
  font: 700 14px/1.2 Arial, Helvetica, sans-serif;
  white-space: nowrap;
}
/* Ton prochain RDV, à la couleur de son type. */
.me-rdv-vedette {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
  border-radius: 14px;
  background: #1f6b45;
  color: #fff;
  text-decoration: none;
}
.me-rdv-vedette[data-rdv-type='tournoi'] {
  background: #f2cf5b;
  color: #092f25;
}
.me-rdv-vedette[data-rdv-type='partie'] {
  background: #eadfc4;
  color: #092f25;
  box-shadow: inset 0 0 0 1px #c8b88f;
}
html body .me-rdv-vedette :is(span, strong) {
  color: inherit !important;
}
.me-rdv-type {
  font: 800 12px/1.2 Arial, Helvetica, sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.85;
}
.me-rdv-vedette strong {
  font: 800 22px/1.15 Arial, Helvetica, sans-serif;
}
.me-rdv-vedette strong::first-letter {
  text-transform: uppercase;
}
.me-rdv-lieu {
  font: 700 16px/1.3 Arial, Helvetica, sans-serif;
}
.me-rdv-statut {
  justify-self: start;
  margin-top: 4px;
  padding: 3px 10px;
  border-radius: 14px;
  background: rgb(255 255 255 / 0.25);
  font: 700 13px/1.3 Arial, Helvetica, sans-serif;
}
.me-rdv-suite {
  display: grid;
  gap: 6px;
}
.me-rdv-ligne {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 6px 10px;
  border: 1px solid var(--lbb-trait);
  border-left: 5px solid #1f6b45;
  border-radius: 10px;
  color: var(--lbb-vert);
  text-decoration: none;
}
.me-rdv-ligne[data-rdv-type='tournoi'] {
  border-left-color: #f2cf5b;
}
.me-rdv-ligne[data-rdv-type='partie'] {
  border-left-color: #c8b88f;
}
.me-rdv-ligne time {
  font: 800 15px/1.1 Arial, Helvetica, sans-serif;
}
.me-rdv-ligne span:nth-child(2) {
  display: grid;
}
.me-rdv-ligne small {
  color: #4d6457;
  font-size: 13px;
}
/* Ton billard. */
.me-tuiles {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.me-tuile {
  display: grid;
  align-content: start;
  gap: 2px;
  padding: 10px 8px;
  border-radius: 12px;
  background: #eef2e6;
  text-align: center;
}
.me-tuile strong {
  color: var(--lbb-vert);
  font: 800 26px/1.05 Arial, Helvetica, sans-serif;
}
.me-tuile span {
  color: #3f5a4c;
  font: 700 13px/1.2 Arial, Helvetica, sans-serif;
}
.me-tuile small {
  color: #b3261e;
  font: 800 13px/1.2 Arial, Helvetica, sans-serif;
}
.me-hf {
  display: grid;
  gap: 8px;
}
.me-hf-tete {
  display: flex;
  justify-content: space-between;
  margin: 4px 0 0;
  font-size: 15px;
}
.me-jauge {
  display: block;
  height: 10px;
  overflow: hidden;
  border-radius: 6px;
  background: #e3e8dc;
}
.me-jauge > span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: 6px;
  background: linear-gradient(90deg, #f2cf5b, #1f6b45);
  transition: width 0.6s ease;
}
.me-jauge-fine {
  height: 6px;
  grid-column: 1 / -1;
}
html body .me-page .me-hf-sous {
  margin: 4px 0 0;
  color: #4d6457;
  font: 700 13px/1.2 Arial, Helvetica, sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.me-hf-liste {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.me-hf-liste li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px 10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #f6f0e1;
}
.me-hf-nom {
  display: grid;
}
.me-hf-nom small {
  color: #4d6457;
  font-size: 13px;
}
.me-hf-chiffre {
  font: 800 14px/1 Arial, Helvetica, sans-serif;
}
html body .me-page .me-astuce {
  margin: 0;
  color: #4d6457;
  font-size: 14px;
}
/* Tes cartes. */
.me-collection {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 8px;
  margin: 0;
  font-size: 16px;
}
.me-collection strong {
  font: 800 22px/1 Arial, Helvetica, sans-serif;
}
.me-collection small {
  color: #4d6457;
  font-size: 14px;
}
.me-actions-cartes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
html body .me-page a.me-bouton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 12px;
  background: var(--lbb-vert);
  color: #fffdf7 !important;
  font: 700 15px/1.2 Arial, Helvetica, sans-serif;
  text-decoration: none;
}
html body .me-page a.me-bouton-jaune {
  background: #f2cf5b;
  color: var(--lbb-vert) !important;
}
html body .me-page a.me-bouton-clair {
  border: 1px solid var(--lbb-vert);
  background: transparent;
  color: var(--lbb-vert) !important;
}
.me-vide {
  display: grid;
  gap: 8px;
  justify-items: start;
}
.me-vide p {
  margin: 0;
}
.me-pied {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 4px 4px 0;
}
html body .me-pied :is(a, button) {
  min-height: 44px;
  padding: 0 4px;
  border: 0;
  background: none;
  color: var(--lbb-vert);
  font: 700 15px/1.2 Arial, Helvetica, sans-serif;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
@media (max-width: 640px) {
  .me-hero {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 16px 16px 18px;
  }
  .me-cartes {
    height: 168px;
  }
  .me-cartes > a,
  .me-cartes > .me-carte-vide {
    width: 102px;
  }
  .me-tuiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (prefers-reduced-motion: reduce) {
  .me-cartes > a,
  .me-jauge > span {
    transition: none;
  }
}

/* 1.0.17 (Rudy) : haut de Mon espace mieux rangé — compte sous le prénom, équipe avec son logo,
   les trois bulles ensemble ; bas de page : les deux boutons côte à côte, sans vide. */
html body .me-page .me-compte {
  margin: -2px 0 0 !important;
  color: #cfdccc !important;
  font: 400 14px/1.3 Arial, Helvetica, sans-serif !important;
}
html body .me-page .me-equipe {
  display: flex;
  align-items: center;
  gap: 8px;
}
.me-logo-equipe {
  width: 32px;
  height: 32px;
  object-fit: contain;
  border-radius: 6px;
  background: rgb(255 253 247 / 0.1);
}
html body .me-page .me-puces {
  flex-wrap: nowrap;
  gap: 6px;
}
html body .me-page .me-puces span {
  padding: 3px 9px;
  font-size: 13px;
  white-space: nowrap;
}
html body .me-pied {
  justify-content: center;
  gap: 10px;
  padding: 0;
}
html body .me-pied :is(a, button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid var(--lbb-trait);
  border-radius: 12px;
  background: #fffdf7;
  text-decoration: none;
}
html body main#app:has(.me-page) {
  padding-bottom: 8px !important;
}
html body main#app:has(.me-page) + * ,
html body:has(.me-page) footer.lbb-pied {
  margin-top: 16px !important;
}
/* 1.0.17 (Rudy) : accueil, tout « Comment ça marche ? » visible dès l'arrivée sur téléphone. */
@media (max-width: 640px) {
  html body main section.lbb-hero .lbb-hero-faits {
    display: none !important;
  }
  html body .lbb-hero h1 {
    margin-bottom: 6px !important;
    font-size: 31px !important;
  }
  html body .lbb-hero .lbb-hero-chapo {
    margin: 0 0 10px !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
  }
  html body .lbb-accueil-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px !important;
  }
  html body .lbb-accueil-actions .lbb-bouton {
    min-height: 46px;
    padding: 0 8px !important;
    font-size: 15px !important;
  }
  html body main section.lbb-etapes {
    margin: 18px 0 4px !important;
  }
  html body .lbb-etapes h2 {
    margin-bottom: 8px !important;
    font-size: 22px !important;
  }
  .lbb-etapes ol {
    gap: 10px !important;
  }
  .lbb-etapes li {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    row-gap: 2px !important;
    padding-top: 8px !important;
  }
  html body .lbb-etapes li > a {
    grid-column: 3 !important;
    grid-row: 1 !important;
    align-self: baseline;
    min-height: 0 !important;
    font-size: 14px !important;
    white-space: nowrap;
  }
  html body .lbb-etapes li > p {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
  }
  html body .lbb-etapes h3,
  .lbb-etape-num {
    font-size: 17px !important;
  }
  /* Le lien d'une étape occupe toute sa ligne au toucher : la zone fait 44 px de haut. */
  html body .lbb-etapes li {
    position: relative;
  }
  html body .lbb-etapes li > a::after {
    content: '';
    position: absolute;
    inset: 0;
  }
}

/* 1.0.17 (Rudy) : Asso, l'intro et tout « Jouer avec nous » visibles dès l'arrivée sur téléphone. */
@media (max-width: 640px) {
  html body main .lbb-asso-intro {
    margin-bottom: 12px !important;
    padding: 14px 16px !important;
  }
  html body main .lbb-asso-intro h1 {
    margin: 0 0 6px !important;
    font-size: 26px !important;
    line-height: 1.1 !important;
  }
  html body main .lbb-asso-intro .lbb-asso-chapo {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
  }
  html body main .lbb-asso-bloc {
    margin-top: 0 !important;
    padding: 14px 16px 6px !important;
  }
  html body main .lbb-asso-bloc h2 {
    margin: 0 0 8px !important;
    font-size: 20px !important;
  }
  html body main .lbb-asso-colonnes {
    gap: 8px !important;
    margin-bottom: 8px !important;
  }
  html body main .lbb-asso-colonnes > div {
    padding: 2px 0 2px 12px !important;
  }
  html body main .lbb-asso-colonnes h3 {
    margin: 0 0 2px !important;
    font-size: 16px !important;
  }
  html body main .lbb-asso-colonnes p,
  html body main .lbb-asso-prix {
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
  }
  html body main .lbb-asso-prix {
    margin-bottom: 8px !important;
    padding: 8px 10px !important;
  }
}
/* 1.0.17 (Rudy) : Les cafés, les cinq cafés visibles dès l'arrivée sur téléphone, en lignes
   compactes (carte du café en petit, nom, adresse, prochain RDV, itinéraire) ; toute la ligne
   ouvre la fiche du café. */
@media (max-width: 640px) {
  html body.cafes-site01-p04 main .welcome-v22 {
    margin: 0 !important;
    padding: 10px 0 8px !important;
  }
  html body.cafes-site01-p04 main .welcome-v22 h1 {
    margin: 0 0 4px !important;
    font-size: 26px !important;
    line-height: 1.1 !important;
  }
  html body.cafes-site01-p04 main .welcome-v22 h1 br {
    display: none;
  }
  html body.cafes-site01-p04 main .welcome-v22 p {
    margin: 0 !important;
    font-size: 14px !important;
  }
  html body.cafes-site01-p04 .home-cafe-cards {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }
  html body.cafes-site01-p04 .home-cafe-tile {
    position: relative;
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    align-items: start;
    column-gap: 12px !important;
    row-gap: 1px !important;
    min-height: 0 !important;
    padding: 10px 12px !important;
  }
  html body.cafes-site01-p04 .home-cafe-tile > .home-cafe-art {
    grid-column: 1;
    grid-row: 1 / span 5;
    width: 58px !important;
    margin: 0 !important;
  }
  html body.cafes-site01-p04 .home-cafe-tile figure {
    margin: 0 !important;
  }
  html body.cafes-site01-p04 .home-cafe-tile figcaption {
    display: none !important;
  }
  html body.cafes-site01-p04 .home-cafe-tile .home-cafe-art img {
    display: block;
    width: 100% !important;
    height: auto !important;
    border-radius: 6px;
  }
  html body.cafes-site01-p04 .home-cafe-tile > :not(.home-cafe-art) {
    grid-column: 2;
  }
  html body.cafes-site01-p04 .home-cafe-tile > strong {
    margin: 0 !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
  }
  html body.cafes-site01-p04 .home-cafe-tile > :is(.home-cafe-address, span) {
    margin: 0 !important;
    color: #4d6457 !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
  }
  html body.cafes-site01-p04 .home-cafe-tile .lbb-cafe-prochain {
    position: relative;
    z-index: 1;
    margin: 4px 0 0 !important;
    padding: 3px 8px !important;
    font-size: 13px !important;
  }
  html body.cafes-site01-p04 .home-cafe-tile .home-cafe-links {
    display: flex !important;
    gap: 14px !important;
    margin: 2px 0 0 !important;
  }
  html body.cafes-site01-p04 .home-cafe-tile .home-cafe-links a {
    min-height: 32px !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    color: var(--lbb-vert) !important;
    font: 700 14px/32px Arial, Helvetica, sans-serif !important;
  }
  /* Toute la ligne ouvre la fiche ; l'itinéraire et le prochain RDV restent cliquables à part. */
  html body.cafes-site01-p04 .home-cafe-tile .home-cafe-links a:first-child::after {
    content: '';
    position: absolute;
    inset: 0;
  }
  html body.cafes-site01-p04 .home-cafe-tile .home-cafe-links a:last-child {
    position: relative;
    z-index: 1;
  }
}

/* 1.0.17 (Rudy) : « Mes créations » sur un écran de téléphone. En-tête sur une ligne ; chaque carte
   à gauche avec ses boutons à droite ; la proposition à la collection en compact dessous. */
@media (max-width: 640px) {
  html body #mes-creations .creations-gallery-heading {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px !important;
    margin-bottom: 10px !important;
  }
  html body #mes-creations .creations-gallery-heading .eyebrow,
  html body #mes-creations .creations-gallery-heading p {
    display: none !important;
  }
  html body #mes-creations .creations-gallery-heading h1 {
    margin: 0 !important;
    font-size: 24px !important;
  }
  html body #mes-creations .creations-gallery-heading a.button {
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    font-size: 15px !important;
  }
  html body #mes-creations .creation-list {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }
  html body #mes-creations .creation-item {
    display: grid !important;
    grid-template-columns: minmax(0, 46%) minmax(0, 1fr);
    align-items: start;
    gap: 6px 10px !important;
    width: auto !important;
    max-width: none !important;
    padding: 10px !important;
  }
  html body #mes-creations .creation-item > * {
    grid-column: 2;
    order: 0 !important;
    margin: 0 !important;
  }
  html body #mes-creations .creation-item > .creation-native-art {
    grid-column: 1;
    grid-row: 1 / span 8;
    width: 100% !important;
    max-width: none !important;
  }
  html body #mes-creations .creation-item > .creation-status {
    justify-self: start;
  }
  html body #mes-creations .creation-item > h4 {
    font-size: 17px !important;
  }
  html body #mes-creations .creation-item > p {
    font-size: 13px !important;
  }
  html body #mes-creations .creation-item > button {
    width: 100%;
    min-height: 40px !important;
    padding: 4px 8px !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
  }
  html body #mes-creations .creation-item > :is(.creation-flip, .creation-retouch) {
    border: 1px solid #d0dac5 !important;
    border-radius: 10px !important;
    background: #fffdf7 !important;
    color: var(--lbb-vert) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
  }
  html body #mes-creations .creation-item > .creation-proposal {
    grid-column: 1 / -1;
    display: grid;
    gap: 6px;
    padding: 10px !important;
  }
  html body #mes-creations .creation-proposal > strong {
    font-size: 15px !important;
  }
  html body #mes-creations .creation-proposal > p,
  html body #mes-creations .creation-proposal .check {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
  }
  html body #mes-creations .creation-proposal button {
    min-height: 44px !important;
    margin: 0 !important;
  }
}

/* 1.0.14 (téléphone) : pas de bouton flottant « ↑ » (on remonte d'un appui en haut de l'écran) ;
   la collection montre 24 cartes puis « Voir plus de cartes ». */
.lbb-voir-plus-114 {
  display: none;
}
@media (max-width: 860px) {
  html body :is(.home-back-top-v113, .back-top-v14) {
    display: none !important;
  }
  html body #grid > .lbb-cache-114 {
    display: none !important;
  }
  html body .lbb-voir-plus-114 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    margin: 14px 0 6px;
    border: 0;
    border-radius: 12px;
    background: var(--lbb-vert);
    color: var(--lbb-creme);
    font: 700 16px/1.2 Arial, Helvetica, sans-serif;
    cursor: pointer;
  }
  html body .lbb-voir-plus-114[hidden] {
    display: none;
  }
}
/* 1.0.13 : sur téléphone, un champ à remplir écrit en moins de 16 px fait zoomer l'iPhone
   dès qu'on le touche. Tous les champs du site passent à 16 px. */
@media (max-width: 850px) {
  html body :is(input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='file']), select, textarea) {
    font-size: 16px !important;
  }
}

/* ===== 1.0.12 (Rudy) : une seule barre en haut, menu repliable sur téléphone ===== */
/* Ordinateur : logo · six rubriques · Mon espace, sur une ligne. */
html body > header.lbb-entete.lbb-tete-112 {
  display: flex !important;
  align-items: center;
  gap: 12px;
  padding-top: 8px;
  padding-bottom: 8px;
}
html body > header.lbb-entete.lbb-tete-112 .lbb-logo-112 {
  flex: none;
  display: flex;
  align-items: center;
  border-radius: 8px;
}
html body > header.lbb-entete.lbb-tete-112 .lbb-logo-112 img {
  display: block;
  width: auto;
  height: 48px;
}
html body > header.lbb-entete.lbb-tete-112 .lbb-menu-112 {
  display: flex !important;
  flex: 1;
  width: auto !important;
  min-width: 0;
}
html body > header.lbb-entete.lbb-tete-112 > .lbb-espace-112 {
  flex: none;
  display: flex;
  align-items: center;
  min-height: 40px;
  padding: 6px 16px;
  /* 1.0.13 (Rudy) : « Mon espace » mis en valeur, jaune Billardeux plein. */
  border: 1px solid #d9b13a;
  border-radius: 22px;
  background: #f2cf5b;
  color: var(--lbb-vert);
  font: 700 15px/1.2 Arial, Helvetica, sans-serif;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 2px 6px rgb(9 47 37 / 0.15);
}
html body > header.lbb-entete.lbb-tete-112 > .lbb-espace-112:hover {
  background: #ffd86b;
}
html body > header.lbb-entete.lbb-tete-112 > .lbb-espace-112[aria-current='page'] {
  background: var(--lbb-vert);
  color: var(--lbb-creme);
}
html body > header.lbb-entete.lbb-tete-112 .lbb-menu-bouton-112 {
  display: none;
}
html body > header.lbb-entete.lbb-tete-112 :is(.lbb-logo-112, .lbb-espace-112, .lbb-menu-bouton-112):focus-visible {
  outline: 3px solid var(--lbb-jaune);
  outline-offset: 2px;
}
/* L'ancienne ligne du logo n'existe plus. */
html body > .lbb-slogan.lbb-slogan-logo {
  display: none !important;
}

/* Téléphone (1.0.13, Rudy) : Mon espace à gauche · logo au centre · Menu à droite ;
   le menu ouvert reprend les deux lignes de trois d'avant. */
@media (max-width: 850px) {
  html body > header.lbb-entete.lbb-tete-112 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 4px;
    padding: 6px max(12px, env(safe-area-inset-right, 0px)) 6px max(12px, env(safe-area-inset-left, 0px));
  }
  html body > header.lbb-entete.lbb-tete-112 > .lbb-espace-112 {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    padding: 6px 10px;
    font-size: 14px;
  }
  html body > header.lbb-entete.lbb-tete-112 .lbb-logo-112 {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
  }
  /* 1.0.15 (Rudy) : logo plus grand sans grandir la barre. L'image a ~10 % de vide transparent
     en haut et en bas : on l'affiche à 58 px et on rogne ce vide (marges négatives). */
  html body > header.lbb-entete.lbb-tete-112 .lbb-logo-112 img {
    height: 58px;
    margin: -5px 0;
  }
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-bouton-112 {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
  }
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-bouton-112 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 12px;
    border: 0;
    border-radius: 10px;
    background: var(--lbb-vert);
    color: var(--lbb-creme);
    font: 700 15px/1 Arial, Helvetica, sans-serif;
    cursor: pointer;
  }
  /* Trois traits dessinés en CSS, qui deviennent une croix à l'ouverture. */
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-icone-112,
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-icone-112::before,
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-icone-112::after {
    display: block;
    width: 18px;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
    transition: transform 0.2s ease, background 0.2s ease;
  }
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-icone-112 {
    position: relative;
  }
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-icone-112::before,
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-icone-112::after {
    content: '';
    position: absolute;
    left: 0;
  }
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-icone-112::before {
    top: -6px;
  }
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-icone-112::after {
    top: 6px;
  }
  html body > header.lbb-entete.lbb-menu-ouvert-112 .lbb-menu-icone-112 {
    background: transparent;
  }
  html body > header.lbb-entete.lbb-menu-ouvert-112 .lbb-menu-icone-112::before {
    transform: translateY(6px) rotate(45deg);
  }
  html body > header.lbb-entete.lbb-menu-ouvert-112 .lbb-menu-icone-112::after {
    transform: translateY(-6px) rotate(-45deg);
  }
  /* Menu replié par défaut ; ouvert, deux lignes de trois comme avant :
     Accueil · Asso · Les cafés, puis Actus · RDV billard · Première Bande. */
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-112 {
    display: none !important;
    grid-column: 1 / -1;
    grid-row: 2;
  }
  html body > header.lbb-entete.lbb-menu-ouvert-112 .lbb-menu-112 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: minmax(44px, auto);
    gap: 4px;
    padding: 6px 0 2px !important;
    border-top: 1px solid var(--lbb-trait);
  }
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-112 a[href] {
    justify-content: center;
    min-height: 44px;
    padding: 4px 2px;
    font-size: 15px;
    text-align: center;
    white-space: normal;
    line-height: 1.15;
  }
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-112 [data-ligne='haut'] {
    grid-row: 1 !important;
  }
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-112 [data-ligne='bas'] {
    grid-row: 2 !important;
  }
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-112 :is(a[href='/'], a[href='/actus']) {
    grid-column: 1 !important;
  }
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-112 :is(a[href='/asso'], a[href='/rendez-vous/']) {
    grid-column: 2 !important;
  }
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-112 :is(a[href='/cafes'], a[href='/collection/']) {
    grid-column: 3 !important;
  }
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-112 a[aria-current='page'] {
    color: var(--lbb-creme);
    background: var(--lbb-vert);
  }
}
@media (prefers-reduced-motion: reduce) {
  html body > header.lbb-entete.lbb-tete-112 :is(.lbb-menu-icone-112, .lbb-menu-icone-112::before, .lbb-menu-icone-112::after) {
    transition: none;
  }
}

/* 1.0.17 : accord photo demandé une fois, au moment de proposer */
#creator-consent{display:none}
#creation-carte label.check:has(#creator-consent),#creation-carte .creation-accord{margin:6px 0;padding:10px 12px;border-left:3px solid #d4a72c;background:rgba(212,167,44,.12);border-radius:8px;font-size:14px;line-height:1.4}
#creation-carte .creator-aide-masquee{display:none!important}

/* 1.0.17b : Conseils photo sans cadre, textes de même taille, sans ligne en double */
#creation-carte .creator-conseils-116{border:0!important;background:none!important;padding:0!important;box-shadow:none!important}
#creation-carte .creator-conseils-116 > summary{font-weight:700;cursor:pointer;padding:6px 0}
#creation-carte .creator-conseils-116 > p{font-size:14px!important;line-height:1.45;color:inherit;margin:6px 0 0}
#creation-carte .creator-conseils-116 #creator-crop-help{display:none!important}

/* 1.0.18 (Rudy) : bandeau Première Bande comme une carte. « PREMIÈRE BANDE » à la verticale à gauche, les cartes d'abord, la saison et le titre dessous. */
@media (max-width: 640px) {
  html body main > section.hero:not([hidden]) { display: grid; grid-template-columns: 22px minmax(0, 1fr); grid-template-areas: "bande cartes" "bande saison" "bande titre" "bande chapo"; column-gap: 12px; row-gap: 4px; align-items: start; }
  html body main > section.hero > div:first-child, html body main > section.hero .lbb-collection-sur { display: contents; }
  html body main > section.hero .lbb-collection-sur > span:first-child { grid-area: bande; align-self: stretch; writing-mode: vertical-rl; transform: rotate(180deg); text-align: center; letter-spacing: .18em; font-size: 12px; }
  html body main > section.hero .lbb-collection-sur > span:last-child { grid-area: saison; margin-top: 10px; font-size: 12px; letter-spacing: .12em; font-weight: 700; }
  html body main > section.hero h1 { grid-area: titre; margin: 0; }
  html body main > section.hero .lbb-collection-chapo { grid-area: chapo; margin: 2px 0 0; }
  html body main > section.hero #featured { grid-area: cartes; margin: 0; }
}

/* 1.0.19 : licence en majuscules */
#creation-carte #creator-licence{text-transform:uppercase}

/* 1.0.20 (Rudy) : actus, le titre en haut et la date juste dessous (liste et actu ouverte). */
.news-text { display: flex; flex-direction: column; }
.news-text > h2, .news-text > h3 { order: 0; }
.news-text > time { order: 1; margin: 2px 0 8px; }
.news-text > :not(h2):not(h3):not(time) { order: 2; }
#news-body-v23 { display: flex; flex-direction: column; }
#news-body-v23 > .eyebrow { order: 0; }
#news-body-v23 > #news-title-v23 { order: 1; margin-bottom: 4px; }
#news-body-v23 > time { order: 2; margin: 0 0 12px; }
#news-body-v23 > .news-share-v36 { order: 3; }
#news-body-v23 > :not(.eyebrow):not(#news-title-v23):not(time):not(.news-share-v36) { order: 4; }

/* 1.0.20 (Rudy) : accueil, qui on est en deux lignes, puis RDV et cartes tout de suite. */
html body .lbb-hero .lbb-hero-faits-120 { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 0; font: 600 14px/1.3 Arial, Helvetica, sans-serif; }
html body .lbb-hero .lbb-hero-faits-120 > span { padding: 5px 10px; border-radius: 999px; background: #eef3e8; color: #23443a; }
html body .lbb-hero .lbb-hero-faits-120 > a { padding: 5px 2px; color: var(--lbb-vert); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 640px) {
  html body main section.lbb-hero.lbb-hero-120 { padding: 4px 0 0 !important; margin: 4px 0 0 !important; }
  html body .lbb-hero-120 h1 { font-size: 28px !important; margin-bottom: 6px !important; }
  html body .lbb-hero-120 .lbb-hero-chapo { font-size: 15.5px !important; line-height: 1.4 !important; margin-bottom: 8px !important; }
}

/* 1.0.20b (Rudy) : un haut d'accueil pro qui claque. Panneau vert billard, filet jaune et rouge du logo. */
html body main section.lbb-hero.lbb-hero-120 {
  position: relative; display: block !important; max-width: none; overflow: hidden;
  margin: 10px 0 0 !important; padding: 26px 24px 24px !important; border-radius: 20px;
  background: radial-gradient(120% 90% at 85% 0%, #1d6b4c 0%, #0f4733 45%, #0a3426 100%) !important;
  box-shadow: 0 14px 34px rgba(10, 52, 38, .28);
}
html body main section.lbb-hero.lbb-hero-120::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px;
  background: linear-gradient(90deg, #f2c531 0 34%, #d6402f 34% 52%, #2f8a5d 52% 100%);
}
html body .lbb-hero-120 .lbb-hero-texte { max-width: 640px; }
html body .lbb-hero-120 .lbb-hero-sur-120 { margin: 0 0 10px; color: #f2c531; font: 800 12.5px/1.2 Arial, Helvetica, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
html body .lbb-hero-120 h1 { margin: 0 0 12px !important; color: #fffaf0 !important; font: 900 clamp(34px, 5vw, 56px)/1.02 Arial, Helvetica, sans-serif !important; letter-spacing: -0.025em; }
html body .lbb-hero-120 .lbb-hero-chapo { max-width: 46ch; margin: 0 0 16px !important; color: #e9efe2 !important; font: 400 17px/1.45 Arial, Helvetica, sans-serif !important; }
html body .lbb-hero-120 .lbb-hero-faits-120 { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; padding: 0; list-style: none; }
html body .lbb-hero-120 .lbb-hero-faits-120 li { padding: 6px 12px; border: 1px solid rgba(255, 250, 240, .35); border-radius: 999px; color: #fffaf0; font: 700 13.5px/1.2 Arial, Helvetica, sans-serif; background: rgba(255, 255, 255, .06); }
html body .lbb-hero-120 .lbb-hero-actions-120 { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; }
html body .lbb-hero-120 .lbb-hero-cta-120 { display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px; border-radius: 12px; background: #f2c531; color: #0a3426 !important; font: 800 16px/1 Arial, Helvetica, sans-serif; text-decoration: none; box-shadow: 0 4px 0 #b8901a; }
html body .lbb-hero-120 .lbb-hero-cta-120:hover { background: #ffd545; }
html body .lbb-hero-120 .lbb-hero-cta-120:focus-visible, html body .lbb-hero-120 .lbb-hero-lien-120:focus-visible { outline: 3px solid #fffaf0; outline-offset: 3px; }
html body .lbb-hero-120 .lbb-hero-lien-120 { color: #fffaf0 !important; font: 700 15.5px/1.2 Arial, Helvetica, sans-serif; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 640px) {
  html body main section.lbb-hero.lbb-hero-120 { margin: 8px 0 0 !important; padding: 20px 18px 18px !important; border-radius: 16px; }
  html body .lbb-hero-120 .lbb-hero-sur-120 { font-size: 11px; margin-bottom: 8px; }
  html body .lbb-hero-120 h1 { font-size: 30px !important; margin-bottom: 8px !important; }
  html body .lbb-hero-120 .lbb-hero-chapo { font-size: 15px !important; line-height: 1.4 !important; margin-bottom: 12px !important; }
  html body .lbb-hero-120 .lbb-hero-faits-120 { gap: 6px; margin-bottom: 14px; }
  html body .lbb-hero-120 .lbb-hero-faits-120 li { padding: 5px 10px; font-size: 12.5px; }
  html body .lbb-hero-120 .lbb-hero-cta-120 { min-height: 44px; padding: 0 18px; font-size: 15px; }
  /* RDV plus serrés : la date est déjà dans la pastille. */
  html body .home-agenda-v98 .home-event-day-v98 { display: none; }
  html body .home-agenda-v98 .home-event-v98 { padding-top: 8px !important; padding-bottom: 8px !important; }
  /* Première Bande : les cartes d'abord, « Crée ta carte » ensuite. */
  html body .home-collection-v98 { display: flex; flex-direction: column; }
  html body .home-collection-v98 > .home-section-head-v98 { order: 0; }
  html body .home-collection-v98 > p:not([class]) { order: 1; }
  html body .home-collection-v98 > .lbb-pb-dernieres-107 { order: 2; }
  html body .home-collection-v98 > .home-gallery-tools-v101 { order: 3; }
  html body .home-collection-v98 > .home-sr-only-v123 { order: 4; }
  html body .home-collection-v98 > #home-cards-v98 { order: 5; }
  html body .home-collection-v98 > .lbb-pb-creer-107 { order: 6; margin-top: 16px; }
}

/* 1.0.20c : panneau plus court, les cartes entrent dans le premier écran. */
@media (max-width: 640px) {
  html body main section.lbb-hero.lbb-hero-120 { padding: 18px 16px 16px !important; }
  html body .lbb-hero-120 .lbb-hero-sur-120 { letter-spacing: .08em; }
  html body .lbb-hero-120 h1 { font-size: 29px !important; }
  html body .lbb-hero-120 .lbb-hero-faits-120 { flex-wrap: nowrap; margin-bottom: 12px; }
  html body .lbb-hero-120 .lbb-hero-faits-120 li { white-space: nowrap; padding: 4px 9px; font-size: 12px; }
  html body .lbb-hero-120 .lbb-hero-actions-120 { flex-wrap: nowrap; gap: 14px; }
  html body .lbb-hero-120 .lbb-hero-cta-120 { min-height: 44px; padding: 0 14px; font-size: 14.5px; white-space: nowrap; }
  html body .lbb-hero-120 .lbb-hero-lien-120 { font-size: 14.5px; white-space: nowrap; }
  html body main section.home-agenda-v98 { margin-top: 12px !important; padding-top: 12px !important; padding-bottom: 10px !important; }
  html body .home-agenda-v98 .home-section-head-v98 { margin-bottom: 8px !important; }
  html body .home-agenda-v98 #home-events-v98 { gap: 6px !important; }
  html body .home-agenda-v98 .home-event-v98 { min-height: 0 !important; }
  html body .home-agenda-v98 .home-event-v98 h3 { font-size: 16px !important; }
  html body .home-agenda-v98 .home-date-v98 { width: 44px !important; min-width: 44px !important; padding: 4px 0 !important; }
  html body .home-agenda-v98 .home-date-v98 strong { font-size: 20px !important; }
}
@media (max-width: 640px) {
  html body main section.home-collection-v98 { margin-top: 12px !important; padding-top: 12px !important; }
  html body .home-collection-v98 > p:not([class]), html body .home-collection-v98 > .lbb-pb-dernieres-107 { display: none; }
  html body .home-collection-v98 > .home-section-head-v98 { margin-bottom: 8px !important; }
}

/* 1.0.20d : sur grand écran, trois vraies cartes à droite du panneau ; masquées sur téléphone. */
html body main section.lbb-hero.lbb-hero-120 .lbb-hero-cartes-120 { display: none; }
@media (min-width: 900px) {
  html body main section.lbb-hero.lbb-hero-120 { display: grid !important; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: center; gap: 24px; padding: 40px 44px 40px !important; }
  html body main section.lbb-hero.lbb-hero-120 .lbb-hero-cartes-120 { display: block; height: 300px; margin: 0; }
  html body main section.lbb-hero.lbb-hero-120 .lbb-hero-cartes-120 img { width: 170px; box-shadow: 0 16px 30px rgba(0, 0, 0, .4); }
}

/* 1.0.20e : page Asso, même panneau que l'accueil. */
html body main .lbb-asso-intro.lbb-asso-intro-120 { position: relative; overflow: hidden; margin: 10px 0 18px !important; padding: 24px 22px 22px !important; border: 0 !important; border-radius: 18px; background: radial-gradient(120% 90% at 85% 0%, #1d6b4c 0%, #0f4733 45%, #0a3426 100%) !important; box-shadow: 0 14px 34px rgba(10, 52, 38, .28); }
html body main .lbb-asso-intro.lbb-asso-intro-120::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: linear-gradient(90deg, #f2c531 0 34%, #d6402f 34% 52%, #2f8a5d 52% 100%); }
html body main .lbb-asso-intro-120 h1 { margin: 0 0 10px !important; color: #fffaf0 !important; font: 900 clamp(28px, 4.4vw, 46px)/1.05 Arial, Helvetica, sans-serif !important; }
html body main .lbb-asso-intro-120 .lbb-hero-chapo { max-width: 52ch; }
@media (max-width: 640px) { html body main .lbb-asso-intro.lbb-asso-intro-120 { padding: 18px 16px 16px !important; } html body main .lbb-asso-intro-120 h1 { font-size: 27px !important; } }
@media (max-width: 640px) { html body main .lbb-asso-intro-120 .lbb-hero-faits-120 { flex-wrap: wrap !important; } }

/* 1.0.20f (Rudy) : Facebook, l'outil principal pour nous suivre, dans le premier écran. */
html body .lbb-hero-120 .lbb-hero-fb-120 { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 16px 0 10px; border: 2px solid rgba(255, 250, 240, .55); border-radius: 12px; color: #fffaf0 !important; font: 800 15px/1 Arial, Helvetica, sans-serif; text-decoration: none; white-space: nowrap; }
html body .lbb-hero-120 .lbb-hero-fb-120 span { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #1877f2; color: #fff; font: 900 17px/1 Arial, Helvetica, sans-serif; }
html body .lbb-hero-120 .lbb-hero-fb-120:hover { background: rgba(255, 255, 255, .08); }
html body .lbb-hero-120 .lbb-hero-fb-120:focus-visible { outline: 3px solid #fffaf0; outline-offset: 3px; }
html body .lbb-hero-120 .lbb-hero-faits-120 li a { color: inherit !important; text-decoration: none; }
@media (max-width: 640px) {
  html body .lbb-hero-120 .lbb-hero-actions-120 { gap: 8px; }
  html body .lbb-hero-120 .lbb-hero-cta-120, html body .lbb-hero-120 .lbb-hero-fb-120 { flex: 1 1 0; justify-content: center; min-height: 44px; padding: 0 8px; font-size: 14px; }
  html body .lbb-hero-120 .lbb-hero-fb-120 span { width: 22px; height: 22px; font-size: 15px; }
}
html body .lbb-hero-120 .lbb-hero-fb-120 b { font: inherit; }
@media (max-width: 640px) { html body .lbb-hero-120 .lbb-large-120 { display: none; } html body .lbb-hero-120 .lbb-hero-cta-120, html body .lbb-hero-120 .lbb-hero-fb-120 { min-width: 0; } }

/* 1.0.21 (Rudy) : un accueil qui claque. Cartes dans le panneau aussi sur téléphone, et nos 9 équipes. */
html body main section.lbb-equipes-121 { margin: 14px 0 0; padding: 16px 0 6px; }
html body .lbb-equipes-121 .home-section-head-v98 { margin-bottom: 10px; }
html body .lbb-equipes-liste-121 { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
html body .lbb-equipes-liste-121 li { display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 6px; padding: 12px 8px 10px; border: 1px solid #dfe5d6; border-radius: 14px; background: #fffdf7; }
html body .lbb-equipes-liste-121 img { width: 100%; max-width: 130px; height: 86px; object-fit: contain; }
html body .lbb-equipes-liste-121 span { color: #4a6157; font: 700 11.5px/1.2 Arial, Helvetica, sans-serif; text-align: center; letter-spacing: .02em; }
@media (max-width: 1100px) { html body .lbb-equipes-liste-121 { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  html body main section.lbb-equipes-121 { margin-top: 12px; padding-top: 4px; }
  html body .lbb-equipes-liste-121 { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; margin: 0 -16px; padding-left: 16px; padding-right: 16px; scrollbar-width: none; }
  html body .lbb-equipes-liste-121::-webkit-scrollbar { display: none; }
  html body .lbb-equipes-liste-121 li { flex: 0 0 118px; scroll-snap-align: start; padding: 10px 6px 8px; }
  html body .lbb-equipes-liste-121 img { height: 70px; }
  /* Les cartes dans le panneau, au-dessus du titre. */
  html body main section.lbb-hero.lbb-hero-120 .lbb-hero-cartes-120 { display: block; order: -1; height: 128px; min-height: 0; margin: -4px 0 10px; }
  html body main section.lbb-hero.lbb-hero-120 { display: flex !important; flex-direction: column; }
  html body main section.lbb-hero.lbb-hero-120 .lbb-hero-cartes-120 img { top: 0; width: 82px; border-radius: 7px; box-shadow: 0 10px 20px rgba(0, 0, 0, .45); }
  html body main section.lbb-hero.lbb-hero-120 .lbb-hero-cartes-120 img:nth-of-type(1) { transform: translateX(-112%) rotate(-9deg) translateY(10px); }
  html body main section.lbb-hero.lbb-hero-120 .lbb-hero-cartes-120 img:nth-of-type(3) { transform: translateX(12%) rotate(9deg) translateY(10px); }
  html body .lbb-hero-120 .lbb-hero-faits-120 { display: none; }
}
@media (max-width: 640px) { html body .home-collection-v98 .lbb-pb-creer-107 > .lbb-hero-cartes { display: none; } }

/* 1.0.22 (Rudy) : un seul principe sur l'accueil, des bandeaux qu'on fait défiler. Chaque équipe mène à son café. */
html body .lbb-equipes-liste-121 li { padding: 0; }
html body .lbb-equipes-liste-121 li > a { display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 6px; width: 100%; height: 100%; padding: 12px 8px 10px; border-radius: 14px; color: inherit; text-decoration: none; }
html body .lbb-equipes-liste-121 li > a:hover { background: #f3f6ee; }
html body .lbb-equipes-liste-121 li > a:focus-visible { outline: 3px solid var(--lbb-jaune); outline-offset: 2px; }
html body .home-cafes-v98 .home-cafes-grid-v98 { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 10px !important; }
html body .home-cafes-v98 .home-cafe-v98 { display: flex !important; flex-direction: column !important; align-items: center; grid-column: auto !important; padding: 12px 10px !important; text-align: center; }
html body .home-cafes-v98 .home-cafe-image-v98 { width: 100% !important; max-width: 150px; height: auto !important; }
html body .home-cafes-v98 .home-cafe-v98 h3 { margin: 8px 0 2px !important; font-size: 16px !important; }
html body .home-cafes-v98 .home-cafe-more-v98 { display: none !important; }
@media (max-width: 640px) {
  html body .home-cafes-v98 .home-cafes-grid-v98 { display: flex !important; gap: 8px !important; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 -16px !important; padding: 0 16px 6px !important; scrollbar-width: none; }
  html body .home-cafes-v98 .home-cafes-grid-v98::-webkit-scrollbar { display: none; }
  html body .home-cafes-v98 .home-cafe-v98 { flex: 0 0 132px !important; scroll-snap-align: start; padding: 10px 8px !important; }
  html body .home-cafes-v98 .home-cafe-v98 h3 { font-size: 14.5px !important; }
  html body .home-cafes-v98 .home-cafe-city-v98 { font-size: 12.5px !important; }
}
@media (max-width: 640px) { html body .lbb-equipes-liste-121, html body .home-cafes-v98 .home-cafes-grid-v98 { scroll-padding-left: 16px; scroll-padding-right: 16px; } }

/* 1.0.22 (Rudy) : haut d'accueil plus classe, sans bandeau tricolore ni surtitre. Variante A vert foncé, variante B crème. */
html body main section.lbb-hero.lbb-hero-120::before { display: none !important; }
html body main section.lbb-hero.lbb-hero-120 { text-align: center; background: #0b3d2c !important; box-shadow: inset 0 0 0 1px rgba(255, 250, 240, .14), 0 18px 40px rgba(10, 52, 38, .25); }
html body .lbb-hero-120 .lbb-hero-texte { margin: 0 auto; }
html body .lbb-hero-120 .lbb-hero-chapo { margin-left: auto !important; margin-right: auto !important; }
html body .lbb-hero-120 .lbb-hero-faits-120, html body .lbb-hero-120 .lbb-hero-actions-120 { justify-content: center; }
html body main section.lbb-hero.lbb-hero-120 .lbb-hero-cartes-120 img { box-shadow: 0 14px 28px rgba(0, 0, 0, .5); }
html body main section.lbb-hero.lbb-hero-120.lbb-hero-creme { background: #fffdf7 !important; box-shadow: inset 0 0 0 1px #e2e7d8, 0 14px 34px rgba(10, 52, 38, .10); }
html body .lbb-hero-120.lbb-hero-creme h1 { color: #0b3d2c !important; }
html body .lbb-hero-120.lbb-hero-creme .lbb-hero-chapo { color: #34524a !important; }
html body .lbb-hero-120.lbb-hero-creme .lbb-hero-faits-120 li { border-color: #d8e0cf; color: #23443a; background: #f2f5ec; }
html body .lbb-hero-120.lbb-hero-creme .lbb-hero-fb-120 { border-color: #cfd8c5; color: #0b3d2c !important; }
html body .lbb-hero-120.lbb-hero-creme .lbb-hero-cta-120 { background: #0b3d2c; color: #fffaf0 !important; box-shadow: 0 4px 0 #062418; }
html body main section.lbb-hero.lbb-hero-120.lbb-hero-creme .lbb-hero-cartes-120 img { box-shadow: 0 12px 24px rgba(10, 52, 38, .25); }
@media (max-width: 640px) {
  html body main section.lbb-hero.lbb-hero-120 { padding: 20px 16px 18px !important; }
  html body main section.lbb-hero.lbb-hero-120 .lbb-hero-cartes-120 { height: 150px; margin: 0 0 12px; }
  html body main section.lbb-hero.lbb-hero-120 .lbb-hero-cartes-120 img { width: 96px; }
  html body .lbb-hero-120 h1 { font-size: 30px !important; }
}


/* 1.0.22 (Rudy) : « Le billard, » sur une ligne, « quand vous voulez. » sur la suivante. */
html body .lbb-hero-120 h1 .lbb-ligne-122 { display: block; white-space: nowrap; }
@media (max-width: 380px) { html body .lbb-hero-120 h1 { font-size: 28px !important; } }
@media (max-width: 640px) { html body .lbb-hero-120 .lbb-hero-sur-120 { white-space: nowrap; font-size: 11px; letter-spacing: .07em; } }

/* 1.0.22 (Rudy) : bandeau Première Bande, cartes plus grandes et resserrées (elles se chevauchent, celle du milieu devant). */
html body main > section.hero #featured { gap: 0 !important; justify-content: center; overflow: visible; }
html body main > section.hero #featured img { position: relative; }
html body main > section.hero #featured img:nth-child(2) { z-index: 2; }
html body main > section.hero #featured img + img { margin-left: -26px !important; }
@media (max-width: 640px) {
  html body main > section.hero #featured { height: auto !important; min-height: 0 !important; padding: 6px 0 4px; }
  html body main > section.hero #featured img { width: 116px !important; height: auto !important; max-width: none !important; }
  html body main > section.hero #featured img:nth-child(2) { transform: translateY(-6px) scale(1.06) !important; }
}

/* 1.0.23 : place des équipes au classement sur l'accueil. */
html body .lbb-equipes-liste-121 li > a { position: relative; }
html body .lbb-equipes-liste-121 .lbb-rang-123 { position: absolute; top: 6px; left: 6px; padding: 2px 7px; border-radius: 999px; background: #e7ede0; color: #23443a; font: 800 11px/1.4 Arial, Helvetica, sans-serif; }
html body .lbb-equipes-liste-121 .lbb-rang-podium-123 { background: #f2c531; color: #0b3d2c; }

/* 1.0.24 (Rudy) : bouton « Les rendez-vous » de l'accueil sans ombre portée. */
html body .lbb-hero-120 .lbb-hero-cta-120 { box-shadow: none !important; }

/* 1.0.26 : logo d'équipe dans Mon espace (logos larges, pas de carré). */
html body .me-equipe .me-logo-equipe { width: 58px !important; height: 38px !important; object-fit: contain; border-radius: 0 !important; background: none !important; }

/* 1.0.26 (Rudy) : bandeau « Nos partenaires » sur l'accueil, même principe que les équipes et les cafés. */
html body main section.lbb-partenaires-126 { margin: 14px 0 0; padding: 16px 0 6px; }
html body .lbb-partenaires-liste-126 { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
html body .lbb-partenaires-liste-126 a { display: grid; justify-items: center; gap: 6px; height: 100%; padding: 12px 10px; border: 1px solid #dfe5d6; border-radius: 14px; background: #fffdf7; color: #0b3d2c; text-align: center; text-decoration: none; }
html body .lbb-partenaires-liste-126 a:hover { background: #f3f6ee; }
html body .lbb-partenaires-liste-126 img { width: 100%; max-width: 120px; height: 72px; object-fit: contain; border-radius: 8px; background: #fff; }
html body .lbb-partenaires-liste-126 strong { font: 800 13.5px/1.2 Arial, Helvetica, sans-serif; }
html body .lbb-partenaires-liste-126 span { color: #4a6157; font: 400 12px/1.3 Arial, Helvetica, sans-serif; }
@media (max-width: 1100px) { html body .lbb-partenaires-liste-126 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  html body .lbb-partenaires-liste-126 { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 -16px; padding: 0 16px 6px; scroll-padding-left: 16px; scrollbar-width: none; }
  html body .lbb-partenaires-liste-126::-webkit-scrollbar { display: none; }
  html body .lbb-partenaires-liste-126 li { flex: 0 0 140px; scroll-snap-align: start; }
}

/* 1.0.26 (Rudy) : coup de maquillage sur la liste des actus. Titre puis date, visuel entier, lien de lecture. */
html body main #news-list { gap: 18px; }
html body main #news-list .news-article { overflow: hidden; border: 1px solid #dfe5d6; border-radius: 16px; background: #fffdf7; box-shadow: 0 1px 2px rgba(11, 61, 44, .06), 0 8px 22px -14px rgba(11, 61, 44, .35); transition: transform .15s ease, box-shadow .15s ease; }
html body main #news-list .news-article:hover { transform: translateY(-2px); box-shadow: 0 2px 4px rgba(11, 61, 44, .08), 0 14px 28px -14px rgba(11, 61, 44, .45); }
html body main #news-list .news-article img { width: 100%; aspect-ratio: 2 / 1; height: auto; object-fit: contain; background: #0b3d2c; border-bottom: 3px solid #c8102e; }
html body main #news-list .news-article .news-text { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px 18px; }
html body main #news-list .news-article h2 { order: 1; margin: 0; color: #0b3d2c; font: 800 18px/1.25 Arial, Helvetica, sans-serif; letter-spacing: .01em; text-wrap: balance; }
html body main #news-list .news-article time { order: 2; display: inline-flex; align-items: center; gap: 7px; margin: 0; color: #4a6157; font: 700 12px/1.3 Arial, Helvetica, sans-serif; letter-spacing: .06em; text-transform: uppercase; }
html body main #news-list .news-article time::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #f2c230; box-shadow: 0 0 0 2px #fffdf7, 0 0 0 3px #c8102e; }
html body main #news-list .news-article p { order: 3; margin: 2px 0 0; color: #2c4a3e; font: 400 15px/1.5 Arial, Helvetica, sans-serif; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
html body main #news-list .news-article .news-text::after { content: "Lire l\2019 actu \2192"; order: 4; align-self: flex-start; margin-top: 4px; padding-bottom: 1px; border-bottom: 2px solid #f2c230; color: #0b3d2c; font: 800 14px/1.3 Arial, Helvetica, sans-serif; }
@media (min-width: 900px) {
  html body main #news-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
  html body main #news-list .news-article:first-child { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
  html body main #news-list .news-article:first-child img { height: 100%; aspect-ratio: auto; min-height: 280px; border-bottom: 0; border-right: 3px solid #c8102e; }
  html body main #news-list .news-article:first-child .news-text { justify-content: center; padding: 28px 30px; }
  html body main #news-list .news-article:first-child h2 { font-size: 24px; }
}

/* 1.0.27 (Rudy) : pas de sortie vers Facebook dans le premier écran ; « Je m’inscris » puis « Les rendez-vous ». */
html body .lbb-hero-120 .lbb-hero-sec-127 { padding: 0 18px; }


/* 1.0.27 (Rudy) : « Copier le lien de cette actu » en bas de l'article, pas en haut. */
html body #news-body-v23 .news-share-v36 { order: 99; margin-top: 18px; padding-top: 14px; border-top: 1px solid #e3e6dc; }
/* 1.0.27 (Rudy) : vignettes des actus sans bord rouge ni fond vert, plus douces. */
html body main #news-list .news-article { border: 0; background: #fffdf7; box-shadow: 0 1px 2px rgba(11, 61, 44, .08), 0 10px 26px -18px rgba(11, 61, 44, .45); }
html body main #news-list .news-article img { border: 0 !important; background: #f4efe2; padding: 10px 10px 0; border-radius: 16px 16px 0 0; box-sizing: border-box; }
html body main #news-list .news-article img { border-radius: 16px 16px 0 0; }
html body main #news-list .news-article time { align-self: flex-start; padding: 4px 10px; border-radius: 999px; background: #e8f0e6; color: #1f5a40; letter-spacing: .04em; }
html body main #news-list .news-article time::before { display: none; }
html body main #news-list .news-article .news-text::after { border-bottom-color: #0b3d2c; }
@media (min-width: 900px) {
  html body main #news-list .news-article:first-child img { border-right: 0 !important; padding: 12px 0 12px 12px; border-radius: 16px 0 0 16px; }
}

/* 1.0.27 (Rudy) : bloc « Sauvegarder ma collection » décollé du bord de l’écran. */
html body section.personal-backup-v85 { box-sizing: border-box; width: auto !important; max-width: 1100px; margin: 18px max(16px, env(safe-area-inset-left, 0px)) !important; padding: 16px !important; border: 1px solid #dfe5d6; border-radius: 16px; background: #fffdf7; }
@media (min-width: 1132px) { html body section.personal-backup-v85 { margin-inline: auto !important; } }

/* 1.0.27 (Rudy) : résultats officiels (Intercafés, tournois) dans Mon espace. */
html body .me-officiel { display: grid; gap: 8px; margin-top: 12px; padding: 12px 14px; border-radius: 14px; background: #f3f6ee; }
html body .me-officiel-tete { display: flex; justify-content: space-between; align-items: baseline; margin: 0; }
html body .me-officiel-tete a { color: #0b3d2c; font-weight: 700; font-size: 14px; }
html body .me-officiel-ligne { display: grid; gap: 2px; margin: 0; }
html body .me-officiel-ligne span { color: #4a6157; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
html body .me-officiel-ligne strong { color: #0b3d2c; font-size: 17px; }
html body .me-officiel-ligne small { color: #4a6157; font-size: 13px; }
html body .me-officiel-journees { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
html body .me-officiel-journees span { padding: 3px 9px; border-radius: 999px; background: #fffdf7; color: #0b3d2c; font-size: 13px; font-weight: 700; }
html body .me-officiel-tournois { display: grid; gap: 6px; margin: 4px 0 0; padding: 0; list-style: none; }
html body .me-officiel-tournois li { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 6px 8px; border-radius: 10px; background: #fffdf7; }
html body .me-officiel-tournois b { display: grid; place-items: center; height: 30px; border-radius: 8px; background: #e8e2d0; color: #0b3d2c; font-size: 14px; }
html body .me-officiel-tournois b.me-place-1 { background: #f2c531; }
html body .me-officiel-tournois b.me-place-2 { background: #d9dde0; }
html body .me-officiel-tournois b.me-place-3 { background: #e5b98c; }
html body .me-officiel-tournois span { color: #0b3d2c; font-size: 14px; font-weight: 600; }
html body .me-officiel-tournois small { color: #4a6157; font-size: 12px; white-space: nowrap; }


/* 1.0.28 (Rudy) : bas de Première Bande resserré. */
html body #pool.season { padding-bottom: 14px !important; }
html body #pool .stats { gap: 8px !important; }
html body #pool .stats article { padding: 10px !important; }
html body #pool .stats strong { font-size: 22px !important; }
html body #pool .rarity-legend { margin-top: 14px; }
html body #pool .rarity-legend h3 { margin: 0 0 6px; font-size: 15px; }
html body #pool .rarity-legend ul { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
html body #pool .rarity-legend li { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 6px 10px; border-radius: 10px; background: #f6f3ea; font-size: 14px; }
html body #pool .rarity-legend .imprimees-128 { color: #4a6157; font-size: 13px; font-weight: 700; white-space: nowrap; }
html body .explain.explain-128 { display: block !important; padding: 14px 16px !important; }
html body .explain.explain-128 .eyebrow { margin: 0 0 2px; }
html body .explain.explain-128 h2 { margin: 0 0 6px; font-size: 18px !important; }
html body .explain.explain-128 .recipe { display: flex !important; flex-wrap: wrap; gap: 6px !important; margin: 0 0 4px !important; }
html body .explain.explain-128 .recipe span { padding: 4px 10px !important; font-size: 14px !important; }
html body .explain.explain-128 .recipe b { font-size: 15px !important; }
html body .explain.explain-128 p { margin: 4px 0 0; font-size: 13px; }
html body details.copie-secours-128 { margin-top: 10px; }
html body details.copie-secours-128 summary { cursor: pointer; color: #2f6a4f; font-weight: 700; font-size: 14px; padding: 6px 0; }
html body #pool .section-title { display: flex; flex-direction: column; gap: 2px; margin-bottom: 10px !important; }
html body #pool .section-title h2 { font-size: 20px !important; margin: 0 !important; }
html body #pool .section-title #date { font-size: 12px !important; }
html body #pool .stats { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 6px !important; }
html body #pool .stats article { padding: 8px 4px !important; text-align: center; min-width: 0; }
html body #pool .stats strong { display: block; font-size: 18px !important; }
html body #pool .stats span { display: block; font-size: 11px !important; line-height: 1.2 !important; }
html body #pool .rarity-legend li { grid-template-columns: 46px minmax(0, 1fr) auto; }
html body #pool .rarity-legend .rarity-symbol { text-align: center; white-space: nowrap; letter-spacing: -2px; }

/* 1.0.29 (Rudy) : page Asso, même panneau vert foncé que l'accueil, sans le filet jaune-rouge-vert. */
html body main .lbb-asso-intro.lbb-asso-intro-120 { background: #0b3d2c !important; box-shadow: inset 0 0 0 1px rgba(255, 250, 240, .14), 0 18px 40px rgba(10, 52, 38, .25) !important; }
html body main .lbb-asso-intro.lbb-asso-intro-120::before { display: none !important; }
/* 1.0.29 (Rudy) : « Crée ta carte » montre les cartes aussi sur téléphone, en plus petit. */
@media (max-width: 640px) { html body .home-collection-v98 .lbb-pb-creer-107 > .lbb-hero-cartes { display: block !important; min-height: 150px; max-height: 190px; overflow: hidden; } }
/* 1.0.29 (Rudy) : logos des partenaires sur blanc pur (ils sont faits pour), tuile entière blanche. */
html body .lbb-partenaires-liste-126 a { background: #ffffff; border-color: #e6e6e0; }
html body .lbb-partenaires-liste-126 a:hover { background: #ffffff; box-shadow: 0 6px 18px -10px rgba(11, 61, 44, .4); }
html body .lbb-partenaires-liste-126 img { background: #ffffff; border-radius: 0; }
html body .lbb-partenaire-lettres-129 { display: grid; place-items: center; width: 100%; max-width: 120px; height: 72px; color: #0b3d2c; font: italic 900 22px/1 Georgia, "Times New Roman", serif; letter-spacing: .01em; }
/* La moustache d'Il Siciliano n'est pas un logo : masquée partout où elle apparaît. */
/* 1.1.1 (Rudy, 21/10) : ce fichier est le logo officiel fourni par Rudy, il est de nouveau affiché. */

/* 1.0.29 (Rudy) : page Nos partenaires, fiches sur blanc pur pour les logos. */
html body .partners-grid-v27 article { background: #ffffff !important; border: 1px solid #e6e6e0; border-radius: 14px; }
html body .partners-grid-v27 article img { background: #ffffff !important; object-fit: contain; }

/* 1.0.29 (Rudy) : les actus de l'accueil défilent comme les équipes, les cafés et les partenaires. Cartes de même taille. */
html body #home-news-v98 { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 -16px; padding: 4px 16px 10px; scroll-padding-left: 16px; scrollbar-width: none; }
html body #home-news-v98::-webkit-scrollbar { display: none; }
html body #home-news-v98 > a.home-news-v98, html body #home-news-v98 > a.home-news-v98.is-featured { flex: 0 0 min(78vw, 300px); scroll-snap-align: start; display: grid !important; grid-template-columns: 1fr !important; grid-template-rows: auto 1fr; margin: 0 !important; border-radius: 14px; overflow: hidden; background: #fffdf7; border: 1px solid #dfe5d6; }
html body #home-news-v98 > a.home-news-v98 img, html body #home-news-v98 > a.home-news-v98 picture, html body #home-news-v98 > a.home-news-v98.is-featured img { display: block; width: 100% !important; height: 150px !important; max-height: none !important; object-fit: cover; background: #f4efe2; }
html body #home-news-v98 > a.home-news-v98 .home-news-body-v98 { display: grid; gap: 4px; padding: 10px 12px 12px !important; }
html body #home-news-v98 > a.home-news-v98 .home-news-body-v98 > time { order: 2; font: 700 11.5px/1.3 Arial, Helvetica, sans-serif; letter-spacing: .05em; text-transform: uppercase; color: #4a6157; }
html body #home-news-v98 > a.home-news-v98 .home-news-body-v98 > h3 { order: 1; margin: 0; font: 800 15px/1.25 Arial, Helvetica, sans-serif !important; color: #0b3d2c; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
html body #home-news-v98 > a.home-news-v98 .home-news-body-v98 > p { order: 3; margin: 0; font: 400 13.5px/1.4 Arial, Helvetica, sans-serif; color: #2c4a3e; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
html body #home-news-v98 > a.home-news-v98 .home-news-more-v98 { order: 4; margin-top: 2px; font: 800 13px/1.3 Arial, Helvetica, sans-serif; color: #0b3d2c; }
@media (min-width: 900px) { html body #home-news-v98 { margin: 0; padding: 4px 0 10px; } html body #home-news-v98 > a.home-news-v98 { flex-basis: 300px; } }

/* 1.0.32 (audit B3) : pastilles des succès de tournoi dans Mon espace (la règle était dans la feuille des RDV). */
html body .me-officiel-hf { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
html body .me-officiel-hf span { padding: 3px 9px; border-radius: 999px; background: #f2c531; color: #0b3d2c; font: 700 12.5px/1.3 Arial, Helvetica, sans-serif; }
html body .me-officiel-hf .me-officiel-prochain { background: #fffdf7; border: 1px dashed #b8901a; color: #4a6157; }

/* 1.0.33 (Rudy) : haut de Mon espace mieux structuré. Écusson de l'équipe à part (en haut à droite), fiche en deux lignes
   Équipe / Licence sous le prénom, plus de ligne « Compte ». Bloc « L'appli et les notifications » replié. */
html body .me-page .me-hero { padding-right: 20px; }
html body .me-page .me-ecusson-133 { position: absolute; top: 14px; right: 14px; display: grid; place-items: center; width: 104px; height: 104px; border-radius: 50%; background: rgba(255, 250, 240, .10); box-shadow: inset 0 0 0 2px rgba(242, 207, 91, .55); }
html body .me-page .me-ecusson-133 .me-logo-equipe { width: 82px !important; height: 56px !important; object-fit: contain; background: none !important; border-radius: 0 !important; filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .45)); }
html body .me-page .me-fiche-133 { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, max-content)); gap: 8px 14px; margin: 6px 0 0; }
html body .me-page .me-fiche-133 > div { display: grid; gap: 1px; padding: 6px 0 6px 12px; border-left: 3px solid #f2cf5b; }
html body .me-page .me-fiche-133 span { color: #f2cf5b; font: 800 11px/1.2 Arial, Helvetica, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
html body .me-page .me-fiche-133 strong { color: #fffdf7; font: 800 18px/1.15 Arial, Helvetica, sans-serif; }
html body .me-page .me-fiche-133 small { color: #cfdccc; font: 400 13px/1.3 Arial, Helvetica, sans-serif; }
html body .me-page details.me-appli > summary { cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
html body .me-page details.me-appli > summary::-webkit-details-marker { display: none; }
html body .me-page details.me-appli > summary h2 { margin: 0; }
html body .me-page details.me-appli .me-appli-fleche::before { content: "▾"; display: inline-block; color: #0b3d2c; font-size: 18px; transform: rotate(-90deg); transition: transform .15s ease; }
html body .me-page details.me-appli[open] .me-appli-fleche::before { transform: none; }
html body .me-page details.me-appli > .me-appli-installer, html body .me-page details.me-appli > .me-appli-notifs { margin-top: 10px; }
@media (max-width: 640px) {
  html body .me-page .me-ecusson-133 { width: 80px; height: 80px; top: 12px; right: 12px; }
  html body .me-page .me-ecusson-133 .me-logo-equipe { width: 62px !important; height: 42px !important; }
  html body .me-page .me-fiche-133 { grid-template-columns: 1fr 1fr; }
}

/* 1.0.34 (Rudy) : sur ordinateur, l'éventail des trois cartes débordait sur « Salut Rudy. » (colonne de 210 px trop étroite). */
@media (min-width: 641px) { html body .me-page .me-hero { grid-template-columns: minmax(0, 272px) minmax(0, 1fr); } html body .me-page .me-identite { position: relative; z-index: 2; } }

/* 1.0.34 (Rudy) : les trois cartes du panneau plus grandes, quitte à frôler les bords. */
@media (min-width: 900px) {
  html body main section.lbb-hero.lbb-hero-120 .lbb-hero-cartes-120 { height: 360px; }
  html body main section.lbb-hero.lbb-hero-120 .lbb-hero-cartes-120 img { width: 210px; }
}
@media (max-width: 640px) {
  html body main section.lbb-hero.lbb-hero-120 .lbb-hero-cartes-120 { height: 184px; margin: 0 0 12px; }
  html body main section.lbb-hero.lbb-hero-120 .lbb-hero-cartes-120 img { width: 118px; }
}
/* 1.0.34 : une vraie colonne pour les cartes agrandies, pour qu'elles ne mordent pas sur le titre. */
@media (min-width: 900px) {
  html body main section.lbb-hero.lbb-hero-120 { grid-template-columns: minmax(0, 1fr) minmax(330px, 0.9fr); }
  html body main section.lbb-hero.lbb-hero-120 .lbb-hero-cartes-120 img { width: 196px; }
}
@media (min-width: 1200px) { html body main section.lbb-hero.lbb-hero-120 .lbb-hero-cartes-120 img { width: 214px; } }

/* 1.0.34 : l'éventail glisse vers la droite de sa colonne pour laisser le titre entier. */
@media (min-width: 900px) { html body main section.lbb-hero.lbb-hero-120 .lbb-hero-cartes-120 { margin-left: 96px; } }

@media (min-width: 900px) { html body main section.lbb-hero.lbb-hero-120 .lbb-hero-cartes-120 { margin-left: 70px; } html body main section.lbb-hero.lbb-hero-120 .lbb-hero-cartes-120 img { width: 186px; } }
@media (min-width: 1200px) { html body main section.lbb-hero.lbb-hero-120 .lbb-hero-cartes-120 img { width: 206px; } }


/* 1.0.36 (Rudy) : haut de Mon espace comme avant (Équipe | Licence côte à côte, cartes à leur taille d'avant),
   cartes non cliquables, « Carte 001 » discret sous la licence (sans cadre), logo de l'équipe sans rond. */
html body .me-page .me-cartes > .me-carte-135 { position: absolute; top: 8px; left: 50%; width: 118px; aspect-ratio: 420 / 587; border-radius: 9px; box-shadow: 0 10px 24px rgb(0 0 0 / .4); }
html body .me-page .me-cartes > .me-carte-135 img { display: block; width: 100%; height: auto; border-radius: 9px; }
html body .me-page .me-fiche-133 .me-numero-135 { color: #fffdf7; font: 700 14px/1.3 Arial, Helvetica, sans-serif; }
html body .me-page .me-fiche-133 .me-numero-135[hidden] { display: none; }
html body .me-page .me-fiche-133 .me-numero-135 i { font-style: normal; color: #f2cf5b; }
html body .me-page .me-logo-135 { position: absolute; top: 16px; right: 18px; width: 128px; }
html body .me-page .me-logo-135 .me-logo-equipe { display: block; width: 100% !important; height: auto !important; object-fit: contain; background: none !important; border-radius: 0 !important; filter: drop-shadow(0 6px 12px rgba(0, 0, 0, .55)); }
@media (max-width: 640px) {
  html body .me-page .me-cartes > .me-carte-135 { width: 102px; }
}

/* 1.0.36 (Rudy) : le premier écran de l'accueil = le bandeau vert + le prochain rendez-vous. Plus de bouton ni de cases.
   Sur ordinateur, bandeau un peu moins haut pour que le prochain RDV se voie sans descendre. */
@media (min-width: 900px) {
  html body.home-page-v98 main { padding-top: 14px !important; }
  html body main section.lbb-hero.lbb-hero-120 { margin-top: 4px !important; padding-top: 22px !important; padding-bottom: 22px !important; }
  html body main section.lbb-hero.lbb-hero-120 .lbb-hero-cartes-120 img { width: 176px; }
  html body main section.lbb-hero.lbb-hero-120 .lbb-hero-cartes-120 { height: 300px !important; min-height: 0 !important; }
}

/* 1.0.36 (Rudy) : le texte du bandeau ne coupe plus au milieu d'un groupe (« Championnat | Intercafés »).
   Chaque morceau reste entier et les lignes s'équilibrent, quelle que soit la largeur. */
html body .lbb-hero .lbb-chapo-136 { text-wrap: balance; }
html body .lbb-hero .lbb-chapo-136 span { white-space: nowrap; }

/* 1.0.36 (Rudy) : l'accueil respire en alternant subtilement les fonds des parties.
   Bandeau vert › RDV sauge › Actus papier blanc › Équipes vert profond › Première Bande sable › Cafés sur crème › Partenaires sauge. */
html body.home-page-v98 main > section.home-news-section-v98 { padding: 22px !important; border: 1px solid #e7e0cc; border-radius: 14px; background: #fffdf8; box-shadow: 0 1px 0 rgba(11, 61, 44, .04); }
html body.home-page-v98 main > section.lbb-equipes-121 { padding: 22px !important; border-radius: 14px; background: #0b3d2c; box-shadow: inset 0 0 0 1px rgba(255, 250, 240, .10); }
html body.home-page-v98 main > section.lbb-equipes-121 .home-section-head-v98 h2 { color: #fffaf0 !important; }
html body.home-page-v98 main > section.lbb-equipes-121 .home-section-head-v98 a { color: #f2c531 !important; }
html body.home-page-v98 main > section.lbb-equipes-121 .lbb-equipes-liste-121 li,
html body.home-page-v98 main > section.lbb-equipes-121 .lbb-equipes-liste-121 li > a { background: rgba(255, 250, 240, .06) !important; border-color: rgba(255, 250, 240, .14) !important; box-shadow: none !important; }
html body.home-page-v98 main > section.lbb-equipes-121 .lbb-equipes-liste-121 li > a:hover { background: rgba(255, 250, 240, .12) !important; }
html body.home-page-v98 main > section.lbb-equipes-121 .lbb-equipes-liste-121 span { color: #d9e4d6 !important; }
html body.home-page-v98 main > section.lbb-equipes-121 .lbb-equipes-liste-121 img { filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .45)); }
html body.home-page-v98 main > section.home-collection-v98 { background: #f7f0de !important; border-color: #e6d8b3 !important; }
html body.home-page-v98 main > section.lbb-partenaires-126 { padding: 22px !important; border: 1px solid #d0dac5; border-radius: 14px; background: #f1f4ea; }
@media (max-width: 640px) {
  html body.home-page-v98 main > section.home-news-section-v98,
  html body.home-page-v98 main > section.lbb-equipes-121,
  html body.home-page-v98 main > section.lbb-partenaires-126 { padding: 16px !important; }
}

/* 1.0.37 (Rudy) : dans Mon espace, le logo de l'équipe remplace son nom et son café sous « Équipe ». */
html body .me-page .me-fiche-133 .me-equipe-logo-137 { align-content: start; }
html body .me-page .me-fiche-133 .me-equipe-logo-137 .me-logo-equipe { display: block; width: 150px !important; height: auto !important; max-width: 100%; margin-top: 2px; object-fit: contain; background: none !important; border-radius: 0 !important; filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .5)); }
@media (max-width: 640px) { html body .me-page .me-fiche-133 .me-equipe-logo-137 .me-logo-equipe { width: 120px !important; } }

/* 1.0.40 (Rudy) : Mon espace montre directement tes stats et tous tes succès (plus de page « Mon billard »). */
html body .me-page .me-stats-140 { display: grid; gap: 14px; margin-top: 14px; }
html body .me-page .me-stats-140[hidden] { display: none; }
html body .me-page .me-stats-petites-140 { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
html body .me-page .me-stats-petites-140 li { display: flex; align-items: baseline; gap: 6px; padding: 7px 12px; border-radius: 10px; background: #f1f4ea; }
html body .me-page .me-stats-petites-140 strong { color: #0b3d2c; font: 900 18px/1 Arial, Helvetica, sans-serif; }
html body .me-page .me-stats-petites-140 span { color: #4a6157; font: 700 13px/1.2 Arial, Helvetica, sans-serif; }
html body .me-page .me-stats-deux-140 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
html body .me-page .me-stats-deux-140 h3 { margin: 0 0 6px; color: #0b3d2c; font: 800 15px/1.3 Arial, Helvetica, sans-serif; }
html body .me-page .me-stats-liste-140 { display: grid; margin: 0; padding: 0; list-style: none; }
html body .me-page .me-stats-liste-140 li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px solid #ece6d4; font: 400 14px/1.35 Arial, Helvetica, sans-serif; }
html body .me-page .me-stats-liste-140 li:last-child { border-bottom: 0; }
html body .me-page .me-stats-liste-140 li > span { display: grid; min-width: 0; color: #0b2e22; }
html body .me-page .me-stats-liste-140 small { color: #6b7d73; font-size: 12.5px; }
html body .me-page .me-stats-liste-140 b { flex: none; color: #0b3d2c; font: 800 13px/1.2 Arial, Helvetica, sans-serif; }
html body .me-page .me-stats-liste-140 .me-v-140 { color: #1f6b45; }
html body .me-page .me-stats-liste-140 .me-d-140 { color: #8a6a1a; }
html body .me-page .me-hf-tous-140 { margin-top: 12px; border-top: 1px solid #ece6d4; padding-top: 10px; }
html body .me-page .me-hf-tous-140[hidden] { display: none; }
html body .me-page .me-hf-tous-140 > summary { cursor: pointer; color: #1f6b45; font: 800 14px/1.3 Arial, Helvetica, sans-serif; }
html body .me-page .me-hf-groupe-140 { margin-top: 12px; }
html body .me-page .me-hf-groupe-140 h3 { display: flex; justify-content: space-between; margin: 0 0 4px; color: #0b3d2c; font: 800 14px/1.3 Arial, Helvetica, sans-serif; }
html body .me-page .me-hf-groupe-140 h3 span { color: #6b7d73; font-weight: 700; }
html body .me-page .me-hf-groupe-140 ul { display: grid; margin: 0; padding: 0; list-style: none; }
html body .me-page .me-hf-groupe-140 li { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; border-bottom: 1px dashed #e5dfcd; font: 400 13.5px/1.35 Arial, Helvetica, sans-serif; color: #6b7d73; }
html body .me-page .me-hf-groupe-140 li > span { display: grid; min-width: 0; }
html body .me-page .me-hf-groupe-140 li small { font-size: 12px; }
html body .me-page .me-hf-groupe-140 li b { flex: none; font: 800 12.5px/1.3 Arial, Helvetica, sans-serif; }
html body .me-page .me-hf-groupe-140 li.me-hf-fait-140 { color: #0b2e22; }
html body .me-page .me-hf-groupe-140 li.me-hf-fait-140 b { color: #1f6b45; }
@media (max-width: 640px) { html body .me-page .me-stats-deux-140 { grid-template-columns: 1fr; } }

/* 1.0.41 (Rudy) : le carnet de succès complet dans Mon espace (comme dans l'ancien « Mon billard »). */
html body .me-page .me-carnet-141 { display: grid; gap: 12px; margin-top: 16px; padding-top: 14px; border-top: 1px solid #ece6d4; }
html body .me-page .me-carnet-141[hidden] { display: none; }
html body .me-page .me-carnet-tete-141 { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 12px; }
html body .me-page .me-carnet-tete-141 h3 { margin: 0; color: #0b3d2c; font: 900 18px/1.2 Arial, Helvetica, sans-serif; }
html body .me-page .me-carnet-tete-141 span { color: #4a6157; font: 700 13px/1.3 Arial, Helvetica, sans-serif; }
html body .me-page .me-chips-141 { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
html body .me-page .me-chips-141 button, html body .me-page .me-etats-141 button { flex: none; min-height: 36px; padding: 0 14px; border: 1px solid #d6d0bd; border-radius: 10px; background: #fffdf7; color: #0b3d2c; font: 700 13px/1 Arial, Helvetica, sans-serif; cursor: pointer; }
html body .me-page .me-chips-141 [aria-pressed=true], html body .me-page .me-etats-141 [aria-pressed=true] { background: #0b3d2c; border-color: #0b3d2c; color: #fffaf0; }
html body .me-page .me-filtres-141 { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 10px; }
html body .me-page .me-etats-141 { display: flex; flex-wrap: wrap; gap: 8px; }
html body .me-page .me-cherche-141 { display: grid; gap: 4px; min-width: min(100%, 240px); color: #4a6157; font: 700 12.5px/1.2 Arial, Helvetica, sans-serif; }
html body .me-page .me-cherche-141 input { min-height: 40px; padding: 0 12px; border: 1px solid #d6d0bd; border-radius: 10px; background: #fffdf7; font: 400 14px/1 Arial, Helvetica, sans-serif; }
html body .me-page .me-carnet-compte-141 { margin: 0; color: #6b7d73; font: 400 13px/1.3 Arial, Helvetica, sans-serif; }
html body .me-page .me-tuiles-141 { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
html body .me-page .me-tuile-141 { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; padding: 14px; border: 1px solid #e3dcc8; border-radius: 14px; background: #fffdf7; }
html body .me-page .me-medaille-141 { display: grid; place-items: center; width: 44px; height: 50px; clip-path: polygon(0 0, 100% 0, 100% 78%, 50% 100%, 0 78%); background: #0b3d2c; color: #d9cfa8; }
html body .me-page .me-medaille-141 svg { width: 22px; height: 22px; margin-top: -4px; }
html body .me-page .me-fait-141 { border-color: #e2c35a; background: #fffaf0; }
html body .me-page .me-fait-141 .me-medaille-141 { background: linear-gradient(160deg, #f6d867, #c99a1e); color: #0b3d2c; }
html body .me-page .me-tuile-texte-141 { display: grid; gap: 3px; min-width: 0; }
html body .me-page .me-tuile-texte-141 small { color: #6b5a1e; font: 800 11px/1.2 Arial, Helvetica, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
html body .me-page .me-tuile-texte-141 strong { color: #0b3d2c; font: 800 15.5px/1.25 Arial, Helvetica, sans-serif; }
html body .me-page .me-tuile-texte-141 > span:not(.me-tuile-jauge-141) { color: #4a6157; font: 400 13px/1.35 Arial, Helvetica, sans-serif; }
html body .me-page .me-tuile-jauge-141 { display: block; height: 4px; margin-top: 4px; border-radius: 4px; background: #e6e2d4; overflow: hidden; }
html body .me-page .me-tuile-jauge-141 > span { display: block; height: 100%; background: linear-gradient(90deg, #f2c531, #1f6b45); }
html body .me-page .me-tuile-texte-141 em { color: #0b3d2c; font: 700 12.5px/1.3 Arial, Helvetica, sans-serif; font-style: normal; }
html body .me-page .me-fait-141 .me-tuile-texte-141 em { color: #1f6b45; }
html body .me-page .me-plus-141 { justify-self: center; min-height: 40px; padding: 0 18px; border: 1px solid #0b3d2c; border-radius: 10px; background: #fffdf7; color: #0b3d2c; font: 800 14px/1 Arial, Helvetica, sans-serif; cursor: pointer; }
html body .me-page .me-plus-141[hidden] { display: none; }

/* 1.0.47 (Rudy) : sur ordinateur, même accueil que sur téléphone. */
html body.home-page-v98 .lbb-hero-120 .lbb-hero-faits-120 { display: none !important; }
html body.home-page-v98 #home-cards-previous-v101, html body.home-page-v98 #home-cards-next-v101 { display: none !important; }
html body.home-page-v98 :has(> #home-cards-previous-v101) { display: none !important; }
@media (min-width: 900px) {
  html body.home-page-v98 #home-news-v98 { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 16px !important; }
  html body.home-page-v98 #home-news-v98 > * { width: auto !important; max-width: none !important; min-width: 0 !important; flex: none !important; }
}
/* 1.0.47 : fiches des cafés sans grands blancs entre la rue et la ville ; les boutons restent alignés en bas. */
@media (min-width: 900px) {
  html body .home-cafe-tile { display: flex; flex-direction: column; }
  html body .home-cafe-tile > strong, html body .home-cafe-tile > .home-cafe-address { min-height: 0 !important; }
  html body .home-cafe-tile > .home-cafe-address { margin-bottom: 0 !important; }
  html body .home-cafe-tile > .home-cafe-links { margin-top: auto !important; }
}
/* Le bloc Première Bande ne garde pas de vide en bas sans ses anciens boutons. */
html body.home-page-v98 #home-gallery-hint-v101:empty { display: none !important; }
html body.home-page-v98 .home-collection-v98 .home-gallery-tools-v101 { display: none !important; }

/* 1.0.48 (Rudy) : alternance simple et logique sous le bandeau vert. Deux fonds seulement, en alternance :
   sauge (vert très clair, cartes blanches dedans) puis papier blanc (cartes crème bordées dedans).
   RDV sauge › Actus blanc › Équipes sauge › Première Bande blanc › Cafés sauge › Partenaires blanc. */
html body.home-page-v98 main > section.home-agenda-v98,
html body.home-page-v98 main > section.lbb-equipes-121,
html body.home-page-v98 main > section.home-cafes-v98 { padding: 22px !important; border: 1px solid #d0dac5 !important; border-radius: 16px !important; background: #f1f4ea !important; box-shadow: none !important; }
html body.home-page-v98 main > section.home-news-section-v98,
html body.home-page-v98 main > section.home-collection-v98,
html body.home-page-v98 main > section.lbb-partenaires-126 { padding: 22px !important; border: 1px solid #e7e0cc !important; border-radius: 16px !important; background: #fffdf8 !important; box-shadow: none !important; }
/* Équipes : plus de vert foncé, des tuiles blanches comme les autres cartes. */
html body.home-page-v98 main > section.lbb-equipes-121 .home-section-head-v98 h2 { color: #0b3d2c !important; }
html body.home-page-v98 main > section.lbb-equipes-121 .home-section-head-v98 a { color: #0b3d2c !important; }
html body.home-page-v98 main > section.lbb-equipes-121 .lbb-equipes-liste-121 li,
html body.home-page-v98 main > section.lbb-equipes-121 .lbb-equipes-liste-121 li > a { background: #fffdf8 !important; border: 1px solid #dfe5d6 !important; box-shadow: none !important; }
html body.home-page-v98 main > section.lbb-equipes-121 .lbb-equipes-liste-121 li > a:hover { background: #ffffff !important; }
html body.home-page-v98 main > section.lbb-equipes-121 .lbb-equipes-liste-121 span { color: #2c4a3e !important; }
html body.home-page-v98 main > section.lbb-equipes-121 .lbb-equipes-liste-121 img { filter: none !important; }
/* Dans les blocs blancs, les cartes passent en crème bordé. */
html body.home-page-v98 main > section.home-news-section-v98 .home-news-v98,
html body.home-page-v98 main > section.lbb-partenaires-126 li > a { background: #faf6ec !important; border: 1px solid #e7e0cc !important; box-shadow: none !important; }
html body.home-page-v98 main > section.lbb-partenaires-126 li > a img { background: #ffffff; border-radius: 8px; }
html body.home-page-v98 main > section.home-collection-v98 .lbb-pb-creer-107 { background: #faf6ec !important; border-radius: 14px; }
/* Dans les blocs sauge, les cartes sont blanches. */
html body.home-page-v98 main > section.home-cafes-v98 .home-cafe-tile { background: #fffdf8 !important; border: 1px solid #dfe5d6 !important; box-shadow: none !important; }
@media (max-width: 640px) {
  html body.home-page-v98 main > section.home-agenda-v98, html body.home-page-v98 main > section.lbb-equipes-121, html body.home-page-v98 main > section.home-cafes-v98,
  html body.home-page-v98 main > section.home-news-section-v98, html body.home-page-v98 main > section.home-collection-v98, html body.home-page-v98 main > section.lbb-partenaires-126 { padding: 16px !important; }
}

/* 1.0.48 (Rudy) : bas de page, « Nos cafés · Nos partenaires · Mentions légales · Confidentialité » sur une seule ligne. */
html body .lbb-pied-infos { display: flex !important; flex-wrap: nowrap !important; justify-content: center; align-items: baseline; gap: 0 !important; white-space: nowrap; }
html body .lbb-pied-infos a { white-space: nowrap; }
html body .lbb-pied-infos a + a::before { content: "·"; display: inline-block; margin: 0 .55em; color: #8a9a90; text-decoration: none; }
@media (max-width: 640px) {
  html body .lbb-pied-infos { font-size: min(13px, 3.3vw) !important; }
  html body .lbb-pied-infos a + a::before { margin: 0 .4em; }
}
/* 1.0.48 (Rudy) : moins de vide crème au-dessus du bas de page ; la ligne du pied tient dans l'écran. */
html body footer.lbb-pied { margin-top: 12px !important; padding-top: 18px !important; }
html body .lbb-pied-infos { width: 100% !important; max-width: 100% !important; min-width: 0 !important; box-sizing: border-box; padding-left: 0 !important; padding-right: 0 !important; }
@media (max-width: 640px) {
  html body .lbb-pied-infos { font-size: min(13px, 2.9vw) !important; }
  html body .lbb-pied-infos a + a::before { margin: 0 .35em !important; }
}
@media (max-width: 640px) { html body .lbb-pied-infos { font-size: min(13px, 2.65vw) !important; letter-spacing: -.01em; } html body .lbb-pied-infos a + a::before { margin: 0 .3em !important; } }
@media (max-width: 640px) { html body .lbb-pied-infos a { font-size: inherit !important; } }
@media (max-width: 640px) { html body .lbb-pied-infos { font-size: min(13px, 3.2vw) !important; letter-spacing: 0; } }
/* 1.0.48 (Rudy) : toutes les actus de l'accueil comme « Merci Criss » : titre, date, texte, « Lire l'actu ». */
html body.home-page-v98 #home-news-v98 .home-news-body-v98 { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 6px !important; grid-template-columns: none !important; }
html body.home-page-v98 #home-news-v98 .home-news-body-v98 > * { width: auto !important; max-width: 100% !important; grid-column: auto !important; grid-row: auto !important; }
html body.home-page-v98 #home-news-v98 .home-news-body-v98 > h3 { order: 1 !important; }
html body.home-page-v98 #home-news-v98 .home-news-body-v98 > time { order: 2 !important; }
html body.home-page-v98 #home-news-v98 .home-news-body-v98 > p { order: 3 !important; }
html body.home-page-v98 #home-news-v98 .home-news-body-v98 > .home-news-more-v98 { order: 4 !important; margin-top: auto; }

/* 1.0.48 (Rudy) : « Nos équipes » remonte sous les RDV. Alternance recalée sur l'ordre :
   RDV sauge › Équipes blanc › Actus sauge › Première Bande blanc › Cafés sauge › Partenaires blanc. */
html body.home-page-v98 main > section.lbb-equipes-121 { border-color: #e7e0cc !important; background: #fffdf8 !important; }
html body.home-page-v98 main > section.lbb-equipes-121 .lbb-equipes-liste-121 li,
html body.home-page-v98 main > section.lbb-equipes-121 .lbb-equipes-liste-121 li > a { background: #faf6ec !important; border-color: #e7e0cc !important; }
html body.home-page-v98 main > section.home-news-section-v98 { border-color: #d0dac5 !important; background: #f1f4ea !important; }
html body.home-page-v98 main > section.home-news-section-v98 .home-news-v98 { background: #fffdf8 !important; border-color: #dfe5d6 !important; }
@media (max-width: 640px) { html body .lbb-pied-infos { font-size: min(13px, 2.55vw) !important; } html body .lbb-pied-infos a + a::before { margin: 0 .25em !important; } }
/* 1.0.49 (Rudy) : Première Bande reprend le vert foncé du bandeau (les cartes en valeur) :
   vert foncé › vert clair › blanc, puis Première Bande vert foncé › cafés vert clair › partenaires blanc. */
html body.home-page-v98 main > section.home-collection-v98 { background: #0b3d2c !important; border-color: #0b3d2c !important; color: #fffaf0 !important; }
html body.home-page-v98 main > section.home-collection-v98 .home-section-head-v98 h2 { color: #fffaf0 !important; }
html body.home-page-v98 main > section.home-collection-v98 .home-section-head-v98 a { color: #f2c531 !important; }
html body.home-page-v98 main > section.home-collection-v98 p { color: #d9e4d6 !important; }
html body.home-page-v98 main > section.home-collection-v98 .lbb-pb-creer-107 { background: rgba(255, 250, 240, .06) !important; box-shadow: inset 0 0 0 1px rgba(255, 250, 240, .12) !important; }
html body.home-page-v98 main > section.home-collection-v98 .lbb-pb-creer-107 h3, html body.home-page-v98 main > section.home-collection-v98 .lbb-pb-creer-107 strong { color: #fffaf0 !important; }
html body.home-page-v98 main#content > section.home-collection-v98.home-collection-v98 p, html body.home-page-v98 main > section.home-collection-v98.home-collection-v98 p { color: #d9e4d6 !important; }
html body.home-page-v98 main > section.home-collection-v98.home-collection-v98 h2 span { color: #fffaf0 !important; }
/* 1.0.49 (Rudy) : le même espace entre tous les cadres de l'accueil. */
html body.home-page-v98 main > section { margin-bottom: 0 !important; }
html body.home-page-v98 main > section + section { margin-top: 16px !important; }
/* 1.0.49 (Rudy) : vert foncé › blanc › vert clair › blanc, puis Première Bande vert foncé › cafés vert clair › partenaires blanc. */
html body.home-page-v98 main > section.home-agenda-v98.home-agenda-v98 { background: #fffdf8 !important; border-color: #e7e0cc !important; }
html body.home-page-v98 main > section.home-agenda-v98 .home-event-v98:not(:first-child) { background: #faf6ec !important; border-color: #e7e0cc !important; }
html body.home-page-v98 main > section.lbb-equipes-121.lbb-equipes-121 { background: #f1f4ea !important; border-color: #d0dac5 !important; }
html body.home-page-v98 main > section.lbb-equipes-121.lbb-equipes-121 .lbb-equipes-liste-121 li,
html body.home-page-v98 main > section.lbb-equipes-121.lbb-equipes-121 .lbb-equipes-liste-121 li > a { background: #fffdf8 !important; border-color: #dfe5d6 !important; }
html body.home-page-v98 main > section.home-news-section-v98.home-news-section-v98 { background: #fffdf8 !important; border-color: #e7e0cc !important; }
html body.home-page-v98 main > section.home-news-section-v98.home-news-section-v98 .home-news-v98 { background: #faf6ec !important; border-color: #e7e0cc !important; }
/* 1.0.53 (Rudy) : succès en trois familles — Intercafés (vert), Tournoi (jaune), Parties libres (rouge). */
html body .sx-153 { display: grid; gap: 14px; }
html body .sx-cat { padding: 14px; border-radius: 16px; background: #fffdf8; border: 1px solid #e7e0cc; }
html body .sx-tete { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 12px; }
html body .sx-pastille { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; color: #fffaf0; }
html body .sx-pastille svg { width: 24px; height: 24px; }
html body .sx-ic .sx-pastille { background: #0b3d2c; }
html body .sx-to .sx-pastille { background: #f2c531; color: #0b3d2c; }
html body .sx-li .sx-pastille { background: #eadfc4; color: #0b3d2c; box-shadow: inset 0 0 0 2px #c8b88f; } /* 1.3.1 (Rudy) : parties libres en sable, comme dans le calendrier */
html body .sx-titre { display: grid; gap: 2px; min-width: 0; }
html body .sx-titre strong { color: #0b3d2c; font: 900 18px/1.15 Arial, Helvetica, sans-serif; }
html body .sx-titre small { color: #6b7d73; font: 400 13px/1.3 Arial, Helvetica, sans-serif; }
html body .sx-compte { color: #0b3d2c; font: 900 22px/1 Arial, Helvetica, sans-serif; }
html body .sx-compte i { color: #8a9a90; font-style: normal; font-size: 14px; }
html body .sx-jauge { height: 6px; margin: 12px 0 2px; border-radius: 6px; background: #ece7d7; overflow: hidden; }
html body .sx-jauge span { display: block; height: 100%; border-radius: 6px; }
html body .sx-ic .sx-jauge span { background: linear-gradient(90deg, #1f6b45, #0b3d2c); }
html body .sx-to .sx-jauge span { background: linear-gradient(90deg, #f6d867, #d9a514); }
html body .sx-li .sx-jauge span { background: linear-gradient(90deg, #e3d4ac, #c8b88f); }
html body .sx-sous { margin: 12px 0 6px; color: #6b5a1e; font: 800 11.5px/1.3 Arial, Helvetica, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
html body .sx-bande { display: flex; gap: 8px; overflow-x: auto; margin: 0; padding: 0 0 6px; list-style: none; scroll-snap-type: x mandatory; scrollbar-width: thin; }
html body .sx-bande > li { flex: 0 0 min(250px, 80%); scroll-snap-align: start; }
html body .sx-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
html body .sx-bande > li, html body .sx-grille > li { display: grid; grid-template-columns: 38px minmax(0, 1fr); align-content: start; align-items: start; gap: 10px; padding: 10px; border: 1px solid #e3dcc8; border-radius: 12px; background: #faf6ec; }
html body .sx-medaille { display: grid; place-items: center; width: 38px; height: 44px; clip-path: polygon(0 0, 100% 0, 100% 78%, 50% 100%, 0 78%); background: #cfc8b4; color: #fffdf8; }
html body .sx-medaille svg { width: 19px; height: 19px; margin-top: -4px; }
html body .sx-ic li.sx-fait .sx-medaille { background: linear-gradient(160deg, #2f8a5c, #0b3d2c); color: #f2c531; }
html body .sx-to li.sx-fait .sx-medaille { background: linear-gradient(160deg, #f6d867, #c99a1e); color: #0b3d2c; }
html body .sx-li li.sx-fait .sx-medaille { background: linear-gradient(160deg, #eadfc4, #c8b88f); color: #0b3d2c; }
html body li.sx-fait { background: #fffaf0 !important; border-color: #e2c35a !important; }
html body .sx-texte { display: grid; gap: 2px; min-width: 0; }
html body .sx-texte small { color: #6b5a1e; font: 800 10.5px/1.2 Arial, Helvetica, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
html body .sx-texte strong { color: #0b3d2c; font: 800 14.5px/1.25 Arial, Helvetica, sans-serif; }
html body .sx-texte > span { color: #4a6157; font: 400 12.5px/1.35 Arial, Helvetica, sans-serif; }
html body .sx-texte em { color: #0b3d2c; font: 700 12px/1.3 Arial, Helvetica, sans-serif; font-style: normal; }
html body li.sx-fait .sx-texte em { color: #1f6b45; }
html body .sx-note { margin: 10px 0 0; color: #6b7d73; font: 400 13px/1.4 Arial, Helvetica, sans-serif; }
html body .sx-tous { margin-top: 10px; }
html body .sx-tous > summary { cursor: pointer; color: #1f6b45; font: 800 14px/1.3 Arial, Helvetica, sans-serif; }
html body .sx-tous h5 { display: flex; justify-content: space-between; margin: 14px 0 6px; color: #0b3d2c; font: 800 13.5px/1.3 Arial, Helvetica, sans-serif; }
html body .sx-tous h5 span { color: #8a9a90; }
html body .sx-tous > .sx-grille { margin-top: 10px; }
html body .me-page #me-hf { padding: 0 !important; background: none !important; border: 0 !important; }

/* 1.0.53 (Rudy) : bloc Première Bande de l'accueil. D'abord ce qu'est la collection (titre centré, éventail entier),
   puis « Et en plus, crée ta carte ! » dans un encart à part. */
html body.home-page-v98 main > section.lbb-pb-154 { display: grid; justify-items: center; text-align: center; gap: 10px; padding: 26px 18px 20px !important; background: radial-gradient(120% 80% at 50% 0%, #14563d 0%, #0b3d2c 60%) !important; }
html body.home-page-v98 main > section.lbb-pb-154 .lbb-pb-sur-154 { margin: 0; color: #f2c531 !important; font: 800 12.5px/1.3 Arial, Helvetica, sans-serif; letter-spacing: .16em; text-transform: uppercase; }
html body.home-page-v98 main > section.lbb-pb-154 h2 { margin: 0; color: #fffaf0 !important; font: 900 clamp(26px, 6vw, 36px)/1.1 Arial, Helvetica, sans-serif !important; }
html body.home-page-v98 main > section.lbb-pb-154 h2 span { color: #fffaf0 !important; }
html body.home-page-v98 main > section.lbb-pb-154 .lbb-pb-chapo-154 { max-width: 46ch; margin: 0; color: #d9e4d6 !important; font-size: 16px; line-height: 1.45; text-wrap: balance; }
html body.home-page-v98 .lbb-pb-eventail-154 { position: relative; display: block; width: min(100%, 360px); height: 230px; margin: 10px 0 0; }
html body.home-page-v98 .lbb-pb-eventail-154 img { position: absolute; bottom: 4px; left: 50%; width: 132px; height: auto; border-radius: 9px; box-shadow: 0 12px 26px rgba(0, 0, 0, .45); }
html body.home-page-v98 .lbb-pb-eventail-154 img:nth-child(1) { transform: translateX(-118%) rotate(-10deg); }
html body.home-page-v98 .lbb-pb-eventail-154 img:nth-child(2) { z-index: 2; bottom: 18px; width: 146px; transform: translateX(-50%); }
html body.home-page-v98 .lbb-pb-eventail-154 img:nth-child(3) { transform: translateX(18%) rotate(10deg); }
html body.home-page-v98 .lbb-pb-voir-154 { color: #f2c531 !important; font: 800 15px/1.3 Arial, Helvetica, sans-serif; text-decoration: underline; text-underline-offset: 4px; }
html body.home-page-v98 .lbb-pb-creer-154 { display: grid; justify-items: center; gap: 8px; width: 100%; max-width: 560px; margin-top: 10px; padding: 18px 16px; border-radius: 14px; background: #f4ead2; color: #0b2e22; }
html body.home-page-v98 .lbb-pb-creer-154 h3 { margin: 0; color: #0b3d2c !important; font: 900 20px/1.2 Arial, Helvetica, sans-serif; }
html body.home-page-v98 main > section.lbb-pb-154 .lbb-pb-creer-154 p { margin: 0; color: #2c4a3e !important; font-size: 15px; line-height: 1.45; }
html body.home-page-v98 .lbb-pb-154 .lbb-pb-dernieres-107 { display: none !important; }
@media (max-width: 380px) {
  html body.home-page-v98 .lbb-pb-eventail-154 { height: 200px; }
  html body.home-page-v98 .lbb-pb-eventail-154 img { width: 112px; }
  html body.home-page-v98 .lbb-pb-eventail-154 img:nth-child(2) { width: 124px; }
}
html body.home-page-v98 main#content > section.home-collection-v98.home-collection-v98.lbb-pb-154 .lbb-pb-creer-154 p, html body.home-page-v98 main > section.home-collection-v98.home-collection-v98.lbb-pb-154 .lbb-pb-creer-154 p { color: #2c4a3e !important; }
html body.home-page-v98 main > section.home-collection-v98.lbb-pb-154 a.lbb-pb-voir-154, html body.home-page-v98 main#content > section.home-collection-v98.lbb-pb-154 a.lbb-pb-voir-154 { color: #f2c531 !important; }

/* 1.0.53 (Rudy) : en bas de page, un beau gros logo au-dessus de « Nous écrire » et « Groupe Facebook ». */
html body footer.lbb-pied .lbb-pied-logo { justify-self: center; }
html body footer.lbb-pied .lbb-pied-logo img { width: min(210px, 56vw); }
@media (min-width: 900px) { html body footer.lbb-pied .lbb-pied-logo img { width: 200px; } }
html body > footer.lbb-pied { grid-template-columns: 1fr; grid-template-areas: 'logo' 'contacts' 'infos'; justify-items: center; text-align: center; }
html body > footer.lbb-pied .lbb-pied-contacts, html body > footer.lbb-pied .lbb-pied-infos { justify-content: center; }

/* 1.0.55 (Rudy) : Mon espace trop large au téléphone — les bandes de succès défilent dans leur cadre sans élargir la page. */
html body .me-page > *, html body .me-hf, html body .sx-153, html body .sx-153 > *, html body .eq-sx-153, html body .eq-sx-153 > * { min-width: 0; max-width: 100%; }
html body .me-hf, html body .sx-153 { grid-template-columns: minmax(0, 1fr); }
html body .sx-bande { max-width: 100%; }

/* 1.0.57 (Rudy) : pas de mention « Épinglée » sur les actus publiques. */
html body .pin-badge { display: none !important; }

/* 1.0.58 (Rudy) : l'actu ouverte n'est plus tout crème — fond sable rayé, carte blanche, image encadrée. */
html body #news-detail-v23 { background: #efe8d8 !important; background-image: none !important; width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; inset: 0; box-sizing: border-box; padding: 8px 12px 12px; border: 0; border-radius: 0; }
html body #news-detail-v23::backdrop { background: #efe8d8; }
html body #news-detail-v23 #news-body-v23 { background: #fffdf7; border-radius: 18px; padding: 20px 18px 24px; box-shadow: 0 6px 22px rgba(14, 42, 33, .12); max-width: 760px; margin: 8px auto 24px; }
html body #news-detail-v23 #news-close-v23 { background: #fffdf7; border-radius: 999px; padding: 8px 14px; box-shadow: 0 2px 8px rgba(14, 42, 33, .12); }
html body #news-detail-v23 .eyebrow { display: inline-block; background: #dceadb; color: #1f4d39; border-radius: 999px; padding: 4px 12px; font-size: 12px; }
html body #news-detail-v23 #news-body-v23 > time { display: block; color: #4a6157; font-weight: 700; }
html body #news-detail-v23 .news-visual-full { display: block; margin: 16px -6px; padding: 10px; background: #ebe3cf; border-radius: 14px; }
html body #news-detail-v23 .news-visual-full img { display: block; width: 100%; height: auto; border-radius: 8px; box-shadow: 0 4px 14px rgba(14, 42, 33, .18); }
html body #news-detail-v23 .public-markdown-v27 h2 { margin-top: 26px; padding: 6px 0 6px 12px; border-left: 5px solid #1f6b45; background: linear-gradient(90deg, #eef4ec, transparent); border-radius: 0 8px 8px 0; }
html body #news-detail-v23 .public-markdown-v27 blockquote { background: #f3eddc; border-left: 5px solid #c9b98f; border-radius: 0 10px 10px 0; padding: 10px 14px; margin-left: 0; }
html body .lbb-visuel-grand-158 { position: fixed; inset: 0; z-index: 9999; background: rgba(20, 24, 22, .96); display: flex; align-items: center; overflow: auto; -webkit-overflow-scrolling: touch; cursor: zoom-out; }
html body .lbb-visuel-grand-158 img { display: block; margin: auto; max-width: 96vw; max-height: 92vh; width: auto; height: auto; border-radius: 6px; }
html body .lbb-visuel-grand-158 button { position: fixed; top: calc(12px + env(safe-area-inset-top, 0px)); right: 12px; width: 42px; height: 42px; border-radius: 999px; border: 0; background: #fffdf7; color: #0e2a21; font: 700 26px/1 Arial, sans-serif; }
html body .lbb-visuel-grand-158 p { position: fixed; left: 0; right: 0; bottom: calc(14px + env(safe-area-inset-bottom, 0px)); margin: 0; text-align: center; color: #f6f1e3; font: 700 13px/1.3 Arial, sans-serif; display: none; }
/* 1.6.1 (Rudy) : au téléphone aussi, le visuel tient en entier dans l'écran (plus de glissé de gauche à droite) ;
   on peut pincer pour zoomer. */
html body .lbb-visuel-grand-158 { justify-content: center; }
/* 1.6.2 (Rudy) : le zoom et le déplacement de l'image zoomée sont gérés par le site (actus-1-0-0.js), dans tous les sens. */
html body .lbb-visuel-grand-158 { touch-action: none; overflow: hidden; user-select: none; -webkit-user-select: none; }
html body .lbb-visuel-grand-158 img { transform-origin: center; will-change: transform; pointer-events: none; -webkit-user-drag: none; }
@media (orientation: portrait) and (max-width: 700px) {
  html body .lbb-visuel-grand-158 img { max-width: calc(100vw - 16px); max-height: 80vh; width: auto; height: auto; margin: auto; }
  html body .lbb-visuel-grand-158 p { display: block; }
  html body #news-detail-v23 .news-visual-full { margin: 14px -14px; padding: 6px; }
}
html body dialog.lbb-visuel-grand-158 { width: 100vw; height: 100vh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; }
html body dialog.lbb-visuel-grand-158::backdrop { background: transparent; }

/* 1.0.60 (Rudy) : formulaire de contact. */
html body form.lbb-contact-160 { display: grid; gap: 12px; margin: 6px 0 14px; }
html body form.lbb-contact-160 label { display: grid; gap: 5px; font: 700 14px/1.3 Arial, Helvetica, sans-serif; color: #0e2a21; }
html body form.lbb-contact-160 input, html body form.lbb-contact-160 select, html body form.lbb-contact-160 textarea { width: 100%; box-sizing: border-box; padding: 11px 12px; border: 1px solid #d8ceb4; border-radius: 10px; background: #fffdf7; color: #0e2a21; font: 400 16px/1.35 Arial, Helvetica, sans-serif; }
html body form.lbb-contact-160 textarea { resize: vertical; min-height: 110px; }
html body form.lbb-contact-160 input:focus, html body form.lbb-contact-160 select:focus, html body form.lbb-contact-160 textarea:focus { outline: 2px solid #1f6b45; outline-offset: 1px; }
html body form.lbb-contact-160 button { justify-self: start; padding: 12px 26px; border: 0; border-radius: 999px; background: #f2c531; color: #0e2a21; font: 800 16px/1 Arial, Helvetica, sans-serif; cursor: pointer; }
html body form.lbb-contact-160 button:disabled { opacity: .6; }
html body form.lbb-contact-160 .lbb-contact-piege { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
html body form.lbb-contact-160 .lbb-contact-etat { margin: 0; font-weight: 700; min-height: 1.3em; }
html body form.lbb-contact-160 .lbb-contact-etat[data-type="ok"] { color: #1f6b45; }
html body form.lbb-contact-160 .lbb-contact-etat[data-type="erreur"] { color: #a3261b; }
html body .asso38-ou { margin: 4px 0 6px; color: #4a6157; font-size: 14px; }
html body .lbb-messages-160 { margin: 0 0 16px; padding: 16px; border-radius: 16px; background: #fffdf7; border: 1px solid #e3dac3; box-shadow: 0 4px 14px rgba(14, 42, 33, .06); }
html body .lbb-messages-160 h2 { margin: 0 0 10px; font: 900 20px/1.2 Arial, Helvetica, sans-serif; color: #0e2a21; }
html body .lbb-messages-160 h2 span { display: inline-block; margin-left: 6px; padding: 3px 10px; border-radius: 999px; background: #f2c531; font-size: 13px; vertical-align: 2px; }
html body .lbb-messages-160 ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
html body .lbb-messages-160 li { padding: 12px; border-radius: 12px; background: #f6f1e3; border-left: 5px solid #d8ceb4; }
html body .lbb-messages-160 li.nouveau { background: #eef4ec; border-left-color: #1f6b45; }
html body .lbb-messages-160 .lbb-msg-tete { margin: 0 0 6px; overflow-wrap: anywhere; }
html body .lbb-messages-160 .lbb-msg-tete small { display: block; color: #4a6157; }
html body .lbb-messages-160 .lbb-msg-texte { margin: 0 0 8px; overflow-wrap: anywhere; }
html body .lbb-messages-160 button { padding: 7px 14px; border: 1px solid #1f6b45; border-radius: 999px; background: #fffdf7; color: #1f6b45; font-weight: 700; cursor: pointer; }
html body .lbb-messages-vide { margin: 0; color: #4a6157; }

/* 1.0.60 (Rudy) : logos des équipes sur les pages café. */
html body .cafe-equipes-160 { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 10px; }
html body .cafe-equipes-160 a { display: grid; justify-items: center; gap: 6px; padding: 10px 6px; border-radius: 12px; background: #fffdf7; border: 1px solid #e3dac3; color: #0e2a21; text-decoration: none; font: 700 13px/1.2 Arial, Helvetica, sans-serif; text-align: center; }
html body .cafe-equipes-160 img { width: 100%; max-width: 130px; height: 80px; object-fit: contain; }

/* 1.1.0 (Rudy) : bandeau Première Bande — saison, titre et phrase centrés sur la carte du milieu. */
@media (max-width: 640px) {
  html body main > section.hero:not([hidden]) .lbb-collection-sur > span:last-child, html body main > section.hero:not([hidden]) h1, html body main > section.hero:not([hidden]) h1 ~ p { text-align: center; justify-self: center; }
}

/* 1.1.0 (Rudy) : logo Il Siciliano (blanc d'origine) affiché en foncé sur fond clair. */
html body img.lbb-logo-blanc-160, html body #lbb-partenaires-liste-126 li img.lbb-logo-blanc-160, html body .partners-grid-v27 article img.lbb-logo-blanc-160 { background: #0e2a21 !important; padding: 10px 12px !important; border-radius: 10px; box-sizing: border-box; object-fit: contain; }

/* 1.4.0 (Rudy) : « Je cherche une équipe » — bouton, trois questions, lien Intercafés, étiquette au bureau. */
html body .lbb-ancre-160 { scroll-margin-top: 84px; }
html body form.lbb-contact-160 .lbb-equipe-160 { display: grid; gap: 12px; padding: 12px; border-radius: 12px; background: #f3eddc; }
html body form.lbb-contact-160 .lbb-equipe-160[hidden] { display: none !important; }
html body form.lbb-contact-160 .lbb-equipe-160 fieldset { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
html body form.lbb-contact-160 .lbb-equipe-160 legend { width: 100%; margin-bottom: 6px; padding: 0; font: 700 14px/1.3 Arial, Helvetica, sans-serif; color: #0e2a21; }
html body form.lbb-contact-160 .lbb-equipe-160 fieldset label { display: inline-flex !important; flex-direction: row !important; align-items: center !important; justify-content: flex-start !important; min-height: 0 !important; gap: 7px; padding: 8px 13px; border: 1px solid #d8ceb4; border-radius: 999px; background: #fffdf7; font: 400 15px/1.2 Arial, Helvetica, sans-serif; cursor: pointer; }
html body form.lbb-contact-160 .lbb-equipe-160 fieldset label:has(input:checked) { background: #dceadb; border-color: #1f6b45; font-weight: 700; }
html body form.lbb-contact-160 .lbb-equipe-160 input[type=radio] { width: auto; margin: 0; padding: 0; accent-color: #1f6b45; }
html body .lbb-msg-etiquette-160 { display: inline-block; margin-right: 7px; padding: 2px 9px; border-radius: 999px; background: #dceadb; color: #1f4d39; font: 800 11px/1.5 Arial, Helvetica, sans-serif; letter-spacing: .02em; vertical-align: 1px; }

/* 1.5.0 (en préparation) : cafés ouverts en ce moment. Pastille sobre, vert du site / rouge éteint. */
html body .lbb-ouvert-150 { display: flex; align-items: center; gap: 7px; margin: 4px 0 2px; font: 400 14px/1.35 Arial, Helvetica, sans-serif; color: #3c4a42; }
html body .lbb-ouvert-150 .lbb-ouvert-mot-150 { font-weight: 700; color: #0e2a21; }
html body .lbb-ouvert-pastille-150 { flex: none; width: 9px; height: 9px; border-radius: 50%; background: #2f8a57; box-shadow: 0 0 0 3px rgba(47, 138, 87, .16); }
html body .lbb-ouvert-150[data-etat="ferme"] .lbb-ouvert-pastille-150 { background: #b04a3f; box-shadow: 0 0 0 3px rgba(176, 74, 63, .13); }
html body .lbb-ouvert-150[data-etat="ferme"] .lbb-ouvert-mot-150 { color: #7d2f27; }
html body .lbb-ouvert-150[data-etat="inconnu"] { color: #6b6a60; font-style: italic; }
html body .lbb-ouvert-exemple-150 { margin: 0 0 10px; font: 400 12.5px/1.4 Arial, Helvetica, sans-serif; color: #8a5a00; }
html body .lbb-ouvert-exemple-150::before { content: "Aperçu · "; font-weight: 700; }
html body .lbb-ouvert-bloc-150 { margin: 0 0 14px; padding: 12px 16px 10px; border: 1px solid #d0dac5; border-radius: 14px; background: #fffdf7; }
html body .lbb-ouvert-bloc-150 h3 { margin: 0 0 6px; font: 800 15px/1.3 Arial, Helvetica, sans-serif; color: #092f25; }
html body .lbb-ouvert-bloc-150 ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
html body .lbb-ouvert-bloc-150 li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 2px 12px; padding: 7px 0; border-top: 1px solid #ece4cf; }
html body .lbb-ouvert-bloc-150 li:first-child { border-top: 0; }
html body .lbb-ouvert-bloc-150 li > a { font: 700 15px/1.3 Arial, Helvetica, sans-serif; color: #092f25; text-decoration: none; }
html body .lbb-ouvert-bloc-150 li > a:hover { text-decoration: underline; }
html body .lbb-ouvert-bloc-150 .lbb-ouvert-150 { margin: 0; }
html body .lbb-ouvert-bloc-150 .lbb-ouvert-exemple-150 { margin: 6px 0 0; }html body .lbb-ouvert-150[data-etat="bientot"] .lbb-ouvert-pastille-150 { background: #c98a1b; box-shadow: 0 0 0 3px rgba(201, 138, 27, .18); }
html body .lbb-ouvert-150[data-etat="bientot"] .lbb-ouvert-mot-150 { color: #8a5a00; }html body .lbb-ouvert-150 { flex-wrap: wrap; column-gap: 7px; row-gap: 0; }
html body .lbb-ouvert-150 .lbb-ouvert-mot-150 { white-space: nowrap; }
html body .lbb-ouvert-150 .lbb-ouvert-suite-150 { min-width: 0; }
/* 1.5.0 (Rudy) : statistiques de visite, pour le bureau. */
html body .lbb-stats-150 { margin: 0 0 16px; padding: 16px; border-radius: 16px; background: #fffdf7; border: 1px solid #e3dac3; box-shadow: 0 4px 14px rgba(14, 42, 33, .06); color: #0e2a21; font: 400 15px/1.4 Arial, Helvetica, sans-serif; }
html body .lbb-stats-150 h2 { margin: 0 0 12px; font: 900 20px/1.2 Arial, Helvetica, sans-serif; color: #0e2a21; }
html body .lbb-stats-150 h3 { margin: 18px 0 8px; font: 800 16px/1.3 Arial, Helvetica, sans-serif; color: #0e2a21; }
html body .lbb-stats-150 h3 small { font-weight: 400; font-size: 13px; color: #6b6a60; margin-left: 4px; }
html body .lbb-stats-chiffres-150 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
html body .lbb-stats-chiffres-150 p { margin: 0; padding: 10px 10px 9px; border-radius: 12px; background: #eef4ec; display: flex; flex-direction: column; min-width: 0; }
html body .lbb-stats-chiffres-150 p:first-child { background: #0e2a21; color: #fffdf7; }
html body .lbb-stats-chiffres-150 strong { font: 900 26px/1.1 Arial, Helvetica, sans-serif; }
html body .lbb-stats-chiffres-150 span { font-size: 13px; font-weight: 700; }
html body .lbb-stats-chiffres-150 small { font-size: 12px; opacity: .75; }
html body .lbb-stats-graphe-150 { margin: 14px 0 0; }
html body .lbb-stats-graphe-150 svg { display: block; width: 100%; height: 110px; }
html body .lbb-stats-graphe-150 rect.vues { fill: #d6e5d2; }
html body .lbb-stats-graphe-150 rect.visiteurs { fill: #2f6b4e; }
html body .lbb-stats-graphe-150 rect.visiteurs.aujourdhui { fill: #0e2a21; }
html body .lbb-stats-graphe-150 figcaption { display: flex; justify-content: space-between; gap: 8px; margin-top: 4px; font-size: 12px; color: #6b6a60; }
html body .lbb-stats-legende-150 i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin: 0 4px 0 8px; vertical-align: -1px; }
html body .lbb-stats-legende-150 i.visiteurs { background: #2f6b4e; }
html body .lbb-stats-legende-150 i.vues { background: #d6e5d2; }
html body .lbb-stats-barres-150 { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
html body .lbb-stats-barres-150 li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 10px; }
html body .lbb-stats-nom-150 { min-width: 0; font-weight: 700; }
html body .lbb-stats-n-150 { font-weight: 700; font-variant-numeric: tabular-nums; }
html body .lbb-stats-jauge-150 { grid-column: 1 / -1; height: 6px; border-radius: 999px; background: #efe8d6; overflow: hidden; }
html body .lbb-stats-jauge-150 i { display: block; height: 100%; border-radius: 999px; background: #2f6b4e; }
html body .lbb-stats-affiches-150 { margin: 8px 0 0; font-size: 13px; color: #3c4a42; }
html body .lbb-stats-comptes-150 { margin: 16px 0 0; padding-top: 12px; border-top: 1px solid #ece4cf; }
html body .lbb-stats-vide-150 { margin: 0; color: #6b6a60; font-style: italic; }
html body .lbb-stats-note-150 { margin: 12px 0 0; font-size: 12.5px; color: #6b6a60; }
@media (max-width: 420px) { html body .lbb-stats-chiffres-150 strong { font-size: 22px; } }

/* ===== 1.37.0 (Rudy, maquette Menus-1.0.0) : menu à 6 entrées, « Accueil » hors du menu ===== */
/* Les colonnes suivent l'ordre du menu (plus de place fixée par adresse) : ligne 1 Actus · Les cafés · Asso,
   ligne 2 Calendrier · Résultats · Première Bande. */
html body > header.lbb-entete.lbb-tete-112 .lbb-menu-112 a[href] { grid-column: auto !important; }
/* La petite maison « Accueil » n'existe que dans la barre du menu ouvert, au téléphone : aucune hauteur en plus. */
html body > header.lbb-entete.lbb-tete-112 .lbb-actions-137 { display: contents; }
html body > header.lbb-entete.lbb-tete-112 .lbb-accueil-137 { display: none; }
.lbb-pied-infos a.lbb-pied-accueil { font-weight: 800; }
@media (max-width: 850px) {
  html body > header.lbb-entete.lbb-tete-112 .lbb-actions-137 { display: flex; grid-column: 3; grid-row: 1; justify-self: end; align-items: center; gap: 6px; }
  html body > header.lbb-entete.lbb-menu-ouvert-112 .lbb-accueil-137 { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; min-width: 44px; min-height: 44px; padding: 0 4px; border-radius: 10px; color: var(--lbb-vert); font: 700 10px/1 Arial, Helvetica, sans-serif; text-decoration: none; }
  html body > header.lbb-entete.lbb-menu-ouvert-112 .lbb-accueil-137:focus-visible { outline: 3px solid var(--lbb-jaune); outline-offset: 2px; }
  /* Menu ouvert : la barre devient [Mon espace] [logo centré dans la place restante] [maison · croix]. */
  html body > header.lbb-entete.lbb-tete-112.lbb-menu-ouvert-112 { grid-template-columns: auto minmax(0, 1fr) auto; }
  html body > header.lbb-entete.lbb-menu-ouvert-112 .lbb-logo-112 { justify-self: center; min-width: 0; }
  html body > header.lbb-entete.lbb-menu-ouvert-112 .lbb-logo-112 img { height: 48px; max-width: 100%; object-fit: contain; margin: -4px 0; }
}
@media (max-width: 440px) {
  /* Au téléphone, la croix seule ferme le menu (la place du mot « Fermer » va à la maison « Accueil »). */
  html body > header.lbb-entete.lbb-menu-ouvert-112 .lbb-menu-mot-112 { display: none; }
  html body > header.lbb-entete.lbb-menu-ouvert-112 .lbb-menu-bouton-112 { min-width: 44px; justify-content: center; padding: 0 12px; }
}
@media (max-width: 360px) {
  html body > header.lbb-entete.lbb-menu-ouvert-112 .lbb-logo-112 img { height: 40px; margin: -3px 0; }
}

/* Audit-1.0.0 P01 : visuel réel absent ou indisponible, logo officiel sur crème. */
html body :is(.news-article,.home-news-v98) > .lbb-news-fallback-audit100 {
  display:flex!important; align-items:center; justify-content:center;
  min-width:0; width:100%; min-height:clamp(120px,26vw,230px);
  padding:clamp(18px,4vw,42px); box-sizing:border-box; background:#f6f0df; color:#123d31;
}
html body :is(.news-article,.home-news-v98) > .lbb-news-fallback-audit100 img {
  display:block!important; width:min(75%,240px)!important; max-width:100%!important;
  height:auto!important; max-height:140px; object-fit:contain!important; margin:0!important;
}
html body :is(.news-article,.home-news-v98,.news-text,.home-news-body-v98) { min-width:0; max-width:100%; box-sizing:border-box; }
html body :is(.news-article,.home-news-v98) :is(h2,h3), html body #news-title-v23 {
  font-size:clamp(1.15rem,2.5vw,1.8rem)!important; line-height:1.15!important;
  overflow-wrap:anywhere; hyphens:auto; text-transform:uppercase;
}
html body #equipes { scroll-margin-top:100px; }
@media (max-width:850px) {
  html body > header.lbb-entete.lbb-tete-112.lbb-menu-ouvert-112 .lbb-menu-112 {
    display:flex!important; flex-wrap:wrap!important; gap:0!important; width:100%; min-width:0;
  }
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-112 a[href] {
    box-sizing:border-box; min-width:0; padding-inline:3px!important;
    font-size:clamp(11px,3vw,14px)!important; white-space:normal!important;
    overflow-wrap:anywhere; text-align:center; justify-content:center;
  }
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-112 a[data-ligne="haut"] { flex:0 0 25%; }
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-112 a[data-ligne="bas"] { flex:0 0 33.333%; }
}

/* ===== 1.65.0 (Rudy, maquette Jeux 1.0.1) : menu à 7 entrées, page Jeux (/jeux) et coquille des jeux ===== */
@media (max-width: 850px) {
  /* Téléphone : 4 entrées en haut (Actus · Les cafés · Asso · Première Bande), 3 en bas (Calendrier · Résultats · Jeux). */
  html body > header.lbb-entete.lbb-menu-ouvert-112 .lbb-menu-112 { grid-template-columns: repeat(12, minmax(0, 1fr)) !important; }
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-112 a[href='/actus'] { grid-column: 1 / 4 !important; }
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-112 a[href='/cafes'] { grid-column: 4 / 7 !important; }
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-112 a[href='/asso'] { grid-column: 7 / 10 !important; }
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-112 a[href='/collection/'] { grid-column: 10 / 13 !important; }
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-112 a[href='/rendez-vous/'] { grid-column: 1 / 5 !important; }
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-112 a[href='/rendez-vous/?vue=resultats'] { grid-column: 5 / 9 !important; }
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-112 a[href='/jeux'] { grid-column: 9 / 13 !important; }
}
/* Couleurs = celles du site (relecture 1.65.0). */
body.jx-page { --jx-ink: #172c25; --jx-green: var(--lbb-vert, #092f25); --jx-cream: var(--lbb-fond, #fbf5e8); --jx-card: var(--lbb-creme, #fffdf7); --jx-line: var(--lbb-trait, #d0dac5); --jx-muted: #5b6a60; --jx-gold: #b49343; --jx-yellow: var(--lbb-jaune, #e8b931); --jx-red: var(--lbb-rouge, #b3261e); overflow-x: hidden; }
.jx-main { max-width: 1100px; margin: 0 auto; padding: 18px clamp(16px, 4vw, 32px) 40px; box-sizing: border-box; }
.jx-hero { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin: 6px 0 18px; }
.jx-hero h1 { font-size: clamp(28px, 6vw, 40px); line-height: 1.05; margin: 0; letter-spacing: -0.02em; color: var(--jx-green); }
.jx-hello { display: flex; align-items: center; gap: 10px; font-weight: 700; color: var(--jx-green); }
.jx-avatar { width: 34px; height: 34px; border-radius: 50%; background: var(--jx-yellow); display: grid; place-items: center; color: var(--jx-ink); font-size: 13px; box-shadow: inset -3px -4px 5px #0003, inset 2px 3px 4px #fff7; }
.jx-today { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 22px; }
.jx-today a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--jx-line); border-radius: 14px; background: var(--jx-card); text-decoration: none; color: inherit; min-height: 56px; min-width: 0; }
.jx-today .jx-ico { width: 34px; height: 34px; flex: none; border-radius: 10px; display: grid; place-items: center; background: #eef0e6; color: var(--jx-green); }
.jx-today .jx-ico svg { width: 20px; height: 20px; }
.jx-today b { display: block; font-size: 14px; line-height: 1.2; color: var(--jx-ink); }
.jx-today small { display: block; color: var(--jx-muted); font-size: 12px; line-height: 1.3; }
.jx-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.jx-tile { position: relative; display: flex; flex-direction: column; border: 1px solid var(--jx-line); border-radius: 18px; background: var(--jx-card); overflow: hidden; text-decoration: none; color: inherit; min-height: 220px; min-width: 0; }
.jx-tile.jx-wide { grid-column: 1 / -1; flex-direction: row; min-height: 0; }
.jx-tile.jx-slim { grid-column: 1 / -1; flex-direction: row; align-items: center; min-height: 0; }
.jx-visual { position: relative; flex: none; height: 132px; background: #eceee3; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.jx-wide .jx-visual { width: 46%; height: auto; min-height: 190px; background: linear-gradient(135deg, #eef0e6, #e1e6d7); }
.jx-slim .jx-visual { width: 96px; height: auto; align-self: stretch; min-height: 76px; }
.jx-body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 0; }
.jx-slim .jx-body { flex-direction: row; align-items: center; flex-wrap: wrap; gap: 4px 14px; padding: 10px 14px; }
.jx-slim .jx-body p { flex: 1 1 200px; }
.jx-slim .jx-cta { margin: 0; padding: 0; }
.jx-body h2 { margin: 0; font-size: 17px; line-height: 1.2; color: var(--jx-green); letter-spacing: -0.01em; }
.jx-body p { margin: 0; font-size: 13px; line-height: 1.4; color: var(--jx-muted); }
.jx-cta { margin-top: auto; padding-top: 10px; font-weight: 700; font-size: 14px; color: var(--jx-green); }
.jx-badge { position: absolute; top: 10px; left: 10px; z-index: 3; font-size: 11px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; padding: 4px 8px; border-radius: 999px; background: var(--jx-green); color: #fff; }
.jx-badge.jx-beta { background: var(--jx-gold); color: #1d1a10; }
.jx-badge.jx-new { background: var(--jx-red); }
/* Éventail : full art à gauche, légendaire au milieu, prismatique à droite. */
.jx-fan { position: relative; width: 230px; height: 170px; }
.jx-fan img { position: absolute; bottom: -12px; left: 50%; width: 104px; height: auto; border-radius: 7px; box-shadow: 0 6px 16px #0004; transform-origin: 50% 120%; }
.jx-fan img:nth-child(1) { transform: translateX(-50%) rotate(-14deg) translateX(-30px); }
.jx-fan img:nth-child(2) { transform: translateX(-50%) translateY(-10px); z-index: 2; }
.jx-fan img:nth-child(3) { transform: translateX(-50%) rotate(14deg) translateX(30px); }
.jx-booster { position: absolute; right: 16px; bottom: 10px; width: 62px; height: auto; transform: rotate(8deg); filter: drop-shadow(0 4px 8px #0004); z-index: 2; }
.jx-balls { display: flex; gap: 10px; align-items: flex-end; }
.jx-ball { width: 44px; height: 44px; border-radius: 50%; box-shadow: inset -5px -7px 9px #0003, inset 3px 5px 7px #fff8; }
.jx-ball.y { background: var(--jx-yellow); } .jx-ball.r { background: var(--jx-red); } .jx-ball.w { background: #faf9eb; }
.jx-ball.k { background: #151515; display: grid; place-items: center; }
.jx-ball.k::after { content: '8'; background: #fff; border-radius: 50%; width: 22px; height: 22px; display: grid; place-items: center; font: 800 14px Arial, sans-serif; color: #111; }
.jx-mini { display: grid; grid-template-columns: repeat(3, 36px); gap: 8px; }
.jx-mini span { width: 36px; height: 36px; border-radius: 9px; background: var(--jx-card); border: 1px solid var(--jx-line); display: grid; place-items: center; color: var(--jx-green); }
.jx-mini svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.jx-vs { display: flex; align-items: center; gap: 8px; }
.jx-vs img { width: 78px; height: 52px; object-fit: contain; mix-blend-mode: multiply; }
.jx-vs b { font-size: 12px; letter-spacing: 0.1em; color: var(--jx-muted); }
.jx-mpb { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; color: var(--jx-green); width: 100%; padding: 0 14px; box-sizing: border-box; }
/* 1.67.0 (Rudy) : le vrai logo du jeu (SVG de member-v97.js), centré, lisible à 375 comme à 1280. */
.jx-mpb .mpb-logo { display: block; width: min(160px, 100%); height: auto; }
.jx-mpb-mark { width: 64px; height: 64px; border-radius: 16px; background: var(--jx-green); color: #fff; display: grid; place-items: center; font: 800 20px/1 Arial, sans-serif; }
.jx-mpb small { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.jx-secret { font: 800 30px/1 Arial, sans-serif; color: #b9bcad; letter-spacing: 0.1em; }
a.jx-tile.jx-slim .jx-secret { color: var(--jx-green); }
/* Barre des jeux et cadre du jeu */
.jx-bar { position: sticky; top: 0; z-index: 30; background: var(--jx-cream); border-bottom: 1px solid var(--jx-line); }
.jx-bar-in { max-width: 1100px; margin: 0 auto; display: flex; gap: 6px; align-items: center; padding: 8px clamp(12px, 4vw, 32px); overflow-x: auto; scrollbar-width: none; box-sizing: border-box; }
.jx-bar-in::-webkit-scrollbar { display: none; }
.jx-chip { flex: none; display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--jx-line); background: var(--jx-card); text-decoration: none; color: var(--jx-ink); font-size: 13px; font-weight: 700; white-space: nowrap; }
.jx-chip.jx-on { background: var(--jx-green); border-color: var(--jx-green); color: #fff; }
.jx-chip.jx-home { border-style: dashed; }
.jx-chip svg { width: 14px; height: 14px; }
.jx-stage { max-width: 1100px; margin: 0 auto; padding: 10px clamp(0px, 3vw, 32px) 10px; box-sizing: border-box; }
.jx-game { position: relative; border-radius: 14px; overflow: hidden; background: var(--jx-card); border: 1px solid var(--jx-line); }
.jx-cadre { display: block; width: 100%; height: 640px; border: 0; background: #fff; }
.jx-visiteur .jx-cadre { filter: blur(3px); opacity: 0.55; pointer-events: none; }
.jx-wall { position: absolute; inset: 0; display: grid; place-items: center; padding: 16px; }
.jx-wall > div { background: var(--jx-card); color: var(--jx-ink); border-radius: 18px; padding: 20px 22px; max-width: 360px; text-align: center; box-shadow: 0 12px 30px #0005; }
.jx-wall h2 { margin: 0 0 6px; font-size: 20px; color: var(--jx-green); }
.jx-wall p { margin: 0 0 14px; font-size: 14px; color: var(--jx-muted); line-height: 1.45; }
.jx-login { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 16px; border-radius: 12px; background: var(--jx-green); color: #fff; text-decoration: none; font-weight: 700; }
.jx-wall small { display: block; margin-top: 10px; font-size: 12px; color: var(--jx-muted); }
.jx-wall small a { color: var(--jx-green); font-weight: 700; }
.jx-bottom { display: none; }
@media (max-width: 719px) {
  .jx-today { grid-template-columns: 1fr; gap: 8px; }
  .jx-grid { gap: 10px; }
  .jx-tile { min-height: 0; }
  .jx-visual { height: 110px; }
  .jx-tile.jx-wide { flex-direction: column; }
  .jx-tile.jx-wide .jx-visual { width: 100%; height: 190px; min-height: 0; }
  .jx-body h2 { font-size: 15px; }
  .jx-body p { font-size: 12px; }
  .jx-fan { transform: scale(0.8); }
  .jx-booster { width: 52px; right: 10px; }
  /* Téléphone : la barre des jeux passe en bas, sous le pouce. */
  .jx-bar { display: none; }
  .jx-bottom { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: var(--jx-cream); border-top: 1px solid var(--jx-line); padding: 6px 8px calc(6px + env(safe-area-inset-bottom)); }
  .jx-bottom .jx-bar-in { padding: 0; gap: 6px; }
  .jx-page-jeu .jx-stage { padding: 0 0 64px; }
  .jx-page-jeu .jx-game { border-radius: 0; border-left: 0; border-right: 0; }
}
@media (min-width: 720px) {
  .jx-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .jx-wide .jx-visual { width: 40%; }
  .jx-fan { transform: scale(1.05); }
}
@media (min-width: 1000px) {
  .jx-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .jx-tile.jx-wide { grid-column: 1 / 3; grid-row: span 2; }
  .jx-wide .jx-visual { width: 50%; }
  /* Tuile haute : l'éventail est centré verticalement, un peu plus grand (relecture 1.65.0). */
  .jx-fan { height: 150px; transform: scale(1.25); }
  .jx-fan img { bottom: 0; }
  .jx-booster { width: 74px; right: 22px; bottom: 18px; }
  .jx-tile.jx-slim { grid-column: 1 / -1; grid-row: auto; }
}
/* 1.67.0 (Rudy) : tuile Pronos = le bandeau du jeu (Impact, crème sur vert foncé) + la prochaine journée, trois matchs logo contre logo. */
.jx-visual.jx-visual-pronos { height: auto; min-height: 132px; align-items: stretch; padding: 0; }
.jx-pronos { display: flex; flex-direction: column; width: 100%; min-width: 0; }
.jx-pronos-bandeau { display: block; padding: 8px 12px; background: #0e3d2e; color: #faf6ec; font: 400 clamp(18px, 5vw, 24px)/1.1 Impact, 'Arial Narrow', sans-serif; text-transform: uppercase; letter-spacing: .01em; text-align: center; }
.jx-pronos-journee { margin: 8px 10px 4px; font: 700 12px/1.3 Arial, Helvetica, sans-serif; color: var(--jx-green); text-align: center; }
.jx-pronos-note { margin: 4px 10px 12px; font: 400 12px/1.35 Arial, Helvetica, sans-serif; color: var(--jx-muted); text-align: center; }
.jx-pronos-matchs { display: flex; flex-direction: column; gap: 4px; padding: 0 10px 10px; }
.jx-pronos-match { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 6px; }
.jx-pronos-match img { width: 100%; max-width: 72px; height: 30px; object-fit: contain; justify-self: center; mix-blend-mode: multiply; }
.jx-pronos-match i { font: 800 10px/1 Arial, Helvetica, sans-serif; letter-spacing: .1em; color: var(--jx-muted); text-transform: uppercase; font-style: normal; }
/* 1.67.0 (Rudy) : chaque tuile porte le logo officiel du jeu, tel que le jeu l'affiche. Pocket : son en-tête (or sur vert nuit). */
.jx-visual.jx-visual-pocket { flex-direction: column; align-items: stretch; height: auto; min-height: 190px; padding: 0; }
.jx-pocket-tete { display: flex; justify-content: center; align-items: center; padding: 8px 14px; background: #071c17; }
.jx-pocket-logo { display: block; width: min(206px, 100%); height: auto; }
.jx-pocket-scene { position: relative; flex: 1; display: flex; align-items: center; justify-content: center; min-height: 150px; }
.jx-visual.jx-visual-logo { flex-direction: column; gap: 8px; height: auto; min-height: 132px; padding: 10px 8px; }
.jx-logo-jeu { display: block; height: 38px; width: auto; max-width: 100%; object-fit: contain; }
.jx-logo-cache { display: block; height: 40px; width: auto; max-width: 100%; object-fit: contain; }
.jx-body h2 .lbb-tiret { display: inline; }
@media (max-width: 719px) { .jx-visual.jx-visual-logo { min-height: 110px; } .jx-tile.jx-wide .jx-visual.jx-visual-pocket { height: auto; } .jx-pocket-scene { min-height: 160px; } }
@media (max-width: 340px) { .jx-body h2 .lbb-tiret { display: none; } }
/* 1.67.0 : la pastille « Nouveau » ne couvre pas le logo Pocket ; billes un peu plus petites sur téléphone. */
@media (min-width: 720px) { .jx-tile.jx-wide .jx-pocket-tete { padding-top: 44px; } }
@media (max-width: 719px) { .jx-visual-logo .jx-ball { width: 34px; height: 34px; } .jx-visual-logo .jx-balls { gap: 8px; } }
/* 1.67.0 (Rudy) : tuile Mon petit billard = l'encadré de l'en-tête du jeu (mêmes couleurs et proportions que .mpb-tete-140). */
.jx-visual.jx-visual-mpb { height: auto; min-height: 132px; padding: 12px 14px; }
.jx-mpb-cadre { width: 100%; max-width: 300px; border: 6px solid #0e3d2e; border-radius: 18px; overflow: hidden; background: #f8f1e4; box-shadow: 0 8px 24px rgb(9 47 37 / .12); }
.jx-mpb-logo { padding: 10px 14px 6px; line-height: 0; }
.jx-mpb-logo .mpb-logo { display: block; width: 100%; height: auto; }
.jx-mpb-bande { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 7px 12px 8px; background: #0e3d2e; color: #f8f1e4; font: 800 10px/1.2 Arial, Helvetica, sans-serif; letter-spacing: .12em; white-space: nowrap; }
.jx-mpb-bande b { font: 900 13px/1.1 Impact, 'Arial Narrow', sans-serif; letter-spacing: .02em; }
@media (max-width: 719px) { .jx-visual.jx-visual-mpb { padding: 10px; } .jx-mpb-cadre { border-width: 5px; border-radius: 14px; } .jx-mpb-bande { padding: 6px 9px 7px; font-size: 9px; letter-spacing: .08em; } .jx-mpb-bande b { font-size: 12px; } }
/* 1.67.0 : sur téléphone la bande de l'encadré MPB passe sur deux lignes plutôt que de couper la date. */
.jx-mpb-bande { flex-wrap: wrap; }
@media (max-width: 719px) { .jx-mpb-bande { justify-content: center; row-gap: 2px; text-align: center; } .jx-mpb-bande b { flex: 0 0 100%; } }
/* 1.68.0 (Rudy) : tuile Mon petit prono = l'encadré au modèle de Mon petit billard (logo dans le panneau crème, bande verte avec la journée), les rencontres dessous. */
.jx-visual.jx-visual-pronos { flex-direction: column; align-items: center; gap: 8px; height: auto; min-height: 132px; padding: 12px 14px; }
.jx-visual-pronos .jx-pronos-matchs, .jx-visual-pronos .jx-pronos-note { width: 100%; max-width: 300px; padding: 0; margin: 0; }
.jx-visual-pronos .jx-pronos-note { padding-bottom: 2px; }
@media (max-width: 719px) { .jx-visual.jx-visual-pronos { padding: 10px; } }
/* 1.68.0 (Rudy) : /jeux sans bloc de titre (h1 masqué), raccourcis en haut, Mon petit billard et Mon petit prono d'abord, Pocket ensuite. */
.jx-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.jx-main { padding-top: 12px; }
@media (min-width: 720px) and (max-width: 999px) { .jx-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .jx-tile.jx-wide { grid-column: 3 / 5; grid-row: 1 / span 2; } }
/* 1.69.0 (Rudy) : logos des jeux sur les tuiles : Billardeux Crush (n° 03) à la place des billes, Jeanjean Casse Tout (n° 04) une fois trouvé. */
.jx-visual.jx-visual-crush { padding: 10px 12px; }
.jx-logo-crush { display: block; width: min(240px, 100%); height: auto; }
.jx-logo-cache { display: block; width: 100%; max-width: 110px; height: auto; margin: 0 auto; }
.jx-slim .jx-visual { padding: 6px; }
/* 1.69.0 (Rudy) : menu du téléphone en 3 + 4 (Première Bande passe sur la ligne du bas, avant Jeux). */
@media (max-width:850px) {
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-112 a[data-ligne="haut"] { flex: 0 0 33.333%; }
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-112 a[data-ligne="bas"] { flex: 0 0 25%; padding-inline: 2px !important; letter-spacing: -0.1px; }
}
/* 1.69.0 (Rudy) : Mon petit prono SANS encadré : le logo seul sur le crème, la journée et les rencontres en texte simple dessous. */
.jx-mpp-logo-1690 { display: block; width: 100%; max-width: 236px; padding: 6px 0 2px; }
.jx-mpp-logo-1690 .mpb-logo { display: block; width: 100%; height: auto; }
.jx-visual-pronos .jx-pronos-journee { margin: 0; }
@media (max-width: 719px) { .jx-mpp-logo-1690 { max-width: 150px; padding-top: 10px; } }
/* 1.70.1 (Rudy) : Mon petit billard et Mon petit prono : même hauteur de visuel (fond vert pâle qui s'arrête sur la même ligne) ;
   le visuel prono = logo + journée seulement, la note ou les rencontres sont sous le titre. */
.jx-visual.jx-visual-mpb, .jx-visual.jx-visual-pronos { height: 132px; min-height: 0; padding: 10px; box-sizing: border-box; justify-content: center; gap: 6px; overflow: hidden; }
.jx-visual-pronos .jx-mpp-logo-1690 { max-width: 150px; padding: 0; }
.jx-visual-pronos .jx-pronos-journee { margin: 0; font-size: 11.5px; line-height: 1.2; white-space: nowrap; }
.jx-body .jx-pronos-note { margin: 0 0 4px; text-align: left; font-size: 12px; }
.jx-body .jx-pronos-matchs { padding: 2px 0 6px; max-width: none; }
.jx-body .jx-pronos-match img { height: 26px; max-width: 64px; }
@media (min-width: 720px) { .jx-visual.jx-visual-mpb, .jx-visual.jx-visual-pronos { height: 153px; padding: 12px 14px; } .jx-visual-pronos .jx-mpp-logo-1690 { max-width: 196px; } .jx-visual-pronos .jx-pronos-journee { font-size: 12px; } }@media (min-width: 720px) and (max-width: 999px) { .jx-visual-mpb .jx-mpb-cadre { max-width: 250px; } }
/* 1.70.1 (Rudy, 13 h 40) : « tout sur la première page » au téléphone : raccourcis sur une ligne, marges serrées,
   rangée MPB / prono plus basse (description sur deux lignes au plus), éventail Pocket moins haut. */
@media (max-width: 719px) {
  .jx-main { padding-top: 8px; }
  .jx-today { gap: 6px; margin-bottom: 10px; }
  .jx-today a { min-height: 42px; padding: 6px 10px; gap: 8px; }
  .jx-today .jx-ico { width: 28px; height: 28px; }
  .jx-today .jx-ico svg { width: 17px; height: 17px; }
  .jx-today a > span:last-child { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 6px; min-width: 0; }
  .jx-today b { font-size: 13px; }
  .jx-today small { font-size: 11.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
  .jx-grid { gap: 8px; }
  .jx-body { padding: 8px 10px 10px; gap: 3px; }
  .jx-body h2 { font-size: 15px; }
  .jx-body p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .jx-cta { padding-top: 6px; }
  .jx-visual.jx-visual-pocket { min-height: 0; }
  .jx-pocket-scene { min-height: 112px; }
  .jx-fan { transform: scale(0.62); height: 150px; }
  .jx-fan img { bottom: 0; }
  .jx-booster { width: 44px; right: 8px; bottom: 6px; }
}@media (max-width: 360px) { .jx-tile.jx-wide .jx-pocket-tete { padding-top: 36px; } }
/* ===== 1.71.0 (Rudy, 14 h 40) : barre des jeux en haut partout, en onglets façon appli, le mini-logo seul ===== */
/* Collante sous l'en-tête du site (hauteur mesurée par entete-1-0-0.js), sur /jeux et dans chaque coquille ; 44 px de haut. */
html body .jx-bar { display: block; position: sticky; top: var(--jx-haut-entete, 61px); z-index: 35; background: #fbf5e8; border-bottom: 1px solid #d0dac5; }
html body .jx-bar .jx-bar-in { max-width: 1100px; margin: 0 auto; display: flex; align-items: stretch; gap: 0; height: 44px; padding: 0 clamp(4px, 2vw, 24px); overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -webkit-overflow-scrolling: touch; box-sizing: border-box; }
html body .jx-bar .jx-bar-in::-webkit-scrollbar { display: none; }
/* Tant qu'il reste des onglets à droite, un léger fondu invite à glisser. */
html body .jx-bar .jx-bar-in.jx-defile { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 32px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 32px), transparent); }
html body .jx-bar .jx-tab { flex: 0 0 auto; position: relative; display: flex; align-items: center; justify-content: center; min-width: 52px; height: 44px; margin: 0; padding: 0 12px; border: 0; border-radius: 0; background: none; color: #0e3d2e; text-decoration: none; box-sizing: border-box; }
html body .jx-bar .jx-tab img { display: block; width: auto; height: 24px; max-width: none; }
html body .jx-bar .jx-tab > svg { width: 22px; height: 22px; }
html body .jx-bar .jx-tab-cart { display: flex; align-items: center; height: 24px; padding: 0 6px; border-radius: 5px; background: #071c17; box-sizing: border-box; }
html body .jx-bar .jx-tab-cart img { height: 17px; }
/* Le logo de Billardeux Crush tient sur deux lignes : un peu plus haut pour rester lisible. */
html body .jx-bar .jx-tab img[src$="logo-billardeux-crush.svg"] { height: 30px; }
@media (max-width: 759px) { html body .jx-bar .jx-tab { padding: 0 15px; } }
html body .jx-bar .jx-tab-galaxie { display: flex; gap: 3px; }
html body .jx-bar .jx-tab-galaxie svg { width: 20px; height: 20px; padding: 2px; border: 1px solid #c9d2bd; border-radius: 5px; background: #fffdf7; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; box-sizing: border-box; }
html body .jx-bar .jx-tab-secret { font: 800 17px/1 Arial, Helvetica, sans-serif; letter-spacing: .08em; color: #0e3d2e; }
html body .jx-bar .jx-tab:hover, html body .jx-bar .jx-tab.jx-on { background: #f1e9d4; }
html body .jx-bar .jx-tab.jx-on::after { content: ''; position: absolute; left: 10px; right: 10px; bottom: 0; height: 3px; border-radius: 3px 3px 0 0; background: #b49343; }
html body .jx-bar .jx-tab:focus-visible { outline: 3px solid #b8401f; outline-offset: -3px; }
@media (min-width: 760px) { html body .jx-bar .jx-bar-in { justify-content: center; } html body .jx-bar .jx-tab { padding: 0 18px; } }
@media (min-width: 851px) { html body .jx-bar { top: var(--jx-haut-entete, 65px); } }
/* Plus de barre en bas : le cadre du jeu descend jusqu'au bas de l'écran. */
html body .jx-bottom { display: none !important; }
@media (max-width: 719px) { html body.jx-page-jeu .jx-stage { padding: 0; } }

/* ===== 1.71.0 (Rudy) : /jeux = lanceur, une grille de logos ===== */
/* Deux tuiles par rangée au téléphone, trois au-delà ; même hauteur dans une rangée ; logo centré, sans déformation. */
.jx-lanceur { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 148px; gap: 8px; }
@media (min-width: 720px) { .jx-lanceur { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 176px; gap: 12px; } }
@media (min-width: 1000px) { .jx-lanceur { grid-auto-rows: 200px; gap: 14px; } }
.jx-lt { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-width: 0; min-height: 0; padding: 10px; box-sizing: border-box; overflow: hidden; border: 1px solid var(--jx-line); border-radius: 18px; background: #eceee3; color: inherit; text-decoration: none; }
a.jx-lt { transition: box-shadow .15s, transform .15s; }
a.jx-lt:hover { box-shadow: 0 8px 20px rgb(9 47 37 / .16); }
a.jx-lt:active { transform: scale(.985); }
a.jx-lt:focus-visible { outline: 3px solid #b8401f; outline-offset: 2px; }
.jx-lt img { display: block; max-width: 100%; max-height: 100%; height: auto; object-fit: contain; }
/* Pastilles : petites, dans le coin haut droit. */
.jx-lt-pastille { position: absolute; top: 8px; right: 8px; z-index: 2; padding: 4px 7px; border-radius: 999px; font: 800 9.5px/1 Arial, Helvetica, sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.jx-lt-new { background: var(--jx-red); color: #fff; }
.jx-lt-beta { background: var(--jx-gold); color: #1d1a10; }
/* Pocket : le logo 1.4.0 a sur vert nuit. */
.jx-lt-pocket { background: #071c17; border-color: #071c17; }
.jx-lt-logo-pocket { width: min(92%, 300px); }
/* Mon petit billard : son encadré complet, bande de journée comprise. */
.jx-lt-mpb .jx-mpb-cadre { width: 100%; max-width: 300px; box-shadow: none; }
@media (min-width: 720px) and (max-width: 999px) { .jx-lt-mpb .jx-mpb-cadre { max-width: 250px; } }
/* Mon petit prono : le logo seul sur crème, la journée en petit dessous. */
.jx-lt-pronos { background: var(--jx-card); }
.jx-lt-pronos .jx-mpp-logo-1690 { width: 100%; max-width: 150px; padding: 0; }
.jx-lt-pronos .jx-pronos-journee { max-width: 100%; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 700 clamp(10px, 3vw, 12px)/1.2 Arial, Helvetica, sans-serif; color: var(--jx-green); text-align: center; }
@media (min-width: 720px) { .jx-lt-pronos .jx-mpp-logo-1690 { max-width: 210px; } }
@media (min-width: 1000px) { .jx-lt-pronos .jx-mpp-logo-1690 { max-width: 250px; } }
/* Billardeux Crush : le logo n° 03 sur vert pâle. */
.jx-lt-logo-crush { width: min(94%, 300px); }
/* La galaxie : sa grille d'icônes. */
.jx-lt-galaxie .jx-mini { grid-template-columns: repeat(3, 32px); gap: 6px; }
.jx-lt-galaxie .jx-mini span { width: 32px; height: 32px; }
.jx-lt-galaxie .jx-mini svg { width: 20px; height: 20px; }
@media (min-width: 720px) { .jx-lt-galaxie .jx-mini { grid-template-columns: repeat(3, 40px); gap: 8px; } .jx-lt-galaxie .jx-mini span { width: 40px; height: 40px; } .jx-lt-galaxie .jx-mini svg { width: 24px; height: 24px; } }
/* Jeu caché : « ??? », puis le logo de Jeanjean une fois trouvé. */
.jx-lt-cache .jx-secret { font-size: clamp(28px, 8vw, 40px); }
a.jx-lt-cache .jx-secret { color: var(--jx-green); }
.jx-lt-cache .jx-logo-cache { width: min(92%, 300px); max-width: 100%; margin: 0; }

/* 1.71.0 : dans le cadre de la coquille, Mon petit billard est seul à l'écran : ses onglets du bas sont toujours visibles.
   (L'observateur qui les montre sur Mon espace, mpb-visible-1552, ne se déclenche pas dans le cadre : onglets masqués depuis 1.67.0.) */
html body.jx-dans-cadre #jeux-mpb:not(.mpb-visible-1552) .mpb-onglets { visibility: visible; pointer-events: auto; }
/* 1.71.0 (Rudy) : dans le cadre, plus de « ← Jeux » en haut de Mon petit billard et de Mon petit prono (« Tous les jeux » est juste au-dessus). */
html body.jx-dans-cadre .pr-fil:has(> a[href="/jeux"]), html body.jx-dans-cadre a.pronos-retour-110[href="/jeux"] { display: none !important; }

/* ===== 1.71.1 (Rudy, 14 h 35) : sur /jeux, le visuel de chaque jeu REMPLIT sa vignette, bord à bord ===== */
/* Une seule règle pour les six tuiles : marge intérieure fine et identique (8 px au téléphone, 10 px dès 720, 12 px dès 1000),
   rien d'autre dedans ; les logos SVG sont mis à l'échelle sans déformation (contain). */
.jx-lanceur .jx-lt { padding: 8px; gap: 4px; }
@media (min-width: 720px) { .jx-lanceur .jx-lt { padding: 10px; } }
@media (min-width: 1000px) { .jx-lanceur .jx-lt { padding: 12px; } }
.jx-lanceur .jx-lt-pastille { display: none; }
.jx-lanceur .jx-lt > img, .jx-lanceur .jx-lt-cache .jx-logo-cache { width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; object-fit: contain; }
/* Pocket : le vert nuit sur toute la tuile, le logo aussi large que la tuile moins la marge. */
.jx-lanceur .jx-lt-logo-pocket { width: 100%; }
/* Mon petit billard : l'encadré devient la tuile. Le cadre vert = les bords de la tuile ; le panneau crème et la bande de journée la remplissent. */
.jx-lanceur .jx-lt-mpb { background: #0e3d2e; border-color: #0e3d2e; padding-bottom: 0; }
.jx-lanceur .jx-lt-mpb .jx-mpb-cadre { display: flex; flex-direction: column; width: 100%; height: 100%; max-width: none; border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: visible; }
.jx-lanceur .jx-lt-mpb .jx-mpb-logo { flex: 1 1 auto; min-height: 0; display: flex; align-items: center; justify-content: center; padding: 6px 8px; border-radius: 10px; background: #f8f1e4; }
.jx-lanceur .jx-lt-mpb .jx-mpb-logo .mpb-logo { width: 100%; height: 100%; }
.jx-lanceur .jx-lt-mpb .jx-mpb-bande { flex: none; background: transparent; padding: 6px 4px 8px; }
@media (min-width: 1000px) { .jx-lanceur .jx-lt-mpb .jx-mpb-bande { padding: 8px 6px 11px; font-size: 11px; } .jx-lanceur .jx-lt-mpb .jx-mpb-bande b { font-size: 15px; } }
/* Mon petit prono : le logo à toute la largeur disponible, la journée en petit dessous (elle tient partout). */
.jx-lanceur .jx-lt-pronos .jx-mpp-logo-1690 { flex: 1 1 auto; min-height: 0; width: 100%; max-width: none; display: flex; align-items: center; justify-content: center; }
.jx-lanceur .jx-lt-pronos .jx-mpp-logo-1690 .mpb-logo { width: 100%; height: 100%; }
.jx-lanceur .jx-lt-pronos .jx-pronos-journee { flex: none; }
/* La galaxie : sa grille d'icônes, carrée, à toute la hauteur de la tuile. */
.jx-lanceur .jx-lt-galaxie { container-type: size; }
.jx-lanceur .jx-lt-galaxie .jx-mini { width: min(100cqw, 100cqh); height: min(100cqw, 100cqh); grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 7%; }
.jx-lanceur .jx-lt-galaxie .jx-mini span { width: auto; height: auto; min-width: 0; min-height: 0; border-radius: 22%; }
.jx-lanceur .jx-lt-galaxie .jx-mini svg { width: 62%; height: 62%; }
/* Jeu caché : « ??? » à la taille de la tuile, puis le logo de Jeanjean bord à bord une fois trouvé. */
.jx-lanceur .jx-lt-cache .jx-secret { font-size: clamp(44px, 15vw, 88px); line-height: 1; }

/* ===== 1.71.2 (Rudy, 14 h 55) : deux fonds seulement dans la grille de /jeux ===== */
/* Sombre = vert nuit #071C17 : Pocket, Billardeux Crush, et le jeu caché une fois trouvé (logo Jeanjean recadré sur sa plaque).
   Clair = gris-vert #eceee3 : Mon petit prono, La galaxie, « ??? » (le gris-vert garde les icônes de la galaxie lisibles).
   Mon petit billard garde son encadré vert #0e3d2e : c'est son logo. */
.jx-lanceur .jx-lt-pocket, .jx-lanceur .jx-lt-crush, .jx-lanceur a.jx-lt-cache { background: #071c17; border-color: #071c17; }
.jx-lanceur .jx-lt-pronos, .jx-lanceur .jx-lt-galaxie, .jx-lanceur div.jx-lt-cache { background: #eceee3; border-color: var(--jx-line); }

/* 1.72.1 (audit I2) : menu sur ordinateur, les tirets de « - Première Bande - » gardent leurs espaces
   (dans le lien en flex, les deux span deviennent des blocs et perdaient l'espace de bord). Téléphone inchangé. */
@media (min-width: 851px) { html body > header.lbb-entete .lbb-menu a .lbb-tiret { white-space: pre; } }

/* ===== 1.73.0 (Rudy) : mur visiteur des jeux — aperçu fixe du vrai écran et carte « Visite guidée » ===== */
.jx-mur-1730 { position: relative; overflow: hidden; }
.jx-mur-1730 .jx-apercu-1730 { position: relative; filter: none; opacity: 1; pointer-events: none; background: #f6f0e2; overflow: hidden; min-height: 420px; }
.jx-apercu-1730 picture, .jx-apercu-1730 img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.jx-voile-1730 { position: absolute; inset: 0; z-index: 2; background: linear-gradient(180deg, rgba(7,28,23,.16) 0%, rgba(7,28,23,.36) 45%, rgba(7,28,23,.7) 100%); pointer-events: none; }
.jx-carte-1730 { position: absolute; z-index: 3; left: 50%; bottom: max(12px, env(safe-area-inset-bottom)); transform: translateX(-50%); width: min(520px, calc(100% - 24px)); box-sizing: border-box; padding: 12px 14px 8px; border-radius: 18px; box-shadow: 0 16px 40px rgba(0,0,0,.38); font: 400 15px/1.35 Arial, Helvetica, sans-serif; text-align: center; }
.jx-carte-sombre-1730 { background: #071c17; color: #f3ebda; border: 1px solid rgba(230,191,104,.35); }
.jx-carte-clair-1730 { background: #f8f1e4; color: #0e3d2e; border: 1px solid #e3d6b8; }
.jx-logo-1730 { display: block; height: 46px; width: auto; max-width: 70%; margin: 0 auto 6px; object-fit: contain; }
.jx-carte-crush-1730 .jx-logo-1730, .jx-carte-cache-1730 .jx-logo-1730 { height: 52px; }
.jx-logo-mpb-1730 { width: max-content; } .jx-logo-mpb-1730 svg { display: block; height: 46px; width: auto; }
.jx-logo-galaxie-1730 { display: flex; align-items: center; justify-content: center; gap: 6px; width: auto; max-width: none; height: auto; font: 900 24px/1 Impact, "Arial Narrow", sans-serif; letter-spacing: .02em; }
.jx-logo-galaxie-1730 svg { width: 26px; height: 26px; padding: 3px; border: 1px solid #c9d2bd; border-radius: 6px; background: #fffdf7; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; box-sizing: border-box; }
.jx-logo-galaxie-1730 b { margin-left: 4px; font-weight: 400; }
.jx-points-1730 { list-style: none; margin: 2px 0 10px; padding: 0; display: grid; gap: 6px; text-align: left; }
.jx-points-1730 li { display: flex; align-items: center; gap: 10px; font-size: clamp(12.5px, 3.75vw, 15px); font-weight: 700; line-height: 1.25; }
.jx-points-1730 svg { flex: none; width: 30px; height: 30px; padding: 6px; box-sizing: border-box; border-radius: 50%; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.jx-carte-sombre-1730 .jx-points-1730 svg { background: rgba(243,235,218,.1); color: #e6bf68; }
.jx-carte-clair-1730 .jx-points-1730 svg { background: #ece2cc; color: #b8401f; }
.jx-bouton-1730 { display: flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 12px; border-radius: 12px; font: 800 clamp(14px, 4vw, 16px)/1.15 Arial, Helvetica, sans-serif; text-decoration: none; }
.jx-carte-pocket-1730 .jx-bouton-1730 { background: #e6bf68; color: #071c17; }
.jx-carte-crush-1730 .jx-bouton-1730, .jx-carte-cache-1730 .jx-bouton-1730 { background: #e8b931; color: #071c17; }
.jx-carte-mpb-1730 .jx-bouton-1730, .jx-carte-pronos-1730 .jx-bouton-1730 { background: #b8401f; color: #f8f1e4; }
.jx-carte-galaxie-1730 .jx-bouton-1730 { background: #0e3d2e; color: #f8f1e4; }
.jx-bouton-1730:focus-visible, .jx-lien-1730:focus-visible { outline: 3px solid #b8401f; outline-offset: 2px; }
.jx-petit-1730 { margin: 6px 0 0; font-size: 11.5px; opacity: .85; }
.jx-lien-1730 { display: inline-block; margin-top: 2px; padding: 8px 6px; font-weight: 700; font-size: 14px; color: inherit; }
@media (min-width: 720px) { .jx-carte-1730 { padding: 18px 24px 12px; bottom: 24px; } .jx-points-1730 li { font-size: 15px; } }

/* 1.73.2 (réparation) : l’aperçu du mur visiteur montre toute la largeur du vrai écran, calé en haut, quelle que soit la hauteur
   de la zone ; ce qui reste en bas prend la couleur du fond du jeu (avant : « cover » coupait les côtés dès que la zone était plus haute que l’image). */
.jx-mur-1730 .jx-apercu-1730 picture { height: auto; }
.jx-mur-1730 .jx-apercu-1730 img { width: 100%; height: auto; max-width: none; object-fit: fill; }
.jx-mur-1730:has(.jx-carte-pocket-1730) .jx-apercu-1730 { background: #0a221c; }
.jx-mur-1730:has(.jx-carte-mpb-1730) .jx-apercu-1730 { background: #faf4e7; }
.jx-mur-1730:has(.jx-carte-pronos-1730) .jx-apercu-1730 { background: #fcf5e8; }
.jx-mur-1730:has(.jx-carte-crush-1730) .jx-apercu-1730 { background: #f6f1e5; }
.jx-mur-1730:has(.jx-carte-galaxie-1730) .jx-apercu-1730 { background: #f4f3e8; }
.jx-mur-1730:has(.jx-carte-cache-1730) .jx-apercu-1730 { background: #f9f5e6; }
/* 1.82.3 (Pilotage, audit du 25/10) : lisibilité sur téléphone, aucun texte public sous 12 px (13 px pour les textes à lire).
   Un seul bloc, chargé en dernier sur toutes les pages ; cartes, feuilles de match, jeux et atelier non touchés. */
@media (max-width: 640px) {
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-112 a[href] { font-size: 13px !important; }
  html body .lbb-pied-infos { flex-wrap: wrap !important; row-gap: 4px !important; font-size: 12px !important; letter-spacing: 0 !important; }
  html body .lbb-pied-infos a { font-size: 12px !important; }
  html body .lbb-pied-infos::before { content: ""; flex: 0 0 100%; order: 1; }
  html body .lbb-pied-infos a:nth-child(n+4) { order: 2; }
  html body .lbb-pied-infos a:nth-child(4)::before { content: none !important; }
  html body > footer.lbb-pied .lbb-pied-contacts a { font-size: 15px !important; }
  html body .lbb-hero-120 .lbb-hero-sur-120 { font-size: 12px !important; letter-spacing: .03em !important; white-space: normal !important; }
  html body .lbb-equipes-liste-121 .lbb-rang-123, html body .lbb-equipes-liste-121 span { font-size: 12px !important; }
  html body .news-text small { font-size: 12px !important; }
  html body .asso58-frise li small { font-size: 12px !important; }
  html body.calendrier-150 #main .cal-150-flash-jour, html body.calendrier-150 #main .cal-150-flash-texte small { font-size: 12px !important; }
  html body.calendrier-150 #main .cal-150-flash-texte b { font-size: 13px !important; }
  html body.rdv-tool.rdv-mois-130 #main #a-legende-130 li, html body.rdv-tool.rdv-mois-130.cal181 #main #a-legende-130 button { font-size: 12px !important; }
  html body.rdv-tool .cl-rang small { font-size: 12px !important; line-height: 1.05 !important; white-space: normal !important; text-align: center; }
  html body #collection .filters > label { font-size: 12px !important; }
  html body .personal-backup-v85 p { font-size: 13px !important; }
  html body > header.lbb-entete .lbb-accueil-137 span { font-size: 12px !important; }
}
@media (max-width: 360px) {
  html body .eq-bilan li, html.lbb-rdv-classements body.rdv-tool #rdv-classements-123 .cl-equipe small.cl-bilan-1481 { font-size: 12px !important; }
  html body.rdv-tool.rdv-mois-130 #main #rdv-barre-123 nav#views > button, html body #ma-collection .personal-shortcuts-v71 :is(#show-doubles, #show-owned, #show-missing) { font-size: 12px !important; }
}

/* ===== 1.83.0 (Rudy) : version PC — un vrai site d'ordinateur (gabarit commun, Résultats, fiche café, page d'équipe) =====
   Règle absolue : tout ce bloc est sous @media (min-width: 900px) ou (min-width: 1100px) ;
   sous 900 px, rien ne change (le téléphone reste exactement comme il est). Mon espace (main#app) n'est pas touché. */
@media (min-width: 900px) {
  /* Pied de page d'ordinateur : logo à gauche, contacts et liens à droite, alignés sur le contenu. */
  html body:not(:has(> main#app)) > footer.lbb-pied { grid-template-columns: auto minmax(0, 1fr) !important; grid-template-areas: 'logo contacts' 'logo infos' !important; justify-items: end !important; align-items: center; column-gap: 40px; row-gap: 6px; padding-inline: max(24px, calc((100% - 1240px) / 2)) !important; text-align: right !important; }
  html body:not(:has(> main#app)) > footer.lbb-pied .lbb-pied-logo { justify-self: start; }
  html body:not(:has(> main#app)) > footer.lbb-pied :is(.lbb-pied-contacts, .lbb-pied-infos) { justify-content: flex-end !important; }
  /* Première Bande : onglets et raccourcis à la taille du texte, à gauche, plus une barre de téléphone en trois tiers. */
  html body nav.collection-spaces { display: flex !important; justify-content: flex-start !important; gap: 8px !important; }
  html body nav.collection-spaces > a { flex: 0 0 auto !important; width: auto !important; min-width: 0 !important; padding-inline: 22px !important; }
  html body #collection .personal-shortcuts-v71 { display: flex !important; flex-wrap: wrap; justify-content: flex-start !important; gap: 8px !important; }
  html body #collection .personal-shortcuts-v71 > * { flex: 0 0 auto !important; width: auto !important; min-width: 0 !important; padding-inline: 22px !important; }
}

@media (min-width: 1100px) {
  /* Résultats Intercafés : le classement à gauche, les journées à droite. */
  html body.rdv-tool section#rdv-classements-123 { display: flow-root !important; max-width: none !important; }
  html body.rdv-tool section#rdv-classements-123 > :is(ol.cl-equipes, .cl-rejoindre-127, .cl-jeux-audit-100) { float: left; clear: left; box-sizing: border-box; width: calc(50% - 14px) !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
  html body.rdv-tool section#rdv-classements-123 > :is(h2, article.cl-journee) { margin-left: calc(50% + 14px) !important; }
  html body.rdv-tool section#rdv-classements-123 > h2 { margin-top: 0 !important; }
  /* Les trois onglets des résultats : une barre compacte à gauche, pas trois tiers de l'écran. */
  html body.rdv-tool #rdv-onglets-123 .rdv-resultats-141 { justify-self: start; }
  html body.rdv-tool #rdv-onglets-123 .rdv-resultats-141 > div { grid-template-columns: repeat(3, minmax(150px, 190px)) !important; }

  /* Page d'équipe : plus large, l'effectif sur une ligne, les rencontres et le café côte à côte. */
  html body main.eq-main { display: grid; grid-template-columns: minmax(0, 1fr) 300px; column-gap: 32px; max-width: 1200px !important; }
  html body main.eq-main > * { grid-column: 1 / -1; min-width: 0; }
  html body main.eq-main > #eq-rencontres-bloc { grid-column: 1; }
  html body main.eq-main > #eq-cafe-bloc { grid-column: 2; }
  html body main.eq-main .eq-joueurs { grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)) !important; }

  /* Fiche d'un café : les photos en bandeau, chacune à sa proportion (rien de rogné), puis l'adresse et les rendez-vous côte à côte. */
  html body article#cafe-page-v32 { max-width: 1180px !important; }
  html body #cafe-page-v32 #modal-content { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 40px; align-items: start; }
  html body #cafe-page-v32 #modal-content > * { grid-column: 1 / -1; min-width: 0; }
  html body #cafe-page-v32 #modal-content > .cafe-practical-v93 { grid-column: 1; }
  html body #cafe-page-v32 #modal-content > .cafe-agenda-v93 { grid-column: 2; margin-top: 0 !important; }
  html body #cafe-page-v32 .cafe-gallery-v93 { gap: 12px !important; }
  html body #cafe-page-v32 .cafe-gallery-v93 > figure { flex: 0 0 auto !important; width: auto !important; }
  html body #cafe-page-v32 .cafe-gallery-v93 > figure .cafe-photo-open-v29 { width: auto !important; }
  html body #cafe-page-v32 .cafe-gallery-v93 > figure img { display: block; width: auto !important; max-width: none !important; height: 360px !important; }

  /* Actus : trois colonnes sous la une. */
  html body main #news-list { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  html body main #news-list .news-article:not(:first-child) h2 { font-size: 21px !important; }

  /* Première Bande : les filtres sur une seule ligne d'outils, « Rechercher » en premier (repéré par son champ #search). */
  html body #collection .filters { grid-template-columns: minmax(0, 2fr) repeat(5, minmax(0, 1fr)) !important; }
  html body #collection .filters > * { grid-area: auto !important; }
  html body #collection .filters > label:has(#search) { order: -1; }
}

/* ===== 1.83.1 (Pilotage) : fiche café sur ordinateur — la place des photos est réservée pendant leur chargement =====
   Avant l'arrivée de la photo, le cadre prend du 4/3 (480 × 360) au lieu de rester étroit et vide ;
   une fois la photo chargée, « auto » reprend ses vraies proportions : le rendu final ne change pas. */
@media (min-width: 1100px) {
  html body #cafe-page-v32 .cafe-gallery-v93 > figure img { aspect-ratio: auto 4 / 3; }
}

/* ===== 1.90.0 (Rudy) : scores en direct — le signal sous l'en-tête, sur toutes les pages publiques =====
   Écrit par le serveur le jour d'une journée seulement : bientôt (jaune, 30 min avant), en direct (rouge),
   terminé (vert, jusqu'à minuit). Un toucher mène à Résultats › En direct. Caché sur l'onglet En direct lui-même. */
html body > a.lbb-direct-signal { display: flex; align-items: center; gap: 10px; min-height: 48px; margin: 0; padding: 8px max(14px, calc((100vw - 1240px) / 2)); color: #fff; text-decoration: none; font: 800 14px/1.2 Arial, Helvetica, sans-serif; letter-spacing: 0; }
html body > a.lbb-direct-signal[hidden], html.lbb-direct-vue body > a.lbb-direct-signal { display: none; }
html body > a.lbb-direct-signal .lbb-ds-txt { display: grid; gap: 2px; min-width: 0; }
html body > a.lbb-direct-signal .lbb-ds-txt b { font: 800 14px/1.2 Arial, Helvetica, sans-serif; }
html body > a.lbb-direct-signal .lbb-ds-txt small { font: 700 12px/1.25 Arial, Helvetica, sans-serif; opacity: .94; }
html body > a.lbb-direct-signal .lbb-ds-voir { flex: 0 0 auto; margin-left: auto; padding: 8px 12px; border-radius: 999px; white-space: nowrap; font: 900 13px/1 Arial, Helvetica, sans-serif; }
html body > a.lbb-direct-signal[data-etat="direct"] { background: #c62828; }
html body > a.lbb-direct-signal[data-etat="direct"] .lbb-ds-voir { background: #fff; color: #b3261e; }
html body > a.lbb-direct-signal .lbb-ds-point { flex: 0 0 auto; width: 12px; height: 12px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 4px rgba(255, 255, 255, .32); animation: lbb-ds-pulse 1.8s ease-in-out infinite; }
@keyframes lbb-ds-pulse { 0%, 100% { box-shadow: 0 0 0 3px rgba(255, 255, 255, .38); } 50% { box-shadow: 0 0 0 8px rgba(255, 255, 255, .1); } }
@media (prefers-reduced-motion: reduce) { html body > a.lbb-direct-signal .lbb-ds-point { animation: none; } }
html body > a.lbb-direct-signal[data-etat="bientot"], html body > a.lbb-direct-signal[data-etat="avant"] { background: #f2c94c; color: #13251c; }
html body > a.lbb-direct-signal[data-etat="bientot"] .lbb-ds-voir, html body > a.lbb-direct-signal[data-etat="avant"] .lbb-ds-voir { background: #0b3d2c; color: #fff; }
html body > a.lbb-direct-signal .lbb-ds-min { flex: 0 0 auto; display: grid; place-items: center; width: 42px; height: 36px; border-radius: 8px; background: #0b3d2c; color: #f2c94c; font: 900 10px/1 Arial, Helvetica, sans-serif; }
html body > a.lbb-direct-signal .lbb-ds-min b { font: 900 15px/1 Arial, Helvetica, sans-serif; }
html body > a.lbb-direct-signal[data-etat="termine"] { background: #0b3d2c; }
html body > a.lbb-direct-signal[data-etat="termine"] .lbb-ds-voir { background: #f2c94c; color: #13251c; }
html body > a.lbb-direct-signal .lbb-ds-fin { flex: 0 0 auto; padding: 5px 7px; border-radius: 5px; background: rgba(255, 255, 255, .14); font: 900 11px/1 Arial, Helvetica, sans-serif; letter-spacing: .06em; }
@media (min-width: 900px) { html body > a.lbb-direct-signal { justify-content: center; gap: 14px; } html body > a.lbb-direct-signal .lbb-ds-voir { margin-left: 18px; } }
/* « Ma rencontre en cours » : grosse tuile dans Mon espace pour un compte qui saisit une rencontre (on retrouve sa feuille). */
html body > a.lbb-ma-rencontre { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px; align-items: center; margin: 12px max(14px, calc((100vw - 1240px) / 2)) 0; padding: 14px 16px; border-radius: 16px; background: #0b3d2c; color: #fff; text-decoration: none; box-shadow: 0 4px 0 #06251a; font: 700 14px/1.25 Arial, Helvetica, sans-serif; }
html body > a.lbb-ma-rencontre .lbb-mr-sur { grid-column: 1 / -1; color: #f2c94c; font: 900 12px/1 Arial, Helvetica, sans-serif; letter-spacing: .06em; text-transform: uppercase; }
html body > a.lbb-ma-rencontre b { font: 900 17px/1.2 Arial, Helvetica, sans-serif; }
html body > a.lbb-ma-rencontre .lbb-mr-score { padding: 6px 10px; border-radius: 10px; background: #fff; color: #0b3d2c; font: 900 20px/1 Impact, "Arial Narrow", Arial, sans-serif; white-space: nowrap; }
html body > a.lbb-ma-rencontre .lbb-mr-attente { grid-column: 1 / -1; padding: 6px 8px; border-radius: 8px; background: #fff3c4; color: #13251c; font: 800 13px/1.2 Arial, Helvetica, sans-serif; }
html body > a.lbb-ma-rencontre .lbb-mr-go { grid-column: 1 / -1; justify-self: start; margin-top: 6px; padding: 12px 16px; border-radius: 999px; background: #f2c94c; color: #13251c; font: 900 16px/1 Arial, Helvetica, sans-serif; }
/* Le jour J dès 9 h : bande jaune discrète « AUJOURD’HUI ». */
html body > a.lbb-direct-signal[data-etat="aujourdhui"] { background: #fff3c4; color: #13251c; border-bottom: 1px solid #ecd78a; }
html body > a.lbb-direct-signal[data-etat="aujourdhui"] .lbb-ds-voir { background: #0b3d2c; color: #fff; }
html body > a.lbb-direct-signal .lbb-ds-auj { flex: 0 0 auto; padding: 6px 8px; border-radius: 6px; background: #f2c94c; color: #13251c; font: 900 11px/1 Arial, Helvetica, sans-serif; letter-spacing: .06em; }
/* ===== 1.91.1 (Rudy) : les deux logos de la rencontre filmée dans la bande ===== */
.lbb-direct-signal .lbb-ds-logos { display: inline-flex; align-items: center; gap: 4px; margin-left: 6px; vertical-align: middle; }
.lbb-direct-signal .lbb-ds-logos img { height: 22px; width: auto; max-width: 44px; object-fit: contain; }
/* ===== 1.94.0 (audit du 26/10) : finitions — aucun texte informatif sous 12 px (téléphone ET ordinateur),
   contraste d'au moins 4,5, cibles de toucher d'au moins 44 px, ligne d'équipe des Résultats cliquable, h1 des jeux. ===== */
/* G8 : Résultats, toute la ligne de l'équipe (logo compris) ouvre sa page : le lien du nom s'étend à la ligne entière. */
html body.rdv-tool .cl-equipes > li.cl-equipe { position: relative; }
html body.rdv-tool .cl-equipes > li.cl-equipe .cl-equipe-lien::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
html body.rdv-tool .cl-equipes > li.cl-equipe:has(.cl-equipe-lien) { cursor: pointer; }
html body.rdv-tool .cl-equipes > li.cl-equipe:has(.cl-equipe-lien:hover) { border-color: #2f6a4f; box-shadow: 0 0 0 1px #2f6a4f; }
html body.rdv-tool .cl-equipes > li.cl-equipe:has(.cl-equipe-lien:focus-visible) { box-shadow: 0 0 0 3px #e8b931; }
/* P3 : Résultats — « ex æquo » en 12 px, et le gris des petits textes du classement foncé (contraste 4,0 → 6,3). */
html body.rdv-tool .cl-rang small { font-size: 12px; line-height: 1.05; white-space: normal; text-align: center; }
html body.rdv-tool :is(.cl-rang small, .cl-points small, .cl-nom small, .cl-journee h3 small) { color: #4f6358; }
/* G9 : Jeux — les textes des tuiles en 12 px. */
html body .jx-today small { font-size: 12px; }
html body .jx-mpb-bande { font-size: 12px !important; }
html body .jx-pronos-journee { font-size: 12px !important; }
html body .jx-petit-1730 { font-size: 12px; opacity: 1; }
/* P8 : le titre (h1) du mur d'un jeu est son logo ; il garde exactement son allure. */
html body .jx-h1-finitions { display: flex; justify-content: center; margin: 0; font: inherit; line-height: 0; }
/* P1 : Asso — la pastille « sam. / oct. » en 12 px ; liens e-mail, Facebook, Instagram de 44 px de haut. */
html body .asso38 .lbb-samedis-date-1810 small { font-size: 12px; opacity: 1; }
html body .asso38-contacts a { display: inline-flex; align-items: center; min-height: 44px; }
/* P2 : Accueil — les dates des prochains rendez-vous et les pastilles des équipes en 12 px, aussi sur ordinateur. */
html body .home-date-v98 span { font-size: 12px !important; }
html body .home-event-body-v98 .home-event-day-v98 { font-size: 12px; }
html body .lbb-equipes-liste-121 .lbb-rang-123, html body .lbb-equipes-liste-121 span { font-size: 12px !important; }
/* Calendrier, vue liste : le type du RDV, « Aucun RDV prévu » et la tuile « sam. / oct. » en 12 px. */
html:not(.lbb-rdv-classements) body.calendrier-150 #main .cal-150-tuile small,
html:not(.lbb-rdv-classements) body.calendrier-150 #main .cal-150-meta span,
html:not(.lbb-rdv-classements) body.calendrier-150 #main .cal-150-titre-liste span { font-size: 12px !important; }
/* G10 : Calendrier — onglets, bouton Filtres (et ses deux voisins) et légende de 44 px. Mêmes sélecteurs que les règles
   du calendrier (rdv-1-0-0.css, chargé avant) : celles-ci passent après. */
html body.rdv-tool nav#views button { min-height: 44px; }
html body.rdv-tool.rdv-mois-130 #main #rdv-barre-123 nav#views > *,
html:not(.lbb-rdv-classements) body.calendrier-150:not([data-cal150=month]) #main #rdv-barre-123 nav#views > * { min-height: 44px !important; min-width: 44px; }
html body #rdv-barre-123 #views > button:not([hidden]) { min-height: 44px !important; min-width: 44px; }
html body.rdv-tool #rdv-barre-123 nav#views > button[data-view='mine'] { min-height: 44px !important; }
html body.rdv-tool.pc183 #main #rdv-planner-v120 .calendar-toolbar #create { height: 44px !important; }
html body.rdv-tool.calendrier-150:not(.pc183) #main #cal-150-tools .rdv-heading-actions #create { height: 44px !important; }
/* Des minimums (et non des tailles fixes) : un bouton large, comme « + RDV » sur ordinateur, garde sa largeur. */
html body.rdv-tool.rdv-mois-130.cal181 #main #rdv-planner-v120 .calendar-nav #rdv-filtres-106 { min-width: 44px !important; min-height: 44px !important; }
html body.rdv-tool.rdv-mois-130 #main .calendar-nav .rdv-heading-actions > :is(#rdv-filtres-106, #my-group, #create),
html:not(.lbb-rdv-classements) body.calendrier-150 #main #cal-150-tools .rdv-heading-actions > :is(#rdv-filtres-106, #my-group, #create) { min-width: 44px !important; min-height: 44px !important; }
html body.rdv-tool #a-legende-130 button { min-height: 44px; }
html body.rdv-tool.pc183 #main #pc183-legende button { min-height: 44px !important; }
html body.rdv-tool.pc183 #main #rdv-planner-v120 .calendar-toolbar :is(#rdv-filtres-106, #rdv-filters-v120) { height: 44px !important; }
/* ===== 1.95.1 (audit du 26/10, P4/P5) : la collection — textes en 12 px, contrastes, ✕ du zoom de 44 px, et la
   référence de la variante ouverte lisible (crème sur vert pâle). style.css est chargé avant ce fichier. ===== */
html body #account-status-v103 { font-size: 12px !important; }
html body .personal-backup-v85 details.copie-secours-128 > p { font-size: 12px !important; }
html body #collection .catalogue-heading > #results, html body #date, html body .recent-card small { color: #4f6358 !important; }
/* P5 : le ✕ du zoom, « Recentrer » et « Zoomer » de 44 px. */
html body #zoom-close { min-width: 44px !important; min-height: 44px !important; }
html body :is(#zoom-card, #zoom-reset-v109) { min-height: 44px !important; }
/* P4 : la fiche d'une carte — code, variantes, filtres, « Comparer », « Pas encore imprimée » en 12 px (téléphone et PC). */
html body :is(#detail-code, #compare-open-v108, #active-filters-v106 > button, .owned-toggle.owned-impossible-v116) { font-size: 12px !important; }
html body #versions > button :is(strong, small, span) { font-size: 12px !important; }
/* La variante ouverte (cadre vert) : son nom et sa référence étaient crème sur vert pâle, illisibles. */
html body #versions > button.version-current-v103 :is(strong, small) { color: #0b3d2c !important; }
html body :is(#detail-position, #detail-numbers > dt, #zoom-name) { color: #4f6358 !important; }
html body #zoom-reset-v109 { font-size: 12px !important; }
/* Sur téléphone, la rareté, les dates et le nom dans le zoom aussi (ils sont plus grands sur ordinateur). */
@media (max-width: 860px) {
  html body :is(#detail-rarity, #detail-meta-mobile-v97 span, #detail-meta-mobile-v97 b, #zoom-name) { font-size: 12px !important; }
}
/* 1.101.0 (Rudy, 26/10) : moteur de lore, apparitions du personnage du jour hors collection. Calques seulement ; rien sous « réduire les animations ». */
.lbb-lore-trace{margin:0 0 .6em;text-align:center;font-size:.8rem;line-height:1.4}
.lbb-lore-trace a{display:inline-block;padding:.35em .8em;border-radius:999px;border:1px dashed currentColor;color:inherit;text-decoration:none;opacity:.85}
.lbb-lore-trace a:hover,.lbb-lore-trace a:focus-visible{opacity:1}
.lbb-lore-trace.is-laf a{font-family:ui-monospace,Consolas,monospace}
.lbb-lore-glitch{animation:lbb-lore-glitch .65s steps(2) both}
@keyframes lbb-lore-glitch{0%{text-shadow:2px 0 #ff2d55,-2px 0 #18e0ff;transform:translateX(0)}20%{text-shadow:-3px 0 #ff2d55,3px 0 #18e0ff;transform:translateX(2px) skewX(-6deg)}40%{text-shadow:3px 1px #ff2d55,-3px -1px #18e0ff;transform:translateX(-2px)}60%{text-shadow:-2px 0 #ff2d55,2px 0 #18e0ff;transform:translateX(1px) skewX(4deg)}80%{text-shadow:1px 0 #ff2d55,-1px 0 #18e0ff;transform:none}100%{text-shadow:none;transform:none}}
.lbb-lore-eclair{position:fixed;z-index:60;pointer-events:none;overflow:visible;animation:lbb-lore-eclair 1.1s linear both}
.lbb-lore-eclair polyline{fill:none;stroke:#ffe14d;stroke-width:3;stroke-linejoin:round;filter:drop-shadow(0 0 4px #fff3a0) drop-shadow(0 0 10px #ffd400)}
@keyframes lbb-lore-eclair{0%,100%{opacity:0}6%,22%{opacity:1}30%,48%{opacity:0}54%,66%{opacity:1}74%{opacity:0}}
.lbb-lore-passe{position:fixed;z-index:60;pointer-events:none;bottom:calc(10px + env(safe-area-inset-bottom));overflow:hidden;display:block;filter:drop-shadow(0 3px 4px rgba(0,0,0,.28))}
.lbb-lore-img{position:absolute;max-width:none}
/* 1.105.0 (Rudy, 28/10) : Jiji pousse sa poussette */
/* Le calque fixe contient toute la traversée : aucun débordement du document. */
.lbb-lore-convoi{position:fixed;inset:0;z-index:60;overflow:hidden;pointer-events:none;user-select:none}
.lbb-lore-convoi *{pointer-events:none}
.lbb-lore-poussee{--lbb-jiji-h:clamp(148px,43.74vw,164px);--lbb-bille:32px;position:absolute;left:100%;bottom:calc(10px + env(safe-area-inset-bottom));display:flex;align-items:flex-end;width:max-content;height:var(--lbb-jiji-h);animation:lbb-lore-poussette 6.4s linear both}
@keyframes lbb-lore-poussette{from{transform:translateX(12px)}to{transform:translateX(calc(-100vw - 100% - 12px))}}
/* Même cadrage natif 1024 × 1536, servi en WebP 240 × 360 (×2) ; cheveux et chaussures inclus. */
.lbb-lore-convoi .lbb-lore-passe.is-poussette{position:relative;right:auto;bottom:auto;flex:none;width:calc(var(--lbb-jiji-h)*878/1408);height:var(--lbb-jiji-h);margin-left:-1.5px;overflow:hidden;animation:lbb-lore-cahot .4s ease-in-out infinite alternate;filter:drop-shadow(0 2px 2px #09231d33)}
.lbb-lore-passe.is-poussette .lbb-lore-img{width:calc(var(--lbb-jiji-h)*1024/1408);height:calc(var(--lbb-jiji-h)*1536/1408);left:calc(var(--lbb-jiji-h)*-48/1408);top:calc(var(--lbb-jiji-h)*-8/1408)}
@keyframes lbb-lore-cahot{to{translate:0 -.6px}}
/* Noire unie de blackball : pastille 8, lumière fixe et repère qui roule sans glisser. */
.lbb-lore-bille{position:relative;display:block;flex:0 0 var(--lbb-bille);width:var(--lbb-bille);height:var(--lbb-bille);border-radius:50%;background:radial-gradient(circle at 31% 25%,#fff 0%,#f7f5ec 28%,#d6d8d1 61%,#8b978e 89%,#52675c 100%);box-shadow:inset -1px -2px 2px #162b3244;isolation:isolate}
.lbb-lore-bille:before{content:"";position:absolute;z-index:-1;left:2px;right:2px;bottom:-3px;height:5px;border-radius:50%;background:#09231d99;filter:blur(2px)}
.lbb-lore-bille:after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse at 29% 22%,#fffc 0%,#fff5 6%,transparent 17%);pointer-events:none}
.lbb-lore-bille.is-noire{background:radial-gradient(circle at 31% 25%,#626968 0%,#252c2b 28%,#0e1413 60%,#020504 89%,#000 100%)}
.lbb-lore-roule{position:absolute;inset:0;border-radius:50%;overflow:hidden;animation:lbb-lore-bille-roule 6.4s linear both}
.is-blanche .lbb-lore-roule{background:radial-gradient(ellipse at 65% 70%,#b3b9ac66 0%,transparent 17%)}
.lbb-lore-huit{position:absolute;left:16px;top:11px;width:11px;height:11px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#e0e2d9);color:#090e0c;font:bold 9px/1 Arial,sans-serif;box-shadow:0 0 1px #fff9}
@keyframes lbb-lore-bille-roule{to{transform:rotate(var(--lbb-tour,-8turn))}}
/* Repli historique si le WebP de Collection ne charge pas. */
.lbb-lore-poussee.is-sans-jiji{--lbb-bille:66px;height:74px;animation-duration:5.2s}
.is-sans-jiji .lbb-lore-roule{animation-duration:5.2s}
.lbb-lore-convoi .lbb-lore-passe.is-poussette-seule{margin-left:-17px;overflow:visible;animation:none}
.is-poussette-seule .lbb-lore-img{animation:lbb-lore-cahot .35s ease-in-out infinite alternate}
.is-sans-jiji .lbb-lore-huit{left:33px;top:22px;width:22px;height:22px;font-size:17px}
@media(prefers-reduced-motion:reduce){.lbb-lore-convoi{display:none}.lbb-lore-poussee,.lbb-lore-roule,.lbb-lore-passe.is-poussette{animation:none}}
.lbb-lore-passe.is-ananas{left:0;border-radius:50%;animation:lbb-lore-ananas 4.4s cubic-bezier(.3,.1,.6,1) both}
@keyframes lbb-lore-ananas{0%{transform:translateX(-110%) rotate(0)}100%{transform:translateX(calc(100vw + 10px)) rotate(1080deg)}}
@media(prefers-reduced-motion:reduce){.lbb-lore-trace,.lbb-lore-eclair,.lbb-lore-passe{display:none}.lbb-lore-glitch{animation:none}}
/* mode sombre désactivé le 28/10 (Rudy), à refaire proprement plus tard */
@media not all {
/* ===== 1.103.0 (Rudy, 27/10) : mode sombre — sans choix, le site suit l’appareil ; « Thème clair » / « Thème sombre »
   dans Mon espace passent avant. Pages publiques et Mon espace seulement (le serveur marque <html>). D’après les pièces de
   Claudette 1.3.1 (rendu validé par Rudy), sans le choix dans le menu ni la cartouche du logo du site. ===== */
/* Thème sombre choisi. */
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="clair"]{color-scheme:light}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body{background:#071b15!important;color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body :is(.lbb-entete,.lbb-slogan,.lbb-pied,.lbb-hero,.lbb-menu,.lbb-pied-ico,.home-agenda-v98,.home-event-v98,.home-event-v98.is-next,.home-date-v98,.lbb-equipes-121,.lbb-equipes-121 li,.lbb-equipes-liste-121 li,.home-news-section-v98,.home-news-v98,.home-news-v98.is-featured,.home-cafes-v98,.home-cafe-v98,.home-cafe-tile,.lbb-partenaires-126,.home-team-v125,.home-card-v125,.lbb-pb-154,.lbb-pb-creer-154,.news-article,.news-article.pinned,time,.lbb-actus-plus,.lbb-cafe-prochain,figure,.cafe-photo-open-v29,.cafe-practical-v93,.cafe-teams-v32,.asso38-tete,.lbb-samedis-ic-1810,.lbb-samedis-to-1810,.lbb-samedis-date-1810,.asso38-bloc,.asso38-papier,.asso38-sable,.asso38-case,.lbb-seul-161,.rdv-resultats-141,.cl-equipe,.cl-rejoindre-127.cl-vignette-128,.cl-pronos-audit-100,.cl-mpb-139,.cl-journee,.eq-carte,.eq-cafe-carte-153,.eq-tete,.eq-joueurs li,.eq-rencontres li,.eq-fiche-150,.eq-fiche-chiffres-150 li,.jn-tuile-v1980,.jn-tuile-voir-v1980,.card-image,.not-printed-v108,.lbb-voir-plus-114,.season,.season li,.personal-backup-v85,.rg130-bureau,article,.panel,.box,dialog,input,select,textarea,.lbb-theme-choices,.lbb-theme-choices button){background-color:#102e24!important;background-image:none!important;color:#fff8e7!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body :is(main,header,footer,.lbb-pied,.lbb-menu) :is(h1,h2,h3,h4,p,strong,b,small,span,label,summary,figcaption,li,td,th,time){color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body a{color:#f0c94d!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body :is(button,.button,.lbb-menu-bouton-112,.lbb-seul-bouton-161,.rdv-next-v128,.lbb-rang-123){background-color:#092f25!important;color:#fff8e7!important;border-color:#c3d1bd!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body :is(button,.button,.lbb-menu-bouton-112,.lbb-seul-bouton-161,.rdv-next-v128,.lbb-rang-123) :is(span,strong,small){color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body :is(.lbb-espace-112,.lbb-bouton.lbb-bouton-jaune,.lbb-rang-podium-123,.eq-rang strong,.lbb-equipe-rang-125,.eq-fiche-rang-150 strong,button.primary,.lbb-theme-choices button[aria-pressed="true"]){background:#f0c94d!important;color:#071b15!important;border-color:#f0c94d!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body :is(.lbb-espace-112,.lbb-bouton.lbb-bouton-jaune,.lbb-rang-podium-123,.eq-rang strong,.lbb-equipe-rang-125,.eq-fiche-rang-150 strong,button.primary,.lbb-theme-choices button[aria-pressed="true"]) :is(span,strong,b,small){color:#071b15!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body .lbb-menu-mot-112{color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body :is(.home-keep-word-v119,.home-news-more-v98,.cl-equipe-lien,.lbb-pied-accueil,.lbb-pied a){color:#f0c94d!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body :is(.fm-feuille,.fm-affiche,.fm-serie td,.fm-j.fm-j-dom,.fm-n,.fm-j.fm-j-ext,.fm-carte.fm-carte-vide){background-color:#102e24!important;color:#fff8e7!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body .fm-serie tr:nth-child(n) td{background-color:#102e24!important;color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body :is(.fm-lieu,.fm-serie th,.fm-score){background-color:#092f25!important;color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body .fm-score i{color:#f0c94d!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body input::placeholder,html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body textarea::placeholder{color:#c3d1bd!important;opacity:1}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) :focus-visible{outline:3px solid #f0c94d;outline-offset:2px}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) img:is([src*="equipe-"][src*=".png"],[srcset*="equipe-"][srcset*=".png"]){background:#fffdf7!important;border-radius:8px;box-shadow:0 0 0 4px #fffdf7!important;filter:none!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body :is(.site-header,.site-tagline-v142,.home-error-v98,.load-error-v23,.image-retry-v102,.lbb-ligne-122){background-color:#102e24!important;color:#fff8e7!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body :is(header.site-header,.home-error-v98,.load-error-v23) :is(p,a,span){color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body a.site-account.account-link{background:#f0c94d!important;color:#071b15!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.collection-page :is(main > a,.image-retry-v102){background:#102e24!important;color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body :is(#main#main .rdv-resultats-141,#main#main .cl-equipe,#main#main .cl-rejoindre-127,#main#main .cl-pronos-audit-100,#main#main .cl-mpb-139,#main#main .cl-journee,.collection-spaces a){background:#102e24!important;color:#fff8e7!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body :is(button.lbb-actus-plus,button.cafe-photo-open-v29,button.jn-tuile-v1980,button.lbb-voir-plus-114){background:#102e24!important;color:#fff8e7!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body a.home-event-v98.is-next{box-shadow:inset 4px 0 0 #f0c94d!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body :is(a.home-event-v98,a.home-news-v98){background:#102e24!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body :is(a.home-event-v98,a.home-news-v98) :is(h3,p,span,strong,b){color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body :is(main,header,footer) :is(.home-event-place-v98,.cafe-address-v32,.cl-cafe,.cl-bilan-1481,.imprimees-128,figcaption,small):nth-child(n){color:#c3d1bd!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body :is(main,header,footer) :is(.home-news-more-v98,.home-keep-word-v119):nth-child(n){color:#f0c94d!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body .home-date-v98{background:#092f25!important;color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body :is(img[src*="/jeux/logo-"],svg.cl-mpb-logo-139){background:#fffdf7!important;border-radius:8px;box-shadow:0 0 0 4px #fffdf7!important;filter:none!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body #main button.rdv-next-v128.rdv-next-v128{background:#102e24!important;color:#fff8e7!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body #main button.rdv-next-v128.rdv-next-v128 small{color:#c3d1bd!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body #main button.primary.day-create-v72.day-create-v72{background:#f0c94d!important;color:#071b15!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #rdv-planner-v120 #create{background:#f0c94d!important;color:#071b15!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #rdv-planner-v120 #create span{color:#071b15!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool :is(#main,dialog){--rdv-paper:#102e24;--rdv-ink:#fff8e7;--rdv-border:#2d5546;--rdv-muted:#c3d1bd}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main :is(h1,h2,h3,#cal-150-titre,#rdv-titre-130,#period-title,.weekday){color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #rdv-barre-123 :is(#views,#rdv-vues-106) button{background:#102e24!important;color:#fff8e7!important;border-color:transparent!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #rdv-barre-123 :is(#views,#rdv-vues-106) button[aria-pressed="true"]{color:#f0c94d!important;border-bottom-color:#f0c94d!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #rdv-barre-123 :is(#views,#rdv-vues-106) button :is(span,svg){color:inherit!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main :is(#cal-150-contenu,#day-panel,#personal,#detail-body,#rdv-filter-panel-v120) :is(.cal-150-rdv,.cal-150-tuile,.cal-150-moi,.empty,select,input){background:#102e24!important;color:#fff8e7!important;border-color:#2d5546!important;box-shadow:none!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main :is(#cal-150-contenu,#cal-150-tools,#cal-150-flash,#rdv-filter-panel-v120) :is(strong,b,span,small,p,label,button,select){color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #cal-150-flash{background:#102e24!important;color:#fff8e7!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main :is(#cal181-etat,.cal181-auj,.cal181-suivant,#a-legende-130 button,.legend,.legend span,#rdv-filter-panel-v120,.rdv-modes-v120,.rdv-jour-rdv-106,.rdv-jour-vide-106,.rdv-card-type-v120,.rdv-card-body-v120,.rdv-rencontres-160,.rdv-contre-160,.person,.group-card,.privacy-choice){background:#102e24!important;color:#fff8e7!important;border-color:#2d5546!important;box-shadow:none!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main :is(#cal181-etat,.rdv-jour-rdv-106,.rdv-jour-vide-106,.rdv-card-v120) :is(p,span,strong,small){color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #cal181-etat .cal181-suivant span{color:#c3d1bd!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar :is(.calendar-day,.calendar-day.current.selected){background:#102e24!important;color:#fff8e7!important;border-color:#2d5546!important;box-shadow:none!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar .calendar-day.a-we.a-we{background:#163a2e!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar .calendar-day.passe-106{opacity:1!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar .calendar-day :is(strong,.a-corps,.a-cafe,.cal181-nb,.cal181-plus){background:transparent!important;color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar .calendar-day:is(.a-auj,.aujourdhui-106,.current){border-color:#f0c94d!important;box-shadow:inset 0 0 0 1px #f0c94d!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main#main #calendar#calendar .calendar-day:is(.a-auj,.aujourdhui-106,.current)>strong{background:transparent!important;color:#f0c94d!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar .calendar-day.selected:not(.a-auj):not(.aujourdhui-106):not(.current){box-shadow:inset 0 0 0 1px #c3d1bd!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar .calendar-day .a-j{background:#092f25!important;color:#f0c94d!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar .a-tournoi svg{color:#f0c94d!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar .calendar-event{background:#1f6b45!important;color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar .calendar-event.tournoi{background:#f0c94d!important;color:#071b15!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar .calendar-event.partie{background:#163a2e!important;color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar .calendar-event *{color:inherit!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #a-legende-130 li{background:transparent!important;box-shadow:none!important;color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #a-legende-130 :is(.a-l-i,.a-l-t,.a-l-p) b{background:#1f6b45!important;color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #a-legende-130 .a-l-t b{background:#f0c94d!important;color:#071b15!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #a-legende-130 .a-l-p b{background:#c8b88f!important;color:#071b15!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #a-legende-130 button[aria-pressed="false"]{opacity:.65}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #rdv-planner-v120 .calendar-nav :is(#previous,#next){background:#102e24!important;color:#fff8e7!important;box-shadow:inset 0 0 0 1px #2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool dialog :is(h2,h3,h4,p,span,strong,b,small,label,li,summary,.section-title){color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool dialog :is(.rdv-detail-head-v120,.privacy-choice,.event-actions,.person,.group-card){background:#102e24!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool dialog :is(.rdv-detail-address-v120,.rdv-privacy-label,.small-note){color:#c3d1bd!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool dialog button.primary :is(span,strong,b,small){color:#071b15!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue){color-scheme:dark}

html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body .me-page :is(.me-bloc,.me-menu-136,.ms-cle,.sx-cat,.ms-vcartes,.ms-succes-total,.rdv-card-type-v120,li,details,summary){background-color:#102e24!important;background-image:none!important;color:#fff8e7!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body .me-page :is(.sx-jauge,.ms-jauge){background-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body .me-page :is(h1,h2,h3,h4,p,strong,b,small,span,label,summary,dt,dd,em){color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body .me-page :is(.ms-vc-creer,.ms-vc-creer *){background:#f0c94d!important;color:#071b15!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body .me-page .me-menu-136 a{background:#102e24!important;color:#fff8e7!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body .me-page .me-menu-136 a.me-menu-actif{background:#f0c94d!important;color:#071b15!important;border-color:#f0c94d!important}

html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body :is(.lbb-equipes-liste-121 a,.lbb-ouvert-bloc-150,.lbb-partenaires-126 a,#lbb-sommaire,.eq-camp-144 > span){background:#102e24!important;color:#fff8e7!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body .lbb-ouvert-bloc-150 a,html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body #lbb-sommaire a{color:#f0c94d!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body .lbb-pb-creer-154 p,html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body main#content .lbb-pb-creer-154 p{color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body #collection #results{color:#c3d1bd!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #rdv-planner-v120 #period-title{color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #rdv-planner-v120 #period-title small{color:#c3d1bd!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body .news-article small{background:#2d5546!important;color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body :is(#results,#date){color:#c3d1bd!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body a.cl-mpb-jouer-139{color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main :is(#rdv-planner-v120,#day-panel){background:#102e24!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body .eq-issue{background:#2d5546!important;color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body .home-cafe-links a{background:#102e24!important;color:#f0c94d!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body .me-page :is(h5,h6){color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body .me-page :is(.ms-eventail-carte > span,.mc-pills > span){background:#163a2e!important;color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body .me-page a.ms-vc-voir{background:#102e24!important;color:#f0c94d!important}

html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body .lbb-pied .lbb-pied-contacts a{background:#102e24!important;color:#fff8e7!important;border-color:#2d5546!important}

html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar .calendar-day{background:#12382c!important;border:1px solid #3b6b58!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar .calendar-day.a-we.a-we{background:#174233!important}

html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body .me-theme-sombre button[data-lbb-theme-choix]{background:#102e24!important;color:#fff8e7!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="sombre"]:not(.lbb-direct-vue) body .me-theme-sombre button[data-lbb-theme-choix][aria-pressed="true"]{background:#f0c94d!important;color:#071b15!important;border-color:#f0c94d!important}
/* Aucun choix : le site suit l’appareil. */
@media (prefers-color-scheme: dark) {
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="clair"]{color-scheme:light}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body{background:#071b15!important;color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body :is(.lbb-entete,.lbb-slogan,.lbb-pied,.lbb-hero,.lbb-menu,.lbb-pied-ico,.home-agenda-v98,.home-event-v98,.home-event-v98.is-next,.home-date-v98,.lbb-equipes-121,.lbb-equipes-121 li,.lbb-equipes-liste-121 li,.home-news-section-v98,.home-news-v98,.home-news-v98.is-featured,.home-cafes-v98,.home-cafe-v98,.home-cafe-tile,.lbb-partenaires-126,.home-team-v125,.home-card-v125,.lbb-pb-154,.lbb-pb-creer-154,.news-article,.news-article.pinned,time,.lbb-actus-plus,.lbb-cafe-prochain,figure,.cafe-photo-open-v29,.cafe-practical-v93,.cafe-teams-v32,.asso38-tete,.lbb-samedis-ic-1810,.lbb-samedis-to-1810,.lbb-samedis-date-1810,.asso38-bloc,.asso38-papier,.asso38-sable,.asso38-case,.lbb-seul-161,.rdv-resultats-141,.cl-equipe,.cl-rejoindre-127.cl-vignette-128,.cl-pronos-audit-100,.cl-mpb-139,.cl-journee,.eq-carte,.eq-cafe-carte-153,.eq-tete,.eq-joueurs li,.eq-rencontres li,.eq-fiche-150,.eq-fiche-chiffres-150 li,.jn-tuile-v1980,.jn-tuile-voir-v1980,.card-image,.not-printed-v108,.lbb-voir-plus-114,.season,.season li,.personal-backup-v85,.rg130-bureau,article,.panel,.box,dialog,input,select,textarea,.lbb-theme-choices,.lbb-theme-choices button){background-color:#102e24!important;background-image:none!important;color:#fff8e7!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body :is(main,header,footer,.lbb-pied,.lbb-menu) :is(h1,h2,h3,h4,p,strong,b,small,span,label,summary,figcaption,li,td,th,time){color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body a{color:#f0c94d!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body :is(button,.button,.lbb-menu-bouton-112,.lbb-seul-bouton-161,.rdv-next-v128,.lbb-rang-123){background-color:#092f25!important;color:#fff8e7!important;border-color:#c3d1bd!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body :is(button,.button,.lbb-menu-bouton-112,.lbb-seul-bouton-161,.rdv-next-v128,.lbb-rang-123) :is(span,strong,small){color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body :is(.lbb-espace-112,.lbb-bouton.lbb-bouton-jaune,.lbb-rang-podium-123,.eq-rang strong,.lbb-equipe-rang-125,.eq-fiche-rang-150 strong,button.primary,.lbb-theme-choices button[aria-pressed="true"]){background:#f0c94d!important;color:#071b15!important;border-color:#f0c94d!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body :is(.lbb-espace-112,.lbb-bouton.lbb-bouton-jaune,.lbb-rang-podium-123,.eq-rang strong,.lbb-equipe-rang-125,.eq-fiche-rang-150 strong,button.primary,.lbb-theme-choices button[aria-pressed="true"]) :is(span,strong,b,small){color:#071b15!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body .lbb-menu-mot-112{color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body :is(.home-keep-word-v119,.home-news-more-v98,.cl-equipe-lien,.lbb-pied-accueil,.lbb-pied a){color:#f0c94d!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body :is(.fm-feuille,.fm-affiche,.fm-serie td,.fm-j.fm-j-dom,.fm-n,.fm-j.fm-j-ext,.fm-carte.fm-carte-vide){background-color:#102e24!important;color:#fff8e7!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body .fm-serie tr:nth-child(n) td{background-color:#102e24!important;color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body :is(.fm-lieu,.fm-serie th,.fm-score){background-color:#092f25!important;color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body .fm-score i{color:#f0c94d!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body input::placeholder,html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body textarea::placeholder{color:#c3d1bd!important;opacity:1}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) :focus-visible{outline:3px solid #f0c94d;outline-offset:2px}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) img:is([src*="equipe-"][src*=".png"],[srcset*="equipe-"][srcset*=".png"]){background:#fffdf7!important;border-radius:8px;box-shadow:0 0 0 4px #fffdf7!important;filter:none!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body :is(.site-header,.site-tagline-v142,.home-error-v98,.load-error-v23,.image-retry-v102,.lbb-ligne-122){background-color:#102e24!important;color:#fff8e7!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body :is(header.site-header,.home-error-v98,.load-error-v23) :is(p,a,span){color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body a.site-account.account-link{background:#f0c94d!important;color:#071b15!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.collection-page :is(main > a,.image-retry-v102){background:#102e24!important;color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body :is(#main#main .rdv-resultats-141,#main#main .cl-equipe,#main#main .cl-rejoindre-127,#main#main .cl-pronos-audit-100,#main#main .cl-mpb-139,#main#main .cl-journee,.collection-spaces a){background:#102e24!important;color:#fff8e7!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body :is(button.lbb-actus-plus,button.cafe-photo-open-v29,button.jn-tuile-v1980,button.lbb-voir-plus-114){background:#102e24!important;color:#fff8e7!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body a.home-event-v98.is-next{box-shadow:inset 4px 0 0 #f0c94d!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body :is(a.home-event-v98,a.home-news-v98){background:#102e24!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body :is(a.home-event-v98,a.home-news-v98) :is(h3,p,span,strong,b){color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body :is(main,header,footer) :is(.home-event-place-v98,.cafe-address-v32,.cl-cafe,.cl-bilan-1481,.imprimees-128,figcaption,small):nth-child(n){color:#c3d1bd!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body :is(main,header,footer) :is(.home-news-more-v98,.home-keep-word-v119):nth-child(n){color:#f0c94d!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body .home-date-v98{background:#092f25!important;color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body :is(img[src*="/jeux/logo-"],svg.cl-mpb-logo-139){background:#fffdf7!important;border-radius:8px;box-shadow:0 0 0 4px #fffdf7!important;filter:none!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body #main button.rdv-next-v128.rdv-next-v128{background:#102e24!important;color:#fff8e7!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body #main button.rdv-next-v128.rdv-next-v128 small{color:#c3d1bd!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body #main button.primary.day-create-v72.day-create-v72{background:#f0c94d!important;color:#071b15!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #rdv-planner-v120 #create{background:#f0c94d!important;color:#071b15!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #rdv-planner-v120 #create span{color:#071b15!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool :is(#main,dialog){--rdv-paper:#102e24;--rdv-ink:#fff8e7;--rdv-border:#2d5546;--rdv-muted:#c3d1bd}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main :is(h1,h2,h3,#cal-150-titre,#rdv-titre-130,#period-title,.weekday){color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #rdv-barre-123 :is(#views,#rdv-vues-106) button{background:#102e24!important;color:#fff8e7!important;border-color:transparent!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #rdv-barre-123 :is(#views,#rdv-vues-106) button[aria-pressed="true"]{color:#f0c94d!important;border-bottom-color:#f0c94d!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #rdv-barre-123 :is(#views,#rdv-vues-106) button :is(span,svg){color:inherit!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main :is(#cal-150-contenu,#day-panel,#personal,#detail-body,#rdv-filter-panel-v120) :is(.cal-150-rdv,.cal-150-tuile,.cal-150-moi,.empty,select,input){background:#102e24!important;color:#fff8e7!important;border-color:#2d5546!important;box-shadow:none!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main :is(#cal-150-contenu,#cal-150-tools,#cal-150-flash,#rdv-filter-panel-v120) :is(strong,b,span,small,p,label,button,select){color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #cal-150-flash{background:#102e24!important;color:#fff8e7!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main :is(#cal181-etat,.cal181-auj,.cal181-suivant,#a-legende-130 button,.legend,.legend span,#rdv-filter-panel-v120,.rdv-modes-v120,.rdv-jour-rdv-106,.rdv-jour-vide-106,.rdv-card-type-v120,.rdv-card-body-v120,.rdv-rencontres-160,.rdv-contre-160,.person,.group-card,.privacy-choice){background:#102e24!important;color:#fff8e7!important;border-color:#2d5546!important;box-shadow:none!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main :is(#cal181-etat,.rdv-jour-rdv-106,.rdv-jour-vide-106,.rdv-card-v120) :is(p,span,strong,small){color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #cal181-etat .cal181-suivant span{color:#c3d1bd!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar :is(.calendar-day,.calendar-day.current.selected){background:#102e24!important;color:#fff8e7!important;border-color:#2d5546!important;box-shadow:none!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar .calendar-day.a-we.a-we{background:#163a2e!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar .calendar-day.passe-106{opacity:1!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar .calendar-day :is(strong,.a-corps,.a-cafe,.cal181-nb,.cal181-plus){background:transparent!important;color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar .calendar-day:is(.a-auj,.aujourdhui-106,.current){border-color:#f0c94d!important;box-shadow:inset 0 0 0 1px #f0c94d!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main#main #calendar#calendar .calendar-day:is(.a-auj,.aujourdhui-106,.current)>strong{background:transparent!important;color:#f0c94d!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar .calendar-day.selected:not(.a-auj):not(.aujourdhui-106):not(.current){box-shadow:inset 0 0 0 1px #c3d1bd!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar .calendar-day .a-j{background:#092f25!important;color:#f0c94d!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar .a-tournoi svg{color:#f0c94d!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar .calendar-event{background:#1f6b45!important;color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar .calendar-event.tournoi{background:#f0c94d!important;color:#071b15!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar .calendar-event.partie{background:#163a2e!important;color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar .calendar-event *{color:inherit!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #a-legende-130 li{background:transparent!important;box-shadow:none!important;color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #a-legende-130 :is(.a-l-i,.a-l-t,.a-l-p) b{background:#1f6b45!important;color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #a-legende-130 .a-l-t b{background:#f0c94d!important;color:#071b15!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #a-legende-130 .a-l-p b{background:#c8b88f!important;color:#071b15!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #a-legende-130 button[aria-pressed="false"]{opacity:.65}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #rdv-planner-v120 .calendar-nav :is(#previous,#next){background:#102e24!important;color:#fff8e7!important;box-shadow:inset 0 0 0 1px #2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool dialog :is(h2,h3,h4,p,span,strong,b,small,label,li,summary,.section-title){color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool dialog :is(.rdv-detail-head-v120,.privacy-choice,.event-actions,.person,.group-card){background:#102e24!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool dialog :is(.rdv-detail-address-v120,.rdv-privacy-label,.small-note){color:#c3d1bd!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool dialog button.primary :is(span,strong,b,small){color:#071b15!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue){color-scheme:dark}

html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body .me-page :is(.me-bloc,.me-menu-136,.ms-cle,.sx-cat,.ms-vcartes,.ms-succes-total,.rdv-card-type-v120,li,details,summary){background-color:#102e24!important;background-image:none!important;color:#fff8e7!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body .me-page :is(.sx-jauge,.ms-jauge){background-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body .me-page :is(h1,h2,h3,h4,p,strong,b,small,span,label,summary,dt,dd,em){color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body .me-page :is(.ms-vc-creer,.ms-vc-creer *){background:#f0c94d!important;color:#071b15!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body .me-page .me-menu-136 a{background:#102e24!important;color:#fff8e7!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body .me-page .me-menu-136 a.me-menu-actif{background:#f0c94d!important;color:#071b15!important;border-color:#f0c94d!important}

html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body :is(.lbb-equipes-liste-121 a,.lbb-ouvert-bloc-150,.lbb-partenaires-126 a,#lbb-sommaire,.eq-camp-144 > span){background:#102e24!important;color:#fff8e7!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body .lbb-ouvert-bloc-150 a,html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body #lbb-sommaire a{color:#f0c94d!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body .lbb-pb-creer-154 p,html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body main#content .lbb-pb-creer-154 p{color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body #collection #results{color:#c3d1bd!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #rdv-planner-v120 #period-title{color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #rdv-planner-v120 #period-title small{color:#c3d1bd!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body .news-article small{background:#2d5546!important;color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body :is(#results,#date){color:#c3d1bd!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body a.cl-mpb-jouer-139{color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main :is(#rdv-planner-v120,#day-panel){background:#102e24!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body .eq-issue{background:#2d5546!important;color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body .home-cafe-links a{background:#102e24!important;color:#f0c94d!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body .me-page :is(h5,h6){color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body .me-page :is(.ms-eventail-carte > span,.mc-pills > span){background:#163a2e!important;color:#fff8e7!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body .me-page a.ms-vc-voir{background:#102e24!important;color:#f0c94d!important}

html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body .lbb-pied .lbb-pied-contacts a{background:#102e24!important;color:#fff8e7!important;border-color:#2d5546!important}

html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar .calendar-day{background:#12382c!important;border:1px solid #3b6b58!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body.rdv-tool #main #calendar#calendar .calendar-day.a-we.a-we{background:#174233!important}

html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body .me-theme-sombre button[data-lbb-theme-choix]{background:#102e24!important;color:#fff8e7!important;border-color:#2d5546!important}
html:root:root:root:root[data-lbb-theme-public="120"][data-theme="auto"]:not(.lbb-direct-vue) body .me-theme-sombre button[data-lbb-theme-choix][aria-pressed="true"]{background:#f0c94d!important;color:#071b15!important;border-color:#f0c94d!important}
}
/* Thème clair (et partout) : le bouton choisi est plein, comme les boutons de l'appli ; les deux tiennent sur une ligne. */
html body .me-theme-sombre .me-appli-actions { display: flex; flex-wrap: wrap; gap: 8px; }
html body .me-theme-sombre button[data-lbb-theme-choix] { min-height: 44px; }
html body .me-theme-sombre button[data-lbb-theme-choix][aria-pressed="true"] { background: #0b3d2c; color: #fff; border-color: #0b3d2c; }
}
/* 1.107.0 (Rudy) : « Filmer ma rencontre », sous la tuile Ma rencontre de Mon espace (Caméra Billardeux). */
html body > a.lbb-ma-camera { display: grid; gap: 4px; margin: 8px max(14px, calc((100vw - 1240px) / 2)) 0; padding: 12px 16px; border-radius: 16px; background: #fffdf7; border: 2px solid #0b3d2c; color: #0b3d2c; text-decoration: none; font: 700 13px/1.3 Arial, Helvetica, sans-serif; }
html body > a.lbb-ma-camera b { font: 900 16px/1.2 Arial, Helvetica, sans-serif; }
html body > a.lbb-ma-camera b::after { content: " →"; color: #0b3d2c; }
/* 1.108.0 (Rudy) : « Filmer un match » dans Mon espace, pour tout joueur (Caméra Billardeux : match libre, entraînement). */
html body > a.lbb-filmer-match { display: grid; gap: 4px; margin: 8px max(14px, calc((100vw - 1240px) / 2)) 0; padding: 12px 16px; border-radius: 16px; background: #fffdf7; border: 1px solid #e2dccb; color: #0b3d2c; text-decoration: none; font: 700 13px/1.3 Arial, Helvetica, sans-serif; }
html body > a.lbb-filmer-match b { font: 900 16px/1.2 Arial, Helvetica, sans-serif; }
html body > a.lbb-filmer-match b::after { content: " →"; color: #0b3d2c; }
/* 1.124.15 (Rudy, 2/11) : entrée « Vidéos » — menu du téléphone en 4 + 4. */
@media (max-width:850px) {
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-112 a[data-ligne="haut"] { flex: 0 0 25%; padding-inline: 2px !important; letter-spacing: -0.1px; }
}
/* 1.124.35 (audit du 3/11, lot « sans risque ») : nom d’équipe sous les logos (café en petit) ; menu d’ordinateur fluide de 851 à 1 100 px ; liens et boutons d’au moins 32 px ; hauteur réservée aux photos des cafés. */
html body .lbb-equipes-liste-121 li > a > small { display: block; margin-top: -3px; color: #5c6f66; font: 600 12px/1.2 Arial, Helvetica, sans-serif; text-align: center; }
html body.home-page-v98 main > section.lbb-equipes-121 .lbb-equipes-liste-121 small { color: #5c6f66 !important; }
@media (min-width: 851px) and (max-width: 1100px) {
  html body > header.lbb-entete.lbb-tete-112 { gap: clamp(6px, 1vw, 12px); }
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-112 { gap: clamp(2px, 0.4vw, 4px); }
  html body > header.lbb-entete.lbb-tete-112 .lbb-menu-112 a { padding: 6px clamp(5px, 0.9vw, 12px); font-size: clamp(12.5px, 1.45vw, 15px); }
  html body > header.lbb-entete.lbb-tete-112 > .lbb-espace-112 { padding: 6px clamp(10px, 1.4vw, 16px); font-size: clamp(13px, 1.5vw, 15px); }
}
html body.home-page-v98 .lbb-pb-voir-154, html body .lbb-ouvert-bloc-150 li > a { display: inline-flex; align-items: center; min-height: 32px; }
html body.home-page-v98 #home-news-v98 .home-news-body-v98 > .home-news-more-v98 { min-height: 32px !important; }
html body main #news-list article.news-article .news-text > .home-news-more-v98 { padding-top: 6px; line-height: 24px; }
html body.rdv-tool.rdv-mois-130.cal181 #main #cal181-etat button { min-height: 32px; }
html body.rdv-tool.rdv-mois-130 #main #a-legende-130 li { min-height: 32px !important; padding-top: 0 !important; padding-bottom: 0 !important; font-size: 12px !important; }
html body.rdv-tool.rdv-mois-130 #main #a-legende-130 li > button { min-height: 32px !important; height: auto !important; }
html body.rdv-tool.pc183 #main #rdv-planner-v120 #period-title { min-height: 32px !important; }
@media (max-width: 1023px) {
  html body #cafe-page-v32 .cafe-photos-v16 .cafe-photo-open-v29 > img { min-height: clamp(150px, 45vw, 300px); background: #f4f0e4; }
  html body #cafe-page-v32 .cafe-detail-cards-v16 .cafe-photo-open-v29 > img { aspect-ratio: 630 / 880; }
}
/* 1.124.38 (audit du 3/11, lot 4) : sans JavaScript, le calendrier montre la liste des prochains rendez-vous écrite par le serveur. */
html body .lbb-sans-js-1240 { margin: 0 0 16px; padding: 12px 16px 14px; border: 1px solid #d0dac5; border-radius: 14px; background: #fffdf7; }
html body .lbb-sans-js-1240 h2 { margin: 0 0 10px; font: 800 18px/1.2 Arial, Helvetica, sans-serif; color: #092f25; }
html body .lbb-sans-js-1240 ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
html body .lbb-sans-js-1240 li > a { display: block; min-height: 32px; padding: 9px 12px; border: 1px solid #dfe5d6; border-radius: 10px; background: #fbf5e8; color: #092f25; font: 400 15px/1.35 Arial, Helvetica, sans-serif; text-decoration: none; }
html body .lbb-sans-js-1240 li > a strong { color: #0b3d2c; }
html body .lbb-sans-js-1240 p { margin: 10px 0 0; color: #4a6157; font: 400 13px/1.4 Arial, Helvetica, sans-serif; }
/* 1.124.39 (audit du 3/11, lot 5) : fiche d’un café : téléphone sous l’adresse, sous-ligne des journées Intercafés, ligne des horaires. */
html body #cafe-page-v32 .cafe-tel-1240 { margin: 6px 0 10px; font: 400 16px/1.4 Arial, Helvetica, sans-serif; color: #0e2a21; }
html body #cafe-page-v32 .cafe-tel-1240 a { color: #0b3d2c; text-decoration: underline; text-underline-offset: 3px; }
html body #cafe-page-v32 .cafe-agenda-v21 a > small.cafe-intercafes-1240 { display: block; margin-top: 2px; color: #4a6157; font: 400 13px/1.35 Arial, Helvetica, sans-serif; }
html body #cafe-page-v32 .lbb-ouvert-150 { margin: 6px 0 10px; }
/* 1.124.7 (Rudy) : gabarit commun sur PC — même largeur, même échelle, même bas de page sur toutes les pages. Rien sous 1 024 px.
   --lbb-page : largeur du contenu = 94 % de la fenêtre ; en-tête, pages et bas de page s'y alignent. Au-delà de 1 400 px, le site
   grandit d'un bloc (zoom), en continu (pas de 2 %), selon la largeur ET la hauteur de la fenêtre, jusqu'à ×2,4. */
@media (min-width: 1428px) and (min-height: 714px) { html:root { zoom: 1.02; --lbb-zoom: 1.02; } }
@media (min-width: 1456px) and (min-height: 728px) { html:root { zoom: 1.04; --lbb-zoom: 1.04; } }
@media (min-width: 1484px) and (min-height: 742px) { html:root { zoom: 1.06; --lbb-zoom: 1.06; } }
@media (min-width: 1512px) and (min-height: 756px) { html:root { zoom: 1.08; --lbb-zoom: 1.08; } }
@media (min-width: 1541px) and (min-height: 771px) { html:root { zoom: 1.1; --lbb-zoom: 1.1; } }
@media (min-width: 1569px) and (min-height: 785px) { html:root { zoom: 1.12; --lbb-zoom: 1.12; } }
@media (min-width: 1596px) and (min-height: 798px) { html:root { zoom: 1.14; --lbb-zoom: 1.14; } }
@media (min-width: 1624px) and (min-height: 812px) { html:root { zoom: 1.16; --lbb-zoom: 1.16; } }
@media (min-width: 1652px) and (min-height: 826px) { html:root { zoom: 1.18; --lbb-zoom: 1.18; } }
@media (min-width: 1680px) and (min-height: 840px) { html:root { zoom: 1.2; --lbb-zoom: 1.2; } }
@media (min-width: 1708px) and (min-height: 854px) { html:root { zoom: 1.22; --lbb-zoom: 1.22; } }
@media (min-width: 1736px) and (min-height: 868px) { html:root { zoom: 1.24; --lbb-zoom: 1.24; } }
@media (min-width: 1764px) and (min-height: 882px) { html:root { zoom: 1.26; --lbb-zoom: 1.26; } }
@media (min-width: 1792px) and (min-height: 896px) { html:root { zoom: 1.28; --lbb-zoom: 1.28; } }
@media (min-width: 1820px) and (min-height: 910px) { html:root { zoom: 1.3; --lbb-zoom: 1.3; } }
@media (min-width: 1848px) and (min-height: 924px) { html:root { zoom: 1.32; --lbb-zoom: 1.32; } }
@media (min-width: 1876px) and (min-height: 938px) { html:root { zoom: 1.34; --lbb-zoom: 1.34; } }
@media (min-width: 1905px) and (min-height: 953px) { html:root { zoom: 1.36; --lbb-zoom: 1.36; } }
@media (min-width: 1932px) and (min-height: 966px) { html:root { zoom: 1.38; --lbb-zoom: 1.38; } }
@media (min-width: 1960px) and (min-height: 980px) { html:root { zoom: 1.4; --lbb-zoom: 1.4; } }
@media (min-width: 1988px) and (min-height: 994px) { html:root { zoom: 1.42; --lbb-zoom: 1.42; } }
@media (min-width: 2016px) and (min-height: 1008px) { html:root { zoom: 1.44; --lbb-zoom: 1.44; } }
@media (min-width: 2044px) and (min-height: 1022px) { html:root { zoom: 1.46; --lbb-zoom: 1.46; } }
@media (min-width: 2072px) and (min-height: 1036px) { html:root { zoom: 1.48; --lbb-zoom: 1.48; } }
@media (min-width: 2100px) and (min-height: 1050px) { html:root { zoom: 1.5; --lbb-zoom: 1.5; } }
@media (min-width: 2128px) and (min-height: 1064px) { html:root { zoom: 1.52; --lbb-zoom: 1.52; } }
@media (min-width: 2156px) and (min-height: 1078px) { html:root { zoom: 1.54; --lbb-zoom: 1.54; } }
@media (min-width: 2184px) and (min-height: 1092px) { html:root { zoom: 1.56; --lbb-zoom: 1.56; } }
@media (min-width: 2212px) and (min-height: 1106px) { html:root { zoom: 1.58; --lbb-zoom: 1.58; } }
@media (min-width: 2240px) and (min-height: 1120px) { html:root { zoom: 1.6; --lbb-zoom: 1.6; } }
@media (min-width: 2268px) and (min-height: 1134px) { html:root { zoom: 1.62; --lbb-zoom: 1.62; } }
@media (min-width: 2296px) and (min-height: 1148px) { html:root { zoom: 1.64; --lbb-zoom: 1.64; } }
@media (min-width: 2324px) and (min-height: 1162px) { html:root { zoom: 1.66; --lbb-zoom: 1.66; } }
@media (min-width: 2352px) and (min-height: 1176px) { html:root { zoom: 1.68; --lbb-zoom: 1.68; } }
@media (min-width: 2380px) and (min-height: 1190px) { html:root { zoom: 1.7; --lbb-zoom: 1.7; } }
@media (min-width: 2408px) and (min-height: 1204px) { html:root { zoom: 1.72; --lbb-zoom: 1.72; } }
@media (min-width: 2436px) and (min-height: 1218px) { html:root { zoom: 1.74; --lbb-zoom: 1.74; } }
@media (min-width: 2464px) and (min-height: 1232px) { html:root { zoom: 1.76; --lbb-zoom: 1.76; } }
@media (min-width: 2492px) and (min-height: 1246px) { html:root { zoom: 1.78; --lbb-zoom: 1.78; } }
@media (min-width: 2520px) and (min-height: 1260px) { html:root { zoom: 1.8; --lbb-zoom: 1.8; } }
@media (min-width: 2548px) and (min-height: 1274px) { html:root { zoom: 1.82; --lbb-zoom: 1.82; } }
@media (min-width: 2576px) and (min-height: 1288px) { html:root { zoom: 1.84; --lbb-zoom: 1.84; } }
@media (min-width: 2604px) and (min-height: 1302px) { html:root { zoom: 1.86; --lbb-zoom: 1.86; } }
@media (min-width: 2632px) and (min-height: 1316px) { html:root { zoom: 1.88; --lbb-zoom: 1.88; } }
@media (min-width: 2660px) and (min-height: 1330px) { html:root { zoom: 1.9; --lbb-zoom: 1.9; } }
@media (min-width: 2688px) and (min-height: 1344px) { html:root { zoom: 1.92; --lbb-zoom: 1.92; } }
@media (min-width: 2716px) and (min-height: 1358px) { html:root { zoom: 1.94; --lbb-zoom: 1.94; } }
@media (min-width: 2744px) and (min-height: 1372px) { html:root { zoom: 1.96; --lbb-zoom: 1.96; } }
@media (min-width: 2772px) and (min-height: 1386px) { html:root { zoom: 1.98; --lbb-zoom: 1.98; } }
@media (min-width: 2800px) and (min-height: 1400px) { html:root { zoom: 2; --lbb-zoom: 2; } }
@media (min-width: 2828px) and (min-height: 1414px) { html:root { zoom: 2.02; --lbb-zoom: 2.02; } }
@media (min-width: 2856px) and (min-height: 1428px) { html:root { zoom: 2.04; --lbb-zoom: 2.04; } }
@media (min-width: 2884px) and (min-height: 1442px) { html:root { zoom: 2.06; --lbb-zoom: 2.06; } }
@media (min-width: 2912px) and (min-height: 1456px) { html:root { zoom: 2.08; --lbb-zoom: 2.08; } }
@media (min-width: 2940px) and (min-height: 1470px) { html:root { zoom: 2.1; --lbb-zoom: 2.1; } }
@media (min-width: 2968px) and (min-height: 1484px) { html:root { zoom: 2.12; --lbb-zoom: 2.12; } }
@media (min-width: 2996px) and (min-height: 1498px) { html:root { zoom: 2.14; --lbb-zoom: 2.14; } }
@media (min-width: 3024px) and (min-height: 1512px) { html:root { zoom: 2.16; --lbb-zoom: 2.16; } }
@media (min-width: 3052px) and (min-height: 1526px) { html:root { zoom: 2.18; --lbb-zoom: 2.18; } }
@media (min-width: 3081px) and (min-height: 1541px) { html:root { zoom: 2.2; --lbb-zoom: 2.2; } }
@media (min-width: 3109px) and (min-height: 1555px) { html:root { zoom: 2.22; --lbb-zoom: 2.22; } }
@media (min-width: 3137px) and (min-height: 1569px) { html:root { zoom: 2.24; --lbb-zoom: 2.24; } }
@media (min-width: 3164px) and (min-height: 1582px) { html:root { zoom: 2.26; --lbb-zoom: 2.26; } }
@media (min-width: 3192px) and (min-height: 1596px) { html:root { zoom: 2.28; --lbb-zoom: 2.28; } }
@media (min-width: 3220px) and (min-height: 1610px) { html:root { zoom: 2.3; --lbb-zoom: 2.3; } }
@media (min-width: 3248px) and (min-height: 1624px) { html:root { zoom: 2.32; --lbb-zoom: 2.32; } }
@media (min-width: 3276px) and (min-height: 1638px) { html:root { zoom: 2.34; --lbb-zoom: 2.34; } }
@media (min-width: 3304px) and (min-height: 1652px) { html:root { zoom: 2.36; --lbb-zoom: 2.36; } }
@media (min-width: 3332px) and (min-height: 1666px) { html:root { zoom: 2.38; --lbb-zoom: 2.38; } }
@media (min-width: 3360px) and (min-height: 1680px) { html:root { zoom: 2.4; --lbb-zoom: 2.4; } }
@media (min-width: 1024px) {
  html:root { --lbb-marge: 3%; }
  /* En-tête, bandeaux et bas de page : mêmes bords que le contenu. */
  html:root body > :is(header.lbb-entete, .lbb-slogan, footer.lbb-pied, a.lbb-direct-signal, header.site-header, nav) { padding-left: var(--lbb-marge) !important; padding-right: var(--lbb-marge) !important; box-sizing: border-box; }
  html:root body > :is(a.lbb-ma-rencontre, a.lbb-ma-camera, a.lbb-filmer-match) { margin-left: var(--lbb-marge) !important; margin-right: var(--lbb-marge) !important; }
  /* Bas de page : toute la largeur sur toutes les pages (Première Bande le bornait à 1 200 px, à gauche). */
  html:root body > footer.lbb-pied { width: auto !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
  /* Contenu : le même cadre sur toutes les pages, centré, sans marge intérieure propre à chaque page. */
  html:root body > main, html:root body > div > main { width: auto !important; max-width: none !important; margin-left: var(--lbb-marge) !important; margin-right: var(--lbb-marge) !important; padding-left: 0 !important; padding-right: 0 !important; box-sizing: border-box; }
  /* Grands blocs d'en-tête de page (Première Bande, cafés…) : calés sur le même cadre, sans retrait propre. */
  html:root body > main > :is(section.hero, section.season) { margin-left: 0 !important; margin-right: 0 !important; }
  /* Titres de page : la même taille partout (le grand titre de l'accueil garde la sienne). */
  html:root body:not(.home-page-v98) main h1 { font-size: 36px !important; }
  /* Fenêtres (dialog) : jamais plus grandes que l'écran, même agrandies. */
  html:root body dialog { max-width: calc(100vw / var(--lbb-zoom, 1) - 16px) !important; max-height: calc(100dvh / var(--lbb-zoom, 1) - 16px) !important; }
  html:root body .lbb-reglage { width: min(320px, calc(100vw / var(--lbb-zoom, 1) - 24px)); }
}
/* 1.124.9 (Rudy) : une actu avec des liens a son vrai « Lire l'actu » en bas, à la place du texte qui ne cliquait pas. */
html body main #news-list article.news-article .news-text::after { content: none; }
html body main #news-list article.news-article .news-text > .home-news-more-v98 { order: 4; align-self: flex-start; margin-top: 4px; padding-bottom: 1px; border-bottom: 2px solid #0b3d2c; color: #0b3d2c; font: 800 14px/1.3 Arial, Helvetica, sans-serif; text-decoration: none; }

/* 1.124.26 (Rudy, 3/11) : les trois titres des actus de l’accueil comme ceux de /actus (la 1re, un lien, était forcée en 15 px). */
html body #home-news-v98 > :is(a, article).home-news-v98 .home-news-body-v98 > h3 { font-family: Arial, Helvetica, sans-serif !important; font-weight: 800 !important; font-size: clamp(1.15rem, 2.5vw, 1.8rem) !important; line-height: 1.15 !important; letter-spacing: 0.01em !important; text-transform: uppercase; }

/* 1.124.29 (Rudy, 3/11) : accueil — Première Bande en un seul bloc compact (les deux liens côte à côte, le texte « Toi aussi » dessous). */
html body.home-page-v98 .lbb-pb-actions-127 { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 18px; margin: 4px 0 0; }
html body.home-page-v98 main > section.lbb-pb-154 p.lbb-pb-creer-127 { max-width: 46ch; margin: 0; color: #d9e4d6 !important; font-size: 15px; line-height: 1.45; text-align: center; text-wrap: balance; }
html body.home-page-v98 main > section.lbb-pb-154 p.lbb-pb-creer-127 b { color: #fff8e7; }
/* 1.124.60 bouton Podcast (Rudy, 4/11) : le bouton a le style des autres liens du pied ; son petit panneau s'ouvre juste sous la rangée des boutons sur téléphone (le Podcast est le dernier), centré, au-dessus et à droite sur ordinateur (le pied est en bas de page). */
html body .lbb-pied-contacts { position: relative; }
html body .lbb-pied-contacts .lbb-podcast { display: inline-block; position: static; }
html body .lbb-pied-contacts .lbb-podcast > summary { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 6px 14px 6px 8px; border: 1px solid var(--lbb-trait); border-radius: 21px; background: var(--lbb-creme); color: var(--lbb-vert); font-weight: 700; cursor: pointer; list-style: none; box-sizing: border-box; }
html body .lbb-pied-contacts .lbb-podcast > summary::-webkit-details-marker { display: none; }
html body .lbb-pied-contacts .lbb-podcast > summary::marker { content: ""; }
html body .lbb-pied-contacts .lbb-podcast > summary:hover, html body .lbb-pied-contacts .lbb-podcast[open] > summary { border-color: var(--lbb-vert); }
html body .lbb-pied-contacts .lbb-podcast > summary:focus-visible { outline: 3px solid #e6bf68; outline-offset: 2px; }
html body .lbb-pied-contacts .lbb-podcast-panneau { position: absolute; z-index: 40; top: calc(100% + 8px); left: 50%; transform: translateX(-50%); width: min(280px, calc(100vw - 32px)); box-sizing: border-box; display: flex; flex-direction: column; gap: 6px; padding: 12px 12px 10px; background: #fffaf0; border: 1px solid #e3dcc6; border-radius: 14px; box-shadow: 0 8px 24px rgba(18, 63, 50, .22); text-align: left; color: var(--lbb-vert); }
html body .lbb-pied-contacts .lbb-podcast-panneau b { font: 800 15px/1.2 Arial, Helvetica, sans-serif; }
html body .lbb-pied-contacts .lbb-podcast-panneau small { font: 13px/1.2 Arial, Helvetica, sans-serif; color: #4f6358; margin-bottom: 4px; }
html body .lbb-pied-contacts .lbb-podcast-panneau a { display: flex; justify-content: space-between; align-items: center; min-height: 42px; padding: 8px 12px; border-radius: 10px; border: 1px solid var(--lbb-trait); background: var(--lbb-creme); color: var(--lbb-vert); font-weight: 700; text-decoration: none; }
@media (min-width: 1024px) { html body .lbb-pied-contacts .lbb-podcast-panneau { top: auto; bottom: calc(100% + 8px); left: auto; right: 0; transform: none; } }

/* 1.124.90 (Rudy) : page Jeux, la pastille Bêta revient sur les jeux encore en chantier. */
.jx-lanceur .jx-lt-pastille.jx-lt-beta { display: block; }

/* 1.124.96 (audit du 10/11) : zones à toucher d'au moins 32 px au téléphone. */
.fm-video-1125 { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; min-height: 32px; box-sizing: border-box; }
.cl-parties > summary, .eq-feuille-153 > summary, .dx-details > summary { min-height: 32px; padding-block: 7px; box-sizing: border-box; }
.home-news-more-v98 { display: inline-flex; align-items: center; min-height: 32px; }
