/* Product (fixture) page — Sportsbreaks-style two-column hero, Sportsworld branding */

body.is-product-page,
body:has(.product-page-primary) {
	--site-header-h: 91px;
	--product-page-header-gap: var(--wp--preset--spacing--medium);
}

@media (min-width: 782px) {
	body.is-product-page,
	body:has(.product-page-primary) {
		--product-page-header-gap: var(--wp--preset--spacing--large);
	}
}

body.is-product-page .site-header,
body:has(.product-page-primary) .site-header {
	background-color: var(--wp--preset--color--primary-darker);
}

body.is-product-page .blocks-page,
body.is-product-page main.blocks-page,
body:has(.product-page-primary) .blocks-page,
body:has(.product-page-primary) main.blocks-page {
	padding-top: calc(var(--site-header-h) + var(--product-page-header-gap));
	background-color: var(--wp--preset--color--base-white);
	color: var(--wp--preset--color--base-dark);
}

body.admin-bar.is-product-page .blocks-page,
body.admin-bar.is-product-page main.blocks-page {
	padding-top: calc(var(--site-header-h) + 32px + var(--product-page-header-gap));
}

.product-page-primary {
	padding-top: 0 !important;
}

.product-page-columns {
	align-items: flex-start !important;
}

.product-page-columns > .wp-block-column {
	align-self: flex-start;
}

.product-page-gallery {
	width: 100%;
	min-width: 0;
}

.product-page-booking {
	width: 100%;
	min-width: 0;
}

.product-page-gallery .event-gallery {
	width: 100%;
}

.product-page-gallery .event-gallery .gallery-top .swiper {
	width: 100%;
}

.product-page-gallery .event-gallery .gallery .swiper-slide {
	position: relative;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	height: auto !important;
}

.product-page-gallery .event-gallery .gallery .swiper-slide img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.product-page-gallery .event-gallery .gallery-thumbs .swiper-slide {
	aspect-ratio: 3 / 2;
}

/* Fixed booking bar: full-width on product pages only */
.product-page-primary .event-primary #fixed-actions-bar.is-fixed {
	left: 0;
	right: 0;
	width: 100%;
}

@media (max-width: 781px) {
	.product-page-gallery .event-gallery .gallery {
		margin-right: calc(-1 * var(--wp--style--root--padding-right, 0px));
	}

	.product-page-gallery .event-gallery .gallery-top .swiper {
		padding-right: var(--wp--style--root--padding-right, 0px);
	}

	.product-page-gallery .event-gallery .gallery-top .swiper-slide,
	.product-page-gallery .event-gallery .gallery-top img {
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
	}
}

@media (min-width: 782px) {
	.product-page-booking {
		position: sticky;
		top: calc(var(--site-header-h) + var(--product-page-header-gap));
	}
}

body.admin-bar .product-page-booking {
	top: calc(var(--site-header-h) + 32px + var(--product-page-header-gap));
}

.product-page-primary .event-primary {
	color: var(--wp--preset--color--base-dark);
}

.product-page-primary .event-primary .event-vitals__title h1 {
	font-family: var(--wp--preset--font-family--gotham-bold);
}

.product-page-primary .event-primary .wp-block-button__link {
	background-color: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--gotham-bold);
}

.product-page-primary .event-primary .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--primary-dark);
	border-color: var(--wp--preset--color--primary-dark);
}

/* Booking CTA — extra breathing room around price, button, and payment options */
.product-page-primary .event-primary .event-actions {
	gap: var(--wp--preset--spacing--medium);
	padding-top: var(--wp--preset--spacing--small);
}

.product-page-primary .event-primary #event-primary-action {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--small);
	width: 100%;
}

.product-page-primary .event-primary #event-primary-action .payment-options-wrapper {
	margin-top: 0;
}

.product-page-primary .event-primary .event-actions .wp-block-button__link {
	min-height: 3rem;
	padding-block: 0.875em;
}
