/* Speisekarte [troy_speisekarte] */
:root { --troy-header-h: 84px; --troy-jump-h: 54px; }
@media (max-width: 767px) { :root { --troy-header-h: 68px; --troy-jump-h: 50px; } }
.admin-bar { --troy-adminbar: 32px; }
@media (max-width: 782px) { .admin-bar { --troy-adminbar: 46px; } }
/* Unter 600 px scrollt die WP-Admin-Leiste mit weg */
@media (max-width: 600px) { .admin-bar { --troy-adminbar: 0px; } }

/* Sprungmarken-Leiste (sticky unter dem Header) */
.troy-sk-jump {
	position: sticky;
	top: calc(var(--troy-header-h) + var(--troy-adminbar, 0px));
	z-index: 50;
	background: var(--troy-bg);
	border-bottom: 1px solid rgba(43,37,34,.12);
	padding: 0 24px;
}
@media (max-width: 767px) { .troy-sk-jump { padding: 0 16px; } }
.troy-sk { max-width: 1248px; margin: 0 auto; padding: 0 24px 64px; }
@media (max-width: 767px) { .troy-sk { padding: 0 16px 48px; } }
.troy-sk-jump ul {
	display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none;
	list-style: none; margin: 0 auto; padding: 10px 0; max-width: 1200px;
	-webkit-overflow-scrolling: touch;
}
.troy-sk-jump ul::-webkit-scrollbar { display: none; }
.troy-sk-jump a {
	display: block; white-space: nowrap;
	padding: 7px 14px; border-radius: 999px;
	font: 500 15px/1.2 'Inter', sans-serif; color: var(--troy-text); text-decoration: none;
	background: var(--troy-white); border: 1px solid rgba(43,37,34,.14);
}
.troy-sk-jump a:hover, .troy-sk-jump a:focus-visible, .troy-sk-jump a.is-active {
	background: var(--troy-accent); border-color: var(--troy-accent); color: var(--troy-white);
}

/* Kategorien */
.troy-sk-cat {
	scroll-margin-top: calc(var(--troy-header-h) + var(--troy-jump-h) + var(--troy-adminbar, 0px) + 16px);
	padding: 48px 0 8px;
}
.troy-sk-cat__title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin: 0 0 6px; }
.troy-sk-cat__tr {
	font: 500 15px/1 'Inter', sans-serif; letter-spacing: .12em; text-transform: uppercase;
	color: var(--troy-accent);
}
.troy-sk-cat__desc { font-style: italic; margin: 0 0 8px; max-width: 70ch; }
.troy-sk-cat__note { font-size: 15px; font-style: italic; margin: 12px 0 0; color: #5b524c; }

.troy-sk-list {
	list-style: none; margin: 16px 0 0; padding: 0;
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 56px;
}
@media (max-width: 900px) { .troy-sk-list { grid-template-columns: 1fr; } }

.troy-sk-item { padding: 16px 0; border-bottom: 1px dashed rgba(43,37,34,.2); break-inside: avoid; }
.troy-sk-item__head { display: flex; align-items: baseline; gap: 10px; }
.troy-sk-item__nr {
	flex: 0 0 auto; min-width: 28px; height: 22px; padding: 0 6px; border-radius: 11px;
	background: var(--troy-primary); color: var(--troy-white);
	font: 600 12px/22px 'Inter', sans-serif; text-align: center; transform: translateY(-2px);
}
.troy-sk-item__name {
	flex: 1 1 auto; margin: 0;
	font-family: 'Playfair Display', serif; font-size: 20px; font-weight: 600; line-height: 1.3;
	color: var(--troy-primary);
}
.troy-sk-item__price {
	flex: 0 0 auto; margin-left: auto; text-align: right; white-space: nowrap;
	font: 700 18px/1.3 'Inter', sans-serif; color: var(--troy-accent);
}
.troy-sk-item__tr { margin: 2px 0 0; font-style: italic; font-size: 15px; color: #6b615a; }
.troy-sk-item__head:has(.troy-sk-item__nr) ~ .troy-sk-item__tr,
.troy-sk-item__head:has(.troy-sk-item__nr) ~ .troy-sk-item__desc,
.troy-sk-item__head:has(.troy-sk-item__nr) ~ .troy-sk-item__meta { padding-left: 38px; }
.troy-sk-item__desc { margin: 4px 0 0; font-size: 16px; line-height: 1.5; }
.troy-sk-item__meta { margin: 6px 0 0; font-size: 13px; color: #6b615a; display: flex; flex-wrap: wrap; gap: 4px 14px; }
.troy-sk-item__hint { font-style: italic; }

/* Badges */
.troy-sk-badge { display: inline-flex; align-items: center; gap: 1px; vertical-align: middle; margin-left: 6px; }
.troy-sk-badge--veg { color: var(--troy-accent-2); }
.troy-sk-badge--hot { color: #C0392B; }
.troy-sk-badge--time { color: var(--troy-primary); }

/* Legende */
.troy-sk-legend {
	margin: 56px 0 0; padding: 32px; border-radius: 12px; background: var(--troy-bg);
	scroll-margin-top: calc(var(--troy-header-h) + var(--troy-jump-h) + 16px);
}
.troy-sk-legend h2 { margin-top: 0; }
.troy-sk-legend h3 { font-size: 18px; margin: 0 0 8px; }
.troy-sk-legend__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 900px) { .troy-sk-legend__grid { grid-template-columns: 1fr; } .troy-sk-legend { padding: 24px 16px; } }
.troy-sk-legend dl { margin: 0; }
.troy-sk-legend dl div { display: flex; gap: 10px; font-size: 15px; padding: 2px 0; }
.troy-sk-legend dt { min-width: 28px; font-weight: 700; }
.troy-sk-legend dd { margin: 0; }
.troy-sk-legend__icons { list-style: none; margin: 0; padding: 0; font-size: 15px; }
.troy-sk-legend__icons li { padding: 3px 0; }
.troy-sk-legend__icons .troy-sk-badge { margin: 0 6px 0 0; }
.troy-sk-legend__note { margin: 20px 0 0; font-size: 15px; font-style: italic; }

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(1px,1px,1px,1px); white-space: nowrap;
}
