/* =============================================================
   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;
}

/* Banner principal da home */
.elementor-4003 .elementor-element.elementor-element-e8f218e:not(.elementor-motion-effects-element-type-background),
.elementor-4003 .elementor-element.elementor-element-e8f218e > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-image: url("/wp-content/uploads/2026/06/banner-home-unimed-36-anos.png") !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

.elementor-4003 .elementor-element.elementor-element-e8f218e > .elementor-container {
  min-height: min(46vw, 625px) !important;
}

/* ── 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;
}

/* Formulario Bitrix no fim das paginas */
iframe[title="Formulario de contato Unimed Vendas"],
iframe[src*="planoplenounimed.bitrix24.site/formulario-site-pf"] {
  display: block !important;
  width: 100% !important;
  max-width: 640px !important;
  height: clamp(720px, 78vh, 860px) !important;
  min-height: 720px !important;
  margin: 0 auto !important;
  border: 0 !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  box-shadow: 0 18px 42px rgba(0, 85, 50, 0.12) !important;
}

.elementor-element-66b2edc .elementor-widget-container {
  width: 100% !important;
  max-width: 680px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.unimed-bitrix-inline-form {
  width: 100% !important;
  max-width: 640px !important;
  margin: 0 auto !important;
  background: #ffffff !important;
  border-radius: 24px !important;
  box-shadow: 0 18px 42px rgba(0, 85, 50, 0.12) !important;
  overflow: hidden !important;
}

.unimed-bitrix-inline-form .b24-form,
.unimed-bitrix-inline-form .b24-form-wrapper {
  max-width: 640px !important;
  margin: 0 auto !important;
  background: #ffffff !important;
}

/* Selo dos Planos (Flex Smart, Flex, Amigo, Pleno): circulo branco maior
   com anel interno (circulo dentro de circulo) e a logo vetor centralizada.
   Padrao adotado da pagina Flex Smart. */
#carrossel-unimed-edu .plano-icon,
.elementor-element-5d751965 .elementor-widget-container {
  width: 150px;
  height: 150px;
  margin: 0 auto !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #ffffff;
  border: 2px solid #e4e7eb;
  /* anel interno: folga branca + linha verde formando "circulo dentro de circulo" */
  box-shadow: inset 0 0 0 8px #ffffff, inset 0 0 0 10px var(--verde-unimed);
  position: relative;
  overflow: hidden;
}

#carrossel-unimed-edu .plano-icon {
  width: 150px !important;
  height: 150px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  border: 2px solid #e4e7eb !important;
  box-shadow: inset 0 0 0 8px #ffffff, inset 0 0 0 10px var(--verde-unimed) !important;
  background-image: none !important;
  background-repeat: initial !important;
  background-position: initial !important;
  background-size: initial !important;
}

#carrossel-unimed-edu .plano-icon picture,
.elementor-element-5d751965 picture {
  width: 62%;
  height: auto;
  display: block;
  opacity: 1 !important;
}

#carrossel-unimed-edu .plano-icon img,
.elementor-element-5d751965 img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  object-position: center;
  opacity: 1 !important;
}

/* Fallback: logo sem o wrapper <picture> */
#carrossel-unimed-edu .plano-icon > img,
.elementor-element-5d751965 > .elementor-widget-container > img {
  width: 62% !important;
}

.unimed-carencias-list {
  max-width: 980px;
  margin: 18px auto 0;
  text-align: left;
}

.unimed-carencias-list ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.unimed-carencias-list li {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  min-height: 52px;
  padding: 14px 16px;
  border: 1px solid #e3e8ea;
  border-radius: 8px;
  background: #ffffff;
  color: var(--cinza-texto);
  line-height: 1.35;
}

.unimed-carencias-list strong {
  flex: 0 0 auto;
  color: var(--verde-unimed);
  white-space: nowrap;
}

.unimed-carencias-note {
  margin: 16px 0 0;
  text-align: center;
  color: var(--cinza-texto);
  font-size: 15px;
}

@media (max-width: 767px) {
  .unimed-carencias-list ul {
    grid-template-columns: 1fr;
  }

  .unimed-carencias-list li {
    display: block;
  }

  .unimed-carencias-list strong {
    display: block;
    margin-top: 6px;
  }
}

/* Centraliza a descricao do hero dos planos (estava alinhada a esquerda,
   enquanto logo e titulo ja eram centralizados) */
.elementor-element-76d29b1 > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor,
.elementor-element-76d29b1 > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor .elementor-widget-container {
  text-align: center;
}

.unimed-bitrix-inline-form .b24-form-wrapper {
  border-radius: 24px !important;
  box-shadow: none !important;
  overflow: hidden !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;
}

/* Ajustes da pagina de plano: documentacao, dependentes e footer */
#content .elementor .elementor-element.elementor-element-5f25e52.elementor-widget-text-editor,
#content .elementor .elementor-element.elementor-element-5f25e52.elementor-widget-text-editor .elementor-widget-container,
#content .elementor .elementor-element.elementor-element-5f25e52.elementor-widget-text-editor p {
  font-size: 16px !important;
  line-height: 1.75 !important;
  font-weight: 400 !important;
  margin-top: 0 !important;
}

body .elementor .elementor-element.elementor-element-5f25e52,
body .elementor .elementor-element.elementor-element-5f25e52 .elementor-widget-container,
body .elementor .elementor-element.elementor-element-5f25e52 .elementor-widget-container p {
  font-size: 16px !important;
  line-height: 1.75 !important;
  font-weight: 400 !important;
}

#colophon .elementor-element-f51f618 {
  display: none !important;
}

#colophon .elementor-element-2fe8d47d > .elementor-container {
  justify-content: center !important;
}

#colophon .elementor-element-2fe8d47d > .elementor-container > .elementor-column {
  width: 25% !important;
  max-width: 25% !important;
  text-align: center !important;
}

#colophon .elementor-element-631c07d3 .elementor-social-icons-wrapper {
  justify-content: center !important;
}

@media (max-width: 767px) {
  #colophon .elementor-element-2fe8d47d > .elementor-container > .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
  }
}
/* ── 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;
}

.elementor-element-ad02164 .elementor-element-3ce6b0b .elementor-widget-heading .elementor-heading-title {
  max-width: 100% !important;
  min-height: 46px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 10px 0 8px !important;
  font-size: clamp(17px, 1.25vw, 21px) !important;
  line-height: 1.15 !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

/* Logo composta Unimed Curitiba + Tramontina */
#masthead .hfe-site-logo-img[src*="unimed-curitiba-tramontina-logo"] {
  width: 260px !important;
  max-width: 260px !important;
  height: auto !important;
  object-fit: contain !important;
}

@media (max-width: 767px) {
  #masthead .hfe-site-logo-img[src*="unimed-curitiba-tramontina-logo"] {
    width: 210px !important;
    max-width: 210px !important;
  }
}

/* Botao flutuante do WhatsApp */
.unimed-floating-whatsapp {
  position: fixed !important;
  right: 22px !important;
  bottom: 22px !important;
  z-index: 99999 !important;
  width: 62px !important;
  height: 62px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: #25d366 !important;
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .24) !important;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}

.unimed-floating-whatsapp:hover,
.unimed-floating-whatsapp:focus {
  color: #fff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 34px rgba(0, 0, 0, .28) !important;
}

.unimed-floating-whatsapp svg {
  width: 34px !important;
  height: 34px !important;
  display: block !important;
  fill: currentColor !important;
}

@media (max-width: 767px) {
  .unimed-floating-whatsapp {
    right: 16px !important;
    bottom: 16px !important;
    width: 58px !important;
    height: 58px !important;
  }
}

/* ── CTA "Ler matéria completa" – Seção Saiu na Mídia ──────────── */
/* Garante que o link da imagem (laptop) seja realmente clicável: o <a>
   é inline por padrão e a área de clique pode colapsar sem o display block. */
.elementor-element-3ad9683 .elementor-widget-container > a {
  display: block !important;
  position: relative;
  z-index: 2;
  cursor: pointer;
}

.elementor-element-3ad9683 .elementor-widget-container > a img {
  pointer-events: none; /* o clique vai para o <a>, não é "engolido" pela img */
}

/* Link textual inserido logo abaixo da imagem do laptop (não altera a imagem) */
.unimed-midia-cta {
  text-align: center;
  margin-top: 14px;
}

.unimed-midia-cta-link {
  display: inline-block;
  color: #006633 !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  text-decoration: underline !important;
  letter-spacing: 0.01em;
  transition: color .2s ease, opacity .2s ease;
}

.unimed-midia-cta-link:hover {
  color: #00843D !important;
  opacity: 0.85;
}

/* ── Seção "Conheça os planos da Unimed Curitiba" (home) ───────── */
/* Remove o text-align:justify do Elementor que espalhava as palavras em
   colunas estreitas; alinha o texto à esquerda com respiro de leitura. */
.elementor-element-beb6e18 .elementor-widget-text-editor p {
  text-align: left !important;
  font-size: 0.92rem !important;
  line-height: 1.6 !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
}

/* Título e ícone centralizados em cada card */
.elementor-element-beb6e18 .elementor-heading-title,
.elementor-element-beb6e18 .elementor-icon-wrapper {
  text-align: center !important;
}

/* Alinha o botão "Saiba mais" na mesma altura em todos os 4 cards:
   a coluna vira flex-column e o texto cresce, empurrando o botão p/ o rodapé. */
.elementor-element-beb6e18 .elementor-col-25 > .elementor-widget-wrap.elementor-element-populated {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

.elementor-element-beb6e18 .elementor-col-25 .elementor-widget-text-editor {
  flex: 1 1 auto !important;
}

.elementor-element-beb6e18 .elementor-col-25 .elementor-widget-button {
  margin-top: auto !important;
}

/* Tablet: 2 colunas em vez de 4 para evitar colunas muito estreitas */
@media (min-width: 481px) and (max-width: 1024px) {
  .elementor-element-beb6e18 .elementor-col-25.elementor-inner-column {
    width: 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }
}

