/**
 * LaMilka Tour 0.4.95 — no-jump Booking Focus Mode.
 *
 * The current booking panel remains in normal document flow. Focus Mode only
 * removes the fixed entry bar and content after the active booking module.
 * Nothing above the booking panel is hidden, resized, transformed or zoomed.
 */

@media (max-width: 1023px) {
  body.lamilka-booking-focus-mode .lamilka-detail__mobile-booking-bar,
  body.lamilka-tour-focus-mode .lamilka-detail__mobile-booking-bar,
  .lamilka-detail.is-booking-focused .lamilka-detail__mobile-booking-bar,
  body.lamilka-transfer-focus-mode .lamilka-transfer__mobile-bar,
  .lamilka-transfer.is-booking-focused .lamilka-transfer__mobile-bar {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  /* Undo the old focus shell that removed/repositioned content above booking. */
  body.lamilka-tour-focus-mode .lamilka-detail [data-booking-lower-content],
  .lamilka-detail.is-booking-focused [data-booking-lower-content] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    user-select: auto !important;
  }

  body.lamilka-tour-focus-mode .lamilka-detail__grid,
  .lamilka-detail.is-booking-focused .lamilka-detail__grid {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.lamilka-tour-focus-mode .lamilka-detail__booking,
  .lamilka-detail.is-booking-focused .lamilka-detail__booking,
  body.lamilka-transfer-focus-mode .lamilka-transfer__booking,
  .lamilka-transfer.is-booking-focused .lamilka-transfer__booking {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    transform: none !important;
    zoom: 1 !important;
    margin-bottom: 0 !important;
  }

  /* The module is the natural end of the page. New steps expand it downward. */
  body.lamilka-tour-focus-mode .lamilka-site-footer,
  body.lamilka-tour-focus-mode .lamilka-certificate-band,
  body.lamilka-transfer-focus-mode .lamilka-site-footer,
  body.lamilka-transfer-focus-mode .lamilka-certificate-band {
    display: none !important;
  }

  body.lamilka-tour-focus-mode,
  body.lamilka-booking-focus-mode,
  body.lamilka-transfer-focus-mode {
    scroll-behavior: auto !important;
    overscroll-behavior-y: contain !important;
  }

  /* Keep the exact pre-focus page geometry so activating Focus Mode cannot jump. */
  body.lamilka-tour-focus-mode .lamilka-detail,
  .lamilka-detail.is-booking-focused,
  body.lamilka-transfer-focus-mode .lamilka-transfer,
  .lamilka-transfer.is-booking-focused {
    overflow-x: clip !important;
    transform: none !important;
    zoom: 1 !important;
  }

  /* Do not let mobile Safari zoom fields while a keyboard is open. */
  .lamilka-detail__booking input,
  .lamilka-detail__booking select,
  .lamilka-detail__booking textarea,
  .lamilka-transfer__booking input,
  .lamilka-transfer__booking select,
  .lamilka-transfer__booking textarea {
    font-size: 16px !important;
  }

  /* Keep the optional exit control out of normal flow to prevent re-layout. */
  body.lamilka-booking-focus-mode .lamilka-booking-focus-back:not([hidden]) {
    position: fixed !important;
    z-index: 100001 !important;
    top: calc(env(safe-area-inset-top) + 72px) !important;
    left: 10px !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    padding: 0 !important;
    border: 1px solid rgba(15, 27, 61, .14) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 5px 18px rgba(15, 27, 61, .15) !important;
    color: #0f1b3d !important;
  }

  body.lamilka-booking-focus-mode .lamilka-booking-focus-back span {
    display: none !important;
  }
}

@media (max-width: 767px) {
  body.lamilka-tour-focus-mode .lamilka-detail,
  .lamilka-detail.is-booking-focused {
    padding-top: 35px !important;
    padding-bottom: 16px !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  body.lamilka-tour-focus-mode .lamilka-detail,
  .lamilka-detail.is-booking-focused {
    padding-top: 32px !important;
    padding-bottom: 16px !important;
  }
}
