/** Homepage A. Core blocks, existing palette and typography remain authoritative. */
.page-template-home-a main,
.page-template-home-a main + footer,
.tt5ds-home-a .wp-block-post-content > .alignfull {
	margin-block-start: 0;
}

.tt5ds-home-a .wp-block-post-content > .alignfull:not(.tt5ds-pattern-hero-premium):not(.tt5ds-pattern-atmosphere),
.editor-styles-wrapper .tt5ds-home-a .tt5ds-home-section {
	padding-block: clamp(var(--wp--preset--spacing--50), 6vw, var(--wp--preset--spacing--70)) !important;
	padding-inline: clamp(var(--wp--preset--spacing--30), 4vw, var(--wp--preset--spacing--50)) !important;
}

.tt5ds-home-a .tt5ds-home-section > :is(.wp-block-columns, .wp-block-group, .wp-block-buttons) {
	max-width: var(--wp--style--global--wide-size);
}

.tt5ds-home-a .tt5ds-pattern-hero-premium .wp-block-cover {
	min-height: clamp(36rem, 70svh, 46rem) !important;
	padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--30) !important;
}

.tt5ds-home-a .tt5ds-pattern-hero-premium .wp-block-cover::after {
	display: none;
}

.tt5ds-home-a .tt5ds-pattern-hero-premium .wp-block-cover__background {
	opacity: 0.68 !important;
}

.tt5ds-home-a .tt5ds-pattern-hero-premium .wp-block-cover__inner-container {
	max-width: 48rem;
	padding: 0;
}

.tt5ds-home-a .tt5ds-pattern-hero-premium .wp-block-heading {
	font-size: var(--tt5ds-display-size, var(--wp--preset--font-size--display)) !important;
	text-wrap: balance;
}

.tt5ds-home-a .tt5ds-pattern-hero-premium p:not(.tt5ds-eyebrow) {
	max-width: 36rem;
	margin-inline: auto;
}

.tt5ds-home-a .tt5ds-pattern-hero-premium .tt5ds-eyebrow,
.tt5ds-home-a .tt5ds-pattern-cta-premium .tt5ds-eyebrow {
	color: var(--wp--preset--color--base) !important;
}

.tt5ds-home-a :is(h2, h3) {
	text-wrap: balance;
}

.tt5ds-home-a h2 {
	font-size: var(--tt5ds-section-size, var(--wp--preset--font-size--xx-large));
}

.tt5ds-home-a .wp-block-columns {
	gap: clamp(var(--wp--preset--spacing--30), 4vw, var(--wp--preset--spacing--60));
}

.tt5ds-home-a .tt5ds-pattern-about-preview .wp-block-columns {
	gap: clamp(var(--wp--preset--spacing--40), 6vw, var(--wp--preset--spacing--70));
}

.tt5ds-home-a .tt5ds-pattern-about-preview .tt5ds-about-preview__image {
	min-height: 0;
	max-height: 34rem;
}

.tt5ds-home-a .tt5ds-pattern-about-preview .tt5ds-about-preview__image img {
	aspect-ratio: 4 / 5;
	height: 100%;
	object-fit: cover;
}

.tt5ds-home-a .tt5ds-pattern-feature-grid .wp-block-column,
.tt5ds-home-a .tt5ds-pattern-dishes-featured .wp-block-column,
.tt5ds-home-a .tt5ds-pattern-reviews-premium .wp-block-column {
	display: flex;
}

.tt5ds-home-a .tt5ds-pattern-feature-grid .wp-block-column > .wp-block-group,
.tt5ds-home-a .tt5ds-review-card,
.tt5ds-home-a .tt5ds-dish-card {
	width: 100%;
	box-sizing: border-box;
}

.tt5ds-home-a .tt5ds-pattern-feature-grid {
	border-block: 1px solid var(--wp--preset--color--border);
}

.tt5ds-home-a .tt5ds-dish-card {
	display: flex;
	flex-direction: column;
	box-shadow: none;
	border-top: 3px solid var(--wp--preset--color--accent);
}

.tt5ds-home-a .tt5ds-dish-card > .wp-block-group {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.tt5ds-home-a .tt5ds-dish-card img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.tt5ds-home-a .tt5ds-menu-price {
	margin-top: auto;
	padding-top: var(--wp--preset--spacing--20);
}

.tt5ds-home-a .tt5ds-pattern-atmosphere .wp-block-columns {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
}

.tt5ds-home-a .tt5ds-pattern-atmosphere .wp-block-cover {
	min-height: clamp(16rem, 25vw, 22rem) !important;
	align-items: flex-end;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--20) !important;
}

.tt5ds-home-a .tt5ds-pattern-atmosphere .wp-block-cover__background {
	opacity: 0.6 !important;
}

.tt5ds-home-a .tt5ds-review-card {
	box-shadow: none;
}

.tt5ds-home-a .tt5ds-home-location-grid {
	align-items: stretch;
}

.tt5ds-home-a .tt5ds-home-location-details > .wp-block-group {
	margin-top: var(--wp--preset--spacing--30);
}

.tt5ds-home-a .tt5ds-detail-label {
	opacity: 1;
}

.tt5ds-home-a .tt5ds-home-contact {
	display: grid;
	gap: var(--wp--preset--spacing--10);
}

.tt5ds-home-a .tt5ds-home-contact a {
	display: inline-block;
	padding-block: var(--wp--preset--spacing--10);
	overflow-wrap: anywhere;
	margin-block-start: 0;
}

.tt5ds-home-a .tt5ds-home-contact .wp-block-shortcode {
	margin: 0;
}

.tt5ds-home-a .tt5ds-home-location-map {
	--tt5ds-map-height: 32rem;
	min-width: 0;
	border-radius: 4px;
	overflow: hidden;
}

.tt5ds-home-a .tt5ds-home-location-map .tt5ds-map-shell {
	min-height: 32rem;
	height: auto;
}

.tt5ds-home-a .tt5ds-home-location-map .cmplz-placeholder-parent {
	height: 100%;
	min-height: inherit;
}

.tt5ds-home-a .tt5ds-home-location-map .tt5ds-map-embed {
	min-height: inherit;
}

.tt5ds-home-a .tt5ds-map-route-card {
	box-sizing: border-box;
	left: var(--wp--preset--spacing--20);
	right: var(--wp--preset--spacing--20);
	width: auto;
	max-width: none;
}

.tt5ds-home-a .tt5ds-home-location-map .cmplz-blocked-content-notice {
	top: var(--wp--preset--spacing--40) !important;
	transform: translateX(-50%) !important;
	box-sizing: border-box;
	width: calc(100% - 2 * var(--wp--preset--spacing--20));
	max-width: 24rem;
	padding: var(--wp--preset--spacing--20);
	background: var(--wp--preset--color--dark);
	color: var(--wp--preset--color--base);
	border-radius: 4px;
	font: inherit;
}

.tt5ds-home-a .tt5ds-pattern-cta-premium {
	background: var(--wp--preset--color--dark) !important;
}

.tt5ds-home-a .wp-block-button__link {
	min-height: 3.5rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

.tt5ds-home-a .wp-block-button.is-style-outline .wp-block-button__link {
	color: var(--wp--preset--color--contrast) !important;
	border-color: currentColor !important;
	border-width: 1px !important;
}

.tt5ds-home-a :is(.tt5ds-pattern-hero-premium, .tt5ds-pattern-cta-premium) .wp-block-button.is-style-outline .wp-block-button__link {
	color: var(--wp--preset--color--base) !important;
}

.tt5ds-home-a a:focus-visible {
	outline: 3px solid currentColor;
	outline-offset: 4px;
}

@media (max-width: 1024px) {
	.tt5ds-home-a .tt5ds-pattern-about-preview .wp-block-columns,
	.tt5ds-home-a .tt5ds-home-location-grid {
		flex-direction: column;
	}

	.tt5ds-home-a .tt5ds-pattern-about-preview .wp-block-column,
	.tt5ds-home-a .tt5ds-home-location-grid .wp-block-column {
		flex-basis: auto !important;
		width: 100%;
	}

	.tt5ds-home-a .tt5ds-pattern-about-preview .tt5ds-about-preview__image,
	.tt5ds-home-a .tt5ds-pattern-about-preview .tt5ds-about-preview__image img {
		min-height: 0 !important;
		max-height: 28rem;
		aspect-ratio: 3 / 2;
	}

	.tt5ds-home-a .tt5ds-pattern-atmosphere .wp-block-columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 781px) {
	.tt5ds-home-a .tt5ds-home-location-map {
		--tt5ds-map-height: 26rem;
	}
	.tt5ds-home-a .tt5ds-pattern-hero-premium .wp-block-cover {
		min-height: 34rem !important;
		padding-block: var(--wp--preset--spacing--50) !important;
	}

	.tt5ds-home-a .tt5ds-home-section > .wp-block-group {
		margin-bottom: var(--wp--preset--spacing--40) !important;
	}

	.tt5ds-home-a .tt5ds-pattern-atmosphere .wp-block-cover {
		min-height: 14rem !important;
	}

	.tt5ds-home-a .tt5ds-home-location-map .tt5ds-map-shell {
		min-height: 26rem;
		height: auto;
	}

	.tt5ds-home-a .tt5ds-pattern-about-preview .tt5ds-about-preview__image img {
		aspect-ratio: 4 / 3;
		max-height: 22rem;
	}
}

@media (max-width: 480px) {
	.tt5ds-home-a .wp-block-buttons {
		flex-direction: column;
		align-items: stretch;
	}

	.tt5ds-home-a .wp-block-button,
	.tt5ds-home-a .wp-block-button__link {
		width: 100%;
	}
}
