/*
Theme Name: CARE-fully
Theme URI: https://www.care-fully.de
Author: CARE-fully GmbH & Co. KG
Description: Website-Theme der CARE-fully GmbH & Co. KG – Unterstützung im Alltag. Umsetzung von Konzept, Styleguide und Textvorlage (Stand 27.10.2026): Petrol, Creme, Anthrazit, Montserrat und Nunito Sans (lokal), helles und dunkles Design, Smartphone zuerst, WCAG 2.1 AA.
Version: 1.0.7
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: carefully
*/

/* ---------- Schriften, lokal eingebunden (keine Google-Server) ---------- */
@font-face{font-family:"Montserrat";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/montserrat-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/montserrat-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/nunito-sans-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/nunito-sans-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/nunito-sans-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/nunito-sans-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- Styleguide: helles Design ---------- */
:root{
  --petrol:#005F6A; --petrol-dark:#004A53; --petrol-light:#CFE3E5;
  --rot:#C4161C; --creme:#FAF8F5; --anthrazit:#2E2E2D; --gelb:#FFE88A;

  --bg:#FAF8F5; --bg-weiss:#FFFFFF; --bg-sand:#F1EEE9;
  --card:#FAF8F5; --card-alt:#FFFFFF; --linie:#E6E1DA;
  --text:#2E2E2D; --text-2:#5B5B59;
  --link:#005F6A; --link-hover:#004A53; --akzent:#005F6A; --rot-text:#C4161C;
  --btn-bg:#005F6A; --btn-fg:#FFFFFF; --btn-bg-hover:#004A53;
  --btn2-bg:#FFFFFF; --btn2-fg:#005F6A; --btn2-border:#005F6A; --btn2-bg-hover:#CFE3E5; --btn2-fg-hover:#004A53;
  --foto-bg:#CFE3E5; --foto-fg:#004A53;
  --field-bg:#FAF8F5; --field-bg-alt:#FFFFFF; --field-border:#D8D3CC;
  --header-bg:#FFFFFF; --header-border:#E6E1DA; --nav-hover-bg:#FAF8F5; --nav-active-bg:#CFE3E5; --nav-active-fg:#005F6A;
  --prefooter-bg:#FFFFFF;
  --footer-bg:#2E2E2D; --footer-fg:#F4F1EC; --footer-2:#D9D5CE; --footer-line:#4A4A48; --footer-muted:#CFCBC4;
  --band-bg:#005F6A; --band-fg:#FFFFFF; --band-sub:#CFE3E5;
  --hinweis-bg:#CFE3E5; --hinweis-fg:#004A53;
  --table-head:#F1EEE9; --table-bg:#FFFFFF;
  --focus:#005F6A;

  --radius:24px; --radius-s:20px; --pille:999px;
  --h1:clamp(34px,5.2vw,52px); --h2:clamp(28px,3.8vw,38px); --h3:21px;
  --text-size:18px;
  --max:1180px; --gutter:clamp(20px,4vw,40px);
  color-scheme:light;
}
/* ---------- Dunkles Design: Systemeinstellung ---------- */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#1B2325; --bg-weiss:#222C2E; --bg-sand:#1F292B;
    --card:#283335; --card-alt:#283335; --linie:#3A4648;
    --text:#F1EEE9; --text-2:#B9B5AE;
    --link:#9FD3D9; --link-hover:#CFE3E5; --akzent:#9FD3D9; --rot-text:#F08A8E;
    --btn-bg:#CFE3E5; --btn-fg:#004A53; --btn-bg-hover:#E4F0F1;
    --btn2-bg:transparent; --btn2-fg:#CFE3E5; --btn2-border:#9FD3D9; --btn2-bg-hover:rgba(159,211,217,.16); --btn2-fg-hover:#FFFFFF;
    --foto-bg:#2C4549; --foto-fg:#CFE3E5;
    --field-bg:#1B2325; --field-bg-alt:#1B2325; --field-border:#4A5759;
    --header-bg:#1F292B; --header-border:#33403F; --nav-hover-bg:#283335; --nav-active-bg:#2C4549; --nav-active-fg:#CFE3E5;
    --prefooter-bg:#222C2E;
    --footer-bg:#121819; --footer-fg:#F1EEE9; --footer-2:#B9B5AE; --footer-line:#2E3839; --footer-muted:#A8A49D;
    --band-bg:#005F6A; --band-fg:#FFFFFF; --band-sub:#CFE3E5;
    --hinweis-bg:#2C4549; --hinweis-fg:#CFE3E5;
    --table-head:#1F292B; --table-bg:#283335;
    --focus:#9FD3D9;
    color-scheme:dark;
  }
}
/* ---------- Dunkles Design: per Schalter gewählt ---------- */
:root[data-theme="dark"]{
  --bg:#1B2325; --bg-weiss:#222C2E; --bg-sand:#1F292B;
  --card:#283335; --card-alt:#283335; --linie:#3A4648;
  --text:#F1EEE9; --text-2:#B9B5AE;
  --link:#9FD3D9; --link-hover:#CFE3E5; --akzent:#9FD3D9; --rot-text:#F08A8E;
  --btn-bg:#CFE3E5; --btn-fg:#004A53; --btn-bg-hover:#E4F0F1;
  --btn2-bg:transparent; --btn2-fg:#CFE3E5; --btn2-border:#9FD3D9; --btn2-bg-hover:rgba(159,211,217,.16); --btn2-fg-hover:#FFFFFF;
  --foto-bg:#2C4549; --foto-fg:#CFE3E5;
  --field-bg:#1B2325; --field-bg-alt:#1B2325; --field-border:#4A5759;
  --header-bg:#1F292B; --header-border:#33403F; --nav-hover-bg:#283335; --nav-active-bg:#2C4549; --nav-active-fg:#CFE3E5;
  --prefooter-bg:#222C2E;
  --footer-bg:#121819; --footer-fg:#F1EEE9; --footer-2:#B9B5AE; --footer-line:#2E3839; --footer-muted:#A8A49D;
  --band-bg:#005F6A; --band-fg:#FFFFFF; --band-sub:#CFE3E5;
  --hinweis-bg:#2C4549; --hinweis-fg:#CFE3E5;
  --table-head:#1F292B; --table-bg:#283335;
  --focus:#9FD3D9;
  color-scheme:dark;
}
/* Logo-Varianten hell/dunkel */
.logo-dark,.claim-dark{display:none}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .logo-light,:root:not([data-theme="light"]) .claim-light{display:none}
  :root:not([data-theme="light"]) .logo-dark,:root:not([data-theme="light"]) .claim-dark{display:block}
}
:root[data-theme="dark"] .logo-light,:root[data-theme="dark"] .claim-light{display:none}
:root[data-theme="dark"] .logo-dark,:root[data-theme="dark"] .claim-dark{display:block}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Nunito Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:var(--text-size);line-height:1.6;transition:background-color .2s,color .2s}
@media (max-width:640px){body{font-size:17px}}
h1,h2,h3,h4{font-family:"Montserrat",system-ui,Arial,sans-serif;font-weight:700;line-height:1.15;margin:0 0 .5em;letter-spacing:-.005em;text-wrap:balance;color:var(--text)}
h1{font-size:var(--h1)}
h2{font-size:var(--h2)}
h3{font-size:var(--h3);line-height:1.3}
h4{font-size:18px;line-height:1.35}
p{margin:0 0 1em;max-width:68ch}
ul,ol{padding-left:1.3em;margin:0 0 1em}
li{margin:.25em 0}
a{color:var(--link);text-underline-offset:.15em}
a:hover{color:var(--link-hover)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}
.btn:focus-visible{outline-offset:4px;border-radius:var(--pille)}
img,svg{max-width:100%;height:auto;display:block}
strong{font-weight:700}
small{font-size:15px}
table{border-collapse:collapse;width:100%;max-width:760px;margin:0 0 1.25em;background:var(--table-bg);border-radius:var(--radius-s);overflow:hidden;border:1px solid var(--linie)}
th,td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--linie);vertical-align:top}
th{font-family:"Montserrat",system-ui,sans-serif;font-size:15px;background:var(--table-head)}
tr:last-child td{border-bottom:0}
.table-wrap{overflow-x:auto}

.skip{position:absolute;left:12px;top:-100px;background:var(--petrol);color:#fff;padding:12px 20px;border-radius:var(--pille);z-index:100;font-family:"Montserrat",sans-serif;font-size:16px;text-decoration:none}
.skip:focus{top:12px;outline:3px solid var(--text)}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.dach{display:block;font-family:"Montserrat",system-ui,sans-serif;font-weight:700;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--akzent);margin:0 0 14px}
.dach.rot{color:var(--rot-text)}
.lead{font-size:1.1em;max-width:62ch}
.muted{color:var(--text-2)}
.vis-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Buttons – Pillen, mind. 48 px hoch */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 26px;border-radius:var(--pille);border:2px solid var(--btn-bg);background:var(--btn-bg);color:var(--btn-fg);font-family:"Montserrat",system-ui,sans-serif;font-weight:700;font-size:16px;text-decoration:none;cursor:pointer;line-height:1.2;text-align:center;transition:background .15s,border-color .15s,color .15s}
.btn:hover{background:var(--btn-bg-hover);border-color:var(--btn-bg-hover);color:var(--btn-fg)}
.btn.sek{background:var(--btn2-bg);border-color:var(--btn2-border);color:var(--btn2-fg)}
.btn.sek:hover{background:var(--btn2-bg-hover);border-color:var(--btn2-border);color:var(--btn2-fg-hover)}
.btn.hell{background:#FFFFFF;border-color:#FFFFFF;color:var(--petrol)}
.btn.hell:hover{background:var(--petrol-light);border-color:var(--petrol-light);color:var(--petrol-dark)}
.btn.rot{background:var(--rot);border-color:var(--rot);color:#fff}
.btn.rot:hover{background:#A3121A;border-color:#A3121A;color:#fff}
.btn[aria-disabled="true"]{opacity:.55;cursor:default}
.btn svg{width:20px;height:20px;flex:none}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin:26px 0 22px}
@media (max-width:560px){.btn-row .btn{width:100%}}

/* ---------- Kopf ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--header-bg);border-bottom:1px solid var(--header-border)}
.header-bar{display:flex;align-items:center;gap:10px;min-height:76px;padding-top:8px;padding-bottom:8px}
.logo{display:inline-flex;align-items:center;flex:none;padding:4px 0;border-radius:8px}
.logo img{height:54px;width:auto}
@media (max-width:640px){.logo img{height:44px}}
.nav-main{margin-left:auto}
.nav-main ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
.nav-main a{display:inline-flex;align-items:center;min-height:44px;padding:0 9px;border-radius:var(--pille);text-decoration:none;color:var(--text);font-family:"Montserrat",system-ui,sans-serif;font-weight:700;font-size:15px;white-space:nowrap}
.nav-main a:hover{background:var(--nav-hover-bg);color:var(--link-hover)}
.nav-main a[aria-current="page"]{color:var(--nav-active-fg);background:var(--nav-active-bg)}
.header-tel{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border-radius:var(--pille);font-family:"Montserrat",system-ui,sans-serif;font-weight:700;font-size:15px;color:var(--link);text-decoration:none;white-space:nowrap}
.header-tel:hover{background:var(--nav-hover-bg)}
.header-tel svg{width:20px;height:20px}
.header-cta{flex:none;padding-left:18px;padding-right:18px}
.rund{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;border:2px solid var(--btn2-border);background:var(--btn2-bg);color:var(--btn2-fg);cursor:pointer;flex:none;padding:0}
.rund:hover{background:var(--btn2-bg-hover);color:var(--btn2-fg-hover)}
.rund svg{width:22px;height:22px}
.theme-btn .ico-sun{display:none}
:root[data-theme="dark"] .theme-btn .ico-sun{display:block}
:root[data-theme="dark"] .theme-btn .ico-moon{display:none}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .theme-btn .ico-sun{display:block}
  :root:not([data-theme="light"]) .theme-btn .ico-moon{display:none}
}
.menu-btn{display:none}
.menu-btn .ico-close{display:none}
.menu-btn[aria-expanded="true"] .ico-close{display:block}
.menu-btn[aria-expanded="true"] .ico-menu{display:none}
.tel-btn{display:none;background:var(--btn-bg);border-color:var(--btn-bg);color:var(--btn-fg);margin-left:auto}
.tel-btn:hover{background:var(--btn-bg-hover);border-color:var(--btn-bg-hover);color:var(--btn-fg)}
.nav-mobile{display:none;background:var(--header-bg);border-top:1px solid var(--header-border)}
.nav-mobile ul{list-style:none;margin:0;padding:10px 0 6px}
.nav-mobile a{display:flex;align-items:center;min-height:52px;padding:0 10px;border-radius:14px;text-decoration:none;color:var(--text);font-family:"Montserrat",system-ui,sans-serif;font-weight:700;font-size:18px}
.nav-mobile a[aria-current="page"]{color:var(--nav-active-fg);background:var(--nav-active-bg)}
.nav-mobile .cta-box{padding:10px 0 16px;display:grid;gap:10px}
.nav-mobile .cta-box .btn{width:100%}
.nav-mobile.open{display:block}
@media (max-width:1160px){
  .nav-main,.header-tel,.header-cta{display:none}
  .menu-btn,.tel-btn{display:inline-flex}
}
.header-tel span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.header-tel{padding:0 8px}
@media (max-width:400px){.header-bar{gap:6px}.logo img{height:38px}}

/* ---------- Seiten / Router ---------- */
section.block{padding:clamp(48px,7vw,88px) 0}
section.block.weiss{background:var(--bg-weiss)}
section.block.sand{background:var(--bg-sand)}
section.block.petrol{background:var(--band-bg);color:var(--band-fg)}
section.block.petrol h1,section.block.petrol h2,section.block.petrol h3{color:var(--band-fg)}
section.block.petrol .dach{color:var(--band-sub)}
section.block.petrol a{color:#fff}
section.block.petrol a.btn.hell{color:var(--petrol)}
section.block.petrol a.btn.hell:hover{color:var(--petrol-dark)}
section.block.eng{padding:clamp(32px,5vw,56px) 0}
.hero{padding:clamp(40px,6vw,80px) 0 clamp(40px,6vw,72px)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,64px);align-items:center}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}}
.hero h1{margin-bottom:.45em}
.hero .lead{font-size:1.12em}
.sub-hero{padding:clamp(40px,6vw,72px) 0 clamp(28px,4vw,44px)}
.sub-hero .lead{font-size:1.1em}

/* Foto-Platzhalter (echte Fotos folgen) */
.foto{background:var(--foto-bg);border-radius:var(--radius);min-height:280px;display:flex;align-items:center;justify-content:center;text-align:center;padding:28px;color:var(--foto-fg);font-family:"Montserrat",system-ui,sans-serif;font-weight:700;font-size:15px;line-height:1.45}
.foto.hoch{min-height:0;width:100%;aspect-ratio:4/3}
.foto.quad{aspect-ratio:1;min-height:0}
.foto svg{width:36px;height:36px;margin:0 auto 12px;opacity:.7}
.foto span{display:block;max-width:30ch;margin:0 auto}

.checks{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 28px;font-size:16px}
.hero .checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}
@media (max-width:480px){.hero .checks{grid-template-columns:1fr}}
.checks li{display:flex;align-items:flex-start;gap:8px}
.checks svg{width:20px;height:20px;flex:none;color:var(--akzent);margin-top:4px}
.checks.vert{flex-direction:column;gap:10px;font-size:1em}
section.block.petrol .checks svg{color:var(--band-sub)}

.grid{display:grid;gap:20px}
.grid.c4{grid-template-columns:repeat(4,1fr)}
.grid.c3{grid-template-columns:repeat(3,1fr)}
.grid.c2{grid-template-columns:repeat(2,1fr)}
@media (max-width:980px){.grid.c4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.grid.c3{grid-template-columns:1fr}.grid.c2{grid-template-columns:1fr}}
@media (max-width:560px){.grid.c4{grid-template-columns:1fr}}

.karte{background:var(--card);border:1px solid var(--linie);border-radius:var(--radius);padding:28px 26px}
section.block:not(.weiss) .karte{background:var(--card-alt)}
.karte h3{margin-top:14px}
.karte p{font-size:16px;margin-bottom:0}
.karte .ico{width:36px;height:36px;color:var(--akzent)}
.karte.schritt .nr{font-family:"Montserrat",system-ui,sans-serif;font-weight:700;font-size:36px;line-height:1;color:var(--akzent);margin-bottom:12px}
.karte.schritt h3{margin-top:0}

/* Kostenfläche */
.kosten-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(28px,5vw,72px);align-items:center}
@media (max-width:860px){.kosten-grid{grid-template-columns:1fr}}
.zahl{font-family:"Montserrat",system-ui,sans-serif;font-weight:700;font-size:clamp(56px,8vw,84px);line-height:1;margin:6px 0 8px;letter-spacing:-.02em}
.zahl-sub{font-size:18px;color:var(--band-sub);max-width:34ch}
section.block.petrol p{max-width:62ch}

/* Zweispaltig Text + Bild */
.split{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(28px,5vw,64px);align-items:center}
.split.rev{grid-template-columns:1.2fr 1fr}
@media (max-width:860px){.split,.split.rev{grid-template-columns:1fr}}

/* Jobs-Kasten */
.jobs-box{background:var(--card-alt);border:1px solid var(--linie);border-radius:var(--radius);padding:clamp(26px,4vw,40px);display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
@media (max-width:760px){.jobs-box{grid-template-columns:1fr}}
.jobs-box h2{font-size:clamp(24px,3vw,30px)}
.jobs-box p{margin-bottom:0;font-size:17px}

/* FAQ */
.faq{max-width:760px}
.faq details{border-bottom:1px solid var(--linie)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;min-height:56px;padding:12px 4px;font-family:"Montserrat",system-ui,sans-serif;font-weight:700;font-size:18px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"";width:12px;height:12px;flex:none;border-right:3px solid var(--akzent);border-bottom:3px solid var(--akzent);transform:rotate(-45deg);margin-left:4px;transition:transform .15s}
.faq details[open] summary::before{transform:rotate(45deg)}
.faq summary:hover{color:var(--link-hover)}
.faq details p{padding:0 4px 18px 30px;margin:0}

/* Kontakt */
.kontakt-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,64px);align-items:start}
@media (max-width:860px){.kontakt-grid{grid-template-columns:1fr}}
.tel-gross{font-family:"Montserrat",system-ui,sans-serif;font-weight:700;font-size:clamp(24px,3vw,30px);color:var(--link);text-decoration:none;display:inline-block;margin:6px 0 4px}
.tel-gross:hover{text-decoration:underline}
.adresse{font-style:normal;line-height:1.5}

/* Formulare */
.formular{background:var(--card-alt);border:1px solid var(--linie);border-radius:var(--radius);padding:clamp(22px,4vw,34px)}
section.block.weiss .formular{background:var(--card)}
.feld{margin-bottom:18px}
.feld label,.feld .lbl{display:block;font-family:"Montserrat",system-ui,sans-serif;font-weight:700;font-size:15px;margin-bottom:6px}
.feld .hint{display:block;font-size:15px;color:var(--text-2);margin:-2px 0 6px}
input[type=text],input[type=tel],input[type=email],input[type=number],select,textarea{width:100%;font:inherit;font-size:17px;color:var(--text);background:var(--field-bg);border:1.5px solid var(--field-border);border-radius:14px;padding:12px 14px;min-height:50px}
section.block.weiss .formular input,section.block.weiss .formular select,section.block.weiss .formular textarea{background:var(--field-bg-alt)}
input:focus,select:focus,textarea:focus{outline:3px solid var(--focus);outline-offset:1px;border-color:var(--focus)}
textarea{min-height:130px;resize:vertical}
input[type=file]{font:inherit;font-size:16px;padding:10px 0;color:var(--text)}
.zeile2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:560px){.zeile2{grid-template-columns:1fr}}
.check{display:flex;align-items:flex-start;gap:12px;font-size:16px;cursor:pointer}
.check input{width:22px;height:22px;margin:4px 0 0;flex:none;accent-color:var(--petrol)}
.radios{display:flex;flex-wrap:wrap;gap:10px 22px}
.radios label{display:flex;align-items:center;gap:10px;min-height:44px;font-size:17px;cursor:pointer}
.radios input{width:22px;height:22px;accent-color:var(--petrol);margin:0}
.form-ok{display:none;background:var(--hinweis-bg);border-radius:var(--radius-s);padding:22px 24px;color:var(--hinweis-fg)}
.form-ok.show{display:block}
.form-ok h3{margin:0 0 6px;color:inherit}
.form-ok p{margin:0}
.hp{position:absolute;left:-9999px;top:-9999px}
.form-note{font-size:15px;color:var(--text-2);margin:14px 0 0}

/* Team */
.person{display:grid;grid-template-columns:200px 1fr;gap:26px;align-items:center;background:var(--card-alt);border:1px solid var(--linie);border-radius:var(--radius);padding:24px;max-width:820px}
@media (max-width:560px){.person{grid-template-columns:1fr}}
.person .foto{min-height:200px;border-radius:var(--radius-s)}
.person h3{margin:0 0 4px}
.person .rolle{color:var(--akzent);font-weight:700;margin-bottom:10px;font-size:16px}
.person p{margin-bottom:0}

/* Einsatzgebiet-Karte (schematisch, keine Fremdserver) */
.gebiet{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center}
@media (max-width:860px){.gebiet{grid-template-columns:1fr}}
.map{background:var(--card-alt);border:1px solid var(--linie);border-radius:var(--radius);padding:14px}
.map svg{width:100%;height:auto}
.map .ort{font-family:"Montserrat",sans-serif;font-weight:700;font-size:13px;fill:var(--text)}
.map .ort.haupt{font-size:15px}
.map .punkt{fill:var(--akzent)}
.map .punkt.haupt{fill:var(--rot-text)}
.map .fluss{fill:none;stroke:var(--foto-bg);stroke-width:7;stroke-linecap:round}
.map .flaeche{fill:var(--bg);stroke:var(--foto-bg);stroke-width:2}
.map .legende{font-size:12px;fill:var(--text-2)}

/* Werte-Liste */
.werte{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px 28px;max-width:900px}
@media (max-width:640px){.werte{grid-template-columns:1fr}}
.werte li{background:var(--card-alt);border:1px solid var(--linie);border-radius:var(--radius-s);padding:16px 20px;font-size:17px}
.werte strong{display:block;font-family:"Montserrat",sans-serif;margin-bottom:2px}

/* Vorfuß (Unterseiten) mit Claim-Logo */
.prefooter{background:var(--prefooter-bg);border-top:1px solid var(--linie);padding:clamp(36px,5vw,56px) 0}
.prefooter .inner{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center}
@media (max-width:860px){.prefooter .inner{grid-template-columns:1fr;text-align:center;justify-items:center}}
.prefooter img{height:92px;width:auto}
.prefooter p{margin:0;max-width:40ch}
body.home .prefooter{display:none}

/* Fuß */
.site-footer{background:var(--footer-bg);color:var(--footer-fg);padding:clamp(36px,5vw,56px) 0 28px;font-size:16px}
.site-footer a{color:var(--footer-fg)}
.site-footer a:hover{color:#fff}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr}}
.site-footer h3{font-size:16px;color:#fff;margin-bottom:10px}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin:0}
.site-footer li a{display:inline-flex;align-items:center;min-height:40px;text-decoration:none}
.site-footer li a:hover{text-decoration:underline}
.site-footer .firma{font-family:"Montserrat",sans-serif;font-weight:700;color:#fff;font-size:17px}
.site-footer p{margin:0 0 8px;color:var(--footer-2)}
.foot-bottom{margin-top:30px;padding-top:18px;border-top:1px solid var(--footer-line);display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:center;font-size:15px;color:var(--footer-muted)}
.foot-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.review-btn{background:transparent;color:var(--footer-2);border:1.5px solid #6B6B69;border-radius:var(--pille);min-height:40px;padding:0 16px;font:inherit;font-size:14px;cursor:pointer}
.review-btn:hover{border-color:#fff;color:#fff}
.review-btn[aria-pressed="true"]{background:var(--gelb);color:var(--anthrazit);border-color:var(--gelb)}

/* Platzhalter: unauffällig, auf Wunsch hervorgehoben */
.ph{border-radius:4px}
body.review .ph{background:var(--gelb);color:var(--anthrazit);box-shadow:0 0 0 3px var(--gelb);outline:1px dashed #8C6A00}
body.review .zahl .ph{box-shadow:none;background:transparent;color:var(--gelb);outline:2px dashed var(--gelb);outline-offset:6px}
.hinweis{background:var(--hinweis-bg);color:var(--hinweis-fg);border-radius:var(--radius-s);padding:16px 20px;font-size:16px;max-width:760px;margin:0 0 24px}
.hinweis p{margin:0}
.rechts{max-width:760px}
.rechts h2{font-size:24px;margin-top:1.6em}
.rechts h2:first-of-type{margin-top:.6em}
.rechts p,.rechts li{font-size:17px}

/* ======================================================================
   WordPress-Blöcke: Zuordnung der Styleguide-Klassen zu Core-Blöcken
   ====================================================================== */
.wp-block-group{box-sizing:border-box}
/* WordPress legt in klassischen Themes einen inneren Container in Gruppen an – durchlässig machen, damit Raster und Karten greifen */
.wp-block-group > .wp-block-group__inner-container{display:contents}
.entry-content > :first-child{margin-top:0}
.wp-block-heading{color:var(--text)}

/* Buttons (Block „Buttons“) */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:14px;margin:26px 0 22px}
.wp-block-buttons.unten{margin-bottom:0}
.wp-block-buttons.oben{margin-top:0}
.wp-block-button{margin:0}
.wp-block-button .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 26px;border-radius:var(--pille);border:2px solid var(--btn-bg);background:var(--btn-bg);color:var(--btn-fg);font-family:"Montserrat",system-ui,sans-serif;font-weight:700;font-size:16px;text-decoration:none;cursor:pointer;line-height:1.2;text-align:center;transition:background .15s,border-color .15s,color .15s}
.wp-block-button .wp-block-button__link:hover{background:var(--btn-bg-hover);border-color:var(--btn-bg-hover);color:var(--btn-fg)}
.wp-block-button.is-style-sek .wp-block-button__link{background:var(--btn2-bg);border-color:var(--btn2-border);color:var(--btn2-fg)}
.wp-block-button.is-style-sek .wp-block-button__link:hover{background:var(--btn2-bg-hover);border-color:var(--btn2-border);color:var(--btn2-fg-hover)}
.wp-block-button.is-style-hell .wp-block-button__link{background:#FFFFFF;border-color:#FFFFFF;color:var(--petrol)}
.wp-block-button.is-style-hell .wp-block-button__link:hover{background:var(--petrol-light);border-color:var(--petrol-light);color:var(--petrol-dark)}
.wp-block-button.is-style-rot .wp-block-button__link{background:var(--rot);border-color:var(--rot);color:#fff}
.wp-block-button.is-style-rot .wp-block-button__link:hover{background:#A3121A;border-color:#A3121A;color:#fff}
section.block.petrol .wp-block-button.is-style-hell .wp-block-button__link{color:var(--petrol)}
@media (max-width:560px){.wp-block-buttons .wp-block-button,.wp-block-buttons .wp-block-button__link{width:100%}}

/* Listen mit Häkchen (Block „Liste“ mit Klasse checks) */
ul.checks{list-style:none;padding:0;margin:0}
ul.checks li{display:flex;align-items:flex-start;gap:8px;margin:0}
ul.checks li::before{content:"";width:20px;height:20px;flex:none;margin-top:4px;background:var(--akzent);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6L9 17l-5-5'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6L9 17l-5-5'/></svg>") center/contain no-repeat}
section.block.petrol ul.checks li::before{background:var(--band-sub)}
ul.checks.vert{flex-direction:column}

/* Karten-Symbole (Gruppe „karte“ mit Klasse ico-…) */
.karte[class*="ico-"]::before{content:"";display:block;width:36px;height:36px;background:var(--akzent);-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.karte.ico-haus{--ico:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3 11l9-8 9 8'/><path d='M5 10v10h14V10'/><path d='M10 20v-6h4v6'/></svg>")}
.karte.ico-gruppe{--ico:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='8' r='3.2'/><circle cx='16.5' cy='9.5' r='2.6'/><path d='M3 20c0-3.3 2.7-6 6-6s6 2.7 6 6'/><path d='M15.5 14.4c2.6.4 4.5 2.6 4.5 5.6'/></svg>")}
.karte.ico-herz{--ico:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 20.5s-7.5-4.6-7.5-10A4 4 0 0 1 12 8a4 4 0 0 1 7.5 2.5c0 5.4-7.5 10-7.5 10z'/></svg>")}
.karte.ico-korb{--ico:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3 4h2l2.4 11.2a1 1 0 0 0 1 .8h9.4a1 1 0 0 0 1-.8L20.5 8H6.2'/><circle cx='9.5' cy='20' r='1.3'/><circle cx='17' cy='20' r='1.3'/></svg>")}
.karte.schritt .nr{font-family:"Montserrat",system-ui,sans-serif;font-weight:700;font-size:36px;line-height:1;color:var(--akzent);margin:0 0 12px}

/* Bilder (Block „Bild“ mit Klasse foto) */
.wp-block-image{margin:0}
.wp-block-image.foto{margin:0;padding:0;background:transparent;min-height:0;display:block;border-radius:0}
.wp-block-image.foto img{width:100%;height:auto;border-radius:var(--radius);display:block;aspect-ratio:3/2;object-fit:cover;background:var(--foto-bg)}
.wp-block-image.foto.hoch img{aspect-ratio:4/3}
.wp-block-image.foto.quad img{aspect-ratio:1;border-radius:var(--radius-s)}
.wp-block-image.foto figcaption{font-size:15px;color:var(--text-2);text-align:center;margin:8px 0 0}
.person .wp-block-image.foto{margin:0;padding:0;background:transparent;min-height:0;display:block;border-radius:0}

/* Tabellen (Block „Tabelle“) */
.wp-block-table{margin:0 0 1.25em;max-width:760px}
.wp-block-table table{border-collapse:collapse;width:100%;background:var(--table-bg);border:1px solid var(--linie);border-radius:var(--radius-s);overflow:hidden}
.wp-block-table th,.wp-block-table td{text-align:left;padding:14px 18px;border:0;border-bottom:1px solid var(--linie);vertical-align:top}
.wp-block-table th{font-family:"Montserrat",system-ui,sans-serif;font-size:15px;background:var(--table-head)}
.wp-block-table tr:last-child td{border-bottom:0}
.wp-block-table tbody th{background:transparent;font-family:"Montserrat",system-ui,sans-serif}

/* Aufklapp-Fragen (Block „Details“) */
.faq .wp-block-details{border-bottom:1px solid var(--linie);margin:0}
.faq .wp-block-details summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;min-height:56px;padding:12px 4px;font-family:"Montserrat",system-ui,sans-serif;font-weight:700;font-size:18px}
.faq .wp-block-details summary::-webkit-details-marker{display:none}
.faq .wp-block-details summary::before{content:"";width:12px;height:12px;flex:none;border-right:3px solid var(--akzent);border-bottom:3px solid var(--akzent);transform:rotate(-45deg);margin-left:4px;transition:transform .15s}
.faq .wp-block-details[open] summary::before{transform:rotate(45deg)}
.faq .wp-block-details summary:hover{color:var(--link-hover)}
.faq .wp-block-details p{padding:0 4px 18px 30px;margin:0}

/* Werte-Liste als Gruppe mit Karten */
.werte .wp-block-group{background:var(--card-alt);border:1px solid var(--linie);border-radius:var(--radius-s);padding:16px 20px;font-size:17px}
.werte .wp-block-group p{margin:0}
.werte .wp-block-group strong{display:block;font-family:"Montserrat",sans-serif;margin-bottom:2px}

/* Platzhalter-Markierung: gelb nur für angemeldete Nutzer, Besucher sehen normalen Text */
mark.has-inline-color{background-color:transparent!important;color:inherit!important;border-radius:4px}
body.logged-in mark.has-inline-color{background-color:var(--gelb)!important;color:var(--anthrazit)!important;box-shadow:0 0 0 3px var(--gelb);outline:1px dashed #8C6A00}
body.logged-in .zahl mark.has-inline-color{box-shadow:none;background-color:transparent!important;color:var(--gelb)!important;outline:2px dashed var(--gelb);outline-offset:6px}
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:46px}}

/* Formular-Rückmeldungen */
.form-fehler{background:#FBE4E5;color:#7A1016;border-radius:var(--radius-s);padding:14px 18px;margin:0 0 18px;font-size:16px}
:root[data-theme="dark"] .form-fehler{background:#4A2426;color:#F6C9CB}

/* Blog/Archiv (nicht genutzt, aber sauber) */
.archiv-liste article{margin-bottom:28px}

/* Editor-Ansicht: volle Breite wie auf der Website, Titel mittig über dem Inhalt */
.editor-styles-wrapper{background:var(--bg);color:var(--text);font-family:"Nunito Sans",system-ui,sans-serif;font-size:18px}
.editor-styles-wrapper .wp-block{max-width:none}
.editor-styles-wrapper .is-root-container{padding-left:0;padding-right:0}
.editor-styles-wrapper .editor-post-title__block,.editor-styles-wrapper .wp-block-post-title,.editor-styles-wrapper .editor-visual-editor__post-title-wrapper{max-width:var(--max);margin-left:auto;margin-right:auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.editor-styles-wrapper .wp-block-group.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.editor-styles-wrapper .block-editor-block-list__layout.is-root-container > .wp-block-group{margin-top:0;margin-bottom:0}
.editor-styles-wrapper mark.has-inline-color{background-color:var(--gelb)!important;color:var(--anthrazit)!important}
/* Raster auch im Editor: die Hüll-Elemente des Editors durchlässig machen */
.editor-styles-wrapper :is(.grid,.hero-grid,.split,.kosten-grid,.kontakt-grid,.gebiet,.jobs-box,.werte,.person) > .wp-block-group__inner-container{display:contents}
.editor-styles-wrapper .is-layout-flow > *{margin-block-start:0;margin-block-end:0}
.editor-styles-wrapper .is-layout-flow > p{margin-block-end:1em}
.editor-styles-wrapper .is-layout-flow > :is(h1,h2,h3,h4){margin-block-end:.5em}
.editor-styles-wrapper .wp-block-image.foto img{width:100%}
