/* ==========================================================================
   AMSYS — tema de marca sobre Bootstrap 5 (carregar DEPOIS do bootstrap.min.css)
   Navy #1B3E7A + laranja #F47920. Compartilhado por home e páginas internas.
   ========================================================================== */
:root{
    --bs-primary:#1B3E7A; --bs-primary-rgb:27,62,122;
    --bs-primary-bg-subtle:#e7ecf5; --bs-primary-text-emphasis:#16335f;
    --brand:#1B3E7A; --accent:#F47920;

    /* ------------------------------------------------------------------
     * Tokens de superfície. O site tinha o vício de destacar tudo: sombra
     * em cada cartão, fundo cinza alternando a cada seção, cantos muito
     * arredondados. Aqui o padrão passa a ser fio de 1px + raio discreto,
     * e o cinza das faixas fica quase imperceptível — a página se lê como
     * um documento contínuo, não como uma pilha de blocos.
     * ------------------------------------------------------------------ */
    --line:#e5e9f0;         /* fio padrão */
    --line-2:#eef1f6;       /* fio interno, mais claro */
    --muted:#5c6a7e;        /* texto de apoio */
    --muted-2:#8892a4;      /* rótulos e legendas */

    --bs-body-font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    --bs-body-color:#26313f;
    --bs-secondary-rgb:92,106,126;   /* .text-secondary legível, sem cinza lavado */
    --bs-light-rgb:249,250,252;      /* faixas .bg-light: tom, não bloco */
    --bs-border-color:#e5e9f0;
    --bs-box-shadow-sm:0 1px 2px rgba(16,32,56,.04);
    --bs-box-shadow:0 .75rem 2rem -1.1rem rgba(16,32,56,.3);
    --bs-border-radius:.45rem;
    --bs-border-radius-sm:.3rem;
    --bs-border-radius-lg:.55rem;
    --bs-border-radius-xl:.65rem;    /* .rounded-4 */
    --bs-border-radius-xxl:.8rem;
    --bs-link-color-rgb:27,62,122;
}
body{ color:#26313f; line-height:1.6; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }

/* ==========================================================================
   TIPOGRAFIA — hierarquia por tamanho e peso, não por cor.
   O padrão anterior grifava as últimas palavras de cada título em laranja
   (h2 > span.text-accent). Repetido em toda seção, isso vira maneirismo e
   rouba a hierarquia real; os títulos agora são de uma cor só e o laranja
   fica reservado ao que é ação (botão, seta, link).
   ========================================================================== */
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{ line-height:1.24; letter-spacing:-.012em; }
h1.fw-bold,h2.fw-bold,h3.fw-bold,.h1.fw-bold,.h2.fw-bold,.h3.fw-bold{ font-weight:600!important; }
.display-5{ font-size:clamp(1.95rem,3.4vw,2.6rem); font-weight:600!important; letter-spacing:-.022em; }
.display-6{ font-size:clamp(1.7rem,2.9vw,2.15rem); font-weight:600!important; letter-spacing:-.018em; }
h2,.h2{ font-size:clamp(1.4rem,2.3vw,1.8rem); }
h3,.h3{ font-size:clamp(1.15rem,1.7vw,1.32rem); }
.lead{ font-size:1.05rem; font-weight:400; line-height:1.62; color:var(--muted); }
p{ text-wrap:pretty; }
h1,h2,h3,.h2{ text-wrap:balance; }

/* Ritmo entre seções: um respiro só, que acompanha a largura da tela. */
section.py-5{ padding-top:clamp(2.75rem,5.4vw,4.5rem)!important; padding-bottom:clamp(2.75rem,5.4vw,4.5rem)!important; }
/* Duas faixas claras seguidas viravam uma massa só — o fio devolve a divisão. */
section.bg-light + section.bg-light{ border-top:1px solid var(--line); }

/* Rótulo de seção. Substitui o "badge pílula" que abria toda seção:
   mesma função de orientar, sem mais um objeto na tela. */
.kicker{ display:block; font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--muted-2); margin-bottom:.65rem; }
.bg-brand .kicker,.text-white .kicker{ color:rgba(255,255,255,.55); }
/* Páginas internas ainda usam o badge como rótulo: aqui ele cai no mesmo tom. */
.badge.rounded-pill.text-bg-light{
    background:transparent!important; border:0!important; padding:0!important;
    color:var(--muted-2)!important; font-size:.7rem; font-weight:700;
    letter-spacing:.14em; text-transform:uppercase;
}
.badge.rounded-pill.text-bg-light svg{ display:none; }

/* Cabeçalho de seção: medida de leitura curta em vez de linha corrida. */
.sec-head{ max-width:62ch; margin-bottom:1.9rem; }
.sec-head h2{ margin-bottom:.55rem; }
.sec-head p{ margin-bottom:0; color:var(--muted); }
.sec-head.text-center{ margin-left:auto; margin-right:auto; }

/* Cartões: fio no lugar da sombra. */
.card{ --bs-card-border-color:var(--line); }
.card.border-0{ box-shadow:inset 0 0 0 1px var(--line)!important; }

/* Marcador de lista. Antes era um "check" laranja repetido dezenas de vezes;
   em tom neutro ele volta a ser pontuação, e não destaque. */
.ck{ color:#78859a; flex:0 0 auto; }
.ck svg{ width:15px; height:15px; }
.bg-brand .ck,.text-white .ck{ color:rgba(255,255,255,.45); }

/* Abas dos módulos: barra sublinhada em vez de nove pílulas azuis. */
.nav-pills{
    --bs-nav-pills-border-radius:0;
    --bs-nav-pills-link-active-bg:transparent;
    --bs-nav-pills-link-active-color:var(--brand);
    border-bottom:1px solid var(--line);
}
.nav-pills .nav-link{
    color:var(--muted); font-weight:600; font-size:.9rem;
    padding:.6rem .1rem; margin-bottom:-1px;
    border-bottom:2px solid transparent; border-radius:0; white-space:nowrap;
}
.nav-pills .nav-link svg{ width:16px; height:16px; opacity:.7; }
.nav-pills .nav-link:hover{ color:var(--brand); }
.nav-pills .nav-link.active{ border-bottom-color:var(--accent); }
.nav-pills .nav-link.active svg{ opacity:1; }
/* No celular a barra rola na horizontal, sem quebrar em três linhas. */
.tabbar{ flex-wrap:nowrap; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; }
.tabbar::-webkit-scrollbar{ display:none; }

/* Botões: menos volume, mesma clareza. */
.btn{ --bs-btn-border-radius:.4rem; font-weight:600; }
.btn-lg{ --bs-btn-font-size:.97rem; --bs-btn-padding-y:.68rem; --bs-btn-padding-x:1.3rem; --bs-btn-border-radius:.4rem; }

/* Sequência de tópicos (Emitimos tudo, tipos de negócio): texto corrido em
   vez de parede de etiquetas. Muda a leitura de "lista de tags" para frase. */
.inline-list{ color:var(--muted); font-size:.88rem; line-height:1.9; }
.inline-list span,.inline-list a{ white-space:nowrap; }
.inline-list a{ color:var(--brand); text-decoration:none; font-weight:600; }
.inline-list a:hover{ text-decoration:underline; }
.inline-list .sep{ color:#c3ccda; margin:0 .12rem; }
.link-arrow{ color:var(--brand); font-weight:600; font-size:.88rem; text-decoration:none; white-space:nowrap; }
.link-arrow:hover{ color:var(--accent); }

a:focus-visible,button:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; box-shadow:none; }
@media (prefers-reduced-motion:no-preference){ html{ scroll-behavior:smooth; } }
.text-brand{ color:var(--brand)!important; }
.text-accent{ color:var(--accent)!important; }
.bg-brand{ background:var(--brand)!important; }
.bg-accent{ background:var(--accent)!important; }
.border-accent{ border-color:var(--accent)!important; }
.btn-primary{ --bs-btn-bg:#1B3E7A; --bs-btn-border-color:#1B3E7A; --bs-btn-hover-bg:#152c52; --bs-btn-hover-border-color:#152c52; --bs-btn-active-bg:#152c52; }
.btn-outline-primary{ --bs-btn-color:#1B3E7A; --bs-btn-border-color:#1B3E7A; --bs-btn-hover-bg:#1B3E7A; --bs-btn-hover-border-color:#1B3E7A; --bs-btn-active-bg:#1B3E7A; }
.btn-accent{ --bs-btn-bg:#F47920; --bs-btn-border-color:#F47920; --bs-btn-color:#fff; --bs-btn-hover-bg:#d9660f; --bs-btn-hover-border-color:#d9660f; --bs-btn-hover-color:#fff; --bs-btn-active-bg:#d9660f; --bs-btn-active-color:#fff; }
/* Ícone de apoio: moldura de fio, não bloco azul preenchido. Com dezenas
   deles na página, o quadrado colorido pesava mais que o próprio texto. */
.icon-box{ width:32px; height:32px; display:inline-flex; align-items:center; justify-content:center; border-radius:.35rem; background:transparent; border:1px solid var(--line); color:var(--brand); flex:0 0 auto; }
.icon-box svg{ width:17px; height:17px; }
.bg-brand .icon-box,.text-white .icon-box{ border-color:rgba(255,255,255,.25); color:#fff; }
.hero-bg{ background:linear-gradient(180deg,#f6f8fc 0%,#fff 100%); border-bottom:1px solid var(--line); }
.loc-pin{ width:36px;height:36px;border-radius:.35rem;background:#f2f5fa;border:1px solid var(--line);color:var(--brand);font-weight:700;font-size:.78rem;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto; }
.wa-float{ position:fixed; right:1rem; bottom:1rem; z-index:1040; }
.navbar-brand img{ height:42px; width:auto; }

/* ==========================================================================
   CABEÇALHO — barra informativa + menu com mega-menu
   ========================================================================== */
/* Barra informativa: fina, discreta, só no desktop */
.topbar{ background:var(--brand); color:#fff; font-size:.76rem; line-height:1; padding:.4rem 0; }
.topbar .tb-item{ display:inline-flex; align-items:center; gap:.35rem; color:rgba(255,255,255,.82); }
.topbar svg{ width:13px; height:13px; }
.topbar .tb-sep{ width:1px; height:12px; background:rgba(255,255,255,.28); margin:0 .85rem; display:inline-block; }
.topbar .tb-link{ display:inline-flex; align-items:center; gap:.35rem; color:#fff; text-decoration:none; font-weight:600; margin-left:1rem; }
.topbar .tb-link:first-of-type{ margin-left:0; }
.topbar .tb-link:hover{ color:var(--accent); }

/* Menu */
.amsys-nav{ background:#fff; padding:.5rem 0; box-shadow:0 1px 0 rgba(15,30,51,.07), 0 2px 10px rgba(15,30,51,.05); }
.amsys-nav .navbar-toggler{ border:1px solid #dfe5ee; padding:.35rem .55rem; }
.amsys-nav .navbar-toggler:focus{ box-shadow:none; }
.amsys-nav .nav-link{
    color:#25334a; font-weight:600; font-size:.94rem;
    padding:.5rem .85rem; position:relative;
}
.amsys-nav .nav-link:hover,
.amsys-nav .nav-link:focus,
.amsys-nav .show > .nav-link{ color:var(--brand); }

/* Ações à direita */
.nav-actions{ display:flex; align-items:center; gap:.75rem; }
.btn-entrar{
    display:inline-flex; align-items:center; gap:.35rem;
    color:var(--brand); font-weight:600; font-size:.9rem; text-decoration:none;
    padding:.45rem .25rem;
}
.btn-entrar svg{ width:15px; height:15px; }
.btn-entrar:hover{ color:var(--accent); }
.btn-consultor{ font-weight:600; font-size:.9rem; padding:.5rem 1.05rem; white-space:nowrap; }

/* ---- Desktop: sublinhado laranja, mega-menu e dropdowns ---- */
@media (min-width:992px){
    .amsys-nav .navbar-nav{ gap:.15rem; }
    /* A setinha do dropdown do Bootstrap é o ::after do .dropdown-toggle. Ela
       precisa sair ANTES do sublinhado, senão os dois disputam o mesmo
       pseudo-elemento e o item com submenu mistura o azul da seta com o
       laranja da barra. O indicador vai no ::before, igual em todos os itens. */
    .amsys-nav .dropdown-toggle::after{ display:none!important; }
    .amsys-nav .nav-link::before{
        content:''; position:absolute; left:.85rem; right:.85rem; bottom:.15rem;
        height:2px; background:var(--accent); border-radius:2px;
        transform:scaleX(0); transform-origin:left center; transition:transform .18s ease;
    }
    .amsys-nav .nav-link.nav-hl{ color:var(--brand); }
    .amsys-nav .nav-link.nav-hl::before,
    .amsys-nav .nav-link:hover::before,
    .amsys-nav .show > .nav-link::before{ transform:scaleX(1); }

    .amsys-nav .dropdown-menu{
        border:0; border-radius:.75rem; padding:.5rem;
        box-shadow:0 1rem 2.5rem -.75rem rgba(15,30,51,.22);
        margin-top:.4rem;
    }
    .amsys-nav .dropdown-item{
        display:flex; align-items:center; gap:.6rem;
        border-radius:.5rem; padding:.5rem .7rem; font-size:.9rem; color:#25334a;
    }
    .amsys-nav .dropdown-item svg{ width:16px; height:16px; color:var(--brand); flex:0 0 auto; }
    .amsys-nav .dropdown-item:hover{ background:var(--bs-primary-bg-subtle); color:var(--brand); }

    /* mega-menu: ocupa a largura da página */
    .nav-mega{ position:static; }
    .amsys-nav .dropdown-menu.mega{
        left:0; right:0; width:100%;
        border-radius:0 0 1rem 1rem; padding:1.5rem 0;
        margin-top:.5rem; border-top:1px solid #eef1f6;
    }
    .mega-col{ padding:0 .25rem; }
    .mega-head{ display:flex; align-items:center; gap:.6rem; padding-bottom:.6rem; margin-bottom:.5rem; border-bottom:1px solid #eef1f6; }
    .mega-head-ic{ width:34px; height:34px; border-radius:.5rem; background:var(--bs-primary-bg-subtle); color:var(--brand); display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
    .mega-head-ic svg{ width:17px; height:17px; }
    .mega-head-t{ display:block; font-weight:700; color:var(--brand); font-size:.92rem; line-height:1.1; }
    .mega-head-d{ display:block; font-size:.76rem; color:#8a94a6; }
    .mega-list{ list-style:none; margin:0; padding:0; }
    .mega-list a{
        display:flex; align-items:center; gap:.6rem;
        padding:.45rem .5rem; border-radius:.5rem;
        color:#25334a; text-decoration:none; font-size:.89rem;
    }
    .mega-list svg{ width:16px; height:16px; color:var(--accent); flex:0 0 auto; }
    .mega-list a:hover{ background:var(--bs-primary-bg-subtle); color:var(--brand); }

    .seg-link{ display:flex; align-items:center; gap:.6rem; padding:.5rem .6rem; border-radius:.6rem; text-decoration:none; }
    .seg-link-ic{ width:32px; height:32px; border-radius:.45rem; background:var(--bs-primary-bg-subtle); color:var(--brand); display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
    .seg-link-ic svg{ width:16px; height:16px; }
    .seg-link-t{ display:block; font-weight:600; color:var(--brand); font-size:.9rem; line-height:1.15; }
    .seg-link-d{ display:block; font-size:.76rem; color:#8a94a6; }
    .seg-link:hover{ background:var(--bs-primary-bg-subtle); }

    .mega-foot{
        display:flex; align-items:center; flex-wrap:wrap; gap:1.25rem;
        margin-top:1.25rem; padding:.85rem 1.1rem; background:#f7f9fc;
        border:1px solid #eef1f6; border-radius:.75rem;
    }
    .mega-foot a{ display:inline-flex; align-items:center; gap:.4rem; font-size:.85rem; font-weight:600; color:var(--brand); text-decoration:none; }
    .mega-foot a svg{ width:15px; height:15px; color:var(--accent); }
    .mega-foot a:hover{ color:var(--accent); }
    .mega-foot-cta{ margin-left:auto; color:var(--accent)!important; }
}

/* ---- Mobile: tudo virando lista dentro do hambúrguer ---- */
@media (max-width:991.98px){
    .amsys-nav .navbar-collapse{ padding-top:.5rem; }
    .amsys-nav .nav-link{ padding:.6rem .25rem; border-bottom:1px solid #f1f4f8; }
    .amsys-nav .dropdown-menu{ border:0; box-shadow:none; padding:.25rem 0 .5rem .5rem; background:#f8fafc; border-radius:.5rem; margin:.25rem 0 .5rem; }
    .amsys-nav .dropdown-item{ display:flex; align-items:center; gap:.5rem; font-size:.9rem; padding:.45rem .5rem; }
    .amsys-nav .dropdown-item svg{ width:15px; height:15px; color:var(--brand); flex:0 0 auto; }
    .mega .container{ padding:0; }
    .mega-head{ display:flex; align-items:center; gap:.5rem; padding:.5rem .5rem .35rem; }
    .mega-head-ic{ display:none; }
    .mega-head-t{ font-weight:700; color:var(--brand); font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; }
    .mega-head-d{ display:none; }
    .mega-list{ list-style:none; margin:0 0 .5rem; padding:0; }
    .mega-list a, .seg-link{ display:flex; align-items:center; gap:.5rem; padding:.45rem .5rem; color:#25334a; text-decoration:none; font-size:.9rem; }
    .mega-list svg, .seg-link-ic svg{ width:15px; height:15px; color:var(--accent); flex:0 0 auto; }
    .seg-link-ic{ display:inline-flex; }
    .seg-link-t{ font-weight:600; }
    .seg-link-d{ display:none; }
    .mega-foot{ display:flex; flex-direction:column; gap:.5rem; padding:.5rem; border-top:1px solid #e9edf3; margin-top:.25rem; }
    .mega-foot a{ display:inline-flex; align-items:center; gap:.4rem; color:var(--brand); text-decoration:none; font-size:.88rem; font-weight:600; }
    .mega-foot a svg{ width:15px; height:15px; color:var(--accent); }
    .nav-actions{ display:flex; flex-direction:column; align-items:stretch; gap:.5rem; padding:.75rem .25rem .25rem; }
    .btn-entrar{ justify-content:center; border:1px solid #dfe5ee; border-radius:.5rem; padding:.55rem; }
    .btn-consultor{ width:100%; padding:.65rem; }
}
/* ------------------------------------------------------------------
   Menu no mobile. O position:sticky do Bootstrap não se sustenta no
   Chrome/Android: quando a barra de endereço recolhe, a viewport muda de
   altura e a barra repinta fora de lugar (aparece cortada no topo).
   Abaixo de 992px usamos position:fixed, que não depende disso, e
   compensamos a altura com padding no body.
   ------------------------------------------------------------------ */
:root{ --nav-h:60px; }
html{ scroll-padding-top:calc(var(--nav-h) + 10px); }
@media (max-width:991.98px){
    body{ padding-top:var(--nav-h); }
    .navbar.sticky-top{
        position:fixed; top:0; left:0; right:0; width:100%;
        min-height:var(--nav-h);
    }
    .navbar.sticky-top .navbar-collapse{
        max-height:calc(100vh - var(--nav-h));
        max-height:calc(100dvh - var(--nav-h));
        overflow-y:auto;
        overscroll-behavior:contain;
        -webkit-overflow-scrolling:touch;
    }
    .navbar.sticky-top .navbar-collapse.show,
    .navbar.sticky-top .navbar-collapse.collapsing{
        background:#fff;
        box-shadow:0 .75rem 1rem -.5rem rgba(15,30,51,.18);
        padding-bottom:.5rem;
    }
}
footer a{ text-decoration:none; }
footer a:hover{ text-decoration:underline; }
/* Pergunta aberta: só o peso do texto muda. O fundo azul-claro do padrão
   pintava um bloco inteiro a cada clique. */
.accordion{ --bs-accordion-btn-focus-box-shadow:none; --bs-accordion-border-color:var(--line); --bs-accordion-active-bg:transparent; --bs-accordion-active-color:var(--brand); }
.accordion-button{ font-weight:500; font-size:.95rem; }
.accordion-button:not(.collapsed){ font-weight:600; box-shadow:none; }
.accordion-button::after{ width:1rem; height:1rem; background-size:1rem; }
.accordion-body{ font-size:.92rem; padding-top:0; }

/* ==========================================================================
   ASSISTENTE VIRTUAL (widget flutuante) — par de views/site/inc/site_chat.php
   ========================================================================== */
.ac{ position:fixed; right:1rem; bottom:1rem; z-index:1045; font-size:.9rem; }
body.ac-lock{ overflow:hidden; }

/* Botão flutuante */
.ac-launcher{
    display:inline-flex; align-items:center; gap:.5rem;
    background:var(--brand); color:#fff; border:0; border-radius:2rem;
    padding:.6rem .95rem .6rem .6rem; font-weight:600; font-size:.9rem;
    box-shadow:0 .5rem 1.5rem -.3rem rgba(15,30,51,.38); cursor:pointer;
    transition:transform .15s, background .15s; position:relative;
}
.ac-launcher:hover{ background:#152c52; transform:translateY(-2px); }
.ac-launcher-ic{ width:34px; height:34px; border-radius:50%; background:var(--accent); display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.ac-launcher-ic svg{ width:19px; height:19px; }
.ac-dot{ position:absolute; top:.45rem; left:2rem; width:9px; height:9px; border-radius:50%; background:#28c76f; border:2px solid var(--brand); }
.ac.is-open .ac-launcher{ display:none; }

/* Convite discreto na primeira visita */
.ac.has-nudge .ac-launcher{ animation:ac-nudge 1.6s ease-in-out 3; }
@keyframes ac-nudge{ 0%,100%{ transform:translateY(0) } 30%{ transform:translateY(-6px) } 60%{ transform:translateY(0) } }
@media (prefers-reduced-motion:reduce){ .ac.has-nudge .ac-launcher{ animation:none; } }

/* Painel */
.ac-panel{
    width:min(370px, calc(100vw - 2rem)); height:min(560px, calc(100vh - 6rem));
    display:flex; flex-direction:column; overflow:hidden;
    background:#fff; border-radius:1rem;
    box-shadow:0 1.5rem 3rem -.5rem rgba(15,30,51,.32);
    animation:ac-in .18s ease-out;
}
@keyframes ac-in{ from{ opacity:0; transform:translateY(12px) } to{ opacity:1; transform:none } }
@media (prefers-reduced-motion:reduce){ .ac-panel{ animation:none; } }

.ac-head{ display:flex; align-items:center; gap:.6rem; background:var(--brand); color:#fff; padding:.75rem .9rem; }
.ac-avatar{ width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.14); display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.ac-head-t{ line-height:1.2; flex:1 1 auto; min-width:0; }
.ac-head-t strong{ display:block; font-size:.92rem; }
.ac-head-t span{ display:block; font-size:.74rem; color:rgba(255,255,255,.7); }
.ac-close{ background:none; border:0; color:#fff; font-size:1.5rem; line-height:1; padding:0 .25rem; cursor:pointer; opacity:.8; }
.ac-close:hover{ opacity:1; }

.ac-body{ flex:1 1 auto; overflow-y:auto; overscroll-behavior:contain; padding:.9rem; background:#f7f9fc; display:flex; flex-direction:column; gap:.5rem; }
.ac-msg{ max-width:88%; padding:.6rem .75rem; border-radius:.85rem; line-height:1.45; }
.ac-bot{ background:#fff; color:#25334a; border:1px solid #e8edf4; border-bottom-left-radius:.25rem; align-self:flex-start; }
.ac-user{ background:var(--brand); color:#fff; border-bottom-right-radius:.25rem; align-self:flex-end; font-weight:500; }
.ac-msg b{ color:var(--brand); }
.ac-user b{ color:#fff; }
.ac-list{ margin:.5rem 0 0; padding-left:1.1rem; }
.ac-list li{ margin-bottom:.15rem; }

.ac-typing{ display:inline-flex; gap:.22rem; padding:.7rem .8rem; }
.ac-typing span{ width:6px; height:6px; border-radius:50%; background:#b8c2d1; animation:ac-blink 1.2s infinite; }
.ac-typing span:nth-child(2){ animation-delay:.18s; }
.ac-typing span:nth-child(3){ animation-delay:.36s; }
@keyframes ac-blink{ 0%,60%,100%{ opacity:.3 } 30%{ opacity:1 } }

.ac-opts{ display:flex; flex-wrap:wrap; gap:.4rem; padding:.6rem .9rem; background:#f7f9fc; border-top:1px solid #e8edf4; max-height:11rem; overflow-y:auto; }
.ac-opt{
    background:#fff; border:1px solid #cfd9e8; color:var(--brand);
    border-radius:2rem; padding:.4rem .8rem; font-size:.84rem; font-weight:600;
    cursor:pointer; transition:.15s;
}
.ac-opt:hover{ background:var(--brand); border-color:var(--brand); color:#fff; }
.ac-opt-cta{ background:var(--accent); border-color:var(--accent); color:#fff; }
.ac-opt-cta:hover{ background:#d9660f; border-color:#d9660f; }
.ac-skip{ border-style:dashed; }

.ac-form{ display:flex; gap:.4rem; width:100%; }
.ac-input{ flex:1 1 auto; min-width:0; border:1px solid #cfd9e8; border-radius:2rem; padding:.4rem .8rem; font-size:.85rem; }
.ac-input:focus{ outline:none; border-color:var(--brand); }

.ac-foot{ display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:.55rem .9rem; border-top:1px solid #e8edf4; background:#fff; }
.ac-restart{ background:none; border:0; color:#7c879a; font-size:.78rem; cursor:pointer; padding:0; }
.ac-restart:hover{ color:var(--brand); }
.ac-wa{ font-size:.8rem; font-weight:700; color:#1faa53; text-decoration:none; }
.ac-wa:hover{ text-decoration:underline; }

/* Celular: o painel ocupa a tela */
@media (max-width:575.98px){
    .ac{ right:.75rem; bottom:.75rem; left:.75rem; }
    .ac-launcher{ float:right; }
    .ac-launcher-txt{ display:none; }
    .ac-launcher{ padding:.5rem; border-radius:50%; }
    .ac-dot{ top:.15rem; left:2.1rem; }
    .ac-panel{ width:100%; height:min(80vh, 80dvh); }
}

/* ==========================================================================
   PROTEÇÃO DE CONTEÚDO — par de assets/site/js/guard.js
   Aviso e toast exibidos ao detectar DevTools / atalhos de cópia.
   ========================================================================== */
.pg-toast{
    position:fixed; left:50%; bottom:1.25rem; transform:translate(-50%,1rem);
    background:#0f1e33; color:#fff; font-size:.82rem; font-weight:600;
    padding:.55rem 1rem; border-radius:2rem; z-index:2147483000;
    box-shadow:0 .5rem 1.5rem -.3rem rgba(15,30,51,.45);
    opacity:0; pointer-events:none; transition:opacity .2s, transform .2s;
}
.pg-toast.is-on{ opacity:1; transform:translate(-50%,0); }

.pg-overlay{
    position:fixed; inset:0; z-index:2147483001;
    background:rgba(10,20,36,.82); backdrop-filter:blur(3px);
    display:flex; align-items:center; justify-content:center; padding:1.25rem;
    animation:pg-in .16s ease-out;
}
@keyframes pg-in{ from{ opacity:0 } to{ opacity:1 } }
@media (prefers-reduced-motion:reduce){ .pg-overlay{ animation:none } .pg-toast{ transition:none } }

.pg-box{
    background:#fff; border-radius:1rem; max-width:460px; width:100%;
    padding:1.75rem 1.5rem; text-align:center;
    box-shadow:0 1.5rem 3rem -.5rem rgba(0,0,0,.45);
}
.pg-ic{
    width:64px; height:64px; margin:0 auto 1rem; border-radius:50%;
    background:var(--bs-primary-bg-subtle); color:var(--brand);
    display:flex; align-items:center; justify-content:center;
}
.pg-box h2{ font-size:1.25rem; font-weight:700; color:var(--brand); margin-bottom:.75rem; }
.pg-box p{ font-size:.88rem; color:#5a6779; line-height:1.5; margin-bottom:.75rem; }
.pg-box p b{ color:var(--brand); }
.pg-mon{
    background:#fff6ef; border:1px solid #f7d6bb; border-radius:.6rem;
    padding:.7rem .85rem; text-align:left;
}
.pg-mon b{ color:#c25a0d!important; }
.pg-ok{
    margin-top:.5rem; background:var(--brand); color:#fff; border:0;
    border-radius:2rem; padding:.6rem 1.5rem; font-weight:600; font-size:.9rem;
    cursor:pointer;
}
.pg-ok:hover{ background:#152c52; }
