/*
 * Velotax Blog — Theme Overrides v1.1.10
 * Arquivo separado para escapar de cache Cloudflare no style.css principal.
 * Contém TODAS as correções de design + responsividade do v1.1.x.
 * Carregado após style.css (prioridade maior).
 */

/* ============================================================
   v1.1.8 — FIX CRÍTICO: resetar body.search
   A regra original `.search{...}` do CSS estava aplicando
   display:flex / width:220px / padding / border-radius no BODY
   das páginas de resultado de busca (que recebem class="search"
   do WordPress). Isso quebrava o layout desktop completamente.
   ============================================================ */
body.search,
body.search-results,
body.search-no-results{
  display:block !important;
  width:auto !important;
  max-width:none !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:0 !important;
  background:var(--velo-white) !important;
  gap:0 !important;
  align-items:normal !important;
  transition:none !important;
}
body.search::before,
body.search-results::before,
body.search-no-results::before{content:none !important}

/* Restringe a regra .search (form de busca do header) a seu escopo correto */
header.site form.search,
.nav-actions form.search,
.nav-actions .search{
  display:flex;
  align-items:center;
  gap:8px;
  background:var(--velo-blue-bg);
  border-radius:999px;
  padding:10px 16px;
  width:220px;
  transition:width .2s;
}
header.site form.search:focus-within,
.nav-actions form.search:focus-within{width:280px}
header.site form.search input,
.nav-actions form.search input{
  border:none;background:transparent;outline:none;
  font-family:inherit;font-size:14px;width:100%;color:var(--velo-ink);
}
header.site form.search svg,
.nav-actions form.search svg{flex-shrink:0;color:var(--velo-muted)}

/* ============================================================
   v1.1.8 — MENU MOBILE com barra de busca
   Reestruturar o menu mobile para incluir a barra de busca.
   ============================================================ */
@media (max-width:960px){
  /* Hamburger sempre visível */
  .hamburger{
    display:grid !important;
    cursor:pointer;
    background:var(--velo-blue-bg);
    width:44px;height:44px;border-radius:12px;
    align-items:center;justify-content:center;
    color:var(--velo-ink);
  }
  /* Baixar app: mostra só ícone em mobile (economiza espaço) */
  .nav-actions .btn{display:none !important}

  /* Menu primary: drawer estilizado */
  nav.primary{
    display:none !important;
    position:fixed;
    top:64px;left:0;right:0;
    background:#fff;
    border-top:1px solid var(--velo-line);
    box-shadow:0 12px 32px rgba(0,0,88,.08);
    padding:20px;
    max-height:calc(100vh - 64px);
    overflow-y:auto;
    z-index:48;
  }
  nav.primary.is-open{display:block !important}
  nav.primary ul{
    flex-direction:column !important;
    gap:4px !important;
    align-items:stretch !important;
  }
  nav.primary li a{
    display:block !important;
    padding:14px 18px !important;
    font-size:16px !important;
    border-radius:12px !important;
  }

  /* Search do header: esconde no topo mas aparece dentro do menu drawer */
  header.site form.search,
  .nav-actions form.search{display:none !important}

  /* Search "embutida" dentro do menu drawer (JS injeta) */
  nav.primary .mobile-search{
    display:flex !important;
    gap:8px;
    margin-bottom:16px;
    padding-bottom:16px;
    border-bottom:1px solid var(--velo-line);
  }
  nav.primary .mobile-search input{
    flex:1;
    padding:12px 16px;
    border:1.5px solid var(--velo-line);
    border-radius:12px;
    font-family:inherit;
    font-size:15px;
    outline:none;
    background:var(--velo-blue-bg);
  }
  nav.primary .mobile-search input:focus{border-color:var(--velo-blue)}
  nav.primary .mobile-search button{
    padding:12px 18px;
    background:var(--velo-blue);
    color:#fff;
    border-radius:12px;
    font-weight:600;
    font-size:14px;
    display:inline-flex;align-items:center;gap:6px;
  }
  nav.primary .mobile-search button:hover{background:var(--velo-blue-deep)}

  /* Mobile: CTA "Baixar app" dentro do menu */
  nav.primary .mobile-download-cta{
    display:block;margin-top:16px;
    padding:14px 18px;
    background:var(--velo-yellow);
    color:var(--velo-blue-deep);
    border-radius:12px;
    font-weight:700;font-size:15px;
    text-align:center;
  }

  body.menu-open{overflow:hidden}
}

/* Em desktop, o .mobile-search injetado não deve aparecer */
@media (min-width:961px){
  nav.primary .mobile-search,
  nav.primary .mobile-download-cta{display:none !important}
}

/* ============================================================
   v1.1.9 — Botões .btn-lg que estouram tela em mobile
   (ex: "Ver todos os posts de Antecipação IRPF →")
   white-space:nowrap + texto longo = overflow horizontal.
   ============================================================ */
@media (max-width:560px){
  .btn-lg{
    white-space:normal !important;
    text-align:center !important;
    line-height:1.3 !important;
    padding:14px 20px !important;
    font-size:15px !important;
    max-width:100% !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
  }
  /* Container dos botões "Ver todos" no front-page */
  section.cat-section [style*="text-align:center"] .btn,
  section.cat-section div[style*="text-align:center"] .btn{
    display:inline-flex !important;
    max-width:calc(100% - 32px) !important;
  }
}
@media (max-width:768px){
  .btn-lg{font-size:15px}
}

/* Garantia anti-overflow para todos os .btn */
.btn{max-width:100%;overflow-wrap:break-word}
@media (max-width:400px){
  .btn-lg{
    padding:12px 16px !important;
    font-size:14px !important;
  }
}

/* ============================================================
   TYPOGRAFIA BASE — clamp previsível
   ============================================================ */
h1{font-size:clamp(30px,4.5vw,52px) !important;line-height:1.15}
h2{font-size:clamp(24px,3.2vw,36px) !important;line-height:1.2}
h3{font-size:clamp(18px,2.1vw,22px) !important;line-height:1.25}

/* ============================================================
   TABLET: 768px — breakpoint intermediário que faltava
   ============================================================ */
@media (max-width:768px){
  .grid-3,.grid-4{grid-template-columns:repeat(2,1fr) !important;gap:20px !important}
  .foot-grid{grid-template-columns:1fr 1fr !important;gap:28px !important}
  .hero{padding:44px 0 56px !important}
  .hero-grid{gap:32px !important}
  .section-head{margin-bottom:28px !important}
  section.block,.cat-section{padding:64px 0 !important}
  .cta-app{padding:72px 0 !important}
  .single-body{padding:48px 0 !important}
  .single-body h2{font-size:24px !important;margin:32px 0 14px !important}
  .single-body h3{font-size:20px !important;margin:28px 0 12px !important}
}

/* ============================================================
   MOBILE: 560px — correções principais
   ============================================================ */
@media (max-width:560px){
  /* Search page */
  .search-hero{padding:40px 0 24px !important}
  .search-hero h1{font-size:26px !important;margin-bottom:10px !important;line-height:1.2 !important}
  .search-hero p{font-size:14px !important}
  .search-form-lg{flex-direction:column !important;gap:8px !important;padding:8px !important;max-width:100% !important;margin-top:20px !important;border-radius:20px !important}
  .search-form-lg input{padding:12px 16px !important;font-size:16px !important;border-radius:14px !important;background:var(--velo-blue-bg) !important}
  .search-form-lg .btn{width:100% !important;padding:14px 20px !important;justify-content:center !important;border-radius:14px !important}

  /* Archive / pagination */
  .archive-hero{padding:40px 0 24px !important}
  .archive-hero h1{font-size:28px !important}
  .archive-hero p{font-size:15px !important}
  .archive-grid{padding:24px 0 48px !important}
  .pagination{gap:6px !important;margin-top:32px !important}
  .pagination a,.pagination span{padding:8px 12px !important;font-size:13px !important;min-width:40px !important;border-color:var(--velo-muted) !important}

  /* Post card mobile */
  .post-card-body{padding:18px !important}
  .post-card h3{font-size:17px !important}
  .post-card p{font-size:13px !important;margin-bottom:12px !important}
  .post-thumb{aspect-ratio:16/9}

  /* CTA app */
  .cta-app{padding:48px 0 !important}
  .cta-app h2{font-size:24px !important;line-height:1.15 !important}
  .cta-app p{font-size:15px !important}
  .cta-stats{gap:16px !important;margin-top:24px !important;padding-top:20px !important}
  .cta-stats .stat-value{font-size:28px !important}
  .cta-stats>div{flex:1 1 40% !important}
  .cta-symbol{display:none !important}

  /* 404 page */
  .error-hero{padding:56px 0 !important}
  .error-hero h1{font-size:72px !important;margin-bottom:8px !important}
  .error-hero h2{font-size:20px !important;margin-bottom:12px !important}
  .error-hero p{font-size:15px !important;margin-bottom:24px !important}

  /* Single post hero */
  .single-post-hero{padding:36px 0 24px !important}
  .single-post-hero h1{font-size:26px !important;margin-bottom:14px !important;line-height:1.25 !important}
  .single-featured{margin-top:-16px !important;padding:0 16px !important}
  .single-featured img{aspect-ratio:16/10 !important;border-radius:14px !important}
  .single-body{padding:32px 0 !important}
  .single-body p,.single-body li{font-size:16px !important;line-height:1.7 !important}
  .single-body h2{font-size:22px !important}
  .single-body h3{font-size:19px !important}

  /* Footer */
  footer.site{padding:48px 0 24px !important}
  .foot-grid{grid-template-columns:1fr !important;gap:28px !important;margin-bottom:28px !important}
  .foot-about p,.foot-address{max-width:100% !important}

  /* Author box */
  .author-box{padding:20px !important;gap:14px !important;flex-direction:column !important;text-align:center !important;align-items:center !important}
  .author-box .avatar{width:64px !important;height:64px !important}

  /* Gallery */
  .gallery{grid-template-columns:repeat(2,1fr) !important;gap:8px !important}

  /* Related posts */
  .related-posts{padding:48px 0 !important}

  /* Body */
  p{font-size:15px}
}

/* ============================================================
   MOBILE PEQUENO: 400px (iPhone SE)
   ============================================================ */
@media (max-width:400px){
  .container{padding:0 16px !important}
  .search-hero h1{font-size:22px !important}
  .archive-hero h1{font-size:24px !important}
  .single-post-hero h1{font-size:22px !important}
  .cta-app h2{font-size:20px !important}
  .gallery{grid-template-columns:1fr !important;gap:6px !important}
  .post-card-body{padding:16px !important}
  .cta-stats{flex-direction:column !important;gap:12px !important}
  .cta-stats>div{flex:1 1 100% !important}
}

/* ============================================================
   PAGINATION CONTRASTE + CORES
   ============================================================ */
.pagination a,.pagination span{border-color:var(--velo-muted) !important}
.pagination a{color:var(--velo-ink-2) !important}
.pagination .current{background:var(--velo-blue) !important;color:#fff !important;border-color:var(--velo-blue) !important}

/* ============================================================
   EXCERPTS LIMPOS (complementa filtro PHP)
   ============================================================ */
.post-card p:empty{display:none}

/* ============================================================
   PRESS CARDS (na-midia) RESPONSIVO
   ============================================================ */
.velotax-press-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;display:grid !important;gap:20px !important}
@media (max-width:560px){
  .velotax-press-grid{grid-template-columns:1fr !important;gap:14px !important;margin:24px 0 !important}
  .velotax-press-card{padding:16px !important}
  .velotax-press-card h3{font-size:15px !important}
}
.velotax-press-card{background:#fff;border:1px solid #E6EDF5;border-radius:14px;padding:20px;box-shadow:0 2px 8px rgba(0,0,88,.06)}
.velotax-press-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,88,.1) !important;border-color:var(--velo-blue) !important}
.velotax-press-card h3 a{color:var(--velo-blue-deep);text-decoration:none}

/* ============================================================
   MENU MOBILE / HAMBURGER
   ============================================================ */
@media (max-width:960px){
  .hamburger{display:grid !important}
  .nav{height:64px}
  .logo-img{height:28px}
  .logo-blog{font-size:10px;padding-left:10px}
}

/* ============================================================
   TOPBAR mobile
   ============================================================ */
@media (max-width:560px){
  .topbar{font-size:11px !important;padding:8px 0 !important}
  .topbar-inner{gap:6px !important;line-height:1.3 !important}
}

/* ============================================================
   PILLAR BOX + ASIDES responsivos
   ============================================================ */
.velotax-pillar-box{background:#F3F7FC;border-left:4px solid #1634FF;padding:16px 20px;margin:0 0 24px;border-radius:0 14px 14px 0;font-size:15px;line-height:1.6}
@media (max-width:560px){
  .velotax-pillar-box{padding:14px 16px !important;font-size:13px !important;margin-bottom:20px !important}
}
aside[class*="velotax-"]{box-sizing:border-box;max-width:100%}
@media (max-width:560px){
  aside[class*="velotax-"]{padding:14px 16px !important;font-size:13px !important;margin:20px 0 !important}
}

/* ============================================================
   IMAGENS E EMBEDS responsivos
   ============================================================ */
.single-body img,.single-body figure img{max-width:100%;height:auto}
.single-body figure{margin:24px 0}
.wp-block-embed iframe,.wp-block-embed__wrapper iframe{max-width:100%}
.wp-embed-aspect-16-9 .wp-block-embed__wrapper{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}
.wp-embed-aspect-16-9 .wp-block-embed__wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}

/* ============================================================
   TABELAS mobile
   ============================================================ */
@media (max-width:560px){
  .single-body .wp-block-table,.single-body table{font-size:13px !important}
  .single-body table thead th{padding:10px 12px !important;font-size:10px !important}
  .single-body table tbody td{padding:10px 12px !important;font-size:13px !important}
}

/* ============================================================
   TOUCH TARGETS (acessibilidade)
   ============================================================ */
@media (max-width:768px){
  .btn,button.btn,a.btn{min-height:44px;display:inline-flex;align-items:center}
  .pagination a,.pagination span{min-height:40px;display:inline-flex;align-items:center;justify-content:center}
}

/* ============================================================
   SEARCH NO-RESULTS: espaçamento
   ============================================================ */
.search-no-results main#content section.archive-grid{min-height:30vh;padding-top:60px;padding-bottom:80px}
.search-no-results .archive-grid p{text-align:center;color:var(--velo-muted);font-size:16px}
@media (max-width:560px){
  .search-no-results main#content section.archive-grid{min-height:24vh;padding-top:32px;padding-bottom:48px}
}
