/* =========================================================
   PRINCIPAL
========================================================= */

body{
  font-family: 'Poppins', sans-serif;
}

h1,h2,h3{
  font-family: 'Raleway', sans-serif !important;
  font-weight:600;
}

p{
  font-size: 15px;
  line-height: 1.7;
}

h1{
  font-size: 2.6rem;
}

h2{
  font-size: 2rem;
}

h3{
  font-size: 1.6rem;
}


/* =========================================================
   📱 BOTÓN HAMBURGUESA
========================================================= */

.menu-btn {
  position: fixed;
  top: 22px;
  right: 20px;
  font-size: 2.2rem;
  background: none;
  border: none;
  display: none;
  z-index: 1200;
}


/* =========================================================
📱 RESPONSIVE PROFESIONAL CELULAR
========================================================= */

@media (max-width: 768px){


.menu-btn{
display:block;
top:20px;
right:18px;
font-size:2rem;
}


/* SECCIONES */

section{
padding:70px 20px;
}

/* TARJETAS CULTURA */

.tour-card{
margin-bottom:25px;
}

.tour-title{
font-size:0.9rem;
}

.tour-content h4{
font-size:1rem;
}

.tour-content p{
font-size:0.85rem;
}

/* ORIGEN */

.content h3{
font-size:1.6rem;
}

.content p{
font-size:0.9rem;
line-height:1.6;
}

/* IMÁGENES */

.about-image img{
margin-top:20px;
}


/* NOTICIAS */

.destination-info h4{
font-size:1rem;
}

.destination-info p{
font-size:0.85rem;
}

/* FOOTER */

.footer-top{
text-align:center;
}

.footer-links ul{
padding-left:0;
}

.social-links{
justify-content:center;
margin-top:10px;
}

}


/* SECCION ESTADISTICAS */

.stats-row{
display:flex;
justify-content:space-between;
gap:20px;
margin-top:25px;
flex-wrap:wrap;
}

.stat-item{
flex:1;
min-width:90px;
text-align:center;
}

.stat-item span{
font-size:2.2rem;
font-weight:600;
color:#7a7a7a;
display:block;
}

.stat-label{
font-size:0.85rem;
color:#555;
margin-top:5px;
}



/* ==========================
   CHATBOT FLOTANTE PRO
========================== */

.chatbot-container{
  position: fixed;
  bottom: 25px;
  right: 25px;
  z-index: 9999;
  font-family: "Poppins", sans-serif;
}

/* BOTÓN FLOTANTE */
.chatbot-btn{
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: linear-gradient(135deg, #0d4350, #5fa6c6);
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  box-shadow: 0px 15px 40px rgba(0,0,0,0.25);
  transition: 0.3s ease;
}

.chatbot-btn:hover{
  transform: scale(1.08);
}

.chatbot-btn img{
  width: 62px;
  height: 62px;
}


/* CAJA */
.chatbot-box{
  width: 350px;
  height: 480px;
  border-radius: 25px;
  background: #f4f7fb;
  position: absolute;
  bottom: 90px;
  right: 0;

  overflow: visible; /* 🔥 CAMBIAR ESTO */
  display: none;
  flex-direction: column;

  box-shadow: 0 25px 60px rgba(0,0,0,0.25);
  animation: aparecerBot 0.4s ease;
}

/* ANIMACIÓN */
@keyframes fadeInUp{
  from{
    opacity: 0;
    transform: translateY(25px);
  }
  to{
    opacity: 1;
    transform: translateY(0px);
  }
}

/* HEADER */
.chatbot-header{
  background: linear-gradient(135deg, #0d4350, #5fa6c6);
  padding: 15px;
  color: white;

  display: flex;
  justify-content: space-between;
  align-items: center;
}

.bot-info{
  display: flex;
  gap: 30px;
  align-items: center;
}

.bot-info img{
  width: 65px;
  height: 65px;
  border-radius: 50%;
  background: white;
  padding: 5px;
}

.bot-info h4{
  margin: 0;
  font-size: 14px;
  font-weight: 700;
}

.bot-info span{
  font-size: 12px;
  opacity: 0.9;
}

.chatbot-close{
  background: transparent;
  border: none;
  color: white;
  font-size: 16px;
  cursor: pointer;
}

/* MENSAJES */
.chatbot-messages{
  flex: 1;
  padding: 15px;
  overflow-y: auto;
  background: #f8fafc;
}

.bot-message{
  background: white;
  padding: 10px 12px;
  border-radius: 15px;
  margin-bottom: 12px;
  font-size: 13px;
  box-shadow: 0px 8px 20px rgba(0,0,0,0.08);
}

.user-message{
  background: #0d4350;
  color: white;
  padding: 10px 12px;
  border-radius: 15px;
  margin-bottom: 12px;
  font-size: 13px;
  text-align: right;
  margin-left: auto;
  width: fit-content;
  max-width: 80%;
}

.chat-options{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
  margin-bottom: 15px;
}

.chat-options button{
  flex: 1 1 45%;
  display: flex;
  align-items: center;
  gap: 8px;

  background: rgba(13,67,80,0.08);
  border: 1px solid rgba(13,67,80,0.15);
  padding: 10px 12px;
  border-radius: 14px;

  font-size: 12px;
  font-weight: 600;
  color: #0d4350;

  cursor: pointer;
  transition: 0.25s ease;
}

.chat-options button i{
  font-size: 15px;
  color: #146377;
}

.chat-options button:hover{
  background: rgba(95,166,198,0.25);
  transform: translateY(-2px);
  box-shadow: 0px 10px 25px rgba(0,0,0,0.08);
}

/* INPUT */
.chatbot-input{
  display: flex;
  padding: 12px;
  background: white;
  border-top: 1px solid rgba(0,0,0,0.1);
}

.chatbot-input input{
  flex: 1;
  border: none;
  outline: none;
  padding: 10px;
  border-radius: 12px;
  background: #f1f5f9;
  font-size: 13px;
}

.chatbot-input button{
  margin-left: 10px;
  border: none;
  background: #0d4350;
  color: white;
  border-radius: 12px;
  padding: 10px 14px;
  cursor: pointer;
  transition: 0.3s ease;
}

.chatbot-input button:hover{
  background: #146377;
}

/* RESPONSIVE */
@media(max-width: 500px){
  .chatbot-box{
    width: 90vw;
    height: 430px;
    right: 0;
  }
}


/* NOTIFICACIÓN */
.chatbot-notification{
  position: absolute;
  top: -5px;
  right: -5px;
  background: #ff3b3b;
  color: white;
  font-size: 12px;
  font-weight: 700;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0px 8px 20px rgba(0,0,0,0.25);
}

/* EFECTO REBOTE DEL BOT */
.chatbot-btn{
  position: relative;
  animation: bounceBot 2s infinite;
}

@keyframes bounceBot{
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-6px); }
}

/* MENSAJE ESCRIBIENDO */
.typing{
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 10px 12px;
  background: white;
  border-radius: 15px;
  margin-bottom: 12px;
  width: fit-content;
  box-shadow: 0px 8px 20px rgba(0,0,0,0.08);
}

.typing span{
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #94a3b8;
  animation: typingDots 1s infinite;
}

.typing span:nth-child(2){ animation-delay: 0.2s; }
.typing span:nth-child(3){ animation-delay: 0.4s; }

@keyframes typingDots{
  0%, 100% { opacity: 0.3; transform: translateY(0px); }
  50% { opacity: 1; transform: translateY(-4px); }
}



/* ANIMACIÓN APARICIÓN */
@keyframes aparecerBot{
  from{
    opacity: 0;
    transform: translateY(40px) scale(0.9);
  }
  to{
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.bot-character{
  position: absolute;
  left: -120px;
  bottom: 10px;
  z-index: 99999;
  pointer-events: none;

  opacity: 0;
  transform: translateX(-80px) scale(0.7);
  transition: all 0.6s ease;
}

.bot-character.show-bot{
  opacity: 1;
  transform: translateX(0px) scale(1);
}

.bot-character img{
  width: 190px;
  height: auto;
}

/* TEXTO BLANCO DESTACADO */
.bot-info h4{
  color: white;
  font-size: 16px;
  font-weight: bold;
}

.bot-info span{
  color: #e0f2fe;
  font-size: 13px;
}

/* PUNTO VERDE */
.dot{
  width: 8px;
  height: 8px;
  background: #00ff7b;
  border-radius: 50%;
  display: inline-block;
  margin-right: 5px;
}


/* BOTONES */
.chat-options button{
  background: #eaf1f5;
  border: none;
  padding: 12px;
  border-radius: 15px;
  font-weight: 600;
  cursor: pointer;
}

.chat-options button:hover{
  background: #d6e6ee;
}


@media(max-width: 768px){
  .bot-character{
    display: none; /* ocultar borrego en celular */
  }
}

/* ==========================
   RESPONSIVE CHATBOT
========================== */

@media (max-width: 768px){

  .chatbot-container{
    bottom: 15px;
    right: 15px;
  }

  /* BOTÓN MÁS PEQUEÑO */
  .chatbot-btn{
    width: 60px;
    height: 60px;
  }

  .chatbot-btn img{
    width: 50px;
    height: 50px;
  }

  /* CHAT COMO VENTANA GRANDE */
  .chatbot-box{
    width: 92vw;
    height: 75vh;
    right: 0;
    bottom: 80px;
    border-radius: 20px;
  }

  /* HEADER MÁS COMPACTO */
  .chatbot-header{
    padding: 12px;
  }

  .bot-info{
    gap: 12px;
  }

  .bot-info img{
    width: 55px;
    height: 55px;
  }

  .bot-info h4{
    font-size: 14px;
  }

  .bot-info span{
    font-size: 12px;
  }

  /* MENSAJES MÁS CÓMODOS */
  .chatbot-messages{
    padding: 12px;
  }

  .bot-message,
  .user-message{
    font-size: 13px;
  }

  /* BOTONES OPCIONES */
  .chat-options{
    gap: 8px;
  }

  .chat-options button{
    flex: 1 1 45%;
    font-size: 12px;
    padding: 10px;
    border-radius: 14px;
  }

  /* INPUT */
  .chatbot-input{
    padding: 10px;
  }

  .chatbot-input input{
    font-size: 13px;
    padding: 10px;
  }

  .chatbot-input button{
    padding: 10px 14px;
    font-size: 14px;
  }

  /* OCULTAR BORREGUITO GRANDE EN CELULAR */
  .bot-character{
    display: none !important;
  }
}

/* ===============================
   ESCALA GLOBAL (COMO 90% ZOOM)
   =============================== */

body{
  zoom: 0.9;
}

/* En celulares mejor no reducir tanto */
@media (max-width: 768px){
  body{
    zoom: 1;
  }
}

/*=========================================
        SECCIÓN NOTICIAS PREMIUM
=========================================*/

.noticias-header h3{

    font-size:40px;
    font-weight:700;
    color:#184c5b;
    margin-bottom:10px;

    padding-top:60px;

}

.noticias-header p{

    font-size:19px;
    color:#5d6973;
    max-width:700px;
    margin:auto;
    line-height:1.7;

}

/*=========================================
SWIPER
=========================================*/

.noticiasSwiper{

    padding:20px 10px 70px;

}

/*=========================================
TARJETA
=========================================*/

.noticia-card{

    background:#fff;

    border-radius:24px;

    overflow:hidden;

    height:100%;

    display:flex;

    flex-direction:column;

    border:1px solid #eef2f4;

    transition:.35s;

    box-shadow:
        0 12px 35px rgba(0,0,0,.08);

}

.noticia-card:hover{

    transform:translateY(-10px);

    box-shadow:
        0 25px 50px rgba(0,0,0,.15);

}

/*=========================================
IMAGEN
=========================================*/

.noticia-img{

    position:relative;

    width:100%;

    height:250px;

    overflow:hidden;

}

.noticia-img img{

    width:100%;
    height:100%;

    object-fit:cover;

    transition:.7s;

}

.noticia-card:hover img{

    transform:scale(1.08);

}

/*=========================================
CABECERA DE LA TARJETA
=========================================*/

.noticia-top{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:22px;

}
/*=========================================
TAG
=========================================*/

.noticia-tag{

    position:absolute;

    top:18px;
    left:18px;

    padding:10px 20px;

    border-radius:40px;

    font-size:14px;

    font-weight:700;

}

/* Comunidad */

.noticia-tag.comunidad{

    background:#eaf7eb;

    color:#2f8a4b;

}

/* Eventos */

.noticia-tag.eventos{

    background:#e8f2ff;

    color:#1565d8;

}

/* Turismo */

.noticia-tag.turismo{

    background:#fff2e5;

    color:#ff5b00;

}

/*=========================================
CUERPO
=========================================*/

.noticia-body{

    display:flex;

    flex-direction:column;

    flex:1;

    padding:26px;

}

/*=========================================
FECHA
=========================================*/

.noticia-fecha{

    display:flex;

    align-items:center;

    gap:8px;

    color:#6d7d86;

    font-size:15px;

    margin-bottom:16px;

}

/*=========================================
TÍTULO
=========================================*/

.noticia-body h4{

    font-size:24px;

    color:#373636;

    font-weight:800;

    line-height:1.25;

    margin-bottom:16px;

}

/*=========================================
DESCRIPCIÓN
=========================================*/

.noticia-body p{

    color:#5f6972;

    font-size:16px;

    line-height:1.8;

    margin-bottom:28px;

    flex:1;

}
.noticiasSwiper{

    margin-top:100px;


  }

#noticias{
    padding:-220px 0;
}
/*=========================================
BOTÓN
=========================================*/

.noticia-btn{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    width:100%;

    padding:15px;

    border:2px solid #1f4c57;

    border-radius:15px;

    background:#fff;

    color:#1f4c57;

    font-weight:700;

    font-size:15px;

    text-decoration:none;

    transition:.35s;

}

.noticia-btn i{

    transition:.35s;

}

.noticia-btn:hover{

    background:#edf7f8;

    border-color:#184c5b;

    color:#184c5b;

    transform:translateY(-3px);

    box-shadow:
        0 12px 25px rgba(24,76,91,.15);

}

.noticia-btn:hover i{

    transform:translateX(6px);

}

/*=========================================
FLECHAS
=========================================*/

.swiper-button-next,
.swiper-button-prev{

    width:48px;
    height:48px;

    border-radius:50%;

    background:#fff;

    color:#184c5b !important;

    box-shadow:0 8px 20px rgba(0,0,0,.10);

}

.swiper-button-next::after,
.swiper-button-prev::after{

    font-size:18px;
    font-weight:bold;

}

/*=========================================
PAGINACIÓN
=========================================*/

.swiper-pagination-bullet{

    width:11px;
    height:11px;

    background:#cbd8dd !important;

    opacity:1;

}

.swiper-pagination-bullet-active{

    background:#184c5b !important;

    width:28px;

    border-radius:20px;

}


.privacy-link{
  color: #fff !important;
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;

  display: inline-flex;
  align-items: center;
  gap: 7px;

  transition: all .3s ease;
}

/* ÍCONO */
.privacy-link i{
  font-size: 16px;
  transition: all .3s ease;
}

/* HOVER SUAVE */
.privacy-link:hover{
  color: #d6f4ff !important;
  transform: scale(1.05);
}

.privacy-link:hover i{
  transform: rotate(-10deg) scale(1.1);
}


/*=========================================
CTA PREMIUM
=========================================*/

.cta-premium{

    padding:70px 0 100px;

    background:#f5fafc;

}

.cta-grid{

display:flex;
align-items:center;
justify-content:space-between;
gap:70px;

}

.cta-info{

width:48%;

}

.cta-image{

    width:650px;
    height:520px;

    position:relative;

    overflow:hidden;

    border-radius:30px;

    box-shadow:0 20px 45px rgba(0,0,0,.18);

    flex-shrink:0;

}

.cta-image img{

    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:transform .9s ease;

}
.cta-image:hover img{

    transform:scale(1.12);

}

.cta-overlay{

position:absolute;

left:0;
right:0;
bottom:0;

display:flex;

justify-content:space-around;

padding:35px;

background:

linear-gradient(
0deg,
rgba(0,0,0,.75),
transparent
);

color:white;

}

.cta-overlay h3{

font-size:45px;

font-weight:800;

margin:0;
color: #ffffff;

}

.cta-overlay span{

font-size:13px;

letter-spacing:2px;

}

.cta-badge{

display:inline-block;

padding:12px 22px;

border-radius:40px;

background:#6d6d6d;

color:white;

font-size:13px;

font-weight:700;

margin-bottom:30px;

}

.cta-info h2{

font-size:50px;

line-height:1.05;

color:#174b5b;

font-weight:800;

margin-bottom:25px;

}

.cta-info p{

font-size:18px;

line-height:1.8;

color:#55626d;

margin-bottom:40px;

}

.cta-buttons{

display:flex;

gap:22px;

margin-bottom:35px;

}


/*=========================================
BOTÓN PREMIUM
=========================================*/

.btn-gold{

    position:relative;

    overflow:hidden;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;

    min-width:260px;
    height:68px;

    padding:0 35px;

    border-radius:50px;

    text-decoration:none;

    font-size:18px;
    font-weight:700;

    background:#6d6d6d;
    color:#fff;

    transition:all .35s ease;

    box-shadow:
        0 8px 18px rgba(0,0,0,.18);

}

/* Hover */

.btn-gold:hover{

    background:#5f5f5f;

    color:#fff;

    transform:
        translateY(-6px)
        scale(1.05);

    box-shadow:
        0 18px 40px rgba(0,0,0,.30);

}

/* Brillo */

.btn-gold::after{

    content:"";

    position:absolute;

    top:0;
    left:-120%;

    width:45%;
    height:100%;

    background:linear-gradient(
        110deg,
        transparent,
        rgba(255,255,255,.45),
        transparent
    );

    transform:skewX(-25deg);

}

.btn-gold:hover::after{

    animation:shine .8s ease;

}

@keyframes shine{

    from{
        left:-120%;
    }

    to{
        left:160%;
    }

}

/*=========================================
BOTÓN INFORMACIÓN PRÁCTICA
=========================================*/

.btn-outline-white{

    position:relative;
    overflow:hidden;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;

    min-width:260px;
    height:68px;

    border-radius:50px;

    background:rgba(255,255,255,.35);

    border:3px solid #6b6b6b;

    color:#5b5b5b;

    font-size:18px;
    font-weight:700;

    text-decoration:none;

    backdrop-filter:blur(10px);

    transition:all .45s ease;

    box-shadow:
        inset 0 2px 10px rgba(255,255,255,.35),
        0 10px 25px rgba(0,0,0,.08);

}

/* HOVER */

.btn-outline-white:hover{

    background:#6b6b6b;

    border-color:#6b6b6b;

    color:#fff;

    transform:scale(1.06);

    box-shadow:
        0 18px 40px rgba(0,0,0,.28);

}

/* ICONO */

.btn-outline-white i{

    transition:.45s;

}

.btn-outline-white:hover i{

    color:#fff;

    transform:rotate(-8deg) scale(1.15);

}

.btn-outline-white:hover::before{

    animation:shineBtn .9s ease;

}

@keyframes shineBtn{

    from{
        left:-120%;
    }

    to{
        left:140%;
    }

}
.btn-gold::before,


.btn-gold:hover::before,



.cta-note{

padding:18px 25px;

border-left:4px solid #6d6d6d;

background:white;

border-radius:12px;

font-size:15px;

color:#666;

box-shadow:0 10px 30px rgba(0,0,0,.05);

}

@media(max-width:991px){

.cta-grid{

flex-direction:column;

}

.cta-info,
.cta-image{

width:100%;

}

.cta-info h2{

font-size:42px;

}

.cta-info p{

font-size:18px;

}

.cta-buttons{

flex-direction:column;

}

}

/*======================================
VIVE EXPERIENCIAS
======================================*/

.experiencias-final{

    padding:110px 0;

    background:#f7fafc;

}


.section-title span{

    display:inline-block;

    background:#eaf5f7;

    color:#184c5b;

    padding:10px 22px;

    border-radius:50px;

    font-size:13px;

    font-weight:700;

    letter-spacing:2px;

}

.section-title h2{

    margin-top:20px;

    font-size:48px;

    color:#184c5b;

    font-weight:800;

}

.section-title p{

    margin:20px auto 0;

    max-width:700px;

    color:#5f6972;

    font-size:18px;

}

/* GRID */

.experiencias-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

/* TARJETA */

.exp-card{

    position:relative;

    height:480px;

    border-radius:25px;

    overflow:hidden;

    cursor:pointer;

}

.exp-card img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.8s;

}

/* Overlay */

.exp-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(

        transparent,

        rgba(0, 0, 0, 0.852)

    );

    display:flex;

    flex-direction:column;

    justify-content:flex-end;

    padding:35px;

    color:white;

    transition:.5s;

}

.exp-overlay h3{

    font-size:34px;

    margin-bottom:12px;

    color:#ffffff;

    font-weight:700;

}

.exp-overlay p{

    font-size:16px;

    line-height:1.7;

}

.exp-overlay ul{

    list-style:none;

    padding:0;

    margin-top:18px;

    opacity:0;

    transform:translateY(30px);

    transition:.4s;

}

.exp-overlay li{

    margin-bottom:10px;

    font-size:15px;

}

/* HOVER */

.exp-card:hover img{

    transform:scale(1.12);

}

.section-title{

    text-align:center;
    max-width:800px;
    margin:0 auto 80px;

}

.section-tag{

    display:inline-block;

    padding:10px 24px;

    background:#eef7f8;

    color:#0d5065;

    border-radius:40px;

    font-size:13px;

    font-weight:700;

    letter-spacing:2px;

    margin-bottom:25px;

}


.exp-card:hover .exp-overlay{

    background:linear-gradient(

        rgba(0, 0, 0, 0.458),

        rgba(0, 0, 0, 0.663)

    );

}

.exp-card:hover ul{

    opacity:1;

    transform:translateY(0);

}

/* RESPONSIVE */

@media(max-width:991px){

.experiencias-grid{

grid-template-columns:1fr;

}

.exp-card{

height:380px;

}

}

.section-title h2{

    background: transparent !important;

    box-shadow: none !important;

    text-shadow: none !important;

    border: none !important;

    padding: 0 !important;

    border-radius: 0 !important;

}