/* Keep copy above the gradient even when core Cover styles load last. */
.veloura-hero-slider .veloura-slide > .wp-block-cover__inner-container {
	position: relative;
	z-index: 2 !important;
}
.veloura-hero-slider .veloura-slide::after {
	pointer-events: none;
}
.packpro-products .veloura-signature-image > .veloura-product-open {
	height: 100%;
}
.veloura-product-dialog .veloura-product-dialog__image {
	min-height: 0;
	max-height: 100%;
}
.veloura-product-dialog {
	max-height: calc(100vh - 32px);
	max-height: calc(100dvh - 32px);
	overflow: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

@media (max-width: 900px) {
	/* The site title can be longer than the brand name set in the pattern. */
	.header-box-upper .general-header-middle {
		box-sizing: border-box;
		width: calc(100% - 24px);
		max-width: none !important;
		padding: 10px !important;
	}
	.general-header-middle .header-box {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto 44px;
		align-items: center !important;
		gap: 8px !important;
		margin: 0 !important;
	}
	.general-header-middle .header-box > .wp-block-column {
		min-width: 0;
		margin: 0;
	}
	.header-box .header-logo {
		grid-column: 1;
		grid-row: 1;
		text-align: start;
	}
	.header-box .header-logo .wp-block-site-title {
		margin: 0;
		font-size: clamp(13px, 3.5vw, 18px) !important;
		line-height: 1.35;
		text-align: start !important;
		overflow-wrap: anywhere;
	}
	.header-box .header-inner-meta {
		grid-column: 2;
		grid-row: 1;
	}
	.header-box .header-inner-meta .wp-block-button__link {
		box-sizing: border-box;
		min-height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 10px !important;
		font-size: 12px !important;
	}
	.header-box .header-inner-menu {
		grid-column: 3;
		grid-row: 1;
	}
	.header-box .header-inner-menu .wp-block-navigation__responsive-container-open {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 44px;
		min-height: 44px;
		padding: 0;
	}
	.header-box .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}
	.header-box .wp-block-navigation__responsive-container.is-menu-open {
		box-sizing: border-box;
		padding: 24px;
		padding-top: max(24px, env(safe-area-inset-top));
		padding-bottom: max(24px, env(safe-area-inset-bottom));
		overflow-y: auto;
	}
	.header-box .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		padding-top: 56px;
	}
}

@media (max-width: 781px) {
	/* Keep the entire landscape image visible, followed by readable copy. */
	.veloura-hero-slider {
		overflow: visible;
		background: #fffdfc;
	}
	.veloura-hero-slider .veloura-slide {
		min-height: 0 !important;
		padding: 0 !important;
		flex-direction: column;
		align-items: stretch;
		background: #fffdfc;
	}
	.veloura-hero-slider .veloura-slide::after,
	.veloura-hero-slider .veloura-slide > .wp-block-cover__background {
		display: none;
	}
	.veloura-hero-slider .veloura-slide > .wp-block-cover__image-background {
		position: static;
		display: block;
		width: 100%;
		height: auto;
		max-width: 100%;
		object-fit: contain;
	}
	.veloura-hero-slider .veloura-slide > .wp-block-cover__inner-container {
		box-sizing: border-box;
		width: 100%;
		max-width: none;
		padding: 24px 20px 20px;
	}
	.veloura-hero-slider .veloura-slide-content {
		max-width: none;
		padding: 0;
	}
	.veloura-hero-slider .veloura-eyebrow {
		font-size: 11px !important;
		letter-spacing: 0.12em !important;
	}
	.veloura-hero-slider .veloura-hero-title {
		font-size: clamp(1.9rem, 8.5vw, 2.65rem) !important;
		line-height: 1.08 !important;
		overflow-wrap: anywhere;
	}
	.veloura-hero-slider .veloura-hero-copy {
		max-width: none;
		font-size: 15px !important;
		line-height: 1.6 !important;
	}
	.veloura-hero-slider .veloura-hero-button .wp-block-button__link {
		padding: 14px 18px !important;
		background: #171717;
		color: #fffdfc;
	}
	.veloura-hero-slider .veloura-slider-controls {
		position: relative;
		inset: auto;
		margin: 0;
		padding: 0 20px 24px;
	}
	.veloura-slider-controls .veloura-slider-arrow {
		width: 44px;
		height: 44px;
	}
	.wp-site-blocks .wp-block-button {
		max-width: 100%;
	}
	.wp-site-blocks .wp-block-button__link {
		box-sizing: border-box;
		max-width: 100%;
		white-space: normal;
		overflow-wrap: anywhere;
	}
	.wp-site-blocks footer .wp-block-column {
		min-width: 0;
		overflow-wrap: anywhere;
	}
	.packpro-products .veloura-signature-title {
		font-size: clamp(30px, 8vw, 42px) !important;
		overflow-wrap: anywhere;
	}
	.packpro-promo .packpro-promo__card {
		padding: 28px 20px !important;
	}
}

@media (max-width: 680px), (max-height: 500px) {
	.veloura-product-dialog {
		width: calc(100% - 20px);
		max-height: calc(100vh - 20px);
		max-height: calc(100dvh - 20px);
	}
	.veloura-product-dialog .veloura-product-dialog__layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
		padding: 52px 14px 20px;
	}
	.veloura-product-dialog .veloura-product-dialog__stage {
		height: min(48vh, 440px);
		height: min(48dvh, 440px);
		min-height: 0;
	}
	.veloura-product-dialog .veloura-product-dialog__details {
		min-width: 0;
		padding: 0;
		overflow-wrap: anywhere;
	}
	.veloura-product-dialog .veloura-product-dialog__quote {
		box-sizing: border-box;
		max-width: 100%;
	}
}
