/* AirlyGo Hotel Engine V11.1.20 — Homepage Stays UX corrective release
   Scoped to the existing V6 homepage Stays search. No framework dependencies. */

/* Autocomplete: Booking/Expedia-inspired clarity while preserving AirlyGo styling. */
#v6StaySuggestions.v6-suggestions{
  padding:4px 0;
  border:1px solid #d7e0eb;
  border-radius:14px;
  box-shadow:0 18px 44px rgba(8,31,58,.18);
  overflow-y:auto;
  overscroll-behavior:contain;
}
#v6StaySuggestions .v6-suggestion{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-height:62px;
  padding:10px 14px;
  border-radius:0;
  color:#0b1f3a;
}
#v6StaySuggestions .v6-suggestion:hover,
#v6StaySuggestions .v6-suggestion.active,
#v6StaySuggestions .v6-suggestion[aria-selected="true"]{
  background:#f3f7fb;
  outline:0;
}
#v6StaySuggestions .v6-suggestion b{
  font-family:'Work Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif!important;
  font-size:14px;
  font-weight:700;
  line-height:1.25;
  color:#0b1f3a;
}
#v6StaySuggestions .v6-suggestion small{
  font-family:'Work Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif!important;
  font-size:11px;
  font-weight:600;
  line-height:1.35;
  color:#62748a;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ag-v117-place-icon{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  color:#0b1f3a;
  flex:none;
}
.ag-v117-place-icon svg{width:24px;height:24px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Replace the two native date inputs visually with one premium Dates control.
   The original #v6Checkin/#v6Checkout remain hidden in the form for the existing API handoff. */
.v6-stay-grid.ag-v117-ready{
  grid-template-columns:minmax(320px,2fr) minmax(300px,1.35fr) minmax(190px,1fr) 112px!important;
}
.ag-v117-hidden-date-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important;white-space:nowrap!important}
.ag-v117-date-field{
  appearance:none;
  border:1px solid #cbd6e4;
  background:#fff;
  min-height:58px;
  margin-left:-1px;
  padding:9px 14px;
  display:grid;
  grid-template-columns:28px minmax(0,1fr) 20px;
  align-items:center;
  gap:9px;
  color:#0b1f3a;
  text-align:left;
  cursor:pointer;
  position:relative;
}
.ag-v117-date-field:hover{background:#fbfdff}
.ag-v117-date-field:focus-visible{outline:3px solid rgba(24,111,214,.24);outline-offset:-2px;z-index:4}
.ag-v117-date-field .ag-v117-date-icon,.ag-v117-date-field .ag-v117-date-chevron{display:grid;place-items:center;color:#17385e}
.ag-v117-date-field svg{width:21px;height:21px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ag-v117-date-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
.ag-v117-date-copy small{font:700 11px 'Work Sans',system-ui,sans-serif;color:#64758a}
.ag-v117-date-copy strong{font:700 14px 'Work Sans',system-ui,sans-serif;color:#0b1f3a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Calendar popover */
.ag-v117-calendar-backdrop{position:fixed;inset:0;background:rgba(4,18,36,.34);z-index:9990;display:none}
.ag-v117-calendar-backdrop.open{display:block}
.ag-v117-calendar{
  position:fixed;
  z-index:9991;
  width:min(760px,calc(100vw - 32px));
  background:#fff;
  border:1px solid #d7e0eb;
  border-radius:18px;
  box-shadow:0 28px 70px rgba(4,23,45,.25);
  display:none;
  overflow:hidden;
  color:#0b1f3a;
  font-family:'Work Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif!important;
}
.ag-v117-calendar.open{display:block}
.ag-v117-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px 12px;border-bottom:1px solid #e7edf4}
.ag-v117-calendar-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:800}
.ag-v117-calendar-title svg{width:21px;height:21px;fill:none;stroke:#17385e;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ag-v117-calendar-close,.ag-v117-month-nav{width:38px;height:38px;border:1px solid #dbe4ee;border-radius:50%;background:#fff;color:#17385e;display:grid;place-items:center;cursor:pointer;font-size:22px;line-height:1}
.ag-v117-calendar-close:hover,.ag-v117-month-nav:hover{background:#f3f7fb}
.ag-v117-calendar-body{padding:14px 18px 12px}
.ag-v117-months{display:grid;grid-template-columns:1fr 1fr;gap:26px;position:relative}
.ag-v117-month{min-width:0}
.ag-v117-month-header{display:flex;align-items:center;justify-content:center;min-height:40px;font-size:16px;font-weight:800;margin-bottom:5px}
.ag-v117-month:first-child .ag-v117-month-header{padding-left:42px}.ag-v117-month:last-child .ag-v117-month-header{padding-right:42px}
.ag-v117-month-nav{position:absolute;top:0;z-index:2}.ag-v117-prev{left:0}.ag-v117-next{right:0}
.ag-v117-weekdays,.ag-v117-days{display:grid;grid-template-columns:repeat(7,1fr)}
.ag-v117-weekdays span{font-size:11px;font-weight:700;text-align:center;color:#68798e;padding:8px 0}
.ag-v117-day{
  border:0;
  background:transparent;
  color:#17253d;
  width:40px;
  height:40px;
  border-radius:50%;
  justify-self:center;
  display:grid;
  place-items:center;
  font:600 13px 'Work Sans',system-ui,sans-serif;
  cursor:pointer;
  position:relative;
  z-index:1;
}
.ag-v117-day:not(:disabled):hover{background:#eef5ff;color:#0b57c6}
.ag-v117-day:disabled{color:#c2cbd6;cursor:not-allowed}
.ag-v117-day.in-range{background:#eaf2ff;border-radius:0;width:100%}
.ag-v117-day.range-start,.ag-v117-day.range-end{background:#1268d8!important;color:#fff!important;border-radius:50%;width:40px;font-weight:800}
.ag-v117-day.today:not(.range-start):not(.range-end){box-shadow:inset 0 0 0 1.5px #1268d8}
.ag-v117-calendar-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px 16px;border-top:1px solid #e7edf4}
.ag-v117-stay-note{font-size:12px;color:#64758a}.ag-v117-stay-note strong{color:#0b1f3a}
.ag-v117-date-done{border:0;border-radius:10px;background:#ff7a00;color:#fff;padding:10px 18px;font:800 13px 'Work Sans',system-ui,sans-serif;cursor:pointer}.ag-v117-date-done:hover{background:#e96f00}

@media(max-width:1050px){
  .v6-stay-grid.ag-v117-ready{grid-template-columns:2fr 1.25fr 1fr!important;gap:0!important}
  .ag-v117-date-field{margin-left:-1px}
  .v6-stay-grid.ag-v117-ready .v6-travellers{grid-column:1/3!important;margin-top:8px!important;border-radius:12px!important;margin-left:0!important}
  .v6-stay-grid.ag-v117-ready .v6-search-button{grid-column:3!important;margin-top:8px!important;border-radius:12px!important}
}

@media(max-width:720px){
  .v6-stay-grid.ag-v117-ready{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .v6-stay-grid.ag-v117-ready .v6-destination-field{grid-column:1/3!important}
  .ag-v117-date-field{grid-column:1/3!important;border-radius:11px!important;margin:0!important;min-height:64px}
  .v6-stay-grid.ag-v117-ready .v6-travellers{grid-column:1/3!important;margin:0!important}
  .v6-stay-grid.ag-v117-ready .v6-search-button{grid-column:1/3!important;margin:0!important;border-radius:11px!important;height:52px!important}
  .ag-v117-calendar{left:0!important;right:0!important;bottom:0!important;top:auto!important;width:100%!important;max-height:88vh;border-radius:20px 20px 0 0;border-left:0;border-right:0;border-bottom:0;overflow:auto}
  .ag-v117-calendar-body{padding:10px 14px 8px}.ag-v117-months{grid-template-columns:1fr;gap:0}.ag-v117-month:nth-of-type(2){display:none}
  .ag-v117-month:first-child .ag-v117-month-header{padding:0 45px}
  .ag-v117-day{width:38px;height:38px}.ag-v117-calendar-foot{position:sticky;bottom:0;background:#fff;padding-bottom:max(16px,env(safe-area-inset-bottom))}
  body.ag-v117-calendar-open{overflow:hidden}
}


/* V11.1.20 stabilization: authoritative Home Stays search UI.
   Prevent native date controls from leaking large browser indicators before JS mounts. */
#v6StayForm #v6Checkin,
#v6StayForm #v6Checkout{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  min-height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
#v6StayForm #v6Checkin::-webkit-calendar-picker-indicator,
#v6StayForm #v6Checkout::-webkit-calendar-picker-indicator{display:none!important;width:0!important;height:0!important;opacity:0!important}

/* Equal-height premium row on desktop. */
#v6StayForm.ag-v117-ready > .v6-field,
#v6StayForm.ag-v117-ready > .ag-v117-date-field,
#v6StayForm.ag-v117-ready > .v6-search-button{
  min-height:64px!important;
  height:64px!important;
  box-sizing:border-box!important;
}
#v6StayForm.ag-v117-ready .v6-destination-field,
#v6StayForm.ag-v117-ready .v6-travellers{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
#v6StayForm.ag-v117-ready .ag-v117-date-field{border-radius:0!important}
#v6StayForm.ag-v117-ready .v6-destination-field{border-radius:12px 0 0 12px!important}
#v6StayForm.ag-v117-ready .v6-search-button{border-radius:0 12px 12px 0!important}

@media(max-width:1050px){
  #v6StayForm.ag-v117-ready > .v6-field,
  #v6StayForm.ag-v117-ready > .ag-v117-date-field,
  #v6StayForm.ag-v117-ready > .v6-search-button{height:auto!important;min-height:60px!important;border-radius:12px!important}
}
