
:root{--bg:#020806;--panel:#061a13;--gold:#d6ae5b;--gold2:#f0d89c;--white:#f7f5ef;--muted:#a3afa8;--line:rgba(214,174,91,.28);--green:#19c783}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 85% 0,rgba(214,174,91,.12),transparent 25%),linear-gradient(145deg,#010504,#042018);color:var(--white);font-family:Inter,Segoe UI,Arial,sans-serif}a{color:inherit;text-decoration:none}.wrap{width:min(1350px,calc(100% - 36px));margin:auto}.top{height:90px;display:flex;align-items:center;border-bottom:1px solid var(--line)}.logo{height:58px;max-width:180px;object-fit:contain}.topnav{margin-left:auto;display:flex;gap:20px;font-size:13px;font-weight:900;text-transform:uppercase}.booking{padding:46px 0 80px}.kicker{color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}h1{font-size:64px;text-transform:uppercase;margin:10px 0 30px}.gold{color:var(--gold2)}.grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.card{border:1px solid var(--line);background:rgba(6,26,19,.9);padding:25px}.products{display:grid;grid-template-columns:1fr 1fr;gap:9px}.product,.slot,.day{border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025);color:white;cursor:pointer}.product{padding:15px}.product.active,.slot.active,.day.active{border-color:var(--gold);background:rgba(214,174,91,.13)}.product small{color:var(--muted)}.monthbar{display:flex;justify-content:space-between;align-items:center;margin:24px 0 10px}.monthbar button{background:none;border:1px solid var(--line);color:var(--gold);padding:8px 12px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.dow{text-align:center;color:var(--muted);font-size:10px;padding:6px}.day{aspect-ratio:1;font-weight:900}.day.off{opacity:.18;pointer-events:none}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.slot{padding:12px;text-align:center}.slot.busy{opacity:.2;pointer-events:none}.field{display:grid;gap:6px;margin-top:12px}.field label{font-size:10px;color:var(--gold);text-transform:uppercase;letter-spacing:.1em}.field input,.field select{padding:13px;background:#03100b;border:1px solid rgba(255,255,255,.11);color:white}.sum{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.07)}.total{font-size:34px;color:var(--gold2)}.btn{width:100%;padding:14px;border:1px solid var(--gold);background:var(--gold);color:#07100c;font-weight:950;text-transform:uppercase;cursor:pointer;margin-top:16px}.notice{display:none;margin-top:14px;padding:13px;border:1px solid rgba(25,199,131,.4);color:#a8e6ca}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid rgba(255,255,255,.07);text-align:left}.table th{color:var(--gold);font-size:11px;text-transform:uppercase}.tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.tools input{padding:11px;background:#03100b;border:1px solid rgba(255,255,255,.11);color:white}.mini{padding:8px 10px;border:1px solid var(--line);background:transparent;color:white;cursor:pointer}.danger{border-color:#ff776f;color:#ff9a94}@media(max-width:850px){.grid{grid-template-columns:1fr}.products{grid-template-columns:1fr}.slots{grid-template-columns:1fr 1fr}.topnav a:not(:last-child){display:none}}
html,
body {
  min-height: 100%;
  height: auto !important;
  overflow-y: auto !important;
  overflow-x: hidden;
}

body {
  position: static !important;
}

main.booking,
.wrap.booking {
  min-height: 100vh;
  height: auto !important;
  overflow: visible !important;
  padding-bottom: 80px;
}

.grid {
  align-items: start;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.card {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#slots {
  scroll-margin-top: 110px;
}

@media (min-width: 900px) {
  .grid > aside.card {
    position: sticky;
    top: 24px;
  }
}
