.elementor-kit-6{--e-global-color-primary:#1343A5;--e-global-color-secondary:#232323;--e-global-color-text:#434343;--e-global-color-accent:#E6AF2E;--e-global-typography-primary-font-family:"Arial";--e-global-typography-primary-font-weight:500;--e-global-typography-secondary-font-family:"Arial";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Arial";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Arial";--e-global-typography-accent-font-weight:500;color:#232323;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 h1{color:#232323;font-family:"Arial", Sans-serif;}.elementor-kit-6 h2{color:#232323;font-family:"Arial", Sans-serif;}.elementor-kit-6 h3{color:#232323;font-family:"Arial", Sans-serif;}.elementor-kit-6 h4{color:#232323;font-family:"Arial", Sans-serif;}.elementor-kit-6 h5{color:#232323;font-family:"Arial", Sans-serif;}.elementor-kit-6 h6{color:#232323;font-family:"Arial", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1400px;}.e-con{--container-max-width:1400px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//*
.page-id-942 .row.my-4:has(.newsletter-header) { display: none !important; } .page-id-942 .row.my-4:has(.newsletter-header) ~ p.text-center { display: none !important; } .page-id-942 .row.my-4:has(a[href*="newsletter"]) { display: none !important; }
*/
/* Hide action summary on single campanha page */
/* Hide action summary container on single campanha */
.single-campanha .e-con.e-child:has(.acao-summary-text) { display: none !important; }
/* Prevent menu item text wrapping on hover */
.menu-item a, .menu-item { white-space: nowrap !important; }
/* Remove focus outline on FAQ accordion buttons that causes overlap */
.accordion-button:focus, .accordion-button:focus-visible, .accordion-item:focus, .accordion-item:focus-within { outline: none !important; box-shadow: none !important; border-color: transparent !important; }
/* Ensure sticky header has white background */
body.scroll-menu header .header-container .header-top { background-color: #ffffff !important; }
/* Breadcrumb link hover - 75% white opacity */
.breadcrumbs a { transition: color 0.2s ease; }
.breadcrumbs a:hover { color: rgba(255, 255, 255, 0.75) !important; }
/* Reduce spacing before FAQ accordion */
.elementor-widget-text-editor:has(+ .elementor-widget-widget-faq-accordion) { margin-block-end: 0 !important; }
.elementor-widget-text-editor:has(+ .elementor-widget-widget-faq-accordion) p:last-child { margin-bottom: 0 !important; }
/* Hero banner slider - espaçamento 46px */
.slider-container .slider .slide .slide-overlay .slide-content { margin-bottom: 46px !important; }
.slider-container .slider .slide .slide-overlay .slide-content > p, .slider-container .slider .slide .slide-overlay .slide-content > h1, .slider-container .slider .slide .slide-overlay .slide-content > h2, .slider-container .slider .slide .slide-overlay .slide-content > h3, .slider-container .slider .slide .slide-overlay .slide-content > h4 { margin-bottom: 16px !important; }
.slider-container .slider .slide .slide-overlay .slide-content > .slide-button { margin-top: 16px !important; display: inline-block; }
/* Remove min-height 100vh do main wrapper - deixa o conteúdo definir altura */
#main.wrapper { min-height: auto !important; }

.single-campanha .e-con.e-flex { flex-wrap: wrap; }
.single-campanha .e-con.e-parent > .e-con-inner > .e-con.e-child { flex: 1 1 0% !important; min-width: 0 !important; }
/* Fix image overflow, flex columns and rounded corners on campanha */
.single-campanha .elementor-widget-image img { max-width: 100% !important; height: auto !important; display: block; border-radius: 10px !important; }
.single-campanha .elementor-widget-image, .single-campanha .elementor-widget-image .elementor-widget-container { max-width: 100% !important; }
.single-campanha .e-con[data-element_type="container"] { min-width: 0 !important; }
.single-campanha .e-con.e-parent > .e-con-inner > .e-con.e-child { flex: 1 1 0% !important; min-width: 0 !important; }
/* Reduce space between intro text and columns */
.single-campanha .elementor-widget-text-editor + .e-con.e-child { margin-top: 0 !important; }
.single-campanha .elementor-widget-text-editor:has(+ .e-con.e-child) { margin-block-end: 0 !important; }
.single-campanha .elementor-widget-text-editor:has(+ .e-con.e-child) p { margin-bottom: 0 !important; }

/* ================================================================
   MOBILE UX FIXES — applied 2026-04-28 via REST API
   Reduz hero gigante, melhora contraste do CTA do newsletter,
   garante tap targets ≥ 44px nos sliders e botões "Baixe aqui".
   ================================================================ */
@media (max-width: 767px) {

  /* Hero do slider topo — reduzir H1 80px → 48px e H4 28px → 18px */
  .slides-wrapper .slide .slide-overlay .slide-content h1 {
    font-size: 48px !important;
    line-height: 1.05 !important;
    margin-bottom: 12px !important;
  }
  .slides-wrapper .slide .slide-overlay .slide-content h4 {
    font-size: 18px !important;
    line-height: 1.35 !important;
    margin-bottom: 16px !important;
  }

  /* Newsletter (footer) — título de 40px → 28px */
  footer.site-footer .newsletter h2.text-white,
  .newsletter.bg-primary-blue h2.text-white {
    font-size: 28px !important;
    line-height: 1.2 !important;
    margin-bottom: 12px !important;
  }

  /* Newsletter — botão "INSCREVA-SE" com contraste alto (branco/azul) */
  .newsletter input.btn.btn-sky-blue,
  .newsletter button.btn-sky-blue,
  footer.site-footer .newsletter .ninja-forms-field.btn.btn-sky-blue {
    background-color: #ffffff !important;
    color: #1343A5 !important;
    font-weight: 700 !important;
    border-color: #ffffff !important;
  }

  /* Botões CTA Elementor "Ver Todas" / "Acompanhar campanha" — 39px → 44px */
  a.elementor-button.elementor-size-sm,
  a.elementor-button-link.elementor-size-sm {
    min-height: 44px !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Botões "Baixe aqui" das publicações — 33px → 44px */
  .publication-card .right-card-item a.btn.btn-outline-dark,
  .publication-card a.btn.btn-outline-dark {
    min-height: 44px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Setas de navegação dos carousels (Publicações etc.) — 42×38 → 44×44 */
  button.btn.btn-nav,
  button.btn-outline-dark.btn-nav {
    min-width: 44px !important;
    min-height: 44px !important;
  }

  /* Box "Associe-se!" — números 32px → 1.5rem (24px) */
  .elementor-widget-widget-faca-parte-rede .highlight-number,
  .highlight-section .highlight-number {
    font-size: 1.5rem !important;
    line-height: 1.2 !important;
  }

  /* Card de Publicações (right-card) — títulos 20px → 16px */
  .publication-card .right-card-item > span,
  .publication-card.right-card .right-card-item > span {
    font-size: 16px !important;
    line-height: 1.4 !important;
  }

  /* Títulos H3 globais — 34px → 28px */
  h3,
  h3.elementor-heading-title,
  h3.publication-title,
  h3.mb-5 {
    font-size: 28px !important;
    line-height: 1.2 !important;
  }
}

/* Instagram widget oculto até token ser configurado (todos os viewports) */
.elementor-element.elementor-element-1e36332,
.elementor-widget-instagram_slider {
  display: none !important;
}

/* === Home — Publicações (left-card): capa 50% + layout vertical mobile === */
@media (max-width: 767px) {
  .publication-card.left-card {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }
  .publication-card.left-card > img {
    width: 99px !important;       /* 50% do nativo 197px */
    max-width: 99px !important;
    height: auto !important;
    margin: 0 0 12px 0 !important; /* remove me-3, espaço abaixo da capa */
    display: block !important;
  }
  .publication-card.left-card .d-flex.flex-column {
    width: 100% !important;
    align-items: center !important;
  }
  .publication-card.left-card h5 {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
  }
  .publication-card.left-card p.small {
    margin-bottom: 12px !important;
    line-height: 1.5 !important;
  }
  .publication-card.left-card a.btn {
    margin-top: 0 !important;
  }
}

/* === Home — Dúvidas Frequentes: botão "Saiba Mais" depois do accordion (mobile) === */
@media (max-width: 767px) {
  .faq-accordion-widget {
    display: flex !important;
    flex-direction: column !important;
  }
  /* Dissolve o header flex para que h3 e botão virem filhos diretos do widget */
  .faq-accordion-widget > .d-flex.justify-content-between {
    display: contents !important;
  }
  .faq-accordion-widget > .d-flex.justify-content-between > h3 {
    order: 1 !important;
    margin-bottom: 16px !important;
  }
  .faq-accordion-widget > .accordion {
    order: 2 !important;
  }
  .faq-accordion-widget > .d-flex.justify-content-between > a.btn {
    order: 3 !important;
    margin-top: 16px !important;
    align-self: center !important;
  }
}

/* === Home — título "Definição de Museu" centralizado em mobile === */
@media (max-width: 767px) {
  .widget-definicao-museu-widget .card-titulo {
    display: table !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* === Página /publicacoes/ — layout mobile: capa pequena centralizada ====== */
@media (max-width: 767px) {
  /* Empilha verticalmente e centraliza */
  .publicacoes-posts .d-flex {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }
  /* Capa: tamanho nativo, centralizada */
  .publicacoes-posts .thumbnail {
    flex: 0 0 auto !important;
    margin: 0 0 12px 0 !important;  /* remove me-3, adiciona espaço abaixo da capa */
  }
  .publicacoes-posts .thumbnail img {
    height: auto !important;
    display: block !important;
  }
  /* Título logo abaixo da capa */
  .publicacoes-posts h5 {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
  }
  /* Texto descritivo */
  .publicacoes-posts p {
    margin-bottom: 0 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
  /* Espaço entre cards */
  .publicacoes-posts {
    margin-bottom: 32px !important;
  }
}

/* === Página /icom/ — ajustes mobile =================================== */
@media (max-width: 767px) {

  /* Tipografia: H3 já reduzido globalmente; garantir margens */
  body.page-icom h3.elementor-heading-title {
    margin-top: 0 !important;
    margin-bottom: 16px !important;
  }
  /* H2 "2028" — destaque visual, manter tamanho do tema; ajustar só margem */
  body.page-icom h2.elementor-heading-title {
    margin-top: 16px !important;
    margin-bottom: 8px !important;
  }

  /* Botões Elementor size-sm: wrap legível para textos longos */
  body.page-icom a.elementor-button.elementor-size-sm,
  body.page-icom a.elementor-button-link.elementor-size-sm {
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.3 !important;
    word-wrap: break-word !important;
  }

  /* Imagens (banner Visite ICOM, banner Roterdã) centralizadas */
  body.page-icom .elementor-widget-image .elementor-widget-container {
    text-align: center !important;
  }
  body.page-icom .elementor-widget-image img {
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
  }

  /* Espaçamentos verticais */

  /* Entre containers principais (5 blocos da página) */
  body.page-icom .elementor > .e-con.e-parent + .e-con.e-parent {
    margin-top: 32px !important;
  }

  /* Parágrafos do texto-editor: ritmo de leitura */
  body.page-icom .elementor-widget-text-editor p {
    margin-bottom: 12px !important;
  }
  body.page-icom .elementor-widget-text-editor p:last-child {
    margin-bottom: 0 !important;
  }

  /* Colunas Elementor diretas empilhadas */
  body.page-icom .e-con-inner > .e-con.e-child + .e-con.e-child {
    margin-top: 24px !important;
  }
  /* Sub-colunas (Roterdã | Construindo pontes | 2028) — espaço menor */
  body.page-icom .e-con.e-child > .e-con.e-child + .e-con.e-child {
    margin-top: 16px !important;
  }

  /* Botão Elementor: separa do bloco anterior */
  body.page-icom .elementor-widget-button {
    margin-top: 8px !important;
    margin-bottom: 8px !important;
  }

  /* Padding lateral confortável no container interno */
  body.page-icom .e-con-boxed > .e-con-inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Texto "Roterdã Países Baixos" — reduzir para 24px em mobile */
  body.page-icom .elementor-element-5f7d53c p,
  body.page-icom .elementor-element-5f7d53c p strong {
    font-size: 24px !important;
    line-height: 1.2 !important;
  }
}

/* === Página /icom-brasil/ — ajustes mobile ============================ */
@media (max-width: 767px) {

  /* --- Tipografia: H2 reduzido (consistente com Newsletter H2 e H3 globais) --- */
  body.page-icom-brasil h2.elementor-heading-title {
    font-size: 28px !important;
    line-height: 1.2 !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
  }
  body.page-icom-brasil h3.elementor-heading-title {
    margin-top: 0 !important;
    margin-bottom: 16px !important;
  }

  /* --- Botões "Estatuto" / "Regulamento": wrap legível em textos longos --- */
  body.page-icom-brasil a.elementor-button.elementor-size-sm,
  body.page-icom-brasil a.elementor-button-link.elementor-size-sm {
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.3 !important;
    word-wrap: break-word !important;
  }

  /* --- Imagem central: centralizada em mobile --- */
  body.page-icom-brasil .elementor-widget-image .elementor-widget-container {
    text-align: center !important;
  }
  body.page-icom-brasil .elementor-widget-image img {
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
  }

  /* --- Espaçamentos verticais entre seções/blocos --- */

  /* Entre containers principais (Comitê → Documentos institucionais) */
  body.page-icom-brasil .elementor > .e-con.e-parent + .e-con.e-parent {
    margin-top: 32px !important;
  }

  /* Parágrafos do texto-editor: ritmo de leitura */
  body.page-icom-brasil .elementor-widget-text-editor p {
    margin-bottom: 12px !important;
  }
  body.page-icom-brasil .elementor-widget-text-editor p:last-child {
    margin-bottom: 0 !important;
  }

  /* Coluna B (imagem) quando empilha abaixo da coluna A */
  body.page-icom-brasil .e-con-inner > .e-con.e-child + .e-con.e-child {
    margin-top: 32px !important;
  }

  /* Botão Elementor: separa do bloco anterior e do texto que vem em seguida */
  body.page-icom-brasil .elementor-widget-button {
    margin-bottom: 8px !important;
  }

  /* Texto descritivo logo abaixo do botão (Estatuto/Regulamento) */
  body.page-icom-brasil .elementor-widget-button + .elementor-widget-text-editor {
    margin-top: 0 !important;
    margin-bottom: 24px !important;  /* separa par "Estatuto+texto" do par "Regulamento+texto" */
  }
  /* Último texto descritivo: sem margem extra antes da coluna B */
  body.page-icom-brasil .elementor-widget-button + .elementor-widget-text-editor:last-child {
    margin-bottom: 0 !important;
  }

  /* Padding lateral confortável no container interno em mobile */
  body.page-icom-brasil .e-con-boxed > .e-con-inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* === Página /icom-brasil/gestao/ — fixes mobile ===================== */
@media (max-width: 767px) {
  /* Cards de diretores (Diretoria + Conselhos): 1 por linha em mobile */
  .elementor-widget-widget-gestao .row > [class*="col-"],
  .widget-diretoria .row > [class*="col-"],
  .gestao-wrapper .row > [class*="col-"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin-bottom: 16px;
  }
  .elementor-widget-widget-gestao .gestao-card,
  .widget-diretoria .gestao-card,
  .gestao-card {
    width: 100% !important;
  }

  /* Tabs dos Conselhos: empilhar verticalmente (flex-direction: column) */
  .widget-diretoria ul.my-custom-nav-tab {
    flex-direction: column !important;
  }
  .widget-diretoria ul.my-custom-nav-tab .my-custom-item-tab {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .widget-diretoria ul.my-custom-nav-tab .my-custom-item-tab .my-custom-button-item {
    width: 100% !important;
  }
}

/* Header desktop: esconder apenas a top-nav (barra "Diminuir/Aumentar Fonte")
   em mobile/tablet. NÃO ocultar ul.nav-menu.main-menu — o drawer do hamburger
   da home reaproveita esse <ul> e ficaria vazio. */
@media (max-width: 991px) {
  header .top-nav {
    display: none !important;
  }
}
/* ================================================================
   FIM dos mobile fixes
   ================================================================ */

/* ================================================================
   DRAWER MENU FIX — applied 2026-07-03 via REST API
   Corrige drawer do hamburger vazio em mobile. A regra do "CSS
   adicional" do Customizer (header ul.nav-menu.main-menu{display:none})
   esvaziava o drawer, que reaproveita esse mesmo <ul>. Como o
   Customizer não é editável via REST, reexibimos o <ul> com
   especificidade maior somente quando .nav-container está .active.
   ================================================================ */
@media (max-width: 991px) {
  header .nav-container.active ul.nav-menu.main-menu {
    display: flex !important;
  }
}

/* --- Submenu do drawer: controlar SÓ pela classe .active ----------
   O JS do tema alterna .active no <li> a cada toque na seta, mas o
   CSS do tema revela o submenu via :hover. Em telas de toque o :hover
   "gruda" e o submenu não fecha no 2º toque. Aqui neutralizamos o
   reveal por :hover no drawer e deixamos .active como única fonte de
   verdade, para abrir/fechar limpo a cada toque. ------------------- */
@media (max-width: 1024px) {
  header .nav-container ul.nav-menu.main-menu .menu-item-has-children:hover > .sub-menu {
    visibility: hidden !important;
    max-height: 0 !important;
    opacity: 0 !important;
  }
  header .nav-container ul.nav-menu.main-menu .menu-item-has-children.active > .sub-menu {
    visibility: visible !important;
    max-height: 1000px !important;
    opacity: 1 !important;
  }
}
/* ================================================================
   FIM do drawer menu fix
   ================================================================ *//* End custom CSS */