/* Additive, low-risk improvements for the production layout. */
.skip-link {
  background: #07594f;
  color: #fff;
  left: 1rem;
  padding: .75rem 1rem;
  position: fixed;
  top: -4rem;
  z-index: 10000;
}

.skip-link:focus { top: 1rem; }

/* The opening section behaves as a full-screen hero below the fixed navigation. */
#inicio.clean-hero {
  --site-nav-height: 76px;
  box-sizing: border-box;
  min-height: 100vh;
  min-height: 100svh;
  padding-top: var(--site-nav-height);
}

#inicio.clean-hero > .text {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  min-height: calc(100svh - var(--site-nav-height));
  padding-top: 0 !important;
}

#inicio.clean-hero > .text > .container {
  align-items: center;
  display: flex;
  min-height: calc(100svh - var(--site-nav-height));
}

#inicio.clean-hero > .text > .container > .row {
  width: 100%;
}

@media (max-width: 991px) {
  #inicio.clean-hero { --site-nav-height: 64px; }
}

a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible {
  outline: 3px solid #e67e22;
  outline-offset: 3px;
}

/* Lighthouse accessibility fixes that retain the existing visual hierarchy. */
#especialidades .feature-box h4 {
  color: #646b6b !important;
}

.page-footer .col > a {
  align-items: center;
  color: #3f4a4a !important;
  display: inline-flex;
  justify-content: center;
  margin: 4px 0;
  min-height: 32px;
  padding: 4px 6px;
}

.footer-basic a,
.footer-basic span,
.footer-basic .copyright {
  color: #596363 !important;
}

.footer-basic ul a {
  opacity: 1;
}

.alert.alert-warning.beautiful {
  background: #6610f2 !important;
  color: #fff !important;
}

.alert.alert-warning.beautiful a,
.alert.alert-warning.beautiful .close {
  color: #fff !important;
}

.alert.alert-warning.beautiful a {
  text-decoration: underline !important;
}

.col-md-5.feature-box img {
  height: auto !important;
}

#especialidades .feature-box img[src="assets/img/Frame-2.png"] {
  height: 14px !important;
  width: 32px !important;
}

#carousel-1 .carousel-item img {
  height: auto;
}

#especialidades .feature-box img,
.footer-basic li > img,
.clean-card img {
  width: auto !important;
}

.clean-card p {
  font-size: 12px !important;
}

/* Bootstrap Studio forced these cards to 90% wide below 920px. */
@media (max-width: 920px) {
  #especialidades .rowEspecialidades {
    margin-left: 0;
    margin-right: 0;
    max-width: 100% !important;
    min-width: 100% !important;
  }

  #especialidades .rowEspecialidades > .col-md-3 {
    margin: 0;
    min-width: 0;
  }
}

@media (min-width: 768px) and (max-width: 920px) {
  #especialidades .rowEspecialidades > .col-md-3 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .motion-reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 760ms cubic-bezier(.22, .61, .36, 1) var(--motion-delay, 0ms), transform 760ms cubic-bezier(.22, .61, .36, 1) var(--motion-delay, 0ms);
  }

  .motion-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
  }

  .motion-float {
    animation: hero-float 4.8s ease-in-out 900ms infinite;
    transform-origin: 50% 100%;
  }

  @keyframes hero-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-7px); }
  }

  .btn,
  .feature-box,
  .clean-card {
    transition: box-shadow 180ms ease, transform 180ms ease;
  }

  .btn:hover,
  .btn:focus-visible {
    box-shadow: 0 8px 18px rgb(0 86 72 / 24%);
    transform: translateY(-2px);
  }

  .feature-box:hover {
    transform: translateX(4px);
  }

  .feature-box:hover img {
    transform: scale(1.06);
  }

  .feature-box img {
    transition: transform 180ms ease;
  }

  .clean-card:hover {
    box-shadow: 0 12px 28px rgb(0 86 72 / 13%);
    transform: translateY(-4px);
  }

}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }

  [data-aos],
  .motion-reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}
