/* Paket DK: Speisekarte (inc/speisekarte.php, assets/js/speisekarte.js).
   Nur auf Seiten mit der Gruppe "adler-speisekarte" geladen, alle Selektoren
   unter .adler-sk (dazu Seitenkopf und Servicebereich der Speisekarte).
   Farben über Preset-Variablen und die Tokens aus gestaltung.css, damit der
   Dunkelmodus (dunkel.css) greift. Kein eigener Sprungversatz: den liefert
   das scroll-padding-top in style.css. */

.adler-sk {
	--sk-flaeche: var(--wp--preset--color--sand); /* Paket DN: Sand statt #FFFDF8, wechselt im Dunkelmodus mit */
	--sk-linie: var(--adler-linie, rgba(44, 59, 49, 0.19));
	--sk-gruen: var(--adler-gruen-text, #2C3B31);
	--sk-gold: var(--wp--preset--color--gold-tief);
	--sk-grau: var(--wp--preset--color--stein-tief);
	padding: 0.5rem var(--adler-rand) 3rem;
	color: var(--wp--preset--color--tinte);
	font-family: var(--wp--preset--font-family--archivo);
	font-size: 1rem;
	line-height: 1.6;
}

.adler-sk *,
.adler-sk *::before,
.adler-sk *::after {
	box-sizing: border-box;
}

.adler-sk [hidden] {
	display: none !important;
}

.adler-sk :where(h2, h3, h4, p, dl, dd) {
	margin: 0;
}

.adler-sk :where(h2, h3, h4) {
	font-family: var(--wp--preset--font-family--instrument-serif);
	font-weight: 400;
	line-height: 1.07;
	letter-spacing: -0.02em;
	color: var(--sk-gruen);
	text-transform: none;
}

.adler-sk h2 em {
	color: var(--sk-gold);
}

.adler-sk button {
	font: inherit;
	line-height: 1.4;
	letter-spacing: normal;
	text-transform: none;
	border-radius: 0;
	box-shadow: none;
	cursor: pointer;
	touch-action: manipulation;
}

.adler-sk :focus-visible {
	outline: 3px solid var(--sk-gold);
	outline-offset: 3px;
}

.adler-sk .adler-ikon {
	width: 22px;
	height: 22px;
	flex-shrink: 0;
}

.adler-sk__glyphe {
	flex-shrink: 0;
}

.adler-sk__textlink {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	min-height: 44px;
	padding: 0.35rem 0;
	border: 0;
	background: transparent;
	color: var(--sk-gruen);
	font-size: 0.875rem !important;
	font-weight: 600;
	text-align: left;
}

.adler-sk__textlink:hover {
	text-decoration: underline;
	text-underline-offset: 5px;
}

.adler-sk__textlink[aria-pressed="true"] {
	text-decoration: underline;
	text-decoration-color: var(--sk-gold);
	text-decoration-thickness: 2px;
	text-underline-offset: 6px;
}

/* --------------------------------------------------------------------------
   Bereichswahl
   -------------------------------------------------------------------------- */

.adler-sk__wahl {
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--sk-linie);
}

.adler-sk__wahl:focus {
	outline: none;
}

.adler-sk__wahl-kopf {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 0.5rem;
}

.adler-sk__wahl-kopf h2 {
	font-size: clamp(1.8rem, 2.6vw, 2.2rem);
}

.adler-sk__bereiche {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 0.5rem;
}

.adler-sk__bereiche button {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	min-height: 72px;
	padding: 0.75rem;
	border: 1px solid var(--sk-linie);
	background: var(--sk-flaeche);
	color: var(--sk-gruen);
	text-align: left;
	transition: background-color 0.15s, color 0.15s;
}

.adler-sk__bereiche .adler-ikon {
	width: 28px;
	height: 28px;
}

.adler-sk__bereiche strong {
	display: block;
	font-size: 0.875rem;
	font-weight: 600;
}

.adler-sk__bereiche small {
	display: block;
	margin-top: 0.2rem;
	font-size: 0.75rem;
	line-height: 1.35;
	color: var(--sk-grau);
}

.adler-sk__bereiche button:hover {
	background: var(--wp--preset--color--sand);
}

.adler-sk__bereiche button[aria-pressed="true"] {
	border-color: var(--wp--preset--color--albgruen);
	background: var(--wp--preset--color--albgruen);
	color: #F4F1EA;
}

.adler-sk__bereiche button[aria-pressed="true"] small {
	color: #E9E4D8;
}

.adler-sk__leiste {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding-top: 0.4rem;
}

.adler-sk__mitnahme {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	min-height: 44px;
	font-size: 0.875rem;
	cursor: pointer;
}

.adler-sk__mitnahme input {
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: var(--wp--preset--color--albgruen);
}

.adler-sk__mitnahme .adler-ikon {
	width: 20px;
	height: 20px;
}

.adler-sk__auswahl-knopf {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	min-height: 44px;
	padding: 0.3rem 0 0.3rem 0.6rem;
	border: 0;
	background: transparent;
	color: var(--sk-gruen);
	font-size: 0.875rem !important;
	font-weight: 600;
}

.adler-sk__auswahl-knopf span {
	display: grid;
	place-items: center;
	min-width: 24px;
	height: 24px;
	padding-inline: 0.3rem;
	border-radius: 12px;
	background: var(--wp--preset--color--sand);
	font-size: 0.75rem;
}

/* --------------------------------------------------------------------------
   Ergebnis
   -------------------------------------------------------------------------- */

.adler-sk__ergebnis-kopf {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.1rem 0 0.7rem;
}

.adler-sk__ergebnis-kopf h2 {
	font-size: clamp(2rem, 3vw, 2.45rem);
}

.adler-sk__ergebnis-kopf h2:focus {
	outline: none;
}

.adler-sk__zahl {
	padding-bottom: 0.3rem;
	font-size: 0.8125rem;
	color: var(--sk-grau);
	text-align: right;
}

.adler-sk__filter {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 0.9rem;
}

.adler-sk__filter button {
	min-height: 44px;
	padding: 0.5rem 1rem;
	border: 1px solid var(--sk-linie);
	border-radius: 22px;
	background: transparent;
	color: var(--sk-gruen);
	font-size: 0.8125rem;
}

.adler-sk__filter button:hover,
.adler-sk__filter button[aria-pressed="true"] {
	background: var(--wp--preset--color--sand);
}

.adler-sk__filter button[aria-pressed="true"] {
	border-color: var(--sk-gruen);
	font-weight: 600;
}

.adler-sk__kontext,
.adler-sk__leer {
	margin-bottom: 1rem;
	padding: 0.75rem 1rem;
	border-left: 2px solid var(--wp--preset--color--gold-tief);
	background: var(--wp--preset--color--sand);
	font-size: 0.875rem;
}

.adler-sk__kontext:focus {
	outline: none;
}

.adler-sk__kontext p {
	margin: 0;
}

.adler-sk__kontext a {
	color: inherit;
	font-weight: 600;
}

.adler-sk__abschnitt + .adler-sk__abschnitt {
	margin-top: 0.5rem;
}

.adler-sk__abschnitt-titel {
	padding: 1.4rem 0 0.9rem;
	font-size: 1.9rem;
}

/* Mit Skript und einem einzelnen Bereich steht der Name schon oben. */
.adler-sk--aktiv:not(.adler-sk--alle) .adler-sk__abschnitt-titel {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.adler-sk__notiz {
	margin-bottom: 0.9rem !important;
	font-size: 0.875rem;
	color: var(--sk-grau);
}

.adler-sk__gerichte {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.875rem;
}

.adler-sk__gericht {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 0.8rem 1.4rem 1rem;
	border: 1px solid var(--sk-linie);
	background: var(--sk-flaeche);
}

.adler-sk__gericht:focus {
	outline: 3px solid var(--sk-gold);
	outline-offset: 2px;
}

.adler-sk__anker {
	position: absolute;
	top: 0;
}

.adler-sk__gericht-oben {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 36px;
	margin-bottom: 0.25rem;
}

.adler-sk__marke {
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--sk-gold);
}

.adler-sk__merken {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin-right: -0.7rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--sk-gruen);
}

.adler-sk__merken:hover {
	color: var(--sk-gold);
}

.adler-sk__merken[aria-pressed="true"] .adler-ikon {
	fill: currentColor;
}

.adler-sk__gericht-titel {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1.1rem;
}

.adler-sk__gericht-titel h4 {
	min-width: 0;
	font-size: clamp(1.55rem, 2.1vw, 1.8rem);
	line-height: 1.1;
	overflow-wrap: break-word;
	hyphens: auto;
	/* Paket EE: wie H1/H2 (DO) erst ab 12 Zeichen trennen; "Innerin-ger",
	   "Limbur-ger" bleiben ganz, "Kräutercremesüppchen" darf getrennt werden. */
	hyphenate-limit-chars: 12 5 5;
}

.adler-sk__preis {
	flex-shrink: 0;
	white-space: nowrap;
	font-size: 0.9375rem;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	color: var(--sk-gruen);
}

.adler-sk__beschreibung {
	max-width: 28rem;
	margin-top: 0.55rem !important;
	font-size: 0.875rem;
	line-height: 1.6;
	color: var(--sk-grau);
}

.adler-sk__details {
	margin-top: auto;
	padding-top: 0.5rem;
}

.adler-sk__details summary {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	min-height: 44px;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--sk-gruen);
	list-style: none;
	cursor: pointer;
}

.adler-sk__details summary::-webkit-details-marker {
	display: none;
}

.adler-sk__details summary .adler-sk__glyphe {
	transition: transform 0.15s;
}

.adler-sk__details summary:hover .adler-sk__glyphe {
	transform: translateX(3px);
}

.adler-sk__details[open] summary .adler-sk__glyphe {
	transform: rotate(90deg);
}

.adler-sk__details-inhalt {
	font-size: 0.875rem;
	line-height: 1.65;
	color: var(--sk-grau);
}

.adler-sk__details-inhalt dl > div {
	padding: 0.8rem 0;
	border-top: 1px solid var(--sk-linie);
}

.adler-sk__details-inhalt dt {
	margin-bottom: 0.25rem;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--sk-gruen);
}

.adler-sk__herkunft {
	display: flex;
	gap: 0.8rem;
	margin: 0.6rem 0 0.9rem;
	padding: 1rem;
	background: var(--wp--preset--color--sand);
}

.adler-sk__herkunft strong {
	display: block;
	margin-bottom: 0.2rem;
	color: var(--sk-gruen);
}

.adler-sk__bild {
	margin-top: 1rem;
}

.adler-sk__bild figure {
	margin: 0;
}

.adler-sk__bild img {
	display: block;
	width: 100%;
	max-height: 420px;
	object-fit: cover;
}

/* --------------------------------------------------------------------------
   Service, Fuß, Dialog, Bereich wechseln
   -------------------------------------------------------------------------- */

.adler-sk__service {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem 2rem;
	margin-top: 2.2rem;
	padding: 1.75rem 1.9rem;
	background: var(--wp--preset--color--albgruen);
	color: #F4F1EA;
}

.adler-sk__service > div {
	display: flex;
	align-items: center;
	gap: 1.25rem;
}

.adler-sk__service .adler-ikon {
	width: 28px;
	height: 28px;
}

.adler-sk__service h2 {
	margin-bottom: 0.4rem;
	font-size: 2rem;
	color: #F4F1EA;
}

.adler-sk__service p {
	font-size: 0.875rem;
	color: #E9E4D8;
}

.adler-sk__knopf {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.8rem 1.25rem;
	border: 1px solid var(--wp--preset--color--albgruen);
	background: var(--wp--preset--color--albgruen);
	color: #F4F1EA !important;
	font-size: 0.875rem !important;
	font-weight: 600;
	text-decoration: none !important;
	white-space: nowrap;
}

.adler-sk__service .adler-sk__knopf {
	border-color: #F4F1EA;
	background: #F4F1EA;
	color: #2C3B31 !important;
}

.adler-sk__knopf:hover {
	filter: brightness(1.12);
}

.adler-sk__fuss {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1.5rem;
	padding-top: 1.25rem;
	font-size: 0.8125rem;
	line-height: 1.7;
	color: var(--sk-grau);
}

.adler-sk__fuss-hinweis {
	margin-bottom: 0.4rem !important;
	color: var(--wp--preset--color--tinte);
}

.adler-sk__fuss a {
	color: var(--sk-gruen);
	font-weight: 600;
}

.adler-sk__fuss .adler-sk__textlink {
	flex-shrink: 0;
}

.adler-sk__dialog {
	width: min(620px, calc(100vw - 32px));
	max-width: none;
	max-height: calc(100dvh - 32px);
	padding: 0;
	border: 1px solid var(--sk-linie);
	background: var(--wp--preset--color--kalkweiss);
	color: var(--wp--preset--color--tinte);
	overscroll-behavior: contain;
	box-shadow: 0 20px 80px rgba(0, 0, 0, 0.25);
}

.adler-sk__dialog::backdrop {
	background: rgba(21, 32, 25, 0.6);
}

.adler-sk__dialog {
	overflow: hidden;
}

/* Paket DL: Kopf mit Titel und Schließen steht fest, nur der Inhalt scrollt. */
.adler-sk__dialog-innen {
	display: flex;
	flex-direction: column;
	max-height: calc(100dvh - 32px);
}

.adler-sk__dialog-kopf {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
	flex: none;
	padding: 1.25rem 0.75rem 0.9rem 2.25rem;
	border-bottom: 1px solid var(--sk-linie);
}

.adler-sk__dialog-inhalt {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 1rem 2.25rem 1.9rem;
}

.adler-sk__dialog .adler-eyebrow {
	margin: 0 0 0.4rem;
}

.adler-sk__dialog h2 {
	margin: 0;
	font-size: clamp(1.75rem, 5vw, 2.6rem);
}

.adler-sk__dialog h2:focus {
	outline: none;
}

.adler-sk__schliessen {
	flex: none;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--sk-gruen);
}

.adler-sk__schliessen .adler-sk__glyphe {
	width: 22px;
	height: 22px;
}

.adler-sk__dialog .adler-sk__beschreibung {
	font-size: 0.9375rem;
}

.adler-sk__dialog > div > div > .adler-sk__preis {
	display: block;
	margin: 0.6rem 0 1rem;
	font-size: 1.15rem;
}

.adler-sk__dialog .adler-sk__knopf {
	width: 100%;
	margin-top: 1.1rem;
	white-space: normal;
}

.adler-sk__dialog .adler-sk__knopf[aria-pressed="true"] {
	border-color: var(--sk-linie);
	background: var(--wp--preset--color--sand);
	color: var(--sk-gruen) !important;
}

.adler-sk__auswahl-notiz {
	margin-bottom: 1.1rem !important;
	font-size: 0.875rem;
	color: var(--sk-grau);
}

.adler-sk__auswahl-liste {
	margin: 0;
	padding: 0;
	list-style: none;
}

.adler-sk__auswahl-liste li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.5rem 1rem;
	align-items: start;
	margin: 0;
	padding: 1rem 0;
	border-top: 1px solid var(--sk-linie);
}

.adler-sk__auswahl-liste h3 {
	font-size: 1.6rem;
}

.adler-sk__auswahl-liste p {
	margin-top: 0.35rem;
	font-size: 0.8125rem;
	color: var(--sk-grau);
}

.adler-sk__auswahl-liste li > div:last-child {
	text-align: right;
}

.adler-sk__entfernen {
	min-height: 44px;
	padding: 0.5rem 0;
	border: 0;
	background: transparent;
	color: var(--sk-grau);
	font-size: 0.8125rem !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.adler-sk__wechsel {
	position: fixed;
	bottom: max(1.25rem, env(safe-area-inset-bottom));
	left: 50%;
	z-index: 30;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0.6rem 1.25rem;
	border: 1px solid #F4F1EA;
	border-radius: 22px;
	background: var(--wp--preset--color--albgruen);
	color: #F4F1EA !important;
	font-size: 0.8125rem;
	font-weight: 600;
	text-decoration: none !important;
	white-space: nowrap;
	transform: translateX(-50%);
	box-shadow: 0 3px 18px rgba(0, 0, 0, 0.15);
}

.adler-sk__sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

/* --------------------------------------------------------------------------
   Seitenkopf mit Küchenfoto und Servicebereich (Blöcke der Seite)
   -------------------------------------------------------------------------- */

.adler-karte-kopf__bild {
	display: none;
}

@media (min-width: 62.5em) {
	.adler-karte-kopf {
		display: grid;
		grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
		column-gap: 3rem;
		align-items: start;
	}

	.adler-karte-kopf > * {
		grid-column: 1;
	}

	.adler-karte-kopf > .adler-karte-kopf__bild {
		display: block;
		grid-column: 2;
		grid-row: 1 / span 6;
		align-self: center;
		position: relative;
		margin: 0 !important;
	}

	.adler-karte-kopf__bild img {
		display: block;
		width: 100%;
		height: 210px;
		object-fit: cover;
		border-radius: 100px 4px 4px 4px;
	}

	.adler-karte-kopf__bild figcaption {
		position: absolute;
		left: 1.25rem;
		bottom: 1rem;
		margin: 0;
		font-family: var(--wp--preset--font-family--instrument-serif);
		font-style: italic;
		font-size: 1.75rem;
		color: #F4F1EA;
		text-shadow: 0 2px 6px rgba(26, 24, 21, 0.75);
	}
}

/* Kompakter Einstieg: die ersten Gerichte sollen früh zu sehen sein. */
.adler-seitenkopf-hell.adler-karte-kopf {
	padding-top: 1.25rem;
	padding-bottom: 1.25rem;
}

.adler-karte-kopf .adler-pfad {
	margin-bottom: 1rem !important;
}

.adler-karte-kopf .adler-eyebrow {
	display: none;
}

.adler-seitenkopf-hell.adler-karte-kopf h1 {
	font-size: clamp(2.5rem, 3.5vw, 3.25rem) !important;
}

.adler-karte-kopf .adler-einstieg {
	margin-top: 0.9rem !important;
	font-size: 1rem;
}

.adler-karte-kopf .adler-aktionen {
	margin-top: 1.1rem !important;
}

/* Paket DL: aktueller Status aus "Heute im Adler" im Zeitenkasten. Gleiche
   Quelle wie /restaurant/#heute, keine eigene Zeitlogik. */
.adler-zeitenkasten .adler-heute--streifen {
	margin: 1.1rem 0 0 !important;
	padding: 0 0 0 0.9rem;
	border: 0;
	border-left: 2px solid #C9A063;
	background: none;
	box-shadow: none;
	color: #F4F1EA;
	font-size: 0.9375rem;
}

.adler-zeitenkasten .adler-heute--streifen p {
	margin: 0;
	color: inherit;
}

.adler-zeitenkasten .adler-heute__streifen-titel {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	font-weight: 600;
}

.adler-zeitenkasten .adler-heute__streifen-titel .adler-ikon {
	width: 18px;
	height: 18px;
	color: #C9A063;
}

.adler-zeitenkasten .adler-heute__streifen-link {
	display: none;
}

.adler-karte-service {
	margin: 1rem var(--adler-rand) 3.75rem !important;
	gap: 2rem 3rem !important;
}

/* --------------------------------------------------------------------------
   Schmale Fenster
   -------------------------------------------------------------------------- */

@media (min-width: 62.5em) and (max-width: 74.375em) {
	.adler-sk__bereiche button {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.4rem;
	}

	.adler-sk__bereiche small {
		display: none;
	}
}

@media (max-width: 62.4375em) {
	.adler-sk__bereiche {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.adler-sk__service {
		padding: 1.5rem;
	}

	.adler-sk__service > div > .adler-ikon {
		display: none;
	}
}

@media (max-width: 37.5em) {
	.adler-karte-kopf .adler-pfad {
		margin-bottom: 0.75rem !important;
	}

	.adler-seitenkopf-hell.adler-karte-kopf h1 {
		font-size: 2.125rem !important;
	}

	.adler-karte-kopf .adler-einstieg {
		font-size: 0.9375rem;
		line-height: 1.6;
	}

	.adler-karte-kopf .adler-aktionen {
		gap: 0.25rem 1rem;
	}

	.adler-sk {
		padding-top: 0.25rem;
		padding-bottom: 5rem;
	}

	.adler-sk__wahl-kopf h2 {
		font-size: 1.75rem;
	}

	.adler-sk__bereiche {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.45rem;
	}

	.adler-sk__bereiche button {
		gap: 0.6rem;
		min-height: 58px;
		padding: 0.5rem 0.7rem;
	}

	.adler-sk__bereiche .adler-ikon {
		width: 24px;
		height: 24px;
	}

	.adler-sk__bereiche strong {
		font-size: 0.8125rem;
	}

	.adler-sk__bereiche small {
		font-size: 0.6875rem;
	}

	.adler-sk__mitnahme,
	.adler-sk__auswahl-knopf {
		font-size: 0.8125rem !important;
	}

	.adler-sk__mitnahme .adler-ikon {
		display: none;
	}

	.adler-sk__ergebnis-kopf h2 {
		font-size: 1.9rem;
	}

	.adler-sk__gerichte {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.6rem;
	}

	.adler-sk__gericht {
		padding: 0.6rem 1rem 0.8rem;
	}

	.adler-sk__gericht-oben {
		min-height: 32px;
	}

	.adler-sk__gericht-titel h4 {
		font-size: 1.6rem;
	}

	.adler-sk__service {
		flex-direction: column;
		align-items: stretch;
		padding: 1.5rem 1.25rem;
	}

	.adler-sk__service .adler-sk__knopf {
		white-space: normal;
	}

	.adler-sk__fuss {
		display: block;
	}

	/* Paket DL: kompakter Handy-Einstieg. Ferientext bleibt, der Verweis
	   "Küchenzeiten" steht auf dieser Seite schon im Fuß und im Zeitenkasten. */
	body:has(.adler-sk) .adler-hinweisleiste {
		padding-block: 0.35rem;
		font-size: 0.8125rem;
	}

	body:has(.adler-sk) .adler-hinweisleiste__verweis {
		display: none !important;
	}

	.adler-karte-kopf .adler-pfad {
		display: none;
	}

	.adler-seitenkopf-hell.adler-karte-kopf {
		padding-top: 0.9rem;
		padding-bottom: 0.6rem;
	}

	.adler-karte-kopf .adler-einstieg {
		margin-top: 0.5rem !important;
	}

	.adler-karte-kopf .adler-aktionen {
		margin-top: 0.75rem !important;
	}

	.adler-karte-kopf .wp-block-button__link {
		min-height: 44px;
		padding-block: 0.55rem !important;
	}

	.adler-sk__wahl-kopf {
		margin-bottom: 0.35rem;
	}

	.adler-sk__wahl-kopf h2 {
		font-size: 1.5rem;
	}

	/* Drei Kacheln je Zeile, Piktogramm über dem Namen, ohne Zusatz. */
	.adler-sk__bereiche {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.adler-sk__bereiche button {
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		gap: 0.3rem;
		min-height: 64px;
		padding: 0.45rem 0.55rem;
	}

	.adler-sk__bereiche small {
		display: none;
	}

	.adler-sk__leiste {
		padding-top: 0.1rem;
	}

	.adler-sk__wahl {
		padding-bottom: 0.4rem;
	}

	.adler-sk__ergebnis-kopf {
		padding: 0.8rem 0 0.5rem;
	}

	.adler-sk__filter {
		flex-wrap: nowrap;
		overflow-x: auto;
		margin-bottom: 0.6rem;
		scrollbar-width: none;
	}

	.adler-sk__filter button {
		flex: none;
	}

	.adler-sk__fuss .adler-sk__textlink {
		margin-top: 0.75rem;
	}

	.adler-sk__dialog-kopf {
		padding: 0.9rem 0.4rem 0.7rem 1.25rem;
	}

	.adler-sk__dialog-inhalt {
		padding: 0.9rem 1.25rem 1.4rem;
	}
}

@media (max-width: 22.1875em) {
	/* Paket DL: sehr schmale Geräte, Name und Preis im ersten Bildschirm. */
	body:has(.adler-sk) .adler-hinweisleiste {
		line-height: 1.35;
	}

	.adler-sk__wahl-kopf {
		margin-bottom: 0.2rem;
	}

	.adler-seitenkopf-hell.adler-karte-kopf h1 {
		font-size: 1.7rem !important;
	}

	.adler-sk__wahl-kopf h2 {
		font-size: 1.35rem;
	}

	.adler-sk__ergebnis-kopf {
		align-items: baseline;
		padding-top: 0.6rem;
	}

	.adler-sk__ergebnis-kopf h2 {
		font-size: 1.5rem;
	}

	.adler-sk__bereiche button {
		min-height: 58px;
	}

	.adler-sk__bereiche button {
		padding-inline: 0.5rem;
		gap: 0.45rem;
	}

	.adler-sk__bereiche .adler-ikon {
		width: 20px;
		height: 20px;
	}

	.adler-sk__bereiche strong {
		font-size: 0.75rem;
	}

	.adler-sk__filter button {
		padding-inline: 0.7rem;
	}

	.adler-sk__zahl {
		white-space: normal;
	}
}

/* --------------------------------------------------------------------------
   Dunkel
   -------------------------------------------------------------------------- */

@media screen {
	:root[data-theme="dark"] .adler-sk__bereiche button[aria-pressed="true"] {
		border-color: #F4F1EA;
		background: #F4F1EA;
		color: #1F2A22;
	}

	:root[data-theme="dark"] .adler-sk__bereiche button[aria-pressed="true"] small {
		color: #665F52; /* Stein tief als fester Wert: die gedrückte Kachel bleibt im Dunkelmodus Kalkweiß */
	}
}

@media screen and (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .adler-sk__bereiche button[aria-pressed="true"] {
		border-color: #F4F1EA;
		background: #F4F1EA;
		color: #1F2A22;
	}

	:root:not([data-theme="light"]) .adler-sk__bereiche button[aria-pressed="true"] small {
		color: #665F52; /* Stein tief als fester Wert: die gedrückte Kachel bleibt im Dunkelmodus Kalkweiß */
	}
}

@media (prefers-reduced-motion: reduce) {
	.adler-sk * {
		transition: none !important;
	}
}

/* --------------------------------------------------------------------------
   Drucken: immer die ganze Karte, ohne Bedienelemente
   -------------------------------------------------------------------------- */

@media print {
	body:has(.adler-sk) header.wp-block-template-part,
	body:has(.adler-sk) footer.wp-block-template-part,
	body:has(.adler-sk) .adler-hinweis-bereich,
	.adler-karte-kopf .adler-aktionen,
	.adler-karte-kopf__bild,
	.adler-karte-service .wp-block-gallery,
	.adler-sk__wahl,
	.adler-sk__ergebnis-kopf,
	.adler-sk__filter,
	.adler-sk__kontext,
	.adler-sk__leer,
	.adler-sk__merken,
	.adler-sk__details,
	.adler-sk__dialog,
	.adler-sk__wechsel,
	.adler-sk__service,
	.adler-sk__bild,
	.adler-sk__fuss .adler-sk__textlink,
	.adler-sk__fuss .adler-sk__js {
		display: none !important;
	}

	body:has(.adler-sk),
	body:has(.adler-sk) .adler-seitenkopf-hell {
		background: #FFFFFF !important;
	}

	.adler-karte-service .adler-zeitenkasten,
	.adler-karte-service .adler-karte-allergene {
		break-inside: avoid;
	}

	.adler-sk {
		padding: 0;
		color: #000000;
		font-size: 10.5pt;
	}

	.adler-sk .adler-sk__abschnitt[hidden],
	.adler-sk .adler-sk__gericht[hidden] {
		display: block !important;
	}

	.adler-sk .adler-sk__abschnitt-titel {
		position: static !important;
		width: auto !important;
		height: auto !important;
		padding: 14pt 0 6pt !important;
		overflow: visible !important;
		clip-path: none !important;
		font-size: 18pt;
		break-after: avoid;
	}

	.adler-sk__gerichte {
		display: block;
		columns: 2;
		column-gap: 20pt;
	}

	.adler-sk__gericht {
		padding: 5pt 0;
		border: 0;
		border-bottom: 0.5pt solid #999999;
		background: none;
		break-inside: avoid;
	}

	.adler-sk__gericht-oben {
		min-height: 0;
		margin: 0;
	}

	.adler-sk__marke {
		color: #000000;
		font-size: 7pt;
	}

	.adler-sk__gericht-titel h4 {
		font-size: 13pt;
		color: #000000;
	}

	.adler-sk__preis,
	.adler-sk__beschreibung {
		color: #000000;
		font-size: 9pt;
	}
}

/* Paket ED: Zweiter Riegel gegen den Umbau nach dem ersten Zeichnen (1 von 12
   Läufen trotz rel="expect"). Mit Skript bleibt das Bauteil unsichtbar, bis
   speisekarte.js es einschaltet; unsichtbare Elemente zählen nicht als
   Verschiebung. Fällt das Skript aus, wird es nach 2 s trotzdem sichtbar.
   Ohne Skript (html ohne .js) gilt die Regel nicht. */
html.js .adler-sk:not(.adler-sk--aktiv) {
	visibility: hidden;
	animation: adler-sk-zeigen 0s 2s forwards;
}

@keyframes adler-sk-zeigen {
	to { visibility: visible; }
}
