/**
 * Lokrio mobile home — reference layout (hero photo + overlapping service card).
 * Scope: max-width 767px, body:has(.a42-page) only.
 */
@media (max-width: 767px) {
  body:has(.a42-page) {
    background: var(--lokrio-bg, #f4f6f9) !important;
  }

  body:has(.a42-page) .a42-hero {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    background: var(--lokrio-bg, #f4f6f9) !important;
    position: relative !important;
    overflow: visible !important;
    isolation: isolate !important;
  }

  /* Hero photo — top portion only (reference ends at service card) */
  body:has(.a42-page) .a42-hero::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: min(340px, 48vh) !important;
    z-index: 0 !important;
    pointer-events: none !important;
    background:
      linear-gradient(180deg, rgba(15, 23, 42, 0.58) 0%, rgba(15, 23, 42, 0.32) 58%, rgba(244, 246, 249, 0.98) 100%),
      var(--hero-img) center 42% / cover no-repeat !important;
  }

  body:has(.a42-page) .a42-hero::after {
    display: none !important;
  }

  body:has(.a42-page) .a42-hero > * {
    position: relative !important;
    z-index: 1 !important;
  }

  /* ── Flex order: guest → tagline → services → gray body ── */
  body:has(.a42-page) .fmab-home-hero-band { order: 1 !important; }
  body:has(.a42-page) .a42-copy { order: 2 !important; }
  body:has(.a42-page) .lokrio-mhome-svc-card { order: 3 !important; }
  body:has(.a42-page) .lokrio-mhome-body { order: 4 !important; }
  body:has(.a42-page) .a42-top { order: 99 !important; }

  /* ── Hero top: guest + bell ── */
  body:has(.a42-page) .fmab-home-hero-band {
    background: transparent !important;
    padding: calc(12px + env(safe-area-inset-top, 0px)) 16px 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body:has(.a42-page) .fmab-home-hero-top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }

  body:has(.a42-page) .fmab-home-hero-top--minimal {
    justify-content: space-between !important;
  }

  body:has(.a42-page) .fmab-home-hero-top--minimal .fmab-home-logo {
    max-width: none !important;
    flex: 1 1 auto !important;
  }

  body:has(.a42-page) .fmab-home-hero-top--minimal .fmab-home-guest,
  body:has(.a42-page) .fmab-home-hero-top--minimal .fmab-home-account,
  body:has(.a42-page) .fmab-home-hero-top--minimal .fmab-guest-avatar,
  body:has(.a42-page) .fmab-home-hero-top--minimal .fmab-guest-text,
  body:has(.a42-page) .fmab-home-hero-top--minimal .fmab-guest-label,
  body:has(.a42-page) .fmab-home-hero-top--minimal .fmab-guest-pill {
    display: none !important;
  }

  body:has(.a42-page) .fmab-home-logo {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    text-decoration: none !important;
    line-height: 0 !important;
    min-width: 0 !important;
    max-width: 28vw !important;
  }

  body:has(.a42-page) .fmab-home-logo .lokrio-logo,
  body:has(.a42-page) .fmab-home-logo .lokrio-logo-mobile-hero,
  body:has(.a42-page) .fmab-home-logo .lokrio-logo-fallback {
    display: block !important;
    max-height: 34px !important;
    max-width: 120px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.18));
  }

  body:has(.a42-page) .fmab-home-logo .lokrio-logo-fallback {
    font-size: 15px !important;
    font-weight: 900 !important;
    color: #fff !important;
    line-height: 1.1 !important;
    letter-spacing: -0.03em !important;
  }

  body:has(.a42-page) .fmab-home-guest {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    max-width: calc(100% - 28vw - 8px) !important;
  }

  body:has(.a42-page) .fmab-home-account.is-signed-in {
    max-width: calc(100% - 28vw - 8px) !important;
  }

  body:has(.a42-page) .fmab-home-account {
    text-decoration: none !important;
    color: inherit !important;
    min-width: 0 !important;
  }

  body:has(.a42-page) .fmab-guest-text {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    overflow: hidden !important;
  }

  body:has(.a42-page) .fmab-home-logout-form,
  body:has(.a42-page) .fmab-home-logout {
    display: none !important;
  }

  body:has(.a42-page) .fmab-home-bookings {
    position: relative !important;
    flex-shrink: 0 !important;
    min-width: 40px !important;
    min-height: 40px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.16) !important;
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    color: #fff !important;
    text-decoration: none !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
  }

  body:has(.a42-page) .fmab-home-bookings svg {
    width: 18px !important;
    height: 18px !important;
    display: block !important;
    flex-shrink: 0 !important;
  }

  body:has(.a42-page) .fmab-home-bookings-label {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
    white-space: nowrap !important;
  }

  body:has(.a42-page) .fmab-guest-avatar {
    width: 36px !important;
    height: 36px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.22) !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    display: grid !important;
    place-items: center !important;
    flex-shrink: 0 !important;
  }

  body:has(.a42-page) .fmab-guest-avatar svg {
    width: 22px !important;
    height: 22px !important;
  }

  body:has(.a42-page) .fmab-guest-avatar svg circle,
  body:has(.a42-page) .fmab-guest-avatar svg path {
    fill: rgba(255, 255, 255, 0.85) !important;
    stroke: rgba(255, 255, 255, 0.85) !important;
  }

  body:has(.a42-page) .fmab-home-hero-band .fmab-guest-label {
    display: block !important;
    width: 100% !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #fff !important;
    letter-spacing: -0.02em !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body:has(.a42-page) .fmab-home-hero-band .fmab-guest-pill,
  body:has(.a42-page) .fmab-home-hero-band .fmab-guest-link {
    display: inline-flex !important;
    align-items: center !important;
    margin-top: 3px !important;
    padding: 3px 9px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.18) !important;
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    color: rgba(255, 255, 255, 0.92) !important;
    text-decoration: none !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body:has(.a42-page) .fmab-home-hero-band .fmab-guest-pill--account {
    font-size: 10px !important;
    letter-spacing: 0 !important;
  }

  body:has(.a42-page) .fmab-home-bell,
  body:has(.a42-page) .fmab-home-bell-dot {
    display: none !important;
  }

  /* ── Tagline on hero ── */
  body:has(.a42-page) .a42-copy {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
    pointer-events: auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 16px 20px 36px !important;
  }

  body:has(.a42-page) .a42-copy .a42-eyebrow {
    display: none !important;
  }

  body:has(.a42-page) .a42-copy h1 {
    max-width: none !important;
    margin: 0 !important;
    font-size: 30px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
    color: #fff !important;
    text-shadow: 0 4px 18px rgba(0, 0, 0, 0.28) !important;
  }

  body:has(.a42-page) .a42-copy h1 .green {
    color: #fbbf24 !important;
    font-weight: 800 !important;
  }

  body:has(.a42-page) .a42-copy > p:last-child {
    display: none !important;
  }

  /* ── Primary services: reference single white card ── */
  body:has(.a42-page) .lokrio-mhome-svc-card {
    margin: -26px 16px 0 !important;
    padding: 8px 0 4px !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 20px 20px 16px 16px !important;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.1) !important;
    z-index: 5 !important;
    overflow: hidden !important;
  }

  body:has(.a42-page) .lokrio-mhome-svc-card .fmab-service-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  body:has(.a42-page) .lokrio-mhome-svc-card .fmab-svc,
  body:has(.a42-page) .lokrio-mhome-svc-card .fmab-svc-tile {
    min-height: 0 !important;
    padding: 0 2px 6px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    color: #334155 !important;
    font-size: 0 !important;
    gap: 0 !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-decoration: none !important;
  }

  body:has(.a42-page) .lokrio-mhome-svc-card .fmab-svc-tile:not(:last-child) {
    border-right: 1px solid #edf2f7 !important;
  }

  body:has(.a42-page) .lokrio-mhome-svc-card .fmab-svc-art {
    width: 100% !important;
    height: 58px !important;
    min-height: 58px !important;
    display: grid !important;
    place-items: center !important;
  }

  body:has(.a42-page) .lokrio-mhome-svc-card .fmab-premium-ico img {
    width: 58px !important;
    height: 58px !important;
    display: block !important;
    object-fit: contain !important;
  }

  body:has(.a42-page) .lokrio-mhome-svc-card .fmab-svc-label {
    display: block !important;
    position: relative !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    margin-top: -1px !important;
    color: #475569 !important;
    letter-spacing: -0.01em !important;
  }

  body:has(.a42-page) .lokrio-mhome-svc-card .fmab-svc-tile.active .fmab-svc-label::after {
    content: "" !important;
    position: absolute !important;
    left: 8% !important;
    right: 8% !important;
    bottom: -3px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: var(--lokrio-brand, #a3313d) !important;
  }

  /* ── Secondary row: reference horizontal icon + 2-line label ── */
  body:has(.a42-page) .lokrio-mhome-sec-card {
    margin: 8px 16px 0 !important;
    padding: 6px 4px !important;
    background: #fff !important;
    border-radius: 16px !important;
    border: 0 !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06) !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 4 !important;
  }

  body:has(.a42-page) .lokrio-mhome-sec-card .fmab-secondary-row {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  body:has(.a42-page) .lokrio-mhome-sec-card .fmab-sec-link {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    padding: 2px 3px !important;
    text-decoration: none !important;
    color: #64748b !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  body:has(.a42-page) .lokrio-mhome-sec-card .fmab-sec-link:not(:last-child) {
    border-right: 1px solid #f1f5f9 !important;
  }

  body:has(.a42-page) .lokrio-mhome-sec-card .fmab-sec-ico {
    flex-shrink: 0 !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    overflow: visible !important;
    line-height: 0 !important;
    font-size: 0 !important;
  }

  body:has(.a42-page) .lokrio-mhome-sec-card .fmab-sec-svg {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    height: 30px !important;
    flex-shrink: 0 !important;
    overflow: visible !important;
  }

  body:has(.a42-page) .lokrio-mhome-sec-card .fmab-sec-svg svg,
  body:has(.a42-page) .lokrio-mhome-sec-card .fmab-sec-svg img {
    width: 28px !important;
    height: 28px !important;
    max-width: 28px !important;
    max-height: 28px !important;
    display: block !important;
    flex-shrink: 0 !important;
    object-fit: contain !important;
  }

  body:has(.a42-page) .lokrio-mhome-sec-card .fmab-sec-label {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    min-width: 0 !important;
    line-height: 1 !important;
    text-align: left !important;
    justify-content: center !important;
    margin-top: -1px !important;
  }

  body:has(.a42-page) .lokrio-mhome-sec-card .fmab-sec-label span {
    display: block !important;
    font-size: 8.5px !important;
    font-weight: 600 !important;
    color: #64748b !important;
    letter-spacing: -0.02em !important;
    line-height: 1.05 !important;
  }

  body:has(.a42-page) .lokrio-mhome-body {
    width: 100% !important;
    background: var(--lokrio-bg, #f4f6f9) !important;
    padding: 0 0 8px !important;
    margin: 0 !important;
  }

  /* ── Search card ── */
  body:has(.a42-page) .lokrio-mhome-body .a42-search {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
    pointer-events: auto !important;
    width: calc(100% - 32px) !important;
    max-width: calc(100vw - 32px) !important;
    margin: 8px 16px 14px !important;
    padding: 16px !important;
    border-radius: 22px !important;
    background: #fff !important;
    border: 1px solid #eef2f7 !important;
    box-shadow: 0 14px 36px rgba(15, 23, 42, 0.1) !important;
  }

  body:has(.a42-page) .a42-fields-wrap,
  body:has(.a42-page) .a42-fields {
    overflow: visible !important;
  }

  body:has(.a42-page) .a42-fields {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  body:has(.a42-page) .a42-fields > .a42-field.a42-return-field {
    display: none !important;
  }

  body:has(.a42-page) .a42-fields > .a42-field {
    width: 100% !important;
    grid-column: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 12px 0 !important;
    min-height: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-bottom: 1px solid #eef2f7 !important;
    gap: 12px !important;
    align-items: flex-start !important;
  }

  body:has(.a42-page) .a42-fields > .a42-field.a42-city-field:first-child {
    padding-right: 48px !important;
    position: relative !important;
  }

  body:has(.a42-page) .a42-fields > .a42-field.a42-city-field:nth-child(2) {
    padding-right: 0 !important;
  }

  body:has(.a42-page) .a42-fields > .a42-field.a42-city-field .a42-ico {
    display: block !important;
    width: 10px !important;
    height: 10px !important;
    min-width: 10px !important;
    border-radius: 999px !important;
    background: #22c55e !important;
    border: 0 !important;
    margin-top: 20px !important;
    padding: 0 !important;
    box-shadow: none !important;
  }

  body:has(.a42-page) .a42-fields > .a42-field.a42-city-field .a42-ico .a42-i {
    display: none !important;
  }

  body:has(.a42-page) .a42-fields > .a42-field.a42-city-field:nth-child(2) .a42-ico,
  body:has(.a42-page) .a42-fields > .a42-field.a42-city-field:nth-child(2) .a42-ico-blue {
    background: var(--lokrio-brand, #a3313d) !important;
  }

  body:has(.a42-page) .a42-fields > .a42-field.a42-date-field .a42-ico,
  body:has(.a42-page) .a42-fields > .a42-field:nth-child(4) .a42-ico {
    display: none !important;
  }

  body:has(.a42-page) .a42-field label {
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: #94a3b8 !important;
    margin-bottom: 4px !important;
  }

  body:has(.a42-page) .a42-field input,
  body:has(.a42-page) .a42-field select,
  body:has(.a42-page) .a42-date-display {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--lokrio-ink, #0f172a) !important;
  }

  body:has(.a42-page) .a42-field-sub {
    display: none !important;
  }

  /* Swap between From / To */
  body:has(.a42-page) .a42-fields > .a42-field.a42-city-field:first-child .a42-swap,
  body:has(.a42-page) .a42-field .a42-swap {
    display: grid !important;
    position: absolute !important;
    right: 0 !important;
    top: auto !important;
    bottom: -20px !important;
    transform: none !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 999px !important;
    border: 1px solid #e2e8f0 !important;
    background: #fff !important;
    color: var(--lokrio-brand, #a3313d) !important;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.1) !important;
    z-index: 6 !important;
  }

  body:has(.a42-page) .a42-swap .a42-i svg {
    color: var(--lokrio-brand, #a3313d) !important;
    stroke: var(--lokrio-brand, #a3313d) !important;
  }

  /* Date row: value left, pills right (reference) */
  body:has(.a42-page) .a42-date-field .a42-field-body {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
  }

  body:has(.a42-page) .a42-date-field .a42-date-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
  }

  body:has(.a42-page) .a42-date-field .a42-date-wrap {
    flex: 1 !important;
    min-width: 0 !important;
  }

  body:has(.a42-page) .a42-date-trigger {
    display: none !important;
  }

  body:has(.a42-page) .a42-date-field .fmab-date-pills {
    display: flex !important;
    flex-shrink: 0 !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body:has(.a42-page) .fmab-date-pills button {
    flex: 0 0 auto !important;
    min-height: 32px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    border: 1px solid #e2e8f0 !important;
    background: #fff !important;
    color: var(--lokrio-muted, #64748b) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
  }

  body:has(.a42-page) .fmab-date-pills button.active {
    border-color: var(--lokrio-brand, #a3313d) !important;
    background: var(--lokrio-brand, #a3313d) !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(163, 49, 61, 0.24) !important;
  }

  /* Calendar float — above hero/content stacking on mobile */
  body:has(.a42-page) .a42-cal-panel.a42-cal-panel--float {
    z-index: 100090 !important;
    background: #fff !important;
    border: 1px solid #dbe7f3 !important;
    box-shadow: 0 22px 50px rgba(5, 31, 61, 0.22) !important;
  }

  body:has(.a42-page) .a42-cal-backdrop {
    z-index: 100085 !important;
  }

  body:has(.a42-page.a42-home-cal-open) .a42-content,
  body:has(.a42-page.a42-home-cal-open) .a42-stats-bar {
    z-index: 1 !important;
  }

  body:has(.a42-page) .a42-fields > .a42-search-btn {
    width: 100% !important;
    max-width: 100% !important;
    margin: 14px 0 0 !important;
    min-height: 52px !important;
    border-radius: 999px !important;
    border: 0 !important;
    background: var(--lokrio-cta, linear-gradient(180deg, #b83a48 0%, #a3313d 100%)) !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
    box-shadow: 0 10px 24px rgba(163, 49, 61, 0.32) !important;
    justify-content: center !important;
    gap: 10px !important;
  }

  body:has(.a42-page) .a42-btn-arrow {
    width: 28px !important;
    height: 28px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.22) !important;
    margin-left: 0 !important;
  }

  body:has(.a42-page) .a42-trust-grid {
    display: none !important;
  }

  body:has(.a42-page) .a42-content {
    padding-top: 4px !important;
    padding-bottom: calc(var(--go-tab-h, 64px) + env(safe-area-inset-bottom, 0px) + 24px) !important;
  }

  body:has(.a42-page) .a42-section-head h2 {
    font-size: 20px !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important;
  }

  body:has(.a42-page) .a42-kicker {
    color: var(--lokrio-brand, #a3313d) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
  }

  body:has(.a42-page) .a42-view-all {
    color: var(--lokrio-brand, #a3313d) !important;
    font-weight: 700 !important;
  }
}

@media (min-width: 768px) {
  .lokrio-mhome-svc-card,
  .lokrio-mhome-sec-card,
  .lokrio-mhome-body,
  .fmab-home-bell,
  .fmab-home-bookings,
  .fmab-home-logout,
  .fmab-home-hero-top {
    display: contents !important;
  }
}
