/* Gemeinsame Optimierung; bestehende Dreamweaver-Klassen bleiben erhalten. */
body{font-family:'Open Sans',Arial,sans-serif;font-weight:400;color:#333}
.content{background-color:rgba(255,255,255,.97)}
.content:after,.row_1:after,.row_2:after{content:'';display:table;clear:both}
.content p,.content a{font-weight:400;line-height:1.6}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #00638a;outline-offset:3px}
.content a:hover{text-decoration:underline}
.skip-link{position:fixed;top:-100px;left:10px;background:#fff;padding:12px;z-index:2000}
.skip-link:focus{top:5px}
.brand-mark{padding-bottom:16px}
.brand-mark img{margin:auto}

/* Navigation */
.site-nav{background:#286b9c;color:#fff}
.site-nav ul{list-style:none;margin:0;padding:0}
.site-nav>ul{display:flex;flex-wrap:wrap;justify-content:center}
.site-nav li{position:relative}
.site-nav a,.site-nav summary{display:block;padding:12px 14px;min-height:24px;font-size:16px;font-weight:400;line-height:24px;color:#fff;cursor:pointer;text-decoration:none}
.site-nav a:visited{color:#fff}
.site-nav a:hover,.site-nav summary:hover,.site-nav [aria-current]{background:#174a70;color:#fff}
.site-nav details>ul{position:absolute;top:100%;left:0;min-width:210px;background:#286b9c;box-shadow:0 5px 12px #0003;z-index:950}
.menu-toggle{display:none;border:0;background:transparent;color:#fff;font:inherit;padding:14px;min-height:48px}
.site-nav:has(.menu-toggle:focus-visible){outline:2px solid #fff}

.site-nav a:focus,
.site-nav a:active,
.site-nav summary:focus {
    color: #fff;
}

/* Untermenüs durch einen Pfeil kennzeichnen */
.site-nav summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    list-style: none;
}

.site-nav summary::-webkit-details-marker {
    display: none;
}

.site-nav summary::after {
    content: "";
    width: 6px;
    height: 6px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
}

.site-nav details[open] > summary::after {
    transform: rotate(225deg);
}

/* Slider */
.site-slider{position:relative;isolation:isolate;overflow:hidden;width:100%;margin:0}
.site-slider img{display:block;width:100%;height:auto}
.site-slider img[hidden]{display:none}
.slider-controls{position:absolute;right:8px;bottom:8px;display:flex;gap:4px}
.slider-controls button{border:1px solid #fff;background:#164767;color:#fff;padding:8px 12px;min-width:44px;min-height:44px;font:inherit;cursor:pointer}

/* Produktgalerie */
.product-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:100%}
.product-gallery figure{margin:0;min-width:0}
.product-gallery img{width:100%;height:auto;display:block}
.product-gallery figcaption{padding:10px 8px;color:#333;background:#fff;font-size:16px;line-height:1.5}
.product-gallery figcaption p{font-size:16px}
.text_2 .product-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Video und Footer */
video{display:block;max-width:100%;height:auto}
.video{max-width:100%}
.footer_1 a{display:inline-block;padding:12px;min-height:24px}

/* Shop-Button: auf allen Geräten rechts fixiert */
body .box {
    position: fixed !important;
    right: 0;
    top: 40%;
    bottom: auto;
    z-index: 1000;
    width: 100px;
    height: auto;
    margin: 0;
    padding: 5px 0 5px 5px;
    visibility: visible;
}

.box a {
    display: block;
}

.box img {
    display: block;
    width: 100%;
    height: auto;
}

/* Bildvergrößerung */
.site-lightbox{border:0;border-radius:4px;padding:12px;max-width:90vw;max-height:90vh;background:#fff;color:#333}
.site-lightbox::backdrop{background:#000c}
.site-lightbox img{display:block;max-height:70vh;max-width:85vw;width:auto;height:auto;margin:auto}
.site-lightbox button{padding:10px;min-height:44px;font:inherit;cursor:pointer}
.lightbox-controls{display:flex;justify-content:space-between;gap:12px}
.site-lightbox p{font-size:16px;margin:8px 0}

/* Handy und Tablet */
@media (max-width:1023px) {
    .site-nav>ul{display:block}
    .site-nav details>ul{position:static;box-shadow:none;padding-left:16px}
    .menu-toggle{display:block}
    .js .site-nav>ul{display:none}
    .js .site-nav.is-open>ul{display:block}
    .site-nav a,.site-nav summary{padding:12px 18px}

    .text_1_1,.text_1_2,.text_2_r,.text_4,.bild,.video{
        float:none;
        width:96%;
        padding:2%;
        height:auto;
    }

    .video{box-sizing:border-box;width:100%;padding:0}
    .video video{width:100%}
    .product-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}

    body .box {
        width: 55px;
    }

    .row_4,.column_4{min-height:0}
    .row_4{padding-bottom:24px}
    body{background-attachment:scroll;margin-top:8px}
    .site-slider .slider-controls button{
        min-width:44px;
        min-height:44px;
        padding:6px 10px;
    }
}

/* Kleine Handybildschirme */
@media (max-width:640px) {
    .product-gallery,.text_2 .product-gallery{
        grid-template-columns:minmax(0,1fr);
    }

    .content h1{font-size:26px}
    .content h2{font-size:22px}
    .content p{font-size:18px}
    .content .text,.content .text_1,.content .text_2{
        float:none;
        width:92%;
        padding:4%;
        text-align:left;
    }

    .column_0,.column_1,.column_2,.column_4{
        width:96%;
        padding-left:2%;
        padding-right:2%;
    }

    .row_1{position:relative}
    .site-slider .slider-controls{bottom:4px;right:4px}
}

/* DWMasonryGallery: ursprüngliche Skins und Effekte */
.DWMasonryGallery_container{
    max-width:100%;
    font-family:'Open Sans',Arial,sans-serif;
}

.DWMasonryGallery_container img{height:auto}

@media (max-width:640px) {
    [id^="DWMasonryGallery"].DWMasonryGallery_container .DWMasonryGallery_widget,
    [id^="DWMasonryGallery"].DWMasonryGallery_container .grid-sizer{
        width:100%!important;
    }

    [id^="DWMasonryGallery"].DWMasonryGallery_container .gutter-sizer{
        width:0!important;
    }
}

/* Sanftes Einblenden der Untermenüs am Computer */
@media (min-width:1024px) {
    .site-nav details[open] > ul {
        animation: subnav-einblenden 0.25s ease-out;
    }
}

@keyframes subnav-einblenden {
    from {
        opacity:0;
        transform:translateY(6px);
    }
    to {
        opacity:1;
        transform:translateY(0);
    }
}

/* Reduzierte Bewegung berücksichtigen */
@media (prefers-reduced-motion:reduce) {
    *{
        scroll-behavior:auto!important;
        transition:none!important;
        animation:none!important;
    }
}