/**
 * IL Morso – styly pro nativní Gutenberg patterny.
 * Doplňuje vizuál z prototypu (eyebrow s linkou, hero typografie,
 * karty menu, USP grid, galerie). Nenahrazuje Tailwind – jen
 * cílí na konkrétní block classy (ilm-*).
 */

/* ---------- GeneratePress: zrušit flex-row layout (nepotrebujeme sidebar) ---------- */
main#content.site-content {
	display: block;
}

/*
 * GP stylesheet je zabalený do @layer gp (filter v inc/enqueue.php).
 * Tailwind @layer utilities (deklarovaný neskôr) má vyššiu prioritu → utility triedy fungujú.
 *
 * Výnimka: w-[120px] a d'alšie šírky loga nie sú vygenerované v Tailwind builde
 * (build bol vytvorený bez skenovania header.php). Explicitné hodnoty tu:
 */
#nav a img {
	width: 120px;
}
#nav.scrolled a img {
	width: 220px;
}
@media (max-width: 47.9375rem) {
	#nav a img       { width: 160px; }
	#nav.scrolled a img { width: 140px; }
}

/* ---------- Společné typografické helpery ---------- */
.ilm-eyebrow {
	display: flex;
	align-items: center;
	gap: 14px;
	font-family: "DM Sans", sans-serif;
	font-size: 0.9rem;
	font-weight: 400;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #C4956A;
	margin: 0 0 22px;
}
.ilm-eyebrow::before {
	content: "";
	display: block;
	width: 24px;
	height: 1px;
	background: #C4956A;
	flex-shrink: 0;
}
.ilm-eyebrow-center {
	justify-content: center;
}
.ilm-eyebrow-light {
	color: #C4956A;
}

.ilm-h2 {
	font-family: "Raleway", sans-serif;
	font-weight: 200;
	font-size: clamp(2.5rem, 5vw, 4.5rem);
	line-height: 1.05;
	letter-spacing: -0.01em;
	color: #2F241F;
	margin: 0 0 28px;
}
.ilm-h2-center { text-align: center; }
.ilm-h2-light  { color: #F3EEE5; }

.ilm-lead {
	font-family: "DM Sans", sans-serif;
	font-weight: 300;
	font-size: 1rem;
	line-height: 1.88;
	color: rgba(47, 36, 31, 0.6);
	max-width: 460px;
	margin: 0 0 28px;
}
.ilm-lead-light {
	color: rgba(243, 238, 229, 0.65);
	max-width: 540px;
}

.ilm-role {
	font-family: "DM Sans", sans-serif;
	font-size: 0.9rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #C4956A;
	margin: 0 0 28px;
}

/* ---------- Sekce wrapper ---------- */
.ilm-section {
	padding: 80px 80px;
}
@media (max-width: 900px) {
	.ilm-section { padding: 60px 24px; }
}

/* ---------- Hero ---------- */
.wp-block-cover.ilm-hero .wp-block-cover__inner-container {
	padding: 80px 64px;
	max-width: 900px;
	margin: auto 0 0;
}
@media (max-width: 900px) {
	.wp-block-cover.ilm-hero .wp-block-cover__inner-container {
		padding: 48px 28px;
	}
}

/* ---------- O restauraci ---------- */
.ilm-about-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 65%;
	aspect-ratio: 4 / 5;
}
.ilm-about-text {
	padding: 80px;
}
@media (max-width: 900px) {
	.ilm-about-text { padding: 48px 28px; }
}

/* USP 2×2 grid */
.ilm-usp { margin-top: 32px !important; }
.ilm-usp .wp-block-column {
	padding: 22px 0 26px;
	border-top: 1px solid rgba(47, 36, 31, 0.1);
}
.ilm-usp .wp-block-column + .wp-block-column {
	padding-left: 24px;
	border-left: 1px solid rgba(47, 36, 31, 0.07);
}
@media (max-width: 600px) {
	.ilm-usp .wp-block-column + .wp-block-column {
		padding-left: 0;
		border-left: 0;
	}
}
.ilm-usp-title {
	font-family: "DM Sans", sans-serif;
	font-size: 0.9rem;
	font-weight: 500;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	color: #2F241F;
	margin: 0 0 10px;
}
.ilm-usp-text {
	font-family: "DM Sans", sans-serif;
	font-size: 0.95rem;
	font-weight: 300;
	line-height: 1.65;
	color: rgba(47, 36, 31, 0.6);
	margin: 0;
}
.ilm-cta { margin-top: 40px; }

/* ---------- Menu preview karty ---------- */
.ilm-menu-preview { padding: 80px; }
@media (max-width: 900px) { .ilm-menu-preview { padding: 60px 20px; } }

.ilm-cards { gap: 2px; }
.ilm-card {
	background: #F3EEE5;
	border: 1px solid rgba(47, 36, 31, 0.1);
	transition: background .3s ease;
	overflow: hidden;
}
.ilm-card:hover { background: rgba(47, 36, 31, 0.025); }
.ilm-card .wp-block-image { margin: 0; }
.ilm-card .wp-block-image img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	transition: transform .7s ease;
}
.ilm-card:hover .wp-block-image img { transform: scale(1.04); }
.ilm-card-title {
	font-family: "Raleway", sans-serif;
	font-weight: 200;
	font-size: clamp(1.6rem, 2.5vw, 2.4rem);
	line-height: 1.1;
	color: #2F241F;
	padding: 32px 40px 0;
	margin: 0 0 16px;
}
.ilm-card-link {
	padding: 0 40px 36px;
	margin: 0;
}
.ilm-card-link a {
	font-family: "DM Sans", sans-serif;
	font-size: 0.9rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #6B2230;
	text-decoration: none;
	transition: gap .3s ease;
}
@media (max-width: 900px) {
	.ilm-card-title, .ilm-card-link { padding-left: 20px; padding-right: 20px; }
}

/* ---------- Víno banner ---------- */
.ilm-vino-banner .wp-block-cover__inner-container {
	padding: 100px 80px;
	max-width: 620px;
}
@media (max-width: 900px) {
	.ilm-vino-banner .wp-block-cover__inner-container {
		padding: 64px 28px;
	}
}

/* ---------- Chef ---------- */
.ilm-chef { padding: 56px 0; }
.ilm-chef .wp-block-columns { align-items: center; }
.ilm-chef-img img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	object-position: center top;
}

/* ---------- Galerie – mozaika ---------- */
.ilm-galerie { padding: 96px 40px; }
@media (max-width: 900px) { .ilm-galerie { padding: 80px 12px; } }

/*
 * Mosaic grid – 3 cols, 2 rows of explicit height + 1 short row
 *
 *   [ 1  1  2 ]   row-1: 340px
 *   [ 3  4  2 ]   row-2: 340px  (img 2 tall = spans rows 1+2)
 *   [ 5  6  7 ]   row-3: 280px
 */
figure.ilm-gallery {
	display: grid !important;
	flex-wrap: unset !important;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: 340px 340px 280px;
	grid-template-areas:
		"a a b"
		"c d b"
		"e f g";
	gap: 4px;
	width: 100%;
}
/* Force each image figure to fill its grid cell */
figure.ilm-gallery .wp-block-image {
	margin: 0;
	overflow: hidden;
	width: auto !important;
	max-width: none !important;
}
figure.ilm-gallery .wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
figure.ilm-gallery .wp-block-image:nth-child(1) { grid-area: a; } /* landscape wide */
figure.ilm-gallery .wp-block-image:nth-child(2) { grid-area: b; } /* portrait tall   */
figure.ilm-gallery .wp-block-image:nth-child(3) { grid-area: c; }
figure.ilm-gallery .wp-block-image:nth-child(4) { grid-area: d; }
figure.ilm-gallery .wp-block-image:nth-child(5) { grid-area: e; }
figure.ilm-gallery .wp-block-image:nth-child(6) { grid-area: f; }
figure.ilm-gallery .wp-block-image:nth-child(7) { grid-area: g; }

/* Mobile: stack to 2 columns, equal height */
@media (max-width: 700px) {
	figure.ilm-gallery {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: unset;
		grid-template-areas: unset;
		grid-auto-rows: 200px;
	}
	figure.ilm-gallery .wp-block-image { grid-area: unset !important; }
}

/* ---------- Vlastní barvy paletky pro Gutenberg ---------- */
.has-stone-background-color { background-color: #E7DFD2; }
.has-cream-background-color  { background-color: #F3EEE5; }
.has-espresso-background-color { background-color: #2F241F; }

/* ======================================================
   STRÁNKA JÍDELNÍ LÍSTEK (jidlo-*)
   ====================================================== */

/* Hero */
.ilm-jidlo-hero.wp-block-cover .wp-block-cover__background {
	background: linear-gradient(to bottom, rgba(10,6,4,0.55) 0%, rgba(10,6,4,0) 40%),
	            linear-gradient(to top, rgba(10,6,4,0.75) 0%, rgba(10,6,4,0) 60%) !important;
	opacity: 1 !important;
}

/* ---- Sticky menu tabs bar ---- */
/* ---- Business Lunch ---- */
.ilm-business-lunch-wrap.wp-block-group {
	padding: 64px 64px 0;
}
@media (max-width: 900px) {
	.ilm-business-lunch-wrap.wp-block-group { padding: 24px 24px 0; }
}
.ilm-bl-box.wp-block-group {
	border: 1px solid rgba(47,36,31,0.12);
}
.ilm-bl-cols.wp-block-columns {
	display: grid !important;
	grid-template-columns: 1fr 1.5fr 1fr !important;
	gap: 48px !important;
	align-items: start;
	padding: 56px !important;
}
.ilm-bl-cols.wp-block-columns > .wp-block-column {
	flex: none !important;
	width: auto !important;
}
@media (max-width: 900px) {
	.ilm-bl-cols.wp-block-columns {
		grid-template-columns: 1fr !important;
		padding: 32px !important;
		gap: 32px !important;
	}
}
.ilm-bl-label { /* "Pondělí – Pátek" */
	font-family: "Jost", sans-serif;
	font-weight: 300;
	font-size: 0.82rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: #6B2230;
	margin: 0 0 12px;
}
.ilm-bl-title.wp-block-heading {
	font-family: "Raleway", sans-serif;
	font-weight: 200;
	font-size: clamp(2.5rem, 4vw, 3.5rem);
	line-height: 1.05;
	color: #2F241F;
	margin: 0 0 12px;
}
.ilm-bl-note {
	font-size: 0.88rem;
	color: rgba(47,36,31,0.6);
	margin: 0;
}
.ilm-bl-photo-col .wp-block-image { margin: 0 !important; height: 100%; }
.ilm-bl-photo-col .wp-block-image img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 3/4; }
@media (max-width: 900px) { .ilm-bl-photo-col .wp-block-image img { aspect-ratio: 16/9; } }

/* BL dish row */
.ilm-bl-row.wp-block-group {
	display: grid !important;
	grid-template-columns: 1fr auto;
	gap: 16px;
	align-items: start;
	padding: 16px 0;
	border-bottom: 1px solid rgba(47,36,31,0.08);
	margin: 0 !important;
}
.ilm-bl-row.wp-block-group:last-child { border-bottom: none; }
.ilm-bl-row-name.wp-block-heading {
	font-family: "DM Sans", sans-serif;
	font-size: 0.95rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #2F241F;
	margin: 0 0 3px;
}
.ilm-bl-row-desc {
	font-size: 0.88rem;
	color: rgba(47,36,31,0.6);
	line-height: 1.5;
	margin: 0;
}
.ilm-bl-row-price {
	font-size: 0.95rem;
	color: #2F241F;
	white-space: nowrap;
	text-align: right;
	margin: 0;
}

/* ---- Menu sections (photo left 1/3, items right 2/3) ---- */
.ilm-menu-section-wrap.wp-block-group {
	padding: 64px 64px 0;
	margin-bottom: 0 !important;
}
.ilm-menu-section-wrap.ilm-first-section { padding-top: 80px; }
@media (max-width: 900px) {
	.ilm-menu-section-wrap.wp-block-group { padding: 0; }
}

.ilm-menu-section.wp-block-columns {
	display: grid !important;
	grid-template-columns: 1fr 2fr !important;
	gap: 0 !important;
	align-items: stretch;
	margin-bottom: 64px !important;
}
.ilm-menu-section.wp-block-columns > .wp-block-column {
	flex: none !important;
	width: auto !important;
}
@media (max-width: 900px) {
	.ilm-menu-section.wp-block-columns {
		grid-template-columns: 1fr !important;
		margin-bottom: 0 !important;
	}
}

/* Photo column (left) */
.ilm-photo-col.wp-block-column { padding: 0 !important; }
.ilm-photo-col .wp-block-cover.ilm-section-cover {
	height: 100%;
	min-height: 500px;
}
.ilm-section-cover.wp-block-cover .wp-block-cover__background {
	background: linear-gradient(to bottom, rgba(10,6,4,0.65) 0%, rgba(10,6,4,0) 50%) !important;
	opacity: 1 !important;
}
.ilm-section-cover .wp-block-cover__inner-container {
	padding: 40px 32px !important;
	justify-content: flex-start !important;
	align-items: flex-start !important;
}
@media (max-width: 900px) {
	.ilm-photo-col .wp-block-cover.ilm-section-cover {
		min-height: 0;
		height: auto;
		aspect-ratio: 4/3;
	}
}
.ilm-section-numeral {
	font-family: "Raleway", sans-serif;
	font-weight: 200;
	font-size: 4.5rem;
	line-height: 1;
	color: rgba(243,238,229,0.35);
	margin: 0 0 8px;
}
.ilm-section-title.wp-block-heading {
	font-family: "Raleway", sans-serif;
	font-weight: 200;
	font-size: clamp(2rem, 3vw, 3rem);
	line-height: 1.05;
	color: #F3EEE5;
	text-shadow: 0 2px 12px rgba(0,0,0,0.4);
	margin: 0 0 4px;
}
.ilm-section-subtitle {
	font-size: 1rem;
	color: rgba(243,238,229,0.75);
	font-style: italic;
	text-shadow: 0 1px 6px rgba(0,0,0,0.3);
	margin: 0;
}

/* Items column (right) */
.ilm-items-col.wp-block-column {
	padding: 48px 56px !important;
}
@media (max-width: 900px) {
	.ilm-items-col.wp-block-column { padding: 32px 24px !important; }
}

/* Individual dish row */
.ilm-dish-row.wp-block-group {
	display: grid !important;
	grid-template-columns: 1fr auto;
	gap: 20px;
	align-items: start;
	padding: 20px 0;
	border-bottom: 1px solid rgba(47,36,31,0.08);
	margin: 0 !important;
}
.ilm-dish-row.wp-block-group:last-child { border-bottom: none; }
.ilm-dish-info.wp-block-group { margin: 0 !important; min-width: 0; }
.ilm-dish-badge {
	font-family: "DM Sans", sans-serif;
	font-size: 0.88rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #6B2230;
	border: 1px solid #6B2230;
	display: inline-block;
	padding: 2px 8px;
	margin: 0 0 8px;
}
.ilm-dish-name.wp-block-heading {
	font-family: "DM Sans", sans-serif;
	font-weight: 500;
	font-size: 1rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #2F241F;
	margin: 0 0 4px;
}
.ilm-dish-desc {
	font-size: 0.92rem;
	color: rgba(47,36,31,0.6);
	line-height: 1.55;
	margin: 0;
}
.ilm-dish-allergens {
	font-size: 0.82rem;
	color: rgba(47,36,31,0.38);
	margin: 4px 0 0;
}
.ilm-dish-price {
	font-family: "DM Sans", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	color: #2F241F;
	white-space: nowrap;
	text-align: right;
	margin: 0;
}

/* Dish subheading (Contorni / Salse) */
.ilm-dish-subheading {
	font-family: "DM Sans", sans-serif;
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #C4956A;
	margin: 0 0 0;
	padding-bottom: 8px;
}
.ilm-dish-subheading.ilm-border-top {
	border-top: 1px solid rgba(47,36,31,0.12);
	padding-top: 32px;
	margin-top: 8px;
}

/* Polévka dne note in Antipasti */
.ilm-soup-note.wp-block-group {
	border-bottom: 1px solid rgba(47,36,31,0.08);
	padding-bottom: 24px;
	margin-bottom: 0 !important;
	text-align: center;
}
.ilm-soup-note-label {
	font-family: "DM Sans", sans-serif;
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #C4956A;
	margin: 0 0 6px;
}
.ilm-soup-note-text {
	font-family: "Cormorant Garamond", serif;
	font-style: italic;
	font-size: 1.15rem;
	color: rgba(47,36,31,0.6);
	line-height: 1.5;
	margin: 0;
}

/* Pizza 2-column grid */
.ilm-pizza-grid.wp-block-columns {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 0 48px !important;
}
.ilm-pizza-grid.wp-block-columns > .wp-block-column {
	flex: none !important;
	width: auto !important;
}
@media (max-width: 900px) {
	.ilm-pizza-grid.wp-block-columns {
		grid-template-columns: 1fr !important;
		gap: 0 !important;
	}
}

/* Pasta classic note */
.ilm-pasta-note.wp-block-group {
	border-top: 1px solid rgba(47,36,31,0.08);
	margin-top: 28px !important;
	padding-top: 20px;
}
.ilm-pasta-note-text {
	font-family: "Cormorant Garamond", serif;
	font-style: italic;
	font-size: 1rem;
	color: rgba(47,36,31,0.6);
	text-align: center;
	line-height: 1.55;
	margin: 0;
}

/* ---- Degustace — párovací menu karta ---- */
.ilm-degustace-card.wp-block-group {
	margin: 4rem 64px 64px !important;  /* sides = ilm-menu-section-wrap padding */
}
@media (max-width: 900px) {
	.ilm-degustace-card.wp-block-group {
		margin: 2rem 0 0 !important;
	}
}

.ilm-degustace-card > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	padding: 56px;
	align-items: start;
}
@media (max-width: 900px) {
	.ilm-degustace-card > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
		padding: 40px 24px;
	}
}
.ilm-wine-list > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
}
.ilm-wine-row > .wp-block-group__inner-container {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid rgba(47,36,31,0.08);
	margin-bottom: 16px;
}
.ilm-wine-total > .wp-block-group__inner-container {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	padding-top: 16px;
	margin-top: 8px;
	border-top: 1px solid rgba(47,36,31,0.15);
}

/* ---- CTA section (jídlo page) ---- */
.ilm-jidlo-cta.wp-block-group {
	background: #E7DFD2;
}
.ilm-cta-grid > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 80px;
	padding: 72px 80px;
}
.ilm-cta-left > .wp-block-group__inner-container {
	display: flex;
	align-items: stretch;
	gap: 40px;
}
.ilm-cta-left > .wp-block-group__inner-container::before {
	content: '';
	display: block;
	width: 1px;
	flex-shrink: 0;
	align-self: stretch;
	background: var(--color-brass, #c4956a);
}
.ilm-cta-btn-wrap .wp-block-button__link {
	font-family: var(--font-sans, sans-serif);
	font-size: 0.8rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	background-color: var(--color-bordeaux, #6b2230) !important;
	color: var(--color-cream, #f3eee5) !important;
	border: 1px solid var(--color-bordeaux, #6b2230) !important;
	transition: background-color 300ms ease, color 300ms ease;
}
.ilm-cta-btn-wrap .wp-block-button__link:hover {
	background-color: transparent !important;
	color: var(--color-bordeaux, #6b2230) !important;
	border-color: var(--color-bordeaux, #6b2230) !important;
}
@media (max-width: 767px) {
	.ilm-cta-grid > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
		gap: 32px;
		padding: 48px 24px;
	}
}

/* =============================================
   Program – event karty (ilmorso/program-list)
   ============================================= */

.ilm-program-wrap {
	padding: 64px 64px 48px;
}
@media (max-width: 900px) {
	.ilm-program-wrap {
		padding: 40px 24px 32px;
	}
}

.ilm-program-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ilm-prog-card {
	display: grid;
	grid-template-columns: 200px 1fr 1fr;
	background: var(--color-cream, #f3eee5);
	border: 1px solid rgba(47,36,31,0.08);
	transition: box-shadow 400ms ease;
}
.ilm-prog-card:hover {
	box-shadow: 0 8px 40px rgba(47,36,31,0.08);
}
@media (max-width: 900px) {
	.ilm-prog-card {
		grid-template-columns: 1fr;
	}
}

/* Date column */
.ilm-prog-date {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 32px 24px;
	position: relative;
}
.ilm-prog-date::after {
	content: '';
	position: absolute;
	right: 0;
	top: 20%;
	height: 60%;
	width: 1px;
	background: var(--color-brass, #c4956a);
}
@media (max-width: 900px) {
	.ilm-prog-date {
		flex-direction: row;
		gap: 12px;
		padding: 20px 24px;
		border-bottom: 1px solid rgba(47,36,31,0.08);
	}
	.ilm-prog-date::after {
		display: none;
	}
}

.ilm-prog-day {
	font-family: var(--font-display, 'Raleway', serif);
	font-style: italic;
	font-weight: 400;
	font-size: 1.8rem;
	line-height: 1.1;
	color: var(--color-espresso, #2f241f);
}
.ilm-prog-dot {
	display: block;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--color-brass, #c4956a);
	margin: 10px 0;
}
@media (max-width: 900px) {
	.ilm-prog-dot {
		margin: 0;
	}
}
.ilm-prog-dateval {
	font-family: var(--font-label, 'Space Grotesk', sans-serif);
	font-size: 0.95rem;
	letter-spacing: 0.08em;
	color: var(--color-bordeaux, #6b2230);
}

/* Content column */
.ilm-prog-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 32px 40px;
}
@media (max-width: 900px) {
	.ilm-prog-body {
		padding: 24px;
	}
}

.ilm-prog-badge {
	display: inline-block;
	align-self: flex-start;
	font-family: var(--font-label, 'Space Grotesk', sans-serif);
	font-size: 0.65rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--color-cream, #f3eee5);
	background: var(--color-bordeaux, #6b2230);
	padding: 3px 10px;
	margin-bottom: 12px;
}

.ilm-prog-title {
	font-family: var(--font-display, 'Raleway', serif);
	font-weight: 200;
	font-size: 1.5rem;
	line-height: 1.2;
	color: var(--color-espresso, #2f241f);
	margin: 0 0 10px;
}

.ilm-prog-desc {
	font-size: 0.95rem;
	color: rgba(47,36,31,0.6);
	line-height: 1.6;
	margin: 0;
}

.ilm-prog-time {
	font-family: var(--font-label, 'Space Grotesk', sans-serif);
	font-size: 0.92rem;
	letter-spacing: 0.1em;
	color: rgba(47,36,31,0.6);
	margin: 14px 0 0;
}

/* Image column */
.ilm-prog-img {
	overflow: hidden;
	aspect-ratio: 16 / 9;
}
.ilm-prog-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 600ms ease;
}
.ilm-prog-card:hover .ilm-prog-img img {
	transform: scale(1.04);
}

/* =============================================
   Kontakt page layouts
   ============================================= */

/* Main 2-col grid: Rezervace | Adresa */
.ilm-kontakt-grid > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
}
@media (max-width: 1000px) {
	.ilm-kontakt-grid > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
	}
}

/* Left / right column flex layout */
.ilm-kontakt-left > .wp-block-group__inner-container,
.ilm-kontakt-right > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.ilm-kontakt-left > .wp-block-group__inner-container {
	gap: 40px;
}
.ilm-kontakt-right > .wp-block-group__inner-container {
	gap: 56px;
}
.ilm-kontakt-right {
	border-left: 1px solid rgba(47, 36, 31, 0.08);
}
@media (max-width: 1000px) {
	.ilm-kontakt-right {
		border-left: none;
		border-top: 1px solid rgba(47, 36, 31, 0.08);
	}
}

/* Contact cards 2-col (telefon + email) */
.ilm-kontakt-cards > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
@media (max-width: 640px) {
	.ilm-kontakt-cards > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
	}
}

/* Individual contact card: icon via ::before + padding-left offset */
.ilm-card-tel,
.ilm-card-mail {
	position: relative;
	padding-left: 72px;
}
.ilm-card-tel::before,
.ilm-card-mail::before {
	content: '';
	position: absolute;
	left: 24px;
	top: 24px;
	width: 36px;
	height: 36px;
	border: 1px solid rgba(47, 36, 31, 0.15);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 14px 14px;
}
.ilm-card-tel::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c4956a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 11a19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 3.6 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L7.91 9.91a16 16 0 0 0 6.16 6.16l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}
.ilm-card-mail::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c4956a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22%2C6 12%2C13 2%2C6'/%3E%3C/svg%3E");
}
.ilm-card-tel a,
.ilm-card-mail a {
	white-space: nowrap;
}

/* Private events 2-col */
.ilm-private-grid > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	align-items: start;
}
@media (max-width: 1000px) {
	.ilm-private-grid > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}
.ilm-private-text > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	gap: 24px;
	justify-content: center;
}

/* Voucher 2-col */
.ilm-voucher-grid > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	align-items: center;
}
@media (max-width: 1000px) {
	.ilm-voucher-grid > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}
.ilm-voucher-text > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

/* Rezervace header (label + heading + desc) */
.ilm-rezervace-head > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* Hours table */
.ilm-hours-table table {
	width: 100%;
	border-collapse: collapse;
}
.ilm-hours-table td {
	padding: 14px 0;
	font-size: 0.95rem;
	border: none;
	border-bottom: 1px solid rgba(47, 36, 31, 0.07);
	vertical-align: top;
}
.ilm-hours-table tr:last-child td {
	border-bottom: none;
}
.ilm-hours-table td:last-child {
	text-align: right;
	color: rgba(47, 36, 31, 0.65);
}

/* Google map filter */
.ilm-map-iframe {
	display: block;
	filter: sepia(0.2) saturate(0.8) brightness(0.95);
}
