:root{--bg: #0A0A0B;--surface: #161618;--surface-2: #1E1E22;--fg: #E8E6E3;--muted: #6B6B70;--border: #2A2A2E;--accent: #8B1A1A;--accent-hover: #C73E3E;--gold: #C9A961;--gold-hover: #E8D5A0;--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-lg: 18px;--text-xl: 24px;--text-2xl: 32px;--text-3xl: 48px;--leading-body: 1.65;--leading-tight: 1.2;--radius: 2px;--border-width: 1px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px}*{margin:0;padding:0;box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}a{color:var(--gold);text-decoration:none;transition:color .15s}a:hover{color:var(--gold-hover)}button{font-family:var(--font-body);cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font-family:var(--font-body);font-size:var(--text-base);color:var(--fg);background:var(--surface-2);border:var(--border-width) solid var(--border);border-radius:var(--radius);padding:10px 14px;outline:none;transition:border-color .15s;width:100%}input:focus,textarea:focus,select:focus{border-color:var(--accent)}textarea{resize:vertical;min-height:80px;line-height:var(--leading-body)}label{display:block;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--gold);margin-bottom:6px;font-weight:500}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#050506d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;z-index:1000;padding:5vh 1rem;overflow-y:auto;animation:modal-fade-in .2s ease}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:540px;padding:var(--space-6);position:relative;box-shadow:0 24px 80px #0009,0 0 0 1px #c9a96114;animation:modal-slide-up .25s ease}@keyframes modal-slide-up{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close-btn{position:absolute;top:16px;right:16px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);color:var(--muted);font-size:20px;line-height:1;transition:color .15s,background .15s}.modal-close-btn:hover{color:var(--fg);background:var(--surface-2)}.booking-field-group{margin-bottom:var(--space-4)}.booking-confirmation{text-align:center;padding:var(--space-3) 0}.booking-confirmation-icon{width:56px;height:56px;margin:0 auto var(--space-4);border:1px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:28px}.booking-confirmation-detail{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border);font-size:var(--text-sm)}.booking-confirmation-detail:last-child{border-bottom:none}.booking-confirmation-detail .label{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:var(--text-xs)}.booking-confirmation-detail .value{color:var(--fg);text-align:right;max-width:60%}@media (max-width: 900px){.sidebar{position:fixed!important;top:64px;left:0;bottom:0;transform:translate(-100%);transition:transform .2s;z-index:100;background:var(--bg)!important}.sidebar.open{transform:translate(0)}}
