
:root{
  --bg:#0c0b0a;
  --bg-soft:#151310;
  --text:#e9e5df;
  --muted:#bfb6a6;
  --gold:#C9A86A;
  --wood:#5c4636;
  --card:#121110;
  --shadow:0 10px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body.dark{background:var(--bg);color:var(--text);font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.65}
img{max-width:100%;display:block}

.container{max-width:1180px;margin:0 auto;padding:0 22px}
.site-header{position:sticky;top:0;z-index:80;background:rgba(12,11,10,.8);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.06)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{font-family:'Playfair Display',serif;letter-spacing:.5px;color:var(--gold);text-decoration:none;font-size:1.4rem;font-weight:700}
.nav a{color:var(--muted);text-decoration:none;margin-left:20px;font-weight:500}
.nav a:hover{color:var(--text)}

.site-footer{border-top:1px solid rgba(255,255,255,.08);background:#0d0c0b;margin-top:64px}
.site-footer .container{padding:26px 20px;text-align:center;color:var(--muted)}
.site-footer strong{color:var(--gold)}

.section-title{font-size:2rem;text-align:center;margin:16px 0 26px;color:var(--text);font-family:'Playfair Display',serif}

.btn{background:var(--gold);color:#1a1a1a;text-decoration:none;padding:10px 18px;border-radius:999px;display:inline-block;font-weight:700;box-shadow:0 10px 18px rgba(201,168,106,.2)}
.btn:hover{filter:brightness(1.05)}
.btn.ghost{background:transparent;border:1px solid var(--gold);color:var(--gold)}

.hero{height:80vh;min-height:520px;position:relative}
.hero .swiper{height:100%}
.hero-slide{background-size:cover;background-position:center;position:relative}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.6))}
.hero-text{position:absolute;left:8%;bottom:12%;max-width:560px;color:#fff;z-index:2}
.hero-text h1{font-family:'Playfair Display',serif;font-size:2.6rem;margin:0 0 10px}
.hero-text p{opacity:.95;margin:0 0 14px}

.card{background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:14px;box-shadow:var(--shadow);padding:16px}
.card img{width:100%;height:240px;object-fit:cover;border-radius:10px;margin-bottom:12px}
.price-tag{color:var(--gold);font-weight:700}

.grid{display:grid;gap:22px}
.g2{grid-template-columns:1fr; margin-top: 50px;}
.g3{grid-template-columns:1fr}
@media(min-width:900px){.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}}

.about-brief .photo img{height:100%;max-height:360px;object-fit:cover}

.parallax{position:relative;background-attachment:scroll;background-position:center;background-size:cover}
@media (min-width:1024px){.parallax{background-attachment:fixed}}
.parallax-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.6))}
.parallax .container{position:relative;padding:70px 22px;text-align:center}
.parallax.cta h2{font-family:'Playfair Display',serif;font-size:2rem;margin:0 0 8px}
.parallax.cta p{color:var(--muted);margin:0 0 14px}

.testimonials{background:var(--bg-soft);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);padding:18px 0}
.t-card{background:#11100f;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:22px;color:var(--muted);box-shadow:var(--shadow)}

.reservas .form{background:#11100f;border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:18px}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-weight:600;color:var(--muted)}
.field input,.field textarea{background:#0e0d0c;color:var(--text);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 12px}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold)}

.gallery .card img{height:220px}
.gallery .gallery-info{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.gallery .gallery-info h3{margin:8px 0}
.gallery .price-tag{font-size:1.05rem}

.banner{height:360px;position:relative;margin:22px 0;border-radius:16px;overflow:hidden}
.banner .banner-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff}

.map-embed{position:relative;width:100%;padding-bottom:56.25%;border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}
.map-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.swiper-pagination-bullet{background:rgba(255,255,255,.4);opacity:1}
.swiper-pagination-bullet-active{background:var(--gold)}

.whatsapp-fab{position:fixed;right:18px;bottom:18px;width:56px;height:56px;background:#25D366;border-radius:50%;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.25);z-index:90}
.whatsapp-fab svg{width:28px;height:28px;fill:#fff}
