/* Product-card rules are owned by cards.css and loaded through CardAssets. */
.htt-wrap{
  width:100%;max-width:1180px;margin:0 auto;padding:26px 18px 48px;
  background:var(--htt-color-surface);box-sizing:border-box;color:#172033
}
.htt-srOnly{
  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
}
.htt-discovery__breadcrumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 15px;color:#687386;font-size:13px}
.htt-discovery__breadcrumb a{color:#3767a6;text-decoration:none}
.htt-discovery__breadcrumb a:hover{text-decoration:underline}
.htt-discovery__breadcrumbSep{color:#a0a9b6}
.htt-discoveryIntro{margin:0 0 20px}
.htt-catalogHead{margin:0}
.htt-catalogHead__eyebrow{margin:0 0 6px;color:#6b7890;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.htt-catalogHead h1{margin:0 0 9px;font-size:34px;line-height:1.15;color:var(--htt-color-text)}
.htt-term-desc{max-width:820px;color:#596579;line-height:1.6}
.htt-term-desc p{margin:0}
.htt-discoveryActive a{
  display:inline-flex;gap:6px;align-items:center;padding:8px 11px;border:1px solid #dce3ec;
  border-radius:999px;background:var(--htt-color-surface);color:#284c7a;text-decoration:none;font-size:13px
}
.htt-discoveryActive a:hover{border-color:#8fb0d8;background:#f7fbff}
.htt-discovery__form{margin:0}
/* Discovery intentionally reuses the canonical Booking Date/Guests component. */

.htt-discoveryToolbar{
  display:flex;justify-content:space-between;gap:16px;align-items:center;margin:24px 0 12px
}
.htt-discoveryToolbar__count{color:#3e4a5d}
.htt-discoveryToolbar__actions{display:flex;align-items:center;gap:10px;min-width:0}
.htt-discoveryToolbar label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--htt-color-muted)}
.htt-discoveryToolbar select{
  min-width:190px;min-height:38px;border:1px solid #d7dee8;border-radius:9px;
  padding:7px 30px 7px 10px;background:var(--htt-color-surface);color:var(--htt-color-text);font-size:14px;font-weight:400;line-height:1.3
}
.htt-discoveryToolbar select:focus-visible{outline:2px solid var(--htt-color-brand);outline-offset:2px}
.htt-filterToggle,.htt-sortToggle{
  appearance:none;-webkit-appearance:none;align-items:center;justify-content:center;gap:7px;
  border:1px solid #d7dee8;border-radius:9px;background:var(--htt-color-surface);color:var(--htt-color-text);-webkit-text-fill-color:var(--htt-color-text);
  min-height:40px;padding:8px 13px;font:inherit;font-size:14px;font-weight:700;line-height:1.2;cursor:pointer;opacity:1
}
.htt-filterToggle{display:none}
.htt-sortToggle{display:none;min-width:0;max-width:65vw}
.htt-filterToggle svg,.htt-sortToggle svg{
  width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round
}
.htt-sortToggle span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.htt-filterToggle:hover,.htt-sortToggle:hover{border-color:#aebaca;background:#f8fafc;color:var(--htt-color-text)}
.htt-filterToggle:focus-visible,.htt-sortToggle:focus-visible{outline:2px solid var(--htt-color-brand);outline-offset:2px}
.htt-sortToggle:focus-visible{background:var(--htt-color-surface)!important;color:var(--htt-color-text)!important;-webkit-text-fill-color:var(--htt-color-text)!important;box-shadow:none!important}
.htt-filterToggle:active,.htt-sortToggle:active{background:#edf4fb;color:var(--htt-color-text)}
.htt-sortToggle:focus:not(:focus-visible){background:var(--htt-color-surface)!important;color:var(--htt-color-text)!important;-webkit-text-fill-color:var(--htt-color-text)!important;outline:0!important;box-shadow:none!important}

.htt-discoveryActive{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:0 0 14px}
.htt-discoveryActive__clear{
  border-color:transparent!important;background:transparent!important;color:#5b6b7d!important;
  padding-left:5px!important;padding-right:5px!important;font-weight:700
}
.htt-discoveryActive__clear:hover{color:var(--htt-color-brand)!important;text-decoration:underline}

.htt-discoveryLayout{display:grid;grid-template-columns:275px minmax(0,1fr);gap:24px;align-items:start}
.htt-discoveryLayout--noFilters{grid-template-columns:minmax(0,1fr)}
.htt-discoveryFilters{
  position:sticky;top:18px;border:1px solid var(--htt-color-border);border-radius:13px;background:var(--htt-color-surface);overflow:visible
}
.htt-discoveryFilters.is-stuck{display:flex;max-height:calc(100vh - 36px);flex-direction:column;overflow:hidden}
.htt-discoveryFilters__head{
  display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #edf0f4;background:var(--htt-color-surface)
}
.htt-discoveryFilters__head button{display:none;border:0;background:none;color:#26374d;font-size:26px;line-height:1;cursor:pointer}
.htt-discoveryFilters__body{min-height:0}
.htt-discoveryFilters.is-stuck .htt-discoveryFilters__body{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.htt-discoveryFilters fieldset{border:0;border-bottom:1px solid #edf0f4;margin:0;padding:23px 16px 16px}
.htt-discoveryFilters fieldset:last-of-type{border-bottom:0}
.htt-discoveryFilters legend{font-weight:800;font-size:14px;line-height:1.3;margin:0 0 6px;padding:0}
.htt-discoveryFilters fieldset>label{
  display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:5px 0;font-size:13px;cursor:pointer
}
.htt-discoveryFilters fieldset>label input[type="checkbox"]{accent-color:var(--htt-color-brand)}
.htt-discoveryFilters fieldset>label small{color:#8791a2}

/* Dual-handle price range. Default 0/max is context, not an active filter. */
.htt-priceRange{position:relative;padding:4px 0 0}
.htt-priceRange__track{height:5px;margin:12px 7px 18px;border-radius:999px;background:#dce4ee;position:relative}
.htt-priceRange__track span{position:absolute;top:0;bottom:0;border-radius:999px;background:var(--htt-color-brand)}
.htt-priceRange__slider{
  position:absolute;left:0;right:0;top:2px;width:100%;height:24px;margin:0;background:transparent;
  pointer-events:none;appearance:none;-webkit-appearance:none
}
.htt-priceRange__slider::-webkit-slider-runnable-track{height:5px;background:transparent}
.htt-priceRange__slider::-moz-range-track{height:5px;background:transparent}
.htt-priceRange__slider::-webkit-slider-thumb{
  width:18px;height:18px;margin-top:-6px;border:2px solid var(--htt-color-surface);border-radius:50%;background:var(--htt-color-brand);
  box-shadow:0 1px 4px rgba(16,42,75,.22);pointer-events:auto;cursor:pointer;appearance:none;-webkit-appearance:none
}
.htt-priceRange__slider::-moz-range-thumb{
  width:18px;height:18px;border:2px solid var(--htt-color-surface);border-radius:50%;background:var(--htt-color-brand);
  box-shadow:0 1px 4px rgba(16,42,75,.22);pointer-events:auto;cursor:pointer
}
.htt-priceRange__inputs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:7px;align-items:end}
.htt-priceRange__inputs label{
  display:flex!important;flex-direction:column;gap:4px!important;padding:0!important;cursor:default!important;min-width:0
}
.htt-priceRange__inputs label>span:first-child{font-size:11px;color:#788496}
.htt-priceRange__money{
  display:flex!important;align-items:center!important;gap:6px!important;width:100%;height:36px;box-sizing:border-box;
  border:1px solid #d8e0e9;border-radius:12px;background:var(--htt-color-surface);padding:0 10px;color:#172033
}
.htt-priceRange__money:focus-within{border-color:#7fa7d5;box-shadow:0 0 0 2px rgba(23,105,194,.1)}
.htt-priceRange__currency{flex:0 0 auto!important;font-size:13px!important;color:#172033!important;line-height:1}
.htt-priceRange__inputs input{
  width:100%;min-width:0;height:32px;box-sizing:border-box;border:0!important;outline:0;background:var(--htt-color-surface)!important;
  box-shadow:none!important;padding:0!important;font-size:13px;font-weight:400;color:#172033;font-variant-numeric:tabular-nums;-moz-appearance:textfield
}
.htt-priceRange__inputs input::-webkit-outer-spin-button,.htt-priceRange__inputs input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.htt-priceRange__dash{padding-bottom:9px;color:#8a94a3}
.htt-discoveryFilters__mobileApply{display:none}

.htt-discoveryResults{display:flex;flex-direction:column;gap:16px;min-width:0}
.htt-infinite{display:block;min-height:2px;text-align:center}
.htt-infinite__sentinel{height:2px}
.htt-infinite__status{min-height:24px;padding:5px 0;color:#718096;font-size:12px}
.htt-infinite__status.is-loading::before{content:'';display:inline-block;width:12px;height:12px;margin-right:7px;border:2px solid #d6e1ee;border-top-color:var(--htt-color-brand);border-radius:50%;vertical-align:-2px;animation:httInfiniteSpin .7s linear infinite}
.htt-infinite__retry{min-height:38px;padding:7px 14px;border:1px solid #cbd7e5;border-radius:9px;background:var(--htt-color-surface);color:#28527f;font:inherit;font-weight:700;cursor:pointer}
.htt-infinite__retry:hover{background:#f7fbff;border-color:#9bb8da}
.htt-infinite.is-complete{display:none}
@keyframes httInfiniteSpin{to{transform:rotate(360deg)}}
.htt-discoveryEmpty{
  padding:48px 30px;border:1px solid var(--htt-color-border);border-radius:15px;background:#fbfcfe;text-align:center;color:#5e697b
}
.htt-discoveryEmpty__icon{
  display:flex;width:42px;height:42px;margin:0 auto 12px;align-items:center;justify-content:center;border-radius:50%;
  background:#eef4fb;color:#3973b7;font-size:24px;line-height:1
}
.htt-discoveryEmpty__icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.htt-discoveryEmpty h2{margin:0 0 8px;color:var(--htt-color-text);font-size:20px}
.htt-discoveryEmpty p{max-width:540px;margin:0 auto 15px;line-height:1.55}
.htt-discoveryEmpty a{display:inline-flex;color:var(--htt-color-brand);font-weight:700;text-decoration:none}
.htt-discoveryEmpty a:hover{text-decoration:underline}
.htt-pagination{display:flex;justify-content:center;align-items:center;gap:6px;margin:30px 0 0}
.htt-pagination__page,.htt-pagination__arrow{
  display:inline-flex;min-width:38px;height:38px;box-sizing:border-box;align-items:center;justify-content:center;padding:0 8px;
  border:1px solid #dce3ec;border-radius:9px;background:var(--htt-color-surface);color:#32445c;text-decoration:none;font-size:13px;font-weight:700
}
.htt-pagination a:hover{border-color:#9bb8da;background:#f7fbff;color:var(--htt-color-brand)}
.htt-pagination__page.is-current{border-color:var(--htt-color-brand);background:var(--htt-color-brand);color:var(--htt-color-surface)}
.htt-pagination__arrow.is-disabled{opacity:.35}
.htt-pagination__ellipsis{display:inline-flex;min-width:28px;height:38px;align-items:center;justify-content:center;color:#7d8796}

/* Mobile Sort is intentionally separate from the batched Filter draft state. */
.htt-sortSheet{display:none}
body.htt-discovery-lock{overflow:hidden}

@media(min-width:821px){body.admin-bar .htt-discoveryFilters{top:50px}.htt-discoveryFilters.is-stuck{max-height:calc(100vh - 68px)}}
@media(max-width:980px){
  .htt-discoveryLayout{grid-template-columns:235px minmax(0,1fr);gap:16px}
}

/* Keep horizontal cards readable in the narrow desktop/tablet band where the Filter sidebar is still visible. */
@media(max-width:900px) and (min-width:821px){
  .htt-discoveryLayout{grid-template-columns:225px minmax(0,1fr);gap:15px}
}

@media(max-width:820px){
  .htt-wrap{padding:20px 14px 34px}
  .htt-catalogHead h1{font-size:28px}
  .htt-discoveryToolbar{display:block;margin-top:18px}
  .htt-discoveryToolbar__count{margin-bottom:10px}
  .htt-discoveryToolbar__actions{display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px}
  .htt-filterToggle{display:inline-flex;flex:0 0 auto;margin-right:auto}
  .htt-sortDesktop{display:none!important}
  .htt-sortToggle{display:inline-flex;flex:0 1 auto;margin-left:auto}

  .htt-discoveryLayout{display:block}
  .htt-discoveryFilters{
    display:none;position:fixed;inset:0;z-index:99999;border:0;border-radius:0;overflow:hidden;padding-bottom:86px;flex-direction:column
  }
  .htt-discoveryFilters.is-open{display:flex;max-height:none}
  .htt-discoveryFilters__head{position:sticky;top:0;z-index:2;background:var(--htt-color-surface)}
  .htt-discoveryFilters__head button{display:block}
  .htt-discoveryFilters__body{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain}
  .htt-discoveryFilters fieldset{padding:23px 18px 16px}
  .htt-discoveryFilters fieldset>label{min-height:30px;padding:7px 0}
  .htt-discoveryFilters__mobileApply{
    display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;position:fixed;z-index:3;left:0;right:0;bottom:0;
    padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--htt-color-surface);border-top:1px solid var(--htt-color-border);
    box-shadow:0 -5px 20px rgba(18,34,57,.06)
  }
  .htt-discoveryFilters__mobileApply button{min-height:48px;border-radius:10px;font-weight:800;cursor:pointer;font:inherit}
  .htt-discoveryFilters__clear{padding:0 14px;border:1px solid #ccd6e2;background:var(--htt-color-surface);color:#28435f}
  .htt-discoveryFilters__show{width:100%;border:0;background:var(--htt-color-brand);color:var(--htt-color-surface);transition:opacity .15s ease}
  .htt-discoveryFilters__show.is-loading{opacity:.82}

  .htt-priceRange__slider::-webkit-slider-thumb{width:22px;height:22px;margin-top:-8px}
  .htt-priceRange__slider::-moz-range-thumb{width:22px;height:22px}

  .htt-sortSheet:not([hidden]){
    display:flex;position:fixed;inset:0;z-index:100000;align-items:flex-end;justify-content:center
  }
  .htt-sortSheet__backdrop{
    position:absolute;inset:0;border:0;background:rgba(20,31,45,.36)!important;color:transparent!important;cursor:pointer;outline:0;box-shadow:none;-webkit-tap-highlight-color:transparent
  }
  .htt-sortSheet__backdrop:hover,.htt-sortSheet__backdrop:focus,.htt-sortSheet__backdrop:active{background:rgba(20,31,45,.36)!important;color:transparent!important;outline:0!important;box-shadow:none!important}
  .htt-sortSheet__panel{
    position:relative;width:min(100%,560px);max-height:min(72vh,520px);overflow:auto;background:var(--htt-color-surface);
    border-radius:18px 18px 0 0;padding-bottom:calc(10px + env(safe-area-inset-bottom));
    box-shadow:0 -12px 36px rgba(17,34,57,.18)
  }
  .htt-sortSheet__head{
    display:flex;align-items:center;justify-content:space-between;padding:17px 18px 13px;border-bottom:1px solid #edf0f4
  }
  .htt-sortSheet__head strong{font-size:17px;color:var(--htt-color-text)}
  .htt-sortSheet__head button{border:0;background:transparent;color:#2d3d52;font-size:27px;line-height:1;cursor:pointer}
  .htt-sortSheet__options{padding:6px 10px 10px}
  .htt-sortSheet__options button{
    display:flex;width:100%;align-items:center;justify-content:space-between;gap:14px;padding:13px 10px;border:0;border-bottom:1px solid #f0f2f5;
    background:var(--htt-color-surface);color:#223047;text-align:left;font:inherit;font-size:14px;cursor:pointer
  }
  .htt-sortSheet__options button:last-child{border-bottom:0}
  .htt-sortSheet__options button:hover{background:#f4f7fb;color:#223047;outline:0}
  .htt-sortSheet__options button:focus-visible{background:#eef5ff;color:var(--htt-color-text);outline:2px solid var(--htt-color-brand);outline-offset:-2px}
  .htt-sortSheet__options button.is-selected{background:#eef5ff;color:var(--htt-color-text);font-weight:800}
  .htt-sortSheet__options button.is-selected:hover{background:#e7f1fd;color:var(--htt-color-text)}
  .htt-sortSheet__options button.is-selected:active{background:#dfeafa;color:var(--htt-color-text)}
  .htt-sortSheet__check{visibility:hidden;color:var(--htt-color-brand);font-size:17px}
  .htt-sortSheet__options button.is-selected .htt-sortSheet__check{visibility:visible}

  .htt-pagination__page,.htt-pagination__arrow{min-width:36px;height:36px}
  .htt-pagination__ellipsis{height:36px}
}

@media(max-width:560px){
  .htt-discoveryToolbar__actions{gap:8px}
  .htt-filterToggle,.htt-sortToggle{min-height:41px;padding:8px 11px;font-size:13px}
  .htt-sortToggle{max-width:64vw}
  .htt-pagination{gap:4px}
  .htt-pagination__page,.htt-pagination__arrow{min-width:34px;height:34px;padding:0 6px}
}

@media(max-width:360px){
  .htt-sortToggle{max-width:60vw}
  .htt-filterToggle,.htt-sortToggle{padding-left:9px;padding-right:9px}
  .htt-discoveryFilters__mobileApply{padding-left:12px;padding-right:12px}
}

/* Legacy [htt_tours] shortcode now renders canonical Discovery cards. */
.htt-shortcodeDiscovery{display:grid;gap:16px}
.htt-shortcodeDiscovery__empty{margin:0;color:var(--htt-color-muted)}

/* Taxonomy landing hero. Search remains above breadcrumb/context by design. */
.htt-taxHero{margin:0 0 18px;border-radius:16px;overflow:hidden;background:#eef2f6;aspect-ratio:16/5;min-height:180px}
.htt-taxHero__image{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:767px){
  .htt-taxHero{margin:0 0 15px;border-radius:12px;aspect-ratio:16/7;min-height:140px}
  .htt-discoveryIntro{margin-bottom:18px}
}

/* #337 accessibility + narrow-screen QA. */
.htt-discovery__breadcrumb ol{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.htt-discovery__breadcrumb li{display:inline-flex;gap:8px;align-items:center;min-width:0}
.htt-discoveryActive a:focus-visible,
.htt-pagination a:focus-visible{outline:2px solid var(--htt-color-brand);outline-offset:2px}
.htt-discoveryFilters__head button:focus-visible,.htt-sortSheet__head button:focus-visible,
.htt-discoveryFilters__mobileApply button:focus-visible{outline:2px solid var(--htt-color-brand);outline-offset:2px}
.htt-priceRange__slider:focus-visible{outline:2px solid var(--htt-color-brand);outline-offset:3px}
.htt-discoveryFilters input[type="checkbox"]:focus-visible{outline:2px solid var(--htt-color-brand);outline-offset:2px}

@media(max-width:820px){
  .htt-discoveryFilters{height:100dvh;overscroll-behavior:contain}
  .htt-discoveryFilters__head{padding-top:calc(14px + env(safe-area-inset-top))}
  .htt-discoveryFilters__head button,.htt-sortSheet__head button{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:9px}
  .htt-discoveryFilters fieldset>label{min-height:44px}
  .htt-sortSheet__panel{overscroll-behavior:contain}
}

@media(max-width:390px){
  .htt-discoveryFilters__mobileApply{grid-template-columns:minmax(92px,.7fr) minmax(0,1.3fr);gap:8px}
  .htt-discoveryFilters__mobileApply{grid-template-columns:minmax(92px,.7fr) minmax(0,1.3fr);gap:8px}
  .htt-discoveryFilters__clear{padding-left:10px;padding-right:10px}
}

@media(prefers-reduced-motion:reduce){
  .htt-discoveryFilters__show{transition:none!important}
  .htt-infinite__status.is-loading::before{animation:none!important}
}
