:root{--primary: #0a0f1a;--primary-light: #141b2d;--accent: #00e676;--accent-light: #69f0ae;--accent-dark: #00c853;--accent-glow: rgba(0, 230, 118, .4);--neon-cyan: #00ffff;--neon-blue: #00b4ff;--bg: #0a0f1a;--bg-alt: #111827;--bg-dark: #050810;--bg-card: rgba(20, 27, 45, .8);--bg-glass: rgba(20, 27, 45, .6);--text: #f1f5f9;--text-light: #94a3b8;--text-muted: #64748b;--border: rgba(255, 255, 255, .08);--border-glow: rgba(0, 230, 118, .3);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--transition-fast: .15s ease;--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--danger: #ef4444}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.7;min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(0,230,118,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,230,118,.03) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;z-index:0}.header{position:sticky;top:0;z-index:100;background:#0a0f1ae6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:1rem 0}.header-inner{max-width:900px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between}.logo{font-size:1.5rem;font-weight:800;color:var(--text);text-decoration:none;letter-spacing:-.02em}.logo-e{color:var(--accent);text-shadow:0 0 20px var(--accent-glow)}.lang-toggle{display:flex;align-items:center;gap:.4rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.4rem .75rem;color:var(--text);cursor:pointer;font-size:.85rem;font-family:inherit;transition:border-color var(--transition-fast)}.lang-toggle:hover{border-color:var(--accent)}.lang-flag{font-size:1.1rem}.booking-main{flex:1;position:relative;z-index:1;padding:2rem 1.5rem 4rem}.booking-container{max-width:800px;margin:0 auto}.progress-bar{margin-bottom:2.5rem}.progress-steps{display:flex;justify-content:space-between;margin-bottom:.75rem}.progress-step{display:flex;flex-direction:column;align-items:center;gap:.25rem;flex:1;opacity:.35;transition:opacity var(--transition-normal)}.progress-step.active,.progress-step.done{opacity:1}.step-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;background:var(--bg-card);border:2px solid var(--border);transition:all var(--transition-normal)}.progress-step.active .step-num{background:var(--accent);color:var(--primary);border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.progress-step.done .step-num{background:var(--accent-dark);color:var(--primary);border-color:var(--accent-dark)}.step-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.progress-step.active .step-label{color:var(--accent)}.progress-step.done .step-label{color:var(--text-light)}.progress-track{height:3px;background:var(--border);border-radius:3px;overflow:hidden}.progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--accent),var(--accent-light));border-radius:3px;transition:width .5s cubic-bezier(.4,0,.2,1);box-shadow:0 0 8px var(--accent-glow)}.step{animation:fadeInUp .4s ease}.step.hidden{display:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.step-title{font-size:2rem;font-weight:800;letter-spacing:-.02em;line-height:1.3;margin-bottom:.25rem}.step-subtitle{color:var(--text-light);font-size:1rem;margin-bottom:2rem}.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.card-grid-2{grid-template-columns:repeat(2,1fr)}.card-grid-3{grid-template-columns:repeat(3,1fr)}.option-card{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;text-align:center;cursor:pointer;transition:all var(--transition-normal);font-family:inherit;color:var(--text);display:flex;flex-direction:column;align-items:center;gap:.5rem}.option-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 20px #00e6761a}.option-card.selected{border-color:var(--accent);background:#00e67614;box-shadow:0 0 20px #00e67626,inset 0 0 20px #00e6760d}.card-icon{font-size:2rem;margin-bottom:.25rem}.card-label{font-size:1rem;font-weight:700}.card-desc{font-size:.8rem;color:var(--text-light);line-height:1.4}.card-price{font-size:1.25rem;font-weight:800;color:var(--accent);margin-top:.25rem}.card-surcharge{font-size:.75rem;color:var(--text-muted);background:#ffffff0d;padding:.2rem .6rem;border-radius:var(--radius-sm)}.conditional-field{margin-top:1.5rem;padding:1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md)}.conditional-field.hidden{display:none}.map-wrapper{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);background:var(--bg-card)}#map{width:100%;height:400px}.address-display{display:flex;align-items:center;gap:.5rem;padding:1rem 1.25rem;background:var(--bg-card);border-top:1px solid var(--border);font-size:.9rem}.address-icon{font-size:1.1rem}.address-text{color:var(--text-light)}.area-auto-detect{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.75rem 1rem;background:#00e67614;border:1px solid var(--border-glow);border-radius:var(--radius-md);font-size:.85rem;color:var(--accent-light)}.area-auto-detect.hidden{display:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group.hidden{display:none}.form-label{font-size:.85rem;font-weight:600;color:var(--text-light)}.form-input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem 1rem;color:var(--text);font-family:inherit;font-size:.95rem;transition:border-color var(--transition-fast);outline:none}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #00e6761a}.form-input.error{border-color:var(--danger);box-shadow:0 0 0 3px #ef44441a}.form-input::placeholder{color:var(--text-muted)}.datetime-section{margin-bottom:2rem}.datetime-section.hidden{display:none}.section-label{font-size:1rem;font-weight:700;margin-bottom:1rem;color:var(--text)}.date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.date-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .25rem;text-align:center;cursor:pointer;transition:all var(--transition-fast);font-family:inherit;color:var(--text)}.date-btn .date-day{display:block;font-size:.65rem;text-transform:uppercase;color:var(--text-muted);margin-bottom:.2rem}.date-btn .date-num{display:block;font-size:1rem;font-weight:700}.date-btn:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}.date-btn.selected{background:var(--accent);color:var(--primary);border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.date-btn.selected .date-day{color:var(--primary)}.date-btn:disabled{opacity:.25;cursor:not-allowed}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.time-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.7rem;text-align:center;cursor:pointer;transition:all var(--transition-fast);font-family:inherit;font-size:.9rem;font-weight:600;color:var(--text)}.time-btn:hover:not(:disabled){border-color:var(--accent)}.time-btn.selected{background:var(--accent);color:var(--primary);border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.time-btn:disabled{opacity:.25;cursor:not-allowed;text-decoration:line-through}.booking-summary{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.summary-row{display:flex;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid var(--border)}.summary-row:last-child{border-bottom:none}.summary-label{color:var(--text-light);font-size:.9rem}.summary-value{font-weight:600;text-align:right;font-size:.9rem}.summary-row.total{border-top:2px solid var(--accent);border-bottom:none;margin-top:.5rem;padding-top:1rem}.summary-row.total .summary-label{font-weight:800;color:var(--text);font-size:1.1rem}.summary-row.total .summary-value{font-size:1.3rem;color:var(--accent);font-weight:800}.deposit-notice{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;background:#00b4ff0f;border:1px solid rgba(0,180,255,.2);border-radius:var(--radius-md);margin-bottom:1.5rem;font-size:.85rem;color:var(--text-light);line-height:1.5}.deposit-icon{font-size:1.2rem;flex-shrink:0}.btn-confirm{width:100%;padding:1rem;font-size:1.1rem;font-weight:700;font-family:inherit;color:var(--primary);background:linear-gradient(135deg,var(--accent),var(--accent-light));border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);box-shadow:0 4px 15px var(--accent-glow);position:relative;overflow:hidden}.btn-confirm:hover{transform:translateY(-2px);box-shadow:0 6px 25px var(--accent-glow)}.btn-confirm:active{transform:translateY(0)}.btn-confirm:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-confirm:after{content:"";position:absolute;top:-50%;left:-60%;width:40%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transform:skew(-20deg);transition:left .6s ease}.btn-confirm:hover:after{left:120%}.step-nav{display:flex;justify-content:space-between;margin-top:2rem;gap:1rem}.btn-nav{padding:.75rem 2rem;font-size:.95rem;font-weight:600;font-family:inherit;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--border)}.btn-nav.hidden{visibility:hidden}.btn-prev{background:transparent;color:var(--text-light)}.btn-prev:hover{border-color:var(--text-light);color:var(--text)}.btn-next{background:var(--accent);color:var(--primary);border-color:var(--accent);box-shadow:0 2px 10px var(--accent-glow);margin-left:auto}.btn-next:hover{background:var(--accent-light);box-shadow:0 4px 15px var(--accent-glow);transform:translateY(-1px)}.btn-next:disabled{opacity:.4;cursor:not-allowed;transform:none}.confirmation-box{text-align:center;padding:3rem 1.5rem}.confirm-icon{font-size:4rem;margin-bottom:1rem}.confirm-id{font-size:1.2rem;font-weight:700;color:var(--accent);margin:1rem 0;font-family:monospace}.confirm-text{color:var(--text-light);margin-bottom:2rem;max-width:500px;margin-left:auto;margin-right:auto}.btn-home{display:inline-block;padding:.75rem 2rem;background:var(--bg-card);border:1px solid var(--accent);border-radius:var(--radius-md);color:var(--accent);text-decoration:none;font-weight:600;transition:all var(--transition-fast)}.btn-home:hover{background:var(--accent);color:var(--primary)}.footer{position:relative;z-index:1;border-top:1px solid var(--border);padding:1.5rem 0;text-align:center;font-size:.85rem;color:var(--text-muted)}.footer-inner{max-width:900px;margin:0 auto;padding:0 1.5rem}.footer-link{color:var(--text-light);text-decoration:none;transition:color var(--transition-fast)}.footer-link:hover{color:var(--accent)}.footer-sep{margin:0 .75rem}.leaflet-container{background:var(--bg-dark)!important}.leaflet-control-zoom a{background:var(--bg-card)!important;color:var(--text)!important;border-color:var(--border)!important}.leaflet-control-zoom a:hover{background:var(--primary-light)!important}.leaflet-control-attribution{background:#0a0f1acc!important;color:var(--text-muted)!important;font-size:.65rem!important}.leaflet-control-attribution a{color:var(--text-light)!important}.spinner{display:inline-block;width:20px;height:20px;border:2px solid transparent;border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite;vertical-align:middle;margin-right:.5rem}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.step-title{font-size:1.5rem}.card-grid,.card-grid-2,.card-grid-3,.form-grid{grid-template-columns:1fr}.date-grid{grid-template-columns:repeat(4,1fr)}.time-grid{grid-template-columns:repeat(3,1fr)}.progress-steps{gap:0}.step-label{display:none}#map{height:300px}.booking-main{padding:1.5rem 1rem 3rem}}@media(max-width:480px){.date-grid{grid-template-columns:repeat(3,1fr)}.time-grid{grid-template-columns:repeat(2,1fr)}.step-nav{flex-direction:column-reverse}.btn-nav{width:100%;text-align:center}.btn-nav.hidden{display:none}.btn-next{margin-left:0}}
