/* =============================================================================
   Eximport — Home (visual só). Fontes simples + cards sem quebrar o layout.
   ============================================================================= */

:root {
  --ex-ink: #14231b;
  --ex-muted: #5a6b62;
  --ex-green: #0c6937;
  --ex-green-deep: #09522b;
  --ex-soft: #f3f7f4;
  --ex-card: #ffffff;
  --ex-line: rgba(12, 105, 55, 0.14);
  --ex-shadow: 0 12px 36px rgba(12, 40, 24, 0.07);
  --ex-radius: 16px;
  --ex-font: var(--font, "Helvetica Neue", Helvetica, Arial, sans-serif);
  --ex-font-display: var(--font-h1, "Neue Haas Grotesk Display", "Helvetica Neue", Arial, sans-serif);
}

/* Tipografia limpa só na home */
body:has(app-home),
body:has(app-home) button,
body:has(app-home) input,
body:has(app-home) textarea {
  font-family: var(--ex-font);
}

body:has(app-home) {
  color: var(--ex-ink);
  -webkit-font-smoothing: antialiased;
  background-color: #eef6f1;
  background-image:
    radial-gradient(ellipse 90% 55% at 0% -10%, rgba(12, 105, 55, 0.16), transparent 55%),
    radial-gradient(ellipse 70% 50% at 100% 5%, rgba(56, 160, 110, 0.14), transparent 50%),
    radial-gradient(ellipse 60% 40% at 50% 100%, rgba(12, 105, 55, 0.1), transparent 55%),
    linear-gradient(
      165deg,
      #f7fbf8 0%,
      #eaf5ee 28%,
      #e3f0e8 52%,
      #edf6f1 78%,
      #f5faf7 100%
    );
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-size: cover;
}

body:has(app-home) .app-shell,
body:has(app-home) app-home section.home {
  background: transparent;
}

app-home section.home {
  font-family: var(--ex-font);
}

app-home section.home h1,
app-home section.home h2,
app-home section.home h3 {
  font-family: var(--ex-font-display) !important;
}

app-home section.home p,
app-home section.home a,
app-home section.home span,
app-home section.home strong,
app-home section.home li,
app-home section.home label,
app-home section.home input,
app-home section.home textarea,
app-home section.home button {
  font-family: var(--ex-font) !important;
}

app-home section.home h2 {
  font-weight: 700 !important;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--ex-green) !important;
}

app-home section.home h3 {
  font-weight: 700 !important;
  letter-spacing: -0.015em;
  line-height: 1.25;
  color: var(--ex-ink) !important;
}

app-home section.home p {
  font-weight: 400 !important;
  line-height: 1.55;
  color: var(--ex-muted) !important;
}

/* Stats cards: força branco (ganha de section.home h2/p) */
app-home section.home .initial-texts.col-4-12,
app-home section.home .initial-texts.col-4-12 * {
  color: #ffffff !important;
}

app-home section.home .initial-texts.col-4-12 h2,
app-home section.home .initial-texts h2 {
  color: #ffffff !important;
  text-align: center !important;
}

app-home section.home .initial-texts.col-4-12 p,
app-home section.home .initial-texts p {
  color: #ffffff !important;
  text-align: center !important;
}

/* ---------- Header: tipografia moderna e simples ---------- */
app-navbar header,
body:has(app-navbar) app-navbar header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 100 !important;
  background:
    radial-gradient(120% 90% at 0% 0%, rgba(183, 240, 201, 0.55), transparent 45%),
    radial-gradient(90% 80% at 100% 0%, rgba(12, 105, 55, 0.1), transparent 42%),
    linear-gradient(135deg, #f4fbf7 0%, #e7f6ee 45%, #d9f0e4 100%) !important;
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(12, 105, 55, 0.12) !important;
  box-shadow: 0 8px 28px rgba(8, 40, 24, 0.05);
}

/* Linha hiper fina no topo do header */
app-navbar header::before,
body:has(app-navbar) app-navbar header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  z-index: 20;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(6, 61, 34, 0.08) 0%,
    rgba(12, 105, 55, 0.42) 18%,
    rgba(26, 143, 76, 0.55) 50%,
    rgba(12, 105, 55, 0.42) 82%,
    rgba(6, 61, 34, 0.08) 100%
  );
}

/* Espaçador sob o header fixed (evita gap branco duplicado) */
app-navbar .topbar {
  background: transparent !important;
  position: relative !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

/* ---------- Idiomas: ícones circulares modernos ---------- */
#gt-mordadam-43217984,
#gt-mordadam-43217984-mobile,
app-navbar #gt-mordadam-43217984,
app-navbar #gt-mordadam-43217984-mobile {
  align-items: center !important;
}

@media (min-width: 1200px) {
  #gt-mordadam-43217984,
  app-navbar #gt-mordadam-43217984 {
    display: flex !important;
  }
  #gt-mordadam-43217984-mobile,
  app-navbar #gt-mordadam-43217984-mobile,
  app-navbar .mobile-info,
  app-navbar .mobile-menu {
    display: none !important;
  }
}

@media (max-width: 1199px) {
  #gt-mordadam-43217984,
  app-navbar #gt-mordadam-43217984,
  app-navbar .info {
    display: none !important;
  }
  #gt-mordadam-43217984-mobile,
  app-navbar #gt-mordadam-43217984-mobile {
    display: flex !important;
  }
}

#gt-mordadam-43217984 .gt_switcher-inline .gt_languages-inline,
#gt-mordadam-43217984-mobile .gt_switcher-inline .gt_languages-inline {
  gap: 8px !important;
}

#gt-mordadam-43217984 a.glink,
#gt-mordadam-43217984-mobile a.glink,
app-navbar #gt-mordadam-43217984 a.glink,
app-navbar #gt-mordadam-43217984-mobile a.glink {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  background: rgba(255, 255, 255, 0.75) !important;
  box-shadow:
    0 0 0 1.5px rgba(12, 105, 55, 0.14),
    0 4px 10px rgba(8, 40, 24, 0.08) !important;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease !important;
  opacity: 0.72;
  line-height: 0 !important;
}

#gt-mordadam-43217984 a.glink:hover,
#gt-mordadam-43217984-mobile a.glink:hover,
#gt-mordadam-43217984 a.glink.gt-current-lang,
#gt-mordadam-43217984-mobile a.glink.gt-current-lang {
  opacity: 1;
  transform: translateY(-1px) scale(1.06);
  box-shadow:
    0 0 0 2px rgba(12, 105, 55, 0.28),
    0 6px 14px rgba(8, 40, 24, 0.12) !important;
}

#gt-mordadam-43217984 a.glink img,
#gt-mordadam-43217984-mobile a.glink img,
app-navbar #gt-mordadam-43217984 a.glink img,
app-navbar #gt-mordadam-43217984-mobile a.glink img,
header #gt-mordadam-43217984 img,
header #gt-mordadam-43217984-mobile img {
  width: 32px !important;
  height: 32px !important;
  max-width: none !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  display: block !important;
}

#gt-mordadam-43217984 a.glink span,
#gt-mordadam-43217984-mobile a.glink span {
  display: none !important;
}

/* Header mobile: 1 jogo de bandeiras + hamburger alinhado (não flutuando) */
@media (max-width: 1199px) {
  app-navbar header,
  .cms-exact-nav header {
    min-height: 72px !important;
    height: 72px !important;
  }

  app-navbar .topbar,
  .cms-exact-nav .topbar {
    min-height: 72px !important;
    height: 72px !important;
  }

  app-navbar header .container,
  .cms-exact-nav header .container {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    padding: 0 12px !important;
    width: 100% !important;
    position: relative !important;
  }

  app-navbar .logo,
  .cms-exact-nav header .logo {
    flex: 0 0 auto !important;
    height: 44px !important;
    width: 132px !important;
    max-width: 42vw !important;
    margin: 0 !important;
  }

  app-navbar .head,
  .cms-exact-nav header .head {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    margin-left: 0 !important;
  }

  app-navbar .menu,
  .cms-exact-nav header .menu {
    display: none !important;
  }

  .cms-exact-nav header.open .menu {
    display: flex !important;
  }

  app-navbar .mobile-info,
  .cms-exact-nav header .mobile-info {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
  }

  app-navbar .mobile-info a,
  app-navbar .mobile-info div a {
    margin-top: 0 !important;
  }

  app-navbar .mobile-menu,
  .cms-exact-nav header .mobile-menu {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
    float: none !important;
    inset: auto !important;
    height: auto !important;
    width: auto !important;
    margin: 0 !important;
    margin-left: 2px !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
    z-index: 12 !important;
    text-align: center !important;
  }

  app-navbar .mobile-menu button,
  app-navbar .mobile-menu .mat-mdc-icon-button,
  .cms-exact-nav header .mobile-menu button {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
    inset: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #0f6235 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  app-navbar .mobile-menu .mat-mdc-button-persistent-ripple,
  app-navbar .mobile-menu .mat-mdc-button-ripple,
  app-navbar .mobile-menu .mdc-icon-button__ripple {
    display: none !important;
  }

  app-navbar .mobile-menu mat-icon,
  app-navbar .mobile-menu .material-icons,
  .cms-exact-nav header .mobile-menu .material-icons {
    position: static !important;
    transform: none !important;
    margin: 0 !important;
    font-size: 28px !important;
    line-height: 1 !important;
    width: 28px !important;
    height: 28px !important;
  }

  #gt-mordadam-43217984-mobile a.glink,
  #gt-mordadam-43217984-mobile a.glink img,
  app-navbar #gt-mordadam-43217984-mobile a.glink img,
  header #gt-mordadam-43217984-mobile img {
    width: 28px !important;
    height: 28px !important;
  }

  #gt-mordadam-43217984-mobile .gt_switcher-inline .gt_languages-inline {
    gap: 6px !important;
  }
}

@media (max-width: 640px) {
  app-navbar header,
  .cms-exact-nav header,
  app-navbar .topbar,
  .cms-exact-nav .topbar {
    min-height: 64px !important;
    height: 64px !important;
  }

  app-navbar .logo,
  .cms-exact-nav header .logo {
    height: 38px !important;
    width: 114px !important;
  }

  #gt-mordadam-43217984-mobile a.glink,
  #gt-mordadam-43217984-mobile a.glink img,
  app-navbar #gt-mordadam-43217984-mobile a.glink img,
  header #gt-mordadam-43217984-mobile img {
    width: 26px !important;
    height: 26px !important;
  }
}

app-navbar .navbar-item span,
app-navbar .dropdown-toggle,
app-navbar .menu a,
app-navbar .menu button {
  font-size: 1.125rem !important;
}

app-navbar .navbar-item,
app-navbar .navbar-item span,
app-navbar .navbar-item a,
app-navbar .dropdown-toggle,
app-navbar .menu a,
app-navbar .menu button,
app-navbar .info a,
app-navbar .mobile-info a,
app-dropdown-menu-products .dropdown-toggle {
  font-family: var(--font, "Helvetica Neue", Helvetica, Arial, sans-serif) !important;
  font-weight: 600 !important;
  letter-spacing: -0.015em !important;
  text-decoration: none !important;
  color: #0c6937 !important;
}

app-navbar .navbar-item:hover span,
app-navbar .navbar-item:hover > a,
app-navbar .dropdown-toggle:hover,
app-navbar .menu > div > a:hover,
app-navbar .menu a:hover:not(.categoria-link):not(.subcategoria-link),
app-navbar .menu button:hover {
  color: #063d22 !important;
}

/* Produtos: nunca escurecer links do dropdown no hover do header */
app-navbar .navbar-item:hover app-dropdown-menu-products a,
app-navbar .navbar-item:hover app-dropdown-menu-products .categoria-link,
app-navbar .navbar-item:hover app-dropdown-menu-products .subcategoria-link,
app-navbar app-dropdown-menu-products .dropdown-menu,
app-navbar app-dropdown-menu-products .dropdown-menu *,
app-dropdown-menu-products .dropdown-menu,
app-dropdown-menu-products .dropdown-menu *:not(img) {
  color: #ffffff !important;
}

app-navbar app-dropdown-menu-products .dropdown-menu a:hover,
app-navbar app-dropdown-menu-products .dropdown-menu a:focus,
app-navbar .navbar-item:hover app-dropdown-menu-products .dropdown-menu a,
app-navbar .navbar-item:hover app-dropdown-menu-products .dropdown-menu a:hover {
  color: #ffffff !important;
}

app-navbar .navbar-item.active span,
app-navbar .menu .active {
  font-weight: 600 !important;
  text-decoration: none !important;
  color: #063d22 !important;
}

@media (min-width: 1200px) {
  app-navbar .info {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    gap: 0 !important;
  }
}

app-navbar .info a,
app-navbar .mobile-info a {
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  opacity: 1 !important;
  color: #0c6937 !important;
  text-decoration: none !important;
}

/* Virtus: tipografia mais forte */
app-navbar .info #virtus-link,
app-navbar #virtus-link {
  font-weight: 700 !important;
  font-size: 0.88rem !important;
  letter-spacing: -0.015em !important;
}

/* Separadores verticais entre Virtus, Intranet e telefone */
app-navbar .info > div:nth-child(1)::after,
app-navbar .info > div:nth-child(2)::after {
  content: "";
  display: block;
  width: 1px;
  height: 0.9em;
  margin: 0 0.7rem;
  background: #0c6937;
  opacity: 0.4;
  align-self: center;
  flex-shrink: 0;
  pointer-events: none;
}

app-navbar .info > div:nth-child(1),
app-navbar .info > div:nth-child(2),
app-navbar .info > div:nth-child(3) {
  display: inline-flex !important;
  align-items: center !important;
}

app-navbar .info > div:nth-child(1) > *:not(.lang),
app-navbar .info > div:nth-child(2) > *:not(.lang),
app-navbar .info > div:nth-child(3) > *:not(.lang) {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ---------- Dropdown Material (Sistemas / Segmentos) = mesmo visual de Produtos ---------- */
.cdk-overlay-container .mat-mdc-menu-panel,
.cdk-overlay-pane .mat-mdc-menu-panel,
.navbar-menu.mat-mdc-menu-panel,
.mat-mdc-menu-panel.navbar-menu,
.mat-mdc-menu-panel.sub-menu,
.navbar-menu.sub-menu {
  background: linear-gradient(165deg, #0f7a42 0%, #0c6937 42%, #063d22 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 14px !important;
  box-shadow:
    0 18px 48px rgba(4, 30, 18, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
  padding: 8px !important;
  overflow: hidden !important;
  min-width: 260px !important;
}

.cdk-overlay-container .mat-mdc-menu-panel .mat-mdc-menu-content,
.navbar-menu .mat-mdc-menu-content,
.mat-mdc-menu-panel .mat-mdc-menu-content {
  background: transparent !important;
  padding: 4px !important;
}

.cdk-overlay-container .mat-mdc-menu-panel .mat-mdc-menu-item,
.cdk-overlay-container .mat-mdc-menu-panel a.mat-mdc-menu-item,
.cdk-overlay-container .mat-mdc-menu-panel button.mat-mdc-menu-item,
.navbar-menu .mat-mdc-menu-item,
.navbar-menu a.mat-mdc-menu-item,
.navbar-menu button.mat-mdc-menu-item,
.mat-mdc-menu-panel .mat-mdc-menu-item {
  font-family: var(--font, "Helvetica Neue", Helvetica, Arial, sans-serif) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-radius: 10px !important;
  min-height: 44px !important;
  margin: 2px 0 !important;
  background: transparent !important;
  transition:
    background 0.22s ease,
    transform 0.22s ease,
    box-shadow 0.22s ease !important;
}

.cdk-overlay-container .mat-mdc-menu-panel .mat-mdc-menu-item *,
.cdk-overlay-container .mat-mdc-menu-panel .mdc-list-item__primary-text,
.navbar-menu .mat-mdc-menu-item *,
.navbar-menu .mat-mdc-menu-item .mdc-list-item__primary-text,
.navbar-menu .mat-mdc-menu-item span,
.mat-mdc-menu-panel .mdc-list-item__primary-text {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-family: inherit !important;
  font-weight: 700 !important;
}

.cdk-overlay-container .mat-mdc-menu-panel .mat-mdc-menu-item:hover,
.cdk-overlay-container .mat-mdc-menu-panel .mat-mdc-menu-item:focus,
.cdk-overlay-container .mat-mdc-menu-panel .mat-mdc-menu-item.mat-mdc-menu-item-highlighted,
.cdk-overlay-container .mat-mdc-menu-panel .mat-mdc-menu-item.cdk-program-focused,
.navbar-menu .mat-mdc-menu-item:hover,
.navbar-menu .mat-mdc-menu-item:focus,
.navbar-menu .mat-mdc-menu-item.mat-mdc-menu-item-highlighted,
.mat-mdc-menu-panel .mat-mdc-menu-item:hover,
.mat-mdc-menu-panel .mat-mdc-menu-item.mat-mdc-menu-item-highlighted {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.08)) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  transform: translateX(3px);
  box-shadow: inset 3px 0 0 #b7f0c9 !important;
  text-decoration: none !important;
}

.cdk-overlay-container .mat-mdc-menu-panel .mat-mdc-menu-item:hover *,
.cdk-overlay-container .mat-mdc-menu-panel .mat-mdc-menu-item.mat-mdc-menu-item-highlighted *,
.cdk-overlay-container .mat-mdc-menu-panel .mat-mdc-menu-item:hover .mdc-list-item__primary-text,
.navbar-menu .mat-mdc-menu-item:hover *,
.navbar-menu .mat-mdc-menu-item:hover .mdc-list-item__primary-text,
.navbar-menu .mat-mdc-menu-item.mat-mdc-menu-item-highlighted .mdc-list-item__primary-text {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* remove ripple cinza padrão (NÃO usar .mat-mdc-focus-indicator no item —
   o próprio botão do menu tem essa classe e sumiria o dropdown) */
.navbar-menu .mat-ripple-element,
.navbar-menu .mat-mdc-menu-ripple,
.cdk-overlay-container .mat-mdc-menu-panel .mat-ripple-element,
.cdk-overlay-container .mat-mdc-menu-panel .mat-mdc-menu-ripple {
  display: none !important;
  opacity: 0 !important;
}

.cdk-overlay-container .mat-mdc-menu-panel .mat-mdc-menu-item,
.navbar-menu .mat-mdc-menu-item,
.mat-mdc-menu-panel.navbar-menu .mat-mdc-menu-item {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* ---------- Dropdown Produtos (componente próprio) ---------- */
app-dropdown-menu-products .dropdown-toggle {
  font-size: 1.125rem !important;
  font-weight: 600 !important;
  color: #0c6937 !important;
}

app-dropdown-menu-products .dropdown-toggle mat-icon,
app-dropdown-menu-products .dropdown-toggle .arrow,
app-dropdown-menu-products .dropdown-toggle .mat-icon {
  color: #0c6937 !important;
  -webkit-text-fill-color: #0c6937 !important;
}

app-dropdown-menu-products .dropdown-menu {
  background: linear-gradient(165deg, #0f7a42 0%, #0c6937 42%, #063d22 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 14px !important;
  box-shadow:
    0 18px 48px rgba(4, 30, 18, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
  padding: 10px 8px !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  z-index: 30 !important;
}

app-dropdown-menu-products .dropdown-menu li {
  background: transparent !important;
}

app-dropdown-menu-products .dropdown-menu li ul.subcategorias-list,
app-dropdown-menu-products .subcategorias-list,
app-dropdown-menu-products .categoria-item.has-subcategorias .subcategorias-list,
app-dropdown-menu-products .categoria-item.expanded .subcategorias-list {
  background: linear-gradient(165deg, #0f7a42 0%, #0c6937 42%, #052e1a 100%) !important;
  background-color: #0c6937 !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 12px !important;
  box-shadow:
    0 16px 40px rgba(4, 30, 18, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
  padding: 8px !important;
  z-index: 40 !important;
  isolation: isolate !important;
  opacity: 1 !important;
}

app-dropdown-menu-products .dropdown-menu,
app-dropdown-menu-products .dropdown-menu li,
app-dropdown-menu-products .dropdown-menu a,
app-dropdown-menu-products .dropdown-menu span,
app-dropdown-menu-products .dropdown-menu mat-icon,
app-dropdown-menu-products .categoria-item,
app-dropdown-menu-products .categoria-header,
app-dropdown-menu-products .categoria-link,
app-dropdown-menu-products .subcategoria-link,
app-dropdown-menu-products .subcategoria-indicator,
app-dropdown-menu-products .subcategorias-list,
app-dropdown-menu-products .subcategorias-list a {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

app-dropdown-menu-products .dropdown-menu a:hover,
app-dropdown-menu-products .dropdown-menu a:focus,
app-dropdown-menu-products .dropdown-menu a:active,
app-dropdown-menu-products .dropdown-menu li:hover > a,
app-dropdown-menu-products .dropdown-menu li:hover .categoria-link,
app-dropdown-menu-products .categoria-item:hover,
app-dropdown-menu-products .categoria-item:hover a,
app-dropdown-menu-products .categoria-item:hover .categoria-link,
app-dropdown-menu-products .categoria-item:hover span,
app-dropdown-menu-products .categoria-item:hover mat-icon,
app-dropdown-menu-products .categoria-header:hover,
app-dropdown-menu-products .categoria-header:hover a,
app-dropdown-menu-products .categoria-link:hover,
app-dropdown-menu-products .subcategoria-link:hover,
app-dropdown-menu-products .subcategorias-list a:hover,
app-dropdown-menu-products .categoria-item.has-subcategorias:hover .categoria-header,
app-dropdown-menu-products .categoria-item.has-subcategorias:hover .categoria-link {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-decoration: none !important;
}

app-dropdown-menu-products .dropdown-menu a:hover,
app-dropdown-menu-products .categoria-link:hover,
app-dropdown-menu-products .subcategoria-link:hover {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.08)) !important;
  transform: translateX(3px);
  box-shadow: inset 3px 0 0 #b7f0c9;
}

app-dropdown-menu-products .categoria-item.has-subcategorias:hover .categoria-header {
  background: rgba(255, 255, 255, 0.1) !important;
  border-radius: 8px !important;
}

app-dropdown-menu-products .subcategoria-indicator,
app-dropdown-menu-products .subcategoria-indicator .arrow-icon,
app-dropdown-menu-products .subcategoria-toggle,
app-dropdown-menu-products .subcategoria-toggle .arrow-icon,
app-dropdown-menu-products .dropdown-menu mat-icon {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

app-dropdown-menu-products .subcategorias-list {
  /* fundo sólido definido acima (evita transparência sobre o conteúdo) */
  position: absolute !important;
}

app-dropdown-menu-products .subcategorias-list .subcategoria-link,
app-dropdown-menu-products .subcategorias-list a {
  color: #ffffff !important;
  font-weight: 700 !important;
  border-left: 2px solid rgba(255, 255, 255, 0.28) !important;
  background: transparent !important;
}

app-dropdown-menu-products .subcategorias-list .subcategoria-link:hover,
app-dropdown-menu-products .subcategorias-list .subcategoria-link:focus,
app-dropdown-menu-products .subcategorias-list a:hover {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.16) !important;
  border-left-color: #b7f0c9 !important;
}

/* ---------- Banner: só refinamento ---------- */
app-home .banner-carousel {
  overflow: hidden;
}

app-home .banner-carousel .carousel-nav {
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

app-home .banner-carousel .carousel-dots .dot.active {
  background: #fff !important;
  border-color: #fff !important;
}

/* Carousel CMS da home (substitui o Angular sem quebrar o layout) */
.cms-home-banner {
  position: relative !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  overflow: hidden !important;
  background: #0a3d24 !important;
}

.cms-home-banner__viewport {
  position: relative !important;
  width: 100% !important;
}

.cms-home-banner__slide {
  display: none !important;
  width: 100% !important;
}

.cms-home-banner__slide.is-active {
  display: block !important;
}

.cms-home-banner__link {
  display: block !important;
  width: 100% !important;
  line-height: 0 !important;
}

.cms-home-banner__img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: cover !important;
}

.cms-home-banner__nav {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 5 !important;
  width: 44px !important;
  height: 44px !important;
  border: none !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: #063d22 !important;
  font-size: 1.1rem !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cms-home-banner__nav--prev {
  left: 1rem !important;
}

.cms-home-banner__nav--next {
  right: 1rem !important;
}

.cms-home-banner__nav:hover {
  background: #ffffff !important;
}

.cms-home-banner__dots {
  position: absolute !important;
  left: 50% !important;
  bottom: 1rem !important;
  transform: translateX(-50%) !important;
  z-index: 5 !important;
  display: flex !important;
  gap: 0.45rem !important;
  line-height: 0 !important;
}

.cms-home-banner__dot {
  width: 10px !important;
  height: 10px !important;
  padding: 0 !important;
  border: 2px solid rgba(255, 255, 255, 0.85) !important;
  border-radius: 50% !important;
  background: transparent !important;
  cursor: pointer !important;
}

.cms-home-banner__dot.is-active {
  background: #ffffff !important;
  border-color: #ffffff !important;
}

@media (max-width: 640px) {
  .cms-home-banner__nav {
    width: 36px !important;
    height: 36px !important;
  }

  .cms-home-banner__nav--prev {
    left: 0.5rem !important;
  }

  .cms-home-banner__nav--next {
    right: 0.5rem !important;
  }
}

/* ---------- Stats: cards sem mudar o grid/flex original ---------- */
app-home section.home > .container.text-center {
  /* NÃO forçar grid — mantém flex + col-4-12 do site */
  gap: 1rem;
  row-gap: 1rem;
  margin: 1.5rem auto 2.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  box-sizing: border-box;
}

app-home .initial-texts.col-4-12 {
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 22px;
  box-shadow:
    0 18px 40px rgba(8, 40, 24, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.28);
  padding: 1.7rem 1.4rem 1.55rem;
  margin-top: 0 !important;
  transition: box-shadow 0.3s ease, transform 0.3s ease, filter 0.3s ease;
  color: #ffffff !important;
  text-align: center !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

app-home .initial-texts.col-4-12::before {
  content: "";
  position: absolute;
  inset: -40% -20% auto auto;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.28), transparent 68%);
  pointer-events: none;
  z-index: 0;
}

app-home .initial-texts.col-4-12::after {
  content: "";
  position: absolute;
  inset: auto auto -30% -20%;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 0, 0, 0.12), transparent 70%);
  pointer-events: none;
  z-index: 0;
}

app-home .initial-texts.col-4-12 > * {
  position: relative;
  z-index: 1;
}

/* Gradientes distintos por card */
app-home .initial-texts.col-4-12:nth-child(1) {
  background:
    radial-gradient(120% 90% at 0% 0%, rgba(183, 240, 201, 0.45), transparent 45%),
    linear-gradient(145deg, #2bb86a 0%, #0f7a40 42%, #064528 100%);
}

app-home .initial-texts.col-4-12:nth-child(2) {
  background:
    radial-gradient(100% 80% at 100% 0%, rgba(255, 255, 255, 0.22), transparent 42%),
    linear-gradient(155deg, #1fa35c 0%, #0c6937 48%, #052e1a 100%);
}

app-home .initial-texts.col-4-12:nth-child(3) {
  background:
    radial-gradient(90% 70% at 50% 120%, rgba(120, 220, 160, 0.28), transparent 50%),
    linear-gradient(160deg, #3cc97a 0%, #128a48 40%, #0a4d2a 78%, #031f12 100%);
}

app-home .initial-texts.col-4-12:hover {
  transform: translateY(-5px);
  filter: brightness(1.04);
  box-shadow:
    0 24px 48px rgba(8, 40, 24, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

app-home .initial-texts h2 {
  font-family: var(--ex-font-display, var(--font-h1), "Neue Haas Grotesk Display", "Helvetica Neue", Arial, sans-serif) !important;
  font-size: clamp(1.55rem, 2.1vw, 2.05rem) !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 0 0.45rem !important;
  letter-spacing: -0.03em;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.12);
  text-align: center !important;
  width: 100%;
}

app-home .initial-texts p {
  font-family: var(--ex-font) !important;
  font-size: 0.98rem !important;
  font-weight: 500 !important;
  color: #ffffff !important;
  margin: 0 auto !important;
  max-width: 22ch;
  line-height: 1.45;
  text-align: center !important;
  width: 100%;
}

@media (min-width: 1200px) {
  app-home .initial-texts.col-4-12 {
    width: calc(33.333% - 0.75rem) !important;
  }
}

@media (max-width: 1199px) {
  app-home .initial-texts p {
    max-width: none;
  }
}

/* ---------- Mercado / segmentos: NÃO mexer em .buttons nem no grid interno ---------- */
app-home app-seguimentos-slider {
  display: block;
  width: 100%;
  margin-bottom: 1.5rem;
}

app-home app-seguimentos-slider .slider {
  /* só tipografia e sombra leve — layout original intacto */
  box-shadow: var(--ex-shadow);
}

app-home app-seguimentos-slider .title h2,
app-home app-seguimentos-slider .slider .title h2,
app-home app-seguimentos-slider .title h2 strong,
app-home app-seguimentos-slider .slider .title h2 strong {
  font-family: var(--ex-font-display, var(--font-h1), "Helvetica Neue", Arial, sans-serif) !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em;
  color: #ffffff !important;
}

app-home app-seguimentos-slider .title {
  color: #ffffff !important;
}

app-home app-seguimentos-slider .subtitle h3,
app-home app-seguimentos-slider .content .subtitle h3 {
  font-family: var(--ex-font-display, var(--font-h1), "Helvetica Neue", Arial, sans-serif) !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
  color: #ffffff !important;
}

app-home app-seguimentos-slider .content-text p,
app-home app-seguimentos-slider .content .content-text p,
app-home app-seguimentos-slider .slider .content-text p {
  font-family: var(--ex-font) !important;
  font-weight: 400 !important;
  color: #ffffff !important;
}

/* Rótulos dos segmentos (Eólico, Mineração, etc.) */
app-home app-seguimentos-slider .buttons button,
app-home app-seguimentos-slider .buttons button p,
app-home app-seguimentos-slider .slider .buttons button,
app-home app-seguimentos-slider .slider .buttons button p {
  color: #ffffff !important;
}

/* Selecionado: mantém fundo verde e texto branco (legível) */
app-home app-seguimentos-slider .buttons button.current,
app-home app-seguimentos-slider .buttons .current,
app-home app-seguimentos-slider .slider .buttons button.current,
app-home app-seguimentos-slider .slider .buttons .current {
  background-color: #0c6937 !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
}

app-home app-seguimentos-slider .buttons button.current p,
app-home app-seguimentos-slider .buttons .current p,
app-home app-seguimentos-slider .slider .buttons button.current p,
app-home app-seguimentos-slider .slider .buttons .current p {
  color: #ffffff !important;
}

/* Ícone do card selecionado: verde claro (não o SVG escuro sobre fundo verde) */
app-home app-seguimentos-slider .buttons button.current img.green,
app-home app-seguimentos-slider .slider .buttons button.current img.green {
  display: none !important;
}

app-home app-seguimentos-slider .buttons button.current img.white,
app-home app-seguimentos-slider .slider .buttons button.current img.white {
  display: block !important;
  opacity: 1 !important;
  /* branco → mint claro para leitura no fundo verde */
  filter: brightness(0) saturate(100%) invert(92%) sepia(12%) saturate(700%) hue-rotate(70deg) brightness(103%) contrast(96%) !important;
}

/* ---------- CTAs: Confira nossos… / LubriExpert / setor ---------- */
app-home a.btn,
app-home .btn,
app-home a.btn-industria,
app-home .btn-industria,
app-home .gray-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.35rem;
  font-family: var(--ex-font, "Helvetica Neue", Helvetica, Arial, sans-serif) !important;
  font-weight: 600 !important;
  font-size: 0.92rem !important;
  letter-spacing: 0.01em !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  text-underline-offset: unset !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #1a8f4c 0%, #0c6937 48%, #063d22 100%) !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 0.8rem 1.35rem !important;
  box-shadow: 0 10px 24px rgba(12, 105, 55, 0.28) !important;
  transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease !important;
  width: fit-content !important;
  max-width: 100% !important;
  position: static !important;
  left: auto !important;
  bottom: auto !important;
  text-align: center !important;
}

app-home a.btn:hover,
app-home .btn:hover,
app-home a.btn-industria:hover,
app-home .btn-industria:hover,
app-home .gray-btn:hover,
app-home a.btn:focus-visible,
app-home .btn-industria:focus-visible {
  text-decoration: none !important;
  color: #ffffff !important;
  filter: brightness(1.06);
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(6, 61, 34, 0.34) !important;
}

app-home a.btn:active,
app-home .btn-industria:active {
  transform: translateY(0);
  filter: brightness(0.98);
}

/* ---------- Trio: Novidades + Engenharia + Treinamentos ---------- */
app-home .middle-trio {
  gap: 1rem;
  row-gap: 1.25rem;
  margin: 2rem auto 1.25rem !important;
  padding-left: 1rem;
  padding-right: 1rem;
  box-sizing: border-box;
  align-items: stretch;
}

app-home .middle-trio .col-4-10,
app-home .middle-trio .col-3-10 {
  box-sizing: border-box;
  background: var(--ex-card);
  border: 1px solid var(--ex-line);
  border-radius: var(--ex-radius);
  box-shadow: var(--ex-shadow);
  padding: 1.75rem 1.4rem 4.5rem;
  min-height: 320px;
}

@media (min-width: 1200px) {
  app-home .middle-trio .col-4-10 {
    width: calc(40% - 0.7rem) !important;
  }
  app-home .middle-trio .col-3-10 {
    width: calc(30% - 0.7rem) !important;
  }
}

app-home .middle-trio h2,
app-home .middle-trio h3,
app-home .middle-trio h3.black,
app-home .middle-trio h3.green {
  font-family: var(--ex-font) !important;
  font-weight: 700 !important;
  font-size: 1.35rem !important;
  letter-spacing: -0.02em;
  line-height: 1.3 !important;
  color: var(--ex-ink) !important;
}

/* Card de novidades (no lugar antigo da citação) */
app-home .middle-trio .ex-novidades-card h2 {
  font-size: clamp(1.35rem, 2vw, 1.75rem) !important;
  color: var(--ex-green) !important;
  margin: 0 0 0.75rem !important;
}

app-home .middle-trio .ex-novidades-card p {
  font-size: 0.98rem !important;
  margin: 0 0 1rem !important;
}

app-home .middle-trio .ex-novidades-card a.btn,
app-home .middle-trio .ex-novidades-card .btn {
  margin-top: 0.5rem;
}

app-home .middle-trio p {
  font-family: var(--ex-font) !important;
  font-size: 0.95rem !important;
  font-weight: 400 !important;
  color: var(--ex-muted) !important;
}

app-home .middle-trio hr {
  height: 3px !important;
  background: linear-gradient(90deg, var(--ex-green), transparent) !important;
  border: none !important;
  margin: 0.85rem 0 1rem !important;
}

app-home .middle-trio a.btn,
app-home .middle-trio .btn {
  margin-top: 1rem;
}

/* Citação do CEO abaixo dos cards */
/* Citação do CEO — centralizada, sem card */
app-home .ex-ceo-quote {
  max-width: 720px;
  width: 100%;
  margin: 0.5rem auto 2.75rem !important;
  padding: 1.25rem 1.5rem !important;
  box-sizing: border-box;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: center !important;
  display: flex;
  flex-direction: column;
  align-items: center;
}

app-home .ex-ceo-quote h3,
app-home .ex-ceo-quote h3.green {
  font-family: var(--ex-font-display, var(--font-h1), "Helvetica Neue", Arial, sans-serif) !important;
  font-size: clamp(1.2rem, 2.2vw, 1.55rem) !important;
  font-weight: 500 !important;
  font-style: normal !important;
  line-height: 1.5 !important;
  color: var(--ex-green) !important;
  margin: 0 0 1.1rem !important;
  position: static !important;
  text-align: center !important;
  max-width: 34em;
}

app-home .ex-ceo-quote h3 span {
  position: static !important;
  font-size: 1.35rem !important;
  opacity: 0.4;
  left: auto !important;
  margin: 0 !important;
  display: inline !important;
}

app-home .ex-ceo-quote h3 > *:first-child,
app-home .ex-ceo-quote h3 > *:last-child {
  margin-top: 0 !important;
  left: auto !important;
  position: static !important;
}

app-home .ex-ceo-quote h3 .desktop,
app-home .ex-ceo-quote h3 br.desktop {
  display: none !important;
}

@media (min-width: 1200px) {
  app-home .ex-ceo-quote h3 .desktop,
  app-home .ex-ceo-quote h3 br.desktop {
    display: none !important;
  }
}

app-home .ex-ceo-quote p {
  font-family: var(--ex-font) !important;
  margin: 0.1rem 0 !important;
  color: var(--ex-ink) !important;
  font-size: 0.98rem !important;
  text-align: center !important;
  width: 100%;
}

app-home .ex-ceo-quote p strong {
  color: var(--ex-ink) !important;
  font-weight: 700 !important;
}

app-home .ex-news-slot-empty,
app-home .ex-news-section-empty,
app-home .round-bkg.ex-news-section-empty,
app-home .container.news:not(:has(.col-half:not(.ex-news-slot-empty):not([hidden]))) {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  overflow: hidden !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Não estilizar colunas de novidades vazias como card */
app-home .container.news .col-half:empty,
app-home .container.news .col-half.ex-news-slot-empty {
  display: none !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-height: 0 !important;
}

/* ---------- Novidades / formulário ---------- */
app-home .round-bkg {
  padding: 2rem 0 !important;
}

app-home .container.news {
  gap: 1rem;
  row-gap: 1.25rem;
}

app-home .container.news .col-half {
  box-sizing: border-box;
  background: var(--ex-card);
  border: 1px solid var(--ex-line);
  border-radius: var(--ex-radius);
  box-shadow: var(--ex-shadow);
  padding: 1.75rem 1.4rem 4.5rem;
}

app-home .container.news h2 {
  font-family: var(--ex-font) !important;
  font-weight: 700 !important;
  font-size: clamp(1.5rem, 2.2vw, 2rem) !important;
  letter-spacing: -0.02em;
}

app-home .container.news p,
app-home .container.news a,
app-home .container.news label,
app-home .container.news input,
app-home .container.news textarea,
app-home .container.news button {
  font-family: var(--ex-font) !important;
}

app-home .container.news .btn,
app-home .container.news .gray-btn {
  margin-top: 1rem;
}

/* ---------- Formulário Fale conosco — UI startup ---------- */
app-contact-form,
app-contact-form .form {
  width: 100% !important;
}

app-contact-form .form {
  background:
    radial-gradient(90% 70% at 10% 0%, rgba(183, 240, 201, 0.35), transparent 50%),
    radial-gradient(70% 60% at 100% 20%, rgba(12, 105, 55, 0.1), transparent 55%),
    linear-gradient(180deg, #f7fbf8 0%, #eef6f1 45%, #e8f3ec 100%) !important;
  border-radius: 28px 28px 0 0 !important;
  border: 1px solid rgba(12, 105, 55, 0.12) !important;
  border-bottom: none !important;
  box-shadow: 0 -8px 40px rgba(8, 40, 24, 0.06) !important;
  margin-top: 1.5rem !important;
  padding: 3rem 1.25rem 3.5rem !important;
  min-height: auto !important;
  display: flex !important;
  justify-content: center !important;
}

app-contact-form .form .container,
app-contact-form .form .col-full {
  width: 100% !important;
  max-width: 920px !important;
  margin: 0 auto !important;
  display: block !important;
}

app-contact-form .form h3 {
  font-family: var(--font-h1, "Neue Haas Grotesk Display", "Helvetica Neue", Arial, sans-serif) !important;
  font-size: clamp(1.75rem, 2.6vw, 2.35rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  color: #063d22 !important;
  margin: 0 0 0.35rem !important;
  text-align: left !important;
}

app-contact-form .form hr {
  background: linear-gradient(90deg, #0c6937, transparent) !important;
  border: 0 !important;
  height: 3px !important;
  max-width: 72px !important;
  margin: 0.5rem 0 1.75rem !important;
  border-radius: 999px !important;
}

app-contact-form .form form {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1rem 1.25rem !important;
  align-items: stretch !important;
  width: 100% !important;
}

app-contact-form .form form .col-half {
  width: 100% !important;
  max-width: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.85rem !important;
  margin: 0 !important;
}

/* mensagem ocupa a coluna direita inteira */
app-contact-form .form form .col-half:nth-child(2) {
  grid-row: 1 / span 1;
}

app-contact-form .form form .col-half:nth-child(3),
app-contact-form .form form button[type="submit"] {
  grid-column: 1 / -1;
}

app-contact-form .form input[type="text"],
app-contact-form .form input[type="email"],
app-contact-form .form textarea {
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0.95rem 1.1rem !important;
  font-family: var(--font, "Helvetica Neue", Helvetica, Arial, sans-serif) !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  color: #14231b !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(12, 105, 55, 0.14) !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 2px rgba(8, 40, 24, 0.04) !important;
  outline: none !important;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease,
    transform 0.2s ease !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

app-contact-form .form textarea {
  min-height: 220px !important;
  height: 100% !important;
  resize: vertical !important;
  line-height: 1.5 !important;
}

app-contact-form .form input::placeholder,
app-contact-form .form textarea::placeholder {
  color: #7a8b82 !important;
  font-weight: 450 !important;
  opacity: 1 !important;
}

app-contact-form .form input:hover,
app-contact-form .form textarea:hover {
  border-color: rgba(12, 105, 55, 0.28) !important;
  background: #ffffff !important;
}

app-contact-form .form input:focus,
app-contact-form .form textarea:focus {
  border-color: #0c6937 !important;
  background: #ffffff !important;
  box-shadow:
    0 0 0 4px rgba(12, 105, 55, 0.14),
    0 8px 24px rgba(12, 105, 55, 0.08) !important;
  transform: translateY(-1px);
}

app-contact-form .form input.ng-invalid.ng-touched,
app-contact-form .form textarea.ng-invalid.ng-touched {
  border-color: #c45c5c !important;
  box-shadow: 0 0 0 4px rgba(196, 92, 92, 0.12) !important;
}

app-contact-form .form label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
  color: #3d4f44 !important;
  font-family: var(--font, "Helvetica Neue", Helvetica, Arial, sans-serif) !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  cursor: pointer !important;
  user-select: none !important;
  padding: 0.35rem 0 !important;
}

app-contact-form .form input[type="checkbox"] {
  width: 1.15rem !important;
  height: 1.15rem !important;
  margin: 0 !important;
  accent-color: #0c6937 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}

app-contact-form .form button[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 220px !important;
  max-width: 100% !important;
  height: auto !important;
  margin-top: 0.35rem !important;
  padding: 0.95rem 1.6rem !important;
  font-family: var(--font, "Helvetica Neue", Helvetica, Arial, sans-serif) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #1a8f4c 0%, #0c6937 48%, #063d22 100%) !important;
  border: none !important;
  border-radius: 999px !important;
  box-shadow: 0 12px 28px rgba(12, 105, 55, 0.28) !important;
  cursor: pointer !important;
  transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease !important;
}

app-contact-form .form button[type="submit"]:hover {
  color: #ffffff !important;
  background: linear-gradient(135deg, #1a8f4c 0%, #0c6937 48%, #063d22 100%) !important;
  filter: brightness(1.06);
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(6, 61, 34, 0.34) !important;
}

app-contact-form .form button[type="submit"]:active {
  transform: translateY(0);
  filter: brightness(0.98);
}

@media (max-width: 899px) {
  app-contact-form .form {
    border-radius: 22px 22px 0 0 !important;
    padding: 2.25rem 1rem 2.75rem !important;
  }

  app-contact-form .form form {
    grid-template-columns: 1fr !important;
  }

  app-contact-form .form form .col-half:nth-child(2) {
    grid-row: auto !important;
  }

  app-contact-form .form textarea {
    min-height: 160px !important;
  }

  app-contact-form .form button[type="submit"] {
    width: 100% !important;
  }
}

/* Footer — tipografia branca */
body:has(app-footer) app-footer,
app-footer {
  font-family: var(--font, "Helvetica Neue", Helvetica, Arial, sans-serif) !important;
  -webkit-font-smoothing: antialiased;
}

app-footer footer {
  background: linear-gradient(180deg, #0c6937 0%, #063d22 55%, #042816 100%) !important;
  color: #ffffff !important;
}

app-footer footer,
app-footer .container,
app-footer * {
  color: #ffffff !important;
}

app-footer footer,
app-footer .container {
  font-family: inherit !important;
}

app-footer h4 {
  font-family: var(--font-h1, "Neue Haas Grotesk Display", "Helvetica Neue", Arial, sans-serif) !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  line-height: 1.35 !important;
  color: #ffffff !important;
  margin: 0 0 0.65rem !important;
  text-align: left !important;
  width: 100% !important;
}

app-footer a {
  font-family: var(--font, "Helvetica Neue", Helvetica, Arial, sans-serif) !important;
  font-weight: 500 !important;
  font-size: 0.9rem !important;
  letter-spacing: -0.01em !important;
  line-height: 1.45 !important;
  text-decoration: none !important;
  color: #ffffff !important;
  transition: color 0.2s ease, opacity 0.2s ease;
  display: block !important;
  text-align: left !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 0 !important;
}

app-footer a:hover {
  color: #b7f0c9 !important;
  text-decoration: none !important;
  opacity: 1;
}

app-footer p,
app-footer .recaptcha-notice,
app-footer .recaptcha-notice a {
  font-family: var(--font, "Helvetica Neue", Helvetica, Arial, sans-serif) !important;
  font-size: 0.78rem !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.01em !important;
  color: rgba(255, 255, 255, 0.88) !important;
}

/* Aviso reCAPTCHA: texto e links lado a lado, centralizados */
app-footer .recaptcha-notice,
app-footer p.recaptcha-notice {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 1rem auto 0 !important;
  padding: 0 1rem !important;
  text-align: center !important;
  white-space: normal !important;
}

app-footer .recaptcha-notice a,
app-footer p.recaptcha-notice a {
  display: inline !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: inherit !important;
  font-size: inherit !important;
  font-weight: 600 !important;
  color: #b7f0c9 !important;
  white-space: nowrap !important;
}

app-footer .recaptcha-notice a:hover,
app-footer p.recaptcha-notice a:hover {
  color: #ffffff !important;
}

app-footer hr {
  border: none !important;
  height: 2px !important;
  width: 100% !important;
  max-width: 100% !important;
  background: rgba(255, 255, 255, 0.35) !important;
  opacity: 1 !important;
  margin: 0 0 0.9rem !important;
  display: block !important;
  align-self: stretch !important;
}

/* Colunas do footer: título, linha e links alinhados à esquerda */
app-footer .left-footer,
app-footer .center-footer,
app-footer .right-footer {
  font-family: inherit !important;
  color: #ffffff !important;
  text-align: left !important;
  align-items: flex-start !important;
  align-content: flex-start !important;
}

@media (min-width: 1200px) {
  app-footer .left-footer,
  app-footer .right-footer {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
  }

  app-footer .center-footer {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

app-footer .bottom-footer {
  font-family: inherit !important;
  color: #ffffff !important;
  text-align: center !important;
}

/* Links empilhados em coluna (remove o efeito torto dos <br>) */
app-footer .left-footer > div,
app-footer .right-footer > div,
app-footer .center-footer {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0.4rem !important;
}

app-footer .left-footer > h4,
app-footer .right-footer > h4,
app-footer .center-footer > h4,
app-footer .left-footer > hr,
app-footer .right-footer > hr,
app-footer .center-footer > hr {
  flex: 0 0 auto !important;
  width: 100% !important;
}

app-footer .left-footer br,
app-footer .center-footer br,
app-footer .right-footer br {
  display: none !important;
}

/* Ícones sociais do rodapé continuam em linha */
app-footer .bottom-footer {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0.5rem 1.25rem !important;
}

app-footer .bottom-footer a {
  display: inline-flex !important;
  width: auto !important;
}

/* Mobile: cards empilham com o breakpoint nativo do tema */
@media (max-width: 1199px) {
  app-home .initial-texts.col-4-12,
  app-home .middle-trio .col-4-10,
  app-home .middle-trio .col-3-10,
  app-home .container.news .col-half {
    width: 100% !important;
    padding-bottom: 1.5rem;
  }

  app-home .middle-trio .col-3-10,
  app-home .container.news .col-half {
    padding-bottom: 1.75rem;
  }

  app-home .middle-trio a.btn,
  app-home .middle-trio .btn,
  app-home .container.news .btn,
  app-home .container.news .gray-btn {
    position: static !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin-top: 1rem;
  }
}

/* Logo com fundo transparente */
body:has(app-home) app-navbar .logo,
app-navbar .logo {
  background-color: transparent !important;
}

/* ---------- WhatsApp floater: ícone centralizado ---------- */
a.bto-whats,
.bto-whats {
  position: fixed !important;
  right: 1.35rem !important;
  bottom: 1.35rem !important;
  left: auto !important;
  top: auto !important;
  z-index: 9999 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 58px !important;
  height: 58px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  background: #25d366 !important;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.22),
    0 0 0 0 rgba(37, 211, 102, 0.45) !important;
  overflow: hidden !important;
  line-height: 0 !important;
  transform: none !important;
  animation: bto-whats-pulse 2.4s ease-out infinite !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

a.bto-whats:hover,
.bto-whats:hover {
  transform: scale(1.06) !important;
  box-shadow:
    0 10px 28px rgba(0, 0, 0, 0.28),
    0 0 0 6px rgba(37, 211, 102, 0.22) !important;
  animation: none !important;
}

a.bto-whats img,
.bto-whats img {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  display: block !important;
  width: 30px !important;
  height: 30px !important;
  max-width: 30px !important;
  max-height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  transform: none !important;
  object-fit: contain !important;
  pointer-events: none !important;
}

@keyframes bto-whats-pulse {
  0% {
    box-shadow:
      0 8px 24px rgba(0, 0, 0, 0.22),
      0 0 0 0 rgba(37, 211, 102, 0.45);
  }
  70% {
    box-shadow:
      0 8px 24px rgba(0, 0, 0, 0.22),
      0 0 0 14px rgba(37, 211, 102, 0);
  }
  100% {
    box-shadow:
      0 8px 24px rgba(0, 0, 0, 0.22),
      0 0 0 0 rgba(37, 211, 102, 0);
  }
}

@media (max-width: 640px) {
  a.bto-whats,
  .bto-whats {
    width: 52px !important;
    height: 52px !important;
    right: 1rem !important;
    bottom: 1rem !important;
  }

  a.bto-whats img,
  .bto-whats img {
    width: 26px !important;
    height: 26px !important;
    max-width: 26px !important;
    max-height: 26px !important;
  }
}

