/* ==========================================================================
   PM TEMA - CONECT PREFEITURA
   Tema WordPress para Portais Municipais e Setor Público
   Autor: Leandro Kywdery (https://conectsistemas.com.br) - 21/09/2026 12:35:00
   Versão: 2.5.2
   ========================================================================== */

/* --- VARIÁVEIS DO DESIGN SYSTEM --- */
:root {
  --pm-primary: #005a36;
  --pm-primary-dark: #003e25;
  --pm-primary-hover: #004b2c;
  --pm-primary-light: #e8f5ed;
  --pm-secondary: #008751;
  --pm-gold: #d4a017;
  --pm-accent: #0b72b9;
  --pm-dark: #13241b;
  --pm-text: #22292f;
  --pm-text-muted: #5e6d77;
  --pm-bg: #f4f7f5;
  --pm-surface: #ffffff;
  --pm-border: #e2e8f0;
  --pm-border-light: #edf2f7;
  --pm-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.04);
  --pm-shadow-md: 0 6px 16px rgba(0, 0, 0, 0.08);
  --pm-shadow-lg: 0 12px 30px rgba(0, 0, 0, 0.12);
  --pm-radius-sm: 6px;
  --pm-radius-md: 10px;
  --pm-radius-lg: 16px;
  --pm-radius-full: 9999px;
  --pm-transition: all 0.22s ease-in-out;
  --pm-font-body: 'Raleway', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --pm-font-heading: 'Raleway', -apple-system, BlinkMacSystemFont, sans-serif;
  --pm-container: 1290px;
  --pm-home-section-spacing: 30px;
}

/* --- RESET E BASES ACESSÍVEIS --- */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--pm-font-body);
  color: var(--pm-text);
  background-color: var(--pm-bg);
  line-height: 1.6;
  font-weight: 400;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: var(--pm-primary);
  text-decoration: none;
  transition: var(--pm-transition);
}

a:hover, a:focus {
  color: var(--pm-primary-hover);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--pm-font-heading);
  color: var(--pm-dark);
  line-height: 1.25;
  font-weight: 700;
}

ul, ol {
  list-style: none;
}

input, button, select, textarea {
  font: inherit;
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #ffff00;
  clip: auto !important;
  clip-path: none;
  color: #000000;
  display: block;
  font-size: 0.95rem;
  font-weight: bold;
  height: auto;
  left: 10px;
  line-height: normal;
  padding: 12px 20px;
  position: fixed;
  top: 10px;
  width: auto;
  z-index: 100000;
  border-radius: 4px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.5);
}

/* Container Responsivo */
.pm-container {
  width: 100%;
  max-width: var(--pm-container);
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.pm-site-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.pm-site-content {
  flex: 1 0 auto;
}

/* --- BARRA DE ACESSIBILIDADE (TOPBAR) --- */
.pm-topbar {
  background-color: var(--pm-primary-dark);
  color: var(--pm-topbar-color, #e2e8f0);
  font-size: var(--pm-topbar-font-size, 0.8125rem);
  font-weight: var(--pm-topbar-font-weight, 500);
  padding: 0.45rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.pm-topbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.pm-shortcuts-list {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pm-shortcuts-list li {
  display: inline-flex;
  align-items: center;
}

.pm-shortcuts-list li:not(:last-child)::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 12px;
  background-color: rgba(255, 255, 255, 0.3);
  margin-left: 0.85rem;
  vertical-align: middle;
}

.pm-shortcuts-list a {
  color: var(--pm-topbar-color, #cbd5e1);
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  text-decoration: none;
  font-size: inherit;
  font-weight: inherit;
  transition: color 0.25s ease;
}

.pm-shortcuts-list a:hover {
  color: var(--pm-topbar-hover, var(--pm-gold));
}

.pm-shortcuts-list a i {
  font-size: 0.75rem;
  opacity: 0.9;
}

.pm-topbar-link-text {
  position: relative;
  display: inline-block;
  padding-bottom: 2px;
}

/* Efeito: Linha Animada Deslizante (Esquerda para Direita) */
.pm-topbar-effect-underline_slide .pm-topbar-link-text::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: var(--pm-topbar-line-thickness, 2px);
  background-color: var(--pm-topbar-hover, #fbbf24);
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.pm-topbar-effect-underline_slide a:hover .pm-topbar-link-text::after {
  transform: scaleX(1);
}

.pm-topbar-effect-fade a:hover {
  opacity: 0.85;
}

.pm-topbar-actions {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.pm-accessibility-tools,
.pm-font-resizer {
  display: inline-flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.12);
  border-radius: var(--pm-radius-sm, 6px);
  padding: 2px 4px;
  gap: 3px;
}

.pm-btn-icon {
  background: transparent;
  border: none;
  color: var(--pm-topbar-color, #ffffff);
  padding: 0.2rem 0.5rem;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  border-radius: 4px;
  transition: var(--pm-transition);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
}

.pm-btn-icon:hover {
  background: rgba(255, 255, 255, 0.25);
  color: var(--pm-topbar-hover, var(--pm-gold));
}

.pm-btn-contrast-icon {
  background: transparent;
  padding: 0.2rem 0.45rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.contrast-circle {
  font-size: 0.95rem;
  line-height: 1;
  display: inline-block;
}

.pm-topbar-link {
  color: var(--pm-topbar-color, #ffffff);
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.25s ease;
}

.pm-topbar-link:hover {
  color: var(--pm-topbar-hover, var(--pm-gold));
}

.pm-topbar-link i {
  font-size: 0.85rem;
}

.pm-topbar-separator {
  color: rgba(255, 255, 255, 0.35);
  font-size: 0.85rem;
  user-select: none;
  margin: 0 0.15rem;
}

/* Itens Personalizados da Barra Topo */
.pm-custom-topbar-items {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.pm-custom-topbar-item {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.8125rem;
}

.pm-custom-topbar-item i {
  font-size: 0.9rem;
  opacity: 0.95;
}

.pm-custom-topbar-item a {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--pm-topbar-color, #ffffff);
  text-decoration: none;
  transition: color 0.25s ease;
}

.pm-custom-topbar-item a:hover {
  color: var(--pm-topbar-hover, var(--pm-gold));
}

/* --- CABEÇALHO INSTITUCIONAL (BRANDING E BUSCA) --- */
.pm-header-branding {
  position: relative;
  overflow: hidden;
  background-color: var(--pm-surface);
  min-height: var(--pm-header-height, 175px);
  display: flex;
  align-items: center;
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--pm-border-light);
  transition: var(--pm-transition);
}

.pm-header-branding.has-light-text .pm-brand-pre,
.pm-header-branding.has-light-text .pm-brand-slogan {
  color: rgba(255, 255, 255, 0.85);
}

.pm-header-branding.has-light-text .pm-brand-title {
  color: #ffffff;
}

.pm-header-branding.has-light-text .pm-coat-icon {
  background: rgba(255, 255, 255, 0.18);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.25);
}

.pm-header-branding.has-light-text .pm-menu-toggle {
  color: #ffffff;
}

.pm-header-branding.has-light-text .pm-hamburger-inner,
.pm-header-branding.has-light-text .pm-hamburger-inner::before,
.pm-header-branding.has-light-text .pm-hamburger-inner::after {
  background-color: #ffffff;
}

.pm-branding-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

.pm-branding-inner.align-left {
  justify-content: space-between;
}

.pm-branding-inner.align-center {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 1.25rem;
}

.pm-branding-inner.align-center .pm-brand {
  display: flex;
  justify-content: center;
}

.pm-branding-inner.align-center .pm-logo-link {
  flex-direction: column;
  text-align: center;
}

.pm-branding-inner.align-center .pm-brand-text {
  align-items: center;
}

.pm-branding-inner.align-center .pm-header-search {
  width: 100%;
  max-width: 500px;
}

.pm-branding-inner.align-right {
  flex-direction: row-reverse;
  justify-content: space-between;
}

.pm-branding-inner.align-right .pm-brand-text {
  text-align: right;
}

/* --- AÇÕES DO CABEÇALHO (SELO, LINKS RÁPIDOS & BUSCA) --- */
.pm-header-actions {
  display: flex;
  align-items: center;
  gap: 1.75rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

/* Selo Institucional / Medalha Oficial */
.pm-header-seal-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
}

.pm-seal-link {
  display: inline-block;
  text-decoration: none;
  transition: transform 0.2s ease;
}

.pm-seal-link:hover {
  transform: scale(1.05);
}

.pm-seal-img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}

/* Efeito 1: Pulsar com Zoom & Brilho Dourado/Luminoso */
@keyframes pmSealPulseGlow {
  0%, 100% {
    transform: scale(1);
    filter: drop-shadow(0 0 var(--pm-seal-glow-b1, 5px) var(--pm-seal-glow-c-low, rgba(251, 191, 36, 0.45)));
  }
  50% {
    transform: scale(1.08);
    filter: drop-shadow(0 0 var(--pm-seal-glow-b2, 16px) var(--pm-seal-glow-c-high, rgba(251, 191, 36, 0.95))) drop-shadow(0 0 var(--pm-seal-glow-b3, 26px) rgba(255, 255, 255, 0.75));
  }
}

.pm-seal-effect-pulse_glow .pm-seal-img {
  animation: pmSealPulseGlow 3s infinite ease-in-out;
  transform-origin: center center;
  will-change: transform, filter;
}

/* Efeito 2: Apenas Pulsar com Zoom */
@keyframes pmSealPulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.08);
  }
}

.pm-seal-effect-pulse .pm-seal-img {
  animation: pmSealPulse 2.8s infinite ease-in-out;
  transform-origin: center center;
  will-change: transform;
}

/* Efeito 3: Apenas Brilho Luminoso */
@keyframes pmSealGlow {
  0%, 100% {
    filter: drop-shadow(0 0 var(--pm-seal-glow-b1, 4px) var(--pm-seal-glow-c-low, rgba(251, 191, 36, 0.35)));
  }
  50% {
    filter: drop-shadow(0 0 var(--pm-seal-glow-b2, 18px) var(--pm-seal-glow-c-high, rgba(251, 191, 36, 0.95)));
  }
}

.pm-seal-effect-glow .pm-seal-img {
  animation: pmSealGlow 2.5s infinite ease-in-out;
  will-change: filter;
}

/* Links Rápidos do Cabeçalho (Transparência, e-SIC, Ouvidoria) */
.pm-header-quick-links {
  display: inline-flex;
  align-items: center;
  gap: var(--pm-quick-links-gap, 1.25rem);
  flex-wrap: wrap;
}

.pm-header-quick-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: var(--pm-quick-links-font-size, 0.95rem);
  font-weight: var(--pm-quick-links-font-weight, 600);
  text-decoration: none;
  color: var(--pm-quick-links-color, #ffffff);
  transition: color 0.25s ease, transform 0.25s ease;
  position: relative;
}

.pm-header-branding:not(.has-light-text) .pm-header-quick-link {
  color: var(--pm-quick-links-color, var(--pm-text));
}

.pm-header-quick-link:hover {
  color: var(--pm-quick-links-hover, var(--pm-gold)) !important;
}

.pm-header-quick-link i {
  font-size: 1rem;
  opacity: 0.95;
  transition: transform 0.25s ease, color 0.25s ease;
}

.pm-header-quick-link:hover i {
  color: var(--pm-quick-links-hover, var(--pm-gold));
}

.pm-quick-link-text {
  position: relative;
  display: inline-block;
  padding-bottom: 2px;
}

/* Efeito 1: Linha Animada Deslizante (Esquerda para Direita) */
.pm-quick-links-effect-underline_slide .pm-quick-link-text::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: var(--pm-quick-links-line-thickness, 2px);
  background-color: var(--pm-quick-links-hover, #fbbf24);
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.pm-quick-links-effect-underline_slide .pm-header-quick-link:hover .pm-quick-link-text::after {
  transform: scaleX(1);
}

/* Efeito 2: Transição Fade */
.pm-quick-links-effect-fade .pm-header-quick-link:hover {
  opacity: 0.82;
}

/* Efeito 3: Leve Elevação / Zoom */
.pm-quick-links-effect-zoom .pm-header-quick-link:hover {
  transform: translateY(-2px);
}

/* Linha divisória sutil entre os links rápidos */
.pm-header-quick-link:not(:last-child)::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 16px;
  background-color: rgba(255, 255, 255, 0.35);
  margin-left: 1.25rem;
  vertical-align: middle;
}

.pm-header-branding:not(.has-light-text) .pm-header-quick-link:not(:last-child)::after {
  background-color: var(--pm-border-light);
}

.pm-logo-link {
  display: flex;
  align-items: center;
  gap: 1rem;
  text-decoration: none;
}

.pm-coat-icon {
  color: var(--pm-primary);
  background: var(--pm-primary-light);
  width: 58px;
  height: 58px;
  border-radius: var(--pm-radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: var(--pm-shadow-sm);
}

.pm-brand-text {
  display: flex;
  flex-direction: column;
}

.pm-brand-pre {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--pm-text-muted);
  font-weight: 600;
}

.pm-brand-title {
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--pm-primary);
  line-height: 1.15;
  font-family: var(--pm-font-heading);
}

.pm-brand-slogan {
  font-size: 0.78rem;
  color: var(--pm-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-top: 2px;
}

/* Busca no Cabeçalho */
.pm-header-search {
  flex: 0 1 400px;
}

.pm-search-form {
  display: flex;
  position: relative;
}

.pm-search-input {
  width: 100%;
  padding: 0.7rem 3rem 0.7rem 1.1rem;
  border: 1.5px solid var(--pm-border);
  border-radius: var(--pm-radius-full);
  background: var(--pm-bg);
  font-size: 0.9375rem;
  color: var(--pm-text);
  outline: none;
  transition: var(--pm-transition);
}

.pm-search-input:focus {
  border-color: var(--pm-primary);
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(0, 90, 54, 0.15);
}

.pm-search-submit {
  position: absolute;
  right: 4px;
  top: 4px;
  bottom: 4px;
  width: 38px;
  background: var(--pm-primary);
  color: #ffffff;
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: var(--pm-transition);
}

.pm-search-submit:hover {
  background: var(--pm-primary-hover);
  transform: scale(1.04);
}

/* Botão Mobile Hamburger */
.pm-menu-toggle {
  display: none;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  align-items: center;
  gap: 0.5rem;
  color: var(--pm-primary);
  font-weight: 700;
}

.pm-hamburger-box {
  width: 26px;
  height: 20px;
  position: relative;
  display: inline-block;
}

.pm-hamburger-inner,
.pm-hamburger-inner::before,
.pm-hamburger-inner::after {
  width: 100%;
  height: 2.5px;
  background-color: var(--pm-primary);
  border-radius: 2px;
  position: absolute;
  transition: var(--pm-transition);
}

.pm-hamburger-inner {
  top: 50%;
  transform: translateY(-50%);
}

.pm-hamburger-inner::before {
  content: '';
  top: -8px;
}

.pm-hamburger-inner::after {
  content: '';
  bottom: -8px;
}

.pm-custom-header-logo {
  max-height: var(--pm-header-logo-size, 72px);
  width: auto;
  object-fit: contain;
  transition: max-height 0.2s ease;
}

.pm-logo-wrapper img,
.custom-logo-link img {
  max-height: var(--pm-header-logo-size, 72px);
  width: auto;
  object-fit: contain;
  transition: max-height 0.2s ease;
}

/* --- BARRA DE NAVEGAÇÃO PRINCIPAL --- */
.pm-navbar-container {
  background: var(--pm-menu-bg, var(--pm-surface, #ffffff));
  border-bottom: var(--pm-menu-border-size, 2px) solid var(--pm-menu-border-color, var(--pm-border, #e2e8f0));
  transition: var(--pm-transition);
  position: relative;
  z-index: 100;
}

.pm-navbar-sticky {
  position: sticky;
  top: 0;
  z-index: 999;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

.pm-navbar-inner-flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

.pm-nav-menu {
  display: flex;
  align-items: center;
  justify-content: var(--pm-menu-align, flex-start);
  gap: var(--pm-menu-item-gap, 0);
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pm-menu-aligned-center .pm-main-nav,
.pm-menu-aligned-justify .pm-main-nav {
  flex: 1;
}

.pm-menu-aligned-right .pm-main-nav {
  margin-left: auto;
}

.pm-nav-menu > li {
  position: relative;
}

.pm-nav-menu > li > a {
  display: flex;
  align-items: center;
  position: relative;
  height: var(--pm-menu-height, 58px);
  padding: 0 1.15rem;
  color: var(--pm-menu-color, var(--pm-text, #1e293b));
  font-family: var(--pm-font-body, 'Raleway', sans-serif);
  font-weight: var(--pm-menu-font-weight, 600);
  font-size: var(--pm-menu-font-size, 0.9375rem);
  text-decoration: none;
  transition: color 0.2s ease-in-out;
}

.pm-nav-menu > li:hover > a,
.pm-nav-menu > li.current-menu-item > a,
.pm-nav-menu > li.current_page_item > a {
  color: var(--pm-menu-hover, var(--pm-primary, #005a36));
}

/* Indicador Visual de Submenu (Triângulo Sólido ▼ conforme Imagem de Referência) */
.pm-nav-menu > li.menu-item-has-children > a,
.pm-nav-menu > li.page_item_has_children > a,
.pm-nav-menu > li:has(> ul) > a {
  display: inline-flex !important;
  align-items: center !important;
}

/* Setinha via elemento real .pm-menu-caret (injetado via PHP e JS) */
.pm-menu-caret {
  display: inline-block !important;
  width: 0 !important;
  height: 0 !important;
  margin-left: 6px !important;
  vertical-align: middle !important;
  border-left: 4.5px solid transparent !important;
  border-right: 4.5px solid transparent !important;
  border-top: 5.5px solid currentColor !important;
  transition: transform 0.22s cubic-bezier(0.4, 0, 0.2, 1) !important;
  transform-origin: 50% 35% !important;
  pointer-events: none !important;
  flex-shrink: 0 !important;
}

.pm-nav-menu li:hover > a .pm-menu-caret,
.pm-nav-menu li:focus-within > a .pm-menu-caret {
  transform: rotate(180deg) !important;
}

/* Fallback via pseudo-elemento ::after (caso não haja o span) */
.pm-nav-menu > li.menu-item-has-children > a:not(:has(.pm-menu-caret))::after,
.pm-nav-menu > li.page_item_has_children > a:not(:has(.pm-menu-caret))::after,
.pm-nav-menu > li:has(> ul) > a:not(:has(.pm-menu-caret))::after {
  content: '' !important;
  display: inline-block !important;
  width: 0 !important;
  height: 0 !important;
  margin-left: 6px !important;
  vertical-align: middle !important;
  border-left: 4.5px solid transparent !important;
  border-right: 4.5px solid transparent !important;
  border-top: 5.5px solid currentColor !important;
  transition: transform 0.22s cubic-bezier(0.4, 0, 0.2, 1) !important;
  transform-origin: 50% 35% !important;
}

.pm-nav-menu > li.menu-item-has-children:hover > a:not(:has(.pm-menu-caret))::after,
.pm-nav-menu > li.page_item_has_children:hover > a:not(:has(.pm-menu-caret))::after,
.pm-nav-menu > li:has(> ul):hover > a:not(:has(.pm-menu-caret))::after,
.pm-nav-menu > li.menu-item-has-children:focus-within > a:not(:has(.pm-menu-caret))::after {
  transform: rotate(180deg) !important;
}

/* Esconder setinha caso usuário desative no painel */
.pm-navbar-container.pm-no-submenu-arrows .pm-menu-caret,
.pm-navbar-container.pm-no-submenu-arrows .pm-nav-menu > li.menu-item-has-children > a::after,
.pm-navbar-container.pm-no-submenu-arrows .pm-nav-menu > li.page_item_has_children > a::after,
.pm-navbar-container.pm-no-submenu-arrows .pm-nav-menu > li:has(> ul) > a::after {
  display: none !important;
}

/* Divisores Verticais entre Itens do Menu Principal */
.pm-navbar-container.has-menu-dividers .pm-nav-menu > li:not(:last-child)::after {
  content: '';
  position: absolute;
  right: calc(-1 * var(--pm-menu-item-gap, 0px) / 2);
  top: 50%;
  transform: translateY(-50%);
  width: var(--pm-menu-divider-size, 1px);
  height: 18px;
  background-color: var(--pm-menu-divider-color, #e2e8f0);
  pointer-events: none;
  z-index: 2;
  border-radius: 1px;
}

/* Submenu de segundo nível (submenu dentro de outro submenu) */
.pm-nav-menu ul.sub-menu li.menu-item-has-children > a,
.pm-nav-menu ul.sub-menu li.page_item_has_children > a,
.pm-nav-menu ul.sub-menu li:has(> ul) > a {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

.pm-nav-menu ul.sub-menu li.menu-item-has-children > a::after,
.pm-nav-menu ul.sub-menu li.page_item_has_children > a::after,
.pm-nav-menu ul.sub-menu li:has(> ul) > a::after {
  content: '' !important;
  display: inline-block !important;
  width: 0 !important;
  height: 0 !important;
  margin-left: auto !important;
  border-top: 4px solid transparent !important;
  border-bottom: 4px solid transparent !important;
  border-left: 5px solid currentColor !important;
  border-right: none !important;
  transition: transform 0.2s ease !important;
}

.pm-nav-menu ul.sub-menu li.menu-item-has-children:hover > a::after,
.pm-nav-menu ul.sub-menu li:has(> ul):hover > a::after {
  transform: translateX(3px) !important;
}

/* Efeito de Risquinho Animado Deslizante (ajustado próximo do texto) */
.pm-menu-effect-underline_slide .pm-nav-menu > li > a::after {
  content: '';
  position: absolute;
  bottom: calc(50% - (var(--pm-menu-font-size, 15px) * 0.6) - var(--pm-menu-line-distance, 6px));
  left: 0;
  width: 100%;
  height: var(--pm-menu-line-thickness, 3px);
  background-color: var(--pm-menu-underline, var(--pm-menu-hover, var(--pm-primary, #005a36)));
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: bottom left;
  transition: transform 0.28s cubic-bezier(0.25, 0.8, 0.25, 1);
  pointer-events: none;
}

.pm-menu-effect-underline_slide .pm-nav-menu > li:hover > a::after,
.pm-menu-effect-underline_slide .pm-nav-menu > li > a:hover::after {
  transform: scaleX(1);
}

/* Item ativo (página atual): risquinho permanece sempre visível */
.pm-menu-effect-underline_slide .pm-nav-menu > li.current-menu-item > a::after,
.pm-menu-effect-underline_slide .pm-nav-menu > li.current_page_item > a::after {
  transform: scaleX(1);
}

/* Submenu Dropdowns */
.pm-nav-menu ul.sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--pm-submenu-bg, #ffffff);
  min-width: 220px;
  border-radius: var(--pm-radius-sm);
  box-shadow: var(--pm-shadow-lg);
  padding: 0.5rem 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: var(--pm-transition);
  z-index: 1000;
  border: 1px solid var(--pm-border);
  list-style: none;
  margin: 0;
}

.pm-nav-menu li:hover > ul.sub-menu,
.pm-nav-menu li:focus-within > ul.sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.pm-nav-menu ul.sub-menu a {
  display: block;
  padding: 0.6rem 1.25rem;
  font-family: var(--pm-font-body, 'Raleway', sans-serif);
  font-size: var(--pm-submenu-font-size, 0.875rem);
  font-weight: var(--pm-submenu-font-weight, 500);
  color: var(--pm-submenu-color, #334155);
  text-decoration: none;
  transition: all 0.2s ease;
}

.pm-nav-menu ul.sub-menu a:hover {
  background: var(--pm-submenu-hover-bg, #f8fafc);
  color: var(--pm-submenu-hover, var(--pm-primary, #005a36));
}

/* Lado Direito do Menu: Busca e Botão CTA */
.pm-navbar-right {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-left: auto;
}

.pm-navbar-search {
  position: relative;
  display: flex;
  align-items: center;
}

.pm-navbar-search-form {
  position: relative;
  display: flex;
  align-items: center;
  margin: 0;
}

.pm-navbar-search-field {
  position: relative;
  display: flex;
  align-items: center;
}

.pm-navbar-search-input {
  width: var(--pm-menu-search-width, 230px);
  height: 38px;
  padding: 0 2.4rem 0 1rem;
  font-family: var(--pm-font-body, 'Raleway', sans-serif);
  font-size: 0.875rem;
  color: var(--pm-menu-search-color, #1e293b);
  background-color: var(--pm-menu-search-bg, #f8fafc);
  border: 1px solid var(--pm-menu-search-border, #cbd5e1);
  border-radius: 9999px;
  transition: all 0.25s ease-in-out;
  outline: none;
}

.pm-navbar-search-input:focus {
  background-color: #ffffff;
  border-color: var(--pm-menu-hover, #005a36);
  box-shadow: 0 0 0 3px rgba(0, 90, 54, 0.12);
  width: calc(var(--pm-menu-search-width, 230px) + 25px);
}

.pm-navbar-search-submit {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  color: var(--pm-menu-search-color, #64748b);
  padding: 5px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: color 0.2s ease, transform 0.2s ease;
}

.pm-navbar-search-submit:hover {
  color: var(--pm-menu-hover, #005a36);
  transform: translateY(-50%) scale(1.1);
}

.pm-navbar-cta-box {
  margin-left: 0.5rem;
}

.pm-menu-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  background-color: var(--pm-gold);
  color: #1a1a1a;
  font-weight: 700;
  font-size: 0.875rem;
  padding: 0.5rem 1.15rem;
  border-radius: var(--pm-radius-sm);
  transition: var(--pm-transition);
  white-space: nowrap;
  box-shadow: var(--pm-shadow-sm);
}

.pm-menu-cta-btn:hover {
  background-color: #ba8c14;
  color: #000000;
  transform: translateY(-1px);
}

/* --- SEÇÃO HERO INSTITUCIONAL (FRONT-PAGE) --- */
/* --- SEÇÃO HERO INSTITUCIONAL (FRONT-PAGE) --- */
.pm-hero-section {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: var(--pm-hero-min-height, 450px);
  background: #003620;
  color: #ffffff;
  padding: clamp(1.75rem, 3vh, 2.75rem) 1.25rem;
  overflow: hidden;
  box-sizing: border-box;
}

/* Mídia de Fundo do Hero (Imagem, Vídeo MP4 ou YouTube) */
.pm-hero-media-wrap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
}

.pm-hero-media-image {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.pm-hero-media-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.pm-hero-media-youtube {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 56.25vw;
  min-height: 100vh;
  min-width: 177.77vh;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.pm-hero-media-youtube iframe {
  width: 100%;
  height: 100%;
  border: none;
  pointer-events: none;
}

/* Máscara / Overlay de Contraste */
.pm-hero-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: var(--pm-hero-overlay-color, #000000);
  opacity: var(--pm-hero-overlay-opacity, 0.6);
  z-index: 2;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

/* Conteúdo Principal do Hero */
.pm-hero-content {
  position: relative;
  z-index: 3;
  max-width: 860px;
  width: 100%;
}

/* Alinhamentos do Conteúdo */
.pm-hero-align-center .pm-hero-content {
  text-align: center;
  margin: 0 auto;
}

.pm-hero-align-center .pm-hero-search-form {
  margin: 0 auto;
}

.pm-hero-align-center .pm-hero-actions {
  justify-content: center;
}

.pm-hero-align-left .pm-hero-content {
  text-align: left;
  margin: 0 auto 0 0;
}

.pm-hero-align-left .pm-hero-search-form {
  margin: 0;
}

.pm-hero-align-left .pm-hero-actions {
  justify-content: flex-start;
}

.pm-hero-align-right .pm-hero-content {
  text-align: right;
  margin: 0 0 0 auto;
}

.pm-hero-align-right .pm-hero-search-form {
  margin: 0 0 0 auto;
}

.pm-hero-align-right .pm-hero-actions {
  justify-content: flex-end;
}

/* Pré-título / Crachá de Boas-Vindas */
.pm-hero-badge {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--pm-hero-line-spacing, 14px);
  font-family: var(--pm-font-sans, 'Raleway', sans-serif);
}

.pm-hero-badge-text {
  font-family: var(--pm-font-sans, 'Raleway', sans-serif);
  font-size: var(--pm-hero-badge-size, 21px);
  font-weight: var(--pm-hero-badge-weight, 400);
  color: var(--pm-hero-badge-color, #ffffff);
  letter-spacing: 0.02em;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
  line-height: 1.3;
}

/* Linha divisória horizontal abaixo do texto conforme imagem de referência */
.pm-hero-badge.has-badge-lines::after {
  content: '';
  display: block;
  width: 520px;
  max-width: 90vw;
  height: 1px;
  background: rgba(255, 255, 255, 0.35);
  margin-top: 14px;
  pointer-events: none;
}

.pm-hero-align-left .pm-hero-badge {
  align-items: flex-start;
}

.pm-hero-align-right .pm-hero-badge {
  align-items: flex-end;
}

/* Título Principal do Hero */
.pm-hero-title {
  font-family: var(--pm-font-sans, 'Raleway', sans-serif);
  font-size: var(--pm-hero-title-size, 67px);
  font-weight: var(--pm-hero-title-weight, 800);
  color: var(--pm-hero-title-color, #ffffff);
  line-height: var(--pm-hero-title-line-height, 1.05);
  letter-spacing: -0.025em;
  margin: 0 0 1.25rem;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
  word-break: break-word;
}

/* Subtítulo Institucional */
.pm-hero-subtitle {
  font-family: var(--pm-font-sans, 'Raleway', sans-serif);
  font-size: var(--pm-hero-subtitle-size, 18px);
  font-weight: var(--pm-hero-subtitle-weight, 400);
  color: var(--pm-hero-subtitle-color, #ffffff);
  line-height: 1.5;
  margin: 0 0 1.75rem;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.35);
}

/* Barra de Busca do Hero */
.pm-hero-search {
  margin-bottom: 1.75rem;
  width: 100%;
}

.pm-hero-search-form {
  position: relative;
  max-width: 680px;
  width: 100%;
}

.pm-hero-search-input {
  width: 100%;
  height: 52px;
  padding: 0 3.75rem 0 1.25rem;
  border-radius: var(--pm-hero-search-radius, 6px);
  border: 1px solid rgba(255, 255, 255, 0.4);
  background: #ffffff;
  font-size: 1rem;
  color: #1e293b;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
  outline: none;
  transition: all 0.2s ease;
  box-sizing: border-box;
}

.pm-hero-search-input:focus {
  border-color: var(--pm-hero-search-btn-color, #009b3a);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
}

.pm-hero-search-btn {
  position: absolute;
  right: 5px;
  top: 5px;
  bottom: 5px;
  width: 44px;
  background-color: var(--pm-hero-search-btn-color, #009b3a);
  color: #ffffff;
  border: none;
  border-radius: calc(var(--pm-hero-search-radius, 6px) - 2px);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.pm-hero-search-btn:hover {
  filter: brightness(1.1);
  transform: scale(1.02);
}

/* Ações Rápidas no Hero (Botões 1 e 2) */
.pm-hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items: center;
}

.pm-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.6rem;
  border-radius: var(--pm-radius-md);
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  transition: all 0.22s ease-in-out;
  text-decoration: none;
  box-sizing: border-box;
}

.pm-hero-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0.75rem 1.6rem;
  font-weight: 600;
  font-size: 0.95rem;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.22s ease-in-out;
  text-shadow: none;
}

.pm-hero-btn-1 {
  background-color: var(--pm-hero-btn1-bg, #009b3a);
  color: var(--pm-hero-btn1-color, #ffffff);
  border: var(--pm-hero-btn1-border-width, 0px) solid var(--pm-hero-btn1-border, #009b3a);
  border-radius: var(--pm-hero-btn1-radius, 6px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.pm-hero-btn-1:hover {
  background-color: var(--pm-hero-btn1-hover-bg, #007a2d);
  color: var(--pm-hero-btn1-hover-color, #ffffff);
  border-color: var(--pm-hero-btn1-hover-border, #007a2d);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22);
}

.pm-hero-btn-2 {
  background-color: var(--pm-hero-btn2-bg, rgba(0, 0, 0, 0.25));
  color: var(--pm-hero-btn2-color, #ffffff);
  border: var(--pm-hero-btn2-border-width, 1px) solid var(--pm-hero-btn2-border, #ffffff);
  border-radius: var(--pm-hero-btn2-radius, 6px);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.pm-hero-btn-2:hover {
  background-color: var(--pm-hero-btn2-hover-bg, #ffffff);
  color: var(--pm-hero-btn2-hover-color, #005a36);
  border-color: var(--pm-hero-btn2-hover-border, #ffffff);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22);
}

.pm-btn-primary {
  background-color: var(--pm-primary);
  color: #ffffff;
}

.pm-btn-primary:hover {
  background-color: var(--pm-primary-hover);
  color: #ffffff;
}

.pm-btn-outline {
  background-color: transparent;
  color: var(--pm-primary);
  border: 1.5px solid var(--pm-primary);
}

.pm-btn-outline:hover {
  background-color: var(--pm-primary);
  color: #ffffff;
}

/* ==========================================================================
   VITRINE DE NOTÍCIAS & DESTAQUES (SLIDER INSTAGRAM + GRID 2x2)
   Autor: Leandro Kywdery (https://conectsistemas.com.br) - 18/09/2026 18:00:00
   ========================================================================== */
.pm-home-showcase-section {
  padding: var(--pm-home-section-spacing, 30px) 0;
  background-color: var(--pm-bg, #f8fafc);
  position: relative;
}

/* Layout Grid 2 Colunas: Slider (60% de largura) + Grid 2x2 (40% de largura) */
.pm-news-showcase-layout {
  display: grid;
  grid-template-columns: 60fr 40fr;
  gap: 1.5rem;
  align-items: stretch;
}

/* Coluna Esquerda: Slider Principal (60% - Formato Instagram / Vertical) */
.pm-news-showcase-slider-col {
  display: flex;
  flex-direction: column;
}

.pm-news-slider-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 560px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 30px -6px rgba(0, 0, 0, 0.16);
  background: #0f172a;
}

.pm-news-slider-track {
  position: relative;
  width: 100%;
  height: 100%;
}

.pm-news-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  transform: scale(1.03);
  z-index: 1;
}

.pm-news-slide.is-active {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
  z-index: 2;
}

.pm-news-slide-link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: #ffffff;
  overflow: hidden;
}

.pm-news-slide-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.pm-news-slide-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.8s ease;
}

.pm-news-slide-link:hover .pm-news-slide-img {
  transform: scale(1.05);
}

.pm-news-slide-fallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--pm-primary-dark, #003d24) 0%, var(--pm-primary, #005a36) 100%);
  color: rgba(255, 255, 255, 0.3);
}

/* Gradiente escuro para legibilidade perfeita */
.pm-news-slide-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, 
    rgba(15, 23, 42, 0.05) 0%, 
    rgba(15, 23, 42, 0.25) 35%, 
    rgba(15, 23, 42, 0.85) 75%, 
    rgba(15, 23, 42, 0.98) 100%);
  pointer-events: none;
}

/* Conteúdo do Slide */
.pm-news-slide-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 2rem 2.25rem;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.pm-news-slide-content .pm-badge-category {
  position: static !important;
  display: inline-block !important;
  padding: 0.35rem 0.85rem;
  background-color: #16a34a;
  color: #ffffff;
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: capitalize;
  letter-spacing: 0.02em;
  border-radius: 999px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  margin-bottom: 0.75rem;
}

.pm-news-slide-title {
  font-size: 1.85rem;
  font-weight: 800;
  color: #ffffff;
  line-height: 1.25;
  margin: 0;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.75);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.25s ease;
}

.pm-news-slide-link:hover .pm-news-slide-title {
  color: #fef08a;
}

/* Setas de Navegação Glassmorphism */
.pm-slider-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.6);
  color: #0f172a;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.22);
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  padding: 0;
}

.pm-slider-prev {
  left: 1rem;
}

.pm-slider-next {
  right: 1rem;
}

.pm-slider-nav:hover {
  background: #ffffff;
  color: var(--pm-primary, #005a36);
  transform: translateY(-50%) scale(1.12);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

.pm-slider-nav:focus-visible {
  outline: 3px solid var(--pm-secondary, #fbbf24);
  outline-offset: 2px;
}

/* Paginação Dots */
.pm-slider-dots {
  position: absolute;
  bottom: 0.85rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 0.5rem;
  z-index: 10;
  background: rgba(15, 23, 42, 0.45);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.pm-slider-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.45);
  border: none;
  cursor: pointer;
  padding: 0;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.pm-slider-dot.is-active {
  width: 24px;
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 0 8px rgba(255, 255, 255, 0.8);
}

/* Coluna Direita: Grid 2x2 (40% da tela) */
.pm-news-showcase-grid-col {
  display: flex;
  flex-direction: column;
}

.pm-news-2x2-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem 1rem;
  height: 100%;
  align-content: space-between;
}

.pm-news-grid-card {
  display: flex;
  flex-direction: column;
}

.pm-news-grid-card-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
  border-radius: 12px;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.pm-news-grid-card-inner:hover {
  transform: translateY(-3px);
}

.pm-news-grid-thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 4.7;
  border-radius: 12px;
  overflow: hidden;
  background: #f1f5f9;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.07);
  border: 1px solid rgba(0, 0, 0, 0.06);
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.pm-news-grid-card-inner:hover .pm-news-grid-thumb {
  box-shadow: 0 8px 22px -4px rgba(0, 0, 0, 0.15);
}

.pm-news-grid-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.pm-news-grid-card-inner:hover .pm-news-grid-img {
  transform: scale(1.05);
}

.pm-news-grid-fallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
  color: #94a3b8;
}

.pm-news-grid-info {
  padding: 0.65rem 0.1rem 0;
  display: flex;
  flex-direction: column;
}

.pm-news-grid-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: #334155;
  line-height: 1.35;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.2s ease;
}

.pm-news-grid-card-inner:hover .pm-news-grid-title {
  color: var(--pm-primary, #005a36);
}

/* ==========================================================================
   SEÇÃO SERVIÇOS DIGITAIS (GRID DE 15 CARDS EM 5 COLUNAS)
   Autor: Leandro Kywdery (https://conectsistemas.com.br) - 18/09/2026 18:35:00
   ========================================================================== */
.pm-home-services-section {
  padding: var(--pm-home-section-spacing, 30px) 0;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  position: relative;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.pm-digital-services-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}

.pm-digital-services-header-left {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.pm-digital-services-kicker {
  font-size: 0.8125rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--pm-primary, #005a36);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.pm-digital-services-kicker::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 3px;
  background: var(--pm-secondary, #e69d00);
  border-radius: 2px;
}

.pm-digital-services-title {
  font-size: 2rem;
  font-weight: 800;
  color: var(--pm-dark, #0f172a);
  line-height: 1.15;
  margin: 0;
  letter-spacing: -0.02em;
}

.pm-digital-services-subtitle {
  font-size: 0.9375rem;
  color: var(--pm-text-muted, #64748b);
  margin: 0;
  max-width: 480px;
  line-height: 1.5;
}

/* Grid de 5 colunas no Desktop */
.pm-digital-services-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.25rem;
}

/* Cards Modernos e Sofisticados de Serviços (Layout de Referência) */
.pm-digital-service-card {
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 18px;
  padding: 1.5rem 1.4rem 1.4rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 4px 18px -3px rgba(15, 23, 42, 0.04), 0 1px 3px rgba(15, 23, 42, 0.02);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.25s ease;
  position: relative;
  overflow: hidden;
  min-height: 154px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* Efeito Hover e Foco dos Cards */
.pm-digital-service-card:hover {
  transform: translateY(-5px);
  border-color: rgba(203, 213, 225, 0.95);
  background: #ffffff;
  box-shadow: 0 16px 32px -8px rgba(15, 23, 42, 0.08),
              0 4px 12px -2px rgba(15, 23, 42, 0.03);
}

.pm-digital-service-card:focus-visible {
  outline: 3px solid var(--service-color, #2563eb);
  outline-offset: 3px;
  border-color: var(--service-color, #2563eb);
}

/* Container do Ícone no Canto Superior Esquerdo */
.pm-service-icon-wrap {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  color: var(--service-color, #2563eb);
  margin-bottom: 0.85rem;
  position: relative;
  z-index: 2;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.pm-service-icon-wrap i {
  font-size: 1.85rem;
  line-height: 1;
  transition: transform 0.3s ease;
}

.pm-service-icon-wrap svg {
  width: 30px;
  height: 30px;
  transition: transform 0.3s ease;
}

.pm-digital-service-card:hover .pm-service-icon-wrap i,
.pm-digital-service-card:hover .pm-service-icon-wrap svg {
  transform: scale(1.1);
}

/* Corpo Textual do Card */
.pm-service-card-body {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  width: 100%;
  padding-right: 32px;
}

/* Título do Serviço */
.pm-service-card-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.25;
  letter-spacing: -0.015em;
  margin: 0;
  transition: color 0.25s ease;
  word-break: break-word;
}

.pm-digital-service-card:hover .pm-service-card-title {
  color: var(--service-color, #2563eb);
}

/* Descrição Curta / Subtítulo */
.pm-service-card-desc {
  font-size: 0.8125rem;
  color: #64748b;
  line-height: 1.45;
  margin: 0;
  font-weight: 400;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Badge de Destaque Opcional */
.pm-service-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  font-size: 0.625rem;
  font-weight: 800;
  text-transform: uppercase;
  background: var(--service-color, #2563eb);
  color: #ffffff;
  padding: 2.5px 8px;
  border-radius: 999px;
  letter-spacing: 0.04em;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  line-height: 1.2;
  z-index: 3;
}

/* Botão Circular com Seta no Canto Inferior Direito */
.pm-service-card-action {
  position: absolute;
  bottom: 14px;
  right: 14px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--service-tint, #eff6ff);
  color: var(--service-color, #2563eb);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}

.pm-service-card-action svg,
.pm-service-card-action i {
  transition: transform 0.25s ease;
}

.pm-digital-service-card:hover .pm-service-card-action {
  background: var(--service-color, #2563eb);
  color: #ffffff;
  transform: scale(1.06);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
}

.pm-digital-service-card:hover .pm-service-card-action svg,
.pm-digital-service-card:hover .pm-service-card-action i {
  transform: translateX(2.5px);
}

/* Responsividade do Grid de Serviços (Desktop, Tablet e Mobile) */
@media (max-width: 1200px) {
  .pm-digital-services-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.15rem;
  }
}

@media (max-width: 991px) {
  .pm-home-services-section {
    padding: var(--pm-home-section-spacing, 30px) 0;
  }

  .pm-digital-services-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
  }

  .pm-digital-services-title {
    font-size: 1.75rem;
  }

  .pm-digital-services-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }
}

@media (max-width: 640px) {
  .pm-home-services-section {
    padding: var(--pm-home-section-spacing, 30px) 0;
  }

  .pm-digital-services-title {
    font-size: 1.45rem;
  }

  .pm-digital-services-subtitle {
    font-size: 0.875rem;
  }

  .pm-digital-services-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.85rem;
  }

  .pm-digital-service-card {
    padding: 1.25rem 1rem 1.2rem;
    min-height: 136px;
    border-radius: 14px;
  }

  .pm-service-icon-wrap {
    width: 36px;
    height: 36px;
    margin-bottom: 0.65rem;
  }

  .pm-service-icon-wrap i {
    font-size: 1.55rem;
  }

  .pm-service-icon-wrap svg {
    width: 25px;
    height: 25px;
  }

  .pm-service-card-title {
    font-size: 0.9375rem;
  }

  .pm-service-card-desc {
    font-size: 0.775rem;
  }

  .pm-service-card-action {
    width: 28px;
    height: 28px;
    bottom: 12px;
    right: 12px;
  }
}

@media (max-width: 420px) {
  .pm-digital-services-grid {
    grid-template-columns: 1fr;
    gap: 0.85rem;
  }

  .pm-digital-service-card {
    min-height: 118px;
  }
}

/* ==========================================================================
   SEÇÃO NOTÍCIAS E EVENTOS (GRID 2 LINHAS X 3 COLUNAS - 6 ITENS)
   Autor: Leandro Kywdery (https://conectsistemas.com.br) - 21/09/2026 09:05:00
   ========================================================================== */
.pm-home-news-events-section {
  padding: var(--pm-home-section-spacing, 30px) 0;
  background-color: #ffffff;
  position: relative;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.pm-news-events-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1.5rem;
  margin-bottom: 1.75rem;
  flex-wrap: wrap;
}

.pm-news-events-header-left {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.pm-news-events-kicker {
  font-size: 0.8125rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--pm-primary, #005a36);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.pm-news-events-kicker::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 3px;
  background: var(--pm-secondary, #e69d00);
  border-radius: 2px;
}

.pm-news-events-title {
  font-size: 2.15rem;
  font-weight: 800;
  color: var(--pm-dark, #0f172a);
  line-height: 1.15;
  margin: 0;
  letter-spacing: -0.02em;
}

.pm-news-events-subtitle {
  font-size: 0.95rem;
  color: var(--pm-text-muted, #64748b);
  margin: 0.35rem 0 0;
  max-width: 540px;
  line-height: 1.5;
}

/* Botão Ver Todas as Notícias */
.pm-news-events-all-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.75rem 1.4rem;
  border-radius: 12px;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--pm-primary, #005a36);
  background-color: transparent;
  border: 2px solid var(--pm-primary, #005a36);
  text-decoration: none;
  transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.pm-news-events-all-btn:hover {
  background-color: var(--pm-primary, #005a36);
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px -4px rgba(0, 90, 54, 0.28);
}

.pm-news-events-all-btn svg {
  transition: transform 0.25s ease;
}

.pm-news-events-all-btn:hover svg {
  transform: translateX(4px);
}

.pm-news-events-all-btn:focus-visible {
  outline: 3px solid var(--pm-primary, #005a36);
  outline-offset: 3px;
}

.pm-news-events-mobile-action {
  display: none;
  text-align: center;
  margin-top: 2.25rem;
}

/* Grid de 3 Colunas x 2 Linhas */
.pm-news-events-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.85rem;
}

/* Card Individual de Notícia */
.pm-news-card {
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.85);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 4px 14px -3px rgba(15, 23, 42, 0.05), 0 1px 3px rgba(15, 23, 42, 0.02);
  transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.32s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.25s ease;
  display: flex;
  flex-direction: column;
}

.pm-news-card:hover {
  transform: translateY(-7px);
  border-color: rgba(0, 90, 54, 0.28);
  box-shadow: 0 20px 38px -10px rgba(0, 90, 54, 0.16),
              0 6px 16px -4px rgba(15, 23, 42, 0.04);
}

.pm-news-card-inner {
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.pm-news-card-inner:focus-visible {
  outline: 3px solid var(--pm-primary, #005a36);
  outline-offset: 3px;
  border-radius: 18px;
}

/* Mídia e Imagem do Card */
.pm-news-card-media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: linear-gradient(135deg, #e2e8f0 0%, #cbd5e1 100%);
}

.pm-news-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
  display: block;
}

.pm-news-card:hover .pm-news-card-img {
  transform: scale(1.06);
}

.pm-news-card-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #94a3b8;
  background: linear-gradient(135deg, rgba(0, 90, 54, 0.08) 0%, rgba(0, 90, 54, 0.02) 100%);
}

.pm-news-card-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #ffffff;
  background: rgba(0, 62, 37, 0.9);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding: 4px 10px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
  line-height: 1.2;
}

/* Corpo e Conteúdo da Notícia */
.pm-news-card-body {
  padding: 1.5rem 1.4rem 1.35rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.pm-news-card-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.pm-news-card-date {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--pm-text-muted, #64748b);
}

.pm-news-card-date svg {
  color: var(--pm-primary, #005a36);
  opacity: 0.85;
}

.pm-news-card-title {
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--pm-dark, #0f172a);
  line-height: 1.38;
  letter-spacing: -0.015em;
  margin: 0 0 0.75rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.25s ease;
}

.pm-news-card:hover .pm-news-card-title {
  color: var(--pm-primary, #005a36);
}

.pm-news-card-excerpt {
  font-size: 0.9rem;
  color: #475569;
  line-height: 1.55;
  margin: 0 0 1.25rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex-grow: 1;
}

/* Rodapé do Card */
.pm-news-card-footer {
  margin-top: auto;
  padding-top: 0.95rem;
  border-top: 1px solid rgba(226, 232, 240, 0.8);
}

.pm-news-card-link-text {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--pm-primary, #005a36);
  transition: gap 0.25s ease, color 0.25s ease;
}

.pm-news-card:hover .pm-news-card-link-text {
  gap: 0.7rem;
  color: var(--pm-primary-dark, #003d24);
}

.pm-news-card-link-text svg {
  transition: transform 0.25s ease;
}

.pm-news-card:hover .pm-news-card-link-text svg {
  transform: translateX(3px);
}

/* Responsividade da Seção Notícias e Eventos */
@media (max-width: 1024px) {
  .pm-news-events-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.45rem;
  }

  .pm-news-events-title {
    font-size: 1.85rem;
  }
}

@media (max-width: 768px) {
  .pm-home-news-events-section {
    padding: var(--pm-home-section-spacing, 30px) 0;
  }

  .pm-news-events-header-right {
    display: none;
  }

  .pm-news-events-mobile-action {
    display: block;
  }

  .pm-news-events-all-btn {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 640px) {
  .pm-news-events-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .pm-news-events-title {
    font-size: 1.55rem;
  }

  .pm-news-events-subtitle {
    font-size: 0.875rem;
  }

  .pm-news-card-body {
    padding: 1.25rem 1.15rem 1.15rem;
  }

  .pm-news-card-title {
    font-size: 1.05rem;
  }
}

/* ==========================================================================
   SEÇÃO PESQUISA DE SATISFAÇÃO & RELATÓRIOS (BANNER INTERATIVO DA HOME)
   Autor: Leandro Kywdery (https://conectsistemas.com.br) - 21/09/2026 09:20:00
   ========================================================================== */
.pm-home-survey-section {
  padding: var(--pm-home-section-spacing, 30px) 0;
  background-color: #ffffff;
}

.pm-survey-card {
  background: linear-gradient(135deg, #eaf7ef 0%, #def2e6 50%, #e8f5ec 100%);
  border: 1px solid rgba(0, 90, 54, 0.12);
  border-radius: 24px;
  padding: 2.25rem 2.5rem;
  display: grid;
  grid-template-columns: 1.1fr 0.95fr 1.35fr;
  gap: 2rem;
  align-items: center;
  box-shadow: 0 10px 30px -8px rgba(0, 90, 54, 0.08), 0 2px 6px rgba(0, 0, 0, 0.02);
  position: relative;
  overflow: hidden;
}

/* Coluna 1: Textos & Botão de Ação */
.pm-survey-info-col {
  display: flex;
  flex-direction: column;
}

.pm-survey-title {
  font-size: 1.85rem;
  font-weight: 800;
  color: var(--pm-primary, #005a36);
  margin: 0 0 0.45rem;
  letter-spacing: -0.02em;
  line-height: 1.18;
}

.pm-survey-subtitle {
  font-size: 1.05rem;
  font-weight: 700;
  color: #1e293b;
  margin: 0 0 0.65rem;
  line-height: 1.35;
}

.pm-survey-desc {
  font-size: 0.8875rem;
  color: #475569;
  line-height: 1.55;
  margin: 0 0 1.5rem;
  max-width: 360px;
}

.pm-survey-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.75rem 1.65rem;
  border-radius: 999px;
  background-color: var(--pm-primary, #005a36);
  color: #ffffff;
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(0, 90, 54, 0.35);
  transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
  width: fit-content;
}

.pm-survey-btn:hover {
  background-color: var(--pm-primary-dark, #003e25);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 62, 37, 0.4);
  color: #ffffff;
}

.pm-survey-btn svg {
  transition: transform 0.25s ease;
}

.pm-survey-btn:hover svg {
  transform: translateX(4px);
}

.pm-survey-btn:focus-visible {
  outline: 3px solid var(--pm-primary, #005a36);
  outline-offset: 3px;
}

/* Coluna 2: Ilustração Central de Celular com Balão */
.pm-survey-illustration-col {
  display: flex;
  justify-content: center;
  align-items: center;
}

.pm-survey-mockup-wrap {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  position: relative;
}

/* Mockup Vetorial do Smartphone */
.pm-survey-phone {
  width: 95px;
  height: 155px;
  background: #1e293b;
  border-radius: 20px;
  padding: 5px;
  box-shadow: 0 12px 28px -4px rgba(0, 0, 0, 0.2);
  transform: rotate(-5deg);
  flex-shrink: 0;
  position: relative;
}

.pm-phone-notch {
  width: 28px;
  height: 4px;
  background: #334155;
  border-radius: 4px;
  margin: 2px auto 4px;
}

.pm-phone-screen {
  width: 100%;
  height: calc(100% - 10px);
  background: #ffffff;
  border-radius: 14px;
  padding: 8px 6px;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.05);
}

.pm-phone-avatar {
  margin-bottom: 8px;
}

.pm-phone-checks {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 0 2px;
}

.pm-phone-check-item {
  display: flex;
  align-items: center;
  gap: 5px;
}

.pm-phone-box {
  width: 12px;
  height: 12px;
  border-radius: 3px;
  background: #dcfce7;
  border: 1.5px solid #008751;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.pm-phone-box.is-checked::after {
  content: "✓";
  font-size: 8px;
  font-weight: 800;
  color: #008751;
  line-height: 1;
}

.pm-phone-line {
  height: 5px;
  background: #e2e8f0;
  border-radius: 3px;
  flex-grow: 1;
}

/* Balão de Fala e Mensagem */
.pm-survey-bubble-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 155px;
}

.pm-survey-speech-bubble {
  background: var(--pm-primary, #005a36);
  color: #ffffff;
  border-radius: 14px;
  padding: 0.65rem 0.85rem;
  box-shadow: 0 4px 12px rgba(0, 90, 54, 0.25);
  position: relative;
  margin-bottom: 0.5rem;
}

.pm-survey-speech-bubble::before {
  content: "";
  position: absolute;
  left: -7px;
  top: 14px;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-right: 7px solid var(--pm-primary, #005a36);
}

.pm-survey-speech-bubble p {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.3;
}

.pm-survey-motto {
  font-size: 0.76rem;
  font-weight: 700;
  color: #1e293b;
  line-height: 1.3;
}

/* Coluna 3: Gráfico Animado & Banner Único de Resultado/Relatório */
.pm-survey-metrics-col {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

/* Card Superior: Gráfico Animado */
.pm-survey-chart-card {
  background: #ffffff;
  border: 1px solid rgba(0, 90, 54, 0.08);
  border-radius: 16px;
  padding: 1rem 1.25rem 0.9rem;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.03);
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

.pm-survey-chart-custom-image {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.pm-survey-chart-custom-image img {
  max-width: 100%;
  max-height: 135px;
  object-fit: contain;
  border-radius: 10px;
  display: block;
}

/* Gráfico Vetorial Animado Dinâmico */
.pm-survey-animated-chart {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.pm-chart-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.45rem;
}

.pm-chart-title-wrap {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.pm-chart-dot-pulse {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
  animation: pmPulseLive 2s infinite;
}

@keyframes pmPulseLive {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
  }
  70% {
    transform: scale(1);
    box-shadow: 0 0 0 6px rgba(16, 185, 129, 0);
  }
  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
  }
}

.pm-chart-title {
  font-size: 0.78rem;
  font-weight: 700;
  color: #1e293b;
  letter-spacing: -0.01em;
}

.pm-chart-badge {
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--pm-primary, #005a36);
  background: rgba(0, 90, 54, 0.08);
  padding: 2px 7px;
  border-radius: 6px;
}

.pm-chart-svg {
  width: 100%;
  height: auto;
  max-height: 120px;
  display: block;
  overflow: visible;
}

@keyframes pmGrowBar {
  0% {
    transform: scaleY(0.18);
    opacity: 0.5;
  }
  100% {
    transform: scaleY(1);
    opacity: 1;
  }
}

.pm-chart-bar {
  transform-origin: 50% 94px;
  animation: pmGrowBar 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.pm-bar-1 { animation-delay: 0.08s; }
.pm-bar-2 { animation-delay: 0.16s; }
.pm-bar-3 { animation-delay: 0.24s; }
.pm-bar-4 { animation-delay: 0.32s; }
.pm-bar-5 { animation-delay: 0.40s; }

@keyframes pmFloatPoint {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-2px);
  }
}

.pm-chart-point {
  animation: pmFloatPoint 2.8s ease-in-out infinite;
}

.pm-pt-1 { animation-delay: 0s; }
.pm-pt-2 { animation-delay: 0.35s; }
.pm-pt-3 { animation-delay: 0.7s; }
.pm-pt-4 { animation-delay: 1.05s; }
.pm-pt-5 { animation-delay: 1.4s; }

/* Banner Único: Resultado e Relatório da Pesquisa */
.pm-survey-single-report-card {
  background: #ffffff;
  border: 1px solid rgba(0, 90, 54, 0.09);
  border-radius: 16px;
  padding: 1.05rem 1.25rem;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.03);
  display: flex;
  align-items: center;
  gap: 0.95rem;
  text-decoration: none;
  color: inherit;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  overflow: hidden;
}

.pm-survey-single-report-card:hover {
  transform: translateY(-3px);
  border-color: rgba(0, 90, 54, 0.3);
  box-shadow: 0 12px 26px -6px rgba(0, 90, 54, 0.15);
}

.pm-survey-single-report-card:focus-visible {
  outline: 3px solid var(--pm-primary, #005a36);
  outline-offset: 3px;
  border-radius: 16px;
}

.pm-single-report-icon-box {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(0, 90, 54, 0.09) 0%, rgba(0, 135, 81, 0.16) 100%);
  color: var(--pm-primary, #005a36);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.28s ease;
}

.pm-survey-single-report-card:hover .pm-single-report-icon-box {
  background: var(--pm-primary, #005a36);
  color: #ffffff;
  transform: scale(1.06);
}

.pm-single-report-content {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  min-width: 0;
}

.pm-single-report-title {
  font-size: 0.92rem;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 2px;
  line-height: 1.25;
}

.pm-single-report-desc {
  font-size: 0.76rem;
  color: var(--pm-text-muted, #64748b);
  line-height: 1.35;
  margin: 0 0 5px;
}

.pm-single-report-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--pm-primary, #005a36);
  transition: gap 0.25s ease;
}

.pm-survey-single-report-card:hover .pm-single-report-btn {
  gap: 0.6rem;
}

.pm-single-report-btn svg {
  transition: transform 0.25s ease;
}

.pm-survey-single-report-card:hover .pm-single-report-btn svg {
  transform: translateX(4px);
}
}

/* Responsividade da Seção de Pesquisa */
@media (max-width: 1100px) {
  .pm-survey-card {
    grid-template-columns: 1fr 1fr;
    gap: 1.75rem;
    padding: 2rem 1.85rem;
  }

  .pm-survey-illustration-col {
    display: none;
  }
}

@media (max-width: 768px) {
  .pm-home-survey-section {
    padding: var(--pm-home-section-spacing, 30px) 0;
  }

  .pm-survey-card {
    grid-template-columns: 1fr;
    gap: 1.85rem;
    padding: 1.75rem 1.35rem;
    border-radius: 18px;
  }

  .pm-survey-title {
    font-size: 1.55rem;
  }

  .pm-survey-subtitle {
    font-size: 0.95rem;
  }

  .pm-survey-desc {
    max-width: 100%;
  }

  .pm-survey-btn {
    width: 100%;
    justify-content: center;
  }

  .pm-survey-single-report-card {
    padding: 1rem 1.15rem;
    gap: 0.85rem;
  }

  .pm-single-report-title {
    font-size: 0.88rem;
  }

  .pm-single-report-desc {
    font-size: 0.74rem;
  }
}

/* Responsividade da Vitrine */
@media (max-width: 991px) {
  .pm-news-showcase-layout {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .pm-news-slider-wrapper {
    min-height: 460px;
  }

  .pm-news-2x2-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem 1rem;
  }

  .pm-news-grid-thumb {
    aspect-ratio: 4 / 4.7;
    border-radius: 12px;
  }

  .pm-news-grid-title {
    font-size: 0.95rem;
    line-height: 1.35;
  }
}

@media (max-width: 640px) {
  .pm-news-slider-wrapper {
    min-height: 400px;
    border-radius: 14px;
  }

  .pm-news-slide-content {
    padding: 1.5rem 1.25rem;
  }

  .pm-news-slide-title {
    font-size: 1.35rem;
  }

  .pm-news-2x2-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.85rem 0.65rem;
  }

  .pm-news-grid-thumb {
    border-radius: 10px;
  }

  .pm-news-grid-title {
    font-size: 0.825rem;
    line-height: 1.3;
  }
}

@media (max-width: 440px) {
  .pm-news-2x2-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .pm-news-grid-thumb {
    aspect-ratio: 16 / 10;
  }
}

/* --- BLOCO DUPLO NA HOME: SERVIÇOS & NOTÍCIAS (Legado/Compatibilidade) --- */
.pm-home-sections-wrap {
  padding: 3rem 1.25rem 4rem;
}

.pm-home-grid {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 2.5rem;
}

.pm-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--pm-border);
}

.pm-section-title {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--pm-dark);
}

.pm-view-all-link {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--pm-primary);
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.pm-view-all-link:hover {
  color: var(--pm-secondary);
}

/* Cards de Serviços Digitais */
.pm-services-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

.pm-service-card {
  background: var(--pm-surface);
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-radius-md);
  padding: 1.25rem 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: var(--pm-transition);
  box-shadow: var(--pm-shadow-sm);
  text-decoration: none;
}

.pm-service-card:hover {
  transform: translateY(-4px);
  border-color: var(--pm-primary);
  box-shadow: var(--pm-shadow-md);
}

.pm-service-icon-box {
  width: 52px;
  height: 52px;
  border-radius: var(--pm-radius-md);
  background: var(--pm-primary-light);
  color: var(--pm-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.75rem;
  transition: var(--pm-transition);
}

.pm-service-card:hover .pm-service-icon-box {
  background: var(--pm-primary);
  color: #ffffff;
}

.pm-service-name {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--pm-dark);
  line-height: 1.3;
}

/* Notícias em Destaque no Home */
.pm-featured-news-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}

.pm-highlight-card {
  background: var(--pm-surface);
  border-radius: var(--pm-radius-md);
  overflow: hidden;
  border: 1px solid var(--pm-border);
  box-shadow: var(--pm-shadow-sm);
  height: 100%;
  display: flex;
  flex-direction: column;
}

.pm-highlight-thumb-link {
  position: relative;
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #e2e8f0;
}

.pm-highlight-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.pm-highlight-card:hover .pm-highlight-img {
  transform: scale(1.05);
}

.pm-badge-category {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--pm-primary);
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.25rem 0.65rem;
  border-radius: var(--pm-radius-sm);
  text-transform: uppercase;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

.pm-highlight-info {
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.pm-highlight-title {
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
  line-height: 1.3;
}

.pm-highlight-title a {
  color: var(--pm-dark);
}

.pm-highlight-title a:hover {
  color: var(--pm-primary);
}

.pm-highlight-date {
  font-size: 0.8125rem;
  color: var(--pm-text-muted);
  margin-top: auto;
}

/* Lista Lateral de Notícias Compacta */
.pm-news-side-list {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}

.pm-side-news-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: var(--pm-surface);
  padding: 0.75rem;
  border-radius: var(--pm-radius-md);
  border: 1px solid var(--pm-border);
  transition: var(--pm-transition);
}

.pm-side-news-item:hover {
  transform: translateX(4px);
  border-color: var(--pm-primary);
  box-shadow: var(--pm-shadow-sm);
}

.pm-side-news-thumb {
  width: 80px;
  height: 64px;
  border-radius: var(--pm-radius-sm);
  overflow: hidden;
  flex-shrink: 0;
  background: #e2e8f0;
}

.pm-side-news-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pm-side-news-title {
  font-size: 0.9375rem;
  line-height: 1.35;
  margin-bottom: 0.25rem;
}

.pm-side-news-title a {
  color: var(--pm-dark);
}

.pm-side-news-title a:hover {
  color: var(--pm-primary);
}

.pm-side-news-date {
  font-size: 0.78rem;
  color: var(--pm-text-muted);
}

/* --- GRID DE NOTÍCIAS NATIVO (INDEX / ARCHIVE / SEARCH) --- */
.pm-main-layout,
.pm-archive-layout,
.pm-search-layout,
.pm-page-layout,
.pm-single-layout {
  padding: 3rem 1.25rem 4rem;
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 2.5rem;
}

.pm-archive-header {
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid var(--pm-border);
}

.pm-archive-title {
  font-size: 2rem;
  color: var(--pm-dark);
  margin-bottom: 0.4rem;
}

.pm-archive-subtitle {
  color: var(--pm-text-muted);
  font-size: 1.05rem;
}

.pm-posts-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.75rem;
}

.pm-news-card {
  background: var(--pm-surface);
  border-radius: var(--pm-radius-md);
  border: 1px solid var(--pm-border);
  overflow: hidden;
  box-shadow: var(--pm-shadow-sm);
  display: flex;
  flex-direction: column;
  transition: var(--pm-transition);
}

.pm-news-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--pm-shadow-md);
  border-color: var(--pm-primary);
}

.pm-card-thumb {
  aspect-ratio: 16 / 9;
  background: #e2e8f0;
  overflow: hidden;
}

.pm-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.pm-news-card:hover .pm-card-thumb img {
  transform: scale(1.05);
}

.pm-card-thumb-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--pm-text-muted);
}

.pm-card-body {
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.pm-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.6rem;
}

.pm-card-category {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--pm-primary);
}

.pm-card-date {
  font-size: 0.78rem;
  color: var(--pm-text-muted);
}

.pm-card-title {
  font-size: 1.2rem;
  line-height: 1.35;
  margin-bottom: 0.75rem;
}

.pm-card-title a {
  color: var(--pm-dark);
}

.pm-card-title a:hover {
  color: var(--pm-primary);
}

.pm-card-excerpt {
  font-size: 0.92rem;
  color: var(--pm-text-muted);
  line-height: 1.5;
  margin-bottom: 1.25rem;
}

.pm-card-link {
  margin-top: auto;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--pm-primary);
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.pm-card-link:hover {
  color: var(--pm-secondary);
}

/* Paginação */
.pm-pagination {
  margin-top: 3rem;
  display: flex;
  justify-content: center;
}

.pm-pagination .nav-links {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.pm-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 0.5rem;
  background: var(--pm-surface);
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-radius-sm);
  color: var(--pm-text);
  font-weight: 600;
  font-size: 0.9375rem;
}

.pm-pagination .page-numbers.current {
  background: var(--pm-primary);
  color: #ffffff;
  border-color: var(--pm-primary);
}

.pm-pagination .page-numbers:hover:not(.current) {
  background: var(--pm-primary-light);
  color: var(--pm-primary);
}

/* --- VISUALIZAÇÃO DO POST INDIVIDUAL (SINGLE.PHP) --- */
.pm-single-article {
  background: var(--pm-surface);
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-radius-lg);
  padding: 2.25rem;
  box-shadow: var(--pm-shadow-sm);
}

.pm-single-header {
  margin-bottom: 1.75rem;
}

.pm-single-badge {
  display: inline-block;
  background: var(--pm-primary-light);
  color: var(--pm-primary);
  font-weight: 700;
  font-size: 0.8125rem;
  padding: 0.25rem 0.75rem;
  border-radius: var(--pm-radius-sm);
  text-transform: uppercase;
  margin-bottom: 0.75rem;
}

.pm-single-title {
  font-size: 2.35rem;
  line-height: 1.2;
  margin-bottom: 1rem;
}

.pm-single-meta-bottom {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  color: var(--pm-text-muted);
  font-size: 0.9rem;
  border-bottom: 1px solid var(--pm-border);
  padding-bottom: 1.25rem;
}

.pm-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.pm-single-featured-image {
  margin: 1.5rem 0 2rem;
  border-radius: var(--pm-radius-md);
  overflow: hidden;
}

.pm-single-featured-image img {
  width: 100%;
  border-radius: var(--pm-radius-md);
}

.pm-image-caption {
  font-size: 0.85rem;
  color: var(--pm-text-muted);
  padding-top: 0.5rem;
  font-style: italic;
}

/* Conteúdo Formatado da Notícia / Página */
.pm-entry-content {
  font-size: 1.075rem;
  line-height: 1.75;
  color: #2d3748;
}

.pm-entry-content p {
  margin-bottom: 1.5rem;
}

.pm-entry-content h2 {
  font-size: 1.75rem;
  margin: 2rem 0 1rem;
}

.pm-entry-content h3 {
  font-size: 1.4rem;
  margin: 1.75rem 0 0.85rem;
}

.pm-entry-content blockquote {
  border-left: 4px solid var(--pm-primary);
  padding-left: 1.25rem;
  font-style: italic;
  color: var(--pm-text-muted);
  margin: 1.5rem 0;
}

.pm-single-footer {
  margin-top: 2.5rem;
  padding-top: 1.75rem;
  border-top: 1px solid var(--pm-border);
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.pm-single-tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.pm-tags-label {
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--pm-dark);
}

.pm-tag-link {
  background: var(--pm-bg);
  border: 1px solid var(--pm-border);
  color: var(--pm-text-muted);
  padding: 0.2rem 0.6rem;
  border-radius: var(--pm-radius-sm);
  font-size: 0.8125rem;
}

.pm-tag-link:hover {
  background: var(--pm-primary-light);
  color: var(--pm-primary);
  border-color: var(--pm-primary);
}

.pm-single-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.pm-share-label {
  font-weight: 700;
  font-size: 0.9rem;
}

.pm-share-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.45rem 0.85rem;
  border-radius: var(--pm-radius-sm);
  font-size: 0.85rem;
  font-weight: 600;
  border: none;
  cursor: pointer;
  text-decoration: none;
}

.pm-share-wa {
  background: #25d366;
  color: #ffffff;
}

.pm-share-fb {
  background: #1877f2;
  color: #ffffff;
}

.pm-btn-print {
  background: var(--pm-bg);
  border: 1px solid var(--pm-border);
  color: var(--pm-text);
}

/* Navegação entre Notícias */
.post-navigation {
  margin-top: 2rem;
  background: var(--pm-surface);
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-radius-md);
  padding: 1.25rem;
}

.post-navigation .nav-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}

.nav-subtitle {
  display: block;
  font-size: 0.78rem;
  text-transform: uppercase;
  color: var(--pm-text-muted);
  font-weight: 700;
}

.nav-title {
  display: block;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--pm-primary);
}

/* --- PÁGINA NATIVA (PAGE.PHP) --- */
.pm-single-page {
  background: var(--pm-surface);
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-radius-lg);
  padding: 2.5rem;
  box-shadow: var(--pm-shadow-sm);
}

.pm-page-header {
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid var(--pm-border);
}

.pm-page-title {
  font-size: 2.25rem;
}

/* --- SIDEBAR E WIDGETS --- */
.pm-sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}

.pm-widget {
  background: var(--pm-surface);
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-radius-md);
  padding: 1.5rem;
  box-shadow: var(--pm-shadow-sm);
}

.pm-widget-title {
  font-size: 1.15rem;
  padding-bottom: 0.75rem;
  margin-bottom: 1rem;
  border-bottom: 2px solid var(--pm-primary);
  color: var(--pm-dark);
}

.pm-widget-links li {
  margin-bottom: 0.6rem;
}

.pm-widget-links a {
  color: var(--pm-text);
  display: block;
  padding: 0.35rem 0.5rem;
  border-radius: var(--pm-radius-sm);
  font-size: 0.9375rem;
}

.pm-widget-links a:hover {
  background: var(--pm-primary-light);
  color: var(--pm-primary);
  padding-left: 0.75rem;
}

/* --- PÁGINA 404 --- */
.pm-404-wrapper {
  padding: 5rem 1.25rem;
  display: flex;
  justify-content: center;
}

.pm-404-card {
  background: var(--pm-surface);
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-radius-lg);
  padding: 3.5rem 2rem;
  max-width: 600px;
  text-align: center;
  box-shadow: var(--pm-shadow-md);
}

.pm-404-badge {
  font-size: 5rem;
  font-weight: 900;
  color: var(--pm-primary);
  line-height: 1;
  margin-bottom: 1rem;
  font-family: var(--pm-font-heading);
}

.pm-404-title {
  font-size: 1.75rem;
  margin-bottom: 0.75rem;
}

.pm-404-text {
  color: var(--pm-text-muted);
  margin-bottom: 1.75rem;
}

.pm-404-search {
  margin-bottom: 2rem;
}

.pm-404-links {
  display: flex;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
}

/* --- RODAPÉ INSTITUCIONAL (FOOTER) --- */
.pm-site-footer {
  background-color: var(--pm-footer-bg, #003620);
  color: var(--pm-footer-text, #ffffff);
  margin-top: auto;
  font-family: var(--pm-font-body);
}

/* ==========================================================================
   RODAPÉ INSTITUCIONAL (NOVO MODELO - IMAGEM 2)
   ========================================================================== */
.pm-footer-inst-wrap {
  padding: 3.5rem 0 2rem;
}

.pm-footer-top-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2.5rem;
  flex-wrap: wrap;
}

.pm-footer-left-col {
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
  flex: 1 1 500px;
  max-width: 650px;
}

.pm-footer-brand-box {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.pm-footer-logo-link {
  display: inline-block;
  text-decoration: none;
}

.pm-footer-custom-logo {
  height: auto;
  object-fit: contain;
  display: block;
  max-width: 120px;
}

.pm-footer-brand-textual {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.pm-footer-brand-textual .pm-footer-pre {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #a7f3d0;
}

.pm-footer-brand-textual .pm-footer-title {
  font-size: 1.65rem;
  font-weight: 800;
  color: #ffffff;
  line-height: 1.15;
  margin: 0;
}

.pm-footer-brand-textual .pm-footer-slogan {
  font-size: 0.85rem;
  color: #cbd5e1;
  font-weight: 500;
}

.pm-footer-contacts-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  font-size: 0.95rem;
}

.pm-footer-contacts-inline {
  display: flex;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
}

.pm-footer-contact-item,
.pm-footer-address-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  color: var(--pm-footer-text, #ffffff);
}

.pm-footer-contact-item i,
.pm-footer-address-item i {
  color: var(--pm-footer-text, #ffffff);
  font-size: 1.05rem;
  flex-shrink: 0;
}

.pm-footer-contact-item a {
  color: var(--pm-footer-text, #ffffff);
  text-decoration: none;
  font-weight: 500;
  transition: var(--pm-transition);
}

.pm-footer-contact-item a:hover {
  color: var(--pm-footer-hover, #fbbf24);
  text-decoration: underline;
}

.pm-footer-address-item span {
  color: var(--pm-footer-text, #ffffff);
  font-weight: 500;
}

/* Lado Direito: Redes Sociais e Selos */
.pm-footer-right-col {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1.6rem;
  flex: 1 1 360px;
}

.pm-footer-social-row {
  display: flex;
  align-items: center;
  gap: 1.75rem;
  flex-wrap: wrap;
}

.pm-footer-social-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--pm-footer-text, #ffffff);
  font-size: 0.95rem;
  font-weight: 500;
  text-decoration: none;
  transition: var(--pm-transition);
}

.pm-footer-social-btn i {
  font-size: 1.35rem;
  color: var(--pm-footer-text, #ffffff);
  transition: var(--pm-transition);
}

.pm-footer-social-btn:hover {
  color: var(--pm-footer-hover, #fbbf24);
  transform: translateY(-2px);
}

.pm-footer-social-btn:hover i {
  color: var(--pm-footer-hover, #fbbf24);
}

/* Selos Oficiais ATRICON e Ouro */
.pm-footer-seals-row {
  display: flex;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.pm-seal-anchor {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: inherit;
  transition: var(--pm-transition);
}

.pm-seal-anchor:hover {
  opacity: 0.92;
  transform: scale(1.02);
}

/* Vetor ATRICON */
.pm-atricon-vector-box {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  cursor: pointer;
}

.pm-atricon-text {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}

.pm-atricon-line1 {
  font-size: 0.65rem;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.04em;
}

.pm-atricon-line2 {
  font-size: 1.05rem;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 0.06em;
}

.pm-atricon-img {
  max-height: 52px;
  object-fit: contain;
  display: block;
}

/* Selo Ouro */
.pm-footer-seal-gold {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.pm-seal-gold-caption {
  font-size: 0.95rem;
  font-weight: 500;
  color: #ffffff;
  max-width: 140px;
  text-align: right;
  line-height: 1.25;
}

.pm-seal-gold-img {
  width: 68px;
  height: 68px;
  object-fit: contain;
  border-radius: 50%;
  display: block;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
  transition: var(--pm-transition);
}

.pm-seal-gold-img:hover {
  transform: scale(1.06);
}

.pm-seal-gold-badge {
  width: 50px;
  height: 50px;
  background: linear-gradient(135deg, #f59e0b, #d97706);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 1.5rem;
  box-shadow: 0 4px 12px rgba(217, 119, 6, 0.4);
}

/* Linha Divisória Suave */
.pm-footer-divider {
  border-top: 1px solid var(--pm-footer-border, rgba(255, 255, 255, 0.15));
  margin: 2.5rem 0 1.65rem;
  width: 100%;
}

/* Linha Intermediária: Lei Geral de Proteção de Dados (LGPD) */
.pm-footer-middle-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  text-align: center;
}

.pm-footer-lgpd-title {
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--pm-footer-text, #ffffff);
  margin: 0;
  letter-spacing: 0.01em;
}

.pm-footer-lgpd-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.75rem;
  flex-wrap: wrap;
}

.pm-footer-lgpd-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--pm-footer-text, #ffffff);
  font-size: 0.95rem;
  font-weight: 500;
  text-decoration: none;
  transition: var(--pm-transition);
}

.pm-footer-lgpd-link i {
  color: var(--pm-footer-text, #ffffff);
  font-size: 0.925rem;
  transition: var(--pm-transition);
}

.pm-footer-lgpd-link:hover {
  color: var(--pm-footer-hover, #fbbf24);
}

.pm-footer-lgpd-link:hover i {
  color: var(--pm-footer-hover, #fbbf24);
}

/* ==========================================================================
   MODELO TRADICIONAL EM COLUNAS (RETROCOMPATIBILIDADE)
   ========================================================================== */
.pm-footer-main {
  padding: 4rem 0 3rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.pm-footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
  gap: 2.5rem;
}

.pm-footer-brand {
  margin-bottom: 1.25rem;
}

.pm-footer-pre {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #a7f3d0;
  font-weight: 600;
}

.pm-footer-title {
  font-size: 1.4rem;
  color: #ffffff;
  font-weight: 800;
}

.pm-footer-info-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin-bottom: 0.85rem;
  font-size: 0.875rem;
  color: #cbd5e1;
}

.pm-footer-info-list svg,
.pm-footer-info-list i {
  flex-shrink: 0;
  color: var(--pm-gold);
  margin-top: 2px;
}

.pm-footer-heading {
  font-size: 1.15rem;
  color: #ffffff;
  margin-bottom: 1.25rem;
  position: relative;
  padding-bottom: 0.6rem;
}

.pm-footer-heading::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 32px;
  height: 2px;
  background: var(--pm-gold);
}

.pm-footer-links li {
  margin-bottom: 0.6rem;
}

.pm-footer-links a {
  color: #cbd5e1;
  font-size: 0.875rem;
  transition: var(--pm-transition);
}

.pm-footer-links a:hover {
  color: var(--pm-gold);
  padding-left: 0.35rem;
}

.pm-footer-about-text {
  font-size: 0.875rem;
  color: #cbd5e1;
  margin-bottom: 1rem;
}

.pm-footer-highlight-card {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--pm-radius-md);
  padding: 1rem;
}

.pm-badge-verified {
  display: inline-block;
  background: var(--pm-secondary);
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  margin-bottom: 0.5rem;
}

.pm-footer-highlight-card p {
  font-size: 0.8125rem;
  color: #e2e8f0;
}

/* ==========================================================================
   BARRA INFERIOR DE DIREITOS E CONECT SISTEMAS
   ========================================================================== */
.pm-footer-bottom {
  padding: 1.35rem 0;
  font-size: 0.875rem;
  color: var(--pm-footer-muted, #cbd5e1);
  border-top: 1px solid var(--pm-footer-border, rgba(255, 255, 255, 0.12));
}

.pm-footer-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1.25rem;
}

.pm-copyright p {
  margin: 0;
  font-size: 0.9rem;
  color: var(--pm-footer-text, #ffffff);
}

.pm-conect-credit-anchor {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  transition: var(--pm-transition);
}

.pm-conect-credit-anchor:hover {
  opacity: 0.92;
  transform: translateY(-2px);
}

.pm-conect-custom-img {
  max-height: 38px;
  object-fit: contain;
  display: block;
}

.pm-conect-vector-logo {
  display: flex;
  align-items: center;
}

/* ==========================================================================
   RESPONSIVIDADE DO RODAPÉ (TABLETS E CELULARES)
   ========================================================================== */
@media (max-width: 992px) {
  .pm-footer-top-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 2.25rem;
  }

  .pm-footer-left-col {
    max-width: 100%;
    width: 100%;
  }

  .pm-footer-right-col {
    align-items: flex-start;
    width: 100%;
  }

  .pm-footer-seals-row {
    justify-content: flex-start;
  }

  .pm-seal-gold-caption {
    text-align: left;
  }
}

@media (max-width: 768px) {
  .pm-footer-inst-wrap {
    padding: 2.75rem 0 1.5rem;
  }

  .pm-footer-contacts-inline {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.65rem;
  }

  .pm-footer-lgpd-nav {
    gap: 1rem 1.25rem;
  }

  .pm-footer-bottom-inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1rem;
  }
}

/* --- MOBILE BOTTOM NAVIGATION (DOCK) --- */
.pm-mobile-bottom-bar {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #ffffff;
  border-top: 1px solid var(--pm-border);
  box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.08);
  z-index: 9999;
  padding: 0.4rem 0.5rem;
  justify-content: space-around;
  align-items: center;
}

.pm-mobile-bottom-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  color: var(--pm-text-muted);
  font-size: 0.72rem;
  font-weight: 600;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0.35rem 0.75rem;
  border-radius: var(--pm-radius-sm);
  text-decoration: none;
  transition: var(--pm-transition);
}

.pm-mobile-bottom-item.is-active,
.pm-mobile-bottom-item:hover {
  color: var(--pm-primary);
}

.pm-mobile-bottom-item svg {
  stroke-width: 2.2;
}

/* --- COMPATIBILIDADE COM ELEMENTOR E JETENGINE --- */
.pm-elementor-container,
.pm-fullwidth-wrapper {
  width: 100%;
}

.pm-canvas-template {
  background: #ffffff;
  margin: 0;
  padding: 0;
}

/* --- RESPONSIVIDADE (TABLETS E CELULARES) --- */
@media (max-width: 1024px) {
  .pm-home-grid {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .pm-main-layout,
  .pm-archive-layout,
  .pm-search-layout,
  .pm-page-layout,
  .pm-single-layout {
    grid-template-columns: 1fr;
  }

  .pm-footer-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}

@media (max-width: 768px) {
  /* Ativação da barra móvel inferior */
  .pm-mobile-bottom-bar {
    display: flex;
  }

  body {
    padding-bottom: 64px; /* Espaço para a dock móvel */
  }

  /* Exibe o botão hambúrguer e esconde menu horizontal */
  .pm-menu-toggle {
    display: inline-flex;
  }

  .pm-header-branding {
    min-height: auto;
    padding: 1.25rem 0;
  }

  .pm-header-actions {
    justify-content: center;
    gap: 1rem;
    width: 100%;
  }

  .pm-header-quick-links {
    justify-content: center;
    gap: 0.85rem;
  }

  .pm-header-quick-link:not(:last-child)::after {
    margin-left: 0.85rem;
  }

  .pm-seal-img {
    max-height: 75px !important;
  }

  .pm-header-search {
    display: none; /* Busca disponível no Hero ou no menu */
  }

  .pm-navbar-container {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 85%;
    max-width: 340px;
    background: #ffffff;
    z-index: 10000;
    box-shadow: -8px 0 25px rgba(0, 0, 0, 0.25);
    overflow-y: auto;
    padding: 2rem 1.5rem;
    flex-direction: column;
  }

  .pm-navbar-container.is-open {
    display: flex;
  }

  .pm-nav-menu {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .pm-nav-menu > li > a {
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--pm-border-light);
  }

  .pm-navbar-container.has-menu-dividers .pm-nav-menu > li:not(:last-child)::after {
    display: none !important;
  }

  .pm-nav-menu > li.menu-item-has-children > a,
  .pm-nav-menu > li.page_item_has_children > a,
  .pm-nav-menu > li:has(> ul) > a {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
  }

  .pm-nav-menu ul.sub-menu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    border: none;
    padding-left: 1rem;
  }

  .pm-topbar-shortcuts {
    display: none; /* Usuário mobile foca nos botões de acessibilidade */
  }

  .pm-hero-title {
    font-size: clamp(30px, 8vw, 44px) !important;
  }

  .pm-hero-badge-text {
    font-size: clamp(16px, 4.5vw, 21px) !important;
  }

  .pm-hero-badge.has-badge-lines::after {
    width: 90% !important;
    max-width: 320px !important;
  }

  .pm-hero-section {
    padding: 3.5rem 1.25rem !important;
    min-height: auto !important;
  }

  .pm-hero-actions {
    flex-direction: column !important;
    width: 100% !important;
  }

  .pm-hero-btn {
    width: 100% !important;
  }

  .pm-featured-news-grid {
    grid-template-columns: 1fr;
  }

  .pm-posts-grid {
    grid-template-columns: 1fr;
  }

  .pm-footer-grid {
    grid-template-columns: 1fr;
  }

  .pm-footer-bottom-inner {
    flex-direction: column;
    text-align: center;
  }

  .pm-navbar-container.is-open .pm-navbar-inner-flex {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 1.25rem;
  }

  .pm-navbar-container.is-open .pm-navbar-right {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    margin-top: 1rem;
    gap: 0.85rem;
  }

  .pm-navbar-container.is-open .pm-navbar-search,
  .pm-navbar-container.is-open .pm-navbar-search-field,
  .pm-navbar-container.is-open .pm-navbar-search-input {
    width: 100% !important;
  }

  .pm-navbar-container.is-open .pm-navbar-cta-box {
    margin-left: 0;
    width: 100%;
  }

  .pm-navbar-container.is-open .pm-menu-cta-btn {
    width: 100%;
    justify-content: center;
  }
}

/* --- UTILITÁRIOS DE CONTROLE RESPONSIVO (DESKTOP / CELULAR) --- */
@media (min-width: 769px) {
  .pm-hide-desktop,
  .pm-topbar-hide-desktop,
  .pm-header-hide-desktop,
  .pm-navbar-hide-desktop,
  .pm-header-search-hide-desktop,
  .pm-navbar-search-hide-desktop {
    display: none !important;
  }

  .pm-navbar-sticky-desktop,
  .pm-navbar-sticky {
    position: sticky !important;
    top: 0 !important;
    z-index: 999;
    background: var(--pm-menu-bg, var(--pm-surface, #ffffff));
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
  }

  body.admin-bar .pm-navbar-sticky-desktop,
  body.admin-bar .pm-navbar-sticky {
    top: 32px !important;
  }
}

@media (max-width: 768px) {
  .pm-hide-mobile,
  .pm-topbar-hide-mobile,
  .pm-header-hide-mobile,
  .pm-navbar-hide-mobile,
  .pm-header-search-hide-mobile,
  .pm-navbar-search-hide-mobile,
  .pm-seal-hide-mobile,
  .pm-quick-links-hide-mobile {
    display: none !important;
  }

  .pm-site-header.has-sticky-mobile {
    position: sticky !important;
    top: 0 !important;
    z-index: 998;
    background: var(--pm-surface, #ffffff);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
  }

  body.admin-bar .pm-site-header.has-sticky-mobile {
    top: 46px !important;
  }
}
