/*
Theme Name: Roller Hockey Brignolais
Theme URI: https://rollerhockeybrignolais.fr
Author: Roller Hockey Brignolais
Description: Thème sur mesure pour le club de roller hockey de Brignoles (RHB). Toute la mise en page vit ici ; les textes, images, tableaux et boutons de chaque page se modifient depuis l'éditeur de blocs WordPress, sans toucher au code.
Version: 1.7.0
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rhb
*/

/* ============================================================
   1. JETONS DE DESIGN (couleurs, rayon, conteneur)
   ============================================================ */
:root{
  color-scheme: light;
  --ink:        #16110F;
  --ink-soft:   #241C19;
  --red:        #D61938;
  --red-deep:   #8F0F26;
  --gold:       #C98A3D;
  --gold-soft:  #E4C08C;
  --ice:        #F6F2EA;
  --ice-dim:    #EAE3D4;
  --line:       rgba(246,242,234,0.14);

  --sp-purple:  #2E1E42;
  --sp-plum:    #5A3459;
  --sp-pink:    #D5578B;
  --sp-orange:  #F0895F;
  --sp-gold:    #E8BE7B;
  --sp-gold-light: #F6DFB3;

  --radius: 3px;
  --container: 1180px;
  --shadow: 0 18px 40px rgba(10,7,6,0.35);
}

*,*::before,*::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; }
}

body{
  margin:0;
  background: var(--ice);
  color: var(--ink);
  font-family:'Barlow', Arial, sans-serif;
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; height:auto; }
a{ color: var(--red-deep); text-decoration-thickness: 1.5px; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline: 3px solid var(--gold);
  outline-offset: 2px;
}

h1,h2,h3,h4,.display{
  font-family:'Anton', Arial, sans-serif;
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:0.01em;
  line-height:1.05;
  margin:0 0 .5em;
}
h1{ font-size: clamp(2.6rem, 6vw, 4.6rem); }
h2{ font-size: clamp(1.9rem, 4vw, 2.8rem); }
h3{ font-size: clamp(1.2rem, 2.4vw, 1.5rem); }

.eyebrow{
  font-family:'Barlow Condensed', Arial, sans-serif;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  font-size:0.9rem;
  color: var(--red-deep);
  display:block;
  margin:0 0 10px;
}
.on-dark .eyebrow, .hero .eyebrow, .sunset .eyebrow{ color: var(--gold-soft); }

p{ margin:0 0 1em; max-width:64ch; }
.container{ width:100%; max-width:var(--container); margin:0 auto; padding:0 24px; }

/* Contenu de page : chaque page est une suite de blocs, sans section HTML dédiée.
   Les blocs de premier niveau (hors "pleine largeur") sont centrés et respirent. */
.entry-content{ padding: 0 0 56px; }
.entry-content > *{ margin-top:0; margin-bottom:28px; }
.entry-content > *:not(.alignfull):not(.alignwide){
  max-width: var(--container);
  margin-left:auto; margin-right:auto;
  padding-left:24px; padding-right:24px;
  box-sizing:border-box;
}

/* Bandes pleine largeur (classe "hero", "stat-band", "on-dark", "sunset" sur un bloc
   Groupe aligné "pleine largeur") : on centre et on limite la largeur des blocs
   enfants directs, sans avoir besoin d'un conteneur supplémentaire. */
.wp-block-group.alignfull{ padding-top:84px; padding-bottom:84px; }
.wp-block-group.alignfull.section-tight{ padding-top:56px; padding-bottom:56px; }
.wp-block-group.alignfull > *,
.wp-block-group.alignfull > .wp-block-group__inner-container > *{
  max-width: var(--container);
  margin-left:auto; margin-right:auto;
  padding-left:24px; padding-right:24px;
  box-sizing:border-box;
}
.wp-block-group.alignfull > .wp-block-image,
.wp-block-group.alignfull > .wp-block-group__inner-container > .wp-block-image,
.wp-block-group.alignfull.no-pad{ padding-top:0; padding-bottom:0; }

.wp-block-group.on-dark, .wp-block-group.hero{ background: var(--ink); color: var(--ice); }
.wp-block-group.on-dark p, .wp-block-group.hero p{ color: rgba(246,242,234,0.85); }
.wp-block-group.on-dark a, .wp-block-group.hero a{ color: var(--gold-soft); }
.wp-block-group.on-dark h1, .wp-block-group.on-dark h2, .wp-block-group.on-dark h3,
.wp-block-group.hero h1, .wp-block-group.hero h2, .wp-block-group.hero h3{ color:#fff; }

/* ---------- Bandeau d'accueil (signature visuelle : rayures diagonales) ---------- */
.wp-block-group.hero{ position:relative; overflow:hidden; padding-top:96px; padding-bottom:84px; }
.wp-block-group.hero::before{
  content:"";
  position:absolute; inset:-20% -10%;
  background: repeating-linear-gradient(135deg, transparent 0 64px, rgba(214,25,56,0.14) 64px 68px, transparent 68px 132px, rgba(201,138,61,0.12) 132px 136px);
  pointer-events:none;
}
.wp-block-group.hero > *,
.wp-block-group.hero > .wp-block-group__inner-container > *{
  position:relative;
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center;
}
.wp-block-group.hero p.lede{ font-size:1.2rem; max-width:640px !important; margin-left:auto !important; margin-right:auto !important; }
.wp-block-group.hero .video-embed{
  position:relative; width:100%; margin-top:12px;
  max-width:1000px !important;
  aspect-ratio:16/9; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);
}
.wp-block-group.hero .video-embed iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; display:block; }
.wp-block-group.hero .wp-block-buttons{ justify-content:center; }
.wp-block-group.sunset.hero::before{ display:none; }

/* ---------- Séparateur rayures de bande (élément signature) ---------- */
.wp-block-separator.rink-stripes{
  height:16px; width:100% !important; max-width:none !important;
  margin-top:0; margin-bottom:0;
  border:none;
  background: repeating-linear-gradient(135deg, var(--red) 0 26px, var(--gold) 26px 32px, var(--ink) 32px 58px, var(--gold) 58px 64px);
}
.wp-block-separator.rink-stripes.thin{ height:8px; margin-top:0; margin-bottom:0; }
.wp-block-group.alignfull:has(+ .wp-block-separator.rink-stripes){ margin-bottom:0 !important; }

/* ============================================================
   2. EN-TÊTE / NAVIGATION
   ============================================================ */
.site-header{ position: sticky; top:0; z-index:50; background: var(--ink); border-bottom:1px solid var(--line); }
.nav-row{ display:flex; align-items:center; justify-content:space-between; padding: 12px 24px; max-width: var(--container); margin:0 auto; gap: 20px; }
.brand{ display:flex; align-items:center; gap:12px; color: var(--ice); text-decoration:none; }
.brand img, .brand .custom-logo{ height:46px; width:auto; }
.brand-text{ font-family:'Anton', Arial, sans-serif; font-size:1.05rem; line-height:1.05; letter-spacing:.02em; text-transform:uppercase; }
.brand-text span{ display:block; color: var(--gold-soft); font-family:'Barlow Condensed',sans-serif; font-size:0.72rem; letter-spacing:.18em; font-weight:700; }

.nav-toggle{ display:none; background:none; border:2px solid var(--line); border-radius:var(--radius); color: var(--ice); font-size:1.4rem; line-height:1; padding:6px 10px; cursor:pointer; }
.main-nav{ display:flex; flex-wrap:wrap; gap: 4px 2px; list-style:none; margin:0; padding:0; }
.main-nav li{ list-style:none; }
.main-nav a{
  color: rgba(246,242,234,0.82); text-decoration:none;
  font-family:'Barlow Condensed', sans-serif; font-weight:600; letter-spacing:.04em; text-transform:uppercase; font-size:0.92rem;
  padding: 10px 12px; display:inline-block; border-bottom: 3px solid transparent;
  transition: color .15s ease, border-color .15s ease;
}
.main-nav a:hover{ color: var(--ice); border-color: var(--gold); }
.main-nav .current-menu-item > a, .main-nav a[aria-current="page"]{ color: var(--ice); border-color: var(--red); }

@media (max-width: 980px){
  .nav-toggle{ display:inline-block; }
  .main-nav{ display:none; width:100%; flex-direction:column; gap:0; background: var(--ink-soft); border-top:1px solid var(--line); }
  .main-nav.open{ display:flex; }
  .main-nav a{ padding:14px 22px; border-bottom:1px solid var(--line); border-left:4px solid transparent; width:100%; }
  .main-nav .current-menu-item > a{ border-left-color: var(--red); }
  .nav-row{ flex-wrap:wrap; }
}

/* ============================================================
   3. BOUTONS — mappés sur le bloc natif "Boutons"
   ============================================================ */
.wp-block-buttons{ margin-top: 12px; gap:14px !important; }
.wp-block-button__link{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Barlow Condensed', sans-serif; font-weight:700; letter-spacing:.05em; text-transform:uppercase; font-size:1rem;
  padding: 14px 26px !important; border-radius: var(--radius) !important;
  background: var(--red); color:#fff;
  border: 2px solid transparent;
  transition: transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
}
.wp-block-button__link:hover{ background: var(--red-deep); transform: translateY(-2px); color:#fff; }
/* Style de bloc natif "Contour" = bouton fantôme (à choisir dans la barre d'outils du bloc Bouton) */
.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent !important; border-color: var(--gold-soft); color: var(--ice);
}
.on-dark .wp-block-button.is-style-outline .wp-block-button__link,
.hero .wp-block-button.is-style-outline .wp-block-button__link{ color:var(--ice); }
.wp-block-button.is-style-outline .wp-block-button__link:hover{ background: rgba(228,192,140,0.12) !important; }
.wp-block-button.is-style-dark .wp-block-button__link{ background: var(--ink) !important; color:var(--ice) !important; }
.wp-block-button.is-style-dark .wp-block-button__link:hover{ background: var(--ink-soft) !important; }
.wp-block-button.is-style-gold .wp-block-button__link{ background: var(--gold) !important; color:var(--ink) !important; }
.wp-block-button.is-style-gold .wp-block-button__link:hover{ background: var(--gold-soft) !important; }

/* ============================================================
   4. BANDE DE CHIFFRES CLÉS (bloc Colonnes, classe additionnelle "stat-item")
   ============================================================ */
.wp-block-group.stat-band{ background: var(--ice-dim); padding-top:56px; padding-bottom:56px; }
.stat-item{ text-align:center; }
.stat-item .stat-num{ font-family:'Anton',sans-serif; font-size:2.3rem; color: var(--red-deep); margin:0; }
.stat-item .stat-label{ font-family:'Barlow Condensed',sans-serif; font-weight:600; letter-spacing:.04em; text-transform:uppercase; font-size:0.85rem; color: var(--ink); margin:0; }
.hero .stat-item .stat-num, .on-dark .stat-item .stat-num{ color:#fff; }
.hero .stat-item .stat-label, .on-dark .stat-item .stat-label{ color:#fff9f4; }

/* ============================================================
   5. CARTES (bloc Groupe avec classe additionnelle "card") + colonnes
   ============================================================ */
.wp-block-columns{
  display:flex !important; flex-wrap:wrap !important;
  gap:26px !important; margin-bottom:0 !important;
}
.wp-block-columns.spacious{ margin-top:44px !important; margin-bottom:44px !important; }
@media (min-width:782px){
  .wp-block-columns:not(.is-not-stacked-on-mobile){ flex-wrap:nowrap !important; }
}
.wp-block-column{ flex-grow:1; flex-basis:0; min-width:0; }
.wp-block-group.logo-row{ display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.wp-block-group.logo-row figure{ margin:0; }
@media (max-width:781px){
  .wp-block-column{ flex-basis:100% !important; }
}
.wp-block-buttons.is-content-justification-center{ justify-content:center; }

.wp-block-column.is-vertically-aligned-stretch{ display:flex; flex-direction:column; }
.wp-block-column.is-vertically-aligned-stretch figure.wp-block-image{
  height:100%; margin:0 !important; border-radius: var(--radius); overflow:hidden;
}
.wp-block-column.is-vertically-aligned-stretch figure.wp-block-image img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.card{ background:#fff; border:1px solid rgba(22,17,15,0.08); border-radius: var(--radius); padding: 30px; box-shadow: 0 10px 24px rgba(22,17,15,0.06); height:100%; }
.card h3, .card h4{ color: var(--ink); }
.icon, .card .icon{ width:44px; height:44px; margin-bottom:16px; color: var(--red); display:block; }
.callout .icon{ width:34px; height:34px; color: var(--gold); flex:none; margin-top:4px; }
.card-dark{ background: var(--ink-soft); color: var(--ice); border:1px solid var(--line); }
.card-dark h3, .card-dark h4{ color:var(--ice); }
.card-dark p{ color: rgba(246,242,234,0.82); }

/* ============================================================
   6. TABLEAUX — bloc natif "Tableau"
   ============================================================ */
.wp-block-table{ overflow:hidden; border-radius: var(--radius); border:1px solid rgba(22,17,15,0.1); }
.wp-block-table table{ width:100%; border-collapse:collapse; background:#fff; margin:0; color: var(--ink); }
.wp-block-table th, .wp-block-table td{
  text-align:left; padding: 14px 18px;
  border:none !important;
  border-bottom:1px solid rgba(22,17,15,0.08) !important;
  color: var(--ink);
}
.wp-block-table thead th{ background: var(--ink); color: var(--ice); font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.05em; font-size:0.85rem; }
.wp-block-table tbody tr:last-child td{ border-bottom:none !important; }
.wp-block-table tbody tr:nth-child(even){ background: rgba(201,138,61,0.06); }
.wp-block-table .num{ font-family:'Barlow Condensed',sans-serif; font-weight:700; }

/* ============================================================
   7. ENCARTS (Pass Sport, etc.) — Groupe classe "callout"
   ============================================================ */
.callout{ border: 2px solid var(--gold); border-radius: var(--radius); padding: 26px 28px; background: rgba(201,138,61,0.08); }
.callout h3, .callout h4{ margin-top:0; }

/* ============================================================
   8. PIED DE PAGE
   ============================================================ */
.site-footer{ background: var(--ink); color: rgba(246,242,234,0.75); padding: 50px 0 26px; }
.footer-grid{ display:grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 34px; margin-bottom: 30px; }
@media (max-width: 760px){ .footer-grid{ grid-template-columns: 1fr; } }
.footer-grid h4{ font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.08em; color: var(--gold-soft); font-size:0.85rem; margin: 0 0 14px; }
.footer-grid ul{ list-style:none; margin:0; padding:0; }
.footer-grid li{ margin-bottom:8px; }
.footer-grid a{ color: rgba(246,242,234,0.82); text-decoration:none; }
.footer-grid a:hover{ color:#fff; text-decoration:underline; }
.footer-bottom{ border-top:1px solid var(--line); padding-top:20px; font-size:0.85rem; display:flex; flex-wrap:wrap; gap:10px 24px; justify-content:space-between; }
.footer-bottom a{ color: rgba(246,242,234,0.6); }
.social-row{ display:flex; gap:14px; margin-top:10px; }
.social-row a{ width:38px;height:38px; border-radius:50%; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--ice); }
.social-row a:hover{ border-color: var(--gold); color: var(--gold-soft); }

/* ============================================================
   9. UTILITAIRES
   ============================================================ */
.text-center{ text-align:center; }
.mt-0{ margin-top:0; }
.tag{ display:inline-block; align-self:flex-start; width:fit-content; font-family:'Barlow Condensed',sans-serif; font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-size:0.78rem; padding: 5px 12px; border-radius: 40px; border:1px solid currentColor; margin:0 0 10px; }
.tag-red{ color: var(--red-deep); }
.tag-gold{ color: var(--gold); }

.empty-state{ border: 2px dashed rgba(22,17,15,0.22); border-radius: var(--radius); padding: 40px 26px; text-align:center; color: rgba(22,17,15,0.65); }
.empty-state strong{ display:block; color: var(--ink); font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.04em; margin-bottom:6px; }
.section-head-center{ max-width:640px !important; margin-left:auto !important; margin-right:auto !important; }
.section-head-center,
.section-head-center .wp-block-group__inner-container,
.section-head-center p, .section-head-center h2, .section-head-center h3{ text-align:center !important; }
.section-head-center > *,
.section-head-center .wp-block-group__inner-container > *{
  margin-left:auto !important; margin-right:auto !important;
}
.legal-wrap{ max-width:820px; margin-left:auto !important; margin-right:auto !important; }

.sponsor-tile{ background:#fff; border:1px solid rgba(22,17,15,0.1); border-radius:var(--radius); padding: 22px 18px; text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; min-height:130px; }
.sponsor-tile-label{ font-family:'Barlow Condensed',sans-serif; font-weight:700; letter-spacing:.03em; text-transform:uppercase; font-size:0.78rem; color:rgba(22,17,15,0.55); margin:0; }
.sponsor-tile .wp-block-image{ margin:0; }
.sponsor-tile .wp-block-image img{ max-height:56px; width:auto; margin:0 auto; }
.sponsor-tile .wp-block-image figcaption{ display:none; }
/* Placeholder "prêt à recevoir une photo" pour Galerie / Image vides (avant tout envoi) */
.wp-block-gallery.has-nested-images:empty,
figure.wp-block-image.size-large:empty,
figure.wp-block-image.size-medium:empty{
  border: 2px dashed rgba(22,17,15,0.22); border-radius: var(--radius);
  min-height: 140px; display:flex !important; align-items:center; justify-content:center;
}

/* ---------- Sunset Panthers (page féminine) ---------- */
.wp-block-group.sunset{
  color: #fff9f4;
  background:
    linear-gradient(rgba(8,6,5,0.42), rgba(8,6,5,0.42)),
    linear-gradient(155deg, var(--sp-purple) 0%, var(--sp-plum) 40%, var(--sp-pink) 72%, var(--sp-orange) 100%);
  border: none;
}
.wp-block-group.sunset .eyebrow{ color: var(--sp-gold-light); }
.wp-block-group.sunset .wp-block-button__link{ background:#fff9f4; color: var(--sp-purple); text-shadow:none; }
.wp-block-group.sunset .wp-block-button__link:hover{ background: var(--sp-gold); color: var(--sp-purple); }
.wp-block-group.sunset .wp-block-button.is-style-outline .wp-block-button__link{ border-color: rgba(255,249,244,0.7); color:#fff9f4; background:transparent !important; }
.wp-block-group.sunset p{ color: rgba(255,249,244,0.96); text-shadow: 0 1px 3px rgba(0,0,0,0.25); }
.wp-block-group.sunset .stat-item .stat-num{ color:#fff9f4; text-shadow: 0 1px 3px rgba(0,0,0,0.25); }
.wp-block-group.sunset h1, .wp-block-group.sunset h2, .wp-block-group.sunset h3{ color:#fff9f4; text-shadow: 0 1px 4px rgba(0,0,0,0.3); }

/* Variante "vive" : le dégradé d'origine, sans voile sombre, pour les grands
   blocs (héros, bande de stats de la page Féminin) où le texte reste, de par
   sa position, sur la partie la plus foncée du dégradé — vérifié à la main. */
.wp-block-group.sunset.sunset-vivid{
  background: linear-gradient(160deg, var(--sp-purple) 0%, var(--sp-plum) 42%, var(--sp-pink) 76%, var(--sp-orange) 100%);
}
.wp-block-group.sunset.sunset-vivid .eyebrow{ color: var(--sp-gold); }

/* ---------- Boutique : tuiles couleur ---------- */
.shop-tile-goodies{ background: linear-gradient(150deg, var(--ink), var(--ink-soft)); border:1px solid var(--line); color:#fff; padding:34px; height:100%; box-sizing:border-box; }
.shop-tile-tenues{ background: linear-gradient(150deg, var(--red-deep), var(--red)); color:#fff; padding:34px; height:100%; box-sizing:border-box; }
.shop-tile-goodies h2, .shop-tile-goodies h3, .shop-tile-tenues h2, .shop-tile-tenues h3{ color:#fff; }
.shop-tile-goodies p, .shop-tile-tenues p{ color:rgba(255,255,255,0.88); }

/* ---------- Lien d'évitement (accessibilité clavier) ---------- */
.skip-link{ position:absolute; left:-999px; top:auto; background:var(--ink); color:#fff; padding:12px 18px; z-index:100; font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.05em; }
.skip-link:focus{ left:16px; top:16px; }

/* ---------- Cartes du bureau / stats en grille simple (repli sans bloc Colonnes) ---------- */
.grid{ display:grid; gap:26px; }
.grid-3{ grid-template-columns:repeat(3,1fr); }
.grid-2{ grid-template-columns:repeat(2,1fr); }
@media (max-width:860px){ .grid-3, .grid-2{ grid-template-columns:1fr; } }

/* ============================================================
   10. DIAPORAMA — bloc natif "Galerie" transformé en carrousel
   (une photo affichée à la fois, avec flèches). Dès qu'un album
   contient au moins 2 photos, script.js ajoute la classe
   "rhb-carousel" et les boutons ; tant qu'il est vide, le
   placeholder en pointillés (règle plus haut) reste affiché.
   ============================================================ */
.wp-block-gallery.has-nested-images{
  display:block !important;
  margin:0 !important;
  position:relative;
  aspect-ratio: 4 / 3;
  overflow:hidden;
}
/* Repli CSS pur : avant même que le script s'exécute, seule la 1ère photo
   d'un album est visible — pas d'effet de "flash" de toutes les photos. */
.wp-block-gallery.has-nested-images > figure.wp-block-image{ display:none; margin:0 !important; height:100%; }
.wp-block-gallery.has-nested-images > figure.wp-block-image:first-child{ display:block; }
/* Une fois le script chargé (classe "rhb-carousel" ajoutée), c'est la photo
   marquée "is-active" qui prend le relais, quelle qu'elle soit. */
.wp-block-gallery.has-nested-images.rhb-carousel > figure.wp-block-image{ display:none; }
.wp-block-gallery.has-nested-images.rhb-carousel > figure.wp-block-image.is-active{ display:block; }
.wp-block-gallery.has-nested-images.rhb-carousel{
  border-radius: var(--radius);
  overflow:hidden;
  background: rgba(22,17,15,0.04);
}
.wp-block-gallery.has-nested-images > figure.wp-block-image img{
  width:100%; height:100%; display:block; object-fit:cover !important; border-radius:0 !important;
}
.rhb-carousel-nav{
  display:flex; align-items:center; justify-content:center; gap:18px;
  margin-top:14px;
}
.rhb-carousel-btn{
  width:40px; height:40px; border-radius:50%;
  background: var(--ink); color:#fff; border:none;
  display:flex; align-items:center; justify-content:center;
  font-size:1.35rem; line-height:1; cursor:pointer;
  transition: background .15s ease, transform .15s ease;
}
.rhb-carousel-btn:hover{ background: var(--red); transform: translateY(-1px); }
.rhb-carousel-count{
  font-family:'Barlow Condensed',sans-serif; font-weight:600; letter-spacing:.04em;
  color: var(--ink); font-size:0.9rem; min-width:56px; text-align:center;
}

/* Bouton "agrandir" posé sur la photo active */
.rhb-carousel-expand{
  position:absolute; top:12px; right:12px; z-index:4;
  width:38px; height:38px; border-radius:50%;
  background:rgba(22,17,15,0.65); color:#fff; border:none;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition: background .15s ease, transform .15s ease;
}
.rhb-carousel-expand:hover{ background: var(--red); transform: translateY(-1px); }

/* ============================================================
   11. PLEIN ÉCRAN (lightbox) — ouvert au clic sur une photo
   ============================================================ */
body.rhb-lightbox-locked{ overflow:hidden; }
.rhb-lightbox{
  position:fixed; inset:0; z-index:1000;
  background: rgba(10,7,6,0.94);
  display:none; align-items:center; justify-content:center;
  padding: 60px 24px;
}
.rhb-lightbox.is-open{ display:flex; }
.rhb-lightbox-img{
  max-width:88vw; max-height:82vh; width:auto; height:auto;
  object-fit:contain; border-radius: var(--radius); box-shadow: var(--shadow);
}
.rhb-lightbox-close, .rhb-lightbox-btn{
  position:absolute; border:none; background: rgba(255,255,255,0.12); color:#fff;
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition: background .15s ease;
}
.rhb-lightbox-close:hover, .rhb-lightbox-btn:hover{ background: var(--red); }
.rhb-lightbox-close{ top:20px; right:20px; width:44px; height:44px; font-size:1.6rem; line-height:1; }
.rhb-lightbox-btn{ top:50%; transform:translateY(-50%); width:52px; height:52px; font-size:1.8rem; line-height:1; }
.rhb-lightbox-prev{ left:16px; }
.rhb-lightbox-next{ right:16px; }
.rhb-lightbox-count{
  position:absolute; bottom:22px; left:50%; transform:translateX(-50%);
  color:#fff; font-family:'Barlow Condensed',sans-serif; letter-spacing:.05em; font-size:0.95rem;
}
@media (max-width:640px){
  .rhb-lightbox{ padding:70px 12px; }
  .rhb-lightbox-btn{ width:42px; height:42px; font-size:1.5rem; }
  .rhb-lightbox-prev{ left:6px; } .rhb-lightbox-next{ right:6px; }
}

/* ============================================================
   12. ÉVÉNEMENTS — liste en lignes alternées + fiche individuelle
   ============================================================ */
.event-list{ display:flex; flex-direction:column; border-radius: var(--radius); overflow:hidden; }
.event-row{
  display:grid; grid-template-columns:260px 1fr; gap:28px; align-items:stretch;
  padding:28px;
}
.event-row:nth-child(even){ background: var(--ink); color:#fff; }
.event-row:nth-child(even) .event-row-body h3 a{ color:#fff; }
.event-row:nth-child(even) .event-row-body h3 a:hover{ color:#fff; }
.event-row:nth-child(even) .event-row-lieu{ color:rgba(246,242,234,0.75); }
.event-row:nth-child(even) .event-row-more{ color: var(--gold-soft); }
.event-row:nth-child(even) .tag-red{ color: var(--gold-soft); border-color:currentColor; }
@media (max-width:600px){ .event-row{ grid-template-columns:1fr; } }

.event-row-media{ border-radius:var(--radius); overflow:hidden; }
.event-row-media a{ display:block; width:100%; height:100%; }
.event-row-media img{ width:100%; height:100%; object-fit:cover; display:block; margin:0; aspect-ratio:4/3; }
.event-row-media-empty{
  width:100%; height:100%; aspect-ratio:4/3;
  background: repeating-linear-gradient(135deg, var(--red) 0 26px, var(--gold) 26px 32px, var(--ink) 32px 58px, var(--gold) 58px 64px);
  opacity:.16;
}
.event-row-body{ display:flex; flex-direction:column; justify-content:center; }
.event-row-body h3{ margin:10px 0 8px; font-size:1.4rem; }
.event-row-body h3 a{ color:var(--ink); text-decoration:none; }
.event-row-body h3 a:hover{ text-decoration:underline; }
.event-row-lieu{ color:rgba(22,17,15,0.6); margin:0 0 16px; }
.event-row-more{
  align-self:flex-start;
  font-family:'Barlow Condensed',sans-serif; font-weight:700; text-transform:uppercase;
  letter-spacing:.04em; font-size:0.92rem; color:var(--red-deep); text-decoration:none;
}
.event-row-more:hover{ text-decoration:underline; }

.event-single-photo{ border-radius:var(--radius); overflow:hidden; }
.event-single-photo img{ width:100%; height:auto; display:block; margin:0; }
