:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#747bff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#f9f9f9;color:#213547;cursor:pointer;transition:border-color .25s}button:hover{border-color:#747bff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.home{min-height:100vh;display:flex;flex-direction:column}html{scroll-behavior:smooth}.hero{color:#0f172a;text-align:center;background:#fff;position:relative}.hero.minimal{border-bottom:1px solid #f1f5f9}.hero.bg{color:#fff;background:#000;min-height:100vh;min-height:100svh;display:grid;place-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none}.hero-video,.hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.9) contrast(1.05)}.hero-inner{position:relative;z-index:1}.hero-inner{position:relative;width:min(1200px,100%);margin:0 auto;padding:2rem;min-height:100%;display:grid;grid-template-columns:1.1fr .9fr;align-items:start;gap:clamp(1rem,4vw,3rem);padding-top:6vh;padding-bottom:7rem;z-index:1}.hero-topright{position:absolute;top:14px;right:14px;z-index:2;display:flex}.social-links.vertical{display:grid;grid-auto-rows:36px;gap:.4rem}.hero-topbar{position:absolute;top:12px;right:12px;left:12px;display:flex;align-items:center}.hero-topbar .spacer{flex:1}.social-links{display:flex;gap:.5rem}.social-links .social{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;color:#fff;background:#ffffff24;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:1px solid rgba(255,255,255,.25);transition:transform .15s ease,background .15s ease,opacity .15s ease}.social-links .social:hover{transform:translateY(-1px);background:#ffffff38}.social-links .social:active{transform:translateY(0);opacity:.9}.hero-content{text-align:left;pointer-events:none}.hero-visual{align-self:end;display:flex;align-items:end;justify-content:center}.hero-visual img{max-width:min(560px,90%);height:auto;object-fit:contain;filter:drop-shadow(0 20px 40px rgba(0,0,0,.45))}.brand{text-transform:uppercase;letter-spacing:.08em;display:inline-block}.brand-line1,.brand-line2{display:block;width:100%}.brand-line1{font-size:clamp(2.3rem,6.3vw,4.5rem);font-weight:1000;line-height:1}.brand-divider{height:2px;width:100%;background:#ffffffe6;margin:.35rem 0}.brand-line2{font-size:clamp(1.4rem,4.4vw,2.6rem);font-weight:500;opacity:.96;letter-spacing:.1em;white-space:nowrap}.tag{font-size:clamp(2rem,6vw,4.25rem);font-weight:400;margin:.9rem 0 0;letter-spacing:.01em;text-transform:none;filter:drop-shadow(0 6px 24px rgba(0,0,0,.5));font-family:Protest Revolution,system-ui,sans-serif}.hero-actions{position:absolute;left:0;right:0;bottom:max(32px,calc(env(safe-area-inset-bottom) + 16px));display:grid;place-items:center;z-index:5}.hero-ctas{display:flex;justify-content:center;gap:1.25rem;flex-wrap:wrap}.link-plain{background:none;border:none;color:inherit;cursor:pointer;text-decoration:underline;margin-top:.5rem}.trust-strip{margin-top:5rem;padding-top:.5rem;color:#ffffffeb;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center;font-size:.95rem}.trust-strip .sep{opacity:.85}.trust-strip .trust-link{text-decoration:underline;margin-top:0;padding:0;background:none;border:none}.hero:not(.bg) .trust-strip{color:#334155}.hero-explainer{display:none}main{flex:1}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.how-it-works .container{padding:0}.instant-quote{padding:3rem 2rem;background:#fff}.instant-quote h2{text-align:center;margin:0 0 1rem;font-size:2rem;color:#333}.instant-quote .subtext{text-align:center;color:#64748b;margin:-.5rem auto .5rem;max-width:800px}.instant-quote .quote-grid{display:grid;grid-template-columns:minmax(140px,1fr) 32px minmax(140px,1fr);gap:.5rem;max-width:720px;margin:.5rem auto;align-items:start}.instant-quote .quote-grid .loc{display:grid;grid-template-columns:1fr;gap:.25rem}.instant-quote .quote-grid label{font-size:.85rem;color:#334155;font-weight:600}.instant-quote .quote-grid select{min-width:0}.instant-quote .quote-grid .arrow{width:32px;text-align:center}@media (max-width: 480px){.instant-quote .quote-grid{grid-template-columns:1fr}.instant-quote .quote-grid .arrow{display:none}}.drawer .instant-quote .quote-grid{grid-template-columns:1fr}.drawer .instant-quote .quote-grid .arrow{display:none}.instant-quote .pax-row{display:grid;grid-template-columns:1fr;gap:.35rem;max-width:720px;margin:.5rem auto 0}.instant-quote .pax-row label{color:#334155;font-weight:600}.instant-quote select,.instant-quote input{padding:.6rem .75rem;border:1px solid #e0e0e0;border-radius:6px}.instant-quote .arrow{text-align:center;color:#888}.instant-quote .quote-result{text-align:center;margin-top:1rem;color:#444}.instant-quote .price{font-size:2rem;font-weight:800;color:#28a745;margin-bottom:.25rem}.rates{padding:3rem 2rem;background:url(/rates-bg.png) center/cover no-repeat;position:relative}.rates h2{text-align:center;margin:0 0 1.25rem;font-size:clamp(2.5rem,6vw,6rem);color:#fff;font-family:Protest Revolution,system-ui,sans-serif;filter:drop-shadow(0 6px 24px rgba(0,0,0,.5))}.rates .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;max-width:1400px;margin:0 auto}@media (min-width: 1280px){.rates .cards{grid-template-columns:repeat(5,1fr)}}.rates .card{background:#fff;border:1px solid #eee;border-radius:12px;overflow:hidden;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.rates .card:hover{transform:translateY(-4px);box-shadow:0 6px 16px #00000014}.rates .thumb{aspect-ratio:4 / 3;background:#f5f7fb;display:grid;place-items:center;overflow:hidden}.rates .thumb img{width:100%;height:100%;object-fit:cover}.rates .card-body{padding:.75rem .75rem 1rem}.rates .card .title{font-weight:700;margin:.35rem 0 .15rem;color:#333;text-transform:capitalize;font-size:1.05rem}.rates .card .price{font-size:1.25rem;font-weight:800;color:#111827}.rates .meta{margin-top:.75rem;text-align:center;color:#777;font-size:.85rem}.voucher-drawer{padding:3rem 2rem}.vouchers-cta{padding:3rem 2rem;background:#fff;text-align:center}.vouchers-cta h2{margin:0 0 .5rem;font-size:2rem}.vouchers-cta p{margin:0 0 1rem;color:#555}.packages{padding:3rem 2rem;background:#0b0f16}.packages h2{text-align:center;margin:0 0 1rem;font-size:2rem;color:#fff}.packages .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;max-width:1100px;margin:0 auto 1rem}.packages .card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:1.25rem;text-align:center;box-shadow:0 1px 2px #0000000a;transition:box-shadow .2s ease,transform .2s ease}.packages .card:hover{transform:translateY(-2px);box-shadow:0 8px 18px #00000014}.packages .card h3{margin:0 0 .5rem;font-size:1.3rem;font-weight:800;color:#0f172a;letter-spacing:.2px}.packages .card h3:after{content:"";display:block;width:48px;height:3px;background:#0f172a;opacity:.9;border-radius:2px;margin:.45rem auto .25rem}.packages .card .meta{color:#64748b;font-weight:600;letter-spacing:.2px}.packages .card p{margin:.45rem 0;line-height:1.5}.packages .card .summary{color:#475569;margin:.25rem 0 .6rem}.packages .card .toggle{display:inline-block;margin:.4rem 0 .3rem}.packages .card .details{margin-top:.6rem;padding-top:.75rem;border-top:1px dashed #e5e7eb}.packages .card ul{text-align:left;margin:.6rem 0;padding-left:1.1rem}.packages .card li{margin:.2rem 0}.packages .card .price{font-weight:800;color:#111827}.packages .card small{color:#64748b}.packages .card .actions{margin-top:.6rem}.packages .itinerary p{background:#f8fafc;border:1px solid #eef2f7;border-radius:8px;padding:.5rem .6rem;margin:.4rem 0;text-align:left}.packages .day-tag{display:inline-block;font-size:.75rem;line-height:1;font-weight:800;text-transform:uppercase;letter-spacing:.3px;color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd;border-radius:999px;padding:.2rem .5rem;margin-right:.5rem}.packages .lead{max-width:700px;margin:.5rem auto 0;display:grid;gap:.5rem}.packages .lead .row{display:flex;gap:.5rem}.packages input,.packages textarea{width:100%;padding:.6rem .75rem;border:1px solid #e0e0e0;border-radius:6px}.packages .ok{color:#28a745;margin-top:.25rem}.packages .err{color:#dc3545;margin-top:.25rem}.partners{padding:3rem 2rem;background:#f1f5f9;text-align:center}.how-it-works{padding:3rem 2rem;background:#fff}.how-it-works h2{text-align:center;margin:0 0 1rem;font-size:2rem}.how-steps{list-style:none;padding:0;margin:0 auto;max-width:1000px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.how-step{display:grid;grid-template-columns:48px 1fr;align-items:start;gap:.75rem;border:1px solid #eee;border-radius:10px;padding:1rem;background:#fff}.how-num{width:48px;height:48px;border-radius:999px;background:#111827;color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.2rem}.how-title{font-weight:700;color:#111827;margin:0 0 .25rem}.how-desc{color:#475569}.partners h2{margin:0 0 1rem;font-size:2rem}.partners .logos{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;align-items:center;max-width:900px;margin:0 auto}.partners .logo{background:transparent;border:none;padding:0;border-radius:0;overflow:visible;display:flex;align-items:center;justify-content:center}.partners .logo.landscape{aspect-ratio:16 / 9}.partners .logo.portrait{aspect-ratio:9 / 9}.partners .logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;filter:grayscale(15%)}.reviews{position:relative;padding:3rem 2rem;color:#fff;background:#0b0f16}.reviews .container{max-width:1400px;margin:0 auto}.reviews h2{text-align:center;margin:0 0 1rem;font-size:2rem;color:#fff}.reviews-marquee{display:none;position:relative;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.reviews-track{display:flex;width:max-content}.reviews-row{display:flex;gap:1rem;padding:.35rem 0;animation:reviews-scroll 35s linear infinite}.reviews-marquee:hover .reviews-row{animation-play-state:paused}@keyframes reviews-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.reviews .review{min-width:360px;max-width:420px}.reviews-list{display:none}.review{border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:1rem;background:#00000040;color:#fff;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.review .meta{display:flex;align-items:center;gap:.5rem;color:#e5e7eb;font-size:.9rem;margin-bottom:.35rem}.review .stars{color:#fbbf24}.show-toggle{margin:.5rem auto 0;display:block;color:#cbd5e1}.faq{padding:3rem 2rem;background:#f8f9fb}.faq h2{text-align:center;margin:0 0 1rem;font-size:2rem}.faq details{max-width:900px;margin:.5rem auto;background:#fff;border:1px solid #eee;border-radius:8px;padding:.75rem 1rem}.faq summary{cursor:pointer;font-weight:600;color:#333}.faq p{margin:.5rem 0 0;color:#555}.contact{padding:3rem 2rem;background:#fff}.contact h2{text-align:center;margin:0 0 1rem;font-size:2rem}.contact-form{max-width:720px;margin:0 auto;display:grid;gap:.5rem}.contact-form .row{display:flex;gap:.5rem}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:.6rem .75rem;border:1px solid #e0e0e0;border-radius:6px}.contact .ok{color:#28a745;margin-top:.25rem;text-align:center}.contact .err{color:#dc3545;margin-top:.25rem;text-align:center}.alt-contact{max-width:720px;margin:.5rem auto 0;color:#666}.final-cta{padding:3rem 2rem;text-align:center;background:url(/ready-bg.png) center/cover no-repeat;color:#fff}.final-cta h2{margin:0 0 .75rem;font-size:2rem}.btn{display:inline-block;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all .2s ease;text-align:center}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb;transform:translateY(-2px)}.btn-secondary{background:#f8fafc;color:#0f172a;border:2px solid #e2e8f0}.btn-secondary:hover{background:#e2e8f0}.hero.bg .btn-secondary{background:#fffffff2;color:#0f172a;border-color:transparent}.hero.bg .btn-secondary:hover{background:#fff}.btn-outline{border:2px solid currentColor;color:inherit;background:transparent}.btn-large{padding:1rem 2rem;font-size:1.1rem}.btn-urban{background:transparent;border:none;color:#fff;padding:0 0 4px;font-weight:1000;letter-spacing:.08em;text-transform:uppercase;font-size:clamp(1.1rem,2.4vw,1.6rem);position:relative;display:inline-block;text-decoration:none;line-height:1.2;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .15s ease,opacity .15s ease;opacity:.95}.btn-urban:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:currentColor;transform:scaleX(.55);transform-origin:left center;transition:transform .2s ease;opacity:.9;pointer-events:none}.btn-urban:hover,.btn-urban:focus-visible{text-decoration:none;transform:translateY(-1px);opacity:1}.btn-urban:hover:after,.btn-urban:focus-visible:after{transform:scaleX(1)}.btn-urban.alt{color:#fff}.btn-urban.ghost{color:#fff;opacity:.85}@media (prefers-reduced-motion: reduce){.btn-urban:after{transition:none}}.hero-ctas .btn-urban{font-size:clamp(1.35rem,3.8vw,2.1rem)}.final-cta .btn-primary:hover{background:#3b82f6}.final-cta{position:relative;overflow:hidden;background:none}.final-cta:before{content:"";position:absolute;inset:0;background:url(/ready-bg.png) center/cover no-repeat;transform:scale(1);transition:transform .6s ease;will-change:transform}.final-cta:hover:before{transform:scale(1.05)}.final-cta>*{position:relative;z-index:1}.site-footer{background:#0b0f16;color:#e5e7eb}.site-footer .footer-grid{display:grid;grid-template-columns:1.2fr 1.8fr;gap:2rem;padding:2rem;align-items:start}.site-footer .footer-brand .logo img{height:96px;width:auto;display:block}.site-footer .footer-social{display:flex;gap:.5rem;margin-top:.75rem}.site-footer .footer-social .follow-label{margin-right:.5rem;color:#cbd5e1;font-size:.95rem}.site-footer .footer-social .social{display:inline-flex;align-items:center;gap:.4rem;justify-content:center;padding:0 .6rem 0 .4rem;min-width:36px;height:36px;border-radius:999px;background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.2);transition:transform .15s ease,background .15s ease}.site-footer .footer-social .social:hover{transform:translateY(-1px);background:#ffffff29}.site-footer .footer-social .social .name{font-size:.9rem;color:#e5e7eb}.site-footer .footer-brand .hours{margin-top:.5rem;color:#cbd5e1;opacity:.9}.site-footer .footer-links{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:1rem}.site-footer .footer-links h3{margin:0 0 .5rem;font-size:1rem;color:#fff}.site-footer .footer-links a,.site-footer .footer-links button.link-plain{display:block;color:#cbd5e1;text-decoration:none;padding:.25rem 0;text-align:left}.site-footer .footer-links a:hover,.site-footer .footer-links button.link-plain:hover{color:#fff;text-decoration:underline}.site-footer .footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:.75rem 0;text-align:center}.site-footer .footer-bottom p{margin:0;opacity:.85}@media (max-width: 768px){.site-footer .footer-grid{grid-template-columns:1fr;gap:1rem}.site-footer .footer-links{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.reviews-marquee{display:none}.reviews-list{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:.75rem}.reviews .review{min-width:0;max-width:100%}.hero h1{font-size:2.2rem}.hero-inner{grid-template-columns:1fr;gap:1.25rem;padding-bottom:5.5rem;padding-top:2.5rem}.hero-content{text-align:center}.hero-visual img{max-width:min(520px,90%)}.instant-quote .quote-grid{grid-template-columns:1fr 40px 1fr}.packages .lead .row{flex-direction:column}.trust-strip .info-item,.trust-strip .sep{display:none}.hero-topright{top:10px;right:10px}}@media (max-width: 360px){.how-it-works{padding:2rem 1rem}.how-it-works h2{font-size:1.5rem}.how-steps{grid-template-columns:1fr;gap:.5rem}.how-step{grid-template-columns:40px 1fr;padding:.75rem}.how-num{width:40px;height:40px;font-size:1rem}.how-title{font-size:1rem}.how-desc{font-size:.9rem}}@media (min-width: 769px){.reviews-marquee{display:block}.reviews-list{display:none}}.drawer{position:fixed;inset:0;pointer-events:none;z-index:1000}.drawer.open{pointer-events:auto}.drawer-backdrop{position:absolute;inset:0;background:#0000004d;opacity:0;transition:opacity .2s ease;z-index:0}.drawer.open .drawer-backdrop{opacity:1}.drawer-panel{position:absolute;top:0;right:0;width:420px;max-width:100%;height:100%;background:#fff;box-shadow:-6px 0 24px #00000026;transform:translate(100%);transition:transform .25s ease;display:flex;flex-direction:column;z-index:1}.drawer.open .drawer-panel{transform:translate(0)}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #e5e7eb}.drawer-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#475569}.drawer-content{padding:.5rem 1rem 1.25rem;overflow:auto}@media (max-width: 768px){.contact-form .row{flex-direction:column}.drawer-content{padding-left:.75rem;padding-right:.75rem}.drawer-panel{width:100%}}.journey-planner-step{max-width:1000px;margin:0 auto;padding:20px}.journey-header{text-align:center;margin-bottom:30px}.journey-header h3{font-size:1.8rem;color:#2c3e50;margin-bottom:10px}.journey-description{font-size:1.1rem;color:#6c757d;margin-bottom:25px}.journey-direction-toggle{margin-bottom:30px}.journey-direction-toggle h4{font-size:1.2rem;color:#495057;margin-bottom:15px}.toggle-buttons{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.toggle-btn{flex:1;min-width:250px;max-width:350px;padding:20px;border:2px solid #e9ecef;border-radius:12px;background:#fff;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:1.1rem;font-weight:600;color:#495057}.toggle-btn:hover{border-color:#007bff;box-shadow:0 4px 12px #007bff26;transform:translateY(-2px)}.toggle-btn.active{border-color:#007bff;background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;box-shadow:0 4px 16px #007bff4d}.toggle-description{font-size:.9rem;font-weight:400;opacity:.8;text-align:center}.journey-sections{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:40px}@media (max-width: 768px){.journey-sections{grid-template-columns:1fr;gap:25px}.toggle-buttons{flex-direction:column;align-items:center}.toggle-btn{max-width:100%}.trail-map-container,.detailed-itinerary{padding:15px}.detailed-itinerary strong{min-width:auto;display:block;margin-bottom:2px}.section-date{font-size:.9rem;padding:5px 10px}.section-time{display:block;margin-top:2px}}.journey-section{border:2px solid #e9ecef;border-radius:12px;padding:25px;background:#fff;box-shadow:0 2px 8px #0000001a}.start-section{border-left:4px solid #28a745}.finish-section{border-left:4px solid #dc3545}.section-header{text-align:center;margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid #e9ecef}.section-header h4{font-size:1.3rem;color:#2c3e50;margin-bottom:8px;display:flex;align-items:center;justify-content:center;gap:8px}.section-date{font-size:1rem;color:#6c757d;font-weight:500;background:#f8f9fa;padding:6px 12px;border-radius:6px;display:inline-block}.section-time{color:#007bff;font-weight:600;font-style:italic}.form-section{background:#fff;border-radius:8px;padding:15px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:15px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:#495057;font-size:.95rem}.form-control{padding:12px 16px;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:border-color .3s ease,box-shadow .3s ease}.form-control:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-control::placeholder{color:#adb5bd;font-style:italic}.price-display{margin-top:15px;padding:15px;background:linear-gradient(135deg,#e8f5e8,#f0f8f0);border:1px solid #c3e6cb;border-radius:8px;text-align:center}.shuttle-price{margin:0;font-size:1.1rem;color:#155724}.shuttle-price strong{font-size:1.3rem;color:#0f5132}.journey-summary{margin-top:40px;padding:25px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;border:1px solid #dee2e6}.journey-summary h4{text-align:center;font-size:1.3rem;color:#2c3e50;margin-bottom:25px}.map-caption{margin-top:15px;font-size:.9rem;color:#6c757d;font-style:italic}.trail-map-full-width{width:100%;margin-top:20px;display:block;height:auto;position:relative}.journey-timeline{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:400px;margin:0 auto}.timeline-step{display:flex;align-items:flex-start;gap:12px;padding:15px 20px;background:#fff;border-radius:8px;box-shadow:0 2px 6px #0000001a;min-width:300px;justify-content:flex-start}.step-icon{font-size:1.4rem;min-width:32px;text-align:center;margin-top:2px}.step-content{display:flex;flex-direction:column;flex:1}.step-text{font-weight:600;color:#2c3e50;margin-bottom:4px;font-size:.95rem}.step-details{font-size:.85rem;color:#6c757d;font-style:italic;line-height:1.3}.timeline-arrow{font-size:1.5rem;color:#6c757d;font-weight:700}.journey-section:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px);transition:all .3s ease}.form-control:focus,.toggle-btn:focus{outline:2px solid #007bff;outline-offset:2px}.price-display.loading{background:#f8f9fa;border-color:#dee2e6}.price-display.loading .shuttle-price{color:#6c757d}.form-control.error{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.form-group.error label{color:#dc3545}.form-group.error .form-control{border-color:#dc3545;box-shadow:0 0 0 2px #dc354540}.form-control.error:focus{border-color:#dc3545;box-shadow:0 0 0 2px #dc354540}.error-message{color:#dc3545;font-size:12px;margin-top:4px;display:block;font-weight:500}.step-header{text-align:center;margin-bottom:30px}.step-header h3{font-size:1.8rem;color:#2c3e50;margin-bottom:10px}.step-header p{font-size:1.1rem;color:#6c757d;margin-bottom:25px}.journey-sections{display:flex;flex-direction:column;gap:30px;margin-bottom:30px}.journey-start,.journey-finish{border:1px solid #e9ecef;border-radius:12px;padding:25px;background:#f8f9fa}.section-header{margin-bottom:20px}.section-header h4{font-size:1.3rem;color:#495057;margin-bottom:5px;display:flex;align-items:center;gap:10px}.section-date{font-size:.9rem;color:#6c757d;font-weight:400}.section-description{color:#6c757d;margin-bottom:10px}.section-time{font-weight:600;color:#007bff;background:#007bff1a;padding:2px 8px;border-radius:4px;font-size:.9rem}.journey-visualization{margin-top:30px;border-top:1px solid #e9ecef;padding-top:30px}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#495057}.form-control{width:100%;padding:12px 16px;border:1px solid #ced4da;border-radius:6px;font-size:16px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control:focus{outline:0;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.shuttle-integration-notice{text-align:center;padding:20px;background:#e7f3ff;border:1px dashed #007bff;border-radius:8px;color:#004085}.service-pricing{margin-top:20px;padding:15px;background:#f8f9fa;border-radius:6px;border-left:4px solid #007bff}.price-breakdown{display:flex;flex-direction:column;gap:8px}.price-line{display:flex;justify-content:space-between;align-items:center}.price{font-weight:600;color:#007bff;font-size:1.1rem}@media (max-width: 768px){.journey-sections{gap:20px}.journey-start,.journey-finish{padding:20px}.section-header h4{font-size:1.1rem;flex-direction:column;align-items:flex-start;gap:5px}}@media (max-width: 420px){.journey-planner-step{padding:12px}.toggle-buttons{gap:8px}.toggle-btn{min-width:0;max-width:100%;width:100%;padding:12px}.journey-start,.journey-finish{padding:12px}.section-header{margin-bottom:12px;padding-bottom:10px}.section-header h4{font-size:1rem;flex-direction:column;align-items:flex-start;gap:4px}.section-date{font-size:.85rem;padding:4px 8px}.form-control{padding:10px 12px}.journey-visualization{padding-top:20px}.journey-timeline{max-width:100%;width:100%;margin:0}.timeline-step{min-width:0;width:100%;padding:12px}.step-text,.step-details{overflow-wrap:anywhere;word-break:break-word}}.crypto-payment{margin-top:1rem;padding:1rem;border:1px solid #e0e0e0;border-radius:8px;background-color:#f8f9fa}.crypto-header h4{margin:0 0 .5rem;color:#333;font-size:1.1rem}.crypto-header p{margin:0 0 1rem;color:#666;font-size:.9rem}.crypto-selection{display:flex;gap:1rem;margin-bottom:1.5rem}.crypto-option{flex:1;display:flex;align-items:center;gap:.75rem;padding:.875rem;border:2px solid #e0e0e0;border-radius:6px;background-color:#fff;cursor:pointer;transition:all .2s ease}.crypto-option:hover{border-color:#007bff;background-color:#f0f8ff}.crypto-option input[type=radio]:checked+.crypto-info{color:#007bff;font-weight:600}.crypto-option input[type=radio]{margin:0;width:18px;height:18px}.crypto-info{display:flex;flex-direction:column;gap:.25rem}.crypto-name{font-weight:600;font-size:1rem}.crypto-desc{font-size:.85rem;color:#666}.crypto-loading{display:flex;align-items:center;gap:1rem;padding:2rem;text-align:center;justify-content:center}.spinner{width:24px;height:24px;border:3px solid #f3f3f3;border-top:3px solid #007bff;border-radius:50%;animation:spin 1s linear infinite}.crypto-error{background-color:#f8d7da;color:#721c24;padding:1rem;border-radius:6px;margin-bottom:1rem}.btn-retry{background-color:#dc3545;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;margin-top:.5rem}.btn-retry:hover{background-color:#c82333}.crypto-details{display:flex;flex-direction:column;gap:1.5rem}.crypto-details h5{margin:0 0 .5rem;color:#333;font-size:1rem;font-weight:600}.exchange-rate{background-color:#fff;padding:.875rem;border-radius:6px;border:1px solid #e0e0e0}.exchange-rate p{margin:0;font-size:.95rem;color:#555}.payment-amount{background-color:#fff;padding:.875rem;border-radius:6px;border:1px solid #e0e0e0}.amounts{display:flex;align-items:center;gap:1rem}.crypto-amount{display:flex;align-items:baseline;gap:.5rem}.crypto-amount .amount{font-size:1.5rem;font-weight:700;color:#007bff}.crypto-amount .currency{font-size:1rem;font-weight:600;color:#666}.usd-equivalent,.nzd-equivalent{font-size:.9rem;color:#666;font-style:italic}.wallet-address{background-color:#fff;padding:.875rem;border-radius:6px;border:1px solid #e0e0e0}.address-container{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.address{flex:1;background-color:#f8f9fa;padding:.75rem;border-radius:4px;font-family:Courier New,monospace;font-size:.85rem;word-break:break-all;border:1px solid #e0e0e0}.btn-copy{background-color:#28a745;color:#fff;border:none;padding:.75rem 1rem;border-radius:4px;cursor:pointer;font-size:.85rem;white-space:nowrap}.btn-copy:hover{background-color:#218838}.network-info{margin:0;font-size:.85rem;color:#856404;background-color:#fff3cd;padding:.5rem;border-radius:4px;border-left:4px solid #ffc107}.qr-code-section{background-color:#fff;padding:.75rem;border-radius:6px;border:1px solid #e0e0e0;text-align:center}.qr-code-container{display:flex;flex-direction:column;align-items:center;gap:.5rem}.qr-code-container img{border:1px solid #e0e0e0;border-radius:4px}.qr-code-container p{margin:0;font-size:.85rem;color:#666}.tx-instructions{background-color:#fff;padding:.875rem;border-radius:6px;border:1px solid #e0e0e0}.tx-instructions ol{margin:0;padding-left:1.25rem}.tx-instructions li{margin-bottom:.5rem;font-size:.9rem;line-height:1.4;color:#555}.tx-instructions li strong{color:#007bff}.payment-status{background-color:#fff;padding:1rem;border-radius:6px;border:1px solid #e0e0e0;text-align:center}.booking-note{background-color:#fff;padding:.875rem;border-radius:6px;border:1px solid #e0e0e0;text-align:center}.note-content{padding:.75rem 1rem;border-radius:4px;font-weight:500;font-size:.9rem;background-color:#e6f3ff;color:#06c;border:1px solid #b3d9ff}.status-indicator{padding:.75rem 1rem;border-radius:4px;font-weight:600;font-size:.95rem}.status-indicator.idle{background-color:#fff3cd;color:#856404;border:1px solid #ffc107}.status-indicator.waiting{background-color:#cce5ff;color:#004085;border:1px solid #007bff}.status-indicator.confirmed{background-color:#d4edda;color:#155724;border:1px solid #28a745}.btn-refresh{background-color:#6c757d;color:#fff;border:none;padding:.75rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;align-self:flex-start}.btn-refresh:hover{background-color:#5a6268}.btn-refresh:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.crypto-payment{padding:.75rem}.crypto-selection{flex-direction:column;gap:.75rem}.amounts{flex-direction:column;align-items:flex-start;gap:.5rem}.address-container{flex-direction:column;align-items:stretch}.btn-copy{align-self:center}}@media (max-width: 420px){.crypto-payment{padding:.5rem;border-radius:6px}.qr-code-container img{width:180px;height:auto}.note-content,.network-info,.btn-copy,.btn-refresh{padding-left:.6rem;padding-right:.6rem}}.stripe-payment-form{max-width:500px;margin:0 auto;padding:16px;border:1px solid #e0e6ed;border-radius:8px;background-color:#fff;box-shadow:0 2px 4px #0000001a}.payment-summary{margin-bottom:24px;padding:16px;background-color:#f8f9fa;border-radius:6px;border-left:4px solid #007bff}.payment-summary h4{margin:0 0 8px;font-size:18px;font-weight:600;color:#2c3e50}.payment-summary p{margin:0;font-size:14px;color:#6c757d;line-height:1.5}.card-element-container{margin-bottom:20px}.card-element-container label{display:block;margin-bottom:8px;font-weight:500;color:#2c3e50;font-size:14px}.card-element-container .StripeElement{padding:12px 16px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.card-element-container .StripeElement:hover{border-color:#9ca3af}.card-element-container .StripeElement:focus,.card-element-container .StripeElement--focus{border-color:#007bff;outline:none;box-shadow:0 0 0 3px #007bff1a}.card-element-container .StripeElement--invalid{border-color:#dc3545}.stripe-disclaimer{margin-bottom:20px;padding:12px 16px;background-color:#e7f3ff;border:1px solid #bee5eb;border-radius:6px}.stripe-disclaimer p{margin:0;font-size:13px;color:#0c5460;line-height:1.4}.stripe-setup-button{width:100%;padding:14px 24px;font-size:16px;font-weight:600;color:#fff;background-color:#007bff;border:none;border-radius:6px;cursor:pointer;transition:background-color .15s ease-in-out,transform .1s ease-in-out;display:flex;align-items:center;justify-content:center;gap:8px}.stripe-setup-button:hover:not(:disabled){background-color:#0056b3;transform:translateY(-1px)}.stripe-setup-button:active:not(:disabled){transform:translateY(0)}.stripe-setup-button:disabled{background-color:#6c757d;cursor:not-allowed;transform:none}.spinner{width:18px;height:18px;border:2px solid transparent;border-top:2px solid #ffffff;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.stripe-payment-form{padding:12px;margin:0 8px}.payment-summary{padding:10px;margin-bottom:16px}.payment-summary h4{font-size:16px}.payment-summary p{font-size:13px}.stripe-setup-button{padding:12px 18px;font-size:15px}}@media (max-width: 420px){.stripe-payment-form{border-radius:6px;padding:10px;margin:0 6px}.card-element-container .StripeElement{padding:10px 12px}}.summary-section{margin-bottom:1rem;padding:.75rem;border:1px solid #e0e0e0;border-radius:6px;background-color:#fafafa}.summary-section h4{margin:0 0 .75rem;color:#333;font-size:1rem;font-weight:600}.summary-section h5{margin:.75rem 0 .5rem;color:#555;font-size:.9rem;font-weight:500}.summary-item{display:flex;justify-content:space-between;margin-bottom:.25rem;padding:.15rem 0;font-size:.9rem}.summary-item .label{font-weight:500;color:#666}.summary-item .value{color:#333;text-align:right;font-weight:400}.price-item{background-color:#f0f8ff;padding:.4rem;border-radius:4px;margin:.3rem 0;font-size:.85rem}.price-item .value{font-weight:600;color:#2c5aa0}.rider-summary{margin-bottom:1rem;padding:.75rem;border-left:3px solid #4CAF50;background-color:#f9f9f9}.delivery-details{margin-bottom:.75rem;padding:.5rem;background-color:#fff;border-radius:4px}.total-section{background-color:#e8f5e8;border:2px solid #4CAF50;margin-top:1.5rem}.total-item{font-size:1.1rem;padding:.6rem;background-color:#fff;border-radius:4px;font-weight:600}.total-item .value{color:#2e7d32;font-size:1.2rem}.shuttle-summary{flex-direction:column;align-items:flex-start}.shuttle-summary .label{margin-bottom:.25rem}.shuttle-summary .value{text-align:left;line-height:1.4}.shuttle-summary small{color:#666;font-size:.8rem}.customer-info-section,.voucher-section,.terms-section,.payment-method-section{margin-bottom:2rem;padding:1.5rem;border:1px solid #e0e0e0;border-radius:8px;background-color:#fff}.customer-info-section h4,.voucher-section h4,.terms-section h4,.payment-method-section h4{margin:0 0 1rem;color:#333;font-size:1.1rem;font-weight:600;border-bottom:2px solid #e0e0e0;padding-bottom:.5rem}@media (max-width: 420px){.payment-method-section{padding:.75rem}.payment-method-section h4{border-bottom-width:1px;padding-bottom:.4rem;margin-bottom:.75rem}.payment-options .radio-label{padding:.75rem}}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#555;font-weight:500;font-size:.9rem}.form-control{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;transition:border-color .3s ease}.form-control.valid{border-color:#28a745}.form-control.invalid{border-color:#dc3545}.field-error{color:#dc3545;font-size:.85rem;margin-top:.25rem;font-weight:500}textarea.form-control{resize:vertical;min-height:80px;font-family:inherit;line-height:1.4}.voucher-input-group{display:flex;align-items:stretch;gap:.5rem;width:100%;flex-wrap:nowrap}.voucher-input-group .form-control{flex:1 1 auto;min-width:0}.voucher-input-group .btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:auto;max-width:none;white-space:nowrap;padding:.75rem 1rem;border:none;border-radius:4px;font-size:.9rem;cursor:pointer;transition:background-color .3s ease}@media (max-width: 600px){.voucher-input-group .btn{padding:.6rem .9rem;width:auto;min-width:88px}}.btn-secondary:hover:not(:disabled){background-color:#5a6268}.btn-secondary:disabled{background-color:#adb5bd;cursor:not-allowed}.voucher-status{margin-top:.5rem;padding:.5rem;border-radius:4px;font-size:.85rem}.voucher-status.valid{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.voucher-status.invalid{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.applied-voucher{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:#d4edda;border:1px solid #c3e6cb;border-radius:4px;margin-top:.5rem}.voucher-info{flex:1}.voucher-code-display{font-size:.95rem;margin-bottom:.25rem}.voucher-discount-display{color:#28a745;font-weight:600;font-size:.9rem;margin-bottom:.25rem}.voucher-description{color:#155724;font-size:.85rem;font-style:italic}.btn-remove{background-color:#dc3545;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;font-size:.85rem;cursor:pointer;transition:background-color .3s ease}.btn-remove:hover{background-color:#c82333}.voucher-remove-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1}.voucher-remove-btn .x-icon{font-size:18px;line-height:1}.voucher-remove-btn .btn-label{display:inline}@media (max-width: 600px){.applied-voucher .voucher-remove-btn{width:34px;height:34px;max-width:34px;max-height:34px;padding:0;border-radius:17px}.applied-voucher .voucher-remove-btn .btn-label{display:none}.applied-voucher .voucher-remove-btn .x-icon{font-size:22px}}.voucher-discount{color:#28a745;font-style:italic}.voucher-discount .label{color:#28a745}.voucher-discount .value{color:#28a745;font-weight:600}.submit-section{margin-top:2rem;padding-top:2rem;border-top:2px solid #e9ecef;text-align:center}.btn-large{padding:1rem 2rem;font-size:1.1rem;font-weight:600;min-width:200px;margin-bottom:1rem}.btn-primary{background-color:#007bff;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease}.btn-primary:hover:not(:disabled){background-color:#0056b3;transform:translateY(-2px);box-shadow:0 4px 12px #007bff4d}.btn-primary:disabled{background-color:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.submit-disclaimer{font-size:.85rem;color:#6c757d;margin-top:1rem;line-height:1.4;max-width:500px;margin-left:auto;margin-right:auto}.error-message{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:4px;padding:1rem;margin-bottom:1rem;font-size:.9rem}.terms-toggle{background:none;border:none;color:#007bff;cursor:pointer;font-size:.9rem;text-align:left;padding:.5rem 0;display:flex;align-items:center;gap:.5rem}.terms-toggle:hover{text-decoration:underline}.terms-content{margin-top:1rem;padding:1rem;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;max-height:300px;overflow-y:auto}.terms-content h5{margin:1rem 0 .5rem;color:#333;font-size:.9rem;font-weight:600}.terms-content h5:first-child{margin-top:0}.terms-content p{margin:0 0 .5rem;color:#666;font-size:.85rem;line-height:1.4}.terms-agreement{margin-top:1rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:.9rem;color:#555}.checkbox-label input[type=checkbox]{margin:0;width:18px;height:18px;cursor:pointer}.payment-options{display:flex;flex-direction:column;gap:1rem}.radio-label{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:border-color .3s ease,background-color .3s ease}.radio-label:hover{border-color:#007bff;background-color:#f8f9fa}.radio-label input[type=radio]{margin:0;width:18px;height:18px;cursor:pointer}.radio-label input[type=radio]:checked+.radio-custom+.radio-content{color:#007bff}.radio-label:has(input[type=radio]:checked){border-color:#007bff;background-color:#f0f8ff}.radio-content{flex:1}.radio-content strong{display:block;margin-bottom:.25rem;color:#333;font-size:.95rem}.radio-content p{margin:0;color:#666;font-size:.85rem;line-height:1.4}.booking-confirmation{display:flex;justify-content:center;align-items:center;min-height:80vh;padding:2rem;background-color:#f8f9fa}.confirmation-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:3rem;max-width:600px;width:100%;text-align:center}.success-icon{margin-bottom:2rem;display:flex;justify-content:center}.confirmation-content h1{color:#28a745;font-size:2.5rem;margin-bottom:1rem;font-weight:700}.confirmation-message{font-size:1.2rem;color:#6c757d;margin-bottom:2rem;line-height:1.6}.booking-details{background-color:#f8f9fa;border-radius:8px;padding:1.5rem;margin-bottom:2rem;text-align:left}.detail-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.detail-row:last-child{margin-bottom:0}.detail-row .label{font-weight:600;color:#495057}.detail-row .value{color:#212529}.booking-ref{font-family:Courier New,monospace;font-weight:700;color:#007bff!important;background-color:#e3f2fd;padding:.25rem .5rem;border-radius:4px}.next-steps{text-align:left;margin-bottom:2rem}.next-steps h3{color:#495057;margin-bottom:1rem;font-size:1.3rem}.next-steps ul{list-style:none;padding:0}.next-steps li{padding:.5rem 0 .5rem 1.5rem;position:relative;color:#6c757d;line-height:1.5}.next-steps li:before{content:"✓";position:absolute;left:0;color:#28a745;font-weight:700}.confirmation-actions{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem;flex-wrap:wrap}.btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block}.btn-primary:hover{background-color:#0056b3;transform:translateY(-2px)}.btn-secondary:hover{background-color:#545b62;transform:translateY(-2px)}.contact-info{border-top:1px solid #dee2e6;padding-top:1.5rem;color:#6c757d;font-size:.9rem}.contact-info a{color:#007bff;text-decoration:none}.contact-info a:hover{text-decoration:underline}@media (max-width: 768px){.booking-confirmation{padding:1rem;min-height:90vh}.confirmation-content{padding:2rem}.confirmation-content h1{font-size:2rem}.confirmation-message{font-size:1.1rem}.detail-row{flex-direction:column;align-items:flex-start;gap:.25rem}.confirmation-actions{flex-direction:column}.btn{width:100%}}@media print{.booking-confirmation{background-color:#fff;min-height:auto}.confirmation-content{box-shadow:none;border:1px solid #ddd}.confirmation-actions{display:none}.contact-info{page-break-inside:avoid}}.booking-wizard{min-height:100vh;display:flex;flex-direction:column;background-color:#f8f9fa;margin:0 auto;width:100%;max-width:100%}.booking-header{background:#fff;border-bottom:1px solid #e1e5e9;position:sticky;top:0;z-index:100;box-shadow:0 2px 4px #0000001a}.booking-header-content{width:1200px;max-width:calc(100% - 1rem);margin:0 auto;padding:1rem}.booking-header h1{margin:0 0 1rem;color:#333;font-size:1.5rem}.progress-container{display:flex;align-items:center;gap:1rem}.progress-bar{flex:1;height:8px;background-color:#e1e5e9;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background-color:#007bff;transition:width .3s ease}.step-counter{font-size:.9rem;color:#666;white-space:nowrap}.booking-main{flex:1;padding:1rem}.booking-container{width:1200px;max-width:calc(100% - 1rem);margin:0 auto}.step-header{margin-bottom:2rem;text-align:center}.step-header h2{color:#333;font-size:1.8rem;margin:0}.step-content{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.booking-footer{background:#fff;border-top:1px solid #e1e5e9;padding:1rem;position:sticky;bottom:0}.booking-footer-content{width:1200px;max-width:calc(100% - 1rem);margin:0 auto}.navigation-buttons{display:flex;justify-content:space-between;align-items:center;gap:1rem}.booking-footer .btn-large,.booking-footer .booking-footer-btn{margin-bottom:0}.booking-footer-btn{display:inline-flex;align-items:center;justify-content:center;height:48px;min-height:48px;padding:0 16px;line-height:1;white-space:nowrap}@media (max-width: 480px){.navigation-buttons{gap:.5rem}.booking-footer-btn{height:44px;min-height:44px;padding:0 12px;font-size:14px}}.total-price{font-size:1.2rem;font-weight:600;color:#28a745;flex:1;text-align:center}.payment-footer-buttons{display:flex;flex-direction:column;align-items:center;gap:1rem}.footer-error-message{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:4px;padding:.75rem 1rem;font-size:.9rem;text-align:center;max-width:400px}.submit-disclaimer{font-size:.85rem;color:#6c757d;line-height:1.4;max-width:500px;text-align:center;margin:0}.step-actions{margin-top:2rem;text-align:center}.booking-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:2rem}.booking-option{padding:2rem;border:2px solid #e1e5e9;border-radius:8px;text-align:center;cursor:pointer;transition:all .3s ease;background:#fff}.booking-option:hover{border-color:#007bff;background-color:#f8f9ff}.booking-option.selected{border-color:#007bff;background-color:#e3f2fd}.booking-option.confirming{border-color:#28a745;background-color:#d4edda;transform:scale(1.02)}.selection-feedback{margin-top:1rem;padding:.5rem 1rem;background-color:#28a745;color:#fff;border-radius:4px;font-size:.9rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.option-icon{font-size:3rem;margin-bottom:1rem}.booking-option h3{margin:0 0 .5rem;color:#333}.booking-option p{margin:0 0 .5rem;color:#666}.option-tip{color:#007bff;font-style:italic}.date-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.date-input-group{display:flex;flex-direction:column}.date-input-group label{margin-bottom:.5rem;font-weight:500;color:#333}.date-input{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.date-summary{text-align:center;padding:1rem;background-color:#f8f9fa;border-radius:4px;margin-bottom:1rem}.date-summary p{margin:0;font-weight:500;color:#333}.riders-list{margin-bottom:2rem}.rider-card{border:1px solid #e1e5e9;border-radius:8px;padding:1.5rem;margin-bottom:1rem;background:#f8f9fa}.rider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;cursor:pointer}.rider-header-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.rider-toggle-btn{background:none;border:none;font-size:14px;cursor:pointer;padding:4px 8px;border-radius:4px;color:#666;transition:background-color .2s,color .2s;flex-shrink:0}.rider-toggle-btn:hover{background-color:#f0f0f0;color:#333}.rider-summary{font-size:16px;font-weight:700;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rider-header h4{margin:0;color:#333}.rider-name-input{border:none;background:none;font-size:16px;font-weight:700;padding:4px 0;outline:none;flex:1;min-width:0;color:#333;border-bottom:1px solid transparent;transition:border-color .2s}.rider-header .rider-name-input{margin-right:8px}.rider-name-input:hover,.rider-name-input:focus{border-bottom-color:#007bff}.rider-name-input::placeholder{color:#666;font-weight:400}.rider-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:.5rem;font-weight:500;color:#333}.form-control{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-control:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.accessories-list{display:flex;flex-direction:column;gap:.5rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label input[type=checkbox]{margin:0}.rider-remove-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}.rider-remove-btn .x-icon{font-size:20px;line-height:1}.rider-remove-btn .btn-label{display:inline}@media (max-width: 600px){.rider-header .rider-remove-btn{max-width:34px;max-height:34px;width:34px;height:34px;padding:0;border-radius:17px}.rider-header .rider-remove-btn .btn-label{display:none}.rider-header .rider-remove-btn .x-icon{display:inline-block;font-size:22px;line-height:1;margin:0}}.validation-feedback{margin:1.5rem 0;padding:1rem;border-radius:8px;font-size:.9rem}.validation-error{background-color:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.validation-success{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#15803d;display:flex;align-items:center;gap:8px}.validation-message{display:flex;align-items:center;gap:8px;font-weight:500;margin-bottom:.5rem}.validation-error .validation-message{margin-bottom:.5rem}.validation-success .validation-message{margin-bottom:0}.validation-icon{font-size:1.1em}.incomplete-riders-list{margin:.5rem 0 0 2rem;padding:0}.incomplete-riders-list li{margin-bottom:.25rem}.availability-status{margin-bottom:1.5rem}.availability-loading,.availability-error,.availability-success{padding:.75rem 1rem;border-radius:6px;font-size:.9rem}.availability-loading{background-color:#fef3c7;border:1px solid #f59e0b;color:#92400e}.availability-error{background-color:#fef2f2;border:1px solid #f87171;color:#dc2626}.availability-success{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.add-rider-section{text-align:center;margin-bottom:2rem}.review-payment-step{display:flex;flex-direction:column;gap:2rem}.booking-summary{padding:1.5rem;background-color:#f8f9fa;border-radius:8px}.booking-summary h3{margin:0 0 1rem;color:#333}.summary-section{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e1e5e9}.summary-section:last-child{border-bottom:none;margin-bottom:0}.summary-section h4{margin:0 0 .5rem;color:#333;font-size:1rem}.summary-section p{margin:.25rem 0;color:#666}.rider-summary{margin-bottom:.5rem}.customer-details,.payment-options{padding:1.5rem;background:#fff;border:1px solid #e1e5e9;border-radius:8px}.customer-details h3,.payment-options h3{margin:0 0 1rem;color:#333}.payment-methods{display:flex;flex-direction:column;gap:.5rem}.radio-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem;border-radius:4px;transition:background-color .2s}.radio-label:hover{background-color:#f8f9fa}.radio-label input[type=radio]{margin:0}.price-summary{padding:1.5rem;background:#fff;border:2px solid #28a745;border-radius:8px}.price-row{display:flex;justify-content:space-between;margin-bottom:.5rem}.price-row.total{border-top:1px solid #e1e5e9;padding-top:.5rem;margin-top:.5rem;font-size:1.2rem}.terms-conditions{text-align:center}.btn{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background-color:#0056b3}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#545b62}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover:not(:disabled){background-color:#c82333}.btn-small{padding:.5rem 1rem;font-size:.9rem}.btn-large{padding:1rem 2rem;font-size:1.1rem;font-weight:500}.note,.tip{padding:1rem;border-radius:4px;margin:1rem 0}.note{background-color:#e3f2fd;color:#1565c0;border:1px solid #bbdefb}.tip{background-color:#f3e5f5;color:#7b1fa2;border:1px solid #e1bee7}.shuttle-suggestion{margin-top:1rem;padding:1rem;background-color:#fff3e0;border:1px solid #ffcc02;border-radius:4px}@media (max-width: 768px){.booking-main{padding:1rem}.step-content{padding:1.5rem 1rem}.booking-header-content,.booking-footer-content{padding:1rem}.booking-options,.date-picker{grid-template-columns:1fr}.rider-card{padding:1rem;margin-left:0;margin-right:0}.rider-form{grid-template-columns:1fr}}.debug-panel{background-color:#1a1a1a;color:#e0e0e0;border:3px solid #ff6b6b;position:fixed;top:0;left:0;z-index:9999;max-width:600px;max-height:800px;box-shadow:2px 2px 10px #0000004d}.debug-header{padding:.5rem 1rem}.debug-header h3{margin:0 0 .5rem;color:#ff6b6b;font-size:.9rem;font-weight:500}.debug-header details{border:1px solid #333;border-radius:4px;background-color:#2a2a2a}.debug-header summary{padding:.75rem;cursor:pointer;background-color:#333;border-radius:4px 4px 0 0;font-weight:500;color:#fff;-webkit-user-select:none;user-select:none}.debug-header summary:hover{background-color:#404040}.debug-json{margin:0;padding:1rem;background-color:#1e1e1e;color:#e0e0e0;font-family:Courier New,Consolas,monospace;font-size:.8rem;line-height:1.4;overflow-x:auto;white-space:pre;border-radius:0 0 4px 4px;max-height:800px;overflow-y:auto}@media (max-width: 480px){.booking-main{padding:.5rem}.step-content{padding:1rem .5rem}.booking-header-content,.booking-footer-content{padding:.75rem .5rem}.rider-card{padding:.75rem;margin-bottom:.75rem}.rider-header-left{gap:6px}.rider-toggle-btn{padding:2px 6px;font-size:12px}.rider-name-input,.rider-summary{font-size:14px}.form-control{padding:.5rem;font-size:14px}.btn{padding:.5rem 1rem;font-size:14px}.validation-feedback{margin:1rem 0;padding:.75rem;font-size:.85rem}}@media (max-width: 768px){.debug-header{padding:1rem}.debug-json{font-size:.7rem;max-height:300px}}.checkbox-label.sold-out{opacity:.6;color:#6c757d}.checkbox-label.sold-out input[type=checkbox]{opacity:.5;cursor:not-allowed}.sold-out-label{background-color:#dc3545;color:#fff;padding:.2rem .4rem;border-radius:.25rem;font-size:.75rem;font-weight:700;margin-left:.5rem;text-transform:uppercase}.availability-count{color:#28a745;font-size:.8rem;font-weight:500;margin-left:.5rem;font-style:italic}.btn .spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #ffffff;border-radius:50%;animation:spin 1s linear infinite;margin-right:8px;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.crypto-pay-page{padding:24px}.crypto-pay-page .container{max-width:720px;margin:0 auto}.crypto-pay-page h1{margin:0 0 12px}.crypto-pay-page .ref{color:#475569;margin:0 0 6px}.crypto-pay-page .amount{font-size:18px;margin:0 0 16px}.crypto-pay-page .panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px;margin:16px 0}.crypto-pay-page .crypto-selection{display:flex;gap:16px;margin:8px 0 12px}.crypto-pay-page .crypto-option{display:flex;align-items:center;gap:8px}.crypto-pay-page .conversion{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:10px;margin-bottom:8px;color:#334155}.crypto-pay-page .pay-amount{font-size:16px;font-weight:600;margin-top:6px}.crypto-pay-page .hint{color:#64748b;font-size:12px;margin-top:4px}.crypto-pay-page .address-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.crypto-pay-page .addr{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;font-size:14px}.crypto-pay-page .btn{background:#0ea5e9;color:#fff;border:none;border-radius:8px;padding:8px 10px;cursor:pointer}.crypto-pay-page .btn:hover{background:#0284c7}.crypto-pay-page .qr-wrap{margin-top:12px;text-align:center}.crypto-pay-page .qr-wrap img{width:220px;height:220px}.crypto-pay-page .qr-note{color:#64748b;font-size:12px}.crypto-pay-page .note{color:#475569}.crypto-pay-page .links{margin-top:16px}*{box-sizing:border-box}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;color:#333}.App{min-height:100vh;width:100%;margin:0 auto;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{margin:0;line-height:1.2}p{margin:0}ul,ol{margin:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:inherit;text-decoration:none}button:focus,input:focus,select:focus,textarea:focus,a:focus{outline:2px solid #007bff;outline-offset:2px}
