/* ============================================================
   STEPHANE-ASTRO · REFRESH v90.19 (10 juin 2026)
   ============================================================
   Modernisation esthetique ciblee, identite navy/or/Fraunces
   conservee. Fichier ADDITIF charge apres style.css et v78.css,
   AVANT sgm-menu.css (le menu reste maitre en dernier).
   Contenu : corrections mobiles, boutons harmonises, hovers de
   cartes, focus visibles, transitions, confort de lecture.
   ============================================================ */

/* ------------------------------------------------------------
   1. FIX FOOTER MOBILE
   La regle .footer-grid:has(...) (specificite 0,3,0) ecrasait
   les overrides responsive. On retablit 2 colonnes a 1024 et
   1 colonne a 720, a specificite egale.
   ------------------------------------------------------------ */
@media (max-width: 1024px) {
  .footer-grid,
  .footer-grid:has(> :nth-child(3):last-child),
  .footer-grid:has(> :nth-child(4):last-child) {
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
  }
}
@media (max-width: 720px) {
  .footer-grid,
  .footer-grid:has(> :nth-child(3):last-child),
  .footer-grid:has(> :nth-child(4):last-child) {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

/* ------------------------------------------------------------
   2. ANTI-ZOOM iOS
   Tout champ sous 16px declenche le zoom automatique iOS.
   ------------------------------------------------------------ */
.syn-field input[type="text"],
.syn-field input[type="date"],
.syn-field input[type="time"],
.syn-field select,
.fam-field input[type="text"],
.fam-field input[type="date"],
.fam-field input[type="time"],
.fam-source-saved select,
.progressions-control input[type="date"],
.chart-select,
.reload-saved-row select,
.newsletter-form input[type="email"],
.sidebar-search input[type="search"],
.tfc-field-saved select {
  font-size: 1rem;
}

/* ------------------------------------------------------------
   3. BOUTONS · un seul langage
   Le .btn historique (angles droits, remplissage blanc) passe
   au radius du design system et a un remplissage or, fidele a
   la charte. Effet conserve, couleur corrigee.
   ------------------------------------------------------------ */
.btn {
  border-radius: 0;
}
.btn::after {
  background: linear-gradient(135deg,
    var(--ds-gold-bright, var(--r-gold)) 0%,
    var(--ds-gold, #D4B87A) 100%);
}
.btn:hover {
  color: var(--ds-night, #0B1020);
  border-color: var(--ds-gold, var(--lx-goldink, #D4B87A));
}
.btn-ghost:hover { color: var(--ds-night, #0B1020); }

/* CTA specifiques des calculateurs : meme rayon, meme reactivite */
.tfc-cta,
.syn-cta,
.home-bf-submit,
.chart-export-btn,
.ia-btn-primary,
.cookie-btn-accept,
.trinite-submit,
.tla-submit,
.fam-submit {
  border-radius: 0;
  transition: transform 0.18s ease, filter 0.18s ease,
              border-color 0.18s ease, background-color 0.18s ease,
              box-shadow 0.18s ease;
}
.tfc-cta:hover,
.syn-cta:hover,
.home-bf-submit:hover,
.chart-export-btn:hover,
.ia-btn-primary:hover,
.trinite-submit:hover,
.tla-submit:hover,
.fam-submit:hover {
  transform: translateY(-1px);
  filter: brightness(1.06);
  box-shadow: 0 6px 18px -8px rgba(212, 184, 122, 0.45);
}
.tfc-cta:active,
.syn-cta:active,
.home-bf-submit:active { transform: translateY(0); filter: brightness(0.98); }

/* ------------------------------------------------------------
   4. FOCUS VISIBLE · onglets, pills et filtres oublies
   ------------------------------------------------------------ */
.syn-tab:focus-visible,
.syn-source-tab:focus-visible,
.auth-tab:focus-visible,
.cat-btn:focus-visible,
.hg-filter:focus-visible,
.home-tab:focus-visible,
.tfc-cta:focus-visible,
.syn-cta:focus-visible,
.home-bf-submit:focus-visible,
.chart-export-btn:focus-visible,
.ia-btn-primary:focus-visible {
  outline: 2px solid var(--ds-gold, var(--lx-goldink, #D4B87A));
  outline-offset: 2px;
}
.tfc-pill:has(input:focus-visible),
.syn-pill:has(input:focus-visible),
.fam-pill:has(input:focus-visible) {
  outline: 2px solid var(--ds-gold, var(--lx-goldink, #D4B87A));
  outline-offset: 2px;
}

/* ------------------------------------------------------------
   5. CARTES · la recette grimoire generalisee
   Elevation douce, bordure or au survol, transition uniforme.
   ------------------------------------------------------------ */
.lineage-card,
.pack-card,
.contact-card,
.methode-pillar,
.faq-item,
.t-card,
.transit-card,
.aff-card,
.article-card,
.ecrits-card {
  transition: transform 0.22s ease, border-color 0.22s ease,
              background-color 0.22s ease, box-shadow 0.22s ease;
}
.lineage-card:hover,
.pack-card:hover,
.contact-card:hover,
.methode-pillar:hover,
.aff-card:hover,
.article-card:hover,
.ecrits-card:hover {
  transform: translateY(-3px);
  border-color: var(--lx-goldink-45, rgba(212, 184, 122, 0.45));
  background-color: var(--lx-veilb-35, rgba(28, 37, 73, 0.35));
  box-shadow: 0 14px 34px -18px rgba(0, 0, 0, 0.55);
}
.faq-item:hover {
  border-color: var(--lx-goldink-35, rgba(212, 184, 122, 0.35));
}

/* Lignes de tableaux : transition au lieu du saut de fond */
.chart-table tbody tr,
.dominantes-table tbody tr {
  transition: background-color 0.18s ease;
}

/* Liens du footer : reaction visible */
.footer-col a {
  transition: color 0.18s ease, padding-left 0.18s ease;
}
.footer-col a:hover {
  color: var(--ds-gold-bright, var(--r-gold));
  padding-left: 3px;
}

/* ------------------------------------------------------------
   6. CONFORT DE LECTURE · espacements et densite
   ------------------------------------------------------------ */
.profile-loader .pl-body { padding: 0.75rem 1rem 1rem; }
.t-card,
.transit-card { padding: 1.1rem 1.2rem; }
.aff-card-body { padding: 0.85rem; }
.pack-features li { font-size: 0.92rem; }

/* Meta-labels : contraste legerement releve (AA sur fonds eleves) */
:root { --ds-text-meta: #9A8F74; }

/* ------------------------------------------------------------
   7. ACCESSIBILITE MOUVEMENT
   ------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
  .btn, .btn::after,
  .tfc-cta, .syn-cta, .home-bf-submit, .chart-export-btn,
  .ia-btn-primary, .lineage-card, .pack-card, .contact-card,
  .methode-pillar, .faq-item, .aff-card, .article-card,
  .ecrits-card, .grimoire-cta-card {
    transition: none !important;
    transform: none !important;
  }
}
