/*
 * GCAB — Global CSS v1.0
 * Charte visuelle unifiée pour toutes les pages
 * Palette : Noir chaud + Rouge Blonay + Or
 * Typo   : Playfair Display (titres) + DM Sans (corps)
 *
 * Ce fichier est chargé par gcab-core sur toutes les pages.
 * Il surcharge les styles des plugins et du thème Nicepage
 * sans toucher aux fichiers source de chacun.
 */

/* ============================================================
   POLICES GOOGLE
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;800;900&family=DM+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap');

/* ============================================================
   VARIABLES GLOBALES
   ============================================================ */
:root {
  /* Palette */
  --gcab-red:        #c0271d;
  --gcab-red-dk:     #a01f17;
  --gcab-red-lt:     #e8392d;
  --gcab-gold:       #d4940a;
  --gcab-gold-lt:    #f0ab1a;

  /* Fonds */
  --gcab-dark:       #141210;
  --gcab-dark2:      #1c1916;
  --gcab-dark3:      #242018;
  --gcab-card-dark:  #242018;
  --gcab-card-light: #ffffff;

  /* Textes */
  --gcab-white:      #f7f3ee;
  --gcab-text:       #d4cdc4;
  --gcab-text-dark:  #1f2937;
  --gcab-muted:      #8a8278;
  --gcab-muted-dark: #6b7280;

  /* Bordures */
  --gcab-line-dark:  rgba(255,255,255,.07);
  --gcab-line-light: #e5e7eb;

  /* Rayons */
  --gcab-radius-sm:  8px;
  --gcab-radius:     12px;
  --gcab-radius-lg:  18px;

  /* Ombres */
  --gcab-shadow:     0 8px 24px rgba(0,0,0,.12);
  --gcab-shadow-md:  0 12px 32px rgba(0,0,0,.16);

  /* Typo */
  --gcab-font-h:     'Playfair Display', Georgia, serif;
  --gcab-font-b:     'DM Sans', system-ui, -apple-system, sans-serif;
}

/* ============================================================
   BASE TYPOGRAPHIQUE
   ============================================================ */
body,
.u-body {
  font-family: var(--gcab-font-b) !important;
  -webkit-font-smoothing: antialiased;
}

/* Titres de page principaux */
h1, h2, h3 {
  font-family: var(--gcab-font-h) !important;
  letter-spacing: -.02em;
}

/* Titres des shortcodes plugins */
.gcab-card h3,
.gcab-card h4,
.gcab-card-compact .gcab-card-title,
.gcab-ci-featured h3,
.gcab-member-single-title {
  font-family: var(--gcab-font-h) !important;
}

/* ============================================================
   FOND DE PAGE GLOBAL
   Nicepage utilise .u-body pour le fond
   ============================================================ */
.u-body {
  background-color: var(--gcab-dark) !important;
  background-image: none !important; /* supprime l'image de fond qui causait la zone grise */
  color: var(--gcab-text) !important;
}

/* Zone de contenu principale WordPress */
.u-page,
.entry-content,
[class*="u-section"] {
  background-color: transparent;
}

/* ============================================================
   NAVIGATION NICEPAGE
   ============================================================ */
.u-header {
  background-color: rgba(20,18,16,.94) !important;
  backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid var(--gcab-line-dark) !important;
}

/* Liens nav */
.u-nav-link {
  font-family: var(--gcab-font-b) !important;
  font-weight: 500 !important;
  font-size: .88rem !important;
  color: var(--gcab-muted) !important;
  letter-spacing: .02em !important;
  transition: color .18s !important;
}
.u-nav-link:hover,
.u-nav-link.active,
.u-nav-link[aria-current="page"] {
  color: var(--gcab-white) !important;
}

/* ============================================================
   BOUTONS — HARMONISATION GLOBALE
   Tous les boutons du site adoptent la palette rouge/or
   ============================================================ */

/* Bouton primaire vert citron → rouge Blonay */
.gcab-btn,
.gcab-card-cta,
.gcab-home-events-all,
.gcab-home-members-all,
.gcab-home-journal-archive-link,
.gcab-join-btn-member,
button[type="submit"],
input[type="submit"] {
  font-family: var(--gcab-font-b) !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  transition: all .2s ease !important;
  cursor: pointer !important;
}

/* Boutons verts citron → rouge */
.gcab-btn,
.gcab-card-cta {
  background: var(--gcab-red) !important;
  color: var(--gcab-white) !important;
  border: none !important;
  border-radius: var(--gcab-radius-sm) !important;
}
.gcab-btn:hover,
.gcab-card-cta:hover {
  background: var(--gcab-red-lt) !important;
  color: var(--gcab-white) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(192,39,29,.3) !important;
}

/* Bouton recherche / CTA principal pleine largeur */
.gcab-search-form button[type="submit"],
.gcab-member-form button[type="submit"],
.gcab-member-form input[type="submit"] {
  background: var(--gcab-red) !important;
  color: #fff !important;
  border-radius: var(--gcab-radius) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  min-height: 52px !important;
  border: none !important;
  width: 100% !important;
}
.gcab-search-form button[type="submit"]:hover,
.gcab-member-form button[type="submit"]:hover {
  background: var(--gcab-red-lt) !important;
}

/* Bouton "Voir" / "Lire" des cards (actuellement vert citron) */
.gcab-btn.gcab-card-cta,
a.gcab-btn,
button.gcab-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Bouton ghost (outline) */
.gcab-btn-outline,
.gcab-archive-link {
  background: transparent !important;
  color: var(--gcab-white) !important;
  border: 1.5px solid rgba(255,255,255,.25) !important;
  border-radius: var(--gcab-radius-sm) !important;
}
.gcab-btn-outline:hover,
.gcab-archive-link:hover {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.5) !important;
  color: var(--gcab-white) !important;
}

/* CTA "Voir tout l'agenda" / "Tous les membres" */
.gcab-home-events-all,
.gcab-home-members-all {
  background: var(--gcab-red) !important;
  border-radius: 8px !important;
  font-family: var(--gcab-font-b) !important;
}
.gcab-home-events-all:hover,
.gcab-home-members-all:hover {
  background: var(--gcab-red-lt) !important;
}

/* Bouton "Ouvrir le dernier numéro" CI */
.gcab-ci-btn,
.gcab-ci-featured .gcab-ci-btn {
  background: var(--gcab-red) !important;
  border-radius: 8px !important;
  font-family: var(--gcab-font-b) !important;
  font-weight: 700 !important;
}
.gcab-ci-btn:hover {
  background: var(--gcab-red-lt) !important;
}

/* Bouton CI archive "Lire" */
.gcab-ci-card .gcab-ci-btn {
  background: var(--gcab-dark3) !important;
  border: 1px solid var(--gcab-line-dark) !important;
  color: var(--gcab-text) !important;
  font-size: .82rem !important;
}
.gcab-ci-card .gcab-ci-btn:hover {
  background: var(--gcab-red) !important;
  border-color: var(--gcab-red) !important;
  color: #fff !important;
}

/* Bouton galeries "Voir" */
.gcab-galerie-year-btn,
.gcab-galerie-btn {
  background: var(--gcab-dark3) !important;
  color: var(--gcab-white) !important;
  border: 1px solid var(--gcab-line-dark) !important;
  border-radius: var(--gcab-radius-sm) !important;
  font-family: var(--gcab-font-b) !important;
  font-weight: 700 !important;
}
.gcab-galerie-year-btn:hover,
.gcab-galerie-btn:hover {
  background: var(--gcab-red) !important;
  border-color: var(--gcab-red) !important;
}

/* ============================================================
   CHIPS / BADGES
   Vert citron agressif → or discret
   ============================================================ */
.gcab-badge,
.gcab-home-events-kicker,
.gcab-home-members-kicker,
.gcab-home-journal-kicker,
.gcab-join-kicker {
  background: rgba(212,148,10,.12) !important;
  border: 1px solid rgba(212,148,10,.35) !important;
  color: var(--gcab-gold-lt) !important;
  border-radius: 4px !important;
  font-family: var(--gcab-font-b) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

/* Badge "Nouveau" → rouge sobre */
.gcab-new {
  background: rgba(192,39,29,.15) !important;
  color: var(--gcab-red) !important;
  border: 1px solid rgba(192,39,29,.2) !important;
  border-radius: 4px !important;
  font-family: var(--gcab-font-b) !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
}

/* Badge catégorie membres */
.gcab-badge:not(.gcab-new) {
  background: rgba(255,255,255,.06) !important;
  color: var(--gcab-muted) !important;
  border: 1px solid var(--gcab-line-dark) !important;
  text-transform: uppercase !important;
  font-size: .68rem !important;
  letter-spacing: .07em !important;
}

/* Badge CI "DERNIER NUMÉRO" */
.gcab-ci-badge {
  background: var(--gcab-red) !important;
  color: #fff !important;
  border-radius: 4px !important;
  font-family: var(--gcab-font-b) !important;
}

/* ============================================================
   CARTES — HARMONISATION FOND SOMBRE
   Les cartes blanches sur fond noir → fond sombre cohérent
   ============================================================ */

/* Cartes events */
.gcab-card,
.gcab-event-card,
.gcab-ci-card,
.gcab-galerie-card {
  background: var(--gcab-card-dark) !important;
  border: 1px solid var(--gcab-line-dark) !important;
  border-radius: var(--gcab-radius) !important;
  color: var(--gcab-text) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.18) !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}
.gcab-card:hover,
.gcab-event-card:hover,
.gcab-ci-card:hover,
.gcab-galerie-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 36px rgba(0,0,0,.26) !important;
  border-color: rgba(192,39,29,.2) !important;
}

/* Titres dans les cartes */
.gcab-card h3,
.gcab-card h4,
.gcab-card-title,
.gcab-ci-card h3,
.gcab-event-card h3,
.gcab-galerie-card h2,
.gcab-galerie-card h3 {
  color: var(--gcab-white) !important;
  font-family: var(--gcab-font-h) !important;
}

/* Textes secondaires dans les cartes */
.gcab-card p,
.gcab-card-subtitle,
.gcab-card-meta,
.gcab-card-text,
.gcab-ci-meta,
.gcab-since,
.gcab-event-card p {
  color: var(--gcab-muted) !important;
}

/* Membres search — cartes membres (fond sombre thème) */
.gcab-card.gcab-card-compact,
.gcab-card.gcab-card-member-compact {
  background: var(--gcab-card-dark) !important;
  border: 1px solid var(--gcab-line-dark) !important;
}

/* ============================================================
   FORMULAIRES
   ============================================================ */

/* Formulaire recherche membres + formulaire adhésion */
.gcab-search-form,
.gcab-member-form {
  background: var(--gcab-dark2) !important;
  border: 1px solid var(--gcab-line-dark) !important;
  border-radius: var(--gcab-radius-lg) !important;
  color: var(--gcab-text) !important;
}

/* Labels */
.gcab-field label,
.gcab-search-form label {
  color: var(--gcab-text) !important;
  font-family: var(--gcab-font-b) !important;
  font-weight: 600 !important;
  font-size: .88rem !important;
}

/* Inputs, selects, textareas */
.gcab-field input,
.gcab-field select,
.gcab-field textarea,
.gcab-search-form input,
.gcab-search-form select {
  background: var(--gcab-dark3) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: var(--gcab-radius-sm) !important;
  color: var(--gcab-white) !important;
  font-family: var(--gcab-font-b) !important;
  font-size: .9rem !important;
  padding: 11px 14px !important;
  transition: border-color .18s !important;
}
.gcab-field input::placeholder,
.gcab-field textarea::placeholder,
.gcab-search-form input::placeholder {
  color: var(--gcab-muted) !important;
}
.gcab-field input:focus,
.gcab-field select:focus,
.gcab-field textarea:focus,
.gcab-search-form input:focus,
.gcab-search-form select:focus {
  outline: none !important;
  border-color: var(--gcab-red) !important;
  box-shadow: 0 0 0 3px rgba(192,39,29,.15) !important;
}

/* Select options */
.gcab-field select option {
  background: var(--gcab-dark3) !important;
  color: var(--gcab-white) !important;
}

/* Texte d'aide */
.gcab-help,
.gcab-field small,
.gcab-search-form small {
  color: var(--gcab-muted) !important;
  font-size: .78rem !important;
}

/* ============================================================
   SECTION TITRES (kickers + h2 de section)
   ============================================================ */
.gcab-home-events-title,
.gcab-home-members-title,
.gcab-home-journal-main-title,
.gcab-join-banner h2 {
  font-family: var(--gcab-font-h) !important;
  letter-spacing: -.025em !important;
}

/* ============================================================
   PAGE MANIFESTATIONS
   Cartes actuellement blanches sur fond noir
   ============================================================ */
.gcab-event-card {
  background: var(--gcab-card-dark) !important;
  border-radius: var(--gcab-radius) !important;
}

/* Image de l'event dans la card */
.gcab-event-card .gcab-event-image,
.gcab-event-card img {
  border-radius: var(--gcab-radius-sm) var(--gcab-radius-sm) 0 0 !important;
}

/* Dates dans les cartes events */
.gcab-event-date,
.gcab-event-card .date {
  background: rgba(192,39,29,.15) !important;
  color: var(--gcab-red) !important;
  border: 1px solid rgba(192,39,29,.2) !important;
  border-radius: 4px !important;
  font-family: var(--gcab-font-b) !important;
  font-weight: 700 !important;
  font-size: .75rem !important;
}

/* Boutons des cartes events */
.gcab-event-card a.button,
.gcab-event-card .gcab-event-btn {
  background: var(--gcab-red) !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-family: var(--gcab-font-b) !important;
  font-weight: 700 !important;
  border: none !important;
  box-shadow: none !important;
}
.gcab-event-card a.button:hover,
.gcab-event-card .gcab-event-btn:hover {
  background: var(--gcab-red-lt) !important;
  transform: translateY(-1px) !important;
}

/* Filtre de recherche events */
.gcab-event-search input,
.gcab-events-filter input {
  background: var(--gcab-dark3) !important;
  border: 1px solid var(--gcab-line-dark) !important;
  color: var(--gcab-white) !important;
  border-radius: var(--gcab-radius-sm) !important;
  font-family: var(--gcab-font-b) !important;
  padding: 12px 16px !important;
}

/* ============================================================
   PAGE JOURNAL (COMM'UNE INFO)
   ============================================================ */

/* Featured / dernier numéro */
.gcab-ci-featured {
  background: var(--gcab-dark2) !important;
  border: 1px solid var(--gcab-line-dark) !important;
  border-radius: var(--gcab-radius-lg) !important;
}

.gcab-ci-featured h3 {
  font-family: var(--gcab-font-h) !important;
  color: var(--gcab-white) !important;
  letter-spacing: -.025em !important;
}

.gcab-ci-featured-meta {
  color: var(--gcab-muted) !important;
}

.gcab-ci-featured-text {
  color: var(--gcab-text) !important;
}

/* Couverture du numéro en vedette */
.gcab-ci-featured-cover {
  background: var(--gcab-dark3) !important;
  border: 1px solid var(--gcab-line-dark) !important;
  border-radius: var(--gcab-radius) !important;
}

/* Cartes archives CI */
.gcab-ci-card {
  border-radius: var(--gcab-radius) !important;
}

.gcab-ci-cover {
  border-radius: var(--gcab-radius-sm) !important;
  border: 1px solid var(--gcab-line-dark) !important;
  background: var(--gcab-dark3) !important;
}

/* Navigation carrousel CI */
.gcab-ci-carousel-btn,
.gcab-carousel-btn {
  background: var(--gcab-dark3) !important;
  border: 1px solid var(--gcab-line-dark) !important;
  color: var(--gcab-white) !important;
  border-radius: var(--gcab-radius-sm) !important;
  transition: all .18s !important;
}
.gcab-ci-carousel-btn:hover,
.gcab-carousel-btn:hover {
  background: var(--gcab-red) !important;
  border-color: var(--gcab-red) !important;
  color: #fff !important;
}

/* ============================================================
   PAGE GALERIES PHOTOS
   ============================================================ */
.gcab-galerie-card {
  border-radius: var(--gcab-radius-lg) !important;
  overflow: hidden !important;
}

.gcab-galerie-card h2,
.gcab-galerie-card h3 {
  font-family: var(--gcab-font-h) !important;
}

/* Badges années dans les galeries */
.gcab-galerie-year-btn {
  border-radius: 999px !important;
  font-size: .75rem !important;
  padding: 4px 12px !important;
}

/* ============================================================
   PAGE À PROPOS / QUI SOMMES-NOUS
   ============================================================ */

/* Cartes comité */
.gcab-committee-card,
.gcab-about-card {
  background: var(--gcab-card-dark) !important;
  border: 1px solid var(--gcab-line-dark) !important;
  border-radius: var(--gcab-radius) !important;
  color: var(--gcab-text) !important;
}

/* Liens */
.gcab-member-meta a,
.gcab-about-section a {
  color: var(--gcab-red) !important;
  text-decoration: none !important;
  transition: color .18s !important;
}
.gcab-member-meta a:hover,
.gcab-about-section a:hover {
  color: var(--gcab-red-lt) !important;
}

/* ============================================================
   FICHE MEMBRE INDIVIDUELLE
   ============================================================ */
.gcab-member-single-card {
  background: var(--gcab-dark2) !important;
  border: 1px solid var(--gcab-line-dark) !important;
}

.gcab-member-single-logo {
  background: rgba(255,255,255,.04) !important;
  border-radius: var(--gcab-radius) !important;
}

/* Fond logo blanc pour lisibilité */
.gcab-member-logo {
  background: rgba(255,255,255,.92) !important;
}

/* ============================================================
   BANDEAU REJOINDRE (section join)
   Gradient bleu → gradient rouge sobre
   ============================================================ */
.gcab-join-banner {
  background:
    radial-gradient(circle at 18% 120%, rgba(192,39,29,.10) 0%, transparent 34%),
    linear-gradient(135deg, #1e100a 0%, #2a140c 50%, #1a0e08 100%) !important;
  border: 1px solid rgba(192,39,29,.15) !important;
}

.gcab-join-btn-member {
  background: var(--gcab-red) !important;
  color: #fff !important;
  border-radius: 8px !important;
}
.gcab-join-btn-member:hover {
  background: var(--gcab-red-lt) !important;
  box-shadow: 0 8px 24px rgba(192,39,29,.3) !important;
}

.gcab-join-btn-contact {
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 8px !important;
}
.gcab-join-btn-contact:hover {
  background: rgba(255,255,255,.15) !important;
}

/* ============================================================
   CARROUSEL HOMEPAGE — SECTIONS EVENTS / MEMBRES / CI
   Fonds cohérents
   ============================================================ */
.gcab-home-events-premium,
.gcab-home-members-premium,
.gcab-home-journal-section,
.gcab-join-section {
  background:
    radial-gradient(circle at 15% 20%, rgba(192,39,29,.06), transparent 22%),
    linear-gradient(180deg, var(--gcab-dark) 0%, var(--gcab-dark2) 60%, var(--gcab-dark) 100%) !important;
}

/* Coquilles carrousels */
.gcab-home-events-shell,
.gcab-home-members-shell,
.gcab-home-journal-carousel-block {
  background: rgba(255,255,255,.04) !important;
  border: 1px solid var(--gcab-line-dark) !important;
  border-radius: 18px !important;
}

/* Cartes dans les carrousels homepage */
.gcab-home-events-track article,
.gcab-home-events-track li,
.gcab-home-members-track .gcab-card {
  background: var(--gcab-card-dark) !important;
  border: 1px solid var(--gcab-line-dark) !important;
  border-radius: var(--gcab-radius) !important;
  color: var(--gcab-text) !important;
}

.gcab-home-events-track h3,
.gcab-home-events-track h4,
.gcab-home-members-track .gcab-card-title {
  color: var(--gcab-white) !important;
  font-family: var(--gcab-font-h) !important;
}

.gcab-home-events-track p,
.gcab-home-members-track .gcab-since {
  color: var(--gcab-muted) !important;
}

/* Boutons dans carrousels homepage */
.gcab-home-events-track a.button,
.gcab-home-events-track .gcab-event-btn {
  background: var(--gcab-red) !important;
  color: #fff !important;
  border-radius: 8px !important;
  border: none !important;
  box-shadow: none !important;
  font-family: var(--gcab-font-b) !important;
}
.gcab-home-events-track a.button:hover,
.gcab-home-events-track .gcab-event-btn:hover {
  background: var(--gcab-red-lt) !important;
}

/* ============================================================
   FOOTER NICEPAGE
   ============================================================ */
.u-footer,
[class*="u-footer"] {
  background: #0c0a08 !important;
  border-top: 1px solid var(--gcab-line-dark) !important;
}

/* Titres footer */
.u-footer h4,
[class*="u-footer"] h4 {
  color: var(--gcab-gold) !important;
  font-family: var(--gcab-font-b) !important;
  font-size: .7rem !important;
  text-transform: uppercase !important;
  letter-spacing: .12em !important;
  font-weight: 700 !important;
}

/* Liens footer */
.u-footer a,
[class*="u-footer"] a {
  color: var(--gcab-muted) !important;
  font-size: .86rem !important;
  transition: color .18s !important;
}
.u-footer a:hover,
[class*="u-footer"] a:hover {
  color: var(--gcab-white) !important;
}

/* ============================================================
   NOTICES GLOBALES
   ============================================================ */
.gcab-notice-success {
  background: rgba(22,163,74,.1) !important;
  border: 1px solid rgba(22,163,74,.25) !important;
  color: #4ade80 !important;
  border-radius: var(--gcab-radius-sm) !important;
}

.gcab-notice-error {
  background: rgba(192,39,29,.1) !important;
  border: 1px solid rgba(192,39,29,.25) !important;
  color: #f87171 !important;
  border-radius: var(--gcab-radius-sm) !important;
}

/* ============================================================
   CARTE LEAFLET (fiche membre)
   ============================================================ */
#gcab-member-map,
.gcab-map-loading {
  border-radius: 0 0 var(--gcab-radius) var(--gcab-radius) !important;
}

/* ============================================================
   RESPONSIVE — MOBILE
   ============================================================ */
@media (max-width: 680px) {
  .gcab-search-form,
  .gcab-member-form {
    padding: 20px !important;
    border-radius: var(--gcab-radius) !important;
  }

  .gcab-home-events-track article,
  .gcab-home-events-track li {
    border-radius: var(--gcab-radius) !important;
  }
}

/* ============================================================
   PAGE GALERIES PHOTOS — Correction complète
   Les cartes sont blanches sur fond noir → fond sombre
   ============================================================ */

/* Fond de page galeries */
.gcab-galeries-page,
.gcab-galeries-wrap {
  background: transparent;
}

/* Titre de page galeries */
.gcab-galeries-title,
.gcab-galeries-wrap h1,
.gcab-galeries-wrap h2 {
  font-family: var(--gcab-font-h) !important;
  color: var(--gcab-white) !important;
}

/* Cartes galeries — fond sombre au lieu de blanc */
.gcab-galerie-card {
  background: var(--gcab-card-dark) !important;
  border: 1px solid var(--gcab-line-dark) !important;
  border-radius: var(--gcab-radius-lg) !important;
  color: var(--gcab-text) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.2) !important;
  overflow: hidden !important;
  transition: transform .2s ease, border-color .2s ease !important;
}
.gcab-galerie-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(192,39,29,.25) !important;
}

/* Titres et compteurs dans les cartes galeries */
.gcab-galerie-card h2,
.gcab-galerie-card h3,
.gcab-galerie-card-title {
  color: var(--gcab-white) !important;
  font-family: var(--gcab-font-h) !important;
}
.gcab-galerie-card-count,
.gcab-galerie-count {
  color: var(--gcab-muted) !important;
  font-size: .82rem !important;
}

/* Badges années — bleu marine → rouge sobre */
.gcab-galerie-year,
.gcab-galerie-year-btn,
.gcab-galerie-years a,
.gcab-galerie-years span {
  background: rgba(192,39,29,.15) !important;
  color: var(--gcab-red) !important;
  border: 1px solid rgba(192,39,29,.2) !important;
  border-radius: 999px !important;
  font-size: .75rem !important;
  font-weight: 700 !important;
  padding: 3px 12px !important;
  text-decoration: none !important;
  font-family: var(--gcab-font-b) !important;
  transition: background .18s, color .18s !important;
}
.gcab-galerie-year:hover,
.gcab-galerie-year-btn:hover,
.gcab-galerie-years a:hover {
  background: var(--gcab-red) !important;
  color: #fff !important;
}

/* ============================================================
   PAGES INDIVIDUELLES MANIFESTATIONS
   Plugin events : classes gcab-event-card, gcab-event-btn
   Les couleurs inline sont difficiles à surcharger,
   on cible ce qu'on peut
   ============================================================ */

/* Page single event — fond global */
.single-gcab_event .u-body,
body.single-gcab_event {
  background: var(--gcab-dark) !important;
}

/* Conteneur de la page event individuelle */
.gcab-event-single,
.gcab-event-detail,
.gcab-event-page {
  max-width: 1100px;
  margin: 0 auto;
  padding: 52px 24px;
  color: var(--gcab-text);
  font-family: var(--gcab-font-b);
}

/* Titre principal */
.gcab-event-single h1,
.gcab-event-detail h1,
body.single-gcab_event h1 {
  font-family: var(--gcab-font-h) !important;
  color: var(--gcab-white) !important;
  letter-spacing: -.02em !important;
}

/* Badge kicker "MANIFESTATION DU GCAB" */
.gcab-event-kicker,
.gcab-event-badge,
.gcab-event-single .gcab-badge {
  background: rgba(212,148,10,.12) !important;
  border: 1px solid rgba(212,148,10,.35) !important;
  color: var(--gcab-gold-lt) !important;
  border-radius: 4px !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

/* Cartes features/highlights dans les pages event */
.gcab-event-feature,
.gcab-event-highlight-card {
  background: var(--gcab-card-dark) !important;
  border: 1px solid var(--gcab-line-dark) !important;
  border-radius: var(--gcab-radius) !important;
  color: var(--gcab-text) !important;
}
.gcab-event-feature h3,
.gcab-event-highlight-card h3 {
  color: var(--gcab-white) !important;
  font-family: var(--gcab-font-h) !important;
}

/* Bouton CTA event — surcharge le style inline avec !important */
.gcab-event-btn {
  background: var(--gcab-red) !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-family: var(--gcab-font-b) !important;
  font-weight: 700 !important;
  border: none !important;
  padding: 11px 20px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  transition: background .18s, transform .18s !important;
}
.gcab-event-btn:hover {
  background: var(--gcab-red-lt) !important;
  transform: translateY(-2px) !important;
}

/* Bouton "Accéder à la galerie" dans les pages event */
.gcab-event-gallery-btn,
.gcab-event-cta-btn {
  background: var(--gcab-red) !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-family: var(--gcab-font-b) !important;
}

/* Section "Souvenirs en images" dans les pages event */
.gcab-event-gallery-section {
  background: var(--gcab-dark2) !important;
  border: 1px solid var(--gcab-line-dark) !important;
  border-radius: var(--gcab-radius-lg) !important;
}

/* ============================================================
   PAGE À PROPOS — Surcharge palette cyan → rouge/or
   La page est construite avec un bloc HTML Nicepage
   ayant ses propres variables --gcab-cyan
   ============================================================ */

/* Remap des variables cyan vers la palette GCAB */
.gcab-ap-page {
  --gcab-cyan:      var(--gcab-red) !important;
  --gcab-cyan-dim:  rgba(192,39,29,.12) !important;
  --gcab-cyan-mid:  rgba(192,39,29,.22) !important;
}

/* Hero border-top cyan → rouge */
.gcab-ap-hero {
  border-top-color: var(--gcab-red) !important;
}

/* Badge hero */
.gcab-ap-hero-badge {
  background: rgba(212,148,10,.12) !important;
  border-color: rgba(212,148,10,.35) !important;
  color: var(--gcab-gold-lt) !important;
  border-radius: 4px !important;
}

/* Span coloré dans le h1 hero */
.gcab-ap-hero h1 span {
  color: var(--gcab-red) !important;
}

/* Icônes coordonnées */
.gcab-ap-coord-icon {
  background: rgba(192,39,29,.12) !important;
  color: var(--gcab-red) !important;
}

/* Titres h3 "COORDONNÉES" */
.gcab-ap-hero-coords h3 {
  color: var(--gcab-gold-lt) !important;
}

/* Liens dans coordonnées */
.gcab-ap-coord-text a {
  color: var(--gcab-red) !important;
}

/* Icônes piliers mission */
.gcab-ap-pilier-icon {
  background: rgba(192,39,29,.12) !important;
  color: var(--gcab-red) !important;
}

/* Hover piliers */
.gcab-ap-pilier:hover {
  border-color: rgba(192,39,29,.3) !important;
}

/* Rôle président */
.gcab-ap-membre-role {
  color: var(--gcab-gold-lt) !important;
}
.gcab-ap-membre-role::before {
  background: var(--gcab-gold-lt) !important;
}

/* Carte président */
.gcab-ap-membre-card.is-president {
  border-color: rgba(192,39,29,.4) !important;
}
.gcab-ap-membre-card.is-president .gcab-ap-membre-name {
  color: var(--gcab-red) !important;
}

/* Hover cartes comité */
.gcab-ap-membre-card:hover {
  border-color: rgba(192,39,29,.28) !important;
}

/* Bordure gauche statuts */
.gcab-ap-statuts-box {
  border-left-color: var(--gcab-red) !important;
}

/* Boutons À propos (statuts + contact) → rouge */
.gcab-ap-statuts-btn,
.gcab-ap-contact-btn {
  background: var(--gcab-red) !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-family: var(--gcab-font-b) !important;
}
.gcab-ap-statuts-btn:hover,
.gcab-ap-contact-btn:hover {
  background: var(--gcab-red-lt) !important;
  opacity: 1 !important;
}
.gcab-ap-statuts-btn.disabled {
  background: var(--gcab-card-dark) !important;
  border: 1px solid var(--gcab-line-dark) !important;
  color: var(--gcab-muted) !important;
}

/* Titres de section À propos */
.gcab-ap-section-title h2 {
  font-family: var(--gcab-font-h) !important;
  color: var(--gcab-white) !important;
}
.gcab-ap-section-title .line {
  background: var(--gcab-line-dark) !important;
}

/* ============================================================
   CORRECTION ZONE GRISE SOUS FOOTER (Nicepage)
   ============================================================ */
.u-custom-html-1,
.u-custom-html,
[class*="u-custom-html"] {
  min-height: unset !important;
  height: auto !important;
}
