/* =====================================
   HERO
===================================== */

body{
  font-family: 'Poppins', sans-serif;
}



.hero-legado{
  position: relative;
  width: 100%;
  height: 70vh;
  overflow: hidden;

  display: flex;
  justify-content: center;
  align-items: center;

  padding-left: 0;
  padding-right: 0;
}

.hero-img{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;
}

.hero-overlay{
    position:absolute;
    inset:0;

    background:rgba(0,0,0,.45);
}

.hero-content{
  position: relative;
  z-index: 3;

  width: 100%;
  max-width: 1200px;
  margin: 0 auto;

  text-align: center;
  padding: 0 20px;

  transform: translateY(40px);
}

.hero-overlay{
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: 100%;

  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.800) 0%,
    rgba(0, 0, 0, 0.600) 35%,
    rgba(0, 0, 0, 0.250) 65%,
    transparent 100%
  );

  z-index: 2;
}
/* =========================================================
   📱 BOTÓN HAMBURGUESA
========================================================= */

.menu-btn {
  position: fixed;
  top: 22px;
  right: 20px;
  font-size: 2.2rem;
  background: none;
  border: none;
  display: none;
  z-index: 1200;
}
.hero-title{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    color:#fff;
    font-size:3rem;
    font-weight:800;

    letter-spacing:1px;

    text-shadow:0 3px 8px rgba(0,0,0,.45);

    text-align:center;

    margin-top:60px; /* Baja el título */
}
.hero-title i{
    flex-shrink:0;
    font-size:.9em;
    color:white;
}

.hero-subtitle{
    color:rgba(255,255,255,.85);

    font-family:'Poppins', sans-serif;
    font-size:23px;
    font-weight:500;

    text-shadow:0 2px 10px rgba(0,0,0,.6);

    margin-bottom:35px;
}

/* =====================================
   BOTONES DÍAS
===================================== */

.selector-dias{
    display:flex;
    justify-content:center;
    gap:15px;
    flex-wrap:wrap;
}

.dia-btn{
    background:rgba(255,255,255,.08);
    color:white;

    border:2px solid rgba(255,255,255,.5);
    border-radius:50px;

    padding:14px 28px;

    font-size:15px;
    font-weight:600;

    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);

    cursor:pointer;

    transition:all .35s ease;

    animation:subir .8s ease forwards;
}

.dia-btn:hover{
    transform:scale(1.08);
    background:rgba(0,0,0,.28);
    border-color:rgba(255,255,255,.25);
}

.dia-btn.active{
    background:white;
    color:#282828;
    border-color:white;
}

@keyframes subir{
    from{
        opacity:0;
        transform:translateY(25px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* =====================================
   ZOOM GENERAL
===================================== */




/* ====================================
   MAPA + RUTA
==================================== */

.explorar-coroneo{

    max-width:1300px;
    margin:auto;

    padding:0 20px 80px;

    display:grid;
    grid-template-columns:1.7fr 1fr;

    gap:30px;
}

/* MAPA */

.mapa-columna{
    background:white;
    border-radius:25px;
    overflow:hidden;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.panel-title{
    background:linear-gradient(135deg,#113e61,#1d547e);
    color:white;
    padding:18px 25px;
    font-size:22px;
    font-weight:700;
}

#mapa-coroneo{
    width:100%;
    height:550px;
}

.stats-mapa{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
    margin:50px 0;
}

/* ==========================
   TARJETAS TURÍSTICAS
========================== */

.stat-card{
    position:relative;
    height:380px;
    border-radius:30px;
    overflow:hidden;
    cursor:pointer;

    box-shadow:
    0 15px 40px rgba(0,0,0,.12);

    transition:.45s ease;
}

.stat-card img{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

    transition:transform .8s ease;
}

/* Overlay */

.card-overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(
        to top,
        rgba(0,0,0,.88) 0%,
        rgba(0,0,0,.55) 35%,
        rgba(0,0,0,.18) 70%,
        rgba(0,0,0,.05) 100%
    );

    z-index:1;
}

/* Contenido */

.card-content{
    position:absolute;

    left:30px;
    right:30px;
    bottom:28px;

    z-index:2;
}

.tarjeta-icono{
    display:block;

    color:#ffffff8f !important;

    font-size:20px !important;

    margin-bottom:6px;

    opacity:.95;

    text-shadow:
    0 2px 8px rgba(0,0,0,.8);
}

/* ==========================
   CONTADOR
========================== */
.card-counter{
    display:block;

   color:#fff !important;

    font-size:.80rem;

    font-weight:600;

    letter-spacing:2px;

    text-transform:uppercase;

    margin-bottom:10px;

    opacity:1;

    text-shadow:
    0 3px 10px rgba(0,0,0,.7);
}

/* ==========================
   TITULO
========================== */

.card-content h3{
    margin:0;

    color:#fff;

    font-size:2rem;

    font-weight:700;

    line-height:1.1;

    text-shadow:
    0 3px 15px rgba(0,0,0,.55);
}

/* ==========================
   DESCRIPCIÓN
========================== */

.card-content p{
    margin-top:10px;

    color:rgba(255,255,255,.92);

    font-size:.92rem;

    font-weight:300;

    line-height:1.55;

    max-width:240px;

    text-shadow:
    0 2px 8px rgba(0,0,0,.45);

    
}

/* ==========================
   HOVER
========================== */

.stat-card:hover{
    transform:
    translateY(-8px);

    box-shadow:
    0 25px 50px rgba(0,0,0,.18);
}

.stat-card:hover img{
    transform:scale(1.08);
}

/* Borde elegante */

.stat-card::after{
    content:"";

    position:absolute;
    inset:0;

    border-radius:30px;

    border:1px solid rgba(255,255,255,.12);

    pointer-events:none;

    z-index:3;
}



.seccion-mapa{
  padding: 80px 20px;
  background: #f8fafc;
}

.contenedor-mapa{
  max-width: 1200px;
  margin: 0 auto;
}

.titulo-mapa p{
    font-size:1.2rem !important;
    line-height:1.8;
    font-weight:300;
    color:#3c3c3c !important;

    max-width:750px;
    margin:15px auto 0;
}


.titulo-mapa h2{
    font-size:2.5rem !important;
    line-height:1.4;
    font-weight:300;
    color:#3c3c3c !important;

    max-width:750px;
    margin:15px auto 0;
}

.popup-coroneo{
    width:280px;
    overflow:hidden;
    border-radius:18px;
    font-family:'Poppins',sans-serif;
}

.popup-img{
    width:100%;
    height:160px;
    object-fit:cover;
    border-radius:12px;
}

.popup-content{
    padding:12px 5px;
}

.popup-tag{
    display:inline-flex;
    align-items:center;
    gap:6px;

    padding:4px 10px;

    background:#eef6fb;

    color:#30576b;

    border-radius:20px;

    font-size:.70rem;
    font-weight:700;

    margin-bottom:8px;
}

.popup-coroneo h4{
    font-size:1.1rem;
    font-weight:700;
    color:#30576b;

    margin-bottom:8px;

    line-height:1.2;
}

.popup-coroneo p{
    font-size:.85rem;
    font-weight:500;

    color:#555;

    line-height:1.5;

    margin-bottom:12px;
}

.popup-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    width:100%;

    background:#376981;
    color:white;

    text-decoration:none;

    padding:10px;

    border-radius:12px;

    font-size:.85rem;
    font-weight:700;

    transition:.3s;
}

.popup-btn:hover{
    background:#214659;
    color:white;
}

.popup-coroneo a{
    color:white !important;
    text-decoration:none !important;
}

.itinerario{
    display:none;
}

.itinerario.activo{
    display:block;
}


.mapa-wrapper{
    position:relative;
}

#mapa-coroneo{
    width:100%;
    height:650px;
}

/* OSCURECER MAPA */

.mapa-overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(
        90deg,
        rgba(0,0,0,.78) 0%,
        rgba(0,0,0,.45) 35%,
        rgba(0,0,0,.15) 60%,
        rgba(0,0,0,0) 100%
    );

    pointer-events:none;
    z-index:10;
}

/* CONTENIDO */

.hero-mapa{

    position:absolute;

    top:50%;
    left:45px;

    transform:translateY(-50%);

    z-index:20;

    max-width:420px;
}

.hero-tag{

    display:inline-block;

    background:#0ea5e9;

    color:white;

    padding:10px 18px;

    border-radius:50px;

    font-size:.75rem;

    font-weight:700;

    letter-spacing:2px;
}

.hero-mapa h1{

    margin-top:20px;

    color:white;

    font-size:4.6rem;

    font-weight:900;

    line-height:.9;

    margin-bottom:10px;

    text-shadow:0 10px 30px rgba(0,0,0,.4);
}

.hero-years{

    color:white;

    font-size:2rem;

    font-weight:800;

    line-height:1;
}

.hero-years span{

    display:block;

    font-size:.9rem;

    letter-spacing:4px;

    opacity:.85;
}

.hero-frase{

    color:white;

    font-size:1rem;

    font-weight:600;

    letter-spacing:3px;

    margin-top:20px;

    margin-bottom:25px;
}

.hero-actions{

    display:flex;
    gap:15px;
    align-items:center;
}

.btn-mapa{

    background:white;

    color:#113e61;

    text-decoration:none;

    padding:15px 28px;

    border-radius:50px;

    font-weight:700;

    transition:.4s;
}

.btn-mapa:hover{

    transform:translateY(-3px);
}

.btn-expandir{

    width:55px;
    height:55px;

    border:none;

    border-radius:50%;

    background:rgba(255,255,255,.20);

    backdrop-filter:blur(10px);

    color:white;

    font-size:1.3rem;

    cursor:pointer;
}

.hero-tags{

    display:flex;
    flex-wrap:wrap;

    gap:10px;

    margin-top:25px;
}

.hero-tags span{

    background:rgba(255,255,255,.92);

    padding:10px 16px;

    border-radius:30px;

    font-size:.85rem;

    font-weight:600;

    transition:.35s;
}

.hero-tags span:hover{

    transform:scale(1.06);
}


.mapa-wrapper{
    position:relative;
    height:650px;
    overflow:hidden;
    border-radius:20px;
}

/* ==========================
   PORTADA
========================== */

.portada-coroneo{
    position:absolute;
    inset:0;
    z-index:20;
}

.mapa-container{
    display:none;
    width:100%;
    height:100%;
}

.portada-img{

    width:100%;
    height:100%;

    object-fit:cover;
}

.portada-overlay{

    position:absolute;
    inset:0;

    background:
    linear-gradient(
        90deg,
        rgba(0,0,0,.85),
        rgba(0,0,0,.45)
    );

    z-index:1;
}

.portada-content{

    position:absolute;

    left:60px;
    top:50%;

    transform:translateY(-50%);

    z-index:2;

    max-width:500px;
}

.portada-tag{

    background:#0000009c;

    color:white;

    padding:10px 18px;

    border-radius:50px;

    font-size:.8rem;

    font-weight:700;

    letter-spacing:2px;
}

.portada-content h1{

    margin-top:20px;

    color:white;

    font-size:5.5rem;

    font-weight:900;

    line-height:.9;
}

.portada-content h2{

    color:white;

    font-size:2rem;

    font-weight:700;

    margin-top:10px;
}


.portada-content p{

    color:white;

    font-size:1.1rem;

    line-height:1.8;

    margin-top:20px;

    opacity:.95;
}

.portada-frases{

    display:flex;
    flex-wrap:wrap;

    gap:12px;

    margin-top:25px;
}

.portada-frases span{

    background:rgba(30, 30, 30, 0.478);

      color:#ffffff;

    padding:10px 18px;

    border-radius:30px;

    font-size:.85rem;

    font-weight:600;
}

.btn-explorar{

    margin-top:30px;

    border:none;

    background:rgba(95, 94, 94, 0.625);

    color:#ffffff;

    padding:16px 30px;

    border-radius:50px;

    font-weight:700;

    font-size:1rem;

    cursor:pointer;

    transition:.3s;
}
.btn-explorar:hover{

    transform:
    translateY(-3px)
    scale(1.03);
}


/* ==========================
   ANIMACIÓN
========================== */

.ocultar-portada{

    animation:fadeOut .7s forwards;
}

@keyframes fadeOut{

    to{
        opacity:0;
        visibility:hidden;
    }
}


.panel-title.oculto{
    opacity:0;
    transform:translateY(-20px);
    transition:.4s;
    pointer-events:none;
}

#mapaContainer{
    display:none;
}

#tituloMapa{
    display:none;
}

.panel-title{
    display:flex;
    align-items:center;
    gap:10px;
}



.coroneo-card{

    background:#fff;

    width:250px;

    min-height:70px;

    border-radius:16px;

    display:flex;

    align-items:center;

    gap:12px;

    padding:12px 16px;

    box-shadow:
    0 10px 25px rgba(0,0,0,.12);
}

.card-icon{

    font-size:32px;

    color:#3f6fa7;
}

.card-text{

    flex:1;
}

.card-text h3{

    margin:0;

    color:#0A3766;

    font-size:18px;

    font-weight:800;

    line-height:1;
}

.card-text span{

    display:block;

    margin-top:2px;

    color:#5B6572;

    font-size:12px;

    font-weight:600;
}

.card-text p{

    margin:2px 0 0;

    color:#2a4f78;

    font-size:12px;

    font-weight:800;
}

.card-divider{

    width:1px;

    height:40px;

    background:#E5E5E5;
}

.card-fullscreen{

    width:55px;

    text-align:center;

    cursor:pointer;
}

.card-fullscreen i{

    font-size:20px;

    color:#0A3766;
}

.card-fullscreen small{

    display:block;

    margin-top:4px;

    font-size:9px;

    line-height:1.2;

    color:#6D7785;
}

#mapa-coroneo:fullscreen{

    width:100vw !important;

    height:100vh !important;
}

.leaflet-control-zoom{

    margin-top:25px !important;
    margin-left:15px !important;
}


.ruta-tag{
    display:inline-flex;
    align-items:center;

    background:#113e61;
    color:white;

    padding:6px 14px;
    border-radius:30px;

    font-size:.72rem;
    font-weight:700;
    letter-spacing:1px;

    width:fit-content;
}

.subtitulo-ruta{
    color:#666;
    font-size:1rem;
    line-height:1.7;
    margin-top:12px;
}

.ruta-badges{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin:25px 0;
}

.ruta-badges span{
    background:#eef5f9;
    color:#30576b;
    padding:10px 16px;
    border-radius:30px;
    font-size:.9rem;
    font-weight:600;
}

.ruta-descripcion h5{
    color:#113e61;
    font-weight:700;
    margin-bottom:12px;
}

.ruta-descripcion p{
    line-height:1.8;
    color:#555;
}

.ruta-recorrido{
    margin-top:25px;
}

.ruta-recorrido h6{
    font-size:1rem;
    font-weight:700;
    color:#113e61;
    margin-bottom:15px;
}

.recorrido-items{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.recorrido-items span{
    background:white;
    border:1px solid #dce8ef;
    padding:10px 14px;
    border-radius:20px;
    font-size:.9rem;
    font-weight:500;
}

.ruta-footer{
    margin-top:25px;
    padding:18px;
    background:#f7fafc;
    border-left:4px solid #113e61;
    border-radius:12px;
    color:#444;
    line-height:1.7;
}

.recorrido-items i{
    color:#3c3c3c;
}


/* =========================
   EXPERIENCIAS DESTACADAS
========================= */

.promo-eventos{
  padding:30px 0;
}


.promo-header{
    display: flex;
    flex-direction: column;
    align-items: flex-start !important;
    text-align: left !important;
    font-size: 26px;
}

.promo-header{
  text-align:center;
  margin-bottom:10px;
}

.promo-tag{
  display:inline-flex;
  align-items:center;
  gap:8px;

  background:#e8f7ff;
  color:#3e6790;

  padding:8px 18px;
  border-radius:50px;

  font-size:13px;
  font-weight:700;
}

.promo-header h2{
  font-size:28px;
  font-weight:800;
  margin-top:18px;
  color:#132238;
}

.promo-header p{
  max-width:700px;
  margin:auto;
  color:#666;
  font-size:17px;
}

.promo-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:25px;
}

.promo-card{
  background:#fff;
  border-radius:22px;
  overflow:hidden;

  text-decoration:none;
  color:inherit;

  box-shadow:0 10px 30px rgba(0,0,0,.08);

  transition:.35s;
}

.promo-card:hover{
  transform:translateY(-8px);
}

.promo-card img{
  width:100%;
  height:180px;
  object-fit:cover;
}

.promo-info{
  padding:22px;
}

.categoria{
  display:inline-flex;
  align-items:center;
  gap:8px;

  color:#2d637d;
  font-size:13px;
  font-weight:700;
}

.promo-info h3{
  font-size:24px;
  font-weight:800;
  margin-top:10px;
  color:#12243a;
}

.promo-info p{
  color:#666;
  line-height:1.6;
}

.promo-btn{
  text-align:center;
  margin-top:30px;
}

.promo-btn a{
  background:#676869;
  color:white;
  text-decoration:none;

  padding:12px 26px;
  border-radius:50px;

  font-weight:700;
}



.tips-coroneo{
    background:#fff;
    border-radius:18px;
    padding:20px;

    box-shadow:0 8px 25px rgba(0,0,0,.08);
    border:1px solid #eef2f7;
}

.tips-header{
    font-size:18px;
    font-weight:700;
    color:#0d3558;

    display:flex;
    align-items:center;
    gap:10px;

    margin-bottom:15px;
}

.tips-header i{
    color:#3fa9f5;
}

.tips-coroneo ul{
    list-style:none;
    padding:0;
    margin:0;
}

.tips-coroneo li{
    display:flex;
    align-items:flex-start;
    gap:10px;

    margin-bottom:12px;

    font-size:14px;
    color:#4a5568;
}

.tips-coroneo li i{
    color:#2ecc71;
    margin-top:2px;
}


/* HEADER */

.ruta-header{

    text-align:center;
    max-width:750px;
    margin:auto auto 50px;
}

.ruta-badge{

    display:inline-flex;
    align-items:center;
    gap:8px;

    background:#eaf4fb;
    color:#275173;

    padding:10px 18px;

    border-radius:50px;

    font-size:.75rem;
    font-weight:700;

    letter-spacing:1px;
}

.ruta-header h2{

    margin-top:20px;

    font-size:2.8rem !important;
    font-weight:400;

    color:#173852;
}

.ruta-header p{

    color:#6b7280;
    font-size:1.05rem;
    line-height:1.8;
}

/* STATS */

.ruta-stats{

    display:flex;
    justify-content:center;
    gap:30px;

    margin-bottom:45px;
    flex-wrap:wrap;
}

.stat-mini{

    width:180px;

    background:white;

    padding:22px;

    border-radius:20px;

    text-align:center;

    box-shadow:
    0 10px 25px rgba(0,0,0,.05);
}

.stat-mini i{

    font-size:1.5rem;
    color:#2d5f82;
}

.stat-mini strong{

    display:block;

    margin-top:10px;

    font-size:1.4rem;
    color:#173852;
}

.stat-mini span{

    color:#6b7280;
    font-size:.9rem;
}

/* GRID */

.builder-container{

    display:grid;
    grid-template-columns:1fr 1fr;

    gap:30px;
}


/* ==========================
   CREA TU RUTA - HEADER
========================== */
.crear-ruta{

    max-width:1250px !important;

    margin:0 auto;   /* ← ESTA ES LA CLAVE */

    padding:35px 40px 80px;

    background:linear-gradient(
        180deg,
        #f8fbfd 0%,
        #ffffff 100%
    );

    border-radius:30px 30px 0 0;

}

.ruta-header{

    text-align:center;
    max-width:900px;
    margin:0 auto 50px;
}

.ruta-badge{

    display:inline-flex;
    align-items:center;
    gap:8px;

    padding:10px 18px;

    border-radius:50px;

    background:#eef5fb;
    color:#1f4f73;

    font-size:.75rem;
    font-weight:700;

    letter-spacing:1px;
    text-transform:uppercase;

    margin-bottom:20px;

    box-shadow:
    0 8px 20px rgba(17,62,97,.08);
}

.ruta-badge i{

    font-size:.85rem;
}

.ruta-header h2{

    font-size:3.3rem;
    font-weight:800;

    color:#173b59;

    margin-bottom:18px;

    line-height:1.1;
}

.ruta-descripcion-principal{

    font-size:1.15rem;
    color:#5d6b78;

    line-height:1.9;

    max-width:760px;
    margin:auto;
}

/* ==========================
   BENEFICIOS
========================== */

.ruta-beneficios{

    display:flex;
    justify-content:center;
    gap:25px;
    flex-wrap:wrap;

    margin-bottom:50px;
}

.beneficio{

    display:flex;
    align-items:center;
    gap:12px;

    background:white;

    padding:18px 28px;

    border-radius:18px;

    box-shadow:
    0 10px 30px rgba(0,0,0,.05);

    transition:.35s;
}

.beneficio:hover{

    transform:translateY(-5px);
}

.beneficio i{

    font-size:1.4rem;
    color:#1f5f8b;
}

.beneficio span{

    font-weight:600;
    color:#34495e;
}

/* ==========================
   STATS
========================== */

.ruta-stats{

    display:flex;
    justify-content:center;
    gap:25px;
    flex-wrap:wrap;

    margin-bottom:60px;
}

.stat-mini{

    min-width:220px;

    background:white;

    border-radius:22px;

    padding:25px;

    text-align:center;

    box-shadow:
    0 15px 35px rgba(0,0,0,.06);

    transition:.35s;
}

.stat-mini:hover{

    transform:
    translateY(-6px);

    box-shadow:
    0 25px 45px rgba(0,0,0,.10);
}

.stat-mini i{

    font-size:2rem;
    color:#1f5f8b;

    margin-bottom:10px;
}

.stat-mini strong{

    display:block;

    font-size:1.8rem;
    font-weight:800;

    color:#173b59;
}

.stat-mini span{

    display:block;

    margin-top:5px;

    color:#6d7b88;
    font-size:.9rem;
}

.ruta-header h2{

    background:
    linear-gradient(
        135deg,
        #113e61,
        #2a6d9d
    );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;

    background-clip:text;
}

.promo-eventos{
    padding-bottom: 40px !important;
    margin-bottom: 20px !important;
}

.crear-ruta{
    margin-top: 0 !important;
    padding-top: 40px !important;
}



.hotel-panel{
    background:#fff;
    border-radius:22px;
    padding:22px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.hotel-title{
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:800;
    font-size:20px;
    color:#10223c;
    margin-bottom:20px;
}

.hotel-card{
    display:flex;
    gap:12px;
    margin-bottom:15px;
    padding-bottom:15px;
    border-bottom:1px solid #eee;
}

.hotel-card img{
    width:110px;
    height:80px;
    border-radius:12px;
    object-fit:cover;
}

.hotel-card h4{
    font-size:17px;
    margin-bottom:5px;
}

.hotel-card p{
    font-size:13px;
    color:#666;
    margin-bottom:8px;
}

.habitaciones{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

.habitaciones span{
    background:#eef6ff;
    padding:4px 10px;
    border-radius:30px;
    font-size:12px;
}

.btn-hotel{

    display:block;
    text-align:center;

    background:#1b436c;
    color:#fff;

    padding:12px;

    border-radius:50px;

    text-decoration:none;

    font-weight:700;

    margin-top:15px;

    transition:all .35s ease;

    box-shadow:0 8px 20px rgba(15,76,129,.18);

}

.btn-hotel:hover{

    background:#133353;

    color:#fff;

    transform:translateY(-4px);

    
}

.hotel-rating{
    display:flex;
    align-items:center;
    gap:3px;

    margin:6px 0 10px;
}

.hotel-rating i{
    color:#f6b800;
    font-size:13px;
}

.hotel-rating span{
    margin-left:6px;
    font-size:13px;
    font-weight:700;
    color:#555;
}


/* ==========================
   BENEFICIOS TURÍSTICOS
========================== */

.beneficios-coroneo{
    width: 100%;

    display: flex;
    justify-content: space-around; /* separación equilibrada */

    padding: 35px 90px; /* más espacio lateral */

    background: #fff;

    border-top: 1px solid #edf1f5;
    border-bottom: 1px solid #edf1f5;

    gap: 40px;
}
.beneficio-item{
    display: flex;
    align-items: center;
    gap: 15px;
    transition: .3s;
}

.beneficio-item:hover{
    transform: translateY(-4px);
}

.beneficio-item i{
    font-size: 28px;
    color: #355f8a;
}

.beneficio-item h4{
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #243b53;
}

.beneficio-item p{
    margin: 2px 0 0;
    font-size: 14px;
    color: #6b7280;
}

.beneficios-coroneo{

    margin-bottom:100px;

}

/*======================================================
            PDF VIVE CORONEO
======================================================*/

.plantilla-pdf-pro{

    width:794px;
    height:1123px;

    position:relative;

    overflow:hidden;

    background:#000;

    font-family:'Poppins',Arial,sans-serif;

}

/*====================================
                FONDO
====================================*/

.pdf-fondo{

    position:absolute;

    inset:0;

    background:url("assets/img/coroneo-web/rutas/atractive-place.webp")
    center center/cover no-repeat;

}

.pdf-fondo::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(

        rgba(0,0,0,.55),

        rgba(0,0,0,.72)

    );

}

/*====================================
            CONTENIDO
====================================*/

.pdf-contenido-pro{

    position:relative;

    z-index:2;

    height:100%;

    padding:38px 40px;

    display:flex;

    flex-direction:column;

}

/*====================================
            HEADER
====================================*/

.pdf-header{

    text-align:center;

    margin-bottom:18px;

}

.pdf-logo{

    width:70px;

    margin:auto;

    display:block;

}

.pdf-tag{

    display:inline-block;

    margin-top:12px;

    padding:5px 16px;

    border-radius:30px;

    background:rgba(255,255,255,.15);

    border:1px solid rgba(255,255,255,.20);

    color:#fff;

    font-size:10px;

    font-weight:600;

}

.pdf-titulo{

    margin:14px 0 6px;

    color:#fff;

    font-size:44px;

    font-weight:800;

    line-height:1.1;

}

.pdf-slogan{

    color:#fff;

    font-size:17px;

    opacity:.95;

    margin:0;

}

/*====================================
            LISTA
====================================*/

.pdf-lista-pro{

    display:flex;

    flex-direction:column;

    gap:10px;

    margin-top:18px;

    flex:1;

}

/*====================================
            FOOTER
====================================*/

.pdf-footer-pro{

    margin-top:15px;

    text-align:center;

}

.pdf-footer-pro p{

    color:#fff;

    font-size:13px;

    margin-bottom:12px;

}

.pdf-boton-pro{

    display:inline-block;

    padding:10px 24px;

    border-radius:30px;

    background:rgba(255,255,255,.15);

    border:1px solid rgba(255,255,255,.18);

    color:#fff;

    font-size:13px;

    font-weight:600;

}

/*======================================================
            TARJETAS DEL PDF
======================================================*/

.pdf-mini-card{

    width:88%;

    margin:0 auto 8px auto;

    display:flex;

    align-items:center;

    gap:12px;

    padding:8px 14px;

    background:rgba(255,255,255,.10);

    border:1px solid rgba(255,255,255,.12);

    border-radius:14px;

    box-shadow:none;

    backdrop-filter:blur(6px);

}

/*==================================
            IMAGEN
==================================*/

.pdf-mini-left{

    flex:0 0 70px;

}

.pdf-mini-img{

    width:98px;

    height:58px;

    border-radius:10px;

    object-fit:cover;

}

/*==================================
            INFORMACIÓN
==================================*/

.pdf-mini-right h3{

    margin:0;

    color:#fff;

    font-size:15px;

    font-weight:700;

    line-height:1.2;

}

.pdf-mini-right h3{

    margin:0;

    color:#fff;

    font-size:17px;

    font-weight:700;

    line-height:1.2;

}

.pdf-mini-categoria{

    display:inline-block;

    margin:3px 0;

    padding:2px 8px;

    border-radius:15px;

    background:rgba(255,255,255,.18);

    font-size:8px;

    color:#fff;

}

.pdf-mini-right p{

    margin:0;

    font-size:11px;

    color:#fff;

    line-height:1.3;

}

.pdf-lista-pro{

    display:flex;

    flex-direction:column;

    gap:8px;

    margin-top:15px;

}

/*==================================
        AJUSTES HTML2CANVAS
==================================*/

.plantilla-pdf-pro *{

    box-sizing:border-box;

}

.plantilla-pdf-pro img{

    display:block;

}

.plantilla-pdf-pro h1,
.plantilla-pdf-pro h2,
.plantilla-pdf-pro h3,
.plantilla-pdf-pro p,
.plantilla-pdf-pro span{

    margin-left:0;

    margin-right:0;

}

/*==================================
        MUCHOS LUGARES
==================================*/

.muchos-lugares .pdf-mini-card{

    padding:8px 12px;

    gap:10px;

}

.muchos-lugares .pdf-mini-img{

    width:60px;

    height:60px;

}

.muchos-lugares .pdf-mini-right h3{

    font-size:15px;

}

.muchos-lugares .pdf-mini-right p{

    font-size:11px;

}

.muchos-lugares .pdf-mini-categoria{

    font-size:9px;

}

/*==================================
        CALIDAD PDF
==================================*/

.plantilla-pdf-pro{

    image-rendering:auto;

}

.pdf-fondo{

    image-rendering:auto;

}

.pdf-mini-img{

    image-rendering:auto;

}


/*=====================================
        TARJETAS DE LUGARES
=====================================*/

.lugar-item{

display:flex;
align-items:center;
gap:16px;

padding:14px 18px;

margin-bottom:14px;

background:#fff;

border-radius:18px;

border:2px solid #edf3f8;

cursor:pointer;

transition:.35s;

position:relative;

box-shadow:
0 8px 18px rgba(0,0,0,.05);

}

/* Hover */

.lugar-item:hover{

background:#eef8ff;

border-color:#5cb8ff;

transform:
translateX(8px)
translateY(-2px);

box-shadow:
0 18px 30px rgba(63,162,255,.18);

}

/* Cuando está siendo arrastrada */

.lugar-item:active{

    cursor:grabbing;

    transform:
        scale(.98);

}


/* Imagen */

.lugar-item img{

width:58px;

height:58px;

border-radius:16px;

object-fit:cover;

transition:.35s;

}


/* Zoom imagen */

.lugar-item:hover img{

transform:scale(1.12);

}

/* Texto */

.lugar-item span{

flex:1;

font-size:17px;

font-weight:700;

color:#24384d;

}

/* Brillo lateral */

.lugar-item::before{

content:"";

position:absolute;

left:0;

top:0;

height:100%;

width:6px;

background:#44a8ff86;

border-radius:18px 0 0 18px;

opacity:0;

transition:.3s;

}

.lugar-item:hover::before{

opacity:1;

}

/* Aparece al pasar el mouse */

.lugar-item:hover::before{

    opacity:1;

}



@media (max-width:768px){

    .promo-header{
        display:flex;
        flex-direction:column;
        align-items:center !important;
        justify-content:center;
        text-align:center !important;
    }

    .promo-header h2{
        width:100%;
        text-align:center !important;
        margin:15px 0 10px;
    }

    .promo-eventos > p{
        width:100%;
        max-width:320px;
        margin:0 auto 30px;
        text-align:center !important;
    }

    .promo-tag{
        margin:0 auto;
    }

}

.hotel-video-section{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:35px;
    align-items:start;
}

.video-ruta{
    width:100%;
    height:560px;
    border-radius:25px;
    overflow:hidden;
    background:#000;
    box-shadow:0 15px 35px rgba(0,0,0,.18);
}

.video-ruta iframe{
    width:100%;
    height:100%;
    border:0;
    display:block;
}