/*
Theme Name: Simple Bootstrap Grid
Theme URI: https://example.com/
Author: FILFAB
Description: Thème WordPress minimal utilisant Bootstrap (grid) et un menu horizontal multi-niveaux.
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: simple-bootstrap-grid
*/

/* ---------- BASE ---------- */
:root {
  --bfc-background-color: rgb(40 40 40);
  --bfc-font-color: #e9e9e9;
  --bfc-font-family: 'Cairo', Helvetica, sans-serif;

  --bfc-green-pill-background: rgba(70, 180, 80, 0.55);
  --bfc-green-pill-border-color: rgba(70, 180, 80, 0.70);

  --banner-height: 500px;
  --navbar-height: 125px;

  --menu-hover-bg: #BD9831;
  --menu-text: #fff;
  --menu-text-hover: #000;
}

@media (max-width: 640px){
  :root{
   --banner-height: 22rem;
    --navbar-height: 4rem;
  }
  .top-logo {
    width: 3rem !important;
    height: auto !important;

  }
}

body {
  line-height: 1.6;
  background-color: var(--bfc-background-color);
  background: url('img/background_texture.jpg') ;
  color: var(--bfc-font-color);
  font-family: var(--bfc-font-family);
}

.site-header {
  position: relative; /* nécessaire pour superposer navbar/bannière */
  margin-bottom: 0;
}

.site-footer {
  margin-top: 2rem;
  font-size: 0.9rem;
}

/* ---------- NAVBAR (AU-DESSUS DE LA BANNIÈRE) ---------- */
.navbar {
  position: absolute;       /* ✅ superposition */
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;

  height: var(--navbar-height);
  display: flex;

  box-shadow: 0px 4px 13.2px 8px #00000040;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.6) 0%,
    rgba(29, 29, 29, 0.6) 100%
  );
}

.top-logo {
  width: 101px;
  height: 101px;
  object-fit: cover;
}

/* ---------- MENU (3 niveaux) ---------- */
.navbar-nav > li,
.navbar-nav .sub-menu li {
  position: relative;
}

.navbar-nav a {
  color: var(--menu-text);
  text-decoration: none;
  display: block;               /* ✅ effet block */
  padding: 0.9rem 1.2rem;
  transition: background-color .2s ease, color .2s ease;
}

.navbar-nav li:hover > a,
.navbar-nav a:hover,
.navbar-nav a:focus {
  background: var(--menu-hover-bg);
  color: var(--menu-text-hover);
}

/* Sous-menu niveau 2 */
.navbar-nav .sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;

  background: rgba(0, 0, 0, 0.75);
  box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.35);

  display: none;
  z-index: 1000;
}

.navbar-nav .sub-menu li a {
  padding: 0.75rem 1rem;
  white-space: nowrap;
}

.navbar-nav li:hover > .sub-menu {
  display: block;
}

/* Sous-sous-menu niveau 3 */
.navbar-nav .sub-menu .sub-menu {
  top: 0;
  left: 100%;
}

/* Indicateurs */
.navbar-nav > .menu-item-has-children > a::after {
  content: " ▾";
  font-size: 0.75em;
}

.navbar-nav .sub-menu .menu-item-has-children > a::after {
  content: " ▸";
  font-size: 0.85em;
  float: right;
}

/* ---------- BANNIÈRE / CAROUSEL ---------- */
.site-header-banner {
  position: relative;
  overflow: hidden;
}

/* Full width “full bleed” */
.background-banner {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  height: var(--banner-height);
  max-width: none;
}

.banner-wrap {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.banner-wrap .carousel,
.banner-wrap .carousel-inner,
.banner-wrap .carousel-item {
  height: 100%;
}

.banner-carousel-img {
  width: 100%;
  height: var(--banner-height);
  object-fit: cover;
}

/* Overlay texte au-dessus, sans bloquer les contrôles */
.banner-overlay {
  position: absolute;
  inset: 0;
  z-index: 5;

  display: flex;
  align-items: center;
  justify-content: center;

  text-shadow: 0 2px 12px rgba(0,0,0,.6);
  pointer-events: none;
}

.banner-overlay h1 {
    font-weight: 700;
    font-size: 4.5rem;
    text-transform: uppercase;
}

.banner-overlay p {
    font-size: 1.25rem;
    margin-top: 0.5rem;
}

.banner-wrap .carousel-control-prev,
.banner-wrap .carousel-control-next {
  z-index: 6;
}

/* ---------- CONTENU ---------- */
article {
  /* padding: 1rem; */
  margin-bottom: 1.5rem;
  border-radius: 0.25rem;
}

article h1,
article h2 {
  margin-top: 0;
  margin-bottom: 3rem;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 991.98px) {
  /* La barre du haut en mobile : plus opaque */
  .navbar{
    background: rgba(0,0,0,0.92) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  /* Zone qui s'ouvre (Bootstrap collapse) : fond plein */
.navbar .navbar-collapse {
    background: rgba(0,0,0,0.92) !important;
    padding: 10px 0;
    margin-top: -2px;
}

  /* Liens plus lisibles dans le panneau mobile */
  .navbar-nav a{
    color: #fff !important;
    padding: 0.6rem 1.2rem !important;
  }

  /* ---------------------------
     BURGER (Bootstrap 5)
     --------------------------- */
  .navbar .navbar-toggler{
    border-color: rgba(255,255,255,0.45) !important;
  }

  /* L’icône burger BS5 est un SVG en background-image -> on l’inverse en blanc */
  .navbar .navbar-toggler-icon{
    filter: brightness(0) invert(1) !important;
    opacity: 1 !important;
  }

  /* ---------------------------
     BURGER si tu utilises une icône <i class="bi bi-list"> (au cas où)
     --------------------------- */
  .navbar .bi-list,
  .navbar .burger-icon{
    color: #fff !important;
    opacity: 1 !important;
  }
}


/* ---------- STYLES POUR LE WIDGET "Club Key Numbers" ---------- */

.club-key-numbers-widget {
    font-size: 1.1rem;
}

.club-key-numbers-item-number {
    font-size: 1.4rem;
    color: #007bff;
    /* par ex. */
}

.club-key-numbers-separator {
    font-weight: 700;
}

/* ---------- STYLES POUR LE WIDGET "Club Next Match" ---------- */
/* ===================================================================== */
/* Club Next Match — Premium glass layout                                 */
/* ===================================================================== */

.club-next-match-card--premium{
  position: relative;
  overflow: hidden;

  background: rgba(10, 10, 14, 0.55);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  backdrop-filter: blur(18px) saturate(140%);

  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 22px;

  box-shadow:
    0 30px 70px rgba(0,0,0,0.45),
    inset 0 1px 0 rgba(255,255,255,0.10);

  color: #fff;
  padding: 22px;
  max-width: 760px;
  margin: 0 auto;
}

/* Glow discret */
.club-next-match-card--premium::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(80% 60% at 20% 10%, rgba(255,255,255,0.10), transparent 60%),
    radial-gradient(60% 60% at 80% 0%, rgba(189,152,49,0.12), transparent 55%);
  pointer-events:none;
}

/* Top bar */
.club-next-match-top{
  position: relative;
  z-index: 1;
  display:flex;
  align-items:center;
  gap: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255,255,255,0.12);
  margin-bottom: 18px;
  font-size: 0.8rem;
}

.club-next-match-topmeta{
  display:flex;
  flex-direction: column;
  gap: 2px;
  opacity: .95;
}

.club-next-match-venue{
  font-weight: 700;
  letter-spacing: .02em;
  font-size: 14px;
}

.club-next-match-league{
  font-size: 13px;
  opacity: .85;
}

/* LIVE pill */
.club-next-match-livepill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 10rem;
  padding: 12px 16px;
  border-radius: 10px;

  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;

  border: 1px solid rgba(255,255,255,0.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.10);
}

/* Réutilise tes classes status */
.club-next-match-livepill.club-next-match-status-live{
  background: var(--bfc-green-pill-background);
  border-color: var(--bfc-green-pill-border-color);
}
.club-next-match-livepill.club-next-match-status-halftime{
  background: rgba(255, 185, 0, 0.45);
  border-color: rgba(255, 185, 0, 0.70);
}
.club-next-match-livepill.club-next-match-status-finished{
  background: rgba(255,255,255,0.10);
  border-color: rgba(255,255,255,0.18);
}

/* Main 2-col teams */
.club-next-match-main{
  position: relative;
  z-index: 1;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  align-items: center;
  text-align: center;
}

.club-next-match-team{
  display:flex;
  flex-direction: column;
  align-items:center;
  justify-content:center;
  gap: 12px;
  padding: 6px 0;
}

/* Logo round */
.club-next-match-teamlogo{
  width: 140px;
  height: 140px;
  object-fit: contain;
  border-radius: 999px;
  filter: drop-shadow(0 18px 30px rgba(0,0,0,.35));
}

/* Name */
.club-next-match-teamname{
  font-weight: 700;
  opacity: .95;

  /* taille actuelle */
  font-size: clamp(0.7rem, 2.5vw, 1rem);

  /* ✅ 2 lignes max, et pas plus */
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;

  /* ✅ base de hauteur = 2 lignes pour éviter les décalages */
  line-height: 1.2;
  min-height: calc(1.2em * 2);
}


/* Big score */
.club-next-match-teamscore{
  font-weight: 900;
  font-size: clamp(64px, 6vw, 110px);
  line-height: 1;
  font-variant-numeric: tabular-nums;
  letter-spacing: .02em;

  text-shadow:
    0 3px 0 rgba(0,0,0,.18),
    0 10px 22px rgba(0,0,0,.25);
}

/* Bottom date/time */
.club-next-match-bottom{
  position: relative;
  z-index: 1;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,0.10);
  display:flex;
  justify-content: center;
}

.club-next-match-datetime{
  display:flex;
  gap: 12px;
  font-weight: 700;
  opacity: .90;
}

@media (max-width: 640px){
  .club-next-match-main{
    grid-template-columns: 1fr 1fr; /* ✅ reste côte à côte */
    gap: 14px;                      /* un peu moins d’espace */
  }

  .club-next-match-teamlogo{
    width: 96px;   /* réduit pour tenir sur mobile */
    height: 96px;
  }

  .club-next-match-teamname{
    font-size: 14px;
  }

  .club-next-match-teamscore{
    font-size: clamp(42px, 10vw, 64px);
  }
}

@media (max-width: 575.98px){
  .club-next-match-top{
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  /* optionnel : le pill prend toute la largeur (plus joli en mobile) */
  .club-next-match-livepill{
    width: 100%;
    justify-content: center;
  }

  /* optionnel : éviter que le texte déborde */
  .club-next-match-venue,
  .club-next-match-league{
    word-break: break-word;
  }
}

/* Pulse premium sur refresh */
.club-next-match-card--premium.club-next-match-pulse{
  animation: clubNextPulse 650ms cubic-bezier(.2,.9,.2,1);
  transform-origin: center;
}

@keyframes clubNextPulse{
  0%   { transform: scale(1);    box-shadow: 0 30px 70px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.10); }
  35%  { transform: scale(1.02); box-shadow: 0 38px 90px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.14); }
  100% { transform: scale(1);    box-shadow: 0 30px 70px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.10); }
}



/* ---------- STYLES POUR LE WIDGET "Club MW Live" ---------- */
.club-mw-live-card {
    border: 1px solid #ccd0d4;
    border-radius: 10px;
    padding: 12px 14px;
    margin-bottom: 16px;
    background: #ffffff;
}

.club-mw-live-header {
    font-weight: 600;
    margin-bottom: 6px;
}

.club-mw-live-meta {
    font-size: 12px;
    color: #555;
    margin-bottom: 8px;
}

.club-mw-live-score {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 10px;
}

.club-mw-live-status {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    margin-bottom: 8px;
    color: #fff;
}

.club-mw-live-status-live {
    background: #d63638;
}

.club-mw-live-status-halftime {
    background: #ffb900;
}

.club-mw-live-status-finished {
    background: #46b450;
}

.club-mw-live-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.club-mw-live-actions .button {
    font-size: 14px;
    padding: 8px 12px;
}

@media (max-width: 782px) {
    .banner-overlay h1 {
    font-weight: 700;
    font-size: 2.5rem;
    text-transform: uppercase;
}
    .club-mw-live-actions {
        flex-direction: row;
        justify-content: flex-start;
    }

    .club-mw-live-actions .button {
        flex: 1 1 calc(50% - 6px);
        text-align: center;
    }
}

/* Conteneur : 1 colonne par défaut */
.club-mw-matchlist{
  display: grid;
  gap: 12px;
}

/* Option columns=2 => 2 colonnes sur large */
@media (min-width: 900px){
  .club-mw-matchlist.club-mw-cols-2{
    grid-template-columns: 1fr 1fr;
  }
}

/* Carte */
.club-mw-matchitem{
  background: rgba(0,0,0,.55);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  padding: 14px;
  color: #fff;
}

/* top */
.club-mw-mi-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.club-mw-mi-datetime{
  display:flex;
  gap: 10px;
  font-weight: 700;
  opacity: .95;
}

.club-mw-mi-status{
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.15);
  font-weight: 800;
  font-size: .85rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* status colors (tu peux adapter) */
.club-mw-status-live {
  background: var(--bfc-green-pill-background);
  border-color: var(--bfc-green-pill-border-color);
}

.club-mw-status-halftime {
  background: rgba(250, 180, 20, .25);
}

.club-mw-status-finished {
  background: rgba(255, 255, 255, .10);
}

.club-mw-status-scheduled {
  background: rgba(255, 255, 255, .06);
}

/* teams row */
.club-mw-mi-teams{
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
  gap: 10px;
}

.club-mw-mi-team{
  display:flex;
  align-items:center;
  gap: 10px;
  min-width: 0; /* important pour clamp */
}

.club-mw-mi-team--right{
  justify-content:flex-end;
}

.club-mw-mi-logo{
  width: 34px;
  height: 34px;
  object-fit: contain;
  flex: 0 0 auto;
}

.club-mw-mi-score{
  font-weight: 900;
  font-size: 1.1rem;
  padding: 6px 10px;
  border-radius: 12px;
  background: rgba(0,0,0,.25);
  border: 1px solid rgba(255,255,255,.10);
}

/* nom équipe : max 2 lignes + hauteur fixée sur 2 lignes */
.club-mw-mi-name{
  font-weight: 800;
  opacity: .95;
  font-size: clamp(0.75rem, 2.2vw, 1rem);

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  line-clamp: 2;

  line-height: 1.15;
  min-height: calc(1.15em * 2);
}

/* meta */
.club-mw-mi-meta{
  margin-top: 10px;
  opacity: .9;
  font-size: .95rem;
}

.club-mw-mi-league{
  font-weight: 700;
  margin-bottom: 4px;
}

.club-mw-mi-location{
  opacity: .9;
}

/* ---------- STYLES POUR LE WIDGET "Club Events Admin" ---------- */
      .club-events-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
      .club-events-admin-grid label{font-weight:600;display:block;margin-bottom:6px;}
      .club-events-admin-grid input,.club-events-admin-grid textarea{width:100%;}
      .club-events-admin-help{opacity:.8;font-size:12px;margin-top:6px;}


      .club-events-empty{opacity:.85}

.club-events-grid{
  display:grid;
  gap:14px;
}
@media(min-width:900px){
  .club-events-grid.club-events-cols-2{
    grid-template-columns:1fr 1fr;
  }
}

.club-event-card{
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 22px;
  overflow: hidden;
  background: rgba(10, 10, 14, 0.55);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  backdrop-filter: blur(18px) saturate(140%);
  box-shadow: 0 30px 70px rgba(0,0,0,0.45),
              inset 0 1px 0 rgba(255,255,255,0.10);
  color:#fff;

  display:flex;
  flex-direction:column;
}

.club-event-cover{
  display:block;
  position:relative;
  height:170px;
  background-size:cover;
  background-position:center;

}

.club-event-card-body{
  padding: 14px;
  display: flex;
  flex-direction: column;
  flex: 1;                  /* ✅ prend toute la place restante */
  min-height: 0;            /* ✅ évite des bugs de flex/overflow */
}

.club-event-cover-gradient,
.club-event-hero .club-event-cover-gradient{
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.75) 80%);
}


.club-event-card-top{
  display:flex; justify-content:space-between; align-items:center; gap:10px;
  opacity:.95;
  font-weight:700;
}
.club-event-card-date{display:flex; gap:8px; align-items:center; flex-wrap:wrap}
.club-event-rel{opacity:.9; font-size:.95rem}
.club-event-dot{opacity:.7; padding:0 4px}

.club-event-title{margin:10px 0 8px;line-height:1.2}
.club-event-title a{color:inherit; text-decoration:none}
.club-event-title a:hover{text-decoration:underline}

.club-event-meta{display:grid; gap:6px; opacity:.95}
.club-event-meta-row{display:flex; gap:8px; align-items:flex-start}
.club-event-meta-row i{opacity:.9}

.club-event-actions{
  margin-top: auto;         /* ✅ pousse en bas */
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end; /* ✅ à droite */
} 

.club-event-excerpt {
    margin-top: 6px;
    opacity: .88;
    font-size: .95rem;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
    margin-bottom: 4rem;
}


.club-event-btn{
  display:inline-flex;
  gap:8px;
  align-items:center;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  text-decoration:none;
  color:#fff;
  background: rgba(255,255,255,.08);
  font-weight:800;

  /* smooth animated hover */
  transition: background-color 220ms cubic-bezier(.2,.9,.2,1),
              color 180ms ease,
              transform 220ms cubic-bezier(.2,.9,.2,1),
              box-shadow 220ms ease;
  will-change: transform, box-shadow, background-color;
}

.club-event-btn a{
  color:inherit;
  text-decoration:none;
}

/* ghost variant keeps transparent base but still animates on hover */
.club-event-btn.ghost{
  background:transparent;
  border-color: rgba(255,255,255,.14);
}

/* hover / focus state */
.club-event-btn:hover,
.club-event-btn:focus{
  background: var(--menu-hover-bg);
  transform: translateY(-3px) scale(1.01);
  box-shadow: 0 10px 30px rgba(0,0,0,0.28),
              0 0 18px rgba(189,152,49,0.12);
  outline: none;
}

/* slightly different treatment for ghost on hover to keep subtle */
.club-event-btn.ghost:hover,
.club-event-btn.ghost:focus{
  background: rgba(189,152,49,0.12);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.20);
}

/* respect users who prefer reduced motion */
@media (prefers-reduced-motion: reduce){
  .club-event-btn,
  .club-event-btn.ghost{
    transition: none;
    transform: none;
    box-shadow: none;
  }
}

/* Single */
.club-event-hero{
  position:relative;
  min-height:260px;
  background-size:cover;
  background-position:center;
  border-radius:18px;
  overflow:hidden;
}
.club-event-hero-inner{
  position:relative;
  z-index:2;
  padding:22px;
}
.club-event-single-title{
  margin:0 0 10px;
  font-size: clamp(1.4rem, 4vw, 2.2rem);
  line-height:1.1;
  color:#fff;
}
.club-event-single-sub{
  display:flex; flex-wrap:wrap; gap:10px; align-items:center;
  font-weight:700; opacity:.95;
}
.club-event-single-box{
  margin-top:14px;
  padding:16px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background: rgba(0,0,0,.45);
  color:#fff;
}
.club-event-content{margin-top:12px}

.club-event-gallery{margin-top:18px}
.club-event-gallery h3{margin:0 0 10px}
.club-event-gallery-grid{
  display:grid; gap:10px;
  grid-template-columns: repeat(2, 1fr);
}
@media(min-width:900px){
  .club-event-gallery-grid{grid-template-columns: repeat(4, 1fr);}
}
.club-event-gallery-item{
  display:block; border-radius:14px; overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
}
.club-event-gallery-item img{width:100%; height:130px; object-fit:cover; display:block}

.club-event-share-wrap{margin-top:18px}
.club-events-share{
  display:flex; flex-wrap:wrap; gap:10px;
}
.club-events-share-btn{
  display:inline-flex; gap:8px; align-items:center;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.08);
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
.club-events-share-btn:hover{background: rgba(255,255,255,.12)}
.club-events-copy{appearance:none}

/* Calendar */
.club-events-calendar{
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  padding:14px;
  background: rgba(0,0,0,.45);
  color:#fff;
}
.club-events-cal-head{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  margin-bottom:10px;
}
.club-events-cal-title{font-weight:900; font-size:1.1rem}
.club-events-cal-nav{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  color:#fff; text-decoration:none;
  background: rgba(255,255,255,.08);
}
.club-events-cal-grid{
  display:grid;
  grid-template-columns: repeat(7, 1fr);
  gap:8px;
}
.club-events-cal-weekday{
  opacity:.85; font-weight:800; text-align:center;
}
.club-events-cal-cell{
  min-height:92px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  padding:8px;
  background: rgba(255,255,255,.04);
  overflow:hidden;
}
.club-events-cal-empty{background: transparent; border-color: transparent}
.club-events-cal-daynum{font-weight:900; opacity:.9; margin-bottom:6px}
.club-events-cal-event{
  display:block;
  font-size:.9rem;
  color:#fff;
  text-decoration:none;
  opacity:.95;
  margin-top:4px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.club-events-cal-event:hover{text-decoration:underline}
.club-events-cal-help{margin-top:10px; opacity:.8; font-size:.9rem}

.club-events-widget-list{
  display:grid;
  gap:10px;
}

.club-events-widget-item{
  display:block;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.35);
  text-decoration:none;
  color:inherit;
}

.club-events-widget-item:hover{
  background: rgba(0,0,0,.45);
}

.club-events-widget-title{
  font-weight:900;
  line-height:1.2;
  margin-bottom:6px;

  /* max 2 lignes */
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp: 2;
  overflow:hidden;
}

.club-events-widget-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  opacity:.95;
  font-size:.92rem;
}

.club-events-widget-place{
  margin-top:6px;
  opacity:.9;
  font-size:.92rem;
}


/* ---------- STYLES POUR les surcharges WP ---------- */

.bfc-grid-overlayed {
    margin-top: -6rem;
    position: relative;
    z-index: 10;
}

/* ==========================================================
   MEDIA + TEXT (Gutenberg) — Premium glass like your cards
   Classe: .bc-media-text
   ========================================================== */

.bc-media-text{
  /* le container global = carte premium */
  position: relative;
  overflow: hidden;

  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 22px;

  background: rgba(10, 10, 14, 0.55);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  backdrop-filter: blur(18px) saturate(140%);

  box-shadow:
    0 30px 70px rgba(0,0,0,0.45),
    inset 0 1px 0 rgba(255,255,255,0.10);

  color: #fff;

  /* important: ne pas laisser Gutenberg gérer un padding chelou */
  padding: 0;
}

/* Glow discret comme tes autres widgets */
.bc-media-text::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(80% 60% at 20% 10%, rgba(255,255,255,0.10), transparent 60%),
    radial-gradient(60% 60% at 80% 0%, rgba(189,152,49,0.14), transparent 55%);
  pointer-events:none;
  z-index: 0;
}

/* Gutenberg met un grid, on garde mais on force la hauteur/align */
.bc-media-text.wp-block-media-text{
  align-items: stretch;
}

/* ---------- MEDIA (image) ---------- */
.bc-media-text .wp-block-media-text__media{
  position: relative;
  margin: 0;
  overflow: hidden;
  z-index: 1; /* au-dessus du glow */
  min-height: 220px; /* donne de la présence */
}

/* Image = cover + zoom hover */
.bc-media-text .wp-block-media-text__media img{
  width: 100%;
  height: 100%;
  display:block;
  object-fit: cover;

  transform: scale(1.02);
  transition: transform 320ms cubic-bezier(.2,.9,.2,1);
}

/* Gradient overlay sur l’image (comme tes covers) */
/* .bc-media-text .wp-block-media-text__media::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.75) 90%);
  pointer-events:none;
} */

/* ---------- CONTENT ---------- */
.bc-media-text .wp-block-media-text__content {
    z-index: 1;
    padding: 2rem 2.4rem 2rem 2.4rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    border-left: 1px solid rgba(255,255,255,0.10);
}

/* ✅ Force l'alignement "en haut" du bloc Media+Text */
.wp-block-media-text.bc-media-text{
  align-items: start !important;   /* override du grid Gutenberg */
}

/* ✅ Force le contenu à démarrer en haut */
.wp-block-media-text.bc-media-text .wp-block-media-text__content{
  align-self: start !important;    /* grid item */
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
}

/* Optionnel : enlever marge top du titre */
.wp-block-media-text.bc-media-text .wp-block-media-text__content .wp-block-heading:first-child{
  margin-top: 0 !important;
}

/* titres */
.bc-media-text .wp-block-heading,
.bc-media-text h2,
.bc-media-text h3{
  margin: 0 0 10px;
  line-height: 1.15;
  font-weight: 900;
  text-shadow: 0 3px 0 rgba(0,0,0,.18), 0 10px 22px rgba(0,0,0,.25);
}

/* texte */
.bc-media-text p {
    margin: 0;
    opacity: 0.9;
    line-height: 1.65;
    padding-bottom: 1.5rem;
}

/* liens dans le texte */
.bc-media-text a{
  color: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(189,152,49,0.55);
  text-underline-offset: 3px;
}
.bc-media-text a:hover{
  color: var(--menu-hover-bg);
}

/* ---------- HOVER premium ---------- */
.bc-media-text{
  transition:
    transform 240ms cubic-bezier(.2,.9,.2,1),
    box-shadow 240ms ease,
    border-color 240ms ease;
  will-change: transform;
}

.bc-media-text:hover{
  transform: translateY(-5px);
  border-color: rgba(189,152,49,0.35);
  box-shadow:
    0 40px 90px rgba(0,0,0,0.55),
    0 0 22px rgba(189,152,49,0.12),
    inset 0 1px 0 rgba(255,255,255,0.12);
}

.bc-media-text:hover .wp-block-media-text__media img{
  transform: scale(1.08);
}

.bc-media-text.has-media-on-the-right .wp-block-media-text__content{
  border-left: 0;
  border-right: 1px solid rgba(255,255,255,0.10);
}
@media (max-width: 781px){
  .bc-media-text.has-media-on-the-right .wp-block-media-text__content{
    border-right: 0;
  }
}


/* ==========================================================
   LINK LIST — Premium glass (bfc-link-list)
   ========================================================== */

.bfc-link-list{
  list-style: none;
  margin: 0;
  padding: 14px;

  display: grid;
  gap: 10px;

  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.10);

  background: rgba(10, 10, 14, 0.45);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);

  box-shadow:
    0 18px 55px rgba(0,0,0,0.35),
    inset 0 1px 0 rgba(255,255,255,0.08);
}

/* Item */
.bfc-link-list li{
  margin: 0;
}

/* Lien */
.bfc-link-list a{
  display: block;
  padding: 10px 14px;

  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.10);

  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.88);

  font-weight: 800;
  font-size: 0.92rem;
  line-height: 1.35;

  /* URLs longues */
  word-break: break-all;
  overflow-wrap: anywhere;

  text-decoration: none;

  transition:
    transform 220ms cubic-bezier(.2,.9,.2,1),
    background-color 220ms ease,
    border-color 220ms ease,
    box-shadow 220ms ease,
    color 220ms ease;

  will-change: transform;
}

/* Icône discrète (sans HTML) */
.bfc-link-list a::before{
  content: "↗";
  display: inline-block;
  margin-right: 8px;
  opacity: .6;
  font-size: .9em;
}

/* Hover premium (glow footer-style) */
.bfc-link-list a:hover,
.bfc-link-list a:focus{
  background: rgba(189,152,49,0.14);
  border-color: rgba(189,152,49,0.35);
  color: #fff;

  transform: translateY(-2px);
  box-shadow:
    0 18px 45px rgba(0,0,0,0.35),
    0 0 24px rgba(189,152,49,0.14);

  outline: none;
}

/* Focus clavier (accessibilité) */
.bfc-link-list a:focus-visible{
  box-shadow:
    0 0 0 3px rgba(189,152,49,0.25),
    0 18px 45px rgba(0,0,0,0.35);
}

/* Responsive */
@media (max-width: 575.98px){
  .bfc-link-list{
    padding: 12px;
    gap: 8px;
  }

  .bfc-link-list a{
    font-size: 0.9rem;
    padding: 10px 12px;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .bfc-link-list a{
    transition: none;
    transform: none;
  }
}


/* ===========================
   Google Map – Full width
   =========================== */

.bfc-map-fullbleed{
  width: 100vw;                      /* plein écran */
  margin-left: calc(50% - 50vw);     /* full bleed */
  margin-right: calc(50% - 50vw);

  height: 420px;                     /* ajuste */
  position: relative;
  overflow: hidden;

  border-top: 1px solid rgba(255,255,255,0.10);
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.bfc-map-fullbleed iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}




/* ===================================================================== */
/*  HERO STATS (Gutenberg) - style "cards"                               */
/*  HTML: .bfc-hero-stats > .wp-block-group (x4) avec 2 <p> (nombre+label)*/
/* ===================================================================== */

.bfc-hero-stats{
  /* 4 cartes alignées */
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 36px;

  /* optionnel: un peu d'air autour */
  padding: 10px 0;
}

/* Chaque carte = group interne */
.bfc-hero-stats > .wp-block-group{
  background: #2f3a85;               /* bleu */
  border: 3px solid #BD9831;         /* doré */
  border-radius: 42px;               /* gros arrondi */
  padding: 42px 28px;

  /* centrage */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;

  /* légère profondeur */
  box-shadow: 0 18px 45px rgba(0,0,0,.35);
}

/* Reset marges Gutenberg */
.bfc-hero-stats > .wp-block-group > p{
  margin: 0 !important;
}

/* 1er <p> = le nombre */
.bfc-hero-stats > .wp-block-group > p:first-of-type{
  font-weight: 900;
  font-size: clamp(54px, 4.5vw, 92px);
  line-height: 1;
  letter-spacing: 0.02em;
  color: #bfe0ff;                    /* bleu clair */

  /* petit relief comme sur l'image */
  text-shadow:
    0 3px 0 rgba(0,0,0,.18),
    0 10px 22px rgba(0,0,0,.25);
}

/* 2e <p> = le libellé */
.bfc-hero-stats > .wp-block-group > p:last-of-type{
  margin-top: 14px !important;
  font-weight: 800;
  font-size: clamp(18px, 1.8vw, 44px);
  line-height: 1.1;
  color: rgba(191,224,255,.65);      /* plus “doux” */
}

.bfc-hero-stats > .wp-block-group > p:first-of-type{
  font-variant-numeric: tabular-nums;
}


/* Responsive */
@media (max-width: 991.98px){
  .bfc-hero-stats{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
  .bfc-hero-stats > .wp-block-group{
    border-radius: 34px;
    padding: 34px 20px;
  }
}

@media (max-width: 575.98px){
  .bfc-hero-stats{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 781px){
  /* Gutenberg stacke -> on remplace la bordure gauche par une bordure top*/
  .bc-media-text .wp-block-media-text__content{
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,0.10);
    padding: 0.6rem 1rem 1.5rem 1rem;
  }

  .bc-media-text .wp-block-media-text__media{
    min-height: 200px;
  } 
}

/* Accessibilité: réduit les motions */
@media (prefers-reduced-motion: reduce){
  /* .bc-media-text,
  .bc-media-text .wp-block-media-text__media img{
    transition: none;
    transform: none;
  } */
}


/* Micro animation “premium” des cartes */
.bfc-hero-stats > .wp-block-group.bfc-stat-anim{
  transform: translateY(10px) scale(0.98);
  opacity: 0.0;
  transition: transform 700ms cubic-bezier(.2,.9,.2,1), opacity 700ms ease;
  will-change: transform, opacity;
}

.bfc-hero-stats > .wp-block-group.bfc-stat-anim.is-in{
  transform: translateY(0) scale(1);
  opacity: 1;
}

/* ===========================
   SPONSORS CAROUSEL - PREMIUM
   =========================== */

/* wrapper full width + masque */
.club-sponsors-carousel-wrapper{
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  position: relative;

  padding: 14px 0;
  margin: 18px 0;

  /* glass */
  background: rgba(10, 10, 14, 0.35);
  border: 1px solid rgba(255,255,255,0.10);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
}

/* fade sur les bords (effet premium) */
.club-sponsors-carousel-wrapper::before,
.club-sponsors-carousel-wrapper::after{
  content:"";
  position:absolute;
  top:0; bottom:0;
  width: 80px;
  z-index: 3;
  pointer-events:none;
}
.club-sponsors-carousel-wrapper::before{
  left:0;
  background: linear-gradient(90deg, rgba(10,10,14,0.95), rgba(10,10,14,0));
}
.club-sponsors-carousel-wrapper::after{
  right:0;
  background: linear-gradient(270deg, rgba(10,10,14,0.95), rgba(10,10,14,0));
}

/* track = ligne de logos */
.club-sponsors-carousel-track{
  display: flex;
  align-items: center;
  gap: 18px;
  will-change: transform;
  transform: translate3d(0,0,0);

  /* si ton JS anime le transform -> ça rend plus smooth */
  transition: transform 120ms linear;
}

/* item = “carte” logo */
.club-sponsor-carousel-item{
  flex: 0 0 auto;
  width: 220px;            /* base desktop */
  height: 120px;
  padding: 14px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius: 18px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);

  box-shadow:
    0 14px 40px rgba(0,0,0,0.28),
    inset 0 1px 0 rgba(255,255,255,0.06);

  transition:
    transform 260ms cubic-bezier(.2,.9,.2,1),
    box-shadow 260ms ease,
    background-color 260ms ease,
    border-color 260ms ease;

  will-change: transform;
}

/* si le logo est cliquable (a autour) */
.club-sponsor-carousel-item a{
  display:flex;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
}

/* logo : pas déformé, bien centré */
.club-sponsor-carousel-item img{
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;

  filter: drop-shadow(0 10px 18px rgba(0,0,0,0.35));
  opacity: .95;

  transition:
    transform 260ms cubic-bezier(.2,.9,.2,1),
    filter 260ms ease,
    opacity 260ms ease;
}

/* effet loupe + glow */
.club-sponsor-carousel-item:hover{
  transform: translateY(-4px) scale(1.03);
  background: rgba(189,152,49,0.10);
  border-color: rgba(189,152,49,0.35);
  box-shadow:
    0 18px 55px rgba(0,0,0,0.35),
    0 0 24px rgba(189,152,49,0.14),
    inset 0 1px 0 rgba(255,255,255,0.08);
}
.club-sponsor-carousel-item:hover img{
  transform: scale(1.12); /* loupe */
  opacity: 1;
  filter: drop-shadow(0 14px 26px rgba(0,0,0,0.45));
}

/* taille responsive */
@media (max-width: 991.98px){
  .club-sponsor-carousel-item{
    width: 180px;
    height: 110px;
  }
}
@media (max-width: 575.98px){
  .club-sponsors-carousel-wrapper{
    border-radius: 18px;
    padding: 10px 0;
  }
  .club-sponsor-carousel-item{
    width: 150px;
    height: 96px;
    padding: 12px;
    border-radius: 16px;
  }
  .club-sponsors-carousel-wrapper::before,
  .club-sponsors-carousel-wrapper::after{
    width: 46px;
  }
}

/* accessibilité: réduit les animations */
@media (prefers-reduced-motion: reduce){
  .club-sponsors-carousel-track{ transition: none; }
  .club-sponsor-carousel-item,
  .club-sponsor-carousel-item img{ transition: none; }
}

/* ===========================
   SPONSORS GRID - PREMIUM
   =========================== */

/* wrapper global de la grille */
.club-sponsors-grid{
  margin-top: 18px;
}

/* un peu d’air dans la row Bootstrap */
.club-sponsors-grid .row{
  --bs-gutter-x: 18px;
  --bs-gutter-y: 18px;
}

/* carte sponsor */
.club-sponsor-grid-item{
  height: 100%;
  padding: 16px 16px 14px;
  border-radius: 22px;

  background: rgba(10, 10, 14, 0.45);
  border: 1px solid rgba(255,255,255,0.12);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);

  box-shadow:
    0 18px 55px rgba(0,0,0,0.35),
    inset 0 1px 0 rgba(255,255,255,0.08);

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;

  transition:
    transform 260ms cubic-bezier(.2,.9,.2,1),
    box-shadow 260ms ease,
    border-color 260ms ease,
    background-color 260ms ease;
  will-change: transform;
}

/* zone logo (hauteur fixe -> logos alignés) */
.club-sponsor-grid-logo{
  width: 100%;
  height: 110px;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* lien dans le logo */
.club-sponsor-grid-logo a{
  display:flex;
  width: 100%;
  height: 100%;
  align-items:center;
  justify-content:center;
}

/* image logo */
.club-sponsor-grid-logo img{
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;

  opacity: .95;
  filter: drop-shadow(0 12px 22px rgba(0,0,0,0.35));

  transition:
    transform 260ms cubic-bezier(.2,.9,.2,1),
    filter 260ms ease,
    opacity 260ms ease;
}

/* nom sponsor */
.club-sponsor-grid-name{
  font-weight: 900;
  font-size: 0.95rem;
  letter-spacing: .02em;
  opacity: .95;
  text-align: center;

  /* max 2 lignes */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;

  min-height: calc(1.2em * 2);
  line-height: 1.2;
}

/* lien du nom */
.club-sponsor-grid-name a{
  color: inherit;
  text-decoration: none;
}
.club-sponsor-grid-name a:hover{
  text-decoration: underline;
}

/* hover premium: lift + gold glow + loupe */
.club-sponsor-grid-item:hover{
  transform: translateY(-6px) scale(1.02);
  background: rgba(189,152,49,0.10);
  border-color: rgba(189,152,49,0.35);

  box-shadow:
    0 26px 70px rgba(0,0,0,0.45),
    0 0 26px rgba(189,152,49,0.14),
    inset 0 1px 0 rgba(255,255,255,0.10);
}

.club-sponsor-grid-item:hover .club-sponsor-grid-logo img{
  transform: scale(1.10);
  opacity: 1;
  filter: drop-shadow(0 16px 28px rgba(0,0,0,0.45));
}

/* focus clavier (accessibilité) */
.club-sponsor-grid-item:focus-within{
  outline: none;
  border-color: rgba(189,152,49,0.55);
  box-shadow:
    0 26px 70px rgba(0,0,0,0.45),
    0 0 0 3px rgba(189,152,49,0.18);
}

/* responsive */
@media (max-width: 575.98px){
  .club-sponsor-grid-logo{ height: 96px; }
  .club-sponsor-grid-item{ border-radius: 18px; padding: 14px 14px 12px; }
  .club-sponsors-grid .row{
    --bs-gutter-x: 14px;
    --bs-gutter-y: 14px;
  }
}

/* reduced motion */
@media (prefers-reduced-motion: reduce){
  .club-sponsor-grid-item,
  .club-sponsor-grid-logo img{
    transition: none;
    transform: none;
  }
}


/* ===== Club Teams (premium) ===== */
  .club-team-empty{opacity:.85}

  .club-team-hero{
    position:relative;
    border-radius: 22px;
    overflow:hidden;
    min-height: 320px;
    background-size: cover;
    background-position:center;
    box-shadow: 0 30px 70px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.10);
  }
  .club-team-hero-grad{
    position:absolute; inset:0;
    background:
      radial-gradient(70% 70% at 20% 10%, rgba(255,255,255,0.10), transparent 55%),
      radial-gradient(60% 60% at 80% 0%, rgba(189,152,49,0.18), transparent 55%),
      linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.50) 85%);
  }
  .club-team-hero-inner{
    position:relative; z-index:2;
    padding: 22px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    min-height: 320px;
  }
  .club-team-badges{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom: 12px;
  }
  .club-team-badge{
    display:inline-flex; gap:8px; align-items:center;
    padding: 10px 12px;
    border-radius: 14px;
    border:1px solid rgba(255,255,255,0.18);
    background: rgba(10,10,14,0.45);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    backdrop-filter: blur(14px) saturate(140%);
    font-weight: 900;
  }
  .club-team-badge.ghost, .club-team-pill.ghost{background: rgba(255,255,255,0.06)}
  .club-team-badge-actifs{box-shadow: 0 0 22px rgba(189,152,49,0.12)}
  .club-team-badge-juniors{box-shadow: 0 0 22px rgba(255,255,255,0.08)}

  .club-team-title{
    margin: 0 0 12px;
    line-height:1.1;
    font-size: clamp(1.6rem, 4.2vw, 2.6rem);
    text-shadow: 0 3px 0 rgba(0,0,0,.18), 0 10px 22px rgba(0,0,0,.25);
  }

  .club-team-hero-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
  }

  .club-team-btn{
    display:inline-flex; gap:8px; align-items:center;
    padding: 10px 12px;
    border-radius: 14px;
    border:1px solid rgba(255,255,255,0.14);
    text-decoration:none;
    color:#fff;
    background: rgba(255,255,255,0.08);
    font-weight: 900;
    transition: transform 220ms cubic-bezier(.2,.9,.2,1), background-color 220ms ease, box-shadow 220ms ease;
    will-change: transform;
  }
  .club-team-btn:hover,.club-team-btn:focus{
    transform: translateY(-3px);
    background: var(--menu-hover-bg, #BD9831);
    box-shadow: 0 10px 30px rgba(0,0,0,0.28), 0 0 18px rgba(189,152,49,0.12);
    outline:none;
  }
  .club-team-btn.gold{
    background: rgba(189,152,49,0.14);
    border-color: rgba(189,152,49,0.35);
  }
  .club-team-btn.gold:hover{background: var(--menu-hover-bg, #BD9831); color:#000}

  .club-team-body{margin-top: 14px;}
  .club-team-grid{
    display:grid;
    gap: 14px;
    grid-template-columns: 1.1fr .9fr;
  }
  @media(max-width: 991.98px){
    .club-team-grid{grid-template-columns:1fr;}
    .club-team-hero-inner{min-height: 280px;}
    .club-team-hero{min-height: 280px;}
  }

  .club-team-card{
    border-radius: 22px;
    overflow:hidden;
    background: rgba(10, 10, 14, 0.55);
    -webkit-backdrop-filter: blur(18px) saturate(140%);
    backdrop-filter: blur(18px) saturate(140%);
    border: 1px solid rgba(255,255,255,0.14);
    box-shadow: 0 30px 70px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.08);
    padding: 16px;
    color:#fff;
  }

  .club-team-h3{
    margin: 0 0 10px;
    font-weight: 900;
    display:flex;
    gap:10px;
    align-items:center;
  }
  .club-team-muted{opacity:.85}

  .club-team-staff{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  @media(max-width: 575.98px){
    .club-team-staff{grid-template-columns:1fr;}
  }

  .club-team-person{
    display:flex;
    gap: 12px;
    align-items:center;
    padding: 12px;
    border-radius: 18px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.10);
  }
  .club-team-person-photo{
    width: 78px;
    height: 78px;
    border-radius: 999px;
    background-size: cover;
    background-position:center;
    position:relative;
    overflow:hidden;
    border: 1px solid rgba(255,255,255,0.14);
    box-shadow: 0 16px 30px rgba(0,0,0,0.28);
    flex: 0 0 auto;
  }
  .club-team-person-glow{
    position:absolute; inset:-30%;
    background: radial-gradient(circle, rgba(189,152,49,0.18), transparent 60%);
    pointer-events:none;
  }
  .club-team-person-fallback{
    width:100%;height:100%;
    display:flex;align-items:center;justify-content:center;
    opacity:.9;
    font-size: 1.4rem;
  }
  .club-team-person-role{opacity:.85;font-weight:800;font-size:.9rem}
  .club-team-person-name{font-weight:900}

  .club-team-widget{
    margin-top: 12px;
    border-radius: 18px;
    overflow:hidden;
    border: 1px solid rgba(255,255,255,0.10);
    background: rgba(0,0,0,0.35);
  }
  .club-team-widget-head{
    padding: 10px 12px;
    font-weight: 900;
    border-bottom: 1px solid rgba(255,255,255,0.10);
    display:flex;gap:10px;align-items:center;
  }
  .club-team-widget-body{padding: 12px;}

  .club-team-players{
    display:grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  @media(max-width: 991.98px){ .club-team-players{grid-template-columns: repeat(2, minmax(0, 1fr));} }
  @media(max-width: 575.98px){ .club-team-players{grid-template-columns: 1fr;} }

  .club-team-player{
    padding: 10px 12px;
    border-radius: 16px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.10);
    display:flex;gap:10px;align-items:center;
    font-weight: 800;
    opacity: .95;
  }

  .club-team-gallery{
    display:grid;
    gap: 10px;
    grid-template-columns: repeat(4, 1fr);
  }
  @media(max-width: 991.98px){ .club-team-gallery{grid-template-columns: repeat(2, 1fr);} }

  .club-team-gallery-item{
    display:block;
    border-radius: 16px;
    overflow:hidden;
    border: 1px solid rgba(255,255,255,0.10);
    background: rgba(255,255,255,0.04);
    transition: transform 220ms cubic-bezier(.2,.9,.2,1), box-shadow 220ms ease;
  }
  .club-team-gallery-item img{width:100%;height:140px;object-fit:cover;display:block}
  .club-team-gallery-item:hover{
    transform: translateY(-3px) scale(1.01);
    box-shadow: 0 18px 55px rgba(0,0,0,0.35), 0 0 24px rgba(189,152,49,0.12);
  }

  /* Grid of teams */
  .club-teams-grid{display:grid;gap:14px;}
  @media(min-width: 900px){
    .club-teams-grid.club-teams-cols-2{grid-template-columns:1fr 1fr;}
    .club-teams-grid.club-teams-cols-3{grid-template-columns:1fr 1fr 1fr;}
    .club-teams-grid.club-teams-cols-4{grid-template-columns:1fr 1fr 1fr 1fr;}
  }

  .club-team-card-mini{
    border-radius: 22px;
    overflow:hidden;
    background: rgba(10, 10, 14, 0.55);
    -webkit-backdrop-filter: blur(18px) saturate(140%);
    backdrop-filter: blur(18px) saturate(140%);
    border: 1px solid rgba(255,255,255,0.14);
    box-shadow: 0 30px 70px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.08);
    display:flex;
    flex-direction:column;
    color:#fff;
    height:100%;
  }
  .club-team-card-cover{
    display:block;position:relative;height:170px;
    background-size:cover;background-position:center;
  }
  .club-team-card-cover-grad{
    position:absolute;inset:0;
    background: linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.78) 85%);
  }
  .club-team-card-mini-body{padding: 14px;display:flex;flex-direction:column;flex:1;min-height:0;}
  .club-team-card-mini-top{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px;}
  .club-team-pill{
    display:inline-flex;gap:8px;align-items:center;
    padding: 8px 10px;border-radius: 999px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.10);
    font-weight: 900;
    font-size: .85rem;
  }
  .club-team-card-mini-title{margin: 0 0 10px; line-height:1.2;}
  .club-team-card-mini-title a{color:inherit;text-decoration:none}
  .club-team-card-mini-title a:hover{text-decoration:underline}
  .club-team-card-mini-actions{margin-top:auto;display:flex;justify-content:flex-end}

  .club-teams-basiclist{padding-left: 1.2rem;}
  .club-teams-basiclist a{color:inherit}





.club-team-widget{
  margin-top: 18px;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(0,0,0,.35);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
}

/* le widget football.ch aime bien une hauteur */
.club-team-widget .sfvFullHeight{
  width: 100%;
  height: 900px;          /* desktop */
  border: 0;
  display: block;
}

/* mobile */
@media (max-width: 575.98px){
  .club-team-widget .sfvFullHeight{
    height: 1100px;       /* iPhone: souvent plus long */
  }
}

.club-team-widget-body iframe{
  width: 100%;
  min-height: 40rem; /* ajuste si besoin */
  display: block;
  border: 0;
}

/* ===== Matchs (intégration Club Next Match) ===== */
.club-team-matches-grid{
  display:grid;
  gap: 14px;
  grid-template-columns: 1fr 1fr;
}
.club-team-matches-wide{
  grid-column: 1 / -1;
}

.club-team-matches-cell{
  /* border-radius: 18px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  padding: 12px; */
  overflow:hidden;
}

.club-team-matches-title{
  font-weight: 900;
  opacity: .92;
  margin: 0 0 10px;
}

.club-team-matches-cell table{
  width: 100%;
}

@media(max-width: 991.98px){
  .club-team-matches-grid{grid-template-columns:1fr;}
  .club-team-matches-wide{grid-column:auto;}
}




/* ===========================
   FOOTER BFC - PREMIUM
   =========================== */

.bfc-footer{
  margin-top: 3rem;
  color: #fff;
  background: #050505;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.bfc-footer-inner{
  padding: 34px 0;
}

/* 3 colonnes */
.bfc-footer-grid{
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 26px;
  align-items: start;
}

/* Titres */
.bfc-footer-title{
  margin: 0 0 12px;
  font-weight: 900;
  letter-spacing: .02em;
  font-size: 1.05rem;
}

/* Col 1 */
.bfc-footer-logo{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: inherit;
}

.bfc-footer-logo img{
  width: 92px;
  height: 92px;
  object-fit: contain;
  border-radius: 18px;
  filter: drop-shadow(0 18px 30px rgba(0,0,0,.45));
}

.bfc-footer-logo-text{
  font-weight: 900;
  font-size: 1.2rem;
}

.bfc-footer-tagline{
  margin: 12px 0 0;
  opacity: .85;
  max-width: 30ch;
  line-height: 1.35;
}

/* Menu footer */
.bfc-footer-menu{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.bfc-footer-menu a {
    text-decoration: none;
    color: rgba(255,255,255,0.85);
    /* font-weight: 800; */
    /* padding: 10px 12px; */
    /* border-radius: 14px; */
    /* border: 1px solid rgba(255,255,255,0.10); */
    background: rgba(255,255,255,0.04);
    /* display: inline-flex; */
    /* align-items: center; */
    transition: transform 220ms cubic-bezier(.2,.9,.2,1),
      background-color 220ms ease,
      border-color 220ms ease,
      box-shadow 220ms ease,
      color 220ms ease;
}

.bfc-footer-menu a:hover,
.bfc-footer-menu a:focus{
  color: var(--menu-hover-bg);
  transform: translateY(-2px);
  box-shadow: 0 18px 45px rgba(0,0,0,0.35), 0 0 24px rgba(189,152,49,0.12);
  outline: none;
}

/* Social */
.bfc-footer-social-links{
  display: grid;
  gap: 10px;
}

.bfc-social-btn{
  text-decoration: none;
  color: rgba(255,255,255,0.90);
  font-weight: 900;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.04);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: transform 220ms cubic-bezier(.2,.9,.2,1),
              background-color 220ms ease,
              border-color 220ms ease,
              box-shadow 220ms ease;
}

.bfc-social-btn i{
  font-size: 1.1rem;
  opacity: .95;
}

.bfc-social-btn span{
  opacity: .95;
}

.bfc-social-btn:hover,
.bfc-social-btn:focus{
  background: rgba(189,152,49,0.14);
  border-color: rgba(189,152,49,0.35);
  transform: translateY(-2px);
  box-shadow: 0 18px 45px rgba(0,0,0,0.35), 0 0 24px rgba(189,152,49,0.12);
  outline: none;
}

/* Bottom bar */
.bfc-footer-bottom{
  border-top: 1px solid rgba(255,255,255,0.08);
  background: rgba(0,0,0,0.6);
}

.bfc-footer-bottom-inner{
  padding: 14px 0;
  display:flex;
  gap: 12px;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.bfc-footer-copy,
.bfc-footer-credit{
  opacity: .85;
}

.bfc-footer-credit a{
  color: rgba(255,255,255,0.92);
  font-weight: 900;
  text-decoration: none;
  border-bottom: 1px solid rgba(189,152,49,0.35);
}

.bfc-footer-credit a:hover{
  color: #fff;
  border-bottom-color: rgba(189,152,49,0.75);
}

.bfc-footer-mini-logo{
  width: 22px;
  height: 22px;
  object-fit: contain;
  margin-left: 8px;
  opacity: .95;
  vertical-align: middle;
}

/* Responsive */
@media (max-width: 991.98px){
  .bfc-footer-grid{
    grid-template-columns: 1fr;
  }
  .bfc-footer-tagline{
    max-width: none;
  }
}

/* Spacer + wave separator (CSS only) */
.bfc-spacer-wave{
  /* équivalent à 6rem au-dessus + 6rem au-dessous */
  --bfc-space: 6rem;

  /* ton image wave */
  --bfc-wave-url: url("https://birsefc.ch/wp-content/uploads/2026/01/WaveSeparator.png");

  position: relative;
  height: calc(var(--bfc-space) * 2 + 9px); /* 9px = hauteur de l'image */
  width: 100%;
}

/* l’image wave au centre */
.bfc-spacer-wave::before{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);

  width: 198px;   /* largeur de l'image */
  height: 9px;    /* hauteur de l'image */
  background-image: var(--bfc-wave-url);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

/* Responsive: si tu veux que la wave puisse se réduire sur mobile */
@media (max-width: 420px){
  .bfc-spacer-wave {
      --bfc-space: 2rem;
  }
  .bfc-spacer-wave::before{
    width: 160px;
  }
}

/* Spacer + wave separator (CSS only) */
.bfc-spacer-wave-small{
  /* équivalent à 6rem au-dessus + 6rem au-dessous */
  --bfc-space-small: 2rem;

  /* ton image wave */
  --bfc-wave-url: url("https://birsefc.ch/wp-content/uploads/2026/01/WaveSeparator.png");

  position: relative;
  height: calc(var(--bfc-space-small) * 2 + 9px); /* 9px = hauteur de l'image */
  width: 100%;
}

/* l’image wave au centre */
.bfc-spacer-wave-small::before{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);

  width: 198px;   /* largeur de l'image */
  height: 9px;    /* hauteur de l'image */
  background-image: var(--bfc-wave-url);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

/* Responsive: si tu veux que la wave puisse se réduire sur mobile */
@media (max-width: 420px){
  .bfc-spacer-wave-small::before{
    width: 160px;
  }
}

/* ===========================
   POSTS GRID (Accueil/Blog)
   =========================== */

.bfc-posts-grid{
  display:grid;
  gap: 16px;
  grid-template-columns: 1fr;
}

@media (min-width: 900px){
  .bfc-posts-grid{
    grid-template-columns: 1fr 1fr; /* ✅ 2 colonnes desktop */
  }
}

.bfc-post-card{
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 22px;
  overflow: hidden;
  background: rgba(10, 10, 14, 0.55);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  backdrop-filter: blur(18px) saturate(140%);
  box-shadow: 0 30px 70px rgba(0,0,0,0.45),
              inset 0 1px 0 rgba(255,255,255,0.10);
  color:#fff;
  display:flex;
  flex-direction:column;
  transition: transform 240ms cubic-bezier(.2,.9,.2,1),
              box-shadow 240ms ease,
              border-color 240ms ease;
  will-change: transform;
}

.bfc-post-card:hover{
  transform: translateY(-5px);
  border-color: rgba(189,152,49,0.35);
  box-shadow: 0 40px 90px rgba(0,0,0,0.55),
              0 0 22px rgba(189,152,49,0.12),
              inset 0 1px 0 rgba(255,255,255,0.12);
}

.bfc-post-cover{
  position:relative;
  display:block;
  height: 180px;
  overflow:hidden;
  background: rgba(255,255,255,0.03);
}

.bfc-post-cover-img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
  transform: scale(1.02);
  transition: transform 280ms cubic-bezier(.2,.9,.2,1);
}

.bfc-post-card:hover .bfc-post-cover-img{
  transform: scale(1.08);
}

.bfc-post-cover-grad{
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.78) 90%);
  pointer-events:none;
}

/* fallback si pas d'image */
.bfc-post-cover-fallback{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size: 44px;
  opacity: .9;
}

.bfc-post-body{
  padding: 14px;
  display:flex;
  flex-direction:column;
  flex: 1;
  min-height: 0;
}

.bfc-post-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap: 10px;
  font-weight: 800;
  opacity: .95;
}

.bfc-post-date{
  display:inline-flex;
  gap: 8px;
  align-items:center;
  font-size: .92rem;
  opacity: .95;
}

.bfc-post-cats{
  display:flex;
  gap: 8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.bfc-post-cat{
  display:inline-flex;
  align-items:center;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  font-size: .82rem;
  font-weight: 900;
}

.bfc-post-title{
  margin: 10px 0 8px;
  line-height: 1.15;
}

.bfc-post-title a{
  color: inherit;
  text-decoration:none;
}
.bfc-post-title a:hover{
  text-decoration: underline;
}

.bfc-post-excerpt{
  opacity:.88;
  line-height: 1.35;
  font-size: .95rem;

  /* clamp 3 lignes */
  display:-webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow:hidden;
}

.bfc-post-actions{
  margin-top:auto;
  display:flex;
  justify-content:flex-end;
  padding-top: 12px;
}

.bfc-post-btn{
  display:inline-flex;
  gap: 8px;
  align-items:center;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  text-decoration:none;
  color:#fff;
  background: rgba(255,255,255,.08);
  font-weight: 900;

  transition: background-color 220ms cubic-bezier(.2,.9,.2,1),
              transform 220ms cubic-bezier(.2,.9,.2,1),
              box-shadow 220ms ease;
}

.bfc-post-btn:hover,
.bfc-post-btn:focus{
  background: var(--menu-hover-bg);
  color: #000;
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(0,0,0,0.28),
              0 0 18px rgba(189,152,49,0.12);
  outline:none;
}

/* ==========================================================
   STAFF PRESENTATION (Gutenberg) — .bfc-staff-presentation
   Conteneur = grille | Enfants = wp-block-media-text (cartes)
   ========================================================== */

/* --- Grid wrapper --- */
.bfc-staff-presentation{
  display: grid !important;
  gap: 14px;
  align-items: stretch;

  /* 3 colonnes desktop par défaut */
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 991.98px){
  .bfc-staff-presentation{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px){
  .bfc-staff-presentation{
    grid-template-columns: 1fr;
  }
}

/* --- Carte (chaque personne) --- */
.bfc-staff-presentation > .wp-block-media-text{
  position: relative;
  overflow: hidden;

  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 22px;

  background: rgba(10, 10, 14, 0.55);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  backdrop-filter: blur(18px) saturate(140%);

  box-shadow:
    0 30px 70px rgba(0,0,0,0.45),
    inset 0 1px 0 rgba(255,255,255,0.10);

  color: #fff;

  /* important pour uniformiser les hauteurs */
  min-height: 210px;

  transition:
    transform 240ms cubic-bezier(.2,.9,.2,1),
    box-shadow 240ms ease,
    border-color 240ms ease;

  will-change: transform;
}

/* Glow discret */
.bfc-staff-presentation > .wp-block-media-text::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(80% 60% at 20% 10%, rgba(255,255,255,0.10), transparent 60%),
    radial-gradient(60% 60% at 80% 0%, rgba(189,152,49,0.14), transparent 55%);
  pointer-events:none;
  z-index: 0;
}

/* Hover premium */
.bfc-staff-presentation > .wp-block-media-text:hover{
  transform: translateY(-5px);
  border-color: rgba(189,152,49,0.35);
  box-shadow:
    0 40px 90px rgba(0,0,0,0.55),
    0 0 22px rgba(189,152,49,0.12),
    inset 0 1px 0 rgba(255,255,255,0.12);
}

/* --- Layout Media/Text : on garde Gutenberg, mais propre --- */
.bfc-staff-presentation > .wp-block-media-text{
  align-items: stretch; /* image + contenu pleine hauteur */
}

/* Image (media) */
.bfc-staff-presentation > .wp-block-media-text .wp-block-media-text__media{
  position: relative;
  z-index: 1;
  margin: 0;
  overflow: hidden;

  /* taille stable */
  min-height: 210px;
}

/* Image = cover */
.bfc-staff-presentation > .wp-block-media-text .wp-block-media-text__media img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;

  transform: scale(1.02);
  transition: transform 320ms cubic-bezier(.2,.9,.2,1);
}

.bfc-staff-presentation > .wp-block-media-text:hover .wp-block-media-text__media img{
  transform: scale(1.08);
}

/* Gradient sur l’image */
.bfc-staff-presentation > .wp-block-media-text .wp-block-media-text__media::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.78) 90%);
  pointer-events:none;
}

/* Contenu (nom + fonction) */
.bfc-staff-presentation > .wp-block-media-text .wp-block-media-text__content{
  z-index: 1;
  padding: 18px 18px;
  display:flex;
  flex-direction: column;
  justify-content: center;

  /* séparation subtile entre image et texte */
  border-left: 1px solid rgba(255,255,255,0.10);
}

/* Si media à droite (ton cas) : bordure côté droit */
.bfc-staff-presentation > .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{
  border-left: 0;
  border-right: 1px solid rgba(255,255,255,0.10);
}

/* Nom */
.bfc-staff-presentation > .wp-block-media-text .wp-block-heading{
  margin: 0 0 8px !important;
  font-weight: 900;
  line-height: 1.1;

  text-shadow:
    0 3px 0 rgba(0,0,0,.18),
    0 10px 22px rgba(0,0,0,.25);

  /* 2 lignes max */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}

/* Fonction / rôle */
.bfc-staff-presentation > .wp-block-media-text .wp-block-media-text__content p{
  margin: 0 !important;
  opacity: .90;
  font-weight: 800;

  /* look “pill” discret */
  display: inline-flex;
  align-items: center;
  gap: 8px;

  padding: 8px 10px;
  border-radius: 999px;

  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  width: fit-content;
}

/* Mobile : Gutenberg stacke -> on gère la bordure */
@media (max-width: 781px){
  .bfc-staff-presentation > .wp-block-media-text .wp-block-media-text__content{
    border-left: 0;
    border-right: 0;
    border-top: 1px solid rgba(255,255,255,0.10);
    padding: 14px 14px 16px;
    justify-content: flex-start;
  }

  .bfc-staff-presentation > .wp-block-media-text .wp-block-media-text__media{
    min-height: 190px;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .bfc-staff-presentation > .wp-block-media-text,
  .bfc-staff-presentation > .wp-block-media-text .wp-block-media-text__media img{
    transition: none;
    transform: none;
  }
}

/* ==========================================================
   Gutenberg Latest Posts -> Premium cards (Birse FC style)
   Cible: .wp-block-latest-posts (tes UL)
   ========================================================== */

/* Le wrapper grid (optionnel : gap cohérent) */
.wp-block-group.is-layout-grid:has(.wp-block-latest-posts){
  gap: 16px;
}

/* Chaque UL devient une "card" */
.wp-block-latest-posts{
  list-style: none;
  margin: 0;
  padding: 0;

  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 22px;
  overflow: hidden;

  background: rgba(10, 10, 14, 0.55);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  backdrop-filter: blur(18px) saturate(140%);

  box-shadow: 0 30px 70px rgba(0,0,0,0.45),
              inset 0 1px 0 rgba(255,255,255,0.10);

  color:#fff;

  transition: transform 240ms cubic-bezier(.2,.9,.2,1),
              box-shadow 240ms ease,
              border-color 240ms ease;
  will-change: transform;
}

/* Hover premium comme tes cards */
.wp-block-latest-posts:hover{
  transform: translateY(-5px);
  border-color: rgba(189,152,49,0.35);
  box-shadow: 0 40px 90px rgba(0,0,0,0.55),
              0 0 22px rgba(189,152,49,0.12),
              inset 0 1px 0 rgba(255,255,255,0.12);
}

/* Le LI = body */
.wp-block-latest-posts > li{
  margin: 0;
  padding: 14px;
  display:flex;
  flex-direction: column;
  gap: 10px;
  min-height: 0;
}

/* Featured image en mode "cover" */
.wp-block-latest-posts__featured-image{
  position: relative;
  margin: -14px -14px 0; /* cover collée en haut */
  height: 180px;
  overflow: hidden;
  background: rgba(255,255,255,0.03);
}

/* Gradient overlay comme tes covers */
.wp-block-latest-posts__featured-image::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.78) 90%);
  pointer-events:none;
}

/* Image */
.wp-block-latest-posts__featured-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;

  transform: scale(1.02);
  transition: transform 280ms cubic-bezier(.2,.9,.2,1);
}

/* Zoom image au hover */
.wp-block-latest-posts:hover .wp-block-latest-posts__featured-image img{
  transform: scale(1.08);
}

/* Titre */
.wp-block-latest-posts__post-title{
  color: inherit;
  text-decoration: none;
  font-weight: 900;
  line-height: 1.15;
  margin-top: 2px;
}

.wp-block-latest-posts__post-title:hover{
  text-decoration: underline;
}

/* Date */
.wp-block-latest-posts__post-date{
  font-size: .92rem;
  font-weight: 800;
  opacity: .88;
}

/* Si l'image n'a pas de lien, on garde le spacing clean */
.wp-block-latest-posts__featured-image a{
  display:block;
  height:100%;
}

/* Responsive : cover un peu plus petite */
@media (max-width: 575.98px){
  .wp-block-latest-posts__featured-image{
    height: 160px;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .wp-block-latest-posts,
  .wp-block-latest-posts__featured-image img{
    transition: none !important;
    transform: none !important;
  }
}