/* EinGedi — front-end theme styles */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	height: 100%;
}

body {
	margin: 0;
	min-height: 100%;
}

img {
	max-width: 100%;
	height: auto;
}

.wp-site-blocks {
	padding: 0;
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
	overflow-x: clip;
}

.wp-site-blocks > header + * {
	margin-block-start: 0;
}

/* Keep footer at the bottom when page content is short */
.wp-site-blocks > footer,
.wp-site-blocks > .wp-block-template-part:has(.eingedi-footer) {
	margin-top: auto;
}

/* 404: full-bleed section under header, no footer gap */
body.error404 .wp-site-blocks {
	min-height: 100vh;
	min-height: 100dvh;
}

body.error404 .wp-site-blocks > .wp-block-eingedi-error-404,
body.error404 .wp-site-blocks > .eingedi-404 {
	flex: 0 0 auto;
}

/* Force offers slider full-bleed past constrained content + root padding */
.wp-block-post-content .wp-block-eingedi-offers-slider,
.wp-block-post-content .eingedi-offers-slider {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	margin-block-start: 0 !important;
}

.wp-block-post-content .wp-block-eingedi-gallery-text,
.wp-block-post-content .eingedi-gallery-text {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	margin-block-start: 0 !important;
}

.wp-block-post-content .wp-block-eingedi-spa-features,
.wp-block-post-content .eingedi-spa-features {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	margin-block-start: 0 !important;
}

.wp-block-post-content .wp-block-eingedi-text-section,
.wp-block-post-content .eingedi-text-section {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	margin-block-start: 0 !important;
}

.wp-block-post-content .wp-block-eingedi-page-breadcrumbs,
.wp-block-post-content .eingedi-page-breadcrumbs {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	margin-block-start: 0 !important;
}

.wp-block-post-content .wp-block-eingedi-centered-text,
.wp-block-post-content .eingedi-centered-text {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	margin-block-start: 0 !important;
}

.wp-block-post-content .wp-block-eingedi-trip-single,
.wp-block-post-content .eingedi-trip-single,
.wp-block-post-content .wp-block-eingedi-trip-listing,
.wp-block-post-content .eingedi-trip-listing,
body.single-eingedi_trip .eingedi-trip-single,
body.single-eingedi_trip .eingedi-trip-listing {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	margin-block-start: 0 !important;
}

/* Text pages — white stack, no gap between prose blocks */
body.page-template-page-text,
body.page-template-page-text .wp-site-blocks {
	background-color: #ffffff;
}

body.page-template-page-text .eingedi-text-page-content {
	gap: 0;
}

body.page-template-page-text .wp-block-post-content > * {
	margin-block-start: 0 !important;
}

.wp-block-post-content .wp-block-eingedi-rooms-slider,
.wp-block-post-content .eingedi-rooms-slider {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	margin-block-start: 0 !important;
}

.wp-block-post-content .wp-block-eingedi-nature,
.wp-block-post-content .eingedi-nature {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	margin-block-start: 0 !important;
}

.wp-block-post-content .wp-block-eingedi-attractions,
.wp-block-post-content .eingedi-attractions {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	margin-block-start: 0 !important;
}

.wp-block-post-content .wp-block-eingedi-iframe-embed,
.wp-block-post-content .eingedi-iframe-embed {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	margin-block-start: 0 !important;
}

.wp-block-post-content .wp-block-eingedi-text-image,
.wp-block-post-content .eingedi-text-image {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	margin-block-start: 0 !important;
}

.wp-block-post-content .wp-block-eingedi-club,
.wp-block-post-content .eingedi-club {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	margin-block-start: 0 !important;
}

@media (max-width: 700px) {
	.wp-block-post-content .wp-block-eingedi-club,
	.wp-block-post-content .eingedi-club {
		--eingedi-club-min-h: 463px;
		height: 463px;
		min-height: 463px;
	}
}

.wp-block-post-content .wp-block-eingedi-club-benefits,
.wp-block-post-content .eingedi-club-benefits {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	margin-block-start: 0 !important;
}

.wp-block-post-content .wp-block-eingedi-club-signup,
.wp-block-post-content .eingedi-club-signup {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	margin-block-start: 0 !important;
}

/* Food page — white page background (slug /food/, not page ID) */
body.page-food {
	background-color: #ffffff;
}

body.page-food .wp-site-blocks,
body.page-food main,
body.page-food .wp-block-post-content {
	background-color: #ffffff;
}

/* Food page — space after last block before footer */
body.page-food .wp-block-post-content > :last-child {
	margin-bottom: 40px !important;
}

@media (max-width: 700px) {
	body.page-food .wp-block-post-content > :last-child {
		margin-bottom: 20px !important;
	}
}

/* Club page (/club/) — banner height on desktop */
@media (min-width: 701px) {
	body.page-club .eingedi-club,
	body.page-club .wp-block-eingedi-club {
		--eingedi-club-min-h: 400px;
		height: 400px;
		min-height: 400px;
	}
}

/* Club page (/club/) — club banner: button before text */
body.page-club .eingedi-club__inner,
body.page-garden .eingedi-club__inner,
body.page-nature-around .eingedi-club__inner {
	display: flex;
	flex-direction: column;
	max-width: 504px;
}

body.page-club .eingedi-club__heading,
body.page-garden .eingedi-club__heading,
body.page-nature-around .eingedi-club__heading {
	order: 1;
}

body.page-club .eingedi-club__cta,
body.page-garden .eingedi-club__cta,
body.page-nature-around .eingedi-club__cta {
	order: 2;
	margin-bottom: 40px;
}

body.page-club .eingedi-club__text,
body.page-garden .eingedi-club__text,
body.page-nature-around .eingedi-club__text {
	order: 3;
	margin-bottom: 0;
}

@media (max-width: 700px) {
	body.page-club .eingedi-club__cta,
	body.page-garden .eingedi-club__cta,
	body.page-nature-around .eingedi-club__cta {
		margin-bottom: 30px;
	}
}

/* Nature single + Dead Sea page: wider intro text. */
body.eingedi-nature-single .eingedi-intro__text,
body.page-dead-sea .eingedi-intro__text {
	max-width: 1213px;
	width: 100%;
}

/* Homepage intro + gallery-text — mobile */
@media (max-width: 700px) {
	body.home .eingedi-intro,
	body.home .wp-block-eingedi-intro {
		padding: 30px 40px;
	}

	body.home .eingedi-intro__heading {
		font-size: 24px;
	}

	body.home .eingedi-gallery-text,
	body.home .wp-block-eingedi-gallery-text {
		padding: 30px 0;
	}
}

/* Dead Sea page: intro typography and spacing. */
body.page-dead-sea .eingedi-intro,
body.page-dead-sea .wp-block-eingedi-intro {
	padding: 80px 20px;
}

body.page-dead-sea .eingedi-intro__heading {
	margin: 0 0 40px;
	font-family: "Noto Sans Hebrew", sans-serif;
	font-weight: 400;
	font-size: 80px;
	line-height: 90px;
	letter-spacing: 0;
	text-align: center;
	color: #976949;
}

body.page-dead-sea .eingedi-intro__text,
body.page-dead-sea .eingedi-intro__text p {
	font-family: "Noto Sans Hebrew", sans-serif;
	font-weight: 400;
	font-size: 18px;
	line-height: 28px;
	letter-spacing: 0;
	text-align: center;
	color: #292929;
}

@media (max-width: 700px) {
	body.page-dead-sea .eingedi-intro,
	body.page-dead-sea .wp-block-eingedi-intro {
		padding: 48px 20px;
	}

	body.page-dead-sea .eingedi-intro__heading {
		margin: 0 0 20px;
		font-size: 32px;
		line-height: 40px;
	}

	body.page-dead-sea .eingedi-intro__text,
	body.page-dead-sea .eingedi-intro__text p {
		font-size: 16px;
		line-height: 24px;
	}
}

/* Dead Sea page: info bar typography and spacing. */
body.page-dead-sea .eingedi-info-bar,
body.page-dead-sea .wp-block-eingedi-info-bar {
	padding: 80px 40px;
	background: #ddcab2;
}

body.page-dead-sea .eingedi-info-bar__inner {
	gap: 66px;
	max-width: 100%;
}

body.page-dead-sea .eingedi-info-bar__col {
	gap: 16px;
}

body.page-dead-sea .eingedi-info-bar__title {
	font-family: "Noto Sans Hebrew", sans-serif;
	font-weight: 600;
	font-size: 24px;
	line-height: 24px;
	letter-spacing: 0;
	text-align: right;
	color: #292929;
}

body.page-dead-sea .eingedi-info-bar__line {
	font-family: "Noto Sans Hebrew", sans-serif;
	font-weight: 500;
	font-size: 20px;
	line-height: 28px;
	letter-spacing: 0;
	text-align: right;
	color: #292929;
}

@media (max-width: 700px) {
	body.page-dead-sea .eingedi-info-bar,
	body.page-dead-sea .wp-block-eingedi-info-bar {
		padding: 48px 20px;
		background: #ddcab2;
	}

	body.page-dead-sea .eingedi-info-bar__inner {
		gap: 30px;
	}

	body.page-dead-sea .eingedi-info-bar__col {
		gap: 10px;
	}

	body.page-dead-sea .eingedi-info-bar__title {
		font-size: 18px;
		line-height: 24px;
	}

	body.page-dead-sea .eingedi-info-bar__line {
		font-size: 16px;
		line-height: 21px;
	}
}

/* Dead Sea page: white gallery-text block background. */
body.page-dead-sea .wp-block-post-content .wp-block-eingedi-gallery-text,
body.page-dead-sea .wp-block-post-content .eingedi-gallery-text {
	background: #fff;
}

body.page-dead-sea .eingedi-gallery-text__content {
	flex: 1 1 auto;
	max-width: 815px;
	width: 100%;
}

@media (max-width: 700px) {
	body.page-dead-sea .eingedi-gallery-text__content {
		max-width: 100%;
	}

	body.page-dead-sea .eingedi-gallery-text__gallery {
		padding-inline: 0;
	}
}

/* Dead Sea page: beige gallery slider background (attractions block, same as spa layout). */
body.page-dead-sea .eingedi-attractions,
body.page-dead-sea .wp-block-eingedi-attractions {
	background-color: #f8f2eb;
}

/* Botanical Garden page: attractions block padding. */
body.page-botanical-garden .wp-block-post-content {
	--wp--style--block-gap: 0;
	gap: 0;
}

body.page-botanical-garden .eingedi-attractions,
body.page-botanical-garden .wp-block-eingedi-attractions {
	padding-top: 0;
	padding-bottom: 40px;
}

@media (max-width: 700px) {
	body.page-botanical-garden .eingedi-attractions,
	body.page-botanical-garden .wp-block-eingedi-attractions,
	body.page-botanical-garden .eingedi-attractions.eingedi-attractions--gallery-only {
		padding-top: 0;
		padding-bottom: 0;
	}

	body.page-botanical-garden .eingedi-attractions__bar {
		margin-top: 0;
	}

	/* Content split: text above image on mobile. */
	body.page-botanical-garden .eingedi-content-split__intro,
	body.page-botanical-garden .eingedi-content-split--reversed .eingedi-content-split__intro {
		order: 1;
	}

	body.page-botanical-garden .eingedi-content-split__media,
	body.page-botanical-garden .eingedi-content-split--reversed .eingedi-content-split__media {
		order: 2;
	}

	body.page-botanical-garden .eingedi-content-split__intro-text,
	body.page-botanical-garden .eingedi-content-split__intro-text p {
		font-weight: 400;
	}
}

/* Botanical Garden page — space after last block before footer. */
body.page-botanical-garden .wp-block-post-content > :last-child {
	padding-bottom: 80px !important;
	margin-bottom: 0 !important;
}

@media (max-width: 700px) {
	body.page-botanical-garden .wp-block-post-content > :last-child {
		padding-bottom: 48px !important;
	}
}