/*! Malerwerkstätte Stappert – www.stappert-gmbh.de
 * Enthält Teile von Bootstrap (Copyright 2012 Twitter, Inc.,
 * Apache License 2.0, https://www.apache.org/licenses/LICENSE-2.0),
 * reduziert auf die von dieser Website genutzten Regeln. */

/* ---------- Basis (aus Bootstrap) ---------- */

.clearfix{*zoom:1}
.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}
.clearfix:after{clear:both}
figcaption,figure,footer,header,nav{display:block}
html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}
a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}
a:hover,a:active{outline:0}
img{width:auto\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}
button{margin:0;font-size:100%;vertical-align:middle}
button{*overflow:visible;line-height:normal}
button::-moz-focus-inner{padding:0;border:0}
button{cursor:pointer;-webkit-appearance:button}
button{cursor:pointer}
@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}a[href^="#"]:after{content:""}blockquote{border:1px solid #999;page-break-inside:avoid}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}
body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}
a{color:#08c;text-decoration:none}
a:hover,a:focus{color:#005580;text-decoration:underline}
.row{margin-left:-20px;*zoom:1}
.row:before,.row:after{display:table;line-height:0;content:""}
.row:after{clear:both}
[class*="span"]{float:left;min-height:1px;margin-left:20px}
.container{width:940px}
.span12{width:940px}
.span9{width:700px}
.span6{width:460px}
.span3{width:220px}
.offset3{margin-left:260px}
.container{margin-right:auto;margin-left:auto;*zoom:1}
.container:before,.container:after{display:table;line-height:0;content:""}
.container:after{clear:both}
p{margin:0 0 10px}
small{font-size:85%}
strong{font-weight:bold}
em{font-style:italic}
cite{font-style:normal}
h1,h2,h3{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility}
h1,h2,h3{line-height:40px}
h1{font-size:38.5px}
h2{font-size:31.5px}
h3{font-size:24.5px}
ul{padding:0;margin:0 0 10px 25px}
ul ul{margin-bottom:0}
li{line-height:20px}
blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}
blockquote p{margin-bottom:0;font-size:17.5px;font-weight:300;line-height:1.25}
blockquote small{display:block;line-height:20px;color:#999}
blockquote small:before{content:'\2014 \00A0'}
blockquote:before,blockquote:after{content:""}
button{font-size:14px;font-weight:normal;line-height:20px}
button{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}
[class^="icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-position:14px 14px;background-repeat:no-repeat}
.open{*z-index:1000}
.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}
.collapse.in{height:auto}
.nav{margin-bottom:20px;margin-left:0;list-style:none}
.nav>li>a{display:block}
.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}
.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible}
.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}
.navbar-inner:before,.navbar-inner:after{display:table;line-height:0;content:""}
.navbar-inner:after{clear:both}
.navbar .container{width:auto}
.nav-collapse.collapse{height:auto;overflow:visible}
.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}
.navbar .nav>li{float:left}
.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777;text-decoration:none;text-shadow:0 1px 0 #fff}
.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}
.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}
.navbar .btn-navbar:hover,.navbar .btn-navbar:focus,.navbar .btn-navbar:active{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}
.navbar .btn-navbar:active{background-color:#ccc \9}
.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}
.btn-navbar .icon-bar+.icon-bar{margin-top:3px}
.carousel{position:relative;margin-bottom:20px;line-height:1}
.carousel-inner{position:relative;width:100%;overflow:hidden}
.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}
.carousel-inner>.item>img{display:block;line-height:1}
.carousel-inner>.active,.carousel-inner>.next{display:block}
.carousel-inner>.active{left:0}
.carousel-inner>.next{position:absolute;top:0;width:100%}
.carousel-inner>.next{left:100%}
.carousel-inner>.next.left{left:0}
.carousel-inner>.active.left{left:-100%}
.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}
.carousel-control.right{right:15px;left:auto}
.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}
.clearfix{*zoom:1}
.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}
.clearfix:after{clear:both}
@media(min-width:768px) and (max-width:979px){.hidden-tablet{display:none!important}}
@media(max-width:767px){.hidden-phone{display:none!important}}
@media(min-width:1200px){.row{margin-left:-30px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:30px}.container{width:1170px}.span12{width:1170px}.span9{width:870px}.span6{width:570px}.span3{width:270px}.offset3{margin-left:330px}}
@media(min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container{width:724px}.span12{width:724px}.span9{width:538px}.span6{width:352px}.span3{width:166px}.offset3{margin-left:206px}}
@media(max-width:767px){body{padding-right:20px;padding-left:20px}.container{width:auto}.row{margin-left:0}[class*="span"]{display:block;float:none;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}
@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}}
@media(max-width:979px){body{padding-top:0}.navbar .container{width:auto;padding:0}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 10px}.nav-collapse .nav>li{float:none}.nav-collapse .nav>li>a{margin-bottom:2px}.nav-collapse .nav>li>a{padding:9px 15px;font-weight:bold;color:#777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .nav>li>a:hover,.nav-collapse .nav>li>a:focus{background-color:#f2f2f2}.nav-collapse,.nav-collapse.collapse{height:0;overflow:hidden}.navbar .btn-navbar{display:block}}
@media(min-width:980px){.nav-collapse.collapse{height:auto!important;overflow:visible!important}}

/* ---------- Theme (unverändert aus dem CMS) ---------- */

body{font-size:12px}h1{font-size:14px;text-transform:uppercase}h2,h3{font-size:12px;text-transform:uppercase;line-height:18px;min-height:40px}.navbar{margin-top:30px;height:60px;background-color:#1471B4!important;background-image:url(../img/header-bg.png)!important;background-repeat:repeat-y}.navbar-inner{background:none;border:medium none!important;box-shadow:none!important;margin:0 auto!important;max-width:1175px!important}.navbar-inner .container{background-color:#1471B4!important}.navbar .logo{margin-right:140px;float:left}.navbar .nav li a{text-transform:uppercase;color:#fff;text-shadow:none;border-right:1px solid #fff;font-size:12px;padding:40px 12px 0}.navbar .nav li a:hover,.navbar ul.nav li a.menuactive{background-color:#F19221}.parent ul{display:none;margin:0;list-style:none;position:absolute;top:60px}.parent ul li a{background-color:#0F3F67;position:relative;float:left;text-decoration:none;border-right:none;border-top:1px solid #fff;width:200px;z-index:5000}li.parent:hover ul{display:block}.carousel{margin-bottom:30px}.carousel .container{position:relative;z-index:9}.carousel-control{height:80px;margin-top:0;font-size:120px;text-shadow:0 1px 1px rgba(0,0,0,.4);background-color:transparent;border:0;z-index:10}.carousel .item{min-height:341px}.carousel img{top:0;left:0;width:100%;min-width:1024px;min-height:341px}.carousel .item{-webkit-transition:opacity 3s;-moz-transition:opacity 3s;-ms-transition:opacity 3s;-o-transition:opacity 3s;transition:opacity 3s}.carousel .active.left{left:0;opacity:0;z-index:2}.carousel .next{left:0;opacity:1;z-index:1}.carousel-caption{background-color:rgba(15,68,103,0.7);max-width:550px;padding:10px 20px 40px;margin-bottom:130px;position:absolute}.carousel-caption .lead{margin:0 0 40px;line-height:1.25;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.4);font-size:16px}.carousel a.more{background-color:#F19221;color:#fff;text-transform:uppercase;padding:15px 50px;margin-bottom:20px}.carousel a.more:hover{background-color:#0F3F67;text-decoration:none}.carousel-caption h2{font-size:16px;text-transform:uppercase;color:#fff}#service{background-color:#0F3F67;height:60px;margin-bottom:30px}#service .container{background-color:#1471B4;height:60px}#service ul li{float:left;list-style:none;background-image:url(../img/service-list.png);background-repeat:no-repeat;margin-top:19px;padding-left:27px;padding-right:45px;line-height:21px}#service ul li a{text-transform:uppercase;color:#fff}#content{margin-bottom:60px}#content .featured{margin-top:20px}#content .featured p{min-height:150px}#content a.more{background-color:#F19221;color:#fff;text-transform:uppercase;padding:15px 26px}#content a.more:hover{background-color:#0F3F67;text-decoration:none}#content .main-start{margin-top:30px}footer{background-color:#0F3F67;padding-bottom:30px;color:#fff}footer h3{font-size:12px;border-bottom:1px solid #F19221;text-transform:uppercase}footer a{color:#F19221}footer a:hover{color:#F19221}footer ul{list-style:none;padding:0;margin:0}footer li a{text-transform:uppercase;color:#fff}@media (min-width: 768px) and (max-width: 979px){button.btn-navbar{margin-top:12px!important}.navbar{margin-top:30px;background-color:#1471B4!important;background-image:url(../img/header-bg.png)!important;background-repeat:repeat-y;background-size:contain!important}.navbar .nav-collapse{background-color:#1471B4!important;z-index:1000}.parent ul li a{background-color:#0F3F67;position:relative;float:left;text-decoration:none;border-right:none;border-top:1px solid #fff;width:100%;z-index:5000;padding-top:5px!important;padding-bottom:5px!important}}@media (max-width: 767px){button.btn-navbar{margin-top:5px!important}.navbar{margin-top:30px;height:39px!important;background-color:#1471B4!important;background-image:url(../img/header-bg.png)!important;background-repeat:repeat-y;background-size:contain!important}.navbar-inner{background:none;border:medium none!important;box-shadow:none!important;margin:0 auto!important;max-width:1175px!important}.navbar-inner .container{background-color:#1471B4!important}.navbar .logo{margin-right:60px;float:left;width:250px}.navbar .nav-collapse{background-color:#1471B4!important}.parent ul li a{background-color:#0F3F67;position:relative;float:left;text-decoration:none;border-right:none;border-top:1px solid #fff;width:100%;z-index:5000;padding-top:5px!important;padding-bottom:5px!important}footer .span3{padding:15px}}@media (max-width: 480px){.navbar{margin-top:10px;height:20px!important;background-color:rgba(0,0,0,0)!important;background-image:none!important;background-size:auto auto!important}.navbar-inner{background:none;border:medium none!important;box-shadow:none!important;margin:0 auto!important;max-width:1175px!important}.navbar-inner .container{background-color:rgba(0,0,0,0)!important}.navbar .logo{margin-right:5px;float:left;width:200px;margin-top:4px}.parent ul li a{background-color:#0F3F67;position:relative;float:left;text-decoration:none;border-right:none;border-top:1px solid #fff;width:100%;z-index:5000;padding-top:5px!important;padding-bottom:5px!important}}.h1{font-size: 14px;text-transform: uppercase;}
/* Cookie Hinweis */#cookiehinweis a {color:#000; text-decoration:none;}#cookiehinweis a:hover {text-decoration:underline;}#cookiehinweis div {padding:10px; padding-right:40px;}#cookiehinweis {text-align:right;background: rgba(247, 247, 247, 0.76);filter: progid:DXImageTransform.Microsoft.gradient(   startColorstr='#d6e0eb', endColorstr='#f2f6f9',GradientType=0 );position:fixed;bottom:0px;z-index:10000;width:100%;font-size:12px;line-height:16px;}#cookiehinweisCloser {color: #F19221;font-size: 14px;position: absolute;right: 5px;text-decoration: none;text-shadow: 0 1px 0 #fff;top: 5px;cursor:pointer;border:1px solid #F19221;padding:4px;background: #ced6df; }

/* Ergänzungen zum Original-Theme (style.min.css bleibt unverändert) */

.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 10000;
  background: #F19221; color: #fff; padding: 10px 15px; text-transform: uppercase;
}
.skip-link:focus { left: 10px; top: 10px; color: #fff; }

.navbar .logo { height: auto; }

/* Buttons: sichtbare Tastaturbedienung */
#content a.more:focus, .navbar .nav li a:focus { outline: 2px solid #F19221; outline-offset: 2px; }
.contact-actions { line-height: 50px; }
.contact-actions a.more { margin-right: 10px; white-space: nowrap; }

/* Untermenü per Tastatur erreichbar machen */
.subnav-toggle { display: none; }
li.parent:focus-within ul { display: block; }

/* Bilder nie breiter als ihre Spalte (z. B. Burg Vondern, 1947 px) */
#content img { max-width: 100%; height: auto; }

/* Impressum: Tabelle statt bgcolor-Attributen */
table.impressum { max-width: 627px; margin-bottom: 20px; }
table.impressum th, table.impressum td { padding: 4px 8px; vertical-align: top; text-align: left; }
table.impressum th { font-weight: normal; width: 40%; }
table.impressum tr:nth-child(odd) th, table.impressum tr:nth-child(odd) td { background: #ddd; }

/* ---------- Mobile Navigation (ab Tablet abwärts klappt Bootstrap zusammen) ---------- */
@media (max-width: 979px) {
  .navbar .nav-collapse { clear: both; }
  /* früher setzte Bootstrap-JS die Höhe inline; jetzt reicht die Klasse */
  .navbar .nav-collapse.collapse.in { height: auto; overflow: visible; }
  .navbar .nav-collapse .nav { margin: 0; }
  .navbar .nav-collapse .nav > li { float: none; position: relative; }
  .navbar .nav-collapse .nav li a {
    display: block;
    padding: 13px 15px !important;
    margin: 0;
    border-right: 0;
    border-top: 1px solid rgba(255, 255, 255, .35);
    border-radius: 0;
    font-size: 14px;
  }
  .navbar .nav-collapse .nav li a:hover { background-color: #F19221; }

  /* Hover gibt es auf Touch-Geräten nicht: Untermenü nur per Pfeil-Button */
  .navbar .nav-collapse li.parent:hover ul { display: none; }
  .navbar .nav-collapse li.parent.open ul,
  .navbar .nav-collapse li.parent:focus-within ul { display: block; }
  .navbar .nav-collapse .parent ul { position: static; padding: 0; margin: 0; }
  .navbar .nav-collapse .parent ul li a {
    float: none; width: auto;
    padding-left: 30px !important;
    background-color: #0F3F67;
    font-size: 13px;
  }
  .navbar .nav-collapse .parent ul li a.menuactive { background-color: #F19221; }
  .navbar .nav-collapse .parent > a { margin-right: 52px; }
  .subnav-toggle {
    display: block;
    position: absolute; top: 0; right: 0;
    width: 52px; height: 46px;
    background: transparent; border: 0;
    border-top: 1px solid rgba(255, 255, 255, .35);
    border-left: 1px solid rgba(255, 255, 255, .35);
    cursor: pointer;
  }
  .subnav-toggle::before {
    content: "";
    display: block; margin: -4px auto 0;
    width: 9px; height: 9px;
    border-right: 2px solid #fff; border-bottom: 2px solid #fff;
    transform: rotate(45deg);
    transition: transform .2s;
  }
  .subnav-toggle[aria-expanded="true"]::before { transform: rotate(-135deg); margin-top: 4px; }
}

@media (max-width: 480px) {
  /* Ab hier ist der Kopf transparent – aufgeklapptes Menü braucht wieder Hintergrund */
  .navbar .nav-collapse { background-color: #1471B4 !important; margin: 0 -20px; }
}


/* ---------- Burger-Button (ersetzt den grauen Bootstrap-2-Verlaufsknopf) ---------- */
.navbar .btn-navbar {
  position: relative;
  width: 44px; height: 44px;
  margin: 8px 0 0 10px !important;
  padding: 0;
  background: #F19221;
  background-image: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  text-shadow: none;
  filter: none;
  cursor: pointer;
}
.navbar .btn-navbar:hover,
.navbar .btn-navbar:focus,
.navbar .btn-navbar:active { background: #0F3F67; box-shadow: none; }
.navbar .btn-navbar:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }
.navbar .btn-navbar .icon-bar {
  position: absolute; left: 11px;
  width: 22px; height: 2px;
  margin: 0;
  background: #fff;
  border-radius: 0;
  box-shadow: none;
  transition: transform .25s, opacity .2s, top .25s;
}
.navbar .btn-navbar .icon-bar:nth-of-type(2) { top: 14px; }
.navbar .btn-navbar .icon-bar:nth-of-type(3) { top: 21px; }
.navbar .btn-navbar .icon-bar:nth-of-type(4) { top: 28px; }
.navbar .btn-navbar[aria-expanded="true"] .icon-bar:nth-of-type(2) { top: 21px; transform: rotate(45deg); }
.navbar .btn-navbar[aria-expanded="true"] .icon-bar:nth-of-type(3) { opacity: 0; }
.navbar .btn-navbar[aria-expanded="true"] .icon-bar:nth-of-type(4) { top: 21px; transform: rotate(-45deg); }

@media (max-width: 767px) {
  .navbar .btn-navbar { width: 39px; height: 39px; margin-top: 0 !important; }
  .navbar .btn-navbar .icon-bar { left: 9px; width: 21px; }
  .navbar .btn-navbar .icon-bar:nth-of-type(2) { top: 12px; }
  .navbar .btn-navbar .icon-bar:nth-of-type(3),
  .navbar .btn-navbar[aria-expanded="true"] .icon-bar { top: 18.5px; }
  .navbar .btn-navbar .icon-bar:nth-of-type(4) { top: 25px; }
  .navbar .btn-navbar[aria-expanded="true"] .icon-bar:nth-of-type(4) { top: 18.5px; }
}
@media (max-width: 480px) {
  .navbar .btn-navbar { margin-top: 0 !important; }
}

/* ---------- Share-Links (statisch, ersetzt Shariff) ---------- */
.share { list-style: none; margin: 10px 0 0; padding: 0; display: flex; gap: 4px; }
.share a {
  display: flex; align-items: center; justify-content: center;
  width: 32px; height: 32px;
  color: #fff;
}
.share a:hover, .share a:focus { opacity: .8; color: #fff; }
.share svg { width: 16px; height: 16px; fill: currentColor; }
.share .facebook a { background: #3b5998; }
.share .x a { background: #000; }
.share .whatsapp a { background: #5cbe4a; }
.share .mail a { background: #999; }
.share .info a { background: #fff; color: #0F3F67; }
.share .info a:hover, .share .info a:focus { color: #0F3F67; }

/* Hinweis auf PDF/Video, die in einem neuen Fenster öffnen */
.ext-hint { font-weight: normal; font-size: 11px; color: #666; }

/* ---------- Galerie (aus dem CMS-Modul „Gallery“) ---------- */
.gallery .img { height: 120px; float: left; margin: 10px; text-align: center; }
.gallery .img a { display: inline-block; border: 2px solid #ddd; padding: 1px; }
.gallery .img a:hover, .gallery .img a:focus { border-color: #999; }
.gallery img { border: none; }
.gallery .pagenavigation { height: 50px; }
.gallery .galleryclear { clear: both; height: 0; overflow: hidden; }

/* ---------- Lightbox (Optik wie Lightbox 2, technisch <dialog>) ---------- */
dialog.lightbox {
  max-width: none; max-height: none;
  width: 100%; height: 100%;
  margin: 0; padding: 0;
  border: 0;
  background: transparent;
  display: none;
}
dialog.lightbox[open] { display: flex; align-items: center; justify-content: center; }
dialog.lightbox::backdrop { background: rgba(0, 0, 0, .8); }
.lightbox-frame {
  position: relative;
  margin: 0;
  max-width: calc(100vw - 20px);
}
.lightbox-image {
  display: block;
  max-width: calc(100vw - 40px);
  max-height: calc(100vh - 90px);
  padding: 10px;
  background: #fff;
  border-radius: 4px;
  transition: opacity .2s;
}
.lightbox-image.loading { opacity: .4; }
.lightbox-frame figcaption {
  color: #ccc; font-size: 12px; line-height: 16px;
  padding: 6px 40px 0 4px;
  min-height: 34px;
}
.lightbox-caption { display: block; font-weight: bold; color: #fff; }
.lightbox-number { display: block; color: #999; }
.lightbox-prev, .lightbox-next {
  position: absolute; top: 10px; bottom: 50px; width: 40%;
  border: 0; background: transparent no-repeat; cursor: pointer;
  opacity: 0; transition: opacity .2s;
}
.lightbox-prev { left: 10px; background-image: url(../img/lightbox-prev.png); background-position: left 48%; }
.lightbox-next { right: 10px; background-image: url(../img/lightbox-next.png); background-position: right 48%; }
.lightbox-prev:hover, .lightbox-next:hover,
.lightbox-prev:focus-visible, .lightbox-next:focus-visible { opacity: 1; }
@media (hover: none) { .lightbox-prev, .lightbox-next { opacity: .8; } }
.lightbox-close {
  position: absolute; right: 4px; bottom: 6px;
  width: 30px; height: 30px;
  border: 0; cursor: pointer;
  background: url(../img/lightbox-close.png) no-repeat center;
  opacity: .7;
}
.lightbox-close:hover, .lightbox-close:focus-visible { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  .carousel .item, .navbar .btn-navbar .icon-bar, .subnav-toggle::before { transition: none !important; }
}
