/*
Theme Name: Schluesseldienst Willich
Theme URI: https://example.com/
Author: Schluesseldienst Willich
Description: Schnelles, lokal SEO-optimiertes WordPress-Theme fuer einen Schluesseldienst in Willich.
Version: 1.2.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: sdw
*/

:root{--navy:#031f49;--blue:#064f9e;--royal:#0967c5;--gold:#e2aa39;--ink:#12233b;--muted:#64748b;--ice:#f4f8fc;--white:#fff;--shadow:0 18px 50px rgba(3,31,73,.12);--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%;height:auto}.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:18px;top:18px;z-index:1000;background:#fff;color:var(--navy);padding:12px 16px;border-radius:8px}.eyebrow{display:inline-flex;align-items:center;gap:9px;margin:0 0 16px;color:var(--royal);font-size:.78rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.eyebrow:before{content:"";width:28px;height:2px;background:var(--gold)}h1,h2,h3{margin:0;color:var(--navy);line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(2.65rem,6vw,5.3rem);max-width:850px}h2{font-size:clamp(2rem,4vw,3.4rem)}h3{font-size:1.28rem}p{margin:0 0 1em}.lead{font-size:clamp(1.05rem,1.6vw,1.3rem);color:#40516a;max-width:720px}.section{padding:96px 0}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:42px}.section-head .lead{max-width:520px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:13px 22px;border:0;border-radius:999px;background:var(--gold);color:var(--navy);font-weight:850;text-decoration:none;box-shadow:0 10px 30px rgba(226,170,57,.25);transition:.2s ease}.button:hover{transform:translateY(-2px);filter:brightness(1.04)}.button--light{background:#fff;box-shadow:none}.button--outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45);box-shadow:none}.button svg{width:20px;height:20px;fill:currentColor}.topbar{background:#021633;color:#dceaff;font-size:.9rem}.topbar__inner{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:18px}.topbar strong{color:#fff}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);border-bottom:1px solid #e5edf6;backdrop-filter:blur(16px)}.header-inner{height:80px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:230px}.brand img{width:58px;height:58px;object-fit:cover;object-position:center 33%;border-radius:12px}.brand span{display:block;color:var(--navy);font-weight:900;line-height:1.05}.brand small{display:block;color:var(--gold);font-size:.7rem;letter-spacing:.16em;margin-top:5px}.nav{display:flex;align-items:center;gap:25px}.nav a{text-decoration:none;font-size:.92rem;font-weight:750;color:#263b57}.nav a:hover{color:var(--royal)}.nav .button{color:var(--navy)}.menu-toggle{display:none;background:var(--navy);color:#fff;border:0;border-radius:10px;padding:10px}.hero{position:relative;overflow:hidden;background:linear-gradient(128deg,#fff 0%,#fff 58%,#eef6ff 58%,#dcecff 100%);padding:80px 0 68px}.hero:after{content:"";position:absolute;width:520px;height:520px;border:90px solid rgba(9,103,197,.08);border-radius:50%;right:-230px;top:-220px}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.hero-copy{position:relative;z-index:1}.hero h1 span{color:var(--royal)}.hero .lead{margin:24px 0 30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.trustline{display:flex;gap:24px;flex-wrap:wrap;margin-top:36px;padding-top:28px;border-top:1px solid #dbe5f0}.trustline span{display:flex;align-items:center;gap:8px;font-weight:750;font-size:.92rem;color:#354c69}.trustline span:before{content:"✓";display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e7f7ef;color:#087a45}.hero-card{position:relative;z-index:1;background:var(--navy);color:#fff;border-radius:30px;padding:28px;box-shadow:0 30px 90px rgba(3,31,73,.25)}.hero-card__logo{display:block;width:100%;aspect-ratio:1.7/1;object-fit:cover;object-position:center;border-radius:18px}.hero-card__call{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px}.hero-card__call small{display:block;color:#bcd5f1}.hero-card__call a{display:block;color:#fff;font-size:1.45rem;font-weight:900;text-decoration:none}.hero-card__badge{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:var(--gold);color:var(--navy);font-size:1rem;font-weight:900}.proofbar{background:var(--navy);color:#fff}.proofbar-grid{display:grid;grid-template-columns:repeat(4,1fr)}.proof{padding:27px;border-right:1px solid rgba(255,255,255,.12)}.proof:last-child{border:0}.proof strong{display:block;font-size:1.12rem}.proof span{color:#a8c3e0;font-size:.9rem}.services{background:var(--ice)}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{background:#fff;border:1px solid #e2ebf4;border-radius:var(--radius);padding:30px;box-shadow:0 10px 30px rgba(3,31,73,.04);transition:.2s ease}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.icon{display:grid;place-items:center;width:54px;height:54px;margin-bottom:24px;border-radius:16px;background:#e8f2fe;color:var(--royal);font-size:1.35rem;font-weight:900}.service-card p{color:var(--muted);margin:12px 0 0}.price-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:58px;align-items:center}.price-panel{background:linear-gradient(145deg,var(--navy),#0757a6);color:#fff;border-radius:30px;padding:40px;box-shadow:var(--shadow)}.price-panel .eyebrow{color:#fff}.price{font-size:clamp(3.5rem,8vw,6.5rem);font-weight:950;line-height:1;color:#fff;letter-spacing:-.07em}.price sup{font-size:.32em;letter-spacing:0}.price-panel .sub{color:#c8dcf1;margin:12px 0 26px}.price-notes{display:grid;gap:12px}.price-note{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid rgba(255,255,255,.15)}.price-note strong{color:var(--gold)}.check-list{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:14px}.check-list li{position:relative;padding-left:34px}.check-list li:before{content:"✓";position:absolute;left:0;top:1px;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e8f6ef;color:#0b7a48;font-weight:900}.steps{background:var(--navy);color:#fff}.steps h2,.steps h3{color:#fff}.steps .eyebrow{color:#d8e9fb}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}.step{border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:28px}.step-number{color:var(--gold);font-weight:950;font-size:2.6rem;line-height:1}.step p{color:#b7cee6;margin:13px 0 0}.areas-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.area-cloud{display:flex;flex-wrap:wrap;gap:10px}.area-cloud span{padding:11px 16px;border-radius:999px;background:#edf5fd;color:#174574;font-weight:750}.promise{border-left:4px solid var(--gold);padding:4px 0 4px 24px;margin-top:28px}.faq{background:var(--ice)}.faq-list{max-width:840px;margin:40px auto 0}.faq details{background:#fff;border:1px solid #dfE8f2;border-radius:15px;margin-bottom:12px;padding:0 22px}.faq summary{cursor:pointer;list-style:none;padding:21px 38px 21px 0;font-weight:850;color:var(--navy);position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:4px;top:16px;font-size:1.6rem;color:var(--royal)}.faq details[open] summary:after{content:"−"}.faq details p{color:var(--muted);padding-bottom:20px}.cta{background:linear-gradient(110deg,#064f9e,#02234f);color:#fff;border-radius:30px;padding:48px;display:flex;align-items:center;justify-content:space-between;gap:34px}.cta h2{color:#fff}.cta p{color:#cde0f3;margin:12px 0 0}.site-footer{background:#021633;color:#aac1da;padding:64px 0 92px}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .8fr;gap:60px}.site-footer h3{color:#fff;font-size:1rem;margin-bottom:16px}.site-footer a{color:#dceaff;text-decoration:none}.site-footer a:hover{color:#fff}.footer-links{display:grid;gap:9px}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:42px;padding-top:22px;font-size:.84rem}.legal-hero{background:var(--ice);padding:70px 0 50px}.legal-content{max-width:840px;padding:70px 0}.legal-content h2{font-size:1.55rem;margin:38px 0 14px}.legal-content h3{font-size:1.15rem;margin:28px 0 10px}.legal-notice{background:#fff5d9;border:1px solid #f0d58d;border-radius:14px;padding:18px;margin-bottom:28px}.mobile-callbar{display:none}.placeholder{background:#fff2d4;color:#7c5200;padding:1px 4px;border-radius:3px}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:960px){.nav{position:absolute;left:20px;right:20px;top:88px;display:none;flex-direction:column;align-items:stretch;background:#fff;border:1px solid #dfe8f2;border-radius:18px;padding:20px;box-shadow:var(--shadow)}.nav.is-open{display:flex}.menu-toggle{display:block}.header-inner>.button{display:none}.hero-grid,.price-wrap,.areas-grid{grid-template-columns:1fr}.hero{padding-top:58px}.hero-card{max-width:620px}.proofbar-grid{grid-template-columns:repeat(2,1fr)}.proof:nth-child(2){border-right:0}.proof:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)}.card-grid,.steps-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>:first-child{grid-column:1/-1}}
@media(max-width:640px){body{padding-bottom:70px}.container{width:min(100% - 28px,1160px)}.topbar__inner{justify-content:center}.topbar__inner span:last-child{display:none}.header-inner{height:70px}.brand{min-width:0}.brand img{width:46px;height:46px}.brand span{font-size:.9rem}.brand small{font-size:.58rem}.hero{padding:52px 0}.hero-grid{gap:36px}.hero-actions .button{width:100%}.hero-card{padding:18px;border-radius:22px}.hero-card__call a{font-size:1.12rem}.section{padding:70px 0}.section-head{display:block}.section-head .lead{margin-top:18px}.proofbar-grid,.card-grid,.steps-grid,.footer-grid{grid-template-columns:1fr}.proof{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)!important}.proof:last-child{border-bottom:0!important}.price-panel,.cta{padding:28px 22px}.price-note{display:block}.price-note strong{display:block;margin-top:5px}.cta{align-items:flex-start;flex-direction:column}.footer-grid>:first-child{grid-column:auto}.mobile-callbar{position:fixed;display:flex;z-index:200;left:0;right:0;bottom:0;height:70px;background:var(--gold);color:var(--navy);align-items:center;justify-content:center;gap:10px;text-decoration:none;font-weight:950;box-shadow:0 -10px 30px rgba(3,31,73,.18)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.footer-grid--private{grid-template-columns:1.4fr .6fr}
@media(max-width:960px){.footer-grid--private{grid-template-columns:1fr 1fr}.footer-grid--private>:first-child{grid-column:auto}}
@media(max-width:640px){.footer-grid--private{grid-template-columns:1fr}}
