/*
Theme Name: Schlögl Forst
Theme URI: https://www.schloegl-forst.de
Author: woyd.media
Description: Theme für Forstservice & Rundholzhandel Schlögl (Entwurf A). Feste Layout-Blöcke mit austauschbaren Texten und Bildern, ohne Plugins.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: schloegl-forst
*/
/*BASE*//* Gemeinsame Basis aller Entwürfe – Schriften + Farben aus dem CI-Handbuch v1.0 */
@font-face{font-family:"Roboto Condensed";src:url(assets/fonts/RobotoCondensed-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Roboto Condensed";src:url(assets/fonts/RobotoCondensed-ExtraBold.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Roboto";src:url(assets/fonts/Roboto-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Roboto";src:url(assets/fonts/Roboto-Medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Roboto";src:url(assets/fonts/Roboto-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
:root{
  --sf-anthrazit:#1C1D1B; --sf-orange:#F47216; --sf-grau:#A7A5A6; --sf-holzgrau:#6E6A64; --sf-kalkweiss:#F2F0EC;
  --font-head:"Roboto Condensed","Arial Narrow",sans-serif; --font-body:"Roboto",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-body);color:var(--sf-anthrazit);background:#fff}
img,svg{display:block;max-width:100%}
a{color:inherit}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Platzhalter, bis eigene Fotos vorliegen */
.ph{position:relative;background:
  repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 2px,transparent 2px 14px),
  radial-gradient(120% 90% at 70% 30%,#4b4a44 0%,#2b2c29 55%,#1c1d1b 100%);background-size:cover;background-position:center}
.ph::after{content:attr(data-foto);position:absolute;right:14px;bottom:12px;font:500 11px/1.3 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55);border:1px dashed rgba(255,255,255,.35);padding:5px 8px;max-width:70%;text-align:right}
.ph.light{background:repeating-linear-gradient(135deg,rgba(0,0,0,.03) 0 2px,transparent 2px 14px),linear-gradient(160deg,#d9d5cd,#b9b4aa)}
.ph.light::after{color:rgba(28,29,27,.55);border-color:rgba(28,29,27,.3)}

/*A*/
  :root{
    --a-brand:var(--sf-orange);      /* Original: Grün #82C44A */
    --a-accent:#fff;                  /* Original: Gelb #FFDD00 (Hero-Zeile 2) */
    --a-text:var(--sf-anthrazit);     /* Original: Braun #483828 */
    --a-cta:var(--sf-kalkweiss);      /* Original: Gelb #FFDD00 */
    --a-foot:var(--sf-anthrazit);     /* Original: Grün #1DAB5E */
  }
  body{color:var(--a-text);font-size:16px;line-height:1.25}
  .wrap{max-width:1600px;margin:0 auto;padding:0 15px}
  .topline{position:absolute;top:0;left:0;right:0;height:4px;background:var(--a-brand);z-index:30}

  /* Kopf */
  .head{position:absolute;top:0;left:0;right:0;z-index:20}
  .head-row{display:flex;align-items:flex-start;height:155px}
  .logo{margin-top:48px;width:300px;flex:none}
  .logo img{width:100%;height:auto;filter:drop-shadow(0 2px 6px rgba(0,0,0,.45))}
  .logo .logo-on-light{display:none}
  .mainnav{margin-left:125px}
  .mainnav ul{display:flex;list-style:none;margin:33px 0 0;padding:0}
  .mainnav li{width:130px;border-left:1px solid rgba(255,255,255,.28);min-height:90px}
  .mainnav li:first-child{border-left:0}
  .mainnav a{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:#fff;padding:0 10px}
  .ni{color:var(--a-brand);height:30px;margin-bottom:16px}
  .nl{font:700 19px/19px var(--font-head);letter-spacing:.03em;text-align:center;text-shadow:0 1px 4px rgba(0,0,0,.5)}
  .mainnav a:hover .nl{color:var(--a-brand)}
  .contact{margin-left:auto;margin-top:52px;display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:none}
  .contact a{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--a-brand);font:700 17px var(--font-head);letter-spacing:.03em;text-shadow:0 1px 4px rgba(0,0,0,.5)}
  .contact svg{color:#fff}
  .m-icons,.burger,.m-btn{display:none}

  /* Hero */
  .hero{position:relative;height:900px;margin-top:4px;overflow:hidden;background:#1c1d1b}
  .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease}
  .slide.on{opacity:1}
  .slide:nth-child(2){background-position:20% 60%}
  .slide::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45) 0,transparent 25%,transparent 55%,rgba(0,0,0,.35) 100%)}
  .hero-in{position:relative;height:100%}
  .dots{position:absolute;left:40px;top:470px;list-style:none;margin:0;padding:0 0 0 0;border-left:1px solid rgba(255,255,255,.4)}
  .dots button{display:block;background:none;border:0;color:rgba(255,255,255,.85);font:300 14px var(--font-body);padding:0 0 0 0;margin:0 0 50px -6px;cursor:pointer;background:transparent}
  .dots li:last-child button{margin-bottom:0}
  .dots button.on{color:var(--a-brand);font-weight:700}
  .hero h1{position:absolute;left:15px;top:548px;margin:0;font-family:var(--font-head);font-weight:800;line-height:.82;transform:skewX(-11deg);transform-origin:left bottom;text-shadow:0 3px 12px rgba(0,0,0,.45)}
  .hero h1 span{display:block}
  .l1{font-size:77px;color:var(--a-brand);text-transform:uppercase;letter-spacing:-.005em}
  .l2{font-size:77px;color:var(--a-accent);font-weight:700;margin-top:6px}

  /* Buttons (schräge Fläche) */
  .btn{position:relative;display:inline-flex;align-items:center;gap:10px;padding:0 38px;height:42px;font:800 18px var(--font-head);letter-spacing:.04em;text-transform:uppercase;color:var(--a-brand);text-decoration:none;isolation:isolate}
  .btn::before{content:"";position:absolute;inset:0;background:var(--sf-anthrazit);clip-path:polygon(0 0,88% 0,100% 100%,12% 100%);z-index:-1;transition:transform .2s}
  .btn:hover::before{transform:scaleX(1.06)}
  .btn svg{transition:transform .2s}
  .btn:hover svg{transform:translateX(4px)}

  /* Einstieg */
  .intro{display:grid;grid-template-columns:1fr 1fr;padding-top:125px;padding-bottom:140px}
  .tiles{display:grid;grid-template-columns:1fr 1fr;align-items:start;padding:72px 40px 0 30px}
  .tile{display:flex;flex-direction:column;align-items:center;text-align:center}
  .ti{color:var(--a-brand);height:104px}
  .tile h3{font:700 40px/42px var(--font-head);letter-spacing:.04em;margin:22px 0 28px;min-height:84px}
  .intro-text{padding-left:150px;position:relative}
  .badge{position:absolute;left:-130px;top:-15px;width:245px;height:58px;transform:rotate(-5deg)}
  .badge span{display:flex;align-items:center;justify-content:center;height:100%;background:linear-gradient(180deg,var(--a-brand) 0 62%,var(--sf-grau) 62% 100%);clip-path:polygon(4% 0,100% 0,96% 100%,0 100%)}
  .badge img{height:44px;width:auto}
  .intro-text h2{font:700 40px/41px var(--font-head);letter-spacing:.07em;margin:44px 0 40px}
  .lead{font-size:22px;line-height:32px;margin:0 0 26px}
  .zigzag{width:248px;height:10px;color:var(--a-brand);margin-bottom:46px}
  .intro-text p:not(.lead){font-size:17px;line-height:32px;margin:0}

  /* Technik */
  .split{display:grid;grid-template-columns:1fr 1fr;height:540px}
  .split-box{background:var(--a-brand);color:var(--sf-anthrazit);display:flex;flex-direction:column;align-items:center;text-align:center;padding:60px 40px}
  .split-box h2{font:800 40px var(--font-head);letter-spacing:-.005em;margin:0 0 96px;color:var(--sf-anthrazit)}
  .split-box p{max-width:400px;font-size:17px;line-height:32px;font-weight:500;margin:0 0 92px}
  .split-box .btn{color:var(--a-brand)}

  /* Verantwortung */
  .care{height:483px;color:#fff;position:relative;overflow:hidden;background:
    repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 2px,transparent 2px 14px),
    radial-gradient(90% 120% at 85% 50%,#6b6a5e 0%,#3e3f3a 50%,#2a2b28 100%)}
  .care::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(28,29,27,.75) 0,rgba(28,29,27,.35) 45%,transparent 70%)}
  .care .wrap{position:relative;z-index:2}
  .care .wrap{padding-top:78px}
  .care h2{font:800 40px var(--font-head);letter-spacing:-.005em;margin:0 0 42px}
  .care ul{list-style:none;margin:0;padding:0}
  .care li{display:flex;align-items:center;gap:14px;font:700 18px var(--font-body);margin-bottom:15px}
  .ci{width:66px;height:66px;border-radius:50%;background:var(--a-brand);display:grid;place-items:center;color:#fff;flex:none}

  /* CTA */
  .cta{background:var(--a-cta);text-align:center;padding:28px 15px 35px}
  .cta h2{font:700 22px var(--font-body);margin:0 0 14px}
  .cta p{font-size:17px;margin:0 0 15px}

  /* Fuß */
  .foot{background:var(--a-foot);color:#fff;padding:75px 0 45px;font-size:16px}
  .foot a{text-decoration:none}
  .foot a:hover{color:var(--a-brand)}
  .foot-logo{width:230px;height:auto;margin:5px 0 50px}
  .foot-row{display:grid;grid-template-columns:345px 360px 1fr;padding-bottom:66px;border-bottom:1px solid rgba(255,255,255,.18)}
  address{font-style:normal;line-height:32px}
  .foot-contact{list-style:none;margin:0;padding:0 0 0 0;border-right:1px solid rgba(255,255,255,.18)}
  .foot-contact li{display:flex;align-items:center;gap:16px;margin-bottom:12px;line-height:22px}
  .foot-contact svg{color:var(--sf-grau)}
  .foot-links{display:flex;gap:60px;padding-left:100px}
  .foot-links h4{font:700 16px var(--font-body);text-transform:uppercase;margin:0 0 12px;letter-spacing:.01em}
  .foot-links h4.mt{margin-top:50px}
  .foot-links div>a{display:block;line-height:32px}
  .foot-area{text-align:center;padding:60px 0 50px;border-bottom:1px solid rgba(255,255,255,.18)}
  .foot-area h4{font:700 18px var(--font-body);text-transform:uppercase;margin:0 0 12px}
  .foot-area p{font-size:14px;margin:0;color:var(--sf-grau)}
  .foot-legal{display:flex;gap:34px;padding:22px 0}
  .foot-legal a{display:flex;align-items:center;gap:16px}
  .copy{text-align:center;margin:38px 0 0}

  /* Tablet */
  @media (max-width:1280px){
    .mainnav li{width:110px}
    .logo{width:240px}
    .intro-text{padding-left:80px}
    .badge{left:-60px;top:-40px}
    .tile h3{font-size:34px;line-height:36px}
    .foot-row{grid-template-columns:1fr 1fr;row-gap:40px}
    .foot-links{grid-column:1/-1;padding-left:0}
    .foot-contact{border-right:0}
  }
  /* Mobil */
  @media (max-width:991px){
    .topline{display:none}
    .head{position:sticky;top:0;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.06)}
    .head-row{height:58px;align-items:center;justify-content:center;position:relative}
    .logo{margin:0;width:140px}
    .logo .logo-on-dark{display:none}
    .logo .logo-on-light{display:block;filter:none;margin:-4px 0 -6px}
    .contact{display:none}
    .m-icons{display:flex;align-items:center;gap:12px;position:absolute;left:15px;color:var(--a-brand)}
    .m-icons span{width:1px;height:22px;background:var(--a-brand)}
    .burger{display:flex;flex-direction:column;gap:5px;position:absolute;right:15px;background:none;border:0;padding:8px;cursor:pointer}
    .burger span{display:block;width:26px;height:3px;background:var(--a-brand);transition:.2s}
    .mainnav{position:fixed;inset:58px 0 auto 0;background:var(--sf-anthrazit);padding:10px 0 20px;margin:0;display:none}
    .menu-open .mainnav{display:block}
    .mainnav ul{flex-direction:column;margin:0}
    .mainnav li{width:auto;border-left:0;border-top:1px solid rgba(255,255,255,.1);min-height:0}
    .mainnav a{flex-direction:row;gap:14px;padding:14px 22px}
    .ni{margin:0;height:26px}
    .nl{font-size:20px}
    .hero{height:435px;margin-top:0}
    .slide.ph::after{bottom:auto;top:12px}
    .dots{left:15px;right:15px;top:auto;bottom:22px;display:flex;gap:16px;border:0}
    .dots button{margin:0;font-size:15px}
    .hero h1{left:15px;right:15px;top:auto;bottom:115px}
    .l1,.l2{font-size:37px}
    .l2{margin-top:2px}
    .intro{grid-template-columns:1fr;padding-top:50px;padding-bottom:70px}
    .intro-text{order:-1;padding:0 15px;text-align:center}
    .badge{display:none}
    .intro-text h2{font-size:42px;line-height:42px;margin:0 0 30px}
    .zigzag{margin:0 auto 30px}
    .intro-text p:not(.lead){font-size:17px;line-height:32px}
    .tiles{grid-template-columns:1fr;padding:70px 0 0;row-gap:60px}
    .tile h3{min-height:0;margin:20px 0 40px}
    .split{grid-template-columns:1fr;height:auto}
    .split-img{height:300px}
    .split-box h2{margin-bottom:40px}
    .split-box p{margin-bottom:40px}
    .care{height:auto;padding-bottom:60px}
    .care::before{background:rgba(28,29,27,.7)}
    .care .wrap{padding-top:50px}
    .care li{font-size:16px}
    .foot-row{grid-template-columns:1fr}
    .foot-links{flex-wrap:wrap;gap:30px}
    .foot-legal{flex-wrap:wrap}
  }

/*SUB*/
  .page-hero{height:560px;margin-top:4px;position:relative;color:#fff}
  .page-hero.small{height:300px}
  .page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.5) 0,transparent 35%,transparent 55%,rgba(0,0,0,.45) 100%)}
  .page-hero-in{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:60px}
  .crumb{font-size:14px;margin:0 0 14px;color:rgba(255,255,255,.8)}
  .crumb a{text-decoration:none;color:var(--a-brand)}
  .page-hero h1{font:800 60px/1 var(--font-head);margin:0;max-width:1000px;transform:skewX(-11deg);transform-origin:left bottom;text-shadow:0 3px 12px rgba(0,0,0,.45)}
  .page-lead{padding-top:80px}
  .page-lead .zigzag{width:248px;height:10px;color:var(--a-brand);margin-bottom:28px}
  .page-lead p{font-size:24px;line-height:1.5;max-width:900px;margin:0}
  .lead-btns{display:flex;align-items:center;gap:30px;margin-top:34px;flex-wrap:wrap}
  .lead-tel{display:inline-flex;align-items:center;gap:10px;font:700 20px var(--font-head);color:var(--sf-anthrazit);text-decoration:none}
  .lead-tel svg{color:var(--a-brand)}
  .page-body{--s-h2:800 40px/1.1 var(--font-head);--s-h2-ls:.02em}
  @media (max-width:991px){
    .page-hero{height:340px;margin-top:0}
    .page-hero.small{height:200px}
    .page-hero-in{padding-bottom:34px}
    .page-hero h1{font-size:34px;max-width:calc(100% - 40px)}
    .page-lead{padding-top:50px}
    .page-lead p{font-size:19px}
  }

/*SEC*//* Unterseiten-Abschnitte (Sections.astro). Jeder Entwurf setzt die --s-*-Variablen. */
:root{
  --s-accent:var(--sf-orange); --s-dark:var(--sf-anthrazit); --s-alt:var(--sf-kalkweiss);
  --s-maxw:1180px; --s-radius:0px; --s-h2:800 40px/1.1 var(--font-head); --s-h2-case:none; --s-h2-ls:0;
  --s-card-bg:#fff; --s-pad:90px;
}
.sec{padding:var(--s-pad) 0 0}
.sec:last-of-type{padding-bottom:var(--s-pad)}
.sec-in{max-width:var(--s-maxw);margin:0 auto;padding:0 20px}
.sec h2{font:var(--s-h2);text-transform:var(--s-h2-case);letter-spacing:var(--s-h2-ls);margin:0 0 32px;color:var(--s-dark)}
.sec p{font-size:17px;line-height:1.7;margin:0 0 16px;max-width:820px}
.sec a{color:inherit;text-decoration-color:var(--s-accent);text-underline-offset:3px}
mark.todo{background:#fff3c4;color:#6b5200;padding:2px 6px;border-radius:3px;font-size:.9em}
mark.todo::before{content:"offen: ";font-weight:700}

/* Liste */
.sec-ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:18px 48px}
.sec-ul li{display:flex;gap:14px;font-size:17px;line-height:1.55}
.li-ic{flex:none;width:28px;height:28px;border-radius:var(--s-radius);background:var(--s-accent);color:var(--sf-anthrazit);display:grid;place-items:center;margin-top:1px}
.sec-ul strong{color:var(--s-dark)}

/* Ablauf */
.sec-steps{background:var(--s-alt);padding-bottom:var(--s-pad);margin-top:var(--s-pad)}
.sec-steps + .sec{padding-top:var(--s-pad)}
.sec-steps-ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.sec-steps-ol li{border-top:3px solid var(--s-accent);padding-top:18px}
.sec-steps-ol b{font:800 38px var(--font-head);color:var(--sf-grau)}
.sec-steps-ol h3{font:800 21px var(--font-head);margin:6px 0 8px;color:var(--s-dark)}
.sec-steps-ol p{font-size:15px;line-height:1.55;margin:0}

/* Eckdaten */
.sec-facts-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;background:var(--s-dark);color:#fff;padding:40px;border-radius:var(--s-radius)}
.sec-facts-row div{text-align:center}
.sec-facts-row b{display:block;font:800 44px/1.05 var(--font-head);color:var(--s-accent);margin-bottom:8px}
.sec-facts-row span{font-size:15px;color:var(--sf-kalkweiss)}

/* FAQ */
.sec-faq-list{border-top:1px solid rgba(28,29,27,.15);max-width:900px}
.sec-faq-list details{border-bottom:1px solid rgba(28,29,27,.15)}
.sec-faq-list summary{cursor:pointer;list-style:none;padding:22px 44px 22px 0;font:700 19px/1.35 var(--font-head);position:relative;color:var(--s-dark)}
.sec-faq-list summary::-webkit-details-marker{display:none}
.sec-faq-list summary::after{content:"+";position:absolute;right:6px;top:14px;font:400 32px var(--font-body);color:var(--s-accent);transition:transform .2s}
.sec-faq-list details[open] summary::after{transform:rotate(45deg)}
.sec-faq-list details p{margin:0 0 22px;font-size:16px}

/* Kacheln */
.sec-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.sec-card{display:flex;flex-direction:column;background:var(--s-card-bg);border:1px solid rgba(28,29,27,.1);border-radius:var(--s-radius);padding:30px;text-decoration:none;color:inherit;transition:transform .25s,box-shadow .25s,border-color .25s}
.sec-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(28,29,27,.1);border-color:var(--s-accent)}
.sec-card-ic{width:60px;height:60px;border-radius:50%;background:var(--s-accent);color:var(--sf-anthrazit);display:grid;place-items:center;margin-bottom:18px;flex:none}
.sec-card h3{font:800 23px var(--font-head);margin:0 0 8px;color:var(--s-dark)}
.sec-card p{font-size:15px;line-height:1.55;margin:0 0 18px;flex:1}
.sec-more{display:inline-flex;align-items:center;gap:8px;font:700 14px var(--font-head);text-transform:uppercase;letter-spacing:.05em;color:var(--s-accent)}

/* Maschinen */
.sec-machines-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.sec-machine .ph{height:220px;border-radius:var(--s-radius);margin-bottom:16px}
.sec-machine .ph::after{font-size:10px}
.sec-machine .kind{font:700 13px var(--font-head);text-transform:uppercase;letter-spacing:.08em;color:var(--s-accent)}
.sec-machine h3{font:800 23px var(--font-head);margin:4px 0 6px;color:var(--s-dark)}
.sec-machine p{font-size:15px;margin:0}

/* Gebiete */
.sec-areas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.sec-areas-grid>div{background:var(--s-alt);padding:30px;border-radius:var(--s-radius)}
.sec-areas-grid h3{font:800 23px var(--font-head);margin:0 0 8px}
.sec-areas-grid p{font-size:15px}

/* Zitat */
.sec-quote blockquote{margin:0;border-left:6px solid var(--s-accent);padding:6px 0 6px 32px}
.sec-quote blockquote p{font:800 40px/1.15 var(--font-head);font-style:italic;color:var(--s-dark);max-width:900px;margin:0 0 10px}
.sec-quote cite{font-style:normal;font-weight:700;color:var(--sf-holzgrau)}

/* Kontakt */
.sec-contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.sec-contact-grid>*{display:flex;flex-direction:column;gap:4px;background:var(--s-alt);padding:28px;border-radius:var(--s-radius);text-decoration:none;color:inherit;font-size:15px;line-height:1.5}
.sec-contact-grid b{font:800 21px var(--font-head);color:var(--s-dark)}
.sec-contact-grid a:hover{box-shadow:inset 0 -4px 0 var(--s-accent)}

/* Formular */
form.sec-form{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;max-width:900px}
.sec-form label{display:flex;flex-direction:column;gap:6px;font:700 14px var(--font-body);color:var(--s-dark)}
.sec-form .full{grid-column:1/-1}
.sec-form input,.sec-form select,.sec-form textarea{font:400 16px var(--font-body);padding:13px 14px;border:1px solid rgba(28,29,27,.25);border-radius:var(--s-radius);background:#fff;color:var(--sf-anthrazit)}
.sec-form input:focus,.sec-form select:focus,.sec-form textarea:focus{outline:2px solid var(--s-accent);outline-offset:1px;border-color:transparent}
.form-foot{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.form-btn{font:800 17px var(--font-head);letter-spacing:.04em;text-transform:uppercase;background:var(--s-accent);color:var(--sf-anthrazit);border:0;border-radius:var(--s-radius);padding:16px 34px;cursor:pointer}
.form-btn:hover{filter:brightness(1.08)}
.form-note{font-size:14px;color:var(--sf-holzgrau)}

/* Verwandte Seiten */
.related{background:var(--s-alt);padding:60px 0}
.related .sec-in{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}
.related h2{font:800 22px var(--font-head);margin:0 10px 0 0}
.related a{display:inline-flex;align-items:center;gap:8px;font:700 16px var(--font-head);text-decoration:none;color:var(--s-dark);border-bottom:2px solid var(--s-accent);padding-bottom:3px}
.related a:hover{color:var(--s-accent)}

@media (max-width:900px){
  .sec{padding-top:60px}
  .sec:last-of-type{padding-bottom:60px}
  .sec h2{font-size:30px}
  .sec-ul,.sec-cards-grid,.sec-machines-grid,.sec-areas-grid,form.sec-form{grid-template-columns:1fr}
  .sec-steps-ol,.sec-contact-grid{grid-template-columns:1fr 1fr}
  .sec-facts-row{grid-template-columns:1fr;padding:30px 20px}
  .sec-quote blockquote p{font-size:28px}
}
@media (max-width:560px){
  .sec-steps-ol,.sec-contact-grid{grid-template-columns:1fr}
}

/* ---------- Ergänzungen WordPress ---------- */
.cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.slide .cover,.page-hero .cover,.split-img .cover,.care .cover{display:block}
.split-img{position:relative;overflow:hidden}
.page-hero{overflow:hidden}
.page-hero::before{z-index:1}
.page-hero-in{z-index:2}
.slide::before{z-index:1}
.has-img::after{display:none}
.sec-machine .media{position:relative;height:220px;margin-bottom:16px;overflow:hidden;border-radius:var(--s-radius)}
.sec-machine .media .ph{height:100%;margin:0}
.hero-in{z-index:2}
body.no-hero .head{position:relative;background:var(--sf-anthrazit)}
body.no-hero .topline{position:static}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:#fff;color:#000;padding:10px 14px}
.skip-link:focus{left:10px;top:10px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--sf-orange);outline-offset:3px}
.form-msg{padding:14px 18px;margin:0 0 24px;font-weight:700;border-left:5px solid var(--sf-orange);background:var(--sf-kalkweiss)}
.form-msg.err{border-color:#c0392b}
.hp-field{position:absolute;left:-9999px}
.form-radio{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 26px;align-items:center}
.form-radio legend{font:700 14px var(--font-body);color:var(--s-dark);margin-bottom:8px;padding:0;width:100%}
.form-radio label{flex-direction:row;align-items:center;gap:8px;font-weight:400;font-size:16px}
.form-radio input,.form-check input{accent-color:var(--sf-orange);width:18px;height:18px;margin:0}
.form-check{flex-direction:row!important;align-items:flex-start;gap:10px;font-weight:400!important}
.form-check input{margin-top:3px;flex:none}
.contact-hint{margin:-6px 0 0!important}
.sec-form input[aria-invalid=true],.sec-form textarea[aria-invalid=true]{border-color:#c0392b;outline:1px solid #c0392b}
.sec-timeline-ol{list-style:none;margin:0;padding:0 0 0 28px;border-left:3px solid var(--s-accent);max-width:820px}
.sec-timeline-ol li{position:relative;padding:0 0 30px}
.sec-timeline-ol li::before{content:"";position:absolute;left:-38px;top:6px;width:17px;height:17px;border-radius:50%;background:var(--s-accent);border:3px solid #fff;box-shadow:0 0 0 1px var(--s-accent)}
.sec-timeline-ol b{display:block;font:800 26px var(--font-head);color:var(--s-accent)}
.sec-timeline-ol p{margin:4px 0 0}
.entry-content{max-width:var(--s-maxw);margin:0 auto;padding:80px 20px}
.entry-content h1{font:800 48px/1.1 var(--font-head);margin:0 0 30px}
.sec-text .sec-in>ul,.sec-text .sec-in>ol{font-size:17px;line-height:1.7;max-width:820px;padding-left:22px}
@media (max-width:991px){.page-hero.ph::after{top:70px;bottom:auto}}
/* Editor: Vorschau nicht klickbar */
.editor-styles-wrapper .wp-block{max-width:none}
.editor-styles-wrapper .sf-preview a,.editor-styles-wrapper .sf-preview button{pointer-events:none}
.editor-styles-wrapper .sf-preview .hero,.editor-styles-wrapper .sf-preview .page-hero{margin-top:0}

/* Hauptmenü: Icon über einzeiliger Beschriftung (Icons neu im 48er-Raster, 11.10.2026) */
.mainnav li{width:auto}
.mainnav a{padding:0 24px}
.nl{white-space:nowrap}
@media (max-width:1280px){.mainnav a{padding:0 14px}.nl{font-size:17px}}
@media (max-width:991px){.mainnav a{padding:14px 22px}.nl{font-size:20px}}

/* Instagram-Raster über dem Fuß (inc/instagram.php) – Bilder liegen lokal, keine Einbettung */
.insta{padding:70px 15px}
.insta-in{max-width:1180px;margin:0 auto}
.insta-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.insta-head h2{font:800 40px/1.1 var(--font-head);margin:0}
.insta-head a{display:inline-flex;align-items:center;gap:10px;font:700 18px var(--font-head);letter-spacing:.03em;color:var(--sf-anthrazit);text-decoration:none}
.insta-head svg{color:var(--sf-orange)}
.insta-head a:hover{color:var(--sf-orange)}
.insta-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;list-style:none;margin:0;padding:0}
.insta-grid a{display:block;overflow:hidden;aspect-ratio:1;background:var(--sf-kalkweiss)}
.insta-grid img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.insta-grid a:hover img,.insta-grid a:focus-visible img{transform:scale(1.05)}
@media (max-width:991px){.insta{padding:50px 15px}.insta-head h2{font-size:32px}.insta-grid{grid-template-columns:repeat(3,1fr);gap:6px}}
