/*
Theme Name: Lahore Grill
Theme URI: https://lahoregrill.com
Author: Lahore Grill
Description: Lahore Grill by Chef Adnan — halal Pakistani and Indian restaurant theme matching the Marietta site. Home, online order, catering enquiries, loyalty, and gift cards.
Version: 1.3.91
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: lahore-grill
*/

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

html { scroll-behavior: smooth; }

body {
	margin: 0;
	background: #f7efe0;
	font-family: Figtree, system-ui, sans-serif;
	color: #13261f;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

img { max-width: 100%; }

a { color: #c8372d; text-decoration: none; }

button,
input,
textarea { font-family: inherit; }

#story,
#menu,
#events,
#reviews,
#contact,
#top { scroll-margin-top: 90px; }

.lg-skip {
	position: absolute;
	left: -999px;
	top: 8px;
	background: #e9a62a;
	color: #13261f;
	font-weight: 700;
	padding: 8px 14px;
	border-radius: 999px;
	z-index: 10001;
}

.lg-skip:focus { left: 12px; }

.lg-off { display: none !important; }

body.lg-order .lg-only-home { display: none !important; }
body.lg-home .lg-only-order { display: none !important; }

.lg-navlink:hover { color: #c8372d !important; }
.lg-btn-order:hover { background: #a92b22 !important; color: #fff !important; }
.lg-btn-delivery:hover { background: #f4bb4a !important; color: #13261f !important; }
.lg-btn-takeout:hover { border-color: #e9a62a !important; color: #e9a62a !important; }
.lg-btn-hero-delivery:hover { border-color: #e9a62a !important; color: #e9a62a !important; background: rgba(233, 166, 42, .12) !important; }
.lg-btn-hero-delivery[aria-expanded="true"] {
	border-color: #e9a62a !important;
	color: #e9a62a !important;
	background: rgba(233, 166, 42, .16) !important;
}

.lg-hero-ctas {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
	width: 100%;
	max-width: 520px;
}

.lg-hero-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-weight: 700;
	font-size: 17px;
	padding: 15px 28px;
	border-radius: 999px;
	box-sizing: border-box;
	cursor: pointer;
	text-decoration: none;
	font-family: inherit;
	line-height: 1.2;
	min-height: 52px;
}

.lg-hero-ctas > .lg-btn-delivery {
	background: #e9a62a;
	color: #13261f;
	border: 2px solid #e9a62a;
}

.lg-hero-ctas > .lg-btn-takeout {
	color: #f7efe0;
	border: 2px solid rgba(247, 239, 224, .55);
	background: transparent;
	padding: 13px 26px;
}

button.lg-btn-hero-delivery {
	appearance: none;
	-webkit-appearance: none;
	flex: 1 1 160px;
	min-width: min(100%, 160px);
	color: #f7efe0;
	border: 2px solid rgba(247, 239, 224, .7);
	background: transparent;
}

.lg-hero-ctas > .lg-btn-delivery,
.lg-hero-ctas > .lg-btn-takeout {
	flex: 1 1 160px;
	min-width: min(100%, 160px);
}

.lg-delivery-modal {
	position: fixed;
	inset: 0;
	z-index: 920;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
	background: rgba(6, 29, 23, .62);
	animation: lgDeliveryIn .2s ease;
}

.lg-delivery-dialog {
	color: #13261f;
	width: min(420px, 100%);
	max-height: min(520px, calc(100vh - 32px));
	overflow: auto;
	background: #f7efe0;
	border-radius: 22px;
	box-shadow: 0 0 0 6px #0d3a2e, 0 0 0 9px #e9a62a, 0 30px 60px rgba(0, 0, 0, .45);
}

.lg-delivery-head {
	background: #0d3a2e;
	color: #f7efe0;
	padding: 18px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	border-radius: 22px 22px 0 0;
}

.lg-delivery-titles {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.lg-delivery-kicker {
	color: #e9a62a;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .16em;
}

.lg-delivery-title {
	font-family: Gloock, serif;
	font-size: clamp(22px, 5vw, 28px);
	line-height: 1.1;
}

.lg-delivery-close {
	all: unset;
	cursor: pointer;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 2px solid #f7efe0;
	text-align: center;
	line-height: 34px;
	font-size: 20px;
	flex: none;
	box-sizing: border-box;
}

.lg-delivery-stripe {
	height: 8px;
	background: repeating-linear-gradient(135deg, #c8372d 0 8px, #e9a62a 8px 16px, #1d4f91 16px 24px, #f7efe0 24px 32px);
}

.lg-delivery-body {
	padding: 22px 20px 24px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	text-align: center;
}

.lg-delivery-copy {
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
	color: #55665e;
	max-width: 28ch;
}

.lg-delivery-modal .lg-order-apps {
	justify-content: center;
	flex-wrap: wrap;
	gap: 14px;
}

.lg-delivery-modal .lg-app {
	width: 64px;
	height: 64px;
	border-radius: 14px;
	background: #fff;
	padding: 8px;
	box-sizing: border-box;
	box-shadow: 0 0 0 1px rgba(13, 58, 46, .12);
}

@keyframes lgDeliveryIn {
	from { opacity: 0; }
	to { opacity: 1; }
}

@media (max-width: 640px) {
	.lg-hero-ctas {
		flex-direction: column;
		max-width: none;
	}

	.lg-hero-ctas > .lg-btn-delivery,
	.lg-hero-ctas > .lg-btn-takeout,
	button.lg-btn-hero-delivery {
		flex: 1 1 auto;
		width: 100%;
		min-width: 0;
	}

	.lg-hero-cta {
		width: 100%;
	}

	.lg-delivery-modal {
		align-items: flex-end;
		padding: 0;
	}

	.lg-delivery-dialog {
		width: 100%;
		max-height: min(78vh, 560px);
		border-radius: 22px 22px 0 0;
		animation: lgDeliverySheet .24s ease;
	}

	.lg-delivery-head {
		border-radius: 22px 22px 0 0;
	}

	.lg-delivery-modal .lg-app {
		width: 72px;
		height: 72px;
	}
}

@keyframes lgDeliverySheet {
	from { transform: translateY(18px); opacity: .85; }
	to { transform: translateY(0); opacity: 1; }
}
.lg-btn-add:hover { background: #c8372d !important; color: #fff !important; }
.lg-link-gold:hover { color: #c8372d !important; }
.lg-btn-plan {
	display: inline-block;
	background: #0d3a2e;
	color: #f7efe0;
	font-weight: 700;
	padding: 14px 24px;
	border-radius: 999px;
	border: 0;
	cursor: pointer;
	font-family: inherit;
	font-size: 15px;
	text-decoration: none;
}
.lg-btn-plan:hover { background: #c8372d !important; color: #fff !important; }
.lg-event:hover .lg-event-photo { transform: scale(1.04); }
.lg-review-btn:hover { background: #f7efe0 !important; color: #c8372d !important; }
.lg-btn-join:hover { background: #0d3a2e !important; color: #f7efe0 !important; }
.lg-contact-link:hover { color: #e9a62a !important; }
.lg-social {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #0d3a2e;
	font-weight: 600;
}
.lg-social:hover { color: #c8372d !important; }
.lg-btn-submit:hover,
.lg-btn-basket:hover { background: #a92b22 !important; }
.lg-btn-dark:hover { background: #c8372d !important; }
.lg-event-cta:hover { color: #0d3a2e !important; }
.lg-close:hover { background: #f7efe0 !important; color: #0d3a2e !important; }
.lg-back:hover { color: #f7efe0 !important; }

.lg-cat {
	all: unset;
	cursor: pointer;
	white-space: nowrap;
	padding: 8px 14px;
	border-radius: 999px;
	font-weight: 600;
	font-size: 14px;
	color: #0d3a2e;
	background: #efe3cc;
}

.lg-cat:hover { background: #0d3a2e !important; color: #f7efe0 !important; }

.lg-group-hours {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .04em;
	color: #1d4f91;
	white-space: nowrap;
}

.lg-pill {
	all: unset;
	cursor: pointer;
	box-sizing: border-box;
	text-align: center;
	border: 1.5px solid #0d3a2e;
	background: transparent;
	color: #0d3a2e;
	font-weight: 600;
}

.lg-pill.is-on { background: #0d3a2e !important; color: #f7efe0 !important; }

.lg-pill-type { padding: 8px 16px; border-radius: 999px; font-size: 14px; }
.lg-pill-mode { padding: 10px 24px; border-radius: 999px; font-weight: 700; font-size: 15px; }
.lg-pill-tip { flex: 1; padding: 8px 0; border-radius: 10px; font-weight: 700; font-size: 14px; }
.lg-pill-slot { padding: 8px 12px; border-radius: 10px; font-size: 14px; }
.lg-pill-pay { flex: 1; padding: 10px 0; border-radius: 10px; font-size: 14px; }
.lg-pill-amt { padding: 9px 16px; border-radius: 10px; font-weight: 700; font-size: 15px; }

.lg-field:focus {
	border-color: #c8372d !important;
	box-shadow: 0 0 0 4px rgba(233, 166, 42, .45) !important;
	background: #fffdf7 !important;
	outline: none;
}

.lg-field.is-invalid { border-color: #c8372d !important; box-shadow: 0 0 0 3px rgba(200, 55, 45, .18) !important; }
.lg-field-error { color: #c8372d; font-size: 13px; font-weight: 600; line-height: 1.35; }

.lg-event-photo { transition: transform .6s; }

.lg-events {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
}

.lg-events .lg-event > div:last-child { flex: 1; }
.lg-events .lg-event-cta { margin-top: auto; }
a.lg-event { color: inherit; text-decoration: none; }
a.lg-event:hover { color: inherit; }

@media (max-width: 980px) {
	.lg-events { grid-template-columns: 1fr; }
}

:focus-visible {
	outline: 2px solid #e9a62a;
	outline-offset: 3px;
}

.lg-field:focus-visible { outline: none; }

.lg-page {
	max-width: 800px;
	margin: 0 auto;
	padding: 72px 24px 96px;
}

.lg-page h1 {
	font-family: Gloock, serif;
	font-weight: 400;
	font-size: clamp(40px, 5vw, 64px);
	color: #0d3a2e;
	margin: 0 0 16px;
}

.lg-page p { font-size: 18px; line-height: 1.7; color: #55665e; }

.lg-banquet-page.lg-page {
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 40px 16px 72px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	background:
		radial-gradient(ellipse at 50% 0%, rgba(233, 166, 42, .2), transparent 42%),
		#f7efe0;
}

.lg-banquet-page h1 {
	margin: 0;
	font-size: clamp(36px, 5vw, 56px);
}

.lg-banquet-lead {
	margin: 10px 0 0;
	max-width: 34rem;
}

.lg-banquet-sheet {
	width: min(100%, 640px);
	margin: 22px 0 0;
	padding: 0;
	background: #111;
	border-radius: 12px;
	overflow: hidden;
	line-height: 0;
	box-shadow: 0 0 0 5px #0d3a2e, 0 0 0 8px #e9a62a;
}

.lg-banquet-sheet img {
	display: block;
	width: 100%;
	height: auto;
	max-width: none;
	aspect-ratio: 842 / 1191;
	object-fit: contain;
	object-position: center top;
	background: #111;
}

.lg-banquet-book {
	display: inline-block;
	margin-top: 22px;
	background: #c8372d;
	color: #f7efe0;
	font-weight: 700;
	font-size: 17px;
	line-height: 1.2;
	padding: 14px 28px;
	border-radius: 999px;
}

.lg-banquet-book:hover { background: #0d3a2e; color: #f7efe0; }

.lg-banquet-extras {
	margin: 0;
	padding: 12px 14px 14px;
	border: 1.5px solid rgba(13, 58, 46, .22);
	border-radius: 16px;
	display: grid;
	gap: 8px;
	text-align: left;
}

.lg-banquet-extras legend {
	padding: 0 6px;
	font-size: 14px;
	font-weight: 600;
	color: #13261f;
}

.lg-banquet-extras legend span {
	font-weight: 500;
	color: #55665e;
}

.lg-banquet-extras label {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 15px;
	font-weight: 500;
	color: #13261f;
}

.lg-banquet-extras input {
	width: 18px;
	height: 18px;
	margin: 0;
	flex: none;
	accent-color: #0d3a2e;
}

@media (max-width: 640px) {
	.lg-banquet-page.lg-page { padding: 28px 12px 56px; }
	.lg-banquet-sheet { border-radius: 8px; box-shadow: 0 0 0 4px #0d3a2e, 0 0 0 6px #e9a62a; }
	.lg-banquet-book { width: min(100%, 640px); box-sizing: border-box; }
}

@keyframes lgTwinkle { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
@keyframes lgTurn { to { transform: rotate(360deg); } }
@keyframes lgFade { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes ckDraw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes ckUp { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes ckRight { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes ckPop { 0% { transform: scale(0); } 70% { transform: scale(1.25); } 100% { transform: scale(1); } }
@keyframes ckGlint { from { transform: translateX(0) skewX(-20deg); } to { transform: translateX(320px) skewX(-20deg); } }
@keyframes ckStamp { 0% { opacity: 0; transform: translateY(-30px) scale(1.7); } 100% { opacity: 1; transform: none; } }
@keyframes ckFadeUp { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes ckTilt { 0% { transform: rotate(0); } 30% { transform: rotate(-8deg); } 100% { transform: rotate(58deg); } }
@keyframes ckRise { from { transform: translateY(108%); } to { transform: translateY(0); } }
@keyframes ckExit { from { transform: translateY(0); } to { transform: translateY(-118%); } }
@keyframes ckWave { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes ckHide { to { opacity: 0; visibility: hidden; } }
@keyframes ckSteam { 0% { transform: translateY(0) scale(.6); opacity: 0; } 30% { opacity: .6; } 100% { transform: translateY(-90px) scale(1.8); opacity: 0; } }
@keyframes ckBubble { 0% { transform: translateY(0); opacity: 0; } 20% { opacity: .7; } 100% { transform: translateY(-220px); opacity: 0; } }
@keyframes ckSpin { to { transform: rotate(360deg); } }
@keyframes ckRipple { 0% { transform: scale(.15); opacity: .9; } 100% { transform: scale(3.2); opacity: 0; } }
@keyframes ckRays { 0% { transform: scale(0) rotate(-40deg); opacity: 0; } 100% { transform: scale(1) rotate(0); opacity: 1; } }
@keyframes ckPlaque { 0% { transform: translateY(40px) scale(.2) rotate(-12deg); opacity: 0; } 100% { transform: none; opacity: 1; } }
@keyframes ckSheen { from { transform: translateX(-140%) skewX(-20deg); } to { transform: translateX(420%) skewX(-20deg); } }
@keyframes ckTwinkle { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
@keyframes ckShow { from { opacity: 0; } to { opacity: 1; } }

@media (max-width: 720px) {
	.lg-basket {
		position: static !important;
		max-width: none !important;
		flex-basis: 100% !important;
	}
}

.lg-page.lg-wc { max-width: 980px; }

.lg-card-price {
	font-family: Gloock, serif;
	font-size: 22px;
	color: #c8372d;
	line-height: 1.2;
}

.lg-home-dish,
.lg-dish {
	height: 100%;
}
.lg-home-dish .lg-dish-name,
.lg-dish .lg-dish-name {
	min-height: 2.4em;
}
.lg-card-desc {
	flex: 1 1 auto;
	min-height: 4.5em;
}
.lg-card-buy {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: auto;
}

.lg-serve-select,
.lg-qty {
	width: 100%;
	box-sizing: border-box;
	background: #fff;
	color: #13261f;
	border: 1.5px solid rgba(13, 58, 46, .28);
	border-radius: 10px;
	padding: 12px;
	font: inherit;
	font-size: 15px;
}

.lg-qty-row {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 12px;
	font-size: 14px;
	font-weight: 600;
	color: #13261f;
}

.lg-qty-row .lg-qty {
	width: 64px;
	max-width: 64px;
	min-width: 0;
	flex: 0 0 64px;
	padding: 8px 2px 8px 6px;
	text-align: center;
}

.lg-add-cart {
	all: unset;
	box-sizing: border-box;
	cursor: pointer;
	text-align: center;
	background: #0d3a2e;
	color: #f7efe0;
	font-weight: 700;
	font-size: 16px;
	padding: 13px 16px;
	border-radius: 10px;
}

.lg-serve-error {
	margin: 0;
	color: #c8372d;
	font-size: 13px;
	font-weight: 600;
}

.lg-checkout-logo {
	display: block;
	width: 180px;
	margin: 0 auto 28px;
	line-height: 0;
}

.lg-checkout-logo img {
	width: 100%;
	height: auto;
	display: block;
}

.lg-wc .woocommerce-form-coupon-toggle {
	text-align: center;
	margin: -8px 0 24px;
}
.lg-wc .woocommerce-form-coupon-toggle .woocommerce-info {
	display: block;
	text-align: center;
	margin: 0 !important;
	padding: 0 !important;
}

.lg-wc .woocommerce-message,
.lg-wc .woocommerce-info,
.lg-wc .woocommerce-error,
.lg-wc .woocommerce-NoticeGroup {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: #13261f;
	padding: 0 0 8px !important;
	margin: 0 0 16px !important;
}
.lg-wc .woocommerce-message::before,
.lg-wc .woocommerce-info::before,
.lg-wc .woocommerce-error::before {
	display: none !important;
}
.lg-wc form.checkout_coupon,
.lg-wc #payment,
.lg-wc #payment .payment_box {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* Keep gateway card iframes usable so Place order can tokenize and charge here. */
.lg-wc #payment iframe,
.lg-wc #payment .sq-card-wrapper,
.lg-wc #payment .StripeElement,
.lg-wc #payment .wc-stripe-elements-field,
.lg-wc #payment [id*="card-"],
.lg-wc #payment [class*="InputElement"] {
	min-height: 40px;
}

.lg-wc .woocommerce-order {
	max-width: 640px;
	margin: 0 auto;
	text-align: center;
	padding: 12px 0 40px;
}
.lg-wc .woocommerce-order .woocommerce-notice--success,
.lg-wc .woocommerce-order .woocommerce-thankyou-order-received {
	font-family: Gloock, serif;
	font-size: clamp(28px, 4vw, 40px);
	font-weight: 400;
	color: #0d3a2e;
	line-height: 1.25;
	margin: 0 0 18px;
}
.lg-wc .woocommerce-order ul.order_details {
	display: grid;
	gap: 10px;
	padding: 20px;
	margin: 24px 0;
	list-style: none;
	background: #fff;
	border-radius: 16px;
	border: 1px solid rgba(13, 58, 46, .12);
	text-align: left;
}
.lg-wc .woocommerce-order ul.order_details li {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 15px;
	color: #55665e;
}
.lg-wc .woocommerce-order ul.order_details li strong {
	display: block;
	color: #0d3a2e;
	font-size: 17px;
	margin-top: 2px;
}
.lg-wc .woocommerce-checkout .col2-set,
.lg-wc .woocommerce-checkout .col2-set .col-1,
.lg-wc .woocommerce-checkout .col2-set .col-2 {
	width: 100%;
	float: none;
	margin: 0;
}
.lg-wc .woocommerce form .form-row {
	box-sizing: border-box;
	margin: 0 0 16px;
	padding: 0;
}
.lg-wc .woocommerce form .form-row-first {
	width: 48%;
	float: left;
	clear: left;
	margin-right: 0;
}
.lg-wc .woocommerce form .form-row-last {
	width: 48%;
	float: right;
	clear: none;
}
.lg-wc .woocommerce form .form-row-wide {
	width: 100%;
	float: none;
	clear: both;
}
.lg-wc .woocommerce-billing-fields__field-wrapper::after,
.lg-wc .woocommerce-additional-fields__field-wrapper::after {
	content: "";
	display: table;
	clear: both;
}

.lg-wc a.button,
.lg-wc button.button,
.lg-wc input.button,
.lg-wc #place_order,
.lg-wc .checkout-button {
	background: #c8372d !important;
	color: #f7efe0 !important;
	border: 0;
	border-radius: 999px;
	font-family: Figtree, system-ui, sans-serif;
	font-weight: 700;
	padding: 14px 22px;
	cursor: pointer;
}

.lg-wc #lg_order_date_field { clear: both; }
.lg-wc #lg_order_hour_field,
.lg-wc #lg_order_minute_field,
.lg-wc #lg_order_ampm_field {
	width: 32%;
	float: left;
	clear: none;
	margin-right: 2%;
}
.lg-wc #lg_order_ampm_field { margin-right: 0; }
.lg-wc .woocommerce form .form-row input[type="number"] {
	width: 100%;
}
.lg-wc .woocommerce form .form-row input.input-text,
.lg-wc .woocommerce form .form-row textarea,
.lg-wc .woocommerce form .form-row select {
	width: 100%;
	box-sizing: border-box;
	background: #fff;
	color: #13261f;
	border: 1.5px solid rgba(13, 58, 46, .35);
	border-radius: 10px;
	padding: 12px 14px;
	font-family: Figtree, system-ui, sans-serif;
}

.lg-wc .woocommerce table.shop_table {
	border: 0;
	border-radius: 12px;
	background: #fff;
}

.lg-wc .woocommerce-checkout h3,
.lg-wc .cart_totals h2,
.lg-wc .woocommerce-billing-fields h3 {
	font-family: Gloock, serif;
	font-weight: 400;
	color: #0d3a2e;
}

.lg-wc #billing_postcode_field,
.lg-wc .woocommerce-billing-fields #billing_postcode_field {
	display: none !important;
}

.lg-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.lg-header-bar {
	max-width: 1320px;
	margin: 0 auto;
	padding: 12px 28px;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 28px;
}

.lg-header-start { justify-self: start; min-width: 0; }

.lg-header-end {
	justify-self: end;
	display: flex;
	align-items: center;
	gap: 16px;
	min-width: 0;
}

.lg-header-actions {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
}

.lg-header-col {
	display: flex;
	align-items: center;
	min-width: 0;
}

.lg-header-col-pickup {
	flex: 0 0 auto;
}

.lg-header-cart {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #0d3a2e;
	color: #f7efe0;
	text-decoration: none;
	flex: 0 0 auto;
	box-shadow: 0 0 0 2px #f7efe0, 0 0 0 4px #e9a62a;
}
.lg-header-cart:hover {
	background: #145443;
	color: #f7efe0;
}
.lg-header-cart-count {
	position: absolute;
	top: -4px;
	right: -4px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 999px;
	background: #c8372d;
	color: #f7efe0;
	font-size: 11px;
	font-weight: 800;
	line-height: 18px;
	text-align: center;
	display: none;
}
.lg-header-cart.has-items .lg-header-cart-count {
	display: inline-block;
}
.lg-header-cart.is-pulse {
	animation: lgCartPulse .45s ease;
}
@keyframes lgCartPulse {
	0% { transform: scale(1); }
	40% { transform: scale(1.12); }
	100% { transform: scale(1); }
}

.lg-header-col-partners {
	flex: 0 0 auto;
}

.lg-btn-order {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	text-decoration: none;
	flex: 0 0 auto;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
}

.lg-btn-order-header {
	padding: 8px 16px !important;
	box-shadow: 0 0 0 1px #f7efe0, 0 0 0 3px #e9a62a !important;
}

.lg-order-apps {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 0 0 auto;
}

.lg-partners {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	min-width: 0;
}

.lg-partners-label {
	color: #0d3a2e;
	font-weight: 600;
	font-size: 11px;
	letter-spacing: .01em;
	white-space: nowrap;
	line-height: 1.2;
}

.lg-app {
	width: 36px;
	height: 36px;
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	overflow: hidden;
	background: transparent;
	box-shadow: none;
	transition: transform .15s ease;
}

.lg-app img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.lg-app:hover { transform: translateY(-1px); }

.lg-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	justify-self: center;
	gap: 22px;
	flex-wrap: nowrap;
	font-weight: 600;
	font-size: 15px;
	min-width: 0;
}

.lg-nav-actions {
	display: none;
}

.lg-header-points {
	align-self: center;
}

.lg-header .lg-account,
.lg-header .lgr-points-pill,
#lg-nav .lgr-points-pill,
#lg-nav [data-lgr-points-pill],
[data-lgr-points-pill] {
	display: none !important;
}

.lgr-points-pill:not([hidden]) {
	display: none !important;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 6px 12px;
	border-radius: 999px;
	background: #0d3a2e;
	color: #f7efe0 !important;
	font-weight: 700;
	font-size: 13px;
	white-space: nowrap;
	text-decoration: none;
}

.lg-account {
	position: relative;
	flex: 0 0 auto;
}

.lg-account-btn,
.lg-account-login {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 6px 12px 6px 6px;
	border: 1.5px solid rgba(13, 58, 46, .28);
	border-radius: 999px;
	background: #fff;
	color: #13261f;
	font: inherit;
	font-weight: 600;
	font-size: 14px;
	cursor: pointer;
	text-decoration: none;
}

.lg-account-btn:hover,
.lg-account-login:hover {
	border-color: #0d3a2e;
	background: #fffdf7;
	color: #0d3a2e;
}

.lg-account-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #0d3a2e;
	color: #f7efe0;
	font-weight: 700;
	font-size: 14px;
	flex: none;
}

.lg-account-avatar--guest {
	background: #efe3cc;
	color: #0d3a2e;
}

.lg-account-meta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	line-height: 1.15;
	min-width: 0;
}

.lg-account-name {
	max-width: 110px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lg-account-pts {
	font-size: 12px;
	font-weight: 700;
	color: #c8372d;
}

.lg-account-caret {
	width: 0;
	height: 0;
	margin-left: 2px;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 6px solid #0d3a2e;
	flex: none;
}

.lg-account.is-open .lg-account-caret {
	transform: rotate(180deg);
}

.lg-account-menu {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	z-index: 40;
	min-width: 200px;
	padding: 8px;
	border-radius: 14px;
	background: #fff;
	border: 1.5px solid rgba(13, 58, 46, .16);
	box-shadow: 0 12px 28px rgba(13, 58, 46, .16);
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.lg-account-menu[hidden] {
	display: none !important;
}

.lg-account-menu a {
	display: block;
	padding: 10px 12px;
	border-radius: 10px;
	color: #13261f;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
}

.lg-account-menu a:hover {
	background: #f7efe0;
	color: #0d3a2e;
}

.lg-account-logout {
	margin-top: 4px;
	border-top: 1px solid rgba(13, 58, 46, .1);
	color: #c8372d !important;
}

.lg-checkout-commerce {
	display: grid;
	gap: 12px;
	margin: 0 0 14px;
}
.lg-checkout-commerce .lggc-redeem-widget + .lgr-cart-widget {
	margin-top: 0;
}
.lgr-basket-rewards .lggc-redeem-widget,
.lgr-basket-rewards .lgr-cart-widget {
	margin: 0;
}
.lgr-basket-rewards {
	display: grid;
	gap: 12px;
}
.lgr-basket-rewards .lgr-cart-widget {
	margin: 0;
	padding: 12px 14px;
	border-radius: 12px;
	background: #fffdf7;
	border: 1.5px solid rgba(13, 58, 46, .15);
	font-size: 14px;
	color: #13261f;
}

.lgr-basket-rewards .lgr-redeem-switch {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-weight: 600;
	cursor: pointer;
}

.lgr-basket-rewards .lgr-redeem-slider-wrap {
	margin-top: 10px;
	display: grid;
	gap: 6px;
}

.lgr-basket-rewards .lgr-redeem-preview,
.lgr-basket-rewards .lgr-earn-line,
.lgr-basket-rewards .lgr-redeem-min-note,
.lgr-basket-rewards .lgr-guest-banner {
	margin: 0;
	line-height: 1.4;
}

.lgr-basket-rewards .lgr-guest-banner a {
	color: #c8372d;
	font-weight: 700;
}

.lg-nav-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	margin-left: 0;
	padding: 0;
	border: 1.5px solid #0d3a2e;
	border-radius: 12px;
	background: transparent;
	cursor: pointer;
}

.lg-nav-toggle-lines,
.lg-nav-toggle-lines::before,
.lg-nav-toggle-lines::after {
	display: block;
	width: 18px;
	height: 2px;
	background: #0d3a2e;
	border-radius: 2px;
	position: relative;
}

.lg-nav-toggle-lines::before,
.lg-nav-toggle-lines::after {
	content: "";
	position: absolute;
	left: 0;
}

.lg-nav-toggle-lines::before { top: -6px; }
.lg-nav-toggle-lines::after { top: 6px; }

.lg-order-bar { top: var(--lg-header, 84px); }

.lg-order-bar-inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 12px 24px;
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: nowrap;
}

.lg-order-cats {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
	align-content: center;
	align-items: center;
	gap: 6px;
	min-width: 0;
}

.lg-order-bar .lg-cat {
	padding: 6px 11px;
	font-size: 13px;
	line-height: 1.2;
}

.lg-order-search {
	flex: 0 0 210px;
	width: 210px;
	margin-left: auto;
	box-sizing: border-box;
	color: #13261f;
	color-scheme: light;
	font: inherit;
	font-size: 15px;
	padding: 10px 14px;
	border-radius: 999px;
	border: 1.5px solid rgba(13, 58, 46, .3);
	background: #fff;
	outline: none;
}

.lg-all-cats {
	display: none;
}

.lg-cat-drawer[hidden] { display: none !important; }

.lg-cat-drawer {
	position: fixed;
	inset: 0;
	z-index: 80;
}

.lg-cat-drawer-backdrop {
	position: absolute;
	inset: 0;
	border: 0;
	background: rgba(19, 38, 31, .45);
	cursor: pointer;
}

.lg-cat-drawer-panel {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: min(88vw, 360px);
	padding: 18px 16px 28px;
	background: #f4f1ea;
	overflow-y: auto;
	box-shadow: 16px 0 40px rgba(13, 58, 46, .18);
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.lg-cat-drawer-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.lg-cat-drawer-top h2 {
	margin: 0;
	font-family: Gloock, serif;
	font-weight: 400;
	font-size: 28px;
	color: #0d3a2e;
}

.lg-cat-drawer-close {
	all: unset;
	cursor: pointer;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 28px;
	line-height: 1;
	color: #13261f;
}

.lg-cat-card {
	background: #fff;
	border-radius: 18px;
	padding: 16px;
	box-shadow: 0 0 0 1px rgba(13, 58, 46, .06);
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.lg-cat-kicker {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #7b8a83;
}

.lg-cat-drawer-search-wrap {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 0 12px;
	border: 1.5px solid rgba(13, 58, 46, .16);
	border-radius: 12px;
	background: #fff;
	color: #55665e;
}

.lg-cat-drawer-search {
	flex: 1;
	min-width: 0;
	border: 0;
	outline: none;
	background: transparent;
	font: inherit;
	font-size: 16px;
	padding: 12px 0;
	color: #13261f;
}

.lg-cat-drawer-item {
	all: unset;
	box-sizing: border-box;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 14px;
	border-radius: 12px;
	font-weight: 700;
	font-size: 16px;
	color: #1c2b33;
}

.lg-cat-drawer-item.is-on {
	background: #c9a15b;
	color: #fff;
}

.lg-cat-count {
	min-width: 28px;
	padding: 2px 8px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .28);
	text-align: center;
	font-size: 13px;
}

.lg-cat-drawer-item:not(.is-on) .lg-cat-count {
	background: transparent;
	color: #8b97a1;
	font-weight: 600;
}

.lg-cat-price {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 10px;
	align-items: center;
}

.lg-cat-price input {
	width: 100%;
	box-sizing: border-box;
	font: inherit;
	font-size: 16px;
	padding: 12px;
	border-radius: 12px;
	border: 1.5px solid rgba(13, 58, 46, .16);
	background: #fff;
	color: #13261f;
	outline: none;
}

.lg-cat-price-apply {
	all: unset;
	cursor: pointer;
	margin-top: 6px;
	text-align: center;
	background: #c9a15b;
	color: #fff;
	font-weight: 700;
	font-size: 16px;
	padding: 13px;
	border-radius: 12px;
}

body.lg-cat-drawer-open { overflow: hidden; }

@media (max-width: 1180px) and (min-width: 981px) {
	.lg-order-search {
		flex-basis: 190px;
		width: 190px;
	}
	.lg-order-bar .lg-cat {
		padding: 5px 8px;
		font-size: 12px;
	}
}

.lg-dish-name { min-width: 0; overflow-wrap: anywhere; }

.lg-contact-link { min-width: 0; overflow-wrap: anywhere; }

.lg-story-photos {
	min-height: 0 !important;
	aspect-ratio: 1 / 1;
}

@media (max-width: 1280px) {
	.lg-header-bar { column-gap: 18px; padding-left: 18px; padding-right: 18px; }
	.lg-nav { gap: 14px; font-size: 14px; }
	.lg-header-actions { gap: 12px; }
	.lg-order-apps { gap: 6px; }
	.lg-app { width: 34px; height: 34px; }
	.lg-partners-label { font-size: 10px; }
}

@media (max-width: 1180px) {
	.lg-header-actions {
		flex-wrap: wrap;
		justify-content: flex-end;
		row-gap: 8px;
	}
}

@media (max-width: 1100px) {
	.lg-story { flex-direction: column !important; align-items: stretch !important; }
	.lg-story-photos,
	.lg-story-copy { flex: 1 1 auto !important; width: 100% !important; }
	.lg-story-photos { max-width: 560px; align-self: center; }
}

@media (max-width: 980px) {
	.lg-header-bar {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		row-gap: 10px;
		column-gap: 16px;
		padding-left: 16px;
		padding-right: 16px;
	}
	.lg-header-start { order: 1; flex: 1 1 auto; }
	.lg-header-end {
		order: 2;
		display: flex;
		margin-left: auto;
	}
	.lg-header-actions { display: none; }
	.lg-nav-toggle {
		display: inline-flex !important;
		margin-left: 0;
	}
	.lg-nav {
		display: none;
		order: 3;
		flex: 1 1 100%;
		flex-direction: column;
		align-items: center;
		justify-self: stretch;
		gap: 4px;
		padding: 8px 0 12px;
	}
	.lg-nav.is-open { display: flex; }
	.lg-nav > .lg-navlink { padding: 12px 0; }
	.lg-nav-actions {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 14px;
		width: 100%;
		margin-top: 10px;
		padding-top: 16px;
		border-top: 1px solid rgba(13, 58, 46, .12);
	}
	.lg-header-col-account,
	.lg-header-points {
		display: none;
	}
	.lg-nav-actions .lg-account {
		width: min(100%, 280px);
	}
	.lg-nav-actions .lg-account-btn,
	.lg-nav-actions .lg-account-login {
		width: 100%;
		justify-content: flex-start;
	}
	.lg-nav-actions .lg-account-menu {
		left: 0;
		right: 0;
		width: 100%;
	}
	.lg-nav-actions .lg-btn-order-header {
		padding: 10px 22px !important;
		font-size: 14px;
	}
	.lg-nav-actions .lg-partners {
		align-items: center;
		gap: 6px;
	}
	.lg-nav-actions .lg-partners-label {
		font-size: 11px;
	}
	.lg-nav-actions .lg-app {
		width: 40px;
		height: 40px;
	}
	.lg-logo { width: 128px !important; }
	.lg-eyebrow { letter-spacing: .08em !important; flex-wrap: wrap; }
	.lg-rosette-l,
	.lg-rosette-r {
		width: 52px !important;
		height: 52px !important;
	}
	.lg-rosette-l { left: 4px !important; }
	.lg-rosette-r { right: 4px !important; }
	.lg-basket {
		min-width: 0 !important;
		width: 100% !important;
	}
	.lg-basket-scroll { max-height: none !important; }
}

@media (max-width: 720px) {
	.lg-basket {
		position: static !important;
		max-width: none !important;
		min-width: 0 !important;
		flex-basis: 100% !important;
		width: 100% !important;
	}
}

@media (max-width: 782px) {
	.lg-page { padding: 40px 16px 72px; }
	.lg-wc .woocommerce table.shop_table,
	.lg-wc .woocommerce-checkout-review-order-table {
		display: block;
		width: 100%;
		overflow-x: auto;
	}
	.lg-wc .woocommerce form .form-row-first,
	.lg-wc .woocommerce form .form-row-last,
	.lg-wc .woocommerce .col2-set .col-1,
	.lg-wc .woocommerce .col2-set .col-2,
	.lg-wc #lg_order_hour_field,
	.lg-wc #lg_order_minute_field,
	.lg-wc #lg_order_ampm_field {
		width: 100%;
		float: none;
		margin-right: 0;
	}
}

.lg-footer {
	background: #f7efe0;
	color: #13261f;
	border-top: 1px solid rgba(13, 58, 46, .12);
}
.lg-footer-stripe {
	height: 8px;
	background: repeating-linear-gradient(135deg, #c8372d 0 8px, #e9a62a 8px 16px, #1d4f91 16px 24px, #e9a62a 24px 32px, #0d3a2e 32px 40px);
	box-shadow: inset 0 3px 0 rgba(255, 255, 255, .35);
}
.lg-footer-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 64px 24px 36px;
	display: grid;
	grid-template-columns: 1.4fr repeat(3, minmax(140px, 1fr));
	gap: 40px 32px;
	align-items: start;
}
.lg-footer-brand img {
	width: 210px;
	height: auto;
	display: block;
}
.lg-footer-brand p {
	margin: 16px 0 0;
	max-width: 240px;
	font-size: 15px;
	line-height: 1.6;
	color: #55665e;
}
.lg-footer-col {
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 15px;
	line-height: 1.5;
	color: #13261f;
}
.lg-footer-col b {
	font-family: Gloock, serif;
	font-weight: 400;
	font-size: 22px;
	color: #0d3a2e;
	margin-bottom: 6px;
}
.lg-footer-col a {
	color: #0d3a2e;
	width: fit-content;
}
.lg-footer-col a:hover { color: #c8372d; }
.lg-footer-base {
	max-width: 1200px;
	margin: 0 auto;
	padding: 18px 24px 28px;
	border-top: 2px dotted #e9a62a;
	text-align: center;
	font-size: 13px;
	letter-spacing: .08em;
	color: #55665e;
}

@media (max-width: 860px) {
	.lg-footer-inner {
		grid-template-columns: 1fr 1fr;
		padding-top: 40px;
	}
	.lg-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
	.lg-footer-inner { grid-template-columns: 1fr; }
}

.toastify.lg-toast {
	display: flex !important;
	align-items: center;
	gap: 12px;
	background: #fffdf8 !important;
	color: #13261f !important;
	border: 0 !important;
	border-radius: 18px !important;
	box-shadow: 0 22px 50px -28px rgba(13, 58, 46, .65), 0 0 0 1px rgba(13, 58, 46, .08) !important;
	padding: 16px 42px 16px 16px !important;
	font-family: Figtree, system-ui, sans-serif !important;
	font-size: 15px !important;
	font-weight: 600;
	line-height: 1.4;
	min-width: min(320px, calc(100vw - 32px));
	max-width: min(380px, calc(100vw - 32px));
}
.toastify.lg-toast::before {
	content: "";
	width: 10px;
	height: 10px;
	flex: none;
	background: #0d3a2e;
	transform: rotate(45deg);
	box-shadow: 0 0 0 3px rgba(233, 166, 42, .45);
}
.toastify.lg-toast-error::before { background: #c8372d; }
.toastify.lg-toast .toast-close {
	color: #0d3a2e;
	opacity: .55;
	font-size: 16px;
	padding: 0 12px;
}
.toastify.lg-toast .toast-close:hover { opacity: 1; }
.toastify.lg-toast .toast-progress {
	background: #e9a62a;
	height: 3px;
	opacity: 1;
	border-radius: 0 0 18px 18px;
}
.toastify.lg-toast-error .toast-progress { background: #c8372d; }

.lg-home-gallery {
	background:
		radial-gradient(ellipse at 80% 0%, rgba(233, 166, 42, .14), transparent 42%),
		#0d3a2e;
	padding: 90px 24px;
	color: #f7efe0;
}
.lg-home-gallery-inner {
	max-width: 1200px;
	margin: 0 auto;
}
.lg-home-gallery-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 40px;
}
.lg-home-gallery-head .lg-home-blog-kicker { color: #e9a62a; }
.lg-home-gallery-head h2 {
	margin: 10px 0 8px;
	font-family: Gloock, serif;
	font-weight: 400;
	font-size: clamp(36px, 4.5vw, 54px);
	line-height: 1.05;
	color: #f7efe0;
}
.lg-home-gallery-head p {
	margin: 0;
	max-width: 460px;
	font-size: 17px;
	line-height: 1.6;
	color: #cfe0d6;
}
.lg-home-gallery-head .lg-btn-plan {
	background: #e9a62a;
	color: #13261f;
}
.lg-home-gallery-head .lg-btn-plan:hover {
	background: #c8372d;
	color: #f7efe0;
}
.lg-home-gallery-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}
.lg-home-gallery-tile {
	position: relative;
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	margin: 0;
	overflow: hidden;
	border-radius: 16px;
	aspect-ratio: 4 / 5;
	background: #0b2f25;
	box-shadow: 0 0 0 1px rgba(247, 239, 224, .12);
	cursor: zoom-in;
	text-align: left;
	font: inherit;
	color: inherit;
}
.lg-home-gallery-tile.is-video {
	cursor: pointer;
}
.lg-home-gallery-tile:nth-child(1),
.lg-home-gallery-tile:nth-child(6) {
	grid-column: span 2;
	aspect-ratio: 16 / 10;
}
.lg-home-gallery-tile img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .45s ease;
}
.lg-home-gallery-tile:hover img,
.lg-home-gallery-tile:focus-visible img {
	transform: scale(1.04);
}
.lg-home-gallery-tile:focus-visible {
	outline: 2px solid #e9a62a;
	outline-offset: 3px;
}
.lg-home-gallery-tile .lg-gallery-play {
	width: 56px;
	height: 56px;
}
.lg-home-gallery-tile .lg-gallery-label {
	font-size: 20px;
}

.lg-home-blog {
	background: #f7efe0;
	padding: 90px 24px;
}
.lg-home-blog-inner {
	max-width: 1200px;
	margin: 0 auto;
}
.lg-home-blog-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 40px;
}
.lg-home-blog-kicker,
.lg-blog-kicker {
	color: #c8372d;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .18em;
}
.lg-home-blog-head h2 {
	margin: 10px 0 8px;
	font-family: Gloock, serif;
	font-weight: 400;
	font-size: clamp(36px, 4.5vw, 54px);
	line-height: 1.05;
	color: #0d3a2e;
}
.lg-home-blog-head p,
.lg-home-blog-empty {
	margin: 0;
	max-width: 460px;
	font-size: 17px;
	line-height: 1.6;
	color: #55665e;
}
.lg-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}
.lg-blog-card {
	background: #fffaf1;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 0 0 1px rgba(13, 58, 46, .08);
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.lg-blog-card-media {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #0d3a2e;
}
.lg-blog-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .45s ease;
}
.lg-blog-card:hover .lg-blog-card-media img { transform: scale(1.04); }
.lg-blog-card-body {
	padding: 22px 22px 26px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}
.lg-blog-card-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	color: #c8372d;
	text-transform: uppercase;
}
.lg-blog-card-title {
	margin: 0;
	font-family: Gloock, serif;
	font-weight: 400;
	font-size: 26px;
	line-height: 1.2;
	color: #0d3a2e;
}
.lg-blog-card-title a { color: inherit; }
.lg-blog-card-title a:hover { color: #c8372d; }
.lg-blog-card-excerpt {
	margin: 0;
	font-size: 16px;
	line-height: 1.55;
	color: #55665e;
}
.lg-blog-card-more {
	margin-top: auto;
	padding-top: 8px;
	font-weight: 700;
	color: #c8372d;
	border-bottom: 2px solid #e9a62a;
	align-self: flex-start;
}
.lg-page.lg-blog-page { max-width: 1120px; }
.lg-page.lg-blog-single { max-width: 800px; }
.lg-blog-hero { margin-bottom: 40px; }
.lg-blog-hero h1 { margin-bottom: 10px; }

.lg-page.lg-gallery-page {
	max-width: 1180px;
	background:
		radial-gradient(ellipse at 12% 0%, rgba(233, 166, 42, .16), transparent 38%),
		radial-gradient(ellipse at 88% 8%, rgba(200, 55, 45, .08), transparent 36%),
		#f7efe0;
}
.lg-gallery-hero { margin-bottom: 28px; }
.lg-gallery-hero h1 { margin-bottom: 10px; }
.lg-gallery-hero p { margin: 0; max-width: 36rem; }
.lg-gallery-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 28px;
}
.lg-gallery-filter {
	appearance: none;
	border: 1.5px solid rgba(13, 58, 46, .22);
	background: #fffaf1;
	color: #13261f;
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .04em;
	padding: 10px 16px;
	border-radius: 999px;
	cursor: pointer;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.lg-gallery-filter:hover { border-color: #0d3a2e; }
.lg-gallery-filter.is-active {
	background: #0d3a2e;
	border-color: #0d3a2e;
	color: #f7efe0;
}
.lg-gallery-filter:focus-visible {
	outline: 2px solid #e9a62a;
	outline-offset: 2px;
}
.lg-gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	align-items: center;
	justify-items: stretch;
}
.lg-gallery-tile {
	position: relative;
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	margin: 0;
	background: #0d3a2e;
	border-radius: 18px;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	cursor: zoom-in;
	box-shadow: 0 0 0 1px rgba(13, 58, 46, .1);
	text-align: left;
}
/* Landscape tiles sit in the center column of each 3-up row. */
.lg-gallery-tile:nth-child(3n + 2) {
	aspect-ratio: 5 / 4;
}
.lg-gallery-tile img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .5s ease;
}
.lg-gallery-tile:hover img,
.lg-gallery-tile:focus-visible img {
	transform: scale(1.05);
}
.lg-gallery-tile:focus-visible {
	outline: 2px solid #e9a62a;
	outline-offset: 3px;
}
.lg-gallery-play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 64px;
	height: 64px;
	border-radius: 999px;
	background: rgba(200, 55, 45, .92);
	color: #f7efe0;
	display: grid;
	place-items: center;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .28);
	pointer-events: none;
	z-index: 1;
	transition: transform .25s ease, background .2s ease;
}
.lg-gallery-tile.is-video:hover .lg-gallery-play,
.lg-gallery-tile.is-video:focus-visible .lg-gallery-play {
	transform: translate(-50%, -50%) scale(1.06);
	background: #0d3a2e;
}
.lg-gallery-play svg { margin-left: 3px; }
.lg-gallery-caption {
	position: absolute;
	inset: auto 0 0;
	padding: 48px 16px 16px;
	background: linear-gradient(transparent, rgba(13, 58, 46, .88));
	color: #f7efe0;
	display: flex;
	flex-direction: column;
	gap: 4px;
	pointer-events: none;
}
.lg-gallery-tag {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #e9a62a;
}
.lg-gallery-label {
	font-family: Gloock, serif;
	font-size: 22px;
	line-height: 1.15;
}
.lg-gallery-page .lg-gallery-cta {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin-top: 40px;
	text-align: center;
}
.lg-gallery-page a.lg-gallery-banquet-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 240px;
	padding: 14px 28px;
	font-weight: 700;
	font-size: 17px;
	line-height: 1.2;
	text-decoration: none;
	color: #0d3a2e !important;
	background: #fffaf1;
	border: 2px solid #0d3a2e;
	border-radius: 999px;
	box-shadow: 0 0 0 3px #e9a62a;
	transition: background .2s ease, color .2s ease;
}
.lg-gallery-page a.lg-gallery-banquet-btn:hover,
.lg-gallery-page a.lg-gallery-banquet-btn:focus-visible {
	background: #0d3a2e;
	color: #f7efe0 !important;
	text-decoration: none;
}
.lg-gallery-lightbox {
	position: fixed;
	inset: 0;
	width: min(92vw, 980px);
	max-width: calc(100vw - 24px);
	max-height: min(90dvh, 900px);
	height: fit-content;
	margin: auto;
	border: 0;
	padding: 28px 18px 18px;
	background: transparent;
	color: #f7efe0;
	z-index: 10050;
	overflow: visible;
}
.lg-gallery-lightbox[open] {
	display: block;
}
.lg-gallery-lightbox::backdrop {
	background: rgba(9, 28, 22, .88);
}
.lg-gallery-figure {
	margin: 0;
	background: #0d3a2e;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 0 0 5px #0d3a2e, 0 0 0 8px #e9a62a;
	max-height: min(82dvh, 820px);
	display: flex;
	flex-direction: column;
}
.lg-gallery-figure img,
.lg-gallery-figure video {
	display: block;
	width: 100%;
	max-height: min(68dvh, 640px);
	object-fit: contain;
	background: #111;
	flex: 0 1 auto;
}
.lg-gallery-figure video {
	aspect-ratio: 16 / 9;
	max-height: min(68dvh, 640px);
	object-fit: contain;
}
.lg-gallery-figure figcaption {
	padding: 14px 18px 16px;
	font-family: Gloock, serif;
	font-size: clamp(16px, 4vw, 22px);
	background: #0d3a2e;
	flex: none;
}
.lg-gallery-close,
.lg-gallery-nav {
	appearance: none;
	border: 0;
	background: #c8372d;
	color: #f7efe0;
	cursor: pointer;
	font: inherit;
	line-height: 1;
}
.lg-gallery-close {
	position: absolute;
	top: 0;
	right: 0;
	width: 42px;
	height: 42px;
	border-radius: 999px;
	font-size: 28px;
	z-index: 2;
	box-shadow: 0 4px 16px rgba(0, 0, 0, .25);
}
.lg-gallery-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	border-radius: 999px;
	font-size: 28px;
	z-index: 2;
}
.lg-gallery-prev { left: 0; }
.lg-gallery-next { right: 0; }
.lg-gallery-close:hover,
.lg-gallery-nav:hover { background: #0d3a2e; }
.lg-gallery-close:focus-visible,
.lg-gallery-nav:focus-visible {
	outline: 2px solid #e9a62a;
	outline-offset: 2px;
}
@media (max-width: 900px) {
	.lg-gallery-grid { grid-template-columns: 1fr 1fr; }
	.lg-gallery-tile,
	.lg-gallery-tile:nth-child(3n + 2) {
		aspect-ratio: 5 / 4;
	}
}
@media (max-width: 640px) {
	.lg-gallery-grid { grid-template-columns: 1fr; gap: 12px; }
	.lg-gallery-tile,
	.lg-gallery-tile:nth-child(3n + 2) {
		aspect-ratio: 5 / 4;
	}
	.lg-gallery-lightbox {
		width: calc(100vw - 16px);
		max-width: calc(100vw - 16px);
		padding: 36px 8px 12px;
	}
	.lg-gallery-figure img,
	.lg-gallery-figure video {
		max-height: min(58dvh, 480px);
	}
	.lg-gallery-prev { left: 4px; }
	.lg-gallery-next { right: 4px; }
	.lg-gallery-close { top: 0; right: 4px; }
}
.lg-blog-pages {
	margin-top: 48px;
}
.lg-blog-pages .page-numbers,
.lg-blog-pages .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.lg-blog-pages a,
.lg-blog-pages span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 14px;
	border-radius: 999px;
	background: #0d3a2e;
	color: #f7efe0;
	font-weight: 700;
}
.lg-blog-pages .current,
.lg-blog-pages span.page-numbers.current {
	background: #c8372d;
}
.lg-blog-crumb {
	font-weight: 700;
	font-size: 14px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #c8372d;
	margin: 0 0 12px;
}
.lg-blog-crumb a { color: inherit; }
.lg-article-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 28px;
	color: #55665e;
	font-weight: 600;
}
.lg-article-hero {
	margin: 0 0 32px;
	border-radius: 22px;
	overflow: hidden;
}
.lg-article-hero img {
	width: 100%;
	height: auto;
	display: block;
}
.lg-article-body {
	font-size: 18px;
	line-height: 1.75;
	color: #24362e;
}
.lg-article-body p { margin: 0 0 1.15em; }
.lg-article-body h2,
.lg-article-body h3 {
	font-family: Gloock, serif;
	font-weight: 400;
	color: #0d3a2e;
	margin: 1.4em 0 .5em;
}
.lg-article-body img {
	border-radius: 16px;
}
.lg-article-back {
	margin: 36px 0 0;
	font-weight: 700;
}
.lg-comments {
	margin-top: 56px;
	padding-top: 36px;
	border-top: 1px solid rgba(13, 58, 46, .12);
}
.lg-comments h2 {
	font-family: Gloock, serif;
	font-weight: 400;
	color: #0d3a2e;
	font-size: 32px;
	margin: 0 0 20px;
}
.lg-comment-list {
	list-style: none;
	margin: 0 0 36px;
	padding: 0;
}
.lg-comment-list .comment {
	padding: 18px 0;
	border-bottom: 1px solid rgba(13, 58, 46, .08);
}
.lg-comments .comment-form label {
	display: block;
	font-weight: 700;
	margin-bottom: 6px;
}
.lg-comments .comment-form input[type="text"],
.lg-comments .comment-form input[type="email"],
.lg-comments .comment-form input[type="url"],
.lg-comments .comment-form textarea {
	width: 100%;
	max-width: 520px;
	border: 1.5px solid rgba(13, 58, 46, .18);
	border-radius: 14px;
	padding: 12px 14px;
	font: inherit;
	background: #fffaf1;
}
.lg-comments .comment-form textarea { min-height: 140px; }
.lg-comments .form-submit { margin-top: 16px; }

@media (max-width: 900px) {
	.lg-home-gallery-grid { grid-template-columns: 1fr 1fr; }
	.lg-home-gallery-tile:nth-child(1),
	.lg-home-gallery-tile:nth-child(6) {
		grid-column: span 2;
	}
	.lg-blog-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
	.lg-home-gallery { padding: 64px 16px; }
	.lg-home-gallery-grid { grid-template-columns: 1fr 1fr; }
	.lg-home-gallery-tile:nth-child(1),
	.lg-home-gallery-tile:nth-child(6) {
		grid-column: span 2;
	}
	.lg-home-blog { padding: 64px 16px; }
	.lg-blog-grid { grid-template-columns: 1fr; }
}

/* Phone and small tablet: keep every page inside the screen. */
.lg-page article,
.lg-article-body,
.lg-page .entry-content {
	min-width: 0;
	overflow-wrap: anywhere;
}

.lg-article-body img,
.lg-article-body iframe,
.lg-article-body video,
.lg-page:not(.lg-wc) img,
.lg-page:not(.lg-wc) iframe,
.lg-page:not(.lg-wc) video {
	max-width: 100%;
	height: auto;
}

.lg-article-body table,
.lg-page:not(.lg-wc) table {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

@media (max-width: 980px) {
	.lg-order-bar {
		padding-left: env(safe-area-inset-left);
		padding-right: env(safe-area-inset-right);
	}
	.lg-order-bar-inner { display: none; }
	.lg-all-cats {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		width: min(100% - 32px, 420px);
		margin: 12px auto;
		padding: 12px 18px;
		border: 0;
		border-radius: 999px;
		background: #fff;
		color: #24323a;
		font: inherit;
		font-weight: 600;
		font-size: 16px;
		box-shadow: 0 1px 2px rgba(13, 58, 46, .08), 0 0 0 1px rgba(13, 58, 46, .06);
		cursor: pointer;
	}
	.lg-order-cats {
		display: flex !important;
		flex: 1 1 100% !important;
		flex-wrap: nowrap !important;
		align-items: center;
		gap: 8px;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		overflow-x: auto !important;
		overflow-y: hidden;
		overscroll-behavior-x: contain;
		-webkit-overflow-scrolling: touch;
		touch-action: pan-x;
		scrollbar-width: none;
		padding-bottom: 2px;
	}
	.lg-order-cats::-webkit-scrollbar { display: none; }
	.lg-order-cats .lg-cat {
		flex: 0 0 auto;
	}
	.lg-order-search {
		flex: 1 1 160px !important;
		min-width: 0 !important;
		width: auto !important;
		font-size: 16px !important;
	}
}

@media (max-width: 640px) {
	.lg-header {
		padding-left: env(safe-area-inset-left);
		padding-right: env(safe-area-inset-right);
	}
	.lg-order-bar-inner {
		align-items: stretch !important;
	}
	.lg-order-search {
		flex: 1 1 100% !important;
		width: 100% !important;
		min-width: 0 !important;
	}
	.lg-serve-select,
	.lg-qty,
	.lg-field,
	.lg-comments .comment-form input,
	.lg-comments .comment-form textarea {
		font-size: 16px;
	}
	#lg-review-text {
		min-height: 0 !important;
	}
	.lg-order-menu {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content {
		float: none;
		width: 100%;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		margin: 0 0 20px;
		padding: 0;
		list-style: none;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation li {
		margin: 0;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation a {
		display: inline-block;
		padding: 8px 12px;
		border-radius: 999px;
		background: #efe3cc;
	}
}

@media (max-width: 480px) {
	#top h1 {
		font-size: clamp(34px, 10vw, 44px) !important;
	}
	#menu,
	#events,
	#reviews,
	#contact,
	#story {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
	#story > div:first-child {
		margin-left: -16px !important;
		margin-right: -16px !important;
	}
	.lg-story {
		padding-top: 56px !important;
		padding-bottom: 56px !important;
	}
	.lg-page {
		padding-left: 16px;
		padding-right: 16px;
	}
	.lg-footer-inner,
	.lg-footer-base {
		padding-left: 16px;
		padding-right: 16px;
	}
}
