/* =======================================================
   COMMUNAUTE PAGE (page-communaute.php)
   File: assets/css/communaute.css
   Layer: pages
   Goal: Scoped styles (only this page) + clean tokens
======================================================= */


  /* ======================================================
     0) PAGE ROOT (scope + local tokens)
  ====================================================== */
  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) {

    background: var(--color-bg);
    color: var(--color-dark);

    /* Surfaces / borders */
    --community-surface: var(--color-white);

    --community-border: rgba(0,0,0,.08);
    --community-border: color-mix(in srgb, var(--color-dark) 12%, transparent);

    /* Blog category badge (FIX: match your UI colors) */
    --community-badge-bg: var(--color-primary);   /* turquoise */
    --community-badge-text: var(--color-dark);    /* black text */
    --community-badge-border: color-mix(in srgb, var(--color-dark) 14%, transparent);

    /* Hero text highlight system (only this page) */
    --comm-hero-overlay: rgba(0,0,0,.16);
    --comm-hero-h1-bg: rgba(0,0,0,.62);
    --comm-hero-p-bg: rgba(0,0,0,.45);
    --comm-hero-radius: 12px;
  }


  /* ======================================================
     1) BASE SECTION (titles + spacing)
  ====================================================== */
  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-section {

    padding-top: var(--space-xl);
    padding-bottom: var(--space-xl);
    background: var(--color-bg);
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-section .section-kicker {

    text-align: center;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--color-dark);
    margin-bottom: 6px;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-section .section-title {

    font-family: var(--font-title);
    font-size: 30px;
    text-align: center;
    margin: 0 0 10px;
    color: var(--color-dark);
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-section .section-subtitle {

    text-align: center;
    margin: 0 auto 40px;
    max-width: 640px;
    font-size: 15px;
    line-height: 1.7;
    color: var(--color-dark);
  }


  /* ======================================================
     2) BLOG SECTION (background)
  ====================================================== */
  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .section-blog {

    background: var(--color-bg);
  }


  /* ======================================================
     3) HERO (photo + black highlight behind each line)
  ====================================================== */
  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-hero {

    background: var(--color-bg);
    padding: clamp(44px, 6vw, 90px) 0 clamp(54px, 7vw, 110px);
    display: flex;
    justify-content: center;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-hero-wrapper {

    max-width: 1400px;
    width: 100%;
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 26px 48px rgba(0,0,0,.22);
    position: relative;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-hero-frame {

    position: relative;
    width: 100%;
    min-height: 680px;
    display: grid;
    place-items: center;
    padding: clamp(18px, 4vw, 42px);
    overflow: hidden;
  }

  /* Background image */
  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-hero picture,
  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-hero picture img {

    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    z-index: 1;
  }

  /* Light overlay */
  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-hero-overlay {

    position: absolute;
    inset: 0;
    z-index: 2;
    background: var(--comm-hero-overlay);
  }

  /* Content */
  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-hero-content {

    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 920px;
    text-align: center;
    color: var(--color-white);
  }

  /* Remove big panel */
  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-hero-panel {
    background: transparent;
    padding: 0;
    border-radius: 0;
  }

  /* H1 highlighted behind each line */
  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-hero-panel h1 {

    font-family: var(--font-title);
    font-weight: 700;
    line-height: 1.10;
    font-size: clamp(30px, 5vw, 64px);
    margin: 0 0 18px;
    color: #fff;

    display: inline-block;
    background: var(--comm-hero-h1-bg);
    padding: .18em .44em;
    border-radius: var(--comm-hero-radius);

    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
  }

  /* Paragraph highlighted behind each line */
  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-hero-panel p {

    font-size: clamp(15px, 1.6vw, 22px);
    line-height: 1.7;
    margin: 0 0 22px;
    color: #fff;

    display: inline-block;
    background: var(--comm-hero-p-bg);
    padding: .14em .36em;
    border-radius: var(--comm-hero-radius);

    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
  }

  /* Buttons inside hero */
  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .hero-buttons {

    display: flex;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
  }

  @media (max-width: 900px) {
    :where(body.page-template-page-communaute,
           body.page-template-page-communaute-php,
           body.page-communaute) .community-hero-frame {
      min-height: 480px;
    }
  }

  @media (max-width: 520px) {
    :where(body.page-template-page-communaute,
           body.page-template-page-communaute-php,
           body.page-communaute) .hero-buttons {
      flex-direction: column;
    }
    :where(body.page-template-page-communaute,
           body.page-template-page-communaute-php,
           body.page-communaute) .hero-buttons a {
      width: 100%;
      text-align: center;
    }
  }


  /* ======================================================
     4) BLOG GRID (cards)
  ====================================================== */
:where(body.page-template-page-communaute,
       body.page-template-page-communaute-php,
       body.page-communaute) .section-blog .blog-cards-grid {

  display: grid;
  grid-template-columns: repeat(3, minmax(0, 360px));
  justify-content: center;
  gap: 28px;
  margin-top: 40px;
  margin-bottom: 36px;
}

@media (max-width: 980px){
  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .section-blog .blog-cards-grid{
    grid-template-columns: repeat(2, minmax(0, 360px));
  }
}

@media (max-width: 640px){
  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .section-blog .blog-cards-grid{
    grid-template-columns: 1fr;
  }
}

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .section-blog .blog-card {

    background: var(--color-white);

    border-radius: 24px;
    box-shadow: 0 6px 18px rgba(0,0,0,.06);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    width: 360px;
    max-width: 100%;
    padding-bottom: 0;
    border: 1px solid color-mix(in srgb, var(--color-dark) 12%, transparent);
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .section-blog .blog-card-img img {

    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
    border-radius: 24px 24px 0 0;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .section-blog .blog-card-top {

    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 22px 0;
    font-size: 13px;
    color: var(--color-dark);
  }

  /* ======================================================
     BLOG CATEGORY BADGE (Solidarité / Éducation / Culture)
     FIX: match site colors + better contrast
  ====================================================== */
  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .section-blog .blog-card-top .badge.tag-badge {

    background: var(--community-badge-bg);
    color: var(--community-badge-text);
    border: 1px solid var(--community-badge-border);

    padding: 6px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    opacity: 1;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .section-blog .blog-card-top .reading-time {
    opacity: .9;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .section-blog .blog-card-title {

    font-family: var(--font-title);
    font-size: 20px;
    line-height: 1.35;
    margin: 10px 22px 6px;
    color: var(--color-dark);
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .section-blog .blog-card-text {

    font-size: 15px;
    line-height: 1.65;
    margin: 0 22px 22px;
    color: var(--color-dark);
    flex-grow: 1;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .section-blog .blog-readmore-btn {

    display: flex;
      justify-content: center;
    padding: 0 22px 22px;
    margin-top: auto;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .section-blog .blog-readmore-btn .btn-primary {

    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 10px 22px;
    width: max-content;
  }

  @media (max-width: 900px) {
    :where(body.page-template-page-communaute,
           body.page-template-page-communaute-php,
           body.page-communaute) .section-blog .blog-card {
      width: 100%;
      max-width: 360px;
    }
  }

  /* ======================================================
   “VOIR TOUS LES ARTICLES” (BLOG BUTTON)
   FIX: force real center under the 3 cards
====================================================== */

/* Case A: the button is directly after the grid */
:where(body.page-template-page-communaute,
       body.page-template-page-communaute-php,
       body.page-communaute) .section-blog .blog-cards-grid + a.btn-secondary{
  display:block;
  width:max-content;
  margin:0 auto !important;   /* hard center */
}

/* Case B: the button is inside a wrapper after the grid */
:where(body.page-template-page-communaute,
       body.page-template-page-communaute-php,
       body.page-communaute) .section-blog .blog-cards-grid + *{
  display:flex;
  justify-content:center;
  margin-top:0;               /* optional */
}

:where(body.page-template-page-communaute,
       body.page-template-page-communaute-php,
       body.page-communaute) .section-blog .blog-cards-grid + * .btn-secondary{
  margin:0 !important;        /* wrapper controls centering */
}


  /* ======================================================
     5) EVENTS SECTION (unchanged)
  ====================================================== */
  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .section-events .community-card.is-hidden {
    display: none;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .section-events {
    background: var(--color-bg);
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .section-events .section-kicker,
  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .section-events .section-title,
  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .section-events .section-subtitle {
    text-align: left;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .section-events .section-title {
    font-size: 32px;
    margin: 0 0 8px;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .section-events .section-subtitle {
    color: var(--color-dark) !important;
    opacity: 1 !important;
    max-width: 720px;
    margin: 0 0 24px;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .events-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 28px;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .filter-chip {
    border: 2px solid var(--color-primary);
    outline: none;
    cursor: pointer;
    padding: 8px 24px;
    border-radius: 999px;
    background: var(--color-white);
    box-shadow: none;
    font-size: 14px;
    font-weight: 600;
    color: var(--color-dark);
    transition:
      transform var(--anim-speed-fast) var(--anim-ease),
      background var(--anim-speed-fast) var(--anim-ease),
      color var(--anim-speed-fast) var(--anim-ease),
      border-color var(--anim-speed-fast) var(--anim-ease),
      box-shadow var(--anim-speed-fast) var(--anim-ease);
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .filter-chip:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-soft);
    color: var(--color-hot);
    border-color: var(--color-hot);
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .filter-chip.is-active {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-dark);
    box-shadow: var(--shadow-soft);
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .cards-grid {
    display: flex;
    justify-content: center;
    gap: 28px;
    flex-wrap: wrap;
    margin-top: 40px;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-card {
    background: var(--color-white);
    border-radius: 20px;
    box-shadow: 0 6px 18px rgba(0,0,0,.06);
    overflow: hidden;
    width: 360px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    transition: .25s ease;
    padding-bottom: 24px;
    border: 1px solid color-mix(in srgb, var(--color-dark) 12%, transparent);
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(0,0,0,.18);
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-card-img img {
    width: 100%;
    height: 240px;
    object-fit: cover;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-card-meta-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 22px 0;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .badge-tag {
    background: var(--color-bg);
    padding: 6px 12px;
    border-radius: 12px;
    font-size: 13px;
    color: var(--color-dark);
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-card-title {
    font-family: var(--font-title);
    font-size: 20px;
    line-height: 1.35;
    margin: 14px 22px 6px;
    color: var(--color-dark);
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-card-text {
    margin: 0 22px 20px;
    font-size: 15px;
    line-height: 1.65;
    color: var(--color-dark);
    flex-grow: 1;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-card-meta-bottom {
    padding: 0 22px 6px;
    margin-top: auto;
    display: flex;
    justify-content: center;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-card-meta-bottom .btn-primary.btn-small {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 10px 22px;
    width: max-content;
  }

  @media (max-width: 900px) {
    :where(body.page-template-page-communaute,
           body.page-template-page-communaute-php,
           body.page-communaute) .events-filters { justify-content: flex-start; }
    :where(body.page-template-page-communaute,
           body.page-template-page-communaute-php,
           body.page-communaute) .cards-grid { justify-content: center; }
    :where(body.page-template-page-communaute,
           body.page-template-page-communaute-php,
           body.page-communaute) .community-card { width: 100%; max-width: 360px; }
    :where(body.page-template-page-communaute,
           body.page-template-page-communaute-php,
           body.page-communaute) .community-card-img img { height: 200px; }
  }
  
 /* =========================================================
   EVENTS – "Voir tous les événements" button
   Fix: center it + add space from cards
========================================================= */

/* If you have a wrapper like <div class="center-btn">...</div> */
:where(body.page-template-page-communaute,
       body.page-template-page-communaute-php,
       body.page-communaute) .section-events .center-btn{
  margin-top: 36px;
  display: flex;
  justify-content: center;
  width: 100%;
}

:where(body.page-template-page-communaute,
       body.page-template-page-communaute-php,
       body.page-communaute) .section-events .center-btn a{
  width: max-content;
}

/* Fallback: if the button is directly after the cards grid */
:where(body.page-template-page-communaute,
       body.page-template-page-communaute-php,
       body.page-communaute) .section-events .cards-grid + a{
  display: block;
  width: max-content;
  margin: 36px auto 0;
}


  /* ======================================================
     6) GALLERY SECTION (unchanged)
  ====================================================== */
  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-gallery-section {
    background: var(--color-bg);
    padding-top: var(--space-xl);
    padding-bottom: var(--space-xl);
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-gallery-section .section-title {
    font-family: var(--font-title);
    font-size: 32px;
    font-weight: 700;
    text-align: center;
    margin: 0 0 12px;
    color: var(--color-dark);
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-gallery-section .section-subtitle {
    text-align: center;
    max-width: 640px;
    margin: 0 auto 40px;
    font-size: 16px;
    line-height: 1.7;
    color: var(--color-dark);
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    max-width: 1100px;
    margin: 0 auto;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .gallery-item {
    position: relative;
    display: block;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(0,0,0,.06);
    background: var(--color-bg);
    cursor: zoom-in;
    transition: transform .25s ease, box-shadow .25s ease;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .gallery-item img {
    width: 100%;
    height: 240px;
    display: block;
    object-fit: cover;
    transition: transform .35s ease;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .gallery-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 36px rgba(0,0,0,.25);
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .gallery-item:hover img {
    transform: scale(1.10);
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .gallery-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    padding: 18px;
    background: linear-gradient(
      to top,
      color-mix(in srgb, var(--color-dark) 85%, transparent) 0%,
      color-mix(in srgb, var(--color-dark) 35%, transparent) 45%,
      transparent 80%
    );
    opacity: 0;
    transition: opacity .30s ease;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .gallery-overlay p {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: var(--color-white);
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .gallery-item:hover .gallery-overlay {
    opacity: 1;
  }

  @media (max-width: 900px) {
    :where(body.page-template-page-communaute,
           body.page-template-page-communaute-php,
           body.page-communaute) .gallery-grid { grid-template-columns: 1fr; }
    :where(body.page-template-page-communaute,
           body.page-template-page-communaute-php,
           body.page-communaute) .gallery-item img { height: 220px; }
  }


  /* ======================================================
     7) LIGHTBOX (unchanged)
  ====================================================== */
  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .gc-lightbox {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.85);
    display: flex;
    justify-content: center;
    align-items: center;
    visibility: hidden;
    opacity: 0;
    transition: opacity .25s ease;
    z-index: 9999;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .gc-lightbox.show {
    visibility: visible;
    opacity: 1;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .gc-lightbox img {
    max-width: 90%;
    max-height: 90%;
    border-radius: 12px;
    box-shadow: 0 20px 40px rgba(0,0,0,.6);
    animation: zoomIn .25s ease;
  }

  @keyframes zoomIn {
    from { transform: scale(.85); opacity: 0; }
    to   { transform: scale(1); opacity: 1; }
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .gc-lightbox-close {
    position: absolute;
    top: 40px;
    right: 60px;
    font-size: 48px;
    font-weight: bold;
    color: var(--color-white);
    cursor: pointer;
    user-select: none;
  }


  /* ======================================================
     9) FINAL CTA (unchanged)
  ====================================================== */
  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-final-cta {
    position: relative;
    text-align: center;
    padding: 140px 0;
    color: var(--color-dark);
    overflow: hidden;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-final-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--color-cream, var(--color-bg));
    z-index: 1;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .cta-container {
    position: relative;
    z-index: 2;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .cta-content h2 {
    font-family: var(--font-title);
    font-size: 64px;
    font-weight: 700;
    line-height: 1.15;
    margin-bottom: 24px;
    color: var(--color-dark);
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .cta-content p {
    max-width: 800px;
    margin: 0 auto 40px;
    font-size: 18px;
    line-height: 1.65;
    color: var(--color-dark);
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .cta-actions {
    display: flex;
    justify-content: center;
    gap: 22px;
  }

  @media (max-width: 900px) {
    :where(body.page-template-page-communaute,
           body.page-template-page-communaute-php,
           body.page-communaute) .cta-actions { flex-direction: column; }
    :where(body.page-template-page-communaute,
           body.page-template-page-communaute-php,
           body.page-communaute) .cta-content h2 { font-size: 36px; }
  }

/* ======================================================
   HERO STANDARD — match HOME hero (size/position/spacing)
   Page: Communauté
   Safe override only (no deletions)
====================================================== */

:where(body.page-template-page-communaute,
       body.page-template-page-communaute-php,
       body.page-communaute) .community-hero{
  padding:0;
}

:where(body.page-template-page-communaute,
       body.page-template-page-communaute-php,
       body.page-communaute) .community-hero-wrapper{
  width:calc(100% - 80px);
  max-width:1400px;
  margin:80px auto 120px;
  border-radius:24px;
}

:where(body.page-template-page-communaute,
       body.page-template-page-communaute-php,
       body.page-communaute) .community-hero-frame{
  min-height:580px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
}

:where(body.page-template-page-communaute,
       body.page-template-page-communaute-php,
       body.page-communaute) .community-hero-overlay{
  background:rgba(0,0,0,0.10);
}

:where(body.page-template-page-communaute,
       body.page-template-page-communaute-php,
       body.page-communaute) .community-hero-content{
  max-width:900px;
  margin:0 16px;
  padding:0 20px;
  text-align:center;
}

/* Match HOME typography */
:where(body.page-template-page-communaute,
       body.page-template-page-communaute-php,
       body.page-communaute) .community-hero-panel h1{
  font-size:56px;
  line-height:1.10;
  margin:0 0 18px;
  background:rgba(0,0,0,0.62);
  padding:.14em .36em;
  border-radius:12px;
}

:where(body.page-template-page-communaute,
       body.page-template-page-communaute-php,
       body.page-communaute) .community-hero-panel p{
  font-size:18px;
  line-height:1.65;
  max-width:760px;
  margin:0 auto 28px;
  background:rgba(0,0,0,0.55);
  padding:.22em .50em;
  border-radius:10px;
}

/* Responsive = HOME behavior */
@media (max-width:900px){
  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-hero-wrapper{
    width:calc(100% - 32px);
    margin:60px auto 90px;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-hero-frame{
    min-height:480px;
    padding:40px 16px;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-hero-panel h1{font-size:40px;}

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-hero-panel p{font-size:16px;}
}

@media (max-width:600px){
  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-hero-wrapper{
    width:calc(100% - 28px);
    margin:40px auto 70px;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-hero-frame{
    min-height:520px;
    padding:24px 14px;
  }

  /* One clean dark card */
  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-hero-content{
    width:min(92vw,560px);
    margin:0 auto;
    padding:18px 16px;
    border-radius:18px;
    background:rgba(0,0,0,0.56);
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
  }

  /* Remove pills on mobile */
  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-hero-panel h1{
    font-size:clamp(30px,8.2vw,40px);
    line-height:1.12;
    margin:0 0 12px;
    background:transparent;
    padding:0;
    border-radius:0;
    -webkit-box-decoration-break:initial;
    box-decoration-break:initial;
  }

  :where(body.page-template-page-communaute,
         body.page-template-page-communaute-php,
         body.page-communaute) .community-hero-panel p{
    font-size:14px;
    line-height:1.55;
    margin:0 auto 18px;
    background:transparent;
    padding:0;
    border-radius:0;
    -webkit-box-decoration-break:initial;
    box-decoration-break:initial;
  }
}


