/* SEE-IT-Service 4.10.15
 * Ruhige, moderne Terminbuchung. Diese Datei wird nach den historischen
 * Buchungsstyles geladen und überschreibt ausschließlich das eigene
 * Buchungsmodul.
 */
.booking-v41015 {
  --b15-ink: #122b3d;
  --b15-ink-soft: #355164;
  --b15-muted: #667b89;
  --b15-navy: #0c3550;
  --b15-navy-strong: #082b42;
  --b15-blue: #0b6fa8;
  --b15-blue-soft: #edf6fa;
  --b15-teal: #26786f;
  --b15-teal-soft: #edf7f4;
  --b15-warm: #8a682c;
  --b15-warm-soft: #faf7ef;
  --b15-danger: #a63c43;
  --b15-danger-soft: #fcf1f2;
  --b15-line: #d9e2e7;
  --b15-line-strong: #c8d4db;
  --b15-surface: #ffffff;
  --b15-surface-soft: #f4f7f9;
  --b15-shadow: 0 16px 38px rgba(12, 45, 66, .08);
  --b15-shadow-small: 0 7px 20px rgba(12, 45, 66, .055);
  color: var(--b15-ink);
  background: #fff;
  font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
.booking-v41015 *,
.booking-v41015 *::before,
.booking-v41015 *::after { box-sizing: border-box; }
.booking-v41015 button,
.booking-v41015 input,
.booking-v41015 select,
.booking-v41015 textarea { font-family: inherit; }
.booking-v41015 button:focus-visible,
.booking-v41015 a:focus-visible,
.booking-v41015 input:focus-visible,
.booking-v41015 select:focus-visible,
.booking-v41015 textarea:focus-visible {
  outline: 3px solid rgba(11,111,168,.22);
  outline-offset: 2px;
}

/* Ruhigerer Seitenkopf */
.booking-v41015 .booking-v498__hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(118deg, #0a314b 0%, #0b4664 64%, #0d6775 100%);
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.booking-v41015 .booking-v498__hero::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 14% 20%, rgba(255,255,255,.065), transparent 34%);
  content: "";
}
.booking-v41015 .booking-v498__hero-grid {
  position: relative;
  z-index: 1;
  grid-template-columns: minmax(0, 1.35fr) minmax(290px, .65fr);
  gap: 40px;
  min-height: 330px;
  padding: 48px 0;
}
.booking-v41015 .booking-v498__hero-copy { padding-left: 0; }
.booking-v41015 .booking-v498__hero-copy .booking-v490__kicker {
  margin-bottom: 10px;
  color: #a9dbe8;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
}
.booking-v41015 .booking-v498__hero-copy h1 {
  max-width: 760px;
  margin: 0 0 16px;
  color: #fff;
  font-size: clamp(38px, 4.2vw, 58px);
  font-weight: 650;
  line-height: 1.02;
  letter-spacing: -.035em;
}
.booking-v41015 .booking-v498__hero-copy > p {
  max-width: 760px;
  color: rgba(238,248,252,.88);
  font-size: 16px;
  line-height: 1.65;
}
.booking-v41015 .booking-v498__hero-benefits {
  gap: 20px;
  margin-top: 22px;
}
.booking-v41015 .booking-v498__hero-benefits span {
  gap: 8px;
  color: #eff9fc;
  font-size: 12px;
  font-weight: 600;
}
.booking-v41015 .booking-v498__hero-benefits b {
  display: inline-grid;
  place-items: center;
  width: 23px;
  height: 23px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 6px;
  background: rgba(255,255,255,.08);
  color: #bce5ef;
  font-size: 11px;
}
.booking-v41015 .booking-v498__dropoff-card {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 12px;
  background: rgba(6,37,54,.48);
  box-shadow: 0 18px 42px rgba(3,24,36,.18);
  backdrop-filter: blur(4px);
}
.booking-v41015 .booking-v498__dropoff-card img { filter: saturate(.88) contrast(.98); }
.booking-v41015 .booking-v498__dropoff-card > div { background: rgba(5,34,50,.72); }
.booking-v41015 .booking-v498__dropoff-card > div > span { color: #a9dbe8; }
.booking-v41015 .booking-v498__dropoff-card a { color: #d9f3fa; }

/* Abschnittsüberschriften */
.booking-v41015 .booking-v498__booking-start {
  padding: 38px 0 28px;
  background: #fff;
}
.booking-v41015 .booking-v498__section-title,
.booking-v41015 .booking-v498__substep-head {
  gap: 13px;
}
.booking-v41015 .booking-v498__section-title > span,
.booking-v41015 .booking-v498__substep-head > span {
  width: 30px;
  height: 30px;
  border-radius: 7px;
  background: var(--b15-navy);
  box-shadow: none;
  font-size: 12px;
  font-weight: 750;
}
.booking-v41015 .booking-v498__section-title h2,
.booking-v41015 .booking-v498__substep-head h2,
.booking-v41015 .booking-v498__substep-head h3 {
  color: var(--b15-ink);
  font-weight: 680;
  letter-spacing: -.025em;
}
.booking-v41015 .booking-v498__section-title h2,
.booking-v41015 .booking-v498__substep-head h2 { font-size: 27px; }
.booking-v41015 .booking-v498__substep-head h3 { font-size: 22px; }
.booking-v41015 .booking-v498__section-title p,
.booking-v41015 .booking-v498__substep-head p {
  max-width: 860px;
  color: var(--b15-muted);
  font-size: 14px;
  line-height: 1.6;
}

/* Servicekarten ohne Comic-Icons und ohne springende Effekte */
.booking-v41015 .booking-v498__mode-grid {
  gap: 16px;
  margin-top: 22px;
}
.booking-v41015 .booking-v498__mode {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  grid-template-rows: auto auto 1fr auto;
  column-gap: 16px;
  row-gap: 5px;
  align-content: start;
  min-height: 174px;
  padding: 22px;
  border: 1px solid var(--b15-line);
  border-radius: 11px;
  background: #fff;
  box-shadow: none;
  transform: none;
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.booking-v41015 .booking-v498__mode:hover {
  border-color: #9db6c5;
  background: #fbfdfe;
  box-shadow: var(--b15-shadow-small);
  transform: none;
}
.booking-v41015 .booking-v498__mode.is-active {
  border-color: var(--b15-blue);
  background: #f7fbfd;
  box-shadow: 0 0 0 2px rgba(11,111,168,.12);
  transform: none;
}
.booking-v41015 .booking-v498__mode.is-active::after {
  top: 16px;
  right: 16px;
  width: 21px;
  height: 21px;
  border-radius: 6px;
  background: var(--b15-blue);
  box-shadow: none;
  font-size: 11px;
}
.booking-v41015 .booking-v498__mode > .booking-v498__mode-icon {
  grid-row: 1 / 5;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin: 0;
  border: 1px solid #d5e2e8;
  border-radius: 9px;
  background: #f4f8fa;
  color: var(--b15-blue);
}
.booking-v41015 .booking-v498__mode > .booking-v498__mode-icon svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.booking-v41015 .booking-v498__mode b {
  padding-right: 28px;
  color: var(--b15-ink);
  font-size: 18px;
  font-weight: 700;
}
.booking-v41015 .booking-v498__mode p {
  margin: 4px 0 0;
  color: var(--b15-muted);
  font-size: 12px;
  line-height: 1.55;
}
.booking-v41015 .booking-v498__mode small {
  margin-top: 10px;
  color: var(--b15-ink-soft);
  font-size: 10px;
  font-weight: 650;
}

/* Buchungsrahmen und Fortschritt */
.booking-v41015 .booking-v498__wizard-section {
  padding: 10px 0 60px;
  background: var(--b15-surface-soft);
}
.booking-v41015 .booking-v498__wizard {
  overflow: visible;
  border: 1px solid var(--b15-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: var(--b15-shadow);
}
.booking-v41015 .booking-v498__progress {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  padding: 0 12px;
  border: 0;
  border-bottom: 1px solid var(--b15-line);
  border-radius: 12px 12px 0 0;
  background: #fff;
}
.booking-v41015 .booking-v498__progress span {
  position: relative;
  padding: 17px 12px 15px;
  border: 0;
  color: #82919b;
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .015em;
  text-align: center;
  text-transform: none;
}
.booking-v41015 .booking-v498__progress span::after,
.booking-v41015 .booking-v498__progress span::before { display: none !important; }
.booking-v41015 .booking-v498__progress span.is-active {
  color: var(--b15-blue);
  background: #fff;
  box-shadow: inset 0 -3px 0 var(--b15-blue);
}
.booking-v41015 .booking-v498__progress span.is-complete {
  color: var(--b15-teal);
  background: #fff;
  box-shadow: inset 0 -3px 0 rgba(38,120,111,.65);
}
.booking-v41015 .booking-v498__step { padding: 28px; }
.booking-v41015 .booking-v498__step-grid {
  grid-template-columns: minmax(0,1fr) 310px;
  gap: 25px;
}
.booking-v41015 .booking-v498__substep-head { margin-bottom: 20px; }
.booking-v41015 .booking-v498__substep-head.compact {
  margin-top: 30px;
  padding-top: 28px;
  border-top: 1px solid var(--b15-line);
}
.booking-v41015 .booking-v490__text-action {
  min-height: 36px;
  padding: 7px 10px;
  border: 1px solid #c9d8e0;
  border-radius: 7px;
  background: #fff;
  color: var(--b15-blue);
  font-size: 11px;
  font-weight: 650;
  text-decoration: none;
}
.booking-v41015 .booking-v490__text-action:hover {
  border-color: #9db7c6;
  background: #f6fafc;
  color: var(--b15-navy);
}

/* Leistung und Dauer */
.booking-v41015 .booking-v498__service-strip {
  grid-template-columns: minmax(220px,.6fr) minmax(0,1.4fr);
  gap: 14px;
  margin-bottom: 18px;
}
.booking-v41015 .booking-v498__service-strip > .booking-v490__panel {
  padding: 16px;
  border: 1px solid var(--b15-line);
  border-radius: 10px;
  background: #f7f9fa;
}
.booking-v41015 .booking-v490__panel label,
.booking-v41015 .booking-v490__field label,
.booking-v41015 .booking-v490__coupon > label {
  margin-bottom: 7px;
  color: var(--b15-ink);
  font-size: 13px;
  font-weight: 680;
}
.booking-v41015 .booking-v498__duration-panel .booking-v490__durations { gap: 8px; }
.booking-v41015 .booking-v498__duration-panel .booking-v490__duration {
  min-width: 122px;
  min-height: 58px;
  padding: 11px 13px;
  border: 1px solid var(--b15-line-strong);
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
}
.booking-v41015 .booking-v498__duration-panel .booking-v490__duration:hover {
  border-color: #99b4c3;
  background: #fbfdfe;
  box-shadow: none;
}
.booking-v41015 .booking-v498__duration-panel .booking-v490__duration.is-active {
  border-color: var(--b15-blue);
  background: var(--b15-blue-soft);
  box-shadow: inset 0 0 0 1px var(--b15-blue);
}
.booking-v41015 .booking-v498__duration-panel .booking-v490__duration strong {
  color: var(--b15-ink);
  font-size: 14px;
  font-weight: 700;
}
.booking-v41015 .booking-v498__duration-panel .booking-v490__duration span {
  color: var(--b15-muted);
  font-size: 10.5px;
}

/* Kalender: tabellarisch, ruhig und eindeutig statt bunter Kacheln */
.booking-v41015 .booking-v498__calendar-card {
  overflow: hidden;
  border: 1px solid var(--b15-line);
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
}
.booking-v41015 .booking-v490__calendar-toolbar {
  grid-template-columns: 50px 1fr 50px;
  min-height: 52px;
  border-bottom: 1px solid var(--b15-line);
  background: #fff;
}
.booking-v41015 .booking-v490__calendar-toolbar button {
  height: 51px;
  border: 0;
  background: #fff;
  color: var(--b15-blue);
  font-size: 24px;
  font-weight: 400;
}
.booking-v41015 .booking-v490__calendar-toolbar button:hover { background: #f4f7f9; }
.booking-v41015 .booking-v490__calendar-toolbar strong {
  color: var(--b15-ink);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -.01em;
}
.booking-v41015 .booking-v490__weekdays {
  padding: 0;
  border-bottom: 1px solid var(--b15-line);
  background: #f5f7f8;
}
.booking-v41015 .booking-v490__weekdays span {
  padding: 9px 4px;
  background: transparent;
  color: #6e808b;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .045em;
}
.booking-v41015 .booking-v490__calendar {
  gap: 1px;
  padding: 1px;
  background: #e0e7eb;
}
.booking-v41015 .booking-v490__day {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  min-width: 0;
  min-height: 78px;
  padding: 10px 9px 9px;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: #fff;
  color: var(--b15-ink);
  text-align: left;
  box-shadow: none !important;
  transform: none !important;
  transition: background .12s ease, box-shadow .12s ease;
}
.booking-v41015 .booking-v490__day > strong {
  color: var(--b15-ink);
  font-size: 16px;
  font-weight: 680;
  line-height: 1;
}
.booking-v41015 .booking-v490__day > span {
  display: block;
  min-height: 15px;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--b15-muted);
  font-size: 10.5px;
  font-weight: 650;
  line-height: 1.3;
  letter-spacing: 0;
  text-transform: none;
}
.booking-v41015 .booking-v490__day > span b { color: inherit; font: inherit; }
.booking-v41015 .booking-v490__day.is-available {
  background: #fff;
  box-shadow: inset 0 -3px 0 var(--b15-teal) !important;
}
.booking-v41015 .booking-v490__day.is-available > strong { color: var(--b15-ink); }
.booking-v41015 .booking-v490__day.is-available > span { color: var(--b15-teal); }
.booking-v41015 .booking-v490__day.is-unavailable:not(:disabled) {
  background: #fff;
  box-shadow: inset 0 -2px 0 #b69b61 !important;
  opacity: 1;
}
.booking-v41015 .booking-v490__day.is-unavailable:not(:disabled) > strong { color: #5e5138; }
.booking-v41015 .booking-v490__day.is-unavailable:not(:disabled) > span {
  display: block;
  color: var(--b15-warm);
}
.booking-v41015 .booking-v490__day:disabled {
  cursor: default;
  background: #f4f6f7;
  opacity: 1;
}
.booking-v41015 .booking-v490__day:disabled > strong { color: #a2afb6; font-weight: 550; }
.booking-v41015 .booking-v490__day:disabled > span { display: none; }
.booking-v41015 .booking-v490__day.is-other-month { opacity: .58; }
.booking-v41015 .booking-v490__day.is-today::before {
  position: absolute;
  top: 7px;
  right: 7px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--b15-blue);
  content: "";
}
.booking-v41015 .booking-v490__day:hover:not(:disabled) {
  background: #edf5f8;
  box-shadow: inset 0 0 0 2px rgba(11,111,168,.45) !important;
}
.booking-v41015 .booking-v490__day.is-selected,
.booking-v41015 .booking-v490__day.is-selected:hover {
  background: var(--b15-navy) !important;
  box-shadow: inset 0 0 0 2px var(--b15-navy) !important;
}
.booking-v41015 .booking-v490__day.is-selected > strong,
.booking-v41015 .booking-v490__day.is-selected > span { color: #fff !important; }
.booking-v41015 .booking-v490__day.is-selected::before { background: #fff; }

/* Historische 4.10.13-Pill-Styles vollständig neutralisieren. Die erhöhte
 * Spezifität ist absichtlich nötig, weil die Altdateien aus Kompatibilitäts-
 * gründen weiterhin vor dieser Designschicht geladen werden. */
.booking-v41015.booking-v498 .booking-v490__day.is-available > .booking-v41015__day-state,
.booking-v41015.booking-v498 .booking-v490__day.is-unavailable.can-request:not(:disabled) > .booking-v41015__day-state {
  display: block !important;
  align-items: initial !important;
  justify-content: initial !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: clamp(8px, .8vw, 10.5px) !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: nowrap;
}
.booking-v41015.booking-v498 .booking-v490__day.is-available > .booking-v41015__day-state {
  color: var(--b15-teal) !important;
}
.booking-v41015.booking-v498 .booking-v490__day.is-unavailable.can-request:not(:disabled) {
  background: #fff !important;
  box-shadow: inset 0 -2px 0 #b49b67 !important;
}
.booking-v41015.booking-v498 .booking-v490__day.is-unavailable.can-request:not(:disabled) > .booking-v41015__day-state {
  color: #7a642f !important;
}
.booking-v41015.booking-v498 .booking-v490__day.is-selected > .booking-v41015__day-state {
  color: #fff !important;
}
.booking-v41015.booking-v498 .booking-v490__day.is-available.is-selected,
.booking-v41015.booking-v498 .booking-v490__day.is-available.is-selected:hover {
  border-color: var(--b15-navy) !important;
  background: var(--b15-navy) !important;
  box-shadow: inset 0 0 0 2px var(--b15-navy) !important;
  transform: none !important;
}
.booking-v41015.booking-v498 .booking-v490__day.is-available.is-selected > strong,
.booking-v41015.booking-v498 .booking-v490__day.is-available.is-selected > .booking-v41015__day-state {
  color: #fff !important;
}
.booking-v41015.booking-v498 .booking-v490__day:hover:not(:disabled) {
  transform: none !important;
}
.booking-v41015 .booking-v498__calendar-legend {
  gap: 18px;
  padding: 11px 15px;
  border-top: 1px solid var(--b15-line);
  background: #fff;
  color: var(--b15-muted);
  font-size: 10.5px;
}
.booking-v41015 .booking-v498__calendar-legend i {
  width: 11px;
  height: 4px;
  border: 0;
  border-radius: 1px;
}
.booking-v41015 .booking-v498__calendar-legend i.is-free { background: var(--b15-teal); }
.booking-v41015 .booking-v498__calendar-legend i.is-selected { background: var(--b15-navy); }
.booking-v41015 .booking-v498__calendar-legend i.is-request { background: #bea66f; }
.booking-v41015 .booking-v498__calendar-legend i.is-blocked { background: #cbd4d9; }
.booking-v41015 .booking-v490__calendar-status {
  padding: 10px 15px;
  border-top: 1px solid var(--b15-line);
  background: #f8fafb;
  color: var(--b15-muted);
  font-size: 11.5px;
}

/* Zielbereich für Uhrzeiten – exakt positionierbar */
.booking-v41015 [data-slot-section],
.booking-v41015 [data-slot-heading] { scroll-margin-top: 24px; }
.booking-v41015 .booking-v499__time-attention {
  grid-template-columns: auto minmax(0,1fr);
  gap: 11px;
  margin: 18px 0 8px;
  padding: 12px 14px;
  border: 1px solid #c8dde5;
  border-left: 4px solid var(--b15-blue);
  border-radius: 8px;
  background: #f6fafc;
  box-shadow: none;
  color: var(--b15-ink);
}
.booking-v41015 .booking-v499__time-attention > span:first-child {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: var(--b15-blue);
  font-size: 11px;
}
.booking-v41015 .booking-v499__time-attention strong { font-size: 13px; }
.booking-v41015 .booking-v499__time-attention p { color: var(--b15-muted); font-size: 12px; }
.booking-v41015 .booking-v499__time-attention > b { display: none; animation: none; }
.booking-v41015 .booking-v498__slots.is-attention { outline: 0; }
.booking-v41015 .booking-v490__slot-grid { gap: 8px; }
.booking-v41015 .booking-v490__slot {
  grid-template-columns: 18px 118px minmax(0,1fr) auto;
  gap: 12px;
  min-height: 62px;
  padding: 11px 13px;
  border: 1px solid var(--b15-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
  transform: none;
}
.booking-v41015 .booking-v490__slot:hover {
  border-color: #9eb7c5;
  background: #fbfdfe;
  box-shadow: none;
}
.booking-v41015 .booking-v490__slot.is-selected {
  border-color: var(--b15-blue);
  background: var(--b15-blue-soft);
  box-shadow: inset 0 0 0 1px var(--b15-blue);
}
.booking-v41015 .booking-v498__slot-radio {
  width: 14px;
  height: 14px;
  border-color: #8fa3af;
}
.booking-v41015 .booking-v490__slot.is-selected .booking-v498__slot-radio {
  border: 4px solid var(--b15-blue);
}
.booking-v41015 .booking-v490__slot time {
  color: var(--b15-navy);
  font-size: 14px;
  font-weight: 750;
}
.booking-v41015 .booking-v498__slot-tech strong { color: var(--b15-ink); font-size: 13px; }
.booking-v41015 .booking-v498__slot-tech small { color: var(--b15-muted); font-size: 10.5px; }
.booking-v41015 .booking-v490__slot > b { color: var(--b15-navy); font-size: 13px; }
.booking-v41015 .booking-v4101__tier-info {
  border: 1px solid var(--b15-line);
  border-radius: 9px;
  background: #f7f9fa;
}
.booking-v41015 .booking-v4101__tier-info span { border-color: #e1e7ea; border-radius: 6px; }

/* Sidebar */
.booking-v41015 .booking-v498__live-aside { top: 18px; gap: 12px; }
.booking-v41015 .booking-v498__live-summary {
  padding: 20px;
  border: 1px solid #0b3b58;
  border-radius: 10px;
  background: var(--b15-navy);
  box-shadow: none;
}
.booking-v41015 .booking-v498__live-summary > span { color: #9fc9dc; }
.booking-v41015 .booking-v498__live-summary h3 { font-size: 18px; font-weight: 650; }
.booking-v41015 .booking-v498__live-summary dl > div { border-bottom-color: rgba(255,255,255,.12); }
.booking-v41015 .booking-v498__help-card,
.booking-v41015 .booking-v498__trust-card {
  border: 1px solid var(--b15-line);
  border-top: 1px solid var(--b15-line);
  border-radius: 9px;
  box-shadow: none;
}
.booking-v41015 .booking-v498__help-card { box-shadow: inset 0 3px 0 #b69a60; }
.booking-v41015 .booking-v498__trust-card { box-shadow: inset 0 3px 0 var(--b15-teal); }
.booking-v41015 .booking-v498__help-card strong { color: var(--b15-ink); }
.booking-v41015 .booking-v498__help-card a { color: var(--b15-blue); }
.booking-v41015 .booking-v498__trust-card strong { color: var(--b15-teal); }

/* Formulare und Schaltflächen */
.booking-v41015 .booking-v490__field input,
.booking-v41015 .booking-v490__field textarea,
.booking-v41015 .booking-v490__field select,
.booking-v41015 .booking-v490__coupon input,
.booking-v41015 .booking-v490__panel select {
  min-height: 44px;
  border: 1px solid var(--b15-line-strong);
  border-radius: 7px;
  background: #fff;
  color: var(--b15-ink);
  box-shadow: none;
}
.booking-v41015 .booking-v490__field input:focus,
.booking-v41015 .booking-v490__field textarea:focus,
.booking-v41015 .booking-v490__field select:focus,
.booking-v41015 .booking-v490__coupon input:focus,
.booking-v41015 .booking-v490__panel select:focus {
  border-color: var(--b15-blue);
  outline: 3px solid rgba(11,111,168,.14);
}
.booking-v41015 .booking-v490__button {
  min-height: 43px;
  padding: 10px 16px;
  border: 1px solid var(--b15-blue);
  border-radius: 7px;
  background: var(--b15-blue);
  color: #fff;
  box-shadow: none;
  font-size: 13px;
  font-weight: 700;
}
.booking-v41015 .booking-v490__button:hover { background: #085f91; border-color: #085f91; }
.booking-v41015 .booking-v490__button.secondary {
  border-color: var(--b15-line-strong);
  background: #fff;
  color: var(--b15-ink);
}
.booking-v41015 .booking-v490__button.secondary:hover { background: #f5f8f9; border-color: #9fb4c0; }
.booking-v41015 .booking-v498__primary-submit { background: var(--b15-blue) !important; }
.booking-v41015 .booking-v498__checkout-summary {
  border: 1px solid #0b3b58;
  border-top: 1px solid #0b3b58;
  border-radius: 10px;
  background: var(--b15-navy);
}
.booking-v41015 .booking-v498__travel-info {
  border: 1px solid #e2d6bc;
  border-top: 1px solid #e2d6bc;
  border-left: 4px solid #b69a60;
  border-radius: 8px;
  background: var(--b15-warm-soft);
}

/* Zusatztermin-CTA – sichtbar, aber nicht alarmistisch */
.booking-v41015 .booking-v41014__request-callout {
  grid-template-columns: minmax(0,1fr) auto;
  gap: 12px;
  margin-top: 18px;
  padding: 12px;
  border: 1px solid #dfd7c8;
  border-radius: 10px;
  background: #faf9f6;
  box-shadow: none;
}
.booking-v41015 .booking-v41014__request-callout .booking-v498__emergency-wide {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 2px;
  margin: 0;
  padding: 14px 16px;
  border: 1px solid #d9d1c2;
  border-radius: 8px;
  background: #fff;
  color: var(--b15-ink);
  box-shadow: none;
}
.booking-v41015 .booking-v41014__request-callout .booking-v498__emergency-wide::before { display: none; }
.booking-v41015 .booking-v41014__request-callout .booking-v498__emergency-wide span {
  color: var(--b15-warm);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.booking-v41015 .booking-v41014__request-callout .booking-v498__emergency-wide strong {
  color: var(--b15-ink);
  font-size: 14px;
  font-weight: 700;
}
.booking-v41015 .booking-v41014__request-callout .booking-v498__emergency-wide small {
  color: var(--b15-muted);
  font-size: 11.5px;
}
.booking-v41015 .booking-v41014__request-callout .booking-v498__emergency-wide:hover {
  border-color: #b7a886;
  background: #fdfcf9;
  box-shadow: none;
}
.booking-v41015 .booking-v41014__request-callout > a {
  min-height: 42px;
  padding: 9px 13px;
  border: 1px solid #cbbd9f;
  border-radius: 7px;
  background: #fff;
  color: #725622;
  font-size: 12px;
  font-weight: 700;
}
.booking-v41015 .booking-v41014__request-callout > a:hover { background: #f7f3ea; color: #5f471b; }

/* Dialog für Wunsch-/Notfalltermin */
.booking-v41015 .booking-v41014__request-dialog {
  width: min(920px, calc(100vw - 34px));
  max-height: 92dvh;
  border: 1px solid #cfdbe1;
  border-radius: 14px;
  background: #f5f7f8;
  color: var(--b15-ink);
  box-shadow: 0 28px 80px rgba(4,29,44,.34);
}
.booking-v41015 .booking-v41014__request-dialog::backdrop {
  background: rgba(4,28,42,.68);
  backdrop-filter: blur(3px);
}
.booking-v41015 .booking-v41014__request-dialog[open] { animation: none; }
.booking-v41015 .booking-v41014__request-head {
  padding: 27px 30px 25px;
  background: var(--b15-navy);
}
.booking-v41015 .booking-v41014__request-head::after { display: none; }
.booking-v41015 .booking-v41014__request-head .booking-v490__kicker {
  color: #a8d2e3;
  font-size: 10px;
  letter-spacing: .12em;
}
.booking-v41015 .booking-v41014__request-head h2 {
  max-width: 760px;
  font-size: clamp(27px,3.4vw,38px);
  font-weight: 650;
  line-height: 1.08;
}
.booking-v41015 .booking-v41014__request-head p {
  margin-top: 11px;
  color: rgba(235,246,250,.82);
  font-size: 13px;
  line-height: 1.55;
}
.booking-v41015 .booking-v41014__request-head > button {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: rgba(255,255,255,.08);
  font-size: 25px;
}
.booking-v41015 .booking-v41014__price-notice {
  gap: 14px;
  margin: 20px 24px 0;
  padding: 17px 18px;
  border: 1px solid #dfd2b7;
  border-left: 4px solid #aa8847;
  border-radius: 9px;
  background: #fbf8f1;
  box-shadow: none;
}
.booking-v41015 .booking-v41014__price-notice-icon {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  background: #8d6c2d;
  box-shadow: none;
  font-size: 16px;
}
.booking-v41015 .booking-v41014__price-notice strong { color: #5d461e; font-size: 14px; }
.booking-v41015 .booking-v41014__price-notice p { color: #645b4c; font-size: 13px; line-height: 1.55; }
.booking-v41015 .booking-v41014__price-notice b { color: #654b19; }
.booking-v41015 .booking-v41014__price-notice a { color: #6f541f; font-size: 12px; }
.booking-v41015 .booking-v41014__request-form { gap: 14px; padding: 20px 24px 25px; }
.booking-v41015 .booking-v41014__request-kind legend { color: var(--b15-ink); font-size: 14px; }
.booking-v41015 .booking-v41014__request-kind-grid { gap: 10px; }
.booking-v41015 .booking-v41014__request-kind-option {
  min-height: 90px;
  padding: 14px;
  border: 1px solid var(--b15-line);
  border-radius: 9px;
  background: #fff;
  box-shadow: none;
}
.booking-v41015 .booking-v41014__request-kind-option:hover { border-color: #aabdc7; transform: none; }
.booking-v41015 .booking-v41014__request-kind-option:has(input:checked) {
  border-color: var(--b15-blue);
  background: var(--b15-blue-soft);
  box-shadow: inset 0 0 0 1px var(--b15-blue);
}
.booking-v41015 .booking-v41014__request-kind-option.is-emergency:has(input:checked) {
  border-color: var(--b15-danger);
  background: var(--b15-danger-soft);
  box-shadow: inset 0 0 0 1px var(--b15-danger);
}
.booking-v41015 .booking-v41014__request-kind-mark {
  width: 34px;
  height: 34px;
  border: 1px solid #cedae0;
  border-radius: 7px;
  background: #f5f8f9;
  color: var(--b15-blue);
  font-size: 0;
  font-weight: 800;
}
.booking-v41015 .booking-v41014__request-kind-mark svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.booking-v41015 .booking-v41014__request-kind-option.is-emergency .booking-v41014__request-kind-mark {
  background: #fbf4f4;
  color: var(--b15-danger);
}
.booking-v41015 .booking-v41014__request-kind-option strong { color: var(--b15-ink); font-size: 14px; }
.booking-v41015 .booking-v41014__request-kind-option small { color: var(--b15-muted); font-size: 12px; line-height: 1.45; }
.booking-v41015 .booking-v41014__request-kind-option > b {
  padding: 5px 7px;
  border-radius: 5px;
  background: #f0f3f5;
  color: var(--b15-ink-soft);
  font-size: 11px;
}
.booking-v41015 .booking-v41014__request-section {
  padding: 17px;
  border: 1px solid var(--b15-line);
  border-radius: 9px;
  background: #fff;
  box-shadow: none;
}
.booking-v41015 .booking-v41014__request-section-head {
  gap: 11px;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e5ebee;
}
.booking-v41015 .booking-v41014__request-section-head > span {
  width: 29px;
  height: 29px;
  border-radius: 6px;
  background: #eef3f5;
  color: var(--b15-blue);
  font-size: 9px;
  box-shadow: none;
}
.booking-v41015 .booking-v41014__request-section-head h3 { color: var(--b15-ink); font-size: 16px; }
.booking-v41015 .booking-v41014__request-section-head p { color: var(--b15-muted); font-size: 11.5px; }
.booking-v41015 .booking-v41014__request-privacy {
  border: 1px solid var(--b15-line);
  border-radius: 8px;
  background: #fff;
}
.booking-v41015 .booking-v41014__request-actions { border-top-color: var(--b15-line); }

/* Responsive */
@media (max-width: 1080px) {
  .booking-v41015 .booking-v498__hero-grid { grid-template-columns: 1fr; min-height: 0; }
  .booking-v41015 .booking-v498__dropoff-card { max-width: 650px; }
  .booking-v41015 .booking-v498__step-grid { grid-template-columns: 1fr; }
  .booking-v41015 .booking-v498__live-aside { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .booking-v41015 .booking-v498__live-summary { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .booking-v41015 { font-size: 14px; }
  .booking-v41015 .booking-v498__hero-grid { gap: 24px; padding: 34px 0; }
  .booking-v41015 .booking-v498__hero-copy h1 { font-size: 37px; }
  .booking-v41015 .booking-v498__hero-copy > p { font-size: 14px; }
  .booking-v41015 .booking-v498__hero-benefits { display: grid; gap: 9px; }
  .booking-v41015 .booking-v498__dropoff-card { grid-template-columns: 120px 1fr; }
  .booking-v41015 .booking-v498__mode-grid { grid-template-columns: 1fr; }
  .booking-v41015 .booking-v498__mode { min-height: 150px; }
  .booking-v41015 .booking-v498__wizard-section { padding-top: 6px; }
  .booking-v41015 .booking-v498__wizard { border-radius: 9px; }
  .booking-v41015 .booking-v498__progress { grid-template-columns: repeat(2,1fr); padding: 0 6px; }
  .booking-v41015 .booking-v498__progress span { padding: 13px 6px 11px; font-size: 9px; }
  .booking-v41015 .booking-v498__step { padding: 20px 14px; }
  .booking-v41015 .booking-v498__section-title h2,
  .booking-v41015 .booking-v498__substep-head h2 { font-size: 22px; }
  .booking-v41015 .booking-v498__substep-head h3 { font-size: 19px; }
  .booking-v41015 .booking-v498__substep-head { grid-template-columns: 30px minmax(0,1fr); }
  .booking-v41015 .booking-v498__substep-head .booking-v490__step-tools { grid-column: 1 / -1; }
  .booking-v41015 .booking-v498__service-strip { grid-template-columns: 1fr; }
  .booking-v41015 .booking-v490__calendar { gap: 1px; padding: 1px; }
  .booking-v41015 .booking-v490__day { min-height: 57px; padding: 8px 6px 7px; }
  .booking-v41015 .booking-v490__day > strong { font-size: 13px; }
  .booking-v41015 .booking-v490__day > span { font-size: 7px; }
  .booking-v41015 .booking-v498__calendar-legend { gap: 10px; padding: 9px 10px; }
  .booking-v41015 .booking-v490__slot { grid-template-columns: 16px 88px minmax(0,1fr); gap: 8px; }
  .booking-v41015 .booking-v490__slot > b { grid-column: 2 / -1; justify-self: end; }
  .booking-v41015 .booking-v498__live-aside { grid-template-columns: 1fr; }
  .booking-v41015 .booking-v498__live-summary { grid-column: auto; }
  .booking-v41015 .booking-v41014__request-callout { grid-template-columns: 1fr; }
  .booking-v41015 .booking-v41014__request-callout > a { width: 100%; }
  .booking-v41015 .booking-v41014__request-dialog { width: calc(100vw - 18px); max-height: 96dvh; border-radius: 10px; }
  .booking-v41015 .booking-v41014__request-dialog-inner { max-height: 96dvh; }
  .booking-v41015 .booking-v41014__request-head { padding: 23px 18px 21px; }
  .booking-v41015 .booking-v41014__price-notice { margin: 14px 12px 0; padding: 14px; }
  .booking-v41015 .booking-v41014__request-form { padding: 14px 12px 18px; }
  .booking-v41015 .booking-v41014__request-kind-grid { grid-template-columns: 1fr; }
  .booking-v41015 .booking-v41014__request-section { padding: 14px; }
}
@media (max-width: 440px) {
  .booking-v41015 .booking-v490__calendar-toolbar { grid-template-columns: 42px 1fr 42px; }
  .booking-v41015 .booking-v490__calendar-toolbar button { height: 46px; }
  .booking-v41015 .booking-v490__day { min-height: 52px; padding: 7px 4px 6px; }
  .booking-v41015 .booking-v490__day > span { font-size: 6.5px; }
  .booking-v41015 .booking-v498__duration-panel .booking-v490__duration { min-width: calc(50% - 4px); }
}
@media (prefers-reduced-motion: reduce) {
  .booking-v41015 *,
  .booking-v41015 *::before,
  .booking-v41015 *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* 4.10.38 – eindeutige Einsatzadresse + transparente Vor-Ort-Abrechnung */
.booking-v41015 .booking-v41038__street-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(130px,170px);
  gap:12px;
  align-items:end;
}
.booking-v41015 .booking-v41038__house-field input {
  font-weight:800;
  letter-spacing:.01em;
}
.booking-v41015 .booking-v41038__hourly-notice {
  margin-top:12px;
  padding:13px 14px;
  border:1px solid #f1c46d;
  border-left:4px solid #ef9f16;
  border-radius:8px;
  background:#fff8e9;
  color:#273d4b;
}
.booking-v41015 .booking-v41038__hourly-notice strong {
  display:block;
  margin-bottom:3px;
  color:#102f48;
  font-size:13px;
}
.booking-v41015 .booking-v41038__hourly-notice span {
  display:block;
  font-size:11.5px;
  line-height:1.5;
}
.booking-v41015 .booking-v41038__billing-row {
  border-left:3px solid #ef9f16;
  background:#fff9ed;
}
.booking-v41015 .booking-v41038__billing-row dd small {
  display:block;
  margin-top:3px;
  color:#536a78;
  font-size:10px;
  line-height:1.35;
}
@media (max-width:560px) {
  .booking-v41015 .booking-v41038__street-row { grid-template-columns:minmax(0,1fr) 112px; gap:8px; }
  .booking-v41015 .booking-v41038__hourly-notice { padding:11px 12px; }
}
