/* ═══ CSS CUSTOM PROPERTIES ═══════════════════════════════════════════════════
Generiert von dwb_generate_dynamic_css() – nicht manuell bearbeiten.
Datei wird bei Customizer-Speichern automatisch überschrieben.
══════════════════════════════════════════════════════════════════════════════ */
:root {
--brand-primary:   #175e75;
--brand-secondary: #444444;
--brand-accent:    #ff9800;
--logo-w-desktop:  100px;
--logo-w-mobile:   70px;
--menu-link:       #ffffff;
--menu-hover:      #ff9000;
--ind-color:       #ff9000;
--menu-weight:     700;
--menu-transform:  uppercase;
--menu-spacing:    2px;
--btn-bg:          #ff9900;
--btn-text:        #ffffff;
--btn-hover:       #707070;
--btn-radius:      10px;
--btn-font-size:   16px;
--btn-pad-v:       10px;
--btn-pad-h:       23px;
--container-w:     1400px;
--main-font:       'Roboto', sans-serif;
--base-text-color: #0a0a0a;
--link-color:      #175e75;
--link-hover:      #ff9000;
--h1-size:  35px;
--h1-color: #111111;
--h2-size:  30px;
--h2-color: #111111;
--h3-size:  25px;
--h3-color: #111111;
--h4-size:  25px;
--h4-color: #111111;
--h5-size:  20px;
--h5-color: #111111;
--h6-size:  15px;
--h6-color: #111111;
--sb-width: 25%;
--sb-bg:    transparent;
--sb-link:  #175e75;
--sb-hover: #ff9900;
--btt-bg:     #ff9900;
--btt-radius: 50px;
--btt-size:   20px;
--slider-h:        600px;
--slider-h-mobile: 300px;
}
/* ═══ BASE ═══════════════════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; }
body {
font-family: var(--main-font);
color: var(--base-text-color);
line-height: 1.6; margin: 0; padding: 0;
-webkit-font-smoothing: antialiased;
background-color: #ffffff;
}
h1 { font-size: var(--h1-size); color: var(--h1-color); }
h2 { font-size: var(--h2-size); color: var(--h2-color); }
h3 { font-size: var(--h3-size); color: var(--h3-color); }
h4 { font-size: var(--h4-size); color: var(--h4-color); }
h5 { font-size: var(--h5-size); color: var(--h5-color); }
h6 { font-size: var(--h6-size); color: var(--h6-color); }
a { color: var(--link-color); }
a:hover { color: var(--link-hover); }
.content-area a, .entry-content a { color: var(--link-color); text-decoration: underline; transition: color .2s; }
.content-area a:hover, .entry-content a:hover { color: var(--link-hover); }
/* ═══ CONTAINER ══════════════════════════════════════════════════════════════ */
.container { max-width: var(--container-w); margin: 0 auto; padding: 0 20px; width: 100%; }
.container-fluid { width: 100%; padding: 0; }
/* ═══ HEADER ════════════════════════════════════════════════════════════════
.header-row hat display:block damit background-image korrekt funktioniert.
Der innere header-grid-container übernimmt das Flex/Grid-Layout.
══════════════════════════════════════════════════════════════════════════════*/
.site-header { width: 100%; position: relative; }
.header-row {
display: block;
width: 100%;
position: relative;
background-size:     cover     !important;
background-position: center    !important;
background-repeat:   no-repeat !important;
}
.mode-image .header-img-spacer { position: relative; z-index: 0; }
.mode-image .header-img-overlay {
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
z-index: 1;
display: flex;
align-items: center;
}
/* ═══ HEADER GRID ════════════════════════════════════════════════════════════ */
.header-grid-container {
display: grid;
grid-template-columns: auto 1fr auto;
align-items: center;
width: 100%;
min-height: 0;
}
.dwb-mobile-only { display: none !important; }
.header-col { display: flex; align-items: center; min-width: 0; overflow: visible; }
.header-row img { max-width: var(--logo-w-desktop); height: auto; display: block; flex-shrink: 0; }
/* ═══ SOCIAL ICONS ═══════════════════════════════════════════════════════════ */
.dwb-header-social {
display: flex;
gap: 12px;
align-items: center;
flex-wrap: wrap;
}
.social-icon {
display: inline-flex; align-items: center; justify-content: center;
text-decoration: none;
color: #ffffff;
transition: opacity .2s, transform .2s;
flex-shrink: 0;
}
.social-icon svg { width: 100%; height: 100%; display: block; }
.social-icon:hover { opacity: .75; transform: translateY(-2px); }
.style-brand .social-icon-facebook  { color: #1877F2; }
.style-brand .social-icon-instagram { color: #E4405F; }
.style-brand .social-icon-twitter   { color: #1DA1F2; }
.style-brand .social-icon-linkedin  { color: #0A66C2; }
.style-brand .social-icon-youtube   { color: #FF0000; }
.style-brand .social-icon-whatsapp  { color: #25D366; }
/* ═══ KONTAKT ════════════════════════════════════════════════════════════════ */
.dwb-header-contact a { text-decoration: none; color: inherit; white-space: nowrap; transition: opacity .2s; }
.dwb-header-contact a:hover { opacity: .75; }
/* ═══ SLIDER ═════════════════════════════════════════════════════════════════ */
.dwb-hero-slider {
position: relative; width: 100%;
height: var(--slider-h);
overflow: hidden; background: #333;
}
.dwb-slide {
position: absolute; inset: 0;
background-size: cover; background-position: center;
opacity: 0; transition: opacity 1s ease;
display: flex; align-items: center;
z-index: 1;
}
.dwb-slide.is-active { opacity: 1; z-index: 2; }
.dwb-slide-content {
position: relative; z-index: 3;
text-shadow: 0 2px 10px rgba(0,0,0,.4);
width: 100%;
}
.dwb-slide-btn a.dwb-button { display: inline-block; }
.slider-prev, .slider-next {
position: absolute; top: 50%; transform: translateY(-50%);
background: rgba(0,0,0,.4); color: #fff; border: none;
padding: 12px 16px; cursor: pointer; z-index: 10;
font-size: 20px; border-radius: 4px; transition: background .2s;
}
.slider-prev { left: 15px; }
.slider-next { right: 15px; }
.slider-prev:hover, .slider-next:hover { background: rgba(0,0,0,.7); }
@media (max-width: 991px) and (min-width: 769px) {
.dwb-hero-slider { height: calc(var(--slider-h) * 0.65); }
}
@media (max-width: 768px) {
.dwb-hero-slider { height: var(--slider-h-mobile) !important; }
.dwb-slide-content p { font-size: .9rem; }
}
/* ═══ NAVIGATION ═════════════════════════════════════════════════════════════ */
.dwb-desktop-nav ul {
list-style: none; display: flex; flex-wrap: wrap;
gap: 4px 16px; margin: 0; padding: 0; align-items: center;
}
.dwb-desktop-nav ul li a {
text-decoration: none; color: var(--menu-link);
font-weight: var(--menu-weight);
text-transform: var(--menu-transform);
letter-spacing: var(--menu-spacing);
position: relative; padding: 8px 4px; white-space: nowrap;
transition: color .3s; display: block;
}
.dwb-desktop-nav ul li a:hover { color: var(--menu-hover); }
.dwb-desktop-nav ul li a::after {
content: ''; position: absolute; left: 0; width: 0;
height: 2px; background: var(--ind-color); transition: width .3s;
top:0;}
.dwb-desktop-nav ul li a:hover::after,
.dwb-desktop-nav ul li.current-menu-item a::after { width: 100%; }
.header-row.dwb-is-sticky.stuck .dwb-desktop-nav ul li a { color: #ffffff; }
/* ═══ HAMBURGER ══════════════════════════════════════════════════════════════ */
.dwb-mobile-trigger {
background: none; border: none; padding: 10px; cursor: pointer;
display: none; align-items: center; justify-content: center;
color: #ffffff;
flex-shrink: 0;
}
.hamburger-lines { display: flex; flex-direction: column; justify-content: space-between; width: 28px; height: 20px; }
.hamburger-lines .line { display: block; width: 28px; height: 3px; background: currentColor; border-radius: 3px; transition: transform .15s ease, opacity .15s ease; flex-shrink: 0; }
.dwb-mobile-trigger.is-active .hamburger-lines .line-1 { transform: translateY(8.5px) rotate(45deg); }
.dwb-mobile-trigger.is-active .hamburger-lines .line-2 { opacity: 0; transform: scaleX(0); }
.dwb-mobile-trigger.is-active .hamburger-lines .line-3 { transform: translateY(-8.5px) rotate(-45deg); }
.hamburger-dots { display: block; width: 24px; height: 24px; color: currentColor; }
.hamburger-text { font-size: 13px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
/* ═══ RESPONSIVE ═════════════════════════════════════════════════════════════ */
@media (max-width: 991px) {
.dwb-mobile-trigger { display: flex; }
.dwb-desktop-nav {
display: none; width: 70%;
position: absolute; top: 100%; left: 0;
background: #545454;
z-index: 9999; box-shadow: 0 8px 24px rgba(0,0,0,.15);
}
.dwb-desktop-nav.is-open { display: block; }
.dwb-desktop-nav ul { flex-direction: column; flex-wrap: nowrap; gap: 0; padding: 8px 0; }
.dwb-desktop-nav ul li { width: 100%; }
.dwb-desktop-nav ul li a {
padding: 16px 24px;
color: #ef9900 !important;
border-bottom: 1px solid rgba(0,0,0,.06);
white-space: normal; display: block;
}
.header-row img { max-width: var(--logo-w-mobile); }
}
@media (max-width: 768px) {
.header-grid-container {
grid-template-columns: 1fr;
gap: var(--row-mob-gap, 10px);
}
.header-col { justify-content: center !important; }
.dwb-desktop-only { display: none !important; }
.dwb-mobile-only  { display: flex !important; }
.row-1 { min-height: var(--row-h-mobile, 60px) !important; }
.row-2 { min-height: var(--row-h-mobile, 60px) !important; }
.row-3 { min-height: var(--row-h-mobile, 60px) !important; }
.site-layout-wrapper { flex-direction: column !important; }
.sidebar { flex: 0 0 100% !important; width: 100%; min-width: 0; }
.content-area { flex: 0 0 100% !important; }
.footer-col { flex: 0 0 100% !important; max-width: 100% !important; }
.search-form { max-width: 100%; }
}
/* ═══ LAYOUT / SIDEBAR ═══════════════════════════════════════════════════════ */
.site-layout-wrapper { display: flex; gap: 40px; flex-wrap: wrap; margin: 40px 0; }
.content-area { flex: 1; min-width: 0; }
.sidebar { flex: 0 0 var(--sb-width); min-width: 220px; background: var(--sb-bg); }
.sidebar-left  { flex-direction: row-reverse; }
.sidebar-right { flex-direction: row; }
.sidebar-none .sidebar { display: none; }
.sidebar-none .content-area { flex: 0 0 100%; max-width: 100%; }
.sidebar a       { color: var(--sb-link); transition: color .2s; }
.sidebar a:hover { color: var(--sb-hover); }
.sidebar .widget { background: #f5f5f5; border-radius: 4px; padding: 20px; margin-bottom: 24px; }
/* ═══ STICKY ═════════════════════════════════════════════════════════════════ */
.header-row.dwb-is-sticky.stuck { position: fixed !important; top: 0; left: 0; width: 100%; z-index: 9999; box-shadow: 0 2px 10px rgba(0,0,0,.1); animation: slideDown .3s ease-out; background-color: #075563 !important; }
@keyframes slideDown { from { transform: translateY(-100%) } to { transform: translateY(0) } }
body.has-stuck-header { padding-top: 20px; }
/* ═══ SUCHFELD ═══════════════════════════════════════════════════════════════ */
.search-form { display: flex !important; align-items: stretch; width: 100%; max-width: 300px; border-radius: 4px; overflow: hidden; border: 1px solid #dddddd; }
.search-field { background: #f5f5f5 !important; color: #333333 !important; border: none !important; padding: 10px 12px !important; outline: none; flex-grow: 1; font-size: 14px; min-width: 0; font-family: var(--main-font); }
.search-submit {
background: #0073aa !important;
color: #ffffff !important;
border: 0px solid #005177 !important;
border-radius: 0 0px 0px 0 !important;
padding: 0 16px !important; cursor: pointer; white-space: nowrap;
align-self: stretch; flex-shrink: 0; transition: background .2s, color .2s;
font-family: var(--main-font);
font-size: 14px;
font-weight: 400;
}
.search-submit:hover { background: #005177 !important; color: #ffffff !important; }
/* ═══ BUTTONS ════════════════════════════════════════════════════════════════ */
.dwb-btn, .dwb-button {
display: inline-block;
background: #ff9900;
color: #ffffff;
padding: var(--btn-pad-v) var(--btn-pad-h);
border-radius: var(--btn-radius);
font-size: var(--btn-font-size);
font-family: var(--main-font);
text-decoration: none;
border: 2px solid #ff9900;
cursor: pointer;
transition: background .25s ease, color .25s ease, border-color .25s ease, transform .2s ease;
white-space: nowrap;
}
.dwb-btn:hover, .dwb-button:hover {
background: #707070 !important;
border-color: #707070 !important;
color: #ffffff !important;
transform: translateY(-2px);
}
/* ═══ FOOTER ═════════════════════════════════════════════════════════════════ */
.site-footer { color: #ffffff; }
.footer-cols-grid { display: flex; flex-wrap: wrap; width: 100%; }
.footer-col { box-sizing: border-box; min-width: 0; min-height: 60px; background-size: cover; background-position: center; background-repeat: no-repeat; }
.footer-col img { max-width: 100%; height: auto; display: block; }
.footer-nav { list-style: none; margin: 0; padding: 0; }
.footer-nav li { margin-bottom: 8px; }
/* ═══ BACK TO TOP ════════════════════════════════════════════════════════════ */
.dwb-back-to-top {
position: fixed; bottom: 30px; right: 30px;
background: var(--btt-bg); color: #fff;
width: 50px; height: 50px;
border-radius: var(--btt-radius);
display: flex; align-items: center; justify-content: center;
font-size: var(--btt-size); cursor: pointer; z-index: 1000;
opacity: 0; visibility: hidden; transition: all .3s; border: none;
}
.dwb-back-to-top.is-visible { opacity: 1; visibility: visible; }
