/* BUS_FLIGHT_VISUAL_MIRROR_V016310
   Visual layer mirrors the flight public flow. Bus state, forms, endpoints and
   booking logic remain completely separate. */
html body.public-app [hidden]{display:none!important}

/* Home search — same visual grid as flights */
.bus-mirror-search-shell{box-shadow:none!important;border:0!important;padding:4px!important;margin:0!important;background:transparent!important}
.bus-mirror-search-shell .bus-mirror-grid{border:1px solid #e5e8ed;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 8px 28px rgba(15,23,42,.06)}
.bus-mirror-search-shell .search-field{cursor:pointer;text-align:left}
.bus-mirror-search-shell .search-field strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bus-mirror-search-shell .flight-search-validation{grid-column:1/-1}
.travel-module-launcher.bus-mirror-active>.trip-type-trigger{display:inline-flex!important}
.travel-module-launcher.bus-mirror-active .module-tab-bus{color:#fff!important;background:var(--tenant-primary)!important;box-shadow:0 10px 25px color-mix(in srgb,var(--tenant-primary) 24%,transparent)!important}
.travel-module-launcher.bus-mirror-active .module-tab-flights{color:#495365!important;background:#f6f7f9!important;box-shadow:none!important}
.bus-passenger-popover .passenger-stepper-controls button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid color-mix(in srgb,var(--tenant-primary) 45%,#d9dee7);border-radius:50%;background:#fff;color:var(--tenant-primary);font-size:24px;font-weight:900;line-height:1}
.bus-passenger-popover .passenger-stepper-controls b{text-align:center;font-size:20px}

/* Independent bottom sheets for stations, bus dates and journey type */
.bus-ui-sheet{position:fixed;inset:0;z-index:145;display:flex;align-items:flex-end;justify-content:center;padding:24px}
.bus-ui-sheet[hidden]{display:none!important}
.bus-ui-sheet-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.58);backdrop-filter:blur(3px)}
.bus-ui-sheet-dialog{position:relative;z-index:1;width:min(720px,100%);max-height:min(86vh,820px);overflow:hidden;border:1px solid #e2e7ee;border-radius:28px;background:#fff;box-shadow:0 28px 90px rgba(15,23,42,.32);display:flex;flex-direction:column}
.bus-ui-sheet-handle{display:none;width:80px;height:7px;margin:12px auto 4px;border-radius:999px;background:#d7dce5}
.bus-ui-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 28px 18px;border-bottom:1px solid #edf0f4}
.bus-ui-sheet-head h2{margin:0;color:#172033;font-size:28px;letter-spacing:-.035em}
.bus-ui-sheet-head button,.passenger-popover-head button{display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #e0e5ec;border-radius:50%;background:#f8f9fb;color:#172033;font-size:29px;line-height:1;cursor:pointer}
.bus-station-search{padding:18px 28px 12px}
.bus-station-search input{width:100%;min-height:58px;padding:0 18px;border:1px solid #dce2ea;border-radius:16px;background:#f8f9fb;color:#172033;font-size:18px;outline:0}
.bus-station-search input:focus{border-color:var(--tenant-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--tenant-primary) 12%,transparent)}
.bus-station-list{min-height:160px;overflow:auto;padding:4px 28px 28px;overscroll-behavior:contain}
.bus-station-country{position:sticky;top:0;z-index:1;margin:10px -4px 0;padding:9px 4px 7px;background:#fff;color:#818a99;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}
.bus-station-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;width:100%;padding:17px 8px;border:0;border-bottom:1px solid #e4e8ee;background:#fff;color:#172033;text-align:left;cursor:pointer}
.bus-station-option:hover,.bus-station-option:focus{background:color-mix(in srgb,var(--tenant-primary) 5%,white)}
.bus-station-option strong{font-size:19px}.bus-station-option small{display:block;margin-top:4px;color:#7a8494;font-size:13px}.bus-station-option b{align-self:center;color:#4a5568;font-size:13px}
.bus-station-empty{padding:34px 10px;text-align:center;color:#7a8494}
.bus-date-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:28px}
.bus-date-fields label{display:grid;gap:9px;padding:17px;border:1px solid #dfe4eb;border-radius:17px;background:#f8f9fb}
.bus-date-fields span{color:#687386;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.bus-date-fields input{width:100%;min-height:46px;border:0;background:transparent;color:#172033;font-size:20px;font-weight:850;outline:0}
.bus-ui-sheet-done{min-height:58px;margin:0 28px 28px;padding:0 24px;border:0;border-radius:15px;background:var(--tenant-primary);color:#fff;font-size:17px;font-weight:900;cursor:pointer;box-shadow:0 12px 28px color-mix(in srgb,var(--tenant-primary) 23%,transparent)}
.bus-trip-options{display:grid;gap:10px;padding:22px 28px}
.bus-trip-option{display:grid;grid-template-columns:28px minmax(0,1fr);gap:14px;align-items:center;width:100%;padding:18px;border:1px solid #dfe4eb;border-radius:17px;background:#fff;color:#172033;text-align:left;cursor:pointer}
.bus-trip-option.selected{border-color:var(--tenant-primary);background:color-mix(in srgb,var(--tenant-primary) 7%,white);box-shadow:0 0 0 3px color-mix(in srgb,var(--tenant-primary) 10%,transparent)}
.bus-trip-option .trip-type-radio{width:22px;height:22px;border:2px solid #c8d0dc;border-radius:50%;box-shadow:inset 0 0 0 5px #fff}
.bus-trip-option.selected .trip-type-radio{border-color:var(--tenant-primary);background:var(--tenant-primary)}
.bus-trip-option strong{display:block;font-size:17px}.bus-trip-option small{display:block;margin-top:4px;color:#748093}
body.bus-ui-sheet-open{overflow:hidden!important}

/* Shared visual shell for every public Bus step */
.bus-flight-mirror-page{width:min(1180px,calc(100% - 40px));margin:28px auto 70px;color:#172033}
.bus-flow-steps{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:18px;border:1px solid #dfe4eb;border-radius:16px;overflow:hidden;background:#f5f7fa}
.bus-flow-step{display:flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:8px 10px;border-right:1px solid #dfe4eb;color:#7a8494;font-size:13px;font-weight:850;text-align:center}
.bus-flow-step:last-child{border-right:0}.bus-flow-step.active{background:var(--tenant-primary);color:#fff}.bus-flow-step.done{color:var(--tenant-primary);background:color-mix(in srgb,var(--tenant-primary) 7%,white)}
.bus-flow-step b{display:grid;place-items:center;width:24px;height:24px;border:1px solid currentColor;border-radius:50%;font-size:11px}
.bus-flow-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:22px 0}
.bus-flow-head h1{margin:0;font-size:clamp(30px,4vw,46px);letter-spacing:-.045em}.bus-flow-head p{margin:7px 0 0;color:#707b8d}.bus-flow-head a{color:var(--tenant-primary);font-weight:850;text-decoration:none}
.bus-mirror-panel{border:1px solid #e2e7ed;border-radius:20px;background:#fff;box-shadow:0 14px 36px rgba(15,23,42,.07)}
.bus-results-list{display:grid;gap:15px}
.bus-result-card{position:relative;display:grid;grid-template-columns:minmax(160px,.8fr) minmax(300px,1.65fr) minmax(170px,.72fr);align-items:stretch;overflow:hidden;text-decoration:none;color:#172033;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.bus-result-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--tenant-primary) 32%,#dfe4eb);box-shadow:0 20px 46px rgba(15,23,42,.12)}
.bus-result-operator{display:grid;align-content:center;gap:6px;padding:22px;border-right:1px solid #edf0f3;background:#f8f9fb}.bus-result-operator span{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:color-mix(in srgb,var(--tenant-primary) 10%,white);font-size:23px}.bus-result-operator strong{font-size:16px}.bus-result-operator small{color:#778294}
.bus-result-main{display:grid;align-content:center;gap:13px;padding:22px 24px}.bus-result-badge{display:inline-flex;width:max-content;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--tenant-primary) 9%,white);color:var(--tenant-primary);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.bus-result-route{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}.bus-result-point b{display:block;font-size:25px}.bus-result-point small{display:block;margin-top:3px;color:#6e798b}.bus-result-point:last-child{text-align:right}.bus-result-arrow{color:#8b95a4;font-size:25px}.bus-result-meta{display:flex;gap:15px;flex-wrap:wrap;color:#687386;font-size:13px}.bus-result-return{padding-top:13px;border-top:1px solid #edf0f3}
.bus-result-price{display:grid;align-content:center;justify-items:end;gap:7px;padding:22px;border-left:1px solid #edf0f3}.bus-result-price small{color:#778294}.bus-result-price strong{color:var(--tenant-primary);font-size:26px}.bus-result-price span{color:#647084;font-size:12px}.bus-result-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:7px;padding:0 16px;border-radius:12px;background:var(--tenant-primary);color:#fff;font-weight:900}
.bus-empty-result{padding:42px;text-align:center;color:#6f7a8c}

/* Booking mirrors the flight booking card hierarchy */
.bus-booking-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.72fr);gap:22px;align-items:start}
.bus-booking-main{display:grid;gap:18px}.bus-booking-summary{position:sticky;top:92px;padding:24px}.bus-booking-summary h2{margin:0 0 18px}.bus-itinerary-leg{padding:15px 0;border-bottom:1px solid #edf0f3}.bus-itinerary-leg:last-of-type{border-bottom:0}.bus-itinerary-leg strong{display:block;font-size:19px}.bus-itinerary-leg small{display:block;margin-top:6px;color:#6d788a;line-height:1.5}.bus-summary-line{display:flex;justify-content:space-between;gap:14px;padding:11px 0;color:#5f6b7d}.bus-summary-line strong{color:#172033}.bus-summary-total{margin-top:8px;padding-top:17px;border-top:1px solid #dfe4eb}.bus-summary-total strong{color:var(--tenant-primary);font-size:26px}
.bus-form-panel{padding:24px}.bus-form-panel h2{margin:0 0 8px;font-size:23px}.bus-form-panel>p{color:#6f7a8c}.bus-passenger-block{margin-top:18px;padding:18px;border:1px solid #e2e7ed;border-radius:16px;background:#f9fafb}.bus-passenger-block h3{margin:0 0 15px}.bus-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.bus-form-grid>div{display:grid;gap:7px}.bus-form-grid label,.bus-contact-form label{font-size:13px;font-weight:850;color:#5f6a7b}.bus-form-grid input,.bus-form-grid select,.bus-contact-form input,.bus-contact-form select,.bus-contact-form textarea{width:100%;min-height:48px;padding:10px 12px;border:1px solid #d9e0e8;border-radius:12px;background:#fff;color:#172033;font:inherit}.bus-form-grid input:focus,.bus-form-grid select:focus,.bus-contact-form input:focus,.bus-contact-form select:focus,.bus-contact-form textarea:focus{outline:0;border-color:var(--tenant-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--tenant-primary) 11%,transparent)}.bus-contact-form p{display:grid;gap:7px;margin:13px 0}.bus-contact-form .helptext{color:#7c8798;font-size:12px}.bus-contact-form ul.errorlist{margin:0;padding:0;list-style:none;color:#b42318;font-size:12px}
.bus-binding-panel{padding:24px;border-color:color-mix(in srgb,var(--tenant-primary) 28%,#e2e7ed);background:color-mix(in srgb,var(--tenant-primary) 4%,white)}.bus-binding-panel h3{margin-top:0}.bus-book-confirm{width:100%;min-height:58px;border:0;border-radius:15px;background:var(--tenant-primary);color:#fff;font-size:17px;font-weight:900;cursor:pointer;box-shadow:0 14px 30px color-mix(in srgb,var(--tenant-primary) 25%,transparent)}
.bus-error-box{margin-bottom:18px;padding:18px;border:1px solid #fecaca;border-radius:16px;background:#fff1f2;color:#991b1b}

/* Confirmation/status */
.bus-confirm-hero{padding:30px;text-align:center}.bus-confirm-icon{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 16px;border-radius:50%;background:#dcfce7;color:#15803d;font-size:34px;font-weight:900}.bus-confirm-hero h1{margin:0;font-size:34px}.bus-confirm-hero p{color:#667285}.bus-confirm-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:20px}.bus-primary-action,.bus-secondary-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:13px;text-decoration:none;font-weight:900}.bus-primary-action{background:var(--tenant-primary);color:#fff}.bus-secondary-action{border:1px solid #dbe2ea;background:#fff;color:#172033}.bus-confirm-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.bus-confirm-stat{padding:20px;text-align:center}.bus-confirm-stat strong{display:block;font-size:24px}.bus-confirm-stat span{display:block;margin-top:5px;color:#748092;font-size:13px}.bus-confirm-leg{padding:22px;margin-top:14px}.bus-confirm-leg h2{margin:0 0 8px}.bus-confirm-leg p{color:#667285}.bus-confirm-passenger{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #edf0f3}.bus-status-card{width:min(680px,calc(100% - 32px));margin:34px auto;padding:30px;text-align:center}.bus-status-route{font-size:24px;font-weight:900}.bus-status-pill{display:inline-flex;margin:16px 0;padding:8px 13px;border-radius:999px;background:#eef2f7;font-weight:900}.bus-status-pill.paid{background:#dcfce7;color:#166534}.bus-status-pill.due{background:#fef3c7;color:#92400e}.bus-status-pill.unpaid{background:#fee2e2;color:#991b1b}

@media(max-width:900px){
  .bus-result-card{grid-template-columns:130px minmax(0,1fr)}.bus-result-price{grid-column:1/-1;grid-template-columns:1fr auto;align-items:center;justify-items:start;border-left:0;border-top:1px solid #edf0f3}.bus-result-cta{margin:0;grid-column:2;grid-row:1/4}.bus-booking-layout{grid-template-columns:1fr}.bus-booking-summary{position:static;order:-1}
}
@media(max-width:760px){
  .bus-mirror-search-shell{padding:0!important}.bus-mirror-search-shell .bus-mirror-grid{overflow:hidden!important}.bus-mirror-search-shell .search-field{min-height:var(--tenant-mobile-airport-height,76px)}
  .bus-ui-sheet{padding:0;align-items:flex-end}.bus-ui-sheet-dialog{width:100%;max-height:94dvh;border-radius:28px 28px 0 0;padding-bottom:env(safe-area-inset-bottom)}.bus-ui-sheet-handle{display:block}.bus-ui-sheet-head{padding:12px 20px 14px}.bus-ui-sheet-head h2{font-size:23px}.bus-ui-sheet-head button{width:44px;height:44px}.bus-station-search{padding:14px 18px 8px}.bus-station-list{padding:4px 18px 24px}.bus-date-fields{grid-template-columns:1fr;padding:20px}.bus-ui-sheet-done{margin:0 20px 20px}
  .bus-flight-mirror-page{width:calc(100% - 20px);margin:12px auto 44px}.bus-flow-steps{grid-template-columns:repeat(4,1fr);border-radius:13px}.bus-flow-step{min-height:46px;padding:5px 3px;font-size:9px;gap:3px}.bus-flow-step b{width:18px;height:18px;font-size:9px}.bus-flow-head{align-items:start;margin:16px 2px}.bus-flow-head h1{font-size:27px}.bus-flow-head a{font-size:13px}
  .bus-result-card{display:block}.bus-result-operator{display:flex;align-items:center;padding:14px 16px;border-right:0;border-bottom:1px solid #edf0f3}.bus-result-operator span{width:36px;height:36px}.bus-result-main{padding:18px 16px}.bus-result-route{gap:8px}.bus-result-point b{font-size:21px}.bus-result-price{display:grid;grid-template-columns:1fr auto;padding:16px;border-top:1px solid #edf0f3}.bus-result-price strong{font-size:23px}.bus-result-cta{grid-column:2;grid-row:1/4;min-height:42px}
  .bus-form-panel,.bus-binding-panel,.bus-booking-summary{padding:18px}.bus-form-grid{grid-template-columns:1fr}.bus-passenger-block{padding:15px}.bus-confirm-stats{grid-template-columns:1fr}.bus-confirm-hero{padding:24px 18px}.bus-confirm-hero h1{font-size:28px}.bus-confirm-leg{padding:18px}.bus-confirm-passenger{display:block}.bus-status-card{margin-top:16px;padding:22px}
}


/* BUS_MOBILE_FLIGHT_VISUAL_PARITY_V016312
   Bus keeps separate state/endpoints, while matching the current Flüge mobile
   geometry. The station sheet uses the same visual language as airport picker. */
@media(max-width:760px){
  html body.public-app .marketing-home #public-bus-search-form .bus-mirror-grid{
    position:relative!important;display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-template-rows:70px 70px 82px auto 51px!important;
    align-items:stretch!important;overflow:visible!important;
    border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  }
  html body.public-app .marketing-home #bus-origin-trigger,
  html body.public-app .marketing-home #bus-destination-trigger{
    grid-column:1/-1!important;width:100%!important;height:70px!important;min-height:70px!important;
    margin:0!important;padding:8px 46px 8px 15px!important;align-content:center!important;gap:4px!important;
    border-left:1px solid #dce2e9!important;border-right:1px solid #dce2e9!important;
    border-radius:0!important;box-sizing:border-box!important;text-align:left!important;
  }
  html body.public-app .marketing-home #bus-origin-trigger{
    grid-row:1!important;border-top:1px solid #dce2e9!important;border-bottom:1px solid #dce2e9!important;
    border-radius:15px 15px 0 0!important;background:var(--tenant-search-origin,#f1f3f6)!important;
  }
  html body.public-app .marketing-home #bus-destination-trigger{
    grid-row:2!important;border-bottom:1px solid #dce2e9!important;
    border-radius:0 0 15px 15px!important;background:var(--tenant-search-destination,#fff)!important;
  }
  html body.public-app .marketing-home #bus-origin-trigger>span,
  html body.public-app .marketing-home #bus-destination-trigger>span{
    font-size:10px!important;text-transform:uppercase!important;letter-spacing:.09em!important;color:#667085!important;font-weight:850!important;
  }
  html body.public-app .marketing-home #bus-origin-trigger>strong,
  html body.public-app .marketing-home #bus-destination-trigger>strong{
    display:block!important;color:#111827!important;font-size:var(--tenant-mobile-destination-font-size,18px)!important;
    line-height:1.12!important;font-weight:900!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  html body.public-app .marketing-home #bus-route-swap{
    position:absolute!important;left:auto!important;right:13px!important;top:70px!important;
    grid-column:auto!important;grid-row:auto!important;width:34px!important;height:34px!important;
    min-width:34px!important;min-height:34px!important;margin:0!important;padding:0!important;
    transform:translateY(-50%)!important;z-index:12!important;border-radius:50%!important;
    border:1px solid color-mix(in srgb,var(--tenant-primary) 38%,#dfe4eb)!important;
    background:color-mix(in srgb,#fff 96%,var(--tenant-primary) 4%)!important;color:var(--tenant-primary)!important;
    box-shadow:0 2px 7px rgba(15,23,42,.10)!important;font-size:0!important;
  }
  html body.public-app .marketing-home #bus-route-swap::before{content:"⇅"!important;display:block!important;font-size:20px!important;font-weight:900!important;line-height:32px!important;}
  html body.public-app .marketing-home #bus-route-swap:active{transform:translateY(-50%) scale(.96)!important;}
  html body.public-app .marketing-home #bus-passenger-picker{
    grid-column:1!important;grid-row:3!important;width:100%!important;height:82px!important;min-height:82px!important;
    margin-top:var(--tenant-mobile-airport-passenger-gap,14px)!important;border:1px solid #dfe4eb!important;border-right:0!important;
    border-radius:15px 0 0 15px!important;background:var(--tenant-search-passengers,#fff)!important;box-sizing:border-box!important;overflow:hidden!important;
  }
  html body.public-app .marketing-home #bus-passenger-trigger{
    height:100%!important;min-height:0!important;padding:9px 12px!important;border:0!important;border-radius:inherit!important;background:transparent!important;
  }
  html body.public-app .marketing-home #bus-date-trigger{
    grid-column:2!important;grid-row:3!important;width:100%!important;height:82px!important;min-height:82px!important;
    margin-top:var(--tenant-mobile-airport-passenger-gap,14px)!important;padding:9px 12px!important;
    border:1px solid #dfe4eb!important;border-radius:0 15px 15px 0!important;background:var(--tenant-search-dates,#fff)!important;box-sizing:border-box!important;overflow:hidden!important;
  }
  html body.public-app .marketing-home #bus-search-validation{grid-column:1/-1!important;grid-row:4!important;margin:10px 0 0!important;}
  html body.public-app .marketing-home #bus-search-submit{
    grid-column:1/-1!important;grid-row:5!important;width:100%!important;min-height:51px!important;
    margin-top:var(--tenant-mobile-passenger-search-gap,10px)!important;border:0!important;border-radius:15px!important;
    transform:translateY(var(--tenant-mobile-search-vertical-offset,-8px))!important;box-shadow:none!important;
  }

  html body.public-app #bus-station-sheet{padding:0!important;align-items:flex-end!important;}
  html body.public-app #bus-station-sheet .bus-ui-sheet-backdrop{background:rgba(15,23,42,.48)!important;backdrop-filter:none!important;}
  html body.public-app #bus-station-sheet .bus-ui-sheet-dialog{
    width:100%!important;height:min(88dvh,820px)!important;max-height:min(88dvh,820px)!important;
    border:0!important;border-radius:24px 24px 0 0!important;background:#fff!important;
    box-shadow:0 -24px 70px rgba(15,23,42,.28)!important;padding-bottom:env(safe-area-inset-bottom)!important;
  }
  html body.public-app #bus-station-sheet .bus-ui-sheet-handle{display:block!important;width:42px!important;height:5px!important;margin:10px auto 2px!important;background:#d6dbe4!important;}
  html body.public-app #bus-station-sheet .bus-ui-sheet-head{padding:10px 18px!important;border-bottom:0!important;}
  html body.public-app #bus-station-sheet .bus-ui-sheet-head h2{font-size:20px!important;font-weight:900!important;letter-spacing:0!important;}
  html body.public-app #bus-station-sheet .bus-ui-sheet-head button{width:42px!important;height:42px!important;font-size:27px!important;}
  html body.public-app #bus-station-sheet .bus-station-search{padding:4px 16px 12px!important;}
  html body.public-app #bus-station-sheet .bus-station-search input{min-height:52px!important;padding:0 14px!important;border:1px solid #cfd6e0!important;border-radius:14px!important;background:#fff!important;font-size:16px!important;}
  html body.public-app #bus-station-sheet .bus-station-list{padding:0 18px 24px!important;min-height:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;}
  html body.public-app #bus-station-sheet .bus-station-country{margin:0!important;padding:12px 4px 7px!important;background:#fff!important;}
  html body.public-app #bus-station-sheet .bus-station-option{
    min-height:62px!important;padding:10px 4px!important;border:0!important;border-bottom:1px solid #e2e6ec!important;border-radius:0!important;background:#fff!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;
  }
  html body.public-app #bus-station-sheet .bus-station-option strong{font-size:17px!important;}
  html body.public-app #bus-station-sheet .bus-station-option small{font-size:12px!important;}
}


/* BUS_FLIGHT_STYLE_CALENDAR_V016313
   Same full-screen calendar language as Flüge, with isolated Bus inputs/state. */
html body.public-app .marketing-home .bus-calendar-overlay .calendar-title-action{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:var(--tenant-primary);padding:0;font:inherit;font-weight:900;text-align:left}
html body.public-app .marketing-home .bus-calendar-overlay .calendar-title-action:disabled{color:var(--text);opacity:1}
html body.public-app .marketing-home .bus-calendar-overlay .calendar-title-action.is-clear-action{cursor:pointer;text-decoration:underline;text-underline-offset:4px}
html body.public-app .marketing-home .bus-calendar-overlay .calendar-month-tab small{min-height:10px}
html body.public-app .marketing-home .bus-calendar-overlay .calendar-day:not(:disabled){background:#eef3ff}
html body.public-app .marketing-home .bus-calendar-overlay .calendar-day.selected{background:var(--tenant-primary);color:#fff}
html body.public-app .marketing-home .bus-calendar-overlay .calendar-day.in-range{background:color-mix(in srgb,var(--tenant-primary) 12%,#eef3ff)}
html body.public-app .marketing-home .bus-calendar-overlay .calendar-day.selected.in-range{background:var(--tenant-primary)}
@media(max-width:760px){
  html body.public-app .marketing-home .bus-calendar-overlay{padding:0!important;align-items:stretch!important}
  html body.public-app .marketing-home .bus-calendar-dialog{width:100%!important;height:100dvh!important;max-height:none!important;border-radius:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;box-shadow:none!important;padding-top:env(safe-area-inset-top)!important}
  html body.public-app .marketing-home .bus-calendar-overlay .calendar-month-tabs{flex:0 0 auto!important}
  html body.public-app .marketing-home .bus-calendar-overlay .calendar-months{display:block!important;flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;padding-bottom:34px!important}
  html body.public-app .marketing-home .bus-calendar-overlay .calendar-month{display:block!important}
  html body.public-app .marketing-home .bus-calendar-overlay .calendar-footer{flex:0 0 auto!important}
}
