/* GoCruise owns the fields, request and booking. Style only this tab. */
.cruise-search-panel {
  --cruise-ink: #17365b;
  --cruise-muted: #536a84;
  --cruise-line: #d7e2ee;
  --cruise-soft: #f2f6fb;
  --cruise-accent: #be4700;
}
.cruise-search-intro { display: flex; align-items: center; gap: 14px; justify-self: stretch; margin: 0 0 16px; text-align: left; }
.cruise-search-intro h2 { margin: 0; font: 700 clamp(22px, 2.5vw, 30px)/1.2 Inter, sans-serif; color: var(--cruise-ink); }
.cruise-search-intro p { margin: 5px 0 0; font-size: 14px; line-height: 1.5; color: var(--cruise-muted); }
.cruise-search-icon { display: grid; place-items: center; flex: 0 0 48px; height: 48px; color: var(--cruise-accent); background: #fff0e5; border-radius: 14px; }
.cruise-search-icon svg { width: 25px; height: 25px; }

.cruise-search-panel .ces-app {
  --ces-form-input-label-color: var(--cruise-ink);
  --ces-form-button-submit-hover-color: #9e3900;
  --ces-result-card-bg-color: #fff;
  --ces-result-card-button-price-hover-color: #9e3900;
  --ces-result-card-button-price-color: var(--cruise-accent);
  min-width: 0;
}

.cruise-search-panel .ces-app .ces-search-form {
  min-width: 0;
  padding: clamp(12px, 2vw, 22px);
  background: var(--cruise-soft);
  border: 1px solid var(--cruise-line);
  border-radius: 18px;
  text-align: left;
}
.cruise-search-panel .ces-app .ces-search-filter {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px 12px;
  padding: 0;
  reading-flow: grid-order;
}
.cruise-search-panel .ces-app .ces-search-filter > .ces-search-control { width: auto; min-width: 0; }
.cruise-search-panel .ces-app .ces-search-control--double {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 8px;
}
.cruise-search-ready [data-cruise-field="region"] { order: -4; }
.cruise-search-ready [data-cruise-field="port"] { order: -3; }
.cruise-search-ready [data-cruise-field="dates"] { order: -2; }
.cruise-search-ready [data-cruise-field="people"] { order: -1; }
.cruise-search-panel .ces-app .cruise-search-ready:not(.cruise-search-expanded) [data-cruise-field="extra"] { display: none; }

.cruise-search-panel .ces-app .ces-search-filter :is(.ces-select-box__inner, .ces-person-control, .ces-date-picker) {
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
}
.cruise-search-panel .ces-app .ces-search-filter :is(.ces-select-box__label, .ces-date-picker__label, .ces-person-control__label, .ces-form-switch__label) {
  display: block;
  height: auto;
  min-height: 0 !important;
  margin: 0 0 6px;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: 0;
  text-transform: none;
  color: var(--cruise-ink);
}
.cruise-search-panel .ces-app .ces-date-picker__label { font-size: 0 !important; }
.cruise-search-panel .ces-app .ces-date-picker__label::after { content: 'Дата с'; font-size: 13px; }
.cruise-search-panel .ces-app .ces-date-picker + .ces-date-picker .ces-date-picker__label::after { content: 'Дата по'; }
.cruise-search-panel .ces-app .ces-select-box__value,
.cruise-search-panel .ces-app .ces-search-filter input.ces-date-picker__input {
  min-height: 46px !important;
  max-height: none !important;
  width: 100% !important;
  font-size: 16px !important;
  font-weight: 600;
  line-height: 1.3;
  color: var(--cruise-ink) !important;
  background: #fff !important;
  border: 1px solid var(--cruise-line) !important;
  border-radius: 10px !important;
}
.cruise-search-panel .ces-app .ces-select-box__value { display: block; padding: 12px 27px 12px 11px; }
.cruise-search-panel .ces-app .ces-search-filter input.ces-date-picker__input { padding: 0 5px !important; letter-spacing: 0 !important; }
.cruise-search-panel .ces-app .ces-select-box__value::after { top: calc(50% - 6px); right: 13px; border-color: var(--cruise-muted); }
.cruise-search-panel .ces-app .ces-select-box__value--active::after { top: calc(50% - 2px); }
.cruise-search-panel .ces-app .ces-select-box__options {
  z-index: 20;
  top: calc(100% + 4px);
  border: 1px solid var(--cruise-line);
  border-radius: 12px;
  box-shadow: 0 12px 26px #17365b26;
}
.cruise-search-panel .ces-app .ces-select-box__options-inner { height: auto; max-height: min(45vh, 300px); overscroll-behavior: contain; }
.cruise-search-panel .ces-app .ces-select-box__option { padding: 11px 12px; min-height: 42px; font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; color: var(--cruise-ink); }
.cruise-search-panel .ces-app .ces-select-box__option--selected { color: #9e3900; background: #fff0e5; }
.cruise-search-panel .ces-app .ces-select-box__value:focus-visible,
.cruise-search-panel .ces-app .ces-select-box__option:focus-visible,
.cruise-search-panel .ces-app .ces-search-filter [role="button"]:focus-visible,
.cruise-search-panel .ces-app .ces-search-form :is(button, input):focus-visible { outline: 2px solid #315f93; outline-offset: 2px; }

.cruise-search-panel .ces-app .ces-person-control__buttons {
  display: grid;
  grid-template-columns: minmax(36px, 1fr) minmax(20px, auto) minmax(36px, 1fr);
  min-height: 46px;
  margin: 0;
  padding: 0 !important;
  overflow: hidden;
  background: white;
  border: 1px solid var(--cruise-line);
  border-radius: 10px;
}
.cruise-search-panel .ces-app .ces-person-control__button { display: grid; place-items: center; width: 100%; height: 100%; min-height: 0 !important; padding: 0 !important; color: var(--cruise-ink); }
.cruise-search-panel .ces-app .ces-person-control__button .ces-icon { width: 16px; height: 16px; }
.cruise-search-panel .ces-app .ces-person-control__button:hover { background: #eaf1f9; }
.cruise-search-panel .ces-app .ces-person-control__button:focus-visible { outline-offset: -2px !important; }
.cruise-search-panel .ces-app .ces-person-control__value { align-self: center; width: auto; height: auto; padding: 0 2px; font-size: 16px; color: var(--cruise-ink); }
.cruise-search-panel .ces-app .ces-person-control__ages {
  position: static;
  width: auto;
  min-height: 0;
  gap: 2px;
  margin-top: 4px;
  flex-wrap: wrap;
  color: var(--cruise-muted);
}
.cruise-search-panel .ces-app .ces-date-picker .qs-datepicker-container { z-index: 25; }
.cruise-search-panel .ces-app .ces-form-switch {
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
  justify-content: flex-end;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
}
.cruise-search-panel .ces-app .ces-form-switch__control { width: 46px; height: 26px; margin: 8px 0; }
.cruise-search-panel .ces-app .ces-form-switch__slider { background: #a5b7ca; }
.cruise-search-panel .ces-app .ces-form-switch__slider::before { width: 18px; height: 18px; opacity: 1; background: white; }
.cruise-search-panel .ces-app .ces-form-switch__slider_checked { background: var(--cruise-accent); }
.cruise-search-panel .ces-app .ces-form-switch__slider_checked::before { transform: translateX(20px); }

.cruise-search-panel .ces-app .ces-search-form__footer {
  display: grid !important;
  grid-template-columns: max-content max-content minmax(148px, max-content);
  justify-content: end;
  align-items: center;
  gap: 8px;
  padding: 14px 0 0;
  margin-top: 14px;
  border-top: 1px solid var(--cruise-line);
}
.cruise-search-panel .ces-app .ces-search-form__footer > button {
  width: auto !important;
  min-height: 46px !important;
  margin: 0;
  padding: 10px 14px !important;
  border: 1px solid var(--cruise-line);
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 650;
  line-height: 1.3;
  cursor: pointer;
}
.cruise-search-panel .ces-app .ces-search-form__footer > button:first-child { justify-self: start; }
.cruise-search-panel .ces-app .cruise-search-more { color: var(--cruise-ink); background: white; }
.cruise-search-panel .ces-app .cruise-search-more:hover,
.cruise-search-panel .ces-app .cruise-search-more[aria-expanded="true"] { background: #e5eef8; }
.cruise-search-panel .ces-app .ces-search-form__button_type_reset { color: var(--cruise-muted); background: transparent; }
.cruise-search-panel .ces-app .ces-search-form__button_type_reset:hover { color: var(--cruise-ink); background: #e5eef8; }
.cruise-search-panel .ces-app .ces-search-form__button_type_submit { color: #fff; background: var(--cruise-accent); border-color: transparent; }
.cruise-search-panel .ces-app .cruise-search-ready .ces-search-form__button::before { content: none; }

.cruise-search-panel .ces-app .ces-search-results__title {
  margin: 18px 0 10px;
  padding: 0;
  font-size: clamp(18px, 2vw, 23px);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0;
  text-transform: none;
  color: var(--cruise-ink);
}
.cruise-search-panel .ces-app .ces-search-results__title_not-found {
  padding: 15px;
  border: 1px solid var(--cruise-line);
  border-radius: 12px;
  background: var(--cruise-soft);
}
.cruise-search-panel .ces-app .ces-search-results__filter {
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  border-color: var(--cruise-line);
  border-radius: 12px;
  background: var(--cruise-soft);
  color: var(--cruise-ink);
}
.cruise-search-panel .ces-app .ces-search-results__filter_select { max-width: 100%; border: 1px solid var(--cruise-line) !important; padding-inline: 10px 30px !important; }

.cruise-search-panel .cruise-collection-link__arrow svg { width: 20px; height: 20px; }
@media (min-width: 1060px) {
  .cruise-search-panel .ces-app .ces-search-filter { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(210px, 1.15fr) minmax(215px, 1.1fr); }
}
@media (max-width: 600px) {
  .cruise-search-intro { gap: 9px; margin-bottom: 12px; }
  .cruise-search-intro p { font-size: 12px; }
  .cruise-search-icon { flex-basis: 38px; height: 38px; border-radius: 11px; }
  .cruise-search-icon svg { width: 22px; height: 22px; }
  .cruise-search-panel .ces-app .ces-search-filter { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .cruise-search-panel .ces-app .ces-date-picker:first-child .qs-datepicker-container { left: 0 !important; }
  .cruise-search-panel .ces-app .ces-date-picker + .ces-date-picker .qs-datepicker-container { left: auto !important; right: 0 !important; }
  .cruise-search-panel .ces-app .ces-date-picker .qs-datepicker-container { max-width: min(290px, calc(100vw - 58px)); }
  .cruise-search-panel .ces-app .ces-search-form__footer { grid-template-columns: minmax(0, 1fr) max-content; }
  .cruise-search-panel .ces-app .ces-search-form__button_type_submit { grid-column: 1 / -1; }
  .cruise-search-panel .ces-app .ces-search-results__pagination { flex-wrap: wrap; }
}
@media (max-width: 360px) {
  .cruise-search-panel .ces-app .ces-search-form__footer > button { padding-inline: 8px !important; }
}
