/* iO Advisory – gemeinsame Styles (Schriften lokal, Navigation, Formular, Karte) */

/* ---------- Schriften (lokal, keine Verbindung zu Google) ---------- */
@font-face{font-family:'Familjen Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/familjen-grotesk-latin-500-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:'Familjen Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/familjen-grotesk-latin-600-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:'Familjen Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/familjen-grotesk-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:'Familjen Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/familjen-grotesk-latin-ext-500-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:'Familjen Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/familjen-grotesk-latin-ext-600-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:'Familjen Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/familjen-grotesk-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:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-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:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-500-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:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-600-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:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-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:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-ext-500-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:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-ext-600-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}

/* ---------- Grundlagen ---------- */
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
*,*::before,*::after{box-sizing:border-box}
img{max-width:100%;height:auto}
[hidden]{display:none!important}
:focus-visible{outline:3px solid #D4F36B;outline-offset:2px}
section[id],[id="inhalt"]{scroll-margin-top:24px}
.io-skip{position:absolute;left:16px;top:-80px;z-index:50;background:#D4F36B;color:#2D2B42;font-weight:600;padding:12px 18px;border-radius:999px;text-decoration:none}
.io-skip:focus{top:12px}
.io-navlinks a[aria-current="page"]{color:#D4F36B!important}

/* ---------- Mobile Navigation ---------- */
.io-burger{display:none;flex:none;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,0.25);background:transparent;color:#FFFFFF;cursor:pointer;align-items:center;justify-content:center;padding:0}
.io-burger .io-burger-close{display:none}
.io-burger[aria-expanded="true"] .io-burger-open{display:none}
.io-burger[aria-expanded="true"] .io-burger-close{display:inline}
.io-mobilnav{width:100%;max-width:1080px;margin-top:8px;background:#3A3853;border:1px solid rgba(255,255,255,0.12);border-radius:28px;padding:10px;display:flex;flex-direction:column}
.io-mobilnav a{color:#FFFFFF;text-decoration:none;font-weight:600;font-size:18px;padding:12px 16px;border-radius:16px;min-height:44px;display:flex;align-items:center}
.io-mobilnav a:hover,.io-mobilnav a[aria-current="page"]{background:rgba(212,243,107,0.12);color:#D4F36B}
@media (max-width:860px){
  .io-navlinks{display:none!important}
  .io-burger{display:inline-flex}
  .io-cta{margin-left:auto}
}
@media (min-width:861px){.io-mobilnav{display:none!important}}
@media (max-width:420px){
  .io-headwrap header{gap:10px!important;padding-left:14px!important}
  .io-headwrap header > a:first-child span{font-size:20px!important}
  .io-cta{padding:12px 14px!important;font-size:14px!important}
}
@media (max-width:360px){.io-cta{display:none}}

/* ---------- Leistungs-Wähler (Startseite) ---------- */
.io-svc{font:inherit;text-align:left;width:100%;border:0;margin:0;color:#FFFFFF;background:transparent;transition:background .2s ease,color .2s ease}
.io-svc .io-svc-dot{background:rgba(255,255,255,0.08);color:#FFFFFF}
.io-svc:hover{background:rgba(255,255,255,0.06)}
.io-svc.is-on,.io-svc.is-on:hover{background:#D4F36B;color:#2D2B42}
.io-svc.is-on .io-svc-dot{background:#2D2B42;color:#D4F36B}
.io-svc:focus-visible,.io-step:focus-visible,.io-tag:focus-within{outline:3px solid #D4F36B;outline-offset:2px}

/* ---------- Ablauf-Schritte (Unterweisungen) ---------- */
.io-step{font:inherit;text-align:left;margin:0;background:transparent;color:#FFFFFF;border:1.5px solid rgba(255,255,255,0.18);transition:background .25s ease,border-color .25s ease,color .25s ease}
.io-step.is-on{background:#3A3853;border-color:#D4F36B}
.io-step.is-cur{background:#D4F36B;color:#2D2B42;border-color:#D4F36B}
.io-bar{transition:width .4s ease}

/* ---------- Formular ---------- */
.io-tag{position:relative;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;border:1.5px solid rgba(255,255,255,0.3);background:transparent;color:#FFFFFF;font-weight:600;font-size:15px;min-height:44px;transition:background .15s,border-color .15s,color .15s;user-select:none}
.io-tag input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.io-tag .io-tag-mark::before{content:'+'}
.io-tag:hover{border-color:#D4F36B}
.io-tag.is-on,.io-tag:has(input:checked){background:#D4F36B;border-color:#D4F36B;color:#2D2B42}
.io-tag.is-on .io-tag-mark::before,.io-tag:has(input:checked) .io-tag-mark::before{content:'✓'}
.io-form input:focus,.io-form textarea:focus,.io-form select:focus{outline:2px solid #D4F36B;outline-offset:1px}
.io-form select option{color:#15171C;background:#FFFFFF}
.io-form [aria-invalid="true"]{border-color:#F5C3D6!important;box-shadow:0 0 0 1px #F5C3D6}
.io-req{color:#D4F36B}
.io-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.io-form-status{margin:0;padding:12px 16px;border-radius:16px;background:rgba(245,195,214,0.14);border:1px solid rgba(245,195,214,0.5);color:#FFFFFF;font-size:15px}
.io-form-status.is-ok{background:rgba(212,243,107,0.14);border-color:rgba(212,243,107,0.5)}
.io-submit[disabled]{opacity:.6;cursor:progress}

/* ---------- Google Maps (2-Klick) ---------- */
.io-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.io-map-load:hover{background:#D4F36B!important;color:#2D2B42!important}

/* ---------- Druck ---------- */
@media print{
  .io-headwrap,footer,.io-skip,.io-map,form{display:none!important}
  body,.io-root{background:#FFFFFF!important;color:#000000!important}
}

/* größere Klickfläche der Hauptnavigation */
.io-navlinks a{display:inline-flex;align-items:center;min-height:44px}
