/**
 * Turnip & Thyme governed component layer.
 * Keep selectors semantic and page-independent where the component permits it.
 */

@media (max-width: 980px) {
	.tt-voucher-benefit-row {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
	}
}

a.et_pb_lightbox_image {
	cursor: zoom-in;
}

.tt-gallery-lightbox {
	width: min(94vw, var(--tt-inner-container, 1200px));
	max-width: none;
	max-height: 94vh;
	margin: auto;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--gcid-tt-white, #fff);
	overflow: visible;
}

.tt-gallery-lightbox::backdrop {
	background: rgba(3, 59, 43, 0.94);
	background: color-mix(in srgb, var(--gcid-tt-thyme-900, #033b2b) 94%, transparent);
	backdrop-filter: blur(3px);
}

.tt-gallery-lightbox__frame {
	position: relative;
	display: grid;
	place-items: center;
	gap: var(--gvid-bed11075-f09b-4e41-9383-f7a417e0230e, 12px);
	min-width: min(92vw, 320px);
}

.tt-gallery-lightbox__image {
	display: block;
	width: auto;
	max-width: 92vw;
	height: auto;
	max-height: 82vh;
	object-fit: contain;
	border-radius: var(--gvid-052f37cb-6933-4eba-98da-297fe07472fb, 18px);
	box-shadow: 0 24px 70px rgba(38, 34, 27, 0.42);
}

.tt-gallery-lightbox__caption {
	max-width: min(88vw, 760px);
	margin: 0;
	color: var(--gcid-tt-white, #fff);
	font: 600 15px/1.45 var(--et_global_body_font, Karla), sans-serif;
	text-align: center;
}

.tt-gallery-lightbox__close,
.tt-gallery-lightbox__nav {
	display: inline-grid;
	place-items: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1px solid var(--gcid-tt-oat-300, #e1d6c2);
	border-radius: var(--gvid-60e7ff18-6660-425d-ad67-b585e18e99c7, 999px);
	background: var(--gcid-tt-paper, #fbf7ef);
	color: var(--gcid-tt-thyme-900, #033b2b);
	font: 700 26px/1 var(--et_global_body_font, Karla), sans-serif;
	cursor: pointer;
	transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.tt-gallery-lightbox__close:hover,
.tt-gallery-lightbox__close:focus-visible,
.tt-gallery-lightbox__nav:hover,
.tt-gallery-lightbox__nav:focus-visible {
	background: var(--gcid-tt-turnip-100, #f0e4ec);
	color: var(--gcid-tt-turnip-700, #6e3f63);
	transform: scale(1.05);
	outline: 3px solid var(--gcid-tt-white, #fff);
	outline-offset: 3px;
}

.tt-gallery-lightbox__close {
	position: absolute;
	z-index: 2;
	top: -18px;
	right: -10px;
}

.tt-gallery-lightbox__controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--gvid-6cb2b251-1916-4d6d-b860-46b48223cb29, 16px);
}

.tt-gallery-lightbox__count {
	min-width: 58px;
	color: var(--gcid-tt-white, #fff);
	font: 700 14px/1 var(--et_global_body_font, Karla), sans-serif;
	text-align: center;
	letter-spacing: 0.08em;
}

.tt-gallery-lightbox__nav[hidden],
.tt-gallery-lightbox__count[hidden] {
	display: none;
}

@media (max-width: 767px) {
	.tt-gallery-lightbox {
		width: 100vw;
		max-height: 100vh;
	}

	.tt-gallery-lightbox__frame {
		min-width: 100vw;
		padding: 56px 16px 20px;
	}

	.tt-gallery-lightbox__image {
		max-width: calc(100vw - 32px);
		max-height: 72vh;
		border-radius: var(--gvid-39a66f9f-4652-4022-ac63-5cb9186573bb, 10px);
	}

	.tt-gallery-lightbox__close {
		top: 0;
		right: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tt-gallery-lightbox__close,
	.tt-gallery-lightbox__nav {
		transition: none;
	}
}

/* Shared inline-number and opening-hours roles. */
.tt-num {
	font-family: var(--gvid-9d00eeb6-1c49-4128-a4ac-f3aaaba122b8, 'Courier Prime'), monospace;
	font-weight: 700;
}

.tt-book-hours-stack {
	gap: 0 !important;
}

.tt-book-hours-line p {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
}

.tt-book-hours-line .tt-hours-time {
	font-family: var(--gvid-9d00eeb6-1c49-4128-a4ac-f3aaaba122b8, 'Courier Prime'), monospace;
	font-weight: 700;
	white-space: nowrap;
}

/* Homepage featured-dish composition shared by its row preset. */
.preset--module--divi-row--d0be9f11-fef7-4b9f-a925-6e3b830ba9ee > .et_pb_column:first-child {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	column-gap: var(--gvid-bed11075-f09b-4e41-9383-f7a417e0230e, 12px);
	row-gap: 0;
}

.preset--module--divi-row--d0be9f11-fef7-4b9f-a925-6e3b830ba9ee > .et_pb_column:first-child > .et_pb_module_heading {
	order: 1;
	flex: 0 0 auto;
	width: auto !important;
	max-width: 100%;
}

.preset--module--divi-row--d0be9f11-fef7-4b9f-a925-6e3b830ba9ee > .et_pb_column:first-child > .preset--module--divi-text--409abfb1-3716-4674-8bd2-6bd7af41eaea {
	order: 2;
	flex: 0 0 100% !important;
	width: 100% !important;
	min-width: 100%;
}

.tt-seafood-section-gap.tt-seafood-section-gap {
	gap: 16px !important;
}
