/* Pension Mitterhofer – Grundgestaltung (13.11.2026), ausgelagert aus /pages/index.php (vorher erster <style>-Block im Kopf) */
	/* Menü-Korrektur 11.11.2026: dritte Spalte (Meran & Umgebung) nicht mehr umbrechen/überlappen, Untereinträge linksbündig */
	.navi_open_down ul.menu li ul li a{ text-align:left !important; }
	/* Desktop-Menü wie www.luesnerhof.it (11.11.2026): Logo in der Mitte, Menüpunkte links und rechts davon (per Skript als .pm-desk aus dem CMS-Menü aufgebaut), Untermenü beim Darüberfahren, Button Anfragen rechts */
	.pm-desk, .pm-ov{ display:none; }
	@media screen and (min-width: 901px){
		.navigation{ height:auto; padding:22px 0 0; max-width:none; left:0; right:0; } /* Leiste auch auf sehr breiten Bildschirmen über die ganze Breite (vorher max. 1903 px) */
		.navigation::before{ content:""; display:block; width:auto; position:absolute; left:0; right:0; top:0; height:100px; /* 13.11.2026: nur noch oben über der Menüzeile, endet oberhalb des großen Logos (vorher 300 px) */ background:linear-gradient(to bottom, rgba(30,20,18,.7) 0%, rgba(30,20,18,.45) 40%, rgba(30,20,18,.16) 75%, rgba(30,20,18,0) 100%); /* Verlauf von oben, damit Menü und Logo gut lesbar sind */ pointer-events:none; z-index:-1; transition:opacity .3s; }
		.navigation.navigation_small, .navigation.pm-solid{ height:74px; padding-top:0; background-color:#F2E3D4; }
		.navigation.navigation_small::before, .navigation.pm-solid::before{ opacity:0; }
		.navigation .sprachen, .navigation .nav_main, .navigation .navi_right, .navigation .logo, .navigation .mobile_phone{ display:none !important; }
		.navigation .pm-desk{ display:grid; grid-template-columns:1fr auto 1fr; align-items:start; max-width:1200px; margin:0 auto; padding:0 30px; box-sizing:border-box; } /* Logo mittig, Menüpunkte links, Symbole rechts – bündig mit Text und Bildern (16:20, Button Anfragen vorübergehend ausgeblendet) */ /* bündig mit Text und Bildern, alle Abstände gleich (Logo, Menüpunkte und Button verteilt) */
		.navigation.navigation_small .pm-desk, .navigation.pm-solid .pm-desk{ height:74px; } /* Ausrichtung über Abstände statt align-items, damit der Wechsel beim Scrollen gleitet statt springt */
		.pm-desk ul{ list-style:none; margin:0; padding:0; }
		.pm-desk > ul{ display:flex; align-items:flex-start; gap:40px; }
		.pm-desk > ul.pm-right{ justify-content:flex-end; }
		.pm-desk > ul.pm-left{ gap:clamp(56px, 5.5vw, 84px); } /* größerer Abstand zwischen „Pension“ und „Zimmer“ (13.11.2026) */
				.pm-desk > ul > li{ margin-top:14px; }
		.pm-desk > ul.pm-left > li:first-child > a{ padding-left:0; }
		.pm-desk > ul.pm-right > li:last-child{ margin-right:0; }
		.navigation.navigation_small .pm-desk > ul > li, .navigation.pm-solid .pm-desk > ul > li{ margin-top:13px; }
		.pm-desk-logo{ display:block; width:300px; transition:width .3s; }
		.pm-desk-logo img{ display:block; width:100%; height:auto; }
		.navigation.navigation_small .pm-desk-logo, .navigation.pm-solid .pm-desk-logo{ width:170px; margin-top:9px; }
		.navigation.pm-navanim{ transition:padding-top .35s ease, background-color .35s ease; } .navigation.pm-navanim::before{ transition:opacity .35s ease; } .navigation.pm-navanim .pm-desk-logo{ transition:width .35s ease, margin-top .35s ease; } .navigation.pm-navanim .pm-desk > ul > li{ transition:margin-top .35s ease; } /* sanfter Übergang Leiste oben ↔ gescrollt; erst nach dem Laden aktiv (kein Animieren beim Seitenaufbau) */
		.pm-desk > ul > li{ position:relative; }
		.pm-desk > ul > li > a{ display:block; padding:12px 10px; color:#fff; font-size:21px; font-weight:400; line-height:24px; text-transform:uppercase; letter-spacing:.14em; white-space:nowrap; text-decoration:none; text-shadow:none; }
		/* keine Pfeile bei den Menüpunkten (Wunsch 11.11.2026, 15:28) */
		.pm-desk > ul > li > a:hover, .pm-desk > ul > li:hover > a{ color:#fff; opacity:.85; }
		.navigation.navigation_small .pm-desk > ul > li > a, .navigation.pm-solid .pm-desk > ul > li > a{ text-shadow:none; }
		/* Untermenü wie luesnerhof.it: beim Darüberfahren dunkelt die Seite ab, Unterpunkte weiß und zentriert unter dem Menüpunkt */
		.pm-ov{ display:block; position:fixed; left:0; right:0; top:0; height:100vh; background:rgba(45,32,28,.42); opacity:0; visibility:hidden; transition:opacity .3s, visibility .3s, height .35s ease; pointer-events:none; z-index:-1; }
		.navigation.pm-open .pm-ov{ opacity:1; visibility:visible; }
		.navigation.navigation_small .pm-ov, .navigation.pm-solid .pm-ov{ background:#F2E3D4; } /* gescrollt: Untermenü auf deckender Fläche in Leistenfarbe */
		.navigation.pm-open .pm-desk > ul > li > a{ text-shadow:none; }
		.pm-desk > ul > li > ul{ visibility:hidden; opacity:0; position:absolute; left:50%; top:100%; margin-top:14px; padding:0; min-width:240px; transform:translate(-50%, 8px); background:none; text-align:center; transition:opacity .25s, transform .25s, visibility .25s; z-index:600; }
		.pm-desk > ul > li > ul::before{ content:""; position:absolute; left:0; right:0; top:-30px; height:30px; }
		.pm-desk > ul > li:hover > ul, .pm-desk > ul > li:focus-within > ul, .navigation.pm-open .pm-desk > ul > li.pm-hot > ul{ visibility:visible; opacity:1; transform:translate(-50%, 0); }
		.pm-desk > ul > li:hover > a, .pm-desk > ul > li:focus-within > a{ color:#E0BFA6; opacity:1; }
		.pm-desk li ul li{ padding:0; border:0; float:none; }
		.pm-desk li ul li a{ display:inline-block; padding:7px 10px; color:#fff; font-size:18px; font-weight:400; line-height:22px; text-transform:none; letter-spacing:.04em; white-space:nowrap; text-decoration:none; text-align:center; text-shadow:none; }
		.pm-desk li ul li a:hover{ background:none; color:#E0BFA6; }
		.pm-desk li ul li a.active{ color:#E0BFA6; font-weight:700; }
		/* Button Anfragen */
		.pm-desk > ul > li.pm-cta > a{ padding:0 22px; height:44px; line-height:44px; border-radius:5px; background-color:#C24B4B; font-size:15px; letter-spacing:.05em; text-shadow:none; }
		.pm-desk > ul > li.pm-cta > a:hover{ background-color:#9B2D34; opacity:1; }
		.pm-desk > ul > li.pm-icons{ display:flex; align-items:center; gap:50px; height:48px; }
		.pm-desk > ul > li.pm-icons > a{ position:relative; display:flex; align-items:center; justify-content:center; width:44px; height:48px; padding:0; color:#fff; text-decoration:none; transition:transform 1s cubic-bezier(.45,0,.25,1), color .25s; will-change:transform; }
		.pm-desk .pm-ilabel{ position:absolute; right:0; top:50%; display:block; opacity:0; white-space:nowrap; font-size:16px; font-weight:400; line-height:24px; letter-spacing:.1em; text-transform:uppercase; transform:translate(8px,-50%); pointer-events:none; transition:opacity .5s ease, transform 1s cubic-bezier(.45,0,.25,1); } /* Bezeichnung erscheint beim Darüberfahren, Symbol gleitet nach links – nur per transform (ohne Neuberechnung des Layouts, daher ruckelfrei) (11.11.2026) */
		.pm-desk > ul > li.pm-icons > a.pm-on .pm-ilabel{ opacity:1; transform:translate(0,-50%); pointer-events:auto; transition:opacity .75s ease .2s, transform 1s cubic-bezier(.45,0,.25,1); }
		.pm-desk > ul > li.pm-icons svg{ width:36px; height:36px; stroke-width:1.35; /* 12.11.2026: vorher 42 px und Strichstärke 1.7 */ display:block; flex:none; transition:transform 1s cubic-bezier(.45,0,.25,1); will-change:transform; } /* Icon-Animation etwas langsamer: 1 s statt .8 s (12.11.2026) */
		.pm-desk > ul > li.pm-icons > a.pm-on{ color:#E0BFA6; opacity:1; }
		.pm-desk > ul > li.pm-icons{ position:relative; } .pm-desk > ul > li.pm-icons::before{ content:""; position:absolute; top:0; bottom:0; right:100%; width:110px; } /* 12.11.2026: unsichtbare Zone links der Symbole. Das nach links gleitende Symbol liegt außerhalb der Gruppe; ohne diese Zone galt die Maus dort als "verlassen" und die Animation sprang zurück und wieder vor. */
		.navigation.navigation_small .pm-desk > ul > li.pm-icons, .navigation.pm-solid .pm-desk > ul > li.pm-icons{ height:48px; }
	}
	@media screen and (min-width: 901px) and (max-width: 1023px){ .pm-desk > ul > li.pm-icons{ gap:24px; } } /* schmale Fenster: Symbole enger, damit sie beim Aufklappen der Beschriftung nicht ans Logo stoßen (12.11.2026) */
	@media screen and (min-width: 901px) and (max-width: 1599px){
		.pm-desk .pm-long{ display:none; }
	}
	@media screen and (min-width: 901px) and (max-width: 1180px){
		.pm-desk-logo{ width:220px; }
		.navigation.navigation_small .pm-desk-logo, .navigation.pm-solid .pm-desk-logo{ width:150px; margin-top:12px; }
		.pm-desk > ul > li > a{ font-size:18px; padding:12px 6px; letter-spacing:.08em; }
		.pm-desk > ul > li.pm-cta > a{ padding:0 14px; font-size:14px; }
	}
	/* Kopfbild-Navigation wie luesnerhof.it: Punkte, aktiver Punkt als Kreis mit Nummer; Pfeile ausgeblendet (11.11.2026) */
	/* Pfeile wie forestis.it: dünne weiße Winkel links/rechts, mittig (15:50) */
	.header .s_nav{ margin:0; top:50%; height:0; z-index:110; }
	.header .s_nav #s_prev, .header .s_nav #s_next{ position:absolute; top:-26px; width:52px; height:52px; margin:0 !important; float:none; background:none !important; }
	.header .s_nav #s_prev{ left:36px; } .header .s_nav #s_next{ right:36px; }
	.header .s_nav #s_prev::before, .header .s_nav #s_next::before{ content:""; position:absolute; top:50%; left:50%; width:18px; height:18px; border-left:1.5px solid #fff; border-bottom:1.5px solid #fff; filter:drop-shadow(0 0 3px rgba(0,0,0,.35)); transition:opacity .2s; }
	.header .s_nav #s_prev::before{ transform:translate(-30%,-50%) rotate(45deg); }
	.header .s_nav #s_next::before{ transform:translate(-70%,-50%) rotate(-135deg); }
	.header .s_nav a:hover::before{ opacity:.7; }
	.pm-pager{ position:absolute; left:0; right:0; bottom:28px; z-index:120; display:flex; justify-content:center; align-items:center; gap:14px; pointer-events:none; }
	.pm-pager span{ pointer-events:auto; display:flex; align-items:center; justify-content:center; width:8px; height:8px; border-radius:50%; background:#fff; opacity:.9; cursor:pointer; box-shadow:0 0 6px rgba(0,0,0,.25); transition:width .3s, height .3s, background-color .3s; }
	.pm-pager span b{ display:none; color:#fff; font-size:14px; font-weight:400; letter-spacing:.05em; line-height:1; }
	.pm-pager span.cycle-pager-active{ width:44px; height:44px; background:rgba(0,0,0,.08); border:1.5px solid #fff; box-sizing:border-box; box-shadow:none; }
	.pm-pager span.cycle-pager-active b{ display:block; text-shadow:0 1px 3px rgba(0,0,0,.4); }
	@media screen and (max-width: 900px){ .pm-pager{ bottom:14px; gap:10px; } .pm-pager span.cycle-pager-active{ width:36px; height:36px; } .pm-pager span b{ font-size:12px; } }
	/* Speed 11.11.2026: Platz für das Kopfbild reservieren (alle Kopfbilder 1600x702), verhindert Verrutschen beim Laden (CLS) */
	.slideshow_head{ aspect-ratio:1600/702; }
	.infos .box h2.pm-foot-h{ font-size:1.6em; font-weight:700; color:#86706a; text-transform:uppercase; margin:0; line-height:1.7; letter-spacing:normal; } /* sieht aus wie das frühere h4 */
	@media screen and (max-width: 900px){ .eintrag_link a{ display:inline-block; padding:12px 6px; margin:-12px -6px; min-height:44px; box-sizing:border-box; line-height:20px; } } /* größere Tippfläche für „Details >“ */
	.modul .eintrag img.bild{ height:auto; }
	/* Instagram-Balken: Inhalt vertikal mittig (oben und unten gleich viel Abstand, 11.11.2026) */
	.infos_pre .infos_pre_left{ margin-bottom:0; }
	/* CMS-Karussell (Galerien ab 4 Bildern) fiel am Desktop durch float:left auf 8 px Breite zusammen (11.11.2026) */
	.main .cycle-center .cycle-slideshow{ float:none; width:100%; }
	/* Karussell: sichtbare Pfeile zum Sliden, einheitliche Bildhöhe (11.11.2026) */
	/* Galerie und Bewertungen bündig mit dem Text: Text hat bis 1370 px 30 px Rand, darüber keinen; Karussellbilder haben 4 px Innenabstand (11.11.2026) */
	.main .cycle-center{ position:relative; margin:0 26px; }
	.main .cycle-center.galerie_raster{ margin:0 30px; }
	/* Seitentitel (H1) höchstens zwei Zeilen (12.11.2026): am Desktop breiter (vorher 500 px), am Handy passt sich die Schriftgröße der Bildschirmbreite an; gleichmäßiger Umbruch */
	.main h1{ max-width:760px; padding:0 16px; box-sizing:border-box; text-wrap:balance; }
	@media screen and (max-width: 600px){ .main h1{ font-size:clamp(22px, 7.4vw, 34.5px); } }
	.pm-reviews{ max-width:1200px; margin:0 auto; padding:50px 30px 20px; box-sizing:border-box; min-height:545px; } /* min-height (12.11.2026): Platz für die Bewertungen reservieren, damit der Fußbereich beim Nachladen nicht springt */
	@media screen and (max-width: 600px){ .pm-reviews{ min-height:610px; } }
	/* Bewertungsblock bündig mit den Kacheln darunter (.modul .eintrag): bis 1370 px 900 px breit, bis 900 px 95 % / max. 650 px. Schrift und Sterne unverändert (12.11.2026) */
	/* gilt nur auf Seiten mit Kacheln (Startseite, Meran & Umgebung); sonst bleibt der Block bündig mit dem Text */
	@media screen and (max-width: 1370px){ body:has(.modul .eintrag) .pm-reviews{ max-width:900px; padding-left:0; padding-right:0; } }
	@media screen and (max-width: 900px){ body:has(.modul .eintrag) .pm-reviews{ max-width:650px; width:95%; } }
	/* Einleitungstext auf Kachel-Seiten ebenfalls auf Kachelbreite (901–1370 px); am Handy bleibt der Text beim größeren Seitenrand (12.11.2026) */
	@media screen and (min-width: 901px) and (max-width: 1370px){ body:has(.modul .eintrag) .main > .text{ max-width:900px; margin-left:auto; margin-right:auto; padding-left:0; padding-right:0; } }
	/* Feste Galerie (bis 3 Bilder, z. B. Frühstück, Speis und Trank) als Raster über die ganze Textbreite */
	.main .cycle-center .slideshow_center{ display:grid; grid-auto-flow:column; grid-auto-columns:1fr; gap:12px; margin:0 4px; }
	.main .cycle-center .slideshow_center a.gallery{ display:block; padding:0 !important; margin:0; float:none; }
	.main .cycle-center .slideshow_center img{ display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
	@media screen and (max-width: 600px){ .main .cycle-center .slideshow_center{ grid-auto-flow:row; grid-auto-columns:auto; } }
	/* Bilderreihen im Inhalt (z. B. Geschichte): per Skript in .pm-bildreihe gefasst, 4 Spalten bündig mit dem Text */
	.main .pm-bildreihe{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:0 30px 30px; }
	.main .pm-bildreihe a.gallery_content{ display:block; }
	.main .pm-bildreihe img{ display:block; width:100%; height:auto; margin:0 !important; aspect-ratio:1/1; object-fit:cover; }
	/* Anfrage-Formular auf Textbreite */
	.main form#Anfrageformular{ width:auto; box-sizing:border-box; margin-left:30px; margin-right:30px; }
	@media screen and (max-width: 700px){ .main .pm-bildreihe{ grid-template-columns:repeat(2,1fr); gap:8px; } }
	@media screen and (min-width: 1371px){
		.main .cycle-center{ margin:0 -4px; }
		.main .cycle-center.galerie_raster{ margin:0; }
		.pm-reviews{ padding:40px 0 20px; }
		.main .pm-bildreihe{ margin:0 0 30px; }
		.navigation .pm-desk{ max-width:1200px; padding:0; }
		.main form#Anfrageformular{ margin-left:0; margin-right:0; }
	}
	.main .cycle-center .cycle-nav{ position:absolute !important; top:50%; left:0; right:0; width:auto !important; height:0; margin:0 !important; z-index:150; pointer-events:none; }
	.main .cycle-center .cycle-nav a{ pointer-events:auto; position:absolute !important; top:-22px; width:44px !important; height:44px !important; padding:0 !important; border-radius:50%; background:rgba(255,255,255,.92) !important; box-shadow:0 2px 10px rgba(0,0,0,.25); cursor:pointer; }
	.main .cycle-center .cycle-nav a::before{ content:""; position:absolute; top:50%; left:50%; width:11px; height:11px; border-top:3px solid #86706a; border-right:3px solid #86706a; }
	.main .cycle-center .cycle-nav #prev{ left:10px; }
	.main .cycle-center .cycle-nav #prev::before{ transform:translate(-30%,-50%) rotate(-135deg); }
	.main .cycle-center .cycle-nav #next{ right:10px; }
	.main .cycle-center .cycle-nav #next::before{ transform:translate(-70%,-50%) rotate(45deg); }
	.main .cycle-center .cycle-nav a:hover{ background:#fff !important; }
	.main .cycle-carousel-wrap a.gallery img{ width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }

	/* Mobil (bis 900 px) – Kopfleiste und Schnellleiste nach Vorbild Alpintype (11.11.2026) */
	.pm-quickbar, .pm-menu-cta{ display:none; }
	@media screen and (max-width: 900px){
		body{ padding-top:76px; padding-bottom:calc(68px + env(safe-area-inset-bottom)); }
		.navigation, .navigation.navigation_small{ position:fixed !important; top:0; left:0; right:0; height:76px !important; background:#F2E3D4 !important; z-index:600; box-shadow:0 2px 12px rgba(0,0,0,.12); }
		.navigation .sprachen, .navigation .navi_right, .navigation .mobile_phone{ display:none !important; }
		.navigation .logo, .navigation.navigation_small .logo{ position:absolute; left:44px; /* 12.11.2026: Logo und Menü-Symbol am Handy 8 px weiter nach innen (vorher 36 px / 24 px) */ top:50%; transform:translateY(-50%); margin:0 !important; width:auto !important; }
		.navigation .logo img{ display:block; height:56px; width:auto; }
		@media (max-width: 359px){
			.navigation .logo img{ height:48px; }
		}
		.navigation .nav_main, .navigation .nav_main_open{ position:static; background:none !important; height:auto !important; }
		.navigation .nav_main_button{ position:absolute !important; left:auto !important; right:32px; top:50% !important; transform:translateY(-50%); width:58px !important; height:58px; padding:0 !important; border:0 !important; background:transparent !important; font-size:0 !important; overflow:hidden; box-sizing:border-box; cursor:pointer; }
		.navigation .nav_main_button span, .navigation .nav_main_button span::before, .navigation .nav_main_button span::after{ width:36px; height:3px; }
		.navigation .nav_main_button span{ left:11px !important; }
		.navigation .nav_main_button span::before{ bottom:10px; }
		.navigation .nav_main_button span::after{ top:8px; }
		.navigation .nav_main_open .nav_main_button span::before{ bottom:0; }
		.navigation .navi_open_down{ position:fixed !important; top:76px; left:0; right:0; bottom:0; width:auto !important; height:auto !important; margin:0 !important; padding:28px 20px calc(90px + env(safe-area-inset-bottom)); overflow-y:auto; -webkit-overflow-scrolling:touch; text-align:center; background:linear-gradient(165deg,#9B2D34 0%,#C24B4B 100%); z-index:550; box-sizing:border-box; }
		.navigation .navi_open_down ul.menu{ position:static !important; width:auto !important; background:none !important; margin:0 0 10px !important; padding:0 !important; }
		.navigation .navi_open_down ul.menu > li.topmenu_1{ display:block; float:none; width:auto !important; min-width:0 !important; margin:0 0 22px; padding:0; }
		.navigation .navi_open_down ul.menu > li.topmenu_1 > a{ display:block; padding:8px 0; color:#E0BFA6 !important; font-size:22px; letter-spacing:.06em; text-transform:uppercase; white-space:normal; float:none !important; text-align:center !important; }
		.navigation .navi_open_down ul.menu > li.topmenu_1 > ul{ position:static !important; margin:0 !important; padding:0 !important; min-width:0; opacity:1; background:none; }
		.navigation .navi_open_down ul.menu li ul li{ display:block; float:none; }
		.navigation .navi_open_down ul.menu li ul li a{ display:block; padding:9px 0; text-align:center !important; color:#fff !important; font-size:18px; white-space:normal; }
		.navigation .pm-menu-cta{ display:inline-block; margin:6px auto 0; padding:11px 24px; border:2px solid #fff; border-radius:999px; color:#fff !important; font-size:16px; letter-spacing:.04em; white-space:nowrap; text-transform:uppercase; text-decoration:none; }
		.pm-quickbar{ display:flex; position:fixed; left:0; right:0; bottom:0; height:calc(68px + env(safe-area-inset-bottom)); padding-bottom:env(safe-area-inset-bottom); background:#fff; box-shadow:0 -4px 20px rgba(0,0,0,.08); z-index:9990; box-sizing:border-box; }
		.pm-quickbar a{ flex:1; display:flex; align-items:center; justify-content:center; color:#86706a; }
		.pm-quickbar a + a{ border-left:1px solid rgba(134,112,106,.3); }
		.pm-quickbar svg{ width:32px; height:32px; }
		#pm-cc{ bottom:calc(76px + env(safe-area-inset-bottom)) !important; }
	}
	/* Anfrage-Leiste unten am Desktop (ab 901 px, nicht auf Anfrage- und Danke-Seiten) – übergibt Anreise, Abreise und Erwachsene an /de/anfrage.php (11.11.2026) */
	.pm-qbar{ display:none; }
	.main img{ max-width:100%; height:auto; } /* Inhaltsbilder nie breiter als der Bildschirm (Guest-Pass-Logo am Handy) */
	.main li > ul{ margin:2px 0 4px; padding-left:22px; } /* Unterpunkte eingerückt (Guest Pass: Hunde, Fahrrad) */
	#Anfrageformular{ scroll-margin-top:110px; } /* Sprung aus der Anfrage-Leiste: Formularanfang nicht unter der festen Menüleiste */
	@media screen and (min-width: 901px){
		body.pm-hasqbar{ padding-bottom:84px; }
		.pm-qbar{ display:block; position:fixed; left:0; right:0; bottom:0; z-index:900; background:#E0BFA6; box-shadow:0 -4px 18px rgba(0,0,0,.18); margin:0; }
		.pm-qbar-in{ display:flex; align-items:center; justify-content:center; gap:12px; max-width:1200px; height:84px; margin:0 auto; padding:0 30px; box-sizing:border-box; }
		.pm-qbar-t{ margin-right:14px; color:#fff; font-size:19px; font-weight:400; letter-spacing:.12em; text-transform:uppercase; white-space:nowrap; }
		.pm-qbar .pm-qf{ display:flex; flex:none; align-items:center; gap:12px; width:auto !important; margin:0; padding:0; float:none; cursor:pointer; } /* Bezeichnung links neben dem Feld (16:31) */
		.pm-qf span{ display:block; color:#fff; font-size:15px; line-height:20px; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; }
		.pm-qf input, .pm-qf select{ display:block; height:48px; margin:0; padding:0 12px; border:0; border-radius:4px; background:#fff; color:#3d3330; font:inherit; font-size:16px; line-height:normal; box-shadow:none; outline:none; box-sizing:border-box; -webkit-appearance:none; appearance:none; cursor:pointer; }
		.pm-qbar .pm-qf input{ width:100% !important; } .pm-qbar .pm-qf-d{ flex:0 1 200px; min-width:140px; } .pm-qbar .pm-qf-s{ flex:0 0 250px; } .pm-qbar .pm-qf-n{ flex:0 1 135px; min-width:85px; } .pm-qbar .pm-qf-m{ flex:0 1 200px; min-width:110px; } /* Anreise, Abreise, Personen, Anfragen (12.11.2026: Name und E-Mail aus der Leiste entfernt) */ .pm-qbar .pm-qbtn{ flex:none; margin-left:6px; } .pm-qbar .pm-qf input::placeholder{ color:#8a7c76; opacity:1; } /* An-/Abreise in einem Feld, Namen und E-Mail wie luesnerhof.it (16:50) */
		.pm-qbar .pm-qf-s select{ width:100% !important; }
		.pm-qf-s select{ background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2386706a' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 12px center; padding-right:30px; }
		.pm-qf input:focus, .pm-qf select:focus{ box-shadow:0 0 0 2px #E0BFA6; }
		.pm-qbar .pm-qbtn{ height:48px; margin-left:0; padding:0 34px; border:0; border-radius:4px; background:#C24B4B; color:#fff; font:inherit; font-size:16px; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; transition:background-color .2s; }
		.pm-qbar .pm-qbtn:hover, .pm-qbar .pm-qbtn:focus-visible{ background:#9B2D34; }
		.pm-qbar-in{ position:relative; }
		.pm-qbar .pm-qf-d input{ background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2386706a' stroke-width='1.7' stroke-linecap='round'%3E%3Crect x='3.5' y='5' width='17' height='15' rx='2'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E") no-repeat right 12px center; padding-right:40px; }
		.pm-qbar .pm-qf-d input::placeholder{ color:#a3958f; }
		.pm-cal{ display:none; position:absolute; bottom:calc(100% + 12px); left:30px; z-index:901; padding:22px 26px 16px; background:#fff; color:#3d3330; border-radius:8px; box-shadow:0 12px 44px rgba(0,0,0,.28); }
		.pm-cal.is-open{ display:block; }
		.pm-qbar.pm-cal-auf{ z-index:10000; }
		.pm-qbar .pm-qf-s input{ cursor:pointer; padding-left:40px !important; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2386706a' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7'/%3E%3C/svg%3E") no-repeat 13px center; }
		.pm-pers{ display:none; position:absolute; bottom:calc(100% + 12px); left:30px; z-index:901; width:330px; padding:20px 22px 22px; box-sizing:border-box; background:#fff; color:#3d3330; border-radius:8px; box-shadow:0 12px 44px rgba(0,0,0,.28); }
		.pm-pers.is-open{ display:block; }
		.pm-pers-r{ display:flex; align-items:center; justify-content:space-between; padding:8px 0; }
		.pm-pers-r b{ display:block; font-size:17px; font-weight:500; } .pm-pers-r small{ display:block; font-size:13px; color:#86706a; }
		.pm-step{ display:flex; align-items:center; gap:12px; } .pm-step span{ min-width:18px; text-align:center; font-size:17px; }
		.pm-pers .pm-step button{ width:34px; height:34px; margin:0; padding:0; border:1px solid #cbbfb9; border-radius:4px; background:#fff; color:#C24B4B; font:inherit; font-size:20px; line-height:1; cursor:pointer; }
		.pm-pers .pm-step button:hover{ background:#E0BFA6; } .pm-pers .pm-step button:disabled{ opacity:.35; cursor:default; background:#fff; }
		.pm-ages{ display:grid; grid-template-columns:1fr 1fr; gap:8px 12px; margin:4px 0 6px; } .pm-ages:empty{ display:none; }
		.pm-age{ display:block; width:auto !important; margin:0; } .pm-age span{ display:block; font-size:13px; color:#86706a; margin-bottom:3px; }
		.pm-age select{ width:100%; height:38px; padding:0 8px; border:1px solid #cbbfb9; border-radius:4px; background:#fff; font:inherit; font-size:15px; color:#3d3330; }
		.pm-pers .pm-pers-ok{ display:block; width:100%; height:46px; margin:14px 0 0; border:0; border-radius:4px; background:#C24B4B; color:#fff; font:inherit; font-size:15px; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; } .pm-pers .pm-pers-ok:hover{ background:#9B2D34; } /* Kalender über dem Cookie-Hinweis */
		.pm-cal-ms{ display:flex; gap:44px; }
		.pm-cal-h{ text-align:center; font-size:19px; line-height:28px; margin:0 0 12px; color:#3d3330; }
		.pm-cal-g{ display:grid; grid-template-columns:repeat(7, 42px); row-gap:4px; }
		.pm-cal-wd{ text-align:center; font-size:13px; line-height:26px; color:#86706a; text-transform:uppercase; letter-spacing:.04em; }
		.pm-cal button.pm-cal-d{ width:42px; height:40px; margin:0; padding:0; border:0; border-radius:4px; background:none; color:#3d3330; font:inherit; font-size:16px; cursor:pointer; transition:background-color .15s; }
		.pm-cal button.pm-cal-d:hover{ background:#E0BFA6; }
		.pm-cal button.pm-cal-d.is-off{ color:#cfc6c3; cursor:default; background:none; }
		.pm-cal button.pm-cal-d.is-in{ background:#E0BFA6; border-radius:0; }
		.pm-cal button.pm-cal-d.is-an, .pm-cal button.pm-cal-d.is-ab, .pm-cal button.pm-cal-d.is-hov{ background:#C24B4B; color:#fff; }
		.pm-cal-nav{ position:absolute; top:22px; width:32px; height:32px; margin:0; padding:0; border:0; border-radius:50%; background:none; cursor:pointer; }
		.pm-cal-nav::before{ content:""; position:absolute; left:50%; top:50%; width:9px; height:9px; border-top:1.6px solid #3d3330; border-right:1.6px solid #3d3330; }
		.pm-cal-prev{ left:18px; } .pm-cal-prev::before{ transform:translate(-30%,-50%) rotate(-135deg); }
		.pm-cal-next{ right:18px; } .pm-cal-next::before{ transform:translate(-70%,-50%) rotate(45deg); }
		.pm-cal-nav:hover{ background:#E0BFA6; } .pm-cal-nav:disabled{ opacity:.25; cursor:default; background:none; }
		.pm-cal-f{ margin-top:10px; padding-top:10px; border-top:1px solid #E0BFA6; text-align:center; font-size:14px; color:#86706a; letter-spacing:.06em; text-transform:uppercase; }
		body.pm-hasqbar #pm-cc{ bottom:96px; }
	}
	@media screen and (min-width: 901px) and (max-width: 1180px){ .pm-qbar-in{ gap:8px; padding:0 20px; } .pm-qbar .pm-qf input, .pm-qbar .pm-qf select{ font-size:15px; padding-left:10px; } .pm-qbar .pm-qbtn{ padding:0 18px; font-size:15px; letter-spacing:.08em; } .pm-qbar .pm-qf-d{ min-width:140px; } .pm-qbar .pm-qf-s{ flex-basis:240px; } .pm-qbar .pm-qf-d input{ padding-right:34px !important; background-position:right 9px center !important; } }
	/* Anfrageformular: einheitliche Felder, lesbare Zimmerkategorien, Button wie Website (11.11.2026) */
	#Anfrageformular fieldset{ margin-bottom:26px; }
	#Anfrageformular input[type="text"], #Anfrageformular select, #Anfrageformular textarea{ box-sizing:border-box; font-family:inherit; font-size:16px !important; color:#3d3330; background-color:#fff; border:1px solid #cbbfb9 !important; border-radius:4px; box-shadow:none; vertical-align:middle; }
	#Anfrageformular input[type="text"]{ width:280px; height:42px !important; padding:0 12px !important; margin:0 0 10px; }
	#Anfrageformular input[type="text"]:focus, #Anfrageformular select:focus, #Anfrageformular textarea:focus{ outline:none; border-color:#86706a !important; box-shadow:0 0 0 2px rgba(134,112,106,.2); }
	#Anfrageformular select{ height:42px !important; min-width:84px; padding:0 30px 0 12px !important; margin:0 10px 10px 0; -webkit-appearance:none; appearance:none; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2386706a' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 10px center; cursor:pointer; }
	#Anfrageformular label{ vertical-align:middle; line-height:42px; margin-bottom:10px; }
	#Anfrageformular .field_kontakt label{ width:120px; }
	#Anfrageformular .field_kontakt select{ width:280px; }
	#Anfrageformular .field_termin label{ width:auto; margin-right:12px; }
	#Anfrageformular .field_termin .abstand_links{ margin-left:50px; }
	#Anfrageformular #TerminVon, #Anfrageformular #TerminBis{ width:170px; cursor:pointer; }
	#Anfrageformular .ui-datepicker-trigger{ vertical-align:top; margin:10px 0 0 8px; cursor:pointer; }
	#Anfrageformular .field_zimmer a, #Anfrageformular .field_zimmer a:visited{ display:inline-block; color:#86706a !important; font-size:17px; line-height:42px; vertical-align:middle; text-decoration:none; margin-bottom:10px; }
	#Anfrageformular .field_zimmer a:hover{ text-decoration:underline; }
	#Anfrageformular .field_personen label{ width:auto; margin-right:26px; }
	#Anfrageformular textarea{ width:100% !important; height:140px; padding:10px 12px !important; margin:6px 0 16px; line-height:1.5; }
	#Anfrageformular input[type="checkbox"]{ width:18px; height:18px; margin:4px 10px 0 0; vertical-align:top; accent-color:#C24B4B; cursor:pointer; }
	#Anfrageformular .label_full, #Anfrageformular .field_kontakt label.label_full{ line-height:1.5; width:calc(100% - 34px); margin-bottom:12px; }
	#Anfrageformular .label_full a{ color:#5C1A22 !important; text-decoration:underline; text-underline-offset:3px; }
	#Anfrageformular hr{ border:0; border-top:1px solid #ecd5c2; margin:14px 0 18px; }
	#Anfrageformular #Submit{ height:52px; padding:0 44px; margin-top:6px; border:0; border-radius:4px; background:#C24B4B; color:#fff; font-family:inherit; font-size:16px; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; -webkit-appearance:none; appearance:none; transition:background-color .2s; }
	#Anfrageformular #Submit:hover, #Anfrageformular #Submit:focus-visible{ background:#9B2D34; }
	@media screen and (max-width: 600px){
		#Anfrageformular input[type="text"], #Anfrageformular .field_kontakt select{ width:100%; margin-right:0; }
		#Anfrageformular .field_kontakt label{ display:block; width:auto; line-height:1.4; margin:4px 0 4px; }
		#Anfrageformular .field_termin label{ display:block; line-height:1.4; margin:4px 0; }
		#Anfrageformular .field_termin .abstand_links{ margin-left:0; }
		#Anfrageformular #TerminVon, #Anfrageformular #TerminBis{ width:calc(100% - 40px); }
		#Anfrageformular .field_personen label{ margin-right:10px; }
		#Anfrageformular #Submit{ width:100%; }
	}
	
