/* ============================================================
   PAGE "ACTIVITÉS GROUPES" — spécifique
   Charge base.css puis activity-page.css puis ce fichier.
============================================================ */

.hero-bg {
  background-image:
    linear-gradient(to bottom, rgba(10,20,15,0.1) 0%, rgba(10,20,15,0.72) 100%),
    url('../images/tir-arc.jpg');
}
.hero h1 em { color: var(--c-seafoam); }
.hero-eyebrow { color: var(--c-seafoam); }
.season-bar { background: var(--c-moss); }

.publics-chip {
  background: rgba(58,92,68,0.08); color: var(--c-moss);
  border: 1px solid rgba(58,92,68,0.18);
}

/* Badge "combo" sur la carte pack sport nature */
.activity-badge-pack {
  position: absolute; top: 1rem; right: 1rem;
  font-size: 0.62rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--c-white); background: rgba(176,125,42,0.85); backdrop-filter: blur(4px);
  padding: 0.3rem 0.65rem; border-radius: 100px;
  display: inline-flex; align-items: center; gap: 0.3rem;
}
.activity-badge-pack .icon { width: 11px; height: 11px; }

/* ===== TARIFS : onglets été / hors-saison ===== */
.tarif-block { margin-top: 1.1rem; }
.tarif-tabs { display: flex; gap: 0; border: 1px solid rgba(0,0,0,0.08); border-radius: var(--radius); overflow: hidden; margin-bottom: 0; }
.tarif-tab-btn {
  flex: 1; padding: 0.55rem 1rem; font-size: 0.72rem; font-weight: 500;
  letter-spacing: 0.06em; text-transform: uppercase; text-align: center;
  cursor: pointer; border: none; background: var(--c-sand); color: var(--c-slate);
  transition: background var(--transition), color var(--transition);
  border-right: 1px solid rgba(0,0,0,0.08);
}
.tarif-tab-btn:last-child { border-right: none; }
.tarif-tab-btn.active { background: var(--c-moss); color: var(--c-white); }

.tarif-panel { display: none; }
.tarif-panel.active { display: block; }

.tarif-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  border: 1px solid rgba(0,0,0,0.07); border-top: none;
  border-radius: 0 0 var(--radius) var(--radius); overflow: hidden;
}
.tarif-section { padding: 1rem 1.25rem; border-right: 1px solid rgba(0,0,0,0.06); }
.tarif-section:last-child { border-right: none; }
.tarif-section-label { font-size: 0.6rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-moss); font-weight: 600; margin-bottom: 0.65rem; display: block; }

.tarif-row { display: flex; justify-content: space-between; align-items: baseline; padding: 0.3rem 0; border-bottom: 1px solid rgba(0,0,0,0.04); font-size: 0.82rem; gap: 0.5rem; }
.tarif-row:last-child { border-bottom: none; }
.tarif-row-label { color: var(--c-slate); font-weight: 300; flex: 1; }
.tarif-row-price { font-family: var(--f-display); font-weight: 900; font-size: 0.95rem; color: var(--c-stone); white-space: nowrap; }

.tarif-grid-hs {
  display: grid; grid-template-columns: repeat(3, 1fr);
  border: 1px solid rgba(0,0,0,0.07); border-top: none;
  border-radius: 0 0 var(--radius) var(--radius); overflow: hidden;
}
.tarif-section-hs { padding: 1rem 1.25rem; border-right: 1px solid rgba(0,0,0,0.06); }
.tarif-section-hs:last-child { border-right: none; }

.tarif-degressif { display: flex; align-items: center; gap: 0.5rem; margin-top: 0.7rem; padding: 0.5rem 0.75rem; background: rgba(58,92,68,0.06); border-radius: var(--radius); font-size: 0.75rem; color: var(--c-moss); font-weight: 500; }
.tarif-degressif .icon { width: 13px; height: 13px; }

/* ===== TABLEAU SYNOPTIQUE ===== */
.synoptic-section { margin-bottom: 4rem; }
.synoptic-wrap { overflow-x: auto; border-radius: var(--radius); border: 1px solid rgba(0,0,0,0.08); }
table.synoptic { width: 100%; border-collapse: collapse; font-size: 0.82rem; background: var(--c-white); }
table.synoptic thead { background: var(--c-stone); color: var(--c-white); }
table.synoptic thead th { padding: 0.85rem 1rem; text-align: left; font-size: 0.65rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }
table.synoptic thead th:first-child { min-width: 180px; }
table.synoptic tbody tr { border-bottom: 1px solid rgba(0,0,0,0.05); }
table.synoptic tbody tr:last-child { border-bottom: none; }
table.synoptic tbody tr:nth-child(even) { background: rgba(0,0,0,0.015); }
table.synoptic td { padding: 0.75rem 1rem; vertical-align: middle; }
table.synoptic td:first-child { font-weight: 500; color: var(--c-stone); }
.synoptic-price { font-family: var(--f-display); font-weight: 900; font-size: 0.95rem; color: var(--c-moss); white-space: nowrap; }
.synoptic-price-lo { font-size: 0.72rem; color: var(--c-slate); display: block; font-weight: 300; font-family: var(--f-body); }
.synoptic-note { margin-top: 0.85rem; font-size: 0.8rem; color: var(--c-slate); }
.th-summer { background: rgba(212,83,28,0.12) !important; }

/* ===== RESPONSIVE ===== */
@media (max-width: 1000px) {
  .tarif-grid-hs { grid-template-columns: 1fr 1fr; }
  .tarif-section-hs:nth-child(2) { border-right: none; }
  .tarif-section-hs:nth-child(3) { border-top: 1px solid rgba(0,0,0,0.06); grid-column: 1 / -1; }
}
@media (max-width: 768px) {
  .tarif-grid { grid-template-columns: 1fr; }
  .tarif-section { border-right: none; border-bottom: 1px solid rgba(0,0,0,0.06); }
  .tarif-section:last-child { border-bottom: none; }
}
@media (max-width: 680px) {
  .tarif-grid-hs { grid-template-columns: 1fr; }
  .tarif-section-hs { border-right: none; border-bottom: 1px solid rgba(0,0,0,0.06); }
  .tarif-section-hs:last-child { border-bottom: none; grid-column: auto; }
}
