/* Aufwertung für alle Seiten — eingebunden vom Worker (worker/aufwertung.js).
   Farben aus der bestehenden Seite: Orange #FFA347, Schrift Montserrat. */
:root{--sf-orange:#FFA347;--sf-orange-dunkel:#e8862a;--sf-dunkel:#0d0d0d}
html{scroll-behavior:smooth}
a:focus-visible,button:focus-visible{outline:2px solid var(--sf-orange);outline-offset:3px}

/* Navigation: lesbarer, mit Akzent beim Überfahren */
.elementor-nav-menu--main .elementor-item{font-family:Montserrat,sans-serif!important}
.elementor-nav-menu--main .elementor-item:hover,.elementor-nav-menu--main .elementor-item.elementor-item-active{color:var(--sf-orange)!important}

/* Startseite: Kopfbereich mit Aussage */
.sf-start{position:absolute;left:0;right:0;bottom:0;padding:0 6vw 9vh;z-index:3;color:#fff}
.sf-start .sf-rubrik{font:600 13px/1 Montserrat,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--sf-orange);margin:0 0 16px}
.sf-start h1{font:800 clamp(40px,7vw,96px)/1 Montserrat,sans-serif;color:#fff;margin:0;text-shadow:0 4px 30px rgba(0,0,0,.4)}
.sf-start .sf-unterzeile{font:500 clamp(16px,1.6vw,21px)/1.4 Montserrat,sans-serif;color:rgba(255,255,255,.92);margin:18px 0 28px;max-width:640px}
.sf-knoepfe{display:flex;flex-wrap:wrap;gap:12px}
.sf-knopf{display:inline-block;padding:14px 24px;border-radius:999px;font:600 14px/1 Montserrat,sans-serif;letter-spacing:.04em;text-decoration:none!important;transition:transform .15s,background .15s}
.sf-knopf:hover{transform:translateY(-2px)}
.sf-knopf-voll{background:var(--sf-orange);color:#111!important}
.sf-knopf-voll:hover{background:#ffb468}
.sf-knopf-rand{border:1.5px solid rgba(255,255,255,.7);color:#fff!important}
.sf-knopf-rand:hover{background:rgba(255,255,255,.12)}
.elementor-element-37eedc5{position:relative;min-height:88vh!important}
.elementor-element-37eedc5>.elementor-background-overlay{background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,.15) 40%,rgba(0,0,0,.8) 100%)!important;opacity:1!important}

/* Nächstes Ziel (ersetzt den abgelaufenen Countdown) */
.sf-ziel-abschnitt,.sf-partner-abschnitt{background:#000!important}
.sf-ziel{max-width:1080px;margin:0 auto;padding:72px 24px;display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;color:#fff}
.sf-ziel .sf-rubrik{font:600 13px/1 Montserrat,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--sf-orange);margin:0 0 14px}
.sf-ziel h2{font:800 clamp(30px,4vw,48px)/1.1 Montserrat,sans-serif;color:#fff;margin:0 0 16px}
.sf-ziel p{color:rgba(255,255,255,.8);font-size:17px;line-height:1.7;margin:0 0 12px}
.sf-ziel-fakten{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.sf-ziel-fakt{border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:22px;background:rgba(255,255,255,.03)}
.sf-ziel-fakt b{display:block;font:800 32px/1 Montserrat,sans-serif;color:var(--sf-orange)}
.sf-ziel-fakt span{display:block;margin-top:8px;font:500 12px/1.4 Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.7)}

/* Blog-Karten */
.elementor-post__card{border-radius:14px!important;overflow:hidden;transition:transform .2s,box-shadow .2s}
.elementor-post__card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -20px rgba(0,0,0,.6)}
.elementor-post__title,.elementor-post__title a{font-family:Montserrat,sans-serif!important;font-weight:600!important;line-height:1.3!important}
.elementor-post__read-more{color:var(--sf-orange)!important;font-family:Montserrat,sans-serif!important;letter-spacing:.06em}

/* Presse-Karten: gleich hoch, ruhiger Rahmen, Knopf im Akzent */
.elementor-widget-call-to-action .elementor-cta,.elementor-cta{border-radius:14px;overflow:hidden}
.elementor-cta__button{border-radius:999px!important;font-family:Montserrat,sans-serif!important;transition:background .15s,color .15s}
.elementor-cta__button:hover{background:var(--sf-orange)!important;border-color:var(--sf-orange)!important;color:#111!important}

/* Partner */
.sf-abschnitt-titel{font:700 clamp(32px,4vw,46px)/1.1 Montserrat,sans-serif;color:#fff;text-align:center;margin:56px 0 32px}
.sf-partner{max-width:1080px;margin:0 auto;padding:8px 24px 48px}
.sf-partner-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.sf-partner-raster a,.sf-partner-raster div{display:flex;align-items:center;justify-content:center;height:110px;padding:18px;border-radius:14px;background:#151515;border:1px solid #232323;transition:border-color .2s,transform .2s;text-decoration:none!important}
.sf-partner-raster a:hover{border-color:var(--sf-orange);transform:translateY(-2px)}
.sf-partner-raster img.sf-hell,.sf-partner-raster img[alt="Busch + Müller"]{filter:brightness(0) invert(1)}
.sf-partner-raster img{max-width:100%;max-height:58px;width:auto;height:auto;object-fit:contain}
.sf-partner-raster .sf-wortmarke{font:700 17px/1.2 Montserrat,sans-serif;color:#fff;text-align:center;letter-spacing:.02em}
.sf-partner-raster .sf-wortmarke small{display:block;font-weight:500;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:6px}

/* Kontaktformular */
.elementor-form .elementor-field{border-radius:10px!important}
.elementor-form .elementor-button{border-radius:999px!important;font-family:Montserrat,sans-serif!important;font-weight:600!important;letter-spacing:.06em}
.elementor-form .elementor-button:hover{background:var(--sf-orange)!important;color:#111!important}

/* Google-Karte erst nach Klick */
.sf-karte{max-width:640px;margin:0 auto;padding:36px;border-radius:16px;background:#151515;border:1px solid #2a2a2a;color:#ddd;text-align:center}
.sf-karte p{margin:0 0 10px;font-size:15px}
.sf-karte button{margin-top:8px;padding:12px 22px;border:0;border-radius:999px;background:var(--sf-orange);color:#111;font:600 14px Montserrat,sans-serif;cursor:pointer}
.sf-karte iframe{width:100%;height:480px;border:0;border-radius:12px}
.sf-karte:has(iframe){padding:0;background:none;border:0}

/* Footer */
.sf-footer{background:var(--sf-dunkel);color:rgba(255,255,255,.7);border-top:1px solid #1f1f1f;font-family:Montserrat,sans-serif}
.sf-footer-innen{max-width:1080px;margin:0 auto;padding:40px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.sf-footer-marke strong{display:block;color:#fff;font-size:17px;font-weight:700}
.sf-footer-marke span{font-size:13px}
.sf-footer-links{display:flex;flex-wrap:wrap;gap:22px}
.sf-footer-links a{color:rgba(255,255,255,.8)!important;font-size:14px;text-decoration:none}
.sf-footer-links a:hover{color:var(--sf-orange)!important}
.sf-footer-copy{width:100%;margin:8px 0 0;font-size:12px;color:rgba(255,255,255,.45)}

@media (max-width:767px){
  .sf-start{padding:0 22px 64px}.elementor-element-37eedc5{min-height:82vh!important}
  .sf-ziel{grid-template-columns:1fr;gap:28px;padding:48px 20px}
  .sf-partner-raster{grid-template-columns:repeat(2,1fr)}.sf-partner-raster a,.sf-partner-raster div{height:92px}
  .sf-footer-innen{flex-direction:column;align-items:flex-start}
}
body.home{background:#000}
/* Blog-Übersicht: der Abschnitt war auf Bildschirmhöhe fixiert, die Karten liefen in den Footer */
.elementor-section-height-full:has(.elementor-posts-container){height:auto!important;min-height:100vh;padding-bottom:64px}
.elementor-section-height-full:has(.elementor-posts-container)>.elementor-container{height:auto!important;min-height:0!important}
.sf-partner-raster img[alt="TriPrint Solution"]{max-height:86px;background:#fff;border-radius:50%}
