/* ==============================================
   LIVE ADVENTURES — live-custom.css
   Navbar + Footer + Loader (todas las páginas)
   ============================================== */

:root {
  --live-orange: #f9a826;
  --live-dark:   #12131a;
  --live-navy:   #1a1f3c;
  --live-text:   #3a3a4a;
  --live-muted:  #7a7a8a;
  --live-light:  #f5f6fa;
  --live-white:  #ffffff;
  --radius-card: 18px;
  --transition:  all .32s cubic-bezier(.25,.8,.25,1);
}

/* ==============================
   NAVBAR — desktop
   ============================== */

#ftco-navbar {
  position: fixed !important;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  padding: 0 !important;
  background: transparent !important;
  transition: background .35s ease, box-shadow .35s ease, height .35s ease;
  height: 110px;
}

#ftco-navbar > .container {
  height: 100%;
  display: flex;
  align-items: center;
}

#ftco-navbar .logo {
  width: auto !important;
  height: 110px !important;
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0;
  margin-right: 32px;
}
#ftco-navbar .logo a {
  display: flex;
  align-items: center;
  height: 100%;
}
#ftco-navbar .logo img {
  height: 100px !important;
  width: auto !important;
  max-width: none !important;
  display: block;
  transition: height .35s ease;
}

#ftco-navbar .navbar-nav {
  align-items: center;
  gap: 0;
}
#ftco-navbar .navbar-nav > .nav-item > .nav-link {
  font-size: .88rem !important;
  font-weight: 600 !important;
  letter-spacing: .3px;
  color: rgba(255,255,255,.92) !important;
  padding: 0 15px !important;
  height: 110px;
  display: flex;
  align-items: center;
  position: relative;
  transition: color .2s;
  text-decoration: none;
}

/* Línea naranja inferior */
#ftco-navbar .navbar-nav > .nav-item > .nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 15px; right: 15px;
  height: 3px;
  background: var(--live-orange);
  border-radius: 3px 3px 0 0;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .25s ease;
}
#ftco-navbar .navbar-nav > .nav-item > .nav-link:hover,
#ftco-navbar .navbar-nav > .nav-item.active > .nav-link {
  color: var(--live-orange) !important;
}
#ftco-navbar .navbar-nav > .nav-item > .nav-link:hover::after,
#ftco-navbar .navbar-nav > .nav-item.active > .nav-link::after {
  transform: scaleX(1);
}

/* Social icons — selectores más específicos que el hover general */
#ftco-navbar .navbar-nav .nav-item.nav-social-item {
  margin-left: 6px;
}
#ftco-navbar .navbar-nav .nav-item.nav-social-item .nav-social-link {
  width: 36px !important;
  height: 36px !important;
  min-height: unset !important;
  border-radius: 50% !important;
  border: 1.5px solid rgba(255,255,255,.35) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  font-size: .85rem !important;
  color: rgba(255,255,255,.85) !important;
  transition: background .22s, border-color .22s, color .22s, transform .22s !important;
  text-decoration: none !important;
}
/* Hover: más específico que #ftco-navbar .navbar-nav > .nav-item > .nav-link:hover */
#ftco-navbar .navbar-nav .nav-item.nav-social-item .nav-social-link:hover {
  background: var(--live-orange) !important;
  border-color: var(--live-orange) !important;
  color: var(--live-dark) !important;
  transform: translateY(-3px) !important;
}
#ftco-navbar .navbar-nav .nav-item.nav-social-item .nav-social-link::after {
  display: none !important;
}

/* Scrolled: fondo blanco */
#ftco-navbar.scrolled,
#ftco-navbar.scrolled.awake,
#ftco-navbar.scrolled.sleep {
  background: rgba(255,255,255,.97) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 1px 0 rgba(0,0,0,.07), 0 4px 20px rgba(0,0,0,.06) !important;
  margin-top: 0 !important;
  height: 84px;
}
#ftco-navbar.scrolled > .container { height: 84px; }
#ftco-navbar.scrolled .logo { height: 84px !important; }
#ftco-navbar.scrolled .logo img { height: 74px !important; }
#ftco-navbar.scrolled .navbar-nav > .nav-item > .nav-link {
  color: var(--live-navy) !important;
  height: 84px;
}
#ftco-navbar.scrolled .navbar-nav > .nav-item > .nav-link:hover,
#ftco-navbar.scrolled .navbar-nav > .nav-item.active > .nav-link {
  color: var(--live-orange) !important;
}
/* Scrolled social — también más específico */
#ftco-navbar.scrolled .navbar-nav .nav-item.nav-social-item .nav-social-link {
  border-color: rgba(26,31,60,.2) !important;
  color: var(--live-navy) !important;
}
#ftco-navbar.scrolled .navbar-nav .nav-item.nav-social-item .nav-social-link:hover {
  background: var(--live-orange) !important;
  border-color: var(--live-orange) !important;
  color: var(--live-dark) !important;
  transform: translateY(-3px) !important;
}

/* ==============================
   NAVBAR — mobile (<992px)
   ============================== */
@media (max-width: 991px) {
  /* Fondo oscuro siempre en mobile */
  #ftco-navbar,
  #ftco-navbar.scrolled,
  #ftco-navbar.scrolled.awake,
  #ftco-navbar.scrolled.sleep {
    background: rgba(18,19,26,.97) !important;
    height: auto !important;
    min-height: 66px !important;
    z-index: 9999 !important;
    box-shadow: 0 2px 16px rgba(0,0,0,.25) !important;
    position: fixed !important;
  }

  /* Container: flex-wrap para que el collapse quede abajo */
  #ftco-navbar > .container,
  #ftco-navbar.scrolled > .container {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    height: auto !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  /* Logo container: reset del height desktop */
  #ftco-navbar .logo,
  #ftco-navbar.scrolled .logo {
    height: auto !important;
    flex: 1 1 auto !important;
    margin-right: 12px !important;
    min-width: 0;
  }
  #ftco-navbar .logo img,
  #ftco-navbar.scrolled .logo img {
    height: 58px !important;
    width: auto !important;
    max-width: 100% !important;
  }

  /* Botón hamburguesa — siempre visible */
  #ftco-navbar .navbar-toggler,
  #ftco-navbar.scrolled .navbar-toggler {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
    border: 2px solid rgba(255,255,255,.6) !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,.1) !important;
    color: #ffffff !important;
    font-size: 1.1rem !important;
    opacity: 1 !important;
    visibility: visible !important;
    outline: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
  }
  #ftco-navbar .navbar-toggler:hover,
  #ftco-navbar .navbar-toggler:focus,
  #ftco-navbar.scrolled .navbar-toggler:hover,
  #ftco-navbar.scrolled .navbar-toggler:focus {
    border-color: var(--live-orange) !important;
    color: var(--live-orange) !important;
    outline: none !important;
    box-shadow: none !important;
  }

  /* Menú desplegado: ocupa todo el ancho */
  #ftco-navbar .navbar-collapse.show,
  #ftco-navbar.scrolled .navbar-collapse.show {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    border-top: 1px solid rgba(255,255,255,.1) !important;
    padding-top: 8px !important;
  }

  /* Nav: row+wrap → items con flex:100% se apilan verticalmente */
  #ftco-navbar .navbar-nav {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    width: 100% !important;
    padding-bottom: 4px !important;
  }
  #ftco-navbar .navbar-nav > .nav-item:not(.nav-social-item) {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  #ftco-navbar .navbar-nav > .nav-item > .nav-link,
  #ftco-navbar.scrolled .navbar-nav > .nav-item > .nav-link {
    height: auto !important;
    color: rgba(255,255,255,.85) !important;
    padding: 11px 4px !important;
    display: block !important;
    border-bottom: 1px solid rgba(255,255,255,.07) !important;
    font-size: .9rem !important;
  }
  #ftco-navbar .navbar-nav > .nav-item.active > .nav-link {
    color: var(--live-orange) !important;
  }
  #ftco-navbar .navbar-nav > .nav-item > .nav-link::after {
    display: none !important;
  }
  /* Social icons: fila al final */
  #ftco-navbar .navbar-nav > .nav-item.nav-social-item {
    flex: 0 0 auto !important;
    margin: 8px 6px 2px 0 !important;
  }

  /* Social icons */
  #ftco-navbar .navbar-nav .nav-item.nav-social-item .nav-social-link {
    border-color: rgba(255,255,255,.3) !important;
    color: rgba(255,255,255,.8) !important;
  }
  #ftco-navbar .navbar-nav .nav-item.nav-social-item .nav-social-link:hover {
    background: var(--live-orange) !important;
    border-color: var(--live-orange) !important;
    color: var(--live-dark) !important;
  }
}

/* ==============================
   CAR LOADER (todas las páginas)
   ============================== */

#ftco-loader,
#ftco-loader.fullscreen,
#ftco-loader.show,
#ftco-loader.show.fullscreen {
  background: var(--live-dark) !important;
  background-color: var(--live-dark) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.car-loader-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 280px;
}
.car-loader-track {
  width: 100%;
  position: relative;
  height: 80px;
  overflow: hidden;
}
.car-loader-car {
  position: absolute;
  bottom: 8px;
  left: -120px;
  animation: carDrive 1.6s cubic-bezier(.45,0,.55,1) infinite;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.car-loader-car > .fas {
  font-size: 3.4rem;
  color: var(--live-orange);
  display: block;
  line-height: 1;
  filter: drop-shadow(0 4px 12px rgba(249,168,38,.45));
}
.car-loader-wheels {
  display: flex;
  gap: 30px;
  margin-top: 2px;
  padding-left: 8px;
}
.car-wheel {
  width: 18px; height: 18px;
  border-radius: 50%;
  border: 3px solid rgba(255,255,255,.3);
  border-top-color: var(--live-orange);
  animation: wheelSpin .5s linear infinite;
}
.car-loader-road {
  width: 100%;
  height: 3px;
  background: rgba(255,255,255,.07);
  border-radius: 2px;
  overflow: hidden;
  margin-top: 4px;
}
.car-road-line {
  height: 100%;
  width: 40%;
  background: linear-gradient(90deg, transparent, var(--live-orange), transparent);
  animation: roadMove 1.6s linear infinite;
}
@keyframes carDrive {
  0%   { left: -120px; }
  100% { left: 320px; }
}
@keyframes wheelSpin {
  to { transform: rotate(360deg); }
}
@keyframes roadMove {
  0%   { transform: translateX(-200%); }
  100% { transform: translateX(400%); }
}

/* ==============================
   FOOTER
   ============================== */

.live-footer {
  background: var(--live-dark);
  padding: 70px 0 0;
  color: rgba(255,255,255,.65);
  font-size: .88rem;
}
.live-footer-logo {
  height: 70px;
  width: auto;
  margin-bottom: 18px;
  display: block;
}
.live-footer-tagline {
  color: rgba(255,255,255,.55);
  line-height: 1.7;
  font-size: .88rem;
  margin-bottom: 24px;
  max-width: 280px;
}
.live-footer-social {
  display: flex;
  gap: 10px;
  margin-bottom: 0;
}
.live-footer-social a {
  width: 38px; height: 38px;
  border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.65);
  font-size: .9rem;
  transition: all .25s;
  text-decoration: none;
}
.live-footer-social a:hover {
  background: var(--live-orange);
  border-color: var(--live-orange);
  color: var(--live-dark);
  transform: translateY(-3px);
}
.live-footer-heading {
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 20px;
}
.live-footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}
.live-footer-links li {
  margin-bottom: 10px;
}
.live-footer-links a {
  color: rgba(255,255,255,.55);
  text-decoration: none;
  transition: color .2s, padding-left .2s;
  font-size: .88rem;
}
.live-footer-links a:hover {
  color: var(--live-orange);
  padding-left: 4px;
}
.live-footer-contact {
  list-style: none;
  padding: 0;
  margin: 0;
}
.live-footer-contact li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 12px;
  color: rgba(255,255,255,.55);
  font-size: .88rem;
  line-height: 1.5;
}
.live-footer-contact li i {
  color: var(--live-orange);
  margin-top: 2px;
  flex-shrink: 0;
  width: 14px;
}
.live-footer-contact a {
  color: rgba(255,255,255,.55);
  text-decoration: none;
  transition: color .2s;
}
.live-footer-contact a:hover { color: var(--live-orange); }
.live-footer-bottom {
  border-top: 1px solid rgba(255,255,255,.07);
  margin-top: 50px;
  padding: 22px 0;
  text-align: center;
}
.live-footer-bottom p {
  margin: 0;
  font-size: .82rem;
  color: rgba(255,255,255,.3);
}
.live-footer-bottom a {
  color: rgba(255,255,255,.45);
  text-decoration: none;
  transition: color .2s;
}
.live-footer-bottom a:hover { color: var(--live-orange); }

@media (max-width: 768px) {
  .live-footer { padding-top: 50px; }
  .live-footer-tagline { max-width: 100%; }
  .live-footer-heading { margin-top: 32px; }
}

/* ==============================
   CAR PAGE — mejoras
   ============================== */

.car-wrap {
  transition: transform .25s ease, box-shadow .25s ease !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}
.car-wrap:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.14) !important;
}
.car-wrap .text h2 a { transition: color .2s; }
.car-wrap .text h2 a:hover { color: var(--live-orange) !important; }
/* Botón Reservar naranja */
.car-wrap .btn-primary {
  background: var(--live-orange) !important;
  border-color: var(--live-orange) !important;
  color: var(--live-dark) !important;
  font-weight: 600 !important;
}
.car-wrap .btn-primary:hover {
  background: #e09520 !important;
  border-color: #e09520 !important;
}

/* ==============================
   BLOG LIST — grid de cards
   ============================== */

/* Imagen más corta en las cards del blog */
.blog-list-page .block-20.img {
  height: 200px !important;
  border-radius: 8px 8px 0 0 !important;
}
.blog-list-page .blog-entry {
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(0,0,0,.07);
  transition: transform .25s ease, box-shadow .25s ease;
  background: #fff;
  width: 100%;
  margin-bottom: 28px;
}
.blog-list-page .blog-entry:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
}
.blog-list-page .blog-entry .text { padding: 20px 24px 24px; }
.blog-list-page .blog-entry .text .heading a { color: var(--live-text); }
.blog-list-page .blog-entry .text .heading a:hover { color: var(--live-orange); }

/* Hero páginas internas — compensar navbar fija */
.hero-wrap-2 {
  padding-top: 0;
}
/* Breadcrumb color naranja */
.hero-wrap-2 .breadcrumbs a { color: rgba(255,255,255,.8); }
.hero-wrap-2 .breadcrumbs a:hover { color: var(--live-orange); }
