:root {
  --c-primary: #00497b;
  --c-primary-2: #4e85f1;
  --c-accent: #fab500;
  --c-text: #282828;
  --c-muted: #cecece;
  --radius-md: 1rem;
  --gap-sm: .5rem;
  --gap-md: 1rem;
  --fs-base: 1.6rem;
}

/* ========== PAGINAÇÃO ========== */
.pagination ul.page-numbers {
  display: flex;
  align-items: center;
  gap: var(--gap-md);
  padding: 0;
  margin: 0;
  list-style: none;
}

.pagination span,
.pagination a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  padding: 1rem;
  font-size: 1.65rem;
  color: var(--c-text);
  border: 3px solid var(--c-muted);
  border-radius: var(--radius-md);
  text-decoration: none;
  line-height: 1;
}

.pagination .next,
.pagination .prev {
  border: none;
  background: transparent;
}

.pagination li .current {
  border-color: var(--c-primary-2);
  color: var(--c-primary);
  font-weight: 700;
}

.pagination a:hover,
.pagination a:focus-visible {
  border-color: var(--c-primary-2);
  color: var(--c-primary);
  outline: none;
}

.pagination span { margin: 0; }

/* ========== LAYOUTS GERAIS ========== */
.footer { margin-top: 5rem; }
hr { display: none; }

/* Busca no header */
.search-elements form {
  display: flex;
  align-items: center;
  gap: var(--gap-sm);
}
.search-elements input { width: 14rem; }

/* ========== CARDS / GRID ========== */
.card-item .card-content h3 { font-size: 3rem; }

.block-text-slide .card-item .card-content h2 { font-size: 1.2rem; }

/* Organiza conteúdo dos cards de grid (evita “empurrar” CTA) */
.block-grid-cards .container > div a .content {
  justify-content: flex-start;
  gap: .75rem;
}

/* Preço menor nos cards */
.card-item .card-footer p,
.card-item .card-footer .price,
.block-grid-cards .card .price,
.block-grid-cards .card-footer .price {
  font-size: 2rem;   /* reduzido de 2.1rem */
  line-height: 1.2;
  font-weight: 600;
}

/* Rodapé do card (caso haja textos adicionais) */
.card-item .card-footer p { /* já coberto acima; mantido para compatibilidade */ }

/* ========== FORMULÁRIOS ========== */
.form-news .wpcf7-list-item-label {
  font-size: 1.4rem;
  margin-left: .5rem;
}
.form-news span.wpcf7-list-item { margin: 0; }
.footer .footer--main .form-news label {
  display: flex;
  align-items: center;
}

/* Busca avançada */
.form-search .col:last-of-type { align-self: end; }
.form-search select,
.form-search select option { color: #000; }

/* ========== NAVEGAÇÃO ========== */
.nav-main .wrapper .wrapper-sub-menu {
  padding: 0 1rem 2rem;
}

/* ========== HOME / SLIDER / DEPOIMENTOS ========== */
.block-slider-home .btn { margin-top: 2rem; }

.block-depoimentos .slider .swiper-slide .img {
  top: -3rem;
  width: 5rem;
  height: 5rem;
}

/* ========== TÍTULO DE PÁGINA ========== */
/* ajustes principais ficam nos media queries */

/* ======= LISTAS DE DOCUMENTOS ======= */
.block-list-docs h3 {
  font-size: 3rem;
  font-weight: 700;
  color: var(--c-text);
  margin: 0 0 1rem 0;
}
.block-list-docs ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.block-list-docs ul li a {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: var(--fs-base);
  color: var(--c-primary);
  padding: 1rem 0;
  text-decoration: none;
}
.block-list-docs ul li a svg {
  fill: var(--c-primary);
  width: 1.5rem;
  height: 1.5rem;
}
.block-list-docs ul li a:hover,
.block-list-docs ul li a:focus-visible {
  text-decoration: underline;
  color: var(--c-accent);
  outline: none;
}
.block-list-docs ul li a:hover svg,
.block-list-docs ul li a:focus-visible svg { fill: var(--c-accent) !important; }

/* ========== 3D FlipBook (setas) ========== */
.cmd.cmdBigForward i.fa-angle-right:not(.disabled),
.cmd.cmdBigBackward i.fa-angle-left:not(.disabled) { color: #ff6600; }
.cmd.disabled i.fa-angle-right,
.cmd.disabled i.fa-angle-left { color: #ccc; }

/* ========== MEDIA QUERIES ========== */
@media (min-width: 992px) {
  .block-slider-home .swiper .swiper-slide .content h2 { font-size: 3rem; }
}

@media (max-width: 1200px) {
  .nav-main .wrapper .wrapper-sub-menu { border-bottom: none; }

  .block-title-page .content-center { margin: 10rem 0 5rem; }

  .block-title-page span,
  .block-title-page h2 { font-size: 3rem; }
}

@media (max-width: 992px) {
  .header .header-main .col-btn .btn { font-size: 1.2rem; }

  .block-title-page { height: initial; }

  .block-text-slide .col-text { padding-left: 4rem; }

  .block-title-page span { margin-top: 4rem; }

  /* Preço ainda menor em telas pequenas */
  .card-item .card-footer p,
  .card-item .card-footer .price,
  .block-grid-cards .card .price,
  .block-grid-cards .card-footer .price {
    font-size: 1.4rem;
  }
}

/* ========== ACESSIBILIDADE / REDUZIR MOVIMENTO ========== */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/* --- Estilos para o Iframe Zoho --- */
.col-form-news {
  /* Garante que a coluna do formulário se alinhe ao topo */
  align-self: flex-start;
}

.zoho-iframe-wrapper {
  width: 100%;
  max-width: 400px;  /* Limita a largura do formulário */
  margin: 0 auto;      /* Centraliza o formulário na coluna */
  overflow: hidden;
  position: relative;
}

.zoho-iframe-wrapper iframe {
  display: block;
  width: 100%;
  border: none;
  min-height: 510px; /* Altura inicial */
} /* <--- CORREÇÃO AQUI: Fechei a chave que faltava */

/* ======================================================= */
/* === CORREÇÃO DE ESPAÇOS NAS ABAS (Pacotes) === */
/* ======================================================= */

/* 1. Força as linhas dentro das abas a usarem 100% do espaço */
.block-tabs .tabs .row {
    display: block !important; /* Remove restrições de flexbox */
    width: 100% !important;
    margin: 0 !important;
}

/* 2. Expande a coluna de texto para ocupar toda a largura */
.block-tabs .tabs .row .col {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important; /* Impede que o item encolha */
    padding-right: 0 !important; /* Remove espaço vazio na direita */
}

/* 3. Correção específica para a Tabela de Preços */
/* Remove a barra de rolagem desnecessária em telas grandes */
.wrapper-table {
    width: 100% !important;
    display: block;
    overflow-x: auto; /* Mantém rolagem só se necessário (mobile) */
}

/* Em telas grandes, força a tabela a abrir e sumir a rolagem */
@media (min-width: 992px) {
    .wrapper-table {
        overflow-x: visible !important;
    }
    .wrapper-table table {
        width: 100% !important;
        table-layout: auto !important; /* Permite à tabela respirar */
    }
}

/* ======================================================= */
/* === CORREÇÃO: Texto "Quebrado/Espremido" nas Abas === */
/* ======================================================= */

/* O tema original limita a largura do texto (p) para leitura (ex: 64rem).
   Isso remove o limite e deixa o texto usar 100% da aba. */
.block-tabs p,
.block-tabs li,
.block-tabs a {
    max-width: 100% !important;
}

/* Garante que as tabelas também não tenham limite de largura */
.block-tabs table {
    max-width: 100% !important;
    width: 100% !important;
}

/* ======================================================= */
/* === CORREÇÃO: Estilo da Data (Flag) nos Cards === */
/* ======================================================= */

.card-item .flag,
.flag {
    display: inline-block !important;
    text-align: center !important;
    
    /* Remove o arredondamento padrão do tema */
    border-radius: 0 !important; 
    
    /* Aplica o formato especial (Folha) que você pediu */
    border-top-left-radius: 15px !important;
    border-bottom-right-radius: 15px !important;
    
    /* Margens */
    margin-left: 5px !important;
    margin-right: 5px !important;
    margin-top: 5px !important;
    
    /* Garante que o fundo amarelo e o texto fiquem bonitos */
    background-color: #fab500 !important;
    color: #00497b !important;
    padding: 5px 15px !important;
    font-weight: bold !important;
}

