/* ========================================
   BOOKING PAGE STYLES
   Large screen adjustments from DreamHost
   ======================================== */

/* Large screens - 1440px */
@media (min-width:1440px) {

	.early-bird-section,
	.pricing-section,
	.booking-header {
		min-width: 1440px;
	}

	.early-bird-section .container {
		max-width: 1440px !important;
	}

	.pricing-section {
		margin-left: -12%;
	}

	.booking-header .container {
		min-width: 1300px;
		max-width: 1300px;
		padding: 0 1.05vw !important;
	}

	.group-bookings {
		min-width: 1440px !important;
	}

	.registration-questions-section {
		min-width: 1440px;
	}
}

@media (min-width: 769px) {
	.page-template-page-booking .booking-header {
		padding-top: 90px;
		padding-bottom: 0;
	}
}

/* ========================================= */
/* GLOBAL OVERRIDES & RESETS                 */
/* ========================================= */

/* Reset Headings for Booking Page to avoid global boxes */
.page-template-page-booking h1,
.page-template-page-booking h2,
.page-template-page-booking h3,
.page-template-page-booking .pricing-card h3 {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0;
	margin: 0;
}

/* Force body styling reset */
body.page-template-page-booking {
	background-color: #ffffff;
}

/* ========================================= */
/* BOOKING PAGE MAIN STYLES (Migrated)       */
/* ========================================= */

/* Booking Hero Section */
.booking-header {
	padding: 90px 104px 0 104px;
	/* Desktop */
	align-items: flex-start;
	gap: 35px;
	align-self: stretch;
	background: white;
}

.header-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 35px;
	width: 100%;
	max-width: none;
	margin: 0 !important;
	padding: 0 !important;
}

.booking-title {
	align-self: stretch;
	color: #0065A4;
	font-family: "Be Vietnam Pro", sans-serif;
	font-size: 52px;
	font-style: normal;
	font-weight: 700;
	line-height: 60px;
	margin: 0;
}

.booking-subtitle {
	font-family: "Be Vietnam Pro", sans-serif;
	font-style: normal;
	font-weight: 300;
	font-size: 17px;
	line-height: 23px;
	color: #000229;
	max-width: 562px;
	margin: 0;
}

/* Tablet */
@media (max-width: 1024px) and (min-width: 769px) {
	.booking-header {
		padding: 60px 40px 0 40px;
	}

	.booking-title {
		font-size: 42px;
		line-height: 50px;
	}
}

/* Mobile */
@media (max-width: 768px) {
	.booking-header {
		display: flex;
		padding: 32px 16px 0 16px;
		flex-direction: column;
		align-items: flex-start;
		gap: 35px;
		align-self: stretch;
		margin-top: 0;
	}

	.booking-title {
		font-size: 32px;
		line-height: 40px;
		text-align: left;
	}

	.booking-subtitle {
		font-size: 15px;
		line-height: 21px;
		max-width: 100%;
	}

	.card-date {
		margin-bottom: 40px;
	}

	.card-header {
		margin-bottom: 24px;
	}

	.card-content {
		flex: 0 0 auto;
		min-height: 0;
		margin-bottom: 40px;
	}
}

/* Early-bird Discount Section */
.early-bird-section {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 45px;
	align-self: stretch;
	padding: 45px 79px;
}

/* Tablet */
@media (max-width: 1024px) and (min-width: 769px) {
	.early-bird-section {
		padding: 45px 40px;
		gap: 20px;
	}
}

@media (max-width: 768px) {
	.early-bird-section {
		display: flex;
		padding: 16px 16px 32px 16px;
		justify-content: center;
		align-items: center;
		gap: 0px;
		align-self: stretch;
		margin: 0 auto;
	}

	.early-bird-section .container {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		box-sizing: border-box;
	}

	.early-bird-wrapper {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: 10px;
		width: 100% !important;
		max-width: 100% !important;
		justify-content: center;
		flex-wrap: wrap;
		box-sizing: border-box;
	}
	.early-bird-wrapper.no-early-bird {
		justify-content: flex-end;
	}

	/* Contenedor gris - contenido movido a la izquierda */
	.early-bird-container {
		display: flex;
		height: 84px;
		padding: 12px 16px 12px 0;
		justify-content: flex-start;
		align-items: center;
		flex: 1 1 0;
		min-width: 0;
		max-width: 100%;
		border-radius: 12px;
		background: #F5F5F5;
		margin-left: 0;
		margin-right: 0 !important;
		box-sizing: border-box;
	}

	/* Estructura interna del contenedor gris */
	.early-bird-content {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 1px !important;
		width: 100% !important;
	}

	/* Sección izquierda: estrella + texto */
	.early-bird-left {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		gap: 10px !important;
		flex-shrink: 0 !important;
	}

	/* Contenedor del texto */
	.discount-text {
		width: auto;
		height: auto;
		display: flex;
		align-items: center;
	}

	/* Estrella para móvil */
	.star-icon {
		width: 15px;
		height: 15px;
		flex-shrink: 0;
		padding-left: 0 !important;
		margin-right: 5px !important;
	}

	.star-icon img {
		width: 15px !important;
		height: 15px !important;
		object-fit: contain;
	}

	/* Texto para móvil */
	.discount-title {
		color: #0065A4 !important;
		font-size: 12px !important;
		font-family: 'Be Vietnam Pro', sans-serif !important;
		font-weight: 700 !important;
		line-height: 16px !important;
		word-wrap: break-word !important;
		white-space: normal !important;
		display: block !important;
		overflow: visible !important;
	}

	/* Línea divisoria para móvil */
	.divider-line {
		width: 1px !important;
		height: 54px !important;
		background: rgba(0, 101, 164, 0.30) !important;
		margin: 0 6px !important;
		align-self: center !important;
		flex-shrink: 0 !important;
	}

	/* Sección derecha: días restantes */
	.early-bird-right {
		flex: 0 0 90px !important;
		margin-right: 0 !important;
		display: flex !important;
		justify-content: flex-end !important;
	}

	/* Días restantes */
	.days-left {
		color: #00B1EE !important;
		font-family: "Be Vietnam Pro" !important;
		font-size: 16px !important;
		font-style: normal !important;
		font-weight: 300 !important;
		line-height: 20px !important;
		letter-spacing: 0 !important;
		white-space: normal !important;
		padding-left: 0 !important;
		display: block !important;
		text-align: right !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: none !important;
	}

	/* Botones de moneda */
	.currency-buttons {
		display: flex !important;
		flex-direction: column !important;
		width: auto;
		height: 84px;
		background: #F5F5F5;
		border-radius: 2px;
		overflow: hidden;
		margin-right: 0px;
		flex-shrink: 0;
		box-sizing: border-box;
		margin-left: 0;
		max-width: 100%;
	}

	.currency-btn {
		width: auto;
		height: 42px;
		display: flex !important;
		padding: 12px 16px !important;
		justify-content: center !important;
		align-items: center !important;
		gap: 8px !important;
		border: none;
		cursor: pointer;
		font-size: 13px !important;
		font-family: 'Be Vietnam Pro', sans-serif;
		font-weight: 700;
		line-height: 18px;
		transition: all 0.3s ease;
		box-sizing: border-box;
	}

	.currency-btn.active {
		background: #0065A4 !important;
		color: white !important;
	}

	.currency-btn:not(.active) {
		background: transparent !important;
		color: #000229 !important;
	}
}

.early-bird-section .container {
	width: 1282px;
	padding: 0;
}

.early-bird-wrapper {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}
.early-bird-wrapper.no-early-bird {
	justify-content: flex-end;
}
.early-bird-wrapper.no-early-bird .currency-buttons {
	margin-left: auto !important;
	align-self: flex-end;
}

.early-bird-container {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	padding: 12px 0;
	background: #F5F5F5;
	border-radius: 12px;
	flex-grow: 1;
	margin-right: 45px;
}

/* DESKTOP - early-bird-content */
.early-bird-content {
	display: flex;
	flex-direction: row;
	align-items: center;
	padding: 0px;
	gap: 15px;
	width: 100%;
}

/* DESKTOP - Sección izquierda: estrella + texto */
.early-bird-left {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 25px;
	flex-grow: 1;
}

/* Estrella con padding izquierdo de 25px */
.star-icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-left: 25px;
}

.star-icon img {
	width: 20px;
	height: 20px;
	object-fit: contain;
}

/* Texto del descuento */
.discount-title {
	font-family: 'Be Vietnam Pro', sans-serif;
	font-style: normal;
	font-weight: 700;
	font-size: 21px;
	line-height: 23px;
	color: #0065A4;
	white-space: normal;
	flex-grow: 1;
}

.divider-line {
	width: 1px;
	height: 25px;
	background: rgba(0, 101, 164, 0.3);
	margin: 0 5px !important;
}

/* DESKTOP - Sección derecha: días restantes */
.early-bird-right {
	flex-shrink: 0;
}

/* DESKTOP - Días restantes */
@media (min-width: 769px) {
	.days-left {
		font-family: 'Be Vietnam Pro', sans-serif !important;
		font-style: normal !important;
		font-weight: 600 !important;
		font-size: 21px !important;
		line-height: 23px !important;
		color: #00B1EE !important;
		white-space: nowrap !important;
		padding-left: 25px !important;
		margin-right: 25px !important;
	}
}

.currency-buttons {
	display: flex;
	flex-direction: row;
	align-items: center;
	border-radius: 2px;
	flex-shrink: 0;
}

.currency-btn {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	padding: 12px 16px;
	border-radius: 2px;
	border: none;
	cursor: pointer;
	font-family: 'Be Vietnam Pro', sans-serif;
	font-style: normal;
	font-weight: 700;
	font-size: 16px;
	line-height: 20px;
	transition: all 0.3s ease;
}

.currency-btn.active {
	background: #0065A4;
	color: #FFFFFF;
}

.currency-btn:not(.active) {
	background: #F5F5F5;
	color: #000229;
}

.currency-btn:hover:not(.active) {
	background: #e5e5e5;
}

/* Pricing Grid */
.pricing-section {
	display: flex;
	padding: 0 79px;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	align-self: stretch;
}

.pricing-grid {
	display: flex;
	flex-direction: column;
	/* Mobile first: stack vertically */
	align-items: stretch;
	padding: 0px;
	gap: 20px;
	width: 100%;
	/* Mobile first: full width */
}

.pricing-card {
	background: #E6F7FD;
	border-radius: 12px;
	box-shadow: none;
	overflow: hidden;
	position: relative;
	padding: 24px;
	/* Slightly reduced padding for mobile */
	display: flex;
	flex-direction: column;
	width: 100%;
	/* Mobile first: full width */
	flex: 1;
	font-family: 'Be Vietnam Pro', sans-serif;
}

@media (min-width: 769px) {
	.pricing-grid {
		flex-direction: row;
		/* Stretch cards to equal height */
		align-items: stretch;
		gap: 45px;
		width: 1282px;
	}

	.pricing-card {
		width: 397px;
		padding: 32px 24px 24px 24px;
		height: 640px;
	}
}

/* Desktop smaller than 1440px: break section to full viewport width and make grid fluid */
@media (min-width: 769px) and (max-width: 1439px) {
	.pricing-section {
		width: 100vw;
		margin-left: calc(-50vw + 50%);
		box-sizing: border-box;
	}

	.pricing-grid {
		width: 100%;
	}

	.pricing-card {
		flex: 1;
		min-width: 0;
		width: auto;
	}
}

@media (min-width: 769px) {
	.pricing-card.accordion-open {
		height: auto;
		min-height: 640px;
	}
}

.pricing-card.vip-card {
	background: #E6F7FD;
}

.pricing-card.general-card {
	background: #E6F7FD;
}

/* Featured Card - All Access Pass */
.pricing-card.featured-card,
div.pricing-card.featured-card {
	background: #0065A4 !important;
	background-color: #0065A4 !important;
	color: white !important;
	align-items: flex-start;
}

/* Force featured card styles with higher specificity */
.pricing-grid .pricing-card.featured-card {
	background: #0065A4 !important;
	background-color: #0065A4 !important;
	color: #FFFFFF !important;
}

.pricing-card.featured-card .card-description {
	color: #FFFFFF !important;
}

.pricing-card.featured-card .features-list li {
	color: #E6F7FD !important;
	border-bottom: none;
}

.card-date {
	font-family: 'Be Vietnam Pro', sans-serif;
	font-style: normal;
	font-weight: 500;
	font-size: 12px;
	line-height: 1.4;
	color: #6b7280;
	margin-bottom: 8px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.pricing-card.featured-card .card-date {
	color: rgba(255, 255, 255, 0.8) !important;
}

.card-header {
	margin-bottom: 24px;
}

.pricing-accordion-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	padding: 0;
	border: none;
	background: transparent;
	text-align: left;
	cursor: pointer;
}

/* Suppress hover/click highlight; keep focus-visible for keyboard (Tab) navigation */
.pricing-accordion-toggle:hover:not(:focus-visible) {
	background-color: transparent !important;
	border-color: transparent !important;
	box-shadow: none !important;
	color: inherit !important;
}

.pricing-accordion-toggle h3 {
	flex: 1;
}

.card-header h3 {
	font-family: 'Be Vietnam Pro', sans-serif;
	font-style: normal;
	font-weight: 700;
	font-size: 24px;
	line-height: 1.2;
	color: #000229;
	margin: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.pricing-card.featured-card .card-header h3 {
	color: #FFFFFF !important;
}

/* Móvil - Ocultar texto */
@media (max-width: 768px) {
	.arrow-up {
		font-size: 0;
		color: transparent;
		font-weight: normal;
	}
}

.pricing-card.featured-card .arrow-up {
	filter: brightness(0) invert(1);
}

/* Pricing accordion arrow */
.pricing-card .arrow-up {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
	background-image: url('images/icons/ArrowUp.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: 32px 32px !important;
	text-indent: -9999px;
	overflow: hidden;
	transition: transform 0.3s ease;
	transform: rotate(180deg);
}

.pricing-card.accordion-open .arrow-up {
	transform: rotate(0deg);
}

.card-content {
	flex: 1;
	margin-bottom: 25px;
	min-height: 105px;
}

.pricing-card .card-details {
	flex: 1 1 auto;
	min-height: 0;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.35s ease;
}

.pricing-card.accordion-open .card-details {
	max-height: 2000px;
	margin-top: 0;
}

@media (min-width: 769px) {
	.pricing-card.accordion-open .card-details {
		max-height: 2000px;
		/* Large enough to fit content without scroll */
		/* OR max-height: none; but transition won't work perfectly with none. 
          Use a large value for transition, then maybe JS to set auto? 
          For now, large value is safest for pure CSS transition. */
	}

	.pricing-card .arrow-up {
		display: inline-block !important;
	}
}

.pricing-card .features-list {
	/* Default state: Closed / Hidden */
	display: none;
	/* Optional: use max-height transition if preferred, but display:none is safer for "closed" state issues */
	padding-right: 0;
}

.pricing-card.accordion-open .features-list {
	/* Open state */
	display: block;
	/* Ensure no scrollbars when open */
	overflow: visible !important;
	max-height: none !important;
}

.card-description {
	font-family: 'Be Vietnam Pro', sans-serif;
	font-weight: 300;
	font-size: 15px;
	line-height: 1.5;
	color: #000229;
	margin: 0 !important;
	margin-bottom: 0 !important;
}

/* Specific style for VIP/First card description */
/* Specific style for VIP/First card description REVERTED */

.features-list {
	list-style: none;
	/* Ensure no default bullets */
	padding: 0;
	margin: 0;
}

.features-list li {
	font-family: 'Be Vietnam Pro', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.5;
	color: #0065A4;
	/* Blue color for features */
	margin-bottom: 12px;
	padding-left: 20px;
	position: relative;
	padding-bottom: 4px;
}

/* Custom bullet using CSS shape instead of text character */
.features-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 8px;
	/* vertically center with first line of text */
	width: 6px;
	height: 6px;
	background-color: #00b1ee;
	border-radius: 50%;
}

.card-footer {
	border-top: 1px solid rgba(0, 0, 0, 0.05);
	padding-top: 24px;
	margin-top: auto;
}

.pricing-card.featured-card .card-footer {
	border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.price-info {
	margin-bottom: 24px;
}

.price-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

/* Discount row styles */
.discount-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 8px;
	min-height: 24px;
}

.discount-label {
	font-size: 13px;
	color: #ef4444;
	/* Red for discount label */
	font-weight: 700;
	text-transform: none;
	/* Changed from uppercase to none */
	letter-spacing: 0.5px;
	background: rgba(239, 68, 68, 0.1);
	padding: 4px 8px;
	border-radius: 4px;
}

.from-label {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.5px;
	color: #6b7280;
}

.discount-price {
	font-size: 18px;
	color: #ef4444;
	font-weight: 700;
	text-decoration: none;
}

.price-divider {
	height: 1px;
	background: #e5e7eb;
	margin-bottom: 8px;
	width: 100%;
}

/* Placeholder ensuring alignment */
.discount-row--placeholder {
	visibility: hidden;
}

.price-divider--placeholder {
	visibility: hidden;
}

/* Footer price color adjustments */
.pricing-card.featured-card .discount-label {
	background: rgba(255, 255, 255, 0.2);
	color: #FFFFFF;
}

.pricing-card.featured-card .discount-price {
	color: #FFFFFF;
}

.pricing-card.featured-card .price-divider {
	background: rgba(255, 255, 255, 0.2);
}

/* All Access card divider between discount row and main price row */
.pricing-card.general-card.all-access-card .card-footer {
	border-top: none !important;
}

.pricing-card.general-card.all-access-card .price-divider {
	display: block !important;
	background: rgba(230, 247, 253, 0.5) !important;
}

.price-type {
	font-size: 14px;
	color: #6b7280;
	font-weight: 500;
}

.price {
	font-size: 20px;
	/* Reduced from 32px */
	font-weight: 700;
	color: #9ca3af;
	/* Greyed out color */
	text-decoration: none;
	/* User requested no strikethrough */
}
.price-info.no-early-bird .price {
	color: #0065A4 !important;
	font-weight: 700 !important;
}
.price-info.no-early-bird .price-type {
	color: #0065A4 !important;
	font-weight: 700 !important;
}
/* Override per-card color rules when early-bird is off */
.pricing-grid .pricing-card .price-info.no-early-bird .price,
.pricing-grid .pricing-card .price-info.no-early-bird .price-type {
	color: #0065A4 !important;
	font-weight: 700 !important;
}

/* Keep All Access (featured blue card) pricing in white when early-bird is off */
.pricing-grid .pricing-card.featured-card .price-info.no-early-bird .price,
.pricing-grid .pricing-card.featured-card .price-info.no-early-bird .price-type {
	color: #FFFFFF !important;
	font-weight: 700 !important;
}

/* Preserve Figma colors when early-bird is removed */
.pricing-grid .pricing-card:nth-child(2) .price-info.no-early-bird .price,
.pricing-grid .pricing-card:nth-child(2) .price-info.no-early-bird .price-type {
	color: #FFFFFF !important;
	font-weight: 700 !important;
}

.pricing-grid .pricing-card:last-child .price-info.no-early-bird .price,
.pricing-grid .pricing-card:last-child .price-info.no-early-bird .price-type,
.pricing-grid .pricing-card:first-child .price-info.no-early-bird .price,
.pricing-grid .pricing-card:first-child .price-info.no-early-bird .price-type {
	color: #0065A4 !important;
	font-weight: 700 !important;
}

.register-btn {
	width: 100%;
	padding: 14px;
	border-radius: 8px;
	border: 2px solid transparent;
	font-family: 'Be Vietnam Pro', sans-serif;
	font-weight: 600;
	font-size: 16px;
	cursor: pointer;
	transition: all 0.3s ease;
	text-align: center;
	display: inline-block;
	text-decoration: none;
	white-space: nowrap;
	/* Ensure single line text for all buttons */
}

.vip-btn,
.general-btn {
	background: #0065A4;
	color: white;
}

.vip-btn:hover,
.general-btn:hover {
	background: #004e80;
	transform: translateY(-2px);
}

.all-access-btn {
	background: #FFFFFF;
	color: #0065A4;
}

/* Specificity (0,0,6,0) — must beat the (0,0,5,0) default-state rule in style.css
   (.pricing-card.general-card.all-access-card .register-btn.all-access-btn)
   which forces background:#000229 and would otherwise win even on :hover */
.pricing-card.general-card.all-access-card .register-btn.all-access-btn:hover,
.pricing-card.general-card.all-access-card .register-btn.all-access-btn:focus-visible,
.pricing-card.general-card.all-access-card .register-btn.all-access-btn:active {
	background: #E6F7FD !important;
	border-color: #E6F7FD !important;
	color: #0065A4 !important;
	transform: translateY(-2px);
}

/* No discount (VIP) card — the only .discount-row it renders is .discount-row--from,
   so no hiding is needed. The "From" label is always visible. */
.pricing-card.no-discount .discount-row--from {
	visibility: visible;
	margin-bottom: 8px;
	min-height: 24px;
}

.pricing-card.no-discount .price-divider {
	display: block;
	height: 1px;
	background: #e5e7eb;
	margin-bottom: 8px;
	width: 100%;
}

/* Default/Mobile styles for no-discount price */
/* Default/Mobile styles for no-discount price */
.pricing-card.no-discount .price {
	width: 102.8px;
	height: 23px;
	position: relative;
	font-size: 18px;
	line-height: 23px;
	font-weight: 600;
	font-family: 'Be Vietnam Pro', sans-serif;
	color: #0065a4;
	text-align: right;
	/* Reverted to right */
	display: inline-block;
	text-decoration: none;
}

.pricing-card.no-discount .price-type {
	width: 244.2px;
	height: 23px;
	position: relative;
	font-size: 18px;
	line-height: 23px;
	font-weight: 600;
	font-family: 'Be Vietnam Pro', sans-serif;
	color: #0065a4;
	text-align: left;
	display: inline-block;
	padding-bottom: 0;
}

/* Second Card Styles (All Access) - Default/Mobile */
.pricing-grid .pricing-card:nth-child(2) .discount-label {
	width: 252.1px;
	height: 23px;
	position: relative;
	font-size: 18px;
	line-height: 23px;
	font-weight: 600;
	font-family: 'Be Vietnam Pro', sans-serif;
	color: #fff;
	text-align: left;
	display: inline-block;
	padding: 0;
	/* Reset padding if needed */
	background: transparent;
	text-transform: none;
}

.pricing-grid .pricing-card:nth-child(2) .price-type {
	width: 247px;
	position: relative;
	font-size: 18px;
	line-height: 23px;
	font-weight: 600;
	font-family: 'Be Vietnam Pro', sans-serif;
	color: rgba(230, 247, 253, 0.75);
	text-align: left;
	display: inline-block;
	padding-bottom: 0;
}

.pricing-grid .pricing-card:last-child .price-type {
	width: 247px;
	position: relative;
	font-size: 18px;
	line-height: 23px;
	font-weight: 600;
	font-family: 'Be Vietnam Pro', sans-serif;
	color: rgba(0, 2, 41, 0.5);
	/* Dark transparent blue as requested */
	text-align: left;
	display: inline-block;
	padding-bottom: 0;
}

/* Third Card Styles (General Admission) */
.pricing-grid .pricing-card:last-child .discount-label {
	width: 244.2px;
	height: 27px;
	position: relative;
	font-size: 21px;
	line-height: 27px;
	font-weight: 600;
	font-family: 'Be Vietnam Pro', sans-serif;
	color: #0065a4;
	text-align: left;
	display: inline-block;
	background: transparent;
	/* Override default red bg */
	padding: 0;
}

.pricing-grid .pricing-card:last-child .discount-price {
	width: 102.8px;
	height: 27px;
	position: relative;
	font-size: 21px;
	line-height: 27px;
	font-weight: 600;
	font-family: 'Be Vietnam Pro', sans-serif;
	color: #0065a4;
	text-align: right;
	display: inline-block;
}

/* Desktop specific overrides for VIP card alignment */
@media (min-width: 769px) {
	.pricing-card.no-discount .price {
		/* Specific styles for first/VIP card requested by user */
		width: 102.8px;
		height: 27px;
		position: relative;
		font-size: 21px;
		line-height: 27px;
		font-weight: 600;
		font-family: 'Be Vietnam Pro', sans-serif;
		color: #0065a4;
		text-align: right;
		display: inline-block;
		text-decoration: none;
	}

	.pricing-card.no-discount .price-type {
		width: 244.2px;
		height: 27px;
		position: relative;
		font-size: 21px;
		line-height: 27px;
		font-weight: 600;
		font-family: 'Be Vietnam Pro', sans-serif;
		color: #0065a4;
		text-align: left;
		display: inline-block;
	}
}

/* Third Card Styles (General Admission) - Desktop Specific/Override */
@media (min-width: 769px) {
	.pricing-grid .pricing-card:last-child .discount-label {
		width: 244.2px;
		height: 27px;
		position: relative;
		font-size: 21px;
		line-height: 27px;
		font-weight: 600;
		font-family: 'Be Vietnam Pro', sans-serif;
		color: #0065a4;
		text-align: left;
		display: inline-block;
		background: transparent;
		/* Override default red bg */
		padding: 0;
		text-transform: none;
		/* Ensure no uppercase */
	}

	.pricing-grid .pricing-card:last-child .discount-price {
		width: 102.8px;
		height: 27px;
		position: relative;
		font-size: 21px;
		line-height: 27px;
		font-weight: 600;
		font-family: 'Be Vietnam Pro', sans-serif;
		color: #0065a4;
		text-align: right;
		display: inline-block;
	}

	.pricing-grid .pricing-card:last-child .price-type {
		width: 247px;
		position: relative;
		font-size: 21px;
		line-height: 23px;
		font-weight: 300;
		font-family: 'Be Vietnam Pro', sans-serif;
		color: rgba(0, 2, 41, 0.5);
		text-align: left;
		display: inline-block;
		padding-bottom: 0;
	}
}

/* Remove extra divider (card footer border) on 3rd card */
/* Remove extra divider (card footer border) on 3rd card */
.pricing-grid .pricing-card:last-child .card-footer {
	border-top: none;
}

/* Remove extra divider on 1st/VIP card */
.pricing-grid .pricing-card:first-child .card-footer {
	border-top: none;
}

/* Second Card Styles (All Access) - Desktop */
@media (min-width: 769px) {

	/* Target the second card (nth-child(2)) */
	.pricing-grid .pricing-card:nth-child(2) .discount-label {
		width: 244.2px;
		height: 27px;
		position: relative;
		font-size: 21px;
		line-height: 27px;
		font-weight: 600;
		font-family: 'Be Vietnam Pro', sans-serif;
		color: #fff;
		text-align: left;
		display: inline-block;
		background: transparent;
		/* Assuming transparent bg as it's just text */
		padding: 0;
		text-transform: none;
	}

	.pricing-grid .pricing-card:nth-child(2) .discount-price {
		width: 102.8px;
		height: 27px;
		position: relative;
		font-size: 21px;
		line-height: 27px;
		font-weight: 600;
		font-family: 'Be Vietnam Pro', sans-serif;
		color: #fff;
		text-align: right;
		display: inline-block;
	}

	.pricing-grid .pricing-card:nth-child(2) .price-type {
		width: 247px;
		position: relative;
		font-size: 21px;
		line-height: 23px;
		font-weight: 300;
		font-family: 'Be Vietnam Pro', sans-serif;
		color: rgba(230, 247, 253, 0.5);
		text-align: left;
		display: inline-block;
		padding-bottom: 0;
	}

	.pricing-grid .pricing-card:nth-child(2) .price {
		width: 104px;
		position: relative;
		font-size: 21px;
		line-height: 23px;
		font-weight: 300;
		font-family: 'Be Vietnam Pro', sans-serif;
		color: rgba(230, 247, 253, 0.5);
		text-align: right;
		display: inline-block;
		text-decoration: none;
	}

}

/* Specific styles for first card Register button (Desktop) */
@media (min-width: 769px) {
	.pricing-grid .pricing-card:first-child .register-btn {
		position: relative;
		border-radius: 2px;
		background-color: #0065a4;
		width: 140px;
		/* User requested max 140px, setting fixed width */
		overflow: hidden;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 12px 16px;
		box-sizing: border-box;
		text-align: left;
		font-size: 16px;
		line-height: 20px;
		/* Added line-height */
		color: #fff;
		font-family: 'Be Vietnam Pro';
		/* Strict font-family as requested */
		white-space: nowrap;
		/* Force single line */
	}
}

/* Mobile fix: prevent early-bird overlap with currency buttons */
@media (max-width: 768px) {
	.page-template-page-booking .early-bird-wrapper {
		display: flex !important;
		flex-direction: row !important;
		align-items: stretch !important;
		justify-content: space-between !important;
		gap: 8px !important;
		flex-wrap: nowrap !important;
	}

	.page-template-page-booking .early-bird-container {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		margin-right: 0 !important;
		padding: 12px 16px !important;
	}

	.page-template-page-booking .early-bird-content {
		width: 100% !important;
		justify-content: space-between !important;
		gap: 8px !important;
	}

	.page-template-page-booking .early-bird-left {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		gap: 8px !important;
	}

	.page-template-page-booking .discount-text {
		min-width: 0 !important;
	}

	.page-template-page-booking .discount-title {
		font-size: 11px !important;
		line-height: 14px !important;
		word-break: break-word !important;
		overflow-wrap: anywhere !important;
	}

	.page-template-page-booking .divider-line {
		height: 44px !important;
		margin: 0 4px !important;
	}

	.page-template-page-booking .early-bird-right {
		flex: 0 0 76px !important;
		min-width: 76px !important;
		margin-right: 0 !important;
	}

	.page-template-page-booking .card-date {
		margin-bottom: 40px !important;
	}

	.page-template-page-booking .card-content {
		margin-bottom: 40px !important;
	}

	/* card-footer: remove auto-margin (flex push) and extra padding-top so the
	   only gap between description and price is the 40px on card-content above */
	.page-template-page-booking .card-footer {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	.page-template-page-booking .star-icon {
		width: 15px !important;
		height: 15px !important;
		padding-left: 0 !important;
		overflow: hidden;
	}

	.page-template-page-booking .star-icon img {
		width: 15px !important;
		height: 15px !important;
	}

	.page-template-page-booking .days-left {
		font-size: 14px !important;
		line-height: 16px !important;
		text-align: right !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.page-template-page-booking .currency-buttons {
		flex: 0 0 108px !important;
		width: 108px !important;
		max-width: 108px !important;
		height: 84px !important;
		margin: 0 !important;
	}

	.page-template-page-booking .currency-btn {
		width: 100% !important;
		padding: 10px 8px !important;
		font-size: 12px !important;
		line-height: 16px !important;
	}
}

/* Group Bookings (desktop): 40px between section title and description */
@media (min-width: 769px) {
	.page-template-page-booking .group-info h2 {
		margin-bottom: 40px !important;
	}

	.page-template-page-booking .group-info p {
		margin-top: 0 !important;
	}
}

@media (max-width: 768px) {
	.page-template-page-booking .group-content {
		gap: 0 !important;
	}

	.page-template-page-booking .group-image {
		margin-bottom: 32px !important;
	}

	.page-template-page-booking .group-info h2 {
		margin-bottom: 25px !important;
	}

	.page-template-page-booking .group-info p {
		margin-bottom: 0 !important;
	}
}

/* Booking FAQ accordion */
.page-template-page-booking .accordion-header {
	text-align: left !important;
}

.page-template-page-booking .accordion-item.expanded .accordion-content {
	margin-top: 25px !important;
}

.page-template-page-booking .accordion-arrow {
	width: 40px !important;
	height: 40px !important;
	min-width: 40px !important;
	min-height: 40px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background-image: none !important;
	background: none !important;
	color: #0065A4 !important;
	padding: 0 !important;
}

.page-template-page-booking .accordion-arrow svg {
	display: block !important;
	width: 32px !important;
	height: 32px !important;
}

.page-template-page-booking .accordion-arrow svg path {
	stroke: #0065A4 !important;
	fill: none !important;
}

@media (max-width: 768px) {
	.page-template-page-booking .registration-questions-container {
		padding: 0 !important;
	}

	.page-template-page-booking .registration-questions-section--after-pricing {
		margin-top: 32px !important;
	}

	.page-template-page-booking .registration-questions-section {
		margin-bottom: 32px !important;
	}

	/* On mobile, style.css adds padding: 20px 0 to .accordion-header.
	   That 20px padding-bottom sits between the question text and the
	   content, so reduce margin-top from 25px to 5px → 20 + 5 = 25px total. */
	.page-template-page-booking .accordion-item.expanded .accordion-content {
		margin-top: 5px !important;
	}
}
