/* ============================================================
   Medicus24hs — correções de contraste, responsividade e
   visibilidade de elementos Elementor (camada final de CSS)
   ============================================================ */

/* Título "Grandes números são a nossa especialidade":
   a regra genérica de cor primária (turquesa) sobrescrevia o branco
   e o texto sumia sobre o fundo turquesa. */
.elementor-element-c73c954 .elementor-heading-title {
  color: #FFFFFF !important;
  line-height: 1.05;
  height: auto;
  overflow: visible;
}

@media (max-width: 767px) {
  .elementor-element-c73c954 .elementor-heading-title {
    font-size: 42px;
    line-height: 1.1;
  }
}

/* Topbar "Seja Bem-vindo a Medicus24hs":
   permite expansão natural sem corte em nenhuma largura. */
.elementor-element-ded13b3 {
  width: auto;
  max-width: 100%;
  flex-shrink: 1;
}
.elementor-element-ded13b3 .elementor-heading-title {
  white-space: normal;
  line-height: 1.2;
  overflow: visible;
}

@media (max-width: 767px) {
  .elementor-element-ded13b3 .elementor-heading-title {
    font-size: 16px;
  }
}

/* Elementos com animação de entrada cujo JS não dispara no site
   estático ficavam invisíveis para sempre; força a visibilidade. */
.elementor-invisible {
  visibility: visible !important;
}

/* ===== Banner principal: vídeo local da Medicus24hs em loop e sem som ===== */
.elementor-element-31423ad {
  position: relative;
  overflow: hidden;
  background: #0b2a2c url("../assets/media/medicus-banner-poster.jpg") center / cover no-repeat;
}
.elementor-element-31423ad .medicus-hero-video {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  display: block !important;
}
.elementor-element-31423ad .medicus-hero-video video {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  object-fit: cover;
  pointer-events: none;
}
.elementor-element-31423ad .medicus-hero-video iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: max(100%, 177.78vh);
  height: max(100%, 56.25vw);
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  border: 0;
  pointer-events: none;
}
/* Véu escuro para manter o título e os botões legíveis sobre o vídeo. */
.elementor-element-31423ad .medicus-hero-video::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(6, 32, 34, 0.80) 0%, rgba(6, 32, 34, 0.55) 45%, rgba(6, 32, 34, 0.30) 100%);
  pointer-events: none;
}
/* Título do banner: turquesa mais vivo e sombra suave para ler sobre o vídeo. */
.elementor-element-31423ad .elementor-element-3808241 .elementor-heading-title {
  color: #5adcec !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.70), 0 1px 3px rgba(0, 0, 0, 0.55);
}
/* O vazado preto do título some sobre o vídeo escuro: preenchemos de branco. */
.elementor-element-31423ad .titulo-borda {
  color: #ffffff !important;
  -webkit-text-stroke-color: #ffffff !important;
}



/* Se o vídeo não puder ser reproduzido, a capa neutra fica à vista. */
.elementor-element-31423ad .medicus-hero-video.medicus-hero-video-failed {
  display: none !important;
}

.elementor-element-31423ad > .e-con-inner > *:not(.medicus-hero-video) {
  position: relative;
  z-index: 1;
}


/* ===== Menu "A Medicus24hs" e itens do menu: hover e foco ===== */
.elementor-nav-menu--main .elementor-item {
  cursor: pointer;
  pointer-events: auto !important;
  transition: background-color .2s ease, color .2s ease;
}

.elementor-nav-menu a:focus-visible,
.elementor-element-c7627dd a:focus-visible,
.elementor-button:focus-visible {
  outline: 3px solid #E30613;
  outline-offset: 2px;
}

/* ===== Botão "Saiba mais" dos cartões: fundo vazado (transparente) ===== */
.bdt-flip-box-back .bdt-flip-box-button,
.bdt-flip-box-back .bdt-flip-box-button:hover,
.bdt-flip-box-back .bdt-flip-box-button:focus {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: none !important;
  color: #FFFFFF !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.55);
}

/* Cabeçalho: saudação em uma linha só */
.elementor-element-ded13b3 .elementor-heading-title { white-space: nowrap; }

/* ===== Cabeçalho: linha separadora antes do nome, não sobre o nome ===== */
.elementor-8 .elementor-element.elementor-element-a2b6dad { border-right-width: 0 !important; }
.elementor-element-ded13b3 .medicus-welcome-name {
  border-left: 1px solid #FFFFFF52;
  padding-left: .35em;
  margin-left: .35em;
}
@media (max-width: 767px) {
  .elementor-element-ded13b3 .medicus-welcome-name {
    border-left: 0;
    padding-left: 0;
    margin-left: 0;
  }
}
