/* Nordweg Kunden-App – baut auf css/style.css auf */
body.app{font-size:1.15rem;background:var(--alt);min-height:100vh;padding-bottom:env(safe-area-inset-bottom)}
.app-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:4px solid var(--green);display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem max(4%,env(safe-area-inset-left));box-shadow:0 2px 8px rgba(0,0,0,.15)}
.app-brand{display:inline-flex;min-height:48px;align-items:center}.app-brand img{height:46px;width:auto}
.app-net{font-weight:700;font-size:.95rem;color:#7f1d1d}
#app-main{width:min(980px,92%);margin:0 auto;padding:1.25rem 0 2rem}
.app-title{color:var(--navy);font-size:clamp(1.7rem,6vw,2.4rem);line-height:1.15;margin:.5rem 0 .5rem}
.app-hours{margin:0 0 1rem;color:var(--text)}#open-now{font-weight:700;color:var(--green-dark)}#open-now.closed{color:#7f1d1d}
.tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem}
@media(min-width:700px){.tiles{grid-template-columns:repeat(3,1fr)}}
.tile-a{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:140px;padding:1rem .6rem;background:#fff;color:var(--navy);text-decoration:none;border:3px solid var(--navy);border-radius:18px;box-shadow:0 5px 0 var(--navy);transition:transform .12s,box-shadow .12s}
.tile-a:hover{color:var(--navy);transform:translateY(-2px);box-shadow:0 7px 0 var(--navy)}
.tile-a:active{transform:translateY(4px);box-shadow:0 1px 0 var(--navy)}
.ti{font-size:2.6rem;line-height:1}.tl{font-weight:800;font-size:1.25rem;line-height:1.2;margin-top:.45rem}.ts{font-size:.95rem;color:var(--muted);margin-top:.15rem}
.t-main{background:var(--green)}.t-main .ts{color:var(--navy)}
.t-call{background:var(--navy);color:#fff}.t-call:hover{color:#fff}.t-call .ts{color:#e6ecf5}
.t-wa{background:#e7fbf3}
.install-box{margin-top:1rem!important;background:var(--navy);color:#fff;border-radius:18px;padding:1rem 1.2rem;margin:0 0 1rem;border:3px solid var(--green)}
.install-box p{margin:0 0 .6rem}.install-box .linkbtn{color:#fff}
.big-btn{min-height:52px;font-size:1.15rem}
.linkbtn{background:none;border:0;font:inherit;text-decoration:underline;cursor:pointer;min-height:48px;padding:0 .5rem;color:var(--navy-2)}
.app-info{margin-top:1.75rem;background:#fff;border-radius:18px;padding:1.2rem 1.4rem;border:2px solid #dde3ea}.app-info h2{margin-top:0;color:var(--navy)}
.hours{display:grid;grid-template-columns:auto 1fr;gap:.2rem 1.2rem;margin:0 0 1rem}.hours dt{font-weight:700}.hours dd{margin:0}
.back{display:inline-flex;align-items:center;min-height:48px;font-weight:700;font-size:1.15rem;text-decoration:none}
.cl-bar{height:18px;background:#dde3ea;border-radius:99px;overflow:hidden;border:2px solid var(--navy)}.cl-bar span{display:block;height:100%;width:0;background:var(--green);transition:width .3s}
.cl-count{font-weight:700}
.phase{background:#fff;border-radius:18px;border:2px solid #dde3ea;padding:.6rem 1.1rem 1rem;margin:0 0 1rem}
.phase h2{color:var(--navy);font-size:1.35rem;margin:.6rem 0}
.phase ul{list-style:none;margin:0;padding:0}
.ck{display:flex;align-items:flex-start;gap:.8rem;min-height:52px;padding:.55rem 0;border-top:1px solid #eef1f5;cursor:pointer;font-weight:400;margin:0}
.ck input{width:30px;height:30px;flex:0 0 30px;margin:.1rem 0 0;accent-color:var(--green-dark);cursor:pointer}
.ck input:checked+span{text-decoration:line-through;color:var(--muted)}
.ck small{display:block;color:var(--muted);font-size:.95rem;text-decoration:none}
.an-card{background:#fff;border-radius:18px;border:2px solid #dde3ea;padding:1.2rem 1.4rem}
.an-card dl{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1rem}.an-card dt{font-weight:700}.an-card dd{margin:0;overflow-wrap:anywhere}
.an-card pre{white-space:pre-wrap;font:inherit;font-size:1rem;background:var(--alt);padding:.8rem;border-radius:10px}
.app-footer{background:#071a26;padding:1.2rem 4% calc(1.2rem + env(safe-area-inset-bottom))}
.app-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 1.2rem;justify-content:center}
.app-footer a{color:#fff;display:inline-flex;min-height:48px;align-items:center;padding:0 .3rem}
.view{animation:vin .25s ease-out}@keyframes vin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.view{animation:none}.tile-a,.cl-bar span{transition:none}.tile-a:hover,.tile-a:active{transform:none}}
.an-card+.an-card{margin-top:1rem}.an-card h2{color:var(--navy);margin-top:0}
.big-input{font-size:1.2rem;min-height:52px}
.countdown{font-size:1.35rem;font-weight:800;color:var(--navy);margin:.5rem 0}.k-out{font-size:1.2rem;font-weight:700}
button.tile-a{font:inherit;width:100%;cursor:pointer}
.faq-item{background:#fff;border:2px solid #dde3ea;border-radius:14px;margin:0 0 .7rem}
.faq-item summary{cursor:pointer;font-weight:700;padding:.9rem 1.1rem;min-height:52px;color:var(--navy)}
.faq-item p{margin:0;padding:0 1.1rem 1rem}
.toast{position:fixed;left:50%;bottom:calc(1rem + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--navy);color:#fff;padding:.8rem 1.2rem;border-radius:12px;font-weight:700;z-index:30}
.app-footer .wr-link{font-weight:700;color:#3ef0a8;text-decoration:underline}
