/* Obedové menu – web */
.kom-menu {
	--kom-font-head: "Abril Fatface", Georgia, "Times New Roman", serif;
	--kom-font-body: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--kom-color: inherit;
	--kom-muted: currentColor;
	--kom-gap: 1.6em;
	font-family: var(--kom-font-body);
	color: var(--kom-color);
	font-size: 1rem;
	line-height: 1.35;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	text-align: left;
}
.kom-menu *, .kom-menu *::before, .kom-menu *::after { box-sizing: border-box; }

.kom-day + .kom-day { margin-top: 3.5em; }

.kom-menu .kom-day__title {
	font-family: var(--kom-font-head);
	font-weight: 400;
	font-size: clamp(2rem, 5.2vw, 4.4rem);
	line-height: 1.05;
	letter-spacing: 0;
	text-transform: uppercase;
	text-align: center;
	margin: 0 0 1em;
	color: inherit;
}
.kom-menu--week .kom-day__title { font-size: clamp(1.8rem, 4vw, 3.2rem); margin-bottom: .8em; }
.kom-day__badge {
	display: inline-block; vertical-align: middle; position: relative; top: -.35em;
	font-family: var(--kom-font-body); font-size: .75rem; font-weight: 700; letter-spacing: .08em;
	text-transform: uppercase; line-height: 1; padding: .45em .7em; margin-left: .6em;
	border: 1.5px solid currentColor; border-radius: 99px;
}

.kom-list { display: flex; flex-direction: column; gap: 1.45em; }

.kom-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto 6.2em;
	column-gap: 1.8em;
	align-items: baseline;
}
.kom-row__name { font-weight: 600; font-size: 1.3em; line-height: 1.3; }
.kom-row__desc { font-weight: 400; font-size: 1.05em; line-height: 1.35; margin-top: .3em; padding-left: 1.75em; opacity: .9; }
.kom-row__desc--soup { padding-left: 0; }
.kom-row--soup .kom-row__name { font-size: 1.2em; }
.kom-row__qty, .kom-row__price { font-weight: 500; font-size: 1.25em; white-space: nowrap; text-align: right; }
.kom-alg { white-space: nowrap; }
.kom-sep { padding: 0 .15em; }

.kom-day__empty, .kom-day__closed, .kom-notice {
	text-align: center; font-size: 1.15em; margin: .5em 0;
}
.kom-day__closed { font-weight: 600; }
.kom-notice { font-weight: 500; margin-bottom: 1.2em; }

.kom-menu .kom-rozvoz {
	font-weight: 800; font-size: 1.2em; line-height: 1.3; letter-spacing: .02em;
	text-transform: uppercase; text-align: center; margin: 1.3em 0 0;
}
.kom-footer { font-weight: 700; font-size: 1.3em; margin: 1.6em 0 0; }
.kom-footer--week { margin-top: 2.6em; text-align: center; }

.kom-actions { text-align: center; margin: 2em 0 0; }
.kom-menu .kom-btn {
	display: inline-flex; align-items: center; gap: .55em;
	font-family: var(--kom-font-body); font-weight: 600; font-size: 1em; letter-spacing: .02em;
	padding: .9em 1.6em; border: 2px solid currentColor; border-radius: 0;
	color: inherit; background: transparent; text-decoration: none;
	transition: background-color .15s ease, color .15s ease;
}
.kom-menu .kom-btn:hover, .kom-menu .kom-btn:focus-visible { background: #111; border-color: #111; color: #fff; }

/* Týždeň: oddelenie dní */
.kom-menu--week .kom-day + .kom-day { padding-top: 3em; border-top: 1px solid rgba(127, 127, 127, .3); }

@media (max-width: 767px) {
	.kom-list { gap: 1.2em; }
	.kom-row {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas: "main main" "qty price";
		column-gap: 1em; row-gap: .25em;
	}
	.kom-row__main { grid-area: main; }
	.kom-row__qty { grid-area: qty; text-align: left; padding-left: 1.4em; font-size: 1em; opacity: .85; }
	.kom-row__price { grid-area: price; font-size: 1.1em; font-weight: 700; }
	.kom-row--soup .kom-row__qty { padding-left: 0; }
	.kom-row__name { font-size: 1.1em; }
	.kom-row__desc { font-size: .95em; padding-left: 1.4em; }
	.kom-row__desc--soup { padding-left: 0; }
	.kom-footer { font-size: 1.05em; }
	.kom-menu .kom-rozvoz { font-size: 1em; }
	.kom-day__badge { top: -.2em; }
}

.kom-nowrap { white-space: nowrap; }

/* Druhý riadok pod menu (zámena prílohy) – rovnaké písmo ako riadok o donáške */
.kom-menu .kom-footer--note, .kom-menu .kom-footer--week.kom-footer--note { margin-top: .5em; }
