/*
Theme Name: Grand Restaurant Child
Theme URI: http://themes.themegoods2.com/grandrestaurant
Description: Premium Cafe & Restaurant Theme
Version: 1.0
Tags: yellow, white, responsive-layout, custom-header, custom-background, threaded-comments, translation-ready, editor-style, custom-menu
Author: ThemeGoods
Author URI: http://themeforest.net/user/ThemeGoods
License: GNU General Public License
License URI: http://themeforest.net/licenses/regular_extended
Text Domain: grandrestaurant
Template: grandrestaurant
*/

@import "../grandrestaurant/style.css";
/* 2026-09-29 Blog-Pagination im Erhard-Rot (Überschriften-Rot #B53237) */
.pagination-detail,
.elementor-blog-pagination a,
.elementor-blog-pagination a:visited {
	color: #B53237 !important;
}
.elementor-blog-pagination a:hover {
	color: #3B332E !important;
}

/* 2026-09-30 Veranstaltungskalender (The Events Calendar) im Erhard-Design */
.erh-kalender {
	background: #fff;
	padding: 60px 0 90px;
}
.erh-kalender .tribe-common {
	--tec-color-accent-primary: #B53237;
	--tec-color-accent-primary-hover: #8f2226;
	--tec-color-accent-primary-active: #8f2226;
	--tec-color-accent-primary-background: rgba(181, 50, 55, .07);
	--tec-color-button-primary: #B53237;
	--tec-color-button-primary-hover: #8f2226;
	--tec-color-button-primary-active: #8f2226;
	--tec-color-link-accent: #B53237;
	--tec-color-link-accent-hover: #8f2226;
	--tec-color-background: #fff;
	--tec-color-background-events: #fff;
	--tec-color-text-primary: #3B332E;
	--tec-color-text-secondary: #5f5650;
	--tec-color-text-event-title: #3B332E;
	--tec-color-text-event-date: #BA9774;
	--tec-color-day-marker-month: #3B332E;
	--tec-color-day-marker-current-month: #B53237;
	--tec-color-border-default: #e6ddd8;
	--tec-color-border-secondary: #e6ddd8;
	--tec-color-icon-active: #B53237;
	--tec-font-family-sans-serif: "Inter", sans-serif;
	color: #3B332E;
}
.erh-kalender .tribe-common .tribe-common-h1,
.erh-kalender .tribe-common .tribe-common-h2,
.erh-kalender .tribe-common .tribe-common-h3,
.erh-kalender .tribe-events-c-top-bar__datepicker-button,
.erh-kalender .tribe-events-calendar-list__month-separator-text,
.erh-kalender .tribe-events-single-event-title {
	font-family: "Cormorant Garamond", serif !important;
	font-weight: 500;
	color: #B53237;
}
/* Monatsraster: Mehrtages-Balken und Tagesnummern */
.erh-kalender .tribe-events-calendar-month__multiday-event-bar-inner,
.erh-kalender .tribe-events-calendar-month__multiday-event-bar {
	background-color: rgba(181, 50, 55, .12) !important;
}
.erh-kalender .tribe-events-calendar-month__multiday-event-bar-title,
.erh-kalender .tribe-events-calendar-month__calendar-event-title a,
.erh-kalender .tribe-events-calendar-list__event-title a {
	color: #3B332E !important;
}
.erh-kalender .tribe-events-calendar-month__calendar-event-title a:hover,
.erh-kalender .tribe-events-calendar-list__event-title a:hover {
	color: #B53237 !important;
}
/* Suchleiste und Knöpfe eckig wie der Rest der Seite */
.erh-kalender .tribe-common-c-btn,
.erh-kalender .tribe-events-c-search__button,
.erh-kalender .tribe-events-c-subscribe-dropdown__button {
	border-radius: 0 !important;
}
.erh-kalender .tribe-events-c-subscribe-dropdown__button {
	border-color: #B53237 !important;
	color: #B53237 !important;
}
.erh-kalender .tribe-events-c-subscribe-dropdown__button:hover {
	background: #B53237 !important;
	color: #fff !important;
}
.erh-kalender .tribe-common {
	--tec-color-background-events-bar-submit-button: #B53237;
	--tec-color-background-events-bar-submit-button-hover: #8f2226;
	--tec-color-background-events-bar-submit-button-active: #8f2226;
}

/* 2026-09-30 Elementor-Formulare in Beiträgen/Seiten: Theme-Knopfstil überschreiben */
.elementor-widget-form .elementor-button[type="submit"] {
	background-color: #B53237 !important;
	color: #fff !important;
	border: 0 !important;
	letter-spacing: .08em;
}
.elementor-widget-form .elementor-button[type="submit"]:hover {
	background-color: #3B332E !important;
}
.elementor-widget-form .elementor-field-type-acceptance label {
	text-transform: none !important;
	letter-spacing: normal !important;
	font-size: 14px;
}

/* 2026-09-30 Danke-Seiten: Links im Fließtext sichtbar (seitenweit sind Links weiß) */
.elementor-14207 .elementor-widget-text-editor a,
.elementor-14208 .elementor-widget-text-editor a {
	color: #B53237 !important;
	font-weight: 600;
}

/* 2026-09-30 Beiträge auf dem Handy: Inhalt volle Breite, Seitenleiste darunter (Theme stapelt nicht) */
@media (max-width: 767px) {
	.single-post .inner_wrapper .sidebar_content,
	.single-post .inner_wrapper .sidebar_wrapper {
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.single-post .inner_wrapper .sidebar_wrapper {
		margin-top: 50px !important;
	}
}
@media (max-width: 767px) {
	.single-post #page_content_wrapper .inner .sidebar_content,
	.single-post #page_content_wrapper .inner .sidebar_wrapper,
	.single-post #page_content_wrapper .inner .sidebar_wrapper .sidebar {
		width: 100% !important;
		float: none !important;
	}
}

/* 2026-09-30 Formular-Knopf: Hover wie alle Knöpfe in Beiträgen (weiß mit rotem Rand) */
.elementor-widget-form .elementor-button[type="submit"]:hover {
	background-color: #ffffff !important;
	color: #B53237 !important;
	box-shadow: inset 0 0 0 1px #B53237;
}

/* 2026-09-30 News-Seite: Vorschaubilder in voller Höhe statt beschnitten */
.elementor-14339 .elementor-posts .elementor-post__thumbnail {
	padding-bottom: 0 !important;
	height: auto !important;
}
.elementor-14339 .elementor-posts .elementor-post__thumbnail img {
	position: static !important;
	transform: none !important;
	width: 100% !important;
	height: auto !important;
	object-fit: contain !important;
}

/* 2026-09-30 Kalenderseiten: Menü transparent über dem Titelbild wie auf der Startseite
   (Theme setzt auf Nicht-Seiten Abstand oben per CSS + Inline-Skript) */
body.post-type-archive-tribe_events #wrapper,
body.single-tribe_events #wrapper,
body.tribe-events-page-template #wrapper {
	padding-top: 0 !important;
}

/* 2026-09-30 Links im Fließtext der neuen Seiten + Datenschutz-Link in allen Formularen sichtbar (seitenweit sind Links weiß) */
.elementor-4413 .elementor-widget-text-editor a,
.elementor-14326 .elementor-widget-text-editor a,
.elementor-14337 .elementor-widget-text-editor a,
.elementor-14339 .elementor-widget-text-editor a,
.elementor-widget-form .elementor-field-type-acceptance a {
	color: #B53237 !important;
	font-weight: 600;
	text-decoration: underline;
}
/* Neue Seiten: weißer Grund hinter den Abschnitten (sonst schwarze Pixelfugen zwischen weißen Abschnitten) */
body.page-id-4413 #wrapper,
body.page-id-14326 #wrapper,
body.page-id-14337 #wrapper,
body.page-id-14339 #wrapper,
body.page-id-14207 #wrapper,
body.page-id-4360 #wrapper,
body.page-id-14522 #wrapper,
body.page-id-3 #wrapper,
body.page-id-14208 #wrapper {
	background-color: #FFFFFF !important;
}

/* 2026-09-30 Kontaktseite: Links sichtbar, weißer Grund */
.elementor-3178 .elementor-widget-text-editor a,
.elementor-14470 .elementor-widget-text-editor a,
.elementor-4360 .elementor-widget-text-editor a,
.elementor-14522 .elementor-widget-text-editor a,
.elementor-3 .elementor-widget-text-editor a {
	color: #B53237 !important;
	font-weight: 600;
}
body.page-id-3178 #wrapper,
body.page-id-14470 #wrapper {
	background-color: #FFFFFF !important;
}

/* 2026-09-30 Startseite, Blog-Kacheln (geboxte Sektion): kein Wortbruch mitten im Wort, kleinere Titel in den schmalen Kacheln */
.elementor-element-67710cc0 .post-header-title h5 {
	overflow-wrap: normal !important;
	word-break: normal !important;
	hyphens: auto;
	-webkit-hyphens: auto;
}
.elementor-element-67710cc0 .post-header-title h5:not(.post-metro-left-wrapper *) {
	font-size: 22px !important;
	line-height: 1.35 !important;
}
.elementor-element-67710cc0 .post-metro-left-wrapper .post-header-title h5 {
	font-size: 34px !important;
	line-height: 1.25 !important;
}
/* Große Blog-Kachel nicht mitscrollen lassen – das Theme berechnet die fixierte Position in der geboxten Sektion falsch */
.elementor-element-67710cc0 .post-metro-left-wrapper {
	position: static !important;
	top: auto !important;
	left: auto !important;
	transform: none !important;
}

/* ===== 2026-10-13 Responsive-Durchgang (Agent, Auftrag Elisa) ===== */

/* Beiträge, Tablet (768–1099 px): Theme schiebt die Seitenleiste rechts aus dem Bild (x=798 bei 768) und lässt
   rechts 30 % leer → Inhalt volle Breite, Seitenleiste darunter, wie auf dem Handy */
@media (min-width: 768px) and (max-width: 1099px) {
	body.single-post #page_content_wrapper .inner .sidebar_content,
	body.single-post #page_content_wrapper .inner .sidebar_wrapper,
	body.single-post #page_content_wrapper .inner .sidebar_wrapper .sidebar {
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		left: auto !important;
		right: auto !important;
		position: static !important;
	}
	body.single-post #page_content_wrapper .inner .sidebar_wrapper {
		margin-top: 60px !important;
	}
}
/* Beiträge: Seitenabstand – Text klebte mit 10 px (Handy) bzw. 0 px (Seitenleiste) am Rand */
/* (Elementor-Inhalt bekommt den Rand über die Container-Regel weiter unten; hier nur die Seitenleiste) */
@media (max-width: 767px) {
	body.single-post #page_content_wrapper .inner .sidebar_wrapper {
		padding-left: 20px !important;
		padding-right: 20px !important;
		box-sizing: border-box;
	}
}
@media (min-width: 768px) and (max-width: 1099px) {
	body.single-post #page_content_wrapper .inner {
		max-width: 860px;
		margin-left: auto !important;
		margin-right: auto !important;
		box-sizing: border-box;
	}
	body.single-post #page_content_wrapper .inner .sidebar_wrapper {
		padding-left: 30px !important;
		padding-right: 30px !important;
		box-sizing: border-box;
	}
}
/* Desktop: Beiträge begannen bei x=0 (Customizer „Elementor-Seiten volle Breite" greift auch hier) → zentrierter Satzspiegel */
@media (min-width: 1100px) {
	body.single-post #page_content_wrapper .inner {
		max-width: 1260px;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: 30px !important;
		padding-right: 30px !important;
		box-sizing: border-box;
	}
}

/* Beiträge: Titel im Titelbild lesbar halten (Beitragsbilder tragen eigene Schrift, das Overlay war transparent) */
body.single-post #page_caption.hasbg .parallax_overlay_header {
	/* oben dunkler für Menü/Logo/E-Mail (helle Beitragsbilder), unten dunkler für den Titel */
	background: linear-gradient(to bottom, rgba(0, 0, 0, .6) 0%, rgba(0, 0, 0, .15) 30%, rgba(0, 0, 0, .25) 55%, rgba(0, 0, 0, .7) 100%) !important;
}
body.single-post #page_caption .page_title_wrapper,
body.single-post #page_caption .page_title_wrapper * {
	text-shadow: 0 2px 12px rgba(0, 0, 0, .55);
}

/* Beiträge: Knopfschrift weiß – die Customizer-Regel „span in Beiträgen = #333" färbte die Beschriftung roter Knöpfe dunkel */
body.single-post #page_content_wrapper .post_content_wrapper .elementor-button .elementor-button-text,
body.single-post #page_content_wrapper .post_content_wrapper .elementor-button span {
	color: inherit !important;
}

/* Formulare auf Touch-Geräten: Feldschrift mind. 16 px, sonst zoomt iOS beim Antippen in die Seite */
@media (max-width: 1099px) {
	.elementor-form .elementor-field-group input.elementor-field,
	.elementor-form .elementor-field-group select.elementor-field,
	.elementor-form .elementor-field-group textarea.elementor-field,
	.elementor-form .elementor-field-group .elementor-field-textual {
		font-size: 17px !important;
	}
}

/* Handymenü (≤767 px): „VERANSTALTUNGSKALENDER" brach mitten im Wort um (Panel 280 px, Schrift 20 px).
   Panel 300 px + Schrift 16 px; der Seiteninhalt rückt um dieselben 300 px (Theme-Wert 280 mitgezogen) */
@media (max-width: 767px) {
	.mobile_menu_wrapper {
		width: 300px !important;
		padding-left: 24px !important;
		padding-right: 24px !important;
	}
	body.js_nav #wrapper,
	body.js_nav #overlay_background {
		-webkit-transform: translate(-300px, 0px) !important;
		transform: translate(-300px, 0px) !important;
	}
	.mobile_menu_wrapper .mobile_main_nav li a {
		font-size: 16px !important;
		letter-spacing: .3px !important;
		overflow-wrap: normal !important;
		word-break: normal !important;
		-webkit-hyphens: auto;
		hyphens: auto;
	}
	/* Schließen-X: Tippfläche 44 × 44 statt 22 × 40 */
	#close_mobile_menu {
		width: 44px;
		height: 44px;
		line-height: 44px;
		text-align: center;
		right: 14px !important;
		top: 26px !important;
		opacity: .6 !important;
	}
}

/* Startseiten-Popup (Vorlage 14449), Tablet: Schließen-X lag auf der Überschrift */
@media (min-width: 768px) {
	.elementor-14449 .elementor-element-581af454 > .elementor-widget-wrap {
		padding-top: 44px !important;
	}
}

/* Kalender-Suchfeld: 14 px → iOS zoomt beim Antippen */
@media (max-width: 1099px) {
	.tribe-events .tribe-events-c-search__input,
	.tribe-common .tribe-common-form-control-text__input {
		font-size: 16px !important;
	}
}

/* Seitenrand Handy/Tablet: Elementor-Standard 10 px ließ Text fast an der Bildschirmkante stehen.
   Nur äußerste Container der Seiteninhalte; kleinere Werte werden angehoben, größere bleiben */
@media (max-width: 767px) {
	.elementor:not(.elementor-location-header):not(.elementor-location-footer):not(.elementor-location-popup):not(.elementor-83):not(.elementor-28):not(.elementor-58):not(.elementor-14449) > .e-con {
		padding-left: max(20px, var(--padding-left, 10px)) !important;
		padding-right: max(20px, var(--padding-right, 10px)) !important;
	}
}
@media (min-width: 768px) and (max-width: 1099px) {
	.elementor:not(.elementor-location-header):not(.elementor-location-footer):not(.elementor-location-popup):not(.elementor-83):not(.elementor-28):not(.elementor-58):not(.elementor-14449) > .e-con {
		padding-left: max(30px, var(--padding-left, 10px)) !important;
		padding-right: max(30px, var(--padding-right, 10px)) !important;
	}
}

/* Kopfzeile: E-Mail oben rechts brach bei 768 px zweizeilig um (passt einzeilig, gemessen 202 px) */
.elementor-28 .elementor-element-9d47e0b .elementor-heading-title {
	white-space: nowrap;
}
@media (min-width: 768px) and (max-width: 1099px) {
	.elementor-28 .elementor-element-9d47e0b .elementor-heading-title {
		font-size: 11px !important;
		letter-spacing: .5px !important;
	}
}
/* Senkrechte Telefonnummer im Titelbild: brach bei 768/1024 um und lag auf großen Seitentiteln.
   Auf dem Handy blendet Elementor sie schon aus → auf dem Tablet ebenso; Desktop: nicht umbrechen */
@media (max-width: 1024px) {
	.e-con.e-transform.elementor-hidden-mobile:has(.elementor-heading-title a[href^="tel:"]) {
		display: none !important;
	}
}
.e-con.e-transform:has(.elementor-heading-title a[href^="tel:"]) .elementor-heading-title {
	white-space: nowrap;
}

/* Überschriften: auf Geräten mit deutscher Silbentrennung (iOS, Android, macOS) sauber trennen statt mitten im Wort */
/* (Silbentrennung für Überschriften am 14.10. wieder entfernt: iOS trennte auch passende Wörter, z. B. „KÜ-CHE“) */
/* Dasselbe für Seiten im alten Abschnitts-Format (Regensburger Angebote, Sonntagsbüffet, ein Abschnitt der Startseite):
   dort meist „kein Spaltenabstand" = 0 px → Container 20 px (Handy) bzw. 30 px (Tablet) */
@media (max-width: 767px) {
	.elementor:not(.elementor-location-header):not(.elementor-location-footer):not(.elementor-location-popup):not(.elementor-83):not(.elementor-28):not(.elementor-58):not(.elementor-14449) > .elementor-section.elementor-top-section > .elementor-container {
		padding-left: 20px;
		padding-right: 20px;
	}
}
@media (min-width: 768px) and (max-width: 1099px) {
	.elementor:not(.elementor-location-header):not(.elementor-location-footer):not(.elementor-location-popup):not(.elementor-83):not(.elementor-28):not(.elementor-58):not(.elementor-14449) > .elementor-section.elementor-top-section > .elementor-container {
		padding-left: 30px;
		padding-right: 30px;
	}
}

/* --- Runde 2 (Messung Wortbrüche/Spalten 13.10.) --- */

/* Infokasten 40 % + Formular 60 % (Kontakt, Busreisen, Veranstaltungen): Kasten auf dem Tablet nur 188 px breit,
   „Öffnungs/zeiten", „Veranstaltungsb/üro" → bis 1024 px untereinander */
@media (max-width: 1024px) {
	.elementor-element-45c50242,
	.elementor-element-9416367,
	.elementor-element-d87d7d3 {
		--flex-direction: column !important;
		flex-direction: column !important;
	}
	.elementor-element-45c50242 > .e-con,
	.elementor-element-9416367 > .e-con,
	.elementor-element-d87d7d3 > .e-con,
	.elementor-element-45c50242 > .e-con-inner > .e-con,
	.elementor-element-9416367 > .e-con-inner > .e-con,
	.elementor-element-d87d7d3 > .e-con-inner > .e-con {
		--width: 100% !important;
		width: 100% !important;
	}
}
/* 50/50-Zeilen mit 50-px-Überschriften (Restaurant, Geschichte): Tablet hochkant untereinander */
@media (min-width: 768px) and (max-width: 900px) {
	.elementor-element-7ee17a7,
	.elementor-element-c11c9ff,
	.elementor-element-d7227a0 {
		--flex-direction: column !important;
		flex-direction: column !important;
	}
	.elementor-element-7ee17a7 > .e-con, .elementor-element-7ee17a7 > .e-con-inner > .e-con,
	.elementor-element-c11c9ff > .e-con, .elementor-element-c11c9ff > .e-con-inner > .e-con,
	.elementor-element-d7227a0 > .e-con, .elementor-element-d7227a0 > .e-con-inner > .e-con {
		--width: 100% !important;
		width: 100% !important;
	}
}
/* „Gastfreundschaft," (Restaurant) brach auch bei 1024 px → Überschriften dort 40 px */
@media (min-width: 768px) and (max-width: 1099px) {
	.elementor-4292 .elementor-element-b219bf0 .elementor-heading-title,
	.elementor-4292 .elementor-element-34ea767 .elementor-heading-title {
		font-size: 40px !important;
	}
}

/* Footer: Textblöcke mit fester Anfangsbreite (206/275 px bei 768) → „Uhr" allein, E-Mail getrennt */
@media (max-width: 1099px) {
	.elementor-83 .elementor-element-b220282,
	.elementor-83 .elementor-element-2ab9d20 {
		--container-widget-width: min(100%, 440px) !important;
		width: min(100%, 440px) !important;
	}
	.elementor-83 .elementor-element-903bdfd,
	.elementor-83 .elementor-element-0869b61 {
		--container-widget-width: min(100%, 520px) !important;
		width: min(100%, 520px) !important;
	}
	/* Partner- und Menüliste: Trennstriche hingen am Zeilenende → Abstände statt Striche, größere Tippflächen */
	.elementor-83 .elementor-element-542b513 .elementor-icon-list-item::after,
	.elementor-83 .elementor-element-f6a357a .elementor-icon-list-item::after,
	.elementor-83 .elementor-element-20d319d .elementor-icon-list-item::after {
		display: none !important;
	}
	.elementor-83 .elementor-element-542b513 .elementor-icon-list-items,
	.elementor-83 .elementor-element-f6a357a .elementor-icon-list-items,
	.elementor-83 .elementor-element-20d319d .elementor-icon-list-items {
		column-gap: 22px;
		row-gap: 6px;
		justify-content: center;
	}
	.elementor-83 .elementor-element-f6a357a .elementor-icon-list-item > a,
	.elementor-83 .elementor-element-20d319d .elementor-icon-list-item > a {
		padding-top: 6px;
		padding-bottom: 6px;
	}
}

/* Handy: Seitentitel/Überschriften kleiner, damit lange Wörter („Reservierungen", „Mittagskarte") nicht zerfallen */
@media (max-width: 767px) {
	.elementor-widget-heading h1.elementor-heading-title {
		font-size: clamp(26px, 7.4vw, 45px) !important;
	}
	/* Einzelfälle mit sehr langen Wörtern */
	.elementor-3 .elementor-element-7bdb39a .elementor-heading-title { font-size: clamp(20px, 6.2vw, 30px) !important; }   /* Datenschutzerklärung */
	.elementor-3281 .elementor-element-45b172b .elementor-heading-title { font-size: clamp(14px, 4.6vw, 24px) !important; } /* Veranstaltungsanfrage */
	.elementor-3281 .elementor-element-cff54b4 .elementor-heading-title { font-size: clamp(18px, 5.9vw, 24px) !important; } /* Online-Reservierung */
	.elementor-5184 .elementor-element-2334f8d .elementor-heading-title { font-size: clamp(19px, 6vw, 24px) !important; }   /* Veranstaltungsdetails */
	.elementor-14522 .elementor-element-9972669 .elementor-heading-title { font-size: clamp(20px, 6.6vw, 30px) !important; } /* Veranstaltungskalender */
	/* Beitrags-Titel im Titelbild (Theme-h1 42 px) */
	body.single-post #page_caption h1 { font-size: clamp(28px, 8.4vw, 42px) !important; line-height: 1.15 !important; }
}
/* Kalender-Monatsansicht: Termintitel brachen mitten im Wort („Akademisc/hes") */
@media (max-width: 1099px) {
	.tribe-events-calendar-month__calendar-event-title { -webkit-hyphens: auto; hyphens: auto; overflow-wrap: anywhere; font-size: 11px !important; }
	.tribe-events-single-section-title, .tribe-events-meta-label { -webkit-hyphens: auto; hyphens: auto; }
}

/* Beiträge ohne Titelbild (z. B. Fastenkarte): weiße Kopfzeile stand auf Weiß → dunkler Grund wie der Titelbalken */
body.single-post:not(:has(#page_caption.hasbg)) .main-menu-wrapper {
	background: #000 !important;
}
@media (max-width: 1099px) {
	body.single-post #page_caption:not(.hasbg) .page_title_wrapper {
		padding-left: 20px;
		padding-right: 20px;
		box-sizing: border-box;
	}
}

/* Collagen auf dem Tablet: absolut gesetzte Teile überlagerten Überschrift bzw. Nachbarbild.
   Auf dem Handy stehen sie bereits im Fluss (Elementor-Einstellung) → Tablet genauso */
@media (min-width: 768px) and (max-width: 1024px) {
	.elementor-5053 .elementor-element-3d024c0c,
	.elementor-4820 .elementor-element-20e38252 {
		position: relative !important;
		inset: auto !important;
		top: auto !important; left: auto !important; right: auto !important; bottom: auto !important;
		transform: none !important;
		margin-top: 20px;
	}
	.elementor-4820 .elementor-element-20e38252 {
		width: 100% !important;
		max-width: 100% !important;
	}
	.elementor-4820 .elementor-element-20e38252 img,
	.elementor-4820 .elementor-element-53fda56c img {
		width: 100%;
		height: auto;
	}
}
/* Startseite „Genuss, der begeistert": bei 768 px „BEGEISTER/T" → Tablet 38 px */
@media (min-width: 768px) and (max-width: 1024px) {
	.elementor-5053 .elementor-element-536777b8 .elementor-heading-title { font-size: 38px !important; }
}
/* Kalender: Hinweis „Es wurden keine Ergebnisse gefunden" lag über der Wochentagszeile (Behälter 8 px hoch, Hinweis 56 px) */
.tribe-events .tribe-events-header__messages {
	height: auto !important;
	min-height: 0 !important;
	overflow: visible !important;
	margin-bottom: 16px !important;
}
.tribe-events .tribe-events-header__messages .tribe-events-c-messages__message {
	position: static !important;
}
/* 404-Seite: „404" ragte auf dem Handy aus dem Kasten, „Not Found!" dunkelgrau auf Schwarz, rote Zwischenzeile kontrastschwach */
body.error404 .error_box .error_type { color: #fff !important; }
body.error404 .error_text { color: #d8cfc9 !important; }
body.error404 h5 { color: #e07a7e !important; }
@media (max-width: 767px) {
	body.error404 .error_box { max-width: 100%; box-sizing: border-box; }
	body.error404 .error_box .error_type { font-size: 120px !important; line-height: 1 !important; right: auto !important; left: 0 !important; width: 100%; text-align: center; }
	body.error404 .error_text { font-size: 30px !important; line-height: 1.2 !important; }
}

/* --- Runde 3 (Endabnahme Profi-Prüfer 14.10.): Tablet-Wortbrüche --- */
@media (min-width: 768px) and (max-width: 1024px) {
	.elementor-3281 .elementor-element-45b172b .elementor-heading-title { font-size: 30px !important; }   /* Veranstaltungsanfrage */
	.elementor-5053 .elementor-element-52524e20 .elementor-heading-title { font-size: 40px !important; }  /* Wo Tradition auf Geschmack trifft */
	.elementor-4820 .elementor-element-28efcc6 .elementor-icon-box-title,
	.elementor-4820 .elementor-element-28efcc6 .elementor-icon-box-title span { font-size: 20px !important; } /* Küchenteam */
	.elementor-98 .elementor-element-ba236c4 .elementor-icon-box-title,
	.elementor-98 .elementor-element-ba236c4 .elementor-icon-box-title span { font-size: 17px !important; }  /* Qualitätsanspruch */
}
/* Termin-Einzelseite: Detail-Spalten (Details/Veranstalter/Ort) zu schmal → „Veranstaltungsor/t", „…kategor/ien" */
@media (max-width: 1024px) {
	.tribe-events-single .tribe-events-event-meta .tribe-events-meta-group {
		width: 100% !important;
		float: none !important;
		display: block !important;
	}
}
/* Reservierungen: Rufnummer im Hinweis nicht umbrechen */
.elementor-3281 a[href^="tel:"] { white-space: nowrap; }
@media (max-width: 1024px) {
	.tribe-events-single .tribe-events-meta-label { font-size: 12px !important; letter-spacing: 0 !important; width: auto !important; max-width: none !important; }
}

/* --- Runde 4 (Elisa 14.10., Handy-Screenshots) --- */
@media (max-width: 767px) {
	/* Knöpfe/Trennlinie/Unterschrift unter zentriertem Text ebenfalls mittig */
	.elementor-5053 .elementor-element-933d7d6 .elementor-button-wrapper,
	.elementor-5053 .elementor-element-608bf7e3 .elementor-button-wrapper,
	.elementor-14326 .elementor-element-9bd33d4 .elementor-button-wrapper,
	.elementor-5053 .elementor-element-933d7d6, .elementor-5053 .elementor-element-608bf7e3, .elementor-14326 .elementor-element-9bd33d4 {
		text-align: center !important;
		justify-content: center !important;
		align-self: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	.elementor-5053 .elementor-element-5519dd82,
	.elementor-5053 .elementor-element-642b0003 {
		align-self: center !important;
		text-align: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	.elementor-14326 .elementor-element-d597100 { --divider-element-spacing: 0; margin-left: auto !important; margin-right: auto !important; align-self: center !important; }
	.elementor-14326 .elementor-element-d597100 .elementor-divider { text-align: center !important; justify-content: center !important; }

	/* Bewertungs-Karussell: Höhe folgt der längsten Bewertung → bei kurzen Karten große Leere darunter */
	.testimonials-card-wrapper .owl-stage { display: flex !important; }
	.testimonials-card-wrapper .owl-item { display: flex !important; align-items: center !important; }
	.testimonials-card-wrapper .owl-item .item { margin: 24px 0 !important; width: 100%; }

	/* Handymenü feiner: Logo klein oben, Einträge in der Hausschrift mit feinen Linien */
	.mobile_menu_wrapper { display: flex !important; flex-direction: column; padding-top: 28px !important; background: #0d0b0a !important; }
	.mobile_menu_wrapper .page_content_wrapper { order: -1; height: auto !important; margin: 0 0 26px !important; padding: 0 !important; }
	.mobile_menu_wrapper .widget_media_image { margin: 0 !important; padding: 0 !important; text-align: left; }
	.mobile_menu_wrapper .widget_media_image img { width: 118px !important; height: auto !important; }
	.mobile_menu_wrapper .mobile_main_nav li { border-bottom: 1px solid rgba(255, 255, 255, .08); }
	.mobile_menu_wrapper .mobile_main_nav li:first-child { border-top: 1px solid rgba(255, 255, 255, .08); }
	.mobile_menu_wrapper .mobile_main_nav li a {
		font-family: "Cormorant Garamond", serif !important;
		font-size: 19px !important;
		font-weight: 500 !important;
		letter-spacing: 1.2px !important;
		line-height: 1.2 !important;
		padding: 12px 0 !important;
		color: #f3ece6 !important;
	}
	.mobile_menu_wrapper .mobile_main_nav li.current-menu-item > a,
	.mobile_menu_wrapper .mobile_main_nav li a:hover { color: #BA9774 !important; }
	#close_mobile_menu { top: 22px !important; }

	/* Reservieren/Anrufen-Leiste (Markup aus functions.php) */
	.erh-cta-leiste {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 8;
		display: flex; gap: 8px; padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
		background: rgba(255, 255, 255, .97); box-shadow: 0 -2px 14px rgba(0, 0, 0, .12);
	}
	.erh-cta-leiste a {
		flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px;
		height: 46px; font: 600 15px/1 "Inter", sans-serif; letter-spacing: .3px; text-decoration: none !important; border-radius: 3px;
	}
	.erh-cta-leiste .erh-cta-tel { flex: 0 0 38%; color: #B53237 !important; border: 1px solid #B53237; background: #fff; }
	.erh-cta-leiste .erh-cta-res { color: #fff !important; background: #B53237; }
	.erh-cta-leiste svg { width: 17px; height: 17px; fill: currentColor; }
	body { padding-bottom: calc(62px + env(safe-area-inset-bottom)); }
	body.js_nav .erh-cta-leiste { display: none; }
	#go-to-top, .go-to-top, #toTop, a[href="#top"].scrollup { bottom: calc(74px + env(safe-area-inset-bottom)) !important; }
}
@media (min-width: 768px) { .erh-cta-leiste { display: none; } }
@media (max-width: 767px) {
	.mobile_menu_wrapper .mobile_main_nav li a { font-size: 17px !important; letter-spacing: .6px !important; }
	.testimonials-card-wrapper .owl-dots { margin-bottom: 36px !important; }
	.elementor-5053 .elementor-element-7c53c4ff, .elementor-5053 .elementor-element-7c53c4ff p { text-align: center !important; }
}

/* Handy: vom Desktop geerbte Innenabstände der Container (150/85/100/80 px) addierten sich zu großen Leerflächen → höchstens 32 px */
@media (max-width: 767px) {
	.elementor:not(.elementor-83):not(.elementor-28):not(.elementor-58):not(.elementor-14449) .e-con.e-con-full {
		padding-top: min(var(--padding-top, 0px), 32px) !important;
		padding-bottom: min(var(--padding-bottom, 0px), 32px) !important;
	}
	.elementor:not(.elementor-83):not(.elementor-28):not(.elementor-58):not(.elementor-14449) .e-con.e-con-boxed > .e-con-inner {
		padding-top: min(var(--padding-top, 0px), 32px) !important;
		padding-bottom: min(var(--padding-bottom, 0px), 32px) !important;
	}
}
/* Karussell-Punkte in Hausfarbe statt Grün */
.testimonials-card-wrapper .owl-dots .owl-dot span { background: #B53237 !important; opacity: .45; }
.testimonials-card-wrapper .owl-dots .owl-dot.active span { opacity: 1; }
/* Bewertungs-Karten (Restaurant, Startseite): Widget zieht sich mit -60 px in die Überschrift und hat 120 px Luft unten */
@media (max-width: 767px) {
	.elementor-widget-grandrestaurant-testimonial-card > .elementor-widget-container {
		margin-top: 0 !important;
		padding-bottom: 16px !important;
	}
}
/* Überschriften nie trennen (Elisa 14.10.): ganze Wörter in die nächste Zeile */
h1, h2, h3, h4, h5, h6, .elementor-heading-title { -webkit-hyphens: none !important; hyphens: none !important; }
/* Bewertungen: einheitlich weißer Hintergrund – grauer Schleier war der große Kartenschatten */
.testimonials-card-wrapper .shadow-effect { box-shadow: none !important; }
@media (max-width: 767px) { .elementor-4292 .elementor-element-7c86f95 { margin-bottom: 28px !important; } }
/* Titelbilder auf dem Handy wie auf der Startseite: volle Bildschirmhöhe (Elisa 14.10.) */
@media (max-width: 767px) {
	[data-elementor-type="wp-page"] > .e-con:first-child,
	.elementor-14199 > .e-con:first-child {
		--min-height: 100vh !important;
		min-height: 100vh !important;
	}
	body.single-post #page_caption.hasbg {
		height: 100vh !important;
		min-height: 100vh !important;
	}
}
@media (max-width: 767px) {
	/* Beitragstitel im bildschirmhohen Titelbild: mittig wie bei den Seiten statt unten unter der Reservieren-Leiste */
	body.single-post #page_caption.hasbg .page_title_wrapper {
		top: 50% !important;
		bottom: auto !important;
		transform: translateY(-50%);
	}
}
/* Speisekarte: Abstand über „Unsere Herbstkarte" */
#herbstkarte { margin-top: 40px; }
/* Popup: verirrtes Kreis-Symbol aus der Altvorlage (absolut, y -103 px) ausblenden */
.elementor-14449 .elementor-element-3e65efa7 { display: none !important; }
/* 14.10. nachmittags – Speisekarte (3127) + Mittagskarte (4343): Abstände Handy/Tablet (Elisa) */
@media (max-width: 1024px) {
	/* leere Food-Menu-Widgets (je 20 px + Lücke) und 10-px-Abstandhalter unter den Wein-Überschriften */
	.elementor-3127 .elementor-widget-grandrestaurant-food-menu,
	.elementor-3127 .elementor-element-e953447, .elementor-3127 .elementor-element-a577e12,
	.elementor-3127 .elementor-element-cb76b2a, .elementor-3127 .elementor-element-5fc68a8 { display: none !important; }
	/* „Wer hat das gesündere Bier?“: Liste klebte an der Linie */
	.elementor-3127 .elementor-element-11ccc39 { margin-top: 24px !important; }
	/* letzter Block lief ohne Abstand in den Footer */
	.elementor-3127 .elementor-element-d9bd07a, .elementor-4343 .elementor-element-8735afd { margin-bottom: 60px !important; }
	/* Titel „Reservierungen“ auf unruhigem Foto: Abdunklung 0.2 → 0.45 */
	.elementor-3281 .elementor-element-ec8140f { --overlay-opacity: .45; }
	.elementor-3281 .elementor-element-ec8140f::before, .elementor-3281 .elementor-element-ec8140f > .elementor-background-overlay { opacity: .45 !important; }
}
@media (max-width: 767px) {
	/* Bierprobe: Preiszeile neben dem Titel klebte zusammen („BierprobeKolpingtaler!“) → untereinander */
	.elementor-3127 .elementor-element-11ccc39 .elementor-price-list-header { flex-direction: column !important; align-items: stretch !important; gap: 6px; text-align: left !important; }
	.elementor-3127 .elementor-element-11ccc39 .elementor-price-list-title,
	.elementor-3127 .elementor-element-11ccc39 .elementor-price-list-price { text-align: left !important; padding: 0 !important; margin: 0 !important; width: 100% !important; max-width: none !important; }
	/* Häkchen und Radio-Knöpfe in Formularen: 13 px → 20 px */
	.elementor-form .elementor-field-subgroup input[type="checkbox"],
	.elementor-form .elementor-field-subgroup input[type="radio"] { width: 20px; height: 20px; margin: 0 8px 0 0; vertical-align: middle; accent-color: #B53237; flex-shrink: 0; }
}
/* Kalender-Monatsansicht Tablet: Termintitel brachen mitten im Wort (Zelle 98 px, Text 64 px) → Innenabstand 16 → 6 px, keine Auto-Trennung */
@media (min-width: 768px) and (max-width: 1023px) {
	.tribe-events-calendar-month__calendar-event { padding-left: 6px !important; padding-right: 6px !important; }
	.tribe-events-calendar-month__calendar-event-title { -webkit-hyphens: manual !important; hyphens: manual !important; overflow-wrap: break-word !important; }
}
@media (max-width: 1024px) {
	/* leere Zierspalten neben den Band-Überschriften (rote Bänder) erzeugten je 20 px Lücke + leere Fläche */
	.elementor-3127 .elementor-element-fb90a6a, .elementor-3127 .elementor-element-36571f7 { display: none !important; }
}
/* Kaffee-Untertitel (Speisekarte) kleiner als der Einleitungstext */
.elementor-3127 .elementor-element-erhkaf2 p { font-size: 15px; line-height: 1.6; }
@media (max-width: 1024px) {
	/* Band „Wer hat das gesündere Bier?“: 40 px Außenabstand (Tablet-Wert) über der Überschrift */
	.elementor-3127 .elementor-element-d2f8731 { margin-top: 0 !important; }
	/* Weinliste → nächste Überschrift: nach Wegfall der leeren Widgets zu eng */
	.elementor-3127 .elementor-element-4a979b2, .elementor-3127 .elementor-element-e91f197 { margin-top: 28px !important; }
}
/* Busreisen (14470), Elisa 14.10.: einheitliche Ausrichtung. Kontaktkasten: Desktop alles links (wie die Überschriften),
   Handy/Tablet alles zentriert (Überschriften dort mittig). Formular: Überschrift links wie die Feldbeschriftungen */
.elementor-14470 .elementor-element-ba80429, .elementor-14470 .elementor-element-771a948,
.elementor-14470 .elementor-element-4333462, .elementor-14470 .elementor-element-ba80429 p,
.elementor-14470 .elementor-element-771a948 p, .elementor-14470 .elementor-element-4333462 p { text-align: left !important; }
@media (max-width: 1024px) {
	.elementor-14470 .elementor-element-c5c2c71 .elementor-heading-title, .elementor-14470 .elementor-element-f4df6c6 .elementor-heading-title,
	.elementor-14470 .elementor-element-ba80429, .elementor-14470 .elementor-element-771a948,
	.elementor-14470 .elementor-element-4333462, .elementor-14470 .elementor-element-ba80429 p,
	.elementor-14470 .elementor-element-771a948 p, .elementor-14470 .elementor-element-4333462 p { text-align: center !important; }
}
.elementor-14470 .elementor-element-745c4a4, .elementor-14470 .elementor-element-745c4a4 .elementor-heading-title { text-align: left !important; }
/* Speisekarte: Kaffee-Überschrift – Elementor-4-Außenabstand am inneren Container überlappte den Untertitel → Abstand außen */
.elementor-3127 .elementor-element-erhkaf1 > .elementor-widget-container { margin-top: 0 !important; }
.elementor-3127 .elementor-element-erhkaf1 { margin-top: 50px; }
/* Brotzeit & Schmankerl: einzelne Spalte mittig */
.elementor-3127 .elementor-element-erhbrot1, .elementor-3127 .elementor-element-erhbrot1 > .e-con-inner { justify-content: center !important; }
/* Über uns (4820), Elisa 14.10.: Bild nach „Restaurant St. Erhard“ zog sich mit −140/−100 px über den roten Knopf „Zu den Speisekarten“ („roter Kasten dahinter“) */
@media (max-width: 1024px) {
	.elementor-4820 .elementor-element-5cdccf33, .elementor-4820 .elementor-element-5cdccf33 > .elementor-widget-container { margin-top: 0 !important; }
	.elementor-4820 .elementor-element-d30d015 { display: none !important; }
}
@media (max-width: 767px) {
	.elementor-4820 .elementor-element-5cdccf33 { text-align: center !important; }
	.elementor-4820 .elementor-element-5cdccf33 img { width: 100% !important; max-width: 100% !important; }
}
/* Über uns: Olivenzweig (26.png) über dem Text „Logieren aus Tradition“ entfernt (Elisa 14.10.) */
.elementor-4820 .elementor-element-75ad945 { display: none !important; }
/* Geschichte (98), Elisa 14.10.: Übergang Titelbild → „Unser Team“ mehr Luft; Handy/Tablet alles zentriert; Link „hier“ (Parken) war weiß auf weiß */
@media (max-width: 1024px) {
	.elementor-98 .elementor-element-908ccdf { margin-top: 48px !important; }
	.elementor-98 .elementor-element-ef4642d, .elementor-98 .elementor-element-ef4642d p,
	.elementor-98 .elementor-element-09b48f5, .elementor-98 .elementor-element-09b48f5 .elementor-heading-title { text-align: center !important; }
}
.elementor-98 .elementor-element-erhteamintro { margin-left: auto; margin-right: auto; }
.elementor-98 .elementor-element-5631cfd a { color: #B53237 !important; text-decoration: underline; }
/* Galerie (3252) hat kein Titelbild, nur einen schwarzen Kopf → nicht auf 100vh strecken (war am Handy eine leere schwarze Fläche, Elisa 14.10.) */
@media (max-width: 767px) {
	.elementor-3252[data-elementor-type="wp-page"] > .e-con:first-child { --min-height: 0px !important; min-height: 0 !important; padding-top: 120px !important; }
}
/* Beiträge: Links im Fließtext erkennbar (waren schwarz ohne Unterstrich), Zwischenfragen (h3) kompakter – Herbstkarten-Beitrag 14.10. */
html body.single-post #page_content_wrapper .post_content_wrapper .elementor-widget-text-editor a:not(.elementor-button) { color: #B53237 !important; text-decoration: underline; }
html body.single-post .elementor .elementor-widget-text-editor .elementor-widget-container h3 { line-height: 1.3 !important; margin: 28px 0 8px !important; }
/* Kontakt (3178), Elisa 14.10.: am Handy alle Texte zentriert wie die Überschriften */
@media (max-width: 767px) {
	.elementor-3178 :is(.elementor-element-1248c2cc, .elementor-element-461c0f46, .elementor-element-313fe26b, .elementor-element-54c82f7c, .elementor-element-6fd341ec),
	.elementor-3178 :is(.elementor-element-1248c2cc, .elementor-element-461c0f46, .elementor-element-313fe26b, .elementor-element-54c82f7c, .elementor-element-6fd341ec) :is(p, h3, h4, li) { text-align: center !important; }
}
/* Reservierungen (3281): Öffnungszeiten-Kasten stieß unten an den Footer */
@media (max-width: 1024px) {
	.elementor-3281 .elementor-element-13ce5a8 { margin-bottom: 60px !important; }
}
/* Speisekarte: Link „Herbstkarte Regensburg im St. Erhard“ war weiß/gold (Theme-Linkfarbe) → rot unterstrichen (Elisa 14.10.) */
html body .elementor-3127 .elementor-element-erhhklink a, html body .elementor-3127 .elementor-element-erhhklink a:visited { color: #B53237 !important; text-decoration: underline !important; }
html body .elementor-3127 .elementor-element-erhhklink a:hover { color: #000000 !important; }
