/* ACTIVITIES */
.acts-wrap{padding:72px 0;background:var(--d2)}
.acts-inner{max-width:1100px;margin:0 auto;padding:0 48px}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}
.fb{background:transparent;border:1px solid rgba(255,255,255,.1);color:var(--g6);padding:8px 16px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;font-family:var(--san);transition:all .2s}
.fb:hover,.fb.on{border-color:var(--gold);color:var(--gold);background:rgba(201,168,76,.06)}
.cat-sec{margin-bottom:48px}
.cat-hd{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid rgba(201,168,76,.15)}
.cat-tit{font-family:var(--ser);font-size:20px}
.cat-tit em{color:var(--gold);font-style:italic}
.cat-cnt{font-size:11px;color:var(--g3);letter-spacing:.1em}
.act-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.act-card{background:var(--dk);border:1px solid rgba(255,255,255,.06);transition:all .3s;cursor:pointer}
.act-card:hover{border-color:rgba(201,168,76,.3);transform:translateY(-2px)}
.act-img{height:160px;position:relative;overflow:hidden;background:var(--d3)}
.act-img img{width:100%;height:100%;object-fit:cover;opacity:.8}
.act-bdg{position:absolute;top:10px;right:10px;background:var(--gold);color:#000;font-size:10px;font-weight:700;padding:4px 10px;letter-spacing:.08em}
.act-body{padding:14px}
.act-cat{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.act-name{font-family:var(--ser);font-size:16px;margin-bottom:6px}
.act-desc{font-size:12px;color:var(--g6);line-height:1.5;margin-bottom:10px}
.act-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.act-stars{color:var(--gold);font-size:12px}
.act-revs{font-size:11px;color:var(--g3);margin-left:4px}
.act-disc{font-size:11px;font-weight:700;color:var(--gold)}
.act-btn{width:100%;padding:9px;background:transparent;border:1px solid rgba(201,168,76,.3);color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;font-family:var(--san);transition:all .2s;margin-bottom:5px}
.act-btn:hover{background:rgba(201,168,76,.1)}
.btn-share{width:100%;padding:8px;background:transparent;border:1px solid rgba(255,255,255,.1);color:var(--g6);font-size:10px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;font-family:var(--san);transition:all .2s;margin-bottom:5px}
.btn-share:hover{border-color:rgba(201,168,76,.4);color:var(--gold)}
.btn-reservar{width:100%;padding:9px;background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.3);color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;font-family:var(--san);transition:all .2s}
.btn-reservar:hover{background:rgba(201,168,76,.2)}

/* FEATURES GLASS CARDS */
.feat-card{position:relative;padding:28px 24px;background:linear-gradient(135deg,rgba(26,26,26,.9),rgba(34,34,34,.6));border:1px solid rgba(201,168,76,.12);border-radius:16px;backdrop-filter:blur(10px);transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden}
.feat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.4),transparent);opacity:0;transition:opacity .4s}
.feat-card::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(201,168,76,.06),transparent 70%);opacity:0;transition:opacity .4s}
.feat-card:hover{border-color:rgba(201,168,76,.3);transform:translateY(-4px);box-shadow:0 12px 40px rgba(201,168,76,.08)}
.feat-card:hover::before,.feat-card:hover::after{opacity:1}
.feat-icon{width:48px;height:48px;border-radius:12px;background:rgba(201,168,76,.08);border:1px solid rgba(201,168,76,.15);display:flex;align-items:center;justify-content:center;margin-bottom:16px;position:relative;z-index:1}
.feat-num{font-family:var(--ser);font-size:32px;font-weight:700;color:var(--gold);line-height:1;margin-bottom:4px;position:relative;z-index:1}
.feat-title{font-size:13px;font-weight:600;letter-spacing:.04em;margin-bottom:8px;color:var(--wh);position:relative;z-index:1}
.feat-desc{font-size:12px;color:var(--g6);line-height:1.65;position:relative;z-index:1}
@media(max-width:768px){.feat-grid{grid-template-columns:repeat(2,1fr)!important;gap:12px!important}}
@media(max-width:480px){.feat-grid{grid-template-columns:1fr!important}}

/* STEPS */
.step-card{flex:1;max-width:280px;padding:32px 24px;text-align:center;position:relative;transition:all .3s}
.step-circle{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#C9A84C,#E8D5A0);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;box-shadow:0 8px 24px rgba(201,168,76,.2);transition:transform .3s,box-shadow .3s}
.step-card:hover .step-circle{transform:scale(1.1);box-shadow:0 12px 32px rgba(201,168,76,.3)}
.step-num{font-family:var(--ser);font-size:12px;letter-spacing:.2em;color:var(--gold);opacity:.5;margin-bottom:8px}
.step-title{font-size:16px;font-weight:700;margin-bottom:10px;color:var(--wh)}
.step-desc{font-size:12px;color:var(--g6);line-height:1.7}
.step-arrow{padding:0 8px;opacity:.4;flex-shrink:0}
@media(max-width:768px){.steps-wrap{flex-direction:column!important;gap:8px!important}.step-arrow{transform:rotate(90deg)}}

/* MAP PULSE */
@keyframes mapPulse{0%,100%{transform:scale(1);opacity:.2}50%{transform:scale(1.8);opacity:0}}

/* MAP */
.map-wrap{padding:72px 48px;max-width:1100px;margin:0 auto}
#map-svg{width:100%;height:460px;border:1px solid rgba(201,168,76,.15);border-radius:16px;overflow:clip;touch-action:pan-y;position:relative;z-index:1}
#map-svg .leaflet-container{touch-action:pan-y;overflow:clip}

/* PRICING */
.pricing-wrap{padding:72px 48px;background:var(--d2)}
.pricing-inner{max-width:1100px;margin:0 auto}
.pr-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:32px}
.pr-c{background:var(--dk);border:1px solid rgba(255,255,255,.08);padding:24px 16px;text-align:center;position:relative}
.pr-c.pop{border-color:rgba(201,168,76,.5)}
.pr-badge{position:absolute;top:-1px;left:50%;transform:translateX(-50%);background:var(--gold);color:#000;font-size:9px;font-weight:700;letter-spacing:.1em;padding:3px 10px;white-space:nowrap}
.pr-dur{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--g3);margin-bottom:8px}
.pr-amt{font-family:var(--ser);font-size:42px;color:var(--wh);margin-bottom:4px}
.pr-amt sup{font-size:18px;vertical-align:top;margin-top:10px;display:inline-block}
.pr-save{font-size:11px;color:var(--gold);margin-bottom:16px}
.pr-feats{list-style:none;margin-bottom:20px}
.pr-feats li{font-size:11px;color:var(--g6);padding:5px 0;border-bottom:1px solid rgba(255,255,255,.04)}
.pr-btn{width:100%;padding:11px;background:transparent;border:1px solid rgba(201,168,76,.4);color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;font-family:var(--san);transition:all .2s}
.pr-btn:hover,.pr-c.pop .pr-btn{background:var(--gold);color:#000}

/* MODALS */
.ov{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;padding:16px;overflow-y:auto}.ov.open{display:flex}
.ov.open{display:flex}
.mo{background:var(--d2);border:1px solid rgba(201,168,76,.2);padding:28px;max-width:460px;width:100%;position:relative;max-height:90vh;overflow-y:auto}
.mo-x{position:sticky;top:0;float:right;background:transparent;border:none;color:var(--g6);font-size:18px;cursor:pointer;margin-left:8px}
.mo-eye{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.mo-h{font-family:var(--ser);font-size:24px;margin-bottom:20px}
.mo-h em{color:var(--gold);font-style:italic}
.fg{margin-bottom:14px}
.fl{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--g3);display:block;margin-bottom:5px}
.fi{width:100%;background:var(--d3);border:1px solid rgba(255,255,255,.1);color:var(--wh);padding:10px 12px;font-size:13px;font-family:var(--san)}
.fi:focus{outline:none;border-color:var(--gold)}
.fsel{width:100%;background:var(--d3);border:1px solid rgba(255,255,255,.1);color:var(--wh);padding:10px 12px;font-size:13px;font-family:var(--san)}
.bf{width:100%;padding:12px;background:var(--gold);color:#000;border:none;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;font-family:var(--san);margin-top:8px}
.fe{font-size:11px;color:#e05757;margin-top:3px;display:none}

/* DETAIL MODAL */
.det-mo{max-width:680px;padding:0}
.det-img{height:220px;position:relative;overflow:hidden}
.det-img img{width:100%;height:100%;object-fit:cover}
.det-body{padding:24px}
.det-cat{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.det-nm{font-family:var(--ser);font-size:24px;margin-bottom:8px}
.det-disc{font-size:28px;font-family:var(--ser);color:var(--gold);margin-bottom:12px}
.det-ds{font-size:13px;color:var(--g6);line-height:1.7;margin-bottom:16px}
.det-addr{font-size:11px;color:var(--g3);margin-bottom:16px}

/* BOOKING */
.book-sec{margin-top:20px;padding-top:18px;border-top:1px solid rgba(201,168,76,.2)}
.book-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:10px 0 14px}
.book-slot{padding:9px 4px;background:var(--d3);border:1px solid rgba(255,255,255,.08);cursor:pointer;text-align:center;font-size:11px;font-weight:600;transition:all .2s;color:var(--g6)}
.book-slot:hover,.book-slot.sel{background:rgba(201,168,76,.12);border-color:var(--gold);color:var(--gold)}
.book-slot.full{opacity:.3;cursor:not-allowed;text-decoration:line-through}

/* REVIEWS */
.rv-form{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.06)}
.stars-row{display:flex;gap:4px;margin-bottom:10px}
.star-btn{background:none;border:none;font-size:22px;cursor:pointer;color:rgba(255,255,255,.2);transition:color .2s}
.star-btn.on{color:var(--gold)}
.rv-item{background:var(--d3);padding:12px;margin-bottom:8px;border-left:2px solid rgba(201,168,76,.3)}
.rv-head{display:flex;justify-content:space-between;margin-bottom:4px}
.rv-name{font-size:12px;font-weight:600}
.rv-stars{color:var(--gold);font-size:11px}
.rv-text{font-size:12px;color:var(--g6)}

/* STICKY CTA BAR */
.sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:9990;background:rgba(10,10,10,.97);border-top:1px solid rgba(201,168,76,.3);padding:10px 24px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));display:none;align-items:center;justify-content:center;gap:12px;transform:translateY(100%);transition:transform .3s ease;backdrop-filter:blur(10px)}
@media(max-width:768px){.sticky-cta{display:flex}}
.sticky-cta.visible{transform:translateY(0)}
.sticky-cta-text{font-size:12px;color:var(--g6);letter-spacing:.05em}
.sticky-cta-text strong{color:var(--gold)}
.sticky-cta .bp{padding:10px 22px;font-size:10px}
.sticky-cta .wa-link{display:flex;align-items:center;gap:6px;background:#25D366;color:#fff;border:none;padding:10px 18px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;font-family:var(--san);text-decoration:none;border-radius:0}
.sticky-cta .wa-link:hover{opacity:.85}
@media(max-width:600px){.sticky-cta{padding:8px 12px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));gap:8px;flex-wrap:nowrap}.sticky-cta-text{display:none}.sticky-cta .bp,.sticky-cta .wa-link{flex:1;text-align:center;justify-content:center;padding:12px 8px;font-size:10px}}
/* WA/chatbot positioning handled by chatbot.js — do NOT add bottom/right rules here */
@media(max-width:768px){#tp-chat-box{bottom:0!important;height:50vh!important}}

/* TRUST BADGES */
.trust-bar{display:flex;justify-content:center;gap:32px;padding:20px 24px;border-bottom:1px solid rgba(201,168,76,.1)}
.trust-badge{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--g6);letter-spacing:.03em}
.trust-badge svg{width:20px;height:20px;flex-shrink:0}
@media(max-width:600px){.trust-bar{gap:16px;flex-wrap:wrap;padding:16px}.trust-badge{font-size:10px;gap:5px}.trust-badge svg{width:16px;height:16px}}

/* MID CTA */
.mid-cta{padding:40px 24px;text-align:center;background:linear-gradient(180deg,rgba(201,168,76,.04),transparent);border-top:1px solid rgba(201,168,76,.08);border-bottom:1px solid rgba(201,168,76,.08)}
.mid-cta p{font-size:14px;color:var(--g6);margin-bottom:14px}
.mid-cta strong{color:var(--wh)}

/* QUICK FORM */
.quick-form{max-width:480px;margin:0 auto;padding:48px 24px;text-align:center}
.quick-form h3{font-family:var(--ser);font-size:24px;margin-bottom:8px}
.quick-form h3 em{color:var(--gold);font-style:italic}
.quick-form p{font-size:13px;color:var(--g6);margin-bottom:20px}
.qf-row{display:flex;gap:10px;margin-bottom:12px}
.qf-row input{flex:1;background:var(--d3);border:1px solid rgba(201,168,76,.15);color:var(--wh);padding:14px 16px;font-size:13px;font-family:var(--san);outline:none;transition:border-color .2s}
.qf-row input:focus{border-color:var(--gold)}
.qf-row input::placeholder{color:var(--g3)}
.qf-submit{width:100%;background:var(--gold);color:#000;border:none;padding:14px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;font-family:var(--san);transition:opacity .2s}
.qf-submit:hover{opacity:.85}
.qf-note{font-size:11px;color:var(--g3);margin-top:10px}
@media(max-width:600px){.qf-row{flex-direction:column}}

/* FOOTER */
footer{background:var(--d2);border-top:1px solid rgba(201,168,76,.1);padding:48px;text-align:center}
footer p{font-size:12px;color:var(--g3);line-height:2}
footer a{color:var(--gold);text-decoration:none;font-size:11px;margin:0 8px}

/* TOAST */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--d3);border:1px solid var(--gold);color:var(--wh);padding:10px 20px;font-size:12px;z-index:999;display:none;white-space:nowrap}
.toast.show{display:block}

/* RESPONSIVE */
@media(max-width:900px){
  .nav-links{display:none}
  .pr-grid{grid-template-columns:1fr 1fr}
  .act-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .sec,.acts-inner,.map-wrap,.pricing-inner{padding-left:16px;padding-right:16px}
  nav{padding:12px 16px}
  .pr-grid{grid-template-columns:1fr}
  .act-grid{grid-template-columns:1fr}
  .stats{flex-wrap:wrap}
  .stat{min-width:50%}
}

#v-admin{display:none;position:fixed;inset:0;z-index:400;background:var(--dk);overflow-y:auto;padding:80px 24px 40px}
#v-admin.open{display:block}
.adm-tabs{display:flex;border-bottom:1px solid rgba(201,168,76,.2);margin-bottom:24px;overflow-x:auto;gap:0}
.adm-tab{padding:10px 14px;background:transparent;border:none;color:var(--g6);font-size:10px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;font-family:var(--san);border-bottom:2px solid transparent;white-space:nowrap}
.adm-tab.on{color:var(--gold);border-bottom-color:var(--gold)}
.adm-panel{display:none}
.adm-panel.on{display:block}
.adm-table{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:20px}
.adm-table th{padding:8px 10px;background:var(--d3);color:var(--gold);font-size:10px;letter-spacing:.1em;text-transform:uppercase;text-align:left;border-bottom:1px solid rgba(201,168,76,.2)}
.adm-table td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.05);color:var(--g6)}
.adm-form{background:var(--d2);border:1px solid rgba(201,168,76,.15);padding:20px;margin-bottom:24px}
.adm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.adm-del{background:transparent;border:1px solid rgba(224,87,87,.4);color:#e05757;font-size:10px;padding:4px 10px;cursor:pointer;font-family:var(--san)}
@media(max-width:600px){.adm-grid{grid-template-columns:1fr}}

@media(max-width:768px){
  /* NAV */
  nav{padding:10px 16px}
  .nav-links{display:none}

  /* HERO */
  .hero{padding:100px 16px 60px;text-align:center}
  .hero-title{font-size:32px}
  .hero-btns{flex-direction:column;align-items:stretch}
  .h-cats{gap:6px}
  .h-cat{padding:6px 12px;font-size:9px}

  /* STATS */
  .stats{flex-wrap:wrap}
  .stat{min-width:50%;flex:none;padding:20px 8px}
  .stat-n{font-size:28px}

  /* SECTIONS */
  .sec{padding:40px 16px}
  #s-lacard{padding:40px 16px}
  #s-lacard > div > div:nth-child(3){grid-template-columns:1fr 1fr!important}

  /* ACTIVITIES */
  .acts-wrap{padding:40px 0}
  .acts-inner{padding:0 12px}
  .act-grid{grid-template-columns:1fr!important}

  /* ACTIVITY CARD — horizontal layout on mobile */
  .act-card{display:flex;flex-direction:row;height:auto}
  .act-img{width:120px;min-width:120px;height:auto;min-height:110px;flex-shrink:0}
  .act-img img{width:100%;height:100%;object-fit:cover}
  .act-body{padding:10px;flex:1;min-width:0}
  .act-name{font-size:14px;margin-bottom:4px}
  .act-desc{font-size:11px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:6px}
  .act-meta{font-size:11px;margin-bottom:6px}
  .act-btn{padding:7px;font-size:9px;margin-bottom:4px}
  .btn-reservar{padding:7px;font-size:9px;margin-bottom:4px}
  .btn-share{padding:6px;font-size:9px}
  .act-bdg{font-size:9px;padding:3px 7px}

  /* MAP */
  .map-wrap{padding:40px 12px}
  #map-svg{height:280px}

  /* PRICING */
  .pricing-wrap{padding:40px 16px}
  .pr-grid{grid-template-columns:1fr 1fr!important;gap:8px}
  .pr-amt{font-size:32px}
  .pr-c{padding:16px 12px}

  /* RESIDENT */
  #s-resident{padding:40px 16px}
  #s-resident > div{grid-template-columns:1fr!important;gap:24px}

  /* MODALS */
  .ov{padding:0;align-items:flex-end}
  .mo{max-width:100%;width:100%;border-radius:16px 16px 0 0;max-height:90vh;overflow-y:auto}
  .det-mo{max-width:100%;border-radius:16px 16px 0 0}
  .book-slots{grid-template-columns:repeat(4,1fr);gap:4px}
  .book-slot{padding:7px 2px;font-size:10px}

  /* HOW IT WORKS */
  #s-how .sec > div:last-child{grid-template-columns:1fr!important}

  /* FOOTER */
  footer{padding:32px 16px}

  /* FILTERS */
  .filters{gap:6px}
  .fb{padding:7px 10px;font-size:9px}

  /* ADMIN */
  #v-admin{padding:70px 12px 40px}
  .adm-grid{grid-template-columns:1fr!important}
  #dash-cards{grid-template-columns:1fr 1fr!important}
  #inv-cards{grid-template-columns:1fr 1fr!important}
  .adm-tabs{gap:0;overflow-x:auto}
  .adm-tab{padding:8px 10px;font-size:9px}
  #ref-summary{grid-template-columns:1fr!important}
  #ref-comm-grid{grid-template-columns:1fr!important}
  #panel-refs .adm-table{display:block;overflow-x:auto}
}

@media(max-width:400px){
  .pr-grid{grid-template-columns:1fr!important}
  #s-lacard > div > div:nth-child(3){grid-template-columns:1fr!important}
}

/* ══ MOBILE ══ */
@media(max-width:768px){

  /* NAV */
  nav{padding:12px 16px;gap:8px}
  .nav-links{display:none}
  .nav-logo svg{height:26px}
  .bn{display:none}
  .bc{display:none}
  #btn-admin{display:inline-block!important}

  /* HERO */
  #s-packs{padding:48px 16px!important}
  #s-packs .sh{font-size:24px}
  #s-packs > div > div:first-of-type,
  #s-packs > div > div:last-of-type{grid-template-columns:1fr!important}
  #s-packs > div > div > div:nth-child(2){transform:none!important}
  .hero{padding:90px 16px 40px;text-align:center;min-height:auto}
  .hero-title{font-size:30px;line-height:1.15}
  .hero-sub{font-size:13px}
  .hero-btns{flex-direction:column;align-items:stretch;gap:8px}
  .hero-btns button{width:100%;padding:13px}
  .h-cats{gap:6px;margin-top:20px}
  .h-cat{padding:6px 12px;font-size:9px}

  /* STATS */
  .stats{flex-wrap:wrap}
  .stat{min-width:50%;flex:none;padding:18px 8px}
  .stat-n{font-size:26px}
  .stat-l{font-size:8px}

  /* SECTIONS */
  .sec{padding:40px 16px}
  section{padding-left:0;padding-right:0}
  #s-lacard{padding:48px 16px!important}
  #s-lacard > div > div:nth-child(3){grid-template-columns:1fr 1fr!important}
  #s-how .sec > div:last-child{grid-template-columns:1fr!important;gap:12px}

  /* ACTIVITIES PAGE */
  .acts-inner,
  div[style*="padding:100px 48px"]{padding:80px 12px 40px!important}
  .filters{gap:6px}
  .fb{padding:7px 10px;font-size:9px}

  /* ACT GRID — horizontal cards on mobile */
  .act-grid{grid-template-columns:1fr!important;gap:10px}
  .act-card{display:flex;flex-direction:row;min-height:110px}
  .act-img{width:110px;min-width:110px;height:auto;flex-shrink:0}
  .act-img img{width:100%;height:100%;object-fit:cover}
  .act-body{padding:10px 10px 8px;flex:1;min-width:0}
  .act-name{font-size:13px;margin-bottom:3px}
  .act-desc{font-size:11px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:6px}
  .act-meta{font-size:11px;margin-bottom:6px}
  .act-stars{font-size:11px}
  .act-btn,.btn-reservar,.btn-share{padding:7px 6px;font-size:9px;margin-bottom:3px}
  .act-bdg{font-size:8px;padding:2px 6px;top:6px;right:6px}

  /* CAT HEADERS */
  .cat-hd{flex-wrap:wrap;gap:8px}
  .cat-tit{font-size:17px}

  /* PRICING */
  div[style*="padding:100px 48px 72px"] .pr-grid{grid-template-columns:1fr 1fr!important;gap:8px}
  .pr-grid{grid-template-columns:1fr 1fr!important;gap:8px}
  .pr-c{padding:16px 10px}
  .pr-amt{font-size:30px}
  .pr-feats li{font-size:10px;padding:4px 0}
  .pr-btn{padding:10px;font-size:9px}

  /* RESIDENTES */
  div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important;gap:28px}

  /* CONTACTO */
  div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr 1fr}

  /* MAP */
  #map-svg{height:260px}

  /* MODALS — bottom sheet */
  .ov{padding:0;align-items:flex-end;justify-content:center}
  .mo{max-width:100%!important;width:100%;border-radius:20px 20px 0 0;max-height:92vh;overflow-y:auto;padding:20px 16px}
  .det-mo{border-radius:20px 20px 0 0;max-height:92vh}
  .det-img{height:180px}
  .det-body{padding:16px}
  .book-slots{grid-template-columns:repeat(4,1fr);gap:4px}
  .book-slot{padding:7px 2px;font-size:10px}
  .adm-grid{grid-template-columns:1fr!important}

  /* FOOTER */
  footer{padding:32px 16px}
  footer p{font-size:11px}
  footer a{font-size:10px;margin:0 4px}

  /* PWA BANNER */
  #pwa-banner{left:8px;right:8px;bottom:12px}
}

@media(max-width:400px){
  .pr-grid{grid-template-columns:1fr!important}
  #s-lacard > div > div:nth-child(3){grid-template-columns:1fr!important}
  .hero-title{font-size:26px}
}

/* HAMBURGER MENU for mobile */
.nav-hamburger{display:none;background:none;border:none;color:var(--wh);font-size:24px;cursor:pointer;padding:4px 8px}
.nav-mobile-menu{display:none;position:fixed;top:52px;left:0;right:0;z-index:199;background:#111;border-bottom:1px solid rgba(201,168,76,.2);padding:16px 24px;flex-direction:column;gap:12px}
.nav-mobile-menu.open{display:flex}
.nav-mobile-menu a{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--g6);text-decoration:none;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05);transition:color .2s}
.nav-mobile-menu a:last-child{border-bottom:none}
.nav-mobile-menu a:hover{color:var(--gold)}
.nav-mobile-menu{max-height:calc(100vh - 52px);overflow-y:auto}
.mob-accordion{border-bottom:1px solid rgba(255,255,255,.05)}
.mob-acc-btn{width:100%;background:none;border:none;color:var(--g6);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-family:var(--san);padding:10px 0;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:color .2s}
.mob-acc-btn:hover{color:var(--gold)}
.mob-acc-arrow{font-size:10px;transition:transform .2s;color:var(--gold)}
.mob-accordion.open .mob-acc-arrow{transform:rotate(90deg)}
.mob-acc-panel{display:none;padding:0 0 8px 20px;flex-direction:column;gap:2px}
.mob-accordion.open .mob-acc-panel{display:flex}
.mob-acc-panel a{font-size:12px;letter-spacing:.05em;text-transform:none;color:rgba(249,245,238,.5);text-decoration:none;padding:6px 0;transition:color .2s}
.mob-acc-panel a:hover{color:var(--gold)}
@media(max-width:768px){
  .nav-hamburger{display:block}
  .packs-grid{grid-template-columns:1fr!important}
  .packs-grid>div{transform:none!important}
  .reviews-grid{grid-template-columns:1fr 1fr!important}
  .feat-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:480px){
  .reviews-grid{grid-template-columns:1fr!important}
  .feat-grid{grid-template-columns:1fr!important}
}
@keyframes urgPulse{0%,100%{opacity:1}50%{opacity:.6}}
/* NAV DROPDOWNS */
.nav-dd{position:relative}
.nav-dd>a{cursor:pointer}
.nav-dd>a::after{content:'▾';margin-left:4px;font-size:9px;opacity:.5}
.nav-dd-menu{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:180px;background:rgba(17,17,17,.98);border:1px solid rgba(201,168,76,.2);padding:8px 0;margin-top:4px;z-index:300;border-radius:4px}
.nav-dd-menu::before{content:'';position:absolute;top:-4px;left:0;right:0;height:4px}
.nav-dd:hover>.nav-dd-menu{display:block}
.nav-dd-menu a{display:block;padding:8px 14px;font-size:11px;letter-spacing:.08em;color:var(--g6);text-decoration:none;transition:color .2s;white-space:nowrap}
.nav-dd-menu a:hover{color:var(--gold);background:rgba(201,168,76,.06)}
