:root{
  --terracota:#a5673f;
  --terracota-osc:#8a5432;
  --verde:#0a9243;
  --azul:#529ff5;
  --rojo:#da0b0b;
  --marron:#cb8569;
  --oscuro:#2b2b28;
  --crema:#faf7f2;
  --gris-texto:#5a564f;
}
*{box-sizing:border-box;}
body{margin:0;font-family:'Roboto', sans-serif;color:var(--gris-texto);background:#fff;line-height:1.6;}
h1,h2,h3,h4{margin:0;font-family:'Noto Sans', sans-serif;color:var(--oscuro);}
h1{font-family:'Overlock SC', sans-serif;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
.container{max-width:1200px;margin:0 auto;padding:0 20px;}
ul{list-style:none;margin:0;padding:0;}
hr{border:none;border-top:2px solid var(--terracota);width:60px;margin:14px auto 0;}
.text-center hr{margin-left:auto;margin-right:auto;}

/* ===== SKIP LINK ===== */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--terracota);color:#fff;padding:12px 20px;z-index:10000;font-weight:700;border-radius:0 0 6px 0;}
.skip-link:focus{left:0;}

/* ===== TOPBAR ===== */
.topbar{background:var(--oscuro);color:#d8d5cd;font-size:13.5px;padding:9px 0;}
.topbar-inner{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;}
.topbar-inner a{color:#d8d5cd;}
.topbar-inner a:hover{color:#fff;}
.topbar-inner i{margin-right:6px;color:var(--terracota);}

/* ===== HEADER TITLE ===== */
.page-title{padding:26px 0 18px;text-align:center;border-bottom:1px solid #eee;}
.page-title h1{font-size:26px;letter-spacing:1px;}
.page-title .icon-links{margin-top:10px;display:flex;justify-content:center;gap:16px;}
.page-title .icon-links a{color:var(--azul);font-size:18px;}
.page-title .icon-links a:hover{color:var(--terracota-osc);}

/* ===== MENU (simple, una sola página) ===== */
nav.main-menu{display:flex;justify-content:center;gap:20px;padding:14px 0;background:var(--crema);border-bottom:1px solid #eee;}
nav.main-menu a{font-weight:600;font-size:14px;color:var(--oscuro);text-transform:uppercase;letter-spacing:.5px;}
nav.main-menu a:hover, nav.main-menu a.active{color:var(--terracota-osc);}

/* ===== HERO ===== */
.hero{position:relative;}
.hero img{width:100%;height:70vh;min-height:420px;object-fit:cover;}
.hero-caption{
  position:absolute;left:0;right:0;bottom:0;
  background:linear-gradient(to top, rgba(0,0,0,.55), transparent);
  color:#fff;padding:60px 20px 40px;text-align:center;
}
.hero-caption h2{color:#fff;font-size:34px;margin-bottom:10px;}
.hero-caption p{max-width:600px;margin:0 auto 20px;font-size:15px;}
.hero-caption .btn{background:#fff;color:var(--oscuro);padding:12px 26px;border-radius:30px;font-weight:700;font-size:13px;letter-spacing:.5px;}
.hero-caption .btn:hover{background:var(--terracota);color:#fff;}

.hero-strip{display:flex;gap:6px;overflow-x:auto;padding:6px;background:var(--oscuro);}
.hero-strip a{flex:0 0 auto;width:150px;height:100px;}
.hero-strip img{width:100%;height:100%;object-fit:cover;}

/* ===== ICONOS DESTACADOS ===== */
.section-iconos{padding:50px 0 30px;}
.iconos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;}
.iconos-grid i{font-size:56px;display:block;margin-bottom:14px;}
.iconos-grid h3{font-size:17px;font-weight:700;}
.icono-chimenea i{color:var(--rojo);}
.icono-naturaleza i{color:var(--verde);}
.icono-piscina i{color:var(--azul);}
.icono-siglo i{color:var(--marron);}

/* ===== DESCRIPCION ===== */
.section-descripcion{padding:20px 0 50px;text-align:center;}
.section-descripcion h2{font-size:26px;margin-bottom:6px;}
.section-descripcion > .container > p{max-width:750px;margin:0 auto 24px;font-size:15px;line-height:1.75;}
.section-descripcion a{color:var(--terracota-osc);font-weight:700;}
.amenities{display:flex;justify-content:center;gap:22px;font-size:22px;color:var(--terracota);}

/* ===== SOLICITE INFO ===== */
.section-info{padding:50px 0;background:var(--crema);}
.info-grid{display:grid;grid-template-columns:2fr 1fr;gap:30px;align-items:start;}
.info-grid h2{font-size:22px;margin-bottom:20px;}
.video-wrap{position:relative;padding-bottom:56.25%;height:0;border-radius:10px;overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,.12);}
.video-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;}
.info-side{background:#fff;border:1px solid #e5e0d8;border-radius:14px;padding:16px;text-align:center;}
.info-side h3{font-size:19px;margin-bottom:14px;}
.info-side h3 i{color:var(--terracota);margin-right:8px;}
.info-side img{border-radius:8px;}

/* ===== CASA DE CAMPO (texto largo) ===== */
.section-texto{padding:50px 0;}
.section-texto h2{font-size:24px;margin-bottom:16px;}
.section-texto p{text-align:justify;margin-bottom:16px;font-size:15px;}

/* ===== GALERIA PREVIEW / GALERIA COMPLETA ===== */
.section-galeria{padding:40px 0 70px;}
.galeria-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:26px;}
.galeria-header h2{font-size:24px;}
.btn-outline{display:inline-flex;align-items:center;gap:8px;border:2px solid var(--terracota);color:var(--terracota-osc);padding:10px 22px;border-radius:30px;font-weight:700;font-size:13px;}
.btn-outline:hover{background:var(--terracota);color:#fff;}
.galeria-intro{max-width:700px;margin:0 auto 30px;text-align:center;color:var(--gris-texto);}
.galeria-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.galeria-grid a{display:block;aspect-ratio:1;overflow:hidden;border-radius:8px;position:relative;cursor:zoom-in;}
.galeria-grid img{width:100%;height:100%;object-fit:cover;transition:.3s;}
.galeria-grid a:hover img{transform:scale(1.08);}

/* ===== LIGHTBOX ===== */
.lightbox-overlay{
  display:none;position:fixed;inset:0;background:rgba(0,0,0,.9);
  z-index:9998;align-items:center;justify-content:center;padding:30px;
}
.lightbox-overlay.open{display:flex;}
.lightbox-overlay img{max-width:92vw;max-height:88vh;border-radius:6px;}
.lightbox-close{position:absolute;top:20px;right:30px;color:#fff;font-size:34px;cursor:pointer;background:none;border:none;line-height:1;}
.lightbox-prev, .lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.15);color:#fff;border:none;font-size:24px;padding:14px 18px;cursor:pointer;border-radius:50%;}
.lightbox-prev{left:20px;}
.lightbox-next{right:20px;}
.lightbox-prev:hover, .lightbox-next:hover, .lightbox-close:hover{background:var(--terracota);}

/* ===== FOOTER ===== */
footer#site-footer{background:var(--oscuro);color:#cfcbc2;padding:50px 0 0;}
.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-bottom:26px;}
.footer-grid h3{color:#fff;font-size:16px;margin-bottom:12px;}
.footer-grid a{color:#cfcbc2;}
.footer-grid a:hover{color:var(--terracota);}
.footer-links li{margin-bottom:8px;}
.copyright{text-align:center;border-top:1px solid rgba(255,255,255,.1);padding:16px 0;font-size:12.5px;color:#8f8c85;}

/* ===== COOKIE BANNER ===== */
.cookie-banner{
  position:fixed;left:0;right:0;bottom:0;background:var(--oscuro);color:#efece5;
  padding:16px 24px;display:none;align-items:center;justify-content:center;gap:24px;
  flex-wrap:wrap;z-index:9999;box-shadow:0 -4px 16px rgba(0,0,0,.2);font-size:14px;
}
.cookie-banner p{margin:0;max-width:800px;line-height:1.5;}
.cookie-banner a{color:#e3a97a;text-decoration:underline;}
.cookie-banner button{background:var(--terracota);color:#fff;border:none;padding:12px 26px;border-radius:30px;font-weight:700;cursor:pointer;flex-shrink:0;}
.cookie-banner button:hover{background:var(--terracota-osc);}

@media (max-width:900px){
  .iconos-grid{grid-template-columns:repeat(2,1fr);}
  .info-grid{grid-template-columns:1fr;}
  .galeria-grid{grid-template-columns:repeat(3,1fr);}
  .footer-grid{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .hero img{height:50vh;min-height:280px;}
  .hero-caption h2{font-size:24px;}
  .galeria-grid{grid-template-columns:repeat(2,1fr);}
  .lightbox-prev, .lightbox-next{padding:10px 14px;font-size:18px;}
}
