/* Responsives Layout 2026 – bewusst im Look & Feel der ursprünglichen Website */
:root{--red:#c90000;--black:#111;--white:#fff;--light:#efefef;--gray:#606060;--site-width:799px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;font-family:Arial,Helvetica,sans-serif;background:#3a3a3a}
body{margin:0;color:#111;background:#3a3a3a url('../bilder/hintergrund.png') repeat;font-size:15px;line-height:1.55}
a{color:#980000;text-decoration:underline;text-underline-offset:2px}a:hover{color:#c90000}a:focus-visible{outline:3px solid #c90000;outline-offset:3px}
.site{width:min(100%,var(--site-width));margin:0 auto;background:#fff;box-shadow:0 0 16px rgba(0,0,0,.35)}
.site-header{line-height:0;background:#fff}.site-header a{display:block}.site-header img{display:block;width:100%;height:auto;max-width:799px}
.site-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:0;background:#1d1d1d url('../bilder/menu.gif') repeat-x;color:#fff;border-top:1px solid #333;border-bottom:3px solid var(--red);padding:0 10px}
.site-nav a{color:#fff;text-decoration:none;font-size:13px;line-height:1.2;padding:10px 8px;white-space:nowrap;border-right:1px solid rgba(255,255,255,.16)}
.site-nav a:first-child{border-left:1px solid rgba(255,255,255,.16)}.site-nav a:hover,.site-nav a:focus,.site-nav a.active{background:var(--red);color:#fff}
.hero-strip{background:#fff;line-height:0}.hero-strip img{display:block;width:100%;height:auto}
.site-main{min-height:300px;background:#fff url('../bilder/kontent.gif') repeat-y center top;background-size:100% auto}
.page-title{display:flex;align-items:center;gap:8px;min-height:68px;padding:20px 34px 16px;border-bottom:1px solid #ddd;font-size:17px}.page-title b{color:var(--red);font-size:22px}.page-title strong{font-style:italic}
.page-content{padding:28px 34px 38px}.page-content h2{font-size:18px;line-height:1.3;margin:0 0 12px}.page-content p{margin:0 0 14px}.lead{font-size:16px;margin-bottom:22px!important}.text-section{max-width:690px}.contact-box{margin-top:22px;padding:18px 20px;background:#ededed;border-left:5px solid var(--red)}
.intro h1{font-size:28px;line-height:1.2;margin:22px 0 12px}.company-line,.trade-line,.since-line{margin-bottom:4px!important}.company-line span{margin-left:8px}.cta-row{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px}.cta-button{display:inline-block;padding:10px 16px;background:var(--red);border:2px solid var(--red);color:#fff;font-weight:700;text-decoration:none}.cta-button:hover,.cta-button:focus{background:#a50000;color:#fff}.cta-secondary{background:#fff;color:#980000}.cta-secondary:hover,.cta-secondary:focus{background:#f4f4f4;color:#980000}.no-accent{border-left:0}.feature-list.no-accent{border-left:none}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.service-card{background:#e3e3e3;border-top:4px solid var(--red);padding:16px 18px;min-width:0}.service-card h2{margin-bottom:9px}.service-card ul,.feature-list{margin:0;padding-left:20px}.service-card li,.feature-list li{margin:4px 0}.feature-list{padding:14px 20px 14px 38px;background:#ededed;border-left:5px solid var(--red);margin:18px 0}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px}.gallery-card{margin:0;min-width:0}.gallery-card a{display:block;text-decoration:none}.media-frame{display:flex;align-items:center;justify-content:center;height:173px;padding:7px;background:#e9e9e9 url('../bilder/bildhintergrund.gif') center/cover no-repeat;border:1px solid #d4d4d4;overflow:hidden}.media-frame img{display:block;max-width:100%;max-height:100%;width:auto;height:auto}.media-frame.photo img{width:100%;height:100%;object-fit:cover}.gallery-card figcaption{padding:7px 2px 0;font-size:13px;color:#111}.certificate .media-frame{height:230px;background:#f1f1f1}.certificate .media-frame img{width:auto;height:100%;object-fit:contain}.pager{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.pager a,.pager span{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;border:1px solid #bbb;text-decoration:none;color:#111}.pager span[aria-current]{background:var(--red);border-color:var(--red);color:#fff}
.contact-layout{display:grid;grid-template-columns:1fr;gap:20px}.contact-details{max-width:620px}.map{margin:0}.map img{display:block;max-width:100%;height:auto;border:1px solid #ccc}
.legal-content{max-width:700px}.legal-content h2{margin-top:24px;color:#111}.legal-content h2:first-child{margin-top:0}
.site-footer{min-height:118px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:22px 34px;text-align:center;color:#fff;background:#111 url('../bilder/fuss.gif') center top/cover no-repeat;border-top:3px solid var(--red)}.site-footer p{margin:0;font-size:11px}.site-footer a{color:#fff}.footer-links{display:flex;gap:8px;justify-content:center}
/* kleine, moderne Lightbox ohne alte Prototype-/Scriptaculous-Abhängigkeiten */
.lightbox-overlay{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.88)}.lightbox-overlay.open{display:flex}.lightbox-dialog{position:relative;max-width:min(94vw,1100px);max-height:92vh;text-align:center}.lightbox-dialog img{display:block;max-width:100%;max-height:84vh;margin:auto;background:#fff;box-shadow:0 5px 30px #000}.lightbox-caption{color:#fff;margin-top:10px}.lightbox-close{position:absolute;right:-10px;top:-10px;width:38px;height:38px;border:0;border-radius:50%;background:var(--red);color:#fff;font:700 24px/38px Arial;cursor:pointer}
@media(max-width:700px){
 body{font-size:16px}.site{width:100%;box-shadow:none}.site-nav{justify-content:center;padding:4px}.site-nav a{font-size:14px;padding:9px 8px;border:0}.page-title{padding:16px 18px;min-height:0;flex-wrap:wrap;font-size:16px}.page-content{padding:22px 18px 30px}.service-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}.media-frame{height:150px}.certificate .media-frame{height:210px}.site-footer{padding:20px 18px}.hero-strip img{min-height:110px;object-fit:cover}
}
@media(max-width:430px){.site-nav a{flex:1 1 33.333%;text-align:center;padding:9px 4px}.page-title span{width:100%}.gallery-grid{grid-template-columns:1fr}.media-frame{height:auto;min-height:180px}.media-frame.photo img{height:auto;max-height:none;object-fit:contain}.certificate .media-frame{height:270px}.contact-box{padding:15px}.site-footer p{font-size:10px}}
