:root{--black:#050407;--panel:#111015;--ivory:#fff8e8;--muted:#d7cdb9;--gold:#d9ae45;--gold2:#ffe8a3;--purple:#43206f;--blue:#162a66;--line:rgba(255,232,163,.22);--danger:#464646;--success:#e6c86c}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:radial-gradient(circle at top left,rgba(67,32,111,.55),transparent 35%),radial-gradient(circle at top right,rgba(22,42,102,.55),transparent 35%),linear-gradient(135deg,#020203,#111015 55%,#050407);color:var(--ivory);min-height:100vh}.booking-shell{width:min(1180px,94vw);margin:0 auto;padding:42px 0 70px;display:grid;grid-template-columns:1fr 1.05fr;gap:22px}.hero-card,.calendar-card,.form-card{background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));border:1px solid var(--line);box-shadow:0 24px 80px rgba(0,0,0,.45);border-radius:28px;padding:28px;backdrop-filter:blur(10px)}.hero-card{grid-column:1/-1;min-height:280px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.hero-card:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(217,174,69,.24),transparent 35%),radial-gradient(circle at 78% 25%,rgba(255,232,163,.18),transparent 20%);pointer-events:none}.hero-card>*{position:relative}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--gold2);font-size:.8rem}.hero-card h1{font-family:Georgia,serif;font-size:clamp(2.8rem,8vw,6rem);line-height:.9;margin:.1em 0;color:var(--gold2);text-shadow:0 0 28px rgba(217,174,69,.28)}.hero-copy{max-width:680px;color:var(--muted);font-size:1.08rem;line-height:1.7}.notice{margin-top:18px;display:inline-flex;width:fit-content;border:1px solid var(--line);border-radius:999px;padding:10px 15px;color:var(--gold2);background:rgba(0,0,0,.25)}.calendar-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px}.calendar-topbar h2{font-family:Georgia,serif;color:var(--gold2);font-size:2rem;margin:0}.calendar-topbar button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--gold2);font-size:2rem;cursor:pointer}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.weekdays{margin:24px 0 8px;color:var(--muted);font-size:.82rem;text-align:center}.day{min-height:72px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:var(--ivory);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:10px;cursor:pointer;text-align:left}.day .num{font-weight:700}.day .tag{font-size:.7rem;color:var(--muted)}.day.outside{opacity:.25;pointer-events:none}.day.available{border-color:rgba(255,232,163,.45);box-shadow:inset 0 0 0 1px rgba(217,174,69,.15)}.day.available .tag{color:var(--gold2)}.day.blocked{background:rgba(70,70,70,.45);color:#9e9e9e;cursor:not-allowed}.day.selected{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#120f08;transform:translateY(-2px)}.day.selected .tag{color:#120f08}.legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px;color:var(--muted)}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px}.dot.available{background:var(--gold2)}.dot.blocked{background:#777}.dot.selected{background:var(--gold)}.form-card h2{font-family:Georgia,serif;color:var(--gold2);font-size:2rem;margin-top:0}.selected-date{color:var(--muted)}form{display:flex;flex-direction:column;gap:14px}.hidden{display:none}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:flex;flex-direction:column;gap:7px;color:var(--gold2);font-size:.9rem}input,select,textarea{width:100%;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.35);color:var(--ivory);border-radius:14px;padding:13px;font:inherit}textarea{resize:vertical}.checkbox{flex-direction:row;align-items:flex-start;color:var(--muted);line-height:1.45}.checkbox input{width:auto;margin-top:4px}button[type=submit]{border:0;border-radius:999px;padding:15px 22px;background:linear-gradient(135deg,var(--gold2),var(--gold));color:#141008;font-weight:800;letter-spacing:.04em;cursor:pointer;box-shadow:0 12px 32px rgba(217,174,69,.24)}#formStatus{min-height:24px;color:var(--gold2)}@media(max-width:860px){.booking-shell{grid-template-columns:1fr}.grid-two{grid-template-columns:1fr}.day{min-height:58px;padding:8px}.day .tag{display:none}.hero-card{padding:22px}.calendar-card,.form-card{padding:20px}}
