/* PC-Hilfe Neuhausen – gemeinsames Stylesheet */
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/space-grotesk-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/space-grotesk-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/barlow-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/barlow-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-latin-600-normal.woff2) format('woff2')}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#F7F6F2}
h1{font-size:clamp(40px,7vw,64px)!important}
h2{font-size:clamp(32px,5vw,44px)!important}
a{color:#2F4F8F}a:hover{color:#16264A}
a[href^="tel:"]{white-space:nowrap}
:focus-visible{outline:3px solid #FAA61A;outline-offset:3px}
.skip{position:absolute;left:16px;top:-60px;z-index:100;padding:12px 18px;border-radius:10px;background:#FAA61A;color:#16264A;font-weight:600;text-decoration:none}
.skip:focus{top:12px}

/* Kopfbereich + Navigation */
.site-header{background:#16264A;color:#FFFFFF;position:relative}
.header-inner{max-width:1200px;margin:0 auto;padding:20px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:28px;font-size:16px;font-weight:500}
.nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:28px}
.nav-links a{display:inline-flex;align-items:center;min-height:44px;color:#E4E9F2;text-decoration:none}
.nav-links a:hover{color:#FFFFFF;text-decoration:underline;text-underline-offset:6px}
.nav-tel{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid #FFFFFF;color:#FFFFFF;text-decoration:none;font-weight:600}
.nav-tel:hover{color:#16264A;background:#FFFFFF}
.menu-btn{display:none;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1.5px solid rgba(255,255,255,0.5);border-radius:12px;background:transparent;color:#FFFFFF;cursor:pointer}
.menu-btn .i-close{display:none}
.menu-btn[aria-expanded="true"] .i-open{display:none}
.menu-btn[aria-expanded="true"] .i-close{display:block}
@media (max-width:860px){
  .header-inner{padding:14px 16px;flex-wrap:nowrap;gap:10px}
  .brand-name{font-size:18px!important;white-space:nowrap}
  .brand-sub{display:none!important}
  .nav{gap:10px;flex-wrap:nowrap;flex:none}
  .nav-tel .tel-text{display:none}
  .nav-tel{width:48px;height:48px;padding:0;justify-content:center}
  .js .menu-btn{display:inline-flex}
  .js .nav-links{display:none;position:absolute;left:0;right:0;top:100%;z-index:50;flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 20px;background:#16264A;border-top:1px solid rgba(255,255,255,0.14);box-shadow:0 18px 30px rgba(15,27,54,0.35)}
  .js .nav-links.open{display:flex}
  .js .nav-links a{min-height:56px;font-size:19px;border-bottom:1px solid rgba(255,255,255,0.1)}
  .nav-links{gap:4px 20px}
}
@media (max-width:360px){
  .brand-name{font-size:16px!important}
  .header-inner{gap:6px!important}
  .header-inner > a{gap:8px!important}
  .nav-tel,.menu-btn{width:44px!important;height:44px!important}
}
.brand-logo{display:block;height:52px;width:auto}
@media (max-width:860px){.brand-logo{height:36px}}
@media (max-width:360px){.brand-logo{height:30px}}
/* Footer-Links groß genug zum Antippen */
.footer-nav a{display:inline-flex;align-items:center;min-height:44px}

/* Kontaktformular */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-note{margin:0;font-size:14px;color:#5E6779}
input:focus,select:focus,textarea:focus{border-color:#426AB3!important;outline:3px solid rgba(66,106,179,0.25);outline-offset:0}

/* Grundgerüst aller Seiten */
.page{font-family:'Barlow',system-ui,sans-serif;color:#16264A;background:#F7F6F2;font-size:18px;line-height:1.55}
.nav-links a[aria-current="page"]{color:#FFFFFF;text-decoration:underline;text-underline-offset:6px}

/* Rechtstexte (Impressum, Datenschutz) */
.legal{max-width:820px;margin:0 auto;padding:72px 24px 104px;overflow-wrap:anywhere}
.legal h1{margin:0 0 32px;font-family:'Space Grotesk',sans-serif;font-weight:700;line-height:1.1;letter-spacing:-0.02em}
.legal h2{margin:48px 0 12px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:26px!important;line-height:1.2}
.legal h3{margin:28px 0 8px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:20px}
.legal p,.legal ul{margin:0 0 14px;color:#33405A}
.legal ul{padding-left:22px}
.legal .todo{background:#FFF3D6;color:#7A4E00;padding:2px 6px;border-radius:6px;font-weight:600}
.legal .stand{margin-top:48px;font-size:15px;color:#5E6779}

/* Rückmeldung Formular */
.notice{padding:16px 18px;border-radius:12px;font-size:17px}
.notice.ok{background:#E8F3EA;color:#1E5631}
.notice.err{background:#FBEAEA;color:#8A1F1F}

/* Schmale Handys (auch bei vergrößerter Anzeige / Bildschirmzoom) */
@media (max-width:480px){
  h1,h2,h3{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
  h1{font-size:clamp(30px,10vw,40px)!important}
  h2{font-size:clamp(25px,8.6vw,32px)!important}
  section[id]{padding-left:16px!important;padding-right:16px!important}
  section[id][style*="104px"]{padding-top:64px!important;padding-bottom:64px!important}
  #schwerpunkte{padding-top:0!important}
  article[style*="padding: 32px"],div[style*="padding: 32px"],form[style*="padding: 40px"]{padding:22px!important}
  #kontakt a[href^="tel:"][style*="34px"]{font-size:28px!important}
  div[style*="padding: 24px"]{padding:20px!important}
  div[style*="justify-content: space-between"]{flex-wrap:wrap}
}
@media (max-width:300px){
  .header-inner{padding:12px!important}
  .brand-logo{height:26px}
}
