/* ===== Tour Travel Information (widgets/tour-travel-info-widget.php,
   markup in includes/caguide-travel-info.php) - design v6 section 9.
   Desktop from 820px, the same breakpoint as the sticky nav. Colors read
   Elementor's global color variables with the current hex as fallback, like
   every other widget CSS in this plugin. Buttons carry !important on the
   properties the theme's generic <button> styling otherwise wins (background,
   padding, border, radius, uppercase, font size) - the same fight as
   .tour_hero_cta_btn in tour-hero-widget.css. ===== */

.tour_travel_info {
	scroll-margin-top: 90px;
	font-family: "Noto Sans", sans-serif;
	color: var(--ink, #2b2420);
}

.tour_ti_header {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px 24px;
	margin-bottom: 24px;
}

/* The site's own H2 (Global Fonts) - only the spacing is set here. */
.tour_ti_title {
	margin: 0 0 10px;
}

.tour_ti_intro {
	margin: 0;
	font-size: 15px;
	color: var(--muted, #6f6458);
}

.tour_ti_guide,
.tour_ti_link {
	font-size: 14px;
	font-weight: 600;
	color: var(--ink, #2b2420);
	text-decoration: underline !important;
	text-underline-offset: 3px;
	text-decoration-color: rgba(43, 36, 32, 0.45) !important;
}

.tour_ti_guide:hover,
.tour_ti_link:hover {
	color: var(--pink-action, #e8334f);
}

/* Visa policy - always visible, above the country switch. */
.tour_ti_visa {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 8px 40px;
	border-top: 1px solid var(--ink, #2b2420);
	padding: 18px 0 28px;
	margin-bottom: 12px;
}

.tour_ti_visa_heading {
	margin: 0;
	font-family: "Noto Sans", sans-serif;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ink, #2b2420);
}

.tour_ti_visa_text {
	margin: 0;
	max-width: 72ch;
	font-size: 15px;
	line-height: 1.65;
	color: #3d352e;
}

.tour_ti_visa_text a {
	color: var(--ink, #2b2420);
	text-decoration: underline !important;
}

.tour_ti_visa_text a:hover {
	color: var(--pink-action, #e8334f);
}

/* Country switch - segmented buttons, scrolls sideways on a phone. */
.tour_ti_switch {
	display: flex;
	overflow-x: auto;
	padding-left: 1px;
	margin-bottom: 20px;
	scrollbar-width: thin;
}

.tour_ti_switch .tour_ti_switch_btn {
	flex: 0 0 auto;
	margin: 0 0 0 -1px !important;
	padding: 11px 16px !important;
	border: 1px solid var(--ink, #2b2420) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--ink, #2b2420) !important;
	font-family: "Noto Sans", sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	text-transform: none !important;
	white-space: nowrap;
	cursor: pointer;
	box-shadow: none !important;
}

.tour_ti_switch .tour_ti_switch_btn[aria-selected="true"] {
	background: var(--ink, #2b2420) !important;
	color: #fff !important;
}

.tour_ti_switch .tour_ti_switch_btn:focus-visible {
	outline: 2px solid var(--pink-action, #e8334f);
	outline-offset: 2px;
}

/* One accordion per country. */
.tour_ti_country {
	border-top: 1px solid var(--ink, #2b2420);
}

.tour_ti_country[hidden],
.tour_ti_panel[hidden] {
	display: none !important;
}

.tour_ti_topic {
	border-bottom: 1px solid var(--border, #e3d9ca);
}

.tour_ti_topic_heading {
	margin: 0;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}

.tour_ti_topic .tour_ti_toggle {
	width: 100%;
	min-height: 64px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	margin: 0 !important;
	padding: 10px 0 !important;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--ink, #2b2420) !important;
	font-family: "Noto Sans", sans-serif !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	text-transform: none !important;
	text-align: left;
	cursor: pointer;
}

.tour_ti_topic .tour_ti_toggle:hover {
	color: var(--pink-action, #e8334f) !important;
}

.tour_ti_topic .tour_ti_toggle:focus-visible {
	outline: 2px solid var(--pink-action, #e8334f);
	outline-offset: 2px;
}

.tour_ti_topic_label {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px 20px;
	flex-wrap: wrap;
	min-width: 0;
}

.tour_ti_topic_title {
	font-family: "Noto Sans", sans-serif;
	font-size: 16px;
	font-weight: 600;
}

.tour_ti_topic_teaser {
	font-size: 13px;
	color: var(--muted, #6f6458);
}

/* + / − drawn by CSS, not text in the heading. */
.tour_ti_topic_icon {
	flex: 0 0 auto;
	font-size: 22px;
	font-weight: 400;
	line-height: 1;
}

.tour_ti_topic_icon::before {
	content: "+";
}

.tour_ti_toggle[aria-expanded="true"] .tour_ti_topic_icon::before {
	content: "\2212";
}

.tour_ti_panel {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 4px 0 32px;
}

.tour_ti_main {
	display: flex;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
}

.tour_ti_lead,
.tour_ti_lead p {
	margin: 0;
	font-size: 16px;
	line-height: 1.65;
	color: var(--ink, #2b2420);
	text-wrap: pretty;
}

.tour_ti_part {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.tour_ti_part_heading {
	margin: 0;
	font-family: "Noto Sans", sans-serif;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ink, #2b2420);
}

.tour_ti_part_text,
.tour_ti_part_text p,
.tour_ti_part_text li {
	margin: 0;
	font-size: 15px;
	line-height: 1.7;
	color: #3d352e;
	text-wrap: pretty;
}

.tour_ti_lead p + p,
.tour_ti_part_text p + p,
.tour_ti_part_text p + ul,
.tour_ti_part_text ul + p {
	margin-top: 10px;
}

.tour_ti_part_text ul,
.tour_ti_part_text ol,
.tour_ti_lead ul {
	margin: 0;
	padding-left: 20px;
}

.tour_ti_main a {
	color: var(--ink, #2b2420);
	text-decoration: underline !important;
}

.tour_ti_side {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding-top: 4px;
}

.tour_ti_note {
	border-left: 2px solid var(--pink-action, #e8334f);
	padding-left: 16px;
	font-size: 14px;
	line-height: 1.6;
}

.tour_ti_note_label {
	display: block;
	margin-bottom: 4px;
	font-size: 12px;
	color: var(--muted, #6f6458);
}

.tour_ti_link {
	padding-left: 18px;
}

@media only screen and (min-width: 820px) {
	.tour_ti_visa {
		grid-template-columns: 200px minmax(0, 1fr);
	}

	.tour_ti_topic .tour_ti_toggle {
		min-height: 68px;
	}

	.tour_ti_topic_label {
		flex-direction: row;
		align-items: baseline;
	}

	.tour_ti_topic_title {
		font-family: "Newsreader", Georgia, serif;
		font-size: 24px;
		font-weight: 400;
	}

	.tour_ti_topic_teaser {
		font-size: 14px;
	}

	.tour_ti_panel {
		display: grid;
		grid-template-columns: minmax(0, 68ch) minmax(0, 1fr);
		gap: 20px 64px;
	}

	.tour_ti_lead,
	.tour_ti_lead p {
		font-size: 17px;
	}
}
