/* ==========================================================================
   Tours listing (/tours/ + destination / activity / trip type pages).
   Design 2026-10-23: toolbar Filters · Dates · Search · currency · Sort, 4-column JGG tour cards
   (inc/jgg-trips-archive.php jgg_tour_card), square corners everywhere.
   Only loaded on trip archive pages (see inc/jgg-trips-archive.php).
   ========================================================================== */

/* 1. Square corners on everything in the page content
      (cards, images, search bar, sort box, filters, sliders, heart button, inputs). */
body.jgg-trips-listing .site-wrap *,
body.jgg-trips-listing .site-wrap *::before,
body.jgg-trips-listing .site-wrap *::after {
	border-radius: 0 !important;
}

/* Photos: some WTE layouts round them with high-specificity !important rules
   (e.g. ".wpte-layout-6 .category-trip-fig > a { border-radius: 8px !important }").
   The :not(#…) chain gives this rule ID-level weight so it always wins. */
html body.jgg-trips-listing .site-wrap *:not(#jgg-a):not(#jgg-b):not(#jgg-c),
html body.jgg-trips-listing .site-wrap *:not(#jgg-a):not(#jgg-b):not(#jgg-c)::before,
html body.jgg-trips-listing .site-wrap *:not(#jgg-a):not(#jgg-b):not(#jgg-c)::after {
	border-radius: 0 !important;
}

/* ==========================================================================
   Filters hidden in a slide-out panel at every screen size
   (WTE only does this below 1024px) → trip list uses the full width.
   ========================================================================== */

/* Trip list: full width */
body.jgg-trips-listing .wp-travel-engine-archive-outer-wrap .advanced-search-wrapper + .wp-travel-engine-archive-repeater-wrap,
body.jgg-trips-listing .wp-travel-engine-archive-outer-wrap .wp-travel-engine-archive-repeater-wrap {
	flex: 1 1 100% !important;
	max-width: 100% !important;
	padding-left: 0 !important;
}

/* The panel (hidden until "Filters" is clicked) */
body.jgg-trips-listing .wp-travel-engine-archive-outer-wrap .advanced-search-wrapper {
	position: fixed !important;
	inset: 0;
	flex: none !important;
	max-width: none !important;
	width: 100vw;
	height: 100vh;
	margin: 0 !important;
	background-color: rgba(0, 0, 0, .35);
	z-index: 111111;
	visibility: hidden;
	opacity: 0;
	transition: opacity .2s, visibility .2s;
}

body.jgg-trips-listing .wp-travel-engine-archive-outer-wrap .advanced-search-wrapper .sidebar {
	width: 360px;
	max-width: calc(100% - 40px);
	height: 100vh;
	overflow-y: auto;
	padding: 32px 28px !important;
	background: #fff;
	transform: translateX(-100%);
	transition: transform .25s ease;
}

body.jgg-trips-listing .wp-travel-engine-archive-outer-wrap .advanced-search-wrapper .wte-filterbar-close-btn {
	display: flex !important;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	left: min(360px, calc(100% - 40px));
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: #000;
	color: #f7ec46;
	cursor: pointer;
}

body.jgg-trips-listing .wp-travel-engine-archive-outer-wrap .advanced-search-wrapper.open { visibility: visible; opacity: 1; }
body.jgg-trips-listing .wp-travel-engine-archive-outer-wrap .advanced-search-wrapper.open .sidebar { transform: translateX(0); }
body.advance-search-open { overflow: hidden; }

/* ==========================================================================
   Width = the header (logo → "Book a Tour", inc/jgg-layout.php), desktop only.
   ========================================================================== */
html.jgg-site-fit body.jgg-trips-listing .site-wrap > .trip-content-area:not(#jgg-a) {
	box-sizing: content-box;
	width: var(--jgg-site-w);
	max-width: none !important;
	margin-left: var(--jgg-site-l) !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Space between the site header and the "Trips" title */
html body.jgg-trips-listing .page-header:not(#jgg-a) {
	padding-top: 24px !important; /* close to the header, like the venue pages */
	margin-bottom: 24px !important;
}

@media (max-width: 640px) {
	html body.jgg-trips-listing .page-header:not(#jgg-a) { padding-top: 20px !important; }
}

/* "Our Tours" heading – heavier */
html body.jgg-trips-listing .page-header .page-title:not(#jgg-a) {
	font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif !important;
	font-weight: 900 !important;
	letter-spacing: -0.035em;
}

/* Breadcrumb above "Our Tours" – same style as the trip pages */
body.jgg-trips-listing .jgg-breadcrumb--archive {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 10px;
	margin: 0 0 12px;
	padding-top: 25px; /* "HOME" 25px under the header (requested 2026-10-23) */
	font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .06em;
	line-height: 1.4;
	color: #6b6b6b;
}
body.jgg-trips-listing .jgg-breadcrumb--archive a { color: #6b6b6b; text-decoration: none; }
body.jgg-trips-listing .jgg-breadcrumb--archive a:hover { color: #111; }
body.jgg-trips-listing .jgg-breadcrumb--archive [aria-current] { color: #111; }
body.jgg-trips-listing .jgg-breadcrumb--archive .jgg-breadcrumb__sep { color: #a8a8a8; font-weight: 400; }
/* the breadcrumb now provides the top spacing */
html body.jgg-trips-listing .jgg-breadcrumb--archive + .page-header:not(#jgg-a) { padding-top: 0 !important; }
@media (max-width: 640px) {
	body.jgg-trips-listing .jgg-breadcrumb--archive { padding-top: 25px; }
}

/* Filter panel open: lift it above the site header. The theme's <main class="site-wrap">
   has z-index:1, which traps the panel below the header (z-index 1000). */
body.advance-search-open .site-wrap { z-index: auto !important; }

/* ==========================================================================
   Toolbar: Filters · Dates · Search · currency · Sort – one row, one height (40px).
   ========================================================================== */
body.jgg-trips-listing .wpte-toolbar-container:not(#jgg-a) { position: static !important; margin: 0 0 30px !important; padding: 0 !important; border: 0 !important; background: none !important; } /* WTE pins it on phones; 4 rows would cover the screen */
body.jgg-trips-listing .wp-travel-toolbar:not(#jgg-a) { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 !important; padding: 0 !important; }
body.jgg-trips-listing .wp-travel-toolbar:not(#jgg-a) > * { margin: 0 !important; }
body.jgg-trips-listing .wp-travel-toolbar .wte-filterbar-toggle:not(#jgg-a) { display: block !important; order: 1; flex: 0 0 auto !important; }
body.jgg-trips-listing .wp-travel-toolbar .jgg-dates:not(#jgg-a) { order: 2; }
body.jgg-trips-listing .wp-travel-toolbar .wpte-trip-search-input:not(#jgg-a) { order: 3; flex: 1 1 0 !important; width: auto !important; max-width: none !important; min-width: 0; margin-left: 2px !important; }
body.jgg-trips-listing .wp-travel-toolbar .jgg-cur--toolbar:not(#jgg-a) { order: 4; margin-left: 8px !important; }
body.jgg-trips-listing .wp-travel-toolbar .wte-ordering:not(#jgg-a) { order: 5; }
body.jgg-trips-listing .wp-travel-toolbar .wte-view-modes:not(#jgg-a) { display: none !important; } /* one card design: no grid / list switch */
body.jgg-trips-listing .wp-travel-toolbar .wte-filter-foundposts:not(#jgg-a) { order: 6; flex: 1 1 100%; font-size: 14px; color: #6b6b6b; }
body.jgg-trips-listing .wp-travel-toolbar .wte-filter-foundposts:empty { display: none; }

/* Black buttons with yellow text: Filters, Dates */
body.jgg-trips-listing .wp-travel-toolbar .wte-filterbar-toggle .wte-filterbar-toggle-btn:not(#jgg-a),
body.jgg-trips-listing .wp-travel-toolbar .jgg-dates__btn:not(#jgg-a) {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 40px;
	min-height: 40px;
	min-width: 108px;
	margin: 0;
	padding: 0 18px;
	font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1;
	white-space: nowrap;
	color: #f7ec46 !important;
	background: #000 !important;
	border: 0 !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: background-color .15s;
}
body.jgg-trips-listing .wp-travel-toolbar .wte-filterbar-toggle .wte-filterbar-toggle-btn:hover,
body.jgg-trips-listing .wp-travel-toolbar .jgg-dates__btn:hover { background: #222 !important; }
body.jgg-trips-listing .wp-travel-toolbar .wte-filterbar-toggle .wte-filterbar-toggle-btn svg { order: -1; width: 18px; height: 18px; color: #f7ec46; }
body.jgg-trips-listing .wp-travel-toolbar .wte-filterbar-toggle .wte-filterbar-toggle-btn svg * { stroke: currentColor; }

/* Search, currency, sort: white boxes with a thin border */
body.jgg-trips-listing .wp-travel-toolbar .wpte-trip-search-input input:not(#jgg-a),
body.jgg-trips-listing .wp-travel-toolbar .jgg-cur__select:not(#jgg-a),
body.jgg-trips-listing .wp-travel-toolbar .wte-ordering:not(#jgg-a) {
	box-sizing: border-box;
	height: 40px !important;
	min-height: 40px !important;
	margin: 0 !important;
	font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: #111 !important;
	background-color: #fff !important;
	border: 1px solid #d9d9d9 !important;
	box-shadow: none !important;
}
body.jgg-trips-listing .wp-travel-toolbar .wpte-trip-search-input input:not(#jgg-a) {
	width: 100%;
	padding: 0 14px 0 44px !important;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 21 21'/%3E%3C/svg%3E") no-repeat 14px 50% !important;
}
body.jgg-trips-listing .wp-travel-toolbar .wpte-trip-search-input input::placeholder { color: #777; opacity: 1; }
body.jgg-trips-listing .wp-travel-toolbar .wpte-trip-search-input input:focus,
body.jgg-trips-listing .wp-travel-toolbar .jgg-cur__select:focus { outline: 2px solid #000; outline-offset: -1px; }
body.jgg-trips-listing .wp-travel-toolbar .wpte-trip-search-input svg,
body.jgg-trips-listing .wp-travel-toolbar .wpte-trip-search-input::before { display: none !important; }
body.jgg-trips-listing .wp-travel-toolbar .jgg-cur__select:not(#jgg-a) { min-width: 96px; padding: 0 34px 0 12px !important; }
body.jgg-trips-listing .wp-travel-toolbar .wte-ordering:not(#jgg-a) { position: relative; display: flex !important; align-items: center; gap: 4px; padding: 0 14px !important; cursor: pointer; }
body.jgg-trips-listing .wp-travel-toolbar .wte-ordering:not(#jgg-a) > span,
body.jgg-trips-listing .wp-travel-toolbar .wte-ordering .wpte__input:not(#jgg-a) { font-size: 14px !important; font-weight: 500 !important; font-family: inherit !important; color: #111 !important; }
body.jgg-trips-listing .wp-travel-toolbar .wte-ordering .wpte__select-options:not(#jgg-a) { border: 1px solid #d9d9d9 !important; box-shadow: 0 8px 24px -12px rgba(0,0,0,.3) !important; }

/* Dates: month picker under the button */
body.jgg-trips-listing .jgg-dates { position: relative; }
body.jgg-trips-listing .jgg-dates.is-set .jgg-dates__btn:not(#jgg-a) { background: #f7ec46 !important; color: #000 !important; }
body.jgg-trips-listing .jgg-dates__pop {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	z-index: 50;
	width: 320px;
	padding: 18px;
	background: #fff;
	border: 1px solid #d9d9d9;
	box-shadow: 0 16px 32px -16px rgba(0,0,0,.35);
	font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
}
body.jgg-trips-listing .jgg-dates__pop[hidden] { display: none; }
body.jgg-trips-listing .jgg-dates__h { margin: 0 0 12px !important; font-size: 15px; font-weight: 700; color: #111; }
body.jgg-trips-listing .jgg-dates__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
body.jgg-trips-listing .jgg-dates__pop button:not(#jgg-a) {
	height: 38px;
	margin: 0;
	padding: 0 6px;
	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #111 !important;
	background: #fff !important;
	border: 1px solid #d9d9d9 !important;
	box-shadow: none !important;
	cursor: pointer;
}
body.jgg-trips-listing .jgg-dates__pop button:hover { border-color: #111 !important; }
body.jgg-trips-listing .jgg-dates__pop button.is-on:not(#jgg-a) { background: #000 !important; color: #f7ec46 !important; border-color: #000 !important; }
body.jgg-trips-listing .jgg-dates__pop .jgg-dates__any:not(#jgg-a) { width: 100%; margin-top: 10px; border: 0 !important; text-decoration: underline; text-underline-offset: 3px; }

/* ==========================================================================
   Tour cards: 4 columns (the card itself: assets/css/jgg-tour-card.css, shared with
   "You might also like" on the tour pages).
   ========================================================================== */
body.jgg-trips-listing .wte-category-outer-wrap .category-main-wrap:not(#jgg-a) {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	margin: 0 !important;
	padding: 0 !important;
}
body.jgg-trips-listing .wte-category-outer-wrap .category-main-wrap::before,
body.jgg-trips-listing .wte-category-outer-wrap .category-main-wrap::after { content: none !important; display: none !important; }
body.jgg-trips-listing .trip-pagination:not(:empty) { margin-top: 32px; }

@media (max-width: 1100px) {
	body.jgg-trips-listing .wte-category-outer-wrap .category-main-wrap:not(#jgg-a) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
	body.jgg-trips-listing .wte-category-outer-wrap .category-main-wrap:not(#jgg-a) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	/* Toolbar: Filters + Dates, then search, then currency + sort */
	body.jgg-trips-listing .wp-travel-toolbar .wpte-trip-search-input:not(#jgg-a) { flex: 1 1 100% !important; order: 3; margin-left: 0 !important; }
	body.jgg-trips-listing .wp-travel-toolbar .jgg-cur--toolbar:not(#jgg-a) { margin-left: 0 !important; }
	body.jgg-trips-listing .wp-travel-toolbar .wte-ordering:not(#jgg-a) { flex: 1 1 auto; }
}
@media (max-width: 560px) {
	body.jgg-trips-listing .wte-category-outer-wrap .category-main-wrap:not(#jgg-a) { grid-template-columns: minmax(0, 1fr); }
	body.jgg-trips-listing .wp-travel-toolbar .wte-filterbar-toggle:not(#jgg-a),
	body.jgg-trips-listing .wp-travel-toolbar .jgg-dates:not(#jgg-a) { flex: 1 1 0 !important; }
	body.jgg-trips-listing .wp-travel-toolbar .jgg-dates__btn:not(#jgg-a),
	body.jgg-trips-listing .wp-travel-toolbar .wte-filterbar-toggle .wte-filterbar-toggle-btn:not(#jgg-a) { width: 100%; }
	body.jgg-trips-listing .jgg-dates__pop { width: min(320px, calc(100vw - 32px)); }
}

/* ==========================================================================
   "Still looking? Read our latest travel tips!" (inc/jgg-trips-archive.php jgg_archive_guides_render)
   ========================================================================== */
.jgg-ttips {
	box-sizing: border-box;
	max-width: calc(var(--jgg-site-w, 1240px) + 48px);
	margin: 0 auto 80px;
	padding: 0 24px;
	font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
	color: #111;
}
.jgg-ttips *, .jgg-ttips *::before, .jgg-ttips *::after { box-sizing: border-box; border-radius: 0 !important; }
.jgg-ttips__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.jgg-ttips .jgg-ttips__kicker { margin: 0 0 6px; font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 14px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: #333; }
.jgg-ttips .jgg-ttips__title { margin: 0; padding: 0; font-family: inherit; font-size: 32px; font-weight: 800; line-height: 1.15; letter-spacing: -0.025em; color: #111; }
.jgg-ttips .jgg-ttips__all { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; padding-bottom: 2px; font-size: 18px; font-weight: 700; color: #111; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1.5px; }
.jgg-ttips__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.jgg-ttips .jgg-ttips__card { display: flex; flex-direction: column; color: #111; text-decoration: none; }
.jgg-ttips__img { display: block; aspect-ratio: 16 / 9; overflow: hidden; margin-bottom: 14px; background: #f4f4f4; }
.jgg-ttips__img img { display: block; width: 100%; height: 100% !important; object-fit: cover; }
.jgg-ttips__cat { margin-bottom: 6px; font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: #6b6b6b; }
.jgg-ttips__name { font-size: 20px; font-weight: 700; line-height: 1.25; letter-spacing: -0.015em; }
.jgg-ttips__card:hover .jgg-ttips__name { text-decoration: underline; text-underline-offset: 3px; }
html.jgg-site-fit .jgg-ttips { margin-left: max(0px, calc(var(--jgg-site-l) - 24px)); margin-right: 0; }
@media (max-width: 960px) {
	.jgg-ttips__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
}
@media (max-width: 640px) {
	.jgg-ttips { padding: 0 20px; margin-bottom: 56px; } /* same 20px side margin as the tour list */
	.jgg-ttips__head { flex-direction: column; align-items: flex-start; gap: 10px; }
	.jgg-ttips .jgg-ttips__title { font-size: 26px; }
	.jgg-ttips__name { font-size: 17px; }
}

/* Same type as "Discover the real gay Japan" on the tour pages and "Around the corner." on the place pages */
.jgg-ttips .jgg-ttips__head { align-items: baseline; flex-wrap: wrap; gap: 16px; margin-bottom: 22px; }
.jgg-ttips .jgg-ttips__kicker { margin: 0 0 10px; font-size: 12px; font-weight: 700; line-height: 1.55; letter-spacing: .08em; color: #666; }
.jgg-ttips .jgg-ttips__title { font-size: clamp(26px, 2.4vw, 32px); font-weight: 800; line-height: 1.1; letter-spacing: -.03em; color: #000; }
.jgg-ttips .jgg-ttips__all { gap: 4px; padding-bottom: 0; font-size: 14.5px; font-weight: 650; line-height: 1.55; color: #000; text-underline-offset: 4px; }
.jgg-ttips__grid { gap: 24px 20px; }
.jgg-ttips__img { margin-bottom: 0; }
.jgg-ttips__cat { margin: 16px 0 0; font-size: 13px; font-weight: 600; line-height: 1.4; letter-spacing: .08em; color: #666; }
.jgg-ttips__name { margin: 8px 0 0; font-size: 20px; font-weight: 750; line-height: 1.3; letter-spacing: -.015em; color: #000; }
.jgg-ttips__img + .jgg-ttips__name { margin-top: 10px; }
.jgg-ttips__card:hover .jgg-ttips__name { text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
@media (max-width: 640px) { .jgg-ttips .jgg-ttips__title { font-size: 26px; } .jgg-ttips__name { font-size: 18px; } }

/* "Other Services" (inc/jgg-trips-archive.php jgg_other_services_render): same grid as the tour list */
.jgg-oserv { margin-top: 8px; }
.jgg-oserv__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 1100px) { .jgg-oserv__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 960px) { .jgg-oserv__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } }
@media (max-width: 560px) { .jgg-oserv__grid { grid-template-columns: minmax(0, 1fr); } }
.jgg-oserv .jgg-tcard__body { padding: 0 16px 16px; }
.jgg-oserv .jgg-tcard__img { aspect-ratio: 4 / 3; margin-bottom: 18px; }
html body .jgg-oserv .jgg-oserv__kicker:not(#jgg-a) { margin: 0 0 8px !important; font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: #555; }
html body .jgg-oserv .jgg-tcard .jgg-tcard__title:not(#jgg-a) { font-size: 20px !important; font-weight: 800 !important; line-height: 1.15 !important; margin-bottom: 18px !important; }
html body .jgg-oserv .jgg-oserv__price:not(#jgg-a) { margin: auto 0 16px !important; text-align: right; display: flex; align-items: baseline; justify-content: flex-end; gap: 6px; }
.jgg-oserv__price small { font-size: 15px; font-weight: 500; color: #555; }
.jgg-oserv__price strong { font-size: 28px; font-weight: 800; letter-spacing: -.02em; color: #111; white-space: nowrap; }
.jgg-oserv__btn { display: block; padding: 12px; text-align: center; font-size: 17px; font-weight: 700; letter-spacing: .01em; line-height: 1.2; color: #f7ec46; background: #000; transition: background .15s; }
.jgg-oserv .jgg-tcard:hover .jgg-oserv__btn { background: #222; }
