/**
 * Gutenberg block markup ↔ live design HTML class mapping.
 * Live uses .site-section-title > h2; blocks often use h2.site-section-title.
 * Also neutralize WP layout (flex/flow) so design grids still apply.
 */

.site-section-title h1,
.site-section-title h2,
h1.site-section-title,
h2.site-section-title,
h1.wp-block-heading.site-section-title,
h2.wp-block-heading.site-section-title {
	font-size: clamp(48px, 3.3vw, 110px);
	color: #15110d;
	margin: 0;
	text-transform: capitalize;
	font-family: "Poppins", sans-serif;
	font-weight: 800;
	line-height: 1.2;
}

.site-section-title h1 span,
.site-section-title h2 span,
h1.site-section-title span,
h2.site-section-title span,
h1.wp-block-heading.site-section-title span,
h2.wp-block-heading.site-section-title span {
	color: var(--red, #f32a22);
}


.prll-esction .site-section-title h2,
.prll-esction h2.site-section-title,
.prll-esction h2.wp-block-heading.site-section-title {
	font-size: clamp(26px, 2vw, 50px);
	color: #15110d;
}

#about-founder .site-section-title h2,
#about-founder h2.site-section-title,
#about-founder h2.wp-block-heading.site-section-title {
	color: #fff;
}

#about-founder .site-section-title h2 span,
#about-founder h2.site-section-title span,
#about-founder h2.wp-block-heading.site-section-title span {
	color: #fff;
}

.header-slick .site-section-title h1,
.header-slick .site-section-title h2,
.header-slick h1.site-section-title,
.header-slick h2.site-section-title,
.header-slick h1.wp-block-heading.site-section-title,
.header-slick h2.wp-block-heading.site-section-title {
	color: #fff;
}

.header-slick .site-section-title h1 span,
.header-slick .site-section-title h2 span,
.header-slick h1.site-section-title span,
.header-slick h2.site-section-title span,
.header-slick h1.wp-block-heading.site-section-title span,
.header-slick h2.wp-block-heading.site-section-title span {
	color: #fff;
}

/* Cream/white internal heroes (menu, partner, etc.) — dark title + red accent */
body.page-menu .header-slick .site-section-title h2,
body.page-menu-cards .header-slick .site-section-title h2,
body.page-menu .header-slick h2.site-section-title,
body.page-menu-cards .header-slick h2.site-section-title,
body.page-partner .header-slick .site-section-title h2,
body.page-partner .header-slick h2.site-section-title,
body.page-contact .header-slick .site-section-title h2,
body.page-catering .header-slick .site-section-title h2,
body.page-about .header-slick .site-section-title h2 {
	color: #15110d !important;
}

body.page-menu .header-slick .site-section-title h2 span,
body.page-menu-cards .header-slick .site-section-title h2 span,
body.page-menu .header-slick h2.site-section-title span,
body.page-menu-cards .header-slick h2.site-section-title span,
body.page-partner .header-slick .site-section-title h2 span,
body.page-partner .header-slick h2.site-section-title span,
body.page-contact .header-slick .site-section-title h2 span,
body.page-catering .header-slick .site-section-title h2 span,
body.page-about .header-slick .site-section-title h2 span {
	color: var(--red, #f32a22) !important;
}

/* Gradient location list hero keeps white title + white span */
body.locations-page-nw .header-slick .site-section-title h1,
body.locations-page-nw .header-slick .site-section-title h2,
body.locations-page-nw .header-slick .site-section-title h1 span,
body.locations-page-nw .header-slick .site-section-title h2 span {
	color: #fff !important;
}

.pgae-title .site-section-title,
.pgae-title .site-section-title h2,
.pgae-title h2.site-section-title {
	margin: 0;
}

.contact-aside .site-section-title h2,
.contact-aside h2.site-section-title {
	color: #15110d;
}

.occasion-section-block .site-section-title h2,
.occasion-section-block h2.site-section-title {
	color: #15110d;
}

.catering-booking .site-section-title h2,
.catering-booking h2.site-section-title,
.catering-faq .site-section-title h2,
.catering-faq h2.site-section-title {
	color: #15110d;
}

.catering-faq .site-section-title h2 span,
.catering-faq h2.site-section-title span {
	color: var(--red, #f32a22);
}

.main-about .site-section-title h2,
.main-about h2.site-section-title {
	color: #fff;
}

.booking-wrap .site-section-title h2,
.booking-wrap h2.site-section-title {
	color: #15110d;
}

/* Kill default WP block spacing that stacks weirdly on design sections */
.inner-pages .wp-block-post-content > .wp-block-group,
.inner-pages .wp-block-post-content > section.wp-block-group {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

.inner-pages .wp-block-post-content .wp-block-group.site-section-title,
.inner-pages .wp-block-post-content .site-section-title.wp-block-group {
	margin-block-start: 0 !important;
	margin-block-end: 0.35em !important;
}

.inner-pages .wp-block-post-content .site-section-title + p,
.inner-pages .wp-block-post-content .site-section-title + .wp-block-paragraph {
	margin-block-start: 0 !important;
}

/* About layout — Gutenberg group wrappers */
.about-wrapper .about-col,
.about-wrapper .wp-block-group.about-col {
	width: 100%;
	max-width: 750px;
	text-align: center;
	margin-inline: auto;
}

.about-wrapper .about-text,
.about-wrapper .wp-block-group.about-text {
	text-align: center;
}

.about-wrapper .action-link,
.about-wrapper .wp-block-group.action-link {
	display: flex;
	justify-content: center;
	margin-top: 0;
}

.about-wrapper .btn-bx.wp-block-buttons {
	justify-content: center !important;
}

body.inner-pages:not(.page-catering) [class*="page-"][class*="-main"] .wp-block-post-content > section.about-wrapper:first-child,
body.inner-pages:not(.page-catering) [class*="page-"][class*="-main"] .wp-block-post-content > .wp-block-group.about-wrapper:first-child {
	padding-top: 200px;
	margin-top: 0 !important;
	background: var(--cream, #fff7ed);
}

@media (max-width: 1269px) {
	body.inner-pages:not(.page-catering) [class*="page-"][class*="-main"] .wp-block-post-content > section.about-wrapper:first-child,
	body.inner-pages:not(.page-catering) [class*="page-"][class*="-main"] .wp-block-post-content > .wp-block-group.about-wrapper:first-child {
		padding-top: var(--deens-header-slick-pad, 50px) !important;
	}
}

/* Parallax cream card (live .row) — About default; catering overrides in catering-page.css */
body:not(.page-catering) .prll-esction .center-text-block,
body:not(.page-catering) .prll-esction .center-bx,
body:not(.page-catering) .prll-esction .row,
body:not(.page-catering) .prll-esction .wp-block-group.row {
	display: block !important;
	width: 100%;
	max-width: 647px;
	margin: 0;
	padding: 30px;
	background: #fff;
}

.prll-esction .site-list,
.prll-esction ul.wp-block-list {
	text-align: left;
}

/* Founder grid — force live 2-col grid even if WP used columns */
#about-founder .main-grid,
#about-founder .wp-block-group.main-grid,
#about-founder .wp-block-columns.main-grid,
#about-founder .main-grid.is-layout-flex,
#about-founder .main-grid.is-layout-flow {
	display: grid !important;
	grid-template-columns: 1fr 1.3fr !important;
	gap: 50px !important;
	align-items: center !important;
	flex-wrap: unset !important;
}

#about-founder .main-grid > .wp-block-column,
#about-founder .main-grid > .image-col,
#about-founder .main-grid > .text-col,
#about-founder .main-grid > .wp-block-group.image-col,
#about-founder .main-grid > .wp-block-group.text-col {
	width: auto !important;
	max-width: none !important;
	flex-basis: auto !important;
	flex-grow: 0 !important;
	margin: 0 !important;
}

#about-founder .image-col img,
#about-founder .image-col .wp-block-image img {
	width: 100%;
	height: auto;
	display: block;
	outline: 2px solid #eee;
	outline-offset: -6px;
}

/* Two-column text band under About */
.text-block-section .container,
.text-block-section .wp-block-group.container.deens-container {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 100px !important;
	position: relative;
}

.text-block-section .container::before,
.text-block-section .wp-block-group.container.deens-container::before {
	height: 100%;
	width: 1px;
	background-color: #000;
	content: "";
	position: absolute;
	left: 50%;
}

@media (max-width: 991px) {
	body.page-catering .page-catering-main .occasion-section-block .section-head, body.page-catering .page-catering-main .occasion-section-block .wp-block-group.section-head {
		width: 100%;
		max-width: 100%;
		position: relative;
		top: 0px;
	}
	#about-founder .main-grid,
	#about-founder .wp-block-group.main-grid,
	#about-founder .wp-block-columns.main-grid {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
	}

	.text-block-section .container,
	.text-block-section .wp-block-group.container.deens-container {
		grid-template-columns: 1fr !important;
		gap: 50px !important;
	}

	.text-block-section .container::before,
	.text-block-section .wp-block-group.container.deens-container::before {
		display: none !important;
	}
}

/* Partner main-about grid */
.main-about .main-about-grid,
.main-about .wp-block-group.main-about-grid,
.main-about .main-about-grid.wp-block-columns,
.main-about .wp-block-columns.main-about-grid {
	display: grid !important;
	grid-template-columns: 1fr 1.2fr !important;
	gap: 50px !important;
	align-items: center !important;
}

.main-about .main-about-grid > .wp-block-column,
.main-about .main-about-grid > .center-bx,
.main-about .main-about-grid > .left-bx,
.main-about .main-about-grid > .wp-block-group.center-bx,
.main-about .main-about-grid > .wp-block-group.left-bx {
	width: auto !important;
	max-width: none !important;
	flex-basis: auto !important;
	margin: 0 !important;
}

/* Location detail hero */
.location-hero .hero-content,
.location-hero .wp-block-group.hero-content {
	display: grid !important;
	grid-template-columns: 50% 50% !important;
	align-items: center !important;
	gap: 0 !important;
}

.location-hero .hero-content > .wp-block-group,
.location-hero .hero-content > .hero-left-con,
.location-hero .hero-content > .hero-right-img {
	width: auto !important;
	max-width: none !important;
	flex-basis: auto !important;
	margin: 0 !important;
}

.location-hero .hero-right-img .wp-block-image,
.location-hero .hero-right-img .wp-block-image img,
.location-hero .hero-img-slider .wp-block-image,
.location-hero .hero-img-slider img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	margin: 0 !important;
}

.location-menu-grid,
.location-menu .wp-block-group.location-menu-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 800px) 1fr !important;
	gap: 50px !important;
	align-items: start !important;
}

.location-menu .menu-card,
.location-menu .wp-block-group.menu-card {
	display: grid !important;
	grid-template-columns: 250px 1fr !important;
	gap: 0 !important;
	align-items: stretch !important;
}

.location-menu .menu-card > .wp-block-image,
.location-menu .menu-card > .wp-block-image img {
	width: 100%;
	height: 100%;
	max-height: 310px;
	object-fit: cover;
	margin: 0 !important;
	display: block;
}

.feature-grid,
.wp-block-group.feature-grid,
.location-grid,
.wp-block-group.location-grid {
	display: grid !important;
}

.feature-grid,
.wp-block-group.feature-grid {
	grid-template-columns: repeat(auto-fit, minmax(330px, 1fr)) !important;
	gap: 25px !important;
}

.location-grid,
.wp-block-group.location-grid {
	grid-template-columns: 1fr 1fr !important;
	gap: 40px !important;
	align-items: center !important;
}

.hero-left-con .wp-block-buttons,
.hero-left-con .wp-block-button.deens-btn-wrap.btn-white .wp-block-button__link {
	margin-top: 0;
}

.hero-left-con .wp-block-button.deens-btn-wrap.btn-white .wp-block-button__link {
	background: #fff !important;
	color: #000 !important;
	border: 1.5px solid rgba(255, 246, 232, 0.5) !important;
}

.hero-left-con .wp-block-button.deens-btn-wrap.btn-white .wp-block-button__link:hover {
	background: var(--cream, #fff6e8) !important;
	color: #000 !important;
	transform: translateY(-2px);
}

@media (max-width: 991px) {
	.main-about .main-about-grid,
	.main-about .wp-block-group.main-about-grid,
	.main-about .main-about-grid.wp-block-columns,
	.location-hero .hero-content,
	.location-hero .wp-block-group.hero-content {
		grid-template-columns: 1fr !important;
	}

	.location-menu-grid,
	.location-menu .wp-block-group.location-menu-grid,
	.location-menu .menu-card,
	.location-menu .wp-block-group.menu-card,
	.location-grid,
	.wp-block-group.location-grid {
		grid-template-columns: 1fr !important;
	}
}

/* Menu page — sides list handled in menu-page.css (page-scoped) */
.menu-board-card__footer {
	justify-content: flex-start !important;
}

.menu-panel[hidden] {
	display: none !important;
}
