/* ════════════════════════════════════════════════════════════════════
   PUMA — Pages "À propos" (Programme, Comité, Schéma institutionnel)
   Fichier : puma-apropos.css
   ════════════════════════════════════════════════════════════════════ */

/* ── Variables (rappel) ───────────────────────────────────────────── */
:root {
  --vert:           #07853F;
  --vert-fonce:     #055c2b;
  --vert-clair:     #f0faf4;
  --jaune:          #FAEB49;
  --gris-txt:       #374151;
  --gris:           #6b7280;
  --gris-clair:     #f4f6f8;
  --gris-pale:      #f9fafb;
  --border:         #e5e7eb;
  --container:      1280px;

  /* Variables compatibles puma-region-single (widget réutilisé) */
  --puma-vert:       #07853F;
  --puma-vert-dark:  #055c2b;
  --puma-vert-light: #eef8f2;
  --puma-gris-bg:    #f8f9fb;
  --puma-gris-border:#e0e4ea;
  --puma-shadow:     0 2px 10px rgba(0,0,0,.07);
}

/* ── Hero bannière ───────────────────────────────────────────────── */
.puma-apropos-hero {
  display: block !important;
}

/* Image de fond pages À propos (défaut) */
.puma-apropos-hero .puma-page-hero-bg {
  background-image: url('https://images.unsplash.com/photo-1547471080-7cc2caa01a7e?w=1800&q=80');
  background-size: cover;
  background-position: center 35%;
  opacity: .25;
}

/* Image de fond personnalisée (depuis médiathèque WP) */
.puma-apropos-hero .puma-page-hero-bg--custom {
  background-size: cover;
  background-position: center;
  opacity: .25;
}

/* ── Layout principal : 2 colonnes ──────────────────────────────── */
.puma-apropos-layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 40px;
  align-items: start;
  padding-top: 48px;
  padding-bottom: 72px;
  max-width: var(--container);
  margin: 0 auto;
  box-sizing: border-box;
  padding-left: 32px;
  padding-right: 32px;
}

/* ── Colonne principale ──────────────────────────────────────────── */
.puma-apropos-main {
  min-width: 0;
}

/* Typographie contenu */
.puma-apropos-main p,
.puma-apropos-main li,
.puma-apropos-main ul,
.puma-apropos-main ol {
  font-size: 15px;
  line-height: 1.8;
  color: var(--gris-txt);
  font-family: 'Fira Sans', sans-serif;
}
.puma-apropos-main h2 {
  font-size: 22px;
  font-weight: 700;
  color: #1f2937;
  margin: 1.6em 0 .6em;
  font-family: 'Plus Jakarta Sans', sans-serif;
  line-height: 1.3;
}
.puma-apropos-main h3 {
  font-size: 17px;
  font-weight: 700;
  color: var(--vert);
  margin: 1.3em 0 .5em;
  font-family: 'Plus Jakarta Sans', sans-serif;
}
.puma-apropos-main h4 {
  font-size: 15px;
  font-weight: 600;
  color: #374151;
  margin: 1em 0 .4em;
  font-family: 'Plus Jakarta Sans', sans-serif;
}
.puma-apropos-main ul { padding-left: 1.4em; margin: .5em 0 1em; }
.puma-apropos-main li { margin-bottom: .4em; }
.puma-apropos-main strong, .puma-apropos-main b { font-weight: 700; color: #1f2937; }
.puma-apropos-main a { color: var(--vert); text-decoration: underline; }
.puma-apropos-main a:hover { color: var(--vert-fonce); }

/* Nettoyage WPBakery */
.puma-apropos-main .wpb-content-wrapper,
.puma-apropos-main .vc_row.wpb_row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.puma-apropos-main .vc_column-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ── SIDEBAR ─────────────────────────────────────────────────────── */
.puma-apropos-sidebar {
  position: sticky;
  top: 100px;
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* Le widget réutilise exactement les classes de puma-region-single.css :
   .puma-widget, .puma-widget-title, .puma-widget-title--carte,
   .puma-regions-nav, .puma-regions-nav-item, .puma-regions-nav-link,
   .puma-regions-nav-dot
   → Seuls ajustements spécifiques ci-dessous */

/* Widget — correction max-height pour afficher toutes les régions */
.puma-apropos-regions-widget .puma-regions-nav {
  max-height: none;    /* pas de scroll — toutes les régions visibles */
  overflow-y: visible;
  padding: 6px 0 2px;
}

/* Badge compteur dans le titre */
.puma-apropos-regions-count {
  margin-left: auto;
  background: rgba(7,133,63,.12);
  color: var(--puma-vert-dark);
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 20px;
  font-family: 'Fira Sans', sans-serif;
  flex-shrink: 0;
}

/* CTA carte interactive — bas du widget */
.puma-apropos-cta-carte {
  border-top: 1.5px solid var(--puma-gris-border);
  background: var(--puma-gris-bg);
}

.puma-apropos-cta-link {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 12px 20px;
  font-size: 12.5px;
  font-weight: 700;
  font-family: 'Fira Sans', sans-serif;
  color: var(--puma-vert-dark) !important;
  text-decoration: none !important;
  transition: background .14s, color .14s;
}
.puma-apropos-cta-link:hover {
  background: var(--puma-vert-light) !important;
  color: var(--puma-vert-dark) !important;
  text-decoration: none !important;
}
.puma-apropos-cta-link svg {
  opacity: .7;
  flex-shrink: 0;
  stroke: var(--puma-vert-dark);
}

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .puma-apropos-layout {
    grid-template-columns: 1fr 260px;
    gap: 28px;
    padding-left: 24px;
    padding-right: 24px;
  }
}

@media (max-width: 768px) {
  .puma-apropos-layout {
    grid-template-columns: 1fr;
    gap: 32px;
    padding-top: 32px;
    padding-bottom: 48px;
    padding-left: 16px;
    padding-right: 16px;
  }
  .puma-apropos-sidebar {
    position: static;
    order: -1; /* Sidebar avant contenu sur mobile */
  }
  /* Sur mobile : 2 colonnes pour la liste */
  .puma-apropos-regions-widget .puma-regions-nav {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .puma-apropos-regions-widget .puma-regions-nav-item {
    border-right: 1px solid var(--puma-gris-border);
    border-bottom: none;
  }
  .puma-apropos-regions-widget .puma-regions-nav-item:nth-child(even) {
    border-right: none;
  }
}

@media (max-width: 480px) {
  .puma-apropos-regions-widget .puma-regions-nav {
    grid-template-columns: 1fr;
  }
  .puma-apropos-regions-widget .puma-regions-nav-item {
    border-right: none;
    border-bottom: 1px solid var(--puma-gris-border);
  }
}
