
:root {
    
    /* Colores */
    --rosa: #DF3987;
    --grisc: #E6E5E5;
    --griso: #333333;
}

@font-face {
    font-family: 'Regular'; /* Nombre que darás a la fuente */
    src: url('../../fonts/LexendDeca-Regular.woff2') format('woff2'); /* Ruta a la fuente */
    font-weight: normal;
    font-style: normal;
    font-display: swap; /* Permite un reemplazo rápido mientras carga */
}

@font-face {
    font-family: 'Light'; /* Nombre que darás a la fuente */
    src: url('../../fonts/LexendDeca-Light.woff2') format('woff2'); /* Ruta a la fuente */
    font-weight: normal;
    font-style: normal;
    font-display: swap; /* Permite un reemplazo rápido mientras carga */
}

@font-face {
    font-family: 'Bold'; /* Nombre que darás a la fuente */
    src: url('../../fonts/LexendDeca-Bold.woff2') format('woff2'); /* Ruta a la fuente */
    font-weight: normal;
    font-style: normal;
    font-display: swap; /* Permite un reemplazo rápido mientras carga */
}

html {

  box-sizing: border-box !important; 
  scroll-snap-type: y proximity !important;

}


*, *:before, *:after {
    box-sizing: inherit !important;
}

h1, h2{font-family: 'Bold', sans-serif; color: var(--rosa);}

h3{font-family: 'Bold', sans-serif;}

p{font-family: 'Regular', sans-serif;}

a{text-decoration: none;}

a, li{font-family: 'Bold', sans-serif;}

.v-icon{font-family: 'Bold', sans-serif;}

.title-section{
    color: var(--rosa);
    font-size: 2.5rem;
    text-transform: uppercase;
}

.text-section{
    font-size: 1.1rem;
    width: 95%;
}

.ypadding-section{padding: 2.5rem 0rem 1rem 0rem !important;}

[v-cloak]{display: none !important;}

#app{background: var(--grisc) !important;}

/* .markborder{border: solid 1px var(--rosa);} */
.markbackground{background-color: var(--grisc);}
/* .whitemarker{border:  solid 1px white;} */
.anyborder{border: solid 1px #25d366;}

.v-row{
    margin: 0 !important;
    padding: 0 !important;
}

.v-col{
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important; /* Centra verticalmente todo el contenido de la columna */
}

/* Margen principal */
.main-margin{
    width: calc(100% - 2rem);
    margin: 0rem 1rem;
    max-width: 100%;
    padding: 1rem 0;
}

/* HeaderMenu */
.headermenu{display: flex;}

.headermenu {
    width: 100%;
    height: 3.5rem; /* Establece una altura fija */
    display: flex;
    align-items: center; /* Centra verticalmente el contenido */
    padding: 0rem 1rem; /* Ajusta el espacio interno */
    position: fixed;
    background-color: var(--grisc);
    z-index: 3;
    /* border: 1px solid red; */
}

.sidebar{
    background-color: var(--rosa) !important;
    display: flex;
    justify-content: center !important;
}

.v-navigation-drawer--bottom.v-navigation-drawer--is-mobile{max-height: 63%;}

.v-navigation-drawer__content{height: 70%;}

.msj_drawer{
    margin: 0 auto;
    width: 80%;
}

.desktop_menu{
    /* border: 1px solid red; */
    padding: .6rem 0rem;
    list-style: none !important;
    justify-content: space-between;
    text-transform: uppercase;
    margin: auto;
}

.desktop_menu li{
    cursor: pointer;
    color: var(--rosa);
    transition: color 0.6s ease;
    
}

.desktop_menu a{
    font-weight: normal !important;
}

.desktop_menu li:hover{
    color: var(--griso);
}

.headermenu_logo_mov{
    display: flex;
        justify-content: center; /* Centra horizontalmente el logo */
        align-items: center; /* Centra verticalmente el contenido */
        height: 100%; /* Asegura que el logo ocupe el mismo espacio que las demás columnas */
}

.headermenu_logo_mov img{
    /* width: 50%; */
    width: auto; /* Permite que la imagen mantenga su proporción */
    height: 2.5rem; /* Define una altura adecuada */
    max-height: 100%; /* Asegura que no exceda el espacio de su contenedor */
    display: block; /* Elimina cualquier espacio adicional de inline elements */
    margin: 0 auto; /* Centra horizontalmente si hay espacio sobrante */
}

/* WhatsApp flotante */

@keyframes breathing {
    0% {
      transform: scale(1);
      box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.2);
    }
    50% {
      transform: scale(1.1);
      box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.3);
    }
    100% {
      transform: scale(1);
      box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.2);
    }
  }

.whatsapp-float {
    position: fixed;
    bottom: 2.5rem;
    right: 2.5rem;
    z-index: 100;
    background-color: #25d366;
    border-radius: 50%;
    box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.3);
    padding: .8rem;
    /* transition: transform 0.3s ease, opacity 0.3s ease; */
    animation: breathing 2s infinite ease-in-out; /* Animación continua */
}

.whatsapp-float:hover {
    opacity: 0.9;
    box-shadow: 0 0 10px 3px rgba(135, 211, 37, 0.7) !important;
}


/********************************* Banner section *********************************/

.fade-enter-active,
.fade-leave-active {
  transition: opacity 1s ease;
}

.fade-enter-from {
  opacity: 0.5;
}

.fade-enter-to,
.fade-leave-from {
  opacity: 1;
}

.fade-leave-to {
  opacity: 0;
}

/* Estilo general del banner */
.mainbanner {
    position: relative;
    background: linear-gradient(0deg, rgb(222, 71, 212) 0%, rgba(198, 98, 171, 0.733) 41%, rgb(229, 212, 231) 100%);
    margin-top: 3.5rem;
    height: 33rem;
    overflow: hidden;
}

.bubbles-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
    top: 0;
    left: 0;
    pointer-events: none;
}

.bubble {
    position: absolute;
    bottom: -60px;
    background-color: rgba(255, 255, 255, 0.277);
    border-radius: 50%;
    animation: rise linear infinite;
    opacity: 1;
}

/* Distribuye 20 burbujas en diferentes posiciones y tamaños */
.bubble:nth-child(1)  { left: 5%;  width: 18px; height: 18px; animation-duration: 18s; }
.bubble:nth-child(2)  { left: 10%; width: 8px;  height: 8px;  animation-duration: 22s; }
.bubble:nth-child(3)  { left: 15%; width: 14px; height: 14px; animation-duration: 20s; }
.bubble:nth-child(4)  { left: 20%; width: 6px;  height: 6px;  animation-duration: 25s; }
.bubble:nth-child(5)  { left: 25%; width: 10px; height: 10px; animation-duration: 19s; }
.bubble:nth-child(6)  { left: 30%; width: 16px; height: 16px; animation-duration: 17s; }
.bubble:nth-child(7)  { left: 35%; width: 9px;  height: 9px;  animation-duration: 23s; }
.bubble:nth-child(8)  { left: 40%; width: 13px; height: 13px; animation-duration: 21s; }
.bubble:nth-child(9)  { left: 45%; width: 7px;  height: 7px;  animation-duration: 26s; }
.bubble:nth-child(10) { left: 50%; width: 11px; height: 11px; animation-duration: 20s; }
.bubble:nth-child(11) { left: 55%; width: 14px; height: 14px; animation-duration: 19s; }
.bubble:nth-child(12) { left: 60%; width: 10px; height: 10px; animation-duration: 25s; }
.bubble:nth-child(13) { left: 65%; width: 6px;  height: 6px;  animation-duration: 22s; }
.bubble:nth-child(14) { left: 70%; width: 13px; height: 13px; animation-duration: 18s; }
.bubble:nth-child(15) { left: 75%; width: 8px;  height: 8px;  animation-duration: 24s; }
.bubble:nth-child(16) { left: 80%; width: 18px; height: 18px; animation-duration: 20s; }
.bubble:nth-child(17) { left: 85%; width: 7px;  height: 7px;  animation-duration: 26s; }
.bubble:nth-child(18) { left: 90%; width: 10px; height: 10px; animation-duration: 21s; }
.bubble:nth-child(19) { left: 95%; width: 9px;  height: 9px;  animation-duration: 23s; }
.bubble:nth-child(20) { left: 98%; width: 11px; height: 11px; animation-duration: 19s; }

@keyframes rise {
  0% {
    transform: translateY(0) scale(1.2);
    opacity: 0.8;
  }
  100% {
    transform: translateY(-120vh) scale(1.8);
    opacity: 0.8;
  }
}


.mainbanner .img_cont {
    position: relative;
    height: 100%;
    width: 100%;
    overflow: hidden;
}

.mainbanner__img {
    width: 100%;
    height: 100%;
    position: absolute;
    opacity: 0;
    transition: opacity 3s ease;
    will-change: opacity, transform;
}

.mainbanner__img.fade-active {
    opacity: 1;
}


.pinkline{
    width: 100%;
    height: 2rem;
    background-color: var(--rosa);
}

/********************************* Services section *********************************/

.services__carrousel {
    position: relative;
    width: 100%;
    /* max-width: 1200px; */
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}


.carrousel-mobile {
  position: relative;
  width: 100%;
  max-width: 340px;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 2rem;
}

.carrousel-background{
    position: absolute;
    width: 100%;
    height:auto;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 0;
}

.carrousel-background img {
    margin: auto;
    width: 17rem;
    height: 100%;
}

/* Mobile: imagen arriba del fondo */
.carrousel-mobile .carrousel-img {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.carrousel-mobile .carrousel-img img {
  width: 78%;
  transition: transform 0.3s ease-in-out;
}


/* Transición de deslizamiento hacia la izquierda */
.slide-left-enter-active, .slide-left-leave-active {
    transition: transform 0.2s ease;
}

.slide-left-enter {
    transform: translateX(100%);
}

.slide-left-leave-to {
    transform: translateX(-100%);
}

/* Transición de deslizamiento hacia la derecha */
.slide-right-enter-active, .slide-right-leave-active {
    transition: transform 0.2s ease;
}

.slide-right-enter {
    transform: translateX(-100%);
}

.slide-right-leave-to {
    transform: translateX(100%);
}


.carrousel-img{
    width: 100%;
    position: absolute;
    /* border: 1px solid yellow; */
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: auto;
}

.carrousel-img img{
    width: 78%;
    text-align: center;
    /* border: solid 1px blue; */
    transition: transform 0.3s ease-in-out !important;
}

.carrousel-img img:hover{
    transform: scale(1.3) !important;
}

 .carrousel-controls {
    width: 100%;
    margin: auto;
    display: flex;
    justify-content: space-between;
    gap: 4rem;
    margin-top: 1.6rem;
    /* border: 1px solid black; */
    max-width: 15rem;
}

.carrousel-controls img{
    width: 100% !important;
}

.cards__services{
    padding: .3rem 1rem 1rem 1rem;
    background-color: var(--grisc) !important;
    border: solid 2px var(--rosa) !important;
    /* height: auto; */
}
.backgrou{
    display: flex;
    justify-content: center;

    background-image: url('../img/servicios/fondo_individual.png');
    background-size: 50% 100%;
    background-position: center;
    margin-bottom: 1rem;
}

.backgrou img{
    width: 8rem !important;
}


/****************************** ESTACIONES SECTION *********************************/

.estaciones{position: relative;}

.estaciones_ctn{
    height:5rem;
    /* border: 1px solid purple; */
    display:flex;
    align-items: center;
    justify-content: center;
    padding: 4.5rem 1rem;
}

.estaciones__title{
    font-size: 1.5rem;
    color: var(--rosa);
}

.estaciones__slider{
    height: 13rem;
    display: flex;
    justify-content: center;
    align-items: start;
    /* border: 1px solid green; */
}

.estaciones__slider h2{
    font-size: 3rem;
    text-align: center;
    line-height: 4.3rem;
}

/* Texto: aparecer/desaparecer deslizándose */
.fade-slide-enter-active, .fade-slide-leave-active {
  transition: all 0.5s ease;
}
.fade-slide-enter-from {
  opacity: 0;
  transform: translateY(-10px);
}
.fade-slide-leave-to {
  opacity: 0;
  transform: translateY(10px);
}


.estaciones__road .truck{
    margin: 0 auto;
    width: 23rem;
    /* border: 1px solid black; */
    position: absolute;
    z-index:2;
    top: 13.5rem;
    right: 0;
    left: 0;
}

.slide-right-enter-active,
.slide-right-leave-active {
  transition: all 0.6s ease;
  position: absolute; /* Evita empujar otros elementos al salir */
}

.slide-right-enter-from {
  opacity: 0;
  transform: translateX(-100px);
}

.slide-right-leave-to {
  opacity: 0;
  transform: translateX(200px); /* Sale hacia la derecha */
}
.estaciones__controls {
    height: 9rem;
    background-color: var(--rosa);
    display: flex;
    flex-direction: column; /* Esto es lo importante */
    justify-content: center;
    align-items: center;
    gap: 1rem; /* espacio entre dots y botón */
}


.controls__dots {
  display: flex;
  justify-content: center;
  gap: 1.8rem;
  /* gap: 10px;
  margin-bottom: 60px; */
}

.dot {
  width: 1rem;
  height: 1rem;
  background-color: #ffffff70;
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 0.3s;
  margin-bottom: .5rem;
}

.dot.active {
  background-color: #ffffff; /* color del tema primario */
}

.controls__btn .v-btn{
    font-size: 1.9rem !important;
    padding: 1.7rem 3rem !important;
    font-family: 'Regular';
}

.cards{
    padding: 0rem 1rem 1rem 1rem;
    background-color: var(--grisc) !important;
    border: solid 2px var(--rosa) !important;
    height: auto;
}

.cards .cards__title{
    font-size: 2.4rem !important;
    text-align: center;
}

.cards .cards__text{
    font-size: 1.2rem !important;
    text-align: justify;
    margin-top: .6rem;
}

.cards h3{
    font-size: 1.5rem;
    color: var(--griso);
    margin-top: .5rem;
}

.cards__markers a{color: var(--rosa) !important;}
.cards__markers .v-icon{color: var(--rosa) !important;}

/********************************* Nosotros section *********************************/

.weare__background{
    background: linear-gradient(
        to top, 
        rgb(223, 59, 136) 0%,           /* Rosa original */
        rgb(235, 120, 170) 10%,         /* Rosa medio */
        rgb(248, 192, 218) 30%,         /* Rosa muy claro */
        rgba(255, 255, 255, 0) 100%
    );
    
}

.weare__image{
    height: auto;
    width: 100%;
    margin: auto;
    display: flex;
    justify-content: center;
}

.weare__image img{
    width: 24.5rem;
}

.weare__text{
    padding-top: 2rem;
}

.weare__options{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
}

.weare__options-btn{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    padding: 0.5rem;
    transition: all 0.3s ease;

     touch-action: manipulation;
    -webkit-user-select: none;
    user-select: none;
}

.weare__options-btn img{
    width: 5rem;
    transition: transform 0.2s ease;
    filter: grayscale(0.5);
}

.weare__options-btn span {
    font-size: 0.9rem;
    font-weight: 600;
    color: #333;
    text-align: center;
    letter-spacing: 1px;
    transition: color 0.3s ease;
}

.weare__options-btn:hover img {
  transform: scale(1.05);
  filter: grayscale(0);
}

.weare__options-btn:hover span {
  color: #DF3987 !important;
}

.weare__options-btn.active span{
  color: #DF3987 !important;
}


/* Transición para las imágenes */
.fade-image-enter-active, .fade-image-leave-active {
  transition: all 0.4s ease;
}

.fade-image-enter {
  opacity: 0;
  transform: scale(0.95);
}

.fade-image-leave-to {
  opacity: 0;
  transform: scale(1.05);
}

/* *****************************Video Section**************************************** */
.video-container {
  width: 100%;
  max-width: 900px;
  height: auto;
  display: block;
  margin: auto;
  /* border-radius: 12px; */
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}



/* *****************************Contact Section**************************************** */

/* .top-margin{margin-top: 2.5rem !important;} */

.contact__title{
    color: var(--griso);
    font-size: 2rem;
}

.contact__phone{
    color: var(--rosa) !important;
    font-size: 1.5rem;
}

.contact__btn-send{
    color: var(--rosa) !important;
}

/* Cambia el color del label y el borde al obtener el foco */
.custom-text-field input:focus {
    border-color: var(--rosa) !important; /* Color rosa */
    outline: none;
  }
  
  .custom-text-field .v-input__control:focus-within {
    border-color: var(--rosa) !important; /* Color rosa */
  }
  
  .custom-text-field .v-label {
    color: var(--rosa) !important; /* Cambia el color del label al seleccionar */
  }

.v-text-field.v-text-field--enclosed .v-text-field__details{
    display: none !important;
}

.foot{
    background-color: var(--griso);
    color: white;
}

.foot .foot__socials{
    display: flex;
    flex-direction: column;
    align-items: center;
}

.foot__socials .v-icon{
    color: white;
    transition: color 0.6s ease;
}

.foot__socials .v-icon:hover{
    color: var(--rosa) !important;
}

.foot__locations a{
    color: white !important;
    transition: color 0.6s ease;
}

.custom-icon{
    width: 22px;
    height: 22px;
    display: inline-block;
    vertical-align: middle;
    transition: color 0.6s ease;
}

/* .foot__socials .custom-icon:hover{
    background-color: var(--rosa) !important;
} */