/* ============================================================
   reporte.css — ajustes do site Reporte Seguro sobre o template Bizan
   (arquivo separado do main.css para facilitar manutenção/remoção)
   ============================================================ */
:root {
    --rs-primary: #6419d9;
    --rs-primary-2: #8743ff;
    --rs-dark: #0f172a;
}

/* ---------- Topo (header-3): overlay de vidro fosco (deixa ver o hero atrás, sem cor sólida) ---------- */
.header.header-3 .overlay {
    /* cobre TODA a altura do cabeçalho (o template deixava a parte de baixo
       sem overlay, aparecendo a imagem crua nas laterais do menu) */
    top: 0;
    bottom: 0;
    height: 100%;
    background: rgba(10,15,35,.20);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(255,255,255,.12);
}

/* ---------- Cabeçalho: em telas médias, encolhe o menu p/ caber numa linha (logo intacta) ---------- */
@media (min-width: 992px) and (max-width: 1300px) {
    .header .primary-header-inner { -ms-flex-wrap: nowrap; flex-wrap: nowrap; }
    .header .primary-header-inner .header-menu-wrap ul li { margin: 0 9px; }
    .header .primary-header-inner .header-menu-wrap ul li a { font-size: 14.5px; }
    .header .primary-header-inner .header-right .bz-primary-btn { white-space: nowrap; }
}
/* Abaixo de 1200px o botão "Área do Cliente" some (continua acessível no menu lateral do hambúrguer) */
@media (min-width: 992px) and (max-width: 1200px) {
    .header .primary-header-inner .header-right .bz-primary-btn { display: none; }
}

/* ---------- Hero home-03: imagem de fundo + 2 campos de busca (botão roxo) ---------- */
.rs-hero-bg { position: relative; background-position: center; background-size: cover; background-repeat: no-repeat; }
/* overlay bem leve: do preto (esquerda) p/ o azul do template (#1E6EE7), opacidade baixa */
.rs-hero-bg::before { content:''; position:absolute; inset:0; z-index:0;
    background: linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(12,28,66,.32) 45%, rgba(30,110,231,.14) 100%); }
.rs-hero-bg .container-2 { position: relative; z-index: 2; }
/* shape-2 decorativa do hero: o template deixava a imagem ~78px mais estreita
   que a tela, criando uma linha vertical na direita. Aqui ela cobre a largura
   toda. (O shape-1 fica intacto, como no template.) */
.rs-hero-bg .shapes .shape-2 { left: 0; right: 0; width: 100%; }
.rs-hero-bg .shapes .shape-2 img { width: 100%; }
.rs-hero-bg .hero-content-3 { max-width: 820px; padding: 270px 0 150px; }
.rs-hero-bg .section-title { color: #fff; }
.rs-hero-bg .sub-heading { color: #c4b5fd; }
.rs-hero-bg .sub-heading i { margin-left: 6px; }
.rs-hero-forms { max-width: 750px; }
.rs-hero-field { display: flex; gap: 10px; background: #fff; border-radius: 12px; padding: 7px; box-shadow: 0 14px 44px rgba(0,0,0,.22); }
.rs-hero-field input { flex: 1; min-width: 0; border: 1px solid #dcdfec; outline: none; padding: 12px 16px; font-size: 1rem; background: #fff; color: #1e293b; border-radius: 9px; transition: border-color .15s, box-shadow .15s; }
.rs-hero-btn { border: 0; border-radius: 9px; padding: 12px 22px; color: #fff; font-weight: 600; cursor: pointer; white-space: nowrap; transition: filter .15s;
    background: linear-gradient(135deg, var(--rs-primary) 0%, var(--rs-primary-2) 100%); }
.rs-hero-btn:hover { filter: brightness(1.08); }
.rs-hero-btn i { margin-right: 6px; }
/* select2 no campo "buscar empresa" do hero (encaixa na pílula branca) */
.rs-hero-field .select2-container { flex: 1; min-width: 0; }
.rs-hero-field .select2-container--default .select2-selection--single { height: 48px; border: 1px solid #dcdfec; background: #fff; border-radius: 9px; display: flex; align-items: center; outline: none; transition: border-color .15s, box-shadow .15s; }
.rs-hero-field .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0 8px 0 12px; color: #1e293b; font-size: 1rem; line-height: 48px; }
.rs-hero-field .select2-container--default .select2-selection--single .select2-selection__placeholder { color: #475569; font-weight: 500; }
.rs-hero-field .select2-container--default .select2-selection--single .select2-selection__arrow { top: 50%; transform: translateY(-50%); height: 26px; right: 12px; }
.rs-hero-field .select2-container--default .select2-selection--single .select2-selection__arrow b { margin-top: -3px; }
.rs-hero-field .rs-empresa-select { flex: 1; min-width: 0; border: 1px solid #dcdfec; outline: none; background: #fff; padding: 12px 16px; font-size: 1rem; color: #1e293b; border-radius: 9px; transition: border-color .15s, box-shadow .15s; }
/* placeholders do hero com a mesma visibilidade (empresa e protocolo) */
.rs-hero-field input::placeholder { color: #475569; font-weight: 500; opacity: 1; }
/* realce ao focar/clicar no campo */
.rs-hero-field input:focus,
.rs-hero-field .rs-empresa-select:focus,
.rs-hero-field .select2-container--focus .select2-selection--single,
.rs-hero-field .select2-container--open .select2-selection--single { border-color: var(--rs-primary); box-shadow: 0 0 0 3px rgba(100,25,217,.12); }
.select2-container--open .select2-dropdown { border-color: #e6e8f5; }
/* botão de limpar como badge "× limpar" */
.rs-hero-field .select2-container--default .select2-selection--single .select2-selection__rendered { padding-right: 62px; }
.rs-hero-field .select2-selection__clear {
    float: right;
    margin: 14px 10px 0 8px;
    padding: 3px 11px 4px;
    background: #f1e9ff;
    color: var(--rs-primary);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: background .15s, color .15s;
}
.rs-hero-field .select2-selection__clear:hover { background: var(--rs-primary); color: #fff; }
.rs-hero-field .select2-selection__clear::after { content: " limpar"; }
.rs-hero-note { color: rgba(255,255,255,.92); margin: 40px 0 12px; font-size: 1.26rem; font-weight: 500; }
@media (max-width: 991px){
    .rs-hero-bg .hero-content-3 { padding: 200px 0 110px; }
}
@media (max-width: 767px){
    .rs-hero-bg .hero-content-3 { padding: 120px 0 90px; }
    .rs-hero-field { flex-wrap: wrap; }
    .rs-hero-field input, .rs-hero-btn { width: 100%; }
    .rs-hero-field input { padding: 16px 16px; }
    .rs-hero-field .rs-empresa-select { padding: 16px 16px; }
    .rs-hero-field .select2-container--default .select2-selection--single { height: 56px; }
    .rs-hero-field .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 56px; }
    .rs-hero-field .select2-selection__clear { margin-top: 18px; }
    .rs-hero-btn { padding: 15px 22px; }
    .rs-hero-note { font-size: 1.3rem; }
}

/* ---------- Cards promo sobrepondo o hero (usado no index2.php) ---------- */
.promo-section.rs-promo-overlap { position: relative; z-index: 3; margin-top: -150px; padding-top: 0; }
/* altura igual nos 3 cards */
.promo-section.rs-promo-overlap .row { align-items: stretch; }
.promo-section.rs-promo-overlap .promo-item { height: 100%; }
/* alinhar as linhas de texto: título reserva 2 linhas, parágrafo 3 linhas */
.promo-section.rs-promo-overlap .promo-item .title { min-height: 2.4em; margin-bottom: 12px; }
.promo-section.rs-promo-overlap .promo-item p { font-size: 16px; line-height: 1.6; min-height: 4.6em; margin-bottom: 0; }
@media (max-width: 991px){
    .promo-section.rs-promo-overlap { margin-top: -110px; }
}
@media (max-width: 767px){
    .promo-section.rs-promo-overlap { margin-top: 40px; }
}

/* ---------- Banner das páginas internas (page-header) ---------- */
.rs-page-header {
    position: relative;
    background: linear-gradient(135deg, #0f172a 0%, #23124d 55%, #4a1fb0 100%);
    padding: 30px;
    overflow: hidden;
}
.rs-page-header .overlay {
    position: absolute; inset: 0;
    background-image:
        radial-gradient(circle at 18% 35%, rgba(132, 67, 255, .28) 0%, transparent 45%),
        radial-gradient(circle at 82% 65%, rgba(100, 25, 217, .22) 0%, transparent 45%);
    pointer-events: none;
}
.rs-page-header .page-header-content { position: relative; z-index: 2; padding: 195px 0 30px; }
.rs-page-header .rs-ph-left { text-align: left; }
.rs-page-header .rs-ph-subtitle { color: rgba(255,255,255,.82); font-size: 1.05rem; margin: 14px 0 0; max-width: 600px; line-height: 1.55; }
.rs-page-header .title { color: #fff; font-weight: 800; margin-bottom: 12px; }
.rs-page-header .sub-title { color: rgba(255,255,255,.85); font-weight: 500; }
.rs-page-header .sub-title a { color: #fff; }
.rs-page-header .sub-title .icon { margin: 0 8px; opacity: .7; }
@media (max-width: 767px){ .rs-page-header .page-header-content { padding: 130px 0 46px; } .rs-page-header .rs-ph-subtitle { font-size: .95rem; } }

/* ---------- Cards de recursos (grade de funcionalidades) ---------- */
.rs-feature-grid { margin-top: 10px; }
.rs-feature-card {
    height: 100%;
    background: #fff;
    border: 1px solid #eef0fb;
    border-radius: 16px;
    padding: 30px 26px;
    box-shadow: 0 6px 24px rgba(15,23,42,.05);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas: "icon title" "text text";
    column-gap: 18px;
    align-items: center;
}
.rs-feature-card:hover { transform: translateY(-6px); box-shadow: 0 16px 40px rgba(100,25,217,.14); border-color: #ddd3ff; }
.rs-feature-card .rs-ic {
    grid-area: icon;
    width: 62px; height: 62px; border-radius: 14px;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.5rem; color: #fff; margin-bottom: 0;
    background: linear-gradient(135deg, var(--rs-primary) 0%, var(--rs-primary-2) 100%);
    box-shadow: 0 8px 20px rgba(100,25,217,.28);
}
.rs-feature-card h3 { grid-area: title; font-size: 1.18rem; font-weight: 700; margin-bottom: 0; color: var(--rs-dark); }
.rs-feature-card p { grid-area: text; color: #64748b; line-height: 1.65; margin: 16px 0 0; }

/* seta indicando o dropdown "Nosso Canal" no menu */
.rs-nav-caret { font-size: .72rem; margin-left: 5px; transition: transform .25s ease; }
.menu-item-has-children:hover > a .rs-nav-caret { transform: rotate(180deg); }

/* ---------- Lista com checks (quem somos / vantagens) ---------- */
.rs-check-list { list-style: none; padding: 0; margin: 0; }
.rs-check-list li { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 16px; color: #475569; line-height: 1.6; }
.rs-check-list li i { color: var(--rs-primary); font-size: 1.15rem; margin-top: 3px; flex-shrink: 0; }
.rs-badge-novo { background: #16a34a; color: #fff; font-size: .68rem; font-weight: 700; padding: 2px 8px; border-radius: 20px; margin-left: 6px; vertical-align: middle; }

/* ---------- Botões de download do app ---------- */
.rs-app-buttons { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 8px; }
.rs-app-btn {
    display: inline-flex; align-items: center; gap: 12px;
    background: #0f172a; color: #fff !important;
    border-radius: 12px; padding: 12px 22px; text-decoration: none !important;
    transition: transform .2s ease, background .2s ease;
    border: 1px solid rgba(255,255,255,.12);
}
.rs-app-btn:hover { transform: translateY(-3px); background: #1e293b; }
.rs-app-btn i { font-size: 1.9rem; line-height: 1; }
.rs-app-btn .rs-app-txt { display: flex; flex-direction: column; line-height: 1.15; text-align: left; }
.rs-app-btn .rs-app-txt small { font-size: .7rem; opacity: .8; }
.rs-app-btn .rs-app-txt b { font-size: 1.02rem; font-weight: 700; }

/* ---------- Busca de empresas (canais) ---------- */
.rs-search-wrap { max-width: 640px; margin: 0 auto; }
.rs-search-box { display: flex; gap: 10px; background: #fff; border: 1px solid #e6e8f5; border-radius: 14px; padding: 8px; box-shadow: 0 8px 30px rgba(15,23,42,.06); }
.rs-search-box input { flex: 1; border: 0; outline: none; padding: 12px 16px; font-size: 1rem; background: transparent; }
.rs-search-box button { border: 0; border-radius: 10px; padding: 0 22px; color: #fff; font-weight: 600; cursor: pointer; background: linear-gradient(135deg, var(--rs-primary) 0%, var(--rs-primary-2) 100%); white-space: nowrap; }
.rs-search-box button i { margin-right: 6px; }
.rs-search-note { text-align: center; color: #64748b; margin-top: 16px; font-size: .95rem; }

/* ---------- App store buttons no rodapé / footer contact ---------- */
.footer-contact-list li { display: flex; align-items: center; gap: 10px; }
.footer-contact-list li i { color: white; width: 18px; text-align: center; }

/* ícone do botão "Área do Cliente" com respiro (não colado no texto) */
.bz-primary-btn .fa-user { margin-right: 7px; }

/* rodapé: quando o link quebra em 2 linhas, o texto alinha (não fica sob a seta) */
.footer-widget .footer-list li a { display: inline-block; }
.footer-widget .footer-list li a:before { top: 0.55em; transform: translateY(-50%); }

/* ---------- Cartões de plano (WhatsApp) ---------- */
.pricing-item .pricing-btn i { margin-left: 6px; }

/* ---------- Notícias: cards padronizados (mesma altura) ---------- */
.post-card .post-excerpt { color: #64748b; line-height: 1.6; margin: 8px 0 0; }
/* imagem mais alta e colada à área cinza (sem vão) */
.post-card .post-thumb { height: 290px; }
.post-card .post-thumb > a { display: block; width: 100%; height: 100%; }
.post-card .post-thumb > a img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* todos os cards da linha com a mesma altura + "continue lendo" alinhado embaixo */
.post-card { height: 100%; display: flex; flex-direction: column; }
.post-card .post-content-wrap { flex: 1 1 auto; display: flex; flex-direction: column; }
.post-card .post-content { flex: 1 1 auto; margin-bottom: 20px; }

/* ---------- Quem somos: remove a cor que cobre a foto (mantém a entrada) ---------- */
.about-section-3 .about-img-3 .img-overlay { background-color: #fff !important; }
.rs-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 50px; flex-wrap: wrap; }
.rs-pagination a, .rs-pagination span {
    min-width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center;
    border-radius: 10px; border: 1px solid #e6e8f5; color: var(--rs-dark); text-decoration: none; font-weight: 600;
    transition: all .2s ease;
}
.rs-pagination a:hover { border-color: var(--rs-primary); color: var(--rs-primary); }
.rs-pagination .current { background: linear-gradient(135deg, var(--rs-primary) 0%, var(--rs-primary-2) 100%); color: #fff; border-color: transparent; }
.rs-pagination .disabled { opacity: .45; pointer-events: none; }

/* filtro de notícias: categoria + busca na mesma linha */
.rs-news-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; max-width: 760px; margin: 0 auto 45px; background: #fff; border: 1px solid #e6e8f5; border-radius: 14px; padding: 8px; box-shadow: 0 8px 30px rgba(15,23,42,.06); }
.rs-news-filter .rs-news-cat, .rs-news-filter .rs-news-search { height: 48px; line-height: 24px; border: 0; outline: none; padding: 12px 16px; font-size: 1rem; background: transparent; color: #1e293b; border-radius: 8px; }
.rs-news-filter .rs-news-cat { min-width: 210px; border-right: 1px solid #eef0fb; cursor: pointer; }
.rs-news-filter .rs-news-search { flex: 1; min-width: 150px; }
.rs-news-filter .rs-news-btn { height: 48px; border: 0; border-radius: 10px; padding: 0 24px; color: #fff; font-weight: 600; cursor: pointer; background: linear-gradient(135deg, var(--rs-primary) 0%, var(--rs-primary-2) 100%); white-space: nowrap; }
.rs-news-filter .rs-news-btn i { margin-right: 6px; }
@media (max-width: 576px){
    .rs-news-filter .rs-news-cat { width: 100%; border-right: 0; border-bottom: 1px solid #eef0fb; }
    .rs-news-filter .rs-news-search { width: 100%; }
    .rs-news-filter .rs-news-btn { width: 100%; padding: 12px; }
}

/* ---------- Endereço no rodapé (item multi-linha: ícone e seta alinhados ao topo) ---------- */
.footer-widget .footer-contact-list li.rs-end { display: flex; align-items: flex-start; gap: 6px; }
.footer-widget .footer-contact-list li.rs-end > i { margin-top: 5px; flex-shrink: 0; }
.footer-widget .footer-contact-list li.rs-end a { line-height: 1.55; }
.footer-widget .footer-contact-list li.rs-end a:before { top: 6px; -webkit-transform: none; transform: none; }

/* ---------- Mapa Google (página de contato) ---------- */
.rs-map-section { line-height: 0; }
.rs-map-section iframe { display: block; width: 100%; height: 440px; border: 0; }

/* ---------- Carrossel de telas do sistema (Recursos / Aplicativo) ---------- */
.rs-screens-swiper { padding-bottom: 55px; overflow: hidden; }
.rs-screens-swiper .swiper-slide img { width: 100%; height: auto; border-radius: 14px; box-shadow: 0 18px 50px rgba(15,23,42,.15); border: 1px solid #eef0fb; display: block; }
.rs-screens-swiper .swiper-pagination { bottom: 0; }
.rs-screens-swiper .swiper-pagination-bullet { background: #cbb8e6; opacity: .6; }
.rs-screens-swiper .swiper-pagination-bullet-active { background: var(--rs-primary); opacity: 1; }

/* ---------- "Por que escolher" (home): reaproveita o quadrado branco do template, sem o card, empilhado ---------- */
.rs-why .service-item-2 { background: none; border: 0; box-shadow: none; -webkit-filter: none; filter: none; padding: 0; border-radius: 0; display: flex; align-items: center; gap: 22px; }
.rs-why .service-item-2:not(:last-child) { margin-bottom: 26px; }
.rs-why .service-item-2 .icon { margin-bottom: 0; flex-shrink: 0; }
.rs-why .service-item-2 .icon i { font-size: 32px; color: var(--rs-primary); }
.rs-why .service-item-2 .content .title { font-size: 20px; margin-bottom: 8px; }

/* ---------- Notícia (detalhe) conteúdo ---------- */
.rs-article-body { color: #334155; line-height: 1.8; font-size: 1.02rem; }
.rs-article-body img { max-width: 100%; height: auto; border-radius: 10px; margin: 14px 0; }
.rs-article-body h1, .rs-article-body h2, .rs-article-body h3, .rs-article-body h4 { color: var(--rs-dark); margin: 26px 0 12px; font-weight: 700; line-height: 1.3; }
.rs-article-body h1 { font-size: 1.8rem; }
.rs-article-body h2 { font-size: 1.55rem; }
.rs-article-body h3 { font-size: 1.3rem; }
.rs-article-body h4 { font-size: 1.12rem; }
@media (max-width: 767px){
    .rs-article-body h1 { font-size: 1.4rem; }
    .rs-article-body h2 { font-size: 1.3rem; }
    .rs-article-body h3 { font-size: 1.15rem; }
}
.rs-article-body iframe { max-width: 100%; }
.rs-article-cover { border-radius: 14px; overflow: hidden; margin-bottom: 26px; }
.rs-article-cover img { width: 100%; display: block; }
.rs-video-topo { position: relative; width: 100%; aspect-ratio: 16/9; margin-bottom: 26px; border-radius: 14px; overflow: hidden; background:#000; }
.rs-video-topo iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.rs-share { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 30px; padding-top: 22px; border-top: 1px solid #eef0fb; }
.rs-share span.lbl { font-weight: 700; color: var(--rs-dark); }
.rs-share a { width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff !important; transition: transform .2s; }
.rs-share a:hover { transform: translateY(-3px); }
.rs-share a.fb{background:#1877f2;} .rs-share a.wa{background:#25d366;} .rs-share a.li{background:#0077b5;} .rs-share a.x{background:#000;}

/* título da leitura menor (só nesta página) */
.blog-details .details-title { font-size: 1.9rem; line-height: 1.3; }
@media (max-width: 767px){ .blog-details .details-title { font-size: 1.45rem; } }

/* CTA lateral da notícia */
.rs-side-cta {
    background: linear-gradient(135deg, #0f172a 0%, #23124d 55%, #4a1fb0 100%);
    border-radius: 16px; padding: 32px 26px; text-align: center; color: #fff;
    position: relative; overflow: hidden;
}
.rs-side-cta::before { content:''; position:absolute; top:-40px; right:-40px; width:150px; height:150px; border-radius:50%; background: radial-gradient(circle, rgba(132,67,255,.45) 0%, transparent 70%); }
.rs-side-cta > * { position: relative; z-index: 1; }
.rs-side-cta-icon { width:64px; height:64px; border-radius:16px; background: rgba(255,255,255,.14); display:inline-flex; align-items:center; justify-content:center; font-size:1.7rem; color:#fff; margin-bottom:18px; }
.rs-side-cta h3 { color:#fff; font-size:1.22rem; font-weight:700; margin-bottom:10px; }
.rs-side-cta p { color: rgba(255,255,255,.82); font-size:.95rem; line-height:1.6; margin-bottom:22px; }
.rs-side-cta-btn { display:inline-flex; align-items:center; gap:8px; background:#fff; color:#0f172a !important; font-weight:700; padding:12px 24px; border-radius:10px; text-decoration:none !important; transition: transform .2s; }
.rs-side-cta-btn:hover { transform: translateY(-3px); }

/* Galeria de fotos da notícia */
.rs-galeria { margin-top: 34px; padding-top: 26px; border-top: 1px solid #eef0fb; }
.rs-galeria-title { display:flex; align-items:center; gap:8px; font-weight:700; color: var(--rs-dark); margin-bottom:16px; }
.rs-galeria-title i { color: var(--rs-primary); }
.rs-galeria-title span { color:#94a3b8; font-weight:400; font-size:.9rem; }
.rs-galeria-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
@media (max-width:576px){ .rs-galeria-grid { grid-template-columns:repeat(2,1fr); } }
.rs-galeria-item { position:relative; aspect-ratio:1/1; overflow:hidden; border-radius:12px; display:block; background:#f1f5f9; cursor:pointer; }
.rs-galeria-item img { width:100%; height:100%; object-fit:cover; display:block; transition: transform .35s ease; }
.rs-galeria-item:hover img { transform: scale(1.06); }

/* Lightbox da galeria */
.rs-lightbox { position:fixed; inset:0; z-index:10000; background:rgba(15,20,45,.95); display:none; align-items:center; justify-content:center; padding:40px; }
.rs-lightbox.show { display:flex; }
.rs-lightbox img { max-width:100%; max-height:85vh; border-radius:8px; box-shadow:0 8px 40px rgba(0,0,0,.5); }
.rs-lb-close, .rs-lb-prev, .rs-lb-next { position:absolute; background:rgba(255,255,255,.15); color:#fff; border:0; width:46px; height:46px; border-radius:50%; font-size:1.2rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s; }
.rs-lb-close:hover, .rs-lb-prev:hover, .rs-lb-next:hover { background:rgba(255,255,255,.32); }
.rs-lb-close { top:20px; right:20px; }
.rs-lb-prev { left:20px; top:50%; transform:translateY(-50%); }
.rs-lb-next { right:20px; top:50%; transform:translateY(-50%); }
.rs-lb-counter { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); color:rgba(255,255,255,.75); font-size:.85rem; }
@media (max-width:576px){ .rs-lightbox{ padding:12px; } .rs-lb-close,.rs-lb-prev,.rs-lb-next{ width:40px; height:40px; } .rs-lb-prev{ left:8px; } .rs-lb-next{ right:8px; } }

/* ---------- WhatsApp flutuante ---------- */
.zap-float {
    position: fixed; bottom: 118px; right: 50px; left: auto;
    width: 60px; height: 60px; border-radius: 50%;
    background: #25d366; color: #fff !important;
    display: flex; align-items: center; justify-content: center;
    font-size: 30px; text-decoration: none !important; z-index: 9998;
    box-shadow: 0 8px 24px rgba(37,211,102,.45), 0 2px 6px rgba(0,0,0,.18);
    transition: transform .25s cubic-bezier(.34,1.56,.64,1), background .2s;
    animation: zapPulse 2s ease-in-out infinite;
}
.zap-float::before { content:''; position:absolute; inset:-6px; border-radius:50%; background:#25d366; opacity:.35; z-index:-1; animation: zapRing 1.8s ease-out infinite; }
.zap-float:hover { transform: scale(1.1) rotate(-6deg); background:#1ebe57; animation-play-state: paused; }
@keyframes zapPulse { 0%,100%{transform:scale(1);} 50%{transform:scale(1.06);} }
@keyframes zapRing { 0%{transform:scale(1);opacity:.5;} 100%{transform:scale(1.55);opacity:0;} }
.zap-tooltip {
    position: fixed; bottom: 130px; right: 120px; left: auto; background:#fff; color:#128c7e;
    padding: 10px 16px; border-radius: 26px; font-size: 13.5px; font-weight: 600;
    box-shadow: 0 6px 20px rgba(0,0,0,.14); z-index: 9997; white-space: nowrap;
    border: 1px solid #eef0fb; pointer-events: none; animation: zapTipIn 5s ease-in-out 1.5s infinite;
}
.zap-tooltip::after { content:''; position:absolute; right:-7px; top:50%; transform:translateY(-50%); border:7px solid transparent; border-left-color:#fff; border-right:0; }
@keyframes zapTipIn { 0%{opacity:0;transform:translateX(20px);} 8%{opacity:1;transform:translateX(0);} 28%{opacity:1;transform:translateX(0);} 38%{opacity:0;transform:translateX(20px);} 100%{opacity:0;transform:translateX(20px);} }
/* mantém o WhatsApp alinhado ao mesmo eixo do botão "voltar ao topo" */
@media (max-width: 992px){ .zap-float{ right:30px; } .zap-tooltip{ display:none; } }
@media (max-width: 767px){ .zap-float{ right:20px; bottom:90px; } }
@media (max-width: 576px){ .zap-float{ width:54px; height:54px; font-size:26px; bottom:90px; right:20px; left:auto; } }

/* ---------- Utilidades ---------- */
.rs-section-intro { max-width: 720px; margin: 0 auto 10px; color: #64748b; }
.rs-video-embed { position: relative; width: 100%; aspect-ratio: 16/9; border-radius: 16px; overflow: hidden; box-shadow: 0 12px 40px rgba(15,23,42,.12); }
.rs-video-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---------- Seção do Aplicativo (card com imagem em máscara diagonal) ---------- */
.rs-app-wrap.cta-wrap-3 {
    background: linear-gradient(135deg, #0f172a 0%, #23124d 55%, #4a1fb0 100%);
}
.rs-app-wrap .cta-mask-img .overlay { background: #6419d9; opacity: .4; }
.rs-app-wrap .rs-app-content { position: relative; z-index: 10; max-width: 520px; }
.rs-app-wrap .title { color: #fff; }
.rs-app-wrap .rs-app-content p { color: rgba(255, 255, 255, .85); }
.rs-app-wrap .rs-app-buttons { justify-content: flex-start; margin-top: 28px; }
.rs-app-wrap .rs-app-btn { background: #fff; color: #0f172a !important; border-color: transparent; }
.rs-app-wrap .rs-app-btn:hover { background: #f1f5f9; transform: translateY(-3px); }
@media (max-width: 767px) { .rs-app-wrap .rs-app-content { max-width: 100%; text-align: center; } .rs-app-wrap .rs-app-buttons { justify-content: center; } }

/* ---------- Hero: esconde a imagem do megafone no mobile ---------- */
@media (max-width: 991.98px) {
    .hero-reporte-thumb { display: none !important; }
}

/* ---------- Descrição dos planos (checks vindos do HTML do banco) ---------- */
.rs-plan-desc { text-align: left; color: #475569; line-height: 1.5; font-size: .95rem; margin: 22px 0 26px; }
.rs-plan-desc i { margin-right: 7px; }
/* cada item em bloco próprio — quebra de linha imune ao br{display:none} do template no mobile */
.rs-plan-desc p, .rs-plan-desc .rs-plan-line { display: block; margin-bottom: 10px; }
.rs-plan-desc .rs-plan-line:last-child { margin-bottom: 0; }

/* ---------- Cards de plano: todos brancos (iguais ao do meio) ---------- */
.pricing-section .pricing-item {
    background-color: #fff !important;
    border: 1px solid #eef0fb;
    box-shadow: 0 8px 30px rgba(15, 23, 42, .06);
}

/* ---------- Menu mobile: alinhar ícone de localização + botão Área do Cliente ---------- */
.side-menu-list li { align-items: flex-start !important; }
.side-menu-list li i { margin-top: 2px; flex-shrink: 0; }
.side-menu-cta { margin: 12px 0 30px; }
.side-menu-cta .bz-primary-btn {
    display: inline-flex; align-items: center; justify-content: center;
    gap: 8px; width: 100%;
}

/* ---------- Rodapé "Fale conosco": tira a seta do template; ícone e texto lado a lado ---------- */
.footer-widget .footer-contact-list li a::before { content: none !important; display: none !important; }
.footer-widget .footer-contact-list li a { padding-left: 0 !important; }
