/* ==========================================================================
   Lakeshore — Home page sections (page 435). Loaded after site.css.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Typography: display headings
   -------------------------------------------------------------------------- */
body.lk-design .elementor-element.elementor-element-469facb .elementor-heading-title,
body.lk-design .elementor-element.elementor-element-c821d62 .elementor-heading-title,
body.lk-design .elementor-element.elementor-element-14ccdb2 .elementor-heading-title,
body.lk-design .elementor-element.elementor-element-282fde8 .elementor-heading-title,
body.lk-design .elementor-element.elementor-element-557f520 .elementor-heading-title,
body.lk-design .elementor-element.elementor-element-cafde27 .elementor-heading-title,
body.lk-design .elementor-element.elementor-element-7ee4fe2 .elementor-heading-title,
body.lk-design .elementor-element.elementor-element-4d89f6a .elementor-icon-box-title,
body.lk-design .elementor-element.elementor-element-7de7069 .elementor-icon-box-title,
body.lk-design .elementor-element.elementor-element-31e46bd .elementor-icon-box-title {
	font-family: var(--lk-display);
	font-weight: 400;
	letter-spacing: 0;
	text-wrap: pretty;
}

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */
body.lk-design .elementor-element.elementor-element-4232e07 {
	--padding-top: 0px;
	--padding-bottom: 0px;
	padding: 0;
}
body.lk-design .elementor-element.elementor-element-66b617d {
	--min-height: 625px;
	min-height: 625px;
	flex-direction: row;
	align-items: stretch;
	gap: 0;
	--gap: 0px;
	background-color: var(--lk-blush);
}
body.lk-design .elementor-element.elementor-element-ea0ef8f {
	position: relative;
	z-index: 2;
	width: 38.82%;
	--width: 38.82%;
	flex: 0 0 38.82%;
	padding: 0 0 0 71px;
	--padding-left: 71px;
	--padding-right: 0px;
	justify-content: center;
	align-items: flex-start;
	gap: 0;
	--gap: 0px;
	margin: 0;
}
body.lk-design :where(.elementor-element-ea0ef8f > .elementor-widget) {
	width: auto;
	max-width: none;
	margin: 0;
}
body.lk-design .elementor-element.elementor-element-f7316ab .elementor-heading-title {
	font-family: var(--lk-italic);
	font-style: italic;
	font-weight: 400;
	font-size: 38px;
	line-height: 1;
	letter-spacing: -0.01em;
	color: var(--lk-text);
	text-align: left;
}
body.lk-design .elementor-element.elementor-element-469facb {
	margin-top: 10px;
	width: 36vw;
	max-width: 520px;
}
body.lk-design .elementor-element.elementor-element-469facb .elementor-heading-title {
	font-size: clamp(72px, 7.3vw, 105px);
	line-height: .95;
	letter-spacing: 0;
	color: var(--lk-navy);
	text-align: left;
}
body.lk-design .elementor-element.elementor-element-bda8ea8 {
	margin-top: 34px;
	max-width: 440px;
}
body.lk-design .elementor-element.elementor-element-bda8ea8,
body.lk-design .elementor-element.elementor-element-bda8ea8 p {
	font-family: var(--lk-sans);
	font-size: 14.8px;
	line-height: 24.5px;
	color: var(--lk-text);
	text-align: left;
	margin-bottom: 0;
}
body.lk-design .elementor-element.elementor-element-743f7c1 {
	margin-top: 29px;
	flex-direction: row;
	justify-content: flex-start;
	gap: 9px;
	--gap: 9px;
	width: auto;
}
body.lk-design .elementor-element.elementor-element-b4b05e7 .elementor-button,
body.lk-design .elementor-element.elementor-element-ace319e .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 144px;
	height: 42px;
	padding: 0 10px;
	font-family: var(--lk-sans);
	font-size: 13.5px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: uppercase;
}
body.lk-design .elementor-element.elementor-element-b4b05e7 .elementor-button {
	background: var(--lk-navy);
	color: #fff;
	border: 1px solid var(--lk-navy);
}
body.lk-design .elementor-element.elementor-element-b4b05e7 .elementor-button:hover {
	background: var(--lk-terra);
	border-color: var(--lk-terra);
}
body.lk-design .elementor-element.elementor-element-ace319e .elementor-button {
	background: transparent;
	color: var(--lk-text);
	border: 1px solid var(--lk-terra-line);
}
body.lk-design .elementor-element.elementor-element-ace319e .elementor-button:hover {
	background: var(--lk-terra);
	border-color: var(--lk-terra);
	color: #fff;
}

/* hero media: autoplay video with cut corner + play button */
body.lk-design .elementor-element.elementor-element-0a901e5 {
	position: relative;
	width: 61.18%;
	--width: 61.18%;
	flex: 0 0 61.18%;
	--min-height: 625px;
	min-height: 625px;
	clip-path: var(--lk-cut-hero);
	overflow: hidden;
	background-color: var(--lk-navy);
}
body.lk-design .elementor-element.elementor-element-0a901e5 > .elementor-background-video-container {
	display: block !important;
}
body.lk-design .elementor-background-video-container {
	position: absolute;
	inset: 0;
	overflow: hidden;
}
body.lk-design video.lk-video {
	position: absolute !important;
	inset: 0 !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	transform: none !important;
	object-fit: cover;
	display: block;
}

/* --------------------------------------------------------------------------
   "Dine Under the Open Sky"
   -------------------------------------------------------------------------- */
body.lk-design .elementor-element.elementor-element-7f77710 {
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
	padding: 0;
	--min-height: 0px;
	min-height: 0;
}
body.lk-design .elementor-element.elementor-element-25adfad {
	--min-height: 535px;
	min-height: 535px;
	flex-direction: row;
	align-items: stretch;
	gap: 0;
	--gap: 0px;
	padding: 0;
	background-color: var(--lk-blush);
}
body.lk-design .elementor-element.elementor-element-52616e1 {
	width: 52%;
	--width: 52%;
	flex: 0 0 52%;
	justify-content: center;
	align-items: center;
	padding: 60px 40px;
	margin: 0;
	gap: 0;
	--gap: 0px;
	text-align: center;
}
body.lk-design .elementor-element.elementor-element-9c74de7 .elementor-heading-title {
	font-family: var(--lk-sans);
	font-size: 13.5px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--lk-text);
}
body.lk-design .elementor-element.elementor-element-557f520 {
	margin-top: 16px;
}
body.lk-design .elementor-element.elementor-element-557f520 .elementor-heading-title {
	font-size: 49px;
	line-height: 1.1;
	color: var(--lk-navy);
}
body.lk-design .elementor-element.elementor-element-e029895 {
	margin-top: 26px;
	max-width: 550px;
}
body.lk-design .elementor-element.elementor-element-e029895,
body.lk-design .elementor-element.elementor-element-e029895 p {
	font-family: var(--lk-sans);
	font-size: 15.5px;
	line-height: 25px;
	color: var(--lk-text);
	margin-bottom: 0;
}
body.lk-design .elementor-element.elementor-element-8713205 {
	margin-top: 26px;
	justify-content: center;
	width: auto;
}
body.lk-design .elementor-element.elementor-element-d831509 .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 256px;
	height: 42px;
	padding: 0 20px;
	background: var(--lk-navy);
	color: #fff;
	font-family: var(--lk-sans);
	font-size: 14px;
	letter-spacing: .04em;
	text-transform: uppercase;
}
body.lk-design .elementor-element.elementor-element-d831509 .elementor-button:hover {
	background: var(--lk-terra);
}
body.lk-design .elementor-element.elementor-element-bc488b8 {
	position: relative;
	width: 48%;
	--width: 48%;
	flex: 0 0 48%;
	padding: 0;
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
	margin: 0;
	align-self: stretch;
	--min-height: 0px;
	min-height: 0;
	clip-path: var(--lk-cut-sky);
	overflow: hidden;
	background-color: var(--lk-navy);
}
body.lk-design .elementor-element.elementor-element-5acb2fe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
}
body.lk-design .elementor-element.elementor-element-5acb2fe .elementor-wrapper {
	position: absolute;
	inset: 0;
	aspect-ratio: auto;
	--video-aspect-ratio: auto;
	height: 100%;
}
body.lk-design .elementor-element.elementor-element-5acb2fe video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* --------------------------------------------------------------------------
   Content sections — spacing measured from the wireframe (desktop)
   -------------------------------------------------------------------------- */
/* section headings */
body.lk-design .elementor-element.elementor-element-c821d62 .elementor-heading-title,
body.lk-design .elementor-element.elementor-element-14ccdb2 .elementor-heading-title,
body.lk-design .elementor-element.elementor-element-282fde8 .elementor-heading-title,
body.lk-design .elementor-element.elementor-element-cafde27 .elementor-heading-title {
	font-size: 49px;
	line-height: 1.12;
}
/* body copy in the split sections */
body.lk-design .elementor-element.elementor-element-772fd73,
body.lk-design .elementor-element.elementor-element-338489a,
body.lk-design .elementor-element.elementor-element-5aa13db,
body.lk-design .elementor-element.elementor-element-77f3992 {
	font-size: 14.8px;
	line-height: 25px;
}
/* compact CTA buttons */
body.lk-design .elementor-element.elementor-element-8993f02 .elementor-button,
body.lk-design .elementor-element.elementor-element-b2d8c71 .elementor-button,
body.lk-design .elementor-element.elementor-element-77d7778 .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	padding: 0 16px;
	font-family: var(--lk-sans);
	font-size: 13px;
	font-weight: 400;
	letter-spacing: .02em;
	text-transform: uppercase;
}
body.lk-design .elementor-element.elementor-element-8993f02 .elementor-button:hover,
body.lk-design .elementor-element.elementor-element-77d7778 .elementor-button:hover {
	background-color: var(--lk-terra);
}
body.lk-design .elementor-element.elementor-element-b2d8c71 .elementor-button:hover,
body.lk-design .elementor-element.elementor-element-7ebbd5f .elementor-button:hover {
	background-color: var(--lk-navy);
}
body.lk-design .elementor-element.elementor-element-7ebbd5f .elementor-button {
	height: 42px;
	display: inline-flex;
	align-items: center;
	padding: 0 24px;
}

@media (min-width: 1200px) {
	/* About — image left, copy right */
	body.lk-design .elementor-element.elementor-element-f1e74db,
	body.lk-design .elementor-element.elementor-element-04eeeff {
		--padding-top: 92px;
		--padding-bottom: 99px;
		--padding-left: 72px;
		--padding-right: 70px;
		padding: 92px 70px 99px 72px;
	}
	body.lk-design .elementor-element.elementor-element-04eeeff {
		--padding-top: 96px;
		--padding-bottom: 85px;
		padding-top: 96px;
		padding-bottom: 85px;
	}
	body.lk-design .elementor-element.elementor-element-35a6455,
	body.lk-design .elementor-element.elementor-element-66a1ebb,
	body.lk-design .elementor-element.elementor-element-a238a7e {
		--content-width: 100%;
		padding: 0;
		--padding-top: 0px;
		--padding-bottom: 0px;
		--padding-left: 0px;
		--padding-right: 0px;
	}
	body.lk-design .elementor-element.elementor-element-35a6455 > .e-con-inner,
	body.lk-design .elementor-element.elementor-element-66a1ebb > .e-con-inner,
	body.lk-design .elementor-element.elementor-element-a238a7e > .e-con-inner {
		max-width: none;
		width: 100%;
		gap: 0;
		align-items: center;
	}
	body.lk-design .elementor-element.elementor-element-1c7d6c8,
	body.lk-design .elementor-element.elementor-element-55d3037,
	body.lk-design .elementor-element.elementor-element-7577b8c {
		width: 610px;
		--width: 610px;
		flex: 0 0 610px;
	}
	body.lk-design .elementor-element.elementor-element-def8fe6 {
		flex: 1 1 auto;
		width: auto;
		--width: auto;
		padding: 0 0 0 98px;
		--padding-left: 98px;
		--padding-top: 0px;
		--padding-bottom: 0px;
	}
	body.lk-design .elementor-element.elementor-element-28a8c3b {
		flex: 1 1 auto;
		width: auto;
		--width: auto;
		padding: 0 0 0 130px;
		--padding-left: 130px;
		--padding-top: 0px;
		--padding-bottom: 0px;
	}
	body.lk-design .elementor-element.elementor-element-c821d62 {
		max-width: 520px;
	}

	/* Brunch — copy left, image right */
	body.lk-design .elementor-element.elementor-element-a0c808e {
		--padding-top: 84px;
		--padding-bottom: 87px;
		--padding-left: 154px;
		--padding-right: 134px;
		padding: 84px 134px 87px 154px;
	}
	body.lk-design .elementor-element.elementor-element-45e6763 {
		flex: 1 1 auto;
		width: auto;
		--width: auto;
		padding: 0 40px 0 0;
		--padding-top: 0px;
		--padding-bottom: 0px;
		--padding-left: 0px;
		max-width: 470px;
		margin-right: auto;
	}
	body.lk-design .elementor-element.elementor-element-14ccdb2 {
		width: 100%;
		max-width: 440px;
		--container-widget-width: 100%;
	}
	body.lk-design .elementor-element.elementor-element-338489a {
		max-width: 360px;
	}

	/* Lunch + menu cards + Favorites */
	body.lk-design .elementor-element.elementor-element-63480d4 {
		--padding-top: 84px;
		--padding-bottom: 84px;
		--padding-left: 70px;
		--padding-right: 72px;
		padding: 84px 72px 84px 70px;
		gap: 76px;
		--gap: 76px;
	}
	body.lk-design .elementor-element.elementor-element-b1aadb3 {
		--min-height: 482px;
		min-height: 482px;
		--padding-top: 0px;
		--padding-left: 50px;
		padding: 0 50px;
		justify-content: center;
	}
	body.lk-design .elementor-element.elementor-element-db8018b > .e-con {
		--min-height: 360px;
		min-height: 360px;
	}
	body.lk-design .elementor-element.elementor-element-e7a3ca0 {
		padding: 0;
		--padding-top: 0px;
		--padding-bottom: 0px;
		--padding-left: 0px;
		--padding-right: 0px;
		margin: 0;
	}
	body.lk-design .elementor-element.elementor-element-682037a {
		gap: 0;
		--gap: 0px;
		align-items: center;
	}
	body.lk-design .elementor-element.elementor-element-88f456f {
		width: 610px;
		--width: 610px;
		flex: 0 0 610px;
		margin-left: 2px;
	}
	body.lk-design .elementor-element.elementor-element-5b060b1 img {
		width: 610px;
		max-width: none;
		height: auto;
	}
	body.lk-design .elementor-element.elementor-element-4f0142b {
		flex: 1 1 auto;
		width: auto;
		--width: auto;
		padding: 0 0 0 146px;
		--padding-left: 146px;
		--padding-right: 0px;
	}
}

/* small laptops (1025–1199): proportional split sections */
@media (min-width: 1025px) and (max-width: 1199px) {
	body.lk-design .elementor-element.elementor-element-469facb .elementor-heading-title {
		font-size: 72px;
		line-height: .98;
	}
	body.lk-design .elementor-element.elementor-element-c821d62 .elementor-heading-title,
	body.lk-design .elementor-element.elementor-element-14ccdb2 .elementor-heading-title,
	body.lk-design .elementor-element.elementor-element-282fde8 .elementor-heading-title,
	body.lk-design .elementor-element.elementor-element-cafde27 .elementor-heading-title,
	body.lk-design .elementor-element.elementor-element-557f520 .elementor-heading-title {
		font-size: 40px;
		line-height: 1.15;
	}
	body.lk-design .elementor-element.elementor-element-f1e74db,
	body.lk-design .elementor-element.elementor-element-a0c808e,
	body.lk-design .elementor-element.elementor-element-04eeeff {
		padding: 72px 48px;
	}
	body.lk-design .elementor-element.elementor-element-def8fe6,
	body.lk-design .elementor-element.elementor-element-28a8c3b,
	body.lk-design .elementor-element.elementor-element-4f0142b {
		padding-left: 56px;
	}
	body.lk-design .elementor-element.elementor-element-45e6763 {
		padding-right: 56px;
	}
	body.lk-design .elementor-button {
		white-space: nowrap;
	}
}

/* Lunch "View menu" as a small navy tab, like the wireframe */
body.lk-design .elementor-element.elementor-element-06e18fd .elementor-button {
	display: inline-flex;
	align-items: center;
	height: 28px;
	padding: 0 12px;
	background: var(--lk-navy);
	color: #D7B3A6;
	font-size: 11.5px;
	letter-spacing: .22em;
}
body.lk-design .elementor-element.elementor-element-06e18fd .elementor-button:hover {
	background: var(--lk-terra);
	color: #fff;
}

/* --------------------------------------------------------------------------
   Follow along — uniform 3 × 2 gallery
   -------------------------------------------------------------------------- */
body.lk-design .elementor-element.elementor-element-5f889cb {
	--padding-top: 80px;
	--padding-bottom: 90px;
	--padding-left: 70px;
	--padding-right: 70px;
	padding: 80px 70px 90px;
	gap: 0;
	--gap: 0px;
}
body.lk-design .elementor-element.elementor-element-679df6f .elementor-heading-title {
	font-family: var(--lk-sans);
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #fff;
}
body.lk-design .elementor-element.elementor-element-7ee4fe2 {
	margin: 14px 0 44px;
}
body.lk-design .elementor-element.elementor-element-7ee4fe2 .elementor-heading-title {
	font-size: 49px;
	line-height: 1.1;
	color: #fff;
}
body.lk-design .elementor-element.elementor-element-839f614 {
	width: 100%;
	margin: 0;
}
body.lk-design .elementor-element.elementor-element-839f614 .gallery {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin: 0;
}
body.lk-design .elementor-element.elementor-element-839f614 .gallery-item {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none;
	overflow: hidden;
}
body.lk-design .elementor-element.elementor-element-839f614 .gallery-icon,
body.lk-design .elementor-element.elementor-element-839f614 .gallery-icon a {
	display: block;
	height: 100%;
}
body.lk-design .elementor-element.elementor-element-839f614 .gallery-item img {
	width: 100%;
	height: auto;
	aspect-ratio: 422 / 321;
	object-fit: cover;
	border: 0 !important;
	clip-path: none !important;
	display: block;
	transition: transform .7s var(--lk-ease), filter .4s;
}
body.lk-design .elementor-element.elementor-element-839f614 .gallery-item:hover img {
	transform: scale(1.045);
}
body.lk-design .elementor-element.elementor-element-839f614 br {
	display: none;
}

/* Cocktails / Drinks card: new cocktail photo (img/cocktail.jpg) */
body.lk-design .elementor-element.elementor-element-086bc90,
body.lk-design .elementor-element.elementor-element-086bc90.e-lazyloaded {
	/* the old card photos had the navy fade baked in; recreate it for legible text */
	background-image: linear-gradient(180deg, rgba(24, 35, 49, .05) 0%, rgba(24, 35, 49, .35) 38%, rgba(24, 35, 49, .9) 62%, #182331 100%), url("img/cocktail.jpg") !important;
	background-size: cover, cover !important;
	background-position: center, 42% center !important;
}

/* Lunch banner: new photo (img/lunch.jpg, supplied); sandwich kept right of the copy */
body.lk-design .elementor-element.elementor-element-b1aadb3,
body.lk-design .elementor-element.elementor-element-b1aadb3.e-lazyloaded {
	/* cream fade behind the copy so the dark text stays legible on the darker photo */
	background-image: linear-gradient(90deg, rgba(247, 242, 238, .96) 0%, rgba(247, 242, 238, .9) 30%, rgba(247, 242, 238, .35) 48%, rgba(247, 242, 238, 0) 60%), url("img/lunch.jpg") !important;
	background-size: cover, cover !important;
	background-position: center, right 30% !important;
}
@media (max-width: 767px) {
	body.lk-design .elementor-element.elementor-element-b1aadb3,
	body.lk-design .elementor-element.elementor-element-b1aadb3.e-lazyloaded {
		background-image: linear-gradient(rgba(247, 242, 238, .86), rgba(247, 242, 238, .86)), url("img/lunch.jpg") !important;
		background-position: center, 70% center !important;
	}
}

/* Menu cards (Dinner / Cocktails / Happy Hour / Private Dining): when a card has no
   description text, drop the title down to sit just above its button instead of leaving
   a gap. As soon as a text widget is added back, the normal layout applies again. */
body.lk-design .elementor-element-db8018b > .e-con:not(:has(.elementor-widget-text-editor)) > .elementor-widget-heading {
	margin-top: auto;
}
body.lk-design .elementor-element-db8018b > .e-con:not(:has(.elementor-widget-text-editor)) > .elementor-widget-button {
	margin-top: 18px;
}
