.platform-booking{--pb-accent:var(--primary,var(--accent,#17324d));--pb-surface:#fff;--pb-text:#172033;--pb-muted:#556174;--pb-border:color-mix(in srgb,var(--pb-text) 18%,transparent);max-width:76rem;margin-inline:auto;padding:clamp(1rem,3vw,3rem);color:var(--pb-text);color-scheme:light}
.platform-booking *{box-sizing:border-box}.platform-booking__header{margin-bottom:1rem;padding:clamp(1rem,2vw,1.5rem);border:1px solid var(--pb-border);border-radius:1rem;background:var(--pb-surface);color:var(--pb-text)}.platform-booking__header h1,.platform-booking__header p{color:inherit}.platform-booking__header p{color:var(--pb-muted)}.platform-booking__steps ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;list-style:none;padding:0;margin:0 0 1.5rem}.platform-booking__steps button{width:100%;min-height:3rem;padding:.65rem;border:1px solid var(--pb-border);border-radius:.65rem;background:var(--pb-surface);color:var(--pb-text);text-align:left}.platform-booking__steps button[aria-current=step]{border-color:var(--pb-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--pb-accent) 22%,transparent)}
.platform-booking__panel{min-width:0;padding:clamp(1rem,2.5vw,2rem);border:1px solid var(--pb-border);border-radius:1rem;background:var(--pb-surface);color:var(--pb-text);box-shadow:0 .5rem 2rem rgba(10,25,45,.08)}.platform-booking__panel>legend{padding:0 .4rem;color:var(--pb-text);font-size:clamp(1.1rem,2vw,1.4rem);font-weight:700}.platform-booking__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.platform-booking label{display:grid;gap:.35rem;margin:.7rem 0;color:var(--pb-text)}.platform-booking input,.platform-booking select,.platform-booking textarea,.platform-booking button{font:inherit}.platform-booking input:not([type=radio]):not([type=checkbox]),.platform-booking select,.platform-booking textarea{width:100%;min-height:2.85rem;padding:.7rem .8rem;border:1px solid var(--pb-border);border-radius:.55rem;background:var(--pb-surface);color:var(--pb-text)}.platform-booking textarea{min-height:7rem;resize:vertical}.platform-booking input:focus-visible,.platform-booking select:focus-visible,.platform-booking textarea:focus-visible,.platform-booking button:focus-visible{outline:3px solid color-mix(in srgb,var(--pb-accent) 45%,transparent);outline-offset:2px}
.platform-booking__payment-trust{display:flex;align-items:center;justify-content:center;gap:1rem;margin:-.6rem 0 1.2rem;padding:.75rem 1rem;border:1px solid var(--pb-border);border-radius:.75rem;background:var(--pb-surface);color:var(--pb-muted);font-size:.9rem}.platform-booking__payment-trust strong{color:var(--pb-text)}.platform-booking__payment-logos,.platform-booking__payment-logos>[data-payment-logo-method]{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.55rem}.platform-booking__payment-logos img{display:block;width:auto;height:1.7rem;max-width:5rem}.platform-booking__payment-logos span{font-size:.82rem}.platform-booking__route-grid>.platform-booking__trip-type,.platform-booking__journey{grid-column:1/-1}.platform-booking__trip-type{max-width:32rem}.platform-booking__journey{padding:1rem;border:1px solid var(--pb-border);border-radius:.8rem;background:color-mix(in srgb,var(--pb-accent) 3%,var(--pb-surface))}.platform-booking__journey h2{margin:0 0 .25rem;color:var(--pb-text);font-size:1rem}.platform-booking__journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.platform-booking__route-preview{margin:0 0 1.25rem}.platform-booking__route-preview h2{margin:0 0 .35rem;font-size:1.05rem}.platform-booking__route-hint{margin:0 0 .8rem;color:var(--pb-muted);font-size:.9rem;line-height:1.5}.platform-booking__route-map{width:100%;height:clamp(15rem,32vw,22rem);border:1px solid var(--pb-border);border-radius:.8rem;background:#eef2f7;overflow:hidden}.platform-booking__route-preview [data-route-map-status]{margin:.55rem 0 0;color:var(--pb-muted);font-size:.85rem}.platform-booking__route-preview.is-ready [data-route-map-status]{display:none}
.platform-booking__route-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:0 0 .8rem}.platform-booking__route-facts>div{min-width:0;padding:.75rem;border:1px solid var(--pb-border);border-radius:.65rem;background:color-mix(in srgb,var(--pb-accent) 4%,var(--pb-surface))}.platform-booking__route-facts>.platform-booking__route-fact--addresses{grid-column:1/-1;padding:.7rem .9rem}.platform-booking__route-facts dt{margin-bottom:.2rem;color:var(--pb-muted);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.platform-booking__route-facts dd{margin:0;color:var(--pb-text);font-weight:700;line-height:1.35;overflow-wrap:anywhere}.platform-booking__route-fact--addresses dd{font-size:.95rem}
.platform-booking__field,.platform-address-field{position:relative}.platform-booking__field [role=listbox],.platform-address-field [role=listbox]{position:absolute;z-index:50;inset:100% 0 auto;margin:0;padding:.25rem;list-style:none;border:1px solid var(--pb-border,#cbd5e1);border-radius:.55rem;background:var(--pb-surface,#fff);color:var(--pb-text,#172033);box-shadow:0 .75rem 2rem rgba(10,25,45,.16)}.platform-booking__field [role=option],.platform-address-field [role=option]{padding:.7rem;border-radius:.35rem;cursor:pointer}.platform-booking__field [role=option][aria-selected=true],.platform-booking__field [role=option]:hover,.platform-address-field [role=option][aria-selected=true],.platform-address-field [role=option]:hover{background:color-mix(in srgb,var(--pb-accent,#17324d) 12%,var(--pb-surface,#fff))}.platform-booking__hint{grid-column:1/-1;margin:.2rem 0;color:color-mix(in srgb,var(--pb-text) 70%,transparent)}
.platform-booking__actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-top:1.25rem}.platform-booking__actions button,.platform-booking [data-submit-inquiry]{min-height:2.9rem;padding:.7rem 1.1rem;border:1px solid var(--pb-accent);border-radius:.6rem;background:var(--pb-accent);color:#fff;font-weight:700;cursor:pointer}.platform-booking__actions button[data-previous-step]{background:transparent;color:var(--pb-accent)}.platform-booking button:disabled{opacity:.55;cursor:not-allowed}
.platform-booking__vehicles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.25rem}.platform-booking__vehicle{display:grid;align-content:start;gap:.45rem;margin:0!important;padding:1rem;border:1px solid var(--pb-border);border-radius:.8rem;cursor:pointer}.platform-booking__vehicle:has(input:checked){border-color:var(--pb-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--pb-accent) 22%,transparent)}.platform-booking__vehicle img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:.55rem}.platform-booking__price{font-size:1.2rem;font-weight:800;color:var(--pb-accent)}.platform-booking__extras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.platform-booking__review{margin-top:1.25rem;padding:1rem;border-radius:.75rem;background:color-mix(in srgb,var(--pb-accent) 6%,var(--pb-surface))}.platform-booking__review dl{display:grid;grid-template-columns:minmax(8rem,1fr) 2fr;gap:.45rem 1rem}.platform-booking__review dt{font-weight:700}.platform-booking__review dd{margin:0}.platform-booking__status,.platform-booking__expiry{min-height:1.5rem;margin-top:1rem;font-weight:650}.platform-booking__errors{margin-bottom:1rem;padding:.8rem;border:2px solid #b91c1c;border-radius:.6rem;background:#fef2f2;color:#7f1d1d}.platform-booking [hidden],.platform-address-field [hidden]{display:none!important}
.theme-gofly .platform-booking,.theme-mainport .platform-booking,.theme-meridian .platform-booking,.theme-nightride .platform-booking,.theme-berlin-elite .platform-booking{padding-block-start:calc(clamp(1rem,3vw,3rem) + 5rem)}
.platform-booking #platformBookingFlow label.platform-booking__choice{display:flex;align-items:flex-start;justify-content:flex-start;gap:.75rem;width:100%;margin:.65rem 0;line-height:1.5;cursor:pointer}
.platform-booking #platformBookingFlow label.platform-booking__choice>input[type=checkbox],.platform-booking #platformBookingFlow label.platform-booking__choice>input[type=radio]{display:block;flex:0 0 1.15rem;width:1.15rem;height:1.15rem;margin:.16rem 0 0;padding:0;accent-color:var(--pb-accent);cursor:pointer}
.platform-booking #platformBookingFlow label.platform-booking__choice>span{display:block;min-width:0;flex:1;color:var(--pb-text)}
.platform-booking__payment-panel{min-width:0;margin:1.2rem 0;padding:0;border:0;background:transparent}
.platform-booking__payment-panel>legend{padding:0;margin-bottom:.4rem;color:var(--pb-text);font-weight:700}
.platform-booking__payment-methods{display:grid;gap:.65rem}
.platform-booking #platformBookingFlow .platform-booking__payment-methods>label.platform-booking__choice{margin:0;padding:.8rem 1rem;border:1px solid var(--pb-border);border-radius:.7rem;background:var(--pb-surface)}
.platform-booking #platformBookingFlow .platform-booking__payment-methods>label.platform-booking__choice:has(input:checked){border-color:var(--pb-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--pb-accent) 18%,transparent)}
.platform-booking__consents{display:grid;gap:.2rem;margin-top:1rem}
.platform-booking__consents a{color:var(--pb-accent);text-decoration:underline;text-underline-offset:.15em}
.platform-booking__consents--whatsapp{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.85rem;padding:1rem 1.1rem;border:2px solid #25d366;border-radius:.8rem;background:#effcf4;box-shadow:0 .35rem 1.25rem rgba(18,140,126,.12)}
.platform-booking__whatsapp-icon{display:grid;place-items:center;width:2.75rem;height:2.75rem;margin-top:.55rem;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 .2rem .65rem rgba(18,140,126,.24)}
.platform-booking__whatsapp-icon svg{width:1.65rem;height:1.65rem;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.platform-booking__whatsapp-copy{min-width:0}.platform-booking #platformBookingFlow .platform-booking__whatsapp-copy>label.platform-booking__choice{margin:.45rem 0 .35rem;font-weight:650}.platform-booking__whatsapp-copy p{margin:0;color:var(--pb-muted);font-size:.9rem;line-height:1.5}.platform-booking__whatsapp-copy a{color:#0b6f63}.platform-booking__consents--whatsapp:has(input:checked){border-color:#128c7e;background:#e8faef}.platform-booking__consents--whatsapp input[type=checkbox]{accent-color:#128c7e!important}
.platform-booking input[readonly]{background:#f4f7fa!important;cursor:default}.platform-booking input[type=number][readonly]{appearance:textfield}.platform-booking input[type=number][readonly]::-webkit-inner-spin-button{appearance:none;margin:0}.platform-booking label small{color:var(--pb-muted);font-size:.85rem}.platform-booking__label-note{font-size:.85em!important;font-weight:400}.platform-booking__field-error{grid-column:1/-1;margin:.1rem 0 .5rem;color:#9f1239;font-size:.9rem;font-weight:650}.platform-booking__choice:has(input[aria-invalid=true]){color:#9f1239!important}.platform-booking__choice:has(input[aria-invalid=true])>span{color:#9f1239!important}.platform-booking__choice input[aria-invalid=true]{outline:2px solid #be123c;outline-offset:3px}.platform-booking__choice,.platform-booking__field-error{scroll-margin-top:6rem}
@media(max-width:900px){.platform-booking__journey-grid,.platform-booking__route-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.platform-booking__steps ol,.platform-booking__vehicles{grid-template-columns:1fr}.platform-booking__grid,.platform-booking__extras,.platform-booking__journey-grid,.platform-booking__route-facts{grid-template-columns:1fr}.platform-booking__steps button{text-align:center}.platform-booking__review dl{grid-template-columns:1fr}.platform-booking__review dd{margin-bottom:.6rem}.platform-booking__payment-trust{align-items:flex-start;flex-direction:column}.platform-booking__payment-logos{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){.platform-booking *{scroll-behavior:auto!important;transition:none!important}}
.platform-booking__demo-warning{margin:0 0 1.25rem;padding:1rem 1.15rem;border:2px solid #b91c1c;border-radius:.8rem;background:#fff1f2;color:#7f1d1d;box-shadow:0 .45rem 1.5rem rgba(127,29,29,.11)}.platform-booking__demo-warning strong{display:block;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.platform-booking__demo-warning p{margin:.4rem 0 0;color:inherit;line-height:1.55}.platform-booking__demo-warning--final{margin:1.25rem 0 .75rem}
