/* ============================================================
   FIXA-EXPLORER v005 — Pages d'authentification
   (connexion, inscription, mot de passe)
   Reprend le système visuel v005 : encre/laiton/tampon de registre
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400..700&family=Public+Sans:wght@400;500;600&family=Source+Serif+4:opsz,wght@8..60,400;8..60,600&family=Space+Mono:wght@400;700&display=swap');

:root{
  --ink:#16242C;
  --ink-raised:#243741;
  --bone:#EFEEE5;
  --bone-raised:#F8F7F0;
  --brass:#A87B2E;
  --brass-dark:#7A5A20;
  --verdigris:#4F7D72;
  --verdigris-dark:#365650;
  --clay:#8B4A39;
  --clay-dark:#643327;
  --slate:#3D6B8C;
  --slate-dark:#2C4D63;
  --wine:#7A3B4A;
  --wine-dark:#582A35;
  --terracotta:#C2622E;
  --terracotta-dark:#8C461F;
  --sage:#8C6D2E;
  --sage-dark:#5F4A1F;
  --plum:#6B4C70;
  --plum-dark:#4D3650;
  --steel:#5C6E78;
  --steel-dark:#414E55;
  --line: rgba(22,36,44,0.16);
  --line-strong: rgba(22,36,44,0.30);
  --font-display:'Fraunces', serif;
  --font-ui:'Public Sans', sans-serif;
  --font-body:'Source Serif 4', serif;
  --font-mono:'Space Mono', monospace;
}

.fixa-auth{
  min-height:100vh;
  margin:0;
  font-family: var(--font-ui);
  color: var(--ink);
  display:flex;
}

/* ===================== PANNEAU DE MARQUE (gauche) ===================== */

.fixa-auth-brandpanel{
  flex: 0 0 44%;
  background: var(--ink);
  color: var(--bone-raised);
  padding: 56px 52px;
  display:flex;
  flex-direction:column;
  position:relative;
  overflow:hidden;
}

.fixa-auth-pins{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0.55;
}

.fixa-auth-wordmark{
  font-family: var(--font-display);
  font-weight:600;
  font-size:20px;
  letter-spacing:.01em;
  color: var(--bone-raised);
  position:relative;
  z-index:1;
}
.fixa-auth-wordmark span{ color:#D9B26B; }

/* ===================== CARROUSEL DE PRÉSENTATION ===================== */

.fixa-slider{
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  z-index:1;
}

.fixa-slide{
  display:none;
  max-width: 420px;
}
.fixa-slide.is-active{ display:block; animation: fixaFadeIn .35s ease; }

@keyframes fixaFadeIn{
  from{ opacity:0; transform: translateY(6px); }
  to{ opacity:1; transform: translateY(0); }
}

.fixa-slide-badge{
  width:54px; height:54px;
  border-radius:50%;
  border:1.5px solid var(--slide-color, #A87B2E);
  background: rgba(239,238,229,0.04);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:22px;
}
.fixa-slide-badge svg{
  width:26px; height:26px;
  stroke: var(--slide-color, #A87B2E);
  fill:none;
  stroke-width:1.6;
}

.fixa-slide-eyebrow{
  font-family: var(--font-mono);
  font-size:10.5px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color: var(--slide-color, #A87B2E);
  margin:0 0 10px;
}

.fixa-slide-headline{
  font-family: var(--font-display);
  font-weight:600;
  font-size: 28px;
  line-height:1.2;
  letter-spacing:-.01em;
  margin: 0 0 14px;
  color: var(--bone-raised);
}

.fixa-slide-text{
  font-family: var(--font-body);
  font-size:15px;
  line-height:1.65;
  color: rgba(239,238,229,0.82);
  margin:0 0 20px;
}

.fixa-slide-list{
  list-style:none;
  margin:0 0 20px;
  padding:0;
  font-family: var(--font-ui);
  font-size:13.5px;
  color: rgba(239,238,229,0.82);
}
.fixa-slide-list li{
  padding-left:18px;
  position:relative;
  margin-bottom:9px;
  line-height:1.4;
}
.fixa-slide-list li::before{
  content:"";
  position:absolute;
  left:0; top:7px;
  width:6px; height:6px;
  border-radius:50%;
  background: var(--slide-color, #A87B2E);
}

.fixa-slide-stat{
  display:inline-flex;
  align-items:baseline;
  gap:12px;
  padding-top:14px;
  border-top:1px solid rgba(239,238,229,0.18);
}
.fixa-slide-stat .num{
  font-family: var(--font-display);
  font-weight:600;
  font-size:26px;
  color: var(--slide-color, #A87B2E);
}
.fixa-slide-stat .lab{
  font-family: var(--font-mono);
  font-size:10.5px;
  letter-spacing:.03em;
  text-transform:uppercase;
  color: rgba(239,238,229,0.55);
}

.fixa-slider-nav{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:32px;
}
.fixa-slider-dots{
  display:flex;
  gap:7px;
}
.fixa-slider-dot{
  width:6px; height:6px;
  border-radius:50%;
  background: rgba(239,238,229,0.25);
  border:none;
  padding:0;
  cursor:pointer;
}
.fixa-slider-dot.is-active{ background: #D9B26B; width:18px; border-radius:3px; }

.fixa-slider-arrows{ display:flex; gap:8px; }
.fixa-slider-arrow{
  width:34px; height:34px;
  border-radius:50%;
  border:1px solid rgba(239,238,229,0.3);
  background:transparent;
  color: var(--bone-raised);
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}
.fixa-slider-arrow:hover{ border-color: #D9B26B; color:#D9B26B; }
.fixa-slider-arrow svg{ width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:1.8; }

.fixa-auth-foot{
  position:relative;
  z-index:1;
  font-family: var(--font-mono);
  font-size:10.5px;
  letter-spacing:.04em;
  color: rgba(239,238,229,0.45);
  margin-top:36px;
}

/* ===================== PANNEAU DE FORMULAIRE (droite) ===================== */

.fixa-auth-formpanel{
  flex:1;
  background: var(--bone);
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 48px 32px;
}

.fixa-auth-card{
  width:100%;
  max-width: 400px;
}

.fixa-auth-eyebrow{
  font-family: var(--font-mono);
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color: var(--brass-dark);
  margin:0 0 8px;
}

.fixa-auth-title{
  font-family: var(--font-display);
  font-weight:600;
  font-size: 26px;
  margin: 0 0 8px;
  color: var(--ink);
}

.fixa-auth-tagline{
  font-family: var(--font-body);
  font-size: 14px;
  color:#4A5A60;
  margin: 0 0 28px;
  line-height:1.5;
}

.fixa-auth-field{ margin-bottom:18px; }
.fixa-auth-field label{
  display:block;
  font-family: var(--font-ui);
  font-size:12.5px;
  font-weight:600;
  margin-bottom:6px;
  color: var(--ink);
}
.fixa-auth-field input{
  width:100%;
  font-family: var(--font-ui);
  font-size:14px;
  padding:11px 13px;
  border:1px solid var(--line-strong);
  border-radius:3px;
  background: var(--bone);
  color: var(--ink);
  box-sizing:border-box;
}
.fixa-auth-field input:focus{
  outline:none;
  border-color: var(--brass);
  box-shadow: 0 0 0 3px rgba(168,123,46,0.15);
}
.fixa-auth-field .helptext{
  display:block;
  font-family: var(--font-ui);
  font-size:11.5px;
  color:#5B6B70;
  margin-top:5px;
}
.fixa-auth-field ul.errorlist{
  list-style:none;
  margin:6px 0 0;
  padding:0;
  font-family: var(--font-ui);
  font-size:12px;
  color: var(--clay-dark);
}

.fixa-auth-errors{
  background: rgba(139,74,57,0.08);
  border:1px solid var(--clay);
  color: var(--clay-dark);
  font-family: var(--font-ui);
  font-size:13px;
  padding:12px 14px;
  border-radius:3px;
  margin-bottom:20px;
}
.fixa-auth-errors ul{ margin:0; padding-left:18px; }

.fixa-auth-success{
  background: rgba(79,125,114,0.10);
  border:1px solid var(--verdigris);
  color: var(--verdigris-dark);
  font-family: var(--font-ui);
  font-size:13px;
  padding:12px 14px;
  border-radius:3px;
  margin-bottom:20px;
}

.fixa-auth-btn{
  width:100%;
  font-family: var(--font-ui);
  font-size:14px;
  font-weight:600;
  letter-spacing:.01em;
  padding:13px 20px;
  border-radius:3px;
  cursor:pointer;
  border:1px solid var(--ink);
  background: var(--ink);
  color: var(--bone-raised);
  margin-top:6px;
}
.fixa-auth-btn:hover{ background: var(--ink-raised); }

.fixa-auth-links{
  margin-top: 22px;
  padding-top: 18px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  font-family: var(--font-ui);
  font-size:12.5px;
}
.fixa-auth-links a{
  color: var(--brass-dark);
  text-decoration:none;
}
.fixa-auth-links a:hover{ text-decoration:underline; }

.fixa-auth-explore{
  display:block;
  text-align:center;
  margin-top:18px;
  padding:12px 20px;
  border:1px solid var(--line-strong);
  border-radius:3px;
  font-family: var(--font-ui);
  font-size:13.5px;
  font-weight:600;
  color: var(--ink);
  text-decoration:none;
}
.fixa-auth-explore:hover{ border-color: var(--brass); color: var(--brass-dark); background: rgba(168,123,46,0.06); }

.fixa-auth-back{
  display:block;
  text-align:center;
  margin-top:18px;
  font-family: var(--font-mono);
  font-size:11px;
  color: rgba(239,238,229,0.7);
  text-decoration:none;
}
.fixa-auth-back:hover{ color: var(--bone-raised); }

.fixa-auth-icon{
  width:40px; height:40px;
  margin: 0 auto 16px;
  display:block;
  color: var(--verdigris);
}
.fixa-auth-icon.is-error{ color: var(--clay); }

.fixa-auth-center{ text-align:center; }
.fixa-auth-center .fixa-auth-tagline{ margin-bottom:20px; }

@media (max-width: 880px){
  .fixa-auth{ flex-direction:column; }
  .fixa-auth-brandpanel{
    flex: 0 0 auto;
    padding: 32px 28px;
    min-height: 420px;
  }
  .fixa-slide-headline{ font-size:23px; }
  .fixa-auth-formpanel{ padding: 36px 24px 48px; }
}

@media (max-width: 480px){
  .fixa-auth-title{ font-size:22px; }
}

/* ===================== PAGE INFORMATIONS ===================== */

.fixa-info{
  font-family: var(--font-ui);
  color: var(--ink);
  background: var(--bone);
  min-height:100vh;
}

.fixa-info-hero{
  background: var(--ink);
  color: var(--bone-raised);
  padding: 48px 32px 56px;
  text-align:center;
}
.fixa-info-hero .fixa-auth-wordmark{ display:block; text-align:center; margin-bottom:18px; }
.fixa-info-hero h1{
  font-family: var(--font-display);
  font-weight:600;
  font-size:32px;
  max-width:680px;
  margin:0 auto 14px;
  line-height:1.25;
}
.fixa-info-hero p{
  font-family: var(--font-body);
  font-size:15.5px;
  color: rgba(239,238,229,0.82);
  max-width:620px;
  margin:0 auto;
  line-height:1.65;
}

.fixa-info-section{
  max-width: 1080px;
  margin: 0 auto;
  padding: 52px 32px;
}
.fixa-info-section h2{
  font-family: var(--font-display);
  font-weight:600;
  font-size:24px;
  margin: 0 0 28px;
  text-align:center;
}

.fixa-info-grid{
  display:flex;
  flex-wrap:wrap;
  gap:20px;
}
.fixa-info-card{
  flex: 1 1 240px;
  min-width:0;
  background: var(--bone-raised);
  border:1px solid var(--line-strong);
  border-top: 3px solid var(--card-color, #A87B2E);
  padding:22px 20px;
}
.fixa-info-card .badge{
  width:42px; height:42px;
  border-radius:50%;
  border:1.5px solid var(--card-color, #A87B2E);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:14px;
}
.fixa-info-card .badge svg{
  width:20px; height:20px;
  stroke: var(--card-color, #A87B2E);
  fill:none; stroke-width:1.6;
}
.fixa-info-card h3{
  font-family: var(--font-display);
  font-weight:600;
  font-size:16px;
  margin:0 0 8px;
}
.fixa-info-card p{
  font-family: var(--font-body);
  font-size:13.5px;
  line-height:1.55;
  color:#3F4F55;
  margin:0 0 14px;
}
.fixa-info-card .stat{
  font-family: var(--font-mono);
  font-size:11px;
  color: var(--card-color, #A87B2E);
  border-top:1px solid var(--line);
  padding-top:10px;
}

.fixa-info-prose{
  max-width: 720px;
  margin: 0 auto;
  font-family: var(--font-body);
  font-size:15px;
  line-height:1.7;
  color:#2C3B41;
}
.fixa-info-prose h3{
  font-family: var(--font-display);
  font-weight:600;
  font-size:19px;
  margin: 34px 0 14px;
  color: var(--ink);
}
.fixa-info-prose ul{ padding-left:20px; }
.fixa-info-prose li{ margin-bottom:10px; }
.fixa-info-prose li b, .fixa-info-prose li strong{ color: var(--brass-dark); }

.fixa-info-cta{
  text-align:center;
  padding: 8px 32px 64px;
}
.fixa-info-cta .fixa-auth-btn{
  display:inline-block;
  width:auto;
  text-decoration:none;
  padding: 13px 34px;
}
.fixa-info-cta a.secondary{
  display:block;
  margin-top:16px;
  font-family: var(--font-ui);
  font-size:13px;
  color: var(--brass-dark);
  text-decoration:none;
}

@media (max-width: 600px){
  .fixa-info-hero h1{ font-size:24px; }
  .fixa-info-section{ padding: 36px 20px; }
}
