@import url(https://fonts.googleapis.com/css?family=Lato:300,400,700);

/* PVBK CENTRAL DESIGN TOKENS (Top-Down Architecture) */
:root {
	--pvbk-navy: #0f2537;
	--pvbk-gold: #d4af37;
	--pvbk-gold-hover: #b89628;
	--pvbk-bg-light: #f8fafc;
	--pvbk-border-light: #cbd5e1;
	--pvbk-text-dark: #0f2537;
	--pvbk-text-muted: #475569;
	--pvbk-text-silver: #cbd5e1;
	--pvbk-text-white: #ffffff;
	--pvbk-radius: 10px;
	--pvbk-shadow: 0 4px 12px rgba(15, 37, 55, 0.05);
}

/* GLOBAL */
html, body {
	height:100%;
}
body {
	margin:0px;
	padding:0px;
	font-family: 'Open Sans', sans-serif;
	font-size:12px;
	color:#000000;
	overflow-x: hidden;
}

/* Default Settings for Table */
section article table {
	margin:0px;
	padding:0px;
	width:100%;
	box-sizing:border-box;
	border-spacing:0px;
}
section article table tr {
	width:100%;
	box-sizing:border-box;
	margin:0px;
	padding:0px;
	background:rgba(255,255,0,0);
	transition:all .4s ease;
}
section article table tr:hover {
	background:rgba(255,255,0,0.3);
}
section article table tr td {
	font-family: 'Open Sans', sans-serif;
	font-size:14px;
	margin:0px;
	padding:6px 3px;
	box-sizing:border-box;
	vertical-align:top;
	text-align:left;
}
td.right {
	text-align:right;
}
td.center {
	text-align:center;
}
td.bold {
	font-weight:bold;
}
td.cut-line {
	border-top:3px solid #000;
}
td.title {
	background:#DDDDDD;
}

label img{
    pointer-events: none;
}
.center {
	text-align:center;
}
.justify {
	text-align:justify;
}

.no-space {
	margin-top:0px;
	margin-bottom:0px;
	padding-top:0px;
	padding-bottom:0px;
}

#content h1 {
	font-family: 'Open Sans', sans-serif;
	font-size:18px;
	font-weight:400;
	color:#000000;
	margin:15px 15px 5px 0px;
	display:block;
}
h3 {
	font-family: 'Open Sans', sans-serif;
	font-size:14px;
	font-weight:400;
	color:#555555;
	margin:0px 0px 5px 0px;
	display:block;
}
#content section > article > h2, #content section > h2, #content section > article > form h2, a.clip > h2  {
	font-family: 'Open Sans', sans-serif;
	font-size:18px;
	font-weight:500;
	color:#9F0004;
	margin:5px 0px 5px 0px;
}
#content section > article > form > a, a.clip {
	text-decoration:none;
}
#content section > article > form > a > h2 > img, a.clip > h2 > img {
	margin:0px 5px -2px 0px;
	transition: all .3s ease;
}
#content section > article > form > a > h3 > img, a.clip > h3 > img {
	margin:0px 5px -3px 0px;
	transition: all .3s ease;
}
#content section > article > form > a:hover > h2 > img, a.clip:hover > h2 > img, #content section > article > form > a:hover > h3 > img, a.clip:hover > h3 > img {
    transform: skewY(90deg);
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
}

#content section article p, #content section article, nav.list ul li, #content section article ol li {
	font-family: 'Open Sans', sans-serif;
	font-size:14px;
	font-stretch:expanded;
	color:#000000;
}
#content section article p {
	margin:5px auto;
}

footer, #content, #main, #content-header, #content-footer {
	position:relative;
	display:block;
	width:auto;
	min-height:70px;
	margin:0 auto;
	clear:both;
}

a.albenTitle {
	color:#666666;
	text-decoration:none;
	transition: all .3s ease;
}
a.albenTitle:hover {
	color:#333333;
}



/* NAVIGATION LISTE */
nav.list {
	position:relative;
	display:block;
	margin:0 auto;
	padding:0;
	bottom:0;
	width:100%;
}
nav.list ul {
	display:inline-block;
	margin:0 auto;
	padding:0;
	width:100%;
}
nav.list ul li {
	display:block;
	float:left;
	width:auto;
	background:url(../pics/icons/PVBKlist.png) left center no-repeat;
	background-size:20px 20px;
	padding:8px 8px 8px 30px;
	margin:0 auto;
	box-sizing:border-box;
}
nav.sitemap ul li {
	padding:3px 3px 3px 25px;
	margin:0 auto;
}
nav.down ul > li:last-child {
	background:none;
	float:right;
	color:#888888;
}
nav.list > a {
	display:block;
	text-decoration:none;
	background:rgba(0,0,0,0);
	transition: background .4s ease;
}
nav.list > a:hover {
	background:rgba(0,0,0,0.08);
}
nav.links > ul > a > li {
	background:url(../pics/icons/PVBKlist.png) left center no-repeat rgba(0,0,0,0);
	transition: background .4s ease;
}
nav.links > ul > a > li:hover {
	background:url(../pics/icons/PVBKlist.png) left center no-repeat rgba(0,0,0,0.08);
}
nav.register-links > ul > a:last-child li {
	background:url(../pics/icons/PVBKlist.png) 5px center no-repeat rgba(0,0,0,0);
	background-size:10px 10px;
	font-size:12px !important;
}
nav.register-links > ul > a:last-child li:hover {
	background:url(../pics/icons/PVBKlist.png) 5px center no-repeat rgba(0,0,0,0.08);
	background-size:10px 10px;
}
/* -------------------------- */



/* MENU ADMINISTRATION */
nav.menuAdmin {
	z-index:+10;
    position:relative;
	display:inline-block;
	width:100%;
	transition: all .4s ease;
	border:1px solid #E4E4E4;
}
nav.menuAdmin ul {
    list-style:none;
	padding:0;
	margin:0 auto;
}

nav.menuAdmin ul li {
    display:inline-block;
    float:left;
}

nav.menuAdmin ul li a {
	font-family: 'Open Sans', sans-serif;
	color:#666666;
	font-size:12px;
	padding:10px 20px;
	text-decoration:none;
	transition: all .4s ease;
	display:block;
}

nav.menuAdmin ul li a:hover, nav.menuAdmin ul li a.active:hover, nav.menuAdmin ul li a.active {
	color:#000000;
	background:rgba(0,0,0,0.1);
}

nav.menuAdmin > ul > li > a > img {
	height:25px;
	width:auto;
	margin:0 auto;
}

nav.menuAdmin > ul > li {
	overflow:hidden;
	height:auto; /* 36px */
	transition: height .4s ease;

}
nav.menuAdmin > ul > li:hover {
	height:auto;

}
nav.menuAdmin > ul > li > ul {
	display:none;
	position:absolute;
	background:rgba(255,255,255,0.95);
	border-top:1px solid #E4E4E4;
	opacity:0;
	transition: all .4s ease;
}
nav.menuAdmin > ul > li:hover > ul {
	display:block;
	opacity:1;
}
nav.menuAdmin > ul > li > ul > li {
	float:none;
	width:100%;
	display:block;
	background:rgba(255,255,0,1);
}

/* ---------------------------- */



/* --------- HEADER ----------- */
header {
	position:absolute;
	left:0;
	right:0;
	top:0;
	width:auto;
	margin:0 auto;
	clear:both;
	z-index:+99;
	background:url(../pics/bg/header_fasern.jpg) top center no-repeat;
	background-size:100% 100%;
	border-bottom:1px solid #e4e4e4;
}
/* Small */
header.small-hidden {
	position:fixed;
	top:-250px;
	transition: all 1s ease;
}
header.small {
	position:fixed;
	top:0;
}


/* HEADER-LANG */
#header-lang {
	display:inline-block;
	width:100%;
	min-height:40px;
	margin:0 auto;
	background:rgba(0,0,0,0.5);
}
#header-lang .block-div {
	max-width:900px;
	margin:0 auto;
}
#header-lang p {
	color:#FFFFFF;
	width:auto;
	margin:0 auto;
	padding:10px 0px;
	box-sizing:border-box;
	float:left;
}
#header-lang p img {
	margin:0px 15px -1px 0px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}
#header-lang p a:first-child {
	margin-left:20px;
}
#header-lang p > a, #header-lang p > a:active {
	text-decoration:none;
	color:rgba(255,255,255,1);
	transition: all .4s ease;
}
#header-lang p > a:hover {
	color:rgba(255,255,0,1);
}
#header-lang p.header-lang-links {
	width:auto;
	display:block;
	float:right;
	margin:0 auto;
}
.header-btn-profile {
	float:right;
	margin:0 8px;
	padding:2px 10px;
	border:1px solid rgba(255, 255, 255, 0.45);
	border-radius:4px;
	font-size:11.5px;
	font-weight:500;
	color:#ffffff !important;
	background:rgba(255, 255, 255, 0.08);
	transition:all 0.2s ease;
	text-decoration:none !important;
}
.header-btn-profile:hover {
	border-color:#ffffff;
	background:rgba(255, 255, 255, 0.2);
	color:#ffffff !important;
}
.header-btn-admin {
	float:right;
	margin:0 8px;
	padding:2px 12px;
	border:1px solid #d4af37;
	border-radius:4px;
	font-size:11.5px;
	font-weight:600;
	color:#d4af37 !important;
	background:rgba(212, 175, 55, 0.12);
	transition:all 0.2s ease;
	text-decoration:none !important;
}
.header-btn-admin:hover {
	background:#d4af37;
	color:#0f2537 !important;
	box-shadow:0 2px 6px rgba(212, 175, 55, 0.3);
}
/* Small */
#header-lang.small {
	display:inline-block;
	min-height:30px;
	font-size:0.9em;
}
#header-lang.small p {
	padding:7px 0px;
}
/* HEADER-LANG -END- */


/* HEADER-SCROLL */
#header-scroll {
	padding:0;
	margin:0 auto;
	line-height:0;
	margin-top:-4px;
}
#header-scroll nav.menu {
	display:inline-block;
	z-index:+99;
	width:100%;
	padding:0;
	margin:0;
	border-bottom:1px solid rgba(182,182,32,1);
	border-top:1px solid rgba(182,182,32,1);
	background:rgba(255,255,0,1);
}
#header-scroll nav.menu ul {
    list-style:none;
	padding:0;
	margin:0 auto;
	height:85px;
	max-width:900px;
	transition: height .4s ease;
}
#header-scroll nav.menu ul li {
	font-family: 'Open Sans', sans-serif;
	font-size:1.1em;
	color:rgba(0,0,0,0.6);
	text-decoration:none;
    display:inline-block;
    float:right;
	padding:40px 0px;
	margin:0px 20px;
	background:none;
	border-bottom:3px solid rgba(255,255,0,1);
	border-top:3px solid rgba(255,255,0,1);
	transition: all .4s ease;
}
#header-scroll nav.menu ul li:hover, #header-scroll nav.menu ul li.active:hover, #header-scroll nav.menu ul li.active {
	color:rgba(0,0,0,1);
	border-bottom:3px solid rgba(227,30,37,1);
	border-top:3px solid rgba(227,30,37,1);
}
/* Small */
#header-scroll.small nav.menu {
	border-top:1px solid rgba(255,255,0,1);
}
#header-scroll.small nav.menu ul {
	height:55px;
}
#header-scroll.small nav.menu ul li {
	font-size:1em;
	padding:25px 0px;
	margin:0px 15px;
	border-bottom:2px solid rgba(255,255,0,1);
	border-top:3px solid rgba(255,255,0,1);
}
#header-scroll.small nav.menu ul li:hover, #header-scroll.small nav.menu ul li.active:hover, #header-scroll.small nav.menu ul li.active {
	color:rgba(0,0,0,1);
	border-bottom:2px solid rgba(227,30,37,1);
	border-top:3px solid rgba(255,255,0,1);
}
/* HEADER-SCROLL -END- */


/* HEADER-SUB */
#header-sub {
	max-width:900px;
	margin:0 auto;
	padding:0;
	background:rgba(0,0,0,0.2);
}
#header-sub nav.menuSub {
	z-index:+99;
	height:auto;
	width:25%;
	padding:30px 20px;
	margin:0;
	transition: all .4s ease;
	background:rgba(0,0,0,0.4);
}
#header-sub nav.menuSub {
	z-index:+99;
	height:auto;
	width:25%;
	padding:30px 20px;
	margin:0;
	transition: all .4s ease;
	background:rgba(0,0,0,0.4);
}
#header-sub nav.menuSub ul {
	height:auto;
    list-style:none;
	padding:0;
	margin:0;
	width:100%;
}
#header-sub nav.menuSub ul li {
	font-family: 'Open Sans', sans-serif;
	font-size:1em;
	color:rgba(255,255,255,1);
	text-decoration:none;
    display:inline-block;
	width:100%;
	padding:5px 23px;
	margin:0;
	background:url(../pics/icons/dot_yellow.png) left center no-repeat;
	transition: all .4s ease;
}
#header-sub nav.menuSub ul li:hover, #header-sub nav.menuSub ul li.active:hover, #header-sub nav.menuSub ul li.active {
	color:rgba(255,255,0,1);
}
/* Small */
#header-sub.small nav.menuSub {
	width:100%;
	padding:0px;
}
#header-sub.small nav.menuSub ul li {
	font-size:0.9em;
	width:auto;
	margin-left:20px;
}
/* HEADER-SUB -END- */


/* --------- FOOTER ----------- */
footer {
	position:fixed;
	bottom:0;
	left:0;
	right:0;
	height:auto;
	min-height:20px;
	z-index:+88;
	width:100%;
	border-top:1px solid rgba(255,255,0,1);
	box-shadow: 0 0 0 1px rgba(0,0,0,0.5);
	background:url(../pics/bg/header_fasern.jpg) top center no-repeat;
	background-size:100% 100%;
	transition: height .3s ease;
	line-height:0;
}
footer div.copy {
	position:relative;
	display:inline-block;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.6);
	transition: all .3s ease;
	line-height:0;
	padding-bottom:5px;
	padding-top:2px;
}
footer div.copy p {
	width:auto;
	max-width:900px;
	margin:0 auto;
	padding:20px 20px 20px 20px;
	color:#FFFFFF;
	text-align:right;
}
footer div.copy p a {
	color:#FFFFFF;
	text-decoration:none;
}
/* SMALL */
footer.small {
	height:auto;
	min-height:20px;
}
footer.small div.copy {
	font-size:0.9em;
}
footer.small div.copy p {
	padding:15px 20px 10px 20px;
}
footer.small #footer-sub nav.menuSub {
	padding:10px 20px 10px 20px;
}



/* FOOTER-SUB */
#footer-sub {
	max-width:900px;
	margin:0 auto;
	padding:0;
}
#footer-sub nav.menuSub {
	z-index:+99;
	height:auto;
	width:170px;
	padding:15px 20px 5px 20px;
	margin:0;
	float:left;
	transition: all .4s ease;
	box-sizing:border-box;
}
#footer-sub nav.menuSub ul {
	height:auto;
    list-style:none;
	padding:0;
	margin:0;
	width:auto;
}
#footer-sub nav.menuSub ul li {
	font-family: 'Open Sans', sans-serif;
	font-size:1em;
	color:rgba(255,255,255,1);
	text-decoration:none;
    display:inline-block;
	width:auto;
	padding:5px 23px;
	margin:0;
	background:url(../pics/icons/dot_yellow.png) left center no-repeat;
	transition: all .4s ease;
	line-height:1;
}
#footer-sub nav.menuSub ul li:hover, #footer-sub nav.menuSub ul li.active:hover, #footer-sub nav.menuSub ul li.active {
	color:rgba(255,255,0,1);
}
#footer-sub > p {
	line-height:1;
	text-align:center;
	float:left;
	width:calc(100% - 340px);
	box-sizing:border-box;
}
#footer-sub > p.realized {
	font-size:0.8em;
	color:rgba(255,255,255,0.5);
	line-height:1;
	text-align:right;
	float:right;
	width:170px;
	box-sizing:border-box;
	margin-top:-12px;
}
#footer-sub p.realized img {
	margin:2px 0px -21px 3px;
	opacity:0.7;
	transition: opacity .2s ease;
}
#footer-sub p.realized img:hover {
	opacity:1;
}
/* FOOTER-SUB -END- */




#content > section > article p > a img.adminIcon {
	margin:0px 6px -11px 0px;
}

/* CONTENT */
#content {
	max-width:900px;
	margin:0 auto;
	padding-bottom:30px;
}

#main {
	position:relative;
	min-height:100%;
}


/* SECTION / ARTICLE */
section {
	margin:0 auto;
	width:100%;
	display:inline-block;
}
section.space {
	width:100%;
	display:inline-block;
	height:30px;
}
section article {
	position:relative;
	vertical-align:top;
	padding:5px 10px 5px 10px;
	margin:2px 5px 2px 5px;
	display:inline-block;
	font-size:12px;
	transition: all .5s ease;
	box-sizing:border-box;
}
section article.left {
	float:left;
	clear:left;
}
section article.right {
	float:right;
	clear:right;
}
section article:hover {
	background:rgba(0, 0, 0, 0);
}
section article.no-hover:hover {
	background:rgba(0, 0, 0, 0);
}
section article.invisible-class,
section article.owner-draft-post {
	border-left: 4px dashed #ef4444 !important;
	background: rgba(239, 68, 68, 0.02) !important;
	padding-left: 14px !important;
	opacity: 1 !important;
}
.owner-draft-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #fee2e2;
	color: #991b1b;
	border: 1px solid #f87171;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
	padding: 3px 8px;
	margin-bottom: 10px;
}
/* Inline "bearbeiten" Button fuer berechtigte Autoren */
.btn-edit-post-inline {
	display: inline-flex !important;
	align-items: center !important;
	gap: 4px !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	vertical-align: middle !important;
	margin-left: 10px !important;
	padding: 2px 8px !important;
	border-radius: 4px !important;
	background: #f8fafc !important;
	border: 1px solid #cbd5e1 !important;
	color: #475569 !important;
	text-decoration: none !important;
	box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;
	transition: all 0.15s ease !important;
	line-height: 1.4 !important;
}
.btn-edit-post-inline:hover {
	background: #e2e8f0 !important;
	color: #0f2537 !important;
	border-color: #94a3b8 !important;
	box-shadow: 0 1px 3px rgba(0,0,0,0.1) !important;
	text-decoration: none !important;
}
.btn-edit-post-inline i {
	font-size: 10px !important;
	color: #64748b !important;
	transition: color 0.15s ease !important;
}
.btn-edit-post-inline:hover i {
	color: #0f2537 !important;
}
section article a {
	color:#0065A5;
	transition: all .3s ease;
}
section article a:hover {
	color:#666666;
}
section.one article {
	width:calc(100% - 10px);
}
section.two article {
	width:calc(50% - 10px);
}
section.three article {
	width:calc(33.3% - 32px);
}
section.four article {
	width:calc(25% - 33px);
}
section article img.default {
	margin:5px;
	width:auto;
	border:none;
	float:left;
}
#content section article img.ring, #content section article img.ring-half, #content section article img.ring-cute {
	-webkit-box-shadow:0 0 1em hsla(0, 0%, 0%, 0.4);
	-moz-box-shadow:0 0 1em hsla(0, 0%, 0%, 0.4);
	box-shadow:0 0 1em hsla(0, 0%, 0%, 0.4);
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	margin:10px auto;
	width:80%;
	transition: all .3s ease;
}
#content section article img.ring-half {
	margin:20px;
	width:calc(45% - 50px);
}
#content section article img.ring-cute {
	margin:0px 12px 10px 0px;
	width:95px;
	float:left;
}
#content section article img.ring:hover, #content section article img.ring-half:hover, #content section article img.ring-cute {
	-webkit-box-shadow:0 0 1em hsla(0, 0%, 0%, 0);
	-moz-box-shadow:0 0 1em hsla(0, 0%, 0%, 0);
	box-shadow:0 0 1em hsla(0, 0%, 0%, 0);
	-webkit-border-radius: 5%;
	-moz-border-radius: 5%;
	border-radius: 5%;
}
#content section article a.img-hover {
	display:inline-block;
	position:relative;
}

section article.lineCutTop {
	border-top:2px solid rgba(255,255,0,1);
	box-shadow:0px -1px 0px 0px rgba(182,182,32,0.6);
	margin-top:10px;
	padding-top:10px;
}
section article.lineCutBottom {
	border-bottom:1px solid rgba(182,182,32,0.6);
	box-shadow:0px 2px 0px 0px rgba(255,255,0,1);
	margin-bottom:10px;
}
section article.lineCutBoth {
	border-top:2px solid rgba(255,255,0,1);
	border-bottom:1px solid rgba(182,182,32,0.6);
	box-shadow:0px 2px 0px 0px rgba(255,255,0,1), 0px -1px 0px 0px rgba(182,182,32,0.6);
	padding-top:10px;
	margin-top:10px;
	margin-bottom:10px;
}

/* FIGURE IMAGE */
figure img {
	width:100%;
}

/* Normal */
figure, figure.ring, figure.zoom {
	position:relative;
	margin:0px;
	padding:0;
	width:100%;
	border:1px solid #BBBBBB;
	overflow:hidden;
	line-height:0;
	transition: all .5s ease;
}
figure:hover {
	border:1px solid #888888;
}

/* Kreis (ring) */
figure.ring {
	-webkit-border-radius: 50% 50% 50% 50%;
	-moz-border-radius: 50% 50% 50% 50%;
	border-radius: 50% 50% 50% 50%;
}
figure.ring:hover {
	-webkit-border-radius:0%;
	-moz-border-radius:0%;
	border-radius:0%;
}

/* Zoom */
figure.zoom img {
	width:100%;
	margin:0px 0px 0px 0px;
	transition: margin .2s ease, width .2s ease;
}
figure.zoom:hover img {
	width:110%;
	margin:-5% -5% -1.5% -5%;
}

/* Avatar */
figure.avatar {
	border-radius:5px;
}

/* Rahmen f?r Hover */
figure.album span, figure.album span:hover, figure.img span, figure.img span:hover {
	position:absolute;
	top:0px;
	left:0px;
	right:0px;
	bottom:0px;
	z-index:+90;
	opacity:1;
	background: rgba(255,255,255,0.6);
	transition: all .5s ease;
}
figure.img span {
	opacity:0;
    background:rgba(0,0,0,0.5);
}
figure.img span:hover {
	opacity:1;
    background:rgba(0,0,0,0.5);
}

/* Textformatierung f?r Hover */
figure.album span p, figure.img span p {
	position:absolute;
	display:inline-block;
	left:0;
	right:0;
	color:#000000;
	padding:10px;
	bottom:-95px;
	line-height:40px;
	text-align:left;
	opacity:0.8;
	transition: all .3s ease;
}
figure.img span p {
	color:#ffffff;
	font-weight:300;
	text-align:center;
	line-height:15px;
	bottom:0px;
	opacity:1;
}
figure.img span:hover p {
	bottom:30%;
}
figure.album span:hover p {
	line-height:20px;
	bottom:0px;
	opacity:1;
}

/* Floatings */
figure.img-float-right, figure.img-float-right50 {
	float:right;
	margin:8px 0px 5px 10px;
	width:30%;
}
figure.img-float-right50 {
	width:50%;
}
figure.img-float-center {
	margin:0px 0px 5px 0px;
	width:100%;
}
figure.img-float-left, figure.img-float-left50 {
	float:left;
	margin:8px 10px 5px 0px;
	width:30%;
}
figure.img-float-left50 {
	width:50%;
}

/* INFOMELDUNGEN */
p.info, p.green, p.red {
	width:calc(100% - 20px);
	padding:20px;
	border:1px solid #0065A5;
	box-sizing:border-box;
	margin:0 auto;
}
p.green {
	border:1px solid #339933;
	color:#009900;
}
p.red {
	border:1px solid #CC0000;
	font-color:#CC0000;
}
p.info a, p.info a:hover, p.green a, p.green a:hover, p.red a, p.red a:hover {
	text-decoration:none;
	color:#0065A5;
}
p.green a, p.green a:hover {
	color:#339933;
}
p.red a, p.red a:hover {
	color:#CC0000;
}

#mapcontainer{
	width:calc(100% - 10px);
	height:150px;
	margin:20px 0px 0px 0px;
	border: 1px solid rgba(194,194,194,1);
	text-align:center;
}

#content section article img.drittel {
	width:calc(33% - 18px);
	height:38px;
}

.handy-hidden {
	display:block;
}
#imgOnlyDiv {
	display:block;
}

a.media {
	position:relative;
	z-index:1;
}


/* TABLE ACCESS OVERVIEW */
/* ----------------------------------- */
.accessViewTable {
	display:table;
	width:100%;
	padding-top:10px;
}
.accessViewColumn {
	width:100%;
	display:table-row;
	font-size:0.9em;
	font-weight:normal;
	background:rgba(0,0,0,0);
	transition: background .4s ease;
}
.accessViewColumn:hover {
	background:rgba(0,0,0,0.1);
}
.accessViewCell {
	display:table-cell;
	width:15%;
	border-right:1px solid #CCCCCC;
	text-align:center;
	vertical-align:middle;
	padding:5px 0px 5px 0px;
}
.accessViewCell img {
	max-height:11px;
	max-width:11px;
}
.accessViewTable .accessViewColumn:first-child > .accessViewCell, .accessViewTable .accessViewColumn:first-child:hover {
	font-weight:bold;
	padding:5px 0px 10px 0px;
	background:rgba(0,0,0,0);
}
.accessViewColumn > .accessViewCell:first-child {
	width:25%;
	text-align:left;
	border:none;
}
/* ----------------------------------- */

/* ==========================================================================
   UNIFIED PVBK DESIGN SYSTEM (BENCHMARK: KONTAKTFORMULAR PARITÄT)
   ========================================================================== */

/* 1. Haupt-Container & Grids */
.pvbk-container, .contact-container {
    width: 100%;
    box-sizing: border-box;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    margin-top: 15px;
}

.pvbk-grid, .contact-grid, .pvbk-card-grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 22px;
    box-sizing: border-box;
}

.pvbk-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.pvbk-grid-3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px;
}

.pvbk-grid-4 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 8px;
}

/* 2. Responsive Mobile Breakpoints (Desktop 1fr 2fr links-rechts, Mobile 1fr übereinander) */
@media (max-width: 850px) {
    #wrapper, #header, #content, #footer {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    section.two article {
        width: 100% !important;
        float: none !important;
        margin-right: 0 !important;
        margin-bottom: 20px !important;
    }
    .pvbk-grid, .contact-grid, .pvbk-card-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
}

@media (max-width: 650px) {
    .pvbk-grid-2, .pvbk-grid-3, .pvbk-grid-4, .form-grid-side {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
    .admin-search-toolbar {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    .search-input-box {
        max-width: 100% !important;
    }
}

/* 3. Kacheln (Cards) */
.pvbk-card, .contact-card {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 24px;
    box-shadow: 0 4px 12px rgba(15, 37, 55, 0.05);
    box-sizing: border-box;
}

.pvbk-card h2, .contact-card h2 {
    margin-top: 0;
    margin-bottom: 16px;
    color: #0f2537;
    font-size: 20px;
    border-bottom: 2px solid #d4af37;
    padding-bottom: 8px;
}

/* Dunkle Linke Navy-Kachel (Exakt wie Kontaktformular Master Benchmark) */
.pvbk-card-navy {
    background: var(--pvbk-navy) !important;
    color: var(--pvbk-text-white) !important;
    border-radius: var(--pvbk-radius);
    padding: 24px;
    box-shadow: var(--pvbk-shadow);
    border-bottom: 4px solid var(--pvbk-gold) !important;
    box-sizing: border-box;
}

.pvbk-card-navy h2 {
    color: var(--pvbk-text-white) !important;
    margin-top: 0;
    margin-bottom: 16px;
    border-bottom: 2px solid var(--pvbk-gold) !important;
    padding-bottom: 8px;
    font-size: 20px;
}

.pvbk-card-navy p {
    color: var(--pvbk-text-silver) !important;
    line-height: 1.6 !important;
    font-size: 13px !important;
    font-style: normal !important;
    margin-top: 0;
    margin-bottom: 16px;
}

.pvbk-card-navy p.lead, .pvbk-card-navy .lead {
    color: var(--pvbk-text-white) !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    margin-top: 0;
}

.pvbk-callout-gold {
    background: rgba(255, 255, 255, 0.08);
    padding: 14px;
    border-radius: 8px;
    border-left: 3px solid var(--pvbk-gold);
    font-size: 12px;
    line-height: 1.5;
    color: #f8fafc !important;
    margin-top: 16px;
}

.pvbk-callout-gold strong {
    color: var(--pvbk-text-white) !important;
}

/* 4. Formularfelder & Beschriftungen */
.pvbk-field, .contact-field {
    margin-bottom: 14px;
}

.pvbk-field label, .contact-field label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: #475569;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.pvbk-field input[type="text"],
.pvbk-field input[type="email"],
.pvbk-field input[type="password"],
.pvbk-field select,
.pvbk-field textarea,
.contact-field input[type="text"],
.contact-field input[type="email"],
.contact-field select,
.contact-field textarea {
    width: 100%;
    padding: 9px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-size: 13px;
    box-sizing: border-box;
    background: #f8fafc;
    color: #0f2537;
    font-family: inherit;
    transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.pvbk-field input:focus, .pvbk-field select:focus, .pvbk-field textarea:focus,
.contact-field input:focus, .contact-field select:focus, .contact-field textarea:focus {
    border-color: #0f2537;
    background: #ffffff;
    outline: none;
    box-shadow: 0 0 0 3px rgba(15, 37, 55, 0.1);
}

/* 5. Buttons */
.pvbk-btn, .btn-send-contact, .btn-primary-pvbk {
    background: #0f2537;
    color: #ffffff !important;
    border: none;
    padding: 11px 24px;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: background 0.2s ease;
    text-decoration: none;
}

.pvbk-btn:hover, .btn-send-contact:hover, .btn-primary-pvbk:hover {
    background: #1e3a54;
}

/* TABLE OVERVIEW */
/* ----------------------------------- */
.viewTable {
	display:table;
	width:100%;
	padding-top:10px;
}
.viewColumn {
	width:100%;
	display:table-row;
	font-size:0.9em;
	background:rgba(0,0,0,0);
	transition: background .4s ease;
}
.viewColumn a, .viewColumn a:hover {
	color:#F4F4F4;
	text-decoration:none;
}
.viewColumn.second-line {
	background:rgba(0,0,0,0.05);
}
.viewColumn:hover {
	background:rgba(0,0,0,0.1);
}
.viewCell {
	display:table-cell;
	width:auto;
	text-align:left;
	vertical-align:middle;
	padding:5px 0px 5px 0px;
}
.viewColumn.red .viewCell {
	color:#EE0000;
}
.viewColumn.orange .viewCell {
	color:#0000EE;
}
.viewColumn.green .viewCell {
	color:#00A504;
}
.viewColumn.grey .viewCell {
	color:#666666;
}
.viewColumn.inactive .viewCell {
	background:rgba(255,255,0,1);
}
.viewColumn.deactivated .viewCell {
	background:rgba(255,100,100,0.4);
}
.viewColumn.verify .viewCell {
	background:rgba(0,0,0,0.1);
}
.viewCell.right {
	text-align:right;
}
.viewCell.icon {
	width:3%;
	vertical-align:middle;
}
.viewCell.check {
	vertical-align:middle;
	padding:0px 10px 0px 10px;
	border-right:1px solid rgba(0,0,0,0.2);
}
.viewCell img {
	max-height:11px;
	max-width:11px;
}
.viewCell.big img {
	max-height:20px;
	max-width:20px;
	height:20px;
	width:auto;
}
.viewColumn > .viewCell:first-child {
	text-align:left;
	border:none;
}
.viewCell > a > img.adminIcon {
	max-width:28px;
	max-height:28px;
	width:auto;
	height:28px;
	margin:0px 6px -4px 0px;
}


/* ----------------------------------- */
/* GLOBAL PVBK CONTINUOUS DESIGN (Benchmark: site_contact.php) */
/* ----------------------------------- */
.contact-container {
    width: 100%;
    box-sizing: border-box;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    margin-top: 15px;
}
.contact-grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 22px;
    box-sizing: border-box;
}
@media (max-width: 850px) {
    .contact-grid { grid-template-columns: 1fr; }
}
.contact-card {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 24px;
    box-shadow: 0 4px 12px rgba(15,37,55,0.05);
    box-sizing: border-box;
}
.contact-card h2 {
    margin-top: 0;
    margin-bottom: 16px;
    color: #0f2537;
    font-size: 20px;
    border-bottom: 2px solid #d4af37;
    padding-bottom: 8px;
}
.contact-field {
    margin-bottom: 14px;
}
.contact-field label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: #475569;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.contact-field input[type="text"],
.contact-field input[type="email"],
.contact-field input[type="password"],
.contact-field select,
.contact-field textarea {
    width: 100%;
    padding: 9px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-size: 13px;
    box-sizing: border-box;
    background: #f8fafc;
    color: #0f2537;
    font-family: inherit;
}
.contact-field input:focus, .contact-field select:focus, .contact-field textarea:focus {
    border-color: #0f2537;
    background: #ffffff;
    outline: none;
    box-shadow: 0 0 0 3px rgba(15,37,55,0.1);
}
.contact-field textarea {
    min-height: 120px;
    resize: vertical;
}
.btn-send-contact {
    background: #0f2537;
    color: #ffffff;
    border: none;
    padding: 11px 24px;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.2s ease;
}
.btn-send-contact:hover {
    background: #1e3a54;
}

/* 5. Utility für 100% Viewport-Breite (Admin Management Seiten) */
.admin-fullwidth-page {
    width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
}

/* 6. Lingo CMS Styling */
.lingo-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
    gap: 16px;
    margin-top: 16px;
}
.lingo-item-card {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 16px;
    box-shadow: 0 2px 6px rgba(15, 37, 55, 0.04);
    box-sizing: border-box;
    transition: border-color 0.2s ease;
}
.lingo-item-card:hover {
    border-color: #0f2537;
}
.lingo-header-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid #f1f5f9;
}
.lingo-key-badge {
    font-size: 11px;
    font-weight: 700;
    color: #0f2537;
    background: #e2e8f0;
    padding: 3px 8px;
    border-radius: 4px;
    font-family: monospace;
}
.lingo-cat-badge {
    font-size: 10px;
    font-weight: 700;
    color: #854d0e;
    background: #fef9c3;
    padding: 2px 7px;
    border-radius: 12px;
}
.lingo-inputs-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.lingo-lang-box {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
/* 7. Profile Dashboard Styling (Selbstverwaltung) */
.profile-dashboard {
    width: 100%;
    box-sizing: border-box;
    margin-top: 15px;
}
.profile-header-card {
    background: #0f2537;
    color: #ffffff;
    border-radius: 10px;
    padding: 20px 24px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 15px;
    border-bottom: 3px solid #d4af37;
}
.profile-header-info h2 {
    margin: 0 0 6px 0;
    color: #ffffff;
    font-size: 20px;
    border: none;
    padding: 0;
}
.profile-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    box-sizing: border-box;
}
@media (max-width: 850px) {
    .profile-grid { grid-template-columns: 1fr; }
}
.profile-box {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 20px;
    box-sizing: border-box;
    box-shadow: 0 2px 8px rgba(15,37,55,0.04);
}
.profile-box h3 {
    margin-top: 0;
    margin-bottom: 16px;
    color: #0f2537;
    font-size: 16px;
    border-bottom: 2px solid #0f2537;
    padding-bottom: 8px;
}
.profile-field {
    margin-bottom: 12px;
}
.profile-field label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: #475569;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.profile-field input[type="text"],
.profile-field input[type="email"],
.profile-field input[type="password"],
.profile-field select {
    width: 100%;
    padding: 9px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-size: 13px;
    box-sizing: border-box;
    background: #f8fafc;
}
.profile-field input:focus, .profile-field select:focus {
    border-color: #0f2537;
    background: #ffffff;
    outline: none;
}
.btn-save-profile {
    background: #0f2537;
    color: #ffffff;
    border: none;
    padding: 10px 20px;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
    font-size: 13px;
    transition: background 0.2s ease;
}
.btn-save-profile:hover {
    background: #1e3a54;
}
.btn-logout-pvbk {
    background: #ef4444;
    color: #ffffff;
    border: none;
    padding: 8px 16px;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
    font-size: 13px;
}
/* 8. Admin Cockpit Styling (Benutzerverwaltung & Management) */
.admin-search-toolbar {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 14px 18px;
    margin-bottom: 18px;
    box-shadow: 0 4px 12px rgba(15, 37, 55, 0.05);
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
}
.search-input-box {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-grow: 1;
    max-width: 600px;
}
.search-input-box input[type="text"] {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-size: 13px;
    background-color: #f8fafc;
    color: #0f2537;
    transition: all 0.2s ease;
}
.search-input-box input[type="text"]:focus {
    border-color: #0f2537;
    background-color: #ffffff;
    outline: none;
    box-shadow: 0 0 0 3px rgba(15, 37, 55, 0.1);
}
.btn-primary-pvbk {
    background: #0f2537;
    color: #ffffff !important;
    padding: 9px 18px;
    border: none;
    border-radius: 6px;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    transition: background 0.2s ease;
}
.btn-primary-pvbk:hover {
    background: #1e3a54;
}
.btn-export-pvbk {
    background: #10b981;
    color: #ffffff !important;
    padding: 9px 16px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    box-shadow: 0 2px 6px rgba(16,185,129,0.25);
    transition: background 0.2s ease;
}
.btn-export-pvbk:hover {
    background: #059669;
}
.user-form-card {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 22px;
    margin-bottom: 22px;
    box-shadow: 0 4px 14px rgba(15, 37, 55, 0.06);
}
.form-grid-side {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
@media (max-width: 992px) {
    .form-grid-side { grid-template-columns: 1fr; }
}
.form-section-box {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 18px;
}
.form-section-box h3 {
    margin-top: 0;
    margin-bottom: 16px;
    color: #0f2537;
    font-size: 15px;
    font-weight: 700;
    border-bottom: 2px solid #d4af37;
    padding-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.form-field-group {
    margin-bottom: 13px;
}
.form-field-group label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: #334155;
    margin-bottom: 5px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.form-field-group input,
.form-field-group select {
    width: 100%;
    padding: 9px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-size: 13px;
    box-sizing: border-box;
    background: #ffffff;
}
.table-container-card {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(15, 37, 55, 0.05);
    width: 100%;
}
.user-data-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    text-align: left;
}
.user-data-table th {
    background: #f8fafc;
    color: #475569;
    padding: 8px 10px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
    border-bottom: 2px solid #e2e8f0;
    vertical-align: top;
    line-height: 1.3;
}
.user-data-table th a {
    color: #475569;
    text-decoration: none;
}
.user-data-table th a:hover {
    color: #0f2537;
    text-decoration: underline;
}
.th-filter-select {
    margin-top: 5px;
    display: block;
    width: 100%;
    padding: 3px 6px;
    font-size: 11px;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    background: #ffffff;
    color: #334155;
    font-weight: normal;
    text-transform: none;
    letter-spacing: normal;
    box-sizing: border-box;
}
.th-filter-select option {
    background: #ffffff;
    color: #0f2537;
}
.user-data-table td {
    padding: 10px 10px;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
    line-height: 1.35;
}
.user-data-table tr:hover td {
    background-color: #f8fafc;
}
.pvbk-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    border-radius: 16px;
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
}
.badge-active { background: #dcfce7; color: #166534; border: 1px solid #bbf7d0; }
.badge-pending { background: #fef9c3; color: #854d0e; border: 1px solid #fef08a; }
.badge-nopw { background: #e2e8f0; color: #475569; border: 1px solid #cbd5e1; }
.badge-off { background: #fee2e2; color: #991b1b; border: 1px solid #fecaca; }
.badge-member { background: #dbeafe; color: #1e40af; border: 1px solid #bfdbfe; }
.badge-guest { background: #f1f5f9; color: #475569; border: 1px solid #e2e8f0; }
.details-row-wrap {
    background: #f8fafc !important;
}
.details-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
    padding: 14px;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    margin: 6px 0;
}
.detail-item {
    font-size: 11px;
}
.detail-item strong {
    display: block;
    color: #64748b;
    font-size: 10px;
    text-transform: uppercase;
    margin-bottom: 2px;
}
.detail-item span {
    color: #0f2537;
    font-weight: 600;
}
.pagination-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: 12px 18px;
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
    gap: 12px;
}
.pagination-limit-box {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 600;
    color: #334155;
}
.pagination-limit-box select {
    padding: 5px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 5px;
    font-size: 12px;
    background: #ffffff;
    font-weight: 600;
    color: #0f2537;
}
.pagination-links {
    display: flex;
    gap: 4px;
    align-items: center;
}
.page-btn {
    padding: 5px 11px;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #0f2537;
    border-radius: 5px;
    text-decoration: none;
    font-size: 11px;
    font-weight: 600;
}
.page-btn.active {
    background: #0f2537;
    color: #ffffff;
    border-color: #0f2537;
}
.page-btn:hover:not(.active) {
    background: #e2e8f0;
}

/* Uniform Read-Only Banner across Admin modules */
.pvbk-read-only-banner {
    background: #eff6ff !important;
    border: 1px solid #3b82f6 !important;
    border-left: 4px solid #2563eb !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    margin-bottom: 16px !important;
    color: #1e40af !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    box-shadow: 0 1px 3px rgba(37,99,235,0.08) !important;
}

/* Standardized PVBK Switch Slider */
.pvbk-switch {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
    vertical-align: middle;
    margin: 0;
}
.pvbk-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}
.pvbk-slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: #cbd5e1;
    transition: all 0.25s ease;
    border-radius: 24px;
}
.pvbk-slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background-color: #ffffff;
    transition: all 0.25s ease;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0,0,0,0.25);
}
.pvbk-switch input:checked + .pvbk-slider {
    background-color: #10b981;
}
.pvbk-switch input:focus + .pvbk-slider {
    box-shadow: 0 0 1px #10b981;
}
.pvbk-switch input:checked + .pvbk-slider:before {
    transform: translateX(20px);
}
.pvbk-switch input:disabled + .pvbk-slider {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Global Filter Search Input */
.filter-search-input {
    width: 100%;
    padding: 10px 14px;
    font-size: 14px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    box-sizing: border-box;
    margin-bottom: 16px;
    background: #ffffff;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.05);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.filter-search-input:focus {
    border-color: #3b82f6;
    outline: none;
    box-shadow: 0 0 0 3px rgba(59,130,246,0.15);
}

.pvbk-signet {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    margin-right: 8px;
    flex-shrink: 0;
}

/* =========================================================
   UNIFIED THEME CARDS, TABLES & BUTTON TYPOGRAPHY
   ========================================================= */

/* Theme Cards (Kacheln) */
/* ============================================================
   PVBK UNIFIED UI DESIGN SYSTEM (SPECIFICATION R8.9)
   Zentralisierte Spezifikation aller UI-Komponenten
   ============================================================ */

/* 0. SEITEN-HAUPTTITEL TOOLBAR */
.admin-search-toolbar {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 16px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.02);
    box-sizing: border-box;
}
.admin-search-toolbar h2 {
    margin: 0 0 4px 0 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #0f2537 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    line-height: 1.3 !important;
}
.admin-search-toolbar p {
    margin: 0 !important;
    font-size: 13px !important;
    color: #64748b !important;
    line-height: 1.4 !important;
}

/* 1. SEKTIONS-UNTERTITEL (MIT GOLD-LINIE) */
.pvbk-section-header {
    font-size: 14px;
    font-weight: 700;
    color: #0f2537;
    margin: 20px 0 12px 0;
    padding-bottom: 6px;
    border-bottom: 2px solid #d4af37;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.pvbk-section-header h3, h3.pvbk-section-header {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: #0f2537;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* 2. KACHELN IN NAVY (ALLE MODULE) */
.lingo-theme-card, .setting-card, .pvbk-card {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    margin-bottom: 16px;
    box-shadow: 0 2px 8px rgba(15,37,55,0.04);
    overflow: hidden;
}
.lingo-theme-header, .setting-card-header, .pvbk-card-header {
    background: #0f2537 !important;
    color: #ffffff !important;
    padding: 10px 16px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    border-bottom: 3px solid #d4af37 !important;
    cursor: pointer;
    user-select: none;
    transition: background 0.15s ease;
    min-height: 44px;
    box-sizing: border-box;
}
.lingo-theme-header:hover, .setting-card-header:hover, .pvbk-card-header:hover {
    background: #173752 !important;
}
.lingo-theme-header h3, .setting-card-header h3, .pvbk-card-header h3, .tpl-group-header h3, .group-block-card .lingo-theme-header h3 {
    margin: 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}
.lingo-theme-header .collapse-icon, .setting-card-header .collapse-icon, .pvbk-card-header .collapse-icon, .tpl-group-header .collapse-icon {
    transition: transform 0.2s ease;
    font-size: 11px !important;
    color: #ffffff !important;
    margin-left: 8px;
    display: inline-block;
}
.lingo-theme-header.collapsed .collapse-icon, .setting-card-header.collapsed .collapse-icon, .pvbk-card-header.collapsed .collapse-icon {
    transform: rotate(-90deg);
}
.theme-counter-badge {
    font-size: 11px;
    opacity: 0.9;
    background: rgba(255,255,255,0.15);
    color: #ffffff;
    padding: 2px 8px;
    border-radius: 10px;
    font-weight: normal;
}
.lingo-theme-body, .setting-card-body, .pvbk-card-body {
    padding: 14px 16px !important;
    background: #ffffff !important;
}

/* 3. TABELLENKÖPFE (ZENTRAL & DEZENT-GRAU) */
.lingo-table, .access-table, .setting-table, .admin-user-table, .user-data-table, .analytics-table, .pvbk-table {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
    margin-bottom: 0;
}
.lingo-table th, .access-table th, .setting-table th, .admin-user-table th, .user-data-table th, .analytics-table th, .pvbk-table th, table th.pvbk-th,
.lingo-table thead th, .access-table thead th, .setting-table thead th, .admin-user-table thead th, .user-data-table thead th, .analytics-table thead th,
table.user-data-table th, table.admin-user-table th, table.lingo-table th, table.access-table th, table.setting-table th, table.analytics-table th {
    background: #f8fafc !important;
    color: #475569 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 8px 10px !important;
    border-bottom: 2px solid #e2e8f0 !important;
    text-align: left;
    line-height: 1.3;
}
.lingo-table td, .access-table td, .setting-table td, .user-data-table td {
    padding: 6px 10px;
    border-bottom: 1px solid #f1f5f9;
    font-size: 12px;
    vertical-align: middle;
    line-height: 1.35;
}
.lingo-table tr:last-child td, .access-table tr:last-child td, .setting-table tr:last-child td, .user-data-table tr:last-child td {
    border-bottom: none;
}


/* AUSSENBUTTONS (Toolbar, Haupt-Speichern, Export, Neu-Hinzufügen) */
.btn-primary-pvbk, .btn-secondary-pvbk, .btn-export-pvbk {
    height: 32px;
    padding: 0 16px;
    font-size: 13px;
    font-weight: 700;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    cursor: pointer;
    text-decoration: none;
    box-sizing: border-box;
    transition: all 0.15s ease;
    border: none;
}
.btn-primary-pvbk {
    background: #0f2537;
    color: #ffffff;
    box-shadow: 0 1px 3px rgba(15,37,55,0.15);
}
.btn-primary-pvbk:hover:not(:disabled) {
    background: #1e3a8a;
    color: #ffffff;
}
.btn-secondary-pvbk {
    background: #f1f5f9;
    color: #0f2537;
    border: 1px solid #cbd5e1;
}
.btn-secondary-pvbk:hover:not(:disabled) {
    background: #e2e8f0;
    color: #0f2537;
}
.btn-export-pvbk {
    background: #10b981;
    color: #ffffff;
}
.btn-export-pvbk:hover {
    background: #059669;
    color: #ffffff;
}

/* INNENBUTTONS (Zeilenaktionen, Pfeile, Mini-Buttons, Fmt, Vorschau, Testmail) */
.btn-inner-pvbk, .pvbk-btn-move, .pvbk-btn-add-plus, .pvbk-btn-delete-cross, .fmt-btn {
    height: 24px;
    min-width: 24px;
    padding: 0 6px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-sizing: border-box;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #0f2537;
    transition: all 0.15s ease;
}
.pvbk-btn-move:hover {
    background: #d4af37;
    color: #ffffff;
    border-color: #d4af37;
}
.pvbk-btn-delete-cross {
    background: #fee2e2;
    color: #ef4444;
    border-color: #fca5a5;
}
.pvbk-btn-delete-cross:hover {
    background: #ef4444;
    color: #ffffff;
    border-color: #ef4444;
}
.pvbk-btn-add-plus {
    background: #ecfdf5;
    color: #10b981;
    border-color: #a7f3d0;
}
.pvbk-btn-add-plus:hover {
    background: #10b981;
    color: #ffffff;
    border-color: #10b981;
}
.btn-row-action {
    height: 26px;
    padding: 0 10px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    cursor: pointer;
    border: 1px solid #cbd5e1;
    background: #f1f5f9;
    color: #0f2537;
}
.btn-row-action:hover {
    background: #e2e8f0;
}
.pvbk-btn-save-disk {
    background: #ecfdf5;
    color: #059669;
    border: 1px solid #a7f3d0;
    border-radius: 4px;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 11px;
    line-height: 1;
    transition: all 0.15s ease;
    padding: 0;
}
.pvbk-btn-save-disk:hover {
    background: #059669;
    color: #ffffff;
    border-color: #059669;
}
.pvbk-role-select {
    font-size: 11px;
    padding: 2px 6px;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    height: 24px;
    background: #ffffff;
    color: #0f2537;
    width: auto !important;
    max-width: 140px;
    display: inline-block;
    vertical-align: middle;
    box-sizing: border-box;
}

/* =========================================================================
   VORSTAND & GESCHÄFTSLEITUNG FRONTEND STYLES (REVIEWS 4 & 6)
   Schlichtes, rahmenloses Frontend-Design, abgestimmt auf style.css
   ========================================================================= */
.pvbk-vorstand-gl-wrap {
    width: 100%;
    margin-bottom: 32px;
    overflow-x: auto;
}
.pvbk-frontend-gl-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    line-height: 1.45;
    background: transparent;
}
.pvbk-frontend-gl-table th {
    text-align: left;
    padding: 10px 12px;
    font-weight: 700;
    color: #0f2537;
    border-bottom: 2px solid #cbd5e1;
    background: transparent;
}
.pvbk-frontend-gl-table td {
    padding: 12px;
    vertical-align: top;
    border-bottom: 1px solid #e2e8f0;
    color: #334155;
}
.pvbk-frontend-gl-table tr:last-child td {
    border-bottom: none;
}
.pvbk-gl-person-cell {
    display: flex;
    align-items: center;
    gap: 12px;
}
.pvbk-gl-avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid #e2e8f0;
    flex-shrink: 0;
}
.pvbk-gl-person-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.pvbk-gl-person-name {
    font-weight: 700;
    font-size: 13.5px;
    color: #0f2537;
}
.pvbk-gl-person-role {
    font-size: 12.5px;
    color: #475569;
    font-weight: 600;
}
.pvbk-gl-person-since {
    font-size: 11px;
    color: #94a3b8;
}
.pvbk-gl-func-cell {
    font-size: 12.5px;
    color: #475569;
    line-height: 1.45;
}
.pvbk-gl-contact-cell {
    font-size: 12px;
    color: #475569;
    line-height: 1.5;
}
.pvbk-gl-contact-cell a {
    color: #0284c7;
    text-decoration: none;
}
.pvbk-gl-contact-cell a:hover {
    text-decoration: underline;
}

/* VORSTAND KARTE & SEKTIONEN (INHALTSBREITE & HOVER-KACHEL) */
.pvbk-vorstand-stage-wrap {
    width: 100%;
    max-width: 100%;
    position: relative;
    box-sizing: border-box;
    margin: 16px 0 28px 0;
}
.pvbk-stage-canvas {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    background: #ffffff;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(15, 37, 55, 0.05);
}
.pvbk-stage-svg-bg {
    width: 100%;
    height: auto;
    display: block;
    box-sizing: border-box;
}
.pvbk-map-zone {
    transition: fill 0.25s ease, opacity 0.25s ease;
}
.pvbk-map-zone:hover {
    opacity: 0.85;
}
.pvbk-member-pin {
    cursor: pointer;
    transition: transform 0.15s ease;
}
.pvbk-member-pin:hover .pvbk-pin-dot {
    fill: #b91c1c;
    r: 10px;
}
.pvbk-map-hover-card {
    position: absolute;
    z-index: 30;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(15, 37, 55, 0.16);
    padding: 12px 14px;
    min-width: 250px;
    max-width: 320px;
    max-height: 390px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 #f8fafc;
    font-size: 12px;
    color: #0f2537;
    display: none;
    pointer-events: auto;
    transform: translate(-50%, -100%);
    transition: opacity 0.15s ease;
}
.pvbk-map-hover-card.multi-col {
    max-width: 580px;
    min-width: 520px;
}
.pvbk-hover-grid-2col {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
}
@media (max-width: 640px) {
    .pvbk-map-hover-card.multi-col {
        min-width: 280px;
        max-width: 90vw;
    }
    .pvbk-hover-grid-2col {
        grid-template-columns: 1fr !important;
    }
}
.pvbk-map-hover-card:after {
    content: '';
    position: absolute;
    bottom: -6px;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    width: 10px;
    height: 10px;
    background: #ffffff;
    border-right: 1px solid #cbd5e1;
    border-bottom: 1px solid #cbd5e1;
}
.pvbk-map-hover-card.open-down {
    transform: translate(-50%, 0);
}
.pvbk-map-hover-card.open-down:after {
    bottom: auto;
    top: -6px;
    border-right: none;
    border-bottom: none;
    border-left: 1px solid #cbd5e1;
    border-top: 1px solid #cbd5e1;
}
.pvbk-sektor-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}
.pvbk-sektor-title h3 {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: #0f2537;
    display: flex;
    align-items: center;
    gap: 8px;
}
.pvbk-sektor-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
}
.pvbk-sektor-count {
    font-size: 12px;
    color: #64748b;
    font-weight: 600;
}
.pvbk-sektor-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 14px;
}
.pvbk-mini-vcard {
    display: flex;
    gap: 12px;
    padding: 12px;
    background: #f8fafc;
    border-radius: 6px;
    border: 1px solid #f1f5f9;
    transition: background 0.15s ease;
}
.pvbk-mini-vcard:hover {
    background: #f1f5f9;
}
.pvbk-mini-thumb {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid #e2e8f0;
    flex-shrink: 0;
}
.pvbk-mini-details {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1;
}
.pvbk-mini-name {
    font-weight: 700;
    font-size: 13.5px;
    color: #0f2537;
}
.pvbk-mini-role-plain {
    font-size: 12px;
    color: #475569;
    font-weight: 600;
}
.pvbk-mini-contact {
    margin-top: 4px;
    font-size: 11.5px;
    color: #64748b;
    line-height: 1.4;
}
.pvbk-mini-adr {
    font-size: 11.5px;
    color: #64748b;
    margin-bottom: 2px;
}
.pvbk-mini-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 2px;
}
.pvbk-mini-links a {
    color: #0284c7;
    text-decoration: none;
    font-size: 11.5px;
}
.pvbk-mini-links a:hover {
    text-decoration: underline;
}
.pvbk-stage-panel-vacant {
    background: #fffbeb;
    padding: 16px;
    border-radius: 6px;
    border-bottom: none;
}
.pvbk-vcard-vacant {
    background: #ffffff;
    border: 1px dashed #f59e0b;
}
.pvbk-mini-desc {
    font-size: 12px;
    color: #64748b;
    margin: 4px 0 6px 0;
    line-height: 1.4;
}
.pvbk-vacant-link {
    font-weight: 600;
    color: #b45309 !important;
}

/* Verhindert native Doppel-Icons für Passworteinsicht in Microsoft Edge / IE */
input::-ms-reveal,
input::-ms-clear {
    display: none !important;
}
