/* Color system inspirado en el logo */
:root{
  --green:#0f3a2e;
  --gold:#c5a35a;
  --cream:#f3efe6;
  --ink:#0e0e0e;
  --muted:#24483d;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:#fff; background:var(--green);
  line-height:1.6;
}
h1,h2,h3{font-family:"Playfair Display", serif; margin:0 0 .5rem}
h1{font-size:clamp(2rem,4vw,3.2rem)}
h2{font-size:clamp(1.6rem,3vw,2.2rem)}
p{margin:.5rem 0 1rem}

.container{width:min(1100px, 92%); margin-inline:auto}

.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(15,58,46,.9);
  backdrop-filter: blur(6px);
  border-bottom:1px solid rgba(197,163,90,.2);
}
.site-header .nav{display:flex; align-items:center; gap:1rem; padding:.6rem 0}
.brand{display:flex; align-items:center; gap:.6rem; color:#fff; text-decoration:none; font-weight:700; letter-spacing:.5px}
.brand__icon{width:36px; height:36px; border-radius:50%; object-fit:cover; border:2px solid var(--gold)}
nav{margin-left:auto; display:flex; gap:.8rem; flex-wrap:wrap}
nav a{color:#fff; text-decoration:none; padding:.45rem .6rem; border-radius:999px; border:1px solid transparent}
nav a:hover{border-color:var(--gold)}
.cta{margin-left:.4rem; background:var(--gold); color:#111; padding:.45rem .75rem; border-radius:999px; text-decoration:none; font-weight:700}

.hero{position:relative; min-height:72vh; display:grid; place-items:center; text-align:center}
.hero__bg img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:contrast(1.05) saturate(1.1) brightness(.7)}
.hero__content{position:relative; z-index:1}
.hero h1 .accent{color:var(--gold)}
.hero__buttons{display:flex; gap:.7rem; justify-content:center; flex-wrap:wrap}
.btn{display:inline-block; border:2px solid var(--gold); background:var(--gold); color:#111; padding:.7rem 1rem; border-radius:10px; text-decoration:none; font-weight:800}
.btn--outline{background:transparent; color:#fff}
.btn--outline:hover{background:rgba(197,163,90,.15)}

.section{padding:3rem 0; background:var(--green)}
.section--alt{background:#0b2f26}
.grid{display:grid; gap:1rem}
.promos{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.promos img, .rounded{border-radius:12px; width:100%; height:auto; display:block}
.shadow{box-shadow:0 10px 25px rgba(0,0,0,.35)}

.two-col{display:grid; gap:2rem; grid-template-columns:1.2fr .8fr}
@media(max-width:900px){.two-col{grid-template-columns:1fr}}

.stacked-photos{display:grid; gap:1rem}
.stacked-photos img{width:100%; border-radius:12px; box-shadow:0 10px 25px rgba(0,0,0,.35)}

.gallery{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.gallery img{width:100%; height:220px; object-fit:cover; border-radius:10px; cursor:zoom-in}

.video-wrap{position:relative; padding-top:56.25%; border-radius:12px; overflow:hidden; box-shadow:0 10px 25px rgba(0,0,0,.35); margin-top:1rem}
.video-wrap iframe{position:absolute; inset:0; width:100%; height:100%}

.social-embeds{display:grid; grid-template-columns:1fr 1fr; gap:1rem}
@media(max-width:900px){.social-embeds{grid-template-columns:1fr}}
.ig-embed{display:flex; flex-direction:column; gap:.5rem; align-items:flex-start; justify-content:center}
.hint{opacity:.8; font-size:.9rem}

.contact-list{list-style:none; padding:0; margin:0 0 1rem; display:grid; gap:.3rem}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:.6rem}
.form-grid textarea{grid-column:1/-1}
input, textarea{width:100%; padding:.75rem .9rem; border-radius:10px; border:1px solid #335; background:#0c251f; color:#fff}
input::placeholder, textarea::placeholder{color:#bcd}
input:focus, textarea:focus{outline:2px solid var(--gold)}

.map-wrap{position:relative; padding-top:60%; border-radius:12px; overflow:hidden; box-shadow:0 10px 25px rgba(0,0,0,.35)}
.map-wrap iframe{position:absolute; inset:0; width:100%; height:100%; border:0}

.site-footer{background:#08251d; padding:1.2rem 0; border-top:1px solid rgba(197,163,90,.25)}
.footer-grid{display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap}
.madeby a{color:var(--gold); text-decoration:none}

.wa-float{
  position:fixed; right:16px; bottom:16px; background:#25D366; color:#111;
  padding:.8rem 1rem; border-radius:999px; text-decoration:none; font-weight:800;
  box-shadow:0 10px 25px rgba(0,0,0,.35)
}

/* Lightbox */
.lightbox-modal{position:fixed; inset:0; background:rgba(0,0,0,.85); display:none; align-items:center; justify-content:center; z-index:100}
.lightbox-modal.open{display:flex}
.lightbox-modal img{max-width:90vw; max-height:80vh; border-radius:12px}
.lightbox-close{position:absolute; top:10px; right:18px; font-size:2rem; background:transparent; color:#fff; border:0; cursor:pointer}
