:root{
    --color-primary: #FC4B08;
    --color-white: #ffffff;
    --color-gray : #cecece;
}
body{
    font-family: "Lato", sans-serif;
    color: var(--color-white);
    overflow-x: hidden;
}
img{
    max-width: 100%;
    max-height: 100%;
}
h1{
    font-family: 'Kulturista';
}
.color-primary{
    color: var(--color-primary);
}
a{
    text-decoration: none;
    color: var(--color-white);
}


/* ------------------------------ */
header{
    padding: 40px 0;
    z-index: 9;
}
.logo{
    width: 130px;
}
.content-menu{
    background: var(--color-primary);
    padding: 4px 8px;
    border-radius: 25px;
}
.menu{
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    width: 100%;
    align-items: center;
}
.menu-item{
    flex: 1;
    text-align: center;
}
.menu-item .nav-link{
    font-family: "Inter", sans-serif;
    display: block;
    width: 100%;
    padding: 4px 12px;
    color: var(--color-white);
    text-decoration: none;
}

/* opcional: estado activo/hover */
.menu-item .nav-link.active,
.menu-item .nav-link:hover{
    opacity: 0.95;
}

/* ---------------------------------------------------- */
.home{
    background-image: url(../img/banner-tacos-min.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.wrapper-home{
    text-align: center;
    padding: 60px 0 60px 0 ;
}
.wrapper-home .titulo-1{
    font-size: 54px;
}
.wrapper-home .titulo-2{
    font-size: 36px;
    margin-bottom: 50px;
}
.wrapper-home p{
    font-size: 17px;
    font-weight: 600;
    margin-bottom: 95px;
}
.boton{
    background: var(--color-gray);
    color: var(--color-primary);
    font-family: "Lato", sans-serif;
    font-weight: bold;
    text-decoration: none;
    padding: 10px 20px;
    border-radius: 25px;
    display: inline-block;
}




/* ---------------------------------------------------- */
.eventos{
    background-image: url(../img/fondo-evento-min.jpg);
    background-position: top center;
    background-size: cover;
    background-repeat: no-repeat;
}
.box-eventos{
    padding: 130px 0;

}
.eventos-title h3{
    margin-bottom: 40px;
    font-weight: 600;
    font-size: 42px;
}
.eventos-title h3 span{
    font-weight: 300;
}
.eventos-title{
    padding-right: 80px;
}
.wrapper-eventos{
    max-width: 410px;
}
.wrapper-eventos p{
    font-size: 18px;
}




/* ------------ */
.paquetes{
    background-image: url(../img/fondo-paquetes-min.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
#paquetes h2{
    font-weight: 600;
    font-size: 50px;
    padding-bottom: 30px;
}
.info-paquetes{
    padding: 40px 0;
}
.titulo-paquete{
    background: var(--color-primary);
    text-align: center;
    border-radius: 38px;
    display: inline-block;
    padding: 4px 24px;
}
.titulo-paquete h4{
    margin: 0;
    font-size: 20px;
}
.paquete{
    text-align: center;
}
.box-paquete{
    background-image: url(../img/recuadro-min.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    margin-top: 20px;
    border-radius: 40px;
}
.paquete-imagen{
    padding: 45px 40px 15px 40px;
    height: 200px;
    display: flex;
}
.paquete-imagen img{
    margin: auto;
    max-height: 100%;
}
.paquete-text{
    padding-bottom: 80px;
    padding-left: 20px;
    padding-right: 20px;

}
.paquete-text h5{
    font-weight: 700;
    font-size: 26px;
    font-family: "Lato", sans-serif;
}
.paquete-text div {
    height: 68px;
}
.imp1{ width: 90px; }
.imp2{ width: 170px; }
.imp3{ width: 90px; }
.imp4{ width: 90px; }
.imp5{ width: 140px; }
.col-paq{
    margin-bottom: 25px;
}



/* ---------------------------- */
#servicios{
    background: url(../img/fondo-servicios-tacos-min.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
#servicios{
    padding: 80px 0;
}
#servicios h2{
    font-family: "Lato", sans-serif;
    font-weight: 600;
    font-size: 70px
}
#servicios h6{
    font-family: "Lato", sans-serif;
    font-weight: 600;
    font-size: 25px;
}
.wrapper-servicios{
    padding: 40px 0 90px 0;
}
.servicio-txt{
    display: flex;
    text-align: center;
}
.servicio-txt p{
    margin: auto;
    font-size: 18px;
    font-weight: bold;
}
.servicio-img{
    width: 100px;
    margin-right: 10px;
    display: flex;
}
.servicio-img img{
    margin: auto;
    max-height: 100px;
}
 


/* ------------------ */
#contacto{
    background: #000;
    padding: 50px 0;
}
.cont-wrapper-1{
    padding: 10px 18px;
    font-family: "Montserrat", sans-serif;
}
.cont-wrapper-1 p{
       font-family: "Montserrat", sans-serif;
}
.cont-wrapper-1 img{
    width: 80px;
}
.dir{
    margin-top: 10px;
    margin-bottom: 25px;
    font-weight: bold;
}
.cont-wrapper-2{
    margin-bottom: 35px;
}
.mapa{
    padding: 130px 30px;
}
iframe{
    border-radius: 40px;
}
.contacto-c1{
    padding: 0 28px;
}

.cont-wrapper-2 h3{
    font-size: 34px;
}
.cont-wrapper-2 p{
    font-weight: 300;
    font-size: 22px;
}
.form-control{
    background: transparent;
    border: 2px solid var(--color-primary);
    border-radius: 20px;
     font-family: "Montserrat", sans-serif;
     color: var(--color-white);
     font-weight: bold;
}
.form-control::placeholder{
     font-family: "Montserrat", sans-serif;
     color: var(--color-white);
     font-weight: bold;
}
.form-control:focus {
  color: var(--color-white);
  background-color: transparent;
  border-color: var(--color-primary);
  outline: 0;
  box-shadow: 0 0 0 .25rem rgba(252, 75, 8,.25);
}
.btn-primary, .btn-primary:active, .btn-primary:focus {
    font-family: "Montserrat", sans-serif;
    background: transparent !important;
    font-weight: 500;
    border-radius: 20px;
    border: 2px solid var(--color-primary) !important;
}
.btn-primary:hover {
    background: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}

/* --------------------- */
footer{
    padding: 30px 0;
    text-align: center;
    background: var(--color-primary);
}
.tel{
    display: flex;
    width: 50%;
    position: relative;
}
.tel p{
  margin: 0 15px 0 auto;  
}
.mail{
    display: flex;
    width: 50%;
}
.mail p{
  margin: 0 auto 0 15px;  
}
.tel::after{
    top: 0;
    right: 0px;
    width: 1px;
    content: "";
    height: 26px;
    position: absolute;
    background: var(--color-white);
}

footer h6{
    font-weight: bold;
    font-size: 32px;
    margin-bottom: 12px;
}

.modal-content{
    color: var(--color-white);
    background: rgba(252, 75, 8, .9); 
    border: 0;
}
.modal-body {
  padding: 80px 50px;
}
.modal-body p , .modal-body li {
        font-family: "Lato", sans-serif;
        font-weight: 400;
        font-size: 20px;
}
.modal-body h4 , .modal-body h5 {
            font-family: "Lato", sans-serif;
        font-weight: 800;
}
.modal-body h4 {
    font-size: 30px;
}
.btn-cerrar{
    background: var(--color-white);
    color: var(--color-primary);
    border-radius: 50%;
    border: 00;
    position: absolute;
    right: 48px;
    top: 38px;
    font-size: 18px;
    font-weight: bold;
    margin: 0;
    line-height: 1;
    padding: 6px 9px;
}
.carousel-inner {
  position: relative;
  width: 80%;
  overflow: hidden;
  margin: auto;
}
.carousel-control-next {
  right: -20px;
}
.carousel-control-prev {
  left: -20px;
}
.carousel {
  position: relative;
  height: 100%;
}
.img-galeria{
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.carousel-inner{
    border-radius: 40px;
}
.flechas{
    background: #000;
    border-radius: 50%;
}


.whatsapp{
    position: fixed;
    right: 20px;
    bottom: 20px;
    width: 69px;
    background: transparent;
    border-radius: 2px;
    padding: 6px;
}
.whatsapp svg{
    fill: #25d366
}


.error_input{
    color: #ad314e;
    font-size: 12px ;
}

.copy{
    font-size:12px;
}


.copy a:hover{
    color: #000;
}




/* --- Animaciones base --- */
.scroll-anim {
  opacity: 0;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  will-change: opacity, transform;
  transition-delay: var(--delay, 0s);
}


/* Fade Up */
.fade-up {
  transform: translateY(30px);
}
.fade-up.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Fade Left */
.fade-left {
  transform: translateX(-30px);
}
.fade-left.visible {
  opacity: 1;
  transform: translateX(0);
}

/* Fade Right */
.fade-right {
  transform: translateX(30px);
}
.fade-right.visible {
  opacity: 1;
  transform: translateX(0);
}

/* Zoom In */
.zoom-in {
  transform: scale(0.8);
}
.zoom-in.visible {
  opacity: 1;
  transform: scale(1);
}

/* Nuevas animaciones recomendadas (añadir después de .zoom-in y similares) */

/* Fade Down */
.fade-down { transform: translateY(-30px); }
.fade-down.visible { opacity: 1; transform: translateY(0); }

/* Slide in left / right */
.slide-left { transform: translateX(-30px); }
.slide-left.visible { opacity: 1; transform: translateX(0); }

.slide-left-2 { transform: translateX(-60px); }
.slide-left-2.visible { opacity: 1; transform: translateX(0); }

.slide-right { transform: translateX(30px); }
.slide-right.visible { opacity: 1; transform: translateX(0); }

/* Rotate in */
.rotate-in { transform: rotateZ(-12deg) translateY(10px) scale(.98); transform-origin: center; }
.rotate-in.visible { opacity: 1; transform: rotateZ(0) translateY(0) scale(1); }

/* Blur -> clear (nice for hero images/text) */
@keyframes blurToClear {
  from { filter: blur(6px); opacity: 0; transform: translateY(10px); }
  to   { filter: blur(0); opacity: 1; transform: translateY(0); }
}
.blur-in { opacity: 0; transform: translateY(10px); }
.blur-in.visible { animation: blurToClear 0.7s ease forwards; }

/* Flip in (Y axis) */
.flip-in { transform: perspective(800px) rotateY(-20deg); backface-visibility: hidden; transform-origin: center; }
.flip-in.visible { opacity: 1; transform: perspective(800px) rotateY(0deg); }

/* Pulse (for CTAs) */
@keyframes pulseOnce {
  0% { transform: scale(0.98); box-shadow: none; }
  50% { transform: scale(1.03); box-shadow: 0 6px 18px rgba(3,31,106,0.12); }
  100% { transform: scale(1); box-shadow: none; }
}
.pulse-once.visible { animation: pulseOnce 0.5s ease; }

/* Stagger helper: usar data-delay o inline style --delay: 0.12s etc. */
[data-anim-delay] { transition-delay: var(--delay, 0s); }
[data-anim-delay].visible { transition-delay: var(--delay, 0s); }

/* Accesibilidad: respetar prefer-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .scroll-anim,
  .fade-up, .fade-left, .fade-right, .fade-down,
  .slide-left, .slide-right, .zoom-in, .rotate-in,
  .blur-in, .flip-in, .pulse-once {
    transition: none !important;
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}



header.scrolled {
    padding:0;
    transition: all 500ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
    width: 100%;
    position: fixed;
    transition: all 500ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

header.scrolled .logo{
    display: none;
}




@media (max-width: 1200px) {
    .modal-xl {
        --bs-modal-width: 90%;
    }
}




@media (max-width: 992px) {
    .serv-r-2{
        padding-top: 40px;
    }
    .img-galeria{
        height: 400px !important;
    }

}

@media (max-width: 768px) {
    .mapa {
        padding: 40px 30px;
    }
    #contacto {
        padding: 20px 0;
    }

    .wrapper-home .titulo-1 {
       font-size: 51px;
    }
    .wrapper-home {
        padding: 30px 0 30px 0;
    }
    .wrapper-home .titulo-2 {
        font-size: 34px;
    }

    .box-eventos {
        padding: 50px 0;
    }

    #paquetes h2 {
        font-size: 44px;
    }
    .paquete-text h5 {
        font-size: 24px;
    }

    .titulo-paquete h4 {
        font-size: 18px;
    }
    #servicios h2 {
        font-size: 50px;
    }

    #servicios {
        padding: 30px 0;
    }

    .tel{
        margin: auto;
    }

    .modal-body p, .modal-body li {
        font-size: 18px;
    }

}



@media (max-width: 576px) {
    .wrapper-home .titulo-1 {
        font-size: 32px;
    }
    .wrapper-home .titulo-2 {
        font-size: 23px;
    }
    .wrapper-home p {
        font-size: 15px;
    }
    .content-menu {
        padding: 2px 6px;
        margin-top: 8px;
    }
    .eventos-title h3 {
        font-size: 35px;
    }
    .wrapper-eventos p {
        font-size: 16px;
    }
    .wrapper-eventos {
        max-width: 354px;
    }
    .box-eventos {
        padding: 40px 0;
    }
    .eventos {
        background-position: 70% center;
    }
    .wrapper-eventos p {
        font-size: 16px;
    }
    .box-paquete {
        margin-top: 20px;
        max-width: 260px;
        margin-left: auto;
        margin-right: auto;
        width: 260px;
    }
    #paquetes h2 {
        font-size: 40px;
    }
    .col-paq {
        margin-bottom: 15px;
    }
    .wrapper-servicios {
        padding: 20px 0 50px 0;
    }
    #servicios h2 {
        font-size: 38px;
    }
    #servicios h6 {
        font-size: 22px;
    }
    .serv-r-1{
        padding-top: 40px;
    }

    iframe {
        height: 330px;
    }
    .datos-contacto{
        display: block !important;
    }
    .tel::after {
        display: none;
    }
    .tel, .mail{
        margin: 0;
        display: initial;
    }

    .modal-body p, .modal-body li {
        font-size: 16px;
    }
    .img-galeria {
        height: 270px !important;
    }


    header.scrolled {
        width: 330px;
        
        left: 0;
        right: 0;
        margin: auto;
    }

}