/* ============================================================================
   ENO Accounts V2 — DA revamp (CP3, 2026-09-12)
   Écrans : /login/, /inscription/, /mot-de-passe-oublie/,
            /reinitialiser-mot-de-passe/, /my-space/
   Fond sombre #0b0b0b, carte centrée, champs sombres à bordure dorée au focus,
   Playfair Display (titres) + Instrument Sans (corps) — déjà chargées site-wide.

   NOTES DE SPÉCIFICITÉ (pièges connus) :
   - le template elementor_header_footer charge le kit Elementor
     (.elementor-kit-91 button / a / h1…) → les couleurs, tailles et
     text-transform des boutons et titres sont posés en !important ici ;
   - le thème hello-elementor met text-transform:capitalize sur les titres et
     certains labels → text-transform:none !important sur tous les textes ;
   - le bloc « ENO MY-SPACE DASHBOARD UI » du Customizer (fond clair, radius,
     paddings, grid) a été RETIRÉ le 2026-09-12 : sa mise en page utile est
     réimplémentée ici (cf. section DASHBOARD).
   ========================================================================== */

:root{--eno-acc-bg:#F7F4EF;--eno-acc-card:#ffffff;--eno-acc-line:rgba(46,46,48,.14);--eno-acc-line-strong:rgba(46,46,48,.24);--eno-acc-text:#2E2E30;--eno-acc-muted:#5c5c60;--eno-acc-dim:#8a8a8e;--eno-acc-gold:#A8895F;--eno-acc-gold-hi:#96784f;--eno-acc-input:#ffffff}

/* ---------- Reset des styles de l'ancienne feuille ----------
   WP Rocket (Remove Unused CSS) inline une COPIE de l'ancienne feuille dans la
   page tant que son cache used-css n'est pas régénéré. On neutralise donc
   explicitement chaque propriété visuelle que l'ancienne version posait et que
   la nouvelle ne redéfinissait pas (fonds clairs, positions absolues, ombres).
   Ce bloc rend la feuille autoportante — à conserver. */

.eno-acc-guest-note,
.eno-acc-pro-section,
.eno-acc-dashboard,
.eno-acc-msg,
.eno-acc-msg-error,
.eno-acc-msg-success {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.eno-acc-divider { position: static; text-align: left; }
.eno-acc-divider::before,
.eno-acc-divider::after { position: static; width: auto; top: auto; left: auto; right: auto; }

.eno-acc-country-card,
.eno-acc-country-card input[type="radio"] { position: static; }
.eno-acc-country-card.eno-acc-country-selected,
.eno-acc-radio-card.eno-acc-radio-selected,
.eno-acc-card:hover { box-shadow: none; }

.eno-acc-page .eno-acc-card,
.eno-acc-page .eno-acc-radio-card,
.eno-acc-page .eno-acc-pending,
.eno-acc-page .eno-acc-pro-active,
.eno-acc-page .eno-acc-dash-header { text-align: left; }

.eno-acc-dash-footer { border-top: 0; padding-top: 0; }
.eno-acc-pending p,
.eno-acc-pro-active p { color: inherit; font-size: inherit; }

/* ---------- Neutralisation du hack eno-page-fix ----------
   Ce plugin applique `margin-top:60px; padding-top:80px !important` à
   .eno-acc-page (40/60 sous 768 px). Ces pages ont désormais un vrai header
   Elementor (template elementor_header_footer) : le hack n'a plus lieu d'être,
   et son margin-top laissait voir le fond blanc du body entre le bandeau et la
   page sombre.
   ⚠️ POURQUOI LA SPÉCIFICITÉ EST GONFLÉE : eno-page-fix imprime son <style>
   dans wp_head à la priorité 10, donc APRÈS notre feuille enqueue (priorité 8).
   À spécificité égale (0,2,1) et !important des deux côtés, l'ordre du document
   le faisait gagner. On double la classe et on ancre sur html (1,3,1) pour
   gagner quel que soit l'ordre. Ne pas « simplifier » ces sélecteurs. */
html body.eno-page-fixed .eno-acc-page.eno-acc-page {
  margin-top: 0 !important;
  padding-top: 72px !important;
}
html body.eno-page-fixed .eno-acc-dashboard.eno-acc-dashboard {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
@media (max-width: 768px) {
  html body.eno-page-fixed .eno-acc-page.eno-acc-page {
    margin-top: 0 !important;
    padding-top: 44px !important;
  }
}

/* ---------- Filet de sécurité : aucun interstice blanc possible ----------
   Le fond sombre ne vit plus seulement sur .eno-acc-page : il est posé sur le
   body des 5 écrans (classe ajoutée en PHP par body_class()). Même si une règle
   tierce réintroduisait un jour une marge, l'espace révélé resterait sombre.
   Ces pages n'ont ni #content ni main (le template Elementor n'en émet pas),
   mais les sélecteurs sont listés au cas où le gabarit changerait. */
body.eno-acc-body,
body.eno-acc-body #content,
body.eno-acc-body main,
body.eno-acc-body .site-main,
body.eno-acc-body .page-content,
body.eno-acc-body .elementor-location-single {
  background: var(--eno-acc-bg) !important;
}

/* ---------- Cadre de page ---------- */

.eno-acc-page {
  background: var(--eno-acc-bg);
  color: var(--eno-acc-text);
  min-height: 70vh;
  padding: 72px 20px 96px;
  font-family: "Instrument Sans", sans-serif;
  font-size: 15px;
  line-height: 1.6;
}

/* Le thème peint le fond derrière la page : on l'étend au conteneur du thème
   pour éviter une bande claire au-dessus/en dessous de la carte. */
body.page-template-elementor_header_footer .eno-acc-page,
.eno-acc-page * {
  box-sizing: border-box;
}

.eno-acc-container {
  max-width: 480px;
  margin: 0 auto;
  background: var(--eno-acc-card);
  padding: 44px 40px;
  border: 1px solid var(--eno-acc-line);
  border-radius: 16px;
  box-shadow: 0 24px 60px rgba(0,0,0,.55);
}

.eno-acc-container-wide { max-width: 620px; }

/* ---------- Titres ---------- */

.eno-acc-title {
  font-family: "Playfair Display", sans-serif !important;
  font-weight: 600;
  font-size: 30px;
  line-height: 1.15;
  letter-spacing: -.01em;
  color: var(--eno-acc-gold) !important;
  text-align: left;
  text-transform: none !important;
  margin: 0 0 10px;
}

.eno-acc-title::after {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  margin-top: 18px;
  background: linear-gradient(90deg, var(--eno-acc-gold), rgba(178,155,98,0) 60%);
}

.eno-acc-subtitle {
  font-size: 14px;
  color: var(--eno-acc-muted);
  text-align: left;
  text-transform: none !important;
  margin: 0 0 26px;
  line-height: 1.6;
}
.eno-acc-subtitle a { color: var(--eno-acc-gold); text-decoration: none; border-bottom: 1px solid rgba(178,155,98,.35); }
.eno-acc-subtitle a:hover { border-bottom-color: var(--eno-acc-gold); }

.eno-acc-section-title {
  font-family: "Playfair Display", sans-serif !important;
  font-weight: 500;
  font-size: 17px;
  color: var(--eno-acc-text) !important;
  text-transform: none !important;
  margin: 4px 0 14px;
}

/* ---------- Formulaire ---------- */

.eno-acc-form { display: flex; flex-direction: column; gap: 18px; }

.eno-acc-field { display: flex; flex-direction: column; gap: 7px; }

/* Scopé par .eno-acc-page (0,2,0) pour battre `.elementor-kit-91 label` (0,1,1)
   du kit Elementor, qui impose sinon la couleur d'accent (noire) aux labels. */
.eno-acc-page .eno-acc-field label,
.eno-acc-page .eno-acc-label-bold {
  font-family: "Instrument Sans", sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase !important;
  color: var(--eno-acc-dim);
}

.eno-acc-page .eno-acc-label-bold { font-size: 12px !important; }

/* Les cartes de choix SONT des <label> imbriqués dans un .eno-acc-field :
   sans ça elles héritent des majuscules et de l'interlettrage ci-dessus. */
.eno-acc-page .eno-acc-radio-card,
.eno-acc-page .eno-acc-country-card,
.eno-acc-page .eno-acc-radio-card *,
.eno-acc-page .eno-acc-country-card * {
  text-transform: none !important;
  letter-spacing: normal;
  font-weight: 400;
  color: var(--eno-acc-text);
}
.eno-acc-page .eno-acc-radio-title { font-weight: 600; }
.eno-acc-page .eno-acc-radio-desc { color: var(--eno-acc-dim); font-size: 12px; }

/* Astérisque d'obligation : hors de la chaîne traduisible (cf. PHP) */
.eno-acc-req { color: var(--eno-acc-gold); margin-left: 3px; }

/* Précisions en minuscules à côté d'un label */
.eno-acc-hint,
.eno-acc-pro-only,
.eno-acc-only-ca {
  font-weight: 400;
  letter-spacing: .02em;
  text-transform: none !important;
  color: var(--eno-acc-dim);
  font-size: 11.5px;
}

.eno-acc-field input[type="text"],
.eno-acc-field input[type="email"],
.eno-acc-field input[type="tel"],
.eno-acc-field input[type="password"] {
  width: 100%;
  background: var(--eno-acc-input) !important;
  color: var(--eno-acc-text) !important;
  border: 1px solid var(--eno-acc-line-strong) !important;
  border-radius: 10px !important;
  padding: 13px 14px !important;
  font-family: "Instrument Sans", sans-serif !important;
  font-size: 15px !important;
  transition: border-color .18s ease, box-shadow .18s ease;
}

.eno-acc-field input::placeholder { color: #6e6a63; }

.eno-acc-field input:focus {
  outline: none !important;
  border-color: var(--eno-acc-gold) !important;
  box-shadow: 0 0 0 3px rgba(178,155,98,.18) !important;
}

.eno-acc-field input:-webkit-autofill {
  -webkit-text-fill-color: var(--eno-acc-text);
  -webkit-box-shadow: 0 0 0 1000px var(--eno-acc-input) inset;
}

/* Ligne « rester connecté / mot de passe oublié » */
.eno-acc-field-row {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
}

.eno-acc-checkbox {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--eno-acc-muted) !important;
  cursor: pointer;
}

.eno-acc-checkbox input[type="checkbox"] { accent-color: var(--eno-acc-gold); width: 15px; height: 15px; }

.eno-acc-link-small {
  font-size: 13px;
  color: var(--eno-acc-gold) !important;
  text-decoration: none !important;
  text-transform: none !important;
  border-bottom: 1px solid rgba(178,155,98,.3);
}
.eno-acc-link-small:hover { border-bottom-color: var(--eno-acc-gold); }

/* Sur les formulaires larges, les champs côte à côte */
.eno-acc-container-wide .eno-acc-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  align-items: start;
}

/* ---------- Boutons ---------- */

.eno-acc-btn-primary,
.eno-acc-page .eno-acc-btn-primary {
  display: block;
  width: 100%;
  background: var(--eno-acc-gold) !important;
  color: #0b0b0b !important;
  border: 1px solid var(--eno-acc-gold) !important;
  border-radius: 999px !important;
  padding: 14px 22px !important;
  font-family: "Instrument Sans", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .02em;
  text-transform: none !important;
  cursor: pointer;
  transition: background .18s ease, color .18s ease;
  margin-top: 4px;
}

.eno-acc-btn-primary:hover:not(:disabled) { background: var(--eno-acc-gold-hi) !important; border-color: var(--eno-acc-gold-hi) !important; }
.eno-acc-btn-primary:disabled { opacity: .6; cursor: default; }

.eno-acc-btn-secondary,
.eno-acc-page .eno-acc-btn-secondary {
  display: block;
  width: 100%;
  text-align: center;
  background: transparent !important;
  color: var(--eno-acc-gold) !important;
  border: 1px solid rgba(178,155,98,.55) !important;
  border-radius: 999px !important;
  padding: 13px 22px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  text-transform: none !important;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.eno-acc-btn-secondary:hover { background: var(--eno-acc-gold) !important; color: #0b0b0b !important; border-color: var(--eno-acc-gold) !important; }

/* ---------- Séparateur ---------- */

.eno-acc-divider {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 26px 0 18px;
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: none !important;
  color: var(--eno-acc-dim);
}
.eno-acc-divider::before,
.eno-acc-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--eno-acc-line);
}

/* ---------- Messages ---------- */

.eno-acc-msg { font-size: 13.5px; line-height: 1.5; min-height: 0; }
.eno-acc-msg:empty { display: none; }
.eno-acc-msg-error { color: #e5857a; }
.eno-acc-msg-success { color: #8fcb9b; }

.eno-acc-success {
  background: rgba(143,203,155,.08);
  border: 1px solid rgba(143,203,155,.28);
  border-radius: 10px;
  padding: 13px 16px;
  margin: 0 0 22px;
  font-size: 13.5px;
  color: #cfe6d4;
}

.eno-acc-guest-note {
  margin: 26px 0 0;
  padding-top: 20px;
  border-top: 1px solid var(--eno-acc-line);
  font-size: 13px;
  line-height: 1.6;
  color: var(--eno-acc-muted);
  text-align: center;
}
.eno-acc-guest-note strong { color: var(--eno-acc-text); font-weight: 600; }

/* ---------- Cartes de choix (type de compte / pays) ---------- */

.eno-acc-radio-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

.eno-acc-radio-card {
  position: relative;
  display: block;
  background: rgba(255,255,255,.02);
  border: 1px solid var(--eno-acc-line);
  border-radius: 12px;
  padding: 18px 16px;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease;
}
.eno-acc-radio-card:hover { border-color: rgba(178,155,98,.5); }
.eno-acc-radio-card input[type="radio"] { position: absolute; opacity: 0; pointer-events: none; }

.eno-acc-radio-card.eno-acc-radio-selected {
  border-color: var(--eno-acc-gold);
  background: rgba(178,155,98,.08);
}

.eno-acc-radio-icon { color: var(--eno-acc-gold); font-size: 22px; line-height: 1; margin-bottom: 10px; }
.eno-acc-radio-icon svg { width: 22px; height: 22px; }

.eno-acc-radio-title {
  font-family: "Playfair Display", sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--eno-acc-text);
  text-transform: none !important;
  margin-bottom: 4px;
}
.eno-acc-radio-desc { font-size: 12px; color: var(--eno-acc-dim); line-height: 1.45; }

.eno-acc-country-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

.eno-acc-country-card {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: rgba(255,255,255,.02);
  border: 1px solid var(--eno-acc-line);
  border-radius: 10px;
  padding: 13px 12px;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease;
}
.eno-acc-country-card:hover { border-color: rgba(178,155,98,.5); }
.eno-acc-country-card input[type="radio"] { accent-color: var(--eno-acc-gold); margin: 0; }
.eno-acc-country-card.eno-acc-country-selected { border-color: var(--eno-acc-gold); background: rgba(178,155,98,.08); }

.eno-acc-country-label { font-size: 13.5px; color: var(--eno-acc-text); text-transform: none !important; }

/* ---------- Bloc Pro ---------- */

.eno-acc-pro-section {
  border-top: 1px solid var(--eno-acc-line);
  padding-top: 22px;
  margin-top: 4px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.eno-acc-pro-info {
  background: rgba(178,155,98,.07);
  border: 1px solid rgba(178,155,98,.28);
  border-left: 2px solid var(--eno-acc-gold);
  border-radius: 10px;
  padding: 14px 16px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--eno-acc-muted);
}
.eno-acc-pro-info strong { color: var(--eno-acc-text); font-weight: 600; }

/* ---------- DASHBOARD (/my-space/) ----------
   Réimplémente la mise en page utile de l'ancien bloc Customizer
   « ENO MY-SPACE DASHBOARD UI », sans !important et en DA sombre. */

.eno-acc-dashboard {
  max-width: 900px;
  margin: 0 auto;
}

.eno-acc-dash-header { margin-bottom: 30px; }

.eno-acc-dash-header h1 {
  font-family: "Playfair Display", sans-serif !important;
  font-weight: 600;
  font-size: 32px;
  line-height: 1.15;
  color: var(--eno-acc-gold) !important;
  text-transform: none !important;
  margin: 0 0 6px;
}

.eno-acc-greeting { font-size: 14px; color: var(--eno-acc-muted); margin: 0; }

.eno-acc-pending,
.eno-acc-pro-active {
  border-radius: 12px;
  padding: 18px 20px;
  margin-bottom: 26px;
  font-size: 13.5px;
  line-height: 1.6;
}

.eno-acc-pending {
  background: rgba(255,255,255,.03);
  border: 1px solid var(--eno-acc-line);
  border-left: 2px solid var(--eno-acc-muted);
  color: var(--eno-acc-muted);
}

.eno-acc-pro-active {
  background: rgba(178,155,98,.07);
  border: 1px solid rgba(178,155,98,.28);
  border-left: 2px solid var(--eno-acc-gold);
  color: var(--eno-acc-muted);
}

.eno-acc-pending h3,
.eno-acc-pro-active h3 {
  font-family: "Playfair Display", sans-serif !important;
  font-size: 15px;
  font-weight: 600;
  color: var(--eno-acc-text) !important;
  text-transform: none !important;
  margin: 0 0 6px;
}
.eno-acc-pending p,
.eno-acc-pro-active p { margin: 0; }
.eno-acc-pro-active strong { color: var(--eno-acc-text); }

.eno-acc-dash-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}

.eno-acc-card {
  display: block;
  background: var(--eno-acc-card);
  border: 1px solid var(--eno-acc-line);
  border-radius: 14px;
  padding: 26px 22px;
  text-decoration: none !important;
  transition: border-color .18s ease, transform .18s ease, background .18s ease;
}
.eno-acc-card:hover {
  border-color: rgba(178,155,98,.55);
  background: #131416;
  transform: translateY(-2px);
  text-decoration: none !important;
}

.eno-acc-card-icon { color: var(--eno-acc-gold); margin-bottom: 14px; line-height: 1; }
.eno-acc-card-icon svg { width: 28px; height: 28px; }

.eno-acc-card-title {
  font-family: "Playfair Display", sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--eno-acc-text);
  text-transform: none !important;
  margin-bottom: 4px;
}
.eno-acc-card-desc { font-size: 12.5px; color: var(--eno-acc-dim); }

.eno-acc-dash-footer { margin-top: 32px; text-align: center; }

/* ---------- Bouton flottant (masqué site-wide par le Customizer) ---------- */

.eno-acc-floating-btn {
  position: relative;
  display: inline-flex;
  margin: 0 8px;
  background: #0a0a0a;
  border: 1px solid var(--eno-acc-gold);
  border-radius: 30px;
  transition: background .2s;
}
.eno-acc-floating-btn:hover { background: var(--eno-acc-gold); }
.eno-acc-floating-btn:hover .eno-acc-btn-link { color: #0b0b0b; }

.eno-acc-btn-link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  color: var(--eno-acc-gold);
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
  font-family: "Instrument Sans", sans-serif;
}
.eno-acc-icon { font-size: 16px; line-height: 1; }

/* ---------- Responsive ---------- */

@media (max-width: 768px) {
  .eno-acc-page { padding: 44px 14px 64px; }
  .eno-acc-container { padding: 30px 22px; border-radius: 14px; }
  .eno-acc-title { font-size: 25px; }
  .eno-acc-dash-header h1 { font-size: 26px; }
  .eno-acc-radio-cards,
  .eno-acc-country-row,
  .eno-acc-container-wide .eno-acc-field-row { grid-template-columns: 1fr; }
  .eno-acc-field-row { flex-direction: column; align-items: flex-start; gap: 12px; }
  .eno-acc-dash-grid { grid-template-columns: 1fr; }
}

/* DHN light adjustments */
.eno-acc-page input[type=email],.eno-acc-page input[type=password],.eno-acc-page input[type=text],.eno-acc-page input[type=tel],.eno-acc-page select{background:#fff !important;color:var(--eno-acc-text) !important;border:1px solid var(--eno-acc-line-strong) !important}
.eno-acc-page input::placeholder{color:var(--eno-acc-dim) !important}
.eno-acc-page .eno-acc-radio-card,.eno-acc-page .eno-acc-country-card{background:#fff !important;border:1px solid var(--eno-acc-line-strong) !important}
.eno-acc-page .eno-acc-btn-secondary{background:#fff !important;color:var(--eno-acc-text) !important;border:1px solid var(--eno-acc-line-strong) !important}
