*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden;}
body{font-family:'Inter',sans-serif;background:#faf7f2;color:#1b1b1b;max-width:100%;overflow-x:hidden;}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  background:#fff;border-bottom:1px solid #e8e0d4;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 28px;height:60px;
  box-shadow:0 1px 8px rgba(0,0,0,0.06);
}
.nav-logo{display:flex;align-items:center;gap:0;text-decoration:none;}
.nav-logo-box{
  background:#7a1c1c;padding:6px 10px;border-radius:6px;
  font-family:'Cinzel',serif;font-size:14px;font-weight:900;
  color:white;line-height:1.2;letter-spacing:0.5px;
}
.nav-links{display:flex;gap:24px;list-style:none;}
.nav-links a{
  color:#333;font-size:13px;font-weight:500;text-decoration:none;
  transition:color .2s;letter-spacing:0.2px;
}
.nav-links a:hover,.nav-links a.active{color:#7a1c1c;}
.nav-links a.active{font-weight:600;}
.nav-map-btn{
  display:flex;align-items:center;gap:6px;
  border:1.5px solid #c4a73f;border-radius:20px;
  padding:6px 14px;font-size:12px;font-weight:600;
  color:#7a1c1c;text-decoration:none;background:transparent;
  transition:all .2s;cursor:pointer;
}
.nav-map-btn:hover{background:#c4a73f;color:white;}

/* ── HERO ── */
#inicio{
  min-height:100vh;padding-top:60px;position:relative;
  display:flex;flex-direction:column;justify-content:center;
  background:url('../assets/images/hero-bg.webp') center/cover no-repeat;
}

.hero-left::after{
  content:'';position:absolute;right:0;top:0;bottom:0;width:1px;
  background:linear-gradient(to bottom,transparent,rgba(196,167,63,0.3),transparent);
}



.hero-btns{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:36px;}
.btn-red{
  background:#7a1c1c;color:white;border:2px solid #7a1c1c;
  padding:12px 24px;border-radius:6px;font-size:13px;font-weight:600;
  cursor:pointer;text-decoration:none;display:inline-block;transition:all .2s;
}
.btn-red:hover{background:#5c1414;border-color:#5c1414;}
.btn-outline-white{
  background:transparent;color:white;border:2px solid rgba(255,255,255,0.45);
  padding:12px 24px;border-radius:6px;font-size:13px;font-weight:600;
  cursor:pointer;text-decoration:none;display:inline-block;transition:all .2s;
}
.btn-outline-white:hover{border-color:white;}
.hero-meta{display:flex;flex-direction:column;gap:8px;}


.hero-right{display:none;}
.hero-right-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to right,rgba(60,10,10,0.4) 0%,transparent 50%);
}

/* ── QUICK NAV ── */
.quick-nav{
  background:#fff;border-bottom:1px solid #e8e0d4;
  display:flex;justify-content:center;align-items:stretch;
  position:sticky;top:60px;z-index:100;
  box-shadow:0 2px 8px rgba(0,0,0,0.04);
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.quick-nav::-webkit-scrollbar{display:none;}
@media(max-width:700px){
  .quick-nav{justify-content:flex-start;}
}
.quick-nav a{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:14px 28px;text-decoration:none;color:#555;
  font-size:11px;font-weight:500;letter-spacing:0.3px;
  border-bottom:2px solid transparent;transition:all .2s;
  white-space:nowrap;
}
.quick-nav a:hover,.quick-nav a.qactive{color:#7a1c1c;border-bottom-color:#7a1c1c;}
.qn-icon{font-size:22px;line-height:1;}

/* ── MUNDOS ── */
#mundos{background:#faf7f2;padding:64px 5%;}
.section-eyebrow{
  font-size:10px;letter-spacing:4px;text-transform:uppercase;
  color:#b7823e;font-weight:600;text-align:center;display:block;margin-bottom:6px;
}
.section-title{
  font-family:'Cinzel',serif;font-size:clamp(24px,3vw,36px);
  color:#1b1b1b;font-weight:700;text-align:center;
  letter-spacing:3px;margin-bottom:10px;
}
.gold-line{width:50px;height:3px;background:#c4a73f;margin:0 auto 44px;border-radius:2px;}
.mundos-grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:12px;
  max-width:1100px;margin:0 auto;
}
.mundo-card{
  border-radius:10px;overflow:hidden;position:relative;
  aspect-ratio:0.7;cursor:pointer;transition:transform .3s;
}
.mundo-card:hover{transform:translateY(-5px);}
.mundo-card img{width:100%;height:100%;object-fit:cover;display:block;}
.mundo-card-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(60,10,10,0.9) 0%,rgba(0,0,0,0.05) 55%);
}
.mundo-card-content{
  position:absolute;bottom:0;left:0;right:0;
  padding:14px 12px;
}
.mundo-card h3{
  font-family:'Cinzel',serif;font-size:13px;color:white;
  font-weight:700;margin-bottom:4px;letter-spacing:0.5px;
}
.mundo-card p{font-size:9.5px;color:rgba(255,255,255,0.72);line-height:1.4;margin-bottom:8px;}
.mundo-arrow{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:50%;
  border:1.5px solid rgba(196,167,63,0.7);color:rgba(196,167,63,0.9);font-size:11px;
}
.mundos-cta{text-align:center;margin-top:28px;}

/* ── MARCAS ── */
#marcas{background:#faf7f2;padding:56px 5% 64px;}
.marcas-grid{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:52px 64px;max-width:1000px;margin:0 auto;
}
.marca-card{
  display:flex;align-items:center;justify-content:center;
  height:64px;
  transition:transform .3s,opacity .3s;
  opacity:.88;
}
.marca-card:hover{transform:translateY(-3px);opacity:1;}
.marca-logo{max-height:64px;max-width:190px;object-fit:contain;}

/* ── EXPERIENCIAS ── */
#experiencias{background:#faf7f2;padding:0 5% 64px;}
.exp-header{
  display:flex;justify-content:space-between;align-items:baseline;
  max-width:1100px;margin:0 auto 24px;
}
.exp-header h2{
  font-family:'Cinzel',serif;font-size:clamp(20px,2.5vw,28px);
  color:#1b1b1b;font-weight:700;letter-spacing:2px;
}
.ver-todas{color:#7a1c1c;font-size:13px;font-weight:600;text-decoration:none;border-bottom:1px solid #7a1c1c;}
.exp-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:36px 28px;
  max-width:1100px;margin:0 auto;
}
.exp-item{cursor:pointer;}
.exp-item-img{border-radius:10px;overflow:hidden;aspect-ratio:16/10;}
.exp-item-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s;}
.exp-item:hover .exp-item-img img{transform:scale(1.06);}
.exp-music-placeholder{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#7a1c1c 0%,#3a0e0e 100%);font-size:38px;
}
.exp-item-top{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:14px;gap:10px;
}
.exp-item-title{
  font-size:16px;font-weight:700;color:#1b1b1b;
  font-family:'Inter',sans-serif;
}
.exp-item-arrow{
  color:#7a1c1c;font-size:20px;line-height:1;flex-shrink:0;
  transition:transform .2s;
}
.exp-item:hover .exp-item-arrow{transform:translateX(4px);}
.exp-item-desc{
  font-size:13px;color:#666;line-height:1.55;margin-top:6px;
}

/* ── COMER ── */
#comer{
  background:#faf7f2;padding:64px 5%;
  position:relative;
}
#comer::before{
  content:'';position:absolute;right:5%;top:10%;
  width:260px;height:260px;opacity:0.04;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 5L61 35H95L68 57L79 91L50 70L21 91L32 57L5 35H39Z' fill='%23c4a73f'/%3E%3C/svg%3E") center/contain no-repeat;
}
.comer-layout{
  display:grid;grid-template-columns:340px 1fr;gap:48px;
  max-width:1100px;margin:0 auto;align-items:start;
}
.comer-left .section-title{text-align:left;margin-bottom:6px;font-size:clamp(22px,2.6vw,32px);line-height:1.15;}
.comer-left .gold-line{margin:0 0 18px;}
.comer-left > p{font-size:14px;color:#555;line-height:1.7;margin-bottom:22px;}
.comer-tabs{display:flex;flex-direction:column;gap:0;}
.comer-tab-row{display:flex;gap:8px;margin-bottom:8px;}
.comer-tab{
  padding:8px 16px;border-radius:4px;font-size:12px;font-weight:600;
  cursor:pointer;border:1.5px solid #7a1c1c;background:transparent;
  color:#7a1c1c;transition:all .2s;
}
.comer-tab.active,.comer-tab:hover{background:#7a1c1c;color:white;}
.comer-right{
  display:grid;grid-template-columns:repeat(3,1fr);
  grid-template-rows:repeat(2,1fr);gap:10px;
}
.comer-img{border-radius:8px;overflow:hidden;aspect-ratio:1;cursor:pointer;}
.comer-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s;}
.comer-img:hover img{transform:scale(1.05);}
.comer-stamp{
  position:absolute;top:8px;right:8px;
  width:34px;height:34px;border-radius:50%;
  border:2px dashed rgba(250,247,242,0.85);
  background:rgba(122,28,28,0.55);
  display:flex;align-items:center;justify-content:center;
  font-size:15px;color:#faf7f2;
  transform:rotate(-12deg);
  box-shadow:0 2px 6px rgba(0,0,0,0.25);
  pointer-events:none;
}
.comer-img{position:relative;}

/* ── PASSPORT ── */
#passport{background:#faf7f2;padding:64px 5%;position:relative;}
.passport-layout{
  display:grid;grid-template-columns:1fr 1fr;gap:56px;
  align-items:center;max-width:1100px;margin:0 auto;
}
.passport-left .section-title{text-align:left;margin-bottom:6px;}
.passport-left .gold-line{margin:0 0 18px;}
.passport-left > p{font-size:14px;color:#555;line-height:1.7;margin-bottom:22px;}
.passport-features{display:flex;flex-direction:column;gap:11px;margin-bottom:28px;}
.pf{display:flex;align-items:center;gap:12px;font-size:13px;color:#333;}
.pf-ico{
  width:20px;height:20px;border-radius:50%;
  background:#7a1c1c;color:white;
  display:flex;align-items:center;justify-content:center;font-size:10px;flex-shrink:0;
}
.passport-btns{display:flex;gap:10px;flex-wrap:wrap;}
.btn-outline-red{
  background:transparent;color:#7a1c1c;border:1.5px solid #7a1c1c;
  padding:10px 20px;border-radius:6px;font-size:13px;font-weight:600;
  cursor:pointer;text-decoration:none;transition:all .2s;
}
.btn-outline-red:hover{background:#7a1c1c;color:white;}
.passport-visual{
  background:linear-gradient(135deg,#f5ede0 0%,#e8d8c0 100%);
  border-radius:16px;padding:32px;
  display:flex;justify-content:center;align-items:center;
  min-height:340px;position:relative;overflow:hidden;
  border:1px solid #ddd;
}
/* Passport book visual */











/* ── MAPA ── */
#mapa{background:#fff;padding:64px 2%;}
.mapa-layout{
  display:flex;flex-direction:column;gap:24px;
  max-width:1200px;margin:0 auto;
}
.mapa-left h2{font-family:'Cinzel',serif;font-size:28px;color:#1b1b1b;font-weight:700;letter-spacing:2px;margin-bottom:12px;text-align:center;}
.mapa-left p{font-size:13px;color:#777;margin-bottom:14px;text-align:center;}
.mapa-legend{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px 24px;}
.ml-item{display:flex;align-items:center;gap:9px;font-size:12px;color:#333;}
.ml-dot{width:11px;height:11px;border-radius:3px;flex-shrink:0;}
.mapa-img{
  border-radius:12px;overflow:hidden;
  border:2px solid #b7823e;
  box-shadow:0 8px 40px rgba(0,0,0,0.15);
  cursor:zoom-in;
}
.mapa-img img{width:100%;display:block;transition:transform .3s;}
.mapa-img:hover img{transform:scale(1.02);}

/* ── RESERVAS ── */
#reservas{background:#7a1c1c;padding:64px 5%;}
.reservas-top{text-align:center;margin-bottom:40px;}
.reservas-top .section-title{color:#faf7f2;}
.reservas-top .section-eyebrow{color:rgba(196,167,63,0.8);}
.reservas-top .gold-line{background:#c4a73f;}
.reservas-top p{font-size:14px;color:rgba(255,255,255,0.7);max-width:460px;margin:0 auto;}
.res-card{
  background:#faf7f2;border-radius:14px;overflow:hidden;
  max-width:720px;margin:0 auto;
  box-shadow:0 20px 60px rgba(0,0,0,0.35);
}
/* zone buttons */
.res-zones{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:20px 20px 4px;}
.rz-btn{
  border:2px solid;border-radius:10px;padding:14px 8px;text-align:center;
  cursor:pointer;transition:all .2s;background:transparent;
  font-family:'Cinzel',serif;font-size:12px;font-weight:700;letter-spacing:0.5px;
}
.rz-btn:hover{transform:translateY(-2px);}
.rz-popular{background:#c4a73f;color:#5c1414;font-size:8px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:2px 8px;border-radius:3px;display:inline-block;margin-bottom:4px;}
.rz-count{display:block;font-family:'Inter',sans-serif;font-size:10px;font-weight:400;margin-top:2px;opacity:.75;}
.rz-price{display:block;font-family:'Inter',sans-serif;font-size:14px;font-weight:700;margin-top:4px;color:#b7823e;}
.rzb-m{border-color:#1b1b1b;color:#1b1b1b;}
.rzb-m:hover,.rzb-m.active{background:#1b1b1b;color:#faf7f2;}
.rzb-z{border-color:#444;color:#222;}
.rzb-z:hover,.rzb-z.active{background:#333;color:#faf7f2;}
.rz-btn.sold-out{opacity:.55;cursor:not-allowed;border-color:#999;color:#999;}
.rz-btn.sold-out:hover{transform:none;background:transparent;color:#999;}
.rz-soldout-tag{background:#7a1c1c;color:#faf7f2;font-size:8px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:2px 8px;border-radius:3px;display:inline-block;margin-bottom:4px;}
.rz-fewleft{background:#c4783a;color:#faf7f2;font-size:8px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:2px 8px;border-radius:3px;display:inline-block;margin-bottom:4px;}
.res-contact-msg{
  text-align:center;font-size:15px;color:#5c1414;
  background:#f5ece0;border:1px dashed #c4a73f;
  border-radius:8px;padding:12px 20px;margin:20px 20px 0;
  font-weight:600;
}
.res-contact-msg a{color:#7a1c1c;text-decoration:underline;font-weight:700;}
.rzb-y{border-color:#7a1c1c;color:#7a1c1c;}
.rzb-y:hover,.rzb-y.active{background:#7a1c1c;color:#faf7f2;}
/* stand picker */
.res-picker{display:none;padding:16px 20px;animation:up .2s ease;}
.res-picker.show{display:block;}
@keyframes up{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.res-picker-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.res-desc{background:white;border-left:3px solid #7a1c1c;border-radius:0 6px 6px 0;padding:9px 11px;font-size:11px;color:#444;line-height:1.6;margin-bottom:10px;}
.res-sgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(33px,1fr));gap:4px;max-height:200px;overflow-y:auto;}
.res-sgrid::-webkit-scrollbar{width:3px;}
.res-sgrid::-webkit-scrollbar-thumb{background:#b7823e;border-radius:3px;}
.rsn{border:1px solid;border-radius:4px;padding:6px 2px;text-align:center;font-size:10px;font-weight:600;cursor:pointer;transition:all .15s;background:transparent;}
.rsn:hover,.rsn.sel{transform:scale(1.1);}
.rsn-y{border-color:#7a1c1c;color:#7a1c1c;}
.rsn-y:hover,.rsn-y.sel{background:#7a1c1c;color:white;}
.rsn-z{border-color:#1a3fa0;color:#1a3fa0;}
.rsn-z:hover,.rsn-z.sel{background:#1a3fa0;color:white;}
.rsn-m{border-color:#803010;color:#803010;}
.rsn-m:hover,.rsn-m.sel{background:#803010;color:white;}
.res-plano-lbl{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#7a1c1c;font-weight:600;margin-bottom:5px;}
.res-plano{width:100%;border-radius:6px;border:1.5px solid #b7823e;display:block;}
.res-legend{display:flex;flex-direction:column;gap:3px;margin-top:6px;}
.rl-item{display:flex;align-items:center;gap:5px;font-size:9px;color:#555;}
.rl-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0;}
/* booking */
.res-booking{display:none;padding:0 20px 20px;}
.res-booking.show{display:block;animation:up .2s ease;}
.res-bcard{background:#7a1c1c;border-radius:10px;padding:16px;margin-bottom:10px;border:2px solid #b7823e;}
.res-blbl{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#d4bc6a;margin-bottom:2px;}
.res-bname{font-family:'Cinzel',serif;font-size:18px;color:white;font-weight:700;margin-bottom:2px;}
.res-bprice{font-size:28px;font-weight:700;color:#c4a73f;font-family:'Cinzel',serif;}
.res-bsub{font-size:10px;color:#d4bc6a;}
.res-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;}
.ra-ai{background:#1b1b1b;color:#d4bc6a;border:none;border-radius:8px;padding:12px;font-size:12px;font-weight:600;cursor:pointer;font-family:'Inter',sans-serif;transition:background .2s;}
.ra-ai:hover{background:#333;}
.ra-res{background:#c4a73f;color:#5c1414;border:none;border-radius:8px;padding:12px;font-size:12px;font-weight:600;cursor:pointer;font-family:'Inter',sans-serif;transition:background .2s;}
.ra-res:hover{background:#d4bc6a;}
.res-ai{display:none;background:white;border:1px solid #b7823e;border-radius:8px;padding:13px;font-size:12px;color:#333;line-height:1.7;margin-bottom:10px;white-space:pre-wrap;}
.res-ai.show{display:block;animation:up .2s ease;}
.res-typing{display:inline-block;animation:blink .9s infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
.res-contact{display:none;background:white;border:1px solid #ddd;border-radius:10px;overflow:hidden;}
.res-contact.show{display:block;animation:up .2s ease;}
.rc-hdr{background:#7a1c1c;padding:9px 14px;font-family:'Cinzel',serif;font-size:12px;color:#d4bc6a;letter-spacing:1px;}
.rc-row{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid #f0ebe2;font-size:12px;color:#333;}
.rc-row:last-child{border-bottom:none;}

/* ── FOOTER ── */
footer{background:#3d0e0e;padding:44px 5% 24px;border-top:1px solid rgba(196,167,63,0.2);}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;margin-bottom:32px;}
.footer-logo{margin-bottom:12px;display:flex;align-items:center;}
.footer-logo-box{background:#7a1c1c;padding:6px 10px;border-radius:6px;font-family:'Cinzel',serif;font-size:14px;font-weight:900;color:white;line-height:1.2;letter-spacing:0.5px;}
.footer-brand p{font-size:12px;color:rgba(255,255,255,0.5);line-height:1.7;margin-top:10px;}
.footer-col h4{font-family:'Cinzel',serif;color:#d4bc6a;font-size:11px;letter-spacing:2px;margin-bottom:14px;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:8px;}
.footer-col ul a{font-size:12px;color:rgba(255,255,255,0.55);text-decoration:none;transition:color .2s;}
.footer-col ul a:hover{color:#d4bc6a;}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:18px;display:flex;justify-content:space-between;}
.footer-bottom p{font-size:11px;color:rgba(255,255,255,0.35);}

/* ── RESPONSIVE ── */
@media(max-width:960px){
  #inicio{
  min-height:100vh;padding-top:60px;position:relative;
  display:flex;flex-direction:column;justify-content:center;
  background:url('../assets/images/hero-bg.webp') center/cover no-repeat;
}
  .hero-right{display:none;}
  .mundos-grid{grid-template-columns:repeat(3,1fr);}
  .exp-grid{grid-template-columns:repeat(2,1fr);}
  .comer-layout,.shows-layout,.passport-layout,.mapa-layout,.footer-grid{grid-template-columns:1fr;}
  .res-picker-grid{grid-template-columns:1fr;}
  .quick-nav a{padding:12px 16px;}
}
@media(max-width:600px){
  .mundos-grid{grid-template-columns:repeat(2,1fr);}
  .exp-grid{grid-template-columns:1fr;gap:28px;}
  .res-zones{grid-template-columns:1fr;}
  .nav-links{display:none;}
  .comer-layout{grid-template-columns:1fr;gap:24px;}
  .comer-right{grid-template-columns:repeat(3,1fr);}
  .passport-layout{grid-template-columns:1fr;gap:32px;text-align:center;}
  .passport-layout img{max-width:220px;margin:0 auto;}
}








.hero-left{
  background:linear-gradient(to right, rgba(20,4,4,0.72) 0%, rgba(20,4,4,0.55) 55%, rgba(20,4,4,0.15) 100%);
  padding:0 5% 80px;
  display:flex;flex-direction:column;justify-content:flex-end;
  min-height:100vh;
}

.hero-left h1 { color: #ffffff !important; }
.hero-left p { color: rgba(255,255,255,0.88) !important; }
.hero-label { color: rgba(220,190,90,1) !important; }
.hero-btns .btn-red { background:#7a1c1c !important; color:#fff !important; }
.hero-btns .btn-outline-white { color:#ffffff !important; border-color:rgba(255,255,255,0.6) !important; }
.hero-meta-item { color: rgba(255,255,255,0.85) !important; }
.hero-meta-item span { color: #ffffff !important; }

.hero-alhambra {
  position:absolute;
  top:80px;
  right:40px;
  opacity:0.55;
  z-index:2;
}
.hero-alhambra img {
  height:90px;
  width:auto;
}


