/* Aqua Sport — direction adulte, sportive et féminine.
   Pas de logos décoratifs, pas d'illustrations IA. Les photos déjà présentes restent gérées par la page. */

.aquasport-page {
  --as-ink: #0b2f3a;
  --as-navy: #103f4d;
  --as-blue: #1c8fa2;
  --as-aqua: #dff2f2;
  --as-coral: #ef765d;
  --as-sand: #f4ede2;
  --as-ivory: #fbf8f2;
  --as-white: #ffffff;
}

.aquasport-formulas {
  position: relative;
  margin: 42px 0 54px !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.aquasport-formulas::before,
.aquasport-formulas::after { display: none !important; }

.aquasport-formulas .aquasport-section-title {
  align-items: flex-end !important;
  margin-bottom: 26px !important;
  padding: 0 0 22px !important;
  border-bottom: 1px solid rgba(11,47,58,.18);
}

.aquasport-formulas .aquasport-section-title h2 {
  max-width: 760px;
  color: var(--as-ink) !important;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.5rem, 5vw, 5.4rem) !important;
  line-height: .95 !important;
  letter-spacing: -.055em !important;
}

.aquasport-formulas .aquasport-section-title > p {
  max-width: 360px;
  color: #5f777c !important;
  font-size: .98rem;
  line-height: 1.65;
}

.aquasport-parent-unlocked {
  position: relative;
  display: grid !important;
  grid-template-columns: auto 1fr;
  gap: 8px 18px !important;
  align-items: center;
  margin: 0 0 22px !important;
  padding: 20px 24px !important;
  overflow: hidden;
  border: 0 !important;
  border-left: 5px solid var(--as-coral) !important;
  border-radius: 0 !important;
  background: var(--as-white) !important;
  box-shadow: 0 10px 28px rgba(11,47,58,.07);
}

.aquasport-parent-unlocked::before {
  content: 'PARENT';
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  min-width: 108px;
  min-height: 52px;
  padding: 0 16px;
  border-radius: 999px;
  color: var(--as-navy);
  background: #dceff0;
  font-size: .69rem;
  font-weight: 900;
  letter-spacing: .16em;
}

.aquasport-parent-unlocked strong { color: var(--as-ink) !important; font-size: .96rem !important; }
.aquasport-parent-unlocked span { color: #739096 !important; font-size: .8rem !important; }

.aquasport-formulas-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  border: 0 !important;
}

.aquasport-formula-card {
  position: relative;
  min-height: 300px !important;
  padding: 28px 25px 24px !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 18px !important;
  color: var(--as-ink) !important;
  background: var(--as-white) !important;
  box-shadow: 0 16px 36px rgba(11,47,58,.08) !important;
  transition: transform .2s ease, box-shadow .2s ease;
}

.aquasport-formula-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 46px rgba(11,47,58,.14) !important;
}

.aquasport-formula-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 7px;
  background: var(--as-blue);
}
.aquasport-formula-card:nth-child(2)::before { background: var(--as-coral); }
.aquasport-formula-card:nth-child(3)::before { background: #4f7b85; }
.aquasport-formula-card:nth-child(4)::before { background: #102f3b; }

.aquasport-formula-card > span {
  margin-top: 8px;
  color: #769096 !important;
  opacity: 1 !important;
  font-size: .67rem !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
}

.aquasport-formula-card h3 {
  margin: 18px 0 8px !important;
  color: var(--as-ink) !important;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.7rem !important;
  line-height: 1.05;
  font-weight: 500 !important;
}

.aquasport-formula-card > strong {
  margin-top: 20px !important;
  color: var(--as-ink) !important;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.7rem, 4vw, 4.3rem) !important;
  line-height: .9;
  font-weight: 500 !important;
  letter-spacing: -.06em !important;
}

.aquasport-formula-card > strong small {
  font-family: inherit;
  font-size: .88rem !important;
  letter-spacing: 0 !important;
}

.aquasport-online-price {
  margin-top: 10px !important;
  color: var(--as-coral) !important;
  font-size: .72rem !important;
  font-weight: 850 !important;
}

.aquasport-formula-card p {
  margin-top: auto !important;
  padding-top: 26px !important;
  border-top: 1px solid rgba(11,47,58,.1);
  color: #6f888e !important;
  opacity: 1 !important;
  font-size: .88rem !important;
}

.aquasport-formula-featured {
  color: #fff !important;
  background: var(--as-navy) !important;
  box-shadow: 0 18px 44px rgba(16,63,77,.2) !important;
}
.aquasport-formula-featured::before { background: var(--as-coral) !important; }
.aquasport-formula-featured > span,
.aquasport-formula-featured h3,
.aquasport-formula-featured > strong,
.aquasport-formula-featured p { color: #fff !important; }
.aquasport-formula-featured > span { color: #b9dfe4 !important; }
.aquasport-formula-featured p { border-top-color: rgba(255,255,255,.18); opacity: .78 !important; }
.aquasport-formula-featured .aquasport-online-price { color: #ffb19e !important; }

.aquasport-formula-parent {
  background: var(--as-sand) !important;
  border: 0 !important;
}
.aquasport-formula-parent::before { background: #657f88 !important; }

.aquasport-schedule {
  margin-top: 54px !important;
  padding: 34px !important;
  border: 0 !important;
  border-radius: 24px !important;
  background: #e8f2f1 !important;
  box-shadow: 0 18px 46px rgba(11,47,58,.07) !important;
}

.aquasport-schedule .aquasport-section-title { margin-bottom: 26px !important; }
.aquasport-schedule .aquasport-section-title h2 {
  color: var(--as-ink) !important;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.4rem, 4vw, 4.6rem) !important;
  letter-spacing: -.05em !important;
}

.aquasport-month-booking {
  border: 0 !important;
  border-radius: 18px !important;
  background: var(--as-white) !important;
  box-shadow: 0 10px 24px rgba(11,47,58,.06);
}
.aquasport-month-booking button {
  border-radius: 999px !important;
  background: var(--as-navy) !important;
  color: #fff !important;
}
.aquasport-month-booking button.secondary {
  border: 1px solid var(--as-navy) !important;
  background: transparent !important;
  color: var(--as-navy) !important;
}

.aquasport-month-navigation { margin: 22px 0 !important; border-color: rgba(11,47,58,.14) !important; }
.aquasport-month-navigation strong { color: var(--as-ink) !important; }
.aquasport-month-navigation button {
  border-color: rgba(11,47,58,.18) !important;
  color: var(--as-navy) !important;
  background: rgba(255,255,255,.7) !important;
}

.aquasport-session,
.aquasport-session-aqua-jogging,
.aquasport-session-aqua-sculpt {
  border: 0 !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 12px 30px rgba(11,47,58,.07) !important;
}

.aquasport-session-date strong,
.aquasport-session-aqua-jogging .aquasport-session-date strong,
.aquasport-session-aqua-sculpt .aquasport-session-date strong { color: var(--as-coral) !important; }

.aquasport-session > button {
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--as-navy) !important;
  color: #fff !important;
}

.aquasport-bookings {
  padding: 34px !important;
  border: 0 !important;
  border-radius: 24px !important;
  background: var(--as-ivory) !important;
  box-shadow: 0 18px 46px rgba(11,47,58,.06) !important;
}

@media (max-width: 1050px) {
  .aquasport-formulas-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}

@media (max-width: 700px) {
  .aquasport-formulas .aquasport-section-title { align-items: flex-start !important; }
  .aquasport-parent-unlocked { grid-template-columns: 1fr !important; }
  .aquasport-parent-unlocked::before { grid-row: auto; width: max-content; min-width: 0; }
  .aquasport-formulas-grid { grid-template-columns: 1fr !important; }
  .aquasport-formula-card { min-height: 250px !important; }
  .aquasport-schedule,
  .aquasport-bookings { padding: 20px !important; border-radius: 18px !important; }
}

/* Correctif de priorité CSS : Aquasport.css est chargé après cette feuille. */
.aquasport-page .aquasport-formulas .aquasport-formulas-grid .aquasport-formula-card.aquasport-formula-featured {
  background: #103f4d !important;
  color: #ffffff !important;
}
.aquasport-page .aquasport-formulas .aquasport-formulas-grid .aquasport-formula-card.aquasport-formula-featured > span,
.aquasport-page .aquasport-formulas .aquasport-formulas-grid .aquasport-formula-card.aquasport-formula-featured h3,
.aquasport-page .aquasport-formulas .aquasport-formulas-grid .aquasport-formula-card.aquasport-formula-featured > strong,
.aquasport-page .aquasport-formulas .aquasport-formulas-grid .aquasport-formula-card.aquasport-formula-featured p {
  color: #ffffff !important;
}
.aquasport-page .aquasport-formulas .aquasport-formulas-grid .aquasport-formula-card.aquasport-formula-featured .aquasport-online-price {
  color: #ffb19e !important;
}
