
/* ====== EMPRESAS: Carousel de clientes responsivo ====== */
/* Desktop mantém slider; Mobile vira grid (remove slider) */
@media (max-width: 600px) {
  /* Esconder setas e remover comportamento de linha/transform do slider */
  .vc_images_carousel .vc_left,
  .vc_images_carousel .vc_right { display: none !important; }
  .vc_images_carousel .vc_carousel-inner { height: auto !important; overflow: visible !important; }
  .vc_images_carousel .vc_carousel-slideline { height: auto !important; width: auto !important; transform: none !important; overflow: visible !important; }
  .vc_images_carousel .vc_carousel-slideline-inner {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important; /* 2 colunas */
    gap: 12px !important;
    width: auto !important;
    transform: none !important;
  }
  .vc_images_carousel .vc_item { width: auto !important; height: auto !important; min-height: 88px !important; }
  .vc_images_carousel .vc_inner { display: flex !important; align-items: center !important; justify-content: center !important; padding: 8px !important; }
  .vc_images_carousel .vc_inner img { max-width: 100% !important; height: auto !important; max-height: 88px !important; }
}
@media (min-width: 601px) and (max-width: 992px) {
  /* Tablet: grid de 3 colunas */
  .vc_images_carousel .vc_carousel-slideline { height: auto !important; width: auto !important; transform: none !important; }
  .vc_images_carousel .vc_carousel-slideline-inner { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 14px !important; width: auto !important; transform: none !important; }
  .vc_images_carousel .vc_item { width: auto !important; height: auto !important; min-height: 96px !important; }
  .vc_images_carousel .vc_inner { display: flex !important; align-items: center !important; justify-content: center !important; padding: 8px !important; }
  .vc_images_carousel .vc_inner img { max-width: 100% !important; height: auto !important; max-height: 96px !important; }
}
/* Desktop: manter slider apenas com centralização suave */
@media (min-width: 993px) {
  .vc_images_carousel .vc_inner { display: flex !important; align-items: center !important; justify-content: center !important; padding: 6px !important; }
  .vc_images_carousel .vc_inner img { max-height: 80px !important; height: auto !important; }
}

/* ====== ATENDIMENTO DOMICILIAR: garantir radius na imagem específica ====== */
.entry-content img[src*="banner-img-5-original" i] {
  border-radius: 6px !important;
  display: block;
}

/* ====== BOTÃO FLUTUANTE WHATSAPP ====== */
.whatsapp-fab {
  position: fixed;
  right: 16px;
  bottom: 16px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25D366; /* cor oficial do WhatsApp */
  color: #fff !important;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.18);
  z-index: 9998;
}
.whatsapp-fab:hover { filter: brightness(0.95); }
.whatsapp-fab i.fa-whatsapp { font-size: 28px; line-height: 1; }
/* Ajuste quando o banner LGPD estiver aberto, para não sobrepor */
body.lgpd-banner-open .whatsapp-fab { bottom: 86px; }
@media (min-width: 992px) {
  .whatsapp-fab { right: 24px; bottom: 24px; }
  body.lgpd-banner-open .whatsapp-fab { bottom: 94px; }
}
/* Acessibilidade para o texto oculto */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* ====== DESKTOP: remover padding lateral do wrapper padrão do VC (alinha fornecedores) ====== */
@media (min-width: 992px) {
  .vc_row:not([css*="stretch_row_content_no_spaces"]) .wpb_wrapper {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* ====== IMAGENS (WPBakery Single Image): border-radius padronizado ====== */
.entry-content .wpb_single_image .vc_single_image-wrapper,
.entry-content .wpb_single_image .vc_figure,
.entry-content .wpb_single_image img {
  border-radius: 6px !important;
  overflow: hidden !important;
}
.entry-content .wpb_single_image img { display: block; }

/* ====== NAVBAR (desktop): hover estável com border-radius e sem deslocar itens ====== */
@media (min-width: 992px) {
  .link-nav {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 38px !important;          /* altura mínima, permite 2 linhas quando necessário */
    height: auto !important;
    max-width: 132px !important;          /* limita largura para quebrar longos em 2 linhas */
    padding: 0 12px !important;           /* padding fixo no normal e hover */
    border-radius: 6px !important;        /* padrão dos cards */
    box-sizing: border-box !important;
    border: 0 !important;                 /* evita mudar largura no hover */
    transition: background-color .2s ease, color .2s ease, box-shadow .2s ease !important;
    line-height: 1.1 !important;
    text-decoration: none !important;
    white-space: normal !important;       /* permite quebra */
    overflow-wrap: anywhere;              /* garante quebra em longas palavras */
    text-align: center !important;        /* melhora leitura em 2 linhas */
  }
  /* Manter mesmo peso tipográfico em normal/hover para evitar shift */
  .link-nav,
  .link-nav:hover,
  .link-nav:focus,
  .drop-submenu:hover > .link-nav {
    font-weight: 400 !important;          /* neutraliza o bold do CSS inline do header */
  }
  .link-nav:hover,
  .link-nav:focus,
  .drop-submenu:hover > .link-nav {
    background-color: #4D6742 !important; /* verde mais escuro para contraste */
    color: #c6d0c2 !important;            /* tom da marca para o texto */
    border: 0 !important;
  }
  /* Submenu: manter padrão e aplicar radius no hover dos itens */
  .drop-submenu .sub-menu a {
    display: block !important;
    padding: 8px 12px !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
    border: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
  .drop-submenu .sub-menu a:hover { background: #E3E8E1 !important; color: #2f3b2e !important; }
  /* Forçar quebra em duas linhas especificamente para 'Quem Somos' */
  .row.linha-nav .link-nav[href*="/quem-somos/"] {
    max-width: 100px !important;       /* reduz largura para permitir quebra */
    white-space: normal !important;     /* permite quebra */
    text-align: center !important;      /* centraliza as duas linhas */
  }
}

/* ====== CONTAINERS: ajustes de largura ====== */
/* Mobile (global): containers dentro do conteúdo sem padding e sem margem centralizadora */
@media (max-width: 800px) {
  .entry-content .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: none !important;
  }
}
/* Páginas de Vacinas/Calendários (containers que envolvem a grade): remover limites em qualquer breakpoint */
.entry-content .container:has(> .vacinas-grid) {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  max-width: none !important;
}
/* Garantir que a grade ocupe toda a largura disponível */
.entry-content .vacinas-grid { margin-left: 0 !important; margin-right: 0 !important; }

/* ====== NAVBAR: reduzir ícone hambúrguer no mobile ====== */
@media (max-width: 800px) {
  /* Restaurar comportamento anterior (não alterar container/toggle) */
  .Navbar__Link.Navbar__Link-toggle .fa-bars { font-size: 28px !important; color: #fff !important; }
  /* manter padding/top absolutos do header original */
  .Navbar__Link.Navbar__Link-brand a { display: flex; align-items: center; }
  .Navbar__Link.Navbar__Link-brand img { display: block; vertical-align: middle; height: auto !important; width: auto; }
}

/* ====== QUEM SOMOS: Mobile - centralizar título 'Nossos Fornecedores' ====== */
@media (max-width: 800px) {
  .page-id-60 .entry-content h2.vc_custom_heading.vc_do_custom_heading {
    text-align: center !important;
  }
}

/* ====== BANNER GLOBAL (.row.linha-nav): título e breadcrumb padronizados ====== */

/* ====== TÍTULOS GLOBAIS NO CONTEÚDO (.entry-content) ====== */
.entry-content h1.vc_custom_heading,
.entry-content h2.vc_custom_heading,
.entry-content h3.vc_custom_heading {
  font-size: 1.5625rem !important; /* 25px */
  line-height: 1.3 !important;
}
.row.linha-nav h1.vc_custom_heading,
.row.linha-nav h2.vc_custom_heading,
.row.linha-nav h3.vc_custom_heading,
.row.linha-nav h1.vc_custom_heading.vc_do_custom_heading,
.row.linha-nav h2.vc_custom_heading.vc_do_custom_heading,
.row.linha-nav h3.vc_custom_heading.vc_do_custom_heading {
  font-size: 42px !important;
  line-height: 1.2 !important;
  color: #ffffff !important; /* branco para contraste */
  text-align: center !important;
  margin: 0 0 6px !important;
}
.row.linha-nav p.vc_custom_heading,
.row.linha-nav div.vc_custom_heading,
.row.linha-nav span.vc_custom_heading,
.row.linha-nav p.vc_custom_heading.vc_do_custom_heading,
.row.linha-nav div.vc_custom_heading.vc_do_custom_heading,
.row.linha-nav span.vc_custom_heading.vc_do_custom_heading {
  font-size: 17px !important;
  line-height: 1.4 !important;
  color: #f2f2f2 !important; /* breadcrumb claro para destacar */
  text-align: center !important;
  margin: 0 !important;
}
@media (max-width: 992px) {
  /* Reafirma tamanhos no mobile, sobrepondo regras globais do VC */
  .row.linha-nav h1.vc_custom_heading,
  .row.linha-nav h2.vc_custom_heading,
  .row.linha-nav h3.vc_custom_heading,
  .row.linha-nav h1.vc_custom_heading.vc_do_custom_heading,
  .row.linha-nav h2.vc_custom_heading.vc_do_custom_heading,
  .row.linha-nav h3.vc_custom_heading.vc_do_custom_heading { font-size: 42px !important; }
  .row.linha-nav p.vc_custom_heading,
  .row.linha-nav div.vc_custom_heading,
  .row.linha-nav span.vc_custom_heading,
  .row.linha-nav p.vc_custom_heading.vc_do_custom_heading,
  .row.linha-nav div.vc_custom_heading.vc_do_custom_heading,
  .row.linha-nav span.vc_custom_heading.vc_do_custom_heading { font-size: 17px !important; }
}

/* ====== QUEM SOMOS (page-id-60): padronizar apenas o PARÁGRAFO de conteúdo, sem afetar banner ====== */
.page-id-60 .entry-content p.vc_do_custom_heading,
.page-id-60 .entry-content p.vc_custom_heading.vc_do_custom_heading {
  /* cor definida inline no conteúdo; não forçar para não afetar o banner */
  text-align: center !important;
  font-family: 'Asap', Asap, sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 18px !important; /* fixo no desktop e mobile */
  line-height: 1.6 !important; /* leitura confortável */
}
/* Banner (linha de navegação): manter padrão original de tamanho/cor */
.page-id-60 .row.linha-nav h2.vc_custom_heading.vc_do_custom_heading { font-size: 42px !important; line-height: 1.2 !important; color: #ffffff !important; }
.page-id-60 .row.linha-nav p.vc_custom_heading.vc_do_custom_heading { font-size: 17px !important; line-height: 1.4 !important; color: #f2f2f2 !important; }
/* Mobile: redundante para garantir consistência apenas no parágrafo dentro do conteúdo */
@media (max-width: 992px) {
  .page-id-60 .entry-content p.vc_custom_heading.vc_do_custom_heading { font-size: 18px !important; line-height: 1.6 !important; }
  /* Preservar padrão do banner (título e breadcrumb) em mobile */
  .page-id-60 .row.linha-nav h2.vc_custom_heading.vc_do_custom_heading { font-size: 42px !important; }
  .page-id-60 .row.linha-nav p.vc_custom_heading.vc_do_custom_heading { font-size: 17px !important; }
}

/* ====== CONTATO: H3 'Mapa de Localização' com estilo do H2 'Envie uma mensagem' ====== */
.page-id-49 .ciame-mapa-contato h3 {
  font-size: 36px !important;
  color: #4d6742 !important;
  text-align: center !important;
  font-family: 'Asap', Asap, sans-serif !important;
  font-weight: 700 !important;
  font-style: normal !important;
  margin-top: 0 !important;
  margin-bottom: 0.625rem !important; /* igual ao .vc_do_custom_heading */
}

/* ====== FOOTER: alinhamento vertical e clique no logo ====== */
.site-footer-custom .footer-bottom .container {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 10px 0 !important; /* dar respiro vertical */
  line-height: 1 !important;   /* evita desalinhamento por baseline */
}
.site-footer-custom .footer-bottom .container span {
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1 !important;
}
.site-footer-custom .footer-bottom .container .nowix-link {
  display: inline-flex !important;
  align-items: center !important;
}
.site-footer-custom .footer-bottom .container .nowix-link img {
  display: block !important;
  height: 14px !important; /* ligeiramente maior */
  width: auto !important;
  vertical-align: middle !important;
}

/* ====== CONTATO: Full-bleed absoluto no mobile (container e wrappers) ====== */
@media (max-width: 800px) {
  body.page-id-49 #content,
  body.page-id-49 #content-inside,
  body.page-id-49 #primary,
  body.page-id-49 #main,
  body.page-id-49 .site-main {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  body.page-id-49 .entry-content,
  body.page-id-49 .entry-content .wpb-content-wrapper,
  body.page-id-49 .entry-content .wpb-content-wrapper > .vc_row,
  body.page-id-49 .entry-content .vc_row,
  body.page-id-49 .entry-content .container {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  body.page-id-49 .vc_column_container > .vc_column-inner,
  body.page-id-49 .vc_column_container > .vc_column-inner > .wpb_wrapper,
  body.page-id-49 .wpb_wrapper {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ====== CONTATO: Forçar full-width real no mobile (paddings/margens pais) ====== */
@media (max-width: 800px) {
  /* Zerar paddings horizontais herdados do Bootstrap/WPBakery */
  .page-id-49 #content-inside,
  .page-id-49 #content-inside.container,
  .page-id-49 .entry-content .container,
  .page-id-49 .entry-content .vc_container,
  .page-id-49 .entry-content .vc_column-inner,
  .page-id-49 .entry-content .wpb_wrapper,
  .page-id-49 .wpb_text_column .wpb_wrapper,
  .page-id-49 .wpb_content_element .wpb_wrapper,
  .page-id-49 .wpb_wrapper { /* força zerar qualquer padding de wrapper no mobile */
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /* Caso o navegador suporte :has(), zera onde estiver o título da seção */
  .page-id-49 .entry-content .wpb_wrapper:has(#Mensagem) { padding-left: 0 !important; padding-right: 0 !important; }
  /* Zerar margens negativas/positivas das rows dentro do conteúdo */
  .page-id-49 .entry-content .row,
  .page-id-49 .entry-content .vc_row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  /* Garantir 100% da largura útil sem recuos laterais */
  .page-id-49 .entry-content,
  .page-id-49 .entry-content > .wpb-content-wrapper,
  .page-id-49 .entry-content > .wpb-content-wrapper > .vc_row,
  .page-id-49 .entry-content [data-vc-full-width="true"] {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    right: 0 !important;
  }
  /* Regras adicionais: colunas e atributos temporários do VC */
  .page-id-49 .vc_row .vc_column_container > .vc_column-inner,
  .page-id-49 .vc_row .vc_column_container > .vc_column-inner > .wpb_wrapper,
  .page-id-49 .entry-content .wpb_wrapper { padding-left: 0 !important; padding-right: 0 !important; }

  .page-id-49 [data-vc-full-width-temp="true"],
  .page-id-49 [data-vc-stretch-content="true"] {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  /* Containers Bootstrap em mobile sem recuo e sem max-width */
  .page-id-49 .entry-content .container { max-width: none !important; width: 100% !important; }
  .page-id-49 .container { max-width: none !important; width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; }
  /* Remover gutters das colunas do VC */
  .page-id-49 [class^="vc_col-"],
  .page-id-49 [class*=" vc_col-"],
  .page-id-49 .vc_col-sm-12,
  .page-id-49 .wpb_column { padding-left: 0 !important; padding-right: 0 !important; }
  /* Remover margens horizontais das rows do VC */
  .page-id-49 .vc_row.vc_row-fluid,
  .page-id-49 .vc_row.wpb_row { margin-left: 0 !important; margin-right: 0 !important; }
}

/* ====== CONTATO: Mobile fixes mais agressivos ====== */
@media (max-width: 800px) {
  /* Ocultar rows vazias/auxiliares */
  .page-id-49 .vc_row.wpb_row.vc_inner.p-relative.overflow-hidden,
  .page-id-49 .vc_row-full-width.vc_clearfix { display: none !important; height: 0 !important; margin: 0 !important; padding: 0 !important; }

  /* Neutralizar estilos inline de rows full-width do VC nesta página */
  .page-id-49 [data-vc-full-width="true"],
  .page-id-49 [data-vc-full-width][style] {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Centralização e largura dos campos do formulário */
  .page-id-49 .wpcf7-form { text-align: center !important; }
  .page-id-49 .wpcf7-form .row { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 10px !important; }
  .page-id-49 .wpcf7-form .row > [class*="col-"] { width: 100% !important; max-width: 100% !important; float: none !important; }
  .page-id-49 .wpcf7-form input.wpcf7-form-control,
  .page-id-49 .wpcf7-form textarea.wpcf7-form-control { width: 100% !important; }
  .page-id-49 .wpcf7-form .d-flex { justify-content: center !important; }
}

/* ====== CONTATO: restaurar container no footer (mobile) ====== */
@media (max-width: 800px) {
  .page-id-49 .site-footer-custom .container,
  .page-id-49 .footer-legal .container,
  .page-id-49 .footer-bottom .container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  .page-id-49 .site-footer-custom [class^="vc_col-"],
  .page-id-49 .site-footer-custom [class*=" vc_col-"],
  .page-id-49 .site-footer-custom .wpb_column {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}

/* ====== HOME: SEÇÃO APRESENTAÇÃO (escopo por HTML fornecido) ====== */
/* Aplica SOMENTE na row interna com imagem da fachada */
.home .vc_row.vc_inner.vc_row-fluid.vc_row-o-content-middle.vc_row-flex:has(.vc_single_image-img[title="ciame_foto faxada copy copy"]) {
  border-bottom: 0 !important; /* linha será abaixo do título */
  padding-bottom: 0;
  margin-bottom: 0;
}

/* Título antes do texto nesta mesma row */
.home .vc_row.vc_inner.vc_row-fluid.vc_row-o-content-middle.vc_row-flex:has(.vc_single_image-img[title="ciame_foto faxada copy copy"]) .wpb_text_column .wpb_wrapper::before {
  content: "Há 31 anos cuidando da sua saúde";
  display: block;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
  color: #2f3b2e;
  margin: 0 0 8px 0; /* menor margem para aproximar da linha */
}
/* Linha minimalista logo abaixo do título */
.home .vc_row.vc_inner.vc_row-fluid.vc_row-o-content-middle.vc_row-flex:has(.vc_single_image-img[title="ciame_foto faxada copy copy"]) .wpb_text_column .wpb_wrapper::after {
  content: none !important;
  display: none !important;
}

/* Aumentar coluna da imagem para dar mais destaque no desktop */
@media (min-width: 992px) {
  .home .vc_row.vc_inner.vc_row-fluid.vc_row-o-content-middle.vc_row-flex:has(.vc_single_image-img[title="ciame_foto faxada copy copy"]) > .wpb_column:first-child {
    flex: 0 0 62% !important;
    max-width: 62% !important;
  }
  .home .vc_row.vc_inner.vc_row-fluid.vc_row-o-content-middle.vc_row-flex:has(.vc_single_image-img[title="ciame_foto faxada copy copy"]) > .wpb_column:last-child {
    flex: 0 0 38% !important;
    max-width: 38% !important;
  }
}

/* Destravar limites da imagem somente nesta seção */
.home .vc_row.vc_inner.vc_row-fluid.vc_row-o-content-middle.vc_row-flex:has(.vc_single_image-img[title="ciame_foto faxada copy copy"]) .vc_single_image-wrapper,
.home .vc_row.vc_inner.vc_row-fluid.vc_row-o-content-middle.vc_row-flex:has(.vc_single_image-img[title="ciame_foto faxada copy copy"]) .vc_figure {
  width: 100% !important;
  max-width: 100% !important;
}
.home .vc_row.vc_inner.vc_row-fluid.vc_row-o-content-middle.vc_row-flex:has(.vc_single_image-img[title="ciame_foto faxada copy copy"]) .vc_single_image-img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}

/* Mobile: imagem realmente full-bleed dentro da coluna e sem padding lateral */
@media (max-width: 768px) {
  .home .vc_row.vc_inner.vc_row-fluid.vc_row-o-content-middle.vc_row-flex:has(.vc_single_image-img[title="ciame_foto faxada copy copy"]) > .wpb_column {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  .home .vc_row.vc_inner.vc_row-fluid.vc_row-o-content-middle.vc_row-flex:has(.vc_single_image-img[title="ciame_foto faxada copy copy"]) .vc_column-inner,
  .home .vc_row.vc_inner.vc_row-fluid.vc_row-o-content-middle.vc_row-flex:has(.vc_single_image-img[title="ciame_foto faxada copy copy"]) .wpb_wrapper {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .home .vc_row.vc_inner.vc_row-fluid.vc_row-o-content-middle.vc_row-flex:has(.vc_single_image-img[title="ciame_foto faxada copy copy"]) .vc_figure,
  .home .vc_row.vc_inner.vc_row-fluid.vc_row-o-content-middle.vc_row-flex:has(.vc_single_image-img[title="ciame_foto faxada copy copy"]) .vc_single_image-wrapper,
  .home .vc_row.vc_inner.vc_row-fluid.vc_row-o-content-middle.vc_row-flex:has(.vc_single_image-img[title="ciame_foto faxada copy copy"]) .vc_single_image-img {
    width: 100% !important;
    max-width: 100% !important;
  }
  /* Mobile: alinhar a row ao centro ocupando 100% da largura útil */
  .home .vc_row.vc_inner.vc_row-fluid.vc_row-o-content-middle.vc_row-flex:has(.vc_single_image-img[title="ciame_foto faxada copy copy"]) {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    justify-content: center !important;
  }
  .home .vc_row.vc_inner.vc_row-fluid.vc_row-o-content-middle.vc_row-flex:has(.vc_single_image-img[title="ciame_foto faxada copy copy"]) .vc_single_image-wrapper { margin-left: auto !important; margin-right: auto !important; }
  .home .vc_row.vc_inner.vc_row-fluid.vc_row-o-content-middle.vc_row-flex:has(.vc_single_image-img[title="ciame_foto faxada copy copy"]) .vc_single_image-img {
    display: block !important;
  }
  /* título menor no mobile */
  .home .vc_row.vc_inner.vc_row-fluid.vc_row-o-content-middle.vc_row-flex:has(.vc_single_image-img[title="ciame_foto faxada copy copy"]) .wpb_text_column .wpb_wrapper::before {
    font-size: 22px;
  }
  /* Centralizar texto no mobile */
  .home .vc_row.vc_inner.vc_row-fluid.vc_row-o-content-middle.vc_row-flex:has(.vc_single_image-img[title="ciame_foto faxada copy copy"]) .wpb_text_column .wpb_wrapper,
  .home .vc_row.vc_inner.vc_row-fluid.vc_row-o-content-middle.vc_row-flex:has(.vc_single_image-img[title="ciame_foto faxada copy copy"]) .wpb_text_column p {
    text-align: center !important;
  }
}
/*
Theme Name: OnePress CIAME (Child)
Theme URI: https://famethemes.com/themes/onepress/
Description: Child theme do OnePress com header/footer originais do site CIAME.
Author: CIAME
Template: onepress
Version: 1.0.0
*/

/* Inherit styles from parent theme */
@import url('../onepress/style.css');

/* === CUSTOMIZAÇÕES CIAME === */

/* Ocultar badge do reCAPTCHA em desenvolvimento */
.grecaptcha-badge {
    visibility: hidden !important;
    opacity: 0 !important;
    display: none !important;
}

/* ====== VACINAS: GRID E CARDS (replica layout antigo) ====== */
.vacinas-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 40px auto;
  padding: 0 40px;
  max-width: 1200px;
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 992px) {
  .vacinas-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    padding: 0 30px;
  }
}

@media (max-width: 768px) {
  /* No mobile o container não limita a largura, só aplica padding */
  .site-footer-custom .container { max-width: none !important; width: 100% !important; padding-left: 15px !important; padding-right: 15px !important; }
}

@media (max-width: 600px) {
  .vacinas-grid {
    grid-template-columns: 1fr;
    padding: 0 20px;
    gap: 12px;
  }
}

/* Link em formato de card, com faixa verde à esquerda e ícone */
a.card-vacina {
  display: flex;
  align-items: center;
  height: 90px;
  background: #f6f7f5;
  border: 1px solid #dfe3dc;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  text-decoration: none;
  color: #2f3b2e;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
  margin-bottom: 0;
}

/* Removido ::before para evitar duplicidade - usando apenas a tag img no HTML */

/* título da vacina */
a.card-vacina p {
  margin: 0 16px;
  font-weight: 600;
  color: #2f3b2e;
}

/* hover */
a.card-vacina:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,.12);
  background: #ffffff;
}

a.card-vacina:hover p {
  color: #2a5139;
}

/* ====== FIX: Container global do conteúdo e overflow lateral ====== */
/* Reaplicar comportamento de container ao #content-inside (algumas páginas não recebem a classe container) */
/* Removido: container não deve envolver toda a área; será aplicado nos wrappers internos das rows */

/* Prevenir scroll horizontal em rows full-width do WPBakery */
#page { overflow-x: hidden; }
html, body { max-width: 100%; overflow-x: hidden; }
.vc_row[data-vc-full-width="true"],
.vc_row.vc_row-no-padding[data-vc-full-width="true"] {
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Não aplicar a regra acima em banners com fill (para evitar gaps laterais) */
.vc_row[data-vc-full-width="true"].vc_row-has-fill,
.vc_row.vc_row-no-padding[data-vc-full-width="true"].vc_row-has-fill {
  left: auto !important; /* permitir que o WPBakery calcule o deslocamento */
  right: auto !important;
  width: auto !important;
  max-width: none !important;
}

/* Garantir que elementos internos não estourem a largura */
img, iframe, .wpb_wrapper, .vc_column_container, .vc_row {
  max-width: 100%;
}

/* ====== AJUSTES ADICIONAIS ====== */
/* Aplicar container SOMENTE no wrapper interno das rows full-width (backgrounds permanecem 100%) */
.vc_row[data-vc-full-width="true"] > .wpb_column > .vc_column-inner > .wpb_wrapper {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
}

/* Exceção para conteúdo que precisa de container */
.vc_row:not([css*="stretch_row_content_no_spaces"]) .wpb_wrapper {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

/* === PÁGINAS INTERNAS DE VACINAS: CENTRALIZAR E ALINHAR CONTEÚDO === */
/* Aplicar container ao conteúdo de páginas com rows stretch_content (ex: páginas individuais de vacinas) */
/* IMPORTANTE: Excluir rows com .vc_row-has-fill (banners/cabeçalhos) */

/* Sobrescrever estilos inline do WPBakery para forçar comportamento de container */
.vc_row[data-vc-stretch-content="true"]:not(.vc_row-has-fill) {
  width: 100% !important;
  max-width: 100% !important;
  left: 0 !important;
  position: relative !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.vc_row[data-vc-stretch-content="true"]:not(.vc_row-has-fill) .wpb_wrapper {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 30px;
  padding-right: 30px;
  box-sizing: border-box;
}

/* Garantir espaçamento adequado entre elementos */
.vc_row[data-vc-stretch-content="true"]:not(.vc_row-has-fill) .vc_custom_heading {
  margin-top: 32px;
  margin-bottom: 16px;
}

/* Forçar alinhamento uniforme dos títulos h2 com o texto - herdar o padding do wrapper pai */
.vc_row[data-vc-stretch-content="true"]:not(.vc_row-has-fill) .vc_custom_heading h2,
.vc_row[data-vc-stretch-content="true"]:not(.vc_row-has-fill) h2.vc_custom_heading {
  text-align: left !important;
  padding-left: 0;
  padding-right: 0;
  margin-left: 0;
  margin-right: 0;
}

.vc_row[data-vc-stretch-content="true"]:not(.vc_row-has-fill) .wpb_single_image {
  margin-top: 24px;
  margin-bottom: 24px;
}

.vc_row[data-vc-stretch-content="true"]:not(.vc_row-has-fill) .wpb_text_column {
  margin-top: 16px;
  margin-bottom: 16px;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Remover padding extra do wrapper interno do wpb_text_column */
.vc_row[data-vc-stretch-content="true"]:not(.vc_row-has-fill) .wpb_text_column > .wpb_wrapper {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.vc_row[data-vc-stretch-content="true"]:not(.vc_row-has-fill) .wpb_text_column p {
  margin-bottom: 12px;
  line-height: 1.6;
  text-align: justify;
  padding-left: 0;
  padding-right: 0;
}

/* Adicionar padding vertical à row de conteúdo */
.vc_row[data-vc-stretch-content="true"]:not(.vc_row-has-fill) {
  padding-top: 40px;
  padding-bottom: 40px;
}

/* Responsividade */
@media (max-width: 992px) {
  .vc_row[data-vc-stretch-content="true"] .wpb_wrapper {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media (max-width: 600px) {
  .vc_row[data-vc-stretch-content="true"] .wpb_wrapper {
    padding-left: 15px;
    padding-right: 15px;
  }
}

/* Evitar overflow em rows esticadas */
.vc_row[data-vc-stretch-content="true"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Ocultar qualquer overflow horizontal residual */
html, body { overflow-x: hidden; }

/* ====== FOOTER (layout original em 3 colunas) ====== */
.site-footer-custom { color: #fff; }
.site-footer-custom .footer-top { background: #98A591; padding: 42px 0; }
.site-footer-custom .container { max-width: 1140px; margin: 0 auto; padding: 0 15px; box-sizing: border-box; }
.site-footer-custom .footer-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
@media (max-width: 992px) { .site-footer-custom .footer-cols { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .site-footer-custom .footer-cols { grid-template-columns: 1fr; } }

.site-footer-custom .h1-footer { color: #ffffff; font-weight: 700; font-size: 22px; margin: 0 0 10px; }
.site-footer-custom .p-footer { color: rgba(255,255,255,.95); margin: 0 0 8px; }

.site-footer-custom .footer-links { list-style: none; padding: 0; margin: 0; }
.site-footer-custom .footer-links li { margin: 6px 0; }
.site-footer-custom .footer-links a { color: #ffffff; text-decoration: none; }
.site-footer-custom .footer-links a:hover { text-decoration: underline; }

.site-footer-custom .footer-contact { list-style: none; padding: 0; margin: 0; }
.site-footer-custom .footer-contact li { margin: 8px 0; display: flex; align-items: center; gap: 10px; }
.site-footer-custom .footer-contact i { width: 30px; height: 30px; background: #4D6742; border-radius: 50%; color: #fff; display: grid; place-items: center; flex-shrink: 0; }
.site-footer-custom .footer-contact a { color: #ffffff; text-decoration: underline; }

.site-footer-custom .footer-contact .footer-social { display: flex; align-items: center; gap: 8px; }
/* Garantir flex em qualquer bloco social do footer */
.site-footer-custom .footer-social,
.site-footer-custom .social,
.site-footer-custom .social-icons,
.site-footer-custom [class*="social-"] {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
.site-footer-custom .footer-social a,
.site-footer-custom .social a,
.site-footer-custom .social-icons a,
.site-footer-custom [class*="social-"] a {
  display: inline-flex; align-items: center; justify-content: center;
}
.site-footer-custom .footer-contact .footer-social a.fa { color: #fff; font-size: 18px; text-decoration: none; width: 28px; height: 28px; display: inline-grid; place-items: center; background: #4D6742; border-radius: 50%; }

/* ====== FOOTER: SOCIAL EM UMA LINHA (corrige <br> no markup) ====== */
/* Alinha ícones de redes sociais em uma linha mesmo quando existem <br> no HTML */
.site-footer-custom .footer-contact p a.fa { display: inline-flex; align-items: center; justify-content: center; }
.site-footer-custom .footer-contact p br { display: none !important; }
/* Suporte amplo usando :has quando disponível */
.site-footer-custom p:has(a.fa) { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.site-footer-custom p:has(a.fa) br { display: none !important; }

.site-footer-custom .footer-bottom { background: #f5f7f4; border-top: 1px solid #e0e5dd; padding: 12px 0; color: #2f3b2e; }
.site-footer-custom .footer-bottom .container { display: flex; justify-content: center; align-items: center; gap: 8px; font-size: 14px; }
.site-footer-custom .footer-bottom img { height: 12px; width: auto; opacity: .8; display: inline-block; vertical-align: middle; }

/* CSS adicional para cards vacinas via vc_raw_html - compatibilidade */
.vc_row .box-img img {
  width: 32px;
  height: 32px;
  filter: brightness(0) invert(1);
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Fix para garantir que o footer seja sempre visível */
.site-footer-custom {
  background-color: #98A591 !important;
  color: #ffffff !important;
  margin-top: 0;
}

/* ====== FOOTER: CONTER LARGURA DE ROWS DO WPBAKERY DENTRO DO CONTAINER ====== */
.site-footer-custom .footer-top .container .vc_row[data-vc-full-width="true"],
.site-footer-custom .footer-top .container .vc_row[data-vc-full-width] {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.site-footer-custom .footer-top .container .vc_row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.site-footer-custom p,
.site-footer-custom h1,
.site-footer-custom a {
  color: #ffffff !important;
}

.site-footer-custom a:hover {
  text-decoration: underline !important;
}

/* Garantir que os estilos do WPBakery não sobreponham */
.vc_custom_1690000000000 {
  background-color: #98A591 !important;
}

/* Anti-duplicidade de ícones nos cards de vacinas */
a.card-vacina::before,
a.card-vacina::after,
a.card-vacina .box-img::before,
a.card-vacina .box-img::after {
  content: none !important;
  background: none !important;
}

/* Remover TODAS as bordas e linhas da grid e cards */
.vacinas-grid,
.vacinas-grid *,
.vacinas-grid img,
.vacinas-grid::before,
.vacinas-grid::after,
.vacinas-grid hr,
.vacinas-grid .wpb_wrapper,
.vacinas-grid .vc_column-inner,
.vacinas-grid .wpb_content_element {
  border: none !important;
  outline: none !important;
  border-top: none !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
}

/* Remover separadores e linhas do WPBakery */
.vc_separator,
.vc_separator_inner,
.vc_sep_holder,
hr {
  display: none !important;
  border: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Remover bordas entre cards adjacentes de vacinas */
a.card-vacina + a.card-vacina {
  border-top: none !important;
  margin-top: 0 !important;
}

/* Sobrepor qualquer borda de elementos vizinhos da grid (mas manter cards de calendário visíveis) */
.vacinas-grid > *:not(.card-vacina):not(.card-calendario) {
  border: none !important;
  display: none !important;
}

/* === ESTILOS PARA CARDS DE VACINAS (vc_raw_html decodificados) === */
a.card-vacina {
  display: flex;
  align-items: center;
  height: 90px !important;
  min-height: 90px !important;
  max-height: 90px !important;
  background: #f0f2f0;
  border: 1px solid #d8dcd8 !important;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0,0,0,.08);
  text-decoration: none;
  color: #2f3b2e;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
  width: 100%;
  margin: 0;
  padding: 0 !important;
}

/* Garantir que o primeiro card seja igual aos outros */
a.card-vacina:first-child,
.vacinas-grid > a.card-vacina:first-of-type {
  height: 90px !important;
  min-height: 90px !important;
  max-height: 90px !important;
}

/* Remover bordas extras de qualquer elemento dentro do card */
a.card-vacina *,
a.card-vacina *::before,
a.card-vacina *::after {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

a.card-vacina .box-img {
  width: 90px;
  height: 90px;
  background-color: #4d6742;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: 8px 0 0 8px;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

a.card-vacina .box-img img {
  width: 32px;
  height: 32px;
  filter: brightness(0) invert(1);
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

a.card-vacina p {
  margin: 0 !important;
  padding: 0 16px !important;
  font-weight: 600;
  color: #2f3b2e;
  font-size: 15px;
  line-height: 1.3;
  flex: 1;
  display: flex;
  align-items: center;
}

a.card-vacina:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
  background: #ffffff;
}

a.card-vacina:hover p {
  color: #2a5139;
}

/* === ESTILOS PARA CARDS DE CALENDÁRIO === */
.card-calendario {
  display: flex !important;
  align-items: center !important;
  height: auto !important;
  min-height: 90px;
  background: #E3E8E1 !important;
  border: none !important;
  border-radius: 6px !important; /* igual aos cards de vacinas */
  box-shadow: none !important;
  overflow: hidden;
  transition: background .3s ease;
  position: relative;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.card-calendario:hover {
  background: #4D6742 !important;
}

/* Ocultar texto no hover */
.card-calendario:hover .hover-hide {
  display: none !important;
}

/* Mostrar link de download no hover */
.card-calendario .hover-show {
  display: none !important;
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  align-items: center;
  justify-content: center;
  z-index: 10;
}

.card-calendario:hover .hover-show {
  display: flex !important;
}

/* Esconder <br /> dentro do hover-show */
.card-calendario .hover-show br {
  display: none;
}

.card-calendario .hover-show i {
  margin-left: 8px;
}

/* Ícone do calendário */
.card-calendario .box-img {
  width: 30% !important;
  min-width: 90px;
  height: 100% !important;
  min-height: 90px;
  padding: 30px !important;
  background: #4D6742 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  border-top-left-radius: 6px !important;   /* acompanha o arredondamento do card */
  border-bottom-left-radius: 6px !important;
}

.card-calendario .box-img img {
  width: 32px;
  height: 32px;
  filter: brightness(0) invert(1);
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Texto do card */
.card-calendario p.hover-hide {
  margin: 0 !important;
  padding: 0 24px !important;
  font-weight: 600 !important;
  color: #4D6742 !important;
  font-size: 15px !important;
  line-height: 1.3;
  flex: 1;
  display: flex;
  align-items: center;
}

/* ====== HOME: REMOVER GAP ENTRE HEADER E BANNER ====== */
.home .entry-content > *:first-child,
.home .site-content > *:first-child,
.home .wpb_content_element:first-child,
.home .wpb_row:first-child,
.home .vc_row:first-child,
.home .n2-section-smartslider,
.home .rev_slider_wrapper {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Garantir que os blocos do header não adicionem margem inferior */
.row.linha-nav,
.l-top {
  margin-bottom: 0 !important;
}

/* ====== SMART SLIDER: REMOVER MICRO ESPAÇAMENTO SUPERIOR ====== */
/* Remove qualquer padding/margin do container do slider */
.n2-section-smartslider,
.n2-ss-slider-wrapper,
.n2-ss-slider-1,
.n2-ss-slider-2,
.n2-ss-slider-3,
.n2-ss-slide-backgrounds,
.n2-ss-layer {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Remove espaçamento do container pai do slider */
div[data-vc-full-width].vc_row.wpb_row.vc_row-fluid.banner {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Remove espaçamento de qualquer elemento antes do slider */
.wpb_column > .vc_column-inner > .wpb_wrapper > .wpb_text_column {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Garante que o primeiro elemento após o header seja colado */
#content-inside > *:first-child,
.entry-content > *:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ====== DROPDOWN: ESTILOS FINOS ====== */
/* Desktop dropdown - verde da marca */
.drop-submenu .sub-menu {
  display: none;
  position: absolute;
  background-color: #98A591;
  min-width: 220px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.3);
  border-radius: 5px;
  z-index: 99;
  left: 0;
  top: 100%;
  padding: 10px 0;
}

.drop-submenu:hover .sub-menu {
  display: block;
}

.drop-submenu .sub-menu a {
  display: block;
  padding: 12px 16px;
  color: #fff !important;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: 500;
  font-size: 13px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

.drop-submenu .sub-menu a:last-child {
  border-bottom: none;
}

.drop-submenu .sub-menu a:hover {
  background-color: rgba(0,0,0,0.2);
  font-weight: 600;
}

/* Mobile: desativar dropdown, manter apenas link simples */
@media (max-width: 1000px) {
  .drop-submenu .sub-menu {
    display: none !important;
  }
  .dropdown-content-nav {
    display: none !important;
  }
}

/* ====== SEÇÃO CARTEIRINHA BANNER ====== */
.btn-carteirinha-banner:hover {
  background-color: #d4dbd2 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

@media (max-width: 768px) {
  .carteirinha-banner-section .container > div {
    flex-direction: column !important;
    gap: 20px !important;
  }
  .carteirinha-banner-section h2 {
    font-size: 24px !important;
  }
}

/* ====== COMPONENTES CIAME (CALENDÁRIO E VACINAS) ====== */
.ciame-component-block {
  background: none !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Neutralizar tags <code> problemáticas inseridas pelo WordPress */
.ciame-component-block code,
.wpb_text_column .ciame-component-block code,
.wpb_wrapper .ciame-component-block code,
.wpb_text_column code.max-w-full,
.wpb_wrapper code.max-w-full,
code.max-w-full.whitespace-pre-wrap.break-all.rounded.bg-neutral-500\/20,
.ciame-component-block code.max-w-full,
.ciame-icon-wrapper code,
h3 code.max-w-full,
p code.max-w-full {
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
  border-radius: 0 !important;
  display: inline !important;
  white-space: normal !important;
  word-break: normal !important;
  text-decoration: none !important;
  max-width: none !important;
  width: auto !important;
  height: auto !important;
  opacity: 1 !important;
}

/* Neutralizar parágrafos vazios com code tags */
.wpb_text_column p:has(code.max-w-full:empty),
.wpb_wrapper p:has(code.max-w-full:empty) {
  display: none !important;
}

/* Forçar invisibilidade das code tags vazias */
code.max-w-full:empty {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ciame-component-block h3 {
  background: none !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

.ciame-component-block .ciame-icon-wrapper {
  background: none !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

.ciame-component-block .ciame-icon-wrapper img {
  background: none !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

.btn-component-white {
  background: transparent !important;
  border: 2px solid white !important;
  outline: none !important;
  box-shadow: none !important;
}

.btn-component-white:hover {
  background-color: white !important;
  color: #203016 !important;
  border: 2px solid white !important;
  outline: none !important;
  box-shadow: none !important;
  transform: none !important;
}

@media (max-width: 768px) {
  /* Reduzir o respiro vertical dos componentes na Home (Vacinas e Calendários) */
  .home .ciame-component-block { padding: 20px 16px !important; }
  .home .ciame-component-block .ciame-icon-wrapper { margin-bottom: 14px !important; }
  .home .ciame-component-block h3 { font-size: 24px !important; margin: 0 0 14px !important; }
  .home .ciame-component-block .btn-component-white { padding: 10px 22px !important; border-radius: 22px !important; }

  .ciame-component-block h3 {
    font-size: 24px !important;
  }
  .ciame-component-block .ciame-icon-wrapper img {
    width: 60px !important;
    height: 60px !important;
  }
}

/* ====== LGPD: PÁGINAS DE TERMOS E POLÍTICAS ====== */
.lgpd-content h1 {
  color: #2f3b2e;
  font-size: 32px;
  margin-bottom: 30px;
  text-align: center;
}

.lgpd-content h2 {
  color: #4d6742;
  font-size: 24px;
  margin-top: 30px;
  margin-bottom: 15px;
  border-bottom: 2px solid #98A591;
  padding-bottom: 8px;
}

.lgpd-content h3 {
  color: #4d6742;
  font-size: 18px;
  margin-top: 20px;
  margin-bottom: 10px;
}

.lgpd-content p {
  margin-bottom: 15px;
  text-align: justify;
}

.lgpd-content ul {
  margin: 15px 0;
  padding-left: 30px;
}

.lgpd-content li {
  margin-bottom: 8px;
}

/* Banner LGPD (cookie consent) */
#lgpd-banner {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  background: #203016; /* verde escuro da marca */
  color: #ffffff;
  z-index: 9999;
  box-shadow: 0 -4px 10px rgba(0,0,0,.15);
}
#lgpd-banner .container {
  max-width: 1140px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 12px 15px;
}
#lgpd-banner a { color: #ffffff; text-decoration: underline; }
#lgpd-banner .lgpd-actions { display: flex; align-items: center; gap: 8px; }
#lgpd-banner #lgpd-accept {
  background: #4D6742; color: #fff; border: none; border-radius: 6px;
  padding: 8px 14px; cursor: pointer; font-weight: 600;
}
/* Banner LGPD responsivo */
@media (max-width: 768px) {
  #lgpd-banner .container { flex-direction: column; text-align: center; }
  #lgpd-banner p { margin-bottom: 15px !important; }
  #lgpd-banner .lgpd-actions { justify-content: center; }
}

/* ====== LGPD: Fix footer colado ao bottom apenas nas páginas de LGPD ====== */
body:has(.lgpd-content) #page {
  min-height: 100dvh; /* usa viewport dinâmica no mobile */
  display: flex;
  flex-direction: column;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body:has(.lgpd-content) .site-content,
body:has(.lgpd-content) .entry-content,
body:has(.lgpd-content) #content {
  flex: 1 0 auto;
}
body:has(.lgpd-content) .site-footer-custom {
  margin-top: auto;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
/* Empurra o wrapper do footer para o final do #page sem afetar o entry-content do artigo */
body:has(.lgpd-content) #page > .entry-content:last-of-type {
  margin-top: auto !important;
  margin-bottom: 0 !important;
}
/* Remover placeholders e espaçamentos residuais do WPBakery depois do footer nessas páginas */
body.privacy-policy .vc_row-full-width.vc_clearfix,
body.page-id-2520 .vc_row-full-width.vc_clearfix,
body:has(.lgpd-content) .site-footer-custom + .vc_row-full-width.vc_clearfix,
body:has(.lgpd-content) .footer-top .vc_row-full-width.vc_clearfix {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Remover quaisquer margens inferiores do último filho do #page nessas páginas */
body.privacy-policy #page > *:last-child,
body.page-id-2520 #page > *:last-child { margin-bottom: 0 !important; }
/* Também zera margens/paddings do último .entry-content nessas páginas */
body.privacy-policy .entry-content:last-of-type,
body.page-id-2520 .entry-content:last-of-type { margin-bottom: 0 !important; padding-bottom: 0 !important; }
/* Zerar margens de siblings após o footer nessas páginas */
body.privacy-policy .site-footer-custom ~ *,
body.page-id-2520 .site-footer-custom ~ * { margin-bottom: 0 !important; padding-bottom: 0 !important; }
/* Remover espaçamentos finais possíveis apenas nessas páginas */
body:has(.lgpd-content) .lgpd-content {
  margin-top: 32px !important; /* espaço sob o header */
  margin-bottom: 0 !important;
  padding-bottom: 24px !important; /* um respiro mínimo antes do footer */
}
body:has(.lgpd-content) .lgpd-content h1 {
  margin-top: 24px !important; /* título não colado no header */
}
body:has(.lgpd-content) #content-inside,
body:has(.lgpd-content) #primary,
body:has(.lgpd-content) .site-main {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
/* Espaço controlado abaixo do header e acima do conteúdo nessas páginas */
body:has(.lgpd-content) #content-inside.container.no-sidebar {
  padding-top: 40px !important;
}
/* Remover quaisquer margens finais do container */
body:has(.lgpd-content) #content-inside.container { margin-bottom: 0 !important; }
/* Garantir que o #page não tenha padding/margin inferior */
body:has(.lgpd-content) #page { padding-bottom: 0 !important; }
/* Evitar gap extra de elementos auxiliares do VC dentro do footer */
body:has(.lgpd-content) .footer-top .vc_row-full-width.vc_clearfix {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Garantir que não há margem abaixo do footer legal/bottom nessas páginas */
body:has(.lgpd-content) .footer-legal .container,
body:has(.lgpd-content) .footer-bottom,
body:has(.lgpd-content) .footer-bottom .container {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
/* Forçar remoção de margem/padding final globalmente apenas nessas páginas */
body.privacy-policy, body.page-id-2520 {
  margin: 0 !important;
  padding: 0 !important;
}
/* Zerar qualquer clearfix baseado em pseudo-elementos que possa empurrar o final */
body.privacy-policy .entry-content::after,
body.page-id-2520 .entry-content::after,
body.privacy-policy .entry-content::before,
body.page-id-2520 .entry-content::before { content: none !important; display: none !important; }
/* Remover o placeholder imediatamente após footer-top (quando existir) */
body.privacy-policy .entry-content > .vc_row-full-width.vc_clearfix,
body.page-id-2520 .entry-content > .vc_row-full-width.vc_clearfix { display: none !important; height: 0 !important; margin: 0 !important; padding: 0 !important; }

/* ====== LGPD: espaçamento sob o header e alinhamento superior ====== */
body.privacy-policy .row.linha-nav,
body.page-id-2520 .row.linha-nav { margin-bottom: -1px !important; }
body.privacy-policy .entry-content,
body.page-id-2520 .entry-content { padding-top: 12px !important; margin-bottom: 0 !important; padding-bottom: 0 !important; }
body.privacy-policy .lgpd-content,
body.page-id-2520 .lgpd-content { margin-top: 16px !important; }

/* Remover qualquer gap residual antes do footer nessas páginas */
body.privacy-policy #content-inside,
body.page-id-2520 #content-inside { padding-bottom: 0 !important; margin-bottom: 0 !important; }
body.privacy-policy #page,
body.page-id-2520 #page { padding-bottom: 0 !important; }
/* Eliminar placeholders do VC em qualquer posição dentro do footer nas LGPD */
body.privacy-policy .site-footer-custom .vc_row-full-width.vc_clearfix,
body.page-id-2520 .site-footer-custom .vc_row-full-width.vc_clearfix { display: none !important; height: 0 !important; margin: 0 !important; padding: 0 !important; }
/* Garantir container confortável no footer dessas páginas */
body.privacy-policy .footer-legal .container,
body.privacy-policy .footer-bottom .container,
body.page-id-2520 .footer-legal .container,
body.page-id-2520 .footer-bottom .container { padding-left: 15px !important; padding-right: 15px !important; }

/* ====== HOME: REMOVER ESPAÇAMENTO INFERIOR DOS COMPONENTES CIAME ====== */
/* Seção com os 2 botões: "Saiba mais sobre as nossas vacinas" e "Calendário da vacinação" */
.home .vc_row-no-padding .ciame-component-block {
  padding-bottom: 20px !important;
  margin-bottom: 0 !important;
}

/* ====== CONTATO (page-id-49): Mobile spacing e centralização ====== */
@media (max-width: 768px) {
  /* Remover espaçamento da row vazia/auxiliar apenas no mobile */
  .page-id-49 .vc_row.vc_inner.p-relative.overflow-hidden,
  .page-id-49 .vc_row-inner.p-relative.overflow-hidden {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  /* Centralizar conteúdo do formulário e tornar inputs 100% */
  .page-id-49 .wpcf7-form { text-align: center !important; }
  .page-id-49 .wpcf7-form .row { display: flex; flex-wrap: wrap; justify-content: center !important; }
  .page-id-49 .wpcf7-form .row .col-xs-4,
  .page-id-49 .wpcf7-form .row .col-sm-4,
  .page-id-49 .wpcf7-form .row .col-xs-12,
  .page-id-49 .wpcf7-form .row .col-sm-12 { width: 100% !important; max-width: 480px; float: none !important; }
  .page-id-49 .wpcf7-form input.wpcf7-form-control,
  .page-id-49 .wpcf7-form textarea.wpcf7-form-control { width: 100% !important; }
  .page-id-49 .wpcf7-form .d-flex { justify-content: center !important; }
}

.home .vc_row-no-padding .wpb_column {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.home .vc_row-no-padding .vc_column-inner {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.home .vc_row.vc_row-no-padding[data-vc-stretch-content="true"] {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* ====== HOME: SEÇÃO DE APRESENTAÇÃO (FOTO + TEXTO) ====== */
/* Reverter regras globais e aplicar apenas nesta seção específica por classes VC */
.home .vc_custom_1628727438474 .wpb_wrapper,
.home .vc_custom_1634244576485 .wpb_wrapper {
  padding: 30px 30px !important;
}

@media (max-width: 992px) {
  .home .vc_custom_1628727438474 .wpb_wrapper,
  .home .vc_custom_1634244576485 .wpb_wrapper {
    padding: 28px 24px !important;
  }
}

@media (max-width: 600px) {
  .home .vc_custom_1628727438474 .wpb_wrapper,
  .home .vc_custom_1634244576485 .wpb_wrapper {
    padding: 32px 0 !important;
  }
  .home .vc_custom_1628727438474 .vc_column-inner,
  .home .vc_custom_1634244576485 .vc_column-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
/* ====== HOME: FOTO DA FACHADA CIAME ====== */
/* Aumentar e estilizar a imagem da fachada na homepage */
.home .wpb_single_image img[src*="ciame_foto"],
.home .wpb_single_image img[src*="faxada"],
.home .wpb_single_image img[src*="fachada"] {
  max-width: 760px !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
}

/* Responsividade da foto */
@media (max-width: 992px) {
  .home .wpb_single_image img[src*="ciame_foto"],
  .home .wpb_single_image img[src*="faxada"],
  .home .wpb_single_image img[src*="fachada"] {
    max-width: 640px !important;
  }
}

@media (max-width: 600px) {
  .home .wpb_single_image img[src*="ciame_foto"],
  .home .wpb_single_image img[src*="faxada"],
  .home .wpb_single_image img[src*="fachada"] {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    border-radius: 12px !important;
  }
  /* Forçar coluna com 100% no mobile para ampliar a foto */
  .home .vc_row .vc_row-flex { flex-wrap: wrap !important; }
  .home .vc_row .vc_col-sm-6 { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }
  /* Garantir que o wrapper ocupe toda a largura no mobile */
  .home .wpb_single_image .vc_figure { width: 100% !important; max-width: 100% !important; }
  .home .wpb_single_image .vc_single_image-wrapper { width: 100% !important; display: block !important; }
  .home .wpb_single_image .vc_single_image-img { width: 100% !important; height: auto !important; }
}

/* ====== HOME: TÍTULO E BORDA NA SEÇÃO DE APRESENTAÇÃO ====== */
/* Escopo ultra-específico: row que contém a imagem da fachada (qualquer tamanho da série) */
.home .vc_row:has(img[src*="ciame_foto-faxada-copy-copy-1" i]) { /* marcador de escopo */ }

/* Título injetado antes do texto APENAS nessa row */
.home .vc_row:has(img[src*="ciame_foto-faxada-copy-copy-1" i]) .vc_custom_1634244576485 .wpb_wrapper::before {
  content: "Há 31 anos cuidando da sua saúde";
  display: block;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
  color: #2f3b2e;
  margin: 0 0 14px 0;
}

/* Largura maior para a coluna da imagem no desktop APENAS nessa row */
@media (min-width: 992px) {
  .home .vc_row:has(img[src*="ciame_foto-faxada-copy-copy-1" i]) .vc_custom_1628727438474 { width: 58% !important; flex: 0 0 58% !important; }
  .home .vc_row:has(img[src*="ciame_foto-faxada-copy-copy-1" i]) .vc_custom_1634244576485 { width: 42% !important; flex: 0 0 42% !important; }
}
@media (min-width: 1200px) {
  .home .vc_row:has(img[src*="ciame_foto-faxada-copy-copy-1" i]) .vc_custom_1628727438474 { width: 60% !important; flex: 0 0 60% !important; }
  .home .vc_row:has(img[src*="ciame_foto-faxada-copy-copy-1" i]) .vc_custom_1634244576485 { width: 40% !important; flex: 0 0 40% !important; }
}

/* Borda inferior removida nesta row */
.home .vc_row:has(img[src*="ciame_foto-faxada-copy-copy-1" i]) {
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

@media (max-width: 600px) {
  .home .vc_row:has(img[src*="ciame_foto-faxada-copy-copy-1" i]) .vc_custom_1634244576485 .wpb_wrapper::before {
    font-size: 22px;
    margin-bottom: 12px;
  }
}
