/*
 * GetnDrive Regional Routing 0.3.56 — Thailand country root guide sections.
 *
 * Enqueued only on a Thailand country root whose guide renders (`GND_Regional_Routing_Country_Root_Guide::ready()`),
 * after country-root.css (which the Georgia pages share, so it is left unchanged). Every selector is scoped under
 * `.gnd-country-root` and a `gnd-th-` class. Sections: grouped destination cards with photographs, the map with its
 * link list, the overview, driving licence and documents, the FAQ. No JavaScript, no motion beyond colour changes.
 */

.gnd-country-root {
	--gnd-th-cities: #0b1f3a;
	--gnd-th-andaman: #0d7f77;
	--gnd-th-gulf: #1f6f9f;
	--gnd-th-other: #536273;
	--gnd-th-radius: 14px;
}

.gnd-country-root .gnd-th-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.gnd-country-root .gnd-th-dot {
	display: inline-block;
	flex: 0 0 auto;
	width: 12px;
	height: 12px;
	margin-right: 10px;
	border: 2px solid #ffffff;
	border-radius: 50%;
	box-shadow: 0 0 0 1px rgba(11, 31, 58, 0.18);
	vertical-align: -1px;
}

.gnd-country-root .gnd-th-dot--cities { background: var(--gnd-th-cities); }
.gnd-country-root .gnd-th-dot--andaman { background: var(--gnd-th-andaman); }
.gnd-country-root .gnd-th-dot--gulf { background: var(--gnd-th-gulf); }
.gnd-country-root .gnd-th-dot--other { background: var(--gnd-th-other); }

/* ---- Destination groups and cards ---- */

.gnd-country-root .gnd-th-groups {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(24px, 4vw, 36px);
}

.gnd-country-root .gnd-th-group__title {
	display: flex;
	align-items: center;
	margin: 0 0 4px;
	color: var(--gnd-cr-navy);
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.3;
}

.gnd-country-root .gnd-th-group__text {
	margin: 0 0 14px;
	color: var(--gnd-cr-muted);
	font-size: 0.95rem;
	line-height: 1.5;
}

.gnd-country-root .gnd-th-cards {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gnd-country-root .gnd-th-card {
	display: flex;
	flex-direction: column;
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--gnd-cr-line);
	border-radius: var(--gnd-th-radius);
	background: var(--gnd-cr-card);
}

.gnd-country-root .gnd-th-card__media {
	display: block;
	aspect-ratio: 16 / 9;
	background: var(--gnd-cr-media-bg);
}

.gnd-country-root .gnd-th-card__media img {
	object-position: var(--gnd-cr-media-position, 50% 50%);
}

.gnd-country-root .gnd-th-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 4px;
	padding: 14px 16px 16px;
}

.gnd-country-root .gnd-th-card__name {
	margin: 0;
	color: var(--gnd-cr-navy);
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.3;
}

.gnd-country-root .gnd-th-card__caption {
	color: var(--gnd-cr-muted);
	font-size: 0.92rem;
	line-height: 1.45;
}

.gnd-country-root .gnd-th-card__links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: auto;
	padding-top: 12px;
}

.gnd-country-root .gnd-th-card__link {
	flex: 1 1 0;
	justify-content: center;
	min-width: 0;
	padding: 8px 12px;
}

/* ---- Map ---- */

.gnd-country-root .gnd-th-map__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 20px;
	align-items: start;
}

.gnd-country-root .gnd-th-map__figure {
	margin: 0;
}

.gnd-country-root .gnd-th-map__canvas {
	position: relative;
	max-width: 460px;
	margin: 0 auto;
	overflow: hidden;
	border: 1px solid var(--gnd-cr-line);
	border-radius: var(--gnd-th-radius);
	background: #e3f0f6;
}

.gnd-country-root .gnd-th-map__image {
	height: auto;
	object-fit: contain;
}

.gnd-country-root .gnd-th-map__hit {
	position: absolute;
	display: block;
	border-radius: 10px;
	transition: background-color 150ms ease;
}

.gnd-country-root .gnd-th-map__hit:hover {
	background: rgba(13, 127, 119, 0.14);
}

.gnd-country-root .gnd-th-map__hit:focus-visible {
	outline: 3px solid var(--gnd-cr-teal-deep);
	outline-offset: 1px;
	background: rgba(13, 127, 119, 0.14);
}

.gnd-country-root .gnd-th-map__note {
	max-width: 460px;
	margin: 10px auto 0;
	color: var(--gnd-cr-muted);
	font-size: 0.875rem;
	line-height: 1.5;
}

.gnd-country-root .gnd-th-map__list {
	padding: 18px 16px;
	border: 1px solid var(--gnd-cr-line);
	border-radius: var(--gnd-th-radius);
	background: var(--gnd-cr-card);
}

.gnd-country-root .gnd-th-map__list-title {
	margin: 0 0 6px;
	color: var(--gnd-cr-navy);
	font-size: 1.1rem;
	font-weight: 700;
}

.gnd-country-root .gnd-th-map__group {
	display: flex;
	align-items: center;
	margin: 14px 0 4px;
	color: var(--gnd-cr-navy);
	font-size: 0.95rem;
	font-weight: 700;
}

.gnd-country-root .gnd-th-map__items {
	margin: 0;
	padding: 0;
	list-style: none;
}

.gnd-country-root .gnd-th-map__item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px 12px;
	padding: 6px 0;
	border-top: 1px solid var(--gnd-cr-line);
}

.gnd-country-root .gnd-th-map__name {
	color: var(--gnd-cr-ink);
	font-weight: 600;
}

.gnd-country-root .gnd-th-map__links {
	display: flex;
	gap: 6px;
}

.gnd-country-root .gnd-th-map__link {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 6px 14px;
	border: 1px solid var(--gnd-cr-line);
	border-radius: 999px;
	color: var(--gnd-cr-teal-deep);
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	transition: border-color 150ms ease;
}

.gnd-country-root .gnd-th-map__link:hover,
.gnd-country-root .gnd-th-map__link:focus-visible {
	border-color: var(--gnd-cr-teal-deep);
	text-decoration: underline;
}

/* ---- Overview ---- */

.gnd-country-root .gnd-th-overview__list {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gnd-country-root .gnd-th-overview__item {
	margin: 0;
	padding: 18px 18px 16px;
	border: 1px solid var(--gnd-cr-line);
	border-radius: var(--gnd-th-radius);
	background: var(--gnd-cr-card);
}

.gnd-country-root .gnd-th-overview__title,
.gnd-country-root .gnd-th-callout__title {
	margin: 0 0 6px;
	color: var(--gnd-cr-navy);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.3;
}

.gnd-country-root .gnd-th-overview__text,
.gnd-country-root .gnd-th-callout__text {
	margin: 0;
	line-height: 1.6;
}

.gnd-country-root .gnd-th-callout {
	margin-top: 14px;
	padding: 18px 18px 16px;
	border-left: 4px solid var(--gnd-cr-teal-deep);
	border-radius: 0 var(--gnd-th-radius) var(--gnd-th-radius) 0;
	background: #e9f4f2;
}

/* ---- Driving licence and documents ---- */

.gnd-country-root .gnd-th-licence__cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
	align-items: start;
}

.gnd-country-root .gnd-th-licence__law,
.gnd-country-root .gnd-th-licence__company {
	padding: 18px 18px 16px;
	border: 1px solid var(--gnd-cr-line);
	border-radius: var(--gnd-th-radius);
	background: var(--gnd-cr-card);
}

.gnd-country-root .gnd-th-licence__company {
	background: #f7f4ea;
}

/* Source review 2026-10-28: the passport note sits under the law items, apart from them. */
.gnd-country-root .gnd-th-licence__passport {
	margin-top: 4px;
	padding: 12px 14px;
	border: 1px dashed var(--gnd-cr-line);
	border-radius: 10px;
	background: var(--gnd-cr-surface);
}

.gnd-country-root .gnd-th-overview__item .gnd-th-licence__sources,
.gnd-country-root .gnd-th-callout .gnd-th-licence__sources {
	margin-top: 8px;
}

.gnd-country-root .gnd-th-licence__col-title {
	margin: 0 0 4px;
	color: var(--gnd-cr-navy);
	font-size: 1.15rem;
	font-weight: 700;
}

.gnd-country-root .gnd-th-licence__list,
.gnd-country-root .gnd-th-licence__bullets {
	margin: 0;
	padding: 0;
	list-style: none;
}

.gnd-country-root .gnd-th-licence__item {
	padding: 12px 0;
	border-top: 1px solid var(--gnd-cr-line);
}

.gnd-country-root .gnd-th-licence__item:first-child {
	border-top: 0;
}

.gnd-country-root .gnd-th-licence__title {
	margin: 0 0 4px;
	color: var(--gnd-cr-ink);
	font-size: 1rem;
	font-weight: 700;
}

.gnd-country-root .gnd-th-licence__text {
	margin: 0;
	line-height: 1.6;
}

.gnd-country-root .gnd-th-licence__sources {
	margin: 6px 0 0;
	color: var(--gnd-cr-muted);
	font-size: 0.85rem;
	line-height: 1.5;
}

.gnd-country-root .gnd-th-licence__source {
	color: var(--gnd-cr-teal-deep);
	text-decoration: underline;
	text-underline-offset: 2px;
	overflow-wrap: anywhere;
}

.gnd-country-root .gnd-th-licence__bullets li {
	position: relative;
	margin: 0;
	padding: 8px 0 8px 18px;
	line-height: 1.55;
}

.gnd-country-root .gnd-th-licence__bullets li::before {
	content: "";
	position: absolute;
	top: 17px;
	left: 2px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #b08a2e;
}

.gnd-country-root .gnd-th-licence__note {
	margin: 12px 0 0;
	padding-top: 12px;
	border-top: 1px solid var(--gnd-cr-line);
	color: var(--gnd-cr-muted);
	font-size: 0.875rem;
	line-height: 1.5;
}

/* ---- FAQ: one column ---- */

.gnd-country-root .gnd-th-faq__list {
	max-width: 860px;
	border-top: 1px solid var(--gnd-cr-line);
}

.gnd-country-root .gnd-th-faq__item {
	border-bottom: 1px solid var(--gnd-cr-line);
}

.gnd-country-root .gnd-th-faq__q {
	position: relative;
	display: block;
	padding: 16px 44px 16px 0;
	color: var(--gnd-cr-navy);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.4;
	cursor: pointer;
	list-style: none;
}

.gnd-country-root .gnd-th-faq__q::-webkit-details-marker {
	display: none;
}

.gnd-country-root .gnd-th-faq__q::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: 6px;
	color: var(--gnd-cr-teal-deep);
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1;
	transform: translateY(-50%);
}

.gnd-country-root .gnd-th-faq__item[open] > .gnd-th-faq__q::after {
	content: "\2212";
}

.gnd-country-root .gnd-th-faq__q:focus-visible {
	outline: 2px solid var(--gnd-cr-teal-deep);
	outline-offset: 2px;
}

.gnd-country-root .gnd-th-faq__a {
	margin: 0;
	padding: 0 0 18px;
	line-height: 1.65;
}

/* ---- Phones: a lower photo band keeps the eight cards compact ---- */

@media (max-width: 599px) {
	.gnd-country-root .gnd-th-card__media {
		aspect-ratio: 2 / 1;
	}
}

/* ---- ≥600px ---- */

@media (min-width: 600px) {
	.gnd-country-root .gnd-th-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}
}

/* ---- ≥768px ---- */

@media (min-width: 768px) {
	.gnd-country-root .gnd-th-overview__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	/* Five cards: the pick-up card closes the grid at full width instead of leaving an empty cell. */
	.gnd-country-root .gnd-th-overview__item:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}
}

/* ---- ≥900px: map beside its list; licence in two columns ---- */

@media (min-width: 900px) {
	.gnd-country-root .gnd-th-map__layout {
		grid-template-columns: minmax(0, 460px) minmax(0, 1fr);
		gap: 28px;
	}

	.gnd-country-root .gnd-th-map__canvas,
	.gnd-country-root .gnd-th-map__note {
		margin-left: 0;
	}

	/* Law items in two columns across the rail; the company's terms as a band below (no short column beside a long one). */
	.gnd-country-root .gnd-th-licence__list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 32px;
	}

	.gnd-country-root .gnd-th-licence__item:nth-child(2) {
		border-top: 0;
	}

	.gnd-country-root .gnd-th-licence__bullets {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 32px;
	}
}

/* ---- ≥1024px: four cards a row; the two-destination groups side by side ---- */

@media (min-width: 1024px) {
	.gnd-country-root .gnd-th-groups {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 20px;
	}

	.gnd-country-root .gnd-th-group {
		grid-column: 1 / -1;
	}

	.gnd-country-root .gnd-th-group--n1,
	.gnd-country-root .gnd-th-group--n2 {
		grid-column: auto;
	}

	.gnd-country-root .gnd-th-group:not(.gnd-th-group--n1):not(.gnd-th-group--n2) .gnd-th-cards {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (prefers-reduced-motion: reduce) {
	.gnd-country-root .gnd-th-map__hit,
	.gnd-country-root .gnd-th-map__link {
		transition: none;
	}
}

@media (forced-colors: active) {
	.gnd-country-root .gnd-th-map__hit:focus-visible,
	.gnd-country-root .gnd-th-faq__q:focus-visible {
		outline-color: Highlight;
	}
}
