@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--color-bg-dark:#0d0d0f;--color-card-bg:#141417d9;--color-card-border:#c5a05926;--color-gold:#c5a059;--color-gold-hover:#e5be79;--color-gold-dark:#9e7e38;--color-text-primary:#f3f4f6;--color-text-secondary:#9ca3af;--color-text-muted:#6b7280;--color-input-bg:#0a0a0c99;--color-input-border:#ffffff1a;--color-success-bg:#10b9811a;--color-success-border:#10b9814d;--color-success-text:#34d399;--color-error-bg:#ef44441a;--color-error-border:#ef44444d;--color-error-text:#f87171;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--transition-smooth:all .3s cubic-bezier(.4, 0, .2, 1);--shadow-premium:0 10px 30px -10px #000000b3, 0 1px 1px 0 #c5a0591a inset;--shadow-glow:0 0 20px #c5a05926}.booking-card{font-family:var(--font-sans);background:var(--color-card-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-card-border);max-width:600px;box-shadow:var(--shadow-premium);color:var(--color-text-primary);transition:var(--transition-smooth);box-sizing:border-box;border-radius:16px;margin:2rem auto;padding:2.5rem}.booking-card:hover{box-shadow:var(--shadow-premium), var(--shadow-glow);border-color:#c5a0594d}.booking-header{text-align:center;margin-bottom:2rem}.booking-title{letter-spacing:-.025em;background:linear-gradient(135deg, #fff 0%, var(--color-gold) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0 0 .5rem;font-size:1.85rem;font-weight:700}.booking-subtitle{color:var(--color-text-secondary);margin:0;font-size:.95rem;line-height:1.5}.error-alert{background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:8px;margin-bottom:1.5rem;padding:1rem;font-size:.9rem;animation:.4s ease-out fadeIn}.error-text{color:var(--color-error-text);margin:0 0 .5rem;font-weight:500}.error-fallback{color:var(--color-text-secondary);margin:0}.email-link{color:var(--color-gold);border-bottom:1px dashed var(--color-gold);transition:var(--transition-smooth);font-weight:600;text-decoration:none}.email-link:hover{color:var(--color-gold-hover);border-bottom-style:solid}.booking-form-element{flex-direction:column;gap:1.5rem;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}@media (width<=500px){.form-grid{grid-template-columns:1fr}}.form-group{flex-direction:column;gap:.5rem;display:flex}.full-width{grid-column:span 2}@media (width<=500px){.full-width{grid-column:span 1}}.form-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);align-items:center;gap:.25rem;font-size:.85rem;font-weight:600;display:flex}.required-asterisk{color:var(--color-gold)}.form-input{background:var(--color-input-bg);border:1px solid var(--color-input-border);color:var(--color-text-primary);transition:var(--transition-smooth);box-sizing:border-box;border-radius:8px;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:.95rem}.form-input::placeholder{color:var(--color-text-muted)}.form-input:focus{border-color:var(--color-gold);background:#141417e6;outline:none;box-shadow:0 0 0 3px #c5a05926}.form-input.is-valid{border-color:#10b98166}.form-input.is-valid:focus{border-color:var(--color-gold)}.form-input.is-invalid{border-color:#ef444480}.field-error-msg{color:var(--color-error-text);margin-top:.125rem;font-size:.75rem;font-weight:500;animation:.3s ease-out fadeIn}.form-textarea{resize:vertical;min-height:100px;line-height:1.5}.form-input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.8)sepia()saturate(5)hue-rotate(5deg);cursor:pointer}.form-footer{justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;display:flex}@media (width<=500px){.form-footer{flex-direction:column-reverse;align-items:flex-start}}.required-notice{color:var(--color-text-muted);font-size:.8rem}.btn-premium{background:linear-gradient(135deg, var(--color-gold-dark) 0%, var(--color-gold) 100%);color:#000;cursor:pointer;transition:var(--transition-smooth);text-transform:uppercase;letter-spacing:.025em;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.8rem 1.75rem;font-size:.95rem;font-weight:700;display:inline-flex;box-shadow:0 4px 12px #c5a05933}.btn-premium:hover:not(:disabled){background:linear-gradient(135deg, var(--color-gold) 0%, var(--color-gold-hover) 100%);transform:translateY(-1px);box-shadow:0 6px 16px #c5a05959}.btn-premium:active:not(:disabled){transform:translateY(0)}.btn-premium:disabled{color:var(--color-text-muted);cursor:not-allowed;box-shadow:none;background:#27272a}.spinner{border:2px solid #0003;border-top-color:#000;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.success-card{text-align:center;flex-direction:column;align-items:center;gap:1.25rem;animation:.5s ease-out fadeIn;display:flex}.success-icon-wrapper{background:var(--color-success-bg);border:1px solid var(--color-success-border);width:64px;height:64px;color:var(--color-success-text);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.5rem;animation:.4s cubic-bezier(.34,1.56,.64,1) scaleIn;display:flex}.success-svg{width:32px;height:32px}.success-title{color:#fff;margin:0;font-size:1.75rem;font-weight:700}.success-message{color:var(--color-text-secondary);max-width:440px;margin:0 0 1rem;font-size:1rem;line-height:1.6}.reset-button{width:auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}html,body{color:#f3f4f6;box-sizing:border-box;background-color:#08080a;background-image:radial-gradient(at 10% 10%,#c5a0590d 0,#0000 50%),radial-gradient(at 90% 90%,#c5a05908 0,#0000 50%),radial-gradient(#0006 0,#08080a 100%);width:100%;min-height:100vh;margin:0;padding:0;font-family:Outfit,Inter,system-ui,-apple-system,sans-serif;overflow-x:hidden}*,:before,:after{box-sizing:inherit}.app-container{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1.5rem;display:flex}.brand-header{text-align:center;margin-bottom:1.5rem;animation:1s cubic-bezier(.16,1,.3,1) logoFadeIn}.brand-logo{text-transform:uppercase;letter-spacing:.15em;background:linear-gradient(135deg,#fff 30%,#c5a059 100%);-webkit-text-fill-color:transparent;text-shadow:0 4px 20px #c5a05926;-webkit-background-clip:text;margin:0;font-size:2.5rem;font-weight:800}.brand-tagline{text-transform:uppercase;letter-spacing:.25em;color:#9ca3af;margin:.5rem 0 0;font-size:.9rem;font-weight:500}@keyframes logoFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
