/* ifsi-home.css : styles propres à l'accueil concours-ifsi (DA « rose santé »).
   Chargé après ifsi-theme.css sur l'accueil uniquement. */

@keyframes ci-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
@media (prefers-reduced-motion: reduce) { #ifsiHome [style*="ci-float"] { animation: none !important; } }

/* Point « live » rouge qui rayonne (avant « 1 heure d'accès gratuit ») */
.ci-live-dot { display: inline-block; flex: none; width: 9px; height: 9px; border-radius: 50%; background: #E5352B; box-shadow: 0 0 0 0 rgba(229, 53, 43, .55); animation: ci-pulse 1.8s ease-out infinite; }
@keyframes ci-pulse { 0% { box-shadow: 0 0 0 0 rgba(229, 53, 43, .5); } 70% { box-shadow: 0 0 0 9px rgba(229, 53, 43, 0); } 100% { box-shadow: 0 0 0 0 rgba(229, 53, 43, 0); } }
@media (prefers-reduced-motion: reduce) { .ci-live-dot { animation: none; } }

/* Épreuves : dossier à onglets débordants (écrit / oral) */
.ci-dossier { position: relative; margin-top: 30px; }
.ci-eptabs { display: flex; gap: 5px; padding-left: 16px; position: relative; z-index: 2; margin-bottom: -1px; }
.ci-eptab { border: 1px solid #F0DEE2; border-bottom: none; background: var(--tint); color: #8A6A72; font-weight: 700; font-size: 14.5px; padding: 12px 22px; border-radius: 14px 14px 0 0; cursor: pointer; font-family: inherit; transition: background .16s, color .16s; display: inline-flex; align-items: center; gap: 8px; }
.ci-eptab:hover { background: var(--tint-2); color: var(--ink); }
.ci-eptab[aria-selected="true"] { background: #fff; color: var(--ink); box-shadow: 0 -8px 20px -12px rgba(76, 42, 52, .3); }
.ci-eptab-body { background: #fff; border: 1px solid #F0DEE2; border-radius: 0 20px 20px 20px; padding: clamp(22px, 3vw, 32px); box-shadow: 0 26px 60px -34px rgba(76, 42, 52, .45); position: relative; z-index: 1; }

/* Bascule tarifaire (mensuel / annuel) */
.ci-billtoggle { border: 0; background: transparent; color: #7A6E73; font-weight: 600; font-size: 14px; padding: 9px 18px; border-radius: 999px; cursor: pointer; font-family: inherit; transition: .18s; }
.ci-billtoggle[aria-selected="true"] { background: #fff; color: var(--ink); box-shadow: 0 2px 8px rgba(44, 38, 48, .14); }

/* Cartes fonctionnalités + aperçu */
.ci-featcard { background: #fff; border: 1px solid var(--border); border-radius: 18px; padding: 24px; cursor: pointer; text-align: left; font: inherit; color: inherit; width: 100%; display: block; transition: border-color .18s, box-shadow .18s; }
.ci-featcard.is-active { border: 1.5px solid var(--accent); box-shadow: 0 14px 30px -16px rgba(var(--accent-rgb), .5); }
.ci-featpane[hidden], .ci-faq-a[hidden], [data-eppane][hidden] { display: none; }

/* Responsive : effondrement en 1 colonne + masquage du visuel de fond du hero sur mobile */
@media (max-width: 960px) {
  #ifsiHome .ci-hero-grid { grid-template-columns: 1fr; gap: 34px; }
  #ifsiHome .ci-feat-wrap { grid-template-columns: 1fr; }
  #ifsiHome .ci-feat-preview { position: static; }
  #ifsiHome .ci-ifsi-grid { grid-template-columns: 1fr; }
  #ifsiHome .ci-cal { grid-template-columns: repeat(2, 1fr); gap: 26px 0; }
  #ifsiHome .ci-cal-line { display: none; }
}
@media (max-width: 760px) {
  #ifsiHome .ci-hero-card { display: none; }
  #ifsiHome section > div > .ci-hero-grid { padding-top: 40px; }
}
@media (max-width: 640px) {
  #ifsiHome .ci-grid-2 { grid-template-columns: 1fr; }
  #ifsiHome .ci-plans { grid-template-columns: 1fr; }
  #ifsiHome .ci-cal { grid-template-columns: 1fr; }
  #ifsiHome .ci-eptabs { padding-left: 6px; }
  #ifsiHome .ci-eptab { flex: 1; justify-content: center; padding: 10px 8px; font-size: 12.5px; gap: 5px; }
}
