/*
 * TR Immigration refinements
 * Site-wide polish added after the Elementor design system.
 */

:root {
	--font-body: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--fs-tag: 12.5px;
}

body,
button,
input,
select,
textarea {
	font-family: var(--font-body);
}

/* Consistent article typography, including the introductory paragraph. */
.single-post .entry-content,
.single-post .entry-content > p,
.single-post .entry-content > p:first-of-type,
.single-post .entry-content > ul,
.single-post .entry-content > ol {
	font-family: var(--font-body);
	font-size: 17px;
	line-height: 1.7;
}

/* Comfortable, accessible interaction targets. */
.elementor .tr-btn,
.elementor .tr-nav-link,
.elementor .tr-ed-tab,
.elementor .tr-ed-page,
.elementor .tr-tab,
.elementor .tr-vb-seg-btn,
.elementor .tr-vb-select,
.elementor .tr-vb-input,
.wpforms-form input:not([type="hidden"]),
.wpforms-form select,
.wpforms-form textarea,
.wpforms-form button[type="submit"] {
	min-height: 44px;
}

.elementor .tr-nav-link,
.elementor .tr-ed-tab,
.elementor .tr-ed-page,
.elementor .tr-tab,
.elementor .tr-vb-seg-btn {
	display: inline-flex;
	align-items: center;
}

.elementor .tr-ed-meta,
.elementor .tr-ed-tab,
.elementor .tr-ed-cue {
	font-size: var(--fs-tag);
}

/* More legible article subheads: sentence case, stronger hierarchy. */
.single-post .entry-content > h2,
.single-post .entry-content > h3,
.single-post .entry-content > h4 {
	font-size: 18px;
	line-height: 1.4;
	text-transform: none;
	letter-spacing: 0.01em;
	color: var(--navy-800);
	border-inline-start: 3px solid var(--gold);
	padding-inline-start: var(--sp-3);
}

.single-post .tr-author-photo {
	object-fit: contain;
	background: var(--white);
	padding: 8px;
}

/* Tighten the repeated site footer without making it feel cramped. */
.elementor .tr-site-footer {
	padding-block-start: var(--sp-7);
}

.elementor .tr-footer-grid {
	padding-block-end: var(--sp-6);
}

.elementor .tr-footer-bottom {
	padding-block-start: var(--sp-3);
}

/* The About page no longer needs the oversized gap before its closing note. */
.page-id-609 .elementor .tr-stat-moment {
	margin-block-start: var(--sp-6);
}

/* Editorial grids: give headings and summaries room to breathe. */
@media (min-width: 768px) {
	.elementor .tr-topic-list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1px;
		width: 100%;
		margin-inline: 0;
		background: var(--rule);
	}

	.elementor .tr-topic-row {
		width: auto;
		min-height: 190px;
		padding: var(--sp-6);
		flex-direction: column;
		align-items: flex-start;
		gap: var(--sp-3);
		background: var(--white);
		border: 0;
	}

	.page-id-604 .elementor .tr-vb-changes .tr-topic-row {
		background: var(--paper);
	}

	.page-id-602 .tr-ed--cols-3 .tr-ed-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.page-id-602 .tr-ed-item--card .tr-ed-cue {
		display: none;
	}

	.page-id-602 .tr-ed-item--card {
		padding-block-end: var(--sp-6);
		border-block-end: var(--hair) solid var(--rule);
	}
}

/* Expanded reference material is easier to scan and considerably shorter. */
@media (min-width: 900px) {
	.elementor .tr-glossary .tr-reveal-more {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: var(--sp-8);
		row-gap: var(--sp-6);
	}

	.elementor .tr-glossary .tr-reveal-more[hidden] {
		display: none;
	}
}

/* Make horizontal Visa Bulletin behavior explicit on small screens. */
@media (max-width: 767px) {
	.elementor .tr-vb-table-wrap::before {
		content: "Swipe to compare all countries \2192";
		position: sticky;
		left: 0;
		display: block;
		width: max-content;
		padding: var(--sp-2) var(--sp-3);
		font-size: 13px;
		font-weight: 600;
		letter-spacing: 0.02em;
		color: var(--navy-800);
		background: var(--paper-dim);
		border-block-end: var(--hair) solid var(--rule);
		z-index: 3;
	}

	.single-post .entry-content > h2,
	.single-post .entry-content > h3,
	.single-post .entry-content > h4 {
		font-size: 17px;
	}

	.elementor .tr-footer-grid {
		row-gap: var(--sp-5);
		padding-block-end: var(--sp-6);
	}
}
