/*
Theme Name: Heller IT Service
Theme URI: https://heller-its.de
Author: Florian Heller
Author URI: https://heller-its.de
Description: Individuelles WordPress-Theme für Heller IT Service in Minden – persönliche IT-Hilfe für Privatkunden.
Version: 1.16.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: heller-its
*/

:root{--blue:#1f77a8;--blue2:#196189;--navy:#1a1d5c;--text:#26364a;--muted:#69788d;--bg:#f5f8fc;--line:#e3e9f1;--green:#19a66b;--white:#fff;--shadow:0 20px 60px rgba(16,36,63,.11);--r:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);line-height:1.6}a{text-decoration:none;color:inherit}.wrap{width:min(1140px,92%);margin:auto}
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between}.logo{font-size:1.35rem;font-weight:850;color:var(--navy)}.logo span{color:var(--blue)}
.nav-right{display:flex;align-items:center;gap:18px}
.logo-group{display:flex;align-items:center;gap:12px}
.nav{gap:20px}
.site-logo{flex:0 0 auto;max-width:220px}
.site-logo a{display:block}
.site-logo img,.logo img,.custom-logo,a.custom-logo-link img{max-height:44px!important;width:auto!important;height:auto!important;max-width:220px;object-fit:contain}
.site-logo-img{display:block;height:44px;width:auto;max-width:220px;object-fit:contain}
.site-logo-img.logo-white{display:none}
html.dark .site-logo-img.logo-navy{display:none}
html.dark .site-logo-img.logo-white{display:block}
nav.main-menu{display:flex;align-items:center;gap:25px}nav.main-menu ul{list-style:none;display:flex;align-items:center;gap:25px;margin:0;padding:0}nav.main-menu a{font-weight:650;color:#536277;font-size:.94rem}nav.main-menu a:hover{color:var(--blue)}nav.main-menu a.primary,nav.main-menu a.primary:hover{color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:13px 20px;font-weight:800;transition:.2s;border:0;cursor:pointer;font-family:inherit;font-size:.95rem}.primary{background:var(--blue);color:#fff;box-shadow:0 9px 24px rgba(23,105,224,.22)}.primary:hover{background:var(--blue2);transform:translateY(-2px);color:#fff}.soft{background:#eaf3ff;color:var(--blue)}
.hero{padding:88px 0 78px;background:linear-gradient(135deg,#f2f7ff,#fff 58%,#eef6ff)}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:65px;align-items:center}.eyebrow{font-size:.78rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase;color:var(--blue)}
.badge{display:inline-flex;gap:8px;align-items:center;padding:7px 12px;border-radius:999px;background:#e8f2ff;color:var(--blue);font-size:.84rem;font-weight:800;margin:0 0 18px}.dot{width:8px;height:8px;background:var(--green);border-radius:50%}
h1{font-size:clamp(2.7rem,5vw,4.7rem);line-height:1.02;letter-spacing:-.055em;color:var(--navy);margin:0}h1 em{font-style:normal;color:var(--blue)}
.hero p{font-size:1.16rem;color:var(--muted);max-width:none;margin:24px 0 28px}.actions{display:flex;gap:12px;flex-wrap:wrap}.sub{margin-top:18px;color:#78869a;font-size:.9rem}
.hero-card{background:var(--navy);min-height:430px;border-radius:32px;position:relative;overflow:hidden;box-shadow:var(--shadow)}.hero-card:before{content:"";position:absolute;width:330px;height:330px;background:var(--blue);border-radius:50%;right:-130px;top:-130px;opacity:.65}
.hero-card.has-image{background:transparent;box-shadow:none}
.hero-card.has-image:before{display:none}
.hero-logo-wrap{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:40px}
.hero-logo{max-width:100%;max-height:100%;object-fit:contain;display:block}
.hero-logo.hero-logo-white{display:none}
html.dark .hero-logo.hero-logo-navy{display:none}
html.dark .hero-logo.hero-logo-white{display:block}
.hero-mockup{position:relative;width:100%;height:100%;padding:28px}
.screen{position:absolute;background:#fff;border-radius:18px;box-shadow:0 22px 50px rgba(0,0,0,.25)}.laptop{left:42px;top:62px;width:315px;height:215px;padding:12px}.laptop-in{height:100%;border-radius:10px;background:#eaf3ff;padding:24px}.line{height:11px;border-radius:6px;background:#fff;margin-bottom:14px;width:75%}.line.s{width:48%}.phone{right:40px;bottom:43px;width:112px;height:220px;padding:8px;border-radius:21px}.phone-in{height:100%;border-radius:15px;background:#edf5ff;padding:16px}.router{right:145px;bottom:34px;width:160px;height:78px;border-radius:13px;background:#f6f8fb}.router:after{content:"";position:absolute;left:32px;right:32px;bottom:16px;height:6px;border-radius:5px;background:var(--blue)}
section{padding:88px 0;scroll-margin-top:92px}.center{text-align:center;max-width:720px;margin:0 auto 45px}h2{font-size:clamp(2rem,4vw,3rem);line-height:1.08;letter-spacing:-.04em;color:var(--navy);margin:8px 0 14px}.center p{color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:27px;box-shadow:0 7px 28px rgba(16,36,63,.04);transition:.2s}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.icon{width:52px;height:52px;border-radius:15px;background:#eaf3ff;display:grid;place-items:center;font-size:1.45rem;margin-bottom:18px}.card h3{margin:0 0 7px;color:var(--navy);font-size:1.2rem}.card p{margin:0;color:var(--muted)}
.ref-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:10px}
.ref-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:32px;box-shadow:0 7px 28px rgba(16,36,63,.04);transition:.2s}
.ref-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.ref-card h3{margin:0 0 12px;color:var(--navy);font-size:1.35rem}
.ref-card p{margin:0 0 20px;color:var(--muted)}
.ref-link{display:inline-block;font-weight:800;color:var(--blue)}
.ref-link:hover{text-decoration:underline}
.trust{background:var(--bg)}.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.checks{display:grid;gap:16px;margin-top:25px}.check{display:flex;gap:12px}.tick{flex:0 0 26px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#e4f8ef;color:var(--green);font-weight:900}.check b{display:block;color:var(--navy)}.check span{color:var(--muted);font-size:.94rem}
.pricebox{background:#fff;border:1px solid var(--line);border-radius:28px;padding:32px;box-shadow:var(--shadow);scroll-margin-top:92px}.pricebox h3{font-size:1.45rem;color:var(--navy);margin:0 0 15px}.price{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line)}.price:last-of-type{border-bottom:0}.price strong{color:var(--blue);font-size:1.16rem}
.price-group-title{padding-top:14px;font-size:.78rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.price.price-sub{padding-left:14px}.price.price-sub span{color:var(--text)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step{padding:28px;border:1px solid var(--line);border-radius:20px}.num{font-size:.8rem;color:var(--blue);font-weight:900}.step h3{color:var(--navy)}
.contact{background:linear-gradient(135deg,var(--navy),#183e6b);color:#fff;border-radius:32px;padding:52px;display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}.contact h2{color:#fff}.contact p{color:#c8d5e5}.contact-list{display:grid;gap:12px}.contact-item{padding:16px 18px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);border-radius:13px}.contact-item small{color:#b9c9dd}
footer{padding:35px 0;border-top:1px solid var(--line);color:#77859a;font-size:.9rem}.foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.foot a{color:#77859a}.foot a:hover{color:var(--blue)}
.whatsapp{position:fixed;right:20px;bottom:20px;z-index:60;background:#20b86b;color:#fff;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:1.55rem;box-shadow:0 10px 25px rgba(0,0,0,.2)}
.icon-inline{display:inline-flex;vertical-align:-4px}
.icon-inline svg{width:18px;height:18px;display:block}
.contact-item .icon-inline{color:#8dbdff;margin-right:2px}
.btn .icon-inline{vertical-align:-3px}
.menu-toggle{display:none;background:none;border:0;font-size:1.6rem;color:var(--navy);cursor:pointer;padding:4px 8px}

/* Dark/Light-Schalter */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--navy);cursor:pointer;flex:0 0 auto}
.theme-toggle:hover{background:#eaf3ff}
.theme-toggle .icon-moon{display:none}
html.dark .theme-toggle .icon-sun{display:none}
html.dark .theme-toggle .icon-moon{display:block}

/* ================= Dark Mode ================= */
html.dark{background:#0e1320;color:#dbe4f0}
html.dark{--text:#dbe4f0;--muted:#93a3ba;--line:#232c3d;--bg:#131a2a}
html.dark header{background:rgba(14,19,32,.92);border-bottom-color:#232c3d}
html.dark .logo{color:#f2f6fb}
html.dark nav.main-menu a{color:#b7c3d6}
html.dark nav.main-menu a:hover{color:var(--blue)}
html.dark .theme-toggle{background:#182036;border-color:#232c3d;color:#f2f6fb}
html.dark .theme-toggle:hover{background:#202a44}
html.dark .hero{background:linear-gradient(135deg,#0e1320,#131a2a 58%,#0e1320)}
html.dark .badge{background:rgba(31,119,168,.18);color:#7fc4ef}
html.dark h1,html.dark h2,html.dark .card h3,html.dark .step h3,html.dark .check b,html.dark .pricebox h3{color:#f2f6fb}
html.dark .sub{color:#8b9bb2}
html.dark .card{background:#161e30;border-color:#232c3d;box-shadow:none}
html.dark .ref-card{background:#161e30;border-color:#232c3d;box-shadow:none}
html.dark .icon{background:rgba(31,119,168,.18)}
html.dark .trust{background:#0e1320}
html.dark .tick{background:rgba(25,166,107,.18)}
html.dark .pricebox{background:#161e30;border-color:#232c3d}
html.dark .price{border-bottom-color:#232c3d}
html.dark .step{border-color:#232c3d;background:#161e30}
html.dark .screen{background:#1c2740}
html.dark .laptop-in{background:#1c2740}
html.dark .phone-in{background:#1c2740}
html.dark .router{background:#1c2740}
html.dark footer{border-top-color:#232c3d;color:#8b9bb2}
html.dark .foot a{color:#8b9bb2}
html.dark .form-status.success{background:rgba(25,166,107,.15)}
html.dark .form-status.error{background:rgba(192,57,43,.18)}
@media(max-width:850px){html.dark nav.main-menu{background:#0e1320;border-bottom-color:#232c3d}}

@media(max-width:850px){.menu-toggle{display:block}nav.main-menu{position:fixed;top:76px;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:20px 6%;border-bottom:1px solid var(--line);box-shadow:var(--shadow);display:none}nav.main-menu.is-open{display:flex}nav.main-menu ul{flex-direction:column;align-items:flex-start;gap:16px;width:100%}.hero-grid,.trust-grid,.contact{grid-template-columns:1fr}.cards,.steps,.ref-grid{grid-template-columns:1fr}.hero{padding-top:62px}.hero-card{min-height:340px}section{padding:65px 0}.contact{padding:32px 24px}}
@media(max-width:480px){h1{font-size:2.6rem}.laptop{left:22px;width:230px;height:160px}.phone{width:84px;height:170px;right:20px}.router{right:90px;width:125px}}

.contact-form{display:grid;gap:14px;margin-top:6px}
.contact-form label{font-weight:700;font-size:.86rem;display:block;margin-bottom:6px;color:#dce6f2}
.contact-form input,.contact-form textarea{width:100%;padding:13px 15px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);border-radius:12px;font-family:inherit;font-size:.95rem;color:#fff}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#9fb0c6}
.contact-form textarea{min-height:120px;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #fff;outline-offset:1px}
.contact-form .btn.primary{margin-top:4px;justify-self:start}
.hp-field{position:absolute;left:-9999px;top:-9999px}
.form-status{padding:13px 16px;border-radius:12px;margin-bottom:16px;font-size:.9rem;font-weight:700}
.form-status.success{background:#e4f8ef;color:var(--green)}
.form-status.error{background:#fde8e8;color:#c0392b}

/* WordPress-Grundlagen */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
img{max-width:100%;height:auto}
.alignwide,.alignfull{width:100%}
