/* ============================== */
/* RESET GENERAL */
/* ============================== */
* {margin:0; padding:0; box-sizing:border-box;}
body {font-family:'Roboto', sans-serif; color:#333; background:#fff; line-height:1.6;}

/* Contenedor centrado */
.container {width:90%; max-width:1200px; margin:0 auto;}

/* ============================== */
/* HEADER */
/* ============================== */
header {
  background:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,0.05);
  position:sticky;
  top:0;
  z-index:100;
}

header .container {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:15px 0;
}

header .logo img {
  height:50px;      /* alto visual en cabecera */
  width:auto;       /* respeta proporción original */
  display:block;
  vertical-align:middle;
}

/* Menú escritorio */
header nav ul {
  list-style:none;
  display:flex;
  gap:25px;
}
header nav ul li a {
  color:#333;
  font-weight:700;
  text-decoration:none;
  transition:0.3s;
}
header nav ul li a:hover { color:#9b59b6; }

/* Menú mobile */
.menu-toggle { display:none; font-size:1.8em; cursor:pointer; }

@media(max-width:768px){
  header nav{
    display:none;
    position:absolute;
    top:70px; left:0; width:100%;
    background:#fff; flex-direction:column; padding:15px 0;
    box-shadow:0 2px 10px rgba(0,0,0,0.1);
  }
  header nav ul{ flex-direction:column; gap:15px; text-align:center; }
  .menu-toggle{ display:block; }
}

/* Robustece el retorno a escritorio */
@media(min-width:769px){
  header nav{ display:flex !important; }
}

/* ============================== */
/* HERO */
/* ============================== */
.hero {width:100%; height:90vh; background-size:cover; background-position:center; position:relative; display:flex; align-items:center; justify-content:center;}
.hero .hero-overlay {color:#fff; text-align:center; max-width:900px; padding:0 20px;}
.hero h1 {font-size:3em; margin-bottom:15px; text-shadow:2px 2px 6px rgba(0,0,0,0.6);}
.hero p {font-size:1.3em; margin-bottom:25px; text-shadow:1px 1px 4px rgba(0,0,0,0.5);}
.hero .cta {padding:15px 40px; background:#9b59b6; color:#fff; border-radius:50px; font-weight:bold; text-decoration:none; transition:0.3s;}
.hero .cta:hover {background:#7e3cae;}

/* ============================== */
/* SLIDER */
/* ============================== */
.fullwidth-slider {
  width:100%; overflow-x:auto; display:flex; gap:20px; padding:40px 0;
  scroll-behavior:smooth;
}
.fullwidth-slider::-webkit-scrollbar {display:none;}
.fullwidth-slide {
  flex:0 0 auto; width:250px; height:180px; position:relative;
  border-radius:20px; overflow:hidden; cursor:pointer; transition:transform 0.3s;
}
.fullwidth-slide img {width:100%; height:100%; object-fit:cover; display:block;}
.fullwidth-slide .slide-text{
  position:absolute; bottom:0; left:0; width:100%; padding:15px;
  color:#fff; font-weight:700; text-align:center; font-size:1.1em;
  text-shadow:1px 1px 4px rgba(0,0,0,0.7);
}
.fullwidth-slide:hover {transform:scale(1.05);}

/* ============================== */
/* DESTINOS */
/* ============================== */
.destinos {margin:50px 0; text-align:center;}
.destinos h2 {color:#9b59b6; font-size:2.2em; margin-bottom:20px;}
.destinos p {max-width:900px; margin:0 auto 40px auto; font-size:1.2em; color:#555;}
.destinos-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:25px; justify-items:center;
}
.destino-card { border-radius:20px; overflow:hidden; position:relative; transition:transform 0.3s; cursor:pointer; }
.destino-card img {width:100%; height:200px; object-fit:cover;}
.destino-card h3{
  position:absolute; bottom:0; left:0; width:100%; padding:15px;
  background:rgba(0,0,0,0.5); color:#fff; text-align:center;
  font-weight:700; font-size:1.1em;
}
.destino-card:hover {transform:scale(1.03); box-shadow:0 8px 20px rgba(0,0,0,0.25);}

/* ============================== */
/* BLOQUE SOCIAL */
/* ============================== */
.social-section {width:100%; position:relative; margin:60px 0;}
.social-section img {width:100%; height:450px; object-fit:cover;}
.social-overlay{
  position:absolute; top:50%; left:50%; transform:translate(-50%, -50%);
  background:rgba(0,0,0,0.5); color:#fff; padding:40px; border-radius:15px;
  max-width:800px; text-align:center;
}
.social-overlay h2 {font-size:2em; margin-bottom:15px;}
.social-overlay p {font-size:1.2em; margin-bottom:25px;}
.social-overlay .btn-social{
  display:inline-block; margin:0 10px; padding:12px 25px; border-radius:50px;
  background:#9b59b6; color:#fff; font-weight:bold; text-decoration:none; transition:0.3s;
}
.social-overlay .btn-social:hover {background:#7e3cae;}

/* ============================== */
/* FOOTER */
/* ============================== */
footer {background:#fff; color:#333; padding:50px 0;}
footer .footer-container{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:30px; text-align:left;
}
footer .footer-logo img {width:140px;}
footer a {color:#9b59b6; text-decoration:none; transition:0.3s;}
footer a:hover {color:#7e3cae; text-decoration:underline;}
footer p.text-center {margin-top:30px; text-align:center; font-size:0.95em; color:#666;}

/* ============================== */
/* ADD-ON */
/* ============================== */
.h1-enhanced{
  font-size:clamp(2rem, 2.4vw + 1rem, 3rem);
  font-weight:900; margin:24px 0 6px; letter-spacing:.2px;
  background:linear-gradient(45deg,#9b59b6,#ff6b6b);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.h1-subtitle{
  font-size:clamp(1.05rem, .6vw + 1rem, 1.35rem);
  color:#555; max-width:900px; margin:0 auto 20px; text-align:center;
}

/* Centro bloques concretos */
.center-block{ text-align:center; }
.center-block > p{ max-width:900px; margin:0 auto 28px; color:#555; }
.center-block .destinos-grid{
  display:flex; flex-wrap:wrap; gap:25px; justify-content:center;
}
.center-block .destino-card{ width:250px; }

/* Flechas slider */
.slider-overlay-wrap{ position:relative; }
.slider-overlay-wrap .fullwidth-slider{ padding:40px 60px; }
.slider-btn.over{
  position:absolute; top:50%; transform:translateY(-50%);
  width:58px; height:58px; border:0; border-radius:50%;
  background:rgba(255,255,255,.86); color:#6b2a92; font-weight:900; font-size:30px;
  box-shadow:0 12px 28px rgba(0,0,0,.22);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; z-index:5; backdrop-filter:saturate(130%) blur(6px);
  transition:.2s ease;
}
.slider-btn.over.left{ left:12px; }
.slider-btn.over.right{ right:12px; }
.slider-btn.over:hover{ background:#fff; color:#4c1f6b; transform:scale(1.06); }

/* Arrastre */
.dragging{ cursor:grabbing; }

/* Responsive buttons */
@media(max-width:680px){
  .slider-btn.over{ width:48px; height:48px; font-size:26px; }
  .slider-overlay-wrap .fullwidth-slider{ padding:32px 52px; }
}
/* Espaciado bloques ciudad */
.pagina-ciudad section {
  margin-top: 60px;
}

/* Título bloques */
.pagina-ciudad h2 {
  margin-bottom: 20px;
}

/* Texto debajo del título */
.pagina-ciudad p {
  max-width: 800px;
  margin: 0 auto 30px;
}