/* #region zone:flights.v3-search-style — ค้นหาใน dialog ไม่ยืดตามรายการ */
.f3-search-dialog {
  font: 15px/1.5 var(--f3-sans);
  box-shadow: var(--f3-shadow);
  overflow-x: hidden;
}
.f3-search-dialog .f3-dialog-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--u-space-4);
  margin-bottom: var(--u-space-4);
}
.f3-search-dialog h2 {
  margin: 0;
  font: 600 20px/1.3 var(--f3-sans);
  letter-spacing: -0.02em;
}
.f3-search-dialog .search-controls {
  display: grid;
  gap: var(--u-space-4);
  position: static;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  z-index: auto;
}
.f3-search-dialog .search-row {
  display: flex;
  align-items: start;
  gap: var(--u-space-2);
  margin: 0;
}
.f3-search-dialog .combobox-wrap {
  position: relative;
  flex: 1;
  min-width: 0;
}
.f3-search-dialog #search-q::-webkit-search-cancel-button {
  appearance: none;
}
.f3-search-dialog .input-icon {
  position: absolute;
  left: 12px;
  top: 12px;
  width: 20px;
  height: 20px;
  color: var(--f3-muted);
  pointer-events: none;
}
.f3-search-dialog .input-icon svg {
  display: block;
  width: 20px;
  height: 20px;
}
.f3-search-dialog #search-go {
  flex: none;
  height: 44px;
  padding-block: 0;
}
.f3-search-dialog #search-clear {
  position: absolute;
  top: 0;
  right: 0;
}
.f3-search-dialog .search-help {
  margin: 0;
  font-size: var(--u-text-sm);
  color: var(--f3-muted);
}
.f3-search-dialog .chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--u-space-2);
}
.f3-search-dialog .pill {
  min-height: 44px;
  padding: var(--u-space-2) 14px;
  background: var(--f3-card);
  color: var(--f3-ink);
  border: 1px solid var(--f3-faint);
  border-radius: var(--u-radius-pill);
  font: 500 13px var(--f3-sans);
  display: inline-flex;
  align-items: center;
  gap: var(--u-space-2);
  cursor: pointer;
}
.f3-search-dialog .pill[aria-pressed='true'] {
  background: var(--f3-accent);
  color: var(--f3-bg);
  border-color: transparent;
}
.f3-search-dialog .suggestions {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  width: 100%;
  max-height: min(320px, var(--suggest-max-height, 40vh));
  overflow-y: auto;
  overscroll-behavior: contain;
  z-index: 5;
  padding: 6px;
  border: 1px solid var(--f3-line);
  border-radius: var(--u-radius-card);
  background: var(--f3-pop);
  box-shadow: var(--f3-shadow);
}
.f3-search-dialog .suggest-group {
  display: grid;
  gap: var(--u-space-2);
}
.f3-search-dialog .suggest-group-title {
  margin: 0;
  padding: 6px 10px;
  color: var(--f3-muted);
  font: 500 11px/1.5 var(--f3-sans);
  letter-spacing: 0.04em;
}
.f3-search-dialog .suggestions[data-viewport='true'] {
  position: fixed;
  top: var(--suggest-top);
  left: var(--suggest-left);
  width: var(--suggest-width);
}
.f3-search-dialog .suggest-option {
  display: grid;
  grid-template-columns: var(--f3-logo-size) minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--f3-logo-gap);
  width: 100%;
  height: 72px;
  padding: var(--u-space-2) 10px;
  border: 0;
  border-radius: var(--u-radius-inner);
  background: transparent;
  color: var(--f3-ink);
  text-align: left;
  font: 400 13px/1.4 var(--f3-sans);
  cursor: pointer;
}
.f3-suggest-copy,
.f3-suggest-meta {
  display: grid;
  gap: var(--u-space-1);
  min-width: 0;
}
.f3-suggest-copy > * {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.f3-suggest-copy strong {
  font-size: 14px;
  font-weight: 600;
}
.f3-suggest-copy small {
  font-size: var(--u-text-xs);
}
.f3-suggest-meta {
  justify-items: end;
  font-size: 11px;
}
.f3-suggest-tag {
  padding: 2px 7px;
  border-radius: var(--u-radius-pill);
  background: var(--f3-card2);
  font-size: 10px;
}
.f3-search-dialog .suggest-empty {
  display: flex;
  gap: 10px;
  padding: var(--u-space-3);
  font-size: var(--u-text-sm);
  color: var(--f3-muted);
}
.f3-search-result {
  margin-top: var(--u-space-4);
  display: grid;
  gap: var(--u-space-2);
}
.f3-search-result .flight {
  gap: var(--f3-logo-gap);
}
.f3-search-result .f3-actions {
  margin-top: var(--u-space-2);
}
.f3-search-result .when b {
  font-family: var(--f3-mono);
  font-weight: 500;
}
@media (hover: hover) {
  .f3-search-dialog .suggest-option:hover,
  .f3-search-dialog #search-clear:hover,
  .f3-search-dialog .pill:not([aria-pressed='true']):hover {
    background: var(--f3-hover);
  }
}
.f3-search-dialog .suggest-option[aria-selected='true'] {
  background: var(--f3-hover);
  box-shadow: inset 0 0 0 1px var(--f3-accent);
}
@media (max-width: 599px) {
  .f3-search-dialog .suggestions[data-viewport='true'] {
    width: calc(var(--suggest-width) + 88px);
    max-width: calc(100vw - 74px);
  }
  .f3-search-dialog .suggest-option {
    gap: var(--u-space-2);
  }
}
.f3-swap-result {
  display: flex;
  flex-direction: column;
  gap: var(--u-space-3);
}
.f3-swap-result p {
  margin: 0;
}
.f3-swap-error:empty {
  display: none;
}
.f3-swap-summary {
  padding: var(--u-space-3);
  border-radius: 14px;
  background: var(--f3-soft);
  color: var(--f3-accent-ink);
  overflow-wrap: anywhere;
}
.f3-swap-error {
  color: var(--f3-red);
}
/* #endregion */

/* #region zone:flights.v3-search-calendar — ปฏิทินวันที่ใช้ธีมและขนาดสัมผัสเดียวกัน */
[data-ui='v3'] .calendar-dialog {
  width: min(420px, calc(100vw - 24px));
  max-height: calc(100dvh - 32px);
  overflow: auto;
  padding: var(--u-space-3);
  border: 1px solid var(--f3-line);
  border-radius: var(--u-radius-card);
  font: 14px/1.5 var(--f3-sans);
}
[data-ui='v3'] .calendar-dialog::backdrop {
  background: rgb(0 0 0 / 0.45);
}
[data-ui='v3'] :is(.calendar-head, .calendar-month, .calendar-actions) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--u-space-2);
}
[data-ui='v3'] .calendar-head h2 {
  margin: 0;
  font-size: 18px;
}
[data-ui='v3'] .calendar-month {
  margin-block: var(--u-space-3) var(--u-space-2);
}
[data-ui='v3'] .calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 44px));
  justify-content: center;
  gap: var(--u-space-1);
}
[data-ui='v3'] :is(.calendar-day, .calendar-weekday) {
  height: 44px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  font: 500 13px var(--f3-mono);
  color: var(--f3-ink);
  background: transparent;
}
[data-ui='v3'] .calendar-weekday,
[data-ui='v3'] .calendar-day:disabled {
  color: var(--f3-muted);
}
[data-ui='v3'] .calendar-day[aria-selected='true'] {
  color: var(--f3-bg);
  background: var(--f3-accent);
}
[data-ui='v3'] .calendar-day:not(:disabled):hover {
  box-shadow: inset 0 0 0 1px var(--f3-accent);
}
[data-ui='v3'] .calendar-actions {
  margin-top: var(--u-space-3);
  justify-content: flex-end;
}
/* #endregion */
