/* Widgets compartilhados entre as páginas institucionais (landing, blog,
   privacidade): banner de cookies, botão de WhatsApp e botão "voltar ao topo".
   Página institucional usa Layout=null (HTML autocontido), por isso isso vive
   num CSS à parte em vez de no app.css do sistema logado. */

.fab-stack {
    position: fixed;
    right: 1.25rem;
    bottom: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    z-index: 950;
}

.fab {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 20px rgba(0,0,0,.18);
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: transform .15s, box-shadow .15s, opacity .2s;
}
.fab:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(0,0,0,.22); }

.fab-whatsapp {
    background: #25d366;
    color: #fff;
}
.fab-whatsapp svg { width: 26px; height: 26px; }

.fab-top {
    background: #1e3a5f;
    color: #fff;
    font-size: 1.4rem;
    opacity: 0;
    pointer-events: none;
    transform: translateY(8px);
}
.fab-top.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

/* ── Cookie / LGPD banner ── */
.cookie-banner {
    position: fixed;
    left: 1rem; right: 1rem; bottom: 1rem;
    max-width: 720px;
    margin: 0 auto;
    background: #1a2340;
    color: rgba(255,255,255,.92);
    border-radius: 14px;
    padding: 1.1rem 1.3rem;
    box-shadow: 0 12px 40px rgba(0,0,0,.28);
    z-index: 1000;
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-wrap: wrap;
    transform: translateY(140%);
    transition: transform .35s ease;
}
.cookie-banner.is-visible { transform: translateY(0); }
.cookie-banner p {
    flex: 1;
    min-width: 220px;
    font-size: .85rem;
    line-height: 1.55;
    margin: 0;
    color: rgba(255,255,255,.78);
}
.cookie-banner a { color: #fff; text-decoration: underline; }
.cookie-banner-actions { display: flex; gap: .6rem; flex-shrink: 0; }
.cookie-btn {
    padding: .55rem 1.1rem;
    border-radius: 8px;
    font-size: .84rem;
    font-weight: 600;
    cursor: pointer;
    border: none;
    text-decoration: none;
    white-space: nowrap;
}
.cookie-btn-accept { background: #f59e0b; color: #1a2340; }
.cookie-btn-dismiss { background: rgba(255,255,255,.12); color: #fff; }

@media (max-width: 560px) {
    .cookie-banner { flex-direction: column; align-items: stretch; }
    .cookie-banner-actions { justify-content: flex-end; }
}
