/* =============================================================================
   INSCRIPTION.CSS — Styles spécifiques à la page d'inscription Y.C. Aligator Film
   ============================================================================= */

    body { background: #f0efe9; }

    /* ─── Hero ─── */
    .page-hero { border-bottom: 1px solid #1a1a1a; }

    /* ─── Auth layout ─── */
    .auth-page {
      max-width: 640px;
      margin: 0 auto;
      padding: 5rem 2.5rem 8rem;
    }

    /* ─── Alert ─── */
    .auth-alert {
      padding: 0.85rem 1rem;
      font-size: 0.82rem;
      line-height: 1.55;
      border-left: 2px solid;
      margin-bottom: 1.5rem;
    }

    .auth-alert-error {
      background: rgba(180,40,40,0.07);
      border-color: #b42828;
      color: #8a1e1e;
    }

    .auth-info {
      margin-bottom: 2rem;
      padding: 1rem 1.1rem;
      border: 1px solid #c9c8c2;
      background: rgba(255,255,255,0.38);
      font-size: 0.82rem;
      line-height: 1.65;
      color: #454541;
    }

    .af-password-feedback {
      min-height: 1.2em;
      margin: 0.2rem 0 0;
      font-size: 0.72rem;
      color: #9a2929;
    }

    .af-password-feedback.is-valid { color: #2d6a3f; }

    .af-consent {
      display: flex;
      align-items: flex-start;
      gap: 0.7rem;
      font-size: 0.78rem;
      line-height: 1.55;
      color: #454541;
    }

    .af-consent input {
      width: 16px;
      height: 16px;
      margin-top: 0.15rem;
      flex: 0 0 auto;
    }

    /* ─── Form ─── */
    .auth-form {
      display: flex;
      flex-direction: column;
      gap: 1.2rem;
    }

    .af-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1rem;
    }

    .af-group {
      display: flex;
      flex-direction: column;
      gap: 0.4rem;
    }

    .af-group label {
      font-size: 0.6rem;
      font-weight: 700;
      letter-spacing: 0.25em;
      text-transform: uppercase;
      color: var(--grey);
    }

    .af-optional {
      font-weight: 400;
      font-size: 0.55rem;
      letter-spacing: 0.1em;
      color: var(--lgrey);
      text-transform: uppercase;
    }

    .af-group input {
      font-family: 'DM Sans', sans-serif;
      font-size: 0.9rem;
      border: 1px solid var(--lgrey);
      padding: 0.85rem 1rem;
      background: #fafaf8;
      color: var(--black);
      outline: none;
      transition: border-color 0.2s, background 0.2s;
      width: 100%;
      -webkit-appearance: none;
      border-radius: 0;
    }

    .af-group input:focus {
      border-color: var(--black);
      background: white;
    }

    .af-hint {
      font-size: 0.72rem;
      color: var(--grey);
      margin-top: 0.2rem;
      line-height: 1.5;
    }

    /* ─── Submit ─── */
    .auth-submit {
      align-self: flex-start;
      background: var(--black);
      color: var(--white);
      border: none;
      padding: 0.95rem 2.5rem;
      font-family: 'DM Sans', sans-serif;
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.25em;
      text-transform: uppercase;
      cursor: pointer;
      transition: background 0.2s, letter-spacing 0.2s;
      margin-top: 0.5rem;
    }

    .auth-submit:hover { background: #2a2a2a; letter-spacing: 0.32em; }

    /* ─── Footer link ─── */
    .auth-footer-note {
      margin-top: 2rem;
      font-size: 0.8rem;
      color: var(--grey);
    }

    .auth-footer-note a {
      border-bottom: 1px solid var(--lgrey);
      transition: border-color 0.2s;
    }

    .auth-footer-note a:hover { border-color: var(--black); }

    /* ─── Section divider ─── */
    .auth-section-title {
      font-size: 0.65rem;
      font-weight: 700;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: rgba(13,13,13,0.3);
      margin-bottom: 1rem;
      margin-top: 0.5rem;
      padding-bottom: 0.8rem;
      border-bottom: 1px solid var(--lgrey);
    }

    @media (max-width: 600px) {
      .af-row { grid-template-columns: 1fr; }
      .auth-page { padding: 4rem 1.5rem 6rem; }
    }