/* =============================================================
   MELHORIAS VISUAIS — Unimed Vendas Curitiba
   Tramontina Vieira & Cia Ltda
   ============================================================= */

/* ── Variáveis de Design ─────────────────────────────────── */
:root {
  --verde-unimed:       #00843D;
  --verde-escuro:       #005C2B;
  --verde-claro:        #3aab6d;
  --verde-hover:        #006633;
  --amarelo-destaque:   #FCCA00;
  --cinza-texto:        #333333;
  --cinza-suave:        #f5f6f8;
  --branco:             #ffffff;
  --sombra-suave:       0 4px 20px rgba(0,0,0,.10);
  --sombra-media:       0 8px 32px rgba(0,0,0,.15);
  --raio-padrao:        8px;
  --raio-grande:        16px;
  --transicao:          all .25s ease;
  --fonte-titulo:       'Roboto', 'Helvetica Neue', Arial, sans-serif;
}

/* ── Reset e Base ─────────────────────────────────────────── */
html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--fonte-titulo);
  color: var(--cinza-texto);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

*, *::before, *::after {
  box-sizing: border-box;
}

img {
  max-width: 100%;
  height: auto;
}

/* ── Cabeçalho / Header ───────────────────────────────────── */
.header,
header#masthead {
  position: sticky !important;
  top: 0;
  z-index: 999;
  box-shadow: 0 2px 12px rgba(0,0,0,.18) !important;
  transition: box-shadow .3s ease;
}

/* Remove borda quadrada ao redor do logo */
.nv-navbar-logo img,
.site-logo img,
.custom-logo,
.custom-logo-link img {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Melhora o menu de navegação */
.nav-menu a,
.nv-nav-wrap a,
.neve-menu > li > a {
  font-weight: 600 !important;
  letter-spacing: .02em !important;
  transition: var(--transicao) !important;
  position: relative;
}

.nav-menu a:hover,
.nv-nav-wrap a:hover,
.neve-menu > li > a:hover {
  color: var(--amarelo-destaque) !important;
}

/* Número de telefone como destaque */
.nv-nav-wrap .nv-item a[href^="tel"],
header .elementor-widget-text-editor a[href^="tel"],
header [class*="phone"],
header [class*="tel"] {
  background: var(--amarelo-destaque) !important;
  color: var(--verde-escuro) !important;
  padding: 6px 14px !important;
  border-radius: 20px !important;
  font-weight: 700 !important;
  transition: var(--transicao) !important;
}

.nv-nav-wrap .nv-item a[href^="tel"]:hover,
header [class*="phone"]:hover {
  background: var(--branco) !important;
  color: var(--verde-escuro) !important;
}

/* ── Hero / Banner Principal ──────────────────────────────── */
.elementor-section.elementor-top-section:first-of-type,
.elementor-section[data-element_type="section"]:first-child {
  position: relative;
}

/* Melhora o overlay do hero para melhor leitura do texto */
.elementor-section .elementor-background-overlay {
  transition: opacity .4s ease !important;
}

/* Textos no hero com sombra para melhor legibilidade */
.elementor-widget-heading h1,
.elementor-widget-heading h2 {
  text-shadow: 0 2px 8px rgba(0,0,0,.25);
}

/* ── Tipografia Global ────────────────────────────────────── */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  font-family: var(--fonte-titulo) !important;
  line-height: 1.25 !important;
  letter-spacing: -.01em;
}

h1, .elementor-heading-title.elementor-size-xxl {
  font-size: clamp(1.8rem, 4vw, 3.2rem) !important;
}

h2, .elementor-heading-title.elementor-size-xl {
  font-size: clamp(1.4rem, 3vw, 2.4rem) !important;
}

h3, .elementor-heading-title.elementor-size-large {
  font-size: clamp(1.15rem, 2.5vw, 1.8rem) !important;
}

p,
.elementor-widget-text-editor p {
  line-height: 1.75 !important;
  font-size: clamp(.9rem, 1.5vw, 1rem) !important;
}

/* ── Botões / CTAs ────────────────────────────────────────── */
.elementor-button,
.elementor-button-wrapper a,
a.elementor-button,
.wp-block-button__link,
.nv-btn,
.button,
button[type="submit"],
input[type="submit"] {
  border-radius: 30px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  font-size: .85rem !important;
  padding: 12px 28px !important;
  transition: var(--transicao) !important;
  box-shadow: 0 4px 14px rgba(0,132,61,.30) !important;
  cursor: pointer;
}

.elementor-button:hover,
a.elementor-button:hover,
.wp-block-button__link:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(0,132,61,.40) !important;
  filter: brightness(1.08);
}

.elementor-button:active,
a.elementor-button:active,
button[type="submit"]:active {
  transform: translateY(0) !important;
}

/* ── Formulários ──────────────────────────────────────────── */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="date"],
select,
textarea,
.elementor-field-type-text input,
.elementor-field-type-email input,
.elementor-field-type-tel input,
.elementor-field-type-select select,
.elementor-field-type-textarea textarea {
  border: 2px solid #dde3ea !important;
  border-radius: var(--raio-padrao) !important;
  padding: 11px 16px !important;
  font-size: .95rem !important;
  transition: var(--transicao) !important;
  width: 100%;
  background: var(--branco) !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
select:focus,
textarea:focus,
.elementor-field-type-text input:focus,
.elementor-field-type-email input:focus,
.elementor-field-type-tel input:focus,
.elementor-field-type-select select:focus,
.elementor-field-type-textarea textarea:focus {
  border-color: var(--verde-unimed) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(0,132,61,.15) !important;
}

.elementor-field-label {
  font-weight: 600 !important;
  color: var(--cinza-texto) !important;
  margin-bottom: 5px !important;
}

/* ── Seções / Sections ────────────────────────────────────── */

/* Fundo alternado suave para seções brancas consecutivas */
.elementor-section.elementor-top-section {
  transition: background-color .3s ease;
}

/* Caixas de ícones/features (cards de benefícios) */
.elementor-widget-icon-box .elementor-icon-box-wrapper,
.elementor-widget-icon-list .elementor-icon-list-items {
  transition: var(--transicao);
}

.elementor-icon-box-wrapper:hover {
  transform: translateY(-3px);
}

/* ── Cards / Boxes ────────────────────────────────────────── */
.elementor-widget-image-box .elementor-image-box-wrapper,
.elementor-widget-icon-box .elementor-icon-box-wrapper {
  border-radius: var(--raio-grande) !important;
  padding: 24px !important;
  background: var(--branco) !important;
  box-shadow: var(--sombra-suave) !important;
  transition: var(--transicao) !important;
}

.elementor-widget-image-box .elementor-image-box-wrapper:hover,
.elementor-widget-icon-box .elementor-icon-box-wrapper:hover {
  box-shadow: var(--sombra-media) !important;
  transform: translateY(-4px) !important;
}

/* ── Ícones ────────────────────────────────────────────────── */
.elementor-icon i,
.elementor-icon svg {
  transition: var(--transicao) !important;
}

.elementor-icon:hover i,
.elementor-icon:hover svg {
  transform: scale(1.12) !important;
}

/* ── Seção Estatísticas / Números ──────────────────────────── */
.elementor-counter-number-wrapper {
  font-weight: 900 !important;
}

/* ── Seção de Planos ───────────────────────────────────────── */
/* Destaque para a tabela de planos */
.elementor-widget-price-table .elementor-price-table__wrapper,
.elementor-widget-price-table {
  border-radius: var(--raio-grande) !important;
  overflow: hidden;
  box-shadow: var(--sombra-suave) !important;
  transition: var(--transicao) !important;
}

.elementor-widget-price-table:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--sombra-media) !important;
}

.elementor-price-table__header {
  padding: 20px !important;
}

.elementor-price-table__price {
  font-size: clamp(2rem, 4vw, 3rem) !important;
}

/* ── Sub-menus ─────────────────────────────────────────────── */
.sub-menu {
  border-radius: var(--raio-padrao) !important;
  box-shadow: var(--sombra-media) !important;
  border-top: 3px solid var(--verde-unimed) !important;
  overflow: hidden;
  animation: fadeInDown .2s ease;
}

@keyframes fadeInDown {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}

.sub-menu li a {
  padding: 10px 20px !important;
  transition: var(--transicao) !important;
}

.sub-menu li a:hover {
  background: var(--cinza-suave) !important;
  color: var(--verde-unimed) !important;
  padding-left: 26px !important;
}

/* ── Rodapé / Footer ────────────────────────────────────────── */
footer,
.site-footer,
#colophon {
  border-top: 4px solid var(--verde-unimed) !important;
}

footer a,
.site-footer a,
#colophon a {
  transition: var(--transicao) !important;
}

footer a:hover,
.site-footer a:hover,
#colophon a:hover {
  color: var(--verde-claro) !important;
  text-decoration: underline;
}

/* ── Banner / Cookie Notice ─────────────────────────────────── */
#cookie-law-info-bar,
.cli-bar-container,
[id*="cookie"] {
  border-top: 3px solid var(--verde-unimed) !important;
  backdrop-filter: blur(4px) !important;
  font-size: .88rem !important;
}

/* ── Scroll-to-top ──────────────────────────────────────────── */
.hfe-scroll-to-top-wrap {
  border-radius: 50% !important;
  box-shadow: var(--sombra-media) !important;
  transition: var(--transicao) !important;
}

.hfe-scroll-to-top-wrap:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.25) !important;
}

/* ── Separadores / Dividers ─────────────────────────────────── */
.elementor-divider-separator {
  border-top-width: 2px !important;
}

/* ── Responsividade Mobile ──────────────────────────────────── */
@media (max-width: 767px) {
  h1, .elementor-heading-title.elementor-size-xxl {
    font-size: clamp(1.5rem, 6vw, 2rem) !important;
  }

  h2 {
    font-size: clamp(1.2rem, 5vw, 1.6rem) !important;
  }

  .elementor-button,
  a.elementor-button,
  button[type="submit"],
  input[type="submit"] {
    padding: 13px 24px !important;
    font-size: .9rem !important;
    width: 100%;
    text-align: center;
  }

  .elementor-section.elementor-top-section {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .sub-menu {
    box-shadow: none !important;
    border-radius: 0 !important;
  }

  /* Melhor toque mobile para links do menu */
  .nav-menu a,
  .nv-nav-wrap a {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
}

@media (max-width: 480px) {
  body {
    font-size: 15px;
  }

  .elementor-widget-image-box .elementor-image-box-wrapper,
  .elementor-widget-icon-box .elementor-icon-box-wrapper {
    padding: 16px !important;
  }
}

/* ── Acessibilidade / Focus ─────────────────────────────────── */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--verde-unimed) !important;
  outline-offset: 2px !important;
}

/* Respeita preferência de acessibilidade */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}

/* Unidades de Atendimento: garante espaço real entre os cards */
.elementor-element-ad02164 .elementor-element-3ce6b0b .elementor-column.elementor-inner-column {
  padding-left: 6px !important;
  padding-right: 6px !important;
}

.elementor-element-ad02164 .elementor-element-3ce6b0b .elementor-column > .elementor-widget-wrap {
  margin: 0 !important;
}
