@font-face {
  font-family: 'BackToFuture';
  src: url('https://fonts.cdnfonts.com/s/42148/BackToFuture.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

/* --------- GENERALES --------- */
body {
  background: #f7f7fa;
  color: #222;
}
.bttf-title {
  font-family: 'BackToFuture', Arial, sans-serif;
  letter-spacing: 2px;
  color: #ea6907 !important;
  text-shadow: 1px 2px 8px #2222;
}
.section-title {
  font-family: 'BackToFuture', Arial, sans-serif;
  color: #ea6907;
  font-size: 2.3rem;
  text-shadow: 1px 2px 6px #2222;
}
.nav-link.active,
.nav-link:focus,
.nav-link:hover {
  color: #ea6907 !important;
}
.hero {
  min-height: 60vh;
  background: linear-gradient(105deg, #181F31 60%, #F7AA0A 100%);
  color: #fff;
  padding-top: 110px;
  padding-bottom: 80px;
  background-size: cover;
  background-position: center;
}
.hero-img {
  max-width: 95%;
  border-radius: 1.2rem;
  box-shadow: 0 2px 16px #1116;
}
.claim-highlight {
  background: linear-gradient(90deg, #ea6907 0%, #ffb97c 100%);
  color: #fff;
  border-radius: 7px;
  box-shadow: 0 4px 18px #ea690744;
  font-family: 'BackToFuture', Arial, sans-serif;
  letter-spacing: .02em;
  text-shadow: 1px 2px 6px #2222;
  transition: box-shadow .2s;
}
.claim-highlight:hover {
  box-shadow: 0 6px 32px #ea690755, 0 0 0 2px #ffb97c66;
}

#presentacion { font-family: 'Georgia', serif; }
.font-georgia { font-family: 'Georgia', serif; }

.btn-bttf {
  background: linear-gradient(90deg, #F7AA0A 0%, #EA4100 100%);
  border: none;
  color: #181F31;
  font-family: 'BackToFuture', Arial, sans-serif;
  font-size: 1.15rem;
  padding: 0.7rem 2.2rem;
  border-radius: 22px;
  box-shadow: 2px 4px 18px #0002;
  transition: background 0.2s;
}
.btn-bttf:hover {
  background: linear-gradient(90deg, #EA4100 0%, #F7AA0A 100%);
  color: #fff;
}
.bg-bttf-info {
  background: linear-gradient(120deg, #1e2340 75%, #EA4100 100%);
}
.icon-bttf {
  font-size: 1.3em;
  margin-right: 8px;
}
.carousel-item img {
  object-fit: cover;
  width: 100%;
  height: 340px;
}

/* ----------- SERVICIOS (alterno en desktop, card en móvil) ----------- */
.servicios-alt {
  background: #f7f7fa;
}

/* Card look general */
.servicios-alt .row {
  background: #fff;
  border-radius: 1.2rem;
  box-shadow: 0 6px 30px #0001, 0 2px 8px #ea690711;
  margin-bottom: 2.5rem;
  overflow: hidden;
  transition: box-shadow .22s;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.servicios-alt .row:hover {
  box-shadow: 0 14px 36px #ea690744, 0 4px 22px #2222;
}
.servicios-alt .service-img {
  width: 100%;
  max-height: 250px;
  object-fit: cover;
  border-radius: 1.2rem 0 0 1.2rem;
  margin-bottom: 0;
  display: block;
  box-shadow: none;
}

.servicios-alt .service-text {
  padding: 2.2rem 2.2rem 2rem 2.2rem;
  border-radius: 0 1.2rem 1.2rem 0;
}

/* ----------- RESPONSIVE MOBILE ----------- */
@media (max-width: 991px) {
  .servicios-alt .row {
    flex-direction: column !important;
    border-radius: 1.2rem;
  }
  .servicios-alt .service-img {
    max-height: 190px;
    border-radius: 1.2rem 1.2rem 0 0 !important;
  }
  .servicios-alt .service-text {
    border-left: none;
    border-top: 5px solid #ea6907;
    border-radius: 0 0 1.2rem 1.2rem;
    margin-top: 0;
    padding: 1.4rem 1rem 1.2rem 1rem;
    box-shadow: 0 2px 10px #ea690744;
  }
  .servicios-alt .row.mb-5 {
    margin-bottom: 2.1rem !important;
  }
}

.servicios-alt .service-text ul {
  margin-bottom: 0;
}

@media (max-width: 575px) {
  .servicios-alt .row {
    border-radius: 0.9rem;
    margin-bottom: 1.2rem;
    padding: 0;
  }
  .servicios-alt .service-img {
    border-radius: 0.9rem 0.9rem 0 0 !important;
    max-height: 140px;
  }
  .servicios-alt .service-text {
    padding: 1rem 0.6rem 1rem 0.6rem;
  }
}

/* ----------- FOOTER ----------- */
footer {
  color: #fff;
  background: #181F31 !important;
  letter-spacing: 2px;
}
.footer-bttf {
  background: linear-gradient(90deg, #181F31 50%, #282828 100%);
  color: #fff;
  box-shadow: 0 -2px 24px #0009;
  border-top: 5px solid #ea6907;
  font-size: 1.07rem;
  letter-spacing: 1.2px;
  margin-top: 60px;
}

.footer-brand {
  font-size: 1.25rem;
  font-family: 'BackToFuture', Arial, sans-serif;
  color: #fff;
  text-shadow: 0 3px 22px #ea690744, 1px 1px 6px #0005;
}
.footer-glow {
  color: #ea6907;
  text-shadow: 0 0 8px #ea6907, 0 1px 16px #ea690744;
  font-weight: bold;
  margin-left: 5px;
  letter-spacing: 1.5px;
}
.footer-social svg {
  transition: transform .2s, filter .2s;
  filter: drop-shadow(0 0 6px #ea6907bb);
}
.footer-social:hover svg {
  transform: scale(1.18) rotate(-6deg);
  filter: drop-shadow(0 0 18px #fff) brightness(1.1);
}
.footer-link {
  color: #ffb97c;
  text-decoration: none;
  font-weight: 500;
  transition: color .2s, text-shadow .2s;
}
.footer-link:hover,
.footer-link:focus {
  color: #fff;
  text-shadow: 0 0 12px #ea6907;
}
.footer-desc {
  font-size: .97rem;
  color: #ffb97c;
  opacity: 0.93;
}
@media (max-width: 767px) {
  .footer-bttf {
    font-size: 0.98rem;
    padding-bottom: 1.5rem;
  }
  .footer-brand {
    font-size: 1.12rem;
  }
  .footer-link {
    display: inline-block;
    margin-bottom: 3px;
  }
}
