/*
Theme Name: Malý Pán
Theme URI: https://malypan.cz
Author: August Studio
Author URI: https://auguststudio.cz
Description: WooCommerce theme for Malý Pán — farm, restaurant, accommodation and shop. Uses ACF, AJAX-ready forms and bookings. Design: cream/earth palette, Season typography.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.9
Requires PHP: 8.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: maly-pan
Tags: custom-background, custom-logo, custom-menu, featured-images, full-site-editing, e-commerce, woocommerce, translation-ready, block-styles, wide-blocks

Malý Pán - Farm, restaurant, accommodation and shop.
*/

/* -------------------------------------------------------------------------- Design tokens -------------------------------------------------------------------------- */
:root {
	--mp-bg: #EEEADE;
	--mp-bg-cream: #EEEADE;
	--mp-text: #2c2d34;
	--mp-card: #EEEADE;
	--mp-green: #3f543c;
	--mp-accent: var(--mp-green);
	--mp-accent-dark: #4d3728;
	--mp-footer: #a68864;
	--mp-border: rgba(44, 45, 52, 0.12);
	--mp-text-on-dark: #EEEADE;
	--mp-font-display: "Season", "Season Mix", Georgia, serif;
	--mp-font-sans: "Season Sans", "Helvetica Neue", Arial, sans-serif;
	--mp-radius: 10px;
	--mp-radius-pill: 999px;
	--mp-nav-height: 58px;
	--mp-viewport-h: 100vh;
	--mp-viewport-h: 100dvh;
	--mp-gutter: clamp(1.25rem, 4vw, 4rem);
	/* Page content max width — horizontal inset comes only from --mp-gutter. */
	--mp-shell-max: 1920px;
	--mp-container: var(--mp-shell-max);

	/* Shared storefront loading chrome (checkout, cart, forms, shop, booking). */
	--mp-load-spin-size: 1em;
	--mp-load-spin-border: 2px;
	--mp-load-spin-track: rgba(63, 84, 60, 0.22);
	--mp-load-spin-head: var(--mp-accent, #3f543c);
	--mp-load-spin-on-dark-track: rgba(238, 234, 222, 0.35);
	--mp-load-spin-on-dark-head: var(--mp-text-on-dark, #eeeade);
	--mp-load-surface-opacity: 0.72;
	--mp-load-surface-opacity-deep: 0.45;
	--mp-load-spin-duration: 0.7s;

	/* Shared storefront notice / inline feedback language. */
	--mp-notice-radius: var(--mp-radius, 10px);
	--mp-notice-pad-y: 1.1rem;
	--mp-notice-pad-x: 1.25rem;
	--mp-notice-accent-success: var(--mp-green);
	--mp-notice-accent-error: var(--mp-accent-dark);
	--mp-notice-accent-info: var(--mp-green);
	--mp-notice-surface: var(--mp-bg-cream, #eeeade);
	--mp-notice-border: color-mix(in srgb, var(--mp-green, #3f543c) 22%, transparent);
	--mp-notice-shadow: none;
	--mp-feedback-success: var(--mp-accent);
	--mp-feedback-error: var(--mp-accent-dark);

	/* Font size scale — exactly 10 steps. Storefront font-size must be only
	   var(--mp-text-*). No aliases, px, rem, or clamp one-offs.
	   Pair with --mp-lead-* for line-height (e.g. text-lg + lead-lg). */
	--mp-text-xs: 10px;
	--mp-text-sm: 12px;
	--mp-text-base: 14px;
	--mp-text-md: 16px;
	--mp-text-lg: 18px;
	--mp-text-xl: 20px;
	--mp-text-2xl: 24px;
	--mp-text-3xl: 28px;
	--mp-text-4xl: 36px;
	--mp-text-5xl: 52px;

	/* Line height — paired with scale (18px → 28px base) */
	--mp-lead-xs: 14px;
	--mp-lead-sm: 16px;
	--mp-lead-base: 20px;
	--mp-lead-md: 24px;
	--mp-lead-lg: 28px;
	--mp-lead-xl: 32px;
	--mp-lead-2xl: 36px;
	--mp-lead-3xl: 40px;
	--mp-lead-4xl: 48px;
	--mp-lead-5xl: 56px;

	/* Display line-heights only (sizes use --mp-text-* directly). */
	--mp-heading-display-line: var(--mp-lead-4xl);
	--mp-body-display-line: var(--mp-lead-lg);

	/* Luxury motion — clear presence, expensive easing, no cheap sheen/drift. */
	--mp-ease-luxury: cubic-bezier(0.22, 1, 0.36, 1);
	--mp-ease-exit: cubic-bezier(0.4, 0, 1, 1);
	--mp-ease-soft: cubic-bezier(0.2, 0.75, 0, 1);
	--mp-ease-nav: cubic-bezier(0.2, 0, 0, 1);
	--mp-t-instant: 0.16s;
	--mp-t-fast: 0.28s;
	--mp-t-base: 0.55s;
	--mp-t-slow: 0.85s;

	/* Content reveal — must be readable as motion (not a blink). */
	--mp-reveal-duration: 0.78s;
	--mp-reveal-ease: var(--mp-ease-luxury);
	--mp-reveal-y: 28px;
	--mp-reveal-scale: 0.985;
	--mp-reveal-stagger-step: 64ms;
	--mp-word-reveal-duration: 0.68s;
	--mp-word-stagger-step: 48ms;
	--mp-clip-reveal-duration: 0.9s;

	/* Media hover / ambient */
	--mp-media-zoom-duration: 1.35s;
	--mp-media-zoom-ease: var(--mp-ease-soft);
	--mp-media-hover-scale: 1.04;
	--mp-media-rest-scale: 1.015;
	--mp-hero-rest-scale: 1.04;
	--mp-hero-drift-scale: 1.12;

	/* Open menu: item-by-item fade */
	--mp-menu-stagger-duration: 0.55s;
	--mp-menu-stagger-ease: var(--mp-ease-luxury);
	--mp-menu-stagger-base: 0.06s;
	--mp-menu-stagger-step: 0.06s;
	--mp-menu-stagger-y: 8px;

	/* Shared select / dropdown arrow */
	--mp-select-arrow: url("assets/images/arrow-down.svg");
	--mp-select-arrow-size: 9px 10px;
	--mp-select-arrow-gap: 1rem;

	/* Header / drawer horizontal inset — same as page gutter. */
	--mp-nav-inner-pad: var(--mp-gutter);
	--mp-nav-drawer-sidebar: clamp(280px, 29.4vw, 445px);
	--mp-nav-drawer-menu-top: calc(var(--mp-nav-height) + 2.5rem);
}

/* -------------------------------------------------------------------------- Fonts — Season from theme assets (fonts folder) -------------------------------------------------------------------------- */
@font-face {
	font-family: "Season";
	src: url("assets/fonts/Season-Mix-420-20.woff2") format("woff2"),
	     url("assets/fonts/Season-Mix-420-20.woff") format("woff");
	font-weight: 420;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Season Sans";
	src: url("assets/fonts/SeasonSansTRIAL-Regular.woff2") format("woff2"),
	     url("assets/fonts/SeasonSansTRIAL-Regular.woff") format("woff");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Season Sans";
	src: url("assets/fonts/SeasonSansTRIAL-Medium.woff2") format("woff2"),
	     url("assets/fonts/SeasonSansTRIAL-Medium.woff") format("woff");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Season Sans";
	src: url("assets/fonts/SeasonSansTRIAL-Bold.woff2") format("woff2"),
	     url("assets/fonts/SeasonSansTRIAL-Bold.woff") format("woff");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

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

body {
	margin: 0;
	background: #EEEADE;
	background-color: #EEEADE;
	color: var(--mp-text);
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

html {
	background: #EEEADE;
	background-color: #EEEADE;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--mp-font-display);
	font-weight: 420;
	line-height: 1.2;
	letter-spacing: 0.02em;
	color: var(--mp-accent);
	margin: 0 0 0.5em;
}

h1 { font-size: var(--mp-text-4xl); }
h2 { font-size: var(--mp-text-3xl); }
h3 { font-size: var(--mp-text-2xl); }

p {
	margin: 0 0 1rem;
	max-width: 40rem;
}

a {
	color: var(--mp-accent);
	text-decoration: none;
	transition: color 0.22s ease;
}

a:hover {
	color: var(--mp-accent-dark);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* -------------------------------------------------------------------------- Layout -------------------------------------------------------------------------- */
.site {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.site-main {
	flex: 1;
	padding-top: var(--mp-nav-height);
}

.mp-container {
	width: 100%;
	max-width: var(--mp-container);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--mp-gutter);
	padding-right: var(--mp-gutter);
	box-sizing: border-box;
}

.mp-container--wide,
.mp-shell-wide {
	width: 100%;
	max-width: var(--mp-shell-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--mp-gutter);
	padding-right: var(--mp-gutter);
	box-sizing: border-box;
}

/* Shared page content shell (nav, shop, listings, product, FAQ, etc.). */
.mp-shell {
	width: 100%;
	max-width: var(--mp-shell-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--mp-gutter);
	padding-right: var(--mp-gutter);
	box-sizing: border-box;
}

/* -------------------------------------------------------------------------- Header / Nav -------------------------------------------------------------------------- */
.mp-nav {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 210;
	height: var(--mp-nav-height);
	background: transparent;
	border-bottom: 1px solid transparent;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	transition: background 0.66s ease, border-color 0.66s ease;
}

.mp-nav.is-scrolled {
	background: var(--mp-green);
	border-bottom-color: rgba(238, 234, 222, 0.14);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.mp-nav.is-scrolled .mp-nav__left,
.mp-nav.is-scrolled .mp-nav__right {
	color: var(--mp-text-on-dark);
}

.mp-nav.is-scrolled .mp-nav__menu a,
.mp-nav.is-scrolled .mp-cart-link,
.mp-nav.is-scrolled .mp-cart-label,
.mp-nav.is-scrolled .mp-cart-count,
.mp-nav.is-scrolled .mp-nav__menu-toggle-text {
	color: var(--mp-text-on-dark) !important;
}

.mp-nav.is-scrolled .mp-nav__logo img {
	filter: brightness(0) invert(1);
}

.mp-nav.is-scrolled .mp-nav__right .mp-nav__menu-toggle,
.mp-nav.is-scrolled .mp-nav__right .mp-cart-link {
	background: var(--mp-green);
	border: 0;
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

.mp-nav.is-scrolled .mp-nav__right .mp-cart-link {
	border-radius: 50%;
}

.mp-nav.is-scrolled .mp-nav__right .mp-nav__menu-toggle {
	border-radius: 50%;
}

.mp-nav.is-scrolled .mp-nav__right .mp-nav__menu-toggle:focus,
.mp-nav.is-scrolled .mp-nav__right .mp-nav__menu-toggle:focus-visible,
.mp-nav.is-scrolled .mp-nav__right .mp-nav__menu-toggle:active,
.mp-nav.is-scrolled .mp-nav__right .mp-cart-link:focus,
.mp-nav.is-scrolled .mp-nav__right .mp-cart-link:focus-visible,
.mp-nav.is-scrolled .mp-nav__right .mp-cart-link:active {
	box-shadow: none;
}

body.admin-bar .mp-nav {
	top: 32px;
}

body.admin-bar .site-main {
	padding-top: calc(var(--mp-nav-height) + 32px);
}

body.admin-bar .mp-nav-drawer__layout {
	min-height: calc(100% - 32px);
	margin-top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar .mp-nav {
		top: 46px;
	}

	body.admin-bar .site-main {
		padding-top: calc(var(--mp-nav-height) + 46px);
	}

	body.admin-bar .mp-nav-drawer__layout {
		min-height: calc(100% - 46px);
		margin-top: 46px;
	}
}

.mp-nav__inner {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	height: 100%;
	width: 100%;
	gap: 1rem;
}

.mp-nav__inner .mp-nav__left {
	justify-self: center;
	justify-content: center;
	width: auto;
	grid-column: 2;
}
.mp-nav__inner .mp-nav__right {
	justify-self: end;
	justify-content: flex-end;
	grid-column: 3;
}
.mp-nav__logo {
	--mp-nav-logo-w: 118px;
	--mp-nav-logo-ratio: 118 / 26;
	justify-self: start;
	grid-column: 1;
	display: block;
	width: 118px;
	overflow: hidden;
}

.mp-nav__left,
.mp-nav__right {
	display: flex;
	align-items: center;
	gap: 2rem;
	font-family: var(--mp-font-sans);
	font-weight: 700;
	font-size: var(--mp-text-md);
	color: var(--mp-green);
}

/* Primary menu: ul.mp-nav__menu (wp_nav_menu or fallback list) */
.mp-nav__left .mp-nav__menu {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.mp-nav__left .mp-nav__menu li {
	margin: 0;
	padding: 0;
}
.mp-nav__left .mp-nav__menu a {
	background: none;
	border: none;
	color: inherit;
	text-decoration: none;
	font-size: var(--mp-text-md);
	line-height: 1.2;
}
.mp-nav__left .mp-nav__menu a:hover {
	color: var(--mp-accent-dark);
}

.mp-nav.is-scrolled .mp-nav__left .mp-nav__menu a:hover {
	color: rgba(238, 234, 222, 0.72);
}

.mp-nav__left a,
.mp-nav__right a,
.mp-nav__left button,
.mp-nav__right button {
	background: none;
	border: none;
	color: inherit;
	font: inherit;
	cursor: pointer;
	padding: 0;
}

.mp-nav__logo img {
	display: block;
	width: 118px;
	height: auto;
	object-fit: contain;
	object-position: top center;
	transition: filter 0.66s ease, opacity 0.5s ease;
}

/* Fixed box = default Malý Pán wordmark (118×26); both layers share it + center alignment. */
.mp-nav__logo-stack {
	position: relative;
	display: block;
	width: var(--mp-nav-logo-w);
	max-width: 100%;
	aspect-ratio: var(--mp-nav-logo-ratio);
	line-height: 0;
	flex-shrink: 0;
	isolation: isolate;
}

.mp-nav__logo .mp-nav__logo-stack img.mp-nav__logo-img--base,
.mp-nav__logo .mp-nav__logo-stack img.mp-nav__logo-img--hover {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	object-fit: contain;
	object-position: center center;
	transition: opacity 0.5s ease;
}

.mp-nav__logo-stack > .mp-nav__logo-img--base {
	z-index: 0;
}

.mp-nav__logo-stack > .mp-nav__logo-img--hover {
	z-index: 1;
	opacity: 0;
	pointer-events: none;
}

/* Hover: only variant visible (transparent SVG pixels must not reveal base logo). */
.mp-nav__logo-stack.is-hovering .mp-nav__logo-img--base {
	opacity: 0;
}

.mp-nav__logo-stack.is-hovering .mp-nav__logo-img--hover {
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.mp-nav__logo .mp-nav__logo-stack img.mp-nav__logo-img--base,
	.mp-nav__logo .mp-nav__logo-stack img.mp-nav__logo-img--hover {
		transition: none;
	}
}

/* -------------------------------------------------------------------------- Buttons -------------------------------------------------------------------------- */
.mp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0.625rem 1rem;
	font-family: var(--mp-font-sans);
	font-weight: 700;
	font-size: var(--mp-text-md);
	line-height: 1;
	border-radius: var(--mp-radius-pill);
	border: none;
	cursor: pointer;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
	text-decoration: none;
}

.mp-btn--primary {
	background: var(--mp-accent);
	color: var(--mp-text-on-dark);
}

.mp-btn--primary:hover {
	background: var(--mp-accent-dark);
	transform: translateY(-1px);
	box-shadow: none;
}

.mp-btn--dark {
	background: var(--mp-accent-dark);
	color: var(--mp-text-on-dark);
}

.mp-btn--outline {
	background: transparent;
	color: var(--mp-text-on-dark);
	border: 1px solid currentColor;
}

/* Disabled button/select: subtle shake on click (triggered via JS) */
@keyframes mp-shake-disabled {
	0%, 100% { transform: translateX(0); }
	20% { transform: translateX(-4px); }
	40% { transform: translateX(4px); }
	60% { transform: translateX(-3px); }
	80% { transform: translateX(3px); }
}

.mp-shake-disabled {
	animation: mp-shake-disabled 0.45s ease;
}

/* -------------------------------------------------------------------------- Forms -------------------------------------------------------------------------- */
.mp-input,
.mp-select,
.mp-textarea {
	width: 100%;
	padding: 0.75rem 1rem;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	color: var(--mp-text);
	background: var(--mp-card);
	border: 1px solid var(--mp-border);
	border-radius: var(--mp-radius);
	transition: border-color 0.22s ease, box-shadow 0.22s ease;
}

.mp-input:focus,
.mp-select:focus,
.mp-textarea:focus {
	outline: none;
	border-color: var(--mp-accent);
	box-shadow: none;
}

.mp-label {
	display: block;
	font-family: var(--mp-font-sans);
	font-weight: 700;
	font-size: var(--mp-text-lg);
	line-height: 28px;
	color: var(--mp-text);
	margin-bottom: 0.5rem;
}

.mp-form-group {
	margin-bottom: 1.25rem;
}

.mp-form-row {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.mp-form-row .mp-form-group {
	flex: 1 1 200px;
}

/* -------------------------------------------------------------------------- Footer — 1:1: newsletter + links row, logo center, copyright bottom -------------------------------------------------------------------------- */
.mp-footer {
	background: var(--mp-green);
	color: var(--mp-text-on-dark);
	padding: 2.5rem 0 2rem;
	margin-top: auto;
}

.mp-footer__top {
	display: grid;
	grid-template-columns: minmax(240px, 1.25fr) minmax(0, 0.8fr) minmax(0, 0.8fr) minmax(0, 1fr);
	gap: 3rem;
	align-items: start;
	margin-bottom: 2rem;
}

.mp-footer__top--no-newsletter {
	/* Keep the same 4-col rhythm: logo occupies the newsletter slot. */
	grid-template-columns: minmax(240px, 1.25fr) minmax(0, 0.8fr) minmax(0, 0.8fr) minmax(0, 1fr);
}

.mp-footer__logo-slot {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	min-width: 0;
}

.mp-footer__logo-slot .mp-footer__logo-img {
	margin: 0;
}

@media (max-width: 1024px) and (min-width: 769px) {
	.mp-footer__top {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2rem 3rem;
	}

	.mp-footer__menu,
	.mp-footer__address {
		margin-top: 0;
	}
}

@media (max-width: 768px) {
	.mp-footer__top {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 1.5rem;
		row-gap: 1.5rem;
	}

	/* Newsletter / logo keep a full-width top row; menus + Kontakt share two columns. */
	.mp-footer__newsletter,
	.mp-footer__logo-slot {
		grid-column: 1 / -1;
	}
}

/* Newsletter keeps the prominent footer heading treatment. */
.mp-footer__newsletter-title {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-4xl);
	line-height: 46px;
	color: var(--mp-text-on-dark);
	margin: 0 0 1rem;
}

/* Secondary footer labels match the menu text size. */
.mp-footer__column-title {
	font-family: var(--mp-font-sans);
	font-weight: 700;
	font-size: var(--mp-text-base);
	line-height: 1.5;
	color: var(--mp-text-on-dark);
	margin: 0 0 0.75rem;
	text-transform: none;
}

.mp-footer__newsletter-form {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
}

.mp-footer__input {
	width: 280px;
	max-width: 100%;
	min-height: var(--mp-button-height, 52px);
	padding: var(--mp-button-padding-y, 10px) 0;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--mp-bg-cream);
	border-radius: 0;
	color: var(--mp-bg-cream);
	font-weight: 500;
}

.mp-footer__input::placeholder {
	color: var(--mp-bg-cream);
	opacity: 0.78;
}

.mp-footer__input:focus {
	border-color: var(--mp-bg-cream);
	background: transparent;
	color: var(--mp-bg-cream);
}

.mp-footer__newsletter-form .mp-btn {
	width: 280px;
	max-width: 100%;
	padding-left: 0;
}

.mp-footer__newsletter-form .mp-btn--dark {
	background: transparent;
	color: var(--mp-bg-cream);
	border: 0;
}
.mp-footer__newsletter-form .mp-btn--dark:hover,
.mp-footer__newsletter-form .mp-btn--dark:focus-visible {
	background: transparent;
	color: var(--mp-bg-cream);
}

.mp-footer__newsletter-form .mp-form-feedback {
	width: 280px;
	max-width: 100%;
	min-height: 1.25rem;
	margin-top: 0;
	text-align: left;
	color: var(--mp-bg-cream);
}

.mp-footer__newsletter-form .mp-form-feedback--success {
	color: var(--mp-bg-cream);
}

.mp-footer__newsletter-form .mp-form-feedback--error {
	color: #f3c7b7;
}

/* ── Shared storefront loading utilities ─────────────────────────────── */
@keyframes mp-spin {
	to { transform: rotate(360deg); }
}

/* Surfaces: shop grid, room offers, calendars, mini-cart rows */
.mp-shop__products.is-loading,
.mp-pokoje-nabidka .mp-room-offers__list.is-loading,
.mp-degustace #mp-degustace-calendar.is-loading,
.mp-degustace #mp-degustace-calendar .mp-room-calendar__panel.is-loading,
.mp-mini-cart .woocommerce-mini-cart-item.is-loading {
	opacity: var(--mp-load-surface-opacity);
	pointer-events: none;
	transition: opacity 0.2s ease;
}

.mp-pokoje-nabidka .mp-room-offers__list.is-loading,
.mp-degustace #mp-degustace-calendar.is-loading .mp-room-calendar__grid,
.mp-degustace #mp-degustace-calendar .mp-room-calendar__panel.is-loading .mp-room-calendar__grid {
	opacity: var(--mp-load-surface-opacity-deep);
}

.mp-shop__products.is-loading,
.mp-pokoje-nabidka .mp-room-offers__list.is-loading,
.mp-degustace #mp-degustace-calendar.is-loading,
.mp-degustace #mp-degustace-calendar .mp-room-calendar__panel.is-loading,
.mp-mini-cart .woocommerce-mini-cart-item.is-loading {
	position: relative;
}

.mp-shop__products.is-loading::after,
.mp-pokoje-nabidka .mp-room-offers__list.is-loading::after,
.mp-degustace #mp-degustace-calendar.is-loading::after,
.mp-degustace #mp-degustace-calendar .mp-room-calendar__panel.is-loading::after,
.mp-mini-cart .woocommerce-mini-cart-item.is-loading::after {
	content: "";
	box-sizing: border-box;
	position: absolute;
	top: 50%;
	left: 50%;
	width: var(--mp-load-spin-size);
	height: var(--mp-load-spin-size);
	margin: calc(var(--mp-load-spin-size) / -2) 0 0 calc(var(--mp-load-spin-size) / -2);
	border: var(--mp-load-spin-border) solid var(--mp-load-spin-track);
	border-top-color: var(--mp-load-spin-head);
	border-radius: 50%;
	animation: mp-spin var(--mp-load-spin-duration) linear infinite;
	z-index: 2;
	pointer-events: none;
}

.mp-degustace #mp-degustace-calendar.is-loading .mp-room-calendar__prev,
.mp-degustace #mp-degustace-calendar.is-loading .mp-room-calendar__next,
.mp-degustace #mp-degustace-calendar .mp-room-calendar__panel.is-loading .mp-room-calendar__prev,
.mp-degustace #mp-degustace-calendar .mp-room-calendar__panel.is-loading .mp-room-calendar__next {
	pointer-events: none;
	opacity: 0.5;
}

/* Buttons: ChatGPT-style cycling status (bottom→top), no ring spinner.
   Primary busy state: keep label/status readable; no decorative motion. */
.mp-btn.is-loading,
.mp-room-offer__book.is-loading,
.mp-degustace-form__submit.is-loading,
.mp-platba-form__submit.is-loading,
.mp-account-form button[type="submit"].is-loading,
.single-product .mp-product-detail__add-to-cart .single_add_to_cart_button.loading,
.mp-product-detail__add-to-cart .single_add_to_cart_button.loading {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0.55rem;
	cursor: wait;
	pointer-events: none;
	opacity: 1 !important;
}

.mp-room-offer__book.is-loading,
.mp-degustace-form__submit.is-loading,
.mp-platba-form__submit.is-loading,
.single-product .mp-product-detail__add-to-cart .single_add_to_cart_button.loading,
.mp-product-detail__add-to-cart .single_add_to_cart_button.loading {
	display: flex;
	width: 100%;
}

/* Hide static label/meta while the status ticker owns the button copy. */
.mp-btn.is-loading.mp-load-status-active > :not(.mp-load-status),
.mp-room-offer__book.is-loading.mp-load-status-active > :not(.mp-load-status),
.mp-degustace-form__submit.is-loading.mp-load-status-active > :not(.mp-load-status),
.mp-platba-form__submit.is-loading.mp-load-status-active > :not(.mp-load-status),
.mp-account-form button[type="submit"].is-loading.mp-load-status-active > :not(.mp-load-status),
.single-product .mp-product-detail__add-to-cart .single_add_to_cart_button.loading.mp-load-status-active > :not(.mp-load-status),
.mp-product-detail__add-to-cart .single_add_to_cart_button.loading.mp-load-status-active > :not(.mp-load-status) {
	display: none !important;
}

/* Suppress legacy spinner pseudo on busy primary CTAs. */
.mp-btn.is-loading::after,
.mp-btn--primary.is-loading::after,
.mp-btn--dark.is-loading::after,
.mp-room-offer__book.is-loading::after,
.mp-degustace-form__submit.is-loading::after,
.mp-platba-form__submit.is-loading::after,
.mp-account-form button[type="submit"].is-loading::after,
.single-product .mp-product-detail__add-to-cart .single_add_to_cart_button.loading::after,
.mp-product-detail__add-to-cart .single_add_to_cart_button.loading::after,
html.mp-motion-enabled .mp-btn--primary.is-loading::after,
.mp-footer__newsletter-form .mp-btn.is-loading::after {
	content: none !important;
	display: none !important;
	animation: none !important;
	border: 0 !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

.mp-load-status {
	display: inline-grid;
	align-items: center;
	justify-items: start;
	overflow: hidden;
	height: 1.2em;
	line-height: 1.2;
	min-width: 0;
	max-width: 100%;
	flex: 1 1 auto;
	font: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
	color: inherit;
	pointer-events: none;
}

.mp-load-status__text {
	grid-area: 1 / 1;
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
	animation: mp-load-status-enter var(--mp-t-base) var(--mp-ease-luxury) both;
}

.mp-load-status__text.is-exit {
	animation: mp-load-status-exit var(--mp-t-fast) var(--mp-ease-exit) both;
}

@keyframes mp-load-status-enter {
	from {
		transform: translateY(115%);
		opacity: 0;
	}
	to {
		transform: translateY(0);
		opacity: 1;
	}
}

@keyframes mp-load-status-exit {
	from {
		transform: translateY(0);
		opacity: 1;
	}
	to {
		transform: translateY(-115%);
		opacity: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mp-load-status__text,
	.mp-load-status__text.is-exit {
		animation: none;
	}
}

.mp-footer__menu {
	width: 100%;
	/* Offset to sit under the newsletter title (form baseline). */
	margin-top: calc(46px + 1rem);
}

.mp-footer__menu-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.mp-footer__menu-list a {
	color: var(--mp-bg-cream);
	font-family: var(--mp-font-sans);
	font-weight: 500;
	font-size: var(--mp-text-base);
	text-decoration: none;
}

.mp-footer__menu-list a:hover {
	color: var(--mp-bg-cream);
	opacity: 0.9;
}

.mp-footer__address {
	width: 100%;
	justify-self: end;
	margin-top: calc(46px + 1rem);
	text-align: right;
	font-family: var(--mp-font-sans);
	font-weight: 500;
	font-size: var(--mp-text-base);
	line-height: 1.5;
	color: var(--mp-bg-cream);
}

/* Logo replaces newsletter: drop the title offset so all columns share one top. */
.mp-footer__top--no-newsletter .mp-footer__menu,
.mp-footer__top--no-newsletter .mp-footer__address {
	margin-top: 0;
}

.mp-footer__top--no-newsletter .mp-footer__logo-slot,
.mp-footer__top--no-newsletter .mp-footer__menu,
.mp-footer__top--no-newsletter .mp-footer__address {
	align-self: start;
}

@media (max-width: 1024px) and (min-width: 769px) {
	.mp-footer__menu,
	.mp-footer__address {
		margin-top: 0;
	}
}

.mp-footer__address-title {
	display: inline-block;
	font-weight: 500;
	margin-bottom: 0.25rem;
}

.mp-footer__instagram {
	display: block;
	margin-top: 0.5rem;
}

.mp-footer__email {
	display: block;
	margin-top: 0.25rem;
}

.mp-footer__link {
	color: var(--mp-bg-cream);
	font-family: var(--mp-font-sans);
	font-weight: 500;
	font-size: var(--mp-text-base);
	text-decoration: none;
}
.mp-footer__link:hover {
	color: var(--mp-bg-cream);
	opacity: 0.9;
}

.mp-footer__logo-wrap {
	text-align: left;
	margin-bottom: 2rem;
}

.mp-footer__logo-img {
	margin: 0 auto 0 0;
	width: min(140px, 45vw);
	max-width: 140px;
	height: auto;
	display: block;
	object-fit: contain;
}

@media (max-width: 768px) {
	.mp-footer__address {
		justify-self: stretch;
		margin-top: 0;
		text-align: left;
	}

	.mp-footer__menu {
		margin-top: 0;
	}

	.mp-footer__logo-wrap {
		text-align: left;
	}

	.mp-footer__logo-img {
		margin-left: 0;
		margin-right: auto;
	}
}

.mp-footer__bottom {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1rem;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	font-weight: 500;
	opacity: 0.95;
}

.mp-footer__credit {
	color: inherit;
	text-decoration: none;
}

.mp-footer__credit:hover {
	opacity: 0.9;
}

/* -------------------------------------------------------------------------- WooCommerce overrides (base — detailed in woocommerce/*.css if needed) -------------------------------------------------------------------------- */
.woocommerce .mp-btn--primary,
.woocommerce a.button,
.woocommerce button.button.alt {
	background: var(--mp-accent);
	color: var(--mp-text-on-dark);
	border: none;
	border-radius: var(--mp-radius-pill);
	padding: 0.625rem 1rem;
	font-family: var(--mp-font-sans);
	font-weight: 700;
}

.woocommerce .mp-btn--primary:hover,
.woocommerce a.button:hover,
.woocommerce button.button.alt:hover {
	background: var(--mp-accent-dark);
	color: var(--mp-text-on-dark);
}

/* -------------------------------------------------------------------------- Utilities -------------------------------------------------------------------------- */
.mp-text-center { text-align: center; }
.mp-mt-2 { margin-top: 1rem; }
.mp-mb-2 { margin-bottom: 1rem; }
.mp-visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.mp-honeypot {
	display: none !important;
}

/* -------------------------------------------------------------------------- Hero & content blocks (front page) — 1:1 from design -------------------------------------------------------------------------- */
.mp-hero {
	position: relative;
	min-height: 40vh;
	display: flex;
	align-items: center;
	justify-content: center;
}

.mp-hero--full {
	min-height: var(--mp-viewport-h);
	height: var(--mp-viewport-h);
	max-height: none;
}
.mp-hero__image {
	position: absolute;
	inset: 0;
	overflow: hidden;
}

.mp-hero__image-zoom {
	position: absolute;
	inset: 0;
	z-index: 0;
	transform-origin: center center;
	will-change: transform;
}

.mp-hero__image-zoom img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mp-hero__image .mp-hero__overlay {
	z-index: 1;
}
.mp-hero__overlay {
	position: absolute;
	inset: 0;
	background: rgba(44, 45, 52, 0.2);
}
.mp-hero__overlay-text {
	position: absolute;
	left: 50%;
	top: 45%;
	transform: translate3d(-50%, calc(-50% + var(--mp-hero-headline-scroll, 0px)), 0);
	z-index: 10;
	width: 100%;
	max-width: 640px;
	padding: 0 1rem;
	text-align: center;
	box-sizing: border-box;
}

/* Hero overlay headline */
.mp-hero__overlay-p {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-4xl);
	line-height: 48px;
	color: #eeeade;
	margin: 0;
	position: relative;
	z-index: 1;
}

@media (max-width: 768px) {
	.mp-hero__overlay-p--desktop {
		display: none !important;
	}

	body.home .mp-hero__overlay-p--mobile {
		font-size: var(--mp-text-3xl);
		line-height: 40px;
	}
}

@media (min-width: 769px) {
	.mp-hero__overlay-p--mobile {
		display: none !important;
	}
}

/* Icon under "přírody" — absolutely positioned so it does not grow the line box. */
.mp-hero__overlay-p .mp-word--has-icon,
html.mp-motion-enabled .mp-hero__overlay-p.mp-split-title .mp-word--has-icon {
	position: relative;
	overflow: visible;
}

.mp-hero__overlay-p .mp-word-icon {
	position: absolute;
	left: calc(100% + 0.06em + 16px);
	top: 70%;
	z-index: 2;
	display: block;
	pointer-events: none;
	transform: translateY(calc(-32% + 16px));
}

.mp-hero__overlay-p .mp-word-icon--branding {
	display: block;
	width: 82.8px;
	height: 92px;
	max-width: none;
}

.mp-hero__overlay-p .mp-word-icon__img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	object-fit: contain;
	object-position: center bottom;
}

.mp-hero__overlay-p .mp-word-icon__svg,
.mp-hero__overlay-p .mp-word-icon__svg svg {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
}

@media (max-width: 768px) {
	.mp-hero__overlay-p .mp-word-icon--branding {
		width: 58.5px;
		height: 65px;
	}
}

html.mp-motion-enabled .mp-hero__overlay-p .mp-word-icon {
	opacity: 0;
	transition: opacity var(--mp-word-reveal-duration) var(--mp-reveal-ease);
	transition-delay: var(--mp-word-delay, 0ms);
}

html.mp-motion-enabled .mp-hero__overlay-p.is-visible .mp-word-icon,
html.mp-motion-enabled .mp-reveal.is-visible .mp-hero__overlay-p .mp-word-icon,
html.mp-motion-enabled .mp-clip-reveal.is-visible .mp-hero__overlay-p .mp-word-icon {
	opacity: 1;
}
/* Cream content area — */
.mp-home-cream {
	background: var(--mp-bg-cream);
	padding: 108px 0 96px;
}
.mp-home-cream__inner {
	max-width: var(--mp-shell-max);
	margin: 0 auto;
	padding-left: var(--mp-gutter);
	padding-right: var(--mp-gutter);
	position: relative;
	box-sizing: border-box;
}
/* Intro — /34px, #4d3728, center, 640px */
.mp-home-intro {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-2xl);
	line-height: var(--mp-lead-2xl);
	color: var(--mp-green);
	text-align: center;
	max-width: 640px;
	margin: 0 auto 96px;
}

/* Homepage sections — */
.mp-home-row {
	width: 100%;
}
.mp-home-row--kitchen {
	display: grid;
	grid-template-columns: minmax(260px, 389px) minmax(320px, 833px);
	gap: 32px;
	align-items: start;
	justify-content: space-between;
	margin-bottom: 88px;
}
.mp-home-row--farm {
	margin-bottom: 88px;
}
.mp-home-row--krajina {
	margin-top: 88px;
}
.mp-home-section {
	max-width: 389px;
}
.mp-home-section--kitchen {
	text-align: left;
}
.mp-home-section--center {
	text-align: center;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}
.mp-home-section__title {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-4xl);
	line-height: 48px;
	color: var(--mp-accent);
	margin: 0 0 8px;
}
.mp-home-section__text {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-lg);
	line-height: 28px;
	color: var(--mp-green);
	margin: 0;
}
.mp-home-row--farm .mp-home-section__title,
.mp-home-row--krajina .mp-home-section__title {
	text-align: left;
}
.mp-home-row--farm .mp-home-section__text,
.mp-home-row--krajina .mp-home-section__text {
	margin-left: auto;
	margin-right: 0;
	text-align: left;
}
/* Slideshow — */
.mp-home-slideshow-block--slideshow-only {
	width: 100%;
	max-width: 833px;
	margin-left: auto;
}

/* Shared slideshow chrome (arrows + swipe + soft crossfade timing). */
:root {
	--mp-slideshow-fade-duration: 1.35s;
	--mp-slideshow-fade-ease: var(--mp-ease-soft, cubic-bezier(0.2, 0.75, 0, 1));
}

.mp-slideshow__nav,
.mp-room-offer__media-nav,
.mp-room-detail__media-nav {
	position: absolute;
	inset: 0;
	z-index: 3;
	pointer-events: none;
}

.mp-slideshow__arrow,
.mp-room-offer__media-arrow,
.mp-room-detail__media-arrow {
	position: absolute;
	top: auto;
	bottom: 0.55rem;
	transform: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-width: 2.75rem;
	height: auto;
	min-height: 2.75rem;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	color: #fff;
	font-family: var(--mp-font-sans, inherit);
	font-size: var(--mp-text-3xl);
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
	opacity: 0;
	pointer-events: none;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
	transition: opacity 0.28s ease, transform 0.28s ease, color 0.28s ease;
	z-index: 4;
}

.mp-slideshow__arrow--prev,
.mp-room-offer__media-arrow--prev,
.mp-room-detail__media-arrow--prev {
	left: 0.2rem;
}

.mp-slideshow__arrow--next,
.mp-room-offer__media-arrow--next,
.mp-room-detail__media-arrow--next {
	right: 0.2rem;
}

.mp-slideshow--ready:hover .mp-slideshow__arrow,
.mp-slideshow--ready:focus-within .mp-slideshow__arrow,
.mp-room-offer__media--slideshow:hover .mp-room-offer__media-arrow,
.mp-room-offer__media--slideshow:focus-within .mp-room-offer__media-arrow,
.mp-room-detail__media:hover .mp-room-detail__media-arrow,
.mp-room-detail__media:focus-within .mp-room-detail__media-arrow {
	opacity: 1;
	pointer-events: auto;
}

.mp-slideshow__arrow:hover,
.mp-slideshow__arrow:focus-visible,
.mp-room-offer__media-arrow:hover,
.mp-room-offer__media-arrow:focus-visible,
.mp-room-detail__media-arrow:hover,
.mp-room-detail__media-arrow:focus-visible {
	background: transparent;
	color: #fff;
	transform: scale(1.08);
}

@media (hover: none) {
	.mp-slideshow--ready .mp-slideshow__arrow,
	.mp-room-offer__media--slideshow .mp-room-offer__media-arrow,
	.mp-room-detail__media .mp-room-detail__media-arrow {
		opacity: 1;
		pointer-events: auto;
	}
}

.mp-slideshow--swipe {
	cursor: grab;
	touch-action: pan-y;
	user-select: none;
}

.mp-slideshow--swipe:active {
	cursor: grabbing;
}

.mp-degustace__gallery {
	position: relative;
}

.mp-home-slideshow {
	position: relative;
	width: 100%;
	max-width: 833px;
	margin-left: auto;
}

.mp-home-slideshow-block--slideshow-only .mp-home-slideshow {
	max-width: none;
	margin-left: 0;
	min-width: 0;
	width: 100%;
}

/* Kitchen row — cap slideshow height to viewport */
.mp-home-row--kitchen .mp-home-slideshow-stack > .mp-home-slideshow {
	max-height: 80vh;
}

.mp-home-row--kitchen .mp-home-slideshow--fade {
	max-height: 80vh;
}

.mp-home-row--kitchen .mp-home-slideshow:not(.mp-home-slideshow--fade) .mp-home-slideshow__slide {
	max-height: 80vh;
}

/* Carousel + dots below (matches degustace gallery pattern; dots sit outside overflow:hidden) */
.mp-home-slideshow-stack {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	min-width: 0;
	width: 100%;
}

.mp-home-slideshow-stack .mp-home-slideshow__dots {
	position: static;
	left: auto;
	bottom: auto;
	transform: none;
	margin-top: 0.75rem;
	justify-content: center;
	flex-wrap: wrap;
}

.mp-home-slideshow-stack .mp-home-slideshow__dot {
	background: var(--mp-border);
}

.mp-home-slideshow-stack .mp-home-slideshow__dot.is-active {
	background: var(--mp-accent);
}
.mp-home-slideshow__slide {
	aspect-ratio: 833 / 982;
	overflow: hidden;
}
/* Multiple slides: stack and crossfade (see slow-animations.js initSlideshow). */
.mp-home-slideshow--fade {
	aspect-ratio: 833 / 982;
	overflow: hidden;
	border-radius: 4px;
}
.mp-home-slideshow--fade .mp-home-slideshow__slide {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	margin: 0;
	opacity: 0;
	transition: opacity var(--mp-slideshow-fade-duration) var(--mp-slideshow-fade-ease);
	z-index: 0;
	pointer-events: none;
}
.mp-home-slideshow--fade .mp-home-slideshow__slide.is-active {
	opacity: 1;
	z-index: 1;
	pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
	.mp-home-slideshow--fade .mp-home-slideshow__slide {
		transition: none;
	}
}

.mp-home-slideshow__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.mp-home-slideshow__dots {
	position: absolute;
	left: 50%;
	bottom: 22px;
	transform: translateX(-50%);
	display: inline-flex;
	align-items: center;
	gap: 7px;
}
.mp-home-slideshow__dot {
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: rgba(238, 234, 222, 0.6);
}
.mp-home-slideshow__dot.is-active {
	background: rgba(238, 234, 222, 1);
}

/* Kitchen section — beet icon at bottom, “print” reveal on scroll */
.mp-kitchen-repa {
	grid-column: 1 / -1;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	padding-top: 2.5rem;
	margin-top: 0.5rem;
}
.mp-kitchen-repa__svg {
	display: block;
	width: 80px;
	height: auto;
}
/* Stroke: draw on quickly with stepped “wild hand” feel */
.mp-kitchen-repa__stroke {
	stroke-dashoffset: 0;
}
.mp-kitchen-repa__fill {
	fill-opacity: 1;
}

/* Full-bleed image — */
.mp-home-bleed {
	width: 100vw;
	max-width: none;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	aspect-ratio: 1516 / 911;
	overflow: hidden;
	border-radius: 10px 0 0 10px;
}
.mp-home-bleed img,
.mp-home-bleed video {
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: cover;
	display: block;
}
@media (max-width: 1024px) {
	.mp-home-cream {
		padding: 72px 0 80px;
	}
	.mp-home-intro {
		margin-bottom: 56px;
	}
	.mp-home-row--kitchen {
		grid-template-columns: 1fr;
		gap: 24px;
		margin-bottom: 56px;
	}
	.mp-home-row--farm {
		margin-bottom: 48px;
	}
	.mp-home-row--krajina {
		margin-top: 56px;
	}
	.mp-home-section,
	.mp-home-section--kitchen,
	.mp-home-section--center {
		max-width: 100%;
		text-align: left;
		margin-left: 0;
		margin-right: 0;
	}
	.mp-home-section__text {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		text-align: left;
	}
	.mp-home-row--farm .mp-home-section__text,
	.mp-home-row--krajina .mp-home-section__text {
		margin-left: 0;
		margin-right: 0;
		text-align: left;
	}
	.mp-home-slideshow {
		max-width: 640px;
		margin: 0 auto;
	}

	.mp-home-slideshow-block--slideshow-only {
		max-width: 640px;
		margin-left: auto;
		margin-right: auto;
	}

	.mp-home-bleed {
		aspect-ratio: 16 / 10;
		border-radius: 0;
	}
}
@media (max-width: 640px) {
	.mp-home-cream {
		padding: 56px 0 64px;
	}
	.mp-home-intro {
		margin-bottom: 40px;
	}
	.mp-home-row--kitchen {
		gap: 16px;
		margin-bottom: 40px;
	}
	.mp-home-row--farm {
		margin-bottom: 36px;
	}
	.mp-home-row--krajina {
		margin-top: 44px;
	}
	.mp-home-slideshow-stack .mp-home-slideshow__dots {
		margin-top: 0.65rem;
	}

}

/* Reusable homepage-derived modules (ACF flexible content) */
.mp-page-modules {
	margin-top: 2.5rem;
}

.mp-page-modules .mp-module + .mp-module {
	margin-top: 2rem;
}

.mp-page-modules .mp-home-cream {
	padding-top: 72px;
	padding-bottom: 72px;
}

@media (max-width: 640px) {
	.mp-page-modules {
		margin-top: 1.5rem;
	}

	.mp-page-modules .mp-module + .mp-module {
		margin-top: 1.25rem;
	}

	.mp-page-modules .mp-home-cream {
		padding-top: 48px;
		padding-bottom: 48px;
	}
}

/* TextAndImage block — #4d3728, two cols 640px, 36px/48px title */
.mp-block--dark {
	background: var(--mp-accent-dark);
	color: var(--mp-text-on-dark);
	padding: 2rem 0;
}

.mp-block--dark .mp-block__content,
.mp-block--dark .mp-block__content .mp-block__title,
.mp-block--dark .mp-block__content .mp-block__text {
	color: var(--mp-text-on-dark);
}

.mp-block--dark .mp-block__content .mp-btn--outline {
	color: var(--mp-text-on-dark);
	border-color: currentColor;
	background: transparent;
}

.mp-block--dark .mp-block__content .mp-btn--outline:hover {
	color: var(--mp-text-on-dark);
	background: rgba(238, 234, 222, 0.15);
	border-color: currentColor;
}

#jakfungujeme {
	scroll-margin-top: calc(var(--mp-nav-height) + 1rem);
}

.mp-block--featured {
	padding: 32px 0;
}
.mp-block__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	align-items: center;
	max-width: var(--mp-shell-max);
	margin: 0 auto;
	padding: 0 var(--mp-gutter);
	box-sizing: border-box;
}
.mp-block__inner--featured {
	padding: 32px var(--mp-gutter);
	gap: 32px;
	max-width: var(--mp-shell-max);
}
@media (max-width: 768px) {
	.mp-block__inner { grid-template-columns: 1fr; }
	.mp-block__inner--featured {
		padding-top: 24px;
		padding-bottom: 24px;
		padding-left: var(--mp-gutter);
		padding-right: var(--mp-gutter);
	}
}
.mp-block__title {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-4xl);
	line-height: 1.33;
	color: inherit;
	margin: 0 0 1rem;
}
.mp-block--featured .mp-block__title {
	font-size: var(--mp-text-4xl);
	line-height: var(--mp-heading-display-line);
}
.mp-block__text {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-lg);
	line-height: 1.55;
	color: inherit;
	margin: 0 0 1rem;
	max-width: 640px;
}
.mp-block--featured .mp-block__text {
	font-size: var(--mp-text-lg);
	line-height: var(--mp-body-display-line);
	margin-bottom: 32px;
}
.mp-block__image img {
	width: 100%;
	height: auto;
	border-radius: var(--mp-radius);
	max-width: 640px;
}

.mp-block__image--featured {
	max-width: 640px;
	width: 100%;
	border-radius: var(--mp-radius);
	overflow: hidden;
	aspect-ratio: 4 / 5;
	height: auto;
}

.mp-block__image--featured img {
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
	max-width: none;
	display: block;
}

@media (max-width: 768px) {
	.mp-block__image--featured {
		max-width: none;
	}
}
.mp-page-title {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-4xl);
	line-height: 1.2;
	color: var(--mp-accent);
	margin-bottom: 1rem;
}
.mp-intro {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-lg);
	line-height: 1.6;
	color: var(--mp-accent);
	margin-bottom: 2rem;
	max-width: 640px;
}

/* Shop archive — */
.mp-shop {
	background: var(--mp-bg-cream);
	padding: 16px 0 4rem;
}

.mp-shop__inner {
	width: 100%;
	max-width: var(--mp-shell-max);
	margin: 0 auto;
	padding-left: var(--mp-gutter);
	padding-right: var(--mp-gutter);
	box-sizing: border-box;
}

.mp-shop__top {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-bottom: 0;
}

.mp-shop__filters-bar {
	position: sticky;
	top: var(--mp-nav-height);
	z-index: 40;
	margin: 32px calc(-1 * var(--mp-gutter)) 0;
	padding: 12px var(--mp-gutter) 16px;
	background: var(--mp-bg-cream);
	transition: top 0.63s cubic-bezier(0.2, 0, 0, 1);
}

body.admin-bar .mp-shop__filters-bar {
	top: calc(var(--mp-nav-height) + 32px);
}

@media (max-width: 782px) {
	body.admin-bar .mp-shop__filters-bar {
		top: calc(var(--mp-nav-height) + 46px);
	}
}

/* When nav hides on scroll-down, filters pin to the top edge. */
body:has(.mp-nav.is-hidden) .mp-shop__filters-bar {
	top: 0;
}

body.admin-bar:has(.mp-nav.is-hidden) .mp-shop__filters-bar {
	top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar:has(.mp-nav.is-hidden) .mp-shop__filters-bar {
		top: 46px;
	}
}

.mp-shop__filters-bar.is-stuck {
	box-shadow: 0 8px 18px rgba(44, 45, 52, 0.08);
}

.mp-shop__filters-bar .mp-shop__filters {
	margin-bottom: 0;
}

.mp-shop__filters-sentinel {
	height: 1px;
	margin: 0;
	padding: 0;
	pointer-events: none;
	visibility: hidden;
}

/* Filters: pill buttons, left-aligned, 8px gap (*/
.mp-shop__filters {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	align-self: flex-start;
	margin: 0 0 20px 0;
	padding: 0;
	list-style: none;
}

.mp-shop-filter {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	padding: 8px 16px;
	border: 1px solid var(--mp-accent);
	border-radius: var(--mp-radius-pill);
	background: transparent;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.16px;
	text-decoration: none;
	text-transform: lowercase;
	color: var(--mp-accent);
	transition: background 0.22s ease, color 0.22s ease;
}

.mp-shop-filter:hover {
	background: rgba(63, 84, 60, 0.08);
}

.mp-shop-filter.is-active {
	background: var(--mp-accent);
	color: var(--mp-text-on-dark);
}

.mp-shop-filter.is-disabled {
	border-color: rgba(63, 84, 60, 0.45);
	color: rgba(63, 84, 60, 0.65);
	pointer-events: none;
}

/* Title: H2 36/48, Season Mix, left, max 640px */
.mp-shop__title {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-4xl);
	line-height: var(--mp-heading-display-line);
	font-weight: 420;
	letter-spacing: 0;
	color: var(--mp-accent);
	text-align: left;
	max-width: 640px;
	margin: 0 0 22px;
	width: 100%;
}

/* Intro: body 18/28, Season Mix, left, max 640px */
.mp-shop__intro {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-lg);
	line-height: var(--mp-body-display-line);
	font-weight: 420;
	letter-spacing: 0;
	color: var(--mp-accent);
	text-align: left;
	max-width: 640px;
	margin: 0;
	width: 100%;
}

.mp-shop__intro p,
.mp-shop__intro div {
	text-align: left;
	margin: 0 0 0.5em;
}

.mp-shop__intro p:last-child,
.mp-shop__intro div:last-child {
	margin-bottom: 0;
}

/* Product grid: 60px from intro (*/
.mp-shop__products {
	margin-top: 46px;
}

/* Grid obchod: 2 mobile, 4 per row from tablet until mobile; no left gap */
.mp-shop__products.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 16px;
	row-gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
	justify-items: stretch;
	align-content: start;
}

/* Remove WooCommerce clearfix pseudo-elements that add unwanted space */
.mp-shop__products.woocommerce ul.products::before,
.mp-shop__products.woocommerce ul.products::after {
	content: none;
	display: none;
}

/* Reset any WooCommerce or theme left spacing on first product */
.mp-shop__products.woocommerce ul.products li.product:first-child,
.mp-shop__products.woocommerce ul.products li.product.first {
	margin-left: 0;
	padding-left: 0;
}

@media (min-width: 769px) {
	.mp-shop__products.woocommerce ul.products:not(.mp-zazitky-grid) {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.mp-shop__products.woocommerce ul.products li.product {
	float: none;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	justify-self: stretch;
}

/* Card: fill grid cell */
.mp-shop .mp-product-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
	min-width: 0;
	margin: 0;
}

/* Container: 8px gap between image and info */
.mp-shop .mp-product-card__top {
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1 1 auto;
	min-width: 0;
}

.mp-shop .mp-product-card__image-link,
.mp-shop .mp-product-card__link {
	display: block;
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
	overflow: visible;
	text-decoration: none;
	color: inherit;
}

.mp-shop .mp-product-card__image-link:hover,
.mp-shop .mp-product-card__link:hover {
	transform: none;
	box-shadow: none;
}

/* Image hover CTA — same pill as pokoje / stůl */
.mp-shop .mp-product-card__image-cta {
	position: absolute;
	left: 16px;
	bottom: 16px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 1.25rem;
	border: 0;
	border-radius: var(--mp-radius-pill, 999px);
	background: var(--mp-accent, #3f543c);
	color: var(--mp-text-on-dark, #eeeade);
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	opacity: 0;
	transform: translateY(6px);
	pointer-events: none;
	transition: opacity 0.28s ease, transform 0.28s ease, background-color 0.18s ease;
}

.mp-shop .mp-product-card__image-link:hover .mp-product-card__image-cta,
.mp-shop .mp-product-card__image-link:focus-visible .mp-product-card__image-cta,
.mp-shop .mp-product-card__link:hover .mp-product-card__image-cta,
.mp-shop .mp-product-card__link:focus-visible .mp-product-card__image-cta {
	opacity: 1;
	transform: translateY(0);
}

/* Image: 4:5 frame, img fills and crops */
.mp-shop .mp-product-card__image {
	position: relative;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	border-radius: 4px;
	overflow: hidden;
	flex-shrink: 0;
}

.mp-shop .mp-product-card__image-inner {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.mp-shop .mp-product-card__image img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: block;
	margin: 0;
	object-fit: cover;
	object-position: center;
	transition: transform 0.6s ease;
}

.mp-shop .mp-product-card__image-link:hover .mp-product-card__image:not(.mp-product-card__image--gallery) img,
.mp-shop .mp-product-card__link:hover .mp-product-card__image:not(.mp-product-card__image--gallery) img {
	transform: scale(1.05);
}

.mp-shop .mp-product-card__image--gallery img {
	opacity: 0;
	transform: none;
	transition: opacity 0.5s ease;
	pointer-events: none;
}

.mp-shop .mp-product-card__image--gallery img.is-active {
	opacity: 1;
	z-index: 1;
}

.mp-shop .mp-product-card__image--placeholder .mp-product-card__image-inner {
	background: var(--mp-border);
	display: flex;
	align-items: center;
	justify-content: center;
}

.mp-shop .mp-product-card__image--placeholder .mp-product-card__placeholder {
	position: relative;
	z-index: 0;
}

/* Title + price row */
.mp-shop .mp-product-card__info {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 8px;
	font-size: var(--mp-text-lg);
	line-height: 28px;
	padding: 0;
	margin: 0;
	color: #3f543c;
}

.mp-shop .mp-product-card__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 0 8px;
	margin: 0;
}

.mp-shop .mp-product-card__title a,
.mp-shop .mp-product-card__price,
.mp-shop .mp-product-card__desc {
	color: inherit;
	text-decoration: none;
}

.mp-shop .mp-product-card__dates-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	padding: 0 8px;
	margin: 0;
}

.mp-shop .mp-product-card__desc {
	display: block;
	padding: 0 8px;
}

/* Override WooCommerce .woocommerce ul.products li.product heading (higher specificity) */
.mp-shop .mp-shop__products.woocommerce ul.products li.product h2.mp-product-card__title {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-md);
	font-weight: 420;
	line-height: 22px;
	letter-spacing: 0;
	margin: 0;
	color: inherit;
	/* Share the row with price; wrap long names inside the card. */
	flex: 1 1 auto;
	min-width: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.mp-shop .mp-shop__products.woocommerce ul.products:not(.mp-zazitky-grid) .mp-product-card__title a {
	display: inline;
	overflow-wrap: inherit;
	word-break: inherit;
}

/* Match title: 18px / 28px; high specificity to override WooCommerce */
.mp-shop .mp-shop__products.woocommerce ul.products li.product .mp-product-card__price,
.mp-shop .mp-product-card__price {
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-sm);
	font-weight: 500;
	line-height: 1.4;
	text-align: right;
	flex-shrink: 0;
	color: inherit;
}

/* Short description below title/price */
/* Obchod only: hide short description under title/price */
.mp-shop .mp-shop__products.woocommerce ul.products:not(.mp-zazitky-grid) .mp-product-card__desc {
	display: none;
}

.mp-shop .mp-product-card__desc {
	flex-basis: 100%;
	width: 100%;
	order: 3;
	margin: 0.5rem 0 0;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	line-height: 1.45;
	font-weight: 400;
	color: var(--mp-accent);
}

/* Tag: border #a68864, 10px uppercase, transparent bg (*/
.mp-shop .mp-product-card__chip,
.mp-shop .mp-shop-tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	padding: 4px 8px;
	border: 1px solid #a68864;
	border-radius: 16px;
	background: transparent !important;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-xs);
	font-weight: 500;
	letter-spacing: 0.1px;
	text-transform: uppercase;
	color: #a68864 !important;
	margin-top: 0;
}

.mp-shop__empty {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-lg);
	line-height: 28px;
	color: var(--mp-accent);
	margin: 32px 0;
	text-align: center;
}

@media (max-width: 1024px) {
	.mp-shop {
		padding: 16px 0 180px;
	}
	.mp-shop__products {
		margin-top: 38px;
	}
	.mp-stul,
	.mp-pokoje,
	.mp-pokoje-nabidka,
	.mp-platba {
		padding: 16px 0 180px;
	}
	.mp-stul-grid,
	.mp-pokoje-grid {
		margin-top: 38px;
	}
}

@media (max-width: 640px) {
	.mp-shop {
		padding: 16px 0 72px;
	}
	.mp-shop__title {
		font-size: var(--mp-text-3xl);
		line-height: 42px;
		margin-bottom: 16px;
	}
	.mp-shop__intro {
		font-size: var(--mp-text-md);
		line-height: 24px;
	}
	.mp-shop__filters {
		margin-bottom: 24px;
	}
	.mp-shop__products {
		margin-top: 28px;
	}
	.mp-stul,
	.mp-pokoje,
	.mp-pokoje-nabidka,
	.mp-platba {
		padding: 16px 0 72px;
	}
	.mp-stul__header-wrap,
	.mp-pokoje__header-wrap,
	.mp-pokoje-nabidka__header-wrap {
		margin-bottom: 24px;
	}
	.mp-stul-grid,
	.mp-pokoje-grid {
		margin-top: 28px;
	}
}

/* Single product — */
.mp-single-product {
	background: var(--mp-bg-cream);
	padding: 1rem 0 4rem;
}

/* Storefront Woo notices — interactive toast cards (shared --mp-notice-* tokens).
   Scoped to body.site so cart/product notices outside the wrapper still match.
   JS elevates them into .mp-sf-notice-host; raw Woo nodes stay as no-JS fallback. */
.woocommerce-notices-wrapper {
	width: 100%;
	max-width: var(--mp-shell-max, 1920px);
	margin: 0 auto;
	padding: 0.75rem var(--mp-gutter, 1.25rem) 0;
	box-sizing: border-box;
}

.woocommerce-notices-wrapper:empty {
	display: none;
	padding: 0;
}

@keyframes mp-notice-in {
	from {
		opacity: 0;
		transform: translate3d(0, var(--mp-reveal-y, 14px), 0);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes mp-notice-out {
	to {
		opacity: 0;
		transform: translate3d(0, -8px, 0);
	}
}

.mp-sf-notice-host {
	position: fixed;
	top: calc(var(--mp-nav-height, 58px) + 12px);
	left: 50%;
	z-index: 1200;
	display: none;
	flex-direction: column;
	gap: 0.65rem;
	width: min(26rem, calc(100vw - (2 * var(--mp-gutter, 1.25rem))));
	margin: 0;
	padding: 0;
	transform: translateX(-50%);
	pointer-events: none;
}

.mp-sf-notice-host.is-active {
	display: flex;
}

.mp-sf-notice-host--checkout {
	top: calc(var(--mp-nav-height, 58px) + var(--iac-co-topbar-h, 74px) + 12px);
	z-index: 1400;
}

.mp-sf-notice-host--thankyou {
	top: calc(var(--mp-nav-height, 58px) + 16px);
	z-index: 1300;
}

.woocommerce-NoticeGroup.is-mp-sf-empty,
.woocommerce-notices-wrapper.is-mp-sf-empty {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.mp-sf-notice-card--sticky {
	padding-bottom: var(--mp-notice-pad-y);
}

.mp-sf-notice-card {
	position: relative;
	pointer-events: auto;
	overflow: hidden;
	padding: var(--mp-notice-pad-y) calc(var(--mp-notice-pad-x) + 2rem) var(--mp-notice-pad-y) var(--mp-notice-pad-x);
	border: 1px solid var(--mp-notice-border, color-mix(in srgb, var(--mp-green, #3f543c) 22%, transparent));
	border-left: 3px solid var(--mp-notice-accent-info, var(--mp-green, #3f543c));
	border-radius: var(--mp-notice-radius);
	background: var(--mp-notice-surface, var(--mp-bg-cream, #eeeade));
	box-shadow: var(--mp-notice-shadow, none);
	color: var(--mp-green, #3f543c);
	font-family: var(--mp-font-sans);
	opacity: 0;
	transform: translate3d(0, var(--mp-reveal-y, 14px), 0);
}

.mp-sf-notice-card.is-visible {
	animation: mp-notice-in var(--mp-t-base, 0.55s) var(--mp-ease-luxury, cubic-bezier(0.22, 1, 0.36, 1)) both;
}

.mp-sf-notice-card.is-leave {
	animation: mp-notice-out var(--mp-t-fast, 0.28s) var(--mp-ease-exit, ease) forwards;
}

.mp-sf-notice-card--success {
	border-color: color-mix(in srgb, var(--mp-notice-accent-success, var(--mp-green, #3f543c)) 28%, transparent);
	border-left-color: var(--mp-notice-accent-success, var(--mp-green, #3f543c));
	color: var(--mp-notice-accent-success, var(--mp-green, #3f543c));
}

.mp-sf-notice-card--error {
	border-color: color-mix(in srgb, var(--mp-notice-accent-error, var(--mp-accent-dark, #4d3728)) 28%, transparent);
	border-left-color: var(--mp-notice-accent-error, var(--mp-accent-dark, #4d3728));
	color: var(--mp-notice-accent-error, var(--mp-accent-dark, #4d3728));
}

.mp-sf-notice-card__dismiss {
	position: absolute;
	top: 0.35rem;
	right: 0.35rem;
	display: inline-grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: var(--mp-radius, 10px);
	background: transparent;
	color: inherit;
	font-size: var(--mp-text-xl);
	line-height: 1;
	cursor: pointer;
	opacity: 0.45;
	transition: opacity var(--mp-t-fast, 0.28s) var(--mp-ease-soft, ease);
}

.mp-sf-notice-card__dismiss:hover,
.mp-sf-notice-card__dismiss:focus-visible {
	opacity: 1;
	background: transparent;
	outline: none;
}

.mp-sf-notice-card__progress {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	overflow: hidden;
	background: color-mix(in srgb, currentColor 12%, transparent);
}

.mp-sf-notice-card__progress-bar {
	display: block;
	width: 100%;
	height: 100%;
	transform: scaleX(1);
	transform-origin: left center;
	background: currentColor;
	opacity: 0.55;
	transition: opacity var(--mp-t-fast, 0.28s) var(--mp-ease-soft, ease);
}

.mp-sf-notice-card.is-paused .mp-sf-notice-card__progress-bar {
	opacity: 0.22;
}

.mp-sf-notice-card--sticky .mp-sf-notice-card__progress {
	display: none;
}

.mp-sf-notice {
	display: grid;
	gap: 0.4rem;
	padding-right: 0.15rem;
}

.mp-sf-notice__kicker {
	margin: 0;
	color: color-mix(in srgb, currentColor 70%, transparent);
	font-size: var(--mp-text-sm);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.mp-sf-notice__title {
	margin: 0;
	font-family: var(--mp-font-display, var(--mp-font-sans));
	font-size: var(--mp-text-xl);
	font-weight: 500;
	letter-spacing: 0;
	line-height: var(--mp-lead-xl, 1.3);
	color: inherit;
}

.mp-sf-notice__text,
.mp-sf-notice-card__plain {
	margin: 0;
	font-size: var(--mp-text-md);
	font-weight: 500;
	line-height: var(--mp-lead-md, 1.45);
	color: color-mix(in srgb, currentColor 88%, transparent);
}

.mp-sf-notice__item {
	font-weight: 700;
	color: inherit;
}

/* Spacing only — primary look comes from global .mp-btn / .mp-btn--primary. */
.mp-sf-notice__cta {
	width: fit-content;
	margin-top: 0.65rem;
	justify-content: center;
	text-decoration: none;
}

/* Exclude checkout + order-received: those surfaces own layout/motion via plugin CSS. */
body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-error,
body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-info,
body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-message,
.mp-single-product > .woocommerce-error,
.mp-single-product > .woocommerce-info,
.mp-single-product > .woocommerce-message {
	display: block;
	width: 100%;
	max-width: min(40rem, 100%);
	min-height: 0;
	margin: 0 0 0.65rem;
	padding: var(--mp-notice-pad-y) var(--mp-notice-pad-x) var(--mp-notice-pad-y) calc(var(--mp-notice-pad-x) + 2px);
	list-style: none !important;
	border: 1px solid var(--mp-notice-border, color-mix(in srgb, var(--mp-green, #3f543c) 22%, transparent));
	border-radius: var(--mp-notice-radius);
	border-left: 3px solid var(--mp-notice-accent-info, var(--mp-green, #3f543c));
	background: var(--mp-notice-surface, var(--mp-bg-cream, #eeeade));
	box-shadow: none;
	box-sizing: border-box;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0;
	text-align: left;
	text-transform: none;
	color: var(--mp-green, #3f543c);
	outline: none;
	animation: mp-notice-in var(--mp-t-base, 0.55s) var(--mp-ease-luxury, cubic-bezier(0.22, 1, 0.36, 1)) both;
}

body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-message,
.mp-single-product > .woocommerce-message {
	border-color: color-mix(in srgb, var(--mp-notice-accent-success, var(--mp-green, #3f543c)) 28%, transparent);
	border-left-color: var(--mp-notice-accent-success, var(--mp-green, #3f543c));
	background: var(--mp-notice-surface, var(--mp-bg-cream, #eeeade));
	color: var(--mp-notice-accent-success, var(--mp-green, #3f543c));
}

body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-error,
.mp-single-product > .woocommerce-error {
	border-color: color-mix(in srgb, var(--mp-notice-accent-error, var(--mp-accent-dark, #4d3728)) 28%, transparent);
	border-left-color: var(--mp-notice-accent-error, var(--mp-accent-dark, #4d3728));
	background: var(--mp-notice-surface, var(--mp-bg-cream, #eeeade));
	color: var(--mp-notice-accent-error, var(--mp-accent-dark, #4d3728));
}

body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-info,
.mp-single-product > .woocommerce-info {
	border-color: var(--mp-notice-border, color-mix(in srgb, var(--mp-green, #3f543c) 22%, transparent));
	border-left-color: var(--mp-notice-accent-info, var(--mp-green, #3f543c));
	background: var(--mp-notice-surface, var(--mp-bg-cream, #eeeade));
	color: var(--mp-green, #3f543c);
}

/* Kill WooCommerce icon font glyphs (stray “dots”) and list markers. */
body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-error::before,
body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-info::before,
body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-error::before,
.woocommerce-notices-wrapper .woocommerce-info::before,
.woocommerce-notices-wrapper .woocommerce-message::before,
.mp-single-product > .woocommerce-error::before,
.mp-single-product > .woocommerce-info::before,
.mp-single-product > .woocommerce-message::before {
	content: none !important;
	display: none !important;
	speak: never;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0 !important;
	line-height: 0 !important;
	border: 0 !important;
	background: none !important;
}

body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-error li,
body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-info li,
body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-message li,
.woocommerce-notices-wrapper .woocommerce-error li,
.woocommerce-notices-wrapper .woocommerce-info li,
.woocommerce-notices-wrapper .woocommerce-message li,
.mp-single-product > .woocommerce-error li,
.mp-single-product > .woocommerce-info li,
.mp-single-product > .woocommerce-message li {
	list-style: none !important;
	margin: 0;
	padding: 0;
}

body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-error li::marker,
body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-info li::marker,
body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-message li::marker,
.woocommerce-notices-wrapper .woocommerce-error li::marker,
.woocommerce-notices-wrapper .woocommerce-info li::marker,
.woocommerce-notices-wrapper .woocommerce-message li::marker,
.mp-single-product > .woocommerce-error li::marker,
.mp-single-product > .woocommerce-info li::marker,
.mp-single-product > .woocommerce-message li::marker {
	content: "";
	font-size: 0;
}

body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-error li + li,
body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-info li + li,
body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-message li + li,
.woocommerce-notices-wrapper .woocommerce-error li + li,
.woocommerce-notices-wrapper .woocommerce-info li + li,
.woocommerce-notices-wrapper .woocommerce-message li + li,
.mp-single-product > .woocommerce-error li + li,
.mp-single-product > .woocommerce-info li + li,
.mp-single-product > .woocommerce-message li + li {
	margin-top: 0.55rem;
	padding-top: 0.55rem;
	border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}

body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-error a,
body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-info a,
body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-message a,
.woocommerce-notices-wrapper .woocommerce-error a,
.woocommerce-notices-wrapper .woocommerce-info a,
.woocommerce-notices-wrapper .woocommerce-message a,
.mp-single-product > .woocommerce-error a,
.mp-single-product > .woocommerce-info a,
.mp-single-product > .woocommerce-message a {
	color: inherit;
	font-weight: 500;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-error a:hover,
body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-info a:hover,
body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-message a:hover,
.mp-single-product > .woocommerce-error a:hover,
.mp-single-product > .woocommerce-info a:hover,
.mp-single-product > .woocommerce-message a:hover,
body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-error a:focus-visible,
body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-info a:focus-visible,
body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-message a:focus-visible,
.woocommerce-notices-wrapper .woocommerce-error a:hover,
.woocommerce-notices-wrapper .woocommerce-info a:hover,
.woocommerce-notices-wrapper .woocommerce-message a:hover,
.woocommerce-notices-wrapper .woocommerce-error a:focus-visible,
.woocommerce-notices-wrapper .woocommerce-info a:focus-visible,
.woocommerce-notices-wrapper .woocommerce-message a:focus-visible,
.mp-single-product > .woocommerce-error a:focus-visible,
.mp-single-product > .woocommerce-info a:focus-visible,
.mp-single-product > .woocommerce-message a:focus-visible {
	text-decoration-thickness: 2px;
	outline: none;
}

@media (max-width: 768px) {
	.mp-sf-notice-host {
		top: calc(var(--mp-nav-height, 58px) + 8px);
		width: calc(100vw - 1rem);
	}

	body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-error,
	body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-info,
	body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-message,
	.woocommerce-notices-wrapper .woocommerce-error,
	.woocommerce-notices-wrapper .woocommerce-info,
	.woocommerce-notices-wrapper .woocommerce-message,
	.mp-single-product > .woocommerce-error,
	.mp-single-product > .woocommerce-info,
	.mp-single-product > .woocommerce-message {
		max-width: none;
		padding: 0.9rem 1rem;
		padding-left: calc(1rem + 2px);
		font-size: var(--mp-text-md);
		line-height: 1.4;
	}

	body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-error a,
	body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-info a,
	body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-message a,
	.woocommerce-notices-wrapper .woocommerce-error a,
	.woocommerce-notices-wrapper .woocommerce-info a,
	.woocommerce-notices-wrapper .woocommerce-message a,
	.mp-single-product > .woocommerce-error a,
	.mp-single-product > .woocommerce-info a,
	.mp-single-product > .woocommerce-message a {
		display: inline-block;
		padding: 0.35rem 0;
		text-underline-offset: 0.22em;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-error,
	body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-info,
	body.site:not(.woocommerce-checkout):not(.woocommerce-order-received) .woocommerce-message,
	.woocommerce-notices-wrapper .woocommerce-error,
	.woocommerce-notices-wrapper .woocommerce-info,
	.woocommerce-notices-wrapper .woocommerce-message,
	.mp-single-product > .woocommerce-error,
	.mp-single-product > .woocommerce-info,
	.mp-single-product > .woocommerce-message,
	.mp-sf-notice-card.is-visible,
	.mp-sf-notice-card.is-leave,
	.mp-sf-notice__cta,
	.mp-sf-notice-card__dismiss {
		animation: none;
		transition: none;
		filter: none;
		transform: none;
	}
}

.mp-product-detail {
	width: 100%;
	max-width: var(--mp-shell-max);
	margin: 0 auto;
	padding-left: var(--mp-gutter);
	padding-right: var(--mp-gutter);
	box-sizing: border-box;
}
.mp-product-detail__layout {
	display: grid;
	grid-template-columns: minmax(320px, 640px) minmax(320px, 640px);
	gap: clamp(1.5rem, 6vw, 10.5rem);
	align-items: start;
	justify-content: space-between;
}
.mp-product-detail__content,
.mp-product-detail__left {
	padding-top: 0.625rem;
	position: sticky;
	top: calc(var(--mp-nav-height) + 1rem);
	align-self: start;
	grid-column: 1;
	grid-row: 1;
}

body.admin-bar .mp-product-detail__content,
body.admin-bar .mp-product-detail__left {
	top: calc(var(--mp-nav-height) + 32px + 1rem);
}

@media (max-width: 782px) {
	body.admin-bar .mp-product-detail__content,
	body.admin-bar .mp-product-detail__left {
		top: calc(var(--mp-nav-height) + 46px + 1rem);
	}
}
.mp-product-detail__gallery,
.mp-product-detail__right {
	grid-column: 2;
	grid-row: 1;
}

.mp-product-detail__gallery-stack {
	display: none;
}

.mp-product-detail__gallery-static {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.125rem;
}
.mp-product-detail__close-wrap {
	margin: 2rem 0 0;
	padding: 0;
}

.mp-product-detail__close {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	padding: 0;
	border: 0;
	border-radius: 0;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	font-weight: 700;
	line-height: 1.3;
	color: var(--mp-green);
	text-decoration: none;
}

.mp-product-detail__close-arrow {
	display: inline-block;
	font-weight: 700;
	line-height: 1;
}

.mp-product-detail__close:hover,
.mp-product-detail__close:focus-visible {
	text-decoration: underline;
	outline: none;
}
.mp-product-detail__title {
	margin: 0.5rem 0 0.25rem;
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-4xl);
	line-height: 1.33;
	color: var(--mp-accent);
}
.mp-product-detail__tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 18px;
	margin: 0.5rem 0 0;
	padding: 0.1rem 0.5rem;
	border: 1px solid var(--mp-footer);
	border-radius: 16px;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-xs);
	font-weight: 500;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	color: var(--mp-footer);
}
.mp-product-detail__intro {
	margin: 0.625rem 0 0;
	max-width: 640px;
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-lg);
	line-height: 1.56;
	color: var(--mp-accent);
}
.mp-product-detail__price {
	margin: 0.75rem 0 0;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
	color: var(--mp-accent);
}
.mp-product-detail__price .woocommerce-Price-amount,
.mp-product-detail__price .woocommerce-Price-currencySymbol,
.mp-product-detail__price bdi {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	color: inherit;
}
.mp-product-detail__price del {
	margin-right: 0.4rem;
	font-weight: 500;
	opacity: 0.55;
}
.mp-product-detail__price ins {
	text-decoration: none;
}
.mp-product-detail__add-to-cart {
	margin-top: 1rem;
}
.mp-product-detail__price-label {
	display: inline-block;
}
.mp-zazitky-waitlist {
	margin: 0;
	width: 100%;
	max-width: 28rem;
}
.mp-zazitky-waitlist__lede {
	margin: 0 0 0.65rem;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 700;
	line-height: 1.625;
	color: var(--mp-accent-dark, #4d3728);
}
.mp-zazitky-waitlist__controls {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.5rem;
}
/* Match checkout billing email (iac-checkout .input-text). */
.mp-zazitky-waitlist__email.mp-input {
	min-width: 0;
	height: var(--mp-button-height, 52px);
	min-height: var(--mp-button-height, 52px);
	max-height: none;
	padding: 0 1rem;
	border: 1px solid var(--mp-border, rgba(44, 45, 52, 0.12));
	border-radius: var(--mp-radius-control, 10px);
	background: #fff;
	color: #4d3728;
	font-size: var(--mp-text-md);
	font-weight: 500;
	line-height: 1.25;
	box-sizing: border-box;
	box-shadow: none;
	transition: border-color 0.22s ease, background-color 0.22s ease;
}
.mp-zazitky-waitlist__email.mp-input:hover {
	border-color: var(--mp-green, var(--mp-accent, #3f543c));
}
.mp-zazitky-waitlist__email.mp-input:focus {
	outline: none;
	border-color: var(--mp-green, var(--mp-accent, #3f543c));
	box-shadow: none;
	background: #fff;
}
.mp-zazitky-waitlist__submit {
	justify-content: center;
	min-height: var(--mp-button-height, 52px);
	white-space: nowrap;
}
.mp-zazitky-waitlist__feedback {
	margin: 0.55rem 0 0;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	color: var(--mp-feedback-success, var(--mp-accent));
}
.mp-zazitky-waitlist__feedback.is-error {
	color: var(--mp-feedback-error, var(--mp-accent-dark));
}
.mp-zazitky-waitlist__feedback.is-success {
	color: var(--mp-feedback-success, var(--mp-accent));
}
@media (max-width: 640px) {
	.mp-zazitky-waitlist__controls {
		grid-template-columns: 1fr;
	}
	.mp-zazitky-waitlist__submit {
		width: 100%;
		justify-content: center;
	}
}
.mp-product-detail__add-to-cart form.cart {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
	margin: 0;
	width: 100%;
	max-width: 100%;
}

/* Voucher: stack package fields, then qty + ATC below */
.mp-product-detail__add-to-cart form.cart:has(.mp-voucher-fields) {
	flex-direction: column;
	align-items: flex-start;
}

.mp-product-detail__add-to-cart form.cart:has(.mp-voucher-fields) .mp-voucher-fields {
	width: 100%;
	max-width: 348px;
	margin-bottom: 0.25rem;
}

.mp-product-detail__add-to-cart form.variations_form.cart {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
	width: 100%;
	max-width: 100%;
}

.mp-product-detail__add-to-cart form.variations_form .variations {
	display: block;
	width: 100%;
	max-width: 348px;
	margin: 0;
	border: 0;
	border-collapse: collapse;
}

.mp-product-detail__add-to-cart form.variations_form .variations tbody,
.mp-product-detail__add-to-cart form.variations_form .variations tr {
	display: block;
	width: 100%;
}

.mp-product-detail__add-to-cart form.variations_form .variations tr + tr {
	margin-top: 1.25rem;
}

.mp-product-detail__add-to-cart form.variations_form .variations th.label,
.mp-product-detail__add-to-cart form.variations_form .variations td.value {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
}

/* Match degustace Datum label */
.mp-product-detail__add-to-cart form.variations_form .variations th.label {
	margin: 0;
	text-align: left;
}

.mp-product-detail__add-to-cart form.variations_form .variations th.label label {
	display: block;
	margin: 0 0 0.5rem;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 700;
	line-height: 1;
	color: var(--mp-accent);
}

/* Match degustace date trigger select */
.mp-product-detail__add-to-cart form.variations_form .variations select {
	-moz-appearance: none;
	appearance: none;
	-webkit-appearance: none;
	display: flex;
	align-items: center;
	width: 100%;
	max-width: 348px;
	height: 40px;
	min-height: 40px;
	padding: 12px 16px;
	padding-right: calc(var(--mp-select-arrow-gap) + 9px + 0.5rem);
	background-color: #fff;
	background-image: var(--mp-select-arrow);
	background-repeat: no-repeat;
	background-position: right var(--mp-select-arrow-gap) center;
	background-size: var(--mp-select-arrow-size);
	border: none;
	border-radius: 8px;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	font-weight: 500;
	line-height: 1;
	color: var(--mp-green);
	cursor: pointer;
	box-sizing: border-box;
}

.mp-product-detail__add-to-cart form.variations_form .variations select:focus {
	outline: none;
	border: none;
	box-shadow: none;
}

/* Gift voucher package select — same as degustace calendar trigger / variation select */
.mp-voucher-fields {
	margin: 0 0 14px;
	width: 100%;
	max-width: 348px;
}

.mp-voucher-fields__label {
	margin: 0 0 6px;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	font-weight: 500;
	line-height: 1.3;
	color: var(--mp-green);
}

.mp-voucher-fields__label--type {
	margin-top: 12px;
}

.mp-voucher-fields__select {
	-moz-appearance: none;
	appearance: none;
	-webkit-appearance: none;
	display: block;
	width: 100%;
	max-width: 348px;
	height: 40px;
	min-height: 40px;
	padding: 0 16px;
	padding-right: calc(var(--mp-select-arrow-gap, 16px) + 9px + 0.5rem);
	background-color: #fff;
	background-image: var(--mp-select-arrow);
	background-repeat: no-repeat;
	background-position: right var(--mp-select-arrow-gap, 16px) center;
	background-size: var(--mp-select-arrow-size, 9px 10px);
	border: none;
	border-radius: 8px;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	font-weight: 500;
	line-height: 40px;
	color: var(--mp-green);
	cursor: pointer;
	box-sizing: border-box;
}

.mp-voucher-fields__select:focus {
	outline: none;
	border: none;
	box-shadow: none;
}

.mp-product-detail__add-to-cart form.variations_form .variations .reset_variations {
	display: none !important;
}

.mp-product-detail__add-to-cart form.variations_form .single_variation_wrap {
	display: contents;
}

.mp-product-detail__add-to-cart form.variations_form .woocommerce-variation-add-to-cart {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
	width: 100%;
	max-width: 348px;
}

.mp-product-detail__add-to-cart form.variations_form .quantity {
	margin: 0;
	align-self: flex-start;
}

.mp-product-detail__add-to-cart form.variations_form .single_add_to_cart_button,
.single-product .mp-product-detail__add-to-cart form.variations_form .single_add_to_cart_button.button.alt {
	flex: 0 1 auto;
	width: 100%;
	max-width: 348px;
}

.mp-product-detail__add-to-cart .woocommerce-variation-price {
	display: none !important;
}
.mp-product-detail__add-to-cart .quantity {
	width: auto;
	max-width: none;
	margin: 0;
	flex: 0 0 auto;
}

.mp-product-detail__add-to-cart .quantity.mp-qty-stepper {
	display: block;
}

.mp-product-detail__add-to-cart .mp-qty-stepper__controls {
	margin: 0;
}

.mp-product-detail__add-to-cart .mp-qty-stepper__input,
.quantity.mp-qty-stepper .mp-qty-stepper__input {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.quantity.mp-qty-stepper {
	position: relative;
}

.mp-product-detail__add-to-cart .single_add_to_cart_button,
.mp-product-detail__add-to-cart .button.alt,
.mp-product-detail__add-to-cart .single_add_to_cart_button.alt {
	flex: 1 1 auto;
	width: auto;
	max-width: 348px;
	min-width: 0;
	height: 52px;
	min-height: 52px;
	padding: 1rem 1.25rem;
	margin: 0;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	border: 0;
	border-radius: var(--mp-radius-pill);
	background: var(--mp-accent);
	color: var(--mp-text-on-dark);
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	box-sizing: border-box;
	text-decoration: none;
	cursor: pointer;
}

.mp-product-detail__add-to-cart .single_add_to_cart_button::after,
.mp-product-detail__add-to-cart .button.alt::after,
.mp-product-detail__add-to-cart .single_add_to_cart_button.alt::after {
	content: none;
}

.mp-product-detail__atc-label {
	display: inline-flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0;
	min-width: 0;
}

.mp-product-detail__atc-meta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	flex-shrink: 0;
	margin-left: auto;
}

.mp-product-detail__atc-price {
	display: inline-block;
	padding-left: 0;
	font-weight: inherit;
	white-space: nowrap;
}

.mp-product-detail__atc-price[hidden] {
	display: none !important;
}

.mp-product-detail__add-to-cart .single_add_to_cart_button:hover,
.mp-product-detail__add-to-cart .button.alt:hover,
.mp-product-detail__add-to-cart .single_add_to_cart_button.alt:hover {
	background: var(--mp-accent-dark);
}

.mp-product-detail__add-to-cart .single_add_to_cart_button.disabled,
.mp-product-detail__add-to-cart .single_add_to_cart_button:disabled,
.mp-product-detail__add-to-cart .button.alt.disabled,
.mp-product-detail__add-to-cart .button.alt:disabled {
	opacity: 0.55;
	cursor: not-allowed;
	transform: none;
}

.single-product .mp-product-detail__add-to-cart .single_add_to_cart_button.button.alt,
.single-product .mp-product-detail__add-to-cart .single_add_to_cart_button.button.alt:visited,
.single-product .mp-product-detail__add-to-cart .single_add_to_cart_button.button.alt:hover,
.single-product .mp-product-detail__add-to-cart .single_add_to_cart_button.button.alt:focus,
.single-product .mp-product-detail__add-to-cart .single_add_to_cart_button.button.alt:focus-visible,
.single-product .mp-product-detail__add-to-cart .single_add_to_cart_button.button.alt:active,
.single-product .mp-product-detail__add-to-cart .single_add_to_cart_button.button.alt.loading,
.single-product .mp-product-detail__add-to-cart .single_add_to_cart_button.button.alt.added {
	background-color: var(--mp-accent) !important;
	color: var(--mp-text-on-dark) !important;
	border-color: var(--mp-accent) !important;
	box-shadow: none !important;
}

/* ATC loading spinner comes from shared .loading utilities above. */
.single-product .mp-product-detail__add-to-cart .single_add_to_cart_button.button.loading,
.single-product .mp-product-detail__add-to-cart .single_add_to_cart_button.button.alt.loading {
	opacity: 1 !important;
}

.single-product .mp-product-detail__add-to-cart .single_add_to_cart_button.button.alt:hover,
.single-product .mp-product-detail__add-to-cart .single_add_to_cart_button.button.alt:focus-visible {
	background-color: var(--mp-accent-dark) !important;
	border-color: var(--mp-accent-dark) !important;
}

.single-product .mp-product-detail__add-to-cart .single_add_to_cart_button.button.alt.disabled,
.single-product .mp-product-detail__add-to-cart .single_add_to_cart_button.button.alt:disabled {
	opacity: 0.55 !important;
}
.mp-product-detail__add-to-cart #wc-stripe-express-checkout-element,
.mp-product-detail__add-to-cart #wc-stripe-payment-request-wrapper,
.mp-product-detail__add-to-cart .wc-stripe-product-checkout-container,
.mp-product-detail__add-to-cart .wc-stripe-payment-request-wrapper,
.mp-product-detail__add-to-cart wc-order-attribution-inputs {
	display: none !important;
}
.mp-product-detail__accordion-group {
	margin-top: 2.125rem;
	max-width: 640px;
}
.mp-product-detail__accordion {
	border-bottom: 1px solid var(--mp-accent-dark, #4d3728);
}
.mp-product-detail__accordion summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	min-height: 35px;
	padding: 0 0.5rem;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 700;
	line-height: 1.625;
	color: var(--mp-accent-dark, #4d3728);
	cursor: pointer;
	list-style: none;
}
.mp-product-detail__accordion summary::-webkit-details-marker {
	display: none;
}
.mp-product-detail__accordion summary span {
	color: inherit;
}
.mp-product-detail__accordion summary span:last-child {
	transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}
.mp-product-detail__accordion[open] summary span:last-child {
	transform: rotate(180deg);
}
.mp-product-detail__accordion-panel {
	display: block;
	overflow: hidden;
	height: 0;
	transition: height 0.38s cubic-bezier(0.22, 1, 0.36, 1);
}
.mp-product-detail__accordion[open] > .mp-product-detail__accordion-panel {
	height: auto;
}
.mp-product-detail__accordion-content {
	padding: 0.25rem 0.5rem 0.95rem;
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-md);
	line-height: 1.625;
	color: var(--mp-accent-dark, #4d3728);
}
.mp-product-detail__accordion-content > *:last-child {
	margin-bottom: 0;
}
@media (prefers-reduced-motion: reduce) {
	.mp-product-detail__accordion summary span:last-child,
	.mp-product-detail__accordion-panel {
		transition: none;
	}
}
.mp-product-detail__right {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.125rem;
}
.mp-product-detail__slideshow.mp-home-slideshow--fade {
	position: relative;
	border-radius: 4px;
	overflow: hidden;
	background: #a68864;
}
.mp-product-detail__slideshow-slide.mp-product-detail__image--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(63, 84, 60, 0.75);
}
.mp-product-detail__image {
	border-radius: 4px;
	overflow: hidden;
	background: #a68864;
}
.mp-product-detail__image-el {
	display: block;
	width: 100%;
	height: 805px;
	object-fit: cover;
}
.mp-product-detail__image--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 805px;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(63, 84, 60, 0.75);
}

@media (max-width: 1280px) {
	.mp-product-detail {
		width: calc(100% - 32px);
	}
	.mp-product-detail__layout {
		gap: clamp(1rem, 4vw, 2.5rem);
	}
	.mp-product-detail__image-el,
	.mp-product-detail__image--placeholder {
		height: 640px;
	}
}

@media (max-width: 980px) {
	.mp-product-detail__layout {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
	.mp-product-detail__gallery,
	.mp-product-detail__right {
		grid-column: 1;
		grid-row: 1;
	}
	.mp-product-detail__content,
	.mp-product-detail__left {
		grid-column: 1;
		grid-row: 2;
		position: static;
		top: auto;
	}
	.mp-product-detail__image-el,
	.mp-product-detail__image--placeholder {
		height: 520px;
	}
}

@media (max-width: 640px) {
	.mp-single-product {
		padding: 0.75rem 0 2.75rem;
	}
	.mp-product-detail {
		width: 100%;
	}
	.mp-product-detail__title {
		font-size: var(--mp-text-3xl);
		line-height: 1.3;
	}
	.mp-product-detail__intro {
		font-size: var(--mp-text-md);
		line-height: 1.5;
	}
	.mp-product-detail__image-el,
	.mp-product-detail__image--placeholder {
		height: 420px;
	}
}

/* -------------------------------------------------------------------------- Form feedback (AJAX) — text-only, shared success/error tokens -------------------------------------------------------------------------- */
.mp-form-feedback {
	display: block;
	margin-top: 0.5rem;
	font-size: var(--mp-text-base);
	text-align: center;
	transition: opacity 220ms ease, transform 220ms ease;
}
.mp-form-feedback:not(:empty) {
	animation: mp-notice-in 0.45s cubic-bezier(0.2, 0.75, 0, 1) both;
}
.mp-form-feedback--success { color: var(--mp-feedback-success, var(--mp-accent)); }
.mp-form-feedback--error { color: var(--mp-feedback-error, var(--mp-accent-dark)); }

/* Search results list */
.mp-search-results {
	list-style: none;
	padding: 0;
	margin: 0 0 2rem;
}
.mp-search-results li {
	margin-bottom: 1.5rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--mp-border);
}
.mp-search-results a {
	font-weight: 700;
}
.mp-search-results .mp-intro,
.mp-search-results p {
	margin: 0.25rem 0 0;
	font-size: var(--mp-text-md);
}

/* -------------------------------------------------------------------------- Product grid (WooCommerce) -------------------------------------------------------------------------- */
.mp-product-grid,
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1.5rem;
	list-style: none;
	padding: 0;
	margin: 0 0 2rem;
}
.mp-product-card__link {
	display: block;
	text-decoration: none;
	color: inherit;
	background: var(--mp-card);
	border: 1px solid var(--mp-border);
	border-radius: 4px;
	overflow: hidden;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.mp-product-card__link:hover {
	transform: translateY(-2px);
	box-shadow: none;
}
.mp-product-card__top {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.mp-product-card__image {
	aspect-ratio: 4 / 5;
	overflow: hidden;
}
.mp-product-card__image-inner {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 200px;
	overflow: hidden;
}
.mp-product-card__image img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.6s ease;
}

.mp-product-card__link:hover .mp-product-card__image:not(.mp-product-card__image--gallery) img,
.mp-product-card__image-link:hover .mp-product-card__image:not(.mp-product-card__image--gallery) img {
	transform: scale(1.05);
}

.mp-product-card__image--gallery img {
	opacity: 0;
	transform: none;
	transition: opacity 0.5s ease;
	pointer-events: none;
}

.mp-product-card__image--gallery img.is-active {
	opacity: 1;
	z-index: 1;
}
.mp-product-card__info {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.5rem 0 0.5rem;
	font-size: var(--mp-text-lg);
	line-height: 28px;
	color: var(--mp-accent);
}
h2.mp-product-card__title,
.mp-product-card__title {
	font-family: var(--mp-font-display);
	font-weight: 420;
	font-size: var(--mp-text-md);
	line-height: 22px;
	letter-spacing: 0;
	margin: 0;
	color: inherit;
}
.mp-product-card__price {
	font-weight: 500;
}
.mp-product-card__chip {
	display: inline-block;
	margin-top: 0.25rem;
	padding: 0.2rem 0.5rem;
	border: 1px solid var(--mp-footer);
	border-radius: 16px;
	background: transparent;
	color: var(--mp-footer);
	font-family: var(--mp-font-sans);
	font-weight: 500;
	font-size: var(--mp-text-xs);
	line-height: 1;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}
.mp-product-card__image--placeholder .mp-product-card__image-inner {
	background: var(--mp-border);
	display: flex;
	align-items: center;
	justify-content: center;
}
.mp-product-card__image--placeholder {
	background: var(--mp-border);
}
.mp-product-card__placeholder {
	font-size: var(--mp-text-base);
	color: var(--mp-text);
	opacity: 0.6;
}
.mp-nav__logo-text,
.mp-footer__logo-text {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-xl);
	color: var(--mp-accent);
}

/* -------------------------------------------------------------------------- Degustace page ( -------------------------------------------------------------------------- */
.mp-degustace {
	--mp-green: #3f543c;
	--mp-accent: #3f543c;
	background: var(--mp-bg-cream);
	margin: 0;
	padding: 0;
	min-height: 100vh;
}

.mp-degustace__top {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 0;
	padding: 0 var(--mp-gutter) 1.5rem;
	box-sizing: border-box;
}

.mp-degustace__filters {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	align-self: flex-start;
	margin: 0 0 24px 0;
	padding: 0;
	list-style: none;
}

.mp-degustace-filter {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	padding: 8px 16px;
	border: 1px solid var(--mp-accent);
	border-radius: var(--mp-radius-pill);
	background: transparent;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.16px;
	text-decoration: none;
	color: var(--mp-accent);
	transition: background 0.22s ease, color 0.22s ease;
}

.mp-degustace-filter:hover {
	background: rgba(63, 84, 60, 0.08);
}

.mp-degustace-filter.is-active {
	background: var(--mp-accent);
	color: var(--mp-text-on-dark);
}

.mp-degustace__title {
	text-align: center;
	max-width: 640px;
	margin: 0 auto;
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-4xl);
	line-height: 1.2;
	color: var(--mp-accent);
}

.mp-degustace__inner {
	display: grid;
	grid-template-columns: 33% 348px 33%;
	gap: 2rem 2.5rem;
	align-items: start;
	max-width: var(--mp-shell-max);
	margin: 32px auto;
	padding: 0 var(--mp-gutter) 32px;
	box-sizing: border-box;
}

.mp-degustace__inner.mp-container {
	padding-left: var(--mp-gutter);
	padding-right: var(--mp-gutter);
}

@media (min-width: 1201px) {
	.mp-degustace__gallery-split {
		width: 100%;
	}
}

@media (max-width: 1200px) {
	.mp-degustace__inner {
		grid-template-columns: 33% 1fr;
	}
	.mp-degustace__gallery-wrap {
		grid-column: 1 / -1;
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		justify-content: flex-start;
		max-width: none;
	}
	.mp-degustace__gallery-split {
		width: 33%;
	}
}

@media (max-width: 768px) {
	.mp-degustace__inner {
		grid-template-columns: 1fr;
		padding: 4rem 0 2rem;
	}
	/* Keep booking form above media on mobile for faster reservation flow. */
	.mp-degustace__form-wrap { order: 1; }
	.mp-degustace__gallery-wrap { order: 2; }

	/* Večeře / Obědy / Nedělní oběd: headline → description → form → gallery */
	.mp-degustace--mobile-stack .mp-degustace__inner {
		display: flex;
		flex-direction: column;
		padding-left: var(--mp-gutter);
		padding-right: var(--mp-gutter);
	}

	.mp-degustace--mobile-stack .mp-degustace__left {
		display: contents;
	}

	.mp-degustace--mobile-stack .mp-degustace__heading {
		order: 1;
	}

	.mp-degustace--mobile-stack .mp-degustace__intro {
		order: 2;
	}

	.mp-degustace--mobile-stack .mp-degustace__form-wrap {
		order: 3;
	}

	.mp-degustace--mobile-stack .mp-degustace__vector {
		order: 4;
	}

	.mp-degustace--mobile-stack .mp-degustace__gallery-wrap {
		order: 5;
	}

	.mp-degustace--mobile-stack .mp-degustace__form-wrap {
		scroll-margin-top: calc(var(--mp-nav-height, 64px) + 0.75rem);
	}
}

.mp-degustace__form-wrap {
	position: sticky;
	top: 2rem;
	align-self: start;
}

/* Left column: intro + vector */
.mp-degustace__left {
	position: relative;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.mp-degustace__heading {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-4xl);
	line-height: 1.2;
	color: var(--mp-accent);
	margin: 0 0 1rem;
	max-width: 100%;
}

.mp-degustace__intro {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-lg);
	line-height: 28px;
	color: var(--mp-accent);
	margin: 0 0 1.5rem;
	max-width: 100%;
}

.mp-degustace__vector {
	width: 200px;
	height: 260px;
	margin-top: 1rem;
}

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

/* Center: booking form */
.mp-degustace-form__section {
	margin-bottom: 1.25rem;
}

/* When ?daypart=snidane: hide daypart selector and pairing section */
.mp-degustace-form--daypart-snidane .mp-degustace-form__section--daypart,
.mp-degustace-form--daypart-snidane .mp-degustace-form__section--pairing {
	display: none !important;
}

/* When ?daypart=vecere: hide daypart selector only */
.mp-degustace-form--daypart-vecere .mp-degustace-form__section--daypart {
	display: none !important;
}

/* When ?daypart=nedelni-obed: hide daypart selector only (pairing is offered). */
.mp-degustace-form--daypart-nedelni-obed .mp-degustace-form__section--daypart {
	display: none !important;
}

.mp-degustace-form__label {
	display: block;
	font-family: var(--mp-font-sans);
	font-weight: 700;
	font-size: var(--mp-text-md);
	line-height: 1;
	color: var(--mp-accent);
	margin-bottom: 0.5rem;
}

/* Time row: Snídaně / Nedělní oběd / Večeře */
.mp-degustace-form__time-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem;
}

.mp-degustace-form__time-option {
	display: block;
	cursor: pointer;
	margin: 0;
}

.mp-degustace-form__radio {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.mp-degustace-form__time-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.75rem 1rem;
	background: var(--mp-card);
	border-radius: var(--mp-radius);
	border: 1px solid var(--mp-border);
	font-family: var(--mp-font-sans);
	font-weight: 500;
	font-size: var(--mp-text-base);
	color: var(--mp-text);
	transition: border-color 0.22s ease, box-shadow 0.22s ease;
}

.mp-degustace-form__time-option input:focus + .mp-degustace-form__time-box,
.mp-degustace-form__time-option:hover .mp-degustace-form__time-box {
	border-color: var(--mp-accent);
}

.mp-degustace-form__time-option input:checked + .mp-degustace-form__time-box {
	border-color: var(--mp-accent);
	box-shadow: none;
}

.mp-degustace-form__daypart-option input:disabled + .mp-degustace-form__time-box {
	opacity: 0.5;
	cursor: not-allowed;
}

.mp-degustace-form__daypart-meta {
	font-size: var(--mp-text-sm);
	opacity: 0.7;
}

.mp-degustace-form__time-select {
	width: 100%;
	height: 40px;
	padding: 0.625rem 16px;
	border-radius: 8px;
	border: none;
	background-color: var(--mp-card);
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	color: var(--mp-text);
}

.mp-degustace-form__time-select:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

/* Degustace/Stůl: date trigger and time select — white bg, Season Sans 14px, green */
.mp-degustace #mp-degustace-calendar .mp-room-calendar__trigger {
	position: relative;
	z-index: 3;
	background: #fff;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	color: var(--mp-green);
	border: none;
	border-radius: 8px;
	padding-left: 16px;
	padding-right: 16px;
}
.mp-degustace #mp-degustace-calendar .mp-room-calendar__trigger:hover,
.mp-degustace #mp-degustace-calendar .mp-room-calendar__trigger:focus {
	border: none;
}

.mp-degustace #mp-degustace-calendar .mp-room-calendar__panel {
	top: 0;
	left: 0;
	width: 100%;
	z-index: 2;
	padding-top: 40px;
	background: #fff;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	border: none;
}

.mp-degustace #mp-degustace-calendar .mp-room-calendar__month-nav {
	border-top: 0.5px dashed #4d3728;
}

.mp-degustace #mp-degustace-calendar .mp-room-calendar__footer {
	border-top: 0.5px dashed #4d3728;
	flex-wrap: wrap;
	align-items: flex-start;
}

.mp-degustace #mp-degustace-calendar .mp-room-calendar__footer:has(.mp-room-calendar__footer-waitlist:not([hidden])) {
	flex-direction: column;
	align-items: stretch;
	gap: 0.55rem;
}

.mp-room-calendar__footer-waitlist {
	width: 100%;
}

.mp-room-calendar__footer-waitlist-lede {
	margin: 0 0 0.4rem;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	line-height: 1.35;
	color: var(--mp-accent);
}

.mp-room-calendar__footer-waitlist-controls {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.5rem;
	align-items: center;
}

.mp-room-calendar__footer-waitlist-submit {
	min-width: 120px;
}

.mp-room-calendar__footer-waitlist-feedback {
	margin: 0.35rem 0 0;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-sm);
	color: var(--mp-feedback-success, var(--mp-accent));
}

.mp-room-calendar__footer-waitlist-feedback.is-error {
	color: var(--mp-feedback-error, var(--mp-accent-dark));
}

.mp-room-calendar__footer-waitlist-feedback.is-success {
	color: var(--mp-feedback-success, var(--mp-accent));
}

@media (max-width: 640px) {
	.mp-room-calendar__footer-waitlist-controls {
		grid-template-columns: 1fr;
	}

	.mp-room-calendar__footer-waitlist-submit {
		width: 100%;
		min-width: 0;
	}
}

.mp-degustace #mp-degustace-calendar .mp-room-calendar__month-nav + .mp-room-calendar__divider {
	display: none;
}

.mp-degustace #mp-degustace-calendar .mp-room-calendar__month-year,
.mp-degustace #mp-degustace-calendar .mp-room-calendar__prev,
.mp-degustace #mp-degustace-calendar .mp-room-calendar__next,
.mp-degustace #mp-degustace-calendar .mp-room-calendar__mode,
.mp-degustace #mp-degustace-calendar .mp-room-calendar__weekdays span,
.mp-degustace #mp-degustace-calendar .mp-room-calendar__cell {
	color: #3f543c;
}

.mp-degustace #mp-degustace-calendar .mp-room-calendar__month-year,
.mp-degustace #mp-degustace-calendar .mp-room-calendar__weekdays span {
	font-size: var(--mp-text-md);
}

.mp-degustace #mp-degustace-calendar .mp-room-calendar__mode {
	font-family: var(--mp-font-sans);
	font-weight: 700;
	font-size: var(--mp-text-md);
	line-height: 1;
	color: var(--mp-accent);
}

.mp-degustace #mp-degustace-calendar .mp-room-calendar__weekdays span {
	opacity: 1;
	font-family: var(--mp-font-sans);
	font-weight: 500;
	font-size: var(--mp-text-md);
	line-height: 1.35;
	color: var(--mp-green);
}

.mp-degustace #mp-degustace-calendar .mp-room-calendar__cell {
	font-size: var(--mp-text-base);
}

.mp-degustace #mp-degustace-calendar .mp-room-calendar__cell--inactive:not(.mp-room-calendar__cell--selected-start):not(.mp-room-calendar__cell--selected-end) {
	text-decoration: line-through;
	text-decoration-thickness: 1px;
}

.mp-degustace #mp-degustace-calendar .mp-room-calendar__cell--available:not(.mp-room-calendar__cell--selected-start):not(.mp-room-calendar__cell--selected-end) {
	width: 32px;
	height: 32px;
	max-width: 32px;
	margin-inline: auto;
	border-radius: 50%;
	border: 1.5px solid #3f543c;
	background: transparent;
	color: #3f543c;
	flex-shrink: 0;
}

.mp-degustace #mp-degustace-calendar .mp-room-calendar__cell--full {
	position: relative;
	width: 32px;
	height: 32px;
	max-width: 32px;
	margin-inline: auto;
	border: 1px solid transparent;
	border-radius: 0;
	background: transparent;
	color: #3f543c;
	opacity: 1;
	cursor: default;
	flex-shrink: 0;
}

.mp-degustace #mp-degustace-calendar .mp-room-calendar__cell--full::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 3px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #3f543c;
	transform: translateX(-50%);
	pointer-events: none;
}

.mp-degustace #mp-degustace-calendar .mp-room-calendar__cell:not(.mp-room-calendar__cell--inactive):not(.mp-room-calendar__cell--empty):not(.mp-room-calendar__cell--full):not(.mp-room-calendar__cell--selected-start):not(.mp-room-calendar__cell--selected-end):hover {
	width: 32px;
	height: 32px;
	max-width: 32px;
	margin-inline: auto;
	border-radius: 50%;
	border-color: #3f543c;
	background: #3f543c;
	color: #eeeade;
	flex-shrink: 0;
}

.mp-degustace #mp-degustace-calendar .mp-room-calendar__cell--available:not(.mp-room-calendar__cell--selected-start):not(.mp-room-calendar__cell--selected-end):hover {
	border-color: #3f543c;
	background: #3f543c;
	color: #eeeade;
}

.mp-degustace #mp-degustace-calendar .mp-room-calendar__cell--full:hover {
	border-color: transparent;
	background: transparent;
	color: #3f543c;
}

.mp-degustace #mp-degustace-calendar .mp-room-calendar__cell--selected-start,
.mp-degustace #mp-degustace-calendar .mp-room-calendar__cell--selected-end {
	width: 32px;
	height: 32px;
	max-width: 32px;
	margin-inline: auto;
	border-radius: 50%;
	flex-shrink: 0;
	background: #3f543c;
	color: #eeeade;
}

/* Pokoje nabídka: Sektárna guest composition */
/* Sektárna guest composition — Airbnb-style trigger + stepper panel */
.mp-pokoje-nabidka .mp-room-guests {
	position: relative;
	z-index: 70;
	width: 100%;
	max-width: none;
}

.mp-pokoje-nabidka .mp-room-guests__trigger {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: auto;
	min-height: 48px;
	padding: 0 16px;
	background: #fff;
	border: none;
	border-radius: 8px;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	font-weight: 500;
	line-height: normal;
	color: var(--mp-green);
	text-align: left;
	cursor: pointer;
}

.mp-pokoje-nabidka .mp-room-guests__trigger:hover,
.mp-pokoje-nabidka .mp-room-guests__trigger:focus {
	outline: none;
	border: none;
}

.mp-pokoje-nabidka .mp-room-guests__trigger[aria-expanded="true"] {
	border: none;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	box-shadow: none;
}

.mp-pokoje-nabidka .mp-room-guests__trigger-icon {
	flex-shrink: 0;
	margin-left: 0.5rem;
	width: 9px;
	height: 10px;
	display: block;
	object-fit: contain;
	transition: transform 0.2s ease;
}

.mp-pokoje-nabidka .mp-room-guests__trigger[aria-expanded="true"] .mp-room-guests__trigger-icon {
	transform: rotate(180deg);
}

.mp-pokoje-nabidka .mp-room-guests__panel {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	min-width: 0;
	padding: 40px 16px 12px;
	background: #fff;
	border: none;
	border-radius: 8px;
	box-shadow: none;
}

.mp-pokoje-nabidka .mp-room-guests__rows {
	display: flex;
	flex-direction: column;
	gap: 0;
	border-top: 0.5px dashed #4d3728;
}

.mp-pokoje-nabidka .mp-room-guests__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 0;
	border-bottom: 1px solid rgba(77, 55, 40, 0.12);
}

.mp-pokoje-nabidka .mp-room-guests__row:first-child {
	padding-top: 4px;
}

.mp-pokoje-nabidka .mp-room-guests__meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.mp-pokoje-nabidka .mp-room-guests__title {
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 700;
	line-height: 1.35;
	color: #2c2d34;
}

.mp-pokoje-nabidka .mp-room-guests__hint {
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	line-height: 1.35;
	color: rgba(44, 45, 52, 0.65);
}

.mp-pokoje-nabidka .mp-room-guests__stepper {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
}

.mp-pokoje-nabidka .mp-room-guests__step {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 1px solid rgba(77, 55, 40, 0.35);
	border-radius: 999px;
	background: #fff;
	color: #4d3728;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-lg);
	line-height: 1;
	cursor: pointer;
}

.mp-pokoje-nabidka .mp-room-guests__step:hover:not(:disabled),
.mp-pokoje-nabidka .mp-room-guests__step:focus:not(:disabled) {
	outline: none;
	border-color: #4d3728;
	color: #2c2d34;
}

.mp-pokoje-nabidka .mp-room-guests__step:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

.mp-pokoje-nabidka .mp-room-guests__count {
	min-width: 1.25rem;
	text-align: center;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 500;
	line-height: 1;
	color: #2c2d34;
}

.mp-pokoje-nabidka .mp-room-guests__footer {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
	padding-top: 12px;
}

.mp-pokoje-nabidka .mp-room-guests__close {
	border: 0;
	background: transparent;
	padding: 4px 0;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 700;
	line-height: 1.3;
	color: #2c2d34;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.mp-pokoje-nabidka .mp-room-guests__close:hover,
.mp-pokoje-nabidka .mp-room-guests__close:focus {
	outline: none;
	color: #4d3728;
}

@media (max-width: 640px) {
	.mp-pokoje-nabidka .mp-room-guests {
		max-width: 100%;
	}

	.mp-pokoje-nabidka .mp-room-guests__panel {
		min-width: 0;
		width: 100%;
	}
}

/* Pokoje nabídka: room calendar — match degustace date picker.
 * Cap width on the form column, not each field (fields must fill the column). */
.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar {
	position: relative;
	z-index: 60;
	width: 100%;
	max-width: none;
}

.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__trigger {
	position: relative;
	z-index: 3;
	height: auto;
	min-height: 48px;
	padding-left: 16px;
	padding-right: 16px;
	background: #fff;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	line-height: normal;
	color: var(--mp-green);
	border: none;
	border-radius: 8px;
}

.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__trigger:hover,
.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__trigger:focus {
	border: none;
	outline: none;
}

.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__panel {
	top: 0;
	left: 0;
	width: 100%;
	z-index: 2;
	padding-top: 40px;
	background: #fff;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	border: none;
	border-radius: 8px;
	box-shadow: none;
}

.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__month-nav {
	border-top: 0.5px dashed #4d3728;
}

.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__footer {
	border-top: 0.5px dashed #4d3728;
}

.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__month-nav + .mp-room-calendar__divider {
	display: none;
}

.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__month-year,
.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__prev,
.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__next,
.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__mode,
.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__weekdays span,
.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__cell {
	color: #3f543c;
}

.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__month-year,
.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__weekdays span {
	font-size: var(--mp-text-md);
}

.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__weekdays span {
	opacity: 1;
	font-family: var(--mp-font-sans);
	font-weight: 500;
	font-size: var(--mp-text-md);
	line-height: 1.35;
	color: var(--mp-green);
}

.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__mode {
	font-family: var(--mp-font-sans);
	font-weight: 700;
	font-size: var(--mp-text-md);
	line-height: 1.3;
	color: var(--mp-accent);
}

.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__cell {
	font-size: var(--mp-text-base);
}

.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__cell--inactive:not(.mp-room-calendar__cell--selected-start):not(.mp-room-calendar__cell--selected-end) {
	text-decoration: line-through;
	text-decoration-thickness: 1px;
}

.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__cell:not(.mp-room-calendar__cell--inactive):not(.mp-room-calendar__cell--empty):not(.mp-room-calendar__cell--selected-start):not(.mp-room-calendar__cell--selected-end):hover {
	width: 32px;
	height: 32px;
	max-width: 32px;
	margin-inline: auto;
	border-radius: 50%;
	border-color: transparent;
	background: rgba(63, 84, 60, 0.1);
	color: #3f543c;
	flex-shrink: 0;
}

.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__cell--selected-start,
.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__cell--selected-end {
	width: 32px;
	height: 32px;
	max-width: 32px;
	margin-inline: auto;
	border-radius: 50%;
	flex-shrink: 0;
	background: #3f543c;
	color: #eeeade;
	text-decoration: none;
	opacity: 1;
	transition: background 0.22s ease, border-color 0.22s ease, color 0.22s ease, transform 0.18s ease;
}

.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__cell--selected-start:hover,
.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__cell--selected-end:hover {
	transform: scale(1.18);
	background: #3f543c;
	color: #eeeade;
	border-color: transparent;
}

.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__cell--in-range {
	background: rgba(63, 84, 60, 0.1);
	color: #3f543c;
}

.mp-degustace-form__time-field {
	position: relative;
}

.mp-degustace-form__time-field::after {
	content: "";
	position: absolute;
	right: 16px;
	top: 50%;
	width: 9px;
	height: 10px;
	margin-top: -5px;
	background: var(--mp-select-arrow) center / contain no-repeat;
	pointer-events: none;
	transition: transform 0.2s ease;
}

.mp-degustace-form__time-field:has(select:focus)::after {
	transform: rotate(180deg);
}

.mp-degustace .mp-degustace-form select,
.mp-degustace .mp-degustace-form__time-select {
	-moz-appearance: none;
	appearance: none;
	-webkit-appearance: none;
	background-color: #fff;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	color: var(--mp-green);
	border: none;
	border-radius: 8px;
	padding-left: 16px;
	padding-right: calc(16px + 9px + 0.5rem);
	cursor: pointer;
}

.mp-degustace .mp-degustace-form__time-field .mp-degustace-form__time-select {
	background-image: none;
}

.mp-degustace .mp-degustace-form__time-select:focus {
	outline: none;
	border: none;
}

.mp-degustace-form__hint {
	margin: 0.4rem 0 0;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	color: var(--mp-accent);
}

.mp-degustace-form__hint-link {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.mp-degustace-form__hint-link:hover,
.mp-degustace-form__hint-link:focus-visible {
	opacity: 0.78;
}

/* Pairing options */
.mp-degustace-form__pairing-list {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.mp-degustace-form__pairing-option {
	display: block;
	cursor: pointer;
	margin: 0;
}

.mp-degustace-form__pairing-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.75rem 1rem;
	background: var(--mp-card);
	border-radius: 10px;
	border: 1px solid var(--mp-border);
	font-family: var(--mp-font-sans);
	font-weight: 500;
	font-size: var(--mp-text-base);
	line-height: 26px;
	color: var(--mp-text);
	transition: border-color 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease, color 0.22s ease;
}

.mp-degustace-form__pairing-option input:focus + .mp-degustace-form__pairing-box,
.mp-degustace-form__pairing-option:hover .mp-degustace-form__pairing-box {
	background: rgba(77, 55, 40, 0.5);
	border: 1px solid #4d3728;
	border-radius: 10px;
	color: #fff;
}

.mp-degustace-form__pairing-option:hover .mp-degustace-form__pairing-box .mp-degustace-form__price,
.mp-degustace-form__pairing-option input:checked + .mp-degustace-form__pairing-box .mp-degustace-form__price {
	color: #fff;
}

.mp-degustace-form__pairing-option input:checked + .mp-degustace-form__pairing-box {
	background: #4d3728;
	border: 1px solid #4d3728;
	border-radius: 10px;
	color: #fff;
	box-shadow: none;
}

.mp-degustace-form__pairing-option input:disabled + .mp-degustace-form__pairing-box {
	opacity: 0.55;
	cursor: not-allowed;
}

.mp-degustace-form__pairing-option:has(input:disabled) {
	cursor: not-allowed;
}

.mp-degustace-form__pairing-option:has(input:disabled):hover .mp-degustace-form__pairing-box {
	background: var(--mp-card);
	border-color: var(--mp-border);
	color: var(--mp-text);
}

.mp-degustace-form__price {
	font-weight: 500;
	font-size: var(--mp-text-base);
	color: var(--mp-text);
}

/* Pairing quantity steppers (večeře) */
.mp-degustace-form__pairing-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.5rem 0;
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--mp-green);
	border-radius: 0;
}

.mp-degustace-form__pairing-row.is-disabled {
	opacity: 0.55;
}

.mp-degustace-form__pairing-info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.15rem;
	flex: 1;
	min-width: 0;
}

.mp-degustace-form__pairing-name {
	font-family: var(--mp-font-sans);
	font-weight: 500;
	font-size: var(--mp-text-md);
	line-height: 1.35;
	color: var(--mp-green);
}

.mp-degustace-form__pairing-desc {
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	line-height: 1.5;
	color: var(--mp-accent);
}

.mp-degustace-form__pairing-qty {
	display: inline-flex;
	align-items: center;
	gap: 0.15rem;
	flex-shrink: 0;
}

.mp-degustace-form__pairing-row .mp-degustace-form__price {
	color: var(--mp-green);
}

.mp-degustace-form__pairing-qty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: none;
	border-radius: 9999px;
	background: #fff;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-lg);
	font-weight: 500;
	line-height: 1;
	color: var(--mp-green);
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}

.mp-degustace-form__pairing-qty-btn:hover:not([disabled]) {
	background: #4d3728;
	border: none;
	color: #fff;
}

.mp-degustace-form__pairing-qty-btn[disabled] {
	opacity: 0.35;
	cursor: not-allowed;
}

.mp-degustace-form__pairing-qty-value {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2rem;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	font-weight: 500;
	line-height: 1;
	color: var(--mp-green);
}

/* Guest count: 1–6 circles */
.mp-degustace-form__guests {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.mp-degustace-form__guest-num {
	display: block;
	cursor: pointer;
	margin: 0;
}

.mp-degustace-form__guest-dot {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 9999px;
	background: #fff;
	border: none;
	font-family: var(--mp-font-sans);
	font-weight: 500;
	font-size: var(--mp-text-base);
	color: var(--mp-text);
	transition: border-color 0.22s ease, background 0.22s ease;
}

.mp-degustace-form__guest-num input:focus + .mp-degustace-form__guest-dot,
.mp-degustace-form__guest-num:hover .mp-degustace-form__guest-dot {
	background: #4d3728;
	border: none;
	color: #fff;
}

.mp-degustace-form__guest-num input:checked + .mp-degustace-form__guest-dot {
	background: #4d3728;
	border: none;
	color: #fff;
}

.mp-degustace-form__guest-num input:disabled + .mp-degustace-form__guest-dot {
	opacity: 0.72;
	background: rgba(255, 255, 255, 0.7);
	color: rgba(77, 55, 40, 0.55);
	cursor: not-allowed;
}

.mp-degustace-form__unavailable {
	margin-top: 0.75rem;
	padding: 0.65rem 0.75rem;
	border: 1px dashed var(--mp-border);
	border-radius: var(--mp-radius);
	background: rgba(238, 234, 222, 0.45);
}

.mp-degustace-form__waitlist-title {
	margin: 0 0 0.35rem;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	font-weight: 700;
	color: var(--mp-text);
}

.mp-degustace-form__unavailable-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.mp-degustace-form__waitlist-btn {
	border: 1px solid var(--mp-border);
	border-radius: 999px;
	padding: 0.25rem 0.7rem;
	background: #eeeade;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-sm);
	color: var(--mp-accent-dark);
	cursor: pointer;
}

.mp-degustace-form__waitlist-btn:hover {
	border-color: var(--mp-accent);
}

.mp-degustace-waitlist {
	margin-top: 0.6rem;
	padding: 0.7rem;
	border-radius: var(--mp-radius);
	background: rgba(238, 234, 222, 0.6);
}

.mp-degustace-waitlist__slot {
	margin: 0 0 0.45rem;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	color: var(--mp-accent);
}

.mp-degustace-waitlist__controls {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.5rem;
}

.mp-degustace-waitlist__submit {
	min-width: 120px;
}

.mp-degustace-waitlist__feedback {
	margin: 0.45rem 0 0;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-sm);
	color: var(--mp-feedback-success, var(--mp-accent));
}
.mp-degustace-waitlist__feedback.is-error {
	color: var(--mp-feedback-error, var(--mp-accent-dark));
}
.mp-degustace-waitlist__feedback.is-success {
	color: var(--mp-feedback-success, var(--mp-accent));
}

/* Note field */
.mp-degustace-form__note {
	width: 100%;
	padding: 0.75rem 1rem;
	background: var(--mp-card);
	border-radius: var(--mp-radius);
	border: 1px solid var(--mp-border);
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	color: var(--mp-text);
}

.mp-degustace-form__total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.65rem 0;
	border-top: 1px solid var(--mp-border);
	border-bottom: 1px solid var(--mp-border);
	font-family: var(--mp-font-sans);
	color: var(--mp-accent);
}

.mp-degustace-form__total-label {
	font-size: var(--mp-text-base);
	font-weight: 700;
}

.mp-degustace-form__total-price {
	font-size: var(--mp-text-md);
	font-weight: 700;
}

.mp-degustace-form__summary {
	margin: 0;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	line-height: 1.5;
	color: var(--mp-accent);
	text-align: left;
	white-space: pre-line;
	transition: opacity 0.4s ease, max-height 0.4s ease, margin 0.4s ease;
}

.mp-degustace-form--has-summary .mp-degustace-form__summary {
	max-height: 3em;
	opacity: 1;
	margin-top: 1rem;
}

.mp-degustace-form--has-summary.mp-degustace-form--has-pairing-summary .mp-degustace-form__summary {
	max-height: 4.5em;
}

.mp-degustace-form__submit-wrap {
	margin-top: 1.5rem;
}

.mp-degustace-form__submit:disabled:not(.is-loading) {
	opacity: 0.55;
	cursor: not-allowed;
}

.mp-degustace-form__submit.is-loading:disabled {
	opacity: 1;
	cursor: wait;
}

.mp-degustace-form__submit-meta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	flex-shrink: 0;
}

/* Submit price reveal on the right of the CTA */
.mp-degustace-form__submit-price {
	display: inline-block;
	min-width: 0;
	opacity: 0;
	transform: translateY(4px);
	transition: opacity 0.4s ease, transform 0.4s ease;
}

.mp-degustace-form__submit-price:empty {
	display: none;
}

.mp-degustace-form__submit-price.mp-degustace-form__submit-price--visible {
	opacity: 1;
	transform: translateY(0);
}

/* Right column: two static images + carousel from 3rd image */
.mp-degustace__gallery-wrap {
	position: relative;
	width: 100%;
	min-width: 0;
}

.mp-degustace__gallery-split {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.75rem;
	width: 100%;
	max-width: none;
}

/* First two gallery images: stacked; slideshow (3+) sits below */
.mp-degustace__gallery-split .mp-degustace__gallery-static {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.75rem;
	width: 100%;
	max-width: 100%;
	min-width: 100%;
	margin: 0;
	align-self: stretch;
	box-sizing: border-box;
}

.mp-degustace__gallery-static__item {
	overflow: hidden;
	border-radius: 4px;
	background: transparent;
	width: 100%;
	min-width: 100%;
	max-width: none;
	height: fit-content;
	flex: 0 0 auto;
	box-sizing: border-box;
	line-height: 0;
}

.mp-degustace__gallery-static__item img {
	display: block;
	width: 100%;
	max-width: none;
	height: auto;
	object-fit: cover;
}

.mp-degustace__gallery {
	position: relative;
	width: 100%;
	max-width: none;
	border-radius: 4px;
	overflow: hidden;
}

/* Fade carousel: slides stacked; JS adds .mp-gallery--fade */
.mp-degustace__gallery.mp-gallery--fade {
	aspect-ratio: 640 / 754;
}

.mp-degustace__gallery.mp-gallery--fade .mp-degustace__gallery-slide {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--mp-slideshow-fade-duration) var(--mp-slideshow-fade-ease);
	z-index: 0;
}

.mp-degustace__gallery.mp-gallery--fade .mp-degustace__gallery-slide.is-active {
	opacity: 1;
	pointer-events: auto;
	z-index: 1;
}

.mp-degustace__gallery-slide {
	width: 100%;
	aspect-ratio: 640 / 754;
	overflow: hidden;
	background: var(--mp-border);
	margin-bottom: 1rem;
}

.mp-degustace__gallery.mp-gallery--fade .mp-degustace__gallery-slide {
	aspect-ratio: auto;
}

.mp-degustace__gallery-slide:last-child {
	margin-bottom: 0;
}

.mp-degustace__gallery.mp-gallery--fade .mp-degustace__gallery-slide:last-child {
	margin-bottom: 0;
}

.mp-degustace__gallery-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mp-degustace__gallery-dots {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 1rem;
}

.mp-degustace__gallery-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	border: none;
	background: var(--mp-border);
	cursor: pointer;
	padding: 0;
	transition: background 0.22s ease, transform 0.22s ease;
}

.mp-degustace__gallery-dot:hover {
	background: var(--mp-text);
}

.mp-degustace__gallery-dot[aria-selected="true"],
.mp-degustace__gallery-dot.is-active {
	background: var(--mp-accent);
	transform: scale(1.2);
}

@media (prefers-reduced-motion: reduce) {
	.mp-degustace__gallery.mp-gallery--fade .mp-degustace__gallery-slide {
		transition: none;
	}
}

/* -------------------------------------------------------------------------- Zážitky listing page — -------------------------------------------------------------------------- */
.mp-zazitky {
	background: var(--mp-bg-cream);
	padding: 5rem 0 4rem;
}

.mp-zazitky__header-wrap {
	max-width: 640px;
	margin: 0 auto 2.55rem;
	text-align: center;
	padding: 0 var(--mp-gutter);
	box-sizing: border-box;
}

.mp-zazitky__title {
	margin: 0 0 0.5rem;
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-4xl);
	line-height: 1.33;
	color: var(--mp-accent);
}

.mp-zazitky__intro {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-lg);
	line-height: 1.56;
	color: var(--mp-accent);
}

.mp-zazitky__intro p {
	margin: 0;
}

.mp-zazitky__cards {
	width: 100%;
	max-width: var(--mp-shell-max);
	margin: 0 auto;
	padding-left: var(--mp-gutter);
	padding-right: var(--mp-gutter);
	box-sizing: border-box;
}

/* Shared grid: Zážitky — 3-up like Stůl (~33%) */
.mp-zazitky .woocommerce ul.products.mp-zazitky-grid,
.mp-shop__products.woocommerce ul.products.mp-zazitky-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.mp-shop__products.woocommerce ul.products.mp-zazitky-grid::before,
.mp-shop__products.woocommerce ul.products.mp-zazitky-grid::after {
	content: none;
	display: none;
}

.mp-zazitky-grid .mp-product-card,
.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-width: none;
	width: 100%;
	min-width: 0;
	margin: 0;
}

.mp-zazitky-grid .mp-product-card__link,
.mp-zazitky-grid .mp-product-card__image-link,
.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__link,
.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__image-link {
	display: block;
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
	overflow: visible;
	text-decoration: none;
	color: inherit;
}

.mp-zazitky-grid .mp-product-card__link:hover,
.mp-zazitky-grid .mp-product-card__image-link:hover,
.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__link:hover,
.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__image-link:hover {
	transform: none;
	box-shadow: none;
}

.mp-zazitky-grid .mp-product-card__top,
.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__top {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.mp-zazitky-grid .mp-product-card__image,
.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__image {
	position: relative;
	display: block;
	width: 100%;
	height: 440px;
	aspect-ratio: auto;
	border-radius: 4px;
	overflow: hidden;
	flex-shrink: 0;
	background: var(--mp-border);
}

.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__image-inner {
	position: absolute;
	inset: 0;
	height: 100%;
	min-height: 440px;
	overflow: hidden;
}

.mp-zazitky-grid .mp-product-card__image img,
.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__image img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.mp-zazitky-grid .mp-product-card__image-link:hover .mp-product-card__image:not(.mp-product-card__image--gallery) img,
.mp-zazitky-grid .mp-product-card__link:hover .mp-product-card__image:not(.mp-product-card__image--gallery) img,
.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__image-link:hover .mp-product-card__image:not(.mp-product-card__image--gallery) img,
.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__link:hover .mp-product-card__image:not(.mp-product-card__image--gallery) img {
	transform: scale(1.05);
}

.mp-zazitky-grid .mp-product-card__image-cta {
	position: absolute;
	left: 16px;
	bottom: 16px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 1.25rem;
	border: 0;
	border-radius: var(--mp-radius-pill, 999px);
	background: var(--mp-accent, #3f543c);
	color: var(--mp-text-on-dark, #eeeade);
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	opacity: 0;
	transform: translateY(6px);
	pointer-events: none;
	transition: opacity 0.28s ease, transform 0.28s ease;
}

.mp-zazitky-grid .mp-product-card__image-link:hover .mp-product-card__image-cta,
.mp-zazitky-grid .mp-product-card__image-link:focus-visible .mp-product-card__image-cta,
.mp-zazitky-grid .mp-product-card__link:hover .mp-product-card__image-cta,
.mp-zazitky-grid .mp-product-card__link:focus-visible .mp-product-card__image-cta {
	opacity: 1;
	transform: translateY(0);
}

/* Title + price row — match .mp-stul-card__row */
.mp-zazitky-grid .mp-product-card__info,
.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__info {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 8px;
	padding: 0;
	margin: 0;
	line-height: 1.5;
	color: var(--mp-accent);
}

.mp-zazitky-grid .mp-product-card__row,
.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 0 8px;
	margin: 8px 0 0;
}

.mp-zazitky-grid .mp-product-card__title,
.mp-shop .mp-shop__products.woocommerce ul.products.mp-zazitky-grid li.product h2.mp-product-card__title,
.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__title {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	padding: 0;
	font-family: var(--mp-font-display);
	font-weight: 420;
	font-size: var(--mp-text-4xl);
	line-height: 48px;
	letter-spacing: 0;
	color: var(--mp-accent);
	text-transform: none;
}

.mp-zazitky-grid .mp-product-card__title a,
.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__title a {
	color: inherit;
	text-decoration: none;
}

.mp-zazitky-grid .mp-product-card__price,
.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__price {
	flex: 0 0 auto;
	font-family: var(--mp-font-sans);
	font-weight: 500;
	font-size: var(--mp-text-xl);
	line-height: var(--mp-lead-xl);
	color: var(--mp-accent);
	text-align: right;
	text-decoration: none;
}

.mp-zazitky-grid .mp-product-card__desc,
.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__desc {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0 8px;
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-md);
	line-height: 26px;
	font-weight: 420;
	color: var(--mp-accent);
	text-decoration: none;
}

.mp-zazitky-grid .mp-product-card__dates,
.mp-zazitky-grid .mp-product-card__dates-buttons,
.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__dates,
.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__dates-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin: 0;
	padding: 0 8px;
}

.mp-product-card__tag--coming-soon {
	cursor: default;
	pointer-events: none;
}

/* Date chips — same pill chrome as .mp-stul-card__tag (shared class) */
.mp-zazitky-grid .mp-product-card__dates .mp-product-card__chip,
.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__dates .mp-product-card__chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 7.5em;
	padding: 6px 12px;
	border: 1px solid var(--mp-footer);
	border-radius: 16px;
	background: transparent;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-sm);
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.1px;
	color: var(--mp-footer);
	text-align: center;
}

.mp-zazitky__empty {
	margin: 0;
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-lg);
	line-height: 1.5;
	color: var(--mp-accent);
	text-align: center;
}

@media (max-width: 1200px) {
	.mp-zazitky {
		padding-top: 3.75rem;
	}

	.mp-zazitky__cards {
		width: calc(100% - 32px);
	}

	.mp-zazitky .woocommerce ul.products.mp-zazitky-grid,
	.mp-shop__products.woocommerce ul.products.mp-zazitky-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.mp-zazitky .woocommerce ul.products.mp-zazitky-grid,
	.mp-shop__products.woocommerce ul.products.mp-zazitky-grid {
		grid-template-columns: 1fr;
	}

	.mp-zazitky-grid .mp-product-card__image,
	.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__image {
		height: 360px;
	}

	.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__image-inner {
		min-height: 360px;
	}

	.mp-zazitky-grid .mp-product-card__info,
	.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__info {
		align-items: stretch;
	}

	.mp-zazitky-grid .mp-product-card__row,
	.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__row {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.25rem;
	}

	.mp-zazitky-grid .mp-product-card__title,
	.mp-shop .mp-shop__products.woocommerce ul.products.mp-zazitky-grid li.product h2.mp-product-card__title {
		font-size: var(--mp-text-4xl);
		line-height: 1.2;
	}

	.mp-zazitky-grid .mp-product-card__price,
	.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__price {
		font-size: var(--mp-text-md);
		text-align: left;
	}
}

@media (max-width: 640px) {
	.mp-zazitky {
		padding: 2.5rem 0 2.75rem;
	}

	.mp-zazitky__header-wrap {
		margin-bottom: 1.7rem;
		padding: 0 var(--mp-gutter);
	}

	.mp-zazitky__title {
		font-size: var(--mp-text-3xl);
		line-height: 1.3;
	}

	.mp-zazitky__intro {
		font-size: var(--mp-text-md);
		line-height: 1.5;
	}

	.mp-zazitky__cards {
		width: 100%;
	}

	.mp-zazitky-grid .mp-product-card__image,
	.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__image {
		height: 300px;
	}

	.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__image-inner {
		min-height: 300px;
	}
}

/* -------------------------------------------------------------------------- / Pokoje / Pokoje nabídka / Platba Same spacing as .mp-shop: 16px top, 32px inner, 46px header-to-content. -------------------------------------------------------------------------- */
.mp-stul,
.mp-pokoje,
.mp-pokoje-nabidka,
.mp-platba {
	background: var(--mp-bg-cream);
	padding: 16px 0 4rem;
	width: 100%;
	box-sizing: border-box;
}

/* Stůl / Pokoje use the global .mp-container shell (same as Obchod + nav). */

/* Pokoje nabídka — degustace-style top: intro left, form right */
.mp-pokoje-nabidka .mp-pokoje-nabidka__layout {
	padding-top: 32px;
	padding-bottom: 32px;
}

.mp-pokoje-nabidka .mp-pokoje-nabidka__top {
	display: grid;
	grid-template-columns: 33% 348px 33%;
	gap: 2rem 2.5rem;
	align-items: start;
	margin-bottom: 2rem;
}

.mp-pokoje-nabidka .mp-pokoje-nabidka__form-wrap {
	position: sticky;
	top: 2rem;
	align-self: start;
	width: 348px;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	z-index: 40;
	overflow: visible;
}

/* Desktop: repa illustration in the empty right column */
.mp-pokoje-nabidka .mp-pokoje-nabidka__repa {
	display: none;
}

@media (min-width: 1201px) {
	.mp-pokoje-nabidka .mp-pokoje-nabidka__repa {
		display: flex;
		align-items: flex-start;
		justify-content: center;
		align-self: start;
		width: 100%;
		min-width: 0;
		padding-top: 0.5rem;
		pointer-events: none;
	}

	.mp-pokoje-nabidka .mp-pokoje-nabidka__repa .mp-kitchen-repa__svg {
		display: block;
		width: min(180px, 70%);
		height: auto;
	}
}

.mp-stul__header-wrap,
.mp-pokoje__header-wrap {
	/* Keep the shared .mp-container shell (same inset as nav), then cap copy width. */
	text-align: left;
	max-width: var(--mp-container);
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 32px;
}

.mp-stul__header-wrap .mp-stul__title,
.mp-stul__header-wrap .mp-stul__intro,
.mp-pokoje__header-wrap .mp-pokoje__title,
.mp-pokoje__header-wrap .mp-pokoje__intro {
	max-width: 760px;
}

.mp-pokoje-nabidka__header-wrap {
	text-align: left;
	max-width: 760px;
	margin: 0 auto 32px;
}

/* Pokoje nabídka header — match degustace left column */
.mp-pokoje-nabidka .mp-pokoje-nabidka__header-wrap {
	max-width: none;
	width: 100%;
	min-width: 0;
	margin: 0;
	text-align: left;
	box-sizing: border-box;
}

.mp-stul__title,
.mp-pokoje__title,
.mp-pokoje-nabidka__title {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-4xl);
	line-height: var(--mp-heading-display-line);
	color: var(--mp-accent);
	margin: 0 0 0.5rem;
	text-align: left;
}

.mp-pokoje-nabidka .mp-pokoje-nabidka__title {
	font-size: var(--mp-text-4xl);
	font-weight: 420;
	line-height: 1.2;
	letter-spacing: 0;
	color: var(--mp-accent);
	margin: 0 0 1rem;
	max-width: 100%;
	text-align: left;
}

.mp-stul__intro,
.mp-pokoje__intro {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-lg);
	line-height: var(--mp-body-display-line);
	color: var(--mp-accent);
	max-width: 640px;
	margin: 0;
	text-align: left;
}

.mp-pokoje-nabidka__intro {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-lg);
	line-height: var(--mp-body-display-line);
	color: var(--mp-accent);
	max-width: 640px;
	margin: 0 auto;
}

.mp-pokoje-nabidka .mp-pokoje-nabidka__intro {
	font-size: var(--mp-text-lg);
	font-weight: 420;
	line-height: 28px;
	letter-spacing: 0;
	color: var(--mp-accent);
	max-width: min(420px, 100%);
	margin: 0;
	text-align: left;
}

.mp-pokoje-nabidka .mp-pokoje-nabidka__intro p {
	margin: 0 0 1em;
}

.mp-pokoje-nabidka .mp-pokoje-nabidka__intro p:last-child {
	margin-bottom: 0;
}

.mp-stul-grid,
.mp-pokoje-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 46px;
	margin-bottom: 0;
	padding: 0;
}

/* Stůl / Pokoje cards — 440px image, 8px gap */
.mp-stul-card,
.mp-pokoje-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

/* Inner container: image + title/price + description (*/
.mp-stul-card__content {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
	padding-bottom: 0;
}

.mp-stul-card__image {
	display: block;
	position: relative;
	width: 100%;
	height: 440px;
	border-radius: 4px;
	overflow: hidden;
	background: var(--mp-border);
	flex-shrink: 0;
}

.mp-stul-card__image img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.mp-stul-card__image:hover img {
	transform: scale(1.05);
}

/* Title + price row: same as Zážitky — title left, price right (*/
.mp-stul-card__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 0 8px;
	margin: 8px 0 0;
}

.mp-stul-card__dates,
.mp-pokoje-card__dates {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
	padding: 0 8px;
}

.mp-stul-card__dates-buttons,
.mp-pokoje-card__dates-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	justify-content: flex-start;
	align-self: stretch;
	width: 100%;
}

/* Date / price pills — shared chrome + REZERVOVAT hover */
.mp-stul-card__tag,
.mp-pokoje-card__price {
	position: relative;
	flex: 0 0 auto;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	min-width: 7.5em;
	padding: 6px 12px;
	border: 1px solid var(--mp-footer);
	border-radius: 16px;
	background: transparent;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-sm);
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.1px;
	text-transform: none;
	color: var(--mp-footer);
	text-align: center;
	text-decoration: none;
	transition: color 0.68s ease, border-color 0.68s ease, background-color 0.68s ease;
}

.mp-stul-card__tag:hover,
.mp-pokoje-card__price:hover {
	color: var(--mp-accent);
	border-color: var(--mp-accent);
}

.mp-stul-card__tag-prefix,
.mp-pokoje-card__price-hover {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-sm);
	font-weight: 500;
	letter-spacing: inherit;
	text-transform: uppercase;
	color: inherit;
	opacity: 0;
	transform: translateY(100%);
	transition: transform 0.6s ease, opacity 0.52s ease;
}

.mp-stul-card__tag:hover .mp-stul-card__tag-prefix,
.mp-pokoje-card__price:hover .mp-pokoje-card__price-hover {
	opacity: 1;
	transform: translateY(0);
	color: inherit;
}

.mp-stul-card__tag-date,
.mp-pokoje-card__price-amount {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 0.25em;
	font-size: var(--mp-text-sm);
	font-weight: inherit;
	color: inherit;
	opacity: 1;
	transition: opacity 0.45s ease;
}

.mp-stul-card__tag:hover .mp-stul-card__tag-date,
.mp-pokoje-card__price:hover .mp-pokoje-card__price-amount {
	opacity: 0;
}

/* Unavailable date: not clickable, 32% opacity, no hover */
.mp-stul-card__tag--unavailable {
	opacity: 0.32;
	pointer-events: none;
	cursor: default;
}

/* Title: Stůl 36px / 48px line */
h2.mp-stul-card__title,
.mp-stul-card__title,
.mp-stul-card__title a {
	flex: 1 1 auto;
	min-width: 0;
	font-family: var(--mp-font-display);
	font-weight: 420;
	font-size: var(--mp-text-4xl);
	line-height: 48px;
	letter-spacing: 0;
	color: var(--mp-accent);
	margin: 0;
	padding: 0;
	text-transform: none;
	text-decoration: none;
}

/* Title: Pokoje 36px / 48px line */
h2.mp-pokoje-card__title,
.mp-pokoje-card__title,
.mp-pokoje-card__title a {
	flex: 1 1 auto;
	min-width: 0;
	font-family: var(--mp-font-display);
	font-weight: 420;
	font-size: var(--mp-text-4xl);
	line-height: 48px;
	letter-spacing: 0;
	color: var(--mp-accent);
	margin: 0;
	padding: 0;
	text-transform: none;
	text-decoration: none;
}

.mp-stul-card__title,
.mp-pokoje-card__title {
	height: 100%;
	align-self: stretch;
}

h2.mp-stul-card__title > a,
h2.mp-pokoje-card__title > a {
	font-size: inherit;
	line-height: inherit;
	font-family: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
}

.mp-stul-card__title a:hover,
.mp-pokoje-card__title a:hover {
	color: var(--mp-accent-dark);
}

/* Price: /30, on the right (as on Zážitky) */
.mp-stul-card__price {
	flex: 0 0 auto;
	font-family: var(--mp-font-sans);
	font-weight: 500;
	font-size: var(--mp-text-xl);
	line-height: var(--mp-lead-xl);
	color: var(--mp-accent);
	text-align: right;
}

/* Description: same font as .mp-stul__intro (display, body size/line) */
.mp-stul-card__description {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-md);
	line-height: 26px;
	font-weight: 420;
	color: var(--mp-accent);
	margin: 0 0 8px;
	padding: 0 8px;
}

.mp-stul-card__description p:first-child {
	margin-top: 0;
}

.mp-stul-card__description p:last-child {
	margin-bottom: 0;
}

/* Pokoje cards share Stůl structure (grid is 3-up / ~33% like .mp-stul-card) */

.mp-pokoje-card__content {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.mp-pokoje-card__image {
	display: block;
	position: relative;
	width: 100%;
	height: 440px;
	border-radius: 4px;
	overflow: hidden;
	background: var(--mp-border);
	flex-shrink: 0;
}

.mp-pokoje-card__image img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.mp-pokoje-card__image:hover img {
	transform: scale(1.05);
}

.mp-pokoje-card__image-cta,
.mp-stul-card__image-cta {
	position: absolute;
	left: 16px;
	bottom: 16px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 1.25rem;
	border: 0;
	border-radius: var(--mp-radius-pill, 999px);
	background: var(--mp-accent, #3f543c);
	color: var(--mp-text-on-dark, #eeeade);
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	opacity: 0;
	transform: translateY(6px);
	pointer-events: none;
	transition: opacity 0.28s ease, transform 0.28s ease, background-color 0.18s ease;
}

.mp-pokoje-card__image:hover .mp-pokoje-card__image-cta,
.mp-pokoje-card__image:focus-visible .mp-pokoje-card__image-cta,
.mp-stul-card__image:hover .mp-stul-card__image-cta,
.mp-stul-card__image:focus-visible .mp-stul-card__image-cta {
	opacity: 1;
	transform: translateY(0);
}

.mp-pokoje-card__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 0 8px;
	margin: 8px 0 0;
}

/* Force WooCommerce price markup to match tag pill (override WC defaults) */
.mp-pokoje-card__price .woocommerce-Price-amount,
.mp-pokoje-card__price .amount {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	color: inherit;
}

/* Description: same as Stůl — display font 18/26, 8px padding */
.mp-pokoje-card__description {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-md);
	line-height: 26px;
	font-weight: 420;
	color: var(--mp-accent);
	margin: 0;
	padding: 0 8px;
}

.mp-pokoje-card__description p:first-child,
.mp-pokoje-card__description .mp-pokoje-card__info:first-child {
	margin-top: 0;
}

.mp-pokoje-card__description p:last-child,
.mp-pokoje-card__description .mp-pokoje-card__info:last-child {
	margin-bottom: 0;
}

.mp-pokoje-card__info {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-md);
	line-height: 26px;
	color: var(--mp-accent);
	margin: 0 0 0.5em;
}

.mp-pokoje-card__info:last-child {
	margin-bottom: 0;
}

.mp-pokoje-card__details {
	margin: 0;
	border-top: 1px solid var(--mp-border);
	padding: 0.65rem 8px 0;
}

.mp-pokoje-card__details summary {
	cursor: pointer;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	font-weight: 700;
	color: var(--mp-accent);
	list-style: none;
}

.mp-pokoje-card__details summary::-webkit-details-marker {
	display: none;
}

.mp-pokoje-card__details summary::after {
	content: "↓";
	display: inline-block;
	margin-left: 0.45rem;
	font-size: var(--mp-text-sm);
	transition: transform 0.3s ease;
}

.mp-pokoje-card__details[open] summary::after {
	transform: rotate(180deg);
}

.mp-pokoje-card__details-content {
	margin-top: 0.65rem;
}

.mp-reservation-picker {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
	gap: 2rem;
	align-items: end;
	margin-bottom: 2rem;
}

.mp-pokoje-nabidka .mp-reservation-picker {
	width: 100%;
	max-width: 348px;
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
}

@media (max-width: 1200px) {
	.mp-pokoje-nabidka .mp-pokoje-nabidka__top {
		grid-template-columns: 33% minmax(0, 1fr);
	}
}

@media (max-width: 900px) {
	.mp-pokoje-nabidka .mp-pokoje-nabidka__top {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.mp-pokoje-nabidka .mp-pokoje-nabidka__form-wrap {
		position: static;
		top: auto;
		width: 100%;
		max-width: 348px;
	}
}

@media (max-width: 768px) {
	.mp-pokoje-nabidka .mp-reservation-picker,
	.mp-pokoje-nabidka .mp-pokoje-nabidka__form-wrap {
		width: 100%;
		max-width: none;
	}
}

/* Match degustace form wrap: compact column */
.mp-pokoje-nabidka .mp-reservation-picker.mp-room-booking {
	position: static;
	top: auto;
	z-index: 10;
	align-self: start;
	width: 100%;
	max-width: 348px;
	margin: 0;
	padding: 1rem 32px 1.5rem;
	background: transparent;
	gap: 1.25rem;
}

.mp-pokoje-nabidka .mp-room-booking .mp-reservation-picker__field-wrap {
	position: relative;
	width: 100%;
	max-width: none;
	margin: 0;
	gap: 0;
	overflow: visible;
	z-index: 1;
}

.mp-pokoje-nabidka .mp-room-booking .mp-reservation-picker__field-wrap:has(.mp-room-guests__trigger[aria-expanded="true"]),
.mp-pokoje-nabidka .mp-room-booking .mp-reservation-picker__field-wrap:has(.mp-room-calendar__trigger[aria-expanded="true"]) {
	z-index: 50;
}

/* Match degustace form labels */
.mp-pokoje-nabidka .mp-room-booking .mp-reservation-picker__label {
	display: block;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 700;
	line-height: 1;
	color: var(--mp-accent);
	margin-bottom: 0.5rem;
}

.mp-pokoje-nabidka .mp-room-booking__selected-body {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	margin: 0;
	padding: 0.5rem 0;
	border-bottom: 1px solid var(--mp-green);
}

.mp-pokoje-nabidka .mp-room-booking__selected-nights,
.mp-pokoje-nabidka .mp-room-booking__selected-stay,
.mp-pokoje-nabidka .mp-room-booking__selected-guests,
.mp-pokoje-nabidka .mp-room-booking__selected-meta {
	margin: 0;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 500;
	line-height: 1.35;
	color: var(--mp-accent);
}

.mp-pokoje-nabidka .mp-room-booking__selected {
	padding: 0;
	border-bottom: none;
}

/* Guest count stepper — Hosté label + Dospělí row with qty */
.mp-pokoje-nabidka .mp-room-guests-stepper {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.mp-pokoje-nabidka .mp-room-guests-stepper .mp-room-guests-stepper__row {
	width: 100%;
	margin: 0;
	justify-content: space-between;
	align-items: center;
}

.mp-pokoje-nabidka .mp-room-guests-stepper .mp-degustace-form__pairing-name {
	color: var(--mp-accent);
	font-weight: 500;
}

.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar__trigger,
.mp-pokoje-nabidka .mp-room-booking .mp-room-guests__trigger,
.mp-pokoje-nabidka .mp-room-booking .mp-reservation-picker__input {
	height: 52px;
	min-height: 52px;
	padding: 0 1rem;
	background: #fff;
	border: 1px solid var(--mp-border);
	border-radius: 10px;
	font-size: var(--mp-text-xl);
	line-height: 30px;
	color: #4d3728;
	font-family: var(--mp-font-sans);
}

/* Match Datum trigger styling on Hosté trigger */
.mp-pokoje-nabidka .mp-room-booking .mp-room-guests .mp-room-guests__trigger {
	height: auto;
	min-height: 48px;
	padding-left: 16px;
	padding-right: 16px;
	background: #fff;
	border: none;
	border-radius: 8px;
	font-size: var(--mp-text-base);
	font-weight: 500;
	line-height: normal;
	color: var(--mp-green);
}

/* Select: custom arrow on each select */
.mp-pokoje-nabidka .mp-room-booking .mp-reservation-picker__field-wrap:has(select.mp-reservation-picker__input) {
	position: relative;
}

.mp-pokoje-nabidka .mp-room-booking select.mp-reservation-picker__input {
	-moz-appearance: none;
	appearance: none;
	-webkit-appearance: none;
	background-color: #fff;
	background-image: var(--mp-select-arrow);
	background-repeat: no-repeat;
	background-position: right var(--mp-select-arrow-gap) center;
	background-size: var(--mp-select-arrow-size);
	padding-right: calc(var(--mp-select-arrow-gap) + 9px + 0.5rem);
	cursor: pointer;
}

.mp-reservation-picker__field-wrap {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.mp-reservation-picker__label {
	font-family: var(--mp-font-sans);
	font-weight: 700;
	font-size: var(--mp-text-md);
	color: var(--mp-text);
}

.mp-reservation-picker__input {
	height: 48px;
	padding: 0.75rem 1rem;
	border: 1px solid var(--mp-border);
	border-radius: var(--mp-radius);
	background: var(--mp-card);
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	color: var(--mp-text);
}

.mp-room-booking {
	align-items: end;
}

.mp-room-booking__hint {
	grid-column: 1 / -1;
	margin: 0;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	line-height: 1.45;
	color: rgba(63, 84, 60, 0.85);
}

.mp-room-calendar {
	position: relative;
	z-index: 60;
}

.mp-room-calendar__trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 48px;
	padding: 0.75rem 1rem;
	border: 1px solid var(--mp-border);
	border-radius: var(--mp-radius);
	background: var(--mp-card);
	color: var(--mp-text);
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	text-align: left;
	cursor: pointer;
}

.mp-room-calendar__trigger:focus,
.mp-room-calendar__trigger:hover {
	outline: none;
	border-color: var(--mp-accent);
}

.mp-room-calendar__trigger-icon {
	flex-shrink: 0;
	margin-left: 0.5rem;
	width: 9px;
	height: 10px;
	display: block;
	object-fit: contain;
	transition: transform 0.2s ease;
}

.mp-room-calendar__trigger[aria-expanded="true"] .mp-room-calendar__trigger-icon {
	transform: rotate(180deg);
}

.mp-room-calendar__panel {
	position: absolute;
	top: calc(100% + 0.35rem);
	left: 0;
	z-index: 60;
	width: min(420px, calc(100vw - 2.5rem));
	background: #eeeade;
	border: 1px solid var(--mp-border);
	border-radius: var(--mp-radius);
	box-shadow: none;
	overflow: hidden;
}

.mp-room-calendar__header,
.mp-room-calendar__month-nav,
.mp-room-calendar__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.8rem 1rem;
	gap: 0.75rem;
}

.mp-room-calendar__header-label,
.mp-room-calendar__month-year,
.mp-room-calendar__mode {
	font-family: var(--mp-font-sans);
	color: var(--mp-accent);
}

.mp-room-calendar__header-label {
	font-weight: 700;
	font-size: var(--mp-text-md);
}

.mp-room-calendar__month-year {
	font-weight: 700;
	font-size: var(--mp-text-md);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	flex: 1;
	text-align: center;
}

.mp-room-calendar__close,
.mp-room-calendar__prev,
.mp-room-calendar__next {
	border: 0;
	background: transparent;
	color: var(--mp-accent);
	font-family: var(--mp-font-sans);
	font-weight: 700;
	font-size: var(--mp-text-base);
	cursor: pointer;
	padding: 0.25rem;
}

.mp-room-calendar__close:hover,
.mp-room-calendar__prev:hover,
.mp-room-calendar__next:hover {
	opacity: 0.75;
}

.mp-room-calendar__divider {
	height: 1px;
	background: var(--mp-border);
}

.mp-room-calendar__weekdays {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	padding: 0 1rem 0.35rem;
}

.mp-room-calendar__weekdays span {
	text-align: center;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	font-weight: 700;
	color: rgba(63, 84, 60, 0.8);
}

.mp-room-calendar__grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 0.2rem;
	padding: 0 1rem 1rem;
}

.mp-room-calendar__cell {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 2.15rem;
	border: 1px solid transparent;
	border-radius: 999px;
	background: transparent;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	font-weight: 500;
	color: var(--mp-text);
	cursor: pointer;
	transition: background 0.22s ease, border-color 0.22s ease, color 0.22s ease;
}

.mp-room-calendar__cell--empty {
	visibility: hidden;
}

.mp-room-calendar__cell:not(.mp-room-calendar__cell--inactive):not(.mp-room-calendar__cell--empty):not(.mp-room-calendar__cell--selected-start):not(.mp-room-calendar__cell--selected-end):hover {
	border-color: rgba(63, 84, 60, 0.45);
	background: rgba(63, 84, 60, 0.08);
}

.mp-room-calendar__cell--inactive {
	opacity: 0.34;
	cursor: not-allowed;
}

.mp-room-calendar__cell--selected-start,
.mp-room-calendar__cell--selected-end {
	background: var(--mp-accent);
	color: var(--mp-text-on-dark);
	opacity: 1;
}

.mp-room-calendar__cell--inactive.mp-room-calendar__cell--selected-start,
.mp-room-calendar__cell--inactive.mp-room-calendar__cell--selected-end {
	opacity: 1;
}

.mp-room-calendar__cell--in-range {
	background: rgba(63, 84, 60, 0.14);
	color: var(--mp-accent);
}

.mp-room-calendar__mode {
	font-size: var(--mp-text-base);
	line-height: 1.35;
}

.mp-room-offers {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.mp-pokoje-nabidka .mp-room-offers {
	width: 100%;
	margin: 0;
}

.mp-room-offers__state {
	margin: 0;
	padding: 0;
	background: transparent;
	border: none;
	border-radius: 0;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 500;
	line-height: 1.35;
	color: var(--mp-accent);
}

.mp-room-offers__list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

/* Pokoje nabídka — vertical room cards, 3-up on desktop */
.mp-pokoje-nabidka .mp-room-offers__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem 1.5rem;
	align-items: start;
	transition: opacity 0.3s ease;
}

.mp-room-offer {
	display: grid;
	grid-template-columns: 544px minmax(0, 1fr);
	height: 550px;
	min-height: 550px;
	background: var(--mp-bg-cream);
	border-radius: 10px;
	overflow: hidden;
	transition: height 0.6s ease, min-height 0.6s ease;
}

.mp-pokoje-nabidka .mp-room-offer {
	display: flex;
	flex-direction: column;
	grid-template-columns: none;
	height: auto;
	min-height: 0;
	cursor: pointer;
	transition: opacity 0.3s ease;
}

.mp-room-offer--expanded {
	height: 954px;
	min-height: 954px;
}

.mp-pokoje-nabidka .mp-room-offer--expanded {
	height: auto;
	min-height: 0;
}

.mp-room-offer__media {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	height: 100%;
	min-height: 550px;
	border-radius: 10px 0 0 10px;
	overflow: visible;
}

.mp-room-offer__media-frame {
	position: relative;
	flex: 1 1 auto;
	min-height: 0;
	width: 100%;
	overflow: hidden;
	border-radius: inherit;
}

/* Fixed 4:4 media frame */
.mp-pokoje-nabidka .mp-room-offer__media {
	flex: 0 0 auto;
	width: 100%;
	height: auto;
	min-height: 0;
	border-radius: 10px 10px 0 0;
}

.mp-pokoje-nabidka .mp-room-offer__media-frame {
	aspect-ratio: 4 / 4;
	flex: 0 0 auto;
	border-radius: 10px 10px 0 0;
}

.mp-room-offer__media--slideshow {
	cursor: grab;
	touch-action: pan-y;
	user-select: none;
}

.mp-room-offer__media--slideshow:active {
	cursor: grabbing;
}

.mp-room-offer__media-inner {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.mp-room-offer__media--placeholder {
	cursor: default;
	background:
		linear-gradient(160deg, rgba(238, 234, 222, 0.95) 0%, rgba(214, 206, 186, 0.75) 55%, rgba(238, 234, 222, 0.9) 100%);
}

.mp-room-offer__placeholder {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 1.5rem;
	text-align: center;
	color: var(--mp-accent);
}

.mp-room-offer__placeholder-mark {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-2xl);
	line-height: 1.2;
	letter-spacing: 0.02em;
	opacity: 0.55;
}

.mp-room-offer__placeholder-label {
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	line-height: 1.3;
	font-weight: 500;
	opacity: 0.45;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.mp-room-offer__media-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	opacity: 0;
	z-index: 0;
	pointer-events: none;
	transition: opacity var(--mp-slideshow-fade-duration) var(--mp-slideshow-fade-ease);
	will-change: opacity;
}

.mp-room-offer__media-img.is-active {
	opacity: 1;
	z-index: 1;
	pointer-events: auto;
}

.mp-room-offer__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mp-room-offer__slides {
	position: static;
	left: auto;
	bottom: auto;
	transform: none;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	z-index: 4;
	pointer-events: auto;
}

.mp-room-offer__content > .mp-room-offer__slides {
	width: 100%;
}

.mp-room-offer__slides span,
.mp-room-offer__slides .mp-room-offer__slide-dot {
	display: block;
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--mp-border);
	cursor: pointer;
}

.mp-room-offer__slides .is-outline,
.mp-room-offer__slides .mp-room-offer__slide-dot.is-outline {
	background: var(--mp-border);
	border: 0;
}

.mp-room-offer__slides .is-solid,
.mp-room-offer__slides .mp-room-offer__slide-dot.is-solid {
	background: var(--mp-accent);
}

.mp-room-offer__slide-dot {
	transition: background 0.52s ease, border-color 0.52s ease;
}

.mp-room-offer__content {
	background: rgba(255, 255, 255, 0.5);
	padding: 24px 28px 20px 24px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	border-radius: 0 10px 10px 0;
}

.mp-pokoje-nabidka .mp-room-offer__content {
	flex: 1 1 auto;
	padding: 1.25rem 1.25rem 1.35rem;
	gap: 0.75rem;
	border-radius: 0 0 10px 10px;
}

h2.mp-room-offer__title,
.mp-room-offer__title {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-4xl);
	line-height: 48px;
	letter-spacing: 0;
	color: var(--mp-accent);
	margin: 0;
	text-transform: none;
}

.mp-pokoje-nabidka h2.mp-room-offer__title,
.mp-pokoje-nabidka .mp-room-offer__title {
	font-size: var(--mp-text-2xl);
	line-height: 1.25;
}

.mp-room-offer__stay-block {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	margin: 1rem 0 0;
}

.mp-pokoje-nabidka .mp-room-offer__stay-block {
	/* content gap (0.75rem) + this = 16px from book button */
	margin-top: calc(16px - 0.75rem);
}

.mp-room-offer__stay,
.mp-room-offer__stay-meta {
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	font-weight: 500;
	line-height: 1.35;
	color: var(--mp-accent);
	margin: 0;
	text-align: left;
	opacity: 1;
	white-space: pre-line;
}

.mp-pokoje-nabidka .mp-room-offer__stay,
.mp-pokoje-nabidka .mp-room-offer__stay-meta {
	font-size: var(--mp-text-base);
	line-height: 1.35;
}

.mp-room-offer__nightly {
	list-style: none;
	margin: 0.35rem 0 0;
	padding: 0;
	display: grid;
	gap: 0.2rem;
}

.mp-room-offer__nightly li {
	display: flex;
	justify-content: space-between;
	gap: 0.75rem;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	line-height: 18px;
	color: var(--mp-accent);
	opacity: 0.8;
}

.mp-room-offer__nightly strong {
	font-weight: 500;
}

.mp-room-offer__desc {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-lg);
	line-height: 24px;
	color: var(--mp-accent);
	margin: 0;
	max-width: 720px;
}

.mp-pokoje-nabidka .mp-room-offer__desc {
	font-size: var(--mp-text-md);
	line-height: 1.4;
	max-width: none;
}

.mp-room-offer__readmore,
.mp-room-offer__readmore a {
	font-family: var(--mp-font-sans);
	font-weight: 700;
	font-size: var(--mp-text-md);
	line-height: 26px;
	color: var(--mp-accent);
	margin: 0;
	text-decoration: none;
}

.mp-pokoje-nabidka .mp-room-offer__readmore,
.mp-pokoje-nabidka .mp-room-offer__readmore a {
	font-size: var(--mp-text-base);
	line-height: 1.4;
}

/* Room offer rows — 1:1 */
.mp-room-offer__rows {
	margin-top: auto;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.mp-room-offer__variant {
	border-top: 1px dotted rgba(77, 55, 40, 0.45);
}

.mp-room-offer__variant:first-child {
	border-top-width: 0;
}

.mp-room-offer__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 16px;
	align-items: center;
	padding: 12px 0;
	position: relative;
}

.mp-room-offer__choice-input {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
	opacity: 0;
	pointer-events: none;
}

.mp-room-offer__choice {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	cursor: pointer;
	position: relative;
}

.mp-room-offer__choice input[type="radio"] {
	position: absolute;
	top: 2px;
	left: 0;
	width: 18px;
	height: 18px;
	opacity: 0;
	pointer-events: none;
}

.mp-room-offer__choice-dot {
	display: none;
}

.mp-room-offer__row-left {
	display: flex;
	flex-direction: column;
	gap: 2px;
	align-items: flex-start;
	grid-column: 1 / -1;
}

.mp-room-offer__row-right {
	display: flex;
	flex-direction: column;
	gap: 2px;
	text-align: right;
	align-items: flex-end;
	justify-content: center;
}

.mp-room-offer__variant-name {
	font-family: var(--mp-font-sans);
	font-weight: 700;
	font-size: var(--mp-text-lg);
	line-height: 1.2;
	color: var(--mp-accent);
	margin: 0;
}

.mp-room-offer__total-line {
	font-family: var(--mp-font-sans);
	font-weight: 500;
	font-size: var(--mp-text-md);
	line-height: 1.2;
	color: var(--mp-accent);
	opacity: 0.6;
}

.mp-room-offer__price-line {
	display: block;
	font-family: var(--mp-font-sans);
	font-weight: 700;
	font-size: var(--mp-text-md);
	line-height: 1.2;
	color: var(--mp-accent);
	margin: 0;
}

/* Vertical card booking block — stack controls in the narrow column */
.mp-pokoje-nabidka .mp-room-offer__row {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.75rem;
	padding: 0.85rem 0 0;
}

.mp-pokoje-nabidka .mp-room-offer__choice {
	width: 100%;
}

.mp-pokoje-nabidka .mp-room-offer__row-right {
	align-items: flex-start;
	text-align: left;
}

.mp-pokoje-nabidka .mp-room-offer__book {
	width: 100%;
	max-width: 348px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 1.25rem;
	font-size: var(--mp-text-md);
}

.mp-pokoje-nabidka .mp-room-offer__variant-name {
	font-size: var(--mp-text-md);
}

.mp-pokoje-nabidka .mp-room-offer__total-line,
.mp-pokoje-nabidka .mp-room-offer__price-line,
.mp-pokoje-nabidka .mp-room-offer__toggle {
	font-size: var(--mp-text-base);
}

.mp-room-offer__toggle {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 0;
	margin: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 500;
	line-height: 1.2;
	color: var(--mp-accent);
	text-decoration: none;
}

.mp-room-offer__toggle-arrow {
	display: inline-block;
	font-weight: 700;
	transition: transform 0.28s ease;
}

.mp-room-offer__book,
.mp-mini-cart__checkout,
.mp-degustace-form__submit {
	min-height: 52px;
	height: 52px;
	padding: 1rem 1.25rem;
	margin-top: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	border-radius: var(--mp-radius-pill);
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	line-height: 1;
	font-weight: 700;
	letter-spacing: 0;
	text-decoration: none;
	background: var(--mp-accent);
	color: var(--mp-text-on-dark);
	border: 0;
	box-sizing: border-box;
	width: 100%;
}

.mp-room-offer__book,
.mp-degustace-form__submit {
	width: 100%;
	max-width: 348px;
}

.mp-room-offer__book-label,
.mp-mini-cart__checkout-label,
.mp-degustace-form__submit-label {
	display: inline-flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0;
	min-width: 0;
}

.mp-room-offer__book-meta,
.mp-mini-cart__checkout-meta,
.mp-degustace-form__submit-meta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	flex-shrink: 0;
	margin-left: auto;
}

.mp-room-offer__book-price,
.mp-mini-cart__checkout-price {
	display: inline-block;
	padding-left: 0;
	font-weight: inherit;
	white-space: nowrap;
}

.mp-mini-cart__checkout {
	width: 100%;
	max-width: 100%;
}

.mp-mini-cart .woocommerce-mini-cart__buttons .mp-mini-cart__checkout {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	box-sizing: border-box;
}

.mp-room-offer__book:hover,
.mp-room-offer__book:focus-visible,
.mp-mini-cart__checkout:hover,
.mp-mini-cart__checkout:focus-visible,
.mp-degustace-form__submit:hover,
.mp-degustace-form__submit:focus-visible {
	background: var(--mp-accent-dark);
	color: var(--mp-text-on-dark);
	border: 0;
	box-shadow: none;
	transform: none;
}

.mp-room-offer__detail {
	display: none !important;
}

.mp-room-offer__detail-lines p,
.mp-room-detail__info-lines p {
	margin: 0;
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-lg);
	line-height: 24px;
	color: #2c2d34;
}

.mp-room-offer__detail-text {
	margin: 18px 0 0;
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-lg);
	line-height: 24px;
	color: #2c2d34;
}

/* Room detail — centred modal (90% × 80vh), desktop: content left / media right */
.mp-room-detail {
	position: fixed;
	inset: 0;
	z-index: 1200;
	pointer-events: none;
}

.mp-room-detail[hidden] {
	display: none !important;
}

.mp-room-detail.is-open {
	pointer-events: auto;
}

.mp-room-detail__backdrop {
	position: absolute;
	inset: 0;
	margin: 0;
	padding: 0;
	border: 0;
	background: rgba(44, 45, 52, 0.52);
	backdrop-filter: blur(1.5px);
	-webkit-backdrop-filter: blur(1.5px);
	opacity: 0;
	cursor: pointer;
	transition: opacity 0.36s ease;
}

.mp-room-detail.is-open .mp-room-detail__backdrop {
	opacity: 1;
}

.mp-room-detail__panel {
	position: absolute;
	top: 50%;
	left: 50%;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	grid-template-rows: minmax(0, 1fr);
	align-items: stretch;
	width: 90%;
	height: 80vh;
	max-height: 80vh;
	background: var(--mp-bg-cream);
	border-radius: 12px;
	box-shadow: none;
	transform: translate(-50%, -46%) scale(0.98);
	opacity: 0;
	transition:
		transform var(--mp-t-base) var(--mp-ease-luxury),
		opacity var(--mp-t-fast) var(--mp-ease-soft);
	overflow: hidden;
	outline: none;
}

.mp-room-detail.is-open .mp-room-detail__panel {
	transform: translate(-50%, -50%) scale(1);
	opacity: 1;
}

.mp-room-detail__close {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(238, 234, 222, 0.92);
	color: var(--mp-accent);
	font-size: var(--mp-text-2xl);
	line-height: 1;
	cursor: pointer;
}

.mp-room-detail__close:hover,
.mp-room-detail__close:focus-visible {
	background: #fff;
}

.mp-room-detail__media {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	grid-column: 2;
	grid-row: 1;
	width: 100%;
	height: 100%;
	min-height: 0;
	background: rgba(77, 55, 40, 0.08);
	overflow: hidden;
	border-radius: 0 12px 12px 0;
}

.mp-room-detail__media-frame {
	position: relative;
	flex: 1 1 auto;
	min-height: 0;
	width: 100%;
	overflow: hidden;
}

.mp-room-detail__media-inner {
	position: absolute;
	inset: 0;
}

.mp-room-detail__media-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	z-index: 0;
	pointer-events: none;
	transition: opacity var(--mp-slideshow-fade-duration) var(--mp-slideshow-fade-ease);
	will-change: opacity;
}

.mp-room-detail__media-img.is-active {
	opacity: 1;
	z-index: 1;
	pointer-events: auto;
}

.mp-room-detail__media-placeholder {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	color: var(--mp-accent);
}

.mp-room-detail__slides {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0.55rem;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	z-index: 4;
	background: transparent;
	pointer-events: none;
}

.mp-room-detail__slide-dot {
	display: block;
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(238, 234, 222, 0.55);
	cursor: pointer;
	pointer-events: auto;
	transition: background 0.52s ease;
}

.mp-room-detail__slide-dot.is-outline {
	background: rgba(238, 234, 222, 0.55);
	border: 0;
}

.mp-room-detail__slide-dot.is-solid {
	background: #fff;
}

.mp-room-detail__body {
	grid-column: 1;
	grid-row: 1;
	min-width: 0;
	min-height: 0;
	height: 100%;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	padding: 1.75rem 1.75rem 1.75rem;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.mp-room-detail__title {
	margin: 0;
	padding-right: 2rem;
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-4xl);
	font-weight: 420;
	line-height: 1.2;
	letter-spacing: 0;
	color: var(--mp-accent);
	max-width: 100%;
	text-align: left;
}

.mp-room-detail__desc,
.mp-room-detail__info-text {
	margin: 0;
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-lg);
	font-weight: 420;
	line-height: 28px;
	letter-spacing: 0;
	color: var(--mp-accent);
	text-align: left;
}

.mp-room-detail__info-text {
	margin-top: 18px;
}

.mp-room-detail__stay,
.mp-room-detail__price {
	margin: 0;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	line-height: 1.45;
	color: var(--mp-text);
}

.mp-room-detail__price {
	font-weight: 500;
	color: var(--mp-accent);
}

.mp-room-detail__info {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.mp-room-detail__book {
	margin-top: auto;
	width: 100%;
	max-width: 348px;
	align-self: flex-start;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 52px;
	height: 52px;
	padding: 1rem 1.25rem;
	box-sizing: border-box;
}

.mp-room-detail__stay {
	flex: 0 0 auto;
	margin-top: 0;
	white-space: pre-line;
}

body.mp-room-detail-open {
	overflow: hidden;
}

@media (max-width: 900px) {
	.mp-room-detail__panel {
		display: flex;
		flex-direction: column;
		width: 90%;
		height: 80vh;
		max-height: 80vh;
		border-radius: 12px;
	}

	.mp-room-detail__media {
		grid-column: auto;
		grid-row: auto;
		flex: 0 0 auto;
		height: min(28vh, 240px);
		max-height: 40%;
		border-radius: 12px 12px 0 0;
	}

	.mp-room-detail__body {
		grid-column: auto;
		grid-row: auto;
		flex: 1 1 auto;
		height: auto;
		padding: 1.5rem 1.5rem 1.75rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mp-room-offer,
	.mp-room-offer__toggle-arrow,
	.mp-room-detail__backdrop,
	.mp-room-detail__panel,
	.mp-room-detail__media-img {
		transition: none;
	}
}

/* --- Platba (Pokoje/Stůl payment) — */
.mp-platba__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 640px;
	gap: 2rem;
	align-items: start;
}

.mp-platba__left {
	min-width: 0;
	background: rgba(238, 234, 222, 0.5);
	border-radius: 4px;
	padding: 1.5rem;
}

.mp-platba-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1.25rem;
}

.mp-platba-tabs__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 32px;
	padding: 0 16px;
	border-radius: var(--mp-radius-pill);
	border: 1px solid var(--mp-accent);
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 700;
	color: var(--mp-accent);
	background: transparent;
	text-decoration: none;
}

.mp-platba-tabs__item:hover {
	background: rgba(63, 84, 60, 0.08);
}

.mp-platba-tabs__item--active {
	background: var(--mp-accent);
	color: var(--mp-text-on-dark);
	border-color: var(--mp-accent);
}

.mp-platba-form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.mp-platba-form__lead {
	margin: 0;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	line-height: 1.6;
	color: var(--mp-accent);
}

.mp-platba-form__voucher {
	display: grid;
	gap: 0.5rem;
}

.mp-platba-form__voucher-label {
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	font-weight: 700;
	color: #2c2d34;
}

.mp-platba-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem 1.5rem;
}

.mp-platba-form__grid label,
.mp-platba-form__stack {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.mp-platba-form__grid span,
.mp-platba-form__stack span {
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	font-weight: 500;
	color: #2c2d34;
	letter-spacing: 0.01em;
}

.mp-platba-form__grid input,
.mp-platba-form__grid select,
.mp-platba-form__stack input,
.mp-platba-form__stack textarea {
	height: 44px;
	padding: 0 1rem;
	border: 1px solid var(--mp-border);
	border-radius: 10px;
	background: #eeeade;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	font-weight: 500;
	color: #2c2d34;
}

.mp-platba-form__grid input::placeholder,
.mp-platba-form__stack input::placeholder,
.mp-platba-form__stack textarea::placeholder {
	color: rgba(77, 55, 40, 0.5);
}

.mp-platba-form__stack textarea {
	height: auto;
	min-height: 80px;
	padding: 0.75rem 1rem;
}

.mp-platba-form__line {
	height: 1px;
	background: var(--mp-border);
	margin: 0.25rem 0;
}

.mp-platba-form__check,
.mp-platba-form__radios label {
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	font-weight: 500;
	color: #2c2d34;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.mp-platba-form__check input[type="checkbox"],
.mp-platba-form__radios input[type="radio"] {
	width: 20px;
	height: 20px;
	min-width: 20px;
	accent-color: var(--mp-accent);
}

.mp-platba-form__check input[type="checkbox"] {
	border-radius: 10px;
}

.mp-platba-form__radios input[type="radio"] {
	border-radius: 999px;
}

.mp-platba-form__radios {
	display: flex;
	gap: 1.5rem;
	flex-wrap: wrap;
}

.mp-platba-form__submit {
	align-self: flex-start;
	min-height: 52px;
	min-width: 200px;
	padding: 10px 16px;
	border-radius: var(--mp-radius-pill);
	background: var(--mp-accent);
	color: var(--mp-text-on-dark);
	border: none;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 700;
	letter-spacing: 0.16px;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-top: 0.25rem;
	cursor: pointer;
	transition: background 0.3s ease;
}

.mp-platba-form__submit:hover {
	background: var(--mp-accent-dark);
}

.mp-platba__summary {
	background: rgba(238, 234, 222, 0.5);
	border-radius: 4px;
	padding: 1.25rem 1rem;
}

.mp-platba__summary h2 {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-2xl);
	line-height: 34px;
	font-weight: 420;
	margin: 0 0 0.75rem;
	color: var(--mp-accent);
}

.mp-platba__summary-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.5rem 0;
	border-top: 1px solid var(--mp-border);
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 500;
	color: var(--mp-accent);
	line-height: 26px;
}

.mp-platba__summary-row--total {
	font-weight: 700;
}

.mp-platba__summary-note {
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 500;
	color: var(--mp-accent);
	margin: 1rem 0 0.5rem;
}

.mp-platba__summary-image {
	border-radius: 0 0 10px 10px;
	overflow: hidden;
}

.mp-platba__summary-image img {
	width: 100%;
	height: auto;
	aspect-ratio: 642 / 309;
	object-fit: cover;
}

.mp-platba__stay {
	margin-top: 1rem;
	padding-top: 0.9rem;
	border-top: 1px solid var(--mp-border);
}

.mp-platba__stay h3 {
	margin: 0 0 0.35rem;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 700;
	color: var(--mp-accent);
}

.mp-platba__stay p {
	margin: 0 0 0.6rem;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	line-height: 1.5;
	color: var(--mp-accent);
}

.mp-platba__stay-list {
	list-style: none;
	margin: 0 0 0.75rem;
	padding: 0;
	display: grid;
	gap: 0.35rem;
}

.mp-platba__stay-list li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	color: var(--mp-accent-dark);
}

.mp-platba__stay-link {
	width: 100%;
	justify-content: center;
}

.mp-platba__free-rooms {
	margin-top: 1rem;
	padding-top: 0.9rem;
	border-top: 1px solid var(--mp-border);
}

.mp-platba__free-rooms h3 {
	margin: 0 0 0.35rem;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 700;
	color: var(--mp-accent);
}

.mp-platba__free-rooms-cards {
	display: grid;
	gap: 0.9rem;
	margin-top: 0.5rem;
}

.mp-platba__free-rooms-card {
	display: grid;
	grid-template-columns: 100px 1fr;
	gap: 0.65rem;
	align-items: start;
	background: rgba(238, 234, 222, 0.6);
	border-radius: 4px;
	border: 1px solid var(--mp-border);
	overflow: hidden;
}

.mp-platba__free-rooms-card__media {
	position: relative;
	aspect-ratio: 1;
	min-height: 80px;
	background: var(--mp-bg-cream, #eeeade);
}

.mp-platba__free-rooms-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mp-platba__free-rooms-card__content {
	min-width: 0;
	padding: 0.25rem 0;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.mp-platba__free-rooms-card__title {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-base);
	font-weight: 500;
	line-height: 1.25;
	margin: 0;
	color: var(--mp-accent);
}

.mp-platba__free-rooms-card__desc {
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-sm);
	line-height: 1.4;
	color: var(--mp-accent-dark);
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.mp-platba__free-rooms-card__meta {
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-sm);
	color: var(--mp-accent-dark);
	margin: 0;
}

.mp-platba__free-rooms-card__book {
	align-self: flex-start;
	margin-top: 0.35rem;
	padding: 0.4rem 0.75rem;
	font-size: var(--mp-text-base);
	text-decoration: none;
}

/* Card without image: single column */
.mp-platba__free-rooms-card.mp-platba__free-rooms-card--no-media {
	grid-template-columns: 1fr;
}

/* Stůl platba: add room to degustace — nights + button row */
.mp-platba__free-rooms-card__add {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
	margin-top: 0.35rem;
}

.mp-platba__free-rooms-card__nights-select {
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	padding: 0.35rem 1.75rem 0.35rem 0.5rem;
	border: 1px solid var(--mp-border);
	border-radius: 4px;
	background-color: #eeeade;
	background-image: var(--mp-select-arrow);
	background-repeat: no-repeat;
	background-position: right 0.5rem center;
	background-size: var(--mp-select-arrow-size);
	-moz-appearance: none;
	appearance: none;
	-webkit-appearance: none;
	color: var(--mp-accent-dark);
	cursor: pointer;
}

.mp-platba__summary-added-rooms-title {
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	font-weight: 700;
	margin: 0 0 0.35rem;
	color: var(--mp-accent);
}

.mp-platba__summary-added-rooms-list {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	margin-bottom: 0.5rem;
}

.mp-platba__summary-added-rooms-row {
	display: grid;
	grid-template-columns: 1fr auto auto;
	align-items: center;
	gap: 0.5rem;
	font-size: var(--mp-text-base);
}

.mp-platba__summary-added-rooms-remove {
	background: none;
	border: none;
	color: var(--mp-accent-dark);
	cursor: pointer;
	font-size: var(--mp-text-lg);
	line-height: 1;
	padding: 0.15rem;
	opacity: 0.8;
}

.mp-platba__summary-added-rooms-remove:hover {
	opacity: 1;
	color: var(--mp-accent);
}

.mp-platba__content {
	margin-top: 2.5rem;
	display: grid;
	grid-template-columns: 389px minmax(0, 1fr);
	gap: 2rem;
	align-items: start;
	position: relative;
}

.mp-platba__intro {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-lg);
	line-height: var(--mp-body-display-line);
	color: var(--mp-accent);
}

.mp-platba__gallery {
	border-radius: 4px;
	overflow: hidden;
	max-width: 833px;
}

.mp-platba__gallery img {
	width: 100%;
	height: auto;
	aspect-ratio: 833 / 982;
	object-fit: cover;
}

.mp-platba__vector {
	position: absolute;
	right: 32px;
	top: -120px;
	width: 157px;
	height: 204px;
}

.mp-platba__vector img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.mp-platba__faq {
	margin-top: 1rem;
	max-width: 640px;
}

.mp-platba__faq-item {
	border-top: 1px solid var(--mp-border);
	padding: 0.35rem 0;
}

.mp-platba__faq-item summary {
	cursor: pointer;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	font-weight: 700;
	color: var(--mp-accent);
}

.mp-platba__faq-item div {
	margin-top: 0.25rem;
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-md);
	line-height: 1.45;
	color: var(--mp-accent);
}

/* FAQ page — Otázky a odpovědi */
.mp-faq {
	background: var(--mp-bg-cream);
	padding: 16px 0 4rem;
}

.mp-faq__layout {
	width: 100%;
}

.mp-faq__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(2rem, 4vw, 4rem);
	align-items: start;
}

.mp-faq__main {
	min-width: 0;
	width: 100%;
}

.mp-faq__illustrations {
	width: 100%;
	max-width: 280px;
	margin-left: auto;
	margin-right: 0;
	align-self: start;
	position: sticky;
	top: calc(var(--mp-nav-height) + 2rem);
}

.mp-faq__illustration {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: contain;
	object-position: center top;
}

.mp-faq__header-wrap {
	width: 100%;
	text-align: center;
	max-width: none;
	margin: 0 0 2.5rem;
}

.mp-faq__title {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-4xl);
	line-height: var(--mp-heading-display-line);
	color: var(--mp-accent);
	margin: 0 0 0.75rem;
	text-align: center;
}

.mp-faq__intro {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-lg);
	line-height: var(--mp-body-display-line);
	color: var(--mp-accent);
	max-width: 640px;
	margin: 0 auto;
	text-align: center;
}

.mp-faq__list {
	width: 100%;
	max-width: none;
	margin: 0;
	text-align: left;
}

.mp-faq__item {
	border: none;
	padding: 0.85rem 0;
	text-align: left;
}

.mp-faq__question {
	cursor: default;
	pointer-events: none;
	list-style: none;
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-2xl);
	line-height: 34px;
	font-weight: 420;
	color: var(--mp-accent);
	text-align: left;
}

.mp-faq__question::-webkit-details-marker {
	display: none;
}

.mp-faq__answer {
	margin-top: 0.75rem;
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-lg);
	line-height: 28px;
	color: var(--mp-accent);
	text-align: left;
}

.mp-faq__empty {
	width: 100%;
	margin: 0;
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-lg);
	line-height: 1.5;
	color: var(--mp-accent);
	text-align: left;
}

@media (max-width: 960px) {
	.mp-faq__body {
		grid-template-columns: 1fr;
	}

	.mp-faq__illustrations {
		position: static;
		margin-left: auto;
		margin-right: auto;
		margin-top: 2rem;
		margin-bottom: 0;
		max-width: min(280px, 72vw);
	}
}

@media (max-width: 640px) {
	.mp-faq__header-wrap {
		margin-bottom: 2rem;
	}

	.mp-faq__question {
		font-size: var(--mp-text-2xl);
		line-height: 34px;
	}

	.mp-faq__answer {
		font-size: var(--mp-text-md);
		line-height: 24px;
	}
}

@media (max-width: 1200px) {
	.mp-stul-grid,
	.mp-pokoje-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	/* Keep degustace-style form column on tablet */
	.mp-pokoje-nabidka .mp-reservation-picker,
	.mp-pokoje-nabidka .mp-reservation-picker.mp-room-booking {
		display: flex;
		flex-direction: column;
		width: 348px;
		max-width: 100%;
		margin: 0 0 2rem;
		gap: 1.25rem;
	}

	.mp-room-offer {
		grid-template-columns: 1fr;
		height: auto;
	}

	.mp-pokoje-nabidka .mp-room-offers__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.25rem;
	}

	.mp-pokoje-nabidka .mp-room-offer {
		display: flex;
		flex-direction: column;
		grid-template-columns: none;
		height: auto;
		min-height: 0;
	}

	.mp-pokoje-nabidka .mp-room-offer--expanded {
		height: auto;
		min-height: 0;
	}

	.mp-room-offer--expanded {
		height: auto;
		min-height: 0;
	}

	.mp-room-offer__media {
		min-height: 320px;
	}

	.mp-pokoje-nabidka .mp-room-offer__media {
		height: auto;
		min-height: 0;
		border-radius: 10px 10px 0 0;
	}

	.mp-pokoje-nabidka .mp-room-offer__media-frame {
		aspect-ratio: 4 / 4;
		border-radius: 10px 10px 0 0;
	}

	.mp-platba__layout {
		grid-template-columns: 1fr;
	}

	.mp-platba__content {
		grid-template-columns: 1fr;
	}

	.mp-platba__vector {
		position: static;
		width: 120px;
		height: auto;
		margin-top: 1rem;
	}
}

@media (max-width: 1220px) {
	.mp-room-offer__row {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 0.75rem;
	}

	.mp-room-offer__book {
		grid-column: 1 / -1;
		width: 100%;
		justify-content: space-between;
	}
}

@media (max-width: 900px) {
	.mp-stul-grid,
	.mp-pokoje-grid {
		grid-template-columns: 1fr;
	}

	.mp-reservation-picker {
		grid-template-columns: 1fr;
		gap: 0.8rem;
	}

	.mp-pokoje-nabidka .mp-reservation-picker {
		grid-template-columns: 1fr;
	}

	.mp-pokoje-nabidka .mp-reservation-picker__btn {
		width: 100%;
		justify-content: center;
	}

	.mp-room-offer__row {
		grid-template-columns: 1fr;
	}

	.mp-room-offer__row-right {
		text-align: left;
	}

	.mp-room-offer__book {
		width: 100%;
	}

	.mp-platba-form__grid {
		grid-template-columns: 1fr;
	}
}

/* -------------------------------------------------------------------------- Responsive polish — tablet/mobile navigation and layout refinements -------------------------------------------------------------------------- */
.mp-nav__menu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	min-width: 44px;
	max-width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--mp-green);
	color: #fff;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.02em;
}

.mp-nav__menu-toggle-text {
	display: none !important;
}

.mp-nav__menu-toggle-icon {
	display: block;
	position: relative;
	width: 18px;
	height: 2px;
	background: currentColor;
	border-radius: 1px;
	transition: background 0.24s ease;
}

.mp-nav__menu-toggle-icon::before,
.mp-nav__menu-toggle-icon::after {
	content: "";
	position: absolute;
	left: 0;
	width: 18px;
	height: 2px;
	background: currentColor;
	border-radius: 1px;
	transition: transform 0.24s ease, top 0.24s ease;
}

.mp-nav__menu-toggle-icon::before {
	top: -6px;
}

.mp-nav__menu-toggle-icon::after {
	top: 6px;
}

.mp-nav__menu-toggle[aria-expanded="true"] .mp-nav__menu-toggle-icon {
	background: transparent;
}

.mp-nav__menu-toggle[aria-expanded="true"] .mp-nav__menu-toggle-icon::before {
	top: 0;
	transform: rotate(45deg);
}

.mp-nav__menu-toggle[aria-expanded="true"] .mp-nav__menu-toggle-icon::after {
	top: 0;
	transform: rotate(-45deg);
}

.mp-cart-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	min-width: 44px;
	max-width: 44px;
	height: 44px;
	padding: 0;
	gap: 0;
	border: 0;
	border-radius: 50%;
	background: var(--mp-green);
	color: #fff;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.02em;
}

.mp-nav__right .mp-nav__menu-toggle,
.mp-nav__right .mp-cart-link {
	width: auto;
	min-width: 44px;
	max-width: none;
	height: 44px;
	padding: 0 0.75rem;
	border: 0;
	border-radius: 999px;
	background: var(--mp-green);
	color: #fff;
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

.mp-nav__right .mp-nav__menu-toggle {
	width: auto;
	min-width: 44px;
}

.mp-nav__right .mp-cart-link {
	width: auto;
	min-width: 2.75rem;
}

.mp-nav__menu-toggle:focus,
.mp-nav__menu-toggle:focus-visible,
.mp-nav__menu-toggle:active,
.mp-cart-link:focus,
.mp-cart-link:focus-visible,
.mp-cart-link:active,
.mp-cart-link:hover {
	outline: none;
	box-shadow: none;
}

.mp-cart-count {
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 500;
	color: inherit;
	line-height: 1;
	letter-spacing: 0.01em;
	font-variant-numeric: tabular-nums;
	font-variant-ligatures: none;
	font-feature-settings: "liga" 0, "clig" 0, "calt" 0, "dlig" 0, "salt" 0, "ss01" 0, "ss02" 0;
}

.mp-cart-label {
	display: inline-block !important;
	max-width: 0;
	opacity: 0;
	overflow: hidden;
	white-space: nowrap;
	transition: max-width 0.2s ease, opacity 0.2s ease, margin 0.2s ease;
}

/* Touch devices sticky-:hover would expand “Košík”; only fine pointers expand. */
@media (hover: hover) and (pointer: fine) {
	.mp-cart-link:hover .mp-cart-label,
	.mp-cart-link:focus-visible .mp-cart-label {
		max-width: 4.5rem;
		opacity: 1;
		margin-right: 0.35rem;
	}
}

body.home .mp-nav:not(.is-scrolled) .mp-nav__menu-toggle,
body.home .mp-nav:not(.is-scrolled) .mp-cart-link {
	background: var(--mp-green);
	border: 0;
	color: #fff;
}

/* White icons on green control surfaces (base, scrolled bar, open drawer). */
.mp-nav.is-scrolled .mp-nav__right .mp-cart-link,
.mp-nav.is-scrolled .mp-nav__right .mp-cart-label,
.mp-nav.is-scrolled .mp-nav__right .mp-cart-count,
.mp-nav.is-scrolled .mp-nav__right .mp-nav__menu-toggle,
body.mp-nav-drawer-open .mp-nav__right .mp-cart-link,
body.mp-nav-drawer-open .mp-nav__right .mp-cart-label,
body.mp-nav-drawer-open .mp-nav__right .mp-cart-count,
body.mp-nav-drawer-open .mp-nav__right .mp-nav__menu-toggle {
	color: #fff;
}

.mp-nav-drawer__menu-trigger-label {
	display: inline;
}

.mp-nav-drawer__menu-trigger-icon {
	display: inline-block;
	width: 9px;
	height: 10px;
	flex: 0 0 auto;
	transition: transform 0.24s ease;
}

.mp-nav-drawer__inline-toggle {
	display: none;
	align-items: center;
	gap: 0.45rem;
}

.mp-nav-drawer__inline-toggle[aria-expanded="true"] .mp-nav-drawer__menu-trigger-icon,
.mp-nav-drawer__inline-toggle.is-active .mp-nav-drawer__menu-trigger-icon {
	transform: rotate(180deg);
}

body.mp-nav-drawer-open {
	overflow: hidden;
}

/* Keep header visible above fullscreen menu overlay */
body.mp-nav-drawer-open .mp-nav {
	z-index: 230;
	background: transparent;
	border-bottom-color: transparent;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

body.mp-nav-drawer-open .mp-nav__logo img {
	filter: brightness(0) invert(1);
}

body.mp-nav-drawer-open .mp-nav__left {
	visibility: hidden;
	pointer-events: none;
}

body.mp-nav-drawer-open .mp-nav__right .mp-nav__menu-toggle,
body.mp-nav-drawer-open .mp-nav__right .mp-cart-link {
	background: var(--mp-green);
	border: 0;
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

body.mp-nav-drawer-open .mp-nav__right .mp-nav__menu-toggle:focus,
body.mp-nav-drawer-open .mp-nav__right .mp-nav__menu-toggle:focus-visible,
body.mp-nav-drawer-open .mp-nav__right .mp-nav__menu-toggle:active,
body.mp-nav-drawer-open .mp-nav__right .mp-cart-link:focus,
body.mp-nav-drawer-open .mp-nav__right .mp-cart-link:focus-visible,
body.mp-nav-drawer-open .mp-nav__right .mp-cart-link:active,
body.mp-nav-drawer-open .mp-nav__right .mp-cart-link:hover,
body.mp-nav-drawer-open .mp-nav__right .mp-cart-link:hover .mp-cart-label,
body.mp-nav-drawer-open .mp-nav__right .mp-cart-link:focus-visible .mp-cart-label {
	box-shadow: none;
}

/* Homepage hero: full viewport + menu-drawer overlay */
body.home .mp-hero--full {
	transition:
		min-height var(--mp-t-base) var(--mp-ease-luxury),
		height var(--mp-t-base) var(--mp-ease-luxury),
		max-height var(--mp-t-base) var(--mp-ease-luxury);
}

body.home .mp-hero__image {
	height: 100%;
	min-height: var(--mp-viewport-h);
	transition:
		min-height var(--mp-t-base) var(--mp-ease-luxury),
		height var(--mp-t-base) var(--mp-ease-luxury);
}

/* Mobile home hero: visible viewport only (no 100vh browser-chrome bleed). JS sets --mp-viewport-h in px. */
@media (max-width: 768px) {
	body.home {
		--mp-viewport-h: 100vh;
		--mp-viewport-h: 100svh;
	}

	body.home .mp-hero--full {
		height: var(--mp-viewport-h);
		min-height: var(--mp-viewport-h);
		max-height: var(--mp-viewport-h);
		transition: none;
	}

	body.home .mp-hero__image {
		height: 100%;
		min-height: 100%;
		max-height: 100%;
		transition: none;
	}

	body.home .mp-hero__image .mp-hero__overlay {
		height: 100%;
		min-height: 100%;
		max-height: 100%;
	}

	body.home .mp-hero__overlay.mp-hero__overlay--menu-pin,
	body.home.mp-nav-drawer-open .mp-hero__overlay:not(.mp-hero__overlay--menu-pin) {
		height: var(--mp-viewport-h);
		max-height: var(--mp-viewport-h);
		inset: 0 auto auto 0;
		width: 100%;
	}
}

body.home .mp-hero__overlay {
	min-height: 100%;
}

body.home .mp-hero__overlay.mp-hero__overlay--menu-pin {
	position: fixed;
	inset: 0;
	width: 100%;
	z-index: 200;
	transform: scaleY(var(--mp-hero-menu-scale, 1));
	transform-origin: top center;
	transition: transform var(--mp-t-base) var(--mp-ease-luxury);
	will-change: transform;
}

body.home .mp-hero__overlay.mp-hero__overlay--menu-pin.mp-hero__overlay--menu-expand {
	transform: scaleY(1);
}

html.mp-motion-enabled body.home .mp-hero__overlay.mp-hero__overlay--menu-pin {
	opacity: 1;
	filter: none;
	transform: scaleY(var(--mp-hero-menu-scale, 1));
	transition: transform var(--mp-t-base) var(--mp-ease-luxury);
}

html.mp-motion-enabled body.home .mp-hero__overlay.mp-hero__overlay--menu-pin.mp-hero__overlay--menu-expand {
	transform: scaleY(1);
}

body.home.mp-nav-drawer-open .mp-hero__overlay:not(.mp-hero__overlay--menu-pin) {
	position: fixed;
	inset: 0;
	width: 100%;
	z-index: 200;
	transform: none;
	filter: none;
}

html.mp-motion-enabled body.home.mp-nav-drawer-open .mp-hero__overlay.mp-reveal:not(.mp-hero__overlay--menu-pin),
html.mp-motion-enabled body.home.mp-nav-drawer-open .mp-hero__overlay.mp-reveal.is-visible:not(.mp-hero__overlay--menu-pin) {
	transform: none;
	filter: none;
}

body.home.mp-nav-drawer-open .mp-hero__overlay-p--desktop {
	display: none !important;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}

/* Homepage: show hero through drawer media until a menu preview image is active */
body.home .mp-nav-drawer.is-home-default-media .mp-nav-drawer__media {
	background: transparent;
}

body.home .mp-nav-drawer.is-home-default-media .mp-nav-drawer__media-img {
	opacity: 0;
	visibility: hidden;
}

/* Fullscreen menu overlay */
.mp-nav-drawer {
	--mp-nav-drawer-sidebar: clamp(280px, 29.4vw, 445px);
	--mp-nav-drawer-inline-end: var(--mp-nav-inner-pad);
	position: fixed;
	inset: 0;
	z-index: 220;
	pointer-events: none;
	visibility: hidden;
	transition: visibility 0s linear 0.48s;
}

.mp-nav-drawer.is-open {
	pointer-events: auto;
	visibility: visible;
	transition: visibility 0s linear 0s;
}

.mp-nav-drawer__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) var(--mp-nav-drawer-sidebar);
	position: relative;
	min-height: 100%;
	height: 100%;
	overflow: hidden;
}

.mp-nav-drawer__media {
	position: relative;
	min-height: 0;
	overflow: hidden;
	cursor: pointer;
	background: var(--mp-green);
	z-index: 1;
	opacity: 0;
	transform: translateX(12%);
	transition:
		opacity var(--mp-t-base) var(--mp-ease-soft),
		transform var(--mp-t-base) var(--mp-ease-luxury);
}

.mp-nav-drawer.is-open .mp-nav-drawer__media {
	opacity: 1;
	transform: translateX(0);
}

.mp-nav-drawer__media-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity 0.45s ease;
}

.mp-nav-drawer__subpanel {
	position: absolute;
	top: 0;
	right: var(--mp-nav-drawer-sidebar);
	bottom: 0;
	width: var(--mp-nav-drawer-sidebar);
	display: flex;
	align-items: stretch;
	min-height: 0;
	background: #2c2d34;
	z-index: 2;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	transform: translateX(100%);
	transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}

.mp-nav-drawer__subpanel[hidden] {
	display: none;
}

.mp-nav-drawer.is-subpanel-open .mp-nav-drawer__subpanel.is-active {
	transform: translateX(0);
}

.mp-nav-drawer__subpanel-inner {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	min-height: 100%;
	padding: calc(var(--mp-nav-height) + 2.5rem) var(--mp-nav-drawer-inline-end) 2rem var(--mp-nav-inner-pad);
	text-align: left;
}

.mp-nav-drawer__subpanel-title {
	margin: 0;
	color: var(--mp-text-on-dark);
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-2xl);
	line-height: 34px;
	font-weight: 420;
	text-align: left;
}

.mp-nav-drawer__subpanel-contact {
	margin-top: 1rem;
	color: var(--mp-text-on-dark);
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-lg);
	line-height: 28px;
	font-weight: 420;
	text-align: left;
}

.mp-nav-drawer__subpanel-contact-media {
	margin: 0 0 0.75rem;
	width: 100%;
	max-width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.06);
}

.mp-nav-drawer__subpanel-contact-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.mp-nav-drawer__subpanel-contact-name {
	display: block;
	margin: 0;
	font: inherit;
	font-weight: inherit;
	color: inherit;
}

.mp-nav-drawer__subpanel-contact-lines {
	margin-bottom: 0.75rem;
}

.mp-nav-drawer__subpanel-contact-link {
	display: block;
	margin-top: 0.35rem;
	color: var(--mp-text-on-dark);
	text-decoration: underline;
	text-underline-offset: 0.15em;
	opacity: 0.88;
	transition: opacity 0.25s ease;
}

.mp-nav-drawer__subpanel-contact-link:hover,
.mp-nav-drawer__subpanel-contact-link:focus-visible {
	color: var(--mp-text-on-dark);
	opacity: 1;
}

.mp-nav-drawer__subpanel-menu {
	list-style: none;
	margin: 1.25rem 0 0;
	padding: 0;
	width: 100%;
}

.mp-nav-drawer__subpanel-menu a {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 0.35rem 0;
	text-align: left;
	color: var(--mp-text-on-dark);
	text-decoration: none;
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-2xl);
	line-height: 34px;
	font-weight: 420;
	opacity: 0.88;
	transition: opacity 0.25s ease;
}

.mp-nav-drawer__subpanel-menu a:hover,
.mp-nav-drawer__subpanel-menu a:focus-visible {
	opacity: 1;
}

.mp-nav-drawer__subpanel-divider {
	position: absolute;
	top: calc(var(--mp-nav-height) + 1rem);
	right: 0;
	bottom: 5rem;
	width: 1px;
	background: rgba(238, 234, 222, 0.28);
}

.mp-nav-drawer__sidebar {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 0;
	background: var(--mp-green);
	color: var(--mp-text-on-dark);
	z-index: 3;
	transform: translateX(100%);
	transition: transform var(--mp-t-base) var(--mp-ease-luxury);
	will-change: transform;
}

.mp-nav-drawer.is-open .mp-nav-drawer__sidebar {
	transform: translateX(0);
}

.mp-nav-drawer__nav {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	position: relative;
	overflow: hidden;
	padding: calc(var(--mp-nav-height) + 2.5rem) var(--mp-nav-drawer-inline-end) 1.5rem var(--mp-nav-inner-pad);
}

.mp-nav-drawer__menu,
.mp-nav-drawer__secondary {
	position: relative;
	z-index: 1;
}

.mp-nav-drawer__brand-mark {
	position: absolute;
	right: var(--mp-nav-drawer-inline-end);
	bottom: 1.25rem;
	z-index: 0;
	width: min(46%, 148px);
	max-width: calc(100% - var(--mp-nav-inner-pad) - var(--mp-nav-drawer-inline-end));
	pointer-events: none;
	opacity: 0.9;
}

.mp-nav-drawer__brand-mark[hidden] {
	display: none;
}

.mp-nav-drawer__brand-mark img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
	object-position: right bottom;
	filter: brightness(0) invert(1) sepia(0.08) saturate(0.2);
	opacity: 0.82;
}

.mp-nav-drawer__menu {
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
	box-sizing: border-box;
	text-align: left;
}

.mp-nav-drawer__menu li {
	margin: 0;
	padding: 0;
	width: 100%;
}

.mp-nav-drawer__menu a {
	display: inline-block;
	width: auto;
	max-width: 100%;
	box-sizing: border-box;
	padding: 0.2rem 0;
	border: 0;
	background: transparent;
	color: var(--mp-text-on-dark);
	text-decoration: none;
	text-align: left;
	white-space: normal;
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-2xl);
	line-height: 34px;
	font-weight: 420;
	letter-spacing: 0;
	cursor: pointer;
}

.mp-nav-drawer__menu-trigger {
	display: inline-flex;
	align-items: center;
	width: auto;
	max-width: 100%;
	box-sizing: border-box;
	padding: 0.2rem 0;
	border: 0;
	background: transparent;
	color: var(--mp-text-on-dark);
	text-decoration: none;
	text-align: left;
	white-space: normal;
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-2xl);
	line-height: 34px;
	font-weight: 420;
	letter-spacing: 0;
	cursor: pointer;
	gap: 0.45rem;
}

.mp-nav-drawer__menu a:hover,
.mp-nav-drawer__menu a:focus-visible,
.mp-nav-drawer__menu a:active {
	color: var(--mp-text-on-dark);
}

.mp-nav-drawer__menu-trigger:hover,
.mp-nav-drawer__menu-trigger:focus-visible,
.mp-nav-drawer__menu-trigger:active,
.mp-nav-drawer__menu-trigger.is-active {
	color: var(--mp-text-on-dark);
	opacity: 1;
}

.mp-nav-drawer__inline-toggle,
.mp-nav-drawer__menu-sublist {
	display: none;
}

.mp-nav-drawer__menu-item--expandable .mp-nav-drawer__subpanel-trigger {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0.45rem;
	width: auto;
	max-width: 100%;
	box-sizing: border-box;
}

.mp-nav-drawer__subpanel-trigger .mp-nav-drawer__menu-trigger-icon {
	filter: brightness(0) invert(1);
	opacity: 0.92;
}

.mp-nav-drawer__subpanel-trigger[aria-expanded="true"] .mp-nav-drawer__menu-trigger-icon,
.mp-nav-drawer__subpanel-trigger.is-active .mp-nav-drawer__menu-trigger-icon {
	transform: rotate(180deg);
}

.mp-nav-drawer__menu-item--expandable .mp-nav-drawer__expand-link {
	display: none;
}

.mp-nav-drawer__secondary {
	width: 100%;
	box-sizing: border-box;
	margin-top: 1.75rem;
}

.mp-nav-drawer__secondary-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	gap: 0.4rem;
}

.mp-nav-drawer__secondary-link {
	display: inline-block;
	width: auto;
	max-width: 100%;
	box-sizing: border-box;
	text-align: left;
	min-height: 1.75rem;
	color: var(--mp-text-on-dark);
	text-decoration: none;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-xl);
	line-height: 1.35;
	font-weight: 500;
	letter-spacing: 0.01em;
	opacity: 0.88;
	transition: opacity 0.25s ease;
}

.mp-nav-drawer__secondary-link:hover,
.mp-nav-drawer__secondary-link:focus-visible,
.mp-nav-drawer__secondary-link:active {
	color: var(--mp-text-on-dark);
	opacity: 0.88;
}

body.mp-mini-cart-open {
	overflow: hidden;
}

.mp-ui-overlay {
	position: fixed;
	inset: 0;
	background: rgba(44, 45, 52, 0.52);
	backdrop-filter: blur(1.5px);
	-webkit-backdrop-filter: blur(1.5px);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.36s ease, visibility 0s linear 0.36s;
	z-index: 55;
}

/* Overlay hidden when calendar opens — no opacity/blur on main content */
body.mp-calendar-open .mp-ui-overlay {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

/* Main content (including calendar) above overlay when calendar is open */
body.mp-calendar-open #main {
	position: relative;
	z-index: 60;
}

.mp-mini-cart-drawer {
	position: fixed;
	inset: 0;
	z-index: 240;
	pointer-events: none;
	visibility: hidden;
}

.mp-mini-cart-drawer__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(44, 45, 52, 0.52);
	backdrop-filter: blur(1.5px);
	border: 0;
	opacity: 0;
	transition: opacity 0.36s ease;
}

.mp-mini-cart {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(100%, 460px);
	background: #eeeade;
	border-left: 1px solid rgba(77, 55, 40, 0.12);
	display: flex;
	flex-direction: column;
	transform: translateX(100%);
	transition: transform var(--mp-t-base) var(--mp-ease-luxury);
	box-shadow: none;
}

.mp-mini-cart-drawer.is-open,
.mp-mini-cart-drawer.is-closing {
	pointer-events: auto;
	visibility: visible;
}

.mp-mini-cart-drawer.is-open .mp-mini-cart-drawer__backdrop {
	opacity: 1;
}
.mp-mini-cart-drawer.is-closing .mp-mini-cart-drawer__backdrop {
	opacity: 0;
	transition: opacity 0.28s ease;
}

.mp-mini-cart-drawer.is-open .mp-mini-cart {
	transform: translateX(0);
}
/* Closing: slide panel right before hiding */
.mp-mini-cart-drawer.is-closing .mp-mini-cart {
	transform: translateX(100%);
}

.mp-mini-cart__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.2rem 1.15rem 1rem;
	border-bottom: none;
	background: #eeeade;
}

.mp-mini-cart__header-copy {
	display: grid;
	gap: 0.25rem;
}

.mp-mini-cart__eyebrow {
	margin: 0;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-sm);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(77, 55, 40, 0.68);
}

.mp-mini-cart__title {
	margin: 0;
	font-size: var(--mp-text-2xl);
	line-height: 1.2;
	color: var(--mp-accent);
}

.mp-mini-cart__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	margin-right: -0.1rem;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: var(--mp-green);
	color: #fff;
	font-size: var(--mp-text-xl);
	line-height: 1;
	cursor: pointer;
	transition: background 0.24s ease, color 0.24s ease, opacity 0.24s ease, transform 0.24s ease;
}

.mp-mini-cart__close:focus {
	outline: none;
}

.mp-mini-cart__close:hover,
.mp-mini-cart__close:focus-visible {
	background: var(--mp-green);
	color: #fff;
	opacity: 0.9;
	transform: translateY(-1px);
}

.mp-mini-cart__close:focus-visible {
	outline: 2px solid var(--mp-accent, #3f543c);
	outline-offset: 2px;
}

.mp-mini-cart:focus {
	outline: none;
}

.mp-mini-cart__close span {
	pointer-events: none;
	color: inherit;
}

.mp-mini-cart__content {
	padding: 1rem 1.05rem 1.1rem;
	overflow: hidden;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 0;
	min-height: 0;
	font-size: var(--mp-text-base);
	line-height: 1.45;
	color: var(--mp-text);
}

/* Summary block removed from drawer; hide if present (e.g. plugin or cache). */
.mp-mini-cart .mp-mini-cart__summary {
	display: none !important;
}

.mp-mini-cart__body {
	display: flex;
	flex-direction: column;
	gap: 0;
	flex: 1;
	min-height: 0;
	overflow: hidden;
}

/* Items + shipping scroll together; Zaplatit stays pinned at the bottom. */
.mp-mini-cart__body > .mp-mini-cart__scroll {
	flex: 1 1 0;
	min-height: 0;
	overflow-y: auto;
}

.mp-mini-cart__body > .mp-mini-cart__scroll > .woocommerce-mini-cart {
	flex: none;
	min-height: 0;
	overflow: visible;
}

/* Mini-cart total line removed; total shown on button only. */
.mp-mini-cart__body > .woocommerce-mini-cart__total {
	display: none !important;
}

/* Pairing fee rows — same role as checkout fee lines under the bag items. */
.mp-mini-cart__pairing-fee {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem;
	flex-shrink: 0;
	margin: 0.55rem 0 0;
	padding: 0;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	line-height: 1.35;
	color: var(--mp-green, #3f543c);
}

.mp-mini-cart__pairing-fee:first-of-type {
	margin-top: 0.85rem;
	padding-top: 0.65rem;
	border-top: 1px solid var(--mp-green, #3f543c);
}

.mp-mini-cart__pairing-fee-label {
	font-weight: 500;
	min-width: 0;
}

.mp-mini-cart__pairing-fee-value {
	font-weight: 700;
	text-align: right;
	white-space: nowrap;
}

/* Shipping row (needs_shipping carts) — explains Zaplatit grand total. */
.mp-mini-cart__shipping {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem;
	flex-shrink: 0;
	margin: 0.55rem 0 0.35rem;
	padding: 0;
	border-top: 0;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	line-height: 1.35;
	color: var(--mp-green, #3f543c);
}

/* When pairing fees already drew the divider, shipping sits flush below them. */
.mp-mini-cart__pairing-fee + .mp-mini-cart__shipping {
	margin-top: 0.45rem;
}

.mp-mini-cart__shipping-label {
	font-weight: 500;
}

.mp-mini-cart__shipping-value {
	font-weight: 700;
	text-align: right;
	white-space: nowrap;
}

.mp-mini-cart__shipping--free .mp-mini-cart__shipping-value {
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.mp-mini-cart__body > .woocommerce-mini-cart__buttons {
	flex-shrink: 0;
	margin: 0;
}

/* "Pokračovat v nákupu" link removed from drawer; hide if present (e.g. cache). */
.mp-mini-cart__actions,
.mp-mini-cart .mp-mini-cart__continue {
	display: none !important;
}

.mp-mini-cart .woocommerce-mini-cart {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0;
	font-family: var(--mp-font-sans);
	line-height: 1.35;
}

.mp-mini-cart .woocommerce-mini-cart > li {
	list-style: none;
	margin-left: 0;
}

/* Row: thumb | title + qty | remove + line price (reference minicart UI) */
.mp-mini-cart .woocommerce-mini-cart-item {
	position: relative;
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) max-content;
	grid-template-rows: auto;
	align-items: start;
	gap: 1rem 1.1rem;
	padding-top: 10px;
	padding-bottom: 10px;
	padding-left: 0;
	padding-right: 0;
	margin: 0;
	border: none;
	border-bottom: 1px solid var(--mp-green, #3f543c);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	list-style: none;
	line-height: 1.35;
	font-size: var(--mp-text-md);
	color: var(--mp-green);
}

.mp-mini-cart .woocommerce-mini-cart-item,
.mp-mini-cart .woocommerce-mini-cart-item a,
.mp-mini-cart .woocommerce-mini-cart-item button,
.mp-mini-cart .woocommerce-mini-cart-item .amount,
.mp-mini-cart .woocommerce-mini-cart-item .woocommerce-Price-amount,
.mp-mini-cart .woocommerce-mini-cart-item bdi,
.mp-mini-cart .woocommerce-mini-cart-item span {
	color: var(--mp-green);
}

.mp-mini-cart .woocommerce-mini-cart-item:first-child {
	border-top: 1px solid var(--mp-green, #3f543c);
}

.mp-mini-cart-item__thumb {
	grid-column: 1;
	grid-row: 1;
	align-self: start;
	width: 64px;
	height: 64px;
	min-width: 64px;
	min-height: 64px;
	border-radius: 10px;
	background: rgba(238, 234, 222, 0.72);
	overflow: hidden;
}

.mp-mini-cart-item__thumb-link {
	display: block;
	width: 100%;
	height: 100%;
	color: inherit;
}

.mp-mini-cart .woocommerce-mini-cart-item .mp-mini-cart-item__thumb img,
.mp-mini-cart .woocommerce-mini-cart-item .mp-mini-cart-item__thumb .attachment-woocommerce_thumbnail {
	width: 64px;
	height: 64px;
	max-width: none;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
	float: none;
	margin: 0;
	display: block;
	box-shadow: none;
}

.mp-mini-cart-item__main {
	grid-column: 2;
	grid-row: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	min-width: 0;
}

.mp-mini-cart-item__title-row {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 0;
}

.mp-mini-cart-item__title,
.mp-mini-cart .woocommerce-mini-cart-item .mp-mini-cart-item__title,
.mp-mini-cart .woocommerce-mini-cart-item a.mp-mini-cart-item__title {
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0;
	color: var(--mp-green);
	text-decoration: none;
	text-wrap: pretty;
	word-break: break-word;
}

.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation .mp-mini-cart-item__title {
	font-weight: 700;
	font-size: var(--mp-text-base);
	line-height: 1.45;
}

/* Pairing sibling lines: single-line product title (not the 3-line food summary). */
.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--pairing .mp-mini-cart-item__title {
	font-size: var(--mp-text-md);
	font-weight: 500;
	line-height: 1.25;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--pairing .mp-mini-cart-item__degustace-summary {
	font-size: var(--mp-text-base);
	font-weight: 700;
	line-height: 1.45;
	white-space: normal;
}

a.mp-mini-cart-item__title:hover,
a.mp-mini-cart-item__title:focus-visible {
	color: var(--mp-green);
	opacity: 0.85;
}

.mp-mini-cart-item__stepper {
	display: inline-flex;
	align-items: center;
	margin-top: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	overflow: visible;
	background: transparent;
}

.mp-mini-cart-qty__btn {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	width: auto;
	height: auto;
	min-width: 0;
	min-height: 0;
	padding: 4px;
	border: none;
	background: transparent;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	font-weight: 300;
	line-height: 1;
	text-align: left;
	color: var(--mp-green);
	cursor: pointer;
	transition: background 0.15s ease;
}

.mp-mini-cart-qty__btn:hover:not([disabled]) {
	background: rgba(63, 84, 60, 0.08);
}

.mp-mini-cart-qty__btn[disabled] {
	opacity: 0.32;
	cursor: not-allowed;
}

.mp-mini-cart-qty__value {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 3rem;
	padding: 8px;
	font-size: var(--mp-text-base);
	font-weight: 500;
	line-height: 100%;
	color: var(--mp-green);
}

.mp-mini-cart-item__aside {
	grid-column: 3;
	grid-row: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: flex-start;
	align-self: stretch;
	gap: 0.75rem;
	min-width: max-content;
	padding-left: 0;
	text-align: right;
}

.mp-mini-cart-item__line-price {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	font-weight: 500;
	line-height: 1.25;
	color: var(--mp-green);
	text-align: right;
	white-space: nowrap;
}

.mp-mini-cart-item__line-price .amount,
.mp-mini-cart-item__line-price .woocommerce-Price-amount,
.mp-mini-cart-item__line-price bdi {
	font-size: var(--mp-text-base);
	font-weight: 500;
	color: inherit;
}

/* Non-reservation rows: explicit two-track layout (title/remove + stepper/price). */
.mp-mini-cart .woocommerce-mini-cart-item:not(.mp-mini-cart-item--reservation) .mp-mini-cart-item__main {
	display: grid;
	grid-template-rows: auto auto;
	align-content: start;
	row-gap: 0.35rem;
}
.mp-mini-cart .woocommerce-mini-cart-item:not(.mp-mini-cart-item--reservation) .mp-mini-cart-item__title-row {
	grid-row: 1;
	min-height: 1.18em;
}
.mp-mini-cart .woocommerce-mini-cart-item:not(.mp-mini-cart-item--reservation) .mp-mini-cart-item__stepper {
	grid-row: 2;
	align-self: start;
}
.mp-mini-cart .woocommerce-mini-cart-item:not(.mp-mini-cart-item--reservation) .mp-mini-cart-item__aside {
	display: grid;
	grid-template-rows: auto auto;
	align-content: start;
	row-gap: 0.35rem;
	justify-items: end;
}
.mp-mini-cart .woocommerce-mini-cart-item:not(.mp-mini-cart-item--reservation) .mp-mini-cart-item__aside > .mp-mini-cart-item__line-price {
	grid-row: 1;
	align-self: start;
	padding-right: 0;
}
.mp-mini-cart .woocommerce-mini-cart-item:not(.mp-mini-cart-item--reservation) .mp-mini-cart-item__aside > .mp-mini-cart-item__remove-link {
	grid-row: 2;
	align-self: start;
}

/* Gift voucher cart styles live in iac-voucher (assets/css/voucher-cart.css). */

.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation {
	grid-template-columns: 64px minmax(0, 1fr) max-content;
	gap: 0.65rem 0.75rem;
	padding: 10px 0;
	border-top: none;
	border-bottom: 1px solid var(--mp-green, #3f543c);
	background: transparent;
}

.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation:first-child {
	border-top: 1px solid var(--mp-green, #3f543c);
}

.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation .mp-mini-cart-item__main {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.35rem;
	padding-left: 0;
	min-width: 0;
}

.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation .mp-mini-cart-item__title-row {
	display: flex;
	align-items: flex-start;
	width: 100%;
	min-width: 0;
}

.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation .mp-mini-cart-item__title {
	min-width: 0;
}

.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation .mp-mini-cart-item__aside {
	display: grid;
	grid-template-rows: auto auto;
	align-content: start;
	row-gap: 0.35rem;
	justify-items: end;
	min-width: max-content;
}

.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation .mp-mini-cart-item__line-price--reservation {
	margin: 0;
	padding-top: 0.05rem;
	font-size: var(--mp-text-base);
	line-height: 1.25;
	font-weight: 500;
	text-align: right;
	white-space: nowrap;
	color: var(--mp-accent);
}

/* Degustace / room summary: full width of text column — never under the price. */
.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation .mp-mini-cart-item__degustace-summary {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	text-align: left;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	font-weight: 700;
	line-height: 1.45;
	margin: 0;
	padding: 0;
	color: var(--mp-green, #3f543c);
}

/* Small thumb for reservation — room photo or calendar icon fallback (64×64). */
.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation .mp-mini-cart-item__reservation-thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	flex-shrink: 0;
	background: rgba(77, 55, 40, 0.08);
	border-radius: 10px;
	overflow: hidden;
}
.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation .mp-mini-cart-item__reservation-thumb--photo {
	background: rgba(238, 234, 222, 0.72);
}
.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation .mp-mini-cart-item__reservation-thumb-image {
	display: block;
	width: 64px;
	height: 64px;
	object-fit: cover;
	object-position: center;
	border-radius: 10px;
}
.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation .mp-mini-cart-item__reservation-thumb-icon {
	width: 32px;
	height: 32px;
	display: block;
	color: var(--mp-accent);
}

.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation .mp-mini-cart-item__degustace-summary p {
	display: block;
	width: 100%;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	margin: 0;
	color: inherit;
}

/* Room / other reservations: compact metadata rows. */
.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation .mp-mini-cart-item__main > dl.variation {
	display: grid;
	grid-template-columns: minmax(4.75rem, auto) minmax(0, 1fr);
	align-self: stretch;
	width: auto;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	margin: 0.15rem 0 0;
	padding: 0.55rem 0 0;
	gap: 0.35rem 0.75rem;
	color: var(--mp-accent);
	border: none;
}

.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation dl.variation dt,
.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation dl.variation dd {
	display: block;
	float: none;
	margin: 0;
	padding: 0;
}

.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation dl.variation dt {
	font-size: var(--mp-text-sm);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: rgba(77, 55, 40, 0.62);
	white-space: nowrap;
}

.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation dl.variation dd {
	font-size: var(--mp-text-base);
	font-weight: 500;
	line-height: 1.35;
	color: var(--mp-accent);
	text-align: right;
}

.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation dl.variation dd p {
	display: block;
	margin: 0;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}

/* Fallback for cached/legacy variation summary row markup. */
.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation dl.variation dt.variation-,
.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation dl.variation dt[class="variation-"] {
	display: none !important;
}
.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation dl.variation dd.variation-,
.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation dl.variation dd[class="variation-"] {
	grid-column: 1 / -1;
	text-align: left;
}

/* Soft-hold countdown: under summary in the text column. */
.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation .mp-mini-cart-item__hold-row {
	display: block;
	width: 100%;
	margin-top: 0;
}

.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation .mp-mini-cart-item__degustace-summary + .mp-mini-cart-item__hold-row {
	margin-top: 0;
}

/* Never show hold inside the variation grid in mini-cart (lives in hold-row). */
.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation dl.variation dd.mp-mini-cart-item__hold,
.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation dl.variation dd.variation-mp-hold-countdown {
	display: none !important;
}

.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation .mp-mini-cart-item__hold,
.mp-mini-cart .woocommerce-mini-cart-item .mp-mini-cart-item__hold {
	display: block;
	margin: 0;
	text-align: left;
	font-size: var(--mp-text-base);
	font-weight: 500;
	line-height: 1.35;
	color: #4d3728;
}

/* Párování + Cena: hidden in mini-cart. */
.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation dl.variation dt.mp-variation-dt--pairing,
.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation dl.variation dd.mp-variation-pairing,
.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation dl.variation dt.variation-cena,
.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation dl.variation dd.variation-cena {
	display: none !important;
}

.mp-mini-cart .woocommerce-mini-cart-item dl.variation {
	display: grid;
	align-self: stretch;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.16rem 0.45rem;
	margin: 0.42rem 0 0;
	padding-top: 0.38rem;
	border: none;
}

.mp-mini-cart .woocommerce-mini-cart-item dl.variation dt,
.mp-mini-cart .woocommerce-mini-cart-item dl.variation dd {
	float: none;
	margin: 0;
	padding: 0;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	line-height: 1.35;
	color: var(--mp-text);
}

.mp-mini-cart .woocommerce-mini-cart-item dl.variation dt {
	font-weight: 700;
	color: var(--mp-accent);
}

.mp-mini-cart .woocommerce-mini-cart-item dl.variation dd {
	text-align: right;
}

.mp-mini-cart .woocommerce-mini-cart-item dl.variation dd p {
	margin: 0;
}

/* Hide leftover Woo × remove if any fragment still ships .remove. */
.mp-mini-cart .woocommerce-mini-cart-item .remove:not(.mp-mini-cart-item__remove-link) {
	display: none !important;
}

/* Product + reservation: “Odstranit” text link (no Woo .remove — clips to 1em). */
.mp-mini-cart .woocommerce-mini-cart-item .mp-mini-cart-item__remove-link,
.mp-mini-cart .woocommerce-mini-cart-item a.mp-mini-cart-item__remove-link {
	display: inline-block !important;
	visibility: visible !important;
	opacity: 1 !important;
	position: static !important;
	width: auto !important;
	max-width: none !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--mp-accent, #3f543c) !important;
	font-family: var(--mp-font-sans) !important;
	font-size: var(--mp-text-sm) !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	letter-spacing: 0.01em;
	text-align: right;
	text-decoration: underline !important;
	text-indent: 0 !important;
	text-underline-offset: 0.14em;
	white-space: nowrap;
	cursor: pointer;
	align-self: flex-end;
}

.mp-mini-cart .woocommerce-mini-cart-item .mp-mini-cart-item__remove-link:hover,
.mp-mini-cart .woocommerce-mini-cart-item .mp-mini-cart-item__remove-link:focus-visible {
	background: transparent !important;
	color: var(--mp-green, #3f543c) !important;
	opacity: 0.8 !important;
}

/* Legacy widget quantity (if present) */
.mp-mini-cart .quantity {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin-top: 0.48rem;
	padding: 0.24rem 0;
	background: none;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	font-weight: 500;
	color: var(--mp-text);
}

.mp-mini-cart .quantity .amount {
	font-weight: 700;
	color: var(--mp-accent);
}

.mp-mini-cart .woocommerce-mini-cart__total {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0;
	padding: 0.9rem 1rem;
	border: none;
	border-radius: 12px;
	background: rgba(238, 234, 222, 0.88);
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 700;
	color: var(--mp-accent);
	box-shadow: none;
}

.mp-mini-cart .woocommerce-mini-cart__total strong {
	font-size: inherit;
	line-height: inherit;
}

.mp-mini-cart .woocommerce-mini-cart__total .amount {
	font-size: var(--mp-text-lg);
}

.mp-mini-cart .woocommerce-mini-cart__buttons {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.6rem;
	margin: 0;
}

.mp-mini-cart .woocommerce-mini-cart__empty-message {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex: 1;
	margin: 0;
	padding: 2.5rem 1.25rem;
	border-radius: 0;
	background: transparent;
	text-align: center;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 500;
	line-height: 1.45;
	color: var(--mp-green, #3f543c);
}

.mp-mini-cart .woocommerce-mini-cart__empty-message.with-empty-cart-icon::before {
	content: "";
	display: block;
	width: 4.5rem;
	height: 4rem;
	margin: 0 auto 1.25rem;
	background-color: var(--mp-green, #3f543c);
	-webkit-mask-image: url("assets/images/icon-kun.svg");
	mask-image: url("assets/images/icon-kun.svg");
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
}

/* -------------------------------------------------------------------------- Cart page (Košík) — clean table, reservation rows like mini-cart -------------------------------------------------------------------------- */
.woocommerce-cart-form .shop_table {
	border: none;
	border-collapse: collapse;
}
.woocommerce-cart-form .shop_table thead {
	border-bottom: 1px solid var(--mp-border);
}
.woocommerce-cart-form .shop_table thead th {
	padding: 0.75rem 0.5rem 0.75rem 0;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-sm);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: rgba(77, 55, 40, 0.65);
	border: none;
}
.woocommerce-cart-form .shop_table tbody tr {
	border-bottom: 1px solid var(--mp-border);
}
.woocommerce-cart-form .shop_table tbody tr:last-child {
	border-bottom: none;
}
.woocommerce-cart-form .shop_table tbody td {
	padding: 1rem 0.5rem 1rem 0;
	vertical-align: top;
	border: none;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	color: var(--mp-text);
}
.woocommerce-cart-form .shop_table .product-name {
	font-family: var(--mp-font-display);
	font-size: var(--mp-text-lg);
	color: var(--mp-accent);
}
.woocommerce-cart-form .shop_table .product-name a {
	color: var(--mp-accent);
	text-decoration: none;
}
.woocommerce-cart-form .shop_table .product-name a:hover {
	color: var(--mp-accent-dark);
}

/* Reservation rows: single green line below each (like mini-cart) */
.woocommerce-cart-form .shop_table tr.mp-cart-item--reservation td {
	padding-top: 1.1rem;
	padding-bottom: 1.1rem;
}
.woocommerce-cart-form .shop_table tr.mp-cart-item--reservation {
	border-bottom: 2px solid var(--mp-accent);
}

/* Variation block (Datum, Čas, Párování, Hosté) on cart page — match mini-cart look */
.woocommerce-cart-form .product-name dl.variation {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.2rem 0.75rem;
	margin: 0.5rem 0 0;
	padding-top: 0.5rem;
	border-top: 1px dashed rgba(77, 55, 40, 0.2);
	font-size: var(--mp-text-base);
}
.woocommerce-cart-form .product-name dl.variation dt,
.woocommerce-cart-form .product-name dl.variation dd {
	float: none;
	margin: 0;
	padding: 0;
}
.woocommerce-cart-form .product-name dl.variation dt {
	font-weight: 500;
	font-size: var(--mp-text-sm);
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: rgba(77, 55, 40, 0.65);
}
.woocommerce-cart-form .product-name dl.variation dd {
	text-align: right;
	color: var(--mp-text);
}
.woocommerce-cart-form .product-name dl.variation dd p {
	margin: 0;
}
/* Summary sentence (empty key) */
.woocommerce-cart-form .product-name dl.variation dt.variation- {
	display: none;
}
.woocommerce-cart-form .product-name dl.variation dd.variation- {
	grid-column: 1 / -1;
	text-align: left;
	font-size: var(--mp-text-base);
	line-height: 1.4;
	color: rgba(44, 45, 52, 0.85);
	margin-bottom: 0.25rem;
}
.woocommerce-cart-form .product-name dl.variation dd.variation- p {
	margin: 0;
	font-size: inherit;
}
/* Párování box */
.woocommerce-cart-form .product-name dl.variation dd.mp-variation-pairing {
	display: block;
	text-align: left;
	margin-top: 0.15rem;
	padding: 0.45rem 0.65rem;
	background: rgba(238, 234, 222, 0.9);
	border-radius: 8px;
	border: 1px solid var(--mp-border);
	font-weight: 500;
}
/* Hosté circle */
.woocommerce-cart-form .product-name dl.variation dd.mp-variation-guests {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	min-width: 2.25rem;
	height: 2.25rem;
	border-radius: 9999px;
	background: var(--mp-accent);
	border: 1px solid var(--mp-accent);
	font-weight: 500;
	font-size: var(--mp-text-base);
	color: var(--mp-text-on-dark);
	text-align: center;
	padding: 0;
}
.woocommerce-cart-form .product-name dl.variation dd.mp-variation-guests p {
	margin: 0;
	font-size: inherit;
	line-height: 1;
}

/* Remove button on cart page */
.woocommerce-cart-form .product-remove a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 9999px;
	background: rgba(77, 55, 40, 0.08);
	color: var(--mp-accent) !important;
	font-size: var(--mp-text-lg);
	line-height: 1;
	text-decoration: none;
	transition: background 0.22s ease, transform 0.22s ease;
}
.woocommerce-cart-form .product-remove a.remove:hover {
	background: rgba(77, 55, 40, 0.18);
	transform: scale(1.05);
	color: var(--mp-accent) !important;
}

/* Empty cart (Blocks) — Czech title + brand horse icon */
.wc-block-cart__empty-cart__title {
	font-family: var(--mp-font-sans);
	font-weight: 700;
	color: var(--mp-green, #3f543c);
	letter-spacing: -0.02em;
}

.wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
	width: 5.5em;
	height: 5em;
	margin: 0 auto 1.25rem;
	background-color: var(--mp-green, #3f543c);
	-webkit-mask-image: url("assets/images/icon-kun.svg");
	mask-image: url("assets/images/icon-kun.svg");
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
}

@media (max-width: 1280px) {
	.mp-nav__inner {
		gap: 0.75rem;
	}

	.mp-nav__left,
	.mp-nav__right {
		gap: 1.2rem;
		font-size: var(--mp-text-md);
	}

	.mp-nav__left .mp-nav__menu {
		gap: 1.2rem;
	}

	.mp-home-cream__inner {
		padding-left: var(--mp-gutter);
		padding-right: var(--mp-gutter);
	}

	.mp-block__inner--featured {
		padding: 28px 40px;
	}
}

@media (max-width: 1024px) {
	.mp-nav__inner {
		grid-template-columns: 1fr auto 1fr;
	}

	.mp-nav__left {
		display: none;
	}

	.mp-nav__logo {
		--mp-nav-logo-w: 120px;
		grid-column: 1;
		justify-self: start;
	}

	.mp-nav__logo img {
		width: 120px;
		height: auto;
		object-position: top center;
	}

	.mp-nav__right {
		gap: 0.75rem;
	}

	.mp-home-cream {
		padding: 72px 0 80px;
	}

	.mp-home-cream__inner {
		padding-left: var(--mp-gutter);
		padding-right: var(--mp-gutter);
	}

	.mp-home-intro {
		margin-bottom: 56px;
	}

	.mp-home-row--kitchen {
		grid-template-columns: 1fr;
		gap: 24px;
		margin-bottom: 56px;
	}

	.mp-home-row--farm {
		margin-bottom: 48px;
	}

	.mp-home-row--krajina {
		margin-top: 56px;
	}

	.mp-home-section,
	.mp-home-section--kitchen,
	.mp-home-section--center {
		text-align: left;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

	.mp-home-slideshow {
		max-width: 640px;
		margin: 0 auto;
	}

	.mp-home-bleed {
		border-radius: 0;
	}

	.mp-block--featured {
		padding: 24px 0;
	}

	.mp-block__inner--featured {
		padding-left: var(--mp-gutter);
		padding-right: var(--mp-gutter);
		gap: 1.25rem;
	}

	.mp-block--featured .mp-block__title {
		font-size: var(--mp-text-4xl);
		line-height: 1.2;
	}

	.mp-block--featured .mp-block__text {
		font-size: var(--mp-text-md);
		line-height: 1.6;
		margin-bottom: 1.25rem;
	}

	.mp-footer {
		padding: 2rem 0 1.5rem;
	}

	.mp-footer__top {
		gap: 1.5rem;
		margin-bottom: 1.5rem;
	}

	.mp-footer__newsletter-title {
		font-size: var(--mp-text-4xl);
		line-height: 1.2;
	}

	.mp-footer__column-title {
		font-size: var(--mp-text-base);
		line-height: 1.5;
	}

	.mp-footer__links-wrap {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 0.75rem 1.25rem;
	}

	.mp-footer__input {
		max-width: none;
	}

	.mp-stul,
	.mp-pokoje,
	.mp-pokoje-nabidka,
	.mp-platba {
		padding: 1.5rem 0 2.5rem;
	}

	.mp-stul__title,
	.mp-pokoje__title,
	.mp-pokoje-nabidka__title {
		font-size: var(--mp-text-4xl);
		line-height: 1.2;
	}

	.mp-pokoje-nabidka .mp-pokoje-nabidka__title,
	.mp-room-detail__title {
		font-size: var(--mp-text-4xl);
		line-height: 1.2;
		text-align: left;
	}

	.mp-stul__intro,
	.mp-pokoje__intro,
	.mp-pokoje-nabidka__intro {
		font-size: var(--mp-text-md);
		line-height: 1.6;
	}

	.mp-pokoje-nabidka .mp-pokoje-nabidka__intro,
	.mp-room-detail__desc,
	.mp-room-detail__info-text {
		font-size: var(--mp-text-lg);
		line-height: 28px;
		text-align: left;
	}

	.mp-reservation-picker {
		grid-template-columns: 1fr 1fr;
		gap: 0.8rem;
	}

	/* Pokoje nabídka: degustace-style form column */
	.mp-pokoje-nabidka .mp-reservation-picker,
	.mp-pokoje-nabidka .mp-reservation-picker.mp-room-booking {
		display: flex;
		flex-direction: column;
		width: 348px;
		max-width: 100%;
		margin: 0 0 2rem;
		gap: 1.25rem;
	}

	.mp-pokoje-nabidka .mp-reservation-picker__btn {
		display: none;
	}

	.mp-room-calendar__panel {
		width: min(420px, calc(100vw - 2rem));
	}

	.mp-reservation-picker__btn {
		grid-column: 1 / -1;
		width: 100%;
		justify-content: center;
	}

	.mp-room-offer__media {
		min-height: 280px;
	}

	/* Tablet: keep vertical cards, 2 columns */
	.mp-pokoje-nabidka .mp-room-offers__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mp-pokoje-nabidka .mp-room-offer {
		display: flex;
		flex-direction: column;
		grid-template-columns: none;
		height: auto;
		min-height: 0;
	}

	.mp-pokoje-nabidka .mp-room-offer--expanded {
		height: auto;
		min-height: 0;
	}

	.mp-pokoje-nabidka .mp-room-offer__media {
		height: auto;
		min-height: 0;
		border-radius: 10px 10px 0 0;
	}

	.mp-pokoje-nabidka .mp-room-offer__media-frame {
		aspect-ratio: 4 / 4;
		border-radius: 10px 10px 0 0;
	}

	.mp-pokoje-nabidka .mp-room-offer__content {
		padding: 1.15rem 1.15rem 1.25rem;
		border-radius: 0 0 10px 10px;
	}

	.mp-room-offer__content {
		padding: 1rem 1.1rem;
	}

	.mp-room-offer__variant-name {
		font-size: var(--mp-text-lg);
	}

	.mp-room-offer__row {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 0.75rem;
	}

	.mp-room-offer__book {
		grid-column: 1 / -1;
		width: 100%;
		justify-content: space-between;
	}

	.mp-platba-tabs {
		grid-template-columns: 1fr;
		gap: 0.5rem;
	}

	.mp-platba-tabs__item {
		height: 38px;
	}

	.mp-platba-form__submit {
		width: 100%;
		justify-content: center;
	}

	.mp-platba__summary {
		padding: 0.9rem;
	}

	.mp-platba__content {
		margin-top: 1.5rem;
		gap: 1.25rem;
	}

	.mp-platba__gallery,
	.mp-platba__faq {
		max-width: 100%;
	}

	.mp-degustace {
		padding: 4.25rem 0 2rem;
	}

	.mp-degustace__top {
		padding: 0 var(--mp-gutter) 1.5rem;
	}

	.mp-degustace__filters {
		margin-bottom: 20px;
	}

	.mp-degustace__inner {
		gap: 1.25rem;
	}

	.mp-degustace__intro {
		max-width: none;
		margin-bottom: 1rem;
	}

}

@media (max-width: 900px) {
	.mp-home-section__title {
		font-size: var(--mp-text-4xl);
		line-height: 1.2;
	}

	.mp-home-section__text {
		font-size: var(--mp-text-md);
		line-height: 1.6;
	}

	.mp-pokoje-card__row,
	.mp-stul-card__row {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.2rem;
	}

	.mp-stul-card__price {
		font-size: var(--mp-text-md);
	}

	.mp-room-offer__row {
		grid-template-columns: 1fr;
	}

	.mp-room-offer__row-right {
		text-align: left;
	}

	.mp-room-offer__book {
		width: 100%;
	}
}

@media (max-width: 768px) {
	.mp-btn {
		min-height: 44px;
		padding-top: 0.7rem;
		padding-bottom: 0.7rem;
	}

	.mp-nav__inner {
		grid-template-columns: 1fr auto 1fr;
		gap: 0.5rem;
	}

	.mp-nav__logo {
		width: auto;
		grid-column: 1;
		justify-self: start;
		overflow: hidden;
		--mp-nav-logo-w: 100px;
	}

	.mp-nav__logo img {
		display: block;
		width: 100px;
		height: auto;
		object-fit: contain;
		object-position: top center;
	}

	.mp-nav__menu-toggle,
	.mp-cart-link {
		min-width: 44px;
		height: 44px;
		padding: 0;
		font-size: var(--mp-text-md);
	}

	.mp-cart-count {
		font-size: var(--mp-text-md);
	}

	.mp-mini-cart {
		width: min(100%, 390px);
	}

	.mp-home-intro {
		margin-bottom: 40px;
	}

	.mp-home-section__text {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
		text-align: left;
		line-height: 1.7;
	}

	.mp-home-row--farm .mp-home-section__text,
	.mp-home-row--krajina .mp-home-section__text {
		margin-left: 0;
		margin-right: 0;
		text-align: left;
	}

	.mp-block--featured .mp-block__text {
		font-size: var(--mp-text-md);
		line-height: 1.7;
		margin-bottom: 1.5rem;
	}

	.mp-footer__top {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 1.5rem;
		row-gap: 1.5rem;
	}

	.mp-footer__newsletter,
	.mp-footer__logo-slot {
		grid-column: 1 / -1;
	}

	.mp-footer__newsletter-form {
		flex-direction: column;
		align-items: stretch;
	}

	.mp-footer__input {
		min-height: 48px;
		font-size: var(--mp-text-md);
	}

	.mp-footer__newsletter-form .mp-btn {
		width: 100%;
		min-height: 44px;
		justify-content: center;
	}

	.mp-footer__link {
		font-size: var(--mp-text-md);
	}

	.mp-footer__bottom {
		justify-content: center;
		text-align: center;
	}

	.mp-reservation-picker {
		grid-template-columns: 1fr;
		gap: 0.75rem;
	}

	.mp-room-booking__hint {
		grid-column: auto;
	}

	.mp-room-calendar__panel {
		width: calc(100vw - 1.5rem);
		max-width: 100%;
	}

	.mp-reservation-picker__btn {
		grid-column: auto;
	}

	.mp-room-offer__media {
		min-height: 240px;
	}

	/* Pokoje nabídka: single-column vertical cards on small screens */
	.mp-pokoje-nabidka .mp-room-offers__list {
		grid-template-columns: 1fr;
	}

	.mp-pokoje-nabidka .mp-room-offer {
		display: flex;
		flex-direction: column;
		grid-template-columns: 1fr;
		height: auto;
		min-height: 0;
	}
	.mp-pokoje-nabidka .mp-room-offer--expanded {
		height: auto;
		min-height: 0;
	}
	.mp-pokoje-nabidka .mp-room-offer__media {
		border-radius: 10px 10px 0 0;
		height: auto;
		min-height: 0;
	}
	.mp-pokoje-nabidka .mp-room-offer__media-frame {
		aspect-ratio: 4 / 4;
		border-radius: 10px 10px 0 0;
	}
	.mp-pokoje-nabidka .mp-room-offer__content {
		border-radius: 0 0 10px 10px;
	}

	.mp-platba-form__check,
	.mp-platba-form__radios label {
		align-items: flex-start;
		font-size: var(--mp-text-md);
	}

	.mp-platba__summary-row {
		flex-wrap: wrap;
	}

	.mp-platba-tabs__item {
		height: 44px;
		font-size: var(--mp-text-md);
	}

	.mp-platba-form__grid span,
	.mp-platba-form__stack span {
		font-size: var(--mp-text-md);
	}

	.mp-platba-form__grid input,
	.mp-platba-form__grid select,
	.mp-platba-form__stack input,
	.mp-platba-form__stack textarea {
		height: 44px;
		font-size: var(--mp-text-md);
	}

	.mp-platba-form__stack textarea {
		min-height: 72px;
	}

	.mp-degustace-form__label {
		font-size: var(--mp-text-md);
	}

	.mp-degustace-form__time-box,
	.mp-degustace-form__pairing-box,
	.mp-degustace-form__note {
		font-size: var(--mp-text-md);
	}

	.mp-degustace-waitlist__controls {
		grid-template-columns: 1fr;
	}

	.mp-degustace-waitlist__submit,
	.mp-platba__stay-link {
		width: 100%;
		justify-content: center;
	}
}

@media (max-width: 640px) {
	.mp-home-cream__inner {
		padding-left: var(--mp-gutter);
		padding-right: var(--mp-gutter);
	}

	.mp-home-row--kitchen {
		gap: 16px;
		margin-bottom: 40px;
	}

	.mp-home-row--farm {
		margin-bottom: 36px;
	}

	.mp-home-row--krajina {
		margin-top: 44px;
	}

	.mp-home-bleed {
		aspect-ratio: 4 / 3;
	}

	.mp-home-slideshow-stack .mp-home-slideshow__dots {
		margin-top: 0.65rem;
	}

	.mp-block__inner--featured {
		padding-left: var(--mp-gutter);
		padding-right: var(--mp-gutter);
	}

	.mp-degustace__inner {
		padding: 4rem 0 1.5rem;
	}

	.mp-platba__summary h2 {
		font-size: var(--mp-text-xl);
	}

	.mp-degustace-form__time-row {
		grid-template-columns: 1fr;
	}

	.mp-degustace-form__guest-dot {
		width: 32px;
		height: 32px;
	}
}

@media (max-width: 480px) {
	.mp-nav__menu-toggle {
		font-size: var(--mp-text-md);
		letter-spacing: 0.02em;
	}

	.mp-cart-count {
		font-size: var(--mp-text-md);
	}

	.mp-mini-cart {
		width: 100%;
	}

	.mp-home-section__title {
		font-size: var(--mp-text-3xl);
	}

	.mp-block--featured .mp-block__title {
		font-size: var(--mp-text-3xl);
	}

	h2.mp-stul-card__title,
	.mp-stul-card__title,
	.mp-stul-card__title a {
		font-size: var(--mp-text-4xl);
		line-height: 1.2;
	}

	h2.mp-pokoje-card__title,
	.mp-pokoje-card__title,
	.mp-pokoje-card__title a {
		font-size: var(--mp-text-4xl);
		line-height: 1.2;
	}

	.mp-stul-card__description,
	.mp-pokoje-card__info,
	.mp-room-offer__desc {
		font-size: var(--mp-text-md);
		line-height: 1.5;
	}

	.mp-room-offer__content {
		padding: 0.9rem;
	}

	.mp-platba-tabs__item {
		font-size: var(--mp-text-base);
	}
}

/* -------------------------------------------------------------------------- Luxury motion layer — restrained, editorial, non-invasive -------------------------------------------------------------------------- */
html.mp-motion-enabled {
	scroll-behavior: smooth;
}

html.mp-motion-enabled .site {
	position: relative;
	z-index: 1;
}

html.mp-motion-enabled .mp-reveal {
	opacity: 0;
	transform: translate3d(0, var(--mp-reveal-y), 0) scale(var(--mp-reveal-scale));
	filter: none;
	transition:
		opacity var(--mp-reveal-duration) var(--mp-reveal-ease),
		transform var(--mp-reveal-duration) var(--mp-reveal-ease);
	transition-delay: var(--mp-reveal-delay, 0ms);
	will-change: opacity, transform;
}

html.mp-motion-enabled .mp-reveal.is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
	filter: none;
}

/* Shop / product cards: never fade-in on scroll */
html.mp-motion-enabled .mp-product-card.mp-reveal,
html.mp-motion-enabled .mp-product-card.mp-reveal.is-visible {
	opacity: 1;
	transform: none;
	filter: none;
	animation: none;
	will-change: auto;
}

/* Room offer slideshow: soft crossfade (opacity only — no visibility snap). */
html.mp-motion-enabled .mp-room-offer__media-img.mp-reveal:not(.is-active) {
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--mp-t-base) var(--mp-reveal-ease);
}

html.mp-motion-enabled .mp-room-offer__media-img.mp-reveal.is-active,
html.mp-motion-enabled .mp-room-offer__media-img.mp-reveal.is-active.is-visible {
	opacity: 1;
	pointer-events: auto;
}

/* Primary CTA: quiet press, no sheen sweep. */
html.mp-motion-enabled .mp-btn--primary {
	transition:
		transform var(--mp-t-fast) var(--mp-ease-soft),
		background-color var(--mp-t-fast) var(--mp-ease-soft),
		color var(--mp-t-fast) var(--mp-ease-soft),
		box-shadow var(--mp-t-fast) var(--mp-ease-soft);
}

html.mp-motion-enabled .mp-btn--primary:hover,
html.mp-motion-enabled .mp-btn--primary:focus-visible {
	transform: translate3d(0, -1px, 0);
}

html.mp-motion-enabled .mp-btn--primary:active {
	transform: translate3d(0, 0, 0);
}

html.mp-motion-enabled .mp-parallax {
	transform: translate3d(0, var(--mp-parallax-y, 0px), 0) scale(var(--mp-media-rest-scale, 1.01));
	will-change: transform;
	transition: transform var(--mp-t-base) var(--mp-ease-soft);
}

@media (prefers-reduced-motion: reduce) {
	html.mp-motion-enabled {
		scroll-behavior: auto;
	}

	html.mp-motion-enabled .mp-reveal,
	html.mp-motion-enabled .mp-reveal.is-visible,
	html.mp-motion-enabled .mp-parallax,
	html.mp-motion-enabled .mp-btn--primary {
		transition: none;
		animation: none;
		filter: none;
		transform: none;
		opacity: 1;
	}

	html.mp-motion-enabled .mp-nav__logo-img--hover {
		transition: none;
	}
}

/* -------------------------------------------------------------------------- Shared component tokens -------------------------------------------------------------------------- */
:root {
	--mp-dark: #2c2d34;
	--mp-white: #EEEADE;
	--mp-beige: #EEEADE;
	--mp-green: #3f543c;
	--mp-accent: var(--mp-green);
	--mp-brown: #4d3728;
	--mp-light-brown: #a68864;
	--mp-control-height: 40px;
	--mp-pill-height: 32px;
	--mp-button-height: 52px;
	--mp-button-padding-x: 16px;
	--mp-button-padding-y: 10px;
	--mp-radius-control: 10px;
	--mp-shadow-button-hover: none;
}

body {
	color: var(--mp-dark);
}

.mp-nav__left,
.mp-nav__right,
.mp-nav__left .mp-nav__menu a {
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 500;
	letter-spacing: 0.16px;
	color: var(--mp-green);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	letter-spacing: 0;
}

/* Unified page headings + intros */
.mp-home-section__title,
.mp-block__title,
.mp-shop__title,
.mp-zazitky__title,
.mp-stul__title,
.mp-pokoje__title,
.mp-pokoje-nabidka__title,
.mp-product-detail__title,
.mp-room-detail__title {
	font-family: var(--mp-font-display);
	font-weight: 420;
	font-size: var(--mp-text-4xl);
	line-height: var(--mp-heading-display-line);
	letter-spacing: 0;
	color: var(--mp-green);
}

.mp-home-section__text,
.mp-block__text,
.mp-shop__intro,
.mp-zazitky__intro,
.mp-faq__intro,
.mp-stul__intro,
.mp-pokoje__intro,
.mp-pokoje-nabidka__intro,
.mp-product-detail__intro,
.mp-platba__intro {
	font-family: var(--mp-font-display);
	font-weight: 420;
	font-size: var(--mp-text-lg);
	line-height: var(--mp-body-display-line);
	letter-spacing: 0;
	color: var(--mp-green);
}

.mp-home-intro p,
.mp-home-section__text p,
.mp-block__text p,
.mp-shop__intro p,
.mp-zazitky__intro p,
.mp-faq__intro p,
.mp-stul__intro p,
.mp-pokoje__intro p,
.mp-pokoje-nabidka__intro p,
.mp-product-detail__intro p,
.mp-platba__intro p,
.mp-degustace__intro p,
.mp-platba__free-rooms-card__desc p,
.mp-product-card__desc p {
	margin: 0 0 1em;
}

.mp-home-intro p:last-child,
.mp-home-section__text p:last-child,
.mp-block__text p:last-child,
.mp-shop__intro p:last-child,
.mp-zazitky__intro p:last-child,
.mp-faq__intro p:last-child,
.mp-stul__intro p:last-child,
.mp-pokoje__intro p:last-child,
.mp-pokoje-nabidka__intro p:last-child,
.mp-product-detail__intro p:last-child,
.mp-platba__intro p:last-child,
.mp-degustace__intro p:last-child,
.mp-platba__free-rooms-card__desc p:last-child,
.mp-product-card__desc p:last-child {
	margin-bottom: 0;
}

/* Unified buttons */
.mp-btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce button.button.alt,
.woocommerce input.button,
.woocommerce input.button.alt,
.mp-product-detail__add-to-cart .single_add_to_cart_button,
.mp-product-detail__add-to-cart .button.alt,
.mp-product-detail__add-to-cart .single_add_to_cart_button.alt {
	min-height: var(--mp-button-height);
	padding: var(--mp-button-padding-y) var(--mp-button-padding-x);
	border-radius: var(--mp-radius-pill);
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
}

.mp-btn--primary,
.woocommerce .button.checkout,
.woocommerce a.button.checkout,
.mp-product-detail__add-to-cart .single_add_to_cart_button,
.mp-product-detail__add-to-cart .button.alt,
.mp-product-detail__add-to-cart .single_add_to_cart_button.alt,
.mp-room-offer__book,
.mp-mini-cart__checkout,
.mp-degustace-form__submit {
	background: var(--mp-accent, var(--mp-green));
	color: var(--mp-text-on-dark, var(--mp-beige, #eeeade));
	border: 0;
}

.mp-btn--primary:hover,
.mp-btn--primary:focus-visible,
.woocommerce .button.checkout:hover,
.woocommerce a.button.checkout:hover,
.mp-product-detail__add-to-cart .single_add_to_cart_button:hover,
.mp-product-detail__add-to-cart .button.alt:hover,
.mp-product-detail__add-to-cart .single_add_to_cart_button.alt:hover,
.mp-room-offer__book:hover,
.mp-room-offer__book:focus-visible,
.mp-mini-cart__checkout:hover,
.mp-mini-cart__checkout:focus-visible,
.mp-degustace-form__submit:hover,
.mp-degustace-form__submit:focus-visible {
	background: var(--mp-accent-dark, var(--mp-brown, #4d3728));
	border: 0;
	color: var(--mp-text-on-dark, var(--mp-beige, #eeeade));
	box-shadow: none;
	transform: none;
}

/* Product ATC — match Rezervovat / degustace submit */
.single-product .mp-product-detail__add-to-cart .single_add_to_cart_button.button.alt,
.single-product .mp-product-detail__add-to-cart .single_add_to_cart_button.button.alt:hover,
.single-product .mp-product-detail__add-to-cart .single_add_to_cart_button.button.alt:focus-visible {
	flex: 1 1 auto;
	width: auto;
	max-width: 348px;
	height: 52px;
	min-height: 52px;
	padding: 1rem 1.25rem;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	font-size: var(--mp-text-md);
	font-weight: 700;
}

.mp-btn--outline {
	background: transparent;
	border: 1px solid var(--mp-green);
	color: var(--mp-green);
}

.mp-btn--readmore-green {
	background: transparent;
	border: 1px solid var(--mp-green);
	color: var(--mp-green);
}

.mp-btn--readmore-beige {
	background: transparent;
	border: 1px solid var(--mp-beige);
	color: var(--mp-beige);
}

.mp-btn[disabled]:not(.is-loading),
.mp-btn:disabled:not(.is-loading),
.woocommerce button.button:disabled,
.woocommerce input.button:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	box-shadow: none;
}

.mp-btn[disabled].is-loading,
.mp-btn:disabled.is-loading {
	opacity: 1;
	cursor: wait;
	box-shadow: none;
}

/* Unified controls and form fields */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="date"],
input[type="month"],
input[type="search"],
input[type="password"],
select,
textarea,
.mp-input,
.mp-select,
.mp-textarea,
.mp-reservation-picker__input,
.mp-room-calendar__trigger,
.mp-room-guests__trigger,
.mp-platba-form__grid input,
.mp-platba-form__grid select,
.mp-platba-form__stack input,
.mp-platba-form__stack textarea {
	background-color: var(--mp-white);
	border: 1px solid rgba(166, 136, 100, 0.26);
	border-radius: var(--mp-radius-control);
	color: var(--mp-dark);
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-md);
	font-weight: 500;
	line-height: 1;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="date"],
input[type="month"],
input[type="search"],
input[type="password"],
select,
.mp-input,
.mp-select,
.mp-textarea,
.mp-reservation-picker__input,
.mp-room-calendar__trigger,
.mp-platba-form__grid input,
.mp-platba-form__grid select,
.mp-platba-form__stack input {
	min-height: var(--mp-control-height);
}

textarea,
.mp-textarea,
.mp-platba-form__stack textarea {
	line-height: 1.35;
}

input:focus,
select:focus,
textarea:focus,
.mp-input:focus,
.mp-select:focus,
.mp-textarea:focus,
.mp-room-calendar__trigger:focus {
	outline: none;
	border-color: var(--mp-green);
	box-shadow: none;
}

/* Default arrow for native selects */
select,
.mp-select {
	-moz-appearance: none;
	appearance: none;
	-webkit-appearance: none;
	background-image: var(--mp-select-arrow);
	background-repeat: no-repeat;
	background-position: right var(--mp-select-arrow-gap) center;
	background-size: var(--mp-select-arrow-size);
	padding-right: calc(var(--mp-select-arrow-gap) + 9px + 0.5rem);
	cursor: pointer;
}

.mp-footer .mp-footer__input {
	min-height: var(--mp-button-height, 52px);
	padding: var(--mp-button-padding-y, 10px) 0;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--mp-bg-cream);
	border-radius: 0;
	color: var(--mp-bg-cream);
}

.mp-footer .mp-footer__input:focus {
	background: transparent;
	border-color: var(--mp-bg-cream);
	color: var(--mp-bg-cream);
}

.mp-reservation-picker__label,
.mp-platba-form label > span {
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-base);
	font-weight: 700;
	line-height: 1.2;
	color: var(--mp-dark);
}

/* Unified chips / tags (shop has its own in .mp-shop block) */
.mp-product-detail__tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 20px;
	padding: 4px 8px;
	border: 1px solid var(--mp-light-brown);
	border-radius: 16px;
	color: var(--mp-light-brown);
	background: transparent;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-xs);
	font-weight: 500;
	letter-spacing: 0.1px;
	text-transform: uppercase;
}

/* Reservation calendar component matching */
.mp-room-calendar__panel {
	width: min(348px, calc(100vw - 2rem));
	border: 0.5px dashed var(--mp-light-brown);
	border-radius: var(--mp-radius-control);
	background: rgba(238, 234, 222, 0.92);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
}

.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__panel {
	background: #fff;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	border: none;
}

.mp-room-calendar__header,
.mp-room-calendar__month-nav,
.mp-room-calendar__footer {
	padding: 10px 15px;
}

.mp-room-calendar__cell {
	height: 34px;
	font-size: var(--mp-text-base);
}

.mp-room-calendar__cell--selected-start,
.mp-room-calendar__cell--selected-end {
	background: var(--mp-green);
	color: var(--mp-beige);
}

@media (max-width: 640px) {
	h1 {
		font-size: var(--mp-text-3xl);
		line-height: 1.15;
	}

	h2 {
		font-size: var(--mp-text-2xl);
		line-height: 1.15;
	}

	h3 {
		font-size: var(--mp-text-lg);
		line-height: 1.3;
	}

	.mp-home-section__title,
	.mp-block__title,
	.mp-shop__title,
	.mp-zazitky__title,
	.mp-stul__title,
	.mp-pokoje__title,
	.mp-pokoje-nabidka__title,
	.mp-product-detail__title,
	.mp-room-detail__title {
		font-size: var(--mp-text-3xl);
		line-height: 34px;
	}

	.mp-pokoje-nabidka .mp-pokoje-nabidka__title,
	.mp-room-detail__title {
		font-size: var(--mp-text-4xl);
		line-height: 1.2;
		text-align: left;
	}

	.mp-home-section__text,
	.mp-block__text,
	.mp-shop__intro,
	.mp-zazitky__intro,
	.mp-stul__intro,
	.mp-pokoje__intro,
	.mp-pokoje-nabidka__intro,
	.mp-product-detail__intro,
	.mp-platba__intro {
		font-size: var(--mp-text-md);
		line-height: 24px;
	}

	.mp-pokoje-nabidka .mp-pokoje-nabidka__intro,
	.mp-room-detail__desc,
	.mp-room-detail__info-text {
		font-size: var(--mp-text-lg);
		line-height: 28px;
		text-align: left;
	}
}

/* ========================================================================== MOTION EXTENSIONS — slowness.com-inspired enhancements v2 Scroll indicator · Transparent nav Word-split reveal · Image hover zoom · Drawer stagger · Hero scroll ========================================================================== */

/* --- Scroll indicator (animated mouse on hero) --- */
.mp-scroll-indicator {
	position: absolute;
	bottom: 28px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	opacity: 0;
	transition: opacity 0.9s ease 0.9s;
	pointer-events: none;
}
.mp-scroll-indicator.is-visible { opacity: 1; }
.mp-scroll-indicator.is-hidden {
	opacity: 0;
	transition: opacity 0.38s ease;
}
.mp-scroll-indicator__mouse {
	width: 18px;
	height: 28px;
	border: 1.5px solid rgba(238, 234, 222, 0.75);
	border-radius: 9px;
	position: relative;
	overflow: hidden;
}
.mp-scroll-indicator__wheel {
	position: absolute;
	top: 4px;
	left: 50%;
	transform: translateX(-50%);
	width: 3px;
	height: 5px;
	background: rgba(238, 234, 222, 0.85);
	border-radius: 2px;
	animation: mpScrollWheel 3.4s var(--mp-ease-soft, ease-in-out) infinite;
}
@keyframes mpScrollWheel {
	0%   { transform: translateX(-50%) translateY(0); opacity: 0; }
	25%  { opacity: 1; }
	65%  { opacity: 0.35; }
	100% { transform: translateX(-50%) translateY(8px); opacity: 0; }
}

/* --- Front page: nav overlays hero (transparent → opaque) --- */
body.home .site-main { padding-top: 0; }
body.home.admin-bar .site-main { padding-top: 0; }

body.home .mp-hero--full {
	overflow: hidden;
}

body.home .mp-nav:not(.is-scrolled) .mp-nav__left,
body.home .mp-nav:not(.is-scrolled) .mp-nav__right {
	color: #eeeade;
}

body.home .mp-nav .mp-nav__logo img {
	/* Include opacity so logo-stack hover crossfade works (filter-only overwrote base transition). */
	transition: filter 0.66s ease, opacity 0.5s ease;
}
body.home .mp-nav:not(.is-scrolled) .mp-nav__logo img {
	filter: brightness(0) invert(1);
}
body.home .mp-nav:not(.is-scrolled) .mp-nav__menu a {
	color: #eeeade !important;
	transition: color 0.66s ease;
}

body.home .mp-nav:not(.is-scrolled) .mp-nav__menu-toggle-text {
	color: rgba(238, 234, 222, 0.92);
}

/* Subpages: green text at top (scrolled state uses global .mp-nav.is-scrolled) */
body:not(.home) .mp-nav:not(.is-scrolled) .mp-nav__left,
body:not(.home) .mp-nav:not(.is-scrolled) .mp-nav__right {
	color: var(--mp-green);
}

body:not(.home) .mp-nav:not(.is-scrolled) .mp-nav__menu a {
	color: var(--mp-green) !important;
	transition: color 0.66s ease;
}

body:not(.home) .mp-nav:not(.is-scrolled) .mp-nav__logo img {
	filter: none;
}

/* Overlay menu open: menu + cart always white (beats home/subpage nav color rules). */
body.mp-nav-drawer-open.home .mp-nav:not(.is-scrolled) .mp-nav__right,
body.mp-nav-drawer-open:not(.home) .mp-nav:not(.is-scrolled) .mp-nav__right,
body.mp-nav-drawer-open.home .mp-nav.is-scrolled .mp-nav__right,
body.mp-nav-drawer-open:not(.home) .mp-nav.is-scrolled .mp-nav__right {
	color: #fff !important;
}

body.mp-nav-drawer-open.home .mp-nav:not(.is-scrolled) .mp-nav__right .mp-nav__menu-toggle,
body.mp-nav-drawer-open.home .mp-nav:not(.is-scrolled) .mp-nav__right .mp-nav__menu-toggle-text,
body.mp-nav-drawer-open.home .mp-nav:not(.is-scrolled) .mp-nav__right .mp-cart-link,
body.mp-nav-drawer-open.home .mp-nav:not(.is-scrolled) .mp-nav__right .mp-cart-label,
body.mp-nav-drawer-open.home .mp-nav:not(.is-scrolled) .mp-nav__right .mp-cart-count,
body.mp-nav-drawer-open:not(.home) .mp-nav:not(.is-scrolled) .mp-nav__right .mp-nav__menu-toggle,
body.mp-nav-drawer-open:not(.home) .mp-nav:not(.is-scrolled) .mp-nav__right .mp-nav__menu-toggle-text,
body.mp-nav-drawer-open:not(.home) .mp-nav:not(.is-scrolled) .mp-nav__right .mp-cart-link,
body.mp-nav-drawer-open:not(.home) .mp-nav:not(.is-scrolled) .mp-nav__right .mp-cart-label,
body.mp-nav-drawer-open:not(.home) .mp-nav:not(.is-scrolled) .mp-nav__right .mp-cart-count,
body.mp-nav-drawer-open.home .mp-nav.is-scrolled .mp-nav__right .mp-nav__menu-toggle,
body.mp-nav-drawer-open.home .mp-nav.is-scrolled .mp-nav__right .mp-nav__menu-toggle-text,
body.mp-nav-drawer-open.home .mp-nav.is-scrolled .mp-nav__right .mp-cart-link,
body.mp-nav-drawer-open.home .mp-nav.is-scrolled .mp-nav__right .mp-cart-label,
body.mp-nav-drawer-open.home .mp-nav.is-scrolled .mp-nav__right .mp-cart-count,
body.mp-nav-drawer-open:not(.home) .mp-nav.is-scrolled .mp-nav__right .mp-nav__menu-toggle,
body.mp-nav-drawer-open:not(.home) .mp-nav.is-scrolled .mp-nav__right .mp-nav__menu-toggle-text,
body.mp-nav-drawer-open:not(.home) .mp-nav.is-scrolled .mp-nav__right .mp-cart-link,
body.mp-nav-drawer-open:not(.home) .mp-nav.is-scrolled .mp-nav__right .mp-cart-label,
body.mp-nav-drawer-open:not(.home) .mp-nav.is-scrolled .mp-nav__right .mp-cart-count {
	color: #fff !important;
}

body.mp-nav-drawer-open .mp-nav__right .mp-cart-link:hover,
body.mp-nav-drawer-open .mp-nav__right .mp-cart-link:focus-visible,
body.mp-nav-drawer-open .mp-nav__right .mp-cart-link:hover .mp-cart-label,
body.mp-nav-drawer-open .mp-nav__right .mp-cart-link:focus-visible .mp-cart-label {
	color: #fff !important;
}

/* --- Nav link hover underline (always on; motion only animates) --- */
.mp-nav__left .mp-nav__menu a {
	position: relative;
	display: inline-block;
	padding-bottom: 2px;
	text-decoration: none;
}

.mp-nav__left .mp-nav__menu a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left center;
	pointer-events: none;
}

.mp-nav__left .mp-nav__menu a:hover::after,
.mp-nav__left .mp-nav__menu a:focus-visible::after,
.mp-nav__left .mp-nav__menu .current-menu-item > a::after,
.mp-nav__left .mp-nav__menu .current-menu-ancestor > a::after,
.mp-nav__left .mp-nav__menu .current-menu-parent > a::after,
.mp-nav__left .mp-nav__menu .current_page_item > a::after,
.mp-nav__left .mp-nav__menu .current_page_ancestor > a::after,
.mp-nav__left .mp-nav__menu .current_page_parent > a::after {
	transform: scaleX(1);
}

html.mp-motion-enabled .mp-nav__left .mp-nav__menu a::after {
	transition: transform var(--mp-t-base) var(--mp-ease-soft);
}

@media (prefers-reduced-motion: reduce) {
	.mp-nav__left .mp-nav__menu a::after {
		transition: none;
	}
}

html.mp-motion-enabled .mp-nav-drawer__secondary-link {
	position: relative;
	padding-bottom: 2px;
}

html.mp-motion-enabled .mp-nav-drawer__secondary-link::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 1px;
	background: currentColor;
	transition: width var(--mp-t-base) var(--mp-ease-soft);
}

html.mp-motion-enabled .mp-nav-drawer__secondary-link:hover::after,
html.mp-motion-enabled .mp-nav-drawer__secondary-link:focus-visible::after {
	width: 100%;
}

html.mp-motion-enabled .mp-nav-drawer__menu a,
html.mp-motion-enabled .mp-nav-drawer__menu > li > .mp-nav-drawer__menu-trigger {
	position: relative;
	padding-bottom: 2px;
}

html.mp-motion-enabled .mp-nav-drawer__menu a::after,
html.mp-motion-enabled .mp-nav-drawer__menu > li > .mp-nav-drawer__menu-trigger::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 1px;
	background: currentColor;
	transition: width var(--mp-t-base) var(--mp-ease-soft);
}

html.mp-motion-enabled .mp-nav-drawer__menu a:hover::after,
html.mp-motion-enabled .mp-nav-drawer__menu a:focus-visible::after,
html.mp-motion-enabled .mp-nav-drawer__menu a.is-current::after,
html.mp-motion-enabled .mp-nav-drawer__menu > li > .mp-nav-drawer__menu-trigger:hover::after,
html.mp-motion-enabled .mp-nav-drawer__menu > li > .mp-nav-drawer__menu-trigger:focus-visible::after,
html.mp-motion-enabled .mp-nav-drawer__menu > li > .mp-nav-drawer__menu-trigger.is-active::after,
html.mp-motion-enabled .mp-nav-drawer__menu > li > .mp-nav-drawer__menu-trigger.is-current::after {
	width: 100%;
}

/* --- Fullscreen menu: fade in item by item when open --- */
html.mp-motion-enabled #mp-nav-drawer .mp-nav-drawer__menu > li,
html.mp-motion-enabled #mp-nav-drawer .mp-nav-drawer__secondary-menu > li {
	opacity: 0;
	transform: translateY(var(--mp-menu-stagger-y));
}

html.mp-motion-enabled #mp-nav-drawer.is-open .mp-nav-drawer__menu > li,
html.mp-motion-enabled #mp-nav-drawer.is-open .mp-nav-drawer__secondary-menu > li {
	animation: mpNavOverlayIn var(--mp-menu-stagger-duration) var(--mp-menu-stagger-ease) both;
	animation-delay: calc(
		var(--mp-menu-stagger-base) + (var(--mp-menu-stagger-i, 0) * var(--mp-menu-stagger-step))
	);
}

@keyframes mpNavOverlayIn {
	from {
		opacity: 0;
		transform: translateY(var(--mp-menu-stagger-y));
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* --- Image card hover zoom --- */
html.mp-motion-enabled .mp-home-slideshow__slide,
html.mp-motion-enabled .mp-block__image,
html.mp-motion-enabled .mp-room-offer__media-frame {
	overflow: hidden;
}
html.mp-motion-enabled .mp-home-slideshow__slide img,
html.mp-motion-enabled .mp-block__image img {
	transition: transform var(--mp-media-zoom-duration) var(--mp-media-zoom-ease);
	will-change: transform;
}
html.mp-motion-enabled .mp-room-offer__media img {
	transition:
		opacity var(--mp-slideshow-fade-duration) var(--mp-slideshow-fade-ease),
		transform var(--mp-media-zoom-duration) var(--mp-media-zoom-ease);
	will-change: opacity, transform;
}
html.mp-motion-enabled .mp-home-slideshow--fade .mp-home-slideshow__slide,
html.mp-motion-enabled .mp-degustace__gallery.mp-gallery--fade .mp-degustace__gallery-slide {
	transition: opacity var(--mp-slideshow-fade-duration) var(--mp-slideshow-fade-ease);
}
html.mp-motion-enabled .mp-home-slideshow:hover .mp-home-slideshow__slide img,
html.mp-motion-enabled .mp-block__image:hover img {
	transform: scale(var(--mp-media-hover-scale));
}
html.mp-motion-enabled .mp-room-offer:hover .mp-room-offer__media img.is-active,
html.mp-motion-enabled .mp-room-offer:hover .mp-room-offer__media img:only-of-type {
	transform: translate3d(0, var(--mp-parallax-y, 0px), 0) scale(var(--mp-media-hover-scale));
}
html.mp-motion-enabled .mp-home-bleed { overflow: hidden; }
html.mp-motion-enabled .mp-home-bleed img,
html.mp-motion-enabled .mp-home-bleed video {
	transition: transform var(--mp-media-zoom-duration) var(--mp-media-zoom-ease);
}

/* --- Hero slow zoom at rest + scroll zoom-out --- */
/* Keyframes use literals — CSS vars in @keyframes are unreliable in Safari. */
@keyframes mpHeroSlowZoom {
	from {
		transform: scale(1.04);
	}
	to {
		transform: scale(1.12);
	}
}

html:not(.mp-motion-reduced) .mp-hero:not(.mp-hero--scroll-zoom) .mp-hero__image-zoom {
	animation: mpHeroSlowZoom 22s ease-in-out infinite alternate;
}

html:not(.mp-motion-reduced) .mp-hero.mp-hero--scroll-zoom .mp-hero__image-zoom {
	animation: none;
	transform: scale(var(--mp-hero-scale, 1.04));
	transition: transform 0.45s var(--mp-ease-soft, ease-out);
}

/* --- Word-split title reveal --- */
html.mp-motion-enabled .mp-split-title .mp-word {
	display: inline-block;
	overflow: hidden;
	vertical-align: top;
	margin-right: 0;
	line-height: inherit;
}
html.mp-motion-enabled .mp-split-title .mp-word:last-child { margin-right: 0; }
html.mp-motion-enabled .mp-split-title .mp-word-inner {
	display: inline-block;
	transform: translateY(100%);
	opacity: 0;
	transition:
		transform var(--mp-word-reveal-duration) var(--mp-reveal-ease),
		opacity var(--mp-word-reveal-duration) var(--mp-reveal-ease);
	transition-delay: var(--mp-word-delay, 0ms);
}
html.mp-motion-enabled .mp-split-title.is-visible .mp-word-inner {
	transform: translateY(0);
	opacity: 1;
}

/* Parent revealed but split-title IO missed (short headings, threshold quirks): still show words. */
html.mp-motion-enabled .mp-reveal.is-visible .mp-split-title .mp-word-inner,
html.mp-motion-enabled .mp-clip-reveal.is-visible .mp-split-title .mp-word-inner,
html.mp-motion-enabled .mp-reveal.mp-reveal-visible-fallback .mp-split-title .mp-word-inner,
html.mp-motion-enabled .mp-clip-reveal.mp-reveal-visible-fallback .mp-split-title .mp-word-inner {
	transform: translateY(0);
	opacity: 1;
}

/* --- Slideshow dot transition --- */
.mp-home-slideshow__dot {
	transition: background var(--mp-t-base) var(--mp-ease-soft), border-color var(--mp-t-base) var(--mp-ease-soft);
}
.mp-home-slideshow__slide img {
	/* Zoom handled under motion; slide crossfade lives on the slide frame. */
	transition: transform var(--mp-media-zoom-duration) var(--mp-media-zoom-ease);
}

/* --- Reduced motion overrides --- */
@media (prefers-reduced-motion: reduce) {
	.mp-scroll-indicator__wheel { animation: none; }
	html.mp-motion-enabled .mp-split-title .mp-word-inner {
		transition: none;
		transform: none;
		opacity: 1;
	}
	html.mp-motion-enabled #mp-nav-drawer .mp-nav-drawer__menu > li,
	html.mp-motion-enabled #mp-nav-drawer .mp-nav-drawer__secondary-menu > li {
		animation: none;
		opacity: 1;
		transform: none;
	}
	.mp-nav-drawer__subpanel,
	.mp-nav-drawer__sidebar {
		transition: none;
		transform: none;
	}
	body.home .mp-hero--full,
	body.home .mp-hero__image,
	body.home .mp-hero__overlay.mp-hero__overlay--menu-pin {
		transition: none;
	}
	html.mp-motion-enabled .mp-home-slideshow__slide img,
	html.mp-motion-enabled .mp-block__image img,
	html.mp-motion-enabled .mp-room-offer__media img,
	html.mp-motion-enabled .mp-hero__image-zoom {
		transition: none;
		animation: none;
		transform: none;
	}
	body.home .mp-nav,
	body.home .mp-nav.is-scrolled {
		transition: none;
	}
}

/* ========================================================================== EMERGENCE-INSPIRED ENHANCEMENTS Nav hide/show on scroll direction · Clip-path reveals ========================================================================== */

/* --- Nav hide on scroll down / show on scroll up (Emergence pattern) --- */
html.mp-motion-enabled .mp-nav {
	transition: transform var(--mp-t-base) var(--mp-ease-nav),
	            background var(--mp-t-base) var(--mp-ease-soft),
	            border-color var(--mp-t-base) var(--mp-ease-soft);
}
html.mp-motion-enabled .mp-nav.is-hidden {
	transform: translateY(-100%);
}
/* Home transparent nav already handles its own transitions — merge carefully */
body.home html.mp-motion-enabled .mp-nav,
html.mp-motion-enabled body.home .mp-nav {
	transition: transform var(--mp-t-base) var(--mp-ease-nav),
	            background var(--mp-t-base) var(--mp-ease-soft),
	            border-color var(--mp-t-base) var(--mp-ease-soft);
}

/* --- Clip-path image reveals (Emergence pattern) --- */
/* Images slide in from the bottom via clip-path inset */
html.mp-motion-enabled .mp-clip-reveal {
	clip-path: inset(100% 0 0 0);
	transition: clip-path var(--mp-clip-reveal-duration) var(--mp-reveal-ease),
	            opacity var(--mp-reveal-duration) var(--mp-reveal-ease),
	            transform var(--mp-reveal-duration) var(--mp-reveal-ease);
}
html.mp-motion-enabled .mp-clip-reveal.is-visible {
	clip-path: inset(0% 0 0 0);
}

/* Failsafe when IO misses and JS marks .mp-reveal-visible-fallback */
html.mp-motion-enabled .mp-reveal.mp-reveal-visible-fallback,
html.mp-motion-enabled .mp-clip-reveal.mp-reveal-visible-fallback {
	opacity: 1;
	transform: none;
	filter: none;
	clip-path: inset(0 0 0 0);
	animation: none;
}

/* Room offer still image: slide in without fading the photo itself */
html.mp-motion-enabled .mp-room-offer__media:not(.mp-room-offer__media--slideshow) .mp-room-offer__media-img.mp-reveal {
	opacity: 1;
}

/* Shared slideshows: opacity crossfade wins over reveal transitions/locks. */
html.mp-motion-enabled .mp-slideshow--ready .mp-home-slideshow__slide,
html.mp-motion-enabled .mp-slideshow--ready .mp-degustace__gallery-slide,
html.mp-motion-enabled .mp-slideshow--ready .mp-room-offer__media-img,
html.mp-motion-enabled .mp-slideshow--ready .mp-room-detail__media-img,
html.mp-motion-enabled .mp-slideshow--ready .mp-home-slideshow__slide.is-visible,
html.mp-motion-enabled .mp-slideshow--ready .mp-degustace__gallery-slide.is-visible,
html.mp-motion-enabled .mp-slideshow--ready .mp-room-offer__media-img.is-visible,
html.mp-motion-enabled .mp-slideshow--ready .mp-room-detail__media-img.is-visible,
html.mp-motion-enabled .mp-slideshow--ready .mp-room-offer__media-img.mp-reveal,
html.mp-motion-enabled .mp-slideshow--ready .mp-room-offer__media-img.mp-clip-reveal,
html.mp-motion-enabled .mp-slideshow--ready .mp-room-offer__media-img.mp-reveal.is-visible,
html.mp-motion-enabled .mp-slideshow--ready .mp-room-offer__media-img.mp-clip-reveal.is-visible {
	animation: none !important;
	clip-path: none !important;
	filter: none !important;
	transition: opacity var(--mp-slideshow-fade-duration) var(--mp-slideshow-fade-ease) !important;
}

html.mp-motion-enabled .mp-slideshow--ready .mp-room-offer__media-img,
html.mp-motion-enabled .mp-slideshow--ready .mp-room-offer__media-img.is-visible,
html.mp-motion-enabled .mp-slideshow--ready .mp-room-offer__media-img.mp-reveal,
html.mp-motion-enabled .mp-slideshow--ready .mp-room-offer__media-img.mp-clip-reveal {
	transform: translate3d(0, var(--mp-parallax-y, 0px), 0) scale(var(--mp-media-rest-scale));
	transition:
		opacity var(--mp-slideshow-fade-duration) var(--mp-slideshow-fade-ease),
		transform var(--mp-media-zoom-duration) var(--mp-media-zoom-ease) !important;
}

html.mp-motion-enabled .mp-slideshow--ready .mp-room-offer:hover .mp-room-offer__media-img.is-active,
html.mp-motion-enabled .mp-room-offer:hover .mp-room-offer__media .mp-room-offer__media-img.is-active,
html.mp-motion-enabled .mp-room-offer:hover .mp-room-offer__media .mp-room-offer__media-img:only-of-type {
	transform: translate3d(0, var(--mp-parallax-y, 0px), 0) scale(var(--mp-media-hover-scale));
}

html.mp-motion-enabled .mp-slideshow--ready .mp-home-slideshow__slide:not(.is-active),
html.mp-motion-enabled .mp-slideshow--ready .mp-degustace__gallery-slide:not(.is-active),
html.mp-motion-enabled .mp-slideshow--ready .mp-room-offer__media-img:not(.is-active),
html.mp-motion-enabled .mp-slideshow--ready .mp-room-detail__media-img:not(.is-active) {
	opacity: 0 !important;
	pointer-events: none;
}

html.mp-motion-enabled .mp-slideshow--ready .mp-home-slideshow__slide.is-active,
html.mp-motion-enabled .mp-slideshow--ready .mp-degustace__gallery-slide.is-active,
html.mp-motion-enabled .mp-slideshow--ready .mp-room-offer__media-img.is-active,
html.mp-motion-enabled .mp-slideshow--ready .mp-room-detail__media-img.is-active {
	opacity: 1 !important;
	pointer-events: auto;
}

/* --- Reduced motion overrides for new features --- */
@media (prefers-reduced-motion: reduce) {
	html.mp-motion-enabled .mp-nav,
	html.mp-motion-enabled body.home .mp-nav {
		transition: background var(--mp-t-fast) var(--mp-ease-soft), border-color var(--mp-t-fast) var(--mp-ease-soft);
	}
	html.mp-motion-enabled .mp-nav.is-hidden {
		transform: none;
	}
	html.mp-motion-enabled .mp-clip-reveal {
		clip-path: none;
		transition: opacity var(--mp-reveal-duration) var(--mp-reveal-ease);
	}
}

/* Reservation checkout intro heading (site-specific) */

/* -------------------------------------------------------------------------- Mobile-first refinement pass — faster scanning, stronger tap targets. Content keeps the same luxury timed fade-in as desktop, slightly shorter. -------------------------------------------------------------------------- */
@media (max-width: 768px) {
	:root {
		--mp-nav-height: 64px;
		/* Shorter than desktop, still clearly visible as a fade/slide. */
		--mp-reveal-duration: 0.62s;
		--mp-word-reveal-duration: 0.55s;
		--mp-clip-reveal-duration: 0.72s;
		--mp-reveal-y: 20px;
		--mp-reveal-stagger-step: 56ms;
	}

	/* Keep parallax off on mobile for scroll performance; timed reveals stay on. */
	html.mp-motion-enabled .mp-parallax {
		transform: none !important;
		transition: none !important;
		animation: none !important;
		--mp-parallax-y: 0px !important;
	}

	.mp-scroll-indicator {
		display: none;
	}

	.mp-nav__inner {
		grid-template-columns: 1fr auto 1fr;
		gap: 0.5rem;
	}

	.mp-nav__left {
		display: none;
	}

	.mp-nav__logo {
		grid-column: 1;
		justify-self: start;
		width: 108px;
		min-height: 44px;
		display: inline-flex;
		align-items: center;
		--mp-nav-logo-w: 108px;
	}

	.mp-nav__right {
		gap: 0.5rem;
		justify-self: end;
	}

	.mp-nav-drawer {
		--mp-nav-drawer-sidebar: min(100%, 320px);
		--mp-nav-drawer-inline-end: var(--mp-nav-inner-pad);
	}

	:root {
		--mp-nav-drawer-sidebar: min(100%, 320px);
		--mp-nav-drawer-menu-top: calc(var(--mp-nav-height) + 1.25rem);
	}

	.mp-nav-drawer__layout {
		grid-template-columns: 1fr;
	}

	.mp-nav-drawer__sidebar {
		width: 100%;
	}

	.mp-nav-drawer__media {
		display: none;
	}

	.mp-nav-drawer__subpanel:not([hidden]) {
		position: fixed;
		inset: 0;
		left: 0;
		right: 0;
		width: 100%;
		max-width: 100%;
		z-index: 5;
		padding-top: var(--mp-nav-height);
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
	}

	.mp-nav-drawer.is-subpanel-open .mp-nav-drawer__sidebar {
		transform: translateX(-100%);
	}

	.mp-nav-drawer__subpanel-inner {
		flex: 0 0 auto;
		align-items: stretch;
		justify-content: flex-start;
		width: 100%;
		max-width: none;
		min-height: 100%;
		padding: 1.25rem var(--mp-nav-inner-pad) 1.25rem;
		text-align: left;
		box-sizing: border-box;
	}

	.mp-nav-drawer__subpanel-menu {
		width: 100%;
	}

	.mp-nav-drawer__subpanel-menu a {
		display: block;
		width: 100%;
		box-sizing: border-box;
		text-align: left;
	}

	.mp-nav-drawer__subpanel-divider {
		display: none;
	}

	.mp-nav-drawer__nav {
		align-items: stretch;
		justify-content: flex-start;
		padding: calc(var(--mp-nav-height) + 1.25rem) var(--mp-nav-inner-pad) 1rem;
	}

	.mp-nav-drawer__brand-mark {
		right: var(--mp-nav-inner-pad);
		bottom: 1rem;
		width: min(52%, 132px);
	}

	.mp-nav-drawer__secondary {
		margin-top: 1.5rem;
	}

	.mp-nav-drawer__secondary-menu {
		align-items: flex-start;
		width: 100%;
		gap: 0.35rem;
	}

	.mp-nav-drawer__secondary-link {
		font-size: var(--mp-text-xl);
		line-height: 1.4;
		min-height: 2rem;
		text-align: left;
	}

	.mp-nav-drawer__menu {
		width: 100%;
		text-align: left;
	}

	.mp-nav-drawer__menu a,
	.mp-nav-drawer__menu-trigger {
		font-size: var(--mp-text-3xl);
		line-height: 1.25;
		padding: 0.55rem 0;
		text-align: left;
		width: auto;
		max-width: 100%;
	}

	.mp-nav-drawer__menu-item--expandable .mp-nav-drawer__expand-link {
		display: none;
	}

	.mp-nav-drawer__menu-item--expandable .mp-nav-drawer__subpanel-trigger {
		display: none;
	}

	.mp-nav-drawer__menu-item--expandable .mp-nav-drawer__inline-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: flex-start;
		width: auto;
		max-width: 100%;
		box-sizing: border-box;
	}

	.mp-nav-drawer__menu-trigger-icon {
		filter: brightness(0) invert(1);
		opacity: 0.92;
	}

	.mp-nav-drawer__menu-sublist {
		display: block;
		list-style: none;
		margin: 0;
		padding: 0.1rem 0 0.4rem 0;
		width: 100%;
		text-align: left;
	}

	.mp-nav-drawer__menu-sublist[hidden] {
		display: none;
	}

	.mp-nav-drawer__menu-sublist a {
		display: block;
		padding: 0.35rem 0;
		color: var(--mp-text-on-dark);
		text-decoration: none;
		font-family: var(--mp-font-sans);
		font-size: var(--mp-text-lg);
		line-height: 1.35;
		font-weight: 500;
		text-align: left;
		opacity: 0.9;
	}

	.mp-nav-drawer__menu-sublist a:hover,
	.mp-nav-drawer__menu-sublist a:focus-visible {
		opacity: 1;
	}

	.mp-mini-cart {
		width: min(100%, 100vw);
	}

	.mp-mini-cart__header {
		padding: 1rem;
	}

	.mp-mini-cart__content {
		padding: 0.9rem 0.9rem 1rem;
	}

	.mp-mini-cart .woocommerce-mini-cart-item {
		grid-template-columns: 64px minmax(0, 1fr) auto;
		gap: 0.65rem 0.75rem;
		padding-top: 10px;
		padding-bottom: 10px;
		padding-left: 0;
		padding-right: 0;
	}

	.mp-mini-cart-item__thumb {
		width: 64px;
		height: 64px;
		min-width: 64px;
		min-height: 64px;
	}

	.mp-mini-cart-item__title {
		font-size: var(--mp-text-md);
	}

	.mp-mini-cart .woocommerce-mini-cart-item .mp-mini-cart-item__thumb img,
	.mp-mini-cart .woocommerce-mini-cart-item .mp-mini-cart-item__thumb .attachment-woocommerce_thumbnail {
		width: 64px;
		height: 64px;
	}

	.mp-mini-cart-qty__btn {
		width: auto;
		height: auto;
		min-width: 0;
		min-height: 0;
		padding: 4px;
		font-size: var(--mp-text-base);
		justify-content: flex-start;
		text-align: left;
	}

	.mp-mini-cart-qty__value {
		min-width: 2.2rem;
		padding: 8px;
		font-size: var(--mp-text-base);
		line-height: 100%;
	}

	.mp-mini-cart-item__line-price {
		font-size: var(--mp-text-base);
	}

	.mp-mini-cart-item__line-price .amount,
	.mp-mini-cart-item__line-price .woocommerce-Price-amount,
	.mp-mini-cart-item__line-price bdi {
		font-size: var(--mp-text-base);
	}

	.mp-mini-cart .woocommerce-mini-cart-item.mp-mini-cart-item--reservation {
		grid-template-columns: 64px minmax(0, 1fr) max-content;
	}

	.mp-footer {
		padding: 1.5rem 0 1.25rem;
	}

	.mp-footer__top {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.25rem;
		margin-bottom: 1rem;
	}

	.mp-footer__newsletter,
	.mp-footer__logo-slot {
		grid-column: 1 / -1;
	}

	.mp-footer__newsletter-title {
		font-size: var(--mp-text-4xl);
		line-height: 1.1;
		margin-bottom: 0.85rem;
	}

	.mp-footer__column-title {
		font-size: var(--mp-text-base);
		line-height: 1.5;
		margin-bottom: 0.75rem;
	}

	.mp-footer__newsletter-form,
	.mp-footer__input,
	.mp-footer__newsletter-form .mp-btn {
		width: 100%;
	}

	.mp-footer__newsletter-form .mp-btn {
		min-height: 48px;
	}

	.mp-footer__links-wrap {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 0.6rem 1rem;
	}

	.mp-footer__link {
		display: inline-flex;
		align-items: center;
		min-height: 40px;
	}

	.mp-footer__logo-wrap {
		width: 100%;
		margin: 0 0 0.75rem;
	}

	.mp-footer__logo-img {
		width: min(120px, 42vw);
		max-width: 120px;
	}

	.mp-footer__bottom {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.25rem;
		padding-top: 0.85rem;
		font-size: var(--mp-text-base);
	}

	body.home .mp-hero--full {
		overflow: hidden;
	}

	.mp-hero__overlay-text {
		width: 100%;
		max-width: none;
		min-width: 0;
		padding-left: 32px;
		padding-right: 32px;
	}

	body.home .mp-hero__overlay-text {
		will-change: transform;
	}

	.mp-home-cream {
		padding: 2.75rem 0 3rem;
	}

	.mp-home-cream__inner {
		padding-left: var(--mp-gutter);
		padding-right: var(--mp-gutter);
	}

	.mp-home-intro {
		margin-bottom: 2rem;
	}

	.mp-home-row--kitchen,
	.mp-home-row--farm {
		margin-bottom: 2rem;
	}

	.mp-home-row--krajina {
		margin-top: 2rem;
	}

	.mp-home-slideshow {
		max-width: none;
	}

	.mp-home-slideshow--fade {
		aspect-ratio: 4 / 5;
	}

	.mp-home-slideshow--fade .mp-home-slideshow__slide {
		aspect-ratio: auto;
	}

	.mp-home-slideshow__slide,
	.mp-home-bleed {
		aspect-ratio: 4 / 5;
		border-radius: 4px;
	}

	.mp-block--featured {
		padding: 1rem 0 1.5rem;
	}

	.mp-block__inner,
	.mp-block__inner--featured {
		gap: 1rem;
		padding-left: var(--mp-gutter);
		padding-right: var(--mp-gutter);
	}

	.mp-shop,
	.mp-stul,
	.mp-pokoje,
	.mp-pokoje-nabidka,
	.mp-zazitky,
	.mp-single-product,
	.mp-platba {
		padding-top: 1rem;
		padding-bottom: 2rem;
	}

	.mp-shop__top,
	.mp-degustace__top {
		align-items: flex-start;
	}

	.mp-shop__title,
	.mp-shop__intro,
	.mp-degustace__title {
		text-align: left;
	}

	.mp-shop__filters,
	.mp-degustace__filters {
		flex-wrap: nowrap;
		width: 100%;
		overflow-x: auto;
		padding-bottom: 0.35rem;
		scrollbar-width: none;
	}

	.mp-shop__filters::-webkit-scrollbar,
	.mp-degustace__filters::-webkit-scrollbar {
		display: none;
	}

	.mp-shop-filter,
	.mp-degustace-filter {
		min-height: 44px;
		padding: 0.7rem 1rem;
		flex: 0 0 auto;
	}

	.mp-shop-filter {
		min-height: auto;
		padding: 8px;
	}

	.mp-shop__products {
		margin-top: 1.5rem;
	}

	.mp-zazitky .woocommerce ul.products.mp-zazitky-grid,
	.mp-shop__products.woocommerce ul.products.mp-zazitky-grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.mp-pokoje-grid,
	.mp-stul-grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.mp-shop__products.woocommerce ul.products:not(.mp-zazitky-grid) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 16px;
		row-gap: 18px;
	}

	.mp-shop .mp-product-card__image {
		height: auto;
		aspect-ratio: 4 / 5;
	}

	/* Zážitky featured photos are square on mobile; shop/stůl/pokoje stay portrait. */
	.mp-zazitky-grid .mp-product-card__image,
	.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__image {
		height: auto;
		aspect-ratio: 1 / 1;
	}

	.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__image-inner {
		min-height: 0;
		height: 100%;
	}

	.mp-stul-card__image,
	.mp-pokoje-card__image {
		height: auto;
		aspect-ratio: 4 / 5;
	}

	.mp-shop .mp-product-card__info {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.2rem;
	}

	/* Product archive grid: price below the product name. */
	.mp-shop .mp-product-card__row {
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		gap: 0.25rem;
	}

	/* Allow product names to wrap onto two lines in the narrow 2-up grid.
	   Do not use flex-basis: 0 here — with column stacking that collapses
	   -webkit-box title height to 0 and hides the name. */
	.mp-shop .mp-shop__products.woocommerce ul.products:not(.mp-zazitky-grid) li.product h2.mp-product-card__title,
	.mp-shop .mp-shop__products.woocommerce ul.products:not(.mp-zazitky-grid) .mp-product-card__title {
		flex: 0 1 auto;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		min-height: 0;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.mp-shop .mp-shop__products.woocommerce ul.products:not(.mp-zazitky-grid) .mp-product-card__title a {
		display: inline;
	}

	.mp-shop .mp-shop__products.woocommerce ul.products:not(.mp-zazitky-grid) li.product .mp-product-card__price,
	.mp-shop .mp-product-card__price,
	.mp-stul-card__price {
		font-size: var(--mp-text-md);
		text-align: left;
		width: auto;
	}

	.mp-pokoje-card__title a,
	.mp-stul-card__title a {
		display: inline;
		min-height: 0;
		padding: 0;
		font-size: inherit;
		line-height: inherit;
	}

	.mp-pokoje-card__details summary {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}

	.mp-stul-card__row,
	.mp-pokoje-card__row {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.25rem;
	}

	.mp-stul-card__tag,
	.mp-pokoje-card__price {
		min-width: 0;
		min-height: 40px;
		padding: 0.65rem 0.9rem;
		font-size: var(--mp-text-sm);
		border-radius: 999px;
	}

	.mp-stul-card__tag-prefix,
	.mp-pokoje-card__price-hover {
		display: none;
	}

	.mp-stul-card__tag-date,
	.mp-stul-card__tag:hover .mp-stul-card__tag-date,
	.mp-pokoje-card__price-amount,
	.mp-pokoje-card__price:hover .mp-pokoje-card__price-amount {
		opacity: 1;
	}

	.mp-product-detail__layout {
		gap: 1rem;
	}

	/* Match nav logo inset (cancel narrower desktop width overrides). */
	.mp-product-detail {
		width: 100%;
	}

	.mp-single-product {
		overflow-x: clip;
	}

	.mp-product-detail__gallery,
	.mp-product-detail__right {
		grid-row: 1;
		min-width: 0;
		overflow-x: clip;
	}

	.mp-product-detail__gallery-stack {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		position: relative;
		/* Full viewport bleed — each slide is exactly one screen wide. */
		width: 100vw;
		max-width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		overflow-x: clip;
	}

	.mp-product-detail__gallery-static {
		display: none;
	}

	/* Mobile product gallery: same fade slideshow as desktop, full-bleed frame. */
	.mp-product-detail__gallery-stack .mp-product-detail__slideshow {
		position: relative;
		display: block;
		width: 100vw;
		max-width: 100vw;
		height: 60vh;
		margin: 0;
		padding: 0;
		overflow: hidden;
		aspect-ratio: auto;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-sizing: border-box;
	}

	.mp-product-detail__gallery-stack .mp-product-detail__slideshow.mp-home-slideshow--fade {
		aspect-ratio: auto;
		max-height: 60vh;
	}

	.mp-product-detail__gallery-stack .mp-product-detail__slideshow .mp-home-slideshow__slide {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		margin: 0;
		opacity: 0;
		z-index: 0;
		pointer-events: none;
		transition: opacity var(--mp-slideshow-fade-duration) var(--mp-slideshow-fade-ease);
		aspect-ratio: auto;
		border-radius: 0;
		overflow: hidden;
		background: #a68864;
		box-sizing: border-box;
	}

	.mp-product-detail__gallery-stack .mp-product-detail__slideshow .mp-home-slideshow__slide.is-active {
		opacity: 1;
		z-index: 1;
		pointer-events: auto;
	}

	.mp-product-detail__gallery-stack .mp-product-detail__slideshow .mp-product-detail__image-el,
	.mp-product-detail__gallery-stack .mp-product-detail__slideshow .mp-product-detail__image--placeholder {
		display: block;
		width: 100%;
		height: 100%;
		max-width: none;
		aspect-ratio: auto;
		object-fit: cover;
		object-position: center;
	}

	.mp-product-detail__gallery-stack .mp-home-slideshow__dots {
		display: inline-flex;
		position: static;
		left: auto;
		bottom: auto;
		transform: none;
		align-self: center;
		margin: 0.75rem 0 0;
		padding: 0;
	}

	.mp-product-detail__content,
	.mp-product-detail__left {
		grid-row: 2;
		padding-top: 0;
	}

	.mp-product-detail__title {
		margin-top: 32px;
	}

	.mp-product-detail__close-wrap {
		display: none;
	}

	.mp-product-detail__price {
		font-size: var(--mp-text-md);
	}

	h2.mp-room-offer__title,
	.mp-room-offer__title {
		font-size: var(--mp-text-3xl);
		line-height: 32px;
		letter-spacing: 0;
	}

	.mp-room-offer__desc {
		font-size: var(--mp-text-md);
		line-height: 24px;
	}

	.mp-room-offer__toggle,
	.mp-room-offer__readmore,
	.mp-room-offer__readmore a {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}

	.mp-mini-cart__close {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
	}

	/* Match Večeře: inputs + selected block use full content width.
	 * Beat tablet rules that set width/max-width: 348px (≤1200 / ≤1024). */
	.mp-pokoje-nabidka .mp-pokoje-nabidka__form-wrap,
	.mp-pokoje-nabidka .mp-reservation-picker,
	.mp-pokoje-nabidka .mp-reservation-picker.mp-room-booking {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		max-width: none;
		margin: 0 0 1.5rem;
		gap: 1.25rem;
		padding: 0;
		position: static;
		top: auto;
		z-index: auto;
		background: transparent;
		box-sizing: border-box;
	}

	.mp-pokoje-nabidka .mp-reservation-picker__field-wrap,
	.mp-pokoje-nabidka .mp-room-booking .mp-reservation-picker__field-wrap,
	.mp-pokoje-nabidka .mp-room-booking__selected,
	.mp-pokoje-nabidka .mp-room-calendar,
	.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar,
	.mp-pokoje-nabidka .mp-room-guests,
	.mp-pokoje-nabidka .mp-room-booking .mp-room-guests,
	.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar__trigger,
	.mp-pokoje-nabidka .mp-room-booking .mp-room-guests__trigger,
	.mp-pokoje-nabidka .mp-room-booking .mp-reservation-picker__input,
	.mp-pokoje-nabidka .mp-room-booking select.mp-reservation-picker__input {
		width: 100%;
		max-width: none;
		box-sizing: border-box;
	}

	.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar__trigger,
	.mp-pokoje-nabidka .mp-room-booking .mp-room-guests__trigger,
	.mp-pokoje-nabidka .mp-room-booking .mp-reservation-picker__input,
	.mp-pokoje-nabidka .mp-room-booking select.mp-reservation-picker__input {
		height: 48px;
		min-height: 48px;
		font-size: var(--mp-text-md);
		line-height: 1.25;
	}

	.mp-pokoje-nabidka .mp-room-booking .mp-room-calendar .mp-room-calendar__trigger,
	.mp-pokoje-nabidka .mp-room-booking .mp-room-guests .mp-room-guests__trigger {
		height: auto;
		min-height: 48px;
		font-size: var(--mp-text-base);
		font-weight: 500;
		line-height: normal;
		color: var(--mp-green);
		border: none;
		border-radius: 8px;
	}

	.mp-pokoje-nabidka .mp-room-booking .mp-reservation-picker__btn,
	.mp-pokoje-nabidka .mp-reservation-picker__btn {
		display: none;
	}

	.mp-footer__link {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}

	.mp-product-detail__right {
		gap: 0.75rem;
	}

	.mp-product-detail__gallery-static .mp-product-detail__image-el,
	.mp-product-detail__gallery-static .mp-product-detail__image--placeholder {
		height: auto;
		aspect-ratio: 4 / 5;
	}

	.mp-product-detail__add-to-cart form.cart {
		display: block;
	}

	/* Match Večeře reservation: selects/inputs fill content width. */
	.mp-product-detail__add-to-cart form.cart:has(.mp-voucher-fields) .mp-voucher-fields,
	.mp-product-detail__add-to-cart form.variations_form .variations,
	.mp-product-detail__add-to-cart form.variations_form .variations select,
	.mp-product-detail__add-to-cart form.variations_form .woocommerce-variation-add-to-cart,
	.mp-product-detail__add-to-cart .mp-input,
	.mp-product-detail__add-to-cart .mp-select,
	.mp-product-detail__add-to-cart select {
		width: 100%;
		max-width: none;
		box-sizing: border-box;
	}

	.mp-product-detail__add-to-cart form.variations_form .woocommerce-variation-add-to-cart {
		gap: 0;
		width: 100%;
		max-width: none;
	}

	/* Match Večeře submit: full-width pill CTA. */
	.mp-product-detail__add-to-cart .single_add_to_cart_button,
	.mp-product-detail__add-to-cart .button.alt,
	.mp-product-detail__add-to-cart .single_add_to_cart_button.alt,
	.single-product .mp-product-detail__add-to-cart .single_add_to_cart_button.button.alt,
	.single-product .mp-product-detail__add-to-cart .single_add_to_cart_button.button.alt:hover,
	.single-product .mp-product-detail__add-to-cart .single_add_to_cart_button.button.alt:focus-visible,
	.single-product .mp-product-detail__add-to-cart form.variations_form .single_add_to_cart_button.button.alt {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		max-width: none;
		min-width: 0;
		height: 52px;
		min-height: 54px;
		margin-top: 16px;
		padding: 1rem 1.25rem;
		box-sizing: border-box;
	}

	.mp-product-detail__accordion-group {
		margin-top: 1.5rem;
	}

	.mp-product-detail__accordion summary {
		min-height: 48px;
		padding: 0.3rem 0;
	}

	.mp-degustace {
		margin: 0;
		min-height: auto;
		font-size: inherit;
		line-height: inherit;
	}

	.mp-degustace__top {
		padding: 0 var(--mp-gutter) 1rem;
	}

	.mp-degustace__inner {
		margin: 0 auto;
		padding: 0 var(--mp-gutter) 1.5rem;
		gap: 1.5rem;
		box-sizing: border-box;
	}

	.mp-degustace--mobile-stack .mp-degustace__inner {
		padding-left: var(--mp-gutter);
		padding-right: var(--mp-gutter);
	}

	.mp-degustace__left,
	.mp-degustace__form-wrap,
	.mp-degustace__gallery-wrap {
		max-width: none;
	}

	.mp-degustace__vector {
		display: none;
	}

	.mp-degustace__heading,
	.mp-degustace__intro {
		max-width: none;
	}

	.mp-degustace__form-wrap {
		position: static;
		top: auto;
		width: 100%;
		max-width: none;
	}

	.mp-degustace-form {
		width: 100%;
		max-width: none;
		box-sizing: border-box;
	}

	.mp-degustace .mp-room-calendar,
	.mp-degustace #mp-degustace-calendar,
	.mp-degustace-form__time-field,
	.mp-degustace-form__time-select,
	.mp-degustace-form__submit-wrap,
	.mp-degustace-form__submit,
	.mp-degustace-form__pairing-list,
	.mp-degustace-form__section {
		width: 100%;
		max-width: none;
		box-sizing: border-box;
	}

	.mp-degustace__gallery-wrap {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		width: 100%;
	}

	.mp-degustace__gallery-split {
		width: 100%;
		max-width: none;
	}

	.mp-degustace__gallery-dots {
		width: 100%;
	}

	.mp-degustace-form__time-row {
		grid-template-columns: 1fr;
	}

	.mp-degustace-form__time-box,
	.mp-degustace-form__pairing-box,
	.mp-degustace-form__time-select,
	.mp-degustace-form__note {
		min-height: 48px;
		font-size: var(--mp-text-md);
	}

	.mp-degustace-form__guest-dot {
		width: 32px;
		height: 32px;
	}

	.mp-degustace__gallery {
		max-width: none;
	}

	.mp-degustace__gallery.mp-gallery--fade {
		aspect-ratio: 4 / 5;
	}

	.mp-degustace__gallery-slide {
		aspect-ratio: 4 / 5;
		margin-bottom: 0.75rem;
	}

	.mp-degustace__gallery.mp-gallery--fade .mp-degustace__gallery-slide {
		margin-bottom: 0;
	}

	.mp-degustace__gallery-dot {
		position: relative;
		width: 40px;
		height: 40px;
		background: transparent;
		color: var(--mp-border);
	}

	.mp-degustace__gallery-dot::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 12px;
		height: 12px;
		border-radius: 50%;
		background: currentColor;
		transform: translate(-50%, -50%);
	}

	.mp-degustace__gallery-dot:hover {
		color: var(--mp-text);
		background: transparent;
	}

	.mp-degustace__gallery-dot[aria-selected="true"] {
		color: var(--mp-accent);
		background: transparent;
	}

	.mp-degustace-form__submit {
		min-height: 54px;
	}

	.woocommerce-cart .quantity input,
	.woocommerce-cart .quantity button,
	.woocommerce-cart .button,
	.woocommerce-cart button.button,
	.woocommerce-cart a.button,
	.woocommerce .button.checkout,
	.woocommerce a.button.checkout {
		min-height: 48px;
	}

}

@media (max-width: 480px) {
	.mp-home-section__title,
	.mp-block__title,
	.mp-shop__title,
	.mp-zazitky__title,
	.mp-stul__title,
	.mp-pokoje__title,
	.mp-pokoje-nabidka__title,
	.mp-product-detail__title,
	.mp-room-detail__title,
	.mp-degustace__title,
	.mp-degustace__heading,
	h2.mp-room-offer__title,
	.mp-room-offer__title {
		font-size: var(--mp-text-3xl);
		line-height: 1.1;
		letter-spacing: 0;
	}

	h1 {
		font-size: var(--mp-text-3xl);
		line-height: 1.1;
	}

	h2 {
		font-size: var(--mp-text-2xl);
		line-height: 1.15;
	}

	h2.mp-stul-card__title,
	.mp-stul-card__title,
	.mp-stul-card__title a,
	h2.mp-pokoje-card__title,
	.mp-pokoje-card__title,
	.mp-pokoje-card__title a {
		font-size: var(--mp-text-3xl);
		line-height: 1.2;
		letter-spacing: 0;
	}

	h3 {
		font-size: var(--mp-text-md);
		line-height: 1.3;
	}

	h2.mp-product-card__title,
	.mp-shop .mp-shop__products.woocommerce ul.products li.product h2.mp-product-card__title,
	.mp-shop .mp-product-card__title {
		font-size: var(--mp-text-md);
		line-height: 22px;
		letter-spacing: 0;
	}

	.mp-zazitky-grid .mp-product-card__title,
	.mp-shop .mp-shop__products.woocommerce ul.products.mp-zazitky-grid li.product h2.mp-product-card__title {
		font-size: var(--mp-text-4xl);
		line-height: 1.2;
	}

	.mp-home-section__text,
	.mp-block__text,
	.mp-shop__intro,
	.mp-zazitky__intro,
	.mp-stul__intro,
	.mp-pokoje__intro,
	.mp-pokoje-nabidka__intro,
	.mp-product-detail__intro,
	.mp-platba__intro,
	.mp-degustace__intro,
	.mp-stul-card__description,
	.mp-pokoje-card__info {
		font-size: var(--mp-text-md);
		line-height: 1.55;
	}

	.mp-pokoje-nabidka .mp-pokoje-nabidka__title,
	.mp-room-detail__title {
		font-size: var(--mp-text-3xl);
		line-height: 1.2;
		text-align: left;
	}

	.mp-pokoje-nabidka .mp-pokoje-nabidka__intro,
	.mp-room-detail__desc,
	.mp-room-detail__info-text {
		font-size: var(--mp-text-lg);
		line-height: 28px;
		text-align: left;
	}

	.mp-shop .mp-product-card__image {
		aspect-ratio: 4 / 5;
	}

	.mp-zazitky-grid .mp-product-card__image,
	.mp-shop__products.woocommerce ul.products.mp-zazitky-grid .mp-product-card__image {
		aspect-ratio: 1 / 1;
	}

	.mp-stul-card__image,
	.mp-pokoje-card__image {
		aspect-ratio: 5 / 6;
	}

	.mp-product-detail__gallery-static .mp-product-detail__image-el,
	.mp-product-detail__gallery-static .mp-product-detail__image--placeholder {
		aspect-ratio: 5 / 6;
	}

	.mp-degustace__gallery:not(.mp-gallery--fade) .mp-degustace__gallery-slide {
		aspect-ratio: 5 / 6;
	}

	.mp-degustace__gallery.mp-gallery--fade {
		aspect-ratio: 5 / 6;
	}
}

/* Reservation checkout intro heading */
.iac-checkout .mp-checkout-reservation-heading,
.mp-checkout-reservation-heading {
	margin: 0 auto 1.25rem;
	padding: 0;
	border: none;
	background: transparent;
	font-family: var(--mp-font-sans);
	font-size: var(--mp-text-xl);
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0;
	color: var(--mp-green, #3f543c);
	text-wrap: balance;
	max-width: var(--iac-co-main-max, 560px);
	width: 100%;
	box-sizing: border-box;
}

/* Mixed-cart notice: clear sticky header */
body.woocommerce-checkout .mp-container.mp-mt-2 {
	margin-top: 2.5rem;
	padding-top: 0.75rem;
}
