/* LAV Website - zentrales Stylesheet
	 Kaskadenreihenfolge: 1. Basis/Typografie, 2. Template, 3. Website-Theme,
	 4. LAV-Komponenten. Font Awesome steht in Base.astro davor; extraCss und
	 responsive.css folgen danach. */

/* Abschnitt 1: Typografie und Inhaltsgrundlagen (aus typo.css) */

h1, h2, h3, h4, h5, h6, p, blockquote, form, label, ul, ol, dl, fieldset, address{margin:0.5em 0;}
h1{font-size:2em;}
h2{font-size:1.7em;}
h3{font-size:1.3em;}
h4{font-size:1.2em;}
h5{font-size:1.1em;}
h6{font-size:1em;font-weight:bold;}
a{text-decoration:none;-webkit-transition:color 0.25s ease-in;-moz-transition:color 0.25s ease-in;-o-transition:color 0.25s ease-in;transition:color 0.25s ease-in;outline:0;}
hr{margin-top:22px;margin-bottom:22px;}
blockquote{font-style:italic;font-weight:100;font-size:28px;line-height:150%;margin:15px 0;padding:0 0 5px 15px;width:auto;}
blockquote p{margin-top:0;padding:0 65px 10px 0;}
pre, .code{border-color:#E7E7E7;border-right:1px solid #E7E7E7;border-style:solid;border-width:1px 1px 1px 5px;}
pre, .code{margin:10px 0;clear:both;}
pre, code{font:italic 100% monospace;padding:10px;white-space:normal !important;}
body ol{list-style:decimal inside none;}
.maincontent ul{list-style:disc outside none;margin-left:20px;padding:0;}
tr, td{border:1px solid;padding:20px;}

/* Abschnitt 2: Schriftdateien und Template-Grundlayout (aus nexus.css) */

/* pinyon-script-regular - latin */
@font-face {
	font-family: 'Pinyon Script';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/pinyon-script-v11-latin-regular.woff2') format('woff2'),
			 url('../fonts/pinyon-script-v11-latin-regular.woff') format('woff');
}

/* open-sans-regular - latin */
@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/open-sans-v27-latin-regular.woff2') format('woff2'),
			 url('../fonts/open-sans-v27-latin-regular.woff') format('woff');
}

body{width:100%;margin:0;line-height:180%;color:#000000;background-repeat:no-repeat;}
p{word-spacing:4px;}
h2, h2 a:link:not(.lav-tab-zurueck), h2 a:visited:not(.lav-tab-zurueck){font-size:16px;font-weight:600;margin:0 0 10px !important;text-align:left;line-height:30px;letter-spacing:0.2em;}
h2{background-image:none;background-repeat:repeat-x;background-position:bottom left;}
a{color:#ffffff;}
a:hover{color:#F5F5F5;}
#header_items{width:100%;}
#header.block_holder{padding:0;}
.module_margin{margin:5px;}
.contenttop,
.contentbottom{float:left;}
.block_holder{padding-bottom:25px;padding-left:30px;padding-right:30px;padding-top:30px;}
.jl_container{width:100%;}
.wrapper960{width:960px;margin:0 auto;}
.clear{clear:both;}
#container_header{height:248px;top:0;z-index:5000;}
#header{border-radius:10px 10px 0 0;height:175px;position:relative;}
#logo{position:absolute;top:0px;z-index:9999;}
.logo_container{margin:0px;top:0px;left:0px;}
.logoimage{margin:0;padding:0;}
.logoimage a{display:block;position:relative;z-index:0;width:100%;z-index:1;}
.logo_container, .logoimage, .logoimage a{height:125px;}
#social{border-radius:3px;padding:0;position:absolute;right:0;top:135px;z-index:1;}
#social ul{list-style:none;margin:0 0 0px 0;float:right;}
#social ul li{display:block;float:left;margin:0px 3px;padding:0 0 0px 0;}
#social ul li a{display:block;width:40px;height:40px;text-indent:-9999px;background-position:0px -40px;background-repeat:no-repeat;opacity:0.6;padding-bottom:1px;}
#social ul li a{opacity:1;background-color:transparent;}
#container_logo_menu_mobile{display:none;}
#social_mobile{padding:0;right:0;top:0;z-index:1;}
#hornav{clear:both;position:absolute;right:0;top:175px;width:100%;-webkit-box-shadow:inset 4px 10px 5px -11px rgba(0,0,0,0.75);-moz-box-shadow:inset 4px 10px 5px -11px rgba(0,0,0,0.75);box-shadow:inset 4px 10px 5px -11px rgba(0,0,0,0.75);}
#hornav > ul{margin:0;padding:0px;text-align:center;background-color:#57483d;}
#hornav > ul > li a{display:block;padding:25px 21px;margin:0;list-style:none outside none;line-height:1.8em;font-weight:light;font-size:15px;text-transform:uppercase;cursor:pointer;color:#fff;background-color:#57483d;}
#hornav > ul > li > a:hover{text-decoration:none;background-color:#57483d;font-weight:bold;}
#hornav ul li{display:inline-block;position:relative;background-color:#57483d;}
#hornav ul ul{border:1px solid #000;-webkit-box-shadow:0 0 6px rgba(0, 0, 0, 0.1);-moz-box-shadow:0 0 6px rgba(0, 0, 0, 0.1);-ms-box-shadow:0 0 6px rgba(0, 0, 0, 0.1);-o-box-shadow:0 0 6px rgba(0, 0, 0, 0.1);box-shadow:0 0 6px rgba(0, 0, 0, 0.1);display:block;list-style:none;margin-top:-1px;padding:5px 0 !important;min-width:260px;z-index:1000;}
#hornav ul ul li{min-height:22px;text-align:left;width:100%;}
#hornav ul ul li a{display:block;padding:7px 15px;text-transform:capitalize;font-size:13px;}
#hornav ul ul li a:active,
#hornav ul ul li a:focus,
#hornav ul ul li a:hover{text-decoration:none;}
#hornav ul ul li:first-child{border-top:none;}
#hornav ul ul li:hover a{text-decoration:none;}
#hornav ul ul ul:before{display:none;}
#hornav ul ul:before{background:transparent;content:"";display:block;height:10px;left:26px;position:absolute;top:-10px;width:14px;}
#hornav li ul,
#hornav li ul li ul{position:absolute;height:auto;min-width:260px;opacity:0;visibility:hidden;transition:all 300ms linear;-o-transition:all 300ms linear;-ms-transition:all 300ms linear;-moz-transition:all 300ms linear;-webkit-transition:all 300ms linear;top:78px;z-index:1000;}
#hornav li:hover > ul,
#hornav li ul li:hover > ul{display:block;opacity:1;visibility:visible;top:78px;}
#hornav li:hover > ul,
#hornav li ul li:hover > ul{-webkit-transition:opacity 300ms linear;}
#hornav li ul li ul{left:230px;top:0;}
#hornav li ul li:hover > ul{top:0px;left:260px;}
.slicknav_menu{display:none;padding:5px;font-size:18px;}
.slicknav_menu:before,
.slicknav_menu:after{content:" ";display:table;}
.slicknav_menu:after{clear:both;}
.slicknav_menu .slicknav_menutxt{color:#FFF;font-weight:bold;display:block;line-height:1.188em;float:left;}
.slicknav_menu .slicknav_icon{float:left;margin:0.188em 0 0 0.438em;}
.slicknav_menu .slicknav_icon-bar{font-size:18px;display:block;width:1.125em;height:0.125em;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(255, 255, 255, 0.7);-moz-box-shadow:0 1px 0 rgba(255, 255, 255, 0.7);box-shadow:0 1px 0 rgba(255, 255, 255, 0.7);}
.slicknav_menu .slicknav_btn{margin:-50px 5px 6px;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:2px;position:relative;display:block;float:right;padding:0.5em 0.7em;line-height:1.125em;cursor:pointer;}
.slicknav_menu .slicknav_btn .slicknav_icon-bar + .slicknav_icon-bar{margin-top:0.188em;}
.slicknav_menu .slicknav_nav{color:#fff;margin:0;padding:0;list-style:none;overflow:hidden;clear:both;}
.slicknav_menu .slicknav_nav ul,
.slicknav_menu .slicknav_nav li{display:block;}
.slicknav_menu .slicknav_nav a{padding:10px;margin:2px 0px;text-decoration:none;color:#fff;display:block;}
.slicknav_menu .slicknav_nav a:hover{background:rgba(0, 0, 0, 0.6);}
.slicknav_menu .slicknav_nav ul{padding:0;margin:0;list-style:none;overflow:hidden;}
.slicknav_menu .slicknav_nav ul li{background:rgba(0, 0, 0, 0.2);}
.slicknav_menu .slicknav_nav ul li li{background:rgba(0, 0, 0, 0.3);text-indent:10px;}
.slicknav_menu .slicknav_nav ul li li li{background:rgba(0, 0, 0, 0.3);text-indent:20px;}
.slicknav_menu ul li, .slicknav_btn{background:none repeat scroll 0 0 rgba(0, 0, 0, 0.2) !important;}
.slicknav_menu .slicknav_icon-bar{height:2px !important;width:25px;background-color:#ffffff;}
.slicknav_menu .slicknav_btn .slicknav_icon-bar + .slicknav_icon-bar{margin-top:4px;}
.slicknav_menu .slicknav_btn{padding:10px;}
.module h3{font-size:25px;font-weight:200;padding:5px 0px 5px 0px;text-align:left;margin:0;}
.module_padding{height:100%;padding:25px;}
.module_content{padding:5px 0;}
#sidecol .module{margin-bottom:10px;}
.module ul{list-style-type:none;padding:0;}
.module ul li li a{border:none !important;}
#top_modules .module h3,
#top_modules .module_menu h3{text-align:center;}
.maincontent{padding:20px 30px;}
.contenttop .module_margin{margin-top:0px;}
.contentbottom .module_header h3, .contenttop .module_header h3{background:rgba(0,0,0,0);padding:0 0 15px 8px;}
#sidecol_b{height:100%;}
.sidecol_block .module{margin-bottom:0px;}
.sidecol_block .module_header h3{background:rgba(0,0,0,0);padding:0 0 15px 8px;margin-top:14px;text-align:left;}
#base .module ul a,
#base .module ul a, #base .module_menu ul a{background:rgba(0,0,0,0);border:medium none !important;color:#ffffff;margin:0 0 7px;padding:0 0 8px 0px;}
#base .module_header h3{background:rgba(0,0,0,0);padding-bottom:12px;}
#base a{color:#FFFFFF !important;text-decoration:underline;}
#base a:hover{color:#F2F2F2 !important;text-decoration:underline;}
#copyright{text-align:center;clear:both;}
#copyright a{color:#bbb;text-decoration:none;}
#copyright.module_margin{margin:0px !important;}
[class^="fa-"]:before, [class*=" fa-"]:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-right:10px;}
.scrollup{width:60px;height:60px;position:fixed;bottom:35px;right:25px;display:none;text-indent:-9999px;background-color:#000000;background-position:center center;z-index:1000;opacity:0.8;border-radius:60px;}
#container_maincontent_bg{background-position:50% 50%;-moz-background-size:cover !important;-o-background-size:cover !important;background-size:cover !important;}
.spacer{height:0px !important;}

/* Abschnitt 3: Website-Theme und Template-Overrides */

.wrapper960 {width:1200px;}
body{background-color:#c2c2c2;}
body{background-color: transparent !important;}
html{ background: url("../img/background/mainbg.webp") no-repeat center fixed; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }
body{font-size: 14px}
body, input, button, select, textarea {font-family:Open Sans }
h2{font-family:Open Sans }
.module h3{font-family:Open Sans; }
#hornav{font-family:Open Sans }
i{color: #ffffff;}
#container_header.jl_container, #container_logo_menu_mobile, .spacer{ background-color: #e79a63; background-color: rgba(231,154,99, 0.2 ); }
#header.block_holder, #container_logo_menu_mobile.jl_container .wrapper960{background:transparent !important;}
#social ul li a{background-position: 0px -40px;}
#logo{left:16%}
#logo{top:39%}
#logo{margin-left:-200px}
.logo_container{width:400px}
.logoimage a {background: url("../img/logos/logo_lav_400.webp") no-repeat; z-index:1;}
#hornav { background: #604e42; background: -moz-linear-gradient(top, #604e42 0%, #4d4037 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#604e42), color-stop(100%,#4d4037)); background: -webkit-linear-gradient(top, #604e42 0%,#4d4037 100%); background: -o-linear-gradient(top, #604e42 0%,#4d4037 100%); background: -ms-linear-gradient(top, #604e42 0%,#4d4037 100%); background: linear-gradient(to bottom, #604e42 0%,#4d4037 100%); }
#hornav > ul > li > a {color: #ffffff }
#hornav > ul > li > a:hover {color: #ffffff}
#hornav ul ul{background-color: #57483d}
#hornav ul ul li a:active, #hornav ul ul li a:focus, #hornav ul ul li a:hover{background-color: #57483d}
#hornav ul ul li a {color: #ffffff}
#hornav ul ul li a {border-bottom: 1px dotted #e47a2c}
#hornav ul ul li a:active, #hornav ul ul li a:focus, #hornav ul ul li a:hover {color: #e47a2c}
.slicknav_nav {background-color:#4d4037 !important;}
#container_top_modules.jl_container{ background-color: #f7f7f7; background-color: rgba(247,247,247, 0.5 ); }
#top_modules.block_holder{ background-color: #e6e6e6; background-color: rgba(230,230,230, 1 ); }
#top_modules, #top_modules.block_holder i{color:#878787 !important; }
#top_modules a{color:#878787 !important; }
#top_modules a:hover{color:#878787 !important; }
#top_modules .module h3, #top_modules .module_menu h3{background-color:#878787; }
#top_modules .module h3, #top_modules .module_menu h3{background-color: transparent !important; }
#top_modules .module h3, #top_modules .module_menu h3{color:#878787 !important; }
#top_modules .module ul.menu li a, #top_modules .module_menu ul.menu li a{color:#878787 !important; }
#top_modules .module ul a, #top_modules .module_menu ul a{border-color:#878787 !important; }
#top_modules .module ul.menu li a:hover, #top_modules .module_menu ul.menu li a:hover{color:#878787 !important; }
#top_modules .module ul a:hover, #top_modules .module_menu ul a:hover{border-color:#878787 !important; }
#container_top_modules.jl_container{padding-top:0px}
#container_top_modules.jl_container{padding-bottom:0px}
#top_modules .module h3, #top_modules .module_menu h3{padding-left:0px}
#top_modules .module h3, #top_modules .module_menu h3{padding-right:0px}
#container_main.jl_container{ background-color: #ffffff; background-color: rgba(255,255,255, 0 ); }
#main.block_holder{ background-color: #ffffff; background-color: rgba(255,255,255, 1 ); }
#content_full h2, #content_full h2 a:link, #content_full h2 a:visited, #content_remainder h2, #content_remainder h2 a:link, #content_remainder h2 a:visited{color: #878787; }
#main, #main i, legend {color:#555; }
#main a{color:#878787 ; }
#main a:hover{color:#878787 ; }
#main .module h3{border-color:#ffffff; }
.sidecol_block .module h3, .contenttop .module h3, .contentbottom .module h3{color:#878787 }
#main .module ul.menu li a{color:#878787 !important; }
#main .module ul a{border-color:#878787 !important; }
#main .module ul.menu li a:hover{color:#878787 !important; }
#main .module ul a:hover{border-color:#878787 !important; }
#main .module ul a:hover{color:#878787 !important; }
#container_main.jl_container{padding-top:0px}
#container_main.jl_container{padding-bottom:80px}
#main .module h3{padding-left:0px}
#main .module h3{padding-right:0px}
hr, tr, td{border-color:#878787 !important; }
#container_base.jl_container{ background-color: #ffffff; background-color: rgba(255,255,255, 0.8 ); }
#base.block_holder{ background-color: #303030; background-color: rgba(48,48,48, 0 ); }
#base, #base.block_holder i{color:#878787 !important;}
#base a{color:#878787 !important;}
#base a:hover{color:#878787 !important; }
#base .module h3, #base .module_menu h3{border-bottom: 1px dashed #ffffff; }
#base .module h3, #base .module_menu h3{border-color: transparent !important; }
#base .module h3, #base .module_menu h3{color:#878787; }
#base .module ul.menu li a, #base .module_menu ul.menu li a{color:#878787 !important; }
#base .module ul a, #base .module_menu ul a{border-color:#878787 !important; }
#base .module ul.menu li a:hover, #base .module_menu ul.menu li a:hover{color:#878787 !important;}
#base .module ul a:hover, #base .module_menu ul a:hover{border-color:#878787 !important;}
#container_base.jl_container{padding-top:0px}
#container_base.jl_container{padding-bottom:0px}
#base .module h3, #base .module_menu h3{padding-left:0px}
#base .module h3, #base .module_menu h3{padding-right:0px}
#container_copyright_footermenu.jl_container{ background-color: #ffffff; background-color: rgba(255,255,255, 0.8 ); }
#copyright-footermenu.block_holder{ background-color: #ffffff; background-color: rgba(255,255,255, 0 ); }
#copyright-footermenu{color:#878787; }
#copyright-footermenu a{color:#878787; }
#copyright-footermenu a:hover{color:#878787; }
#container_copyright_footermenu.jl_container{padding-top:0px}
#container_copyright_footermenu.jl_container{padding-bottom:0px}
#sidecol_b {width: 25% }
#content_remainder {width:75% }
#sidecol_b {float:right;}
#content_remainder {float:left;}
* { text-shadow: 0 0 1px #999; }
div.tab { padding-left:3px; font-weight:bold; letter-spacing:0.1em; }
a.noline { border-bottom:0px!important; padding:0px!important; color:#55463c!important; }
a.noline:hover { text-shadow: 0 0 3px gray; color:#372d26!important; }
img.implink { -webkit-transform: scale(1); transform: scale(1); -webkit-transition: .3s ease-in-out; transition: .3s ease-in-out; }
img.implink:hover { -webkit-transform: scale(0.9); transform: scale(0.9); }
img.logo_db { width:100px; height:35px; }
img.logo_cc { width:100px; height:67px; }
li.lileimp { float: left; width: 30px; }
li.lileimp2 { float: left; width: 100px; padding-right:12px; }
a.sc { font-size:0.8em; color:#110088!important; position:relative; top:-4px; left:9px; }
a.sc:hover { color:#7b0d78!important; border-bottom: 1px dotted #000; text-decoration: none; }
a.link { font-size:0.8em; color:#110088!important; }
a.link:hover { color:#7b0d78!important; border-bottom: 1px dotted #000; text-decoration: none; }
span.bq { font-style:italic; color:#110088!important; }
ol.sub { list-style-type:lower-alpha; padding-left:17px; }
ol.struktur { padding-left:5px; }
.b { font-weight:600; }
.red { color:red; }
.sola { text-align:center; vertical-align:middle; font-weight:bold; height:40px; border:0px solid gray!important; padding:0px 10px!important; }
.sola2 { border:0px solid gray!important; padding:0px!important; }
img.thumb { height:133px; border:4px solid #fff; margin:0 12px 8px 0; border-radius: 5px; -moz-box-shadow: 2px 1px 5px #999; -webkit-box-shadow: 2px 1px 5px #999; box-shadow: 2px 1px 5px #999; }
img.thumb:hover { -moz-box-shadow: 3px 3px 7px #6c6c6c; -webkit-box-shadow: 3px 3px 7px #6c6c6c; box-shadow: 3px 3px 7px #6c6c6c; }
.fleft { float:left; margin:0 9px 0 0; }
.it { font-family: 'Pinyon Script', cursive; font-size:22px; letter-spacing:0.15em; }
td.tdprof { min-width:100px; }
.faprof { padding-left:3px; }
div.ma { width:100%; min-height:150px; }
div.subue { font-weight:600; letter-spacing:3px; font-size:15px; border:1px solid #e5e5e5; border-width:0px 0px 1px 0px; width:555px; }
div.subue>span.u1 { color:#c07474; }
div.subue>span.u2 { color:#7298c2; }
a.lowline { border:0px!important; padding:0px!important; }
hr.hrimp { border:1px solid rgba(155, 153, 153, 0.9)!important; width:100%; }
ul.dsgvo {margin: 0 0 0 0.8em; padding-left: 0.8em; list-style-type: disc;}
ul.nolistleft {list-style-type:none; margin-left: 0.1em; padding-left: 0.1em;}
ul.nolist {list-style-type:none;}
ul.dsgvo_verz ul {padding-left: 0.8em; list-style-type:none;}
h5 {padding:10px 0 0 0!important; margin-bottom:2px!important;}
h3, h6 {margin-bottom:2px!important;}
/* ============ 4.1 Schriftfarben ============ */
/* Neue Standard-Schriftfarbe #333 (statt Referenz-#000/#878787) - gilt nur,
	 wo nichts explizit anders eingefaerbt ist. */
:root {
	--lav-text: #333;
}
body {
	color: var(--lav-text);
}
/* Footer lesbar: #333 statt Referenz-#878787/#bbb (Nutzer-Freigabe) */
#copyright-footermenu,
#copyright-footermenu a,
#copyright a {
	color: var(--lav-text) !important;
}
#copyright-footermenu a:hover,
#copyright-footermenu a:focus-visible {
	color: var(--lav-text) !important;
}
/* Footer (Nutzer 2026-09-29-4): Inhalt horizontal UND vertikal exakt
	 mittig - flex/grid-Zentrierung statt Padding-Stueckelei; Optik bleibt */
#copyright-footermenu {
	display: grid;
	place-items: center;
	width: 100%;
	min-height: 108px;
	box-sizing: border-box;
	padding: 0 !important;
}
#container_copyright_footermenu > .wrapper960 {
	display: flex;
	align-items: center;
	min-height: 108px;
}
#copyright-footermenu > .clear {
	display: none;
}
#copyright-footermenu #copyright {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}
#copyright-footermenu .block_holder_margin {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 0;
	padding: 0;
}
#copyright-footermenu p {
	margin: 0;
	text-align: center;
	line-height: 2.1;
}
/* Suche-Treffer-Flash (site.js initSucheAnker) */
.lav-ziel {
	animation: lav-ziel-flash 4.5s ease-out 1;
}
tr.lav-ziel > td {
	animation: lav-ziel-flash 4.5s ease-out 1;
}
@keyframes lav-ziel-flash {
	0% {
		background-color: rgba(230, 184, 151, 0.95);
	}
	100% {
		background-color: transparent;
	}
}
@media (prefers-reduced-motion: reduce) {
	.lav-ziel {
		animation: none;
		background-color: rgba(230, 184, 151, 0.95);
		outline: 2px solid #9a5a2e;
		outline-offset: 2px;
	}
	tr.lav-ziel > td {
		animation: none;
		background-color: rgba(230, 184, 151, 0.95);
	}
}
/* Große Schriftflaechen im Main: Referenz-Union hatte #878787 !important
	 (style.css 82-92, Nutzer 2026-09-26: ersetzen). Selektorlisten exakt wie
	 die Union; Border-Farben und nicht genutzte Zonen (#top_modules/#base)
	 bleiben unangetastet. `i` bewusst ausgenommen: Icons fuehren eigene
	 Farben (Template-i-Regel, lav-pdf-Badges) und sind keine Fliesenschrift. */
#content_full h2,
#content_full h2 a:link,
#content_full h2 a:visited,
#content_remainder h2,
#content_remainder h2 a:link,
#content_remainder h2 a:visited {
	color: var(--lav-text);
}
#main,
legend {
	color: var(--lav-text);
}
#main a,
#main a:hover {
	color: var(--lav-text);
}
.sidecol_block .module h3,
.contenttop .module h3,
.contentbottom .module h3,
.sidecol_block .module_header h2,
.contenttop .module_header h2,
.contentbottom .module_header h2 {
	color: var(--lav-text);
}
#main .module ul.menu li a,
#main .module ul.menu li a:hover {
	color: var(--lav-text);
}

/* ============ 4.2 Audio-Player/Tracks ============ */
/* LAV-Audio (MP3-Predigten): Stil-Leitfaden der Referenz (Kapitel 21) -
	 Open Sans 14px, Inhaltstext #000, Tab-/Serie-Balken .tab-Stil (#878787
	 bold, note.png), Tabellen wie table.pd (Border #c0c0c0, Zebra #f8f8f8,
	 Hover #e6b897 mit dunkler Schrift - Referenz nutzte weiss auf #e6b897,
	 Kontrast 1,7:1, Korrektur in freier Zone), Braun #57483d/#4d4037 nur
	 im Player. Seniorenfreundlich = Kontrast + einfache Bedienung, nicht
	 uebergrosse Elemente (Nutzer 2026-09-25). */

/* Inhaltstext */
.lav-audio-intro {
	font-size: 14px;
	color: #000;
	line-height: 180%;
	margin: 0.5em 0;
}
.lav-tabhead {
	margin-bottom: 10px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
}
.lav-tabhead .tab {
	display: inline-block;
	color: var(--lav-text); /* Review #036: war #878787 - Standard-Schriftfarbe */
	font-size: 16px;
}
/* Zurueck-Link rechts im tabhead (Nutzer 2026-09-29-4): nur hier (kein
   zweiter Link unter den Spalten), dezenter und kompakter */
.lav-tab-zurueck {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: normal;
	margin: 0;
	color: var(--lav-text);
	white-space: nowrap;
}
.lav-tab-zurueck .fa {
	margin-right: 4px;
}


/* Serien-Akkordeon (Kapitel 9): Titel-Leisten wie Referenz-Akkordeon */
.lav-serie {
	margin: 14px 0;
}
.lav-serie > summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	background: #f5f5f5;
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 6px 10px;
	min-height: 44px;
}
.lav-serie > summary:hover,
.lav-serie > summary:focus-visible {
	background: #e9e9e9;
	border-color: #c9c9c9;
}
.lav-serie > summary::before {
	content: "+";
	font-size: 18px;
	font-weight: 700;
	color: #4d4037;
	min-width: 26px;
	text-align: center;
	background: #fff;
	border: 1px solid #c0c0c0;
	border-radius: 3px;
	line-height: 26px;
	flex: 0 0 auto;
}
.lav-serie[open] > summary::before {
	content: "\2212"; /* Minuszeichen */
	background: #e6b897;
}
.lav-serie > summary::-webkit-details-marker {
	display: none;
}
.lav-serie > summary .tab {
	color: #6d6d6d;
	font-size: 15px;
}
.lav-serie > summary:hover .tab,
.lav-serie > summary:focus-visible .tab {
	color: #4d4037;
}
.lav-serie > summary::after {
	content: "\f078"; /* FA chevron-down */
	font-family: FontAwesome;
	font-weight: 900;
	color: #878787;
	padding-left: 10px;
}
.lav-serie[open] > summary::after {
	content: "\f077";
}
.lav-serie-feed {
	font-size: 13px;
	white-space: nowrap;
}
.lav-serie-feed a {
	color: #4d4037;
}
.lav-serie-feed a:hover,
.lav-serie-feed a:focus-visible {
	color: var(--lav-text); /* Review #036: war #878787 */
}
.lav-serie > summary .lav-serie-name {
	flex: 1 1 auto;
	min-width: 0;
}

/* Track-Tabelle im Referenz-Stil (table.pd), Zeilen modern angeordnet:
	 Titel + Bibelstelle links, Meta darunter, rechts eine FESTE 3-Zeilen-Spalte
	 (Dauer / Abspielen / Herunterladen, Icons untereinander, ohne Abstand zum
	 Aussenrand) - Nutzer 2026-09-26. */
.lav-tracks {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 3px;
	margin-top: 7px;
}
/* Modern ohne Border (Nutzer 2026-09-26): Zeilen als weiche Karten - sanfter
	 Hintergrund, abgerundet, kein Kaestchen-Rahmen, Hover entscheidet. */
.lav-tracks td.lav-t-cell {
	padding: 12px 14px;
	border: 1px solid #cbc8b7; /* Nutzer 2026-09-26: warmer Rand statt grau */
	border-color: #cbc8b7 !important; /* schlaegt Union td{border-color:#878787 !important} */
	color: var(--lav-text);
	font-size: 14px;
	line-height: 160%;
	background-color: #faf8f5;
	border-radius: 8px;
}
.lav-tracks tr:hover td.lav-t-cell,
.lav-tracks tr:focus-within td.lav-t-cell {
	background-color: #f2ede6;
}
/* td bleibt table-cell (Chrome normalisiert td-Displays) - das innere
	 Wrapper-div traegt das Flex-Layout: */
.lav-t-flex {
	display: flex;
	align-items: center;
	gap: 12px;
}
.lav-t-main {
	padding-right: 8px;
}
.lav-t-main {
	flex: 1 1 auto;
	min-width: 0;
}
.lav-t-title {
	display: block;
	font-weight: 600;
	font-size: 15px;
	line-height: 140%;
}
.lav-t-title a.blue {
	font-weight: 600;
}
.lav-t-meta {
	display: block;
	margin-top: 3px;
	font-size: 13px;
	color: #6d6d6d;
}
.lav-t-actions {
	flex: 0 0 168px;
	width: 168px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	margin: 0;
	padding: 0;
}
.lav-t-actions .lav-t-dur,
.lav-t-actions .lav-play,
.lav-t-actions .lav-dl {
	display: flex;
	align-items: center;
	gap: 6px;
	min-height: 26px;
	padding: 1px 6px;
	font-size: 13px;
	border: 0;
	background: transparent;
	color: #4d4037;
	text-align: left;
	box-sizing: border-box;
}
/* Farbe gegen style.css "#main a { color:#878787 }" sichern: die ID schlaegt
	 jede Klassen-Spezifitaet (Kaskade-Ebene). !important hebt das LAV-Braun
	 (9:1, AA) ueber das Referenz-Grau (3.5:1) - fuer die 13px-Buttons.
	 Review #036: auch gegen die neue lav-Regel "#main a -> --lav-text
	 (!important)" schuetzen - deshalb ID-Praefix (1,3,0 schlaegt 1,0,1). */
#main .lav-tracks .lav-t-actions .lav-t-dur,
#main .lav-tracks .lav-t-actions .lav-play,
#main .lav-tracks .lav-t-actions .lav-dl {
	color: #4d4037 !important;
}
#main .lav-tracks .lav-t-actions .lav-t-dur {
	color: #6d6d6d !important;
}
.lav-t-actions .lav-t-dur i,
.lav-t-actions .lav-play i {
	width: 16px;
	text-align: center;
	flex: 0 0 16px;
}
.lav-t-actions .lav-dl img {
	width: 14px;
	height: 14px;
	flex: 0 0 14px;
}
.lav-t-actions .lav-play {
	cursor: pointer;
	font-weight: 600;
}
.lav-t-actions .lav-play:hover,
.lav-t-actions .lav-play:focus-visible,
.lav-t-actions .lav-play.is-playing,
.lav-tracks .lav-t-actions .lav-play:hover,
.lav-tracks .lav-t-actions .lav-play:focus-visible,
.lav-tracks .lav-t-actions .lav-play.is-playing,
.lav-tracks .lav-t-actions .lav-dl:hover,
.lav-tracks .lav-t-actions .lav-dl:focus-visible {
	background: #e6b897;
	color: #000 !important;
}
.lav-t-actions .lav-dl {
	text-decoration: none;
	cursor: pointer;
}
.lav-tracks .lav-t-actions .lav-t-dur {
	color: #6d6d6d;
}

/* Bibelstellen-Links (Referenz-Farbe) */
.lav-tracks a.blue {
	color: #1700bb !important;
}
.lav-tracks a.blue:hover {
	color: #1700bb !important;
	text-decoration: underline;
}
/* Sticky-Mini-Player: praesent (dunkel, Schatten, Orange-Linie, Live-Balken),
	 damit auch unaufmerksame Nutzer sehen: hier laeuft ein Player. */
.lav-mini {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	z-index: 10000; /* ueber Referenz-Logo (nexus #logo z-index 9999, 1:1 belassen) */
	display: none;
	background: #4d4037;
	color: #fff;
	padding: 8px 16px;
	min-height: 56px;
	border-bottom: 3px solid #e79a63;
	box-shadow: 0 3px 14px rgba(0, 0, 0, 0.55);
}
.lav-mini.is-on {
	display: flex;
	align-items: center;
	gap: 10px;
	animation: lavMiniIn 0.35s ease-out;
}
@keyframes lavMiniIn {
	from {
		transform: translateY(-100%);
	}
	to {
		transform: translateY(0);
	}
}

.lav-mini.lav-solo .lav-mini-prev,
.lav-mini.lav-solo .lav-mini-next {
	display: none;
}

/* Live-Equalizer (3 pulsierende Balken) neben dem Titel */
.lav-mini-live {
	display: none;
	align-items: flex-end;
	gap: 2px;
	height: 16px;
	flex: 0 0 auto;
}
.lav-mini.is-playing .lav-mini-live {
	display: inline-flex;
}
.lav-mini-live i {
	width: 4px;
	background: #e79a63;
	animation: lavBar 0.9s ease-in-out infinite;
}
.lav-mini-live i:nth-child(1) { height: 60%; }
.lav-mini-live i:nth-child(2) { height: 100%; animation-delay: 0.25s; }
.lav-mini-live i:nth-child(3) { height: 45%; animation-delay: 0.5s; }
@keyframes lavBar {
	0%, 100% { transform: scaleY(0.35); }
	50% { transform: scaleY(1); }
}
.lav-mini.is-playing .lav-mini-title {
	font-weight: 700;
}
.lav-mini .lav-mini-title {
	flex: 1 1 auto;
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 15px;
	color: #fff;
}
.lav-mini .lav-mini-time {
	font-size: 13px;
	color: #f5f5f5;
	white-space: nowrap;
}
/* Lautsprecher gehoert an den Lautstaerke-Regler (Nutzer 2026-09-26):
	 ohne order rutschte es (order 0) vor die Titelzone. order 3 = direkt
	 neben den Volume-Slider (auch order 3), nach Zeit/Seek. */
.lav-mini .lav-mini-vol-icon {
	order: 3;
	flex: 0 0 auto;
	font-size: 14px;
	color: #f5f5f5;
}
.lav-mini input[type="range"] {
	flex: 1 1 180px;
	order: 2;
	accent-color: #e79a63;
	min-width: 120px;
}
.lav-mini button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 40px;
	min-height: 36px;
	border: 1px solid #6d5a4c;
	border-radius: 3px;
	background: #57483d;
	color: #fff;
	font-size: 14px;
	cursor: pointer;
	order: 1;
}
.lav-mini button:hover,
.lav-mini button:focus-visible {
	background: #6d5a4c;
	color: #fff;
	outline: 3px solid #fff;
}
.lav-mini button:focus-visible {
	outline: 2px solid #e79a63;
}
.lav-mini .lav-mini-toggle {
	min-width: 64px;
}
/* Schliessen-X (Windows-Fenster-Stil), ganz rechts (nach Volume order 4),
	 quadratisch, kein Text,grundsaetzlich rot */
.lav-mini .lav-mini-close {
	order: 9;
	position: relative;
	margin-left: auto;
	flex: 0 0 36px;
	width: 36px;
	min-width: 36px;
	padding: 0;
	font-size: 17px;
	color: #eeecea;
	background: #d9534f;
}
.lav-mini .lav-mini-close i {
	display: none;
}
/* X als CSS-Form: FA-Glyphe sitzt in der 1.25em-Font-Box nicht mittig
	 (Pixel-Test: 4.5px links) - zwei rotierte Balken sind exakt zentriert */
.lav-mini .lav-mini-close::before,
.lav-mini .lav-mini-close::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 17px;
	height: 2.5px;
	border-radius: 2px;
	background: #f5f5f5;
	transform: translate(-50%, -50%) rotate(45deg);
}
.lav-mini .lav-mini-close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}
.lav-mini .lav-mini-close:hover,
.lav-mini .lav-mini-close:focus-visible {
	color: #fff;
	background: #c9302c;
}
.lav-mini .lav-mini-close:hover::before,
.lav-mini .lav-mini-close:hover::after,
.lav-mini .lav-mini-close:focus-visible::before,
.lav-mini .lav-mini-close:focus-visible::after {
	background: #fff;
}
.lav-mini i {
	font-size: 14px;
}
.lav-mini .lav-mini-hinweis {
	font-size: 13px;
	color: #ffd9b3;
}
.lav-mini .lav-mini-vol-icon {
	flex: 0 0 auto;
	font-size: 14px;
	color: #f5f5f5;
}
.lav-mini input[type="range"].lav-mini-vol {
	flex: 0 0 120px;
	accent-color: #e79a63;
	min-width: 90px;
	order: 4;
}

/* Sidebar: Mp3-Predigten-Modul (Kategorieauswahl wie Seitenleiste der Referenz) */
/* Nutzer 2026-09-26: Seitenleiste kompakter, 15px statt 25px */
#sidecol_b .module_padding {
	padding: 15px;
}
.lav-sidekat {
	margin: 0;
	padding: 0 0 0 4px;
	list-style: none;
}
.lav-sidekat li {
	padding: 5px 0;
	border-bottom: 1px solid #f0f0f0;
}
.lav-sidekat li:last-child {
	border-bottom: 0;
}
.lav-sidekat a {
	color: #6d6d6d;
	font-weight: 600;
}
.lav-sidekat a:hover,
.lav-sidekat a:focus-visible {
	color: #4d4037;
}
.lav-sidekat .lav-count {
	color: #6d6d6d;
	font-size: 13px;
}
.lav-sidekat li.lav-sidekat-aktiv a {
	color: #4d4037;
	text-decoration: underline;
}
.lav-sidekat li.lav-sidekat-aktiv .lav-count {
	color: #4d4037;
	font-weight: 700;
}

/* Hauptmenue: Icons vor den Labels (FA lokal, weiss wie der Text). */
#hornav > ul > li a .fa {
	margin-right: 8px;
}


/* ============ 4.4 PDF-Listen ============ */
/* Downloads-UEbersicht: Icon-Badge statt Thumb (kleine FA-Box wie Titelbild) */
.lav-pdf-thumb .lav-dl-area-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 78px;
	height: 78px;
	font-size: 34px;
	color: #6d5a4c;
	background-color: #f8f8f8;
	border: 1px solid #b09a89;
}

/* Hirtenbriefe (und kuenftig Schriften/Downloads-PDF-Listen):
	 Zeilen im MP3-Bereich-Stil (lav-t-* aus lav-audio.css) + Titelseiten-Thumbs. */

.lav-pdf-thumb {
	flex: 0 0 80px;
	display: block;
	line-height: 0;
}
.lav-pdf-thumb img {
	width: 100%;
	height: auto;
	border: 1px solid #b09a89;
}
/* Hirtenbriefe-Seite: Thumbnails am Desktop groesser (Nutzer 2026-09-29) */
#hirtenbriefe .lav-pdf-thumb {
	flex: 0 0 110px;
}

/* ============ 4.5 Lightbox ============ */
/* Ersetzt modals/colorbox (site.js). Reset-fest: margin/position explizit,
	 Dialog mittig per transform, Bild passend skaliert, X oben rechts. */
dialog.lav-lightbox {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	margin: 0;
	padding: 10px;
	width: -moz-fit-content;
	width: fit-content;
	max-width: calc(100vw - 40px);
	overflow: visible; /* Close-Button ragt oben rechts ueber - kein Scrollbalken */
	background: #fff;
	border: 1px solid #c0c0c0;
	border-radius: 4px;
	box-shadow: 0 10px 44px rgba(0, 0, 0, 0.55);
}
dialog.lav-lightbox::backdrop {
	background: rgba(0, 0, 0, 0.78);
}
dialog.lav-lightbox figure {
	margin: 0;
	line-height: 0;
}
dialog.lav-lightbox .lav-lightbox-pdf {
	width: min(920px, 86vw);
	height: 82vh;
	border: 0;
	background-color: #fff;
}
dialog.lav-lightbox img {
	display: block;
	width: auto;
	height: auto;
	max-width: calc(100vw - 80px);
	max-height: 82vh;
}
dialog.lav-lightbox figcaption {
	padding: 8px 4px 2px;
	font-size: 13px;
	line-height: 150%;
	color: #333;
	text-align: center;
}
.lav-lightbox-close {
	position: absolute;
	top: -13px;
	right: -13px;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 2px solid #fff;
	border-radius: 50%;
	background: #4d4037;
	color: #fff;
	font-size: 15px;
	line-height: 1;
	cursor: pointer;
	z-index: 1;
}
.lav-lightbox-close:hover,
.lav-lightbox-close:focus-visible {
	background: #d9534f;
	color: #fff;
	outline: 2px solid #e79a63;
	outline-offset: 2px;
}
/* Hintergrund-Scroll sperren, solange die Lightbox offen ist */
html.lav-lb-open {
	overflow: hidden;
}

/* ============ 4.6 Filter ============ */
/* Nutzer 2026-09-26: kein Akkordeon mehr - Filter wie die Mp3-Kategorien-
	 Seitenleiste. Radios + reines CSS (:has), ausgewaehlte Gruppe zeigt nur
	 ihre Sektion. "Alle" setzt den Filter zurueck. */
.lav-filter {
	border: 0;
	margin: 0;
	padding: 0;
}
.lav-filter .lav-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
.lav-filter-list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.lav-filter-list li {
	padding: 0;
}
.lav-filter input {
	/* Nutzer 2026-09-27: Radio-Punkte sind nicht gewuenscht - Radio voll aus
		 dem Blickbereich (bleibt fokussierbar, Label zeigt Fokus-Ring) */
	position: absolute;
	left: -9999px;
	top: 0;
	opacity: 0;
	width: 1px;
	height: 1px;
	appearance: none;
	-webkit-appearance: none;
	margin: 0;
	padding: 0;
	border: 0;
}
.lav-filter label {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 7px 10px;
	border-radius: 6px;
	color: #6d6d6d;
	font-weight: 600;
	cursor: pointer;
}
.lav-filter label:hover,
.lav-filter label:active {
	color: #4d4037;
	background-color: #f2ede6;
}
.lav-filter input:checked + label {
	color: #22381f;
	font-weight: 700;
	background-color: #b6dfa8;
}
.lav-filter input:focus-visible + label {
	outline: 2px solid #e79a63;
	outline-offset: 2px;
}
.lav-filter .lav-flag {
	width: 23px;
	height: 15px;
	flex: 0 0 auto;
	border-radius: 2px;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15);
}
.lav-filter .lav-filter-globe {
	width: 23px;
	text-align: center;
	color: #6d5a4c;
}
.lav-filter input:checked + label .lav-filter-globe {
	color: #22381f;
}
/* Filterwirkung Schriften: nur die gewaehlte Sprachgruppe bleibt sichtbar */
body:has(.lav-filter input:checked) .lav-lang-group {
	display: none;
}
body:has(#lf-alle:checked) .lav-lang-group {
	display: block;
}
body:has(#lf-de:checked) .lav-lang-de {
	display: block;
}
body:has(#lf-fr:checked) .lav-lang-fr {
	display: block;
}
body:has(#lf-es:checked) .lav-lang-es {
	display: block;
}
body:has(#lf-ru:checked) .lav-lang-ru {
	display: block;
}
body:has(#lf-tr:checked) .lav-lang-tr {
	display: block;
}
body:has(#lf-en:checked) .lav-lang-en {
	display: block;
}
body:has(#lf-ro:checked) .lav-lang-ro {
	display: block;
}
body:has(#lf-ae:checked) .lav-lang-ae {
	display: block;
}
body:has(#lf-ku:checked) .lav-lang-ku {
	display: block;
}
body:has(#lf-ir:checked) .lav-lang-ir {
	display: block;
}
body:has(#lf-pt:checked) .lav-lang-pt {
	display: block;
}
body:has(#lf-al:checked) .lav-lang-al {
	display: block;
}
body:has(#lf-cn:checked) .lav-lang-cn {
	display: block;
}
body:has(#lf-it:checked) .lav-lang-it {
	display: block;
}
body:has(#lf-jp:checked) .lav-lang-jp {
	display: block;
}
body:has(#lf-kr:checked) .lav-lang-kr {
	display: block;
}
body:has(#lf-nl:checked) .lav-lang-nl {
	display: block;
}
body:has(#lf-sl:checked) .lav-lang-sl {
	display: block;
}
body:has(#lf-hu:checked) .lav-lang-hu {
	display: block;
}
/* Filterwirkung Hirtenbriefe: nur der gewaehlte Jahrgang bleibt sichtbar.
	 Neues Jahr im JSON => hier Regel ergaenzen (Status 27.3). */
body:has(.lav-filter input:checked) .lav-jahr-group {
	display: none;
}
body:has(#jf-alle:checked) .lav-jahr-group {
	display: block;
}
body:has(#jf-2026:checked) .lav-jahr-2026 {
	display: block;
}
body:has(#jf-2025:checked) .lav-jahr-2025 {
	display: block;
}
body:has(#jf-2024:checked) .lav-jahr-2024 {
	display: block;
}
body:has(#jf-2023:checked) .lav-jahr-2023 {
	display: block;
}
body:has(#jf-2022:checked) .lav-jahr-2022 {
	display: block;
}
body:has(#jf-2021:checked) .lav-jahr-2021 {
	display: block;
}
body:has(#jf-2020:checked) .lav-jahr-2020 {
	display: block;
}
body:has(#jf-2019:checked) .lav-jahr-2019 {
	display: block;
}
body:has(#jf-2018:checked) .lav-jahr-2018 {
	display: block;
}
body:has(#jf-2017:checked) .lav-jahr-2017 {
	display: block;
}
body:has(#jf-2016:checked) .lav-jahr-2016 {
	display: block;
}
body:has(#jf-2015:checked) .lav-jahr-2015 {
	display: block;
}
body:has(#jf-2014:checked) .lav-jahr-2014 {
	display: block;
}
body:has(#jf-2013:checked) .lav-jahr-2013 {
	display: block;
}
body:has(#jf-2012:checked) .lav-jahr-2012 {
	display: block;
}
body:has(#jf-2011:checked) .lav-jahr-2011 {
	display: block;
}
body:has(#jf-2010:checked) .lav-jahr-2010 {
	display: block;
}
body:has(#jf-2009:checked) .lav-jahr-2009 {
	display: block;
}
body:has(#jf-2008:checked) .lav-jahr-2008 {
	display: block;
}
body:has(#jf-2007:checked) .lav-jahr-2007 {
	display: block;
}
body:has(#jf-2006:checked) .lav-jahr-2006 {
	display: block;
}
body:has(#jf-2005:checked) .lav-jahr-2005 {
	display: block;
}
body:has(#jf-2004:checked) .lav-jahr-2004 {
	display: block;
}
.lav-group-head {
	margin: 26px 0 4px;
	font-size: 18px;
	color: var(--lav-text);
}

/* ============ 4.7 Icons ============ */
/* Ausschliesslich FA-Icons: die Template-/Icon-Grafiken der Referenz werden
	 durch FA-Zeichen oder CSS ersetzt; die Bild-Dateien fallen aus dem Ordner. */

/* Trennlinie statt hr-Muster-Grafik (typo.css hr-Regel uebersteuert) */
hr {
	height: 1px;
	border: 0;
	background: #d8d3cc;
}

/* h2/h3-Unterstreichung: Verlauf im Code statt underline.png (Nutzer 2026-
	 09-26: Bild nicht noetig; 27.5). Nutzer 2026-09-27: duenner, heller, sauber
	 (6px statt 11px, sanfter Start) - bei h3-Modulkoepfen sonst ueberlappend. */
h2,
.items-row h2,
.cols-2 h2,
.row-0 h2,
.contentbottom .module_header h3,
.contenttop .module_header h3,
.sidecol_block .module_header h3,
.contentbottom .module_header h2,
.contenttop .module_header h2,
.sidecol_block .module_header h2 {
	background-image: linear-gradient(180deg, rgb(0 0 0 / 59%), rgb(0 0 0 / 24%));
	background-repeat: repeat-x;
	background-position: bottom left;
	background-size: 45px 1px;
}
/* Modul-Titel als h2 (Nutzer 2026-09-29 + Nachtrag): exakt das Body-h2-
   Styling der Union (16px/600, line-height 30px, letter-spacing 0.2em,
   UPPERCASE) + dieselbe Unterlinien-Verlauf-Regel wie alle h2 (oben).
   KEINE background/padding-Klarstellungen: der Verlauf darf nicht vom
   background-Shorthand ueberdeckt werden. */
.module_header h2 {
	font-size: 16px;
	font-weight: 600;
	line-height: 30px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	margin: 0 0 10px !important;
	text-align: left;
}

/* "Nach oben"-Button: rund, einheitlicher Button-Stil (Nutzer 2026-09-30:
	 kein Hintergrund, Border #555, Icon #555) statt scroll.png */
.scrollup {
	background-image: none;
	background-color: transparent;
	border: 1px solid #555;
	border-radius: 50%;
	text-indent: 0;
	color: #555;
}
.scrollup::before {
	content: "\f077"; /* fa-chevron-up */
	font-family: FontAwesome;
	font-size: 20px;
	display: block;
	text-align: center;
	line-height: 60px;
}
.scrollup:hover,
.scrollup:focus-visible {
	color: #4d4037;
	border-color: #4d4037;
}

/* Tab-Kopf-Icons: FA-Klasse im Markup statt note.png (Brief = Hirtenbriefe,
	 Scroll = Schriften, Volume = Mp3 - Nutzer 2026-09-26). ID-Praefix schlaegt
	 Union "#main i{color:#878787}". */
div.tab_note {
	background-image: none;
}
#main .lav-tab-ico {
	margin-right: 8px;
	color: var(--lav-text);
}

/* Subnav-Unterpunkte: Icon vor dem Label (Nutzer 2026-09-27) */
.lav-subnav-ico {
	width: 18px;
	margin-right: 4px;
	text-align: center;
	color: inherit;
}

/* Soziale-Medien-Bars (Nutzer 2026-09-27): Startseiten-Modul "Soziale
	 Medien" statt Neuigkeiten - roter/blauer Balken mit FA-Icon + Label,
	 keine Stern-Liste, keine Termine-Verlinkung mehr. */
.lav-social {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-top: 4px;
}
.lav-social-bar {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 13px 16px;
	border-radius: 4px; /* Nutzer 2026-09-27: kaum abgerundet */
	color: #fff;
	font-size: 17px;
	font-weight: 800;
	text-decoration: none;
	transition: filter 0.15s;
}
.lav-social-bar .fa {
	font-size: 22px;
	width: 26px;
	text-align: center;
}
#main .lav-social-bar .fa {
	color: #fff; /* Kapitel 28.5: weisses Icon auf den Balken (Schlag gegen #main i #555) */
}
#main .lav-social-bar {
	color: #fff !important; /* weisser Text (Nutzer 2026-09-28); Schlag gegen #main a */
}
.lav-social-yt {
	background-color: #d9251c;
}
.lav-social-fb {
	background-color: #1877f2;
}
.lav-social-bar:hover,
.lav-social-bar:focus-visible {
	filter: brightness(0.88);
	color: #fff;
}
.lav-social-bar:focus-visible {
	outline: 2px solid #e79a63;
	outline-offset: 2px;
	filter: none;
}


/* ============ 4.8 Onlineshop ============ */
/* Freie Zone (Kapitel 17/21): seniorenfreundlich - >= 4,5:1 Kontrast,
	 klare Karten, Preis sofort sichtbar. Layout nach Baymard PLP-Muster:
	 3 Spalten Desktop / 2 ab 1023 / 1 ab 560, ganze Karte = Link. */
.lav-shop-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-top: 12px;
}
.lav-card {
	display: flex;
	flex-direction: column;
	padding: 14px;
	background-color: #faf8f5;
	border: 1px solid #cbc8b7;
	border-radius: 8px;
	color: var(--lav-text);
	transition: background-color 0.15s, border-color 0.15s;
}
.lav-card:hover,
.lav-card:focus-visible {
	background-color: #f2ede6;
	border-color: #c2b7a2;
	color: var(--lav-text);
}
.lav-card:focus-visible {
	outline: 2px solid #e79a63;
	outline-offset: 2px;
}
/* Einheitliche Bildzone: Buch-Cover sind Hochformat, CD-Icons quadratisch -
	 fester Kasten mit mittigem Bild verhindert springende Reihenhoehen. */
.lav-card-img {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 190px;
	margin-bottom: 10px;
	border-radius: 6px;
	background-color: #fff;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
	overflow: hidden;
}
.lav-card-img img {
	max-height: 172px;
	max-width: 82%;
	width: auto;
	height: auto;
	object-fit: contain;
}
.lav-card-title {
	display: block;
	font-weight: 600;
	font-size: 15px;
	line-height: 140%;
	margin-bottom: 4px;
}
.lav-card-desc {
	display: block;
	font-size: 13px;
	line-height: 150%;
	color: #4d4037;
	margin-bottom: 8px;
	flex: 1 0 auto;
}
.lav-card-meta {
	display: block;
	font-size: 12.5px;
	color: #6d6d6d;
	margin-bottom: 6px;
}
.lav-card-vg {
	color: #a33a20;
}
.lav-card-price {
	display: flex;
	flex-direction: column;
	font-size: 17px;
	font-weight: 700;
	color: #9a5a2e;
}
.lav-card-price-label {
	font-size: 12.5px;
	font-weight: 600;
	color: #6d6d6d;
}
.lav-card-cat {
	display: block;
	margin-top: 4px;
	font-size: 12.5px;
	color: #6d6d6d;
}
/* Sidebar: Subkategorien eingerueckt + Icons wie Subnav */
.lav-sidekat li.lav-sidekat-sub {
	padding-left: 22px;
}
.lav-shop-ico {
	width: 20px;
	text-align: center;
	color: #6d5a4c;
}
.lav-sidekat li.lav-sidekat-aktiv .lav-shop-ico {
	color: #4d4037;
}
/* Unterpunkt-Icon: ">" vor jeder Unterkategorie (Nutzer 2026-09-29), Zeile
	 bleibt zusammen mit dem Label eingerueckt */
.lav-shop-sub-ico {
	width: 14px;
	margin-right: 5px;
	color: #9a5a2e;
	font-size: 13px;
}
.lav-sidekat li.lav-sidekat-sub.lav-sidekat-aktiv .lav-shop-sub-ico {
	color: #4d4037;
}
@media (max-width: 1023px) {
	.lav-shop-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}
}
@media (max-width: 560px) {
	.lav-shop-grid {
		grid-template-columns: 1fr;
	}
}

/* Produkt-Detailseite (ein Template, alle Artikel) */
.lav-shop-bc {
	margin: 2px 0 12px;
	font-size: 13px;
	color: #6d6d6d;
}
.lav-shop-bc a {
	color: #6d6d6d;
	text-decoration: underline;
}
.lav-shop-bc a:hover,
.lav-shop-bc a:focus-visible {
	color: #4d4037;
}
.lav-shop-bc .lav-shop-bc-kat {
	font-weight: 700;
	color: #4d4037;
}
.lav-prod {
	display: flex;
	gap: 24px;
	align-items: flex-start;
	margin-top: 10px;
}
.lav-prod-img {
	flex: 0 0 300px;
	background-color: #fff;
	border: 1px solid #cbc8b7;
	border-radius: 8px;
	padding: 14px;
	box-sizing: border-box;
	text-align: center;
}
.lav-prod-img img {
	max-width: 100%;
	height: auto;
}
.lav-prod-info {
	flex: 1 1 auto;
	min-width: 0;
}
.lav-prod-title {
	font-size: 22px !important;
	letter-spacing: 0;
	margin: 0 0 10px !important;
	line-height: 1.4 !important;
	background: none !important;
}
.lav-prod-kurz {
	font-size: 16px;
	line-height: 160%;
	margin: 0 0 14px;
}
.lav-prod-price {
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin: 0 0 16px;
}
.lav-prod-price-label {
	font-size: 13px;
	color: #6d6d6d;
}
.lav-prod-price-value {
	font-size: 26px;
	font-weight: 800;
	color: #9a5a2e;
}
.lav-prod-var-label {
	font-size: 14px;
	margin: 0 0 6px !important;
	color: var(--lav-text);
}
.lav-prod-fakten {
	margin: 0 0 16px;
	display: grid;
	grid-template-columns: repeat(2, minmax(220px, 1fr));
	gap: 8px 24px;
}
.lav-prod-fakten > div {
	display: flex;
	gap: 8px;
	border-bottom: 1px solid #f0e9df;
	padding: 4px 0;
}
.lav-prod-fakten dt {
	font-weight: 700;
	color: #4d4037;
	white-space: nowrap;
}
.lav-prod-fakten dd {
	margin: 0;
}
.lav-prod-fakten a {
	color: var(--lav-text);
	text-decoration: underline;
}
.lav-prod-desc-h {
	font-size: 15px;
	margin: 18px 0 6px !important;
	color: var(--lav-text);
}
.lav-prod-desc p {
	margin: 6px 0;
}
.lav-prod-tags {
	font-size: 13px;
	color: #6d6d6d;
}
.lav-prod-mehr {
	margin-top: 26px;
}
.lav-prod-mehr-list {
	margin: 6px 0 0;
	padding-left: 22px;
}
.lav-prod-mehr-list li {
	padding: 3px 0;
}
.lav-prod-mehr-list a {
	color: var(--lav-text);
	font-weight: 600;
}
.lav-prod-mehr-list a:hover,
.lav-prod-mehr-list a:focus-visible {
	text-decoration: underline;
}
.lav-prod-mehr-list .lav-count {
	color: #6d6d6d;
	font-weight: 600;
}
@media (max-width: 860px) {
	.lav-prod {
		flex-direction: column;
		gap: 14px;
	}
	.lav-prod-img {
		flex: 0 0 auto;
		max-width: 320px;
		margin: 0 auto;
	}
	.lav-prod-fakten {
		grid-template-columns: 1fr;
	}
}

/* ============ 4.9 Globale Suche ============ */
/* Header: direkt ueber der Hauptnavigation, ausserhalb des Sticky-Players.
	 Ohne JS: Formular springt zu suche.html (GET-Parameter). */
.lav-search {
	position: absolute;
	top: 132px;
	right: 0;
	z-index: 10;
	display: flex;
	align-items: center;
	width: 220px;
	background-color: #fff;
	border: 1px solid #c0c0c0;
	border-radius: 5px;
	overflow: hidden;
}
.lav-search input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	border: 0;
	background-color: transparent;
	color: #333;
	font: 14px Arial, Helvetica, sans-serif;
	padding: 7px 8px;
	appearance: none;
	-webkit-appearance: none;
	outline-offset: -2px;
}
.lav-search input[type="search"]::placeholder {
	color: #8a8a8a;
}
.lav-search button {
	flex: 0 0 40px;
	align-self: stretch;
	border: 0;
	background-color: transparent;
	color: #555;
	cursor: pointer;
}
.lav-search button:hover,
.lav-search button:focus-visible {
	color: #4d4037;
}
.lav-search button:focus-visible {
	outline: 2px solid #e79a63;
	outline-offset: -2px;
}
@media (max-width: 1023px) {
	.lav-search {
		display: none; /* Mobil: Suche ist Link-Ziel im slicknav-Mehrweg */
	}
}

/* Suchseite */
.lav-search-page-form {
	display: flex;
	gap: 8px;
	max-width: 520px;
	margin: 6px 0 14px;
}
.lav-search-page-form input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	border: 1px solid #c0c0c0;
	border-radius: 5px;
	padding: 9px 12px;
	font: 15px Arial, Helvetica, sans-serif;
	color: #333;
	background-color: #fff;
}
.lav-search-page-form button {
	border: 1px solid #555;
	border-radius: 5px;
	padding: 9px 18px;
	background-color: transparent;
	color: #555;
	font-weight: 700;
	cursor: pointer;
}
.lav-search-page-form button:hover,
.lav-search-page-form button:focus-visible {
	color: #4d4037;
	border-color: #4d4037;
}
.lav-search-page-form button:focus-visible {
	outline: 2px solid #e79a63;
	outline-offset: 2px;
}
.lav-search-status {
	font-size: 14px;
	color: #6d6d6d;
}
.lav-search-list {
	margin: 4px 0 18px;
	padding-left: 22px;
}
.lav-search-list li {
	padding: 4px 0;
}
.lav-search-list a:focus-visible {
	outline: 2px solid #e79a63;
	outline-offset: 2px;
}
.lav-search-list a {
	color: var(--lav-text);
	font-weight: 600;
}
.lav-search-list a:hover,
.lav-search-list a:focus-visible {
	text-decoration: underline;
}
.lav-search-list .lav-count {
	color: #6d6d6d;
	font-weight: 400;
}
.lav-search-more {
	color: #6d6d6d;
	list-style: none;
}
.lav-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Mobile-Suche-Eintrag im slicknav-Klon: Desktop-Hornav blendet ihn aus
	 (Header-Formular uebernimmt), Mobil zeigt er ihn. */
#hornav > ul > li.lav-search-item {
	display: none;
}
@media (max-width: 1023px) {
	.slicknav_nav li.lav-search-item {
		display: block;
	}
}

/* ============ 4.10 Shop-Sidebar: Akkordeon + Warenkorb ============ */
/* Unterkategorien aufklappbar (Nutzer 2026-09-28: Sidebar entlasten, dort
	 erscheint auch der Warenkorb). Natives details/summary + fa-angle-right
	 (Nutzer-Vorgabe), dreht beim Oeffnen. */
/* Gruppe (li > details > summary): li-Border + details-Border direkt
	 nebeneinander => zwei Linien pro Punkt (Nutzer 2026-09-30). Nur das
	 details traegt die Trennlinie, li-Border entfaellt; beim letzten
	 Listenpunkt entfaellt sie wie bei einfachen Punkten (li:last-child). */
.lav-sidekat li.lav-shop-gruppe {
	border-bottom: 0;
}
.lav-shop-gruppe details {
	border-bottom: 1px solid #f0f0f0;
}
.lav-sidekat li:last-child.lav-shop-gruppe details {
	border-bottom: 0;
}
.lav-shop-gruppe > details > summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 4px;
	padding: 5px 0;
	color: #6d6d6d;
	font-weight: 600;
}
.lav-shop-gruppe > details > summary::-webkit-details-marker {
	display: none;
}
.lav-shop-gruppe > details > summary:hover,
.lav-shop-gruppe > details > summary:focus-visible {
	color: #4d4037;
}
.lav-shop-gruppe > details > summary > a {
	flex: 1 1 auto;
	min-width: 0;
	color: inherit;
}
.lav-shop-gruppe > details[open] > summary > a {
	color: #4d4037;
}
.lav-shop-winkel {
	flex: 0 0 auto;
	margin-left: auto;
	transition: transform 0.15s;
	color: #6d5a4c;
}
.lav-shop-gruppe > details[open] > summary .lav-shop-winkel {
	transform: rotate(90deg);
}
.lav-shop-subs {
	padding: 0 0 6px 20px;
}
.lav-shop-subs li {
	padding: 4px 0;
}
.lav-shop-gruppe.lav-sidekat-aktiv > details > summary {
	color: #4d4037;
}

/* Warenkorb-Kasten in der Sidebar */
.lav-cart-box {
	font-size: 14px;
}
.lav-cart-leer {
	color: #6d6d6d;
	margin: 0 0 6px;
}
.lav-cart-list {
	list-style: none;
	margin: 0 0 8px;
	padding: 0;
}
.lav-cart-item {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding: 6px 0;
	border-bottom: 1px solid #f0f0f0;
}
/* Produktbild im Warenkorb (Nutzer 2026-09-29): klein, stabile Box auch bei
	 fehlendem Bild */
.lav-cart-item-bild {
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	object-fit: cover;
	border: 1px solid #e6e1d8;
	border-radius: 4px;
	background-color: #faf8f5;
}
.lav-cart-item-body {
	flex: 1 1 auto;
	min-width: 0;
}
.lav-cart-item-name {
	display: block;
	font-weight: 600;
	font-size: 13.5px;
	line-height: 140%;
}
.lav-cart-item-var {
	display: block;
	font-size: 12.5px;
	color: #6d6d6d;
}
.lav-cart-item-zeile {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 3px;
}
.lav-cart-menge {
	flex: 0 0 26px;
	width: 26px;
	height: 26px;
	padding: 0;
	border: 1px solid #555;
	border-radius: 4px;
	background-color: transparent;
	color: #555;
	font-weight: 700;
	cursor: pointer;
	line-height: 1;
}
.lav-cart-menge:hover,
.lav-cart-menge:focus-visible {
	color: #4d4037;
	border-color: #4d4037;
}
.lav-cart-menge:focus-visible {
	outline: 2px solid #e79a63;
	outline-offset: 1px;
}
.lav-cart-menge-nr {
	min-width: 18px;
	text-align: center;
	font-weight: 700;
}
.lav-cart-einz {
	font-size: 12.5px;
	color: #6d6d6d;
	margin-left: 2px;
}
.lav-cart-item-preis {
	margin-left: auto;
	font-weight: 700;
	color: #4d4037;
}
.lav-cart-weg {
	flex: 0 0 26px;
	width: 26px;
	height: 26px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #8a8a8a;
	cursor: pointer;
}
.lav-cart-weg:hover,
.lav-cart-weg:focus-visible {
	color: #a33a20;
}
.lav-cart-summe {
	font-weight: 700;
	margin: 6px 0;
}
/* ID-Praefix gegen die Kaskade "#main a -> var(--lav-text)" (ID schlaegt
	 Klassen), damit der Link-Button denselben #555-Stil hat wie alle Buttons */
#main a.lav-cart-btn,
.lav-cart-btn {
	display: inline-block;
	padding: 9px 16px;
	border: 1px solid #555;
	border-radius: 5px;
	background-color: transparent;
	color: #555;
	font-weight: 700;
	cursor: pointer;
}
#main a.lav-cart-btn:hover,
#main a.lav-cart-btn:focus-visible,
.lav-cart-btn:hover,
.lav-cart-btn:focus-visible {
	color: #4d4037;
	border-color: #4d4037;
}
.lav-cart-btn:focus-visible {
	outline: 2px solid #e79a63;
	outline-offset: 2px;
}
.lav-cart-btn-aus {
	display: none;
}

/* Mobile: Sidebar unter Content (flex order, ein DOM - Nutzer 2026-09-28),
	 sticky Warenkorb-Balken oben (Kapitel 4.4). */
.lav-cart-sticky {
	display: none;
}
@media (max-width: 1023px) {
	.lav-cart-sticky {
		display: flex;
		align-items: center;
		gap: 10px;
		position: fixed;
		left: 10px;
		right: 10px;
		bottom: 10px;
		z-index: 9000;
		padding: 10px 14px;
		background-color: #faf8f5;
		color: #4d4037;
		border: 1px solid #cbc8b7;
		border-radius: 8px;
		box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
	}
	.lav-cart-sticky-summe {
		margin-left: auto;
		font-weight: 700;
	}
	/* Button einheitlich (Nutzer 2026-09-30), kein Sonder-Stil mehr */
}

/* Produkt-Kaufformular (Variante + Menge + Button) */
.lav-prod-kauf {
	margin: 0 0 16px;
	padding: 14px;
	background-color: #faf8f5;
	border: 1px solid #cbc8b7;
	border-radius: 8px;
}
.lav-prod-var {
	margin-bottom: 10px;
}
.lav-prod-var-label {
	display: block;
	font-size: 14px;
	font-weight: 700;
	color: #4d4037;
	margin-bottom: 4px;
}
.lav-prod-var select {
	width: 100%;
	max-width: 360px;
	padding: 9px 10px;
	border: 1px solid #c0c0c0;
	border-radius: 5px;
	background-color: #fff;
	color: #333;
	font: 15px Arial, Helvetica, sans-serif;
}
.lav-prod-var select:focus-visible {
	outline: 2px solid #e79a63;
	outline-offset: 1px;
}
.lav-prod-var select[aria-invalid="true"] {
	border-color: #a33a20;
}
.lav-prod-kauf-zeile {
	display: flex;
	align-items: center;
	gap: 10px;
}
.lav-prod-menge {
	flex: 0 0 76px;
	width: 76px;
	padding: 9px 8px;
	border: 1px solid #c0c0c0;
	border-radius: 5px;
	font: 15px Arial, Helvetica, sans-serif;
	color: #333;
	text-align: center;
}
.lav-prod-menge:focus-visible {
	outline: 2px solid #e79a63;
	outline-offset: 1px;
}
.lav-prod-inwk {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border: 1px solid #555;
	border-radius: 5px;
	background-color: transparent;
	color: #555;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}
.lav-prod-inwk:hover,
.lav-prod-inwk:focus-visible {
	color: #4d4037;
	border-color: #4d4037;
}
.lav-prod-inwk:focus-visible {
	outline: 2px solid #e79a63;
	outline-offset: 2px;
}
.lav-prod-status {
	margin: 8px 0 0;
	font-size: 13.5px;
	color: #4d4037;
	min-height: 1em;
}

/* Mobile: Shop-Sidebar (Kategorien + Warenkorb) UNTER dem Content - flex
	 order am vorhandenen DOM (Nutzer 2026-09-28), kein Doppel-Markup. */
@media (max-width: 1023px) {
	#main.block_holder.lav-shop-main {
		display: flex;
		flex-direction: column;
	}
	.lav-shop-main #sidecol_b {
		order: 2;
		float: none;
		width: 100% !important;
	}
	.lav-shop-main #content_remainder,
	.lav-shop-main #content_full {
		order: 1;
		float: none;
		width: 100% !important;
	}
}

/* ============ 4.11 Checkout ============ */
.lav-checkout-abschnitt {
	margin-bottom: 20px;
}
.lav-checkout-pos {
	margin: 6px 0 10px;
	padding: 0;
	list-style: none;
}
.lav-checkout-pos .lav-cart-item {
	padding: 8px 0;
}
.lav-checkout-summen {
	margin: 0 0 8px;
	margin-left: auto;
	width: max-content;
	max-width: 100%;
}
.lav-checkout-summe {
	display: flex;
	justify-content: flex-end;
	align-items: baseline;
	gap: 14px;
	padding: 4px 0;
}
.lav-checkout-summe-label {
	font-weight: 600;
}
.lav-checkout-spenden {
	font-weight: 400;
	font-size: 13px;
	color: #6d6d6d;
	margin-left: 3px;
}
.lav-checkout-summe-wert {
	font-weight: 700;
	text-align: right;
	min-width: 90px;
}
.lav-checkout-gesamt .lav-checkout-summe-label,
.lav-checkout-gesamt .lav-checkout-summe-wert {
	font-weight: 800;
	font-size: 16px;
	color: #4d4037;
}
.lav-checkout-form fieldset {
	border: 1px solid #cbc8b7;
	border-radius: 8px;
	background-color: #faf8f5;
	margin: 0 0 16px;
	padding: 12px 16px;
}
.lav-checkout-form legend {
	font-size: 15px;
	font-weight: 700;
	color: #4d4037;
	padding: 0 6px;
}
.lav-checkout-radios {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.lav-checkout-radio {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	border: 1px solid #c0c0c0;
	border-radius: 6px;
	background-color: #fff;
	cursor: pointer;
	font-weight: 600;
}
.lav-checkout-radio:hover {
	background-color: #f2ede6;
}
.lav-checkout-radio:focus-within {
	outline: 2px solid #e79a63;
	outline-offset: 2px;
}
.lav-checkout-radio input {
	accent-color: #57483d;
	width: 18px;
	height: 18px;
}
.lav-checkout-felder p {
	margin: 0 0 10px;
}
/* PLZ + Ort direkt nebeneinander (Nutzer 2026-09-30): kleine Spalte
   fuer die PLZ, restliche Breite fuer den Ort */
.lav-checkout-zeile {
	display: flex;
	gap: 10px;
}
.lav-checkout-zeile > p {
	flex: 1 1 auto;
	margin: 0 0 10px;
}
.lav-checkout-zeile > p:not(.lav-checkout-plz-box) input {
	max-width: none;
	width: 100%;
}
.lav-checkout-zeile .lav-checkout-plz-box {
	flex: 0 0 auto;
}
.lav-checkout-zeile .lav-checkout-plz-box label {
	white-space: nowrap;
}
.lav-checkout-felder label {
	display: block;
	font-weight: 600;
	margin-bottom: 3px;
	color: #4d4037;
}
.lav-checkout-felder input[type="text"],
.lav-checkout-felder input[type="email"],
.lav-checkout-felder input[type="tel"],
.lav-checkout-felder textarea {
	width: 100%;
	max-width: 420px;
	box-sizing: border-box;
	padding: 9px 10px;
	border: 1px solid #c0c0c0;
	border-radius: 5px;
	font: 15px Arial, Helvetica, sans-serif;
	color: #333;
	background-color: #fff;
}
.lav-checkout-felder input:focus-visible,
.lav-checkout-felder textarea:focus-visible {
	outline: 2px solid #e79a63;
	outline-offset: 1px;
}
.lav-checkout-felder [aria-invalid="true"] {
	border-color: #a33a20;
}
.lav-checkout-felder .lav-checkout-plz {
	max-width: 110px !important;
}
.lav-checkout-ds {
	font-size: 14px;
	line-height: 160%;
	max-width: 560px;
}
.lav-checkout-ds input {
	accent-color: #57483d;
	width: 18px;
	height: 18px;
}
.lav-checkout-ds a {
	color: var(--lav-text);
	text-decoration: underline;
}
.lav-checkout-submit {
	margin-top: 14px;
}
.lav-checkout-status {
	min-height: 1.4em;
	font-size: 14px;
	color: #a33a20;
	margin-bottom: 8px;
}
@media (max-width: 640px) {
	.lav-checkout-zeile {
		gap: 8px;
	}
}

/* ============ 4.12 Bestell-E-Mail-Vorschau ============ */
.lav-mail {
	background-color: #fff;
	border: 1px solid #cbc8b7;
	border-radius: 8px;
	padding: 18px;
	max-width: 760px;
}
.lav-mail-kopf p {
	margin: 0 0 10px;
}
.lav-mail-titel,
.lav-mail-adresse,
.lav-mail-zahlung table {
	border-collapse: collapse;
	margin: 0 0 12px;
	width: 100%;
}
.lav-mail-titel th,
.lav-mail-adresse th,
.lav-mail-zahlung th {
	text-align: left;
	vertical-align: top;
	padding: 4px 12px 4px 0;
	white-space: nowrap;
	color: #4d4037;
	font-weight: 700;
	width: 150px;
}
.lav-mail-titel td,
.lav-mail-adresse td,
.lav-mail-zahlung td {
	padding: 4px 0;
}
.lav-mail-pos {
	border-collapse: collapse;
	width: 100%;
	margin: 8px 0 14px;
}
.lav-mail-pos th,
.lav-mail-pos td {
	border-bottom: 1px solid #e8e2d8;
	padding: 7px 8px;
	text-align: left;
	vertical-align: top;
}
.lav-mail-pos thead th {
	border-bottom: 2px solid #57483d;
	font-size: 13px;
}
.lav-mail-z {
	text-align: right;
	white-space: nowrap;
}
.lav-mail-var {
	font-size: 13px;
	color: #6d6d6d;
}
.lav-mail-versand td {
	color: #6d6d6d;
}
.lav-mail-tfoot,
.lav-mail-pos tfoot th,
.lav-mail-pos tfoot td {
	border-bottom: 0;
	border-top: 2px solid #57483d;
	font-weight: 800;
}
.lav-mail-gesamt {
	color: #9a5a2e;
}
.lav-mail-spende {
	background-color: #faf8f5;
	border-left: 3px solid #e79a63;
	padding: 10px 14px;
	font-size: 14px;
	line-height: 160%;
}
.lav-mail-var {
	color: #6d6d6d;
}
.lav-mail-zahlung h3 {
	font-size: 15px;
	margin: 14px 0 6px !important;
	color: var(--lav-text);
}
.lav-mail-hinweis {
	font-size: 13px;
	color: #6d6d6d;
	margin-top: 10px;
}
@media print {
	#container_header,
	#container_logo_menu_mobile,
	#container_copyright_footermenu,
	.lav-cart-sticky,
	#hornav-sub,
	.scrollup {
		display: none !important;
	}
	.lav-mail {
		border: 0;
		padding: 0;
	}
}

/* Shop-Suchbox in der Sidebar (Kapitel 4.4, nativ JS) */
.lav-shopsearch input[type="search"] {
	width: 100%;
	box-sizing: border-box;
	padding: 8px 10px;
	border: 1px solid #c0c0c0;
	border-radius: 5px;
	font: 14px Arial, Helvetica, sans-serif;
	color: #333;
	background-color: #fff;
}
.lav-shopsearch input[type="search"]:disabled {
	opacity: 0.6;
}
.lav-shopsearch input[type="search"]:focus-visible {
	outline: 2px solid #e79a63;
	outline-offset: 1px;
}
.lav-shopsearch-status {
	margin: 8px 0 4px;
	font-size: 13px;
	color: #6d6d6d;
}
.lav-shopsearch-list {
	margin: 0;
	padding-left: 18px;
}
.lav-shopsearch-list li {
	padding: 3px 0;
}
.lav-shopsearch-list a {
	color: var(--lav-text);
}
.lav-shopsearch-list a:hover,
.lav-shopsearch-list a:focus-visible {
	text-decoration: underline;
}

/* ============ 4.13 Favoriten-Slider (Startseite, Kapitel 4.5) ============ */
/* Nutzerkorrektur 2026-09-28: kein Ueberlappen (Slides im Fluss, ein
	 sichtbarer Slide), Steuerung klein und dezent UNTER dem Slide. */
.lav-favslider {
	position: relative;
}
.lav-favslide {
	display: none;
}
.lav-favslide.lav-favslide-aktiv {
	display: block;
}
.lav-favslide h4,
.lav-favslide h5 {
	margin: 0 0 6px;
}
.lav-favslide h4 {
	font-size: 16px;
	font-weight: 700;
}
.lav-favslide h5 {
	font-size: 13.5px;
	font-weight: 500;
	line-height: 150%;
	color: #6d6d6d;
	margin-bottom: 10px;
}
.lav-favslider-steuerung {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 6px;
	margin-top: 10px;
}
.lav-fav-pfeil {
	width: 26px;
	height: 26px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #6d5a4c;
	cursor: pointer;
	font-size: 16px;
	line-height: 1;
}
.lav-fav-pfeil:hover,
.lav-fav-pfeil:focus-visible {
	color: #4d4037;
	background-color: #f2ede6;
	border-radius: 4px;
}
.lav-fav-pfeil:focus-visible {
	outline: 2px solid #e79a63;
	outline-offset: 1px;
}
.lav-fav-position {
	font-size: 12.5px;
	color: #6d6d6d;
	margin: 0 4px;
}


/* ============ 4.14 Youtube-Seite (Kapitel 24) ============ */
/* Keine iframes/keine externen Requests: Thumbnails lokal (assets/img/yt/),
	 Weggang zum Video = Link (B12: Text-/Bildlink). Zeilen-Layout wie
	 Youtube (Nutzer 2026-09-28): Playlists als ZEBRA-ZEILEN, 100 %
	 Content-Breite (maincontent-Padding 20px 30px abgezogen), keine Kaesten. */
.lav-yt-intro p {
	margin: 0 0 10px;
	line-height: 165%;
}
.lav-yt-about {
	font-weight: 700;
	color: #4d4037;
}
.lav-yt-link a {
	color: var(--lav-text);
	font-weight: 700;
	text-decoration: underline;
	word-break: break-word;
}
.lav-yt-link a:focus-visible {
	outline: 2px solid #e79a63;
	outline-offset: 2px;
}
.lav-yt-zeilen {
	margin: 27px -60px 0; /* 27px Abstand ueber "Neu auf dem Kanal" (Nutzer 2026-09-29) */
	display: flex;
	flex-direction: column;
	gap: 12px; /* einheitlicher weisser Abstand zwischen den Abschnitten */
}
/* Zeile: volle Breite bis zur #main-Kante (maincontent 30px + block_holder
	 30px), Zebra-Hintergrund bis zum Rand; der Abschnitt beginnt mit der
	 Ueberschriften-Zeile (padding-top 0 - kein gefaerbter Streifen darueber) */
.lav-yt-zeile {
	padding: 0 60px 14px;
}
.lav-yt-zeile > .lav-yt-pl-titel {
	margin: 0 -60px 12px;
	padding: 12px 60px 14px;
	background-image: linear-gradient(
		120deg,
		rgba(87, 72, 61, 0.16) 0%,
		rgba(154, 90, 46, 0.10) 45%,
		rgba(255, 221, 147, 0.12) 100%
	);
	font-size: 17px;
	line-height: 1.4;
}
.lav-yt-zeile > .lav-yt-pl-titel .lav-yt-pl-desc {
	display: block;
	font-size: 14px;
	font-weight: 400;
	color: #4d4037;
	line-height: 155%;
	margin: 6px 0 0;
}
.lav-yt-pl-titel a {
	color: var(--lav-text);
}
.lav-yt-pl-titel a:hover,
.lav-yt-pl-titel a:focus-visible {
	text-decoration: underline;
}
.lav-yt-pl-desc {
	font-size: 14px;
	color: #6d6d6d;
	line-height: 160%;
	margin: 0 0 14px;
	max-width: 720px;
}
/* Videoreihe: 3 nebeneinander, keine Kaesten, Meta mit Icons */
#youtube .lav-yt-videos {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
}
.lav-yt-video {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	color: var(--lav-text);
	padding: 0;
	border: 0;
}
.lav-yt-thumb-wrap {
	position: relative;
	flex: 0 0 137px;
	min-width: 137px;
}
.lav-yt-thumb {
	display: block;
	width: 137px;
	height: 77px;
	border-radius: 3px;
	border: 1px solid #a19d98;
	background-color: #ddd;
	object-fit: cover;
	box-sizing: border-box;
}
.lav-yt-live-badge {
	position: absolute;
	left: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.74);
	color: #fff;
	font-size: 10.5px;
	font-weight: 700;
	line-height: 1.2;
	padding: 3px 8px;
	border-radius: 0 4px 0 4px;
}
#youtube .lav-yt-live-badge .fa {
	margin-right: 4px;
	color: #fff !important; /* gegen die Referenz-Regel #main i (135) */
}
.lav-yt-vinfo {
	min-width: 0;
}
.lav-yt-titel {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 14px;
	font-weight: 700;
	line-height: 145%;
	text-shadow: 0 1px 1px rgba(255, 255, 255, 0.9);
}
.lav-yt-video:hover .lav-yt-titel,
.lav-yt-video:focus-visible .lav-yt-titel {
	text-decoration: underline;
}
.lav-yt-video:focus-visible {
	outline: 2px solid #e79a63;
	outline-offset: 2px;
}
.lav-yt-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 14px;
	margin-top: 4px;
}
.lav-yt-meta-item {
	font-size: 12.5px;
	color: #6d6d6d;
	line-height: 1.3em;
	padding-top: 3px;
}
.lav-yt-meta-item.lav-yt-meta-live {
	color: #a33a20;
}
#youtube .lav-yt-meta-item.lav-yt-meta-live .fa {
	color: #a33a20 !important; /* Spezifitaet > #main i (Referenz, 135) */
}
#youtube .fa-youtube {
	color: #cc0000;
}
.lav-yt-meta-item .fa {
	margin-right: 4px;
}
.lav-yt-pl-leer {
	font-size: 14px;
	color: #6d6d6d;
	margin: 6px 0 10px;
}
.lav-yt-pl-leer i {
	margin-right: 6px;
}
.lav-yt-pl-link a {
	color: #9a5a2e;
	font-weight: 700;
}
.lav-yt-pl-link a:hover,
.lav-yt-pl-link a:focus-visible {
	text-decoration: underline;
}
.lav-yt-hinweis {
	font-size: 13px;
	color: #6d6d6d;
	margin-top: 16px;
}
@media (max-width: 1023px) {
	.lav-yt-zeilen {
		margin-left: -30px;
		margin-right: -30px;
		gap: 10px;
	}
	.lav-yt-zeile {
		padding-left: 30px;
		padding-right: 30px;
	}
	.lav-yt-zeile > .lav-yt-pl-titel {
		margin-left: -30px;
		margin-right: -30px;
		padding-left: 30px;
		padding-right: 30px;
	}
	#youtube .lav-yt-videos {
		grid-template-columns: 1fr;
	}
}
/* Hirtenbrief-Box Startseite (Kapitel 7/17): neuester Brief mit Thumb + Links */
.lav-hb-box {
	display: flex;
	gap: 12px;
	margin: 0;
}
.lav-hb-thumb-link {
	flex: 0 0 80px;
	line-height: 0;
}
.lav-hb-thumb {
	width: 100%;
	height: auto;
	border: 1px solid #b09a89;
	border-radius: 2px;
	box-sizing: border-box;
}
.lav-hb-text {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.lav-hb-titel {
	font-weight: 700;
	font-size: 15px;
	line-height: 140%;
}
.lav-hb-meta {
	font-size: 13px;
	color: #6d6d6d;
}
.lav-hb-laden,
.lav-hb-alle {
	font-size: 14px;
	font-weight: 700;
}
.lav-hb-laden .fa,
.lav-hb-alle .fa {
	margin-right: 4px;
}
/* Kalender (Schritt 7, Kapitel 43): Listenansicht mit Monatsgruppen.
   Stil = Kapitel 21 (Karten-Muster 26.6: BG #faf8f5, Rand #cbc8b7) */
.lav-kal-gruppe {
	margin: 0 0 20px;
}
.lav-kal-monat-h {
	font-size: 17px;
	font-weight: 700;
	color: var(--lav-text);
	margin: 0 0 10px;
}
.lav-kal-liste {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.lav-kal-row {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 12px 14px;
	background-color: #faf8f5;
	border: 1px solid #cbc8b7;
	border-radius: 8px;
	text-decoration: none;
}
.lav-kal-row:hover,
.lav-kal-row:focus-visible {
	background-color: #f2ede6;
}
.lav-kal-row:focus-visible {
	outline: 2px solid #e79a63;
	outline-offset: 2px;
}
.lav-kal-bild {
	flex: 0 0 132px;
	position: relative;
	line-height: 0;
}
.lav-kal-bild img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid #b09a89;
	border-radius: 3px;
	box-sizing: border-box;
}
.lav-kal-yt-badge {
	position: absolute;
	left: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.74);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.3;
	padding: 2px 7px;
	border-radius: 0 4px 0 4px;
}
#main .lav-kal-yt-badge .fa {
	color: #fff !important; /* gegen #main i #555 (Nutzer-Regel 40.3) */
}
.lav-kal-body {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.lav-kal-datum {
	font-size: 14px;
	font-weight: 700;
	color: var(--lav-text);
}
.lav-kal-kat {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	background-color: #e6b897;
	color: #000;
	padding: 0 8px;
	border-radius: 10px;
}
/* Badge-Abstand nur hinter Text (Liste); in der Detailansicht allein ohne
   Einrueckung (Nutzer 2026-09-29-4) */
.lav-kal-datum .lav-kal-kat {
	margin-left: 6px;
}
.lav-kal-titel {
	font-size: 15px;
	font-weight: 700;
	line-height: 145%;
	color: var(--lav-text);
	display: -webkit-box;
	-webkit-line-clamp: 2; /* max. 2 Zeilen - einheitliche Zeilenhoehen (Nutzer 2026-09-29) */
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.lav-kal-ort {
	font-size: 13px;
	color: #6d6d6d;
}
.lav-kal-archiv .lav-kal-row {
	background-color: #f1efec;
}
.lav-kal-archiv .lav-kal-datum,
.lav-kal-archiv .lav-kal-titel {
	color: #6d6d6d;
}
/* Kategorie-Farben (Nutzer 2026-09-29): jede Kategorie eine eigene Farbe,
   Youtube rot; Pastell-Badge mit dunkler Schrift (WCAG >= 4,5:1) */
.lav-k-bibelstudien .lav-kal-kat {
	background-color: #b6dfa8;
	color: #22381f;
}
.lav-k-lav-kolleg .lav-kal-kat {
	background-color: #b8d8ea;
	color: #1d4f6e;
}
.lav-k-lav-konzert .lav-kal-kat {
	background-color: #f5d76e;
	color: #6d5a1f;
}
.lav-k-abendmahl .lav-kal-kat {
	background-color: #e6b897;
	color: #6d3a1f;
}
.lav-k-mission .lav-kal-kat {
	background-color: #d9c9e8;
	color: #5b3a75;
}
.lav-k-livestream .lav-kal-kat {
	background-color: #cc0000;
	color: #fff;
}
#main .lav-termine-list .lav-tk-bibelstudien .lav-termine-ico {
	color: #22381f;
}
#main .lav-termine-list .lav-tk-lav-kolleg .lav-termine-ico {
	color: #1d4f6e;
}
#main .lav-termine-list .lav-tk-lav-konzert .lav-termine-ico {
	color: #6d5a1f;
}
#main .lav-termine-list .lav-tk-abendmahl .lav-termine-ico {
	color: #6d3a1f;
}
#main .lav-termine-list .lav-tk-mission .lav-termine-ico {
	color: #5b3a75;
}
#main .lav-termine-list .lav-tk-livestream .lav-termine-ico {
	color: #cc0000;
}
/* Termin-Detailseite (Kapitel 44, Nutzer 2026-09-29): Kopf Bild links +
   rechts Badge/Titel/Beschreibung, darunter 3 Spalten WANN/ORT/KONTAKT */
.lav-kal-detail {
	max-width: 860px;
}
.lav-kal-detail-kopf {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	margin: 0 0 18px;
}
.lav-kal-detail-bild {
	display: block;
	flex: 0 0 220px;
	width: 220px;
	height: auto;
	border: 1px solid #b09a89;
	border-radius: 3px;
	box-sizing: border-box;
	margin: 0;
}
.lav-kal-detail-kopf-text {
	min-width: 0;
}
.lav-kal-detail-kat {
	margin: 0 0 8px;
}
.lav-kal-detail-titel {
	font-size: 22px;
	font-weight: 700;
	color: var(--lav-text);
	line-height: 140%;
	margin: 0 0 10px;
}
.lav-kal-detail-text {
	margin: 0;
}
.lav-kal-detail-spalten {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin: 0 0 18px;
}
.lav-kal-detail-spalte {
	background-color: #faf8f5;
	border: 1px solid #cbc8b7;
	border-radius: 8px;
	padding: 12px 14px;
}
.lav-kal-detail-spalte h4 {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: #4d4037;
	margin: 0 0 8px;
}
.lav-kal-detail-spalte p {
	margin: 0;
	font-size: 14px;
	line-height: 165%;
}
.lav-kal-detail-spalte a {
	font-weight: 700;
}
.lav-kal-detail-spalte .fa {
	margin-right: 4px;
}
.lav-kal-maps,
.lav-kal-ics {
	display: inline-block;
	margin-top: 4px;
}
/* Kalender-Filter: nur die gewaehlte Kategorie bleibt sichtbar
   (analog 27.3; neue Kategorie => Regeln hier ergaenzen) */
body:has(.lav-filter input:checked) .lav-kal-row {
	display: none;
}
body:has(.lav-filter input:checked) .lav-kal-monat {
	display: none;
}
body:has(#kf-alle:checked) .lav-kal-row {
	display: flex;
}
body:has(#kf-alle:checked) .lav-kal-monat {
	display: block;
}
body:has(#kf-bibelstudien:checked) .lav-k-bibelstudien,
body:has(#kf-lav-kolleg:checked) .lav-k-lav-kolleg,
body:has(#kf-lav-konzert:checked) .lav-k-lav-konzert,
body:has(#kf-abendmahl:checked) .lav-k-abendmahl,
body:has(#kf-mission:checked) .lav-k-mission,
body:has(#kf-livestream:checked) .lav-k-livestream {
	display: flex;
}
body:has(#kf-bibelstudien:checked) .lav-kal-monat:has(.lav-k-bibelstudien),
body:has(#kf-lav-kolleg:checked) .lav-kal-monat:has(.lav-k-lav-kolleg),
body:has(#kf-lav-konzert:checked) .lav-kal-monat:has(.lav-k-lav-konzert),
body:has(#kf-abendmahl:checked) .lav-kal-monat:has(.lav-k-abendmahl),
body:has(#kf-mission:checked) .lav-kal-monat:has(.lav-k-mission),
body:has(#kf-livestream:checked) .lav-kal-monat:has(.lav-k-livestream) {
	display: block;
}
/* TermineBox Startseite: kompakte einheitliche Zeilen (Nutzer 2026-09-29) */
.lav-termine-list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.lav-termine-zeile {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 7px 0;
	border-bottom: 1px dotted #cbc8b7;
}
.lav-termine-zeile:last-child {
	border-bottom: 0;
}
.lav-termine-datum {
	font-size: 13px;
	font-weight: 700;
	color: var(--lav-text);
}
.lav-termine-link {
	display: -webkit-box;
	-webkit-line-clamp: 2; /* max. 2 Zeilen - einheitliche Zeilenhoehen (Nutzer 2026-09-29) */
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 14px;
	font-weight: 700;
	color: var(--lav-text);
	line-height: 145%;
}
.lav-termine-link .lav-termine-ico {
	display: inline;
	margin-right: 5px;
}
.lav-termine-mehr {
	margin: 10px 0 0;
}
.lav-termine-mehr .lav-termine-mehr-ico {
	margin-right: 5px;
}

/* ============ 4.15 Thumbnail-Generator (Kapitel 44.10) ============ */
/* Geheime Unterseite (noindex, kein Menue-Link). Client-Canvas statt PHP;
	 Vorschau = HTML-Nachbau mit Exakt-Werten des 1920x1080-Exports. */
[hidden] {
	display: none !important;
}
@font-face {
	font-family: "Open Sans";
	src: url("/assets/fonts/open-sans-semibold.ttf") format("truetype");
	font-weight: 600;
	font-display: swap;
}
.lav-thumb-titel {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 14px;
	font-size: 26px;
	color: #4d4037;
}
.lav-thumb-ico {
	color: #9a5a2e;
}
.lav-thumb-feld {
	display: block;
	margin: 0 0 6px;
}
.lav-thumb-label {
	display: block;
	font-weight: 600;
	font-size: 14px;
	margin: 0 0 3px;
}
.lav-thumb-zeile {
	display: flex;
	gap: 8px;
}
/* Zaehler klebt rechts unter dem ersten Input (Nutzer 2026-09-30-10);
	 absolut, damit die Zeile 37px bleibt und die Vorlage-Zeile auf
	 Datum-Niveau rueckt (Nutzer 2026-09-30-12) */
.lav-thumb-textwrap {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	position: relative;
}
.lav-thumb-textwrap input[type="text"] {
	width: 100%;
}
.lav-thumb-textwrap .lav-thumb-zaehler {
	position: absolute;
	top: 39px;
	right: 0;
	margin: 0;
}
.lav-thumb-feld input[type="text"],
.lav-thumb-feld input[type="date"] {
	height: 37px;
	padding: 8px 10px;
	border: 1px solid #555;
	border-radius: 4px;
	font-size: 14px;
	background-color: #fff;
	color: #4d4037;
	box-sizing: border-box;
}
/* Zeile 2 (Thema) Vollbreite; Chrome-Datum intern nicht aufblasen */
.lav-thumb-feld > input[type="text"] {
	width: 100%;
}
.lav-thumb-feld input[type="date"] {
	flex: 0 0 170px;
	width: 170px;
}
.lav-thumb-feld input[type="date"]::-webkit-date-and-time-value {
	min-height: 0;
}
.lav-thumb-feld input[type="text"]:focus,
.lav-thumb-feld input[type="date"]:focus {
	outline: 2px solid #e79a63;
	outline-offset: 1px;
}
.lav-thumb-miniinfo {
	display: block;
	font-size: 12.5px;
	color: #6d6d6d;
	margin: 2px 0 0;
}
.lav-thumb-zaehler {
	display: block;
	font-size: 12px;
	color: #6d6d6d;
	margin: 2px 0 0;
	text-align: right;
}.lav-thumb-galerie {
	display: flex;
	gap: 10px;
	overflow-x: auto;
	padding: 4px 2px 14px;
	/* fett greifbarer Scrollbalken (Nutzer 2026-09-30-9) */
	scrollbar-width: auto;
	scrollbar-color: #b0a48f #f0e9df;
}
.lav-thumb-galerie::-webkit-scrollbar {
	height: 14px;
}
.lav-thumb-galerie::-webkit-scrollbar-track {
	background-color: #f0e9df;
	border-radius: 7px;
}
.lav-thumb-galerie::-webkit-scrollbar-thumb {
	background-color: #b0a48f;
	border-radius: 7px;
}
.lav-thumb-galerie::-webkit-scrollbar-thumb:hover {
	background-color: #9a5a2e;
}
.lav-thumb-karte {
	flex: 0 0 180px;
	padding: 0;
	border: 2px solid transparent;
	border-radius: 6px;
	background-color: #fff;
	cursor: pointer;
	overflow: hidden;
}
.lav-thumb-karte img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
.lav-thumb-karte span {
	display: block;
	font-size: 12px;
	padding: 4px 6px;
	color: #4d4037;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	text-align: left;
}
.lav-thumb-karte:hover,
.lav-thumb-karte:focus-visible {
	border-color: #b08d60;
}
.lav-thumb-karte:focus-visible {
	outline: 2px solid #e79a63;
	outline-offset: 2px;
}
.lav-thumb-gewaehlt {
	border-color: #9a5a2e;
}
.lav-thumb-aktionen {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 14px 0 0;
	flex-wrap: wrap;
}
/* Einheitliche Button-Regel (Nutzer 2026-09-30): transparent, Border+Text #555 */
.lav-thumb-aktion {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border: 1px solid #555;
	border-radius: 5px;
	background-color: transparent;
	color: #555;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	text-decoration: none;
	vertical-align: middle;
}
.lav-thumb-aktion:hover,
.lav-thumb-aktion:focus-visible {
	color: #4d4037;
	border-color: #4d4037;
}
.lav-thumb-aktion:focus-visible {
	outline: 2px solid #e79a63;
	outline-offset: 2px;
}
.lav-thumb-status {
	margin: 10px 0 0;
	font-size: 13.5px;
	color: #4d4037;
	min-height: 1.2em;
}
.lav-thumb-vorschau-titel {
	font-size: 20px;
	color: #4d4037;
	margin: 22px 0 2px;
}
.lav-thumb-vorschau {
	position: relative;
	width: 100%;
	max-width: 720px;
	aspect-ratio: 16 / 9;
	border: 1px solid #cbc8b7;
	border-radius: 6px;
	overflow: hidden;
	background-color: #f5f2ee;
	--tw-sk: 0.33333;
}
.lav-thumb-vorschau img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	/* fill wie der Canvas-Export (drawImage auf 1920x1080): 3:2-Bilder
	   (Guatemala/Brasilien/Lieder 1920x1280) strecken sich identisch zur
	   Vorschau - kein Vorschau/Export-Unterschied (Nutzer 2026-09-30-14) */
	object-fit: fill;
}
.lav-thumb-vorschau-leer {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #6d6d6d;
	margin: 0;
}
.lav-thumb-vorschau-zeile {
	position: absolute;
	left: calc(47px * var(--tw-sk));
	color: #000;
	font-family: "Open Sans", sans-serif;
	font-weight: 600;
	line-height: 1;
	white-space: pre;
}
#lav-thumb-vorschau-1 {
	top: calc(818px * var(--tw-sk));
	font-size: calc(40px * var(--tw-sk));
	letter-spacing: calc(6.5px * var(--tw-sk));
}
#lav-thumb-vorschau-2 {
	top: calc(910px * var(--tw-sk));
	font-size: calc(30px * var(--tw-sk));
	letter-spacing: calc(6.5px * var(--tw-sk));
}
.lav-thumb-liste {
	list-style: none;
	padding: 0;
	margin: 6px 0 0;
}
/* Gespeicherte Thumbnails als Cards (Nutzer 2026-09-30-10, bewusste
	 Ausnahme vom Listen-Stil): abgesetzte Kasten mit Mini-Thumb */
.lav-thumb-liste li {
	position: relative;
	display: flex;
	gap: 8px;
	align-items: center;
	background-color: #fff;
	border: 1px solid #cbc8b7;
	border-radius: 6px;
	box-shadow: 0 1px 3px rgba(77, 64, 55, 0.12);
	padding: 8px 26px 8px 8px;
	margin: 0 0 8px;
}
.lav-thumb-liste li:last-child {
	margin-bottom: 0;
}
.lav-thumb-card-bild {
	flex: 0 0 54px;
	width: 54px;
	height: 30px;
	object-fit: cover;
	border-radius: 4px;
	border: 1px solid #e6e1d8;
}
.lav-thumb-card-body {
	flex: 1 1 auto;
	min-width: 0;
}
.lav-thumb-liste-btn {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background-color: transparent;
	color: #4d4037;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 135%;
	text-align: left;
	cursor: pointer;
	overflow-wrap: anywhere;
}
.lav-thumb-liste-btn:hover,
.lav-thumb-liste-btn:focus-visible {
	text-decoration: underline;
}
.lav-thumb-liste-zeit {
	display: block;
	font-size: 11px;
	color: #6d6d6d;
	margin-top: 2px;
}
.lav-thumb-liste-weg {
	position: absolute;
	right: 4px;
	top: 6px;
	padding: 2px 6px;
	border: 0;
	background-color: transparent;
	color: #8a8a8a;
	cursor: pointer;
}
.lav-thumb-liste-weg:hover {
	color: #4d4037;
}
.lav-thumb-leer {
	font-size: 13px;
	color: #6d6d6d;
}
#lav-thumb-ueberschreiben {
	border: 1px solid #cbc8b7;
	border-radius: 8px;
	padding: 18px 20px;
	color: #4d4037;
	max-width: 340px;
}
#lav-thumb-ueberschreiben::backdrop {
	background-color: rgba(0, 0, 0, 0.35);
}
.lav-thumb-dialog-aktionen {
	display: flex;
	gap: 10px;
	margin-top: 12px;
}
.lav-thumb-dialog-aktionen button {
	padding: 8px 14px;
	border: 1px solid #555;
	border-radius: 5px;
	background-color: transparent;
	color: #555;
	font-weight: 700;
	cursor: pointer;
}
.lav-thumb-dialog-aktionen button:hover {
	color: #4d4037;
	border-color: #4d4037;
}
/* Mobile: Vorschau skaliert mit, Galerie scrollt horizontal */
@media (max-width: 1023px) {
	.lav-thumb-feld input[type="date"] {
		flex: 0 0 130px;
		width: 130px;
	}
	.lav-thumb-vorschau {
		max-width: 100%;
	}
}
