/* ===== Restaurant page specific: .rest-* ===== */

/* HERO COLLAGE */
.rest-hero {
	padding: 38px 0 6px;
	padding-bottom: 40px;
	border-bottom: 1px solid rgba(255, 255, 255, .06)
}

.rest-hero__grid {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: 24px;
	align-items: center
}

.rest-hero__copy {
	max-width: 720px
}

.rest-badge {
	display: inline-block;
	background: rgba(255, 255, 255, .06);
	color: #a2b1c4;
	padding: 6px 12px;
	border-radius: 999px;
	font-size: 12px
}

.rest-hero__title {
	font-size: clamp(28px, 5.6vw, 48px);
	line-height: 1.08;
	margin: .3em 0 .5em
}

.rest-hero__lead {
	color: var(--muted);
	max-width: 62ch
}

.rest-hero__cta {
	display: flex;
	gap: 12px;
	margin-top: 14px;
	flex-wrap: wrap
}

.rest-hero__mosaic {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 12px
}

.rest-hero__a {
	grid-column: 1/3;
	height: 260px;
	object-fit: cover;
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, .08)
}

.rest-hero__b,
.rest-hero__c {
	height: 180px;
	object-fit: cover;
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, .08)
}

/* CHEF NOTE */
.rest-note__grid {
	display: grid;
	grid-template-columns: 1.2fr .8fr;
	gap: 24px;
	align-items: center
}

.rest-quote {
	margin: 0;
	padding: 22px;
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, .08);
	background: linear-gradient(180deg, #2b1702, #1c1102);
	color: #ffdca6;
	font-weight: 700
}

/* MASONRY GALLERY */
.rest-gallery {
	border-top: 1px solid rgba(255, 255, 255, .06);
	border-bottom: 1px solid rgba(255, 255, 255, .06);
	background: #0a0d10
}

.rest-gallery__grid {
	columns: 3 240px;
	column-gap: 12px;
	max-width: var(--max);
	margin: 0 auto;
	padding: 12px 16px;
}

.rest-gallery__grid img {
	width: 100%;
	display: inline-block;
	margin: 0 0 12px;
	border-radius: 14px;
	border: 1px solid rgba(255, 255, 255, .08);
	break-inside: avoid;
	object-fit: cover;
}

/* TASTING (timeline) */
.rest-steps {
	counter-reset: rest;
	margin: 16px 0 0;
	padding-left: 0
}

.rest-step {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 12px;
	align-items: start;
	padding: 12px 0;
	border-top: 1px solid rgba(255, 255, 255, .06)
}

.rest-step:first-child {
	border-top: 0
}

.rest-step__num {
	width: 36px;
	height: 36px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #221b10;
	border: 1px solid #6b5524;
	color: #ffdca6;
	font-weight: 800;
	letter-spacing: .6px
}

.rest-step__body {
	color: var(--text)
}

/* MENU PREVIEW */
.rest-menu__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px
}

.rest-list {
	margin: 12px 0 0;
	padding-left: 18px
}

.rest-list li {
	margin: 8px 0;
	color: var(--text)
}

.rest-subtitle {
	margin: 28px 0 6px;
	color: #ffdca6
}

.rest-dl {
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 10px 18px;
	margin: 10px 0
}

.rest-dl dt {
	color: #ffdca6;
	font-weight: 800
}

.rest-dl dd {
	margin: 0;
	color: var(--text);
	border-bottom: 1px dashed rgba(255, 255, 255, .12);
	padding-bottom: 10px
}

.rest-dl dd:last-child {
	border-bottom: 0
}

/* RIBBON */
.rest-ribbon {
	background: #0a0d10;
	border-top: 1px solid rgba(255, 255, 255, .06);
	border-bottom: 1px solid rgba(255, 255, 255, .06)
}

.rest-ribbon__inner {
	display: flex;
	gap: 28px;
	overflow: auto;
	white-space: nowrap;
	padding: 10px 16px;
	scrollbar-width: thin
}

.rest-ribbon__inner span {
	color: #ffdca6;
	font-weight: 800;
	letter-spacing: .4px
}

/* HOURS table */
.rest-table {
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 14px;
	overflow: hidden
}

.rest-row {
	display: grid;
	grid-template-columns: .8fr 1fr 1.2fr;
	background: linear-gradient(180deg, #1a1207, #130c05);
	border-top: 1px solid rgba(255, 255, 255, .06)
}

.rest-row--head {
	background: #0f0b05;
	color: #ffdca6;
	font-weight: 700;
	border-top: 0
}

.rest-row>* {
	padding: 12px 14px
}

/* CTA */
.rest-cta__grid {
	display: grid;
	grid-template-columns: 1.2fr .8fr;
	gap: 24px;
	align-items: center
}

.rest-cta__actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap
}

/* FAQ */
.rest-faq__item {
	border-top: 1px solid rgba(255, 255, 255, .06);
	padding: 10px 0
}

.rest-faq__q {
	width: 100%;
	text-align: left;
	background: transparent;
	border: 0;
	color: #fff;
	font-weight: 700;
	padding: 8px 0;
	cursor: pointer
}

.rest-faq__a {
	display: none;
	color: var(--muted);
	padding: 0 0 4px
}

/* Responsive */
@media (max-width:1100px) {
	.rest-hero__grid {
		grid-template-columns: 1fr
	}

	.rest-note__grid {
		grid-template-columns: 1fr
	}

	.rest-menu__grid {
		grid-template-columns: 1fr
	}

	.rest-cta__grid {
		grid-template-columns: 1fr
	}

	.rest-dl {
		grid-template-columns: 1fr
	}
}

@media (max-width:720px) {
	.rest-hero__a {
		height: 200px
	}

	.rest-hero__b,
	.rest-hero__c {
		height: 150px
	}

	.rest-row {
		grid-template-columns: 1fr 1fr
	}

	.rest-row>*:nth-child(3) {
		display: none
	}

	/* на мобиле: Day + Time */
}