/*
 * India Bon Voyage - Viator-style category / destination / archive pages.
 * Loaded only on togo_trip archives and trip taxonomies (see functions.php).
 * Pure presentation: no content, URL or data is changed here.
 */
:root{
  --ibv-brand:#FD4621; --ibv-brand-dark:#e23a16; --ibv-brand-soft:#fff1ed;
  --ibv-ink:#111827; --ibv-muted:#6b7280; --ibv-line:#e5e7eb; --ibv-bg:#f6f7f9;
  --ibv-radius:12px; --ibv-shadow:0 1px 2px rgba(16,24,40,.06),0 4px 14px rgba(16,24,40,.06);
  --ibv-shadow-lg:0 2px 4px rgba(16,24,40,.06),0 14px 34px rgba(16,24,40,.12);
}

/* ---------- page background + compact header band ---------- */
.tax-togo_trip_destinations #content,
.post-type-archive-togo_trip #content,
.tax-togo_trip_destinations .site-content,
.post-type-archive-togo_trip .site-content{background:var(--ibv-bg)}

.tax-togo_trip_destinations .page-title,
.post-type-archive-togo_trip .page-title,
.tax-togo_trip_activities .page-title,
.tax-togo_trip_types .page-title,
.tax-togo_trip_durations .page-title{
  min-height:0 !important;
  padding-top:44px !important;
  padding-bottom:44px !important;
  position:relative;
}
.tax-togo_trip_destinations .page-title:before,
.post-type-archive-togo_trip .page-title:before{
  content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,26,43,.55),rgba(15,26,43,.78));z-index:0
}
.tax-togo_trip_destinations .page-title .page-title_inner,
.post-type-archive-togo_trip .page-title .page-title_inner{position:relative;z-index:1}
.page-title .page-title_heading{font-size:clamp(28px,4vw,40px) !important;letter-spacing:-.01em;line-height:1.15;text-shadow:0 2px 10px rgba(0,0,0,.25)}
.page-title .togo-breadcrumb{font-size:13px;opacity:.9}

/* ---------- left filter: clean white card ---------- */
.trip-wrapper .filter-canvas-wrapper .filter-canvas-content,.trip-wrapper .filter-canvas-wrapper .filter-content{background:#fff}

.filter-canvas-wrapper .filter-item{border-color:var(--ibv-line) !important}
.filter-canvas-wrapper .filter-checkbox input[type=checkbox]{accent-color:var(--ibv-brand)}
.filter-canvas-wrapper .filter-checkbox input[type=checkbox]:checked + *,
.filter-canvas-wrapper .filter-checkbox:has(input:checked){color:var(--ibv-ink);font-weight:600}
.filter-canvas-wrapper .noUi-connect,
.filter-canvas-wrapper .ui-slider-range{background:var(--ibv-brand) !important}

/* ---------- results bar ---------- */
.trip-list-header{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:0 2px 14px;margin-bottom:6px;
}
.trip-list-header__count{font-size:15px;font-weight:700;color:var(--ibv-ink)}
.trip-list-header__sort{border:1px solid var(--ibv-line);border-radius:10px;background:#fff}
.trip-list-header__sort-label{font-weight:600}

/* ---------- tour cards ---------- */
.type-trip-grid-04 .trip-inner{
  background:#fff;border:1px solid var(--ibv-line);border-radius:var(--ibv-radius);overflow:hidden;
  box-shadow:var(--ibv-shadow);height:100%;display:flex;flex-direction:column;
  transition:box-shadow .2s,transform .2s;
}
.type-trip-grid-04 .trip-inner:hover{box-shadow:var(--ibv-shadow-lg);transform:translateY(-3px)}
.type-trip-grid-04 .trip-thumbnail{overflow:hidden;border-radius:0 !important;aspect-ratio:4/3;background:#e9ebef}
.type-trip-grid-04 .trip-thumbnail a,
.type-trip-grid-04 .trip-thumbnail img{display:block;width:100%;height:100%;object-fit:cover}
.type-trip-grid-04 .trip-thumbnail img{transition:transform .4s}
.type-trip-grid-04 .trip-inner:hover .trip-thumbnail img{transform:scale(1.05)}

.type-trip-grid-04 .trip-wishlist{top:12px !important;right:12px !important}

.type-trip-grid-04 .trip-content{padding:14px 16px 16px !important;display:flex;flex-direction:column;gap:6px;flex:1}
.type-trip-grid-04 .trip-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--ibv-muted);margin:0 !important}
.type-trip-grid-04 .trip-location{text-transform:uppercase;letter-spacing:.04em;font-weight:600}
.type-trip-grid-04 .trip-review{font-weight:700;color:var(--ibv-ink)}
.type-trip-grid-04 .trip-review .togo-svg-icon,
.type-trip-grid-04 .trip-review svg{color:#f5a623 !important}
.type-trip-grid-04 .trip-review svg path{fill:#f5a623 !important;stroke:#f5a623 !important}

.type-trip-grid-04 .trip-title{margin:2px 0 0 !important;font-size:16px !important;line-height:1.35 !important;font-weight:700}
.type-trip-grid-04 .trip-title a{color:var(--ibv-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}
.type-trip-grid-04 .trip-title a:hover{color:var(--ibv-brand)}

.type-trip-grid-04 .trip-info{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--ibv-muted)}
.type-trip-grid-04 .trip-description{
  font-size:13px;line-height:1.5;color:var(--ibv-muted);margin:0 !important;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
}

.type-trip-grid-04 .trip-footer{
  margin-top:auto !important;padding-top:12px;border-top:1px solid var(--ibv-line);
  display:flex;align-items:flex-end;justify-content:space-between;gap:10px
}
.type-trip-grid-04 .trip-price .prefix,
.type-trip-grid-04 .trip-price .suffix{font-size:12px;color:var(--ibv-muted)}
.type-trip-grid-04 .trip-price .sale-price{font-size:20px;font-weight:800;color:var(--ibv-ink)}
.type-trip-grid-04 .trip-price .regular-price{font-size:13px;color:var(--ibv-muted)}
.type-trip-grid-04 .trip-view-detail .togo-button{
  background:var(--ibv-brand);border-color:var(--ibv-brand);color:#fff;border-radius:10px;
  padding:10px 16px;font-size:14px;font-weight:700;white-space:nowrap
}
.type-trip-grid-04 .trip-view-detail .togo-button:hover{background:var(--ibv-brand-dark);border-color:var(--ibv-brand-dark)}

/* ---------- category description text (SEO copy stays, just reads better) ---------- */
.tax-togo_trip_destinations .site-content > p,
.tax-togo_trip_destinations .site-content > div > p{max-width:880px}

/* ---------- mobile ---------- */
@media (max-width:767px){
  .tax-togo_trip_destinations .page-title,
  .post-type-archive-togo_trip .page-title{padding-top:30px !important;padding-bottom:30px !important}
  .type-trip-grid-04 .trip-title{font-size:15px !important}
  .type-trip-grid-04 .trip-view-detail .togo-button{padding:9px 14px}
}

/* ---- content sits in a centred box (same width as the header), hero stays full width ---- */
.tax-togo_trip_destinations #content > .site-content,.post-type-archive-togo_trip #content > .site-content,
.tax-togo_trip_activities .site-content,.tax-togo_trip_types .site-content,.tax-togo_trip_durations .site-content,
.tax-togo_trip_tod .site-content,.tax-togo_trip_languages .site-content,.tax-togo_trip_destinations .site-content,.post-type-archive-togo_trip .site-content{
  max-width:1320px;margin-left:auto !important;margin-right:auto !important;padding-left:24px !important;padding-right:24px !important;box-sizing:border-box
}
.tax-togo_trip_destinations .site-content > .trip-wrapper,.post-type-archive-togo_trip .site-content > .trip-wrapper{max-width:100%}
.filter-canvas-wrapper.open{z-index:2000 !important;top:0 !important}
.filter-canvas-overlay{z-index:1990 !important}

/* filter drawer close button */
.filter-canvas-wrapper{position:fixed}
.ibv-filter-close{display:none;position:fixed;top:14px;right:14px;z-index:2100;width:42px;height:42px;border-radius:50%;border:0;background:#fff;color:var(--ibv-ink);font-size:28px;line-height:1;box-shadow:0 6px 20px rgba(16,24,40,.25);cursor:pointer}
.filter-canvas-wrapper.open .ibv-filter-close{display:block}
@media (min-width:768px){.ibv-filter-close{left:calc(min(380px,100vw) - 54px);right:auto;top:132px}}

/* ---- same background on both sides of the boxed content ---- */
body.tax-togo_trip_destinations,body.post-type-archive-togo_trip,body.tax-togo_trip_activities,body.tax-togo_trip_types,body.tax-togo_trip_durations,body.tax-togo_trip_tod,body.tax-togo_trip_languages{background:var(--ibv-bg) !important}
body[class*="tax-togo_trip"] #content,body.post-type-archive-togo_trip #content,body[class*="tax-togo_trip"] .site-content,body.post-type-archive-togo_trip .site-content,body[class*="tax-togo_trip"] #wrapper{background:transparent !important}

/* ================= FILTER DRAWER (new design) ================= */
.filter-canvas-overlay{background:rgba(15,26,43,.55) !important}
.togo-trip-filter.layout-canvas{position:fixed !important;left:0;top:0;bottom:0;width:min(400px,92vw) !important;max-width:none !important;height:100vh;background:#fff;overflow-y:auto;overflow-x:hidden;z-index:2001;padding:0 !important;margin:0 !important;box-shadow:16px 0 50px rgba(16,24,40,.28);border-radius:0 20px 20px 0;display:block}
.ibv-filter-head{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:#fff;border-bottom:1px solid var(--ibv-line)}
.ibv-filter-head span{font-size:22px;font-weight:800;letter-spacing:-.01em;color:var(--ibv-ink)}
.ibv-filter-close{position:static !important;display:grid !important;place-items:center;width:40px;height:40px;border-radius:50%;border:0;background:var(--ibv-bg);color:var(--ibv-ink);font-size:26px;line-height:1;cursor:pointer;box-shadow:none !important}
.ibv-filter-close:hover{background:var(--ibv-line)}
.togo-trip-filter.layout-canvas .filter-item{padding:20px 24px !important;margin:0 !important;border:0 !important;border-bottom:1px solid var(--ibv-line) !important}
.togo-trip-filter.layout-canvas .filter-item__top h4{font-size:16px;font-weight:800;color:var(--ibv-ink);margin:0}
.togo-trip-filter.layout-canvas .filter-checkbox{padding:7px 0;display:flex;align-items:center;gap:10px;font-size:15px;color:var(--ibv-ink)}
.togo-trip-filter.layout-canvas .filter-checkbox input[type=checkbox]{width:19px;height:19px;accent-color:var(--ibv-brand)}
.togo-trip-filter .range-slider .incl-range{background:var(--ibv-brand) !important}
.togo-trip-filter .range-slider input[type=range]::-webkit-slider-thumb{background:#fff !important;border:3px solid var(--ibv-brand) !important;box-shadow:0 2px 8px rgba(16,24,40,.25)}
.togo-trip-filter .range-slider input[type=range]::-moz-range-thumb{background:#fff;border:3px solid var(--ibv-brand)}
.ibv-filter-foot{position:sticky;bottom:0;z-index:5;padding:14px 24px;background:#fff;border-top:1px solid var(--ibv-line)}
.ibv-filter-done{width:100%;border:0;border-radius:12px;background:var(--ibv-brand);color:#fff;font-weight:800;font-size:16px;padding:14px;cursor:pointer;box-shadow:0 8px 22px rgba(253,70,33,.28)}
.ibv-filter-done:hover{background:var(--ibv-brand-dark)}

/* filter drawer: thin, quiet scrollbar (the thick grey bar on the right edge was the browser's default) */
.togo-trip-filter.layout-canvas{scrollbar-width:thin;scrollbar-color:#d5d9e0 transparent}
.togo-trip-filter.layout-canvas::-webkit-scrollbar{width:6px}
.togo-trip-filter.layout-canvas::-webkit-scrollbar-track{background:transparent}
.togo-trip-filter.layout-canvas::-webkit-scrollbar-thumb{background:#d5d9e0;border-radius:6px}

/* Sort by: single clean border (the wrapper and the inner button both had one) */
.trip-list-header__sort{border:0 !important;background:transparent !important;box-shadow:none !important;border-radius:999px}
.trip-list-header__sort-label{border:1px solid var(--ibv-line) !important;border-radius:999px !important;background:#fff !important;padding:9px 16px !important}
.trip-list-header__sort-label:hover{border-color:var(--ibv-ink) !important}

/* filter drawer: no visible scrollbar at all (still scrolls with wheel / touch) */
.togo-trip-filter.layout-canvas{scrollbar-width:none !important;-ms-overflow-style:none}
.togo-trip-filter.layout-canvas::-webkit-scrollbar{display:none !important;width:0 !important}
