:root{
    --primary:#ff2d2d;      /* vermelho Malta */
    --bg:#0d0f12;
    --card:rgba(255,255,255,.08);
    --stroke:rgba(255,255,255,.12);
    --text:#e9eef6;
    --muted:#b6c2d0;
    --success:#22c55e;
    --danger:#ef4444;
    --focus:rgba(255,45,45,.35);
    --shadow:0 10px 30px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.05);
    --radius:18px;
  }

  /* BG seção */
  .section.bg-default{
    background: radial-gradient(1200px 600px at 10% -10%, rgba(255,45,45,.12), transparent 60%),
                radial-gradient(1000px 500px at 110% 10%, rgba(255,45,45,.08), transparent 60%),
                var(--bg);
    color: var(--text);
    height: 100%;
    padding: 64px 0 92px;
  }

  /* Card */
  .cert-card{
    background: var(--card);
    backdrop-filter: blur(10px);
    border: 1px solid var(--stroke);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 28px;
    text-align: left;
  }
  .cert-card h3{
    margin: 0 0 12px;
    font-weight: 700;
    letter-spacing: .2px;
  }
  .cert-sub{
    color: var(--muted);
    font-size: .95rem;
    margin-bottom: 18px;
  }

  /* Form */
  .rd-form{ text-align:left; }
  .form-wrap{ position: relative; margin-bottom: 18px; }
  .form-input{
    width:100%;
    border:1px solid var(--stroke);
    background: rgba(255,255,255,.06);
    color: var(--text);
    border-radius: 14px;
    padding: 16px 14px;
    outline: none;
    transition: border .2s ease, box-shadow .2s ease, background .2s ease;
  }
  .form-input::placeholder{ color: transparent; }

  /* Label flutuante */
  .form-label{
    position:absolute; left:14px; top:50%;
    transform: translateY(-50%);
    color: var(--muted);
    pointer-events:none;
    transition: all .18s ease;
    background: transparent;
    padding: 0 6px;
  }
  .form-input:focus{
    border-color: var(--primary);
    box-shadow: 0 0 0 6px var(--focus);
    background: rgba(255,255,255,.08);
  }
  .form-input:focus + .form-label,
  .form-input:not(:placeholder-shown) + .form-label{
    top: -8px;
    transform:none;
    font-size: .75rem;
    color: var(--primary);
    background: var(--bg);
    border-radius: 8px;
  }

  /* Botão */
  .button.button-primary{
    --btnh: 48px;
    display:inline-flex; align-items:center; justify-content:center;
    height: var(--btnh);
    border-radius: 14px;
    border: 1px solid rgba(0,0,0,.12);
    background: linear-gradient(180deg, var(--primary), #e11717);
    color: #fff; font-weight: 700; letter-spacing:.3px;
    width:100%;
    box-shadow: 0 8px 18px rgba(255,45,45,.35);
    transition: transform .08s ease, box-shadow .18s ease, filter .18s ease;
  }
  .button.button-primary:hover{ filter: brightness(1.03); box-shadow: 0 10px 24px rgba(255,45,45,.42); }
  .button.button-primary:active{ transform: translateY(1px); }

  /* Resultado / status */
  .resultado{
    margin-top: 18px;
    padding: 18px;
    background: rgba(255,255,255,.06);
    border: 1px solid var(--stroke);
    border-radius: 14px;
  }
  .status-pill{
    display:inline-flex; align-items:center; gap:8px;
    padding: 6px 12px;
    border-radius: 999px;
    font-weight: 700;
    margin-bottom: 14px;
    border: 1px solid transparent;
  }
  .status-success{
    color: #14532d;
    background: #dcfce7;
    border-color: #bbf7d0;
  }
  .status-error{
    color: #7f1d1d;
    background: #fee2e2;
    border-color: #fecaca;
  }

  .erro{
    margin-top: 16px;
    text-align:center;
    font-weight: 700;
    color: var(--danger);
  }

  /* Responsivo */
  @media (max-width: 575.98px){
    .cert-card{ padding: 22px; }
  }