/*
 * Stránka Reštaurácia – bloky restauracia-* (Ellipse_Restaurant_Blocks).
 * Triedy rt-* pod .ellipse-blocks, tokeny a tlačidlá z package-page.css, galéria a recenzie zo site-blocks.css.
 * Animácie (taniere v úvode, odhalenie kariet) iba s JavaScriptom (.rt-js na <html>) a bez prefers-reduced-motion.
 */

/* ---------------- Úvod ---------------- */

.ellipse-blocks.eb-wrap--rt-hero { background: var(--ep-bg); }
.ellipse-blocks .rt-hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	min-height: min(88vh, 820px);
	display: flex;
	align-items: flex-end;
	padding: var(--rm-head, var(--hd-hero-top, 228px)) 0 clamp(44px, 6vw, 80px);
	border-radius: 0 0 40px 40px;
	background: var(--ep-brown-dark);
	color: var(--ep-white);
}
.ellipse-blocks .rt-hero__bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; max-width: none; object-fit: cover; filter: saturate(.9); }
.ellipse-blocks .rt-hero__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(24, 17, 10, .72) 0%, rgba(24, 17, 10, .28) 40%, rgba(24, 17, 10, .84) 100%); }
.ellipse-blocks .rt-hero__inner { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.ellipse-blocks .rt-hero--plates .rt-hero__inner { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
.ellipse-blocks .rt-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px 8px 12px;
	border-radius: 999px;
	background: #F3C98B;
	color: var(--ep-brown-dark);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .01em;
}
.ellipse-blocks .rt-hero__title { margin: 14px 0 0; color: var(--ep-white); text-wrap: balance; }
.ellipse-blocks .rt-hero__text { max-width: 560px; margin: 18px 0 0; font-size: clamp(17px, 1.5vw, 20px); line-height: 1.55; color: rgba(255, 255, 255, .88); }
.ellipse-blocks .rt-hero__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 26px 0 0; padding: 0; list-style: none; }
.ellipse-blocks .rt-hero__chips li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 8px 15px 8px 11px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .12);
	border: 1px solid rgba(255, 255, 255, .24);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	font-size: 14.5px;
}
.ellipse-blocks .rt-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.ellipse-blocks .rt-hero__phone { display: flex; align-items: center; gap: 8px; margin: 18px 0 0; font-size: 15px; color: rgba(255, 255, 255, .75); }
.ellipse-blocks .rt-hero__phone a,
.ellipse-blocks .rt-hero__phone a:visited { color: var(--ep-white); font-weight: 700; text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, .4); }
.ellipse-blocks .rt-hero__phone a:hover { border-bottom-color: var(--ep-white); }

/* Taniere */
.ellipse-blocks .rt-plates { position: relative; height: clamp(420px, 40vw, 540px); margin: 0; padding: 0; list-style: none; }
.ellipse-blocks .rt-plate { position: absolute; margin: 0; }
.ellipse-blocks .rt-plate__dish {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	border-radius: 50%;
	overflow: hidden;
	background: #fff;
	border: 10px solid #FBF8F3;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .5), 0 30px 60px -18px rgba(0, 0, 0, .7), 0 12px 24px -12px rgba(0, 0, 0, .55), inset 0 0 0 1px rgba(0, 0, 0, .05);
}
.ellipse-blocks .rt-plate__img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transform: scale(1.12); }
.ellipse-blocks .rt-plate--1 { width: 62%; top: 4%; left: 20%; z-index: 2; }
.ellipse-blocks .rt-plate--2 { width: 40%; bottom: 0; left: 0; z-index: 3; }
.ellipse-blocks .rt-plate--3 { width: 36%; bottom: 8%; right: 0; z-index: 1; }
.ellipse-blocks .rt-plate__tag {
	position: absolute;
	left: 50%;
	bottom: -6px;
	transform: translateX(-50%);
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	max-width: 110%;
	padding: 8px 14px;
	border-radius: 999px;
	background: var(--ep-white);
	color: var(--ep-brown-dark);
	font-size: 13.5px;
	line-height: 1.2;
	white-space: nowrap;
	box-shadow: 0 10px 24px -10px rgba(0, 0, 0, .5);
}
.ellipse-blocks .rt-plate__tag strong { font-weight: 700; overflow: hidden; text-overflow: ellipsis; }
.ellipse-blocks .rt-plate__tag span { font-weight: 700; color: #B25F1E; }
.ellipse-blocks .rt-plate--1 .rt-plate__tag { bottom: 4%; }

@keyframes rt-pop {
	0% { opacity: 0; transform: translateY(-40px) scale(.6) rotate(-14deg); }
	60% { opacity: 1; transform: translateY(6px) scale(1.06) rotate(3deg); }
	80% { transform: translateY(-2px) scale(.98) rotate(-1deg); }
	100% { opacity: 1; transform: none; }
}
@keyframes rt-float {
	0%, 100% { transform: translateY(0) rotate(0); }
	50% { transform: translateY(-10px) rotate(1.5deg); }
}
@keyframes rt-tag {
	from { opacity: 0; transform: translate(-50%, 10px); }
	to { opacity: 1; transform: translate(-50%, 0); }
}
@media (prefers-reduced-motion: no-preference) {
	.rt-js .ellipse-blocks .rt-plate { opacity: 0; animation: rt-pop .9s cubic-bezier(.34, 1.56, .64, 1) forwards; }
	.rt-js .ellipse-blocks .rt-plate--1 { animation-delay: .15s; }
	.rt-js .ellipse-blocks .rt-plate--2 { animation-delay: .45s; }
	.rt-js .ellipse-blocks .rt-plate--3 { animation-delay: .7s; }
	.rt-js .ellipse-blocks .rt-plate__dish { animation: rt-float 6s ease-in-out 1.6s infinite; }
	.rt-js .ellipse-blocks .rt-plate--2 .rt-plate__dish { animation-duration: 7s; animation-delay: 2s; }
	.rt-js .ellipse-blocks .rt-plate--3 .rt-plate__dish { animation-duration: 5.5s; animation-delay: 2.3s; }
	.rt-js .ellipse-blocks .rt-plate__tag { opacity: 0; animation: rt-tag .5s ease forwards; animation-delay: 1.2s; }
	.ellipse-blocks .rt-plate:hover .rt-plate__img { transform: scale(1.2); }
	.ellipse-blocks .rt-plate__img { transition: transform .6s ease; }
}

/* ---------------- Pre všetkých ---------------- */

.ellipse-blocks.eb-wrap--rt-all { background: var(--ep-bg); }
.ellipse-blocks .rt-all__grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, 1fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.ellipse-blocks .rt-all__title { margin: 14px 0 0; text-wrap: balance; }
.ellipse-blocks .rt-all__lead { margin-top: 18px; max-width: 640px; }
.ellipse-blocks .rt-points { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 32px 0 0; padding: 0; list-style: none; }
.ellipse-blocks .rt-point {
	display: flex;
	gap: 16px;
	margin: 0;
	padding: 22px;
	border-radius: 24px;
	background: var(--ep-white);
	border: 1px solid var(--ep-line);
}
.ellipse-blocks .rt-point__icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #F6E3C6;
	color: #9A4F15;
}
.ellipse-blocks .rt-point__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ellipse-blocks .rt-point__body strong { font-size: 17px; color: var(--ep-brown); }
.ellipse-blocks .rt-point__body span { font-size: 15px; line-height: 1.5; color: var(--ep-muted); }

.ellipse-blocks .rt-hours {
	position: sticky;
	top: var(--ep-header-offset, 140px);
	padding: clamp(24px, 3vw, 36px);
	border-radius: 28px;
	background: var(--ep-brown);
	color: var(--ep-white);
	box-shadow: var(--ep-shadow);
}
.ellipse-blocks .rt-hours__head { display: flex; align-items: center; gap: 10px; color: #F3C98B; }
.ellipse-blocks .rt-hours__head h3 { margin: 0; font-size: 22px; font-weight: 700; color: var(--ep-white); }
.ellipse-blocks .rt-hours__list { margin: 18px 0 0; padding: 0; list-style: none; }
.ellipse-blocks .rt-hours__list li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin: 0 -12px;
	padding: 12px;
	border-radius: 14px;
	border-bottom: 1px solid rgba(255, 255, 255, .12);
	font-size: 15.5px;
	color: rgba(255, 255, 255, .82);
}
.ellipse-blocks .rt-hours__list li:last-child { border-bottom: 0; }
.ellipse-blocks .rt-hours__list li strong { color: var(--ep-white); white-space: nowrap; }
.ellipse-blocks .rt-hours__list li.is-today { background: rgba(243, 201, 139, .16); border-bottom-color: transparent; color: var(--ep-white); }
.ellipse-blocks .rt-hours__list li.is-today span::after { content: " · dnes"; color: #F3C98B; font-weight: 700; }
.ellipse-blocks .rt-hours__note { margin: 10px 0 0; font-size: 14px; color: #F3C98B; }
.ellipse-blocks .rt-hours__call { width: 100%; justify-content: space-between; margin-top: 22px; }
.ellipse-blocks .rt-hours__phone,
.ellipse-blocks .rt-hours__phone:visited { display: block; margin-top: 12px; text-align: center; font-size: 20px; font-weight: 700; color: var(--ep-white); text-decoration: none; letter-spacing: .01em; }
.ellipse-blocks .rt-hours__phone:hover { text-decoration: underline; }
.ellipse-blocks .rt-hours__links { display: flex; flex-direction: column; gap: 4px; margin-top: 20px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .14); }
.ellipse-blocks .rt-hours__links a,
.ellipse-blocks .rt-hours__links a:visited { display: flex; align-items: center; gap: 10px; padding: 8px 0; font-size: 15px; color: rgba(255, 255, 255, .88); text-decoration: none; }
.ellipse-blocks .rt-hours__links a:hover { color: var(--ep-white); text-decoration: underline; }
.ellipse-blocks .rt-hours__links .eb-icon { flex: 0 0 auto; color: #F3C98B; }

/* ---------------- Favoriti ---------------- */

.ellipse-blocks.eb-wrap--rt-top { background: var(--ep-white); }
.ellipse-blocks .rt-top__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 24px);
	margin: 0;
	padding: 0;
	list-style: none;
}
.ellipse-blocks .rt-dishcard { position: relative; display: flex; flex-direction: column; margin: 0; min-width: 0; }
.ellipse-blocks .rt-dishcard--1 { grid-column: span 2; grid-row: span 2; }
.ellipse-blocks .rt-dishcard__media {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	border-radius: 24px;
	background: var(--ep-sand);
	box-shadow: 0 18px 40px -26px rgba(36, 30, 23, .5);
	transition: transform .45s cubic-bezier(.34, 1.56, .64, 1), box-shadow .45s ease;
}
.ellipse-blocks .rt-dishcard--1 .rt-dishcard__media { aspect-ratio: auto; flex: 1 1 auto; min-height: 420px; }
.ellipse-blocks .rt-dishcard__img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .8s ease; }
.ellipse-blocks .rt-dishcard:hover .rt-dishcard__media { transform: translateY(-6px); box-shadow: 0 30px 50px -26px rgba(36, 30, 23, .6); }
.ellipse-blocks .rt-dishcard:hover .rt-dishcard__img { transform: scale(1.07); }
.ellipse-blocks .rt-dishcard__price {
	position: absolute;
	top: 14px;
	right: 14px;
	padding: 8px 14px;
	border-radius: 999px;
	background: var(--ep-white);
	color: var(--ep-brown-dark);
	font-size: 16px;
	font-weight: 800;
	box-shadow: 0 8px 20px -10px rgba(0, 0, 0, .45);
}
.ellipse-blocks .rt-dishcard--1 .rt-dishcard__price { top: 20px; right: 20px; font-size: 19px; padding: 10px 18px; }
.ellipse-blocks .rt-dishcard__body { padding: 14px 4px 0; }
.ellipse-blocks .rt-dishcard__cat { display: block; font-size: 12.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #9A4F15; }
.ellipse-blocks .rt-dishcard__name { margin: 4px 0 0; font-size: 20px; line-height: 1.2; font-weight: 700; color: var(--ep-brown); }
.ellipse-blocks .rt-dishcard--1 .rt-dishcard__name { font-size: clamp(24px, 2.4vw, 32px); }
.ellipse-blocks .rt-dishcard__desc { margin: 6px 0 0; font-size: 15px; line-height: 1.5; color: var(--ep-muted); }

/* Odhalenie pri posune */
@media (prefers-reduced-motion: no-preference) {
	.rt-js .ellipse-blocks [data-rt-reveal] {
		opacity: 0;
		transform: translateY(36px) scale(.94);
		transition: opacity .6s ease, transform .8s cubic-bezier(.34, 1.56, .64, 1);
		transition-delay: var(--rt-delay, 0ms);
	}
	.rt-js .ellipse-blocks [data-rt-reveal].is-in { opacity: 1; transform: none; }
}

/* ---------------- Jedálny lístok ---------------- */

.ellipse-blocks.eb-wrap--rt-menu { background: var(--ep-bg); }
.ellipse-blocks .rt-menu { scroll-margin-top: var(--ep-header-offset, 140px); }
.ellipse-blocks .rt-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 clamp(24px, 3vw, 36px); }
.ellipse-blocks .rt-tab {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 46px;
	padding: 0 18px;
	border-radius: 999px;
	border: 1px solid var(--ep-input-line);
	background: var(--ep-white);
	color: var(--ep-brown);
	font: 600 15.5px/1 var(--ep-font);
	cursor: pointer;
	transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.ellipse-blocks .rt-tab:hover { border-color: var(--ep-brown); }
.ellipse-blocks .rt-tab:focus-visible { outline: 2px solid var(--ep-brown); outline-offset: 2px; }
.ellipse-blocks .rt-tab.is-active { background: var(--ep-brown); border-color: var(--ep-brown); color: var(--ep-white); }
.ellipse-blocks .rt-tab__count { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 24px; padding: 0 7px; border-radius: 999px; background: var(--ep-tint); font-size: 13px; }
.ellipse-blocks .rt-tab.is-active .rt-tab__count { background: rgba(255, 255, 255, .18); }
.ellipse-blocks .rt-panel[hidden] { display: none; }
.ellipse-blocks .rt-panel + .rt-panel { margin-top: 40px; }
.rt-js .ellipse-blocks .rt-panel + .rt-panel { margin-top: 0; }
.ellipse-blocks .rt-panel__title { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 0 16px; font-size: 26px; font-weight: 700; color: var(--ep-brown); }
.rt-js .ellipse-blocks .rt-panel__title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.ellipse-blocks .rt-dishes__note { grid-column: 1 / -1; display: flex; align-items: center; gap: 10px; margin: 0; padding: 16px 0; border-bottom: 1px solid var(--ep-line); font-size: 16px; font-weight: 600; color: var(--ep-brown); }
.ellipse-blocks .rt-dishes__note .eb-icon { flex: 0 0 auto; color: var(--ep-brown); }
.ellipse-blocks .rt-dishes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 clamp(24px, 4vw, 56px);
	margin: 0;
	padding: clamp(10px, 2vw, 20px) clamp(18px, 3vw, 36px);
	border-radius: 28px;
	background: var(--ep-white);
	border: 1px solid var(--ep-line);
	list-style: none;
}
.ellipse-blocks .rt-dish { display: flex; gap: 16px; align-items: flex-start; margin: 0; padding: 18px 0; border-bottom: 1px solid var(--ep-line); min-width: 0; }
.ellipse-blocks .rt-dish:nth-last-child(1),
.ellipse-blocks .rt-dish:nth-last-child(2):nth-child(odd) { border-bottom: 0; }
.ellipse-blocks .rt-dish__photo {
	flex: 0 0 auto;
	width: 76px;
	height: 76px;
	padding: 0;
	border: 0;
	border-radius: 18px;
	overflow: hidden;
	background: var(--ep-sand);
	cursor: zoom-in;
	box-shadow: 0 8px 18px -10px rgba(36, 30, 23, .5);
}
.ellipse-blocks .rt-dish__photo img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transform: scale(1.08); transition: transform .4s ease; }
.ellipse-blocks .rt-dish__photo:hover img { transform: scale(1.2); }
.ellipse-blocks .rt-dish__photo:focus-visible { outline: 2px solid var(--ep-brown); outline-offset: 2px; }
.ellipse-blocks .rt-dish__body { flex: 1 1 auto; min-width: 0; }
.ellipse-blocks .rt-dish__line { display: flex; align-items: baseline; gap: 10px; }
.ellipse-blocks .rt-dish__name { margin: 0; font-size: 17.5px; line-height: 1.3; font-weight: 700; color: var(--ep-brown); }
.ellipse-blocks .rt-dish__dots { flex: 1 1 auto; min-width: 16px; border-bottom: 2px dotted var(--ep-input-line); transform: translateY(-4px); }
.ellipse-blocks .rt-dish__price { flex: 0 0 auto; font-size: 17.5px; font-weight: 800; color: var(--ep-brown-dark); white-space: nowrap; }
.ellipse-blocks .rt-dish__desc { margin: 4px 0 0; font-size: 15px; line-height: 1.5; color: rgba(0, 0, 0, .7); }
.ellipse-blocks .rt-dish__meta { margin: 4px 0 0; font-size: 13px; color: var(--ep-muted); }

.ellipse-blocks .rt-menu__foot { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(20px, 3vw, 32px); align-items: stretch; margin-top: clamp(24px, 3vw, 36px); }
.ellipse-blocks .rt-menu__cta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 6px;
	padding: clamp(22px, 3vw, 32px);
	border-radius: 28px;
	background: #F6E3C6;
}
.ellipse-blocks .rt-menu__cta strong { font-size: clamp(22px, 2.2vw, 28px); line-height: 1.15; color: var(--ep-brown-dark); }
.ellipse-blocks .rt-menu__cta > span { font-size: 16px; line-height: 1.5; color: rgba(0, 0, 0, .72); }
.ellipse-blocks .rt-menu__cta .ep-btn { margin-top: 12px; }
.ellipse-blocks .rt-print { display: flex; flex-direction: column; gap: 10px; padding: clamp(18px, 2.4vw, 24px); border-radius: 28px; background: var(--ep-white); border: 1px solid var(--ep-line); }
.ellipse-blocks .rt-print__label { font-size: 14px; font-weight: 700; color: var(--ep-muted); }
.ellipse-blocks .rt-print__pages { display: flex; gap: 10px; }
.ellipse-blocks .rt-print__page {
	position: relative;
	width: 92px;
	aspect-ratio: 148 / 210;
	padding: 0;
	border: 1px solid var(--ep-line);
	border-radius: 10px;
	overflow: hidden;
	background: var(--ep-sand);
	cursor: zoom-in;
	transition: transform .25s ease, box-shadow .25s ease;
}
.ellipse-blocks .rt-print__page[hidden] { display: none; }
.ellipse-blocks .rt-print__page:hover { transform: translateY(-3px) rotate(-1deg); box-shadow: 0 12px 24px -14px rgba(36, 30, 23, .5); }
.ellipse-blocks .rt-print__page img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.ellipse-blocks .rt-print__more { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(36, 30, 23, .62); color: var(--ep-white); font-size: 20px; font-weight: 700; }

/* ---------------- Virtuálna prehliadka ---------------- */

.ellipse-blocks.eb-wrap--rt-tour { background: var(--ep-white); }
.ellipse-blocks .rt-tour__stage {
	position: relative;
	overflow: hidden;
	height: clamp(420px, 42vw, 560px);
	border-radius: 28px;
	background: var(--ep-brown-dark);
	color: var(--ep-white);
}
.ellipse-blocks .rt-tour__poster { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform 1.2s ease; }
.ellipse-blocks .rt-tour__stage:hover .rt-tour__poster { transform: scale(1.03); }
.ellipse-blocks .rt-tour__shade { position: absolute; inset: 0; background: radial-gradient(ellipse at center, rgba(24, 17, 10, .35) 0%, rgba(24, 17, 10, .72) 100%); }
.ellipse-blocks .rt-tour__content { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; padding: 24px; text-align: center; }
.ellipse-blocks .rt-tour__badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .16);
	border: 1px solid rgba(255, 255, 255, .3);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	font-size: 14px;
	font-weight: 600;
}
.ellipse-blocks .rt-tour__title { max-width: 560px; font-size: clamp(24px, 2.8vw, 36px); font-weight: 700; line-height: 1.12; text-wrap: balance; }
.ellipse-blocks .rt-tour__frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: var(--ep-brown-dark); }
.ellipse-blocks .rt-tour.is-live .rt-tour__poster,
.ellipse-blocks .rt-tour.is-live .rt-tour__shade,
.ellipse-blocks .rt-tour.is-live .rt-tour__content { display: none; }

/* ---------------- Responzívne ---------------- */

@media (max-width: 1024px) {
	.ellipse-blocks .rt-hero--plates .rt-hero__inner { grid-template-columns: minmax(0, 1fr); }
	.ellipse-blocks .rt-plates { height: clamp(360px, 60vw, 480px); max-width: 560px; width: 100%; margin: 0 auto; }
	.ellipse-blocks .rt-all__grid { grid-template-columns: 1fr; }
	.ellipse-blocks .rt-hours { position: static; }
	.ellipse-blocks .rt-top__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ellipse-blocks .rt-dishcard--1 { grid-column: span 2; grid-row: auto; }
	.ellipse-blocks .rt-dishcard--1 .rt-dishcard__media { min-height: 0; aspect-ratio: 16 / 10; }
	.ellipse-blocks .rt-dishes { grid-template-columns: 1fr; }
	.ellipse-blocks .rt-dish:nth-last-child(2):nth-child(odd) { border-bottom: 1px solid var(--ep-line); }
	.ellipse-blocks .rt-menu__foot { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
	.ellipse-blocks .rt-hero { min-height: 0; padding-top: var(--rm-head-mobile, var(--hd-hero-top, 150px)); border-radius: 0 0 28px 28px; }
	.ellipse-blocks .rt-hero__title { font-size: clamp(38px, 11vw, 52px); }
	.ellipse-blocks .rt-badge { font-size: 13px; }
	.ellipse-blocks .rt-hero__chips { gap: 6px; }
	.ellipse-blocks .rt-hero__chips li { font-size: 13.5px; padding: 6px 12px 6px 9px; }
	.ellipse-blocks .rt-hero__actions .ep-btn { width: 100%; justify-content: space-between; }
	.ellipse-blocks .rt-hero__actions .ep-btn--outline { justify-content: center; }
	.ellipse-blocks .rt-hero__inner { gap: 28px; }
	.ellipse-blocks .rt-plates { order: -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; height: auto; max-width: none; }
	.ellipse-blocks .rt-plate { position: relative; inset: auto; width: auto; }
	.ellipse-blocks .rt-plate--1 { order: 2; transform: translateY(-6px); }
	.ellipse-blocks .rt-plate--2 { order: 1; }
	.ellipse-blocks .rt-plate--3 { order: 3; }
	.ellipse-blocks .rt-plate__dish { border-width: 5px; }
	.ellipse-blocks .rt-plate__tag { display: none; }
	.ellipse-blocks .rt-points { grid-template-columns: 1fr; }
	.ellipse-blocks .rt-point { padding: 18px; }
	.ellipse-blocks .rt-top__grid { grid-template-columns: 1fr; }
	.ellipse-blocks .rt-dishcard--1 { grid-column: auto; }
	.ellipse-blocks .rt-dishcard--1 .rt-dishcard__media { aspect-ratio: 4 / 3; }
	.ellipse-blocks .rt-tabs { flex-wrap: nowrap; overflow-x: auto; margin-left: calc(-1 * var(--ep-pad)); margin-right: calc(-1 * var(--ep-pad)); padding: 2px var(--ep-pad) 6px; scrollbar-width: none; }
	.ellipse-blocks .rt-tabs::-webkit-scrollbar { display: none; }
	.ellipse-blocks .rt-tab { flex: 0 0 auto; }
	.ellipse-blocks .rt-dishes { padding: 4px 16px; border-radius: 22px; }
	.ellipse-blocks .rt-dish { gap: 12px; padding: 16px 0; }
	.ellipse-blocks .rt-dish__photo { width: 64px; height: 64px; border-radius: 14px; }
	.ellipse-blocks .rt-dish__line { flex-wrap: wrap; gap: 2px 10px; }
	.ellipse-blocks .rt-dish__name { font-size: 16.5px; flex: 1 1 60%; }
	.ellipse-blocks .rt-dish__dots { display: none; }
	.ellipse-blocks .rt-dish__price { font-size: 16.5px; }
	.ellipse-blocks .rt-menu__cta .ep-btn { width: 100%; justify-content: space-between; }
	.ellipse-blocks .rt-print__pages { overflow-x: auto; scrollbar-width: none; }
	.ellipse-blocks .rt-print__page { flex: 0 0 auto; width: 78px; }
	.ellipse-blocks .rt-tour__stage { height: auto; min-height: 360px; aspect-ratio: 4 / 5; border-radius: 22px; }
	.ellipse-blocks .rt-tour__content .ep-btn { width: 100%; justify-content: space-between; }
}

/* ---------------- Úvod v štýle Wellness (restauracia-hero) ---------------- */

.ellipse-blocks.rt-wrap--whero { background: var(--ep-brown-dark); }
.ellipse-blocks .rt-wh { min-height: min(92vh, 880px); }
.ellipse-blocks .rt-wh__bg { object-position: 50% 42%; }
.ellipse-blocks .rt-wh__overlay {
	background:
		linear-gradient(90deg, rgba(24, 17, 10, .8) 0%, rgba(24, 17, 10, .5) 42%, rgba(24, 17, 10, .08) 78%),
		linear-gradient(180deg, rgba(24, 17, 10, .55) 0%, rgba(24, 17, 10, 0) 30%, rgba(24, 17, 10, .6) 100%);
}
.ellipse-blocks .rt-wh__inner {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 48px;
}
.ellipse-blocks .rt-wh__text { max-width: 720px; }
.ellipse-blocks .rt-wh__title { max-width: 720px; font-size: clamp(38px, 5.4vw, 70px); line-height: .98; }
.ellipse-blocks .rt-wh .rt-wh__perex { max-width: 580px; }
.ellipse-blocks .rt-wh__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 28px;
}
.ellipse-blocks .rt-wh__chips li {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 9px 16px 9px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .12);
	border: 1px solid rgba(255, 255, 255, .26);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	font-size: 15px;
	font-weight: 600;
	color: var(--ep-white);
}
.ellipse-blocks .rt-wh__chips .eb-icon { color: #F1D6A8; }
.ellipse-blocks .rt-wh__actions .ep-btn--accent .eb-icon { display: block; }
.ellipse-blocks .rt-wh__card {
	flex: 0 0 300px;
	display: flex;
	flex-direction: column;
	gap: 11px;
	padding: 26px 28px;
	border-radius: 26px;
	background: rgba(255, 255, 255, .1);
	border: 1px solid rgba(255, 255, 255, .24);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
	color: var(--ep-white);
}
.ellipse-blocks .rt-wh__card-label { font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: rgba(255, 255, 255, .72); }
.ellipse-blocks .rt-wh__card-price { font-size: 48px; font-weight: 700; line-height: 1; letter-spacing: -.02em; margin-bottom: 8px; white-space: nowrap; }
.ellipse-blocks .rt-wh__card-price small { font-size: 17px; font-weight: 600; letter-spacing: 0; opacity: .78; }
.ellipse-blocks .rt-wh__card-price .rt-wh__card-od { font-size: 18px; opacity: .78; }
.ellipse-blocks .rt-wh__card-row { display: flex; align-items: flex-start; gap: 10px; font-size: 14.5px; line-height: 1.4; color: rgba(255, 255, 255, .88); }
.ellipse-blocks .rt-wh__card-row .eb-icon { margin-top: 1px; color: #F1D6A8; }
.ellipse-blocks .rt-wh__bg { object-position: 62% 50%; }
.ellipse-blocks .rt-wh__card-price { font-size: 40px; }

@media (max-width: 1024px) {
	.ellipse-blocks .rt-wh__inner { flex-direction: column; align-items: flex-start; }
	.ellipse-blocks .rt-wh__card { flex: 0 0 auto; width: 100%; max-width: 420px; }
}

@media (max-width: 760px) {
	.ellipse-blocks .rt-wh { min-height: 0; }
	.ellipse-blocks .rt-wh__bg { object-position: 40% 50%; }
	.ellipse-blocks .rt-wh__overlay { background: linear-gradient(180deg, rgba(24, 17, 10, .55) 0%, rgba(24, 17, 10, .35) 32%, rgba(24, 17, 10, .86) 100%); }
	.ellipse-blocks .rt-wh__title { font-size: clamp(34px, 9.4vw, 44px); }
	.ellipse-blocks .rt-wh__chips { gap: 8px; margin-top: 22px; }
	.ellipse-blocks .rt-wh__chips li { font-size: 14px; padding: 7px 13px 7px 10px; }
	.ellipse-blocks .rt-wh .ep-hero__actions { gap: 10px; margin-top: 26px; }
	.ellipse-blocks .rt-wh .ep-btn { width: 100%; justify-content: space-between; }
	.ellipse-blocks .rt-wh .ep-btn--outline { justify-content: center; }
	.ellipse-blocks .rt-wh__card { max-width: none; padding: 22px 22px; }
	.ellipse-blocks .rt-wh__card-price { font-size: 42px; }
	.ellipse-blocks .rt-wh__card-price { font-size: 34px; }
}

/* ---------------- Týždenné menu (tyzden-menu, Menu Studio) ---------------- */

.ellipse-blocks.eb-wrap--rt-week { background: var(--ep-bg); }
.ellipse-blocks .rt-week { scroll-margin-top: var(--ep-header-offset, 140px); }
.ellipse-blocks .rt-week__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: clamp(24px, 3vw, 36px); }
.ellipse-blocks .rt-week__head .eb-heading { max-width: 680px; margin: 0; }
.ellipse-blocks .rt-week__serve { flex: 0 0 auto; display: flex; align-items: center; gap: 14px; padding: 16px 22px 16px 18px; border-radius: 22px; background: var(--ep-brown); color: var(--ep-white); }
.ellipse-blocks .rt-week__serve .eb-icon { color: #F1D6A8; }
.ellipse-blocks .rt-week__serve > span { display: flex; flex-direction: column; line-height: 1.25; }
.ellipse-blocks .rt-week__serve small { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; opacity: .72; }
.ellipse-blocks .rt-week__serve strong { font-size: 16px; font-weight: 600; }
.ellipse-blocks .rt-week__serve strong + span { font-size: 24px; font-weight: 700; letter-spacing: -.01em; }
.ellipse-blocks .rt-week__menu { padding: 0; }
.ellipse-blocks .rt-week__menu [data-mamut-menu] { min-height: 240px; }
.ellipse-blocks .rt-week__empty { margin: 0; font-size: 17px; line-height: 1.6; }
.ellipse-blocks .rt-week__empty a { color: var(--ep-brown); font-weight: 700; }
.ellipse-blocks .rt-week__foot { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: clamp(20px, 3vw, 32px); }
.ellipse-blocks .rt-week__foot p { display: flex; align-items: flex-start; gap: 10px; max-width: 560px; margin: 0; font-size: 16px; line-height: 1.5; color: var(--ep-muted); }
.ellipse-blocks .rt-week__foot p .eb-icon { flex: 0 0 auto; margin-top: 2px; color: var(--ep-brown); }
.ellipse-blocks .rt-week__actions { display: flex; flex-wrap: wrap; gap: 12px; }

@media (max-width: 760px) {
	.ellipse-blocks .rt-week__head { flex-direction: column; align-items: stretch; gap: 18px; }
	.ellipse-blocks .rt-week__serve { align-self: flex-start; }
	.ellipse-blocks .rt-week__menu { padding: 14px; border-radius: 22px; }
	.ellipse-blocks .rt-week__foot { flex-direction: column; align-items: stretch; }
	.ellipse-blocks .rt-week__actions .ep-btn { width: 100%; justify-content: space-between; }
	.ellipse-blocks .rt-week__actions .ep-btn--ghost { justify-content: center; }
}
