

/* === Tema Deep Gradient UI (embebido) — Solo CSS === */
:root{
  --primary:#2563eb;
  --secondary:#10b981;
  --accent:#ec4899;
  --bg:#f8fafc;
  --dark:#0f172a;
  --muted:#64748b;
  --light-gray:#e2e8f0;
  --card:#ffffff;
  --radius:16px;
  --shadow:0 10px 25px -5px rgba(0,0,0,.10);
  --grad:linear-gradient(135deg,#2563eb,#7c3aed);
  --grad-soft:linear-gradient(135deg,rgba(37,99,235,.05),rgba(124,58,237,.05));
}
html,body{background:var(--bg);color:var(--dark);}
.container{max-width:1200px;padding:0 20px}
.sitebar{background:var(--card);box-shadow:0 2px 10px rgba(0,0,0,.05)}
.sitebar .wrap{justify-content:center}
.brand-name{
  background:var(--grad);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  font-weight:800;
}
.price-cta .price{background:var(--grad-soft);padding:16px;border-radius:var(--radius);}
#priceTop{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.oldprice{color:#ef4444}
.gallery{border-radius:var(--radius);overflow:hidden}
.slide img{filter:saturate(1.03);}
@media(max-width:720px){.slide{min-width:88vw;height:58vh}}
.pill,.chip{background:rgba(37,99,235,.08);border:0;color:#2563eb;border-radius:999px;font-weight:600;}
.tabs{background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.tabs a{position:relative;color:var(--muted);}
.tabs a:hover{color:#2563eb}
.tabs a[aria-current="true"]{color:#2563eb;font-weight:700;}
.tabs a[aria-current="true"]::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:3px;background:var(--grad);border-radius:10px;}
.card{background:var(--card);border:0!important;border-radius:var(--radius)!important;box-shadow:var(--shadow);}
.btn{border-radius:var(--radius);font-weight:700}
.btn.primary,.btn.cta{background:var(--grad);color:#fff}
.btn.ghost{background:var(--bg);border:1px solid var(--light-gray);}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
.cal-header .month{text-transform:capitalize}
.cal-nav button{width:40px;height:40px;border-radius:50%;border:0;background:var(--bg);transition:all .2s ease;}
.cal-nav button:hover{background:var(--light-gray)}
.cal-weekdays{font-weight:600;color:var(--muted)}
.calendar{gap:8px}
.cal-day{border:0;border-radius:12px;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.03);transition:transform .05s, box-shadow .2s;}
.cal-day.low{color:#166534;background:rgba(16,185,129,.08)}
.cal-day.mid{color:#1d4ed8;background:rgba(37,99,235,.08)}
.cal-day.high{color:#9d174d;background:rgba(236,72,153,.08)}
.cal-day.selected{outline:2px solid rgba(37,99,235,.25);box-shadow:var(--shadow);transform:translateY(-1px)}
.soldout{background:repeating-linear-gradient(135deg,rgba(0,0,0,.06),rgba(0,0,0,.06) 8px,rgba(0,0,0,.03) 8px,rgba(0,0,0,.03) 16px)}
.participants-grid{gap:15px}
.stepper{background:var(--bg);border:1px solid var(--light-gray);border-radius:12px}
.step-btn{border:0;background:var(--light-gray)}
.step-btn:hover{background:#2563eb;color:#fff}
.lodging-grid{gap:12px}
.lodging-card{border:1px solid var(--light-gray);border-radius:var(--radius);background:var(--card);transition:box-shadow .2s, transform .05s;}
.lodging-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}
.lodging-card .icon{filter:saturate(1.1)}
.lodging-card input{accent-color:#2563eb}
.extras label{background:var(--bg);border:1px solid var(--light-gray)!important;border-radius:var(--radius);}
.extras input[type=checkbox]{accent-color:#2563eb}
.pay-full label,.pay-deposits label{border-radius:var(--radius);border:1px solid var(--light-gray)!important;}
.pay-full input:checked + label,.pay-deposits input:checked + label{background:var(--grad);color:#fff;border-color:transparent!important;}
.floatbar{background:#fff;box-shadow:0 -5px 20px rgba(0,0,0,.1)}
.float-total{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.float-note{color:var(--muted)}
.drawer .panel{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}
#openDrawer.btn{background:var(--grad)}
h1{letter-spacing:-.02em}h2{border:0;padding-bottom:0}h3{font-weight:800}
.muted,.tiny{color:var(--muted)}
.badge{background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.25);color:#166534}
.warn{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.25);color:#9a3412}
.legend{color:var(--muted)}
/* === Fin del tema embebido === */

  