/* Form tìm kiếm HSG: khung phải slider trang chủ (home) và thanh ngang trang danh sách (bar) */
.hsg-search { --hs-accent: #f5b335; --hs-green: #6fb244; font-size: 14px; color: #222; }
.hsg-search *, .hsg-search *::before, .hsg-search *::after { box-sizing: border-box; }
.hsg-search__tabs { display: flex; gap: 2px; }
.hsg-search__tab { flex: 1 1 0; display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 42px; padding: 6px 8px;
  border: 0; border-radius: 6px 6px 0 0; background: rgba(0, 0, 0, .55); color: #fff; font-weight: 600; font-size: 13px; cursor: pointer; line-height: 1.2; }
.hsg-search__tab.is-active { background: #fff; color: #1a1a1a; }
.hsg-search__tab .fa { color: var(--hs-accent); }
.hsg-search__form { display: none; background: #fff; padding: 16px; gap: 12px; border-radius: 0 0 8px 8px; }
.hsg-search__form.is-active { display: grid; }
.hsg-search__field { display: flex; flex-direction: column; gap: 4px; margin: 0; font-weight: 400; }
.hsg-search__field > span { font-size: 12px; font-weight: 600; color: #666; text-transform: uppercase; letter-spacing: .02em; }
.hsg-search__field select, .hsg-search__field input { width: 100%; height: 44px; padding: 0 12px; border: 1px solid #d7d7d7; border-radius: 6px;
  background: #fff; color: #222; font-size: 15px; font-family: inherit; }
.hsg-search__field select:focus, .hsg-search__field input:focus { outline: 2px solid var(--hs-accent); outline-offset: 0; border-color: var(--hs-accent); }
.hsg-search__submit { height: 46px; border: 0; border-radius: 6px; background: var(--hs-green); color: #fff; font-weight: 700; font-size: 15px;
  text-transform: uppercase; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; }
.hsg-search__submit:hover { filter: brightness(1.07); }

/* Thông báo ngày gần (đặt trước chưa đủ số ngày) */
.hsg-search__note { grid-column: 1 / -1; margin: 0; padding: 10px 12px; border-radius: 6px; background: #fff6e0; border: 1px solid #f5d27a;
  color: #6b4b00; font-size: 13px; line-height: 1.45; display: flex; gap: 8px; align-items: flex-start; }
.hsg-search__note[hidden] { display: none; }
.hsg-search__note .fa { color: #e09a00; margin-top: 2px; }
.hsg-search__note a { color: #0a63c9; font-weight: 700; white-space: nowrap; }
.hsg-search--bar .hsg-search__note { order: 9; }
.hsg-search-result__lead { margin: 0 0 18px; padding: 12px 16px; border-radius: 8px; background: #fff6e0; border: 1px solid #f5d27a; color: #6b4b00; font-size: 15px; }
.hsg-search-result__lead a { color: #0a63c9; font-weight: 700; white-space: nowrap; }

/* Trang chủ: khung bên phải slider, ngang hàng phần chữ của slide */
#sec01 { position: relative; }
.hsg-search--home { position: absolute; z-index: 20; top: 50%; transform: translateY(-50%); right: max(15px, calc((100% - 1200px) / 2 + 15px)); width: 400px;
  filter: drop-shadow(0 10px 30px rgba(0, 0, 0, .35)); }
.hsg-search--home .hsg-search__form { grid-template-columns: 1fr 1fr; }
.hsg-search--home .hsg-search__field--dest, .hsg-search--home .hsg-search__submit { grid-column: 1 / -1; }
.hsg-search--home [data-form="ticket"] .hsg-search__field { grid-column: 1 / -1; }
.hsg-search--home .hsg-search__tab span { font-size: 12px; }

/* Thanh ngang ở trang danh sách tour / khách sạn / kết quả */
.hsg-search--bar { max-width: 1170px; margin: 24px auto 28px; box-shadow: 0 6px 24px rgba(0, 0, 0, .1); border-radius: 8px; }
.hsg-search--bar .hsg-search__tabs { max-width: 640px; }
.hsg-search--bar .hsg-search__tab { background: #ececec; color: #444; }
.hsg-search--bar .hsg-search__tab.is-active { background: #fff; color: #111; }
.hsg-search--bar .hsg-search__form { grid-template-columns: 2fr 1fr 1fr auto; align-items: end; border-radius: 8px; }
.hsg-search--bar .hsg-search__tabs + .hsg-search__form, .hsg-search--bar .hsg-search__tabs ~ .hsg-search__form { border-top-left-radius: 0; }
.hsg-search--bar [data-form="boat"] { grid-template-columns: 2fr 1fr 1fr 90px auto; }
.hsg-search--bar [data-form="ticket"] { grid-template-columns: 1fr 1fr auto; }
.hsg-search--bar .hsg-search__submit { padding: 0 28px; }

@media (max-width: 1199px) { .hsg-search--home { width: 360px; } }
/* Màn nhỏ: khung tìm kiếm nằm dưới slider, không đè lên chữ */
@media (max-width: 991px) {
  .hsg-search--home { position: static; transform: none; width: auto; margin: 0; padding: 14px 15px 18px; background: #2f2f2f; filter: none; }
  .hsg-search--home .hsg-search__tab { background: rgba(255, 255, 255, .12); }
  .hsg-search--home .hsg-search__tab.is-active { background: #fff; }
  .hsg-search--bar { margin: 16px 15px 22px; }
  .hsg-search--bar .hsg-search__form, .hsg-search--bar [data-form="boat"], .hsg-search--bar [data-form="ticket"] { grid-template-columns: 1fr 1fr; }
  .hsg-search--bar .hsg-search__field--dest, .hsg-search--bar .hsg-search__submit { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  .hsg-search__tab { flex-direction: column; gap: 2px; min-height: 52px; font-size: 11px; padding: 6px 2px; }
  .hsg-search--home .hsg-search__tab span { font-size: 11px; }
  .hsg-search__form { padding: 12px; gap: 10px; }
}

/* Trang kết quả */
.hsg-search-result__meta { margin: 0 0 18px; color: #555; font-size: 15px; }
.hsg-search-result__meta b { color: #111; }
.hsg-search-result__empty { text-align: center; padding: 40px 15px 60px; color: #555; }
.hsg-search-result__empty a { color: #0a7cc1; font-weight: 600; }
.hsg-search-result .category-tours, .hsg-search-result .hotel-list { display: flex; flex-wrap: wrap; }
