/**
 * Golf Pass single product page (woocommerce/single-product-golf-pass.php).
 * Ported from the Elementor "Product – Super Pass" template (55329).
 */

.tgp-gp {
	--tgp-gp-primary: #023047;
	--tgp-gp-secondary: #3AAF56;
	--tgp-gp-accent: #FFB703;
	--tgp-gp-orange: #FB8501;
	--tgp-gp-cream: #FFFAEE;
	--tgp-gp-ice: #F4F8FA;
	--tgp-gp-text: #404040;
	--tgp-gp-muted: rgba(0, 0, 0, 0.6);
	--tgp-gp-gutter: 4vw;
	--tgp-gp-container: 1140px; /* product, about, how it works and reviews content width */
}

/* Site custom CSS applied this to everything inside Elementor widgets. */
.tgp-gp p:not([class]) {
	line-height: inherit;
}

/* League Spartan everywhere on these pages (no Poppins), including shortcode and WooCommerce markup. */
.tgp-gp,
.tgp-gp :where(h1, h2, h3, h4, h5, h6, p, a, span, li, dt, dd, button, input, select, label, strong, small, blockquote, figcaption, del, ins, bdi, td, th),
.tgp-gp .font-poppins,
.tgp-gp [class*="font-"] {
	font-family: "League Spartan", sans-serif !important;
}

.tgp-gp-trust__bar {
	font-size: 18px;
}

/* Shared layout: every section is a full-width band with a centred inner box. */
.tgp-gp-product,
.tgp-gp-about,
.tgp-gp-hiw,
.tgp-gp-calc,
.tgp-gp-reviews2,
.tgp-gp-details,
.tgp-gp-explore,
.tgp-gp-guarantees,
.tgp-gp-join,
.tgp-gp-why,
.tgp-gp-reels,
.tgp-gp-promise,
.tgp-gp-faqs,
.tgp-gp-reviews {
	padding-left: var(--tgp-gp-gutter);
	padding-right: var(--tgp-gp-gutter);
}

.tgp-gp-container,
.tgp-gp-details__inner,
.tgp-gp-guarantees__inner {
	max-width: var(--tgp-gp-container);
	margin: 0 auto;
}

.tgp-gp-container--926 { max-width: 926px; }
.tgp-gp-container--1000 { max-width: 1000px; }
.tgp-gp-container--1320 { max-width: 1320px; }

.tgp-gp-heading {
	margin: 0;
	font-family: "League Spartan", sans-serif;
	font-size: 34px;
	font-weight: 900;
	line-height: 1.15;
	color: var(--tgp-gp-primary);
	text-align: center;
}

.tgp-gp-heading span {
	display: inline-block;
}

.tgp-gp-lead {
	margin: 0;
	font-size: 20px;
	line-height: 1.3;
	color: var(--tgp-gp-muted);
	text-align: center;
}

.tgp-gp-button {
	display: inline-block;
	padding: 12px 24px;
	border-radius: 3px;
	background-color: var(--tgp-gp-orange);
	color: #fff;
	font-family: "League Spartan", sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	text-decoration: none;
}

.tgp-gp-button:hover,
.tgp-gp-button:focus {
	color: #fff;
	text-decoration: underline;
}

/* Trust bar: 72px down, under the header, in the normal flow so the product always starts
   below it (it wraps to two lines on narrow phones). */
.tgp-gp-trust {
	position: relative;
	padding-top: 72px;
	padding-bottom: 24px;
	background: var(--tgp-gp-section-bg);
}

.tgp-gp-trust__bar {
	position: relative;
	z-index: 1;
	width: 100%;
	padding: 4px;
	background-color: var(--tgp-gp-secondary);
	color: #fff;
	line-height: 1.5;
	text-align: center;
}

.tgp-gp-trust__item + .tgp-gp-trust__item {
	margin-left: 20px;
}

.tgp-gp-trust__icon {
	color: #FB8501;
}

.tgp-gp-trust__bar--mobile {
	display: none;
}

/* Add to cart (was the Elementor add-to-cart widget's custom CSS). */
.tgp-gp-add-to-cart {
	margin-top: 20px;
}

/* Elementor's add-to-cart widget zeroed WooCommerce's form margins. */
.woocommerce div.product .tgp-gp-add-to-cart form.cart {
	margin: 0;
}

.tgp-gp-add-to-cart .plugify_table_parent_div_overflow {
	padding-top: 20px;
}

.tgp-gp-add-to-cart .plugify_table_parent_div_overflow table tbody th {
	padding: 5px;
	background-color: var(--tgp-gp-primary);
	color: #fff;
}

.tgp-gp-add-to-cart .plugify_table_parent_div_overflow table td {
	padding: 5px;
	background-color: #DFF5FF;
	color: var(--tgp-gp-primary);
}

.tgp-gp-add-to-cart .plugify_table_parent_div_overflow table tr:not(:last-child) td {
	border-bottom: 1px dotted rgba(0, 0, 0, 0.24);
}

.tgp-gp-add-to-cart .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap !important;
}

.tgp-gp-add-to-cart .woocommerce-variation-add-to-cart .tgp-quantity {
	margin-right: 12px !important;
}

.tgp-gp-add-to-cart .woocommerce-variation-add-to-cart .tgp-quantity + div {
	width: calc(100% - 116px);
}

.tgp-gp-add-to-cart .woocommerce-variation-add-to-cart button.single_add_to_cart_button {
	margin-left: 0 !important;
}

.tgp-gp-add-to-cart .cart .single_variation_wrap .dgp-guaranteed {
	padding-left: 118px !important;
}

.tgp-gp-add-to-cart form.cart:not(.grouped_form):not(.variations_form) {
	align-items: flex-start;
}

.tgp-gp-add-to-cart .cart button,
.tgp-gp-add-to-cart .cart .button,
.tgp-gp-add-to-cart .quantity .qty {
	transition: all 0.2s;
}

/* Testimonials + accordion. */
.tgp-gp-details__inner {
	display: flex;
}

.tgp-gp-details__testimonials {
	width: 50%;
	min-width: 0;
	padding: 30px 20px 30px 0;
}

.tgp-gp-details__accordion {
	width: 50%;
	min-width: 0;
	padding-left: 40px;
}

.tgp-gp-testimonials {
	position: relative;
	padding-bottom: 16px;
}

.tgp-gp-testimonial {
	padding: 10px var(--tgp-gp-gutter);
}

/* Only the first slide shows until slick takes over. */
.tgp-gp-testimonials:not(.slick-initialized) .tgp-gp-testimonial + .tgp-gp-testimonial {
	display: none;
}

.tgp-gp-testimonial__inner {
	position: relative;
}

.tgp-gp-testimonial__inner::before {
	content: "“";
	position: absolute;
	top: 0;
	left: -69px;
	font-size: 150px;
	line-height: 1;
	color: var(--tgp-gp-secondary);
}

.tgp-gp-testimonial__stars {
	display: block;
	width: 192px;
	max-width: 100%;
	height: auto;
}

.tgp-gp-testimonial__content {
	display: flex;
	flex-direction: column-reverse;
}

.tgp-gp-testimonial__name {
	margin: 0;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.5;
	color: rgba(0, 0, 0, 0.56);
}

.tgp-gp-testimonial__text {
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	color: rgba(0, 0, 0, 0.56);
}

.tgp-gp-testimonials .slick-arrow {
	position: absolute;
	top: 50%;
	z-index: 1;
	width: 25px;
	height: 25px;
	padding: 0;
	border: 0;
	background: none;
	font-size: 0;
	transform: translateY(-50%);
	cursor: pointer;
}

.tgp-gp-testimonials .slick-arrow::before {
	content: "";
	display: block;
	width: 12px;
	height: 12px;
	margin: 0 auto;
	border: solid rgba(238, 238, 238, 0.9);
	border-width: 0 0 2px 2px;
	transform: rotate(45deg);
}

.tgp-gp-testimonials .slick-prev { left: 0; }
.tgp-gp-testimonials .slick-next { right: 0; }
.tgp-gp-testimonials .slick-next::before { transform: rotate(-135deg); }

.tgp-gp-testimonials .slick-dots {
	position: absolute;
	bottom: 5px;
	left: 0;
	display: flex !important;
	justify-content: center;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tgp-gp .tgp-gp-testimonials ul.slick-dots li {
	margin: 0 6px;
	padding: 0;
	background: none;
}

/* Beats the theme's global ul.slick-dots pill style. */
.tgp-gp .tgp-gp-testimonials ul.slick-dots button {
	display: block;
	width: 6px;
	height: 6px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background-color: #000;
	opacity: 0.2;
	font-size: 0;
	cursor: pointer;
}

.tgp-gp .tgp-gp-testimonials ul.slick-dots .slick-active button {
	width: 6px;
	background-color: #000;
	opacity: 1;
}

.teetime-product-accordion .title {
	cursor: pointer;
}

.teetime-product-accordion .content > :not(:last-child) {
	margin-bottom: 1em;
}

.teetime-product-accordion .content ul,
.teetime-product-accordion .content ol {
	padding-left: 20px;
}

.teetime-product-accordion .content ul { list-style-type: disc; }
.teetime-product-accordion .content ol { list-style-type: decimal; }

.teetime-product-accordion .content li:not(:last-child) {
	margin-bottom: 10px;
}

.tgp-gp-quick-links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.tgp-gp-quick-links a {
	position: relative;
	display: flex;
	padding: 12px 30px 12px 0;
	border-bottom: 1px solid #E0E3E6;
	font-family: "League Spartan", sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--tgp-gp-primary) !important;
	text-decoration: none;
}

.tgp-gp-quick-links a::after {
	content: "";
	position: absolute;
	top: 20px;
	right: 5px;
	width: 12px;
	height: 12px;
	border-width: 1px 1px 0 0;
	border-style: solid;
	border-color: #9a9a90;
	transform: rotate(45deg);
	transform-origin: 75% 25%;
	transition: 0.3s;
}

/* Explore golf courses (42px top, as on the redesign board). */
.tgp-gp-explore {
	padding-top: var(--tgp-gp-section-space);
	padding-bottom: var(--tgp-gp-section-space);
}

.tgp-gp-explore__inner {
	margin: 0 auto;
}

.tgp-gp-explore .tgp-gp-heading {
	margin-bottom: 20px;
}

/* Ontario: heading styled directly in Elementor instead of .tgp-title-h2. */
.tgp-gp-explore--plain .tgp-gp-heading {
	font-family: "League Spartan", sans-serif;
	font-size: 38px;
	font-weight: 800;
	line-height: 1;
}

/* Guarantees strip. */
.tgp-gp-guarantees {
	padding-top: 24px;
	padding-bottom: 24px;
	background-color: var(--tgp-gp-accent);
}

.tgp-gp-guarantees__inner {
	display: flex;
	gap: 20px;
}

.tgp-gp-guarantee {
	display: flex;
	flex: 1;
	align-items: center;
	gap: 13px;
	padding: 10px;
}

.tgp-gp-guarantee__icon img {
	display: block;
	width: 42px;
	height: 42px;
}

.tgp-gp-guarantee__title {
	flex: 1;
	margin: 0;
	font-size: 35px;
	font-weight: 700;
	line-height: 1;
	color: #000;
}

/* Join 1M+ golfers. */
.tgp-gp-join {
	padding-top: 20px;
}

.tgp-gp-join .tgp-gp-heading {
	margin-bottom: 40px;
}

.tgp-gp-join__row {
	display: flex;
	gap: 30px;
}

.tgp-gp-join__story {
	width: 70%;
	min-width: 0;
}

.tgp-gp-join__image {
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: 20px;
}

.tgp-gp-join__quote {
	margin: 0;
	font-size: 20px;
	line-height: 1.5;
	color: var(--tgp-gp-muted);
}

.tgp-gp-join__stars {
	display: flex;
	margin: 10px 0;
}

.tgp-gp-join__stars svg {
	width: 22.5px;
	height: 18px;
	fill: var(--tgp-gp-accent);
}

.tgp-gp-join__highlights {
	flex: 0 0 410px;
	align-self: flex-start;
	margin: 0;
	padding: 40px 25px;
	border-radius: 15px;
	background-color: var(--tgp-gp-cream);
	list-style: none;
}

.tgp-gp-join__highlights li {
	display: flex;
	align-items: center;
}

.tgp-gp-join__highlights li:not(:last-child) {
	padding-bottom: 30px;
}

.tgp-gp-join__highlights li:not(:first-child) {
	margin-top: 30px;
}

.tgp-gp-join__icon img {
	display: block;
	width: 62px;
	height: 62px;
}

.tgp-gp-join__label {
	padding-left: 5px;
	font-size: 35px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--tgp-gp-primary);
}

/* Why join: comparison table (44px top and bottom, same rhythm as How it works). */
.tgp-gp-why {
	padding-top: var(--tgp-gp-section-space);
	padding-bottom: var(--tgp-gp-section-space);
	background: var(--tgp-gp-section-bg);
}

.tgp-gp-why .tgp-gp-heading {
	padding-bottom: 0;
	margin-bottom: 10px;
}

.tgp-gp-why__intro {
	max-width: 820px;
	margin: 0 auto 22px;
	font-size: 15.5px;
	line-height: 1.65;
	color: #3F5560;
}

.tgp-gp-why__table {
	max-width: 880px;
	margin: 0 auto;
	overflow: hidden;
	border: 1px solid #C6E0EF;
	border-radius: 12px;
	background: #E8F4FB;
	font-size: 14.5px;
	color: var(--tgp-gp-primary);
}

.tgp-gp-why__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 200px 200px;
}

.tgp-gp-why__row + .tgp-gp-why__row:not(:last-child) {
	border-bottom: 1px dashed #B9D6E7;
}

.tgp-gp-why__row > div {
	padding: 13px 20px;
	line-height: 1.4;
}

.tgp-gp-why__row > div:not(:first-child) {
	text-align: center;
	font-weight: 700;
}

.tgp-gp-why__row--head {
	background: var(--tgp-gp-primary);
	color: #fff;
	font-weight: 600;
}

.tgp-gp-why__row--head > div {
	padding: 15px 20px;
	font-weight: 600 !important;
}

/* Members love us: Instagram reels. */
.tgp-gp-reels {
	padding-top: 130px;
	padding-bottom: 60px;
	text-align: center;
}

.tgp-gp-reels .tgp-gp-heading {
	margin: 0 auto 70px;
}

.tgp-gp-reels__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	padding: 10px;
	margin-bottom: 20px;
}

.tgp-gp-reel {
	display: flex;
	flex-direction: column;
	padding: 10px;
	overflow: hidden;
}

.tgp-gp-reel iframe {
	display: block;
	width: 100%;
	aspect-ratio: 323 / 574;
	border-radius: 10px 10px 0 0;
	object-position: bottom;
}

.tgp-gp-reel__footer {
	min-height: 65px;
	margin-top: -5px;
	border-radius: 0 0 22px 22px;
	background-color: var(--tgp-gp-ice);
}

.tgp-gp-reels .tgp-gp-button {
	width: 137px;
}

/* Our promise. */
.tgp-gp-promise__box {
	display: flex;
	flex-direction: column;
	gap: 30px;
	padding: 40px 50px 70px;
	border-radius: 15px;
	background-color: var(--tgp-gp-cream);
}

.tgp-gp-promise .tgp-gp-heading {
	max-width: 662px;
	margin: 0 auto;
	padding-bottom: 10px;
}

.tgp-gp-promise__items {
	display: flex;
	justify-content: space-between;
	gap: 20px;
}

.tgp-gp-promise__item {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.tgp-gp-promise__icon {
	margin-bottom: 20px;
}

.tgp-gp-promise__icon img {
	display: block;
	width: 75px;
	height: 75px;
}

.tgp-gp-promise__title {
	margin: 0 0 10px;
	font-size: 35px;
	font-weight: 700;
	line-height: 1;
	color: var(--tgp-gp-primary);
}

.tgp-gp-promise__text {
	margin: 0;
	font-size: 20px;
	line-height: 27px;
	color: rgba(64, 64, 64, 0.6);
}

/* FAQs (was the teetime_product_faqs widget). */
.tgp-gp-faqs {
	padding-top: 72px;
}

.tgp-gp-faqs .tgp-gp-heading {
	padding-bottom: 10px;
	margin-bottom: 40px;
}

.tgp-gp-faqs {
	padding-bottom: 20px;
}

/* Same overrides the site CSS applied to the widget; the theme's mobile !important padding still wins, as before. */
.tgp-gp-faqs .tgp-faq-section .container {
	padding-top: 0;
}

.tgp-gp-faqs .tgp-faq-section .container::before,
.tgp-gp-faqs .tgp-faq-section .container::after {
	display: none !important;
}

.tgp-gp-faqs .tgp-accordtion-body > :not(:last-child) {
	margin-bottom: 1em;
}

.tgp-gp-faqs .tgp-accordtion-body ul,
.tgp-gp-faqs .tgp-accordtion-body ol {
	padding-left: 20px;
}

.tgp-gp-faqs .tgp-accordtion-body ul { list-style-type: disc; }
.tgp-gp-faqs .tgp-accordtion-body ol { list-style-type: decimal; }

.tgp-gp-faqs .tgp-accordtion-body li:not(:last-child) {
	margin-bottom: 10px;
}

/* Offset so #shipping-returns lands on the last FAQ, as the Elementor menu anchor did. */
.tgp-gp-anchor {
	position: relative;
	top: -150px;
}

/* Reviews. */
.tgp-gp-reviews {
	padding-top: 100px;
	padding-bottom: 80px;
}

.tgp-gp-reviews .tgp-gp-heading {
	margin-bottom: 70px;
}

.tgp-gp-reviews .elementor-widget-theme-post-content {
	max-height: 62px;
	overflow-y: auto;
	padding-right: 8px;
}

.tgp-gp-reviews .elementor-widget-theme-post-content::-webkit-scrollbar {
	width: 4px;
}

.tgp-gp-reviews .elementor-widget-theme-post-content::-webkit-scrollbar-thumb {
	background: var(--tgp-gp-primary);
}

.tgp-gp-reviews .elementor-widget-theme-post-content::-webkit-scrollbar-track {
	background: var(--tgp-gp-ice);
}

/* Other golf passes. Flex stops related.php's margins collapsing out, as the Elementor container did. */
.tgp-gp-related {
	display: flex;
	flex-direction: column;
}

.tgp-gp-related section.related.products > h2 {
	margin-bottom: 40px;
	font-family: "League Spartan", sans-serif;
	font-size: 35px;
	font-weight: 700;
}

.tgp-gp-related section.related > .tgp-h2-underline::after {
	margin-top: 7px;
}

.tgp-gp-related ul.products li.product span.onsale {
	display: block;
}

.product_cat-bundles .tgp-gp-product__buy .woocommerce-notices-wrapper {
	display: none;
}

.product_cat-bundles .tgp-gp-title {
	margin-bottom: 10px;
}

@media (max-width: 1365px) {
	.tgp-gp-testimonial__inner {
		padding-left: 69px;
	}

	.tgp-gp-testimonial__inner::before {
		left: 0;
	}
}

@media (max-width: 1024px) {
	.tgp-gp {
		--tgp-gp-gutter: 32px;
	}

	.tgp-gp-heading {
		font-size: 30px;
	}

	.tgp-gp-guarantees__inner {
		flex-wrap: wrap;
		gap: 10px;
	}

	.tgp-gp-guarantee {
		flex: 0 0 calc(50% - 10px);
	}

	.tgp-gp-guarantee__title {
		font-size: 30px;
	}

	.tgp-gp-join .tgp-gp-heading {
		margin-bottom: 30px;
	}

	.tgp-gp-join__row {
		flex-wrap: wrap;
	}

	.tgp-gp-join__story,
	.tgp-gp-join__highlights {
		flex-basis: 100%;
		width: 100%;
	}

	.tgp-gp-join__icon img {
		width: 40px;
		height: 40px;
	}

	.tgp-gp-join__label {
		font-size: 30px;
	}

	.tgp-gp-reels {
		padding-top: 60px;
		padding-bottom: 0;
	}

	.tgp-gp-reels .tgp-gp-heading {
		margin-bottom: 30px;
	}

	.tgp-gp-reels__grid {
		gap: 20px;
		margin-bottom: 30px;
	}

	.tgp-gp-promise {
		padding-top: 60px;
	}

	.tgp-gp-promise__box {
		padding: 48px 30px;
	}

	.tgp-gp-promise .tgp-gp-heading {
		max-width: 100%;
	}

	.tgp-gp-faqs {
		padding-top: 60px;
	}

	.tgp-gp-faqs .tgp-gp-heading {
		margin-bottom: 30px;
	}

	.tgp-gp-reviews {
		padding-top: 60px;
		padding-bottom: 60px;
	}

	.tgp-gp-reviews .tgp-gp-heading {
		margin-bottom: 30px;
	}
}

@media (max-width: 767px) {
	.tgp-gp {
		--tgp-gp-gutter: 16px;
	}

	.tgp-gp-heading {
		font-size: 27px;
	}

	.tgp-gp-trust {
		padding-bottom: 12px;
	}

	.tgp-gp-trust__bar--mobile {
		display: block;
	}

	.tgp-gp-trust__bar--desktop {
		display: none;
	}

	.tgp-gp-details__inner {
		flex-wrap: wrap;
	}

	.tgp-gp-add-to-cart .cart .single_variation_wrap .dgp-guaranteed {
		padding-left: 0 !important;
	}

	.tgp-gp-add-to-cart .composite_wrap {
		width: calc(100% - 120px);
		padding-top: 0 !important;
	}

	.tgp-gp-details {
		padding-top: 30px;
		padding-bottom: 30px;
	}

	.tgp-gp-details__inner {
		gap: 30px;
	}

	.tgp-gp-details__testimonials,
	.tgp-gp-details__accordion {
		width: 100%;
		padding: 0;
	}

	.tgp-gp-guarantee {
		align-items: center;
	}

	.tgp-gp-guarantee__icon img {
		width: 36px;
		height: 36px;
	}

	.tgp-gp-guarantee__title {
		font-size: 25px;
	}

	.tgp-gp-join__highlights li:not(:last-child) {
		padding-bottom: 15px;
	}

	.tgp-gp-join__highlights li:not(:first-child) {
		margin-top: 15px;
	}

	.tgp-gp-join__icon img {
		width: 36px;
		height: 36px;
	}

	.tgp-gp-join__label {
		font-size: 25px;
	}

	.tgp-gp-why .tgp-gp-heading,
	.tgp-gp-why__intro {
		text-align: center;
	}

	.tgp-gp-why__row {
		grid-template-columns: minmax(0, 1fr) 96px 72px;
	}

	.tgp-gp-why__row > div {
		padding: 12px 10px;
	}

	.tgp-gp-reels__grid {
		grid-template-columns: 1fr;
	}

	.tgp-gp-promise__box {
		padding: 48px 15px;
	}

	.tgp-gp-promise__items {
		flex-wrap: wrap;
		justify-content: center;
		gap: 30px;
	}

	.tgp-gp-promise__item {
		flex-basis: 100%;
	}

	.tgp-gp-promise__title {
		font-size: 25px;
	}

	.tgp-gp-promise__title br {
		display: none;
	}

	.tgp-gp-related section.related > h2 {
		margin-bottom: 30px;
		font-size: 25px !important;
	}
}


/* ==========================================================================
   2027 redesign (BUILD-SPEC.md). Rules below come after the legacy block so
   they win at equal specificity; their responsive rules are at the end.
   ========================================================================== */

.tgp-gp {
	--tgp-gp-section-space: 44px; /* top/bottom padding of every section; 32px on phones */
	--tgp-gp-section-bg: #fdfbf5; /* product, about, how it works, why join and other golf passes share it */
	--tgp-gp-navy: #023047;
	--tgp-gp-body: #465761;
	--tgp-gp-grey: #6B7C85;
	--tgp-gp-line: #E3DFDA;
	--tgp-gp-paper: #FDFBF5;
}

/* Product: gallery + buy box. */
.tgp-gp-product {
	padding-top: 17px; /* gap below the trust bar */
	padding-bottom: var(--tgp-gp-section-space);
	background: var(--tgp-gp-section-bg);
}

.tgp-gp-product__inner {
	display: grid;
	grid-template-columns: 600px minmax(0, 1fr);
	gap: 48px;
	max-width: var(--tgp-gp-container);
	margin: 0 auto;
	align-items: start;
}

.tgp-gp-product__buy {
	display: flex;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
	padding: 0 !important; /* the theme pads .tgp-singleProduct-info */
}

/* The empty WooCommerce notices wrapper still takes a flex gap above the title; drop it until
   it has a notice in it. */
.tgp-gp-product__buy > .woocommerce-notices-wrapper:empty,
.tgp-gp-product__buy > .woocommerce-notices-wrapper:not(:has(*)) {
	display: none;
}

/* style-v2.css pushes every notice list down 100px (for the header); in the buy box it sits flush. */
.tgp-gp-product__buy .woocommerce-notices-wrapper ul {
	margin-top: 0 !important;
}

/* The theme sizes .tgp-singleProduct-info to 50% and its .product_title to 25px Poppins. */
.tgp-gp .tgp-gp-product__buy.tgp-singleProduct-info {
	width: auto;
}

.tgp-gp .tgp-singleProduct-info .tgp-gp-title {
	margin: 0;
	font-size: 44px;
	font-weight: 900;
	line-height: 1.05;
	color: var(--tgp-gp-navy);
}

/* Gallery. */
.tgp-gp-gallery {
	display: flex;
	flex-direction: column;
	gap: 11px;
	width: 100%;
	max-width: 600px;
}

.tgp-gp-gallery__stage {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 16px;
	background: #D9F2FF;
}

.tgp-gp-gallery__slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: none;
	cursor: zoom-in;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s ease, visibility 0.25s;
}

.tgp-gp-gallery__slide.is-active {
	opacity: 1;
	visibility: visible;
}

.tgp-gp-gallery__stage img,
.tgp-gp-gallery__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tgp-gp-gallery__nav,
.tgp-gp-lightbox__nav,
.tgp-gp-lightbox__close {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	color: var(--tgp-gp-navy);
	box-shadow: 0 2px 8px rgba(2, 48, 71, 0.18);
	transform: translateY(-50%);
	cursor: pointer;
}

.tgp-gp-gallery__nav svg,
.tgp-gp-lightbox__nav svg,
.tgp-gp-lightbox__close svg {
	width: 22px;
	height: 22px;
}

.tgp-gp-gallery__nav--prev,
.tgp-gp-lightbox__nav--prev {
	left: 14px;
}

.tgp-gp-gallery__nav--next,
.tgp-gp-lightbox__nav--next {
	right: 14px;
}

.tgp-gp-gallery__nav--next svg,
.tgp-gp-lightbox__nav--next svg {
	transform: scaleX(-1);
}

.tgp-gp-gallery__count {
	position: absolute;
	right: 14px;
	bottom: 14px;
	z-index: 2;
	padding: 5px 11px;
	border-radius: 999px;
	background: rgba(2, 48, 71, 0.78);
	color: #fff;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.2;
}

.tgp-gp-gallery__thumbs {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr)); /* five tiles spanning the main image's width */
	gap: 11px;
}

.tgp-gp-gallery__thumb {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	padding: 0;
	border: 2px solid transparent;
	border-radius: 10px;
	background: #fff;
	cursor: pointer;
}

.tgp-gp-gallery__thumb.is-active {
	border-color: var(--tgp-gp-navy);
}

.tgp-gp-gallery__more {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: rgba(2, 48, 71, 0.68);
	color: #fff;
	font-size: 22px;
	font-weight: 900;
	line-height: 1;
}

.tgp-gp-gallery__more small {
	margin-top: 4px;
	font-size: 13px;
	font-weight: 600;
}

/* Lightbox. */
.tgp-gp-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 60px 72px;
	background: rgba(2, 20, 30, 0.92);
}

.tgp-gp-lightbox[hidden] {
	display: none;
}

.tgp-gp-lightbox__image {
	max-width: 100%;
	max-height: 100%;
	border-radius: 12px;
	object-fit: contain;
}

.tgp-gp-lightbox__close {
	top: 20px;
	right: 20px;
	transform: none;
}

.tgp-gp-lightbox__count {
	position: absolute;
	bottom: 20px;
	left: 50%;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	transform: translateX(-50%);
}

body.tgp-gp-lightbox-open {
	overflow: hidden;
}

/* Coverage box. */
.tgp-gp-coverage {
	padding: 20px 22px;
	border: 1px solid var(--tgp-gp-line);
	border-radius: 12px;
	background: #fff;
}

.tgp-gp-coverage__figures {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 14px;
}

/* Divider between the figures and the description/places (none when nothing follows). */
.tgp-gp-coverage__figures:not(:last-child) {
	padding-bottom: 14px;
	border-bottom: 1px solid #f0ebe0;
}

.tgp-gp-coverage__figures:last-child {
	margin-bottom: 0;
}

.tgp-gp-coverage__figures--two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tgp-gp-coverage__figures dt {
	font-size: 30px;
	font-weight: 900;
	line-height: 1;
	color: var(--tgp-gp-secondary);
}

.tgp-gp-coverage__figures dd {
	margin: 4px 0 0;
	font-size: 13.5px;
	line-height: 1.3;
	color: var(--tgp-gp-grey);
}

.tgp-gp-coverage__description,
.tgp-gp-coverage__places {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.5;
	color: var(--tgp-gp-body);
}

.tgp-gp-coverage__description {
	margin-bottom: 8px;
}

.tgp-gp-coverage__places-label {
	font-weight: 600;
	color: var(--tgp-gp-navy);
}

/* product_states is a WYSIWYG field: it arrives as <p> markup. */
.tgp-gp .tgp-gp-coverage__places * {
	margin: 0;
	font-size: inherit;
	line-height: inherit !important;
	color: inherit;
}

.tgp-gp .tgp-gp-coverage__places > * + * {
	margin-top: 6px;
}

.tgp-gp-coverage__description > :not(:last-child) {
	margin-bottom: 8px;
}

.tgp-gp-coverage__description > :last-child {
	margin-bottom: 0;
}

/* The theme gives paragraphs a tall line-height; the description follows the box's text. */
.tgp-gp .tgp-gp-coverage__description * {
	font-size: inherit;
	line-height: inherit !important;
	color: inherit;
}

/* Price. */
.tgp-gp-price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 13px;
	margin: 0 0 -16px; /* pulls the buy form up; the column gap alone left too much space */
}

.tgp-gp-price__now,
.tgp-gp-price__now .amount {
	font-size: 42px;
	font-weight: 900;
	line-height: 1;
	color: var(--tgp-gp-navy);
}

.tgp-gp-price__was,
.tgp-gp-price__was .amount {
	font-size: 19px;
	color: #7C8A94;
}

/* Baseline-aligned like the prices, then nudged up so the pill centres on the struck price's digits. */
.tgp-gp-price__save {
	position: relative;
	top: -3px;
	line-height: 1;
	padding: 5px 11px;
	border-radius: 999px;
	background: #FFF0DD;
	color: #7A5000;
	font-size: 13px;
	font-weight: 600;
}

.tgp-gp-price [hidden] {
	display: none;
}

.tgp-gp-savings-link {
	display: inline-flex;
	align-items: center;
	min-height: 44px; /* tap target; the negative margins keep the row's visible height */
	margin: -12px 0;
	color: #0A5A7D;
	font-size: 13px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.tgp-gp-savings-link:hover,
.tgp-gp-savings-link:focus {
	color: var(--tgp-gp-navy);
}

/* Buy form: format cards, quantity, checkout, gift, trust row. */
.tgp-gp-add-to-cart {
	margin-top: 0;
}

/* No grey "purchase zone" panel around the form on these pages. */
.tgp-gp .variations_form.purchase-zone {
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}

/* "Choose your format:" on the left, "See what you can save" on the right. */
.tgp-gp #golf-pass-format .tgp-gp-format-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 4px 12px;
	margin-bottom: 10px;
}

.tgp-gp #golf-pass-format .tgp-gp-format-head > p {
	margin: 0 !important;
	font-size: 13px;
	font-weight: 600;
	color: var(--tgp-gp-navy) !important;
}

.tgp-gp #golf-pass-format .format-cards {
	gap: 12px;
}

.tgp-gp #golf-pass-format .format-card,
.tgp-gp #golf-pass-format .format-card.single-variation {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	padding: 16px 16px 14px;
	border: 1.5px solid var(--tgp-gp-line);
	border-radius: 12px;
	background: #fff;
}

.tgp-gp #golf-pass-format .format-card.selected {
	border: 2px solid var(--tgp-gp-navy);
	background: #fff;
}

.tgp-gp #golf-pass-format .format-card .badge {
	top: -11px;
	left: 14px;
	padding: 1px 9px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.03em;
}

.tgp-gp #golf-pass-format .format-card .header {
	display: contents;
}

.tgp-gp #golf-pass-format .format-card .name {
	order: 1;
	font-size: 20px !important;
	font-weight: 700;
	color: var(--tgp-gp-navy);
}

.tgp-gp #golf-pass-format .format-card-line {
	order: 2;
	margin: 4px 0 8px;
	font-size: 13.5px;
	line-height: 1.35;
	color: var(--tgp-gp-body);
}

.tgp-gp #golf-pass-format .format-card .price {
	order: 3;
	font-size: 19px !important;
	font-weight: 600;
	color: var(--tgp-gp-navy);
}

.tgp-gp #golf-pass-format .format-card .price del {
	margin-right: 4px;
	font-size: 14px;
	color: var(--tgp-gp-grey);
}

.tgp-gp #golf-pass-format .format-card .price ins {
	background: none;
	text-decoration: none;
}

/* Header wraps name + price in one <div>; flatten it so the line sits between them. */
.tgp-gp #golf-pass-format .format-card .header > div {
	display: contents;
}

.tgp-gp .tgp-quantity .quantity-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 15px;
	font-weight: 600;
	color: var(--tgp-gp-navy);
}

/* Stepper as on the board: one bordered control, white 44px buttons, 44px input between dividers. */
.tgp-gp .tgp-quantity .quantity-control {
	display: flex;
	align-items: stretch;
	overflow: hidden;
	border: 1px solid #E3DFDA;
	border-radius: 10px;
	background: #fff;
}

.tgp-gp .tgp-quantity .quantity-control .qty-btn {
	width: 44px;
	height: 44px;
	margin: 0 !important;
	border: 0;
	border-radius: 0;
	background: #fff;
	color: var(--tgp-gp-navy);
	font-size: 19px;
}

.tgp-gp .tgp-quantity .quantity-control .qty-btn:hover,
.tgp-gp .tgp-quantity .quantity-control .qty-btn:focus-visible {
	background: #F4F8FA;
}

.tgp-gp .tgp-quantity .quantity-control .qty-value {
	width: 54px;
	height: 44px !important; /* the theme pins it at 32px */
	margin: 0;
	padding: 0;
	border: 0;
	border-left: 1px solid #ECE7DC;
	border-right: 1px solid #ECE7DC;
	border-radius: 0;
	background: #fff;
	color: var(--tgp-gp-navy);
	font-size: 16px;
	font-weight: 600;
	text-align: center;
}

.tgp-gp .single_add_to_cart_button {
	min-height: 56px;
	border-radius: 10px !important;
	font-size: 18px !important;
	font-weight: 600 !important;
}

.tgp-gp .sub-cta--pass {
	display: flex;
	justify-content: center;
	margin-top: 12px;
}

.tgp-gp .sub-cta--pass .golf-pass-gift-card {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-height: 44px;
	color: #0A5A7D;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

.tgp-gp .sub-cta--pass .golf-pass-gift-card:hover,
.tgp-gp .sub-cta--pass .golf-pass-gift-card:focus {
	color: var(--tgp-gp-navy);
	text-decoration: underline;
}

.tgp-gp .trust-badges--pass {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px 24px;
	margin-top: 16px;
	padding-top: 15px;
	border-top: 1px solid #ECE7DC;
	font-size: 12.5px;
	line-height: 1.4;
	text-align: center;
	color: #3F5560;
}

/* About this pass. */
.tgp-gp-about {
	padding-bottom: var(--tgp-gp-section-space); /* no top: it continues the product block */
	background: var(--tgp-gp-section-bg);
}

.tgp-gp-about__card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 460px;
	gap: 40px;
	max-width: var(--tgp-gp-container);
	margin: 0 auto;
	padding: 24px 28px;
	border: 1px solid var(--tgp-gp-line);
	border-radius: 16px;
	background: #fff;
}

.tgp-gp-about__title {
	margin: 0 0 12px;
	font-size: 24px;
	font-weight: 900;
	color: var(--tgp-gp-navy);
}

.tgp-gp-about__text {
	font-size: 15.5px;
	line-height: 1.6;
	color: var(--tgp-gp-body);
}

.tgp-gp-about__text p {
	margin: 0 0 12px;
}

.tgp-gp-about__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	align-content: start;
	margin: 0;
}

.tgp-gp-about__grid dt {
	font-size: 14.5px;
	font-weight: 700;
	color: var(--tgp-gp-navy);
}

.tgp-gp-about__grid dd {
	margin: 4px 0 0;
	font-size: 14.5px;
	font-weight: 400;
	color: var(--tgp-gp-body);
}

/* How it works (layout from the redesign board). */
.tgp-gp-hiw {
	padding-top: var(--tgp-gp-section-space);
	padding-bottom: var(--tgp-gp-section-space);
	background: var(--tgp-gp-section-bg);
}

.tgp-gp-hiw__inner {
	max-width: var(--tgp-gp-container);
	margin: 0 auto;
	text-align: center;
}

.tgp-gp-hiw__intro {
	margin: 8px auto 0;
	font-size: 16.5px;
	line-height: 1.5;
	color: #3F5560;
}

.tgp-gp-hiw__steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 26px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.tgp-gp-hiw__step {
	text-align: center;
}

.tgp-gp-hiw__media {
	height: 330px;
	overflow: hidden;
	border: 1px solid #E6E1D6;
	border-radius: 14px;
	background: #fff;
}

.tgp-gp-hiw__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tgp-gp-hiw__title {
	margin: 12px 0 0;
	font-size: 21px;
	font-weight: 700;
	color: var(--tgp-gp-navy);
}

.tgp-gp-hiw__text {
	margin: 3px 0 0;
	font-size: 15px;
	line-height: 1.45;
	color: #3F5560;
}

/* Savings calculator (the shortcode is shown open here, its toggle hidden). */
.tgp-gp-calc {
	padding-top: var(--tgp-gp-section-space);
	padding-bottom: var(--tgp-gp-section-space);
}

.tgp-gp-calc__inner {
	max-width: 880px;
	margin: 0 auto;
}

.tgp-gp-calc .tgp-gp-heading {
	margin-bottom: 24px;
}

.tgp-gp-calc .calc-collapsible {
	padding: 28px 32px;
	border: 0;
	border-radius: 14px;
	background: #E8F4FB;
}

.tgp-gp-calc .calc-collapsed-header,
.tgp-gp-calc .calc-divider {
	display: none !important;
}

.tgp-gp-calc .calc-collapsible .calc-expanded-content {
	display: block !important;
	max-height: none !important;
	overflow: visible !important;
	opacity: 1 !important;
	padding: 0 !important;
	border: 0 !important;
}

.tgp-gp-calc .calc-inputs {
	font-size: 15px;
}

.tgp-gp-calc .calc-savings-value {
	font-size: 44px !important;
	font-weight: 900;
}

/* Testimonials ([teetime_pass_reviews]). */
.tgp-gp-reviews2 {
	padding-top: var(--tgp-gp-section-space);
	padding-bottom: var(--tgp-gp-section-space);
}

.tgp-gp-reviews2 .tgp-gp-heading {
	font-size: 32px;
}

/* FAQs: same section spacing as the rest of the redesign (replaces the legacy 72/20px, 60px on mobile). */
.tgp-gp-faqs {
	padding-top: var(--tgp-gp-section-space);
	padding-bottom: var(--tgp-gp-section-space);
}

.tgp-pass-reviews__rating {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px 10px;
	margin: 16px 0 32px;
	font-size: 16px;
	color: var(--tgp-gp-body, #465761);
}

.tgp-pass-reviews__stars {
	display: inline-flex;
	gap: 2px;
}

.tgp-pass-reviews__stars svg {
	width: 20px;
	height: 20px;
	fill: #FFB703;
}

.tgp-pass-reviews__score {
	font-size: 18px;
	font-weight: 900;
	color: var(--tgp-gp-navy, #023047);
}

.tgp-pass-reviews__more {
	min-height: 44px;
	padding: 0 6px;
	border: 0;
	background: none;
	color: #0A5A7D;
	font-size: 15px;
	font-weight: 600;
	text-decoration: underline;
	cursor: pointer;
}

.tgp-pass-reviews__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.tgp-pass-reviews__list.is-expanded {
	max-height: var(--tgp-reviews-max-height, 640px);
	overflow-y: auto;
	padding-right: 6px;
	overscroll-behavior: contain;
}

.tgp-pass-review {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 14px;
	margin: 0;
	padding: 24px;
	border: 1px solid var(--tgp-gp-line, #E3DFDA);
	border-radius: 14px;
	background: #fff;
}

.tgp-pass-review__quote {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 16px;
	line-height: 1.55;
	color: var(--tgp-gp-navy, #023047);
}

.tgp-pass-review__author {
	font-size: 14.5px;
	color: var(--tgp-gp-body, #465761);
}

/* Guarantees strip: 20px labels, centred, ~76px tall (redesign board). */
.tgp-gp-guarantees {
	padding-top: 19px;
	padding-bottom: 19px;
}

.tgp-gp-guarantees__inner {
	justify-content: center;
	gap: 8px 56px;
}

.tgp-gp-guarantee {
	flex: 0 0 auto;
	gap: 10px;
	padding: 6px 0;
}

.tgp-gp-guarantee__icon img {
	width: 26px;
	height: 26px;
}

.tgp-gp-guarantee__title {
	flex: 0 0 auto;
	font-size: 20px;
	line-height: 1.2;
	color: #23282D;
}

/* Other golf passes: same background as How it works, a little breathing room at the top. */
.tgp-gp-related {
	padding-top: var(--tgp-gp-section-space);
	padding-bottom: var(--tgp-gp-section-space);
	background: var(--tgp-gp-section-bg);
}

/* related.php adds its own spacing (64px padding + 12px margin on top, 60px margins at the
   bottom); the section's padding is enough on both sides. */
.tgp-gp-related section.related.products,
.tgp-gp-related .tgp-wrap-related-product {
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 0;
}

.tgp-gp .tgp-gp-related ul.tgp-slide-related-products {
	margin-bottom: 0; /* WooCommerce's 1em list margin */
}

.tgp-gp .tgp-gp-related section.related > h2 {
	margin-top: 0; /* the theme adds 82px on phones */
}

/* Above 1200px the theme lifts the course map 165px (position: relative; top: -165px) to sit
   beside the filters, but relative positioning keeps its old space, leaving 165px empty below
   "Load More". Take that space back. */
@media (min-width: 1201px) {
	.tgp-gp .tgp-search-courses .courses-list .tgp-map-content {
		margin-bottom: -165px;
	}
}

@media (max-width: 1240px) {
	.tgp-gp-product__inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 36px;
	}
}

@media (max-width: 1024px) {
	.tgp-gp .tgp-singleProduct-info .tgp-gp-title {
		font-size: 38px;
	}

	.tgp-gp-guarantees__inner {
		gap: 8px 32px;
	}

	.tgp-gp-guarantee {
		flex: 0 0 auto;
	}

	.tgp-gp-guarantee__title {
		font-size: 18px;
	}

	.tgp-gp-about__card {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.tgp-pass-reviews__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.tgp-gp-hiw__steps {
		grid-template-columns: minmax(0, 1fr);
		gap: 36px;
	}
}

@media (max-width: 767px) {
	.tgp-gp {
		--tgp-gp-section-space: 32px;
	}

	.tgp-gp-product {
		padding-top: 16px;
	}

	.tgp-gp-product__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.tgp-gp .tgp-singleProduct-info .tgp-gp-title {
		font-size: 32px;
	}

	.tgp-gp-gallery__thumbs {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 8px;
	}

	.tgp-gp-gallery__more {
		font-size: 17px;
	}

	.tgp-gp-coverage {
		padding: 16px;
	}

	.tgp-gp-coverage__figures dt {
		font-size: 24px;
	}

	.tgp-gp-price__now,
	.tgp-gp-price__now .amount {
		font-size: 34px;
	}

	.tgp-gp-about__card {
		padding: 18px 16px;
	}



	.tgp-gp-guarantees__inner {
		justify-content: flex-start;
		gap: 4px 20px;
	}

	.tgp-gp-guarantee {
		flex: 0 0 calc(50% - 10px);
	}

	.tgp-gp-guarantee__icon img {
		width: 22px;
		height: 22px;
	}

	.tgp-gp-guarantee__title {
		font-size: 16px;
	}



	.tgp-gp-calc .calc-collapsible {
		padding: 20px 16px;
	}

	.tgp-gp-calc .calc-savings-value {
		font-size: 34px !important;
	}

	.tgp-gp-reviews2 .tgp-gp-heading {
		font-size: 26px;
	}

	.tgp-pass-reviews__list {
		grid-template-columns: minmax(0, 1fr);
	}

	.tgp-gp-lightbox {
		padding: 56px 12px;
	}

	.tgp-gp-lightbox__nav--prev {
		left: 6px;
	}

	.tgp-gp-lightbox__nav--next {
		right: 6px;
	}
}
