/* ============== LEGAL & CERTIFICATE PAGES ============== */
.legal-hero{
    background: linear-gradient(135deg, #030641, #0e3789);
    color: #fff;
    padding: 64px 0 48px;
    text-align: center;
}
.legal-eyebrow{
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 12px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase;
    color: #f5b73c;
    background: rgba(255,255,255,.08);
    padding: 6px 14px; border-radius: 999px;
    margin-bottom: 16px;
}
.legal-title{ margin: 0; font-size: clamp(26px, 4vw, 40px); font-weight: 900; }
.legal-updated{ margin: 10px 0 0; font-size: 13px; color: rgba(255,255,255,.7); }

.legal-section{ padding: 40px 0 70px; background: var(--bg-soft, #f5f7fb); }
.legal-card{
    max-width: 900px; margin: 0 auto;
    background: #fff;
    border: 1px solid var(--line, #e5e7eb);
    border-radius: 18px;
    padding: 36px 40px;
    box-shadow: 0 20px 50px -30px rgba(10,20,40,.35);
}
/* Prose from the DB (rich HTML) */
.legal-card h1, .legal-card h2, .legal-card h3, .legal-card h4{
    color: var(--brand-1, #030641); font-weight: 800; margin: 22px 0 10px; line-height: 1.35;
}
.legal-card h2{ font-size: 20px; } .legal-card h3{ font-size: 17px; }
.legal-card p, .legal-card li{ font-size: 14.5px; line-height: 1.8; color: var(--text-2, #4b5563); }
.legal-card ul, .legal-card ol{ padding-inline-start: 22px; margin: 10px 0; }
.legal-card a{ color: var(--brand-2, #0e3789); text-decoration: underline; }
.legal-card strong{ color: var(--text, #111); }
.legal-empty{ text-align: center; color: var(--text-soft, #6b7280); padding: 30px 0; }
@media (max-width: 560px){ .legal-card{ padding: 24px 18px; } }

/* ---- Certificate check ---- */
.cert-wrap{ max-width: 620px; margin: 0 auto; }
.cert-card{
    background: #fff; border: 1px solid var(--line, #e5e7eb); border-radius: 18px;
    padding: 30px 34px; box-shadow: 0 20px 50px -30px rgba(10,20,40,.35);
}
.cert-form .field{ margin-bottom: 16px; }
.cert-form label{ display:block; font-weight: 700; font-size: 13.5px; margin-bottom: 8px; color: var(--text, #111); }
.cert-input-wrap{ position: relative; display:flex; align-items:center; }
.cert-input-wrap i{ position:absolute; inset-inline-start: 15px; color: var(--brand-2, #0e3789); font-size: 14px; pointer-events:none; }
.cert-form input[type="text"]{
    width:100%; height: 52px; padding: 0 16px 0 44px; padding-inline-start:44px;
    border: 1.5px solid var(--line, #e2e6f0); border-radius: 12px; background: #f9fafd;
    font: inherit; font-size: 15px; font-weight: 700; letter-spacing: .5px; color: var(--brand-1, #030641); outline: none;
    transition: border-color .2s, background .2s;
}
.cert-form input[type="text"]:focus{ border-color: var(--brand-2, #0e3789); background:#fff; }
.cert-btn{
    width:100%; height: 50px; border: 0; border-radius: 12px; cursor: pointer;
    background: linear-gradient(135deg, #0e3789, #030641); color:#fff; font-weight: 800; font-size: 15px;
    display:inline-flex; align-items:center; justify-content:center; gap:8px; transition: transform .15s ease, box-shadow .2s ease;
}
.cert-btn:hover{ transform: translateY(-2px); box-shadow: 0 12px 28px rgba(14,55,137,.4); }
.cert-err{ color:#d33; font-size: 12.5px; font-weight: 700; margin-top: 6px; }

.cert-result{ margin-top: 22px; border-radius: 14px; padding: 20px 22px; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.cert-result.ok{ background: linear-gradient(135deg,#eafaf3,#fff); border: 1px solid #a9e6c9; }
.cert-result.no{ background: linear-gradient(135deg,#fdecef,#fff); border: 1px solid #f3b6c1; }
.cert-result-ic{ width:48px; height:48px; border-radius:12px; flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; font-size:22px; }
.cert-result.ok .cert-result-ic{ background: rgba(26,188,136,.16); color:#0d8a5f; }
.cert-result.no .cert-result-ic{ background: rgba(239,71,96,.14); color:#c2185b; }
.cert-result h3{ margin:0; font-size:16px; font-weight:800; color: var(--text, #111); }
.cert-result p{ margin:3px 0 0; font-size:13px; color: var(--text-soft, #6b7280); }
.cert-dl-btn{
    margin-inline-start:auto; flex:0 0 auto; display:inline-flex; align-items:center; gap:8px; text-decoration:none;
    background: linear-gradient(135deg,#1abc88,#0d8a5f); color:#fff; font-weight:800; font-size:14px; padding:12px 20px; border-radius:12px;
    transition: transform .15s ease;
}
.cert-dl-btn:hover{ transform: translateY(-2px); }
