/* ===========================================================
   I-Perform — Programme : accordéon (desktop) / onglets (mobile)
   Thème clair, appliqué uniquement aux .ruban enrichis par JS
   (classe .prog-enhanced ajoutée par ip-programme.js).
   =========================================================== */

/* --- Thème clair de la section --- */
.ruban.prog-enhanced { background: var(--cream-warm); color: var(--ink); }
.ruban.prog-enhanced .section-meta { color: var(--terracotta); }
.ruban.prog-enhanced .section-meta::before { background: var(--terracotta); }
.ruban.prog-enhanced .section-title { color: var(--indigo-deep); }
.ruban.prog-enhanced .section-title em { color: var(--terracotta); }
.ruban.prog-enhanced .section-intro { color: var(--ink-soft); }

/* --- Bandeau d'onglets (mobile uniquement) --- */
.prog-tabs { display: none; }

/* --- Accordéon (desktop) --- */
.prog-acc { border-top: 1px solid rgba(74,95,135,0.16); }
.prog-item { border-bottom: 1px solid rgba(74,95,135,0.16); }
.prog-head { width: 100%; background: none; border: none; cursor: pointer; text-align: left;
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.4rem;
  padding: 1.5rem 0.5rem; font-family: var(--sans); transition: background .2s; }
.prog-head:hover { background: var(--cream); }
.prog-day { font-family: var(--serif); font-style: italic; font-size: 0.92rem; color: var(--terracotta); white-space: nowrap; }
.prog-ttl { font-family: var(--serif); font-weight: 500; font-size: 1.35rem; color: var(--indigo-deep); letter-spacing: -0.01em; line-height: 1.2; }
.prog-ttl small { display: block; font-family: var(--sans); font-style: italic; font-size: 0.82rem; color: var(--ink-soft); font-weight: 400; margin-top: 0.2rem; }
.prog-chev { width: 34px; height: 34px; border-radius: 50%; border: 1px solid rgba(74,95,135,0.2);
  display: flex; align-items: center; justify-content: center; color: var(--indigo); transition: all .3s; flex: 0 0 auto; font-size: 1rem; }
.prog-item.open .prog-chev { background: var(--indigo-deep); color: var(--cream); border-color: var(--indigo-deep); transform: rotate(180deg); }
.prog-body { max-height: 0; overflow: hidden; transition: max-height .45s cubic-bezier(.4,0,.2,1); }
.prog-body-inner { padding: 0.3rem 0.5rem 2rem; }

/* --- Créneaux en clair (override du thème sombre d'origine) --- */
.ruban.prog-enhanced .creneau { background: var(--cream); border-left: 3px solid var(--gold); }
.ruban.prog-enhanced .creneau-time { color: var(--gold-deep); }
.ruban.prog-enhanced .creneau-title { color: var(--indigo-deep); }
.ruban.prog-enhanced .creneau-desc { color: var(--ink-soft); }
.ruban.prog-enhanced .creneau-by { color: var(--gold-deep); }
.ruban.prog-enhanced .creneau strong { color: var(--indigo-deep); }
.ruban.prog-enhanced .creneau.apa,
.ruban.prog-enhanced .creneau.gyneco { background: rgba(201,123,92,0.08); border-left-color: var(--terracotta); }
.ruban.prog-enhanced .creneau.apa .creneau-time,
.ruban.prog-enhanced .creneau.apa .creneau-by,
.ruban.prog-enhanced .creneau.gyneco .creneau-time,
.ruban.prog-enhanced .creneau.gyneco .creneau-by { color: var(--terracotta); }
.ruban.prog-enhanced .creneau.signature,
.ruban.prog-enhanced .creneau.crossfit { background: rgba(164,184,155,0.16); border-left-color: var(--sage-dark); }
.ruban.prog-enhanced .creneau.signature .creneau-time,
.ruban.prog-enhanced .creneau.signature .creneau-by,
.ruban.prog-enhanced .creneau.crossfit .creneau-time,
.ruban.prog-enhanced .creneau.crossfit .creneau-by { color: var(--sage-dark); }
.ruban.prog-enhanced .creneau.commun { background: rgba(201,169,97,0.12); border-left-color: var(--gold); }
.ruban.prog-enhanced .creneau.libre { background: transparent; border-left: 1px dashed rgba(74,95,135,0.25); }
.ruban.prog-enhanced .creneau.libre .creneau-time { color: var(--ink-soft); }
.ruban.prog-enhanced .creneau.libre .creneau-title { color: var(--ink-soft); }
.ruban.prog-enhanced .creneau.libre .creneau-desc { color: var(--ink-soft); }

/* Réveil musculaire (pages I-Lead) en clair */
.ruban.prog-enhanced .matin-rituel { background: rgba(164,184,155,0.16); border-left-color: var(--sage-dark); }
.ruban.prog-enhanced .matin-rituel-label { color: var(--sage-dark); }
.ruban.prog-enhanced .matin-rituel-content { color: var(--ink-soft); }
.ruban.prog-enhanced .matin-rituel-content strong { color: var(--indigo-deep); }
.ruban.prog-enhanced .matin-rituel-content em { color: var(--sage-dark); }

/* Légende & blocs communs en clair */
.ruban.prog-enhanced .legende-creneaux { border-color: rgba(74,95,135,0.2); color: var(--ink-soft); }
.ruban.prog-enhanced .communs-block { background: rgba(201,169,97,0.1); }
.ruban.prog-enhanced .communs-title { color: var(--gold-deep); }
.ruban.prog-enhanced .communs-block p { color: var(--ink-soft); }

/* ===== MOBILE : onglets ===== */
@media (max-width: 760px) {
  .prog-tabs { display: flex; gap: 0.4rem; overflow-x: auto; border-bottom: 1px solid rgba(74,95,135,0.16); margin-bottom: 1.5rem; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .prog-tabs::-webkit-scrollbar { display: none; }
  .prog-tab { flex: 0 0 auto; background: none; border: none; cursor: pointer; font-family: var(--sans); font-size: 0.9rem; font-weight: 500; color: var(--ink-soft); padding: 0.7rem 0.9rem; position: relative; white-space: nowrap; }
  .prog-tab span { display: block; font-family: var(--serif); font-style: italic; font-size: 0.72rem; color: var(--terracotta); margin-bottom: 0.1rem; }
  .prog-tab.active { color: var(--indigo-deep); }
  .prog-tab.active::after { content: ""; position: absolute; left: 0.5rem; right: 0.5rem; bottom: -1px; height: 3px; background: var(--terracotta); border-radius: 3px; }
  .prog-acc { border-top: none; }
  .prog-item { border-bottom: none; }
  .prog-head { display: none; }
  .prog-body { max-height: none !important; overflow: visible; display: none; }
  .prog-item.tab-active .prog-body { display: block; }
  .prog-body-inner { padding: 0 0 1rem; }
}
