/**
 * Courses page booking area, support routes, good value, guides.
 * Mockup: tarigocromockup.vercel.app/courses (#book). Courses template only.
 */
.tarigo-home { --th-course-line: #d9e8eb; }

.tarigo-home .th-booking-section { background: #fff; }
.tarigo-home .th-booking-section .th-dates-wrap { max-width: none; margin: 0; padding: 0; }
.tarigo-home .th-booking-title { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 30px; }
.tarigo-home .th-booking-title .th-heading { margin: 0; }
.tarigo-home .th-booking-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; align-items: start; }
.tarigo-home .th-booking-subhead { margin: 0 0 13px; font-size: 18px; color: var(--th-teal-dark); }
.tarigo-home .th-booking-subhead.is-second { margin-top: 28px; }

.tarigo-home .th-booking-table { border: 1px solid var(--th-course-line); border-radius: 12px; overflow: hidden; }
.tarigo-home .th-booking-head,
.tarigo-home .th-booking-row { display: grid; grid-template-columns: 1.35fr 1fr .9fr .9fr .9fr 108px 100px; gap: 12px; align-items: center; margin: 0; }
.tarigo-home .th-booking-head { padding: 11px 14px; background: #eff8f9; color: var(--th-teal-dark); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.tarigo-home .th-booking-row { padding: 17px 14px; border-top: 1px solid var(--th-course-line); font-size: 12px; }
.tarigo-home .th-booking-row > div:first-child strong,
.tarigo-home .th-booking-row span strong { display: block; color: var(--th-teal-dark); }
.tarigo-home .th-booking-row > div:first-child a { display: block; margin-top: 5px; color: var(--th-teal); font-size: 10px; }
.tarigo-home .th-booking-row small { display: block; color: var(--th-muted); font-size: 10px; }
.tarigo-home .th-booking-row em { display: block; margin-top: 4px; color: var(--th-teal); font-size: 10px; font-style: normal; font-weight: 800; }
.tarigo-home .th-seat-status { justify-self: start; padding: 5px 8px; border-radius: 99px; background: #eaf8ee; color: #147a36; font-size: 10px; }
.tarigo-home .th-seat-status.is-limited { background: #fff1d8; color: #9a6100; }
.tarigo-home .th-seat-status.is-full { background: #fbe9ef; color: #a3264a; }
.tarigo-home .th-qty { display: grid; grid-template-columns: 32px 38px 32px; height: 36px; border: 1px solid #b9dadd; border-radius: 5px; overflow: hidden; }
.tarigo-home .th-qty.is-empty { display: block; height: auto; border: 0; color: var(--th-muted); }
.tarigo-home .th-qty button { padding: 0; border: 0; background: #f4fafb; color: var(--th-teal); font-size: 18px; line-height: 1; cursor: pointer; }
.tarigo-home .th-qty button:disabled { opacity: .4; cursor: default; }
.tarigo-home .th-qty output { display: grid; place-items: center; border-inline: 1px solid #d6e8ea; font-weight: 800; }
.tarigo-home .th-book-link { display: grid; place-items: center; min-height: 38px; padding: 0 8px; border: 1px solid var(--th-teal); border-radius: 5px; background: var(--th-teal); color: #fff; font-size: 9px; font-weight: 900; text-decoration: none; text-transform: uppercase; cursor: pointer; }
.tarigo-home .th-book-link.is-alt { background: #fff; color: var(--th-teal); }
.tarigo-home .th-book-link:disabled { opacity: .5; cursor: not-allowed; }
.tarigo-home .th-booking-empty { padding: 20px; border: 1px solid var(--th-course-line); border-radius: 12px; }

.tarigo-home .th-enquiry-list { border: 1px solid var(--th-course-line); border-radius: 12px; overflow: hidden; }
.tarigo-home .th-enquiry-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 16px; align-items: center; padding: 15px 17px; border-top: 1px solid var(--th-course-line); }
.tarigo-home .th-enquiry-list article:first-child { border-top: 0; }
.tarigo-home .th-enquiry-list strong,
.tarigo-home .th-enquiry-list span { display: block; }
.tarigo-home .th-enquiry-list span { color: var(--th-muted); font-size: 12px; }
.tarigo-home .th-enquiry-list b { font-size: 12px; }
.tarigo-home .th-enquiry-list a { color: var(--th-teal); font-size: 10px; font-weight: 900; text-decoration: none; text-transform: uppercase; }

.tarigo-home .th-booking-help { padding: 25px; border: 1px solid #eeddbd; border-radius: 13px; background: #fff8ed; }
.tarigo-home .th-booking-help h3 { font-size: 21px; color: var(--th-teal-dark); }
.tarigo-home .th-booking-help ul { padding: 0; list-style: none; }
.tarigo-home .th-booking-help li { position: relative; margin: 11px 0; padding-left: 20px; font-size: 13px; }
.tarigo-home .th-booking-help li::before { content: "\2713"; position: absolute; left: 0; color: var(--th-teal); font-weight: 900; }
.tarigo-home .th-booking-help .th-btn { width: 100%; box-sizing: border-box; padding-inline: 10px; }
.tarigo-home .th-data-note { margin-top: 14px; color: var(--th-muted); font-size: 12px; }

.tarigo-home .th-support {
	padding: 0;
	background: transparent;
}
.tarigo-home .th-support-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	max-width: none;
	width: 100%;
	margin: 0;
	align-items: stretch;
}
.tarigo-home .th-support-grid article {
	display: flex;
	flex-direction: column;
	align-items: center;
	box-sizing: border-box;
	min-height: 100%;
	padding: clamp(40px, 5vw, 72px) clamp(32px, 5vw, 72px) clamp(48px, 5.5vw, 80px);
	border: 0;
	border-radius: 0;
	overflow: hidden;
	background: #dceef0;
	background: color-mix(in srgb, var(--th-teal, #1c8592) 16%, #fff);
	text-align: center;
}
.tarigo-home .th-support-grid article:nth-child(2) {
	background: #f6d6dc;
	background: color-mix(in srgb, var(--th-red, #ba2642) 16%, #fff);
}
.tarigo-home .th-support-grid img {
	display: block;
	flex: 0 0 200px;
	width: 100%;
	max-width: 280px;
	height: 200px;
	margin: 0 auto 24px;
	object-fit: contain;
	object-position: center;
}
.tarigo-home .th-support-grid article > span {
	color: var(--th-teal);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.tarigo-home .th-support-grid h3 {
	margin: 10px auto 12px;
	max-width: 16em;
	font-size: clamp(24px, 2.2vw, 32px);
	line-height: 1.2;
	color: var(--accent, var(--th-teal));
	text-wrap: balance;
}
.tarigo-home .th-support-grid article:first-child h3 {
	max-width: 12.4em;
}
.tarigo-home .th-support-grid p {
	max-width: 34rem;
	margin: 0 auto 22px;
	color: var(--th-muted);
	font-size: 16px;
	line-height: 1.6;
}
.tarigo-home .th-support-grid .th-btn {
	align-self: center;
	margin-top: auto;
}

.tarigo-home .th-good-value-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(320px, .7fr); gap: 72px; align-items: center; max-width: 1180px; }
.tarigo-home .th-good-value-grid > div > p:not(.th-eyebrow) { max-width: 760px; color: #40545c; font-size: 17px; line-height: 1.75; }
.tarigo-home .th-value-checklist { padding: 30px; border-left: 5px solid var(--th-gold); border-radius: 0 12px 12px 0; background: #fff8ed; }
.tarigo-home .th-value-checklist h3 { font-size: 22px; color: var(--th-teal-dark); }
.tarigo-home .th-value-checklist ul { margin: 18px 0 0; padding: 0; list-style: none; }
.tarigo-home .th-value-checklist li { position: relative; margin: 12px 0; padding-left: 23px; color: #40545c; }
.tarigo-home .th-value-checklist li::before { content: "\2713"; position: absolute; left: 0; color: var(--th-teal); font-weight: 900; }

.tarigo-home .th-article-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.tarigo-home .th-article-grid a { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--th-course-line); border-radius: 10px; background: #fff; color: inherit; text-decoration: none; }
.tarigo-home .th-article-grid a > img { width: 100%; height: auto; object-fit: cover; }
.tarigo-home .th-article-grid a > div { display: flex; flex: 1; flex-direction: column; padding: 18px; }
.tarigo-home .th-article-grid span { color: var(--th-teal); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.tarigo-home .th-article-grid h3 { margin: 14px 0; font-size: 16px; color: var(--th-teal-dark); }
.tarigo-home .th-article-grid b { margin-top: auto; color: var(--th-teal); font-size: 11px; }

@media (max-width: 1200px) {
	.tarigo-home .th-booking-head,
	.tarigo-home .th-booking-row { grid-template-columns: 1.3fr 1fr .9fr .9fr 108px 100px; }
	.tarigo-home .th-booking-head span:nth-child(3),
	.tarigo-home .th-booking-row > .th-booking-format { display: none; }
	.tarigo-home .th-article-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 1050px) {
	.tarigo-home .th-booking-layout,
	.tarigo-home .th-good-value-grid { grid-template-columns: 1fr; gap: 38px; }
	.tarigo-home .th-article-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 390px) {
	.tarigo-home .th-booking-layout,
	.tarigo-home .th-good-value-grid,
	.tarigo-home .th-support-grid,
	.tarigo-home .th-article-grid,
	.tarigo-home .th-enquiry-list article {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 650px) {
	.tarigo-home .th-booking-title { display: block; }
	.tarigo-home .th-booking-title > .th-btn { margin-top: 18px; }
	.tarigo-home .th-booking-head { display: none; }
	.tarigo-home .th-booking-row { grid-template-columns: 1fr 1fr; gap: 14px; }
	.tarigo-home .th-booking-row > div:first-child { grid-column: 1 / -1; }
	.tarigo-home .th-booking-row > .th-booking-format { display: block; }
	.tarigo-home .th-booking-row .th-qty,
	.tarigo-home .th-booking-row .th-book-link { width: 100%; }
	.tarigo-home .th-enquiry-list article,
	.tarigo-home .th-support-grid,
	.tarigo-home .th-article-grid { grid-template-columns: 1fr; }
}
