/* LAT Booking: only the Home address popups and feedback. The theme owns the bar. */
.lat-home-address-layer { position: relative; z-index: 100000; font-family: inherit; line-height: 1.4; }
.lat-home-address-layer [hidden] { display: none !important; }
.lat-home-address-layer .rdbs-suggestions {
  position: fixed; box-sizing: border-box; margin: 0; overflow-y: auto; overscroll-behavior: contain;
  border: 1px solid var(--lat-line, #dce5ef); border-radius: 8px;
  background: var(--lat-white, #fff); color: var(--lat-photo-overlay, #021223);
  box-shadow: 0 10px 28px rgba(var(--lat-photo-overlay-rgb, 2, 18, 35), .125);
  scrollbar-width: thin; -webkit-overflow-scrolling: touch;
}
.lat-home-address-layer .rdbs-suggestions > button {
  display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 10px; align-items: center;
  box-sizing: border-box; width: 100%; min-height: 50px; padding: 10px 12px;
  border: 0; border-bottom: 1px solid var(--lat-line, #dce5ef); border-radius: 0;
  background: var(--lat-white, #fff); color: inherit; font: inherit; font-size: 13px; text-align: start; cursor: pointer;
}
.lat-home-address-layer .rdbs-suggestions > button.rdbs-suggestion--studio { background: var(--lat-soft, #f6f9fc); }
.lat-home-address-layer .rdbs-suggestions > button:is(:hover,[aria-selected="true"]) { background: var(--lat-blue-100, #e9f3ff); }
.lat-home-address-layer .rdbs-suggestion__icon { display: grid; place-items: center; width: 32px; height: 34px; border-radius: 8px; color: var(--lat-blue-600, #0b73f6); background: var(--lat-blue-100, #e9f3ff); }
.lat-home-address-layer .rdbs-suggestion__icon svg { width: 17px; height: 17px; }
.lat-home-address-layer .rdbs-suggestion__copy { display: block; min-width: 0; }
.lat-home-address-layer .rdbs-suggestions strong,
.lat-home-address-layer .rdbs-suggestions small { display: block; white-space: normal; overflow-wrap: anywhere; }
.lat-home-address-layer .rdbs-suggestions strong { font-weight: 600; }
.lat-home-address-layer .rdbs-suggestions small { margin-top: 2px; color: var(--lat-muted, #60718c); font-size: 11px; }
.lat-home-address-layer .rdbs-suggestions > p { margin: 0; padding: 10px 12px; font-size: 13px; }
.lat-home-address-layer .rdbs-google-attribution { position: sticky; bottom: 0; display: block; padding: 5px 12px; background: #fff; color: #5e5e5e; font: 400 12px/1.4 Arial,sans-serif; letter-spacing: normal; text-align: right; white-space: nowrap; }
:is(.lat-booking-shell, .lat-inner-booking-card) .lat-home-booking-status { margin: 12px 0 0; padding: 10px 14px; border: 1px solid var(--lat-line, #dce5ef); border-radius: 8px; color: var(--lat-photo-overlay, #021223); background: var(--lat-white, #fff); font-size: 14px; line-height: 1.5; }
:is(.lat-booking-shell, .lat-inner-booking-card) .lat-home-booking-status[hidden] { display: none; }
/* Focus belongs to the whole Home field, not the inner combobox input.
   Use the same light line and halo as the theme's inner-page fields, without
   adding a border or moving the inputs. The full-screen mobile editor keeps
   its own one-pixel field border. Airport Hub/Detail styles remain untouched. */
.lat-booking-form[data-lat-home-bound] .lat-field:not(.is-lat-address-active):focus-within {
  outline: 0;
  border-radius: 11px;
  box-shadow: inset 0 0 0 1px #8cc8ff, 0 0 0 3px rgba(21,150,255,.12);
}
@media (forced-colors: active) {
  .lat-booking-form[data-lat-home-bound] .lat-field:not(.is-lat-address-active):focus-within,
  .lat-booking-form[data-lat-home-bound] .lat-field.is-lat-address-active:focus-within {
    outline: 2px solid Highlight; outline-offset: -2px; box-shadow: none;
  }
}
:is(.lat-booking-form,.lat-inner-booking-form)[data-lat-home-bound][aria-busy="true"] { cursor: progress; }

/* Prevent iOS focus zoom; native date/time controls remain the existing fields. */
@media(max-width:820px){:is(.lat-booking-form,.lat-inner-booking-form)[data-lat-home-bound] input{font-size:16px;} .lat-home-address-layer .rdbs-suggestions>button{min-height:52px;touch-action:pan-y;} }

/* Mobile address editor — same-input pattern as the supplied Drive homepage.
   Scoped state only; the resting hero/form and desktop layout are unchanged. */
.lat-address-toolbar[hidden], .lat-address-toolbar [hidden] { display: none !important; }
@media (max-width: 820px) {
  html.lat-address-editor-open { overflow: hidden !important; }
  body.lat-address-editor-open { position: fixed !important; top: var(--lat-address-scroll, 0px); inset-inline: 0; width: 100%; overflow: hidden !important; }
  .lat-address-ancestor { overflow: visible !important; z-index: 100001 !important; }
  :is(.lat-booking-shell,.lat-inner-booking-card).is-lat-address-editing {
    position: fixed !important; top: var(--lat-address-top, 0px) !important; left: var(--lat-address-left, 0px) !important;
    width: var(--lat-address-width, 100vw) !important; height: var(--lat-address-height, 100dvh) !important;
    right: auto !important; bottom: auto !important; min-width: 0 !important; min-height: 0 !important; max-width: none !important; max-height: none !important;
    display: flex !important; flex-direction: column; gap: 12px; margin: 0 !important; padding: 12px 16px 16px !important;
    box-sizing: border-box; border: 0; border-radius: 0; background: var(--lat-white, #fff); color: var(--lat-photo-overlay, #021223);
    z-index: 100005 !important; overflow: hidden; transform: none !important; box-shadow: none;
  }
  .is-lat-address-editing > :not(.lat-address-toolbar):not(.lat-booking-form):not(.lat-inner-booking-form) { display: none !important; }
  .is-lat-address-editing > .lat-address-toolbar { display: flex; align-items: center; gap: 12px; flex: 0 0 44px; min-width: 0; }
  .lat-address-toolbar strong { flex: 1; min-width: 0; font-size: 17px; line-height: 1.3; overflow-wrap: anywhere; }
  .lat-address-toolbar button { display: grid; place-items: center; flex: 0 0 44px; width: 44px; min-height: 44px; margin: 0; padding: 0; border: 1px solid var(--lat-line, #dce5ef); border-radius: 8px; background: var(--lat-white, #fff); color: var(--lat-photo-overlay, #021223); font: inherit; font-size: 24px; cursor: pointer; }
  .is-lat-address-editing :is(.lat-booking-form,.lat-inner-booking-form) { display: flex !important; flex-direction: column; gap: 10px; flex: 1 1 auto; min-height: 0; width: 100%; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; overflow: hidden; }
  .is-lat-address-editing :is(.lat-booking-form,.lat-inner-booking-form) > :not(.is-lat-address-active):not(.lat-home-address-layer) { display: none !important; }
  .is-lat-address-editing :is(.lat-field,.lat-inner-booking-field).is-lat-address-active { display: flex !important; align-items: center; flex: 0 0 56px; min-height: 56px; width: 100%; box-sizing: border-box; padding: 0 12px; border: 1px solid var(--lat-blue-600, #0b73f6); border-radius: 10px; background: var(--lat-white, #fff); }
  .is-lat-address-editing .is-lat-address-active input { width: 100%; min-width: 0; min-height: 52px; height: auto; outline: none !important; font-size: 16px !important; border: 0; background: transparent; color: var(--lat-photo-overlay, #021223); }
  .is-lat-address-editing .lat-home-address-layer--mobile { flex: 1 1 auto; min-height: 0; overflow: hidden; z-index: 1; }
  .lat-home-address-layer--mobile .rdbs-suggestions { position: static; width: 100%; height: 100%; max-height: none; border-radius: 10px; box-shadow: none; overscroll-behavior: contain; }
  .lat-address-toolbar button:focus-visible { outline: 2px solid var(--lat-blue-600, #0b73f6); outline-offset: 2px; }
}
