/* =====================================================
   SINGLE & ARCHIVE — FC Luy de Béarn
   ===================================================== */

/* ── SINGLE — Hero ── */
.page-single .single-hero {
  background: #2A5C1E !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.page-single .single-hero__inner {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  align-items: stretch !important;
  min-height: clamp(280px, 35vw, 480px) !important;
}
.page-single .single-hero__left {
  padding: clamp(36px, 5vw, 64px) var(--fclb-gutter, clamp(20px, 5vw, 80px)) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
.page-single .single-cat {
  display: inline-block !important;
  font-size: clamp(17px, 0.8vw + 14px, 18px) !important;
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: #2A5C1E !important;
  background: #9FDF6A !important;
  padding: 4px 12px !important;
  border-radius: 20px !important;
  text-decoration: none !important;
  margin-bottom: 16px !important;
  width: fit-content !important;
}
.page-single .single-title {
  font-size: clamp(22px, 2.5vw + 14px, 40px) !important;
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
  margin: 14px 0 18px !important;
}
.page-single .single-meta {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
}
.page-single .single-meta__date,
.page-single .single-meta__author {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: clamp(17px, 0.9vw + 14px, 18px) !important;
  color: rgba(255,255,255,0.75) !important;
  font-family: var(--font-body) !important;
}
.page-single .single-hero__right {
  position: relative !important;
  overflow: hidden !important;
}
.page-single .single-hero__img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
  display: block !important;
}
.page-single .single-featured { display: none !important; }

/* ── SINGLE — Contenu ── */
.page-single .single-content {
  padding: clamp(48px, 6vw, 80px) var(--fclb-gutter, clamp(20px, 5vw, 80px)) !important;
  background: #ffffff !important;
}
.page-single .single-content__inner {
  max-width: 720px !important;
  margin: 0 auto !important;
}
.page-single .single-content__inner > p:first-child {
  font-size: clamp(18px, 1.2vw + 14px, 21px) !important;
  color: #333 !important;
  line-height: 1.75 !important;
  margin-bottom: 28px !important;
  padding-bottom: 28px !important;
  border-bottom: 2px solid #EAF3DE !important;
}
.page-single .single-content__inner p {
  font-size: clamp(17px, 1vw + 14px, 19px) !important;
  line-height: 1.8 !important;
  color: #333333 !important;
  margin-bottom: 20px !important;
}
.page-single .single-content__inner h2 {
  font-size: clamp(20px, 2vw + 14px, 28px) !important;
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  color: #111111 !important;
  margin: 40px 0 16px !important;
  padding-top: 12px !important;
  border-top: 1px solid #EAF3DE !important;
}
.page-single .single-content__inner h3 {
  font-size: clamp(18px, 1.5vw + 14px, 22px) !important;
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  color: #2A5C1E !important;
  margin: 28px 0 12px !important;
}
.page-single .single-content__inner ul,
.page-single .single-content__inner ol {
  font-size: clamp(17px, 1vw + 14px, 19px) !important;
  line-height: 1.75 !important;
  color: #333333 !important;
  padding-left: 0 !important;
  margin-bottom: 24px !important;
  list-style: none !important;
}
.page-single .single-content__inner ul li,
.page-single .single-content__inner ol li {
  margin-bottom: 10px !important;
  padding-left: 24px !important;
  position: relative !important;
}
.page-single .single-content__inner ul li::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 10px !important;
  width: 7px !important;
  height: 7px !important;
  background: #2A5C1E !important;
  border-radius: 50% !important;
}
.page-single .single-content__inner ol { counter-reset: item !important; }
.page-single .single-content__inner ol li::before {
  content: counter(item) !important;
  counter-increment: item !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  font-weight: 700 !important;
  color: #2A5C1E !important;
  font-size: 15px !important;
}
.page-single .single-content__inner strong { font-weight: 700 !important; color: #111 !important; }
.page-single .single-content__inner a {
  color: #2A5C1E !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
.page-single .single-content__inner img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 8px !important;
  margin: 24px 0 !important;
  display: block !important;
}
.page-single .single-content__inner blockquote {
  border-left: 3px solid #2A5C1E !important;
  padding: 16px 20px !important;
  background: #EAF3DE !important;
  border-radius: 0 8px 8px 0 !important;
  margin: 28px 0 !important;
  font-style: italic !important;
  color: #2A5C1E !important;
  font-size: clamp(17px, 1vw + 14px, 19px) !important;
}
.page-single .single-tags {
  max-width: 760px !important;
  margin: 32px auto 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  padding-top: 24px !important;
  border-top: 1px solid #E8EDE3 !important;
}
.page-single .single-tag {
  font-size: clamp(17px, 0.8vw + 14px, 18px) !important;
  color: #2A5C1E !important;
  background: #EAF3DE !important;
  padding: 4px 12px !important;
  border-radius: 20px !important;
  text-decoration: none !important;
  border: 0.5px solid #C0DD97 !important;
}
.page-single .single-nav {
  max-width: 760px !important;
  margin: 40px auto 0 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
  padding-top: 28px !important;
  border-top: 1px solid #E8EDE3 !important;
}
.page-single .single-nav__prev { text-align: left; }
.page-single .single-nav__next { text-align: right; }
.page-single .single-nav__label {
  display: block !important;
  font-size: clamp(17px, 0.8vw + 14px, 18px) !important;
  color: #999 !important;
  margin-bottom: 5px !important;
}
.page-single .single-nav__link {
  font-size: clamp(17px, 0.9vw + 14px, 18px) !important;
  font-weight: 600 !important;
  color: #2A5C1E !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
}
.page-single .single-nav__link:hover { text-decoration: underline !important; }
.page-single .single-related {
  background: #F5F8F2 !important;
  padding: clamp(40px, 5vw, 64px) var(--fclb-gutter, clamp(20px, 5vw, 80px)) !important;
}
.page-single .single-related__inner { max-width: 1200px; margin: 0 auto; }
.page-single .single-related__eyebrow {
  font-size: clamp(17px, 0.8vw + 14px, 18px) !important;
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #2A5C1E !important;
  margin-bottom: 6px !important;
}
.page-single .single-related h2 {
  font-size: clamp(22px, 2vw + 14px, 30px) !important;
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  color: #111 !important;
  margin-bottom: 28px !important;
}
.page-single .single-related__grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
}
.page-single .single-related__card {
  background: #fff !important;
  border: 0.5px solid #DDE8D5 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}
.page-single .single-related__img {
  width: 100% !important;
  height: 160px !important;
  object-fit: cover !important;
  display: block !important;
}
.page-single .single-related__body { padding: 16px; }
.page-single .single-related__date {
  font-size: clamp(17px, 0.8vw + 14px, 18px) !important;
  color: #999 !important;
  display: block !important;
  margin-bottom: 6px !important;
}
.page-single .single-related__body h3 {
  font-size: clamp(17px, 1vw + 14px, 19px) !important;
  font-weight: 600 !important;
  color: #111 !important;
  line-height: 1.4 !important;
  margin-bottom: 10px !important;
}
.page-single .single-related__body h3 a { color: #111 !important; text-decoration: none !important; }
.page-single .single-related__body h3 a:hover { color: #2A5C1E !important; }
.page-single .single-related__lire {
  font-size: clamp(17px, 0.9vw + 14px, 18px) !important;
  font-weight: 600 !important;
  color: #2A5C1E !important;
  text-decoration: none !important;
}

/* ── ARCHIVE — Hero ── */
.page-archive .archive-hero,
.page-partenaires .archive-hero {
  background: #2A5C1E !important;
  padding: clamp(48px, 6vw, 72px) var(--fclb-gutter, clamp(20px, 5vw, 80px)) !important;
}
.page-archive .archive-eyebrow,
.page-partenaires .archive-eyebrow {
  font-size: clamp(17px, 0.8vw + 14px, 18px) !important;
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.65) !important;
  margin-bottom: 8px !important;
  display: block !important;
}
.page-archive .archive-title,
.page-partenaires .archive-title {
  font-size: clamp(32px, 4vw + 14px, 52px) !important;
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 10px !important;
}
.page-archive .archive-desc,
.page-partenaires .archive-desc {
  font-size: clamp(17px, 1vw + 14px, 19px) !important;
  color: rgba(255,255,255,0.65) !important;
  margin-top: 10px !important;
  margin-bottom: 20px !important;
}

/* ── Hero partenaires ── */
.page-partenaires .part-hero__contacts {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 8px !important;
}
.page-partenaires .part-hero__contact {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  background: rgba(255,255,255,0.1) !important;
  border: 0.5px solid rgba(255,255,255,0.2) !important;
  padding: 8px 14px !important;
  border-radius: 6px !important;
  color: rgba(255,255,255,0.85) !important;
  font-size: clamp(17px, 0.8vw + 14px, 18px) !important;
  text-decoration: none !important;
  transition: background 0.15s !important;
}
.page-partenaires .part-hero__contact:hover { background: rgba(255,255,255,0.2) !important; color: #fff !important; }
.page-partenaires .part-hero__btn {
  display: inline-flex !important;
  align-items: center !important;
  background: #9FDF6A !important;
  color: #1B2618 !important;
  font-size: clamp(17px, 0.9vw + 14px, 18px) !important;
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  padding: 12px 24px !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  margin-top: 8px !important;
  transition: opacity 0.15s !important;
}
.page-partenaires .part-hero__btn:hover { opacity: 0.85 !important; }

/* ── ARCHIVE — Intro + filtres ── */
.page-archive .archive-intro {
  padding: clamp(28px, 3vw, 40px) var(--fclb-gutter, clamp(20px, 5vw, 80px)) 0 !important;
  max-width: 100% !important;
}
.page-archive .archive-intro__text {
  font-size: clamp(17px, 1vw + 14px, 19px) !important;
  color: #555 !important;
  line-height: 1.7 !important;
  max-width: 680px !important;
  margin-bottom: 24px !important;
}
.page-archive .archive-filters {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  padding-bottom: clamp(20px, 2.5vw, 32px) !important;
  border-bottom: 0.5px solid #DDE8D5 !important;
}
.page-archive .archive-filter {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: clamp(17px, 0.8vw + 14px, 18px) !important;
  font-weight: 500 !important;
  color: #555 !important;
  background: #fff !important;
  border: 0.5px solid #DDE8D5 !important;
  padding: 6px 14px !important;
  border-radius: 20px !important;
  text-decoration: none !important;
  transition: all 0.15s !important;
}
.page-archive .archive-filter:hover { border-color: #2A5C1E !important; color: #2A5C1E !important; }
.page-archive .archive-filter--active {
  background: #2A5C1E !important;
  color: #fff !important;
  border-color: #2A5C1E !important;
}
.page-archive .archive-filter__count {
  font-size: 12px !important;
  background: rgba(255,255,255,0.2) !important;
  padding: 1px 6px !important;
  border-radius: 10px !important;
}
.page-archive .archive-filter--active .archive-filter__count {
  background: rgba(255,255,255,0.25) !important;
  color: #fff !important;
}

/* ── ARCHIVE — État vide ── */
.page-archive .archive-vide {
  text-align: center !important;
  padding: clamp(48px, 8vw, 80px) var(--fclb-gutter, clamp(20px, 5vw, 80px)) !important;
}
.page-archive .archive-vide__icon {
  width: 80px !important;
  height: 80px !important;
  background: #EAF3DE !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 20px !important;
}
.page-archive .archive-vide__titre {
  font-size: clamp(20px, 2vw + 14px, 26px) !important;
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  color: #111 !important;
  margin-bottom: 10px !important;
}
.page-archive .archive-vide__texte {
  font-size: clamp(17px, 1vw + 14px, 18px) !important;
  color: #666 !important;
  margin-bottom: 28px !important;
}
.page-archive .archive-vide__actions {
  display: flex !important;
  gap: 12px !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
}
.page-archive .archive-vide__btn {
  display: inline-block !important;
  background: #2A5C1E !important;
  color: #fff !important;
  font-size: clamp(17px, 0.9vw + 14px, 18px) !important;
  font-weight: 600 !important;
  padding: 12px 24px !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  transition: opacity 0.15s !important;
}
.page-archive .archive-vide__btn:hover { opacity: 0.85 !important; }
.page-archive .archive-vide__btn--sec { background: #EAF3DE !important; color: #2A5C1E !important; }

/* ── ARCHIVE — Layout avec sidebar ── */
.archive-layout {
  display: grid !important;
  grid-template-columns: 1fr 300px !important;
  gap: 0 40px !important;
  padding: 0 var(--fclb-gutter, clamp(20px, 5vw, 80px)) !important;
  align-items: start !important;
}
.archive-layout .archive-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ── ARCHIVE — Grille ── */
.page-archive .archive-content {
  padding: clamp(40px, 5vw, 64px) var(--fclb-gutter, clamp(20px, 5vw, 80px)) !important;
}
.page-archive .archive-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  margin-bottom: 48px !important;
}
.page-archive .archive-card {
  background: #fff !important;
  border: 0.5px solid #DDE8D5 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}
.page-archive .archive-card__img-link {
  display: block !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
}
.page-archive .archive-card__img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: opacity 0.15s !important;
}
.page-archive .archive-card__img:hover { opacity: 0.9 !important; }
.page-archive .archive-card__img-ph {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  background: #EAF3DE !important;
}
.page-archive .archive-card__body {
  padding: 20px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}
.page-archive .archive-card__cat {
  display: inline-block !important;
  font-size: clamp(17px, 0.8vw + 14px, 18px) !important;
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #2A5C1E !important;
  text-decoration: none !important;
  margin-bottom: 8px !important;
}
.page-archive .archive-card__title {
  font-size: clamp(17px, 1.1vw + 14px, 20px) !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  margin-bottom: 10px !important;
  flex: 1 !important;
}
.page-archive .archive-card__title a { color: #111 !important; text-decoration: none !important; }
.page-archive .archive-card__title a:hover { color: #2A5C1E !important; }
.page-archive .archive-card__meta {
  font-size: clamp(17px, 0.85vw + 14px, 18px) !important;
  font-weight: 600 !important;
  color: #2A5C1E !important;
  line-height: 1.4 !important;
  margin-bottom: 12px !important;
}
.page-archive .archive-card__excerpt {
  font-size: clamp(17px, 0.9vw + 14px, 18px) !important;
  color: #555 !important;
  line-height: 1.6 !important;
  margin-bottom: 16px !important;
}
.page-archive .archive-card__footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding-top: 12px !important;
  border-top: 0.5px solid #E8EDE3 !important;
}
.page-archive .archive-card__footer--single {
  justify-content: flex-end !important;
}
.page-archive .archive-card__date { font-size: clamp(17px, 0.8vw + 14px, 18px) !important; color: #999 !important; }
.page-archive .archive-card__lire {
  font-size: clamp(17px, 0.9vw + 14px, 18px) !important;
  font-weight: 600 !important;
  color: #2A5C1E !important;
  text-decoration: none !important;
}
.page-archive .archive-card__lire:hover { text-decoration: underline !important; }

/* Grille 2×2 — page Initiatives uniquement (classe ajoutée en plus de
   .archive-grid dans page-initiatives.php, ne touche aucune autre page) */
.page-archive .archive-grid.initiatives-grid {
  grid-template-columns: repeat(2, 1fr) !important;
}
@media (max-width: 560px) {
  .page-archive .archive-grid.initiatives-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Pagination */
.page-archive .archive-pagination {
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
.page-archive .archive-pagination .page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 6px !important;
  font-size: clamp(17px, 0.9vw + 14px, 18px) !important;
  font-weight: 500 !important;
  color: #2A5C1E !important;
  background: #EAF3DE !important;
  text-decoration: none !important;
  border: 0.5px solid #C0DD97 !important;
}
.page-archive .archive-pagination .page-numbers.current {
  background: #2A5C1E !important;
  color: #fff !important;
  border-color: #2A5C1E !important;
}
.page-archive .archive-pagination .page-numbers.prev,
.page-archive .archive-pagination .page-numbers.next {
  width: auto !important;
  padding: 0 16px !important;
}
.page-archive .archive-empty {
  font-size: clamp(17px, 1vw + 14px, 19px) !important;
  color: #666 !important;
  text-align: center !important;
  padding: 40px 0 !important;
}

/* ── ÉVÉNEMENTS MOBILE ── */
.archive-events-mobile {
  display: none !important;
  margin: 0 var(--fclb-gutter, clamp(20px, 5vw, 80px)) !important;
  padding: 20px !important;
  background: #F5F8F2 !important;
  border: 0.5px solid #DDE8D5 !important;
  border-radius: 12px !important;
}
.archive-events-mobile__titre {
  font-size: 15px !important;
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  color: #2A5C1E !important;
  margin: 0 0 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid #EAF3DE !important;
}
.archive-events-mobile__liste {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
.archive-events-mobile__item {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  padding: 12px 0 !important;
  border-bottom: 0.5px solid #DDE8D5 !important;
}
.archive-events-mobile__item:first-child { padding-top: 0 !important; }
.archive-events-mobile__item:last-child { border-bottom: none !important; padding-bottom: 0 !important; }
.archive-events-mobile__date {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #2A5C1E !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}
.archive-events-mobile__nom {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #111 !important;
  line-height: 1.35 !important;
}
.archive-events-mobile__lieu {
  font-size: 13px !important;
  color: #888 !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}
@media (max-width: 900px) {
  .archive-events-mobile { display: block !important; }
}

/* ── SIDEBAR ÉVÉNEMENTS ── */
.archive-sidebar {
  padding-top: clamp(40px, 5vw, 64px) !important;
}
.archive-sidebar__inner {
  background: #F5F8F2 !important;
  border: 0.5px solid #DDE8D5 !important;
  border-radius: 12px !important;
  padding: 24px !important;
  position: sticky !important;
  top: 100px !important;
}
.archive-sidebar__titre {
  font-size: 16px !important;
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  color: #2A5C1E !important;
  margin: 0 0 20px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding-bottom: 14px !important;
  border-bottom: 2px solid #EAF3DE !important;
}
.archive-sidebar__liste {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
.archive-sidebar__item {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  padding: 14px 0 !important;
  border-bottom: 0.5px solid #DDE8D5 !important;
}
.archive-sidebar__item:first-child { padding-top: 0 !important; }
.archive-sidebar__item:last-child { border-bottom: none !important; padding-bottom: 0 !important; }
.archive-sidebar__date {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #2A5C1E !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}
.archive-sidebar__nom {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #111 !important;
  line-height: 1.35 !important;
}
.archive-sidebar__lieu {
  font-size: 13px !important;
  color: #888 !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin-top: 2px !important;
}
.archive-sidebar__desc {
  font-size: 13px !important;
  color: #666 !important;
  line-height: 1.5 !important;
  margin: 4px 0 0 !important;
}
.archive-sidebar__vide {
  font-size: 14px !important;
  color: #888 !important;
  font-style: italic !important;
}

/* Événements passés */
.archive-sidebar__passes {
  margin-top: 20px !important;
  border-top: 0.5px solid #DDE8D5 !important;
  padding-top: 16px !important;
}
.archive-sidebar__passes-titre {
  font-size: 13px !important;
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  color: #888 !important;
  cursor: pointer !important;
  list-style: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  user-select: none !important;
}
.archive-sidebar__passes-titre::-webkit-details-marker { display: none !important; }
.archive-sidebar__passes-titre::after {
  content: '+' !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #aaa !important;
}
.archive-sidebar__passes[open] .archive-sidebar__passes-titre::after { content: '−' !important; }
.archive-sidebar__liste--passes { margin-top: 12px !important; }
.archive-sidebar__item--past { opacity: 0.7 !important; }
.archive-sidebar__date--past { color: #888 !important; }

/* ── Responsive ── */
@media (max-width: 900px) {
  .page-archive .archive-grid         { grid-template-columns: 1fr 1fr !important; }
  .page-single .single-related__grid  { grid-template-columns: 1fr 1fr !important; }
  .page-single .single-nav            { grid-template-columns: 1fr !important; gap: 12px !important; }
  .page-single .single-nav__next      { text-align: left !important; }
  .page-single .single-hero__inner    { grid-template-columns: 1fr !important; min-height: unset !important; }
  .page-single .single-hero__right    { height: clamp(200px, 55vw, 340px) !important; order: -1 !important; }
  .page-single .single-hero__img      { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; }
  .page-single .single-hero__left     { padding: clamp(24px, 4vw, 40px) clamp(20px, 5vw, 40px) clamp(28px, 4vw, 44px) !important; }
  .archive-layout                     { grid-template-columns: 1fr !important; padding: 0 !important; }
  .archive-sidebar                    { display: none !important; }
}
@media (max-width: 560px) {
  .page-archive .archive-grid         { grid-template-columns: 1fr !important; }
  .page-single .single-related__grid  { grid-template-columns: 1fr !important; }
  .page-single .single-hero__right    { height: 52vw !important; }
}

/* ── Badge match extérieur (cartes matchs) ── */
.acc-match__badge--away { background: #F5F8F2 !important; color: #666 !important; }

/* ── Section Newsletters ── */
.archive-newsletters {
  padding: clamp(40px,5vw,56px) var(--fclb-gutter, clamp(20px,5vw,80px));
  background: #fff;
}
.archive-newsletters__inner { max-width: 1100px; }
.archive-newsletters__header { margin-bottom: 24px; }
.archive-newsletters__header h2 {
  font-size: clamp(22px,2vw + 14px,30px);
  font-family: var(--font-heading);
  font-weight: 700;
  color: #111;
  margin: 0;
}
.archive-newsletters__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
}
.archive-newsletter-card {
  display: flex;
  align-items: center;
  gap: 14px;
  background: #F5F8F2;
  border: 0.5px solid #DDE8D5;
  border-radius: 10px;
  padding: 16px;
  text-decoration: none;
  transition: border-color 0.15s, background 0.15s;
}
.archive-newsletter-card:hover { border-color: #2A5C1E; background: #EAF3DE; }
.archive-newsletter-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: #EAF3DE;
  border-radius: 8px;
  color: #2A5C1E;
  flex-shrink: 0;
}
.archive-newsletter-card:hover .archive-newsletter-card__icon { background: #fff; }
.archive-newsletter-card__body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.archive-newsletter-card__titre {
  font-size: clamp(16px,1vw + 12px,18px);
  font-weight: 600;
  color: #111;
  line-height: 1.35;
}
.archive-newsletter-card__periode {
  font-size: 13px;
  color: #888;
  margin-top: 2px;
}
.archive-newsletter-card__dl {
  font-size: 13px;
  font-weight: 600;
  color: #2A5C1E;
  white-space: nowrap;
  flex-shrink: 0;
}
@media (max-width: 480px) {
  .archive-newsletter-card { flex-wrap: wrap; }
  .archive-newsletter-card__dl { width: 100%; padding-top: 8px; border-top: 0.5px solid #DDE8D5; }
}

/* ── Section réseaux sociaux ── */
.archive-social {
  padding: clamp(48px,5vw,64px) var(--fclb-gutter, clamp(20px,5vw,80px));
  background: #F5F8F2;
}
.archive-social__inner { max-width: 1100px; }
.archive-social__header { margin-bottom: 32px; }
.archive-social__header h2 {
  font-size: clamp(22px,2vw + 14px,30px);
  font-family: var(--font-heading);
  font-weight: 700;
  color: #111;
  margin: 0;
}
.archive-social__grid {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 24px;
  align-items: start;
}
.archive-social__label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: clamp(17px,0.9vw + 14px,18px);
  font-family: var(--font-heading);
  font-weight: 700;
  color: #111;
  margin-bottom: 12px;
}
.archive-social__cta {
  display: inline-flex;
  align-items: center;
  background: #2A5C1E;
  color: #fff;
  font-size: clamp(17px,0.9vw + 14px,18px);
  font-family: var(--font-heading);
  font-weight: 600;
  padding: 10px 20px;
  border-radius: 6px;
  text-decoration: none;
  transition: opacity 0.15s;
  margin-bottom: 8px;
}
.archive-social__cta:hover { opacity: 0.85; }
.archive-social__note {
  font-size: clamp(17px,0.9vw + 14px,18px);
  color: #666;
  line-height: 1.65;
  margin-top: 24px;
}
@media (max-width: 768px) {
  .archive-social__grid { grid-template-columns: 1fr; }
}
