
/* LGPD compliance */
.lgpd-cookie-banner {
    position: fixed;
    left: max(16px, calc((100vw - 1240px) / 2));
    right: max(16px, calc((100vw - 1240px) / 2));
    bottom: 18px;
    z-index: 9999;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: 18px;
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(15,23,42,.98), rgba(17,24,39,.96));
    border: 1px solid rgba(139,92,246,.34);
    box-shadow: 0 24px 70px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.05);
    backdrop-filter: blur(18px);
}
.lgpd-cookie-banner strong { display:block; color:#fff; font-size:1.05rem; margin-bottom:4px; }
.lgpd-cookie-banner p { margin:0; color:rgba(219,234,254,.82); line-height:1.5; }
.lgpd-cookie-actions { display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; }
.lgpd-cookie-actions form { margin:0; }
.lgpd-page { padding-top:52px !important; }
.lgpd-card {
    padding: clamp(24px, 4vw, 42px) !important;
    border-radius: 28px !important;
    background: radial-gradient(circle at 12% 8%, rgba(124,58,237,.18), transparent 36%), linear-gradient(145deg, rgba(15,23,42,.98), rgba(17,24,39,.94)) !important;
    border: 1px solid rgba(139,92,246,.28) !important;
}
.lgpd-card h1 { font-size: clamp(34px, 5vw, 58px); letter-spacing:-.05em; line-height:1.02; }
.lgpd-form { margin-top:24px; }
.lgpd-option {
    display:flex;
    gap:14px;
    align-items:flex-start;
    padding:18px;
    border-radius:18px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
}
.lgpd-option input { margin-top:4px; width:18px; height:18px; }
.lgpd-option strong, .lgpd-option small { display:block; }
.lgpd-option small { margin-top:6px; color:rgba(219,234,254,.72); line-height:1.45; }
.lgpd-inline-check {
    display:flex;
    gap:10px;
    align-items:flex-start;
    padding:14px;
    border-radius:16px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    color:rgba(226,232,240,.88);
    line-height:1.45;
}
.lgpd-inline-check input { margin-top:4px; }
.lgpd-inline-check a { color:#a78bfa; font-weight:800; }
.lgpd-warning {
    grid-column:1/-1;
    padding:16px;
    border-radius:18px;
    background:rgba(34,197,94,.08);
    border:1px solid rgba(34,197,94,.20);
}
.lgpd-warning strong, .lgpd-warning span { display:block; }
.lgpd-links { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.lgpd-links a { color:#a78bfa; font-weight:800; text-decoration:none; }
@media (max-width: 780px) {
    .lgpd-cookie-banner { grid-template-columns:1fr; left:12px; right:12px; bottom:12px; }
    .lgpd-cookie-actions, .lgpd-cookie-actions .btn, .lgpd-cookie-actions form { width:100%; }
    .lgpd-cookie-actions { display:grid; }
}


.lgpd-submit-actions {
    grid-column: 1 / -1;
}

.alert {
    padding: 14px 16px;
    border-radius: 16px;
    margin: 18px 0;
    font-weight: 800;
}

.alert.success {
    color: #dcfce7;
    background: rgba(34,197,94,.12);
    border: 1px solid rgba(34,197,94,.30);
}

.alert.error {
    color: #fecaca;
    background: rgba(239,68,68,.12);
    border: 1px solid rgba(239,68,68,.30);
}

.btn.btn-ghost {
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.10);
    color: rgba(226,232,240,.92);
}
