/* HTT Search V4 — intrinsic field sizing + canonical stacked behavior. */
.htt-search{
  --htt-search-sticky-top:0px;
  position:relative;
  z-index:40;
  width:min(100%,630px);
  max-width:630px;
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
  container-type:inline-size;
}
.htt-searchPlaceholder{display:block;width:100%;height:0}
.htt-search--align-left{margin-left:0;margin-right:auto}
.htt-search--align-center{margin-left:auto;margin-right:auto}
.htt-search--align-right{margin-left:auto;margin-right:0}
.htt-discovery>.htt-search{margin-bottom:18px}
.htt-search.is-stuck{
  position:fixed;
  z-index:9998;
  top:var(--htt-search-sticky-top);
  left:0;
  right:0;
  width:100%;
  max-width:none;
  margin:0;
  padding:6px 16px;
  box-sizing:border-box;
  background:var(--htt-brand-orange,#f58220);
  box-shadow:0 7px 20px rgba(15,23,42,.14);
}
.htt-search .htt-bookSearch{position:relative!important;top:auto!important;z-index:2;width:100%;max-width:630px;margin:0 auto}
.htt-search .htt-bookSearch__feedback{display:none!important}
.htt-search .htt-bookSearch__inner{
  display:flex;
  grid-template-columns:none!important;
  gap:0;
  align-items:stretch;
  width:100%;
  min-height:48px;
  padding:3px;
  box-sizing:border-box;
  border:1px solid #d9e1ea;
  border-radius:999px;
  background:var(--htt-color-surface);
  box-shadow:0 5px 18px rgba(15,23,42,.08);
  overflow:visible;
}
.htt-search .htt-bookSearch__inner>*{min-width:0;border:0}
/* Dividers separate information inputs only; the Search action is never separated. */
.htt-search .htt-bookSearch__field + .htt-bookSearch__field{border-left:1px solid #e5e9ef}
.htt-search .htt-bookSearch__field{display:flex;gap:0;justify-content:center;min-width:0}
/* Date/Guests/Action stay predictable; Search Target consumes every remaining pixel. */
.htt-search .htt-bookSearch__field--target{flex:1 1 auto;min-width:220px}
.htt-search .htt-bookSearch__field--date{flex:0 0 150px;width:150px}
.htt-search .htt-bookSearch__field--guests{flex:0 0 130px;width:130px}
.htt-search .htt-bookSearch__action{display:flex;align-items:center;justify-content:center;flex:0 0 46px;width:46px;padding:2px}
.htt-search .htt-bookSearch__control,
.htt-searchTarget{
  min-height:40px;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  box-shadow:none!important;
}
.htt-search .htt-bookSearch__control{padding:5px 9px;color:#24365f!important}
.htt-search .htt-bookSearch__control:hover,
.htt-search .htt-bookSearch__control:focus,
.htt-search .htt-bookSearch__control[aria-expanded="true"]{border:0!important;background:#f5f8fc!important;box-shadow:none!important}
.htt-search .htt-bookSearch__icon{width:22px;flex:0 0 22px;margin-right:4px;color:#e96b1a}
.htt-search .htt-bookSearch__icon svg,
.htt-searchTarget__icon svg,
.htt-search .htt-bookSearch__submit--icon svg{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.htt-search .htt-bookSearch__valueMain{font-size:14px;line-height:1.16;font-weight:600;white-space:nowrap}
.htt-search .htt-bookSearch__valueSub{font-size:10px;line-height:1.12}
.htt-search .htt-bookSearch__submit--icon{
  display:inline-flex;align-items:center;justify-content:center;width:40px;min-width:40px;height:40px;min-height:40px;margin:0;padding:0;border:0;border-radius:50%;background:var(--htt-color-brand);color:var(--htt-color-surface);box-shadow:none;cursor:pointer
}
.htt-search .htt-bookSearch__submitLabel{display:none}
.htt-search .htt-bookSearch__submit--icon:hover,.htt-search .htt-bookSearch__submit--icon:focus{background:var(--htt-color-brand-hover);color:var(--htt-color-surface);outline:none;box-shadow:0 0 0 3px rgba(23,105,194,.14)}

.htt-searchTarget{position:relative;display:flex;align-items:center;width:100%;color:#24365f;transition:background-color .18s ease}
.htt-searchTarget:focus-within{background:#f5f8fc!important}
.htt-searchTarget__icon{display:flex;align-items:center;justify-content:center;width:34px;flex:0 0 34px;color:#425a78}
.htt-searchTarget__input{
  appearance:none!important;-webkit-appearance:none!important;flex:1;min-width:0;height:40px!important;margin:0!important;padding:0 30px 0 0!important;border:0!important;box-shadow:none!important;background:transparent!important;color:var(--htt-color-text)!important;font-size:14px!important;font-weight:600!important;outline:0!important
}
.htt-searchTarget__input::placeholder{color:#758197;font-weight:400}
.htt-searchTarget__input::-webkit-search-cancel-button,.htt-searchTarget__input::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none}
.htt-searchTarget__clear{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;padding:0;border:0;border-radius:50%;background:transparent;color:#66758a;font-size:18px;line-height:1;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .14s ease,background-color .14s ease}
.htt-mobileSearchClose{display:none}
.htt-searchTarget:hover .htt-searchTarget__clear,.htt-searchTarget:focus-within .htt-searchTarget__clear{opacity:1;pointer-events:auto}
.htt-searchTarget__clear:hover,.htt-searchTarget__clear:focus{background:#eaf0f7;outline:none}.htt-searchTarget__clear[hidden]{display:none}

/* Existing booking popovers stay canonical, only presentation is polished here. */
.htt-search .htt-bookSearch__panel{top:calc(100% + 8px);border-radius:14px;box-shadow:0 18px 45px rgba(15,23,42,.15)}
.htt-search .htt-bookSearch__panel--date{left:0}
.htt-search .htt-bookSearch__panel--guests{right:0;left:auto}

/* Mixed entity suggestions: maximum eight entities + one explicit free-text action. */
.htt-searchSuggest{position:absolute;z-index:1000;top:calc(100% + 8px);left:0;width:min(630px,calc(100vw - 32px));max-height:min(610px,72vh);overflow:auto;padding:8px;box-sizing:border-box;border:1px solid var(--htt-color-border);border-radius:var(--htt-radius-md);background:var(--htt-color-surface);box-shadow:0 20px 48px rgba(15,23,42,.18)}
.htt-searchSuggest[hidden]{display:none}
.htt-searchSuggest__item,.htt-searchSuggest__seeAll{appearance:none;display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px;align-items:center;width:100%;min-height:56px;padding:7px 9px;border:0;border-radius:10px;background:var(--htt-color-surface);color:var(--htt-color-text);text-align:left;cursor:pointer}
.htt-searchSuggest__item.has-image{grid-template-columns:28px 40px minmax(0,1fr);gap:9px}
.htt-searchSuggest__item:hover,.htt-searchSuggest__item.is-active,.htt-searchSuggest__seeAll:hover,.htt-searchSuggest__seeAll.is-active{background:#eef5ff}
.htt-searchSuggest__entityIcon{display:flex;align-items:center;justify-content:center;width:26px;height:26px;color:var(--htt-color-brand)}
.htt-searchSuggest__entityIcon svg,.htt-searchSuggest__seeAllIcon svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.htt-searchSuggest__entityIcon--tour_type{color:#23945c}.htt-searchSuggest__entityIcon--tour{color:#f36b21}.htt-searchSuggest__entityIcon--cruise{color:#5546d9}.htt-searchSuggest__entityIcon--collection{color:#d99a00}
.htt-searchSuggest__thumb{display:flex;align-items:center;justify-content:center;width:40px;height:40px;overflow:hidden;border-radius:9px;background:#f0f4f8}
.htt-searchSuggest__thumb img{display:block;width:100%;height:100%;object-fit:cover}
.htt-searchSuggest__main{min-width:0}.htt-searchSuggest__label{display:block;overflow:hidden;color:var(--htt-color-text);font-size:14px;font-weight:700;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.htt-searchSuggest__sub{display:block;margin-top:2px;overflow:hidden;color:#758197;font-size:12px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.htt-searchSuggest__seeAll{grid-template-columns:28px minmax(0,1fr);min-height:48px;margin-top:6px;padding:8px 10px;border-top:1px solid #e7ebf0;border-radius:0 0 9px 9px;color:var(--htt-color-brand);font-weight:700}.htt-searchSuggest__seeAllIcon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--htt-color-brand)}.htt-searchSuggest__seeAll strong{color:var(--htt-color-text)}

.htt-search--stacked .htt-bookSearch__inner{flex-direction:column;border-radius:20px;padding:5px}
.htt-search--stacked .htt-bookSearch__inner>*{width:100%;max-width:none;flex:1 1 auto;border:0!important}
.htt-search--stacked .htt-bookSearch__field + .htt-bookSearch__field{border-top:1px solid #e5e9ef!important}
.htt-search--stacked .htt-bookSearch__action{width:100%;padding:7px 4px 4px}
.htt-search--stacked .htt-bookSearch__submit--icon{width:100%;height:42px;border-radius:12px;gap:7px}
.htt-search--stacked .htt-bookSearch__submitLabel{display:inline}

/* Once the active fields no longer fit comfortably, every row becomes full-width. */
@container (max-width:540px){
  .htt-search--horizontal .htt-bookSearch__inner{display:flex;flex-direction:column;border-radius:18px;padding:5px}
  .htt-search--horizontal .htt-bookSearch__inner>*{width:100%;max-width:none;flex:1 1 auto;border:0!important}
  .htt-search--horizontal .htt-bookSearch__field--target{min-width:0}
  .htt-search--horizontal .htt-bookSearch__field + .htt-bookSearch__field{border-top:1px solid #e5e9ef!important}
  .htt-search--horizontal .htt-bookSearch__action{width:100%;padding:7px 4px 4px}
  .htt-search--horizontal .htt-bookSearch__submit--icon{width:100%;height:42px;min-height:42px;border-radius:12px;gap:7px}
  .htt-search--horizontal .htt-bookSearch__submitLabel{display:inline}
}
@media(max-width:560px){
  body.htt-search-lock{position:fixed!important;left:0;right:0;top:var(--htt-search-lock-y,0);width:100%;overflow:hidden!important}

  /* A single enabled Search field keeps the desktop-like one-row action. */
  .htt-search[data-htt-search-field-count="1"] .htt-bookSearch__inner{flex-direction:row;border-radius:999px;padding:3px}
  .htt-search[data-htt-search-field-count="1"] .htt-bookSearch__inner>*{width:auto;max-width:none;border:0!important}
  .htt-search[data-htt-search-field-count="1"] .htt-bookSearch__field--target{flex:1 1 auto;min-width:0}
.htt-search[data-htt-search-field-count="1"] .htt-bookSearch__field{flex:1 1 auto!important;width:auto!important;min-width:0!important}
  .htt-search[data-htt-search-field-count="1"] .htt-bookSearch__action{flex:0 0 46px;width:46px;padding:2px}
  .htt-search[data-htt-search-field-count="1"] .htt-bookSearch__submit--icon{width:40px;min-width:40px;height:40px;min-height:40px;border-radius:50%}
  .htt-search[data-htt-search-field-count="1"] .htt-bookSearch__submitLabel{display:none}

  /* Mobile Search uses a dedicated sheet instead of dropping suggestions over the field. */
  .htt-search.is-mobile-search-open{position:relative!important;z-index:2147483000!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
  .htt-search.is-mobile-search-open .htt-bookSearch{
    position:fixed!important;left:0!important;right:0!important;top:var(--htt-mobile-search-top,0)!important;bottom:auto!important;height:var(--htt-mobile-search-height,100dvh)!important;z-index:2147483000!important;max-width:none!important;margin:0!important;padding:8px 8px calc(8px + env(safe-area-inset-bottom))!important;
    box-sizing:border-box;background:rgba(20,31,45,.36);display:flex!important;align-items:flex-start;justify-content:center;overflow:hidden!important
  }
  .htt-search.is-mobile-search-open .htt-bookSearch__inner{
    display:flex!important;flex-direction:column!important;align-items:stretch!important;width:min(100%,560px)!important;height:100%!important;max-height:100%!important;
    margin:0 auto!important;padding:10px!important;border:0!important;border-radius:18px!important;background:var(--htt-color-surface)!important;box-shadow:0 20px 55px rgba(15,23,42,.2)!important;overflow:hidden!important;overscroll-behavior:contain
  }
  .htt-search.is-mobile-search-open .htt-bookSearch__inner>*{width:100%!important;max-width:none!important;flex:0 0 auto!important;border:0!important}
  .htt-search.is-mobile-search-open .htt-bookSearch__field + .htt-bookSearch__field{border-top:1px solid #edf0f4!important}
  .htt-search.is-mobile-search-open .htt-bookSearch__field--target{order:0;min-width:0!important;border:0!important;border-radius:0!important;background:transparent!important;padding:48px 0 0!important;position:relative!important;z-index:2;flex:0 0 auto!important}
  .htt-search.is-mobile-search-open .htt-mobileSearchClose{position:absolute;top:0;right:0;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--htt-color-text);font-size:30px;font-weight:300;line-height:1;cursor:pointer;z-index:4}
  .htt-search.is-mobile-search-open .htt-mobileSearchClose:hover{background:#f3f6f9;color:var(--htt-color-text)}
  .htt-search.is-mobile-search-open .htt-mobileSearchClose:focus{outline:0}
  .htt-search.is-mobile-search-open .htt-mobileSearchClose:focus-visible{outline:var(--htt-focus-outline,2px solid #1769c2);outline-offset:2px;background:#f3f6f9}

  .htt-search.is-mobile-search-open .htt-bookSearch__field--date{order:1;flex:0 0 auto!important}
  .htt-search.is-mobile-search-open .htt-bookSearch__field--guests{order:2;flex:0 0 auto!important}
  .htt-search.is-mobile-search-open .htt-searchSuggest{order:3}
  .htt-search.is-mobile-search-open .htt-bookSearch__action{order:4;width:100%!important;padding:8px 0 0!important;flex:0 0 auto!important}
  .htt-search.is-mobile-search-open .htt-bookSearch__submit--icon{width:100%!important;height:44px!important;min-height:44px!important;border-radius:11px!important;gap:7px}
  .htt-search.is-mobile-search-open .htt-bookSearch__submitLabel{display:inline}
  .htt-search.is-mobile-search-open .htt-searchTarget{min-height:48px!important;border:1px solid #cfd9e6!important;border-radius:12px!important;background:var(--htt-color-surface)!important;padding:0 6px!important}
  .htt-search.is-mobile-search-open .htt-searchTarget__icon{width:28px;flex-basis:28px}
  .htt-search.is-mobile-search-open .htt-searchTarget__input{height:46px!important;font-size:16px!important}
  .htt-search.is-mobile-search-open .htt-searchTarget__clear{opacity:1;pointer-events:auto}
  .htt-search.is-mobile-search-open .htt-searchSuggest{position:static!important;left:auto!important;right:auto!important;top:auto!important;width:100%!important;min-height:0!important;max-height:none!important;margin:8px 0 0;padding:6px 0 0;border:0;border-top:1px solid #edf0f4;border-radius:0;background:var(--htt-color-surface);box-shadow:none;overflow:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1 1 auto!important}
  .htt-search.is-mobile-search-open .htt-searchSuggest__item,.htt-search.is-mobile-search-open .htt-searchSuggest__seeAll{min-height:58px;padding:8px 6px}
  .htt-search.is-mobile-search-open .htt-bookSearch__panel--date,.htt-search.is-mobile-search-open .htt-bookSearch__panel--guests{position:static!important;left:auto!important;right:auto!important;top:auto!important;width:100%!important;max-width:none!important;margin:0!important;box-shadow:none!important;border:0!important;border-top:1px solid #edf0f4!important;border-radius:0!important}

  /* Closed mobile state keeps canonical popovers within the viewport. */
  .htt-search:not(.is-mobile-search-open) .htt-searchSuggest{position:fixed;left:12px;right:12px;top:auto;width:auto;max-height:min(62vh,560px)}
  .htt-search:not(.is-mobile-search-open) .htt-bookSearch__panel--date,.htt-search:not(.is-mobile-search-open) .htt-bookSearch__panel--guests{position:fixed;left:12px;right:12px;top:auto;width:auto;max-width:none}
}
@media(max-width:560px){
  .htt-searchTarget__input{font-size:16px!important}
}
@media (max-width:782px){.htt-search{--htt-search-sticky-top:0px}body.admin-bar .htt-search{--htt-search-sticky-top:46px}}
@media (min-width:783px){body.admin-bar .htt-search{--htt-search-sticky-top:32px}}
.htt-search .screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* #337 accessibility QA. */
.htt-searchTarget:focus-within{box-shadow:0 0 0 2px rgba(23,105,194,.22)!important}
.htt-searchTarget__clear:focus-visible{outline:var(--htt-focus-outline);outline-offset:var(--htt-focus-offset);background:#eaf0f7}
.htt-searchSuggest__item:focus-visible,.htt-searchSuggest__seeAll:focus-visible{outline:var(--htt-focus-outline);outline-offset:-2px;background:#eef5ff}
.htt-search .htt-bookSearch__submit--icon:focus-visible{outline:var(--htt-focus-outline);outline-offset:var(--htt-focus-offset);box-shadow:none}
@media(prefers-reduced-motion:reduce){
  .htt-searchTarget,.htt-searchTarget__clear,.htt-search .htt-bookSearch__submit--icon{transition:none!important}
}

/* #364 compact sticky Search — presentation only; normal Search remains canonical. */
.htt-search.is-stuck{
  padding:7px 16px;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid #e4e9f0;
  box-shadow:0 8px 24px rgba(15,23,42,.11);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
.htt-search.is-stuck .htt-bookSearch{max-width:720px}
.htt-search.is-stuck .htt-bookSearch__inner{
  min-height:46px;
  padding:3px;
  border:1px solid #d7e0ea;
  border-radius:14px;
  box-shadow:none;
}
.htt-search.is-stuck .htt-bookSearch__control,.htt-search.is-stuck .htt-searchTarget{min-height:38px;border-radius:10px!important}
.htt-search.is-stuck .htt-searchTarget__input{height:38px!important}
.htt-search.is-stuck .htt-bookSearch__field--target{flex:1 1 auto;min-width:230px}
.htt-search.is-stuck .htt-bookSearch__field--date{flex:0 0 136px;width:136px}
.htt-search.is-stuck .htt-bookSearch__field--guests{flex:0 0 122px;width:122px}
.htt-search.is-stuck .htt-bookSearch__action{flex:0 0 44px;width:44px;padding:1px}
.htt-search.is-stuck .htt-bookSearch__submit--icon{
  width:40px;min-width:40px;height:38px;min-height:38px;padding:0;border-radius:10px;gap:0
}
.htt-search.is-stuck .htt-bookSearch__submit--icon svg{width:17px;height:17px}
.htt-search.is-stuck .htt-bookSearch__submitLabel{display:none}
.htt-search.is-stuck .htt-bookSearch__valueMain{font-size:13px}
.htt-search.is-stuck .htt-bookSearch__valueSub{display:none}

@media(max-width:560px){
  .htt-search.is-stuck:not(.is-mobile-search-open){padding:6px 8px}
  .htt-search.is-stuck:not(.is-mobile-search-open) .htt-bookSearch{max-width:none!important}
  .htt-search.is-stuck:not(.is-mobile-search-open) .htt-bookSearch__inner{
    display:flex!important;flex-direction:row!important;align-items:stretch!important;gap:0!important;
    width:100%!important;min-height:46px!important;padding:3px!important;border-radius:14px!important;overflow:visible!important
  }
  .htt-search.is-stuck:not(.is-mobile-search-open) .htt-bookSearch__inner>*{width:auto!important;max-width:none!important;border:0!important;flex:0 1 auto!important;min-width:0!important}
  .htt-search.is-stuck:not(.is-mobile-search-open) .htt-bookSearch__field + .htt-bookSearch__field{border-left:1px solid #e5e9ef!important;border-top:0!important}
  .htt-search.is-stuck:not(.is-mobile-search-open) .htt-bookSearch__field--target{flex:1 1 150px!important;min-width:74px!important}
  .htt-search.is-stuck:not(.is-mobile-search-open) .htt-bookSearch__field--date{flex:0 1 112px!important;width:auto!important}
  .htt-search.is-stuck:not(.is-mobile-search-open) .htt-bookSearch__field--guests{flex:0 1 102px!important;width:auto!important}
  .htt-search.is-stuck:not(.is-mobile-search-open) .htt-bookSearch__action{flex:0 0 42px!important;width:42px!important;padding:1px!important}
  .htt-search.is-stuck:not(.is-mobile-search-open) .htt-bookSearch__control{width:100%!important;min-width:0!important;padding:4px 6px!important;overflow:hidden}
  .htt-search.is-stuck:not(.is-mobile-search-open) .htt-bookSearch__icon{width:20px;flex-basis:20px;margin-right:3px}
  .htt-search.is-stuck:not(.is-mobile-search-open) .htt-bookSearch__value{min-width:0;overflow:hidden}
  .htt-search.is-stuck:not(.is-mobile-search-open) .htt-bookSearch__valueMain{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
  .htt-search.is-stuck:not(.is-mobile-search-open) .htt-searchTarget__icon{width:27px;flex-basis:27px}
  .htt-search.is-stuck:not(.is-mobile-search-open) .htt-searchTarget__input{height:38px!important;padding-right:4px!important;font-size:13px!important;text-overflow:ellipsis;white-space:nowrap}
  .htt-search.is-stuck:not(.is-mobile-search-open) .htt-searchTarget__clear{display:none!important}
  .htt-search.is-stuck:not(.is-mobile-search-open) .htt-bookSearch__submit--icon{width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;padding:0!important;border-radius:10px!important}
  .htt-search.is-stuck:not(.is-mobile-search-open) .htt-bookSearch__submitLabel{display:none!important}

  .htt-search.is-stuck:not(.is-mobile-search-open)[data-htt-mobile-sticky-target="0"] .htt-bookSearch__field--target{display:none!important}
  .htt-search.is-stuck:not(.is-mobile-search-open)[data-htt-mobile-sticky-date="0"] .htt-bookSearch__field--date{display:none!important}
  .htt-search.is-stuck:not(.is-mobile-search-open)[data-htt-mobile-sticky-guests="0"] .htt-bookSearch__field--guests{display:none!important}
  .htt-search.is-stuck:not(.is-mobile-search-open)[data-htt-mobile-sticky-action="0"] .htt-bookSearch__action{display:none!important}
  .htt-search.is-stuck:not(.is-mobile-search-open) .htt-mobileStickyHidden{display:none!important}
}

@media(max-width:560px){
  .htt-search.is-stuck:not(.is-mobile-search-open)[data-htt-mobile-sticky-target="0"] .htt-bookSearch__field--date,
  .htt-search.is-stuck:not(.is-mobile-search-open)[data-htt-mobile-sticky-target="0"] .htt-bookSearch__field--guests{flex:1 1 0!important;width:auto!important}
}
