/* FIVS — pages de compte (connexion, mot de passe oublié, vérification, choix de profil)
   aux couleurs du site officiel : s'appuie sur inscription.css (polices, barre, boutons). */
.cx-page{min-height:100vh;display:flex;flex-direction:column}
.cx{flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh}

/* Panneau photo : la scène du festival, voile sombre, pellicule sur le bord. */
.cx-visuel{position:relative;overflow:hidden;isolation:isolate;background:#060606;color:#f2ede6;display:flex;align-items:flex-end;padding:120px clamp(28px,5vw,72px) clamp(40px,6vw,80px)}
.cx-visuel__fond{position:absolute;inset:0;z-index:-2}
.cx-visuel__fond img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) brightness(.6);animation:ins-zoom 16s cubic-bezier(.2,.7,.2,1) both}
.cx-visuel::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(6,6,6,.95) 0%,rgba(6,6,6,.55) 45%,rgba(6,6,6,.25) 80%,rgba(6,6,6,.55) 100%)}
.cx-visuel::after{content:"";position:absolute;inset-block:0;inset-inline-end:0;width:24px;
  background:#060606 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='32'%3E%3Crect x='5' y='8' width='14' height='16' rx='2' fill='%23444'/%3E%3C/svg%3E") repeat-y 50% 0}
.cx-visuel__txt{max-width:34rem}
.cx-slogan{margin:18px 0 0;font-size:clamp(34px,4vw,60px);line-height:1.05;font-weight:500;letter-spacing:-.035em}
.cx-slogan em{font-style:normal;font-weight:800;color:#ff2b3f}
[dir=rtl] .cx-slogan{font-weight:800;line-height:1.35;letter-spacing:0}
.cx-devise{margin:20px 0 0;font-family:var(--f-ar);font-size:20px;font-weight:700;color:rgba(242,237,230,.75);letter-spacing:0;text-align:start}

/* Formulaire */
.cx-form{display:flex;align-items:center;justify-content:center;padding:110px clamp(18px,4vw,64px) 48px;background:#fff}
.cx-carte{width:100%;max-width:440px}
.cx-retour{display:inline-flex;align-items:center;gap:8px;margin-bottom:26px;font-size:13.5px;font-weight:700;color:var(--gris);text-decoration:none}
.cx-retour svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
[dir=rtl] .cx-retour svg{transform:scaleX(-1)}
.cx-retour:hover{color:var(--rouge)}
.cx-carte h1{margin:0;font-size:clamp(34px,3.4vw,48px);font-weight:500;line-height:1.05;letter-spacing:-.035em}
[dir=rtl] .cx-carte h1{font-weight:800;line-height:1.3;letter-spacing:0}
.cx-carte h1::after{content:"";display:block;width:44px;height:3px;margin-top:14px;border-radius:2px;background:var(--rouge)}
.cx-carte .sub{margin:14px 0 22px;color:var(--gris);font-size:15px}
.cx-lien{font-weight:800;color:var(--rouge);text-decoration:none}
.cx-lien:hover{text-decoration:underline}
.cx-carte form{margin:0}
.cx-carte label{display:block;margin:16px 0 6px;font-size:14px;font-weight:700}
.cx-carte input[type=text],.cx-carte input[type=email],.cx-carte input[type=password]{width:100%;font:inherit;font-size:16px;color:var(--encre);background:#fff;
  border:1.5px solid var(--ligne);border-radius:12px;padding:11px 13px;min-height:50px;transition:border-color .2s,box-shadow .2s}
.cx-carte input:focus{outline:0;border-color:var(--rouge);box-shadow:0 0 0 4px rgba(227,6,27,.12)}
.cx-carte input[type=email]{direction:ltr}
[dir=rtl] .cx-carte input[type=email]{text-align:right}
/* Champs à icône (connexion) */
.fld{position:relative}
.fld input{padding-inline-start:46px!important}
.fld__ic{position:absolute;inset-inline-start:14px;top:50%;transform:translateY(-50%);display:grid;place-items:center;color:#9a9aa3;pointer-events:none}
.fld__ic svg{width:18px;height:18px;fill:currentColor}
.fld:focus-within .fld__ic{color:var(--rouge)}
.fld__eye{position:absolute;inset-inline-end:8px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:10px;background:none;color:#9a9aa3;cursor:pointer;display:grid;place-items:center}
.fld__eye svg{width:19px;height:19px;fill:currentColor}
.fld__eye:hover,.fld__eye.on{color:var(--rouge);background:#fff0f1}
.fld:has(.fld__eye) input{padding-inline-end:50px!important}
.cx-oubli{margin:10px 0 0;text-align:end;font-size:13.5px}
.cx-oubli a{color:var(--gris);font-weight:700;text-decoration:none}
.cx-oubli a:hover{color:var(--rouge)}
/* Boutons */
.cx-valider{width:100%;margin-top:22px;justify-content:space-between;box-shadow:0 18px 36px -18px rgba(227,6,27,.75)}
.cx-carte .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border-radius:99px;border:0;
  background:var(--rouge);color:#fff;font:inherit;font-weight:700;font-size:15px;cursor:pointer;text-decoration:none;transition:background .25s}
.cx-carte .btn:hover{background:var(--rouge-f)}
.cx-carte .btn-ghost{background:#fff;color:var(--encre);box-shadow:inset 0 0 0 1.5px var(--ligne)}
.cx-carte .btn-ghost:hover{background:var(--doux);box-shadow:inset 0 0 0 1.5px var(--rouge)}
.cx-carte form .btn{margin-top:18px}
.ordiv{display:flex;align-items:center;gap:14px;margin:22px 0;color:#9a9aa3;font-size:13px;font-weight:700}
.ordiv::before,.ordiv::after{content:"";flex:1;height:1px;background:var(--ligne)}
.btn-magic{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 18px;border-radius:99px;
  border:0;background:#fff;box-shadow:inset 0 0 0 1.5px var(--ligne);color:var(--encre);font:inherit;font-weight:700;font-size:15px;cursor:pointer;transition:box-shadow .2s,background .2s}
.btn-magic:hover{box-shadow:inset 0 0 0 1.5px var(--rouge);background:#fff6f7}
.btn-magic .fld__ic{position:static;transform:none;color:var(--rouge)}
/* Messages */
.cx-carte .alert{margin:0 0 16px;padding:12px 14px;border-radius:12px;font-weight:600;font-size:14px;line-height:1.5}
.cx-carte .alert-danger,.cx-carte .alert-error{background:#fff0f1;color:var(--rouge-f)}
.cx-carte .alert-success{background:#effaf3;color:#11733a}
.cx-carte .alert-info,.cx-carte .alert-warning{background:var(--doux);color:var(--encre)}
.securenote{display:flex;gap:12px;align-items:flex-start;margin-top:26px;padding:14px 16px;border-radius:14px;background:var(--doux);font-size:13.5px;line-height:1.5}
.sn-ic{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#fff;color:var(--rouge);box-shadow:0 0 0 1px var(--ligne)}
.sn-ic svg{width:18px;height:18px;fill:currentColor}
.securenote .muted,.cx-carte .muted{color:var(--gris)}
.cx-page .ins-pied{border-top:1px solid var(--ligne)}

@media (max-width:900px){
  .cx{grid-template-columns:1fr;min-height:0}
  .cx-visuel{min-height:0;padding:96px 20px 30px}
  .cx-visuel::after{inset-block:auto 0;inset-inline:0;width:auto;height:22px;
    background:#060606 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='22'%3E%3Crect x='8' y='5' width='16' height='12' rx='2' fill='%23444'/%3E%3C/svg%3E") repeat-x 0 50%}
  .cx-slogan{font-size:clamp(28px,8vw,40px)}
  .cx-devise{font-size:17px;margin-top:12px}
  .cx-form{padding:30px 20px 40px}
}
/* Barre opaque : elle passe au-dessus de la photo ET du fond blanc. */
.cx-page .ins-barre{background:#0c0c0e;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 14px 34px -18px rgba(0,0,0,.6)}
