/* ==========================================================================
   LIVE SEARCH PAGES (2026-10-28): /hotels/live and /flights/live.
   Photo hero, the search box as a raised card over it, popular places,
   why-us cards. Shared blocks in et-blocks.css; prefix .sx-.
   ========================================================================== */

/* Hero with the search card lifted over its foot */
.sx-top { margin: 0 0 6px; }
.sx-top .eb-hero { margin: 0; min-height: 250px; }
.sx-top .eb-hero__in { padding-bottom: 58px; }
.sx-top .sx-box { position: relative; z-index: 2; margin: -40px 10px 22px; padding: 16px; border: 1px solid var(--eb-line);
                  border-radius: var(--eb-r); background: #fff; box-shadow: 0 2px 4px rgba(15, 26, 44, .05), 0 16px 40px rgba(15, 26, 44, .14); }
@media (min-width: 861px) {
    .sx-top .eb-hero { min-height: 300px; }
    .sx-top .eb-hero__in { padding-bottom: 70px; }
    .sx-top .sx-box { margin: -52px 24px 26px; padding: 20px 22px; }
}
@media (max-width: 420px) { .sx-top .sx-box { margin-left: 4px; margin-right: 4px; padding: 14px; } }

/* Labels with an icon in front, inside the form fields */
.sx-box .f-field .eb-label { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; line-height: 1.2; }
.sx-box .f-field .eb-label .to-opt { white-space: nowrap; }
.sx-box .f-field input, .sx-box .f-field select { min-width: 0; width: 100%; }
.sx-box .f-field input:focus, .sx-box .f-field select:focus { border-color: var(--eb-blue); box-shadow: 0 0 0 3px var(--eb-blue-soft); outline: none; }
.sx-box button[type=submit] { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; }
.sx-box button[type=submit] .et-i { width: 18px; height: 18px; }
/* Hotels on a wide screen: the words box and the button share the second row. */
@media (min-width: 861px) { .sx-box.hl-search .hl-q { grid-column: 1 / 6; } .sx-box.hl-search button[type=submit] { grid-column: 6; } }

/* Flights: the trip pills */
.sx-box .fl-trip { flex-wrap: wrap; }
.sx-box .fl-trip label { display: inline-flex; align-items: center; background: #fff; transition: border-color .15s, background .15s; }
.sx-box .fl-trip label:has(input:checked) { border-color: var(--eb-blue); background: var(--eb-blue-soft); }
.sx-box .fl-trip label:has(input:focus-visible) { outline: 2px solid var(--eb-blue); outline-offset: 2px; }
/* Flights on a phone: three people boxes, then cabin and passport half and half. */
@media (max-width: 860px) {
    .sx-box .fl-row2 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
    .sx-box .fl-row2 > .f-field { grid-column: span 2; }
    .sx-box .fl-row2 > .f-field:nth-child(n+4) { grid-column: span 3; }
    .sx-box .fl-row2 > button { grid-column: 1 / -1; }
}
@media (max-width: 420px) { .sx-box .fl-trip label { padding: 6px 11px; font-size: .86rem; } .sx-box .fl-trip .fl-direct { margin-left: 0; } }

/* Section titles */
.sx-sec { margin: 26px 0 8px; }
.sx-sec__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin: 0 0 12px; }
.sx-sec__head h2 { margin: 0; font-size: 1.2rem; line-height: 1.25; }
.sx-sec__head p { margin: 2px 0 0; color: var(--eb-muted); font-size: .88rem; }
.sx-sec .eb-tile small { margin-top: 2px; }

/* Why-us cards: the icon in its soft square */
.sx-why .eb-icard .eb-ico { width: 42px; height: 42px; }
.sx-why .eb-icard span { min-width: 0; }

/* Flights: the promise list drawn as icon cards */
.sx-promise.fl-promise { grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 12px; margin: 0 0 18px; font-size: .9rem; }
.sx-promise.fl-promise li { gap: 12px; padding: 16px; border: 1px solid var(--eb-line); border-radius: 16px; background: #fff; box-shadow: var(--eb-sh); line-height: 1.45; color: var(--eb-muted); }
.sx-promise.fl-promise li b { display: block; color: var(--eb-ink); margin: 0 0 2px; }
.sx-promise.fl-promise li > .et-i { box-sizing: content-box; width: 20px; height: 20px; padding: 10px; border-radius: 12px; background: var(--eb-blue-soft); color: var(--eb-blue); }

/* Results: light polish */
.hl-card.pg-card, .fl-card.pg-card { border-radius: 16px; transition: box-shadow .2s, border-color .2s; }
.hl-card.pg-card:hover, .fl-card.pg-card:hover { box-shadow: 0 10px 28px rgba(15, 26, 44, .10); border-color: #cfdcf5; }
.sx-help { display: flex; gap: 10px; align-items: center; justify-content: center; text-align: center; flex-wrap: wrap; }

@media (prefers-reduced-motion: reduce) { .sx-box .fl-trip label, .hl-card.pg-card, .fl-card.pg-card { transition: none; } }

/* The passport box: one tidy row under the search card (2026-10-28). */
.hl-passport { padding: 14px 16px; border-radius: 16px; }
.hl-passport .tp-check__form { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 0; }
.hl-passport .tp-check__label { flex: 0 0 auto; font-weight: 700; margin: 0; }
.hl-passport .tp-check__form select { flex: 1 1 200px; min-width: 0; margin: 0; }
.hl-passport .tp-check__form .et-btn { flex: 0 0 auto; }
.hl-passport .rt-passport__note { margin: 8px 0 0; color: var(--eb-muted); }
