/* --- HLAVNÍ OBAL --- */
.flight-search-form-wrapper {
  background: #ffffffe6; 
  box-shadow: 0 4px 10px rgba(0,0,0,0.5);
  padding: 1rem 1.25rem;
  padding-top: 0px;
  max-width: 1170px;
}

/* Pomocná třída pro skrývání prvků v JS */
.hidden {
  display: none !important;
}

/* --- HORNÍ ŘÁDEK (Desktop) --- */
.flight-form-top-row {
  display: flex; 
  align-items: center; 
  justify-content: space-between;
  flex-wrap: wrap; 
  gap: 1rem 2rem;
}

/* --- VÝCHOZÍ LAYOUT SPODNÍHO ŘÁDKU (PRO ZPÁTEČNÍ/JEDNOSMĚRNOU) --- */
.flight-form-bottom-row {
  display: grid;
  align-items: stretch;
  gap: 0.75rem;
  grid-template-columns: 1fr 1fr 115px 115px 180px auto;
}

/* --- VZHLED JEDNOTLIVÝCH POLÍ --- */
.flight-form-bottom-row .js-form-item,
.flight-form-bottom-row .form-actions,
.flight-form-bottom-row .origin-wrapper-flex,
.flight-form-bottom-row .destination-wrapper-flex { 
  margin: 0; 
  display: flex; 
}

.flight-form-bottom-row .form-item-passengers,
.flight-form-bottom-row .form-item-departure-date,
.flight-form-bottom-row .form-item-return-date,
.flight-form-bottom-row .origin-wrapper-flex,
.flight-form-bottom-row .destination-wrapper-flex,
.flight-form-bottom-row .multicity-field { 
  border: 3px solid #03507970; 
  min-height: 42px; 
  padding: 0 .5rem; 
  box-sizing: border-box; 
  align-items: center; 
  background: #f9f9f9 !important; 
}

.flight-form-bottom-row .multicity-field {
  position: relative;
  padding-left: 2.5rem !important;
  display: inline-flex;
}

.flight-form-bottom-row .multicity-field::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: #035079;
  font-size: 0.7em;
  pointer-events: none;
}
/* === START: Styly pro ikony v polích "Návrat z/do" === */

/* Sjednocení vzhledu wrapperu podle polí Odkud/Kam */
.return-from-wrapper-flex, 
.return-to-wrapper-flex {
    position: relative; 
    flex-direction: row; 
    align-items: center; 
    gap: 0.2rem; 
    padding: 0 0.6rem 0 2rem !important; 
    min-width: 0; 
    overflow: hidden;
}

/* Společná definice pro pseudo-element ikony */
.return-from-wrapper-flex::before, 
.return-to-wrapper-flex::before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    color: #6c757d;
    font-size: 0.7em;
    pointer-events: none; /* Ikona nebude reagovat na kliknutí */
}

/* Konkrétní ikona ODLETU pro pole "Návrat z" */
.return-from-wrapper-flex::before {
    content: "\f5b0";
}

/* Konkrétní ikona PŘÍLETU pro pole "Návrat do" */
.return-to-wrapper-flex::before {
    content: "\f5af";
}

/* === KONEC: Styly pro ikony v polích "Návrat z/do" === */


.flight-form-bottom-row input[type="text"], .flight-form-bottom-row select { border: none !important; background: transparent !important; box-shadow: none !important; height: 100%; width: 100%; padding: 0rem !important; font-size: 0.8em; }
.flight-form-bottom-row input:focus, .flight-form-bottom-row select:focus { outline: none !important; }
.origin-wrapper-flex, .destination-wrapper-flex { position: relative; flex-direction: row; align-items: center; gap: 0.2rem; padding: 0 0.6rem 0 2rem !important; min-width: 0; overflow: hidden; }
.origin-wrapper-flex::before, .destination-wrapper-flex::before { font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; left: 0.75rem; top: 50%; transform: translateY(-50%); color: #035079 !important; font-size: 0.7em; }
.origin-wrapper-flex::before { content: "\f5b0"; }
.destination-wrapper-flex::before { content: "\f5af"; }
.chip-container { display: flex; flex-wrap: wrap; gap: 0.4rem; flex-shrink: 0; }
.airport-chip { display: inline-flex; align-items: center; background-color: #e9ecef; color: #495057; padding: 0rem 0.3rem; font-size: 0.8em; font-weight: 300;}
.chip-remove { background: transparent; border: none; color: #6c757d; cursor: pointer; font-size: 1rem; line-height: 1; padding: 0; }
#flight-search-origin-input, #flight-search-destination-input, #flight-search-return-from-input, #flight-search-return-to-input { flex-grow: 1; min-width: 150px; height: auto !important;}
.flight-search-actions { align-items: stretch; }
.flight-search-submit { min-height: 42px; background-color: #035079 !important; font-weight: bold; width: 100%; color: white !important; }
.flight-search-submit:hover { background-color: #023a57 !important; }
.flight-form-bottom-row .form-item-departure-date, .flight-form-bottom-row .form-item-return-date, .flight-form-bottom-row .form-item-passengers { position: relative; padding: 0 !important; }
.flight-form-bottom-row .form-item-departure-date::before, .flight-form-bottom-row .form-item-return-date::before, .flight-form-bottom-row .form-item-passengers::before { font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; left: 0.75rem; top: 50%; transform: translateY(-50%); color: #6c757d; font-size: 0.7em; pointer-events: none; }
.flight-form-bottom-row .form-item-departure-date::before, .flight-form-bottom-row .form-item-return-date::before { content: "\f073"; }
.flight-form-bottom-row .form-item-passengers::before { content: "\f007"; }
.flight-form-bottom-row .form-item-departure-date input, .flight-form-bottom-row .form-item-return-date input, .passenger-picker-trigger { padding-left: 2rem !important; }
.flatpickr-day.selected {background: #035079 !important; border:none !important;}
.flight-search-form-wrapper fieldset {border: none;}
.flight-search-form-wrapper .button {border-radius: 0; border: 3px solid #035079 !important; }
.passenger-picker-popup { background: #fff; border-radius: 0; box-shadow: 0 4px 32px rgba(0,0,0,0.13), 0 0 0 1px #eee; width: 350px; box-sizing: border-box; padding: 1rem 1.2rem 0.5rem 1.2rem; position: absolute !important; z-index: 10002 !important; font-size: 0.7em; color: #343a40; animation: passengerFadeIn 0.18s; }
.passenger-picker-trigger { display: flex; align-items: center; width: 100%; height: 100%; padding: 0 0.5rem 0 2rem; font-size: 0.7em; border: none !important; background: transparent; cursor: pointer; outline: none; box-sizing: border-box; text-align: left; }
.passenger-picker-summary { flex: 1; text-align: left; color: #333; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.passenger-popup-row { display: flex; align-items: center; justify-content: space-between; gap: 1em; padding: 0.12em 0; }
.passenger-type-label { min-width: 145px; text-align: left; font-size: 1em; font-weight: 400; color: #232d34; }
.passenger-popup-row button, .passenger-popup-row .count { display: inline-flex; justify-content: center; align-items: center; height: 2.2em; width: 2.2em; font-size: 1.1em; margin: 0 0.08em; vertical-align: middle; }
.passenger-popup-row button { background: #035079; color: #fff; border: none; border-radius: 6px; font-weight: bold; font-size: 1.25em; cursor: pointer; transition: background 0.15s; padding: 0; }
.passenger-popup-row button:hover { background: #023a57; }
.passenger-popup-row .count { background: #f7fafd; color: #035079; border-radius: 3px; border: 1px solid #e1e8ed; font-weight: 600; min-width: 2.2em; text-align: center; font-size: 1.05em; pointer-events: none; }
.passenger-popup-row .count, .passenger-popup-row button { line-height: 2.2em; }
@media (max-width: 1100px) {
  .flight-form-bottom-row {
    grid-template-columns: 1fr 1fr;
  }
  .flight-form-bottom-row .origin-wrapper-flex,
  .flight-form-bottom-row .destination-wrapper-flex,
  .flight-form-bottom-row .form-actions {
    grid-column: 1 / -1;
  }
}
@media (max-width: 767px) {
  .flight-form-top-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0rem;
  }
  .flight-form-bottom-row .form-radios {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem; 
    padding: 0;
    margin-bottom: 0;
    border: none;
  }
  .flight-form-bottom-row {
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
  }
  .flight-form-bottom-row .origin-wrapper-flex,
  .flight-form-bottom-row .destination-wrapper-flex,
  .flight-form-bottom-row .form-item-passengers,
  .flight-form-bottom-row .form-actions {
    grid-column: 1 / -1;
  }
  .flight-form-bottom-row .form-item-departure-date {
    grid-column: 1 / 2;
  }
  .flight-form-bottom-row .form-item-return-date {
    grid-column: 2 / 3;
  }
}
.ui-autocomplete {
  z-index: 9999999 !important;
}
.segmented-control-wrapper {
  display: flex;
  align-items: center;
  border: 2px solid #035079;
  border-radius: 6px;
  padding: 2px;
  background-color: #035079;
}
.segmented-control .form-radios {
  display: flex;
  gap: 2px;
}
.segmented-control input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.segmented-control .form-item {
  margin: 0;
  display: inline-flex;
}
.segmented-control label {
  display: block;
  padding: 0.2rem 0.9rem;
  background-color: #ffffff;
  color: #035079;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  font-size: 0.7em;
  font-weight: 700 !important;
  font-family: system-ui;
  text-transform: uppercase;
  white-space: nowrap;
}
.segmented-control input[type="radio"]:not(:checked):not(:disabled) + label:hover {
  background-color: #e6f4ff;
  color: #023a57;
}
.segmented-control input[type="radio"]:checked + label {
  background-color: #00aced;
  color: #ffffff;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.segmented-control input[type="radio"]:disabled + label {
  background-color: #f8f9fa;
  color: #adb5bd;
  cursor: not-allowed;
  opacity: 0.7;
}

/* === START FINÁLNÍHO BLOKU PRO MULTICITY LAYOUT === */
/* Tento blok se aplikuje, POUZE když je vybrán Návrat z jiného města. */
/* Nijak neovlivní výchozí zobrazení pro Zpáteční a Jednosměrnou letenku. */
.flight-search-form-wrapper.multicity-active .flight-form-bottom-row {
  grid-template-columns: 1fr 1fr 1fr 1fr !important;
}
/* === KONEC FINÁLNÍHO BLOKU === */

input[type=submit], input[type=button], input[type=reset], button, .button {padding: 0!important; padding-left: 10px !important;
    padding-right: 10px !important;}

.origin-wrapper-flex::before, .destination-wrapper-flex::before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    color: #6c757d;
    font-size: 0.7em;
}

.passenger-popup-header {font-weight:700; font-size:1.4em;}

/* === START: Doplňující pravidla pro responzivitu "Návrat z jiného města" === */

/* --- Tablet (a menší) --- */
@media (max-width: 1100px) {
  /* Pokud je aktivní multicity, přepíšeme 4 sloupce na 2, stejně jako u standardního vyhledávání */
  .flight-search-form-wrapper.multicity-active .flight-form-bottom-row {
    grid-template-columns: 1fr 1fr !important;
  }

  /* A zároveň řekneme polím "Návrat z/do", aby se roztáhla na celou šířku */
  .flight-search-form-wrapper.multicity-active .flight-form-bottom-row .return-from-wrapper-flex,
  .flight-search-form-wrapper.multicity-active .flight-form-bottom-row .return-to-wrapper-flex {
    grid-column: 1 / -1;
  }
}

/* --- Mobil --- */
@media (max-width: 767px) {
   /* I na mobilu zajistíme, aby se multicity pole roztáhla na celou šířku,
       stejně jako ostatní pole v tomto rozlišení */
  .flight-search-form-wrapper.multicity-active .flight-form-bottom-row .return-from-wrapper-flex,
  .flight-search-form-wrapper.multicity-active .flight-form-bottom-row .return-to-wrapper-flex {
    grid-column: 1 / -1;
  }
}

/* === KONEC: Doplňující pravidla pro responzivitu === */

/* === START: Změna barvy ikon kalendáře a pasažérů === */

/* Cílené pravidlo pro ikonu kalendáře v polích pro datum */
.flight-form-bottom-row .form-item-departure-date::before,
.flight-form-bottom-row .form-item-return-date::before {
    color: #035079 !important; /* Zde si nastavte požadovanou barvu pro kalendář */
}

/* Cílené pravidlo pro ikonu pasažérů */
.flight-form-bottom-row .form-item-passengers::before {
    color: #035079 !important; /* Zde si nastavte požadovanou barvu pro pasažéry */
}
/* === KONEC: Změna barvy ikon === */
