/*!***********************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./scss/styles.scss ***!
  \***********************************************************************************************************/
@charset "UTF-8";

/* ────────────────────────────────────────────────────────────────
   BF Timetable – Komplette Styles mit Chrome-spezifischem Fix
   ──────────────────────────────────────────────────────────────── */

.bf-timetable {
  margin: 0 16px;
}

.bf-timetable ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
  color: rgb(255, 255, 255);
}

.bf-timetable ul li {
  margin-left: 0;
  padding: 5px 25px;
  height: 89px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: rgb(0, 31, 89);
  border-bottom: 1px solid rgb(0, 93, 188);
}

.bf-timetable ul li div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.bf-timetable ul li div .title {
  width: 100%;
  margin: 0;
}

.bf-timetable ul li div .time {
  width: 170px;
  display: block;
  text-align: center;
}

.bf-timetable input,
.bf-timetable select,
.bf-timetable textarea {
  background: #001438;
  border: 1px solid #408bce !important;
  border-radius: 5px;
  color: #fff;
}

.bf-timetable input,
.bf-timetable select {
  font-size: 18px;
  height: 59px;
  width: 100%;
  padding: 0 16px;
}

.bf-timetable #back-button {
  margin-bottom: 20px;
}

.bf-timetable .timepicker {
  width: 100%;
}

.bf-timetable .bf-timetable-area {
  width: 100%;
  padding: 20px 20px 25px 20px;
  background: rgb(0, 31, 89);
  margin-bottom: 20px;
}

.bf-timetable .bf-timetable-area.v2 {
  background: #002a78;
  margin-top: -20px;
}

.bf-timetable .bf-timetable-area .form-group {
  display: flex;
  gap: 0 16px;
  flex-wrap: wrap;
}

.bf-timetable .bf-timetable-area .form-field {
  width: 200px;
  margin-bottom: 20px;
}

.bf-timetable .bf-timetable-area .form-field.large {
  width: 100%;
  max-width: 280px;
}

.bf-timetable .bf-timetable-area .form-field label {
  margin-bottom: 5px;
  display: block;
}

.bf-timetable .bf-timetable-area .text {
  margin-bottom: 20px;
}

.bf-timetable .bf-timetable-area .buttons {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.bf-timetable button.bf-timetable-btn-primary,
.bf-timetable button.bf-timetable-btn-secondary {
  height: 50px;
  min-width: 225px;
  background: #005dbc;
  border-radius: 30px;
  cursor: pointer;
  border: none;
  color: white;
}

.bf-timetable button.bf-timetable-btn-primary:hover {
  background: #0054a9 !important;
}

.bf-timetable button.bf-timetable-btn-secondary {
  background: transparent;
  color: #fff;
  border: 1px solid #fff;
}

.bf-timetable button.bf-timetable-btn-secondary:hover {
  color: #d9e7f5 !important;
  border: 1px solid #d9e7f5 !important;
}

.bf-timetable button.bf-timetable-btn-primary:disabled,
.bf-timetable button.bf-timetable-btn-secondary:disabled {
  background: #001438 !important;
  color: #205593 !important;
  cursor: not-allowed;
}

.bf-timetable .bf-timetable-go {
  cursor: pointer;
  position: relative;
  padding-left: 25px;
  display: inline-block;
}

.bf-timetable .bf-timetable-go::before {
  content: "←";
  position: absolute;
  font-size: 1em;
  line-height: 1;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.bf-timetable .bf-timetable-page {
  color: #fff;
}

.bf-timetable .bf-timetable-page[data-page="2"] {
  display: none;
}

.bf-timetable .bf-timetable-page[data-page="2"] .title {
  color: #fff;
}

.bf-timetable .bf-timetable-page[data-page="2"] .header {
  display: flex;
  justify-content: space-between;
}

.bf-timetable .bf-timetable-page[data-page="2"] .time-pill {
  display: flex;
  padding: 10px 30px;
  justify-content: center;
  align-items: center;
  border: 1px solid #408bce;
  border-radius: 30px;
  max-height: 50px;
/* LK 26.08.26 */
  white-space: nowrap;
}

.bf-timetable #bf-timetable-map {
  width: 100%;
  margin-top: 0;
}

.bf-timetable .ticket-list {
  margin-bottom: 30px;
}

.bf-timetable .map-link {
  display: block;
  margin-top: 6px;
}

@media screen and (max-width: 768px) {
  .bf-timetable {
    margin: 0;
  }
  .ticket-button {
    min-width: unset !important;
    width: 50px;
    padding: 10px;
  }
  .ticket-button .button-text {
    display: none;
  }
  .ticket-button .mobile-arrow {
    display: inline-block !important;
    width: 30px;
    height: 30px;
  }
}

.bf-timetable {
  font-size: var(--e-global-typography-text-font-size, 20px);
  font-weight: var(--e-global-typography-text-font-weight, 400);
  line-height: var(--e-global-typography-text-line-height, 1.5);
}

.bf-timetable h2 {
  font-size: var(--e-global-typography-aef3d14-font-size, 48px);
  font-weight: var(--e-global-typography-aef3d14-font-weight, 900);
  line-height: var(--e-global-typography-aef3d14-line-height, 1.1);
}

.bf-timetable button {
  font-size: var(--e-global-typography-7fab34e-font-size, 20px);
  line-height: var(--e-global-typography-7fab34e-line-height, 1.5);
}

.bf-timetable a {
  text-decoration: underline !important;
  color: #fff;
}

.bf-timetable .reg-xxs {
  font-size: 10px;
  line-height: 150%;
}

.bf-timetable .reg-xs {
  font-size: 12px;
  line-height: 125%;
}

.bf-timetable .reg-sm {
  font-size: 14px;
  line-height: 125%;
}

.bf-timetable .reg-lg {
  font-size: 18px;
  line-height: 150%;
}

.bf-timetable .reg-xl {
  font-size: 20px;
  line-height: 150%;
}

.bf-timetable .reg-2xl {
  font-size: clamp(1.25rem, 0.4vw + 1.125rem, 1.5rem);
  line-height: 150%;
}

.bf-timetable .reg-4xl {
  font-size: clamp(1.5rem, 1.125rem + 1.2vw, 2.25rem);
  line-height: 125%;
  font-weight: 400;
}

.bf-timetable .reg-5xl {
  font-size: clamp(1.875rem, 1.8vw + 1.313rem, 3rem);
  line-height: 110%;
}

.bf-timetable .bold-lg {
  font-size: 18px;
  line-height: 150%;
  font-weight: 700;
}

.bf-timetable .bold {
  font-size: 16px;
  line-height: 150%;
  font-weight: 700;
}

.bf-timetable .bold-xl {
  font-size: clamp(1.125rem, 1.0625rem + 0.2vw, 1.25rem);
  line-height: 150%;
  font-weight: 700;
}

.bf-timetable .bold-2xl {
  font-size: 24px;
  line-height: 150%;
  font-weight: 700;
}

.bf-timetable .bold-3xl {
  font-size: clamp(1.25rem, 0.9375rem + 1vw, 1.875rem);
  line-height: 125%;
  font-weight: 700;
}

.bf-timetable .bold-4xl {
  font-size: clamp(1.5rem, 1.125rem + 1.2vw, 2.25rem);
  line-height: 125%;
  font-weight: 700;
}

.bf-timetable .bold-5xl {
  font-size: clamp(1.875rem, 1.8vw + 1.313rem, 3rem);
  line-height: 110%;
  font-weight: 700;
}

.bf-timetable .black-8xl {
  font-size: clamp(3rem, 4.8vw + 1.5rem, 6rem);
  line-height: 100%;
}

.bf-timetable .black-9xl {
  font-size: clamp(3rem, 8vw + 0.5rem, 8rem);
  line-height: 90%;
}

.bf-timetable .margin-top-20 {
  margin-top: 20px;
}

.bf-timetable input[type=date]::-webkit-calendar-picker-indicator,
.bf-timetable input[type=time]::-webkit-calendar-picker-indicator {
  filter: invert(1);
}

.bf-timetable input[type=date]::-moz-calendar-picker-indicator,
.bf-timetable input[type=time]::-moz-calendar-picker-indicator {
  filter: invert(1);
}

.bf-timetable input[type=date],
.bf-timetable input[type=time] {
  color: white;
}

.bf-timetable input[type=date]::-ms-clear,
.bf-timetable input[type=time]::-ms-clear {
  color: white;
}

.bf-timetable select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width=%2725%27 height=%2725%27 viewBox=%270 0 25 25%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cg id=%27Icon-nav-arrow-down%27%3E%3Cpath id=%27Vector%27 d=%27M6.5 9.5L12.5 15.5L18.5 9.5%27 stroke=%27white%27 stroke-width=%271.5%27 stroke-linecap=%27square%27 stroke-linejoin=%27round%27/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 25px;
}

.bf-timetable select::-ms-expand {
  display: none;
}

.elementor-12 .elementor-element.elementor-element-ce109e1,
.elementor-12 .elementor-element.elementor-element-4a39df9d {
  padding-left: 0 !important;
}

/* ────────────────────────────────────────────────────────────────
   Icons für Date & Time – Basis (für alle Browser außer Chrome-Duplikat)
   ──────────────────────────────────────────────────────────────── */

.bf-timetable .bf-timetable-area input.datepicker,
.bf-timetable .bf-timetable-area input.timepicker,
.bf-timetable .bf-timetable-area input.flatpickr-input,
.bf-timetable .bf-timetable-area input.flatpickr-input[readonly],
.bf-timetable .bf-timetable-area input[readonly],
.bf-timetable .bf-timetable-area input[type="time"],
.bf-timetable .bf-timetable-area input[type="text"] {
  background-repeat: no-repeat !important;
  background-position: right 15px center !important;
  background-size: 20px !important;
  background-attachment: scroll !important;
  background-clip: padding-box !important;
  background-origin: padding-box !important;
  padding-right: 50px !important;
  padding-left: 16px !important;
  text-align: left !important;
  color: white !important;
  cursor: pointer !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
}

/* Kalender-Icon (20px) */
.bf-timetable .bf-timetable-area input.datepicker,
.bf-timetable .bf-timetable-area input.flatpickr-input.datepicker {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E") !important;
}

/* Uhr-Icon – für alle Browser */
.bf-timetable .bf-timetable-area input.timepicker,
.bf-timetable .bf-timetable-area input.flatpickr-input.timepicker,
.bf-timetable .bf-timetable-area input[readonly].timepicker,
.bf-timetable .bf-timetable-area input[type="time"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E") !important;
  text-align: left !important;
  padding-left: 16px !important;
}

/* Native Picker killen */
.bf-timetable .bf-timetable-area input[type="time"]::-webkit-calendar-picker-indicator,
.bf-timetable .bf-timetable-area input[type="time"]::-webkit-inner-spin-button,
.bf-timetable .bf-timetable-area input[type="time"]::-webkit-clear-button,
.bf-timetable .bf-timetable-area input[type="time"]::-webkit-datetime-edit,
.bf-timetable .bf-timetable-area input[type="time"]::-webkit-datetime-edit-ampm-field,
.bf-timetable .bf-timetable-area input[type="time"]::-webkit-datetime-edit-day-field,
.bf-timetable .bf-timetable-area input[type="time"]::-webkit-datetime-edit-month-field,
.bf-timetable .bf-timetable-area input[type="time"]::-webkit-datetime-edit-year-field,
.bf-timetable .bf-timetable-area input[type="time"]::-webkit-datetime-edit-text,
.bf-timetable .bf-timetable-area input[type="time"]::-ms-clear,
.bf-timetable .bf-timetable-area input[type="time"]::-moz-calendar-picker-indicator,
.bf-timetable .bf-timetable-area input[type="time"]::-moz-focus-inner {
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  display: none !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

/* Readonly-Sicherung */
.bf-timetable .bf-timetable-area input[readonly] {
  background-color: #001438 !important;
  color: white !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
}

/* Mobile-Optimierung */
@media screen and (max-width: 768px) {
  .bf-timetable .bf-timetable-area input.timepicker,
  .bf-timetable .bf-timetable-area input.flatpickr-input.timepicker,
  .bf-timetable .bf-timetable-area input[type="time"] {
    padding-right: 40px !important;
    background-position: right 10px center !important;
    background-size: 18px !important;
  }
}

/* ────────────────────────────────────────────────────────────────
   CHROME-ONLY Regel: Kein Duplikat, korrektes Padding
   ──────────────────────────────────────────────────────────────── */

@supports (-webkit-appearance:none) and (not (-moz-appearance:none)) and (not (appearance:none)) {
  /* Diese @supports-Regel trifft fast nur Chrome (kein Firefox, kein Safari) */
  .bf-timetable .bf-timetable-area input.timepicker,
  .bf-timetable .bf-timetable-area input.flatpickr-input.timepicker,
  .bf-timetable .bf-timetable-area input[type="time"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-position: right 10px center !important;
    background-size: 18px !important;
    padding-right: 40px !important;
    padding-left: 16px !important;
    text-align: left !important;
  }

  /* Chrome natives Uhr-Icon endgültig killen */
  .bf-timetable .bf-timetable-area input[type="time"]::-webkit-calendar-picker-indicator,
  .bf-timetable .bf-timetable-area input[type="time"]::-webkit-inner-spin-button,
  .bf-timetable .bf-timetable-area input[type="time"]::-webkit-clear-button,
  .bf-timetable .bf-timetable-area input[type="time"]::-webkit-datetime-edit,
  .bf-timetable .bf-timetable-area input[type="time"]::-webkit-datetime-edit-ampm-field,
  .bf-timetable .bf-timetable-area input[type="time"]::-webkit-datetime-edit-day-field,
  .bf-timetable .bf-timetable-area input[type="time"]::-webkit-datetime-edit-month-field,
  .bf-timetable .bf-timetable-area input[type="time"]::-webkit-datetime-edit-year-field,
  .bf-timetable .bf-timetable-area input[type="time"]::-webkit-datetime-edit-text {
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    display: none !important;
    pointer-events: none !important;
    visibility: hidden !important;
  }
}