/* ============================================================
 * File        : components.css
 * Scope       : header/footer génériques, boutons, cartes, modales
 * ============================================================ */

/* Header (structure) */
.header-row{
  position:sticky; top:0; z-index:1000;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin:12px auto 0; padding:10px 12px;
  background:#ffffff10; border:1px solid #ffffff22; border-radius:12px;
  backdrop-filter:saturate(120%) blur(8px);
  -webkit-backdrop-filter:saturate(120%) blur(8px);
}

/* Logo borné (landing + audit) */
.logo{
  width:180px;
  height:auto;
  max-height:100px;
  object-fit:contain;
}
@media (max-width: 720px){
  .logo{ width:110px; max-height:50px }
}

/* Dropdown langue (commun, responsive) */
.header-row .lang{
  display:inline-flex; align-items:center; gap:8px; position:relative;
}
.header-row #lbl-lang{
  margin:0; color:#E5E7EB; font-size:13px; line-height:1;
}
.header-row .lang select#lang.field{
  background:#ffffff12; color:#ffffff;
  border:1px solid #FFFFFF33; border-radius:10px;
  height:34px; padding:6px 28px 6px 10px;
  font-size:13px; line-height:1.2; outline:none;
  appearance:none; -webkit-appearance:none; -moz-appearance:none;
}
.header-row .lang select#lang.field:focus{
  border-color:#A5B4FC !important; box-shadow:0 0 0 3px #A5B4FC33 !important;
  background:#292054 !important;
}
.header-row .lang::after{
  content:"▾"; position:absolute; right:10px; top:50%;
  transform:translateY(-50%); pointer-events:none;
  color:#fff; opacity:.9; font-size:12px;
}
html[dir="rtl"] .header-row .lang::after{ left:10px; right:auto }
html[dir="rtl"] .header-row .lang select#lang.field{
  padding-left:28px; padding-right:10px;
}

/* Responsive header wrap */
@media (max-width: 900px){
  .header-row{ flex-wrap:wrap; gap:6px }
}

/* CTA / Buttons */
.cta-row{ display:flex; gap:10px; flex-wrap:wrap }
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:10px 14px; border-radius:12px; border:1px solid #ffffff22;
  font-weight:700; color:#fff; cursor:pointer; transition:.15s; box-shadow: var(--shadow-md);
}
.btn:hover{ transform:translateY(-1px) }
.btn.cta{ background:#7C3AED; border-color:#7C3AED }
.btn.cta-secondary{ background:#ffffff1a }

/* Empêcher tout soulignement sur les CTA */
.btn.cta,
.btn.cta-secondary {
    text-decoration: none !important;
}

/* CTA BUTTONS PREMIUM UPGRADE */

/* Retirer tout soulignement */
.btn.cta,
.btn.cta-secondary,
.btn.cta:hover,
.btn.cta-secondary:hover,
.btn.cta:focus,
.btn.cta-secondary:focus {
    text-decoration: none !important;
}

/* Hover premium CTA principal */
.btn.cta {
    background:#7C3AED;
    border-color:#7C3AED;
    transition: background-color .2s ease, transform .2s ease, opacity .2s ease;
}


/* 🟧 HOVER ORANGE pour les deux CTA */
.btn.cta:hover,
.btn.cta-secondary:hover {
    background: #EA580C !important; /* #F59E0B Orange premium */
    border-color: #EA580C !important;
    transform: translateY(-1px);     /* micro-élévation premium */
}


/* Hover premium CTA secondaire */
.btn.cta-secondary {
    background:#ffffff1a;
    transition: background-color .2s ease, transform .2s ease, opacity .2s ease;
}

/* Animation d’élévation déjà existante */
.btn:hover {
    transform: translateY(-1px);
}

/* Sections génériques (titres, listes) */
.section{ margin:26px 0 }
.section h2{ margin:0 0 8px; font-size:20px; font-weight:600 }
ul{ margin:0; padding-left:20px }
ul li{ margin:4px 0; display:list-item }

/* Icône générique */
.icon{ width:18px; height:18px; margin-right:8px; vertical-align:-3px; fill:currentColor }

/* Cards (use cases) */
.cases-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px }
.case-card{
  background:var(--glass-bg); border:1px solid var(--glass-border); border-radius:14px;
  backdrop-filter: blur(var(--glass-blur)); box-shadow: var(--shadow-lg); padding:14px; color:#fff;
}
.case-card h3{ margin:6px 0 6px; font-size:16px; font-weight:600 }
.case-card p{ margin:0; color:#E5E7EB }

/* Footer */
footer{
  border-top:1px solid #ffffff1b; color:#E5E7EB;
  margin-top:28px; padding:14px 0 28px; font-size:13px;
  display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap;
}

/* Modales (génériques) — cachées par défaut */
.modal-overlay{
  position: fixed;
  inset: 0;
  display: none;            /* <<<< IMPORTANT */
  align-items: center;
  justify-content: center;
  background: #0008;
  z-index: 9998;
  padding: 20px;
}
.modal-overlay.active {      /* visible uniquement quand .active est présent */
  display: flex;
}
