/* ==========================================================
   zina-lite.css  —  reemplaza: bootstrap.min.css, animate.min.css,
   font-awesome-pro.css, themify-icons.css
   Solo contiene lo que index.html realmente usa.
   Cargar DESPUÉS de style.css.
   ========================================================== */

/* ---------- Reboot mínimo ---------- */
*,*::before,*::after{box-sizing:border-box}
body{margin:0}
h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}
p{margin-top:0;margin-bottom:1rem}
ul,ol{padding-left:2rem;margin-top:0;margin-bottom:1rem}
img,svg{vertical-align:middle}
img{max-width:100%;height:auto}
button{font-family:inherit;cursor:pointer}
[hidden]{display:none!important}

/* ---------- Grid ---------- */
.container,.container-fluid{width:100%;padding-right:.75rem;padding-left:.75rem;margin-right:auto;margin-left:auto}
@media(min-width:576px){.container{max-width:540px}}
@media(min-width:768px){.container{max-width:720px}}
@media(min-width:992px){.container{max-width:960px}}
@media(min-width:1200px){.container{max-width:1140px}}
@media(min-width:1400px){.container{max-width:1320px}}
.row{--gx:1.5rem;--gy:0;display:flex;flex-wrap:wrap;margin-top:calc(-1*var(--gy));margin-right:calc(-.5*var(--gx));margin-left:calc(-.5*var(--gx))}
.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(.5*var(--gx));padding-left:calc(.5*var(--gx));margin-top:var(--gy)}
.g-0{--gx:0;--gy:0}
.g-4{--gx:1.5rem;--gy:1.5rem}
.col-12{flex:0 0 auto;width:100%}
.col-6{flex:0 0 auto;width:50%}
@media(min-width:768px){
.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}
.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}
.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-12{flex:0 0 auto;width:100%}
.offset-md-1{margin-left:8.33333333%}}
@media(min-width:992px){
.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}
.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}
.col-lg-7{flex:0 0 auto;width:58.33333333%}
.offset-lg-1{margin-left:8.33333333%}
.d-lg-block{display:block!important}.mb-lg-0{margin-bottom:0!important}}

/* ---------- Utilidades ---------- */
.d-none{display:none!important}
.flex-column{flex-direction:column!important}
.align-items-center{align-items:center!important}
.justify-content-center{justify-content:center!important}
.justify-content-between{justify-content:space-between!important}
.position-relative{position:relative!important}
.text-center{text-align:center!important}
.text-white{color:#fff!important}
.bg-white{background-color:#fff!important}
.img-fluid{max-width:100%;height:auto}
.ms-auto{margin-left:auto!important}
.mb-4{margin-bottom:1.5rem!important}.mt-4{margin-top:1.5rem!important}.pt-0{padding-top:0!important}

/* ---------- Navbar / collapse (el JS de la página abre/cierra con .show) ---------- */
.collapse:not(.show){display:none}
.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 0}
.navbar>.container{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}
.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin:0;list-style:none}
.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}
.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;color:inherit;background:transparent;border:1px solid rgba(0,0,0,.15);border-radius:.375rem}
.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle}
.nav-link{display:block;padding:.5rem 1rem;text-decoration:none}
@media(min-width:992px){
.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}
.navbar-expand-lg .navbar-nav{flex-direction:row}
.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}
.navbar-expand-lg .navbar-toggler{display:none}}

/* ---------- Animaciones (WOW.js: fadeInUp / Left / Right) ---------- */
.animated{animation-duration:1s;animation-fill-mode:both}
@keyframes fadeInUp{from{opacity:0;transform:translate3d(0,40px,0)}to{opacity:1;transform:none}}
@keyframes fadeInLeft{from{opacity:0;transform:translate3d(-40px,0,0)}to{opacity:1;transform:none}}
@keyframes fadeInRight{from{opacity:0;transform:translate3d(40px,0,0)}to{opacity:1;transform:none}}
.fadeInUp{animation-name:fadeInUp}.fadeInLeft{animation-name:fadeInLeft}.fadeInRight{animation-name:fadeInRight}
@media(prefers-reduced-motion:reduce){.animated{animation:none!important;opacity:1!important}}

/* ---------- Iconos (SVG como máscara: 0 fuentes, 0 peticiones extra) ---------- */
i[class*="fa-"],i[class*="ti-"]{display:inline-block;width:1em;height:1em;vertical-align:-.125em;font-style:normal;line-height:1;
 background-color:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.fa-asterisk{--i:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%203v18M4.2%207.5l15.6%209M19.8%207.5l-15.6%209'/%3E%3C/svg%3E")}
.fa-arrow-down{--i:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%204v16M5%2013l7%207%207-7'/%3E%3C/svg%3E")}
.ti-arrow-right{--i:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4%2012h16M13%205l7%207-7%207'/%3E%3C/svg%3E")}
.ti-arrow-top-right{--i:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M7%2017%2017%207M8%207h9v9'/%3E%3C/svg%3E")}
.ti-angle-down{--i:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='m5%209%207%207%207-7'/%3E%3C/svg%3E")}
.ti-menu{--i:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4%206h16M4%2012h16M4%2018h16'/%3E%3C/svg%3E")}
.ti-location-pin{--i:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%2021s-7-6.2-7-11.5a7%207%200%200%201%2014%200C19%2014.8%2012%2021%2012%2021z'/%3E%3Ccircle%20cx='12'%20cy='9.5'%20r='2.5'/%3E%3C/svg%3E")}
.fa-star{--i:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='%23000'%3E%3Cpath%20d='m12%202%203.1%206.6%206.9.7-5.2%204.7%201.4%207-6.2-3.5L5.8%2021l1.4-7L2%209.3l6.9-.7z'/%3E%3C/svg%3E")}
.fa-clock{--i:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M12%207v5l3%202'/%3E%3C/svg%3E")}
.fa-bus{--i:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='4'%20y='3'%20width='16'%20height='15'%20rx='3'/%3E%3Cpath%20d='M4%2011h16M7%2021v-3M17%2021v-3M8%2014.5h.01M16%2014.5h.01'/%3E%3C/svg%3E")}
.fa-ticket{--i:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3%209V6h18v3a3%203%200%200%200%200%206v3H3v-3a3%203%200%200%200%200-6zM14%207v2M14%2011v2M14%2015v2'/%3E%3C/svg%3E")}
.fa-route{--i:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='6'%20cy='19'%20r='2'/%3E%3Ccircle%20cx='18'%20cy='5'%20r='2'/%3E%3Cpath%20d='M8%2019h8a3.5%203.5%200%200%200%200-7H8a3.5%203.5%200%200%201%200-7h8'/%3E%3C/svg%3E")}
.fa-shield-halved{--i:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='m12%203%208%203v6c0%205-3.5%208-8%209-4.5-1-8-4-8-9V6zM12%203v18'/%3E%3C/svg%3E")}
.fa-shield-heart{--i:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='m12%203%208%203v6c0%205-3.5%208-8%209-4.5-1-8-4-8-9V6z'/%3E%3Cpath%20d='M12%2015.5s-3-1.8-3-3.8a1.7%201.7%200%200%201%203-1%201.7%201.7%200%200%201%203%201c0%202-3%203.8-3%203.8z'/%3E%3C/svg%3E")}
.fa-headset{--i:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4%2014v-2a8%208%200%200%201%2016%200v2'/%3E%3Crect%20x='3'%20y='14'%20width='4'%20height='6'%20rx='1.5'/%3E%3Crect%20x='17'%20y='14'%20width='4'%20height='6'%20rx='1.5'/%3E%3Cpath%20d='M19%2020c0%201-2%202-5%202'/%3E%3C/svg%3E")}
.fa-percent{--i:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M19%205%205%2019'/%3E%3Ccircle%20cx='7'%20cy='7'%20r='2.5'/%3E%3Ccircle%20cx='17'%20cy='17'%20r='2.5'/%3E%3C/svg%3E")}
.fa-earth-americas{--i:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M3%2012h18M12%203c3%203%203%2015%200%2018M12%203c-3%203-3%2015%200%2018'/%3E%3C/svg%3E")}
.fa-hotel{--i:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='4'%20y='3'%20width='16'%20height='18'%20rx='1'/%3E%3Cpath%20d='M9%2021v-4h6v4M8%207h2M14%207h2M8%2011h2M14%2011h2'/%3E%3C/svg%3E")}
.fa-facebook-f{--i:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='%23000'%3E%3Cpath%20d='M14%2021v-8h3l.5-3.5H14V7.5c0-1%20.4-1.6%201.7-1.6h1.9V3a22%2022%200%200%200-2.7-.2c-2.7%200-4.4%201.6-4.4%204.2v2.5h-3V13h3v8z'/%3E%3C/svg%3E")}
.fa-instagram{--i:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3'%20y='3'%20width='18'%20height='18'%20rx='5'/%3E%3Ccircle%20cx='12'%20cy='12'%20r='4'/%3E%3Cpath%20d='M17.5%206.5h.01'/%3E%3C/svg%3E")}

/* ==========================================================
   MODAL  —  base mínima (sustituye a bootstrap.min.css)
   Transiciones cortas y sin delay para que NO "arranque tarde".
   ========================================================== */
.modal{
  position:fixed;top:0;left:0;z-index:1055;
  display:none;width:100%;height:100%;
  overflow-x:hidden;overflow-y:auto;outline:0;
  -webkit-overflow-scrolling:touch;
}
.modal.show{display:block}
.modal-dialog{
  position:relative;width:auto;margin:.5rem;
  pointer-events:none;
  transform:translateY(-25px);
  opacity:0;
  transition:transform .2s ease-out,opacity .2s ease-out;
  will-change:transform,opacity;
}
@media(min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}}
.modal.show .modal-dialog{transform:none;opacity:1}
/* Si el HTML trae .fade en el .modal, forzamos la misma transición corta */
.modal.fade .modal-dialog{transition:transform .2s ease-out,opacity .2s ease-out}
.modal-content{
  position:relative;display:flex;flex-direction:column;width:100%;
  pointer-events:auto;background-color:#fff;background-clip:padding-box;
  border:1px solid rgba(0,0,0,.2);border-radius:.5rem;outline:0;
}
.modal-backdrop{
  position:fixed;top:0;left:0;z-index:1050;
  width:100vw;height:100vh;background-color:#000;
  opacity:0;transition:opacity .15s linear;
}
.modal-backdrop.show{opacity:.5}
.modal-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem;border-bottom:1px solid #dee2e6;
}
.modal-title{margin-bottom:0;line-height:1.5}
.modal-body{position:relative;flex:1 1 auto;padding:1rem}
.modal-footer{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;
  padding:.75rem;border-top:1px solid #dee2e6;
}
.btn-close{
  box-sizing:content-box;width:1em;height:1em;padding:.25em;
  color:#000;background:transparent;border:0;border-radius:.25rem;
  opacity:.5;cursor:pointer;
}
.btn-close:hover{opacity:.75}
body.modal-open{overflow:hidden;padding-right:0}
/* Respeto a reduced motion también en el modal */
@media(prefers-reduced-motion:reduce){
  .modal-dialog,.modal.fade .modal-dialog,.modal-backdrop{transition:none!important}
  .modal-dialog{transform:none!important;opacity:1!important}
}