/*
Theme Name: SW Minimal
Theme URI: https://salewski.it
Description: Minimales Performance-Theme fuer salewski.it. Kein Elementor, kein Framework.
Author: SALEWSKI.IT
Version: 1.0.0
License: proprietary
Text Domain: sw-minimal
*/

/* === RESET & BASE === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Roboto',system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6;color:#505050;background:#fff}
html{overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:#4582B4;text-decoration:none;transition:color .2s}
a:hover{color:#3a6f9a}
h1,h2,h3,h4,h5,h6{color:#333;font-weight:700;line-height:1.3}
p{margin-bottom:1em}
ul,ol{list-style:none}

/* === LAYOUT === */
.sw-container{max-width:1140px;margin:0 auto;padding:0 20px}

/* === TOP BAR === */
.sw-topbar{background:#f8f9fa;padding:6px 0;border-bottom:1px solid rgba(0,0,0,.06);font-size:13px;color:#555}
.sw-topbar a{color:#555;transition:color .2s}
.sw-topbar a:hover{color:#4582B4}
.sw-topbar-inner{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sw-topbar-item{display:flex;align-items:center;gap:6px;white-space:nowrap}
.sw-topbar-item svg{width:14px;height:14px;fill:#4582B4;flex-shrink:0}
.sw-topbar-sep{color:rgba(0,0,0,.2);font-size:18px;line-height:1}

/* === HEADER / NAV === */
.sw-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.04);transition:box-shadow .3s}
.sw-header.sw-scrolled{box-shadow:0 2px 20px rgba(0,0,0,.08)}
.sw-header-inner{display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.sw-logo img{max-height:42px;width:auto}
.sw-nav{display:flex;align-items:center;gap:4px}
.sw-nav a{font-size:15px;font-weight:500;color:#333;padding:8px 14px;border-radius:6px;transition:background .2s,color .2s}
.sw-nav a:hover{background:rgba(69,130,180,.08);color:#4582B4}
.sw-nav a.sw-active{color:#4582B4;font-weight:600}
.sw-nav-cta{background:#4582B4!important;color:#fff!important;border-radius:50px!important;padding:8px 22px!important;font-weight:600!important}
.sw-nav-cta:hover{background:#3a6f9a!important;color:#fff!important;box-shadow:0 4px 12px rgba(69,130,180,.35)!important}

/* Burger */
.sw-burger{display:none;background:none;border:none;cursor:pointer;padding:6px;border-radius:6px;transition:background .2s}
.sw-burger:hover{background:rgba(69,130,180,.08)}
.sw-burger svg{width:24px;height:24px;fill:#333}

/* Mobile Nav */
.sw-mobile-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-top:3px solid #4582B4;box-shadow:0 8px 24px rgba(0,0,0,.12);border-radius:0 0 12px 12px;overflow:hidden;z-index:999}
.sw-mobile-nav.sw-open{display:block}
.sw-mobile-nav a{display:block;font-size:15px;font-weight:500;color:#333;padding:12px 20px;border-bottom:1px solid rgba(0,0,0,.04);transition:background .2s,color .2s}
.sw-mobile-nav a:hover{background:rgba(69,130,180,.06);color:#4582B4}
.sw-mobile-nav .sw-nav-cta{display:block;background:#4582B4!important;color:#fff!important;border-radius:50px!important;margin:12px 16px!important;padding:10px 22px!important;text-align:center!important;border-bottom:none!important}
.sw-mobile-nav .sw-nav-cta:hover{background:#3a6f9a!important}

/* === GOOGLE REVIEWS BAR === */
.si-google-bar{opacity:0;transition:opacity .3s}
.si-google-bar.sw-bar-ready{opacity:1}
.si-google-bar__sep,.si-google-bar__count{display:none}

/* === MAIN CONTENT === */
.sw-main{min-height:60vh}
.sw-fullwidth{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;overflow:visible}
.sw-main>*{overflow-x:visible!important}

/* === FOOTER === */
.sw-footer{background:#1a2a3e;color:rgba(255,255,255,.85);padding:50px 0 0}
.sw-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}
.sw-footer h3{color:#fff;font-size:16px;font-weight:700;margin-bottom:16px}
.sw-footer-logo{max-height:40px;width:auto;margin-bottom:16px}
.sw-footer-contact{list-style:none;padding:0}
.sw-footer-contact li{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:14px}
.sw-footer-contact svg{width:16px;height:16px;fill:#4582B4;flex-shrink:0}
.sw-footer-contact a{color:rgba(255,255,255,.85);transition:color .2s}
.sw-footer-contact a:hover{color:#fff}
.sw-footer-links{list-style:none;padding:0}
.sw-footer-links li{margin-bottom:8px}
.sw-footer-links a{color:rgba(255,255,255,.7);font-size:14px;transition:color .2s}
.sw-footer-links a:hover{color:#fff}
.sw-footer-bottom{margin-top:40px;padding:16px 0;border-top:1px solid rgba(255,255,255,.1);text-align:center;font-size:13px;color:rgba(255,255,255,.5)}
.sw-footer-bottom a{color:rgba(255,255,255,.5)}
.sw-footer-bottom a:hover{color:#fff}

/* === FAQ (von sw-performance.php) === */
.faq-item{border:1px solid #e0e0e0;border-radius:8px;margin-bottom:12px;overflow:hidden}
.faq-question{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;font-weight:600;color:#333;background:#f8f9fa;transition:background .2s,color .2s}
.faq-question:hover,.faq-item.open .faq-question{background:#4582B4!important;color:#fff!important}
.faq-question:hover .faq-toggle,.faq-item.open .faq-question .faq-toggle{color:#fff!important}
.faq-toggle{font-size:20px;transition:transform .3s,color .2s;color:#4582B4}
.faq-item.open .faq-toggle{transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s;padding:0 20px}
.faq-item.open .faq-answer{max-height:2000px;padding:16px 20px}

/* === RESPONSIVE === */
@media(max-width:991px){
    .sw-nav{display:none}
    .sw-burger{display:block}
    .sw-footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:767px){
    .sw-topbar-inner{font-size:11px;gap:6px}
    .sw-topbar-sep{display:none}
    .sw-logo img{max-height:32px}
    .sw-footer-grid{grid-template-columns:1fr}
}
.admin-bar .sw-header{top:32px}@media(max-width:782px){.admin-bar .sw-header{top:46px}}
