/*
Theme Name: SanVital
Author: Steven Killian
Author URI: https://stevenkillian.de
Description: SanVital Pflegedienst.
Version: 0.1.0
Requires at least: 7.0
Requires PHP: 8.3
Text Domain: sanvital-theme
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/* ---------- Grundlagen ---------- */
:root{
	/* Textfarbe: weiches Anthrazit statt reinem Schwarz. */
	--sv-text:#1a1a1a;
	--sv-green:#9cce6a;--sv-green-hover:#b1dc7d;--sv-forest:#33503a;--sv-heading:#24402a;
	/* Dunkles Blau aus dem Logo, sparsam als Abschlussfarbe (Footer). Grün bleibt die Hauptfarbe. */
	--sv-petrol:#00536b;
	--sv-base:#fcfdfa;--sv-soft:#f4f6ef;--sv-sage:#e9eedd;--sv-sand:#f3efe7;
	--sv-shadow:0 18px 40px -24px rgba(0,0,0,.25);
	--sv-gutter:clamp(24px,5.56vw,80px);
	/* Side padding: 80px at 1440px, content never wider than 1280px. Resolved against the element's width. */
	--sv-pad:max(var(--sv-gutter),calc((100% - 1280px) / 2));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;color:var(--sv-text);background:var(--sv-base)}
img{max-width:100%;height:auto}
a{text-underline-offset:4px}
button,input{font:inherit}
a,button,input,summary{touch-action:manipulation}
:where(a,button,input,textarea,summary):focus-visible{outline:3px solid var(--sv-forest);outline-offset:4px}

/* Spacing inside the designed sections comes from gap, not from WordPress flow margins. */
.wp-site-blocks>*,.sv-main,.sv-main>.wp-block-post-content>*,.sv-main+footer{margin-block:0}
.editor-styles-wrapper .is-root-container>.alignfull{margin-block:0}
:is(.sv-main,.editor-styles-wrapper) :is(h1,h2,h3,h4,p,ul,figure,details,.wp-block-group,.wp-block-buttons,.wp-block-image){margin-block:0}
:is(.sv-main,.editor-styles-wrapper){font-size:16px;line-height:1.5}
:is(.sv-main,.editor-styles-wrapper) h1{font-size:43px;line-height:1.1;font-weight:400;color:var(--sv-text)}
:is(.sv-main,.editor-styles-wrapper) h2{font-size:38px;line-height:1.2;font-weight:400;color:var(--sv-heading)}
:is(.sv-main,.editor-styles-wrapper) h3{font-size:24px;line-height:1.3;font-weight:400;color:var(--sv-text)}
:is(.sv-main,.editor-styles-wrapper) a{color:inherit}
.sv-eyebrow{font-size:15px;line-height:normal}
:is(.sv-main,.editor-styles-wrapper) .sv-lead{font-size:18px;line-height:1.5}
:is(.sv-main,.editor-styles-wrapper) .sv-note{font-size:14px;line-height:normal;color:var(--sv-forest)}
.sv-small{font-size:12px}
:is(.sv-main,.editor-styles-wrapper) .wp-block-image img{display:block}

/* ---------- Buttons ---------- */
:is(.sv-main,.editor-styles-wrapper) .wp-block-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
:is(.sv-main,.editor-styles-wrapper) .wp-block-buttons>.wp-block-button{margin:0}
:is(.sv-main,.editor-styles-wrapper) .wp-block-buttons .wp-block-button>.wp-block-button__link{display:inline-block;font-size:18px;line-height:normal;padding:13px 26px;border-radius:12px;border:0;background:var(--sv-green);color:var(--sv-text);text-decoration:none}
:is(.sv-main,.editor-styles-wrapper) .wp-block-buttons .wp-block-button>.wp-block-button__link:hover{background:var(--sv-green-hover)}
:is(.sv-main,.editor-styles-wrapper) .wp-block-buttons .wp-block-button.is-style-outline>.wp-block-button__link{background:transparent;border:1px solid var(--sv-forest);color:var(--sv-forest);font-size:18px;padding:12px 25px}
:is(.sv-main,.editor-styles-wrapper) .wp-block-buttons .wp-block-button.is-style-sv-outline-green>.wp-block-button__link{background:transparent;border:1px solid var(--sv-green);padding:12px 25px}
:is(.sv-main,.editor-styles-wrapper) .wp-block-buttons .wp-block-button.is-style-sv-outline-green-bold>.wp-block-button__link{background:transparent;border:2px solid var(--sv-green);padding:11px 24px}
/* Sekundäre Buttons sehen beim Hover aus wie der primäre; der Rahmen bleibt, damit nichts springt. */
:is(.sv-main,.editor-styles-wrapper) .wp-block-buttons .wp-block-button:is(.is-style-outline,.is-style-sv-outline-green,.is-style-sv-outline-green-bold)>.wp-block-button__link:hover{background:var(--sv-green);border-color:var(--sv-green);color:var(--sv-text)}
/* Gefühl eines echten Knopfs: beim Hover leicht anheben, beim Klick eindrücken. */
:is(.sv-main,.editor-styles-wrapper) .wp-block-buttons .wp-block-button>.wp-block-button__link,
.sv-nav .sv-nav-outline>a,.sv-nav .sv-nav-cta>a,
.sv-consultation .flinkform-form.flinkform-form .flinkform-form__submit{transition:background-color .2s,border-color .2s,color .2s,transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s cubic-bezier(.22,1,.36,1)}
:is(.sv-main,.editor-styles-wrapper) .wp-block-buttons .wp-block-button>.wp-block-button__link:hover,
.sv-nav .sv-nav-outline>a:hover,.sv-nav .sv-nav-cta>a:hover,
.sv-consultation .flinkform-form.flinkform-form .flinkform-form__submit:hover{transform:translateY(-2px);box-shadow:0 8px 18px -8px rgba(51,80,58,.45)}
:is(.sv-main,.editor-styles-wrapper) .wp-block-buttons .wp-block-button>.wp-block-button__link:active,
.sv-nav .sv-nav-outline>a:active,.sv-nav .sv-nav-cta>a:active,
.sv-consultation .flinkform-form.flinkform-form .flinkform-form__submit:active{transform:translateY(1px) scale(.98);box-shadow:0 1px 3px rgba(51,80,58,.3);transition-duration:.06s}
@media (prefers-reduced-motion:reduce){
	:is(.sv-main,.editor-styles-wrapper) .wp-block-buttons .wp-block-button>.wp-block-button__link,
	.sv-nav .sv-nav-outline>a,.sv-nav .sv-nav-cta>a,
	.sv-consultation .flinkform-form.flinkform-form .flinkform-form__submit{transform:none!important}
}

/* ---------- Header ---------- */
/* Sticky: auf der Startseite liegt der Header über dem Hero (negativer Abstand) und bekommt erst beim Scrollen eine Fläche. */
.sv-header{--sv-header-h:74px;position:sticky;top:0;z-index:50;margin:0;transition:background-color .25s,box-shadow .25s}
.sv-header:not(.sv-header-solid){margin-bottom:calc(-1 * var(--sv-header-h))}
.admin-bar .sv-header{top:32px}
.sv-header.sv-header-solid{background:var(--sv-soft)}
.sv-header.is-scrolled{background:var(--sv-base);box-shadow:0 8px 24px -16px rgba(0,0,0,.3)}
.sv-header .sv-header-call{display:none}
.sv-header-inner{max-width:1064px;width:calc(100% - 48px);min-height:74px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:40px}
.sv-header .sv-logo{flex-shrink:0;margin:0}
.sv-logo img{display:block;width:56px;height:56px}
.sv-nav{font-size:15px;margin:0}
.sv-nav .wp-block-navigation__container{gap:40px;align-items:center}
.sv-nav a{text-decoration:none}
.sv-nav a:hover{text-decoration:underline}
.sv-nav .sv-nav-outline{margin-left:125px}
.sv-nav .sv-nav-outline>a,.sv-nav .sv-nav-cta>a{font-size:15px;line-height:normal;border:1px solid var(--sv-green);border-radius:12px;padding:12px}
.sv-nav .wp-block-navigation-item.sv-nav-cta{margin-left:-20px}
.sv-nav .sv-nav-cta>a{background:var(--sv-green)}
.sv-nav .sv-nav-outline>a:hover,.sv-nav .sv-nav-cta>a:hover{text-decoration:none;background:var(--sv-green-hover)}
.sv-nav .wp-block-navigation__submenu-container{border:0!important;border-radius:12px;padding:8px 0;box-shadow:0 18px 40px -20px rgba(0,0,0,.35);background:#fff!important;min-width:240px!important}
.sv-nav .wp-block-navigation__submenu-container a{padding:10px 18px!important}

/* ---------- Rückrufformular (Flinkform) ---------- */
/* Card from the design around the Flinkform form; Flinkform's own rules use (0,3,0), these sit one level higher. */
.sv-consultation{display:flex;flex-direction:column;background:#fff;border-radius:12px;padding:20px 30px;box-shadow:0 18px 40px -24px rgba(0,0,0,.4);color:var(--sv-text);line-height:normal;
	--flinkform-color-primary:var(--sv-forest);--flinkform-button-bg:var(--sv-green);--flinkform-button-color:var(--sv-text);--flinkform-border-radius:12px;--flinkform-label-color:var(--sv-text);--flinkform-help-color:var(--sv-text)}
:is(.sv-main,.editor-styles-wrapper) .sv-consultation .sv-availability{font-size:14px;text-align:center;margin-bottom:12px}
.sv-availability:before{content:'●';color:var(--sv-green);margin-right:4px}
:is(.sv-main,.editor-styles-wrapper) .sv-consultation h2{font-size:20px;line-height:normal;text-align:center;color:var(--sv-text);margin-bottom:16px}
:is(.sv-main,.editor-styles-wrapper) .sv-consultation .sv-form-note{text-align:center;font-size:12px;margin-top:12px}
.sv-consultation .flinkform-form.flinkform-form{margin:0;font-size:16px}
.sv-consultation .flinkform-form.flinkform-form .flinkform-form__form{display:flex;flex-direction:column;gap:16px}
.sv-consultation .flinkform-form.flinkform-form .flinkform-field{gap:10px;margin:0}
.sv-consultation .flinkform-form.flinkform-form .flinkform-field__label{font-size:16px;font-weight:400;line-height:normal}
.sv-consultation .flinkform-form.flinkform-form .flinkform-field__required{display:none}
.sv-consultation .flinkform-form.flinkform-form .flinkform-field__input{height:40px;padding:8px 12px;border:1px solid transparent;background-color:rgba(217,217,217,.5);border-radius:12px}
.sv-consultation .flinkform-form.flinkform-form .flinkform-field__input:focus{background-color:#f7faf3;border-color:var(--sv-forest)}
.sv-consultation .flinkform-form.flinkform-form .flinkform-field--consent .flinkform-field__option{gap:5px;margin:0;font-size:12px;line-height:1.35;color:var(--sv-text)}
.sv-consultation .flinkform-form.flinkform-form .flinkform-field--consent .flinkform-field__option input{appearance:none;display:grid;place-content:center;width:16px;height:16px;margin:0;border:0;border-radius:2px;background:rgba(217,217,217,.5);cursor:pointer}
.sv-consultation .flinkform-form.flinkform-form .flinkform-field--consent .flinkform-field__option input:checked{background:var(--sv-green)}
.sv-consultation .flinkform-form.flinkform-form .flinkform-field--consent .flinkform-field__option input:checked::before{content:"";width:8px;height:4px;border:solid #000;border-width:0 0 2px 2px;transform:translateY(-1px) rotate(-45deg)}
.sv-consultation .flinkform-form.flinkform-form .flinkform-field--has-error .flinkform-field__option input{box-shadow:inset 0 0 0 1px #b80000}
.sv-consultation .flinkform-form.flinkform-form .flinkform-field--consent a{color:inherit}
.sv-consultation .flinkform-form.flinkform-form .flinkform-form__actions{display:flex;justify-content:center;margin-top:8px}
.sv-consultation .flinkform-form.flinkform-form .flinkform-form__submit{font-size:18px;line-height:normal;padding:13px 26px;border-radius:12px;background:var(--sv-green);color:var(--sv-text);max-width:100%}
.sv-consultation .flinkform-form.flinkform-form .flinkform-form__submit:hover{background:var(--sv-green-hover);opacity:1}

/* ---------- Kennzahlen ---------- */
/* Items sit at both edges like the design; each divider lands midway in the space between two figures. */
.sv-facts{display:flex;align-items:flex-start;text-align:center}
.sv-fact{display:grid;grid-template-columns:fit-content(180px);row-gap:5px}
.sv-fact:not(:last-child){flex:1 1 auto;grid-template-columns:fit-content(180px) 1fr 1px 1fr}
.sv-fact>*{grid-column:1}
.sv-fact:not(:last-child)::after{content:"";grid-column:3;grid-row:1/span 2;width:1px;height:86px;background:#dce2ce}
:is(.sv-main,.editor-styles-wrapper) .sv-fact-number{font-size:32px;line-height:1;color:var(--sv-forest)}
.sv-fact-label{color:rgba(0,0,0,.7)}

/* ---------- Hero mit Formular (Startseite, Landingpages) ---------- */
.sv-hero{position:relative;min-height:848px;padding:145px 0 64px;isolation:isolate}
.sv-hero::before{content:"";position:absolute;z-index:-1;left:0;top:0;width:56.8%;height:655px;background:url(assets/62451.svg) 0 0/100% 100% no-repeat}
:is(.sv-main,.editor-styles-wrapper) .sv-hero .sv-hero-photo{position:absolute;z-index:-2;right:0;top:0;width:49.3%;height:653px;clip-path:polygon(16% 0,100% 0,100% 100%,0 100%)}
/* Ausschnitt oben ansetzen, damit auch auf breiten Bildschirmen die Gesichter zu sehen sind. */
.sv-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 10%}
.sv-hero-copy{display:flex;flex-direction:column;gap:10px;margin-left:var(--sv-pad);width:630px;max-width:calc(50% - var(--sv-pad))}
:is(.sv-main,.editor-styles-wrapper) .sv-hero-copy h1+.sv-lead{margin-top:4px}
:is(.sv-main,.editor-styles-wrapper) .sv-form-position{width:413px;margin:40px 0 0 var(--sv-pad);position:relative;z-index:1}
.sv-hero-facts{position:absolute;top:686px;left:43.2%;right:var(--sv-pad)}
.sv-hero-lp{padding-top:172px}
.sv-hero-wide .sv-hero-copy{width:697px;max-width:calc(55% - var(--sv-pad))}

/* Karriere-Hero: kürzer, mit Buttons und vier Kennzahlen */
.sv-hero-karriere{min-height:603px;padding:148px 0 62px}
.sv-hero-karriere::before{height:466px;background-image:url(assets/dbf32.svg)}
:is(.sv-main,.editor-styles-wrapper) .sv-hero-karriere .sv-hero-photo{height:464px}
.sv-hero-karriere .sv-hero-photo img{object-position:50% 50%}
.sv-hero-karriere .wp-block-buttons{margin-top:30px}
/* Der Textblock reicht bis zur Unterkante des Fotos (464px − 148px Innenabstand), die Zahlen folgen mit demselben Abstand wie im Hero oben. */
.sv-hero-karriere .sv-hero-copy{min-height:316px}
.sv-hero-karriere .sv-hero-facts{position:static;margin:33px var(--sv-pad) 0}

/* Über uns: Einleitung mit Teamfoto */
.sv-intro{display:grid;grid-template-columns:minmax(0,1fr) 560px;gap:60px;align-items:center;padding:154px var(--sv-pad) 60px}
.sv-intro-copy{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.sv-intro-photo img{width:100%;height:430px;object-fit:cover;border-radius:12px}
.sv-facts-section{padding:0 var(--sv-pad) 90px}

/* ---------- Standard-Abschnitte ---------- */
.sv-section{display:flex;flex-direction:column;gap:40px;padding:90px var(--sv-pad)}
.sv-section.sv-pt-0{padding-top:0}
.sv-gap-32{gap:32px}
.sv-bg-soft{background:var(--sv-soft)}
.sv-bg-sage{background:var(--sv-sage)}
.sv-bg-sand{background:var(--sv-sand)}
.sv-head{display:flex;flex-direction:column;gap:20px;max-width:700px}
.sv-head-wide{max-width:860px}
.sv-head-760{max-width:760px}

/* Karten */
.sv-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.sv-cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sv-cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sv-cards-auto{align-items:start}
.sv-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:32px;border-radius:12px;background:var(--sv-base);transition:transform .2s ease,box-shadow .2s ease; height: 100%;}
.sv-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px -20px rgba(0,0,0,.45)}
.sv-card.sv-card-dashed:hover{transform:none;box-shadow:none}
.sv-card p{color:rgba(0,0,0,.9)}
.sv-card-sage{background:var(--sv-sage)}
.sv-card-soft{background:var(--sv-soft)}
:is(.sv-main,.editor-styles-wrapper) .sv-card .sv-card-meta{color:var(--sv-forest);line-height:normal}
.sv-card-link a{color:var(--sv-forest);font-size:18px;line-height:normal;text-decoration:none}
.sv-card-link a:hover{text-decoration:underline}
.sv-cards-small .sv-card{padding:32px 28px}
:is(.sv-main,.editor-styles-wrapper) .sv-cards-small h3{font-size:20px}
.sv-cards-small .sv-card p{color:rgba(0,0,0,.8)}
.sv-benefit-cards .sv-card{gap:18px}
.sv-benefit-cards .sv-card p{color:rgba(0,0,0,.7)}
.sv-card-icon{height:46px;display:flex;align-items:flex-end}
.sv-card-icon img{width:auto;height:auto;max-height:46px}
.sv-card.sv-card-dashed{background:transparent;border:1px dashed rgba(0,74,97,.35);padding:24px 28px;gap:10px}
:is(.sv-main,.editor-styles-wrapper) .sv-card-dashed h3{font-size:20px;line-height:normal}
.sv-card-dashed p{color:rgba(0,0,0,.7)}

/* Bild + Text */
.sv-split{display:grid;grid-template-columns:var(--sv-media-w,600px) minmax(0,1fr);gap:60px;align-items:center}
.sv-split-600x430{--sv-media-w:600px;--sv-media-h:430px}
.sv-split-520x440{--sv-media-w:520px;--sv-media-h:440px}
.sv-split-520x400{--sv-media-w:520px;--sv-media-h:400px}
.sv-split-560x569{--sv-media-w:560px;--sv-media-h:569px}
.sv-split-413x420{--sv-media-w:413px;--sv-media-h:420px}
.sv-split-round{--sv-media-w:380px;--sv-media-h:380px}
.sv-media img{width:100%;height:var(--sv-media-h,430px);object-fit:cover;border-radius:12px}
.sv-shadow img{box-shadow:var(--sv-shadow)}
.sv-round img{border-radius:50%}
.sv-split-copy{display:flex;flex-direction:column;align-items:flex-start;gap:24px;min-width:0}

/* Nummerierte Schritte */
.sv-steps{--sv-step-gap:28px;display:flex;flex-direction:column;gap:var(--sv-step-gap)}
.sv-split-copy.sv-steps{--sv-step-gap:36px}
.sv-step{display:grid;grid-template-columns:45px minmax(0,1fr);column-gap:24px;row-gap:8px;align-items:start}
:is(.sv-main,.editor-styles-wrapper) .sv-step-num{grid-row:1/span 2;width:45px;height:45px;border-radius:50%;background:var(--sv-green);display:grid;place-items:center;font-size:20px;line-height:1}
.sv-step>:not(.sv-step-num){grid-column:2}
.sv-step>p:not(.sv-step-num){color:rgba(0,0,0,.8)}

/* Label/Wert-Zeilen */
.sv-rows{display:flex;flex-direction:column;gap:12px;width:100%}
.sv-row{display:grid;grid-template-columns:160px minmax(0,1fr);gap:16px;padding-bottom:12px;border-bottom:1px solid rgba(0,0,0,.12)}
.sv-row-label{line-height:normal}
.sv-row-value{color:rgba(0,0,0,.7)}
/* Rows bound to an empty setting (e.g. no fax number) are left out. */
.sv-row:has(> .sv-row-value:empty){display:none}
.sv-rows-lg{gap:16px}
.sv-rows-lg .sv-row{grid-template-columns:280px minmax(0,1fr);gap:20px;padding-bottom:16px}
:is(.sv-main,.editor-styles-wrapper) .sv-rows-lg .sv-row-label{font-size:20px;line-height:1.4}
.sv-rows-lg .sv-row-value{color:rgba(0,0,0,.8)}
.sv-quality{display:grid;grid-template-columns:480px minmax(0,1fr);gap:60px;align-items:start}

/* Schlagwörter */
.sv-tags{display:flex;flex-wrap:wrap;gap:12px}
:is(.sv-main,.editor-styles-wrapper) .sv-tags p{background:var(--sv-sage);border-radius:12px;padding:12px 20px;line-height:normal}

/* Petrol-Box */
.sv-highlight{display:flex;flex-direction:column;align-items:center;gap:24px;padding:60px 120px;border-radius:12px;background:var(--sv-forest);color:#fff;text-align:center}
:is(.sv-main,.editor-styles-wrapper) .sv-highlight h2{color:#fff}

/* Kosten (Intensivpflege) */
.sv-costs{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px}
.sv-costs-text{max-width:646px;display:flex;flex-direction:column;gap:27px;font-size:18px}

/* Kosten (Ambulante Pflege) */
.sv-section.sv-costs-split{display:grid;grid-template-columns:minmax(0,1fr) 480px;gap:60px;align-items:start}

/* Zuweiser */
.sv-section.sv-referrers{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:60px;align-items:center;padding-block:120px}
.sv-referrers-copy{display:flex;flex-direction:column;gap:20px}
.sv-direct{display:flex;flex-direction:column;gap:10px;padding:32px;border-radius:12px;background:var(--sv-sage);line-height:normal}
:is(.sv-main,.editor-styles-wrapper) .sv-direct-label{font-size:20px}
:is(.sv-main,.editor-styles-wrapper) .sv-direct-name{font-size:24px;color:var(--sv-forest)}
.sv-direct-contact{line-height:1.5;color:rgba(0,0,0,.8)}

/* Telefon (Ambulante Pflege) */
.sv-section.sv-phone{align-items:center;text-align:center;gap:24px}
.sv-phone .sv-lead{max-width:700px}
:is(.sv-main,.editor-styles-wrapper) .sv-phone-number{font-size:43px;line-height:normal}
.sv-phone-number a{color:var(--sv-forest);text-decoration:none}
:is(.sv-main,.editor-styles-wrapper) .sv-phone-oncall-label{margin-bottom:-14px;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:rgba(0,0,0,.6)}
.sv-phone-oncall{font-size:20px;line-height:1.6}
.sv-phone-oncall a{color:var(--sv-forest)}

/* Zitat mit Linie (Über uns) */
.sv-blockquote{display:flex;flex-direction:column;gap:12px;padding-left:24px;border-left:3px solid var(--sv-green)}
:is(.sv-main,.editor-styles-wrapper) .sv-blockquote-text{font-size:24px;line-height:1.4}

/* Bereiche (Über uns) */
.sv-card.sv-area{gap:20px}
.sv-area-photo{width:100%}
.sv-area-photo img{width:100%;height:240px;object-fit:cover;border-radius:12px}
:is(.sv-main,.editor-styles-wrapper) .sv-area h3{font-size:30px}

/* Team */
/* Flex statt Grid, damit eine unvollständige letzte Reihe mittig steht (7 Personen). */
/* Schmaler als der Inhalt, damit die Porträts nicht zu groß werden. */
.sv-team{--sv-cols:4;display:flex;flex-wrap:wrap;justify-content:center;gap:24px;width:100%;max-width:1180px}
.sv-team>.sv-person{flex:0 0 calc((100% - (var(--sv-cols) - 1) * 24px) / var(--sv-cols));min-width:0}
.sv-person{display:flex;flex-direction:column;gap:14px}
/* Quadratisch; bei anderen Formaten setzt der Ausschnitt oben an, damit Kopf und Haare ganz zu sehen sind. */
.sv-person-photo img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:50% 15%;border-radius:12px}
:is(.sv-main,.editor-styles-wrapper) .sv-person h3{font-size:20px;line-height:normal;hyphens:auto;overflow-wrap:break-word}
.sv-person p{color:rgba(0,0,0,.7)}
.sv-person .sv-person-phone{margin-top:-8px}

/* Zitatband mit Porträt */
.sv-quote{background:var(--sv-sand);padding:60px var(--sv-pad)}
.sv-quote.sv-quote-plain{background:none}
.sv-quote-inner{display:flex;align-items:center;gap:86px;max-width:860px;margin:auto}
.sv-portrait{flex-shrink:0;width:241px;height:241px;border-radius:50%;overflow:hidden}
.sv-portrait img{width:100%;height:100%;object-fit:cover}
.sv-quote-copy{display:flex;flex-direction:column;gap:16px}
.sv-quote-author{color:rgba(0,0,0,.6)}
.sv-quote-center{padding:52px var(--sv-pad) 68px}
.sv-quote-center .sv-quote-copy{text-align:center;max-width:521px}

/* FAQ */
.sv-faq{display:flex;flex-direction:column;align-items:center;gap:60px;padding:90px var(--sv-pad);background:var(--sv-soft)}
:is(.sv-main,.editor-styles-wrapper) .sv-faq h2{max-width:846px;text-align:center}
.sv-faq-list{display:flex;flex-direction:column;gap:29px;width:100%;max-width:846px}
.sv-faq details summary{position:relative;display:block;padding-right:48px;list-style:none;font-size:20px;line-height:normal;cursor:pointer}
.sv-faq summary::-webkit-details-marker{display:none}
/* Plus aus zwei Strichen: Beim Öffnen dreht sich der senkrechte Strich in die Waagerechte, es entsteht ein Minus.
   Mit Animation steuert die Klasse sv-open (wechselt sofort beim Klick), sonst der Zustand [open]. */
.sv-faq summary::before,.sv-faq summary::after{content:"";position:absolute;right:1px;top:50%;width:22px;height:2px;margin-top:-1px;background:var(--sv-text);border-radius:1px}
.sv-faq summary::after{transform:rotate(90deg);transition:transform .3s cubic-bezier(.22,1,.36,1)}
.sv-faq details:not([data-sv-anim])[open] summary::after,.sv-faq details.sv-open summary::after{transform:rotate(0deg)}
.sv-faq summary:focus:not(:focus-visible){outline:none}
.sv-faq summary:focus-visible{outline-offset:6px;border-radius:6px}
.sv-faq details p{padding:14px 48px 0 0;color:rgba(0,0,0,.8)}
.sv-faq details ul{margin:10px 0 0;padding:0 48px 0 22px;color:rgba(0,0,0,.8)}
.sv-faq details li+li{margin-top:4px}
.sv-faq-home{gap:64px;padding:120px var(--sv-pad)}
.sv-faq-home .sv-faq-list{max-width:846px;padding-left:130px}

/* Kontaktband mit Ansprechpartnerin */
.sv-contact{position:relative;display:grid;grid-template-columns:minmax(0,54fr) minmax(0,46fr);min-height:496px;isolation:isolate;overflow:hidden}
.sv-contact::before{content:"";position:absolute;z-index:-1;inset:0 auto 0 0;width:54%;background:url(assets/f8ce1.svg) 0 0/100% 100% no-repeat}
.sv-contact::after{content:"";position:absolute;z-index:-2;inset:1px 0 0 auto;width:52.3%;background:rgba(63,55,31,.1);clip-path:polygon(16% 0,100% 0,100% 100%,0 100%)}
.sv-contact-left{display:flex;flex-direction:column;align-items:flex-start;gap:32px;padding:130px 40px 60px var(--sv-gutter);padding-left:max(var(--sv-gutter),calc((100vw - 1280px) / 2))}
.sv-contact-left .sv-lead{max-width:449px;line-height:normal}
.sv-contact-right{display:flex;flex-direction:column;gap:32px;padding:128px var(--sv-gutter) 60px 80px}
.sv-person-row{display:flex;align-items:center;gap:62px}
.sv-contact .sv-portrait{width:176px;height:176px}
.sv-contact-person{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
:is(.sv-main,.editor-styles-wrapper) .sv-contact-person h3{font-size:30px;line-height:normal;margin-bottom:8px}
.sv-contact-person p{line-height:normal}
.sv-contact-person .wp-block-buttons{margin-top:12px}
.sv-contact-person .sv-contact-wide{margin-top:6px}
.sv-contact-wide .wp-block-button__link{min-width:215px;text-align:center}

/* ---------- Startseite ---------- */
.sv-services{background:var(--sv-soft);padding:60px 0}
/* One edge for heading, card text and card margins, measured against the section width. */
.sv-services{container-type:inline-size}
.sv-services>*{--sv-edge:max(var(--sv-gutter),calc((100cqw - 1280px) / 2))}
.sv-services>h2{padding:0 var(--sv-edge);margin-bottom:64px!important}
.sv-service{display:grid;min-height:363px;border-radius:12px;background:var(--sv-base);box-shadow:var(--sv-shadow);overflow:hidden}
.sv-service-first{grid-template-columns:minmax(0,1fr) 549px;margin-right:var(--sv-edge)!important;margin-bottom:64px!important}
.sv-service-second{grid-template-columns:549px minmax(0,1fr);margin-left:var(--sv-edge)!important}
.sv-service-copy{display:flex;flex-direction:column;align-items:flex-start;padding:30px 40px 30px var(--sv-edge)}
.sv-service-second .sv-service-copy{padding-left:101px}
:is(.sv-main,.editor-styles-wrapper) .sv-service h3{font-size:30px;line-height:normal;margin-bottom:24px}
.sv-service-copy>p{max-width:630px;color:rgba(0,0,0,.9)}
.sv-service figure{position:relative;min-height:100%}
.sv-service figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
:is(.sv-main,.editor-styles-wrapper) .sv-list-columns{columns:2;column-gap:34px;width:386px;max-width:100%;margin:20px 0 30px;padding:0;line-height:normal;color:rgba(0,0,0,.9)}
.sv-service-second .sv-list-columns{width:553px;column-gap:0}
.sv-list-columns li{margin:0 0 8px 24px;break-inside:avoid}

.sv-steps-home{display:grid;grid-template-columns:414px minmax(0,1fr);gap:128px;max-width:1064px;margin:auto;padding:120px 24px 120px;box-sizing:content-box}
.sv-steps-intro{display:flex;flex-direction:column;gap:66px}
.sv-steps-intro img{width:100%;height:352px;object-fit:cover;border-radius:12px;box-shadow:var(--sv-shadow)}
.sv-step-list{padding-top:26px}
.sv-step-list .sv-step{position:relative;min-height:161px;column-gap:19px;row-gap:10px;align-content:start}
:is(.sv-main,.editor-styles-wrapper) .sv-step-list .sv-step-num{font-size:18px}
.sv-step-list .sv-step h3{line-height:1.5;padding-top:10px}
.sv-step-list .sv-step>p:not(.sv-step-num){color:var(--sv-text)}
.sv-step-list .sv-step:not(:has(+ .sv-step)){min-height:0;margin-bottom:48px}
/* Scroll-Fortschritt (Klasse setzt interactions.js): grau, beim Scrollen wird es grün. */
/* Abläufe (Startseite, Leistungsseiten, Karriere): Linie von Kreis zu Kreis, über den Abstand zwischen den Schritten hinweg. */
:is(.sv-steps,.sv-step-list)>.sv-step{position:relative}
:is(.sv-steps,.sv-step-list)>.sv-step:has(+ .sv-step)::before{content:"";position:absolute;left:22px;top:45px;bottom:calc(-1 * var(--sv-step-gap,0px));width:2px;background:var(--sv-green)}
/* Scroll-Fortschritt (Klasse setzt interactions.js): grau, beim Scrollen wird es grün. */
.is-scroll>.sv-step:has(+ .sv-step)::before{background:rgba(0,0,0,.14)}
.is-scroll>.sv-step:has(+ .sv-step)::after{content:"";position:absolute;left:22px;top:45px;bottom:calc(-1 * var(--sv-step-gap,0px));width:2px;background:var(--sv-green);transform-origin:top;transform:scaleY(var(--sv-fill,0))}
.is-scroll>.sv-step .sv-step-num{background:#e4e6df;color:rgba(0,0,0,.45);transition:background-color .35s,color .35s}
.is-scroll>.sv-step.is-active .sv-step-num{background:var(--sv-green);color:var(--sv-text)}

/* flow-root keeps the CTA's negative margin inside, so it overlaps the next section. */
.sv-region{display:flow-root;background:var(--sv-sage);padding:37px var(--sv-pad) 0}
.sv-region-grid{display:grid;grid-template-columns:630px minmax(0,1fr);gap:129px;align-items:start}
.sv-map img{width:100%;height:639px;object-fit:cover;border-radius:12px;box-shadow:var(--sv-shadow)}
.sv-region-copy{padding-top:78px;display:flex;flex-direction:column}
.sv-region-eyebrow{line-height:normal}
.sv-region-copy h2{margin:20px 0 32px!important;line-height:normal}
.sv-region-block{display:flex;flex-direction:column;align-items:flex-start;max-width:100%}
.sv-region-block+.sv-region-block{margin-top:28px!important}
:is(.sv-main,.editor-styles-wrapper) .sv-region-title{font-size:20px;font-weight:700;line-height:2.12}
.sv-region-block>p{line-height:2.12}
.sv-region-block .sv-region-title+.sv-towns{margin-top:16px!important}
:is(.sv-main,.editor-styles-wrapper) .sv-towns{columns:2;column-gap:40px;width:380px;max-width:100%;padding:0}
@media (max-width:781px){:is(.sv-main,.editor-styles-wrapper) .sv-towns{width:auto}}
.sv-towns li{margin-left:24px;break-inside:avoid}
/* Weitere Orte hängen direkt an der Liste; der Umschalter steht darunter. */
.sv-towns-more{width:100%;overflow:hidden}
.sv-js .sv-towns-more:not(.is-open){display:none}
.sv-towns-more .sv-towns{margin-top:0!important}
:is(.sv-main,.editor-styles-wrapper) .sv-towns-toggle{margin-top:12px;font-size:14px}
.sv-towns-toggle a{color:inherit;cursor:pointer;text-underline-offset:3px}
.sv-details-body{overflow:hidden}
/* Der Abstand zur Frage liegt innerhalb des animierten Bereichs, sonst springt er am Ende des Zuklappens weg. */
.sv-faq details>.sv-details-body{margin-block-start:0!important}
.sv-faq details>.sv-details-body>:first-child{margin-top:24px}
.sv-cta{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:20px;max-width:846px;margin:120px auto -184px!important;padding:60px 80px;border-radius:12px;background:var(--sv-forest);color:#fff;text-align:center;box-shadow:var(--sv-shadow)}
:is(.sv-main,.editor-styles-wrapper) .sv-cta h2{color:#fff;max-width:411px;letter-spacing:-.38px}
.sv-cta .sv-lead{max-width:577px}
.sv-cta .wp-block-buttons{margin-top:12px!important}

.sv-about{display:grid;grid-template-columns:441px minmax(0,627px);gap:103px;align-items:center;padding:304px var(--sv-gutter) 120px max(var(--sv-gutter),calc((100% - 1064px) / 2))}
.sv-about-copy{display:flex;flex-direction:column;align-items:flex-start;gap:32px}
.sv-about-text{display:flex;flex-direction:column;gap:24px;max-width:436px}
.sv-about-photo img{width:100%;height:309px;object-fit:cover;border-radius:12px;box-shadow:var(--sv-shadow)}

.sv-career{display:grid;grid-template-columns:522px 522px;gap:128px;align-items:center;padding:120px var(--sv-pad)}
.sv-career-photo img{width:100%;height:413px;object-fit:cover;border-radius:12px;box-shadow:var(--sv-shadow)}
.sv-career-copy{display:flex;flex-direction:column;align-items:flex-start;gap:32px}
.sv-career-copy .sv-head{gap:32px}
.sv-benefits{display:grid;grid-template-columns:1fr 1fr;gap:40px;width:426px;max-width:100%}
.sv-benefit{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center}
.sv-benefit-icon{height:46px;display:flex;align-items:center}
.sv-benefit-icon img{width:auto;max-height:46px}
.sv-benefit .sv-small{line-height:1.5}

/* ---------- Footer ---------- */
.sv-footer{background:var(--sv-petrol);color:#fff;padding:11px var(--sv-pad) 30px;font-size:14.7px;line-height:25px}
.sv-footer :is(p,figure,.wp-block-group){margin-block:0}
.sv-footer a{color:#fff;text-decoration:none;overflow-wrap:anywhere}
.sv-footer a:hover{text-decoration:underline}
.sv-footer-grid{display:grid;grid-template-columns:434fr 325fr 283fr 238fr;gap:24px;min-height:319px}
.sv-footer-grid>*{margin:0;min-width:0}
.sv-footer .sv-footer-brand p{max-width:305px;line-height:23.5px;margin-top:21px}
.sv-footer .sv-footer-logo{margin:0}
/* Die dunkle Hand im Logo braucht auf Petrol eine helle Fläche. */
.sv-footer-logo img{display:block;width:96px;height:96px;padding:6px;border-radius:50%;background:#fff}
.sv-footer-col{display:flex;flex-direction:column;gap:14px;padding-top:55px}
.sv-footer .sv-footer-label{color:var(--sv-green);text-transform:uppercase;font-size:12.2px;letter-spacing:1.7px;line-height:13px}
.sv-footer-contact{gap:16px}
.sv-footer-contact .sv-footer-label{margin-bottom:-2px}
.sv-footer-link{display:flex;align-items:center;gap:5px;margin:0}
.sv-footer-link .sv-contact-icon{width:21px;height:23px;flex-shrink:0;margin:0}
.sv-contact-icon img{width:100%;height:100%;object-fit:contain}
.sv-footer .sv-footer-address p+p{margin-top:25px}
.sv-footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid rgba(255,255,255,.07);padding-top:24px;font-size:13.1px;line-height:21px}
.sv-legal a+a{margin-left:22px}

/* Seiten ohne Designvorlage (Impressum, Datenschutz …) */
body:not(:has(.sv-main)) main{padding:70px 24px;min-height:50vh}

/* ---------- Editor ---------- */
.editor-styles-wrapper .sv-main,.editor-styles-wrapper.is-root-container{font-family:Roboto,Arial,sans-serif}
.editor-styles-wrapper .sv-hero-copy{position:relative;z-index:1}
.editor-styles-wrapper .is-root-container>:is(.alignfull,section.wp-block-group){max-width:none!important;margin-left:0!important;margin-right:0!important}

/* ---------- Kontaktseite ---------- */
.sv-section.sv-contact-page{padding-top:154px;background:linear-gradient(var(--sv-soft),var(--sv-base) 520px)}
.sv-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.sv-contact-form{padding:30px 36px}
.sv-consultation .flinkform-form.flinkform-form textarea.flinkform-field__input{height:auto;min-height:128px;resize:vertical}
.sv-contact-info{display:flex;flex-direction:column;align-items:flex-start;gap:24px;padding-top:12px}
.sv-contact-info .sv-row-value a{color:var(--sv-forest)}
.sv-maps-link a{color:var(--sv-forest)}
.sv-contact-page-person{display:flex;align-items:center;gap:20px;margin-top:8px}
.sv-contact-page .sv-portrait{width:96px;height:96px}
@media (max-width:1100px){.sv-contact-grid{gap:40px}}
@media (max-width:781px){
	.sv-section.sv-contact-page{padding-top:104px}
	.sv-contact-grid{grid-template-columns:minmax(0,1fr)}
	.sv-contact-form{padding:24px 20px}
}

/* ---------- Bewerbungs-Popup (Karriere) ---------- */
.sv-modal-open{overflow:hidden}
.sv-apply{width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:0;border:0;border-radius:20px;background:#fff;color:var(--sv-text);box-shadow:0 30px 80px -30px rgba(0,0,0,.45);font-family:Roboto,Arial,sans-serif;font-size:16px;line-height:1.5;overflow:hidden}
.sv-apply:focus,.sv-apply:focus-visible{outline:none}
.sv-apply::backdrop{background:rgba(20,32,24,.45)}
/* Ohne JavaScript öffnet der Link #bewerben das Formular trotzdem. */
.sv-apply:target{display:block;position:fixed;inset:24px 0 auto;margin:auto;z-index:100}
.sv-apply[open]{display:flex}
.sv-apply-form{display:flex;flex-direction:column;width:100%;max-height:calc(100dvh - 48px)}
.sv-apply-head{padding:32px 36px 20px}
.sv-apply-head h2{margin:0;font-size:30px;line-height:1.2;font-weight:400;color:var(--sv-heading)}
.sv-apply-meta{margin:8px 0 0;font-size:15px;color:rgba(0,0,0,.65)}
.sv-apply-body{flex:1;overflow-y:auto;background:var(--sv-base);border-block:1px solid rgba(0,0,0,.08)}
.sv-apply-band{margin:0;padding:12px 36px;background:var(--sv-sage);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(0,0,0,.6)}
.sv-apply-fields{display:flex;flex-direction:column;gap:20px;padding:24px 36px 28px}
.sv-apply-field{display:flex;flex-direction:column;gap:8px;margin:0}
.sv-apply-field label{font-weight:500}
.sv-apply-field :is(input[type=text],input[type=email],input[type=tel],select,textarea){width:100%;padding:10px 14px;border:1px solid transparent;border-radius:12px;background:rgba(217,217,217,.5);font:inherit;color:inherit}
.sv-apply-field :is(input,select,textarea):focus{outline:none;border-color:var(--sv-forest);background:#fff}
.sv-apply-field :is(input,select,textarea):focus-visible{outline:3px solid var(--sv-forest);outline-offset:2px}
.sv-apply-field textarea{min-height:130px;resize:vertical}
.sv-apply-file{padding-top:20px;border-top:1px solid rgba(0,0,0,.1)}
.sv-apply-file input{font:inherit;font-size:15px}
.sv-apply-file input::file-selector-button{margin-right:14px;padding:9px 16px;border:1px solid var(--sv-green);border-radius:12px;background:#fff;font:inherit;cursor:pointer;transition:background-color .2s}
.sv-apply-file input::file-selector-button:hover{background:var(--sv-sage)}
.sv-apply-hint{font-size:13px;color:rgba(0,0,0,.6)}
.sv-apply-consent{flex-direction:row;align-items:flex-start;gap:10px;font-size:14px;line-height:1.45}
.sv-apply-consent input{flex-shrink:0;width:18px;height:18px;margin:2px 0 0;accent-color:var(--sv-forest)}
.sv-apply-consent label{font-weight:400}
.sv-apply-consent a{color:var(--sv-forest)}
.sv-apply-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sv-apply-required{margin:0;font-size:13px;color:rgba(0,0,0,.6)}
.sv-apply-error{margin:0;padding:12px 16px;border-radius:12px;background:#fdecea;color:#8a1c14;font-size:15px}
.sv-apply-done{padding:40px 36px;text-align:center}
.sv-apply-done-title{margin:0 0 8px;font-size:24px;color:var(--sv-heading)}
.sv-apply-done p{margin:0}
.sv-apply-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 36px 24px}
.sv-apply-back,.sv-apply-submit{font:inherit;font-size:16px;line-height:normal;white-space:nowrap;border-radius:12px;cursor:pointer;transition:background-color .2s,transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s}
.sv-apply-back{padding:12px 22px;border:1px solid var(--sv-forest);background:#fff;color:var(--sv-forest)}
.sv-apply-back:hover{background:var(--sv-sage)}
.sv-apply-submit{margin-left:auto;padding:13px 26px;border:0;background:var(--sv-green);color:var(--sv-text);font-size:18px}
.sv-apply-submit:hover{background:var(--sv-green-hover);transform:translateY(-2px);box-shadow:0 8px 18px -8px rgba(51,80,58,.45)}
.sv-apply-submit:active{transform:translateY(1px) scale(.98);box-shadow:0 1px 3px rgba(51,80,58,.3);transition-duration:.06s}
.sv-apply-submit:disabled{opacity:.6;cursor:wait;transform:none}
.sv-apply [hidden]{display:none!important}
.sv-toast{position:fixed;left:50%;bottom:24px;z-index:90;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:14px 22px;border-radius:12px;background:var(--sv-forest);color:#fff;box-shadow:var(--sv-shadow);animation:sv-toast 6s ease forwards}
@keyframes sv-toast{0%,85%{opacity:1}100%{opacity:0;visibility:hidden}}
@media (max-width:599px){
	.sv-apply{width:100%;max-height:100dvh;border-radius:16px 16px 0 0;margin:auto auto 0}
	.sv-apply-form{max-height:100dvh}
	.sv-apply-head{padding:24px 20px 16px}
	.sv-apply-head h2{font-size:24px}
	.sv-apply-band{padding:10px 20px}
	.sv-apply-fields{padding:20px}
	.sv-apply-foot{gap:12px;padding:14px 20px 20px}
	/* Pfeile bleiben neben dem Text; der Absenden-Button nimmt den restlichen Platz. */
	.sv-apply-back{flex:none;padding:12px 16px;font-size:15px}
	.sv-apply-submit{flex:1;min-width:0;padding:12px 16px;font-size:15px}
}

/* ---------- Pflegeleitbild (Über uns) ---------- */
.sv-leitbild-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:80px;align-items:start}
.sv-leitbild-head{display:flex;flex-direction:column;align-items:flex-start;gap:20px;position:sticky;top:110px}
:is(.sv-main,.editor-styles-wrapper) .sv-leitbild-statement{margin-top:8px;padding-left:24px;border-left:3px solid var(--sv-green);font-size:26px;line-height:1.4;color:var(--sv-heading)}
.sv-leitbild-points{display:flex;flex-direction:column;border-bottom:1px solid rgba(0,0,0,.12)}
.sv-leitbild-point{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:20px;row-gap:8px;padding:28px 0;border-top:1px solid rgba(0,0,0,.12)}
:is(.sv-main,.editor-styles-wrapper) .sv-leitbild-num{grid-row:1/span 2;display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--sv-green);border-radius:50%;font-size:15px;line-height:1;color:var(--sv-forest)}
.sv-leitbild-point>:not(.sv-leitbild-num){grid-column:2}
:is(.sv-main,.editor-styles-wrapper) .sv-leitbild-point h3{font-size:22px;padding-top:10px}
.sv-leitbild-point>p:not(.sv-leitbild-num){color:rgba(0,0,0,.8)}
@media (max-width:1100px){.sv-leitbild-grid{gap:48px}}
@media (max-width:781px){
	.sv-leitbild-grid{grid-template-columns:minmax(0,1fr);gap:32px}
	.sv-leitbild-head{position:static}
	:is(.sv-main,.editor-styles-wrapper) .sv-leitbild-statement{font-size:21px;padding-left:18px}
	.sv-leitbild-point{grid-template-columns:40px minmax(0,1fr);column-gap:16px;padding:22px 0}
	:is(.sv-main,.editor-styles-wrapper) .sv-leitbild-num{width:40px;height:40px;font-size:14px}
	:is(.sv-main,.editor-styles-wrapper) .sv-leitbild-point h3{font-size:20px;padding-top:7px}
}

/* ---------- Cookie-Banner (Plugin GDPR Cookie Compliance von Moove) ---------- */
/* Die kostenlose Version zeigt den Banner nur oben oder unten; hier wird er ein mittiger Dialog.
   Farben der Buttons kommen aus den Plugin-Einstellungen, Aufbau und Abstände aus dem Theme. */
body.gdpr-infobar-visible::before{content:"";position:fixed;inset:0;z-index:9899;background:rgba(20,32,24,.45)}
body #moove_gdpr_cookie_info_bar:not(.moove-gdpr-info-bar-hidden){top:50%;left:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:min(560px,calc(100% - 32px));min-height:0;max-height:calc(100dvh - 32px);overflow-y:auto;border:0;border-radius:16px;box-shadow:0 30px 80px -20px rgba(0,0,0,.45);transition:none;font-family:Roboto,Arial,sans-serif}
body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container{display:block;padding:32px}
body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content{flex-direction:column;align-items:stretch;gap:24px;padding:0}
body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p{font-size:15px;line-height:1.55;font-weight:400}
body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p a{font-weight:400;text-decoration:underline;text-underline-offset:3px}
body #moove_gdpr_cookie_info_bar .moove-gdpr-button-holder{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0}
html body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .mgbutton{flex:1 1 150px;margin:0!important;padding:12px 20px!important;border-radius:12px!important;font-size:15px!important;line-height:1.3!important;font-weight:500!important;text-align:center}
body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-close-cookie-popup{top:12px;right:12px;width:36px;height:36px}
/* Farben der Website, unabhängig vom Farbschema im Plugin. „Ablehnen“ ist gleichwertig sichtbar wie „Akzeptieren“. */
html body #moove_gdpr_cookie_info_bar:not(.moove-gdpr-info-bar-hidden){background:#fff!important;color:var(--sv-text)!important}
html body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p{color:var(--sv-text)!important}
html body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p a{color:var(--sv-forest)!important}
html body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .mgbutton{background:#fff!important;color:var(--sv-forest)!important;border:1px solid var(--sv-forest)!important;transition:background-color .2s}
html body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .mgbutton:hover{background:var(--sv-sage)!important}
html body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .mgbutton.change-settings-button{opacity:1!important;box-shadow:none!important;text-decoration:none!important}
html body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .mgbutton.moove-gdpr-infobar-allow-all{background:var(--sv-green)!important;color:var(--sv-text)!important;border-color:var(--sv-green)!important}
html body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .mgbutton.moove-gdpr-infobar-allow-all:hover{background:var(--sv-green-hover)!important}
/* Einstellungsfenster: gleiche Farben, dunkle Schrift auf Grün (Kontrast nach WCAG), Schalter in Dunkelgrün. */
html body #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-footer-content .moove-gdpr-button-holder .mgbutton{background:#fff!important;color:var(--sv-forest)!important;border:1px solid var(--sv-forest)!important;box-shadow:none!important;border-radius:12px!important;font-weight:500!important}
html body #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-footer-content .moove-gdpr-button-holder .mgbutton:hover{background:var(--sv-sage)!important}
html body #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-footer-content .moove-gdpr-button-holder .mgbutton.moove-gdpr-modal-allow-all{background:var(--sv-green)!important;color:var(--sv-text)!important;border-color:var(--sv-green)!important}
html body #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-footer-content .moove-gdpr-button-holder .mgbutton.moove-gdpr-modal-allow-all:hover{background:var(--sv-green-hover)!important}
html body #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-left-content #moove-gdpr-menu li.menu-item-selected a,
html body #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-left-content #moove-gdpr-menu li a:hover{background:var(--sv-green)!important;color:var(--sv-text)!important}
html body #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-left-content #moove-gdpr-menu li.menu-item-selected a span.gdpr-icon,
html body #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-left-content #moove-gdpr-menu li a:hover span.gdpr-icon{color:var(--sv-text)!important}
html body #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-close i,
html body #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-close span.gdpr-icon{background:var(--sv-green)!important;border-color:var(--sv-green)!important;color:var(--sv-text)!important}
html body #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-status-bar input:checked + .cookie-switch,
html body #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-status-bar .checkbox-selected{background-color:var(--sv-forest)!important}
html body #moove_gdpr_cookie_modal .moove-gdpr-modal-content a{color:var(--sv-forest)}
html body #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-left-content #moove-gdpr-menu li :is(a,button),html body #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-left-content #moove-gdpr-menu li :is(a,button) span{color:var(--sv-text)!important}
html body #moove_gdpr_cookie_modal .moove-gdpr-modal-content,html body #moove_gdpr_cookie_modal .moove-gdpr-modal-content :is(h1,h2,h3,p,a,span,button,label){font-family:Roboto,Arial,sans-serif!important}
@media (max-width:599px){
	body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container{padding:24px 20px}
	body #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .mgbutton{flex-basis:100%}
}

/* ---------- Responsiv ---------- */
@media (max-width:1280px){
	.sv-nav .sv-nav-outline{margin-left:40px}
	.sv-career{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px}
	.sv-region-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}
	.sv-steps-home{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:80px}
}
@media (max-width:1100px){
	.sv-header-inner{gap:20px}
	.sv-nav .wp-block-navigation__container{gap:22px}
	.sv-nav .sv-nav-outline{margin-left:8px}
	.sv-nav .wp-block-navigation-item.sv-nav-cta{margin-left:-8px}
	:is(.sv-main,.editor-styles-wrapper) h1{font-size:36px}
	:is(.sv-main,.editor-styles-wrapper) h2{font-size:32px}
	.sv-hero-copy,.sv-hero-wide .sv-hero-copy{width:auto;max-width:calc(52% - var(--sv-pad))}
	:is(.sv-main,.editor-styles-wrapper) .sv-form-position{width:370px}
	.sv-hero{min-height:0}
	.sv-hero .sv-hero-facts{position:static;margin:48px var(--sv-pad) 0}
	.sv-fact-label{font-size:14px}
	.sv-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
	.sv-split,.sv-quality,.sv-section.sv-costs-split,.sv-section.sv-referrers{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
	.sv-split-round{grid-template-columns:260px minmax(0,1fr)}
	.sv-split-round{--sv-media-h:260px}
	.sv-intro{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
	.sv-highlight{padding:48px 40px}
	.sv-service-first{grid-template-columns:minmax(0,1fr) 42%}
	.sv-service-second{grid-template-columns:42% minmax(0,1fr)}
	.sv-service-copy{padding:30px 32px 30px var(--sv-edge)}
	.sv-service-second .sv-service-copy{padding:30px 32px}
	.sv-about{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}
	.sv-contact-right{padding-left:48px}
	.sv-person-row{gap:28px;align-items:flex-start;flex-wrap:wrap}
	.sv-contact-person{min-width:0}
	.sv-contact-wide .wp-block-button__link{min-width:0}
	.sv-contact .sv-portrait{width:120px;height:120px}
	:is(.sv-main,.editor-styles-wrapper) .sv-contact-person h3{font-size:24px}
	.sv-footer-grid{grid-template-columns:1fr 1fr;gap:40px}
	.sv-faq-home .sv-faq-list{padding-left:0}
}
@media (max-width:781px){
	.admin-bar .sv-header{top:46px}
	.sv-header{--sv-header-h:78px}
	.sv-header-inner{min-height:78px}
	.sv-header .wp-block-navigation__responsive-container.is-menu-open{background:var(--sv-base);padding:28px}
	.sv-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{align-items:stretch;gap:20px;width:100%;font-size:20px}
	.sv-nav .sv-nav-outline,.sv-nav .wp-block-navigation-item.sv-nav-cta{margin-left:0}
	.sv-nav .sv-nav-outline>a,.sv-nav .sv-nav-cta>a{font-size:18px;padding:12px 18px}
	/* Im geöffneten Menü setzt WordPress die Innenabstände auf 0, daher hier stärker. */
	.sv-header .wp-block-navigation__responsive-container.is-menu-open :is(.sv-nav-outline,.sv-nav-cta)>a.wp-block-navigation-item__content{font-size:18px;padding:13px 26px;border-radius:12px}
	.sv-header .wp-block-navigation__responsive-container.is-menu-open .sv-nav-outline{margin-top:12px}
	.sv-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a.wp-block-navigation-item__content{padding:6px 0!important}
	.sv-header .wp-block-navigation__submenu-container{box-shadow:none;padding:8px 0 0 12px!important;min-width:0!important}
	:is(.sv-main,.editor-styles-wrapper) h1{font-size:34px}
	:is(.sv-main,.editor-styles-wrapper) h2{font-size:29px}
	:is(.sv-main,.editor-styles-wrapper) h3{font-size:22px}
	:is(.sv-main,.editor-styles-wrapper) .sv-lead{font-size:17px}
	.sv-eyebrow{font-size:13px}

	.sv-hero,.sv-hero-karriere{display:flex;flex-direction:column;min-height:0;padding:104px 0 48px}
	.sv-hero::before,.sv-hero-karriere::before{width:100%;height:520px;background:var(--sv-soft)}
	.sv-hero-copy,.sv-hero-wide .sv-hero-copy{width:auto;max-width:none;margin:0 24px}
	:is(.sv-main,.editor-styles-wrapper) .sv-hero .sv-hero-photo,:is(.sv-main,.editor-styles-wrapper) .sv-hero-karriere .sv-hero-photo{position:relative;order:1;width:100%;height:320px;margin-top:28px;z-index:0;clip-path:none}
	:is(.sv-main,.editor-styles-wrapper) .sv-form-position{order:2;width:calc(100% - 48px);max-width:480px;margin:-40px auto 0}
	.sv-hero-facts,.sv-hero-karriere .sv-hero-facts{position:static;order:3;margin:40px 24px 0}
	.sv-hero-karriere .sv-hero-copy{min-height:0}
	.sv-facts{flex-wrap:wrap;row-gap:28px}
	.sv-fact,.sv-fact:not(:last-child){flex:1 1 40%;grid-template-columns:1fr}
	.sv-fact:not(:last-child)::after{display:none}
	:is(.sv-main,.editor-styles-wrapper) .sv-fact-number{font-size:28px}
	.sv-intro{grid-template-columns:1fr;padding:110px 24px 40px}
	.sv-intro-photo img{height:280px}
	.sv-facts-section{padding:0 24px 60px}

	.sv-section{padding:56px 24px;gap:28px}
	.sv-section.sv-referrers{padding-block:56px}
	.sv-section.sv-pt-0{padding-top:0}
	.sv-cards,.sv-cards-3,.sv-cards-2{grid-template-columns:1fr}
	.sv-team{--sv-cols:2;justify-content:flex-start;gap:20px 16px}
	:is(.sv-main,.editor-styles-wrapper) .sv-person h3{font-size:17px}
	.sv-card{padding:24px}
	.sv-split,.sv-quality,.sv-section.sv-costs-split,.sv-section.sv-referrers{grid-template-columns:minmax(0,1fr);gap:28px}
	.sv-split{--sv-media-h:280px}
	.sv-split-round{--sv-media-w:220px;--sv-media-h:220px}
	.sv-split-round>figure{width:220px}
	.sv-rows-lg .sv-row,.sv-row{grid-template-columns:1fr;gap:4px}
	.sv-highlight{padding:36px 24px}
	.sv-costs{padding:0}
	.sv-costs-text{font-size:16px;gap:18px}
	:is(.sv-main,.editor-styles-wrapper) .sv-phone-number{font-size:32px}

	.sv-quote,.sv-quote-center{padding:44px 24px}
	.sv-quote-inner{flex-direction:column;gap:28px}
	.sv-quote .sv-portrait{width:176px;height:176px}
	.sv-quote-copy{text-align:center}

	.sv-faq,.sv-faq-home{padding:56px 24px;gap:32px}
	.sv-faq details summary{font-size:18px}

	.sv-contact{grid-template-columns:minmax(0,1fr);background:var(--sv-soft)}
	.sv-contact::before{display:none}
	.sv-contact::after{inset:auto 0 0 0;width:100%;height:52%;clip-path:none;background:var(--sv-sage)}
	.sv-contact-left,.sv-contact-right{padding:48px 24px}
	.sv-contact-right{gap:28px}
	.sv-contact .sv-portrait{width:110px;height:110px}
	.sv-person-row{gap:20px}

	.sv-services{padding:52px 0}
	.sv-services>h2{padding:0 24px;margin-bottom:32px!important}
	.sv-service-first,.sv-service-second{grid-template-columns:minmax(0,1fr)}
	.sv-service-first{margin:0 24px 32px!important}
	.sv-service-second{margin:0 24px!important}
	.sv-service figure{height:240px;min-height:0;order:-1}
	.sv-service-copy,.sv-service-second .sv-service-copy{padding:24px}
	:is(.sv-main,.editor-styles-wrapper) .sv-service h3{font-size:25px;margin-bottom:16px}
	:is(.sv-main,.editor-styles-wrapper) .sv-list-columns,.sv-service-second .sv-list-columns{width:100%;column-gap:16px}
	.sv-steps-home{grid-template-columns:minmax(0,1fr);gap:40px;padding:64px 24px;box-sizing:border-box}
	.sv-steps-intro{gap:28px}
	.sv-steps-intro img{height:260px}
	.sv-step-list{padding-top:0}
	.sv-step-list .sv-step{min-height:0;padding-bottom:32px}
	.sv-step-list .sv-step:not(:has(+ .sv-step)){padding-bottom:0;margin-bottom:32px}
	.sv-region{padding:32px 24px 0}
	.sv-region-grid{grid-template-columns:minmax(0,1fr);gap:32px}
	.sv-map img{height:380px}
	.sv-region-copy{padding-top:0}
	.sv-cta{margin:64px 0 -110px!important;padding:36px 24px}
	.sv-about{grid-template-columns:minmax(0,1fr);padding:160px 24px 64px;gap:32px}
	.sv-about-photo img{height:auto}
	.sv-career{grid-template-columns:minmax(0,1fr);gap:32px;padding:64px 24px}
	:is(.sv-main,.editor-styles-wrapper) .sv-region-title,.sv-region-block>p{line-height:1.4}
	.sv-region-block .sv-region-title+p{margin-top:8px!important}
	.sv-career-photo img{height:280px}

	.sv-footer{padding:32px 24px 24px}
	.sv-footer-grid{grid-template-columns:1fr 1fr;gap:32px 24px}
	.sv-footer-brand{grid-column:1/-1}
	.sv-footer-col{padding-top:0}
	.sv-footer-bottom{flex-direction:column;gap:12px;margin-top:32px}
}
@media (max-width:420px){
	:is(.sv-main,.editor-styles-wrapper) h1{font-size:30px}
	:is(.sv-main,.editor-styles-wrapper) h2{font-size:27px}
	.sv-consultation{padding:20px}
	.sv-consultation .flinkform-form.flinkform-form .flinkform-form__submit{font-size:16px;padding:12px 20px}
	:is(.sv-main,.editor-styles-wrapper) .sv-list-columns,:is(.sv-main,.editor-styles-wrapper) .sv-towns{columns:1}
	.sv-footer-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* ---------- Header-Telefon (nur mobil, links vom Menü) ---------- */
/* Steht am Ende, damit es die Regeln bis 781px überschreibt. Unter 600px scrollt die Admin-Leiste mit, daher top:0. */
@media (max-width:599px){
	.admin-bar .sv-header{top:0}
	.sv-header-inner{gap:4px}
	.sv-header .sv-header-call{display:block;margin:0 0 0 auto}
	.sv-header-call .wp-block-button__link{position:relative;display:block;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:none;color:var(--sv-text);overflow:hidden;white-space:nowrap;text-indent:100%}
	.sv-header-call .wp-block-button__link::before{content:"";position:absolute;inset:9px;background:currentColor;
		-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") center/contain no-repeat;
		mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") center/contain no-repeat}
	.sv-header-call .wp-block-button__link:active{background:var(--sv-sage)}
}

/* ---------- Mobiles Menü (geöffnet, unter 600px) ---------- */
/* Oben Logo und Schließen, Menüpunkte linksbündig mit Linien, unten Kontakt und Anrufen als breite Buttons. */
@media (max-width:599px){
	.sv-header .wp-block-navigation__responsive-container.is-menu-open{padding:0!important;background:var(--sv-base)}
	.sv-header .is-menu-open .wp-block-navigation__responsive-close,
	.sv-header .is-menu-open .wp-block-navigation__responsive-dialog{display:flex;flex-direction:column;min-height:100%;width:100%}
	.sv-header .is-menu-open .wp-block-navigation__responsive-dialog::before{content:"";flex:none;height:74px;border-bottom:1px solid rgba(51,80,58,.12);background:url(assets/logo.svg) 24px center/52px 52px no-repeat}
	.sv-header .is-menu-open .wp-block-navigation__responsive-container-close{top:15px;right:14px;width:44px;height:44px;display:grid;place-items:center}
	.sv-header .is-menu-open .wp-block-navigation__responsive-container-close svg{width:28px;height:28px}
	.sv-header .is-menu-open .wp-block-navigation__responsive-container-content{display:flex!important;flex-direction:column;flex:1;align-items:stretch!important;padding:12px 24px calc(24px + env(safe-area-inset-bottom))!important}
	.sv-header .is-menu-open .wp-block-navigation__container{display:flex;flex-direction:column;flex:1;align-items:stretch!important;gap:0!important;width:100%;font-size:20px}
	.sv-header .is-menu-open .wp-block-navigation-item{width:100%;margin:0!important}
	.sv-header .is-menu-open .wp-block-navigation__container>.wp-block-navigation-item:not(.sv-nav-outline):not(.sv-nav-cta)>a.wp-block-navigation-item__content{display:block;width:100%;padding:18px 0!important;border-bottom:1px solid rgba(51,80,58,.12);color:var(--sv-text);text-align:left;text-decoration:none}
	/* Leistungen: Unterpunkte eingerückt und etwas kleiner, direkt sichtbar. */
	.sv-header .is-menu-open .has-child>a.wp-block-navigation-item__content{border-bottom:0!important;padding-bottom:6px!important}
	.sv-header .is-menu-open .has-child .wp-block-navigation__submenu-icon{display:none}
	.sv-header .is-menu-open .has-child .wp-block-navigation__submenu-container{position:static!important;display:flex!important;flex-direction:column;align-items:flex-start!important;gap:0;width:100%!important;min-width:0!important;padding:0 0 12px 16px!important;border:0!important;border-bottom:1px solid rgba(51,80,58,.12)!important;border-radius:0!important;background:none!important;box-shadow:none!important;font-size:17px;opacity:1!important;visibility:visible!important;height:auto!important}
	.sv-header .is-menu-open .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item{justify-content:flex-start}
	.sv-header .is-menu-open .has-child .wp-block-navigation__submenu-container a.wp-block-navigation-item__content{display:block;width:100%;padding:10px 0!important;color:rgba(0,0,0,.75);text-align:left}
	/* Buttons unten: erst Kontakt (Rahmen), dann Anrufen (grün, Hauptaktion). */
	.sv-header .is-menu-open .sv-nav-cta{order:1;margin-top:auto!important;padding-top:32px}
	.sv-header .is-menu-open .sv-nav-outline{order:2;margin-top:12px!important}
	.sv-header .is-menu-open :is(.sv-nav-outline,.sv-nav-cta)>a.wp-block-navigation-item__content{display:flex;justify-content:center;align-items:center;gap:10px;width:100%;padding:15px 20px!important;border-radius:12px;font-size:18px;text-decoration:none}
	.sv-header .is-menu-open .sv-nav-cta>a.wp-block-navigation-item__content{background:transparent;border:1px solid var(--sv-forest);color:var(--sv-forest)}
	.sv-header .is-menu-open .sv-nav-outline>a.wp-block-navigation-item__content{background:var(--sv-green);border:1px solid var(--sv-green);color:var(--sv-text)}
	.sv-header .is-menu-open :is(.sv-nav-outline,.sv-nav-cta)>a.wp-block-navigation-item__content::after{content:"";width:20px;height:20px;background:currentColor;-webkit-mask:var(--sv-icon) center/contain no-repeat;mask:var(--sv-icon) center/contain no-repeat}
	.sv-header .is-menu-open .sv-nav-cta{--sv-icon:url("data:image/svg+xml,%3Csvg 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'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E")}
	.sv-header .is-menu-open .sv-nav-outline{--sv-icon:url("data:image/svg+xml,%3Csvg 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'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E")}
}
