:root{--brown:#24130d;--brown2:#321b12;--cream:#f6efe3;--paper:#fffaf1;--gold:#d7a936;--ink:#28170f;--muted:#746156;--line:#eadfce;--ok:#2f7651;--bad:#a43d32}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#fff8eb 0,#f6efe3 42%,#efe4d3 100%);color:var(--ink);font-family:Arial,Helvetica,sans-serif;min-height:100vh}.topbar{height:68px;background:rgba(36,19,13,.98);display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1000px)/2));border-bottom:1px solid rgba(215,169,54,.35)}.brand{font-family:Georgia,serif;color:var(--gold);font-weight:700;font-size:24px;text-decoration:none}.navlink{color:#fff4e5;text-decoration:none;font-size:14px;font-weight:700}.reserve-shell{width:min(720px,100%);margin:0 auto;padding:48px 18px 70px}.reserve-card{background:rgba(255,250,241,.96);border:1px solid var(--line);border-radius:26px;padding:clamp(24px,5vw,42px);box-shadow:0 22px 60px rgba(53,28,16,.12)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:#a57816;font-size:12px;font-weight:800;margin-bottom:10px}h1,h2{font-family:Georgia,serif;margin:0;color:var(--brown)}h1{font-size:clamp(38px,8vw,58px);line-height:1}h2{font-size:36px}.intro{font-size:17px;color:var(--muted);line-height:1.6;margin:16px 0 30px}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:1fr 1fr}form{display:grid;gap:18px}label{display:block;font-size:13px;font-weight:800;margin-bottom:7px;color:#4c382d}.optional{font-weight:400;color:#8a776c}input,select,textarea{width:100%;border:1px solid #d9c9b4;border-radius:13px;background:#fffdf8;color:var(--ink);padding:14px 14px;font:inherit;outline:none;transition:.15s}textarea{min-height:104px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(215,169,54,.13)}select:disabled{opacity:.65}.field-note{font-size:12px;color:var(--muted);margin-top:6px;min-height:15px}.primary,.secondary{border:0;border-radius:999px;padding:15px 20px;font-weight:800;font-size:15px;cursor:pointer}.primary{background:var(--gold);color:var(--brown)}.primary:disabled{opacity:.5;cursor:not-allowed}.secondary{background:transparent;color:var(--brown);border:1px solid #d9c9b4}.status{font-size:14px;min-height:20px}.status.ok{color:var(--ok)}.status.bad{color:var(--bad)}.smallprint{margin-top:26px;padding-top:20px;border-top:1px solid var(--line);font-size:12px;color:#806c60;line-height:1.5}.hidden{display:none!important}.success{text-align:center}.check{width:64px;height:64px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;background:#e7f3ea;color:var(--ok);font-size:32px;font-weight:900}.summary{margin:24px auto 0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;text-align:left;line-height:1.8;max-width:430px}.actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:24px}.linkbtn{text-decoration:none;display:inline-block}@media(max-width:600px){.reserve-shell{padding-top:26px}.grid.two{grid-template-columns:1fr}.reserve-card{border-radius:20px;padding:24px 20px}h1{font-size:42px}}
.calendar-toggle{width:100%;border:1px solid #d9c9b4;border-radius:13px;background:#fffdf8;color:var(--ink);padding:14px;text-align:left;font:inherit;cursor:pointer}.calendar-toggle:after{content:'▾';float:right;color:#8a776c}.calendar{margin-top:9px;border:1px solid var(--line);border-radius:16px;background:#fffdf8;padding:15px;box-shadow:0 12px 30px rgba(53,28,16,.10);max-height:430px;overflow:auto}.calendar-month+.calendar-month{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.calendar-title{font-family:Georgia,serif;font-size:18px;font-weight:700;color:var(--brown);text-transform:capitalize;margin-bottom:12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}.calendar-weekday{font-size:11px;font-weight:800;color:#8a776c;padding:4px 0}.calendar-day{aspect-ratio:1;border:0;border-radius:10px;display:grid;place-items:center;font-size:13px}.calendar-day.disabled{color:#c8bbb0;background:#f5efe7;opacity:.55}.calendar-day.selectable{background:#f3dfaa;color:var(--brown);font-weight:900;cursor:pointer;border:1px solid #e1bd5b}.calendar-day.selectable:hover{background:var(--gold)}.calendar-day.selected{background:var(--brown);color:#fff4e5;border-color:var(--brown)}
