.fsta-booking{--booking-ink:color-mix(in srgb,var(--fsta-booking-accent,#198637) 22%,#14231a);--booking-muted:color-mix(in srgb,var(--booking-ink) 70%,var(--fsta-booking-background,#fff));--booking-line:color-mix(in srgb,var(--fsta-booking-accent,#198637) 18%,var(--fsta-booking-background,#fff));--booking-soft:color-mix(in srgb,var(--fsta-booking-accent,#198637) 5%,var(--fsta-booking-background,#fff));display:block;max-width:1220px;margin:0 auto;padding:40px 24px 64px;background:var(--fsta-booking-background,var(--color-background));color:var(--booking-ink);font:inherit;overflow-wrap:anywhere;line-height:1.55}
.fsta-booking *{box-sizing:border-box}.fsta-booking [hidden]{display:none!important}
.fsta-booking h1{font-size:clamp(28px,4vw,40px);font-weight:750;letter-spacing:-.035em;line-height:1.15;margin:0 0 32px}.fsta-booking h2,.fsta-booking legend{color:var(--booking-ink);font-size:20px;font-weight:700;line-height:1.3;margin:0 0 18px;letter-spacing:-.02em}
.fsta-booking__layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr);gap:32px;align-items:start}.fsta-booking__main,.fsta-booking__summary{min-width:0}
.fsta-booking fieldset{border:1px solid var(--booking-line);border-radius:20px;padding:24px;margin:0 0 26px;min-width:0;background:var(--fsta-booking-background,#fff);box-shadow:0 4px 20px #12331b05}.fsta-booking legend{float:left;width:100%;display:flex;align-items:center;gap:12px}.fsta-booking__step{display:grid;place-items:center;flex:0 0 34px;height:34px;background:var(--booking-soft);border:1px solid var(--booking-line);border-radius:50%;font-size:12px;letter-spacing:.04em;color:color-mix(in srgb,var(--fsta-booking-accent) 85%,var(--booking-ink));font-weight:750}.fsta-booking legend+*{clear:both}.fsta-booking fieldset>p{font-size:14px;color:var(--booking-muted)}
.fsta-booking__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}.fsta-booking label{display:block;font-size:14px;font-weight:550}.fsta-booking input:not([type=radio]):not([type=checkbox]),.fsta-booking select{display:block;width:100%;min-width:0;min-height:50px;border:1px solid var(--booking-line);border-radius:10px;padding:12px 14px;margin-top:7px;font:inherit;background:var(--booking-soft);color:var(--booking-ink);transition:border-color .15s,box-shadow .15s}.fsta-booking input:focus,.fsta-booking select:focus{border-color:var(--fsta-booking-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--fsta-booking-accent) 10%,transparent)}
.fsta-booking input[type=radio],.fsta-booking input[type=checkbox]{width:20px;height:20px;accent-color:var(--fsta-booking-accent);flex-shrink:0;margin:2px 0 0}.fsta-booking .fsta-booking__option{display:flex;gap:13px;border:1px solid var(--booking-line);border-radius:14px;padding:18px;margin:12px 0 0;cursor:pointer;font-weight:400;transition:background .15s,border-color .15s}.fsta-booking__option:hover{background:var(--booking-soft)}.fsta-booking__option:has(input:checked){background:var(--booking-soft);border-color:var(--fsta-booking-accent);box-shadow:inset 0 0 0 1px var(--fsta-booking-accent)}.fsta-booking__option>span{flex:1;min-width:0}.fsta-booking__option strong{font-weight:700;color:var(--booking-ink)}
.fsta-booking__note{display:block;color:var(--booking-muted);font-size:13px;line-height:1.65;margin-top:5px}.fsta-booking__note p:last-child{margin-bottom:0}.fsta-booking__price{display:inline-block;margin-inline-start:8px;padding:2px 8px;border-radius:6px;background:var(--booking-soft);font-size:12px;font-weight:700;color:color-mix(in srgb,var(--fsta-booking-accent) 85%,var(--booking-ink));white-space:normal}
.fsta-booking__notice{padding:15px 18px;border:1px solid var(--booking-line);border-inline-start:3px solid var(--fsta-booking-accent);background:var(--booking-soft);border-radius:10px;margin:20px 0 26px;color:var(--booking-muted);font-size:13px;line-height:1.7}.fsta-booking__notice p{margin:0}.fsta-booking fieldset .fsta-booking__notice:last-child{margin-bottom:0}.fsta-booking__main>h2{margin:28px 0 0;padding-inline:4px}
.fsta-booking__summary{position:sticky;top:100px;border:1px solid var(--booking-line);border-top:4px solid var(--fsta-booking-accent);border-radius:20px;padding:26px;background:var(--fsta-booking-background,#fff);box-shadow:0 12px 36px #12331b0d}.fsta-booking__summary h2{font-size:23px;line-height:1.3;margin-bottom:22px}.fsta-booking__summary>p:last-child{font-size:12px;color:var(--booking-muted);line-height:1.6}
.fsta-booking dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;font-size:14px;margin:20px 0}.fsta-booking dd{margin:0;text-align:end;font-weight:550}.fsta-booking dt{min-width:0;color:var(--booking-muted)}.fsta-booking [data-trip-summary]{padding:18px;background:var(--booking-soft);border-radius:12px;font-size:13px}.fsta-booking__totals{border-block:1px solid var(--booking-line);padding-block:20px}.fsta-booking__totals dt:last-of-type,.fsta-booking__totals dd:last-of-type{font-weight:750;font-size:22px;color:var(--booking-ink);padding-top:8px}
.fsta-booking button{min-height:48px;background:var(--fsta-booking-accent);color:#fff;border:0;border-radius:10px;padding:12px 18px;font:inherit;font-weight:700;cursor:pointer;transition:filter .15s}.fsta-booking button:hover:not(:disabled){filter:brightness(.92)}.fsta-booking button:disabled{opacity:.6;cursor:not-allowed}.fsta-booking [data-submit]{width:100%;min-height:54px;box-shadow:0 4px 12px color-mix(in srgb,var(--fsta-booking-accent) 18%,transparent)}
.fsta-booking__code{border:1px solid var(--booking-line);border-radius:12px;padding:16px}.fsta-booking__code-row{display:flex;gap:8px;align-items:end}.fsta-booking__code-row input{flex:1}.fsta-booking__code p{font-size:12px;line-height:1.6;color:var(--booking-muted)}.fsta-booking [data-remove-code]{margin-top:10px;font-size:13px}.fsta-booking [data-status]{font-size:13px;line-height:1.6;padding:10px 12px;border-radius:8px;background:var(--booking-soft);color:var(--booking-ink)}.fsta-booking :focus-visible{outline:3px solid var(--fsta-booking-accent);outline-offset:3px}.fsta-booking__honeypot{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
@media(max-width:850px){.fsta-booking__layout{grid-template-columns:1fr;gap:18px}.fsta-booking__summary{position:static}.fsta-booking{padding:28px 16px 44px}.fsta-booking h1{margin-bottom:24px}}
@media(max-width:480px){.fsta-booking__fields{grid-template-columns:1fr}.fsta-booking fieldset{padding:18px;border-radius:16px}.fsta-booking__option{padding:15px}.fsta-booking__summary{padding:20px;border-radius:16px}.fsta-booking__code-row{flex-wrap:wrap}.fsta-booking__code-row button{width:100%}.fsta-booking h2,.fsta-booking legend{font-size:18px}}
@media(prefers-reduced-motion:reduce){.fsta-booking input,.fsta-booking select,.fsta-booking__option,.fsta-booking button{transition:none}}

.fsta-booking__submit-note{text-align:center;width:100%}.fsta-booking [data-status]:empty{display:none}

.fsta-booking .fsta-booking__summary [data-submit]{margin-top:16px}

.fsta-booking__cross-border-fields{clear:both;margin:14px 0 18px;padding:18px;border-color:var(--booking-line);background:var(--booking-soft)}
.fsta-booking__cross-border-fields>p,.fsta-booking__cross-border-disclaimer{font-size:13px;line-height:1.65;color:var(--booking-muted)}
.fsta-booking__country-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.fsta-booking .fsta-booking__country-option{align-items:flex-start;margin:0;padding:12px;border-radius:10px}
.fsta-booking__crossings{clear:both;margin:14px 0 0;padding:16px;border:1px solid var(--booking-line);border-radius:12px;min-width:0}
.fsta-booking__crossing-list{display:grid;gap:12px;margin-bottom:12px}
.fsta-booking__crossing-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.fsta-booking__crossing-row label{min-width:0}
.fsta-booking__crossing-actions{display:flex;gap:6px}
.fsta-booking__crossing-actions button{min-width:44px;padding-inline:10px}
.fsta-booking__cross-border-disclaimer{margin:14px 0 0}
.fsta-booking [data-cross-border-status]:empty{display:none}
@media(max-width:480px){.fsta-booking__country-options{grid-template-columns:1fr}.fsta-booking__cross-border-fields,.fsta-booking__crossings{padding:14px}.fsta-booking__crossing-row{grid-template-columns:minmax(0,1fr)}.fsta-booking__crossing-actions{justify-content:flex-start}}
