/*
 * Direcional Imobiliário — Hub de Notícias · identidade visual
 * Plugin: direcional-identidade 1.0.2
 *
 * POR QUE !important: o Elementor/Royal Addons grava as cores e fontes de cada widget em
 * arquivos post-NNN.css com seletores longos (.elementor-NNN .elementor-element.elementor-element-XXXX ...),
 * e parte desses arquivos é impressa no <body>, depois deste <link>. Sem !important, a ordem e a
 * especificidade decidem e a marca perderia em vários pontos. Todas as regras abaixo que disputam
 * com o construtor usam !important de propósito. Reverter = desativar o plugin.
 *
 * Seções:
 *  1. Tokens          2. Base e tipografia      3. Links, foco, botões
 *  4. Cabeçalho/menu  5. Grades, cards, selos    6. Sidebar e widgets
 *  7. Post e arquivo  8. Rodapé                  9. Responsivo
 *
 * Seletores marcados [ID] dependem do id de um widget/seção do Theme Builder atual. Se o
 * template for refeito no Elementor, esses ids mudam e a regra deixa de casar (o resto continua).
 */

/* Montserrat hospedada no próprio plugin (fonte variável 400–800, licença OFL). Sem chamada ao Google Fonts. */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/mont-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/mont-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ============ 1. TOKENS ============ */
:root {
  --dir-navy: #0A1E3D;
  --dir-orange: #FF7A00;
  --dir-gray: #8C8F94;

  --dir-text: #1A2433;
  --dir-text-muted: #5E6268;
  --dir-orange-text: #B85600;
  --dir-bg-soft: #F4F5F7;
  --dir-border: #E3E5E8;
  --dir-white: #FFFFFF;
  --dir-on-navy: #D3D9E2;       /* texto secundário sobre azul */

  --dir-font: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;

  --dir-radius: 4px;
  --dir-radius-sm: 2px;
  --dir-s1: 4px; --dir-s2: 8px; --dir-s3: 12px; --dir-s4: 16px;
  --dir-s5: 24px; --dir-s6: 32px; --dir-s7: 48px; --dir-s8: 64px;
  --dir-shadow: 0 1px 2px rgba(10, 30, 61, .06);
  --dir-focus: 2px solid var(--dir-orange);
}

/* Variáveis globais do Elementor apontando para a marca (o site usa poucas, mas os botões padrão e o
   botão de busca dependem delas). */
.elementor-kit-5, body {
  --e-global-color-primary: #0A1E3D;
  --e-global-color-secondary: #0A1E3D;
  --e-global-color-text: #1A2433;
  --e-global-color-accent: #FF7A00;
  --e-global-typography-primary-font-family: "Montserrat";
  --e-global-typography-secondary-font-family: "Montserrat";
  --e-global-typography-text-font-family: "Montserrat";
  --e-global-typography-accent-font-family: "Montserrat";
}

/* ============ 2. BASE E TIPOGRAFIA ============ */
html { -webkit-text-size-adjust: 100%; }

body,
body.elementor-default {
  background-color: var(--dir-white) !important;
  color: var(--dir-text);
  font-family: var(--dir-font);
}
.elementor-kit-5 { background-color: var(--dir-white) !important; }

/* Montserrat em todos os textos. Ícones (<i>, svg) ficam de fora para não quebrar Font Awesome/eicons. */
.elementor :where(h1, h2, h3, h4, h5, h6, p, a, li, span, div, strong, em, label, blockquote, figcaption,
                  input, textarea, select, button, td, th, time):not(i):not([class*="fa-"]):not([class*="eicon"]) {
  font-family: var(--dir-font) !important;
}
body :where(h1, h2, h3, h4, h5, h6, p, li, input, textarea, select, button) { font-family: var(--dir-font); }

/* Títulos de widgets "Heading" em azul, peso 700 */
.elementor .elementor-widget-heading .elementor-heading-title {
  color: var(--dir-navy) !important;
  font-weight: 700 !important;
  letter-spacing: 0;
}

/* Meta (autor, data, comentários): cinza com contraste AA */
.elementor .wpr-grid-item-date, .elementor .wpr-grid-item-date a,
.elementor .wpr-grid-item-time, .elementor .wpr-grid-item-author, .elementor .wpr-grid-item-author a,
.elementor .wpr-grid-item-comments, .elementor .wpr-grid-item-comments a,
.elementor .wpr-post-info, .elementor .wpr-post-info a,
.elementor .wpr-featured-media-caption {
  color: var(--dir-text-muted) !important;
}

/* ============ 3. LINKS, FOCO, BOTÕES ============ */
/* Texto corrido dos posts: azul com sublinhado; hover laranja escuro */
.elementor .wpr-post-content a:not(.wpr-button):not(.elementor-button) {
  color: var(--dir-navy) !important;
  text-decoration: underline !important;
  text-decoration-color: var(--dir-orange) !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px;
}
.elementor .wpr-post-content a:not(.wpr-button):not(.elementor-button):hover {
  color: var(--dir-orange-text) !important;
}

/* Foco visível */
.elementor a:focus-visible, .elementor button:focus-visible, .elementor input:focus-visible,
.elementor textarea:focus-visible, .elementor select:focus-visible, .elementor [tabindex]:focus-visible,
.wpr-mobile-toggle:focus-visible {
  outline: var(--dir-focus) !important;
  outline-offset: 2px !important;
}

/* Botão principal: fundo azul, texto branco, hover laranja com texto azul (6,35:1) */
.elementor .elementor-button,
.elementor .wpr-grid-item-read-more .inner-block a,
.elementor .wpr-button,
.elementor .wpr-promo-box-btn,
.elementor .wpr-mailchimp-subscribe-btn,
.elementor .wpr-instagram-follow-btn,
.elementor .wpr-author-box-btn,
.elementor .wpr-submit-comment,
.elementor .wpr-search-form-submit,
.elementor .wpr-step-next,
.elementor .wpr-button[type="submit"],
.elementor .wpr-grid-pagination a,
.elementor .wpr-grid-pagination > div > span:not(.wpr-disabled-arrow),
.elementor .wpr-grid-filters li > a, .elementor .wpr-grid-filters li > span {
  background-color: var(--dir-navy) !important;
  color: var(--dir-white) !important;
  border: 1px solid var(--dir-navy) !important;
  border-radius: var(--dir-radius) !important;
  min-height: 44px;
  font-weight: 600 !important;
  letter-spacing: .02em;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease !important;
}
.elementor .elementor-button:hover,
.elementor .wpr-grid-item-read-more .inner-block a:hover,
.elementor .wpr-button:hover,
.elementor .wpr-promo-box:hover .wpr-promo-box-btn,
.elementor .wpr-promo-box-btn:hover,
.elementor .wpr-mailchimp-subscribe-btn:hover,
.elementor .wpr-instagram-follow-btn:hover,
.elementor .wpr-author-box-btn:hover,
.elementor .wpr-submit-comment:hover,
.elementor .wpr-search-form-submit:hover,
.elementor .wpr-step-next:hover,
.elementor .wpr-button[type="submit"]:hover,
.elementor .wpr-grid-pagination a:hover,
.elementor .wpr-grid-pagination > div > span:not(.wpr-disabled-arrow):hover,
.elementor .wpr-grid-pagination span.wpr-grid-current-page,
.elementor .wpr-grid-filters li > a:hover, .elementor .wpr-grid-filters li > span:hover,
.elementor .wpr-grid-filters li > .wpr-active-filter {
  background-color: var(--dir-orange) !important;
  color: var(--dir-navy) !important;
  border-color: var(--dir-orange) !important;
}
.elementor .wpr-grid-pagination span.wpr-disabled-arrow {
  background-color: var(--dir-bg-soft) !important;
  color: var(--dir-text-muted) !important;
  border: 1px solid var(--dir-border) !important;
  border-radius: var(--dir-radius) !important;
}
/* "Read More" dos cards: padding confortável e altura de toque */
.elementor .wpr-grid-item-read-more .inner-block a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 10px 24px !important;
}

/* Botão secundário (contorno) — use a classe "dir-btn-secundario" no botão do Elementor, se precisar */
.elementor .dir-btn-secundario .elementor-button, .dir-btn-secundario.elementor-button {
  background-color: transparent !important;
  color: var(--dir-navy) !important;
  border: 1px solid var(--dir-navy) !important;
}

/* Campos de formulário */
.elementor input[type="text"], .elementor input[type="email"], .elementor input[type="search"],
.elementor input[type="url"], .elementor input[type="tel"], .elementor textarea, .elementor select,
.elementor .wpr-search-form-input, .elementor .wpr-mailchimp-email {
  background-color: var(--dir-white) !important;
  color: var(--dir-text) !important;
  border: 1px solid var(--dir-border) !important;
  border-radius: var(--dir-radius) !important;
  min-height: 44px;
}
.elementor input:not([type="submit"]):not([type="button"]):focus, .elementor textarea:focus {
  border-color: var(--dir-navy) !important;
  outline: var(--dir-focus) !important;
  outline-offset: 0 !important;
}
.elementor ::placeholder { color: var(--dir-text-muted) !important; opacity: 1; }

/* Divisores de título de seção: laranja fino */
.elementor .elementor-widget-divider { --divider-color: var(--dir-orange) !important; }
.elementor .elementor-widget-divider .elementor-divider-separator { border-top-color: var(--dir-orange) !important; }

/* Carregamento/ spinners do Royal Addons */
.elementor .wpr-double-bounce .wpr-child, .elementor .wpr-wave .wpr-rect, .elementor .wpr-spinner-pulse,
.elementor .wpr-chasing-dots .wpr-child, .elementor .wpr-three-bounce .wpr-child,
.elementor .wpr-fading-circle .wpr-circle:before { background-color: var(--dir-orange) !important; }
.elementor .wpr-ring div { border-color: var(--dir-orange) transparent transparent transparent !important; }
.elementor .wpr-pagination-finish { color: var(--dir-text-muted) !important; }

/* ============ 4. CABEÇALHO E MENU ============ */
/* [ID] c9b69e8 = coluna do menu (template do cabeçalho, post 343). Troca a faixa laranja arredondada por branco. */
.elementor-343 .elementor-element.elementor-element-c9b69e8 > .elementor-widget-wrap,
.elementor-343 .elementor-element.elementor-element-c9b69e8 > .elementor-element-populated {
  background-color: var(--dir-white) !important;
  border-radius: 0 !important;
  border-top: 1px solid var(--dir-border);
  border-bottom: 3px solid var(--dir-orange);
}

/* Logo (a imagem em si é trocada no painel) */
.elementor .wpr-logo-image img { max-height: 64px; width: auto; }
.elementor .wpr-logo-title { color: var(--dir-navy) !important; font-weight: 800 !important; }
.elementor .wpr-logo-description { color: var(--dir-text-muted) !important; }

/* Itens do menu: azul; hover/ativo com traço laranja */
.elementor .wpr-nav-menu .wpr-menu-item,
.elementor .wpr-nav-menu > .menu-item-has-children > .wpr-sub-icon,
.elementor .wpr-nav-menu .wpr-mega-menu-icon {
  color: var(--dir-navy) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: .01em;
}
.elementor .wpr-nav-menu .wpr-menu-item:hover,
.elementor .wpr-nav-menu .wpr-menu-item.wpr-active-menu-item,
.elementor .wpr-nav-menu .wpr-menu-item:hover .wpr-mega-menu-icon {
  color: var(--dir-navy) !important;
}
.elementor .wpr-pointer-line-fx .wpr-menu-item:before,
.elementor .wpr-pointer-line-fx .wpr-menu-item:after { background-color: var(--dir-orange) !important; height: 3px !important; }
.elementor .wpr-pointer-border-fx .wpr-menu-item:before { border-color: var(--dir-orange) !important; }
.elementor .wpr-pointer-background-fx .wpr-menu-item:before { background-color: var(--dir-bg-soft) !important; }

/* Submenu */
.elementor .wpr-sub-menu {
  background-color: var(--dir-white) !important;
  border: 1px solid var(--dir-border) !important;
  border-top: 3px solid var(--dir-orange) !important;
  border-radius: 0 0 var(--dir-radius) var(--dir-radius) !important;
  box-shadow: 0 8px 24px rgba(10, 30, 61, .10) !important;
}
.elementor .wpr-sub-menu .wpr-sub-menu-item {
  background-color: var(--dir-white) !important;
  color: var(--dir-navy) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  padding-top: 10px !important; padding-bottom: 10px !important;
}
.elementor .wpr-sub-menu .wpr-sub-menu-item:hover,
.elementor .wpr-sub-menu .wpr-sub-menu-item.wpr-active-menu-item {
  background-color: var(--dir-bg-soft) !important;
  color: var(--dir-navy) !important;
}
.elementor .wpr-sub-menu > .menu-item-has-children .wpr-sub-icon { color: var(--dir-navy) !important; }
.elementor .wpr-sub-divider-yes .wpr-sub-menu li:not(:last-child) { border-bottom-color: var(--dir-border) !important; }

/* Submenu "Notícias" (somente desktop).
   No HTML real é um mega menu do Royal Addons (li.menu-item-354 > div.wpr-sub-mega-menu) que carrega o
   template 534: 2 colunas, 4 widgets "Page List" por coluna, 1 link por widget (a.wpr-pl-title).
   O Royal Addons grava width:280px inline por JavaScript; por isso a largura abaixo usa !important.
   O escopo .wpr-nav-menu-horizontal deixa o menu móvel (.wpr-mobile-nav-menu) intacto. */
.elementor .wpr-nav-menu-horizontal .wpr-nav-menu > li > .wpr-sub-mega-menu {
  width: 480px !important;
  min-width: 480px;
  max-width: calc(100vw - 32px);
  background-color: var(--dir-white) !important;
  border: 1px solid var(--dir-border) !important;
  border-radius: var(--dir-radius) !important;
  box-shadow: 0 6px 20px rgba(10, 30, 61, .08) !important;
}
.elementor .wpr-sub-mega-menu .elementor-top-section { padding: 8px !important; }
.elementor .wpr-sub-mega-menu .elementor-container { max-width: none !important; width: 100%; flex-wrap: nowrap; }
.elementor .wpr-sub-mega-menu .elementor-column { width: 50% !important; }
.elementor .wpr-sub-mega-menu .elementor-column > .elementor-element-populated,
.elementor .wpr-sub-mega-menu .elementor-column > .elementor-widget-wrap { padding: 0 !important; }
.elementor .wpr-sub-mega-menu .elementor-widget { margin-bottom: 0 !important; }
.elementor .wpr-sub-mega-menu .wpr-page-list { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.elementor .wpr-sub-mega-menu .wpr-page-list-item { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.elementor .wpr-sub-mega-menu .wpr-page-list-item { position: relative; display: block !important; }
/* A seta de cada item (svg angle-right) fica sobre o recuo esquerdo do link, centrada na linha;
   assim o link ocupa a linha inteira e o hover e o foco cobrem seta e texto. */
.elementor .wpr-sub-mega-menu .wpr-page-list-item-icon {
  position: absolute !important;
  left: 16px; top: 50%;
  transform: translateY(-50%);
  margin: 0 !important;
  display: flex !important; align-items: center;
  max-height: none !important;
  pointer-events: none;
}
.elementor .wpr-sub-mega-menu .wpr-page-list-item-icon svg { width: 10px !important; height: 10px !important; fill: var(--dir-navy) !important; transition: fill .15s ease; }
.elementor .wpr-sub-mega-menu .wpr-page-list-item:hover .wpr-page-list-item-icon svg,
.elementor .wpr-sub-mega-menu .wpr-page-list-item:focus-within .wpr-page-list-item-icon svg { fill: var(--dir-orange-text) !important; }
.elementor .wpr-sub-mega-menu .wpr-page-list-wrap,
.elementor .wpr-sub-mega-menu .wpr-page-list-item { width: 100% !important; }
.elementor .wpr-sub-mega-menu .wpr-page-list-item > div { display: block; flex: 1 1 auto; width: 100%; }   /* o link ocupa a linha inteira, não só o texto */
.elementor .wpr-sub-mega-menu .wpr-page-list-item a.wpr-pl-title,
.elementor .wpr-sub-mega-menu .wpr-page-list-item .wpr-pl-title {
  display: block !important;
  margin: 0 !important;
  padding: 10px 16px 10px 38px !important;   /* 10px 16px + 22px de recuo para a seta */
  font-family: var(--dir-font) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: nowrap !important;
  color: var(--dir-navy) !important;
  background-color: transparent !important;
  border-radius: var(--dir-radius) !important;
  text-decoration: none !important;
  transition: background-color .15s ease, color .15s ease !important;
}
.elementor .wpr-sub-mega-menu .wpr-page-list-item a.wpr-pl-title:hover,
.elementor .wpr-sub-mega-menu .wpr-page-list-item .wpr-pl-title:hover {
  color: var(--dir-orange-text) !important;
  background-color: var(--dir-bg-soft) !important;
}
.elementor .wpr-sub-mega-menu .wpr-page-list-item a.wpr-pl-title:focus-visible {
  color: var(--dir-orange-text) !important;
  background-color: var(--dir-bg-soft) !important;
  outline: var(--dir-focus) !important;
  outline-offset: -2px !important;   /* dentro do item: o menu tem overflow:hidden e cortaria um contorno externo */
}
/* Seta ao lado de "Notícias": centrada na altura do texto */
.elementor .wpr-nav-menu-horizontal .wpr-menu-item .wpr-sub-icon {
  display: inline-flex;
  align-items: center;
  line-height: 1;
  margin-top: 0 !important;
  vertical-align: middle;
}

/* Menu móvel (hambúrguer) */
.elementor .wpr-mobile-toggle { border-color: var(--dir-navy) !important; min-width: 44px; min-height: 44px; }
.elementor .wpr-mobile-toggle-line { background-color: var(--dir-navy) !important; }
.elementor .wpr-mobile-toggle-text { color: var(--dir-navy) !important; }
.elementor .wpr-mobile-toggle:hover { border-color: var(--dir-orange) !important; }
.elementor .wpr-mobile-toggle:hover .wpr-mobile-toggle-line { background-color: var(--dir-orange) !important; }
.elementor .wpr-mobile-nav-menu, .elementor .wpr-mobile-nav-menu > li, .elementor .wpr-mobile-sub-menu li {
  background-color: var(--dir-white) !important;
}
.elementor .wpr-mobile-menu-item, .elementor .wpr-mobile-sub-menu-item,
.elementor .wpr-mobile-nav-menu .menu-item-has-children > a:after { color: var(--dir-navy) !important; font-weight: 600 !important; }
.elementor .wpr-mobile-menu-item:hover, .elementor .wpr-mobile-sub-menu-item:hover,
.elementor .wpr-mobile-nav-menu li a:hover {
  background-color: var(--dir-bg-soft) !important;
  color: var(--dir-navy) !important;
}
.elementor .wpr-mobile-divider-yes .wpr-mobile-menu-item { border-bottom-color: var(--dir-border) !important; }

/* Busca do cabeçalho */
.elementor .wpr-search-form-input { color: var(--dir-text) !important; border-color: var(--dir-border) !important; }
.elementor .wpr-data-fetch { border-color: var(--dir-border) !important; border-radius: var(--dir-radius) !important; }
.elementor .wpr-data-fetch a.wpr-view-result { background-color: var(--dir-navy) !important; color: var(--dir-white) !important; }
.elementor .wpr-data-fetch a.wpr-view-result:hover { background-color: var(--dir-orange) !important; color: var(--dir-navy) !important; }
.elementor .wpr-data-fetch ul li:hover { background-color: var(--dir-bg-soft) !important; }

/* Gatilho do painel lateral (off-canvas), hoje ciano */
.elementor .wpr-offcanvas-trigger {
  background-color: var(--dir-navy) !important;
  color: var(--dir-white) !important;
  border-radius: var(--dir-radius) !important;
}
.elementor .wpr-offcanvas-trigger:hover { background-color: var(--dir-orange) !important; color: var(--dir-navy) !important; }
.elementor .wpr-offcanvas-content { background-color: var(--dir-white) !important; }

/* Ícones sociais (cada um vem com cor própria): padrão único em azul; hover laranja */
.elementor .elementor-social-icon {
  background-color: var(--dir-navy) !important;
  border-radius: var(--dir-radius) !important;
  transition: background-color .2s ease;
}
.elementor .elementor-social-icon i, .elementor .elementor-social-icon svg { color: var(--dir-white) !important; fill: var(--dir-white) !important; }
.elementor .elementor-social-icon:hover { background-color: var(--dir-orange) !important; }
.elementor .elementor-social-icon:hover i, .elementor .elementor-social-icon:hover svg { color: var(--dir-navy) !important; fill: var(--dir-navy) !important; }

/* ============ 5. GRADES, CARDS E SELOS ============ */
/* Cards do Royal Grid */
.elementor .wpr-grid-item-inner,
.elementor .wpr-item-styles-wrapper .wpr-grid-item {
  background-color: var(--dir-white) !important;
  border-color: var(--dir-border) !important;
  border-radius: var(--dir-radius) !important;
  box-shadow: var(--dir-shadow);
}
.elementor .wpr-item-styles-inner .wpr-grid-item-above-content,
.elementor .wpr-item-styles-inner .wpr-grid-item-below-content { border-color: var(--dir-border) !important; }
.elementor .wpr-grid-image-wrap img { object-fit: cover; }
.elementor .wpr-grid-image-wrap { border-radius: var(--dir-radius) var(--dir-radius) 0 0; overflow: hidden; }

/* Títulos dos cards */
.elementor .wpr-grid-item-title, .elementor .wpr-grid-item-title a, .elementor .wpr-grid-item-title .inner-block a {
  color: var(--dir-navy) !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}
.elementor .wpr-grid-item-title a:hover { color: var(--dir-orange-text) !important; }
.elementor .wpr-grid-item-excerpt, .elementor .wpr-grid-item-excerpt .inner-block { color: var(--dir-text) !important; line-height: 1.6; }

/* Selos de categoria — padrão único: fundo azul, texto branco, raio 2px; hover laranja com texto azul */
.elementor .wpr-grid-tax-style-1 .inner-block a,
.elementor .wpr-grid-tax-style-2 .inner-block a,
.elementor .wpr-grid-item-category .inner-block a {
  background-color: var(--dir-navy) !important;
  color: var(--dir-white) !important;
  border-radius: var(--dir-radius-sm) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .02em;
  padding: 4px 10px !important;
  text-decoration: none !important;
}
.elementor .wpr-grid-tax-style-1 .inner-block a:hover,
.elementor .wpr-grid-tax-style-2 .inner-block a:hover,
.elementor .wpr-grid-item-category .inner-block a:hover {
  background-color: var(--dir-orange) !important;
  color: var(--dir-navy) !important;
}
.elementor .wpr-grid-tax-style-1 .wpr-pointer-item:before,
.elementor .wpr-grid-tax-style-1 .wpr-pointer-item:after { background-color: var(--dir-orange) !important; }
.elementor .wpr-grid-item-protected { background-color: var(--dir-navy) !important; color: var(--dir-white) !important; }

/* Separador sob o título */
.elementor .wpr-grid-sep-style-2 .inner-block > span { border-bottom-color: var(--dir-orange) !important; }

/* Ícones de lightbox e setas do slider */
.elementor .wpr-grid-item-lightbox .inner-block > span:hover { color: var(--dir-orange-text) !important; }
.elementor .wpr-grid-slider-arrow { color: var(--dir-white) !important; }
.elementor .wpr-grid-slider-arrow:hover { color: var(--dir-orange) !important; background-color: transparent !important; }
.elementor .wpr-grid-slider-arrow:hover svg { fill: var(--dir-orange) !important; }
.elementor .wpr-grid-slider-dots .swiper-pagination-bullet-active, .elementor .swiper-pagination-bullet-active {
  background-color: var(--dir-orange) !important;
}

/* Texto sobre foto (slider e magazine: .wpr-grid-media-hover): camada azul mais densa e texto branco.
   Mais específico que as regras de título/meta acima, que são para cards com fundo branco. */
.elementor .wpr-grid-media-hover-bg { background-color: rgba(10, 30, 61, .62) !important; }
.elementor .wpr-grid-media-hover .wpr-grid-item-title,
.elementor .wpr-grid-media-hover .wpr-grid-item-title a,
.elementor .wpr-grid-media-hover .wpr-grid-item-title .inner-block a,
.elementor .wpr-grid-media-hover .wpr-grid-item-excerpt,
.elementor .wpr-grid-media-hover .wpr-grid-item-excerpt .inner-block,
.elementor .wpr-grid-media-hover .wpr-grid-item-date, .elementor .wpr-grid-media-hover .wpr-grid-item-date span,
.elementor .wpr-grid-media-hover .wpr-grid-item-time, .elementor .wpr-grid-media-hover .wpr-grid-item-author,
.elementor .wpr-grid-media-hover .wpr-grid-item-author a, .elementor .wpr-grid-media-hover .wpr-grid-item-comments,
.elementor .wpr-grid-media-hover .wpr-grid-item-comments a { color: var(--dir-white) !important; }
.elementor .wpr-grid-media-hover .wpr-grid-item-title a:hover { color: var(--dir-orange) !important; }
.elementor .wpr-grid-media-hover .wpr-grid-item-title { text-shadow: 0 1px 2px rgba(10, 30, 61, .5); }

/* Caixas "promo" (Radar de Oportunidades, Crescimento Regional etc.) */
.elementor .wpr-promo-box-bg-overlay { background-color: rgba(10, 30, 61, .45) !important; }
.elementor .wpr-promo-box:hover .wpr-promo-box-bg-overlay { background-color: rgba(10, 30, 61, .70) !important; }
.elementor .wpr-promo-box-title, .elementor .wpr-promo-box-title a { color: var(--dir-white) !important; font-weight: 700 !important; }
.elementor .wpr-promo-box-description { color: var(--dir-white) !important; }

/* ============ 6. SIDEBAR E WIDGETS ============ */
/* Caixas da sidebar (ids de seção variam; a borda já vem do construtor) */
.elementor .elementor-column .elementor-widget-wpr-taxonomy-list a {
  color: var(--dir-navy) !important;
  font-weight: 500 !important;
}
.elementor .wpr-taxonomy-list li a:hover { color: var(--dir-orange-text) !important; }

/* Tags (lista horizontal): fundo claro com borda */
.elementor .wpr-taxonomy-list-horizontal .wpr-taxonomy-list li a,
.elementor .wpr-taxonomy-list-horizontal .wpr-taxonomy-list li > span {
  background-color: var(--dir-bg-soft) !important;
  color: var(--dir-navy) !important;
  border: 1px solid var(--dir-border) !important;
  border-radius: var(--dir-radius) !important;
  padding: 6px 12px !important;
  font-size: 13px !important;
}
.elementor .wpr-taxonomy-list-horizontal .wpr-taxonomy-list li a:hover {
  background-color: var(--dir-orange) !important;
  border-color: var(--dir-orange) !important;
  color: var(--dir-navy) !important;
}
.elementor .wpr-taxonomy-list-vertical .wpr-taxonomy-list li a, .elementor .wpr-taxonomy-list-vertical .wpr-taxonomy-list li > span {
  background-color: transparent !important;
}

/* Newsletter (Mailchimp) */
.elementor .wpr-mailchimp-email { min-height: 48px; }
.elementor .wpr-mailchimp-subscribe-btn { min-height: 48px; }
.elementor .wpr-mailchimp-success-message { color: var(--dir-navy) !important; }
.elementor .wpr-mailchimp-error-message { color: #B3261E !important; }

/* Instagram feed */
.elementor .wpr-instagram-follow-btn { text-transform: none !important; display: inline-flex !important; align-items: center; justify-content: center; padding: 10px 24px !important; }
.elementor .wpr-insta-feed-item-lightbox .inner-block > span, .elementor .wpr-insta-feed-item-lightbox .inner-block > span svg { color: var(--dir-white) !important; fill: var(--dir-white) !important; }
.elementor .wpr-insta-feed-item-lightbox .inner-block > span:hover, .elementor .wpr-insta-feed-item-lightbox .inner-block > span:hover svg {
  color: var(--dir-orange) !important; fill: var(--dir-orange) !important;
}

/* Lista de páginas / selos de menu (post 534) */
.elementor .wpr-page-list-item-badge { background-color: var(--dir-orange) !important; color: var(--dir-navy) !important; border-radius: var(--dir-radius-sm) !important; font-weight: 700 !important; }

/* Voltar ao topo: fundo laranja, seta azul, sem borda; hover invertido (fundo azul, seta branca).
   O botão (.wpr-stt-btn) tem borda e cor de ícone gravadas no template 346 (#FF4C60). */
.elementor .wpr-stt-btn {
  background-color: var(--dir-orange) !important;
  border: 0 !important;
  border-radius: var(--dir-radius) !important;
  min-width: 44px; min-height: 44px;
  box-shadow: none !important;
  color: var(--dir-navy) !important;
}
.elementor .wpr-stt-btn .wpr-stt-icon, .elementor .wpr-stt-btn .wpr-stt-content, .elementor .wpr-stt-btn i { color: var(--dir-navy) !important; }
.elementor .wpr-stt-btn .wpr-stt-icon svg, .elementor .wpr-stt-btn svg { fill: var(--dir-navy) !important; }
.elementor .wpr-stt-btn:hover { background-color: var(--dir-navy) !important; color: var(--dir-white) !important; }
.elementor .wpr-stt-btn:hover .wpr-stt-icon, .elementor .wpr-stt-btn:hover .wpr-stt-content, .elementor .wpr-stt-btn:hover i { color: var(--dir-white) !important; }
.elementor .wpr-stt-btn:hover .wpr-stt-icon svg, .elementor .wpr-stt-btn:hover svg { fill: var(--dir-white) !important; }

/* ============ 7. POST E ARQUIVO ============ */
/* Título do post (H1) */
.elementor .wpr-post-title {
  color: var(--dir-navy) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  font-size: clamp(28px, 4.2vw, 40px) !important;
}
.elementor .wpr-archive-title {
  color: var(--dir-navy) !important;
  font-weight: 800 !important;
  font-size: clamp(26px, 3.6vw, 34px) !important;
}
.elementor .wpr-archive-title span { color: var(--dir-text-muted) !important; font-weight: 600 !important; }
.elementor .wpr-archive-description { color: var(--dir-text) !important; }

/* Corpo do texto: 17px, entrelinha 1,7, ~70 caracteres por linha */
.elementor .wpr-post-content {
  color: var(--dir-text) !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
}
.elementor .wpr-post-content :where(p, li) { max-width: 70ch; }
.elementor .wpr-post-content :where(h2, h3, h4) {
  color: var(--dir-navy) !important;
  font-weight: 700 !important;
  line-height: 1.3;
  margin-top: 1.8em;
}
.elementor .wpr-post-content h2 { font-size: 26px; padding-bottom: .3em; border-bottom: 2px solid var(--dir-orange); max-width: 70ch; }
.elementor .wpr-post-content h3 { font-size: 21px; }
.elementor .wpr-post-content :where(ul, ol) { padding-left: 1.25em; }
.elementor .wpr-post-content blockquote {
  border-left: 4px solid var(--dir-orange);
  margin-left: 0; padding: var(--dir-s2) var(--dir-s5);
  background: var(--dir-bg-soft); color: var(--dir-text);
}
.elementor .wpr-post-content table { border-collapse: collapse; width: 100%; font-size: 15px; display: block; overflow-x: auto; }
.elementor .wpr-post-content :where(th, td) { border: 1px solid var(--dir-border); padding: 8px 12px; text-align: left; }
.elementor .wpr-post-content th { background: var(--dir-navy); color: var(--dir-white); }
.elementor .wpr-post-content img { max-width: 100%; height: auto; border-radius: var(--dir-radius); }

/* Barra de leitura, compartilhar, autor, navegação, comentários */
.wpr-reading-progress-bar-container .wpr-reading-progress-bar { background-color: var(--dir-orange) !important; }
.elementor .wpr-sharing-buttons .wpr-sharing-icon i, .elementor .wpr-sharing-buttons .wpr-sharing-icon svg {
  background-color: var(--dir-navy) !important; color: var(--dir-white) !important; fill: var(--dir-white) !important;
  border-radius: var(--dir-radius) !important;
}
.elementor .wpr-sharing-buttons .wpr-sharing-icon:hover i, .elementor .wpr-sharing-buttons .wpr-sharing-icon:hover svg {
  background-color: var(--dir-orange) !important; color: var(--dir-navy) !important; fill: var(--dir-navy) !important;
}
.elementor .wpr-author-box-title, .elementor .wpr-author-box-title a { color: var(--dir-text-muted) !important; font-weight: 600 !important; }
.elementor .wpr-author-box-name, .elementor .wpr-author-box-name a { color: var(--dir-navy) !important; font-weight: 700 !important; }
.elementor .wpr-post-navigation i, .elementor .wpr-post-navigation svg path,
.elementor .wpr-post-nav-labels span { color: var(--dir-navy) !important; }
.elementor .wpr-posts-navigation-svg-wrapper svg { fill: var(--dir-navy) !important; }
.elementor .wpr-post-navigation:hover i, .elementor .wpr-post-nav-labels span:hover { color: var(--dir-orange-text) !important; }
.elementor .wpr-comment-reply-title { color: var(--dir-navy) !important; font-weight: 700 !important; }

/* ============ 8. RODAPÉ ============ */
/* [ID] a43fa61 = seção do rodapé (template post 346); 9ba6e3e = faixa de copyright logo abaixo */
.elementor-346 .elementor-element.elementor-element-a43fa61,
.elementor-346 .elementor-element.elementor-element-a43fa61:not(.elementor-motion-effects-element-type-background),
.elementor-346 .elementor-element.elementor-element-a43fa61 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: var(--dir-navy) !important;
}
.elementor-346 .elementor-element-a43fa61 { border-top: 4px solid var(--dir-orange); }
.elementor-346 .elementor-element-a43fa61 .elementor-heading-title { color: var(--dir-white) !important; font-weight: 700 !important; }
.elementor-346 .elementor-element-a43fa61 .elementor-widget-divider { --divider-color: var(--dir-orange) !important; }
.elementor-346 .elementor-element-a43fa61 .elementor-divider-separator { border-top-color: var(--dir-orange) !important; width: 48px !important; }
.elementor-346 .elementor-element-a43fa61 .elementor-widget-text-editor,
.elementor-346 .elementor-element-a43fa61 .elementor-widget-text-editor p,
.elementor-346 .elementor-element-a43fa61 .elementor-widget-text-editor li { color: var(--dir-on-navy) !important; font-size: 14px !important; line-height: 1.7; }
.elementor-346 .elementor-element-a43fa61 .elementor-widget-text-editor a { color: var(--dir-white) !important; text-decoration: underline; text-decoration-color: var(--dir-orange); text-underline-offset: 3px; }
.elementor-346 .elementor-element-a43fa61 .wpr-grid-item-title a, .elementor-346 .elementor-element-a43fa61 .wpr-grid-item-title .inner-block a { color: var(--dir-white) !important; }
.elementor-346 .elementor-element-a43fa61 .wpr-grid-item-title a:hover { color: var(--dir-orange) !important; }
.elementor-346 .elementor-element-a43fa61 .wpr-grid-item-date, .elementor-346 .elementor-element-a43fa61 .wpr-grid-item-date span, .elementor-346 .elementor-element-a43fa61 .wpr-grid-item-date a,
.elementor-346 .elementor-element-a43fa61 .wpr-grid-item-author a, .elementor-346 .elementor-element-a43fa61 .wpr-grid-item-comments a { color: var(--dir-on-navy) !important; }
.elementor-346 .elementor-element-a43fa61 .wpr-grid-item-inner, .elementor-346 .elementor-element-a43fa61 .wpr-grid-item { background-color: transparent !important; box-shadow: none !important; border-color: rgba(255,255,255,.18) !important; }
/* Tags no rodapé: versão escura */
.elementor-346 .elementor-element-a43fa61 .wpr-taxonomy-list a, .elementor-346 .elementor-element-a43fa61 .wpr-taxonomy-list-horizontal .wpr-taxonomy-list li a {
  background-color: rgba(255,255,255,.08) !important;
  color: var(--dir-white) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
}
.elementor-346 .elementor-element-a43fa61 .wpr-taxonomy-list a:hover, .elementor-346 .elementor-element-a43fa61 .wpr-taxonomy-list-horizontal .wpr-taxonomy-list li a:hover {
  background-color: var(--dir-orange) !important; border-color: var(--dir-orange) !important; color: var(--dir-navy) !important;
}
/* Ícones sociais no rodapé: contorno branco */
.elementor-346 .elementor-element-a43fa61 .elementor-social-icon { background-color: rgba(255,255,255,.10) !important; }
.elementor-346 .elementor-element-a43fa61 .elementor-social-icon:hover { background-color: var(--dir-orange) !important; }
/* [ID] 8aed576 = faixa de copyright (template 346), hoje #0F1012. Fica no azul da marca, com texto de contraste AA. */
.elementor-346 .elementor-element.elementor-element-8aed576,
.elementor-346 .elementor-element.elementor-element-8aed576:not(.elementor-motion-effects-element-type-background),
.elementor-346 .elementor-element.elementor-element-8aed576 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: var(--dir-navy) !important;
}
.elementor-346 .elementor-element-8aed576 .elementor-widget-text-editor,
.elementor-346 .elementor-element-8aed576 .elementor-widget-text-editor p { color: var(--dir-on-navy) !important; font-size: 13px !important; }
.elementor-346 .elementor-element-8aed576 .elementor-divider-separator { border-top-color: rgba(255,255,255,.22) !important; width: 100% !important; }
/* Linha de copyright */
.elementor-346 .elementor-element-a43fa61 hr, .elementor-346 .elementor-element-a43fa61 .elementor-divider-separator { border-color: rgba(255,255,255,.25); }

/* ============ 9. RESPONSIVO ============ */
@media (max-width: 1024px) {
  .elementor .wpr-post-content { font-size: 17px !important; }
}
@media (max-width: 767px) {
  .elementor-346 .elementor-element-a43fa61 { padding-left: var(--dir-s4) !important; padding-right: var(--dir-s4) !important; }
  .elementor .wpr-post-content { font-size: 16px !important; }
  .elementor .wpr-post-content h2 { font-size: 22px; }
  .elementor .wpr-post-content h3 { font-size: 19px; }
  .elementor .wpr-grid-item-read-more .inner-block a { width: 100%; }
}
/* ============ 10. AJUSTES RODADA 2 ============ */

/* -- Autor e data nos cards: mesma linha, 13px, cinza, ícones alinhados.
      No HTML os dois blocos são flutuados (float:left), por isso quebram em linhas separadas.
      O traço "-" entre eles é um <span class="wpr-grid-extra-text-right"> do HTML (texto do widget):
      não é CSS e não foi escondido. Troca-se no painel. */
.elementor .wpr-grid-item-author, .elementor .wpr-grid-item-date {
  float: none !important;
  display: inline-block !important;   /* inline-block: se não couberem lado a lado, a data desce inteira em vez de estourar o card */
  vertical-align: middle;
  white-space: nowrap;
  font-size: 13px !important;
  line-height: 1.4;
}
.elementor .wpr-grid-item-author .inner-block, .elementor .wpr-grid-item-date .inner-block { display: inline !important; }
.elementor .wpr-grid-item-author a, .elementor .wpr-grid-item-date span { font-size: inherit !important; }
.elementor .wpr-grid-item-author .wpr-grid-extra-text-right { margin: 0 6px; padding: 0 !important; color: var(--dir-text-muted); }
.elementor .wpr-grid-item-author .wpr-grid-extra-icon-left, .elementor .wpr-grid-item-date .wpr-grid-extra-icon-left { padding-right: 0 !important; }
.elementor .wpr-grid-item-author .inner-block, .elementor .wpr-grid-item-date .inner-block { margin-right: 0 !important; }
.elementor .wpr-grid-item-below-content { text-align: left; }
/* o texto da data/autor tem cor própria (#9C9C9C, 2,7:1) no span interno; só nos cards de fundo claro (below-content) */
.elementor .wpr-grid-item-below-content .wpr-grid-item-date span,
.elementor .wpr-grid-item-below-content .wpr-grid-item-author span,
.elementor .wpr-grid-item-below-content .wpr-grid-item-author a { color: var(--dir-text-muted) !important; }
.elementor .wpr-grid-item-below-content .wpr-grid-item-date svg,
.elementor .wpr-grid-item-below-content .wpr-grid-item-author svg { fill: var(--dir-text-muted) !important; }   /* os blocos de autor/data agora são inline-block e seguem o text-align do pai */
.elementor .wpr-grid-item-author svg, .elementor .wpr-grid-item-date svg,
.elementor .wpr-grid-item-author i, .elementor .wpr-grid-item-date i {
  width: 12px !important; height: 12px !important; font-size: 12px !important;
  vertical-align: -2px; margin-right: 4px !important;
}

@media (max-width: 767px) {
  /* celular: 12px, ícones menores e recuo lateral do card reduzido para autor e data caberem juntos [ID] 8d6b868 = grade principal da home */
  .elementor .wpr-grid-item-author, .elementor .wpr-grid-item-date { font-size: 12px !important; }
  .elementor .wpr-grid-item-author svg, .elementor .wpr-grid-item-date svg,
  .elementor .wpr-grid-item-author i, .elementor .wpr-grid-item-date i { width: 11px !important; height: 11px !important; font-size: 11px !important; margin-right: 3px !important; }
  .elementor .wpr-grid-item-author .wpr-grid-extra-text-right { margin: 0 4px; }
  .elementor-393 .elementor-element-8d6b868 .wpr-grid-item-below-content { padding-left: 14px !important; padding-right: 14px !important; }
}
@media (max-width: 380px) {
  /* telas muito estreitas (360px): sem os ícones, autor e data cabem na mesma linha */
  .elementor-393 .elementor-element-8d6b868 .wpr-grid-item-author .wpr-grid-extra-icon-left,
  .elementor-393 .elementor-element-8d6b868 .wpr-grid-item-date .wpr-grid-extra-icon-left { display: none !important; }
  .elementor-393 .elementor-element-8d6b868 .wpr-grid-item-below-content { padding-left: 12px !important; padding-right: 12px !important; }
}

/* -- Radar de Oportunidades e Crescimento Regional (Magazine Grid): título em no máximo 3 linhas, com reticências */
.elementor .wpr-magazine-grid .wpr-grid-item-title { font-size: clamp(15px, 1.5vw, 19px) !important; line-height: 1.25 !important; }
.elementor .wpr-magazine-grid .wpr-grid-item-title .inner-block a {
  display: -webkit-box !important;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  overflow-wrap: anywhere;
}

/* -- Filtros de categoria: uma linha só, com rolagem horizontal e sem barra visível (só quando o widget os exibe;
      hoje o Royal Addons os mantém com display:none) */
@media (max-width: 767px) {
  .elementor ul.wpr-grid-filters {
    overflow-x: auto; overflow-y: hidden;
    white-space: nowrap; flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin-left: -4px; margin-right: -4px;
  }
  .elementor ul.wpr-grid-filters::-webkit-scrollbar { display: none; }
  .elementor ul.wpr-grid-filters li { display: inline-block; flex: 0 0 auto; }
}

/* -- Slider de destaque (celular e tablet). Alvo: o widget Grid em modo slider (classe wpr-grid-slider-columns-N).
      O Royal Addons fixa a altura da foto e centra o texto em uma tabela absoluta; aqui a foto vira fundo e o
      texto define a altura. */
@media (max-width: 1024px) {
  .elementor-widget-wpr-grid[class*="wpr-grid-slider-columns"] .wpr-grid-media-wrap { position: relative; display: flex; min-height: 240px; }
  .elementor-widget-wpr-grid[class*="wpr-grid-slider-columns"] .wpr-grid-image-wrap {
    position: absolute !important; top: 0; left: 0; width: 100%; height: 100% !important; padding: 0 !important;
  }
  .elementor-widget-wpr-grid[class*="wpr-grid-slider-columns"] .wpr-grid-image-wrap img { width: 100% !important; height: 100% !important; object-fit: cover; }
  .elementor-widget-wpr-grid[class*="wpr-grid-slider-columns"] .wpr-grid-media-hover {
    position: relative !important; width: 100%; height: auto !important; min-height: 240px;
    display: flex; align-items: center; justify-content: center;
  }
  .elementor-widget-wpr-grid[class*="wpr-grid-slider-columns"] .wpr-cv-container,
  .elementor-widget-wpr-grid[class*="wpr-grid-slider-columns"] .wpr-cv-outer,
  .elementor-widget-wpr-grid[class*="wpr-grid-slider-columns"] .wpr-cv-inner { display: block !important; height: auto !important; width: 100%; }
  .elementor-widget-wpr-grid[class*="wpr-grid-slider-columns"] .wpr-cv-inner { padding: 32px 52px; }
  .elementor-widget-wpr-grid[class*="wpr-grid-slider-columns"] .wpr-grid-item-title {
    font-size: 28px !important; line-height: 1.2 !important; margin: 0 0 8px;
  }
  .elementor-widget-wpr-grid[class*="wpr-grid-slider-columns"] .wpr-grid-item-title .inner-block a {
    display: -webkit-box !important; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
  }
  /* setas de 32px nas bordas; o recuo do texto (52px) evita que elas cubram o título */
  .elementor .wpr-grid-slider-arrow { width: 32px !important; height: 32px !important; font-size: 14px !important; line-height: 32px; }
  .elementor .wpr-grid-slider-arrow svg { width: 14px !important; height: 14px !important; }
  .elementor .wpr-grid-slider-prev-arrow { left: 0 !important; }
  .elementor .wpr-grid-slider-next-arrow { right: 0 !important; }
}
@media (max-width: 767px) {
  .elementor-widget-wpr-grid[class*="wpr-grid-slider-columns"] .wpr-grid-media-wrap,
  .elementor-widget-wpr-grid[class*="wpr-grid-slider-columns"] .wpr-grid-media-hover { min-height: 220px; }
  .elementor-widget-wpr-grid[class*="wpr-grid-slider-columns"] .wpr-cv-inner { padding: 24px 44px; }
  .elementor-widget-wpr-grid[class*="wpr-grid-slider-columns"] .wpr-grid-item-title { font-size: 20px !important; }
  .elementor-widget-wpr-grid[class*="wpr-grid-slider-columns"] .wpr-grid-item-excerpt { display: none !important; }
}

/* -- Posts Recentes da sidebar: miniatura de ~72px à esquerda, título ao lado.
      [ID] f28cda0 = grid "Posts Recentes" (template 352). A coluna da sidebar fica oculta abaixo de 1025px por
      configuração do Elementor (elementor-hidden-tablet/mobile); estas regras valem se ela for exibida. */
@media (max-width: 1024px) {
  .elementor-352 .elementor-element-f28cda0 .wpr-grid-item-inner { display: flex; align-items: flex-start; gap: 12px; }
  .elementor-352 .elementor-element-f28cda0 .wpr-grid-media-wrap { flex: 0 0 72px; width: 72px; }
  .elementor-352 .elementor-element-f28cda0 .wpr-grid-image-wrap { width: 72px !important; height: 72px !important; padding: 0 !important; }
  .elementor-352 .elementor-element-f28cda0 .wpr-grid-item-below-content { flex: 1 1 auto; min-width: 0; padding: 0 !important; }
}

/* -- Instagram da sidebar: nunca mais largo que o bloco */
.elementor-widget-wpr-instagram-feed, .elementor-widget-wpr-instagram-feed .wpr-instagram-feed { max-width: 100%; box-sizing: border-box; }
.elementor-widget-wpr-instagram-feed .wpr-instagram-feed.wpr-layout-grid { overflow: hidden; }

/* -- Menu móvel: itens com 44px no mínimo e submenu legível */
@media (max-width: 1024px) {
  .elementor .wpr-mobile-nav-menu .wpr-mobile-menu-item, .elementor .wpr-mobile-nav-menu .wpr-mobile-sub-menu-item {
    min-height: 44px; display: flex; align-items: center;
    padding-top: 10px !important; padding-bottom: 10px !important;
    font-size: 15px !important;
  }
}

/* -- Menu móvel: item ativo (hoje cinza #5F5F5F com texto azul, sem contraste) e hover no padrão do site */
.elementor .wpr-mobile-nav-menu .wpr-mobile-menu-item.wpr-active-menu-item,
.elementor .wpr-mobile-nav-menu .wpr-mobile-sub-menu-item.wpr-active-menu-item,
.elementor .wpr-mobile-nav-menu li.current_page_item > a {
  background-color: var(--dir-bg-soft) !important;
  color: var(--dir-navy) !important;
  box-shadow: inset 3px 0 0 var(--dir-orange);
}

/* -- Rodapé no celular: colunas empilhadas com 32px entre elas (colunas internas do template 346) */
@media (max-width: 767px) {
  .elementor-346 .elementor-element-a43fa61 .elementor-inner-column { margin-bottom: 32px; }
  .elementor-346 .elementor-element-a43fa61 .elementor-inner-column:last-child { margin-bottom: 0; }
}

/* -- Rodapé: a regra de cor de autor/data dos cards claros não vale no fundo azul (mantém texto claro, AA) */
.elementor-346 .elementor-element-a43fa61 .wpr-grid-item-below-content .wpr-grid-item-date span,
.elementor-346 .elementor-element-a43fa61 .wpr-grid-item-below-content .wpr-grid-item-author span,
.elementor-346 .elementor-element-a43fa61 .wpr-grid-item-below-content .wpr-grid-item-author a { color: var(--dir-on-navy) !important; }
.elementor-346 .elementor-element-a43fa61 .wpr-grid-item-below-content .wpr-grid-item-date svg,
.elementor-346 .elementor-element-a43fa61 .wpr-grid-item-below-content .wpr-grid-item-author svg { fill: var(--dir-on-navy) !important; }

/* -- Nenhuma rolagem horizontal da página */
html, body { overflow-x: clip; }

@media (prefers-reduced-motion: reduce) {
  .elementor * { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
