:root{
  --blue:#061b63;
  --blue-2:#0b3f91;
  --yellow:#ffd33d;
  --red:#bd1f2d;
  --ink:#102033;
  --muted:#637083;
  --line:#d9e1ee;
  --bg:#eef3f9;
  --card:#ffffff;
  --radius:22px;
  --shadow:0 20px 50px rgba(12,32,80,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:linear-gradient(180deg,#f7f9fd 0%,var(--bg) 45%,#e9eff7 100%);color:var(--ink);font-size:16px;line-height:1.55}
a{color:var(--blue-2);text-decoration:none}a:hover{text-decoration:underline}.wrap{width:min(1180px,calc(100% - 32px));margin-inline:auto}.skip-link{position:absolute;left:-999px;top:auto}.skip-link:focus{left:1rem;top:1rem;z-index:20;background:#fff;padding:.65rem 1rem;border-radius:.75rem;box-shadow:var(--shadow)}
.site-header{background:var(--blue);color:#fff;box-shadow:0 12px 35px rgba(6,27,99,.25);position:relative;z-index:5}.topline{background:#041447;font-size:.92rem}.topline-inner{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0}.topline a{color:#fff;font-weight:700}.brand-row{display:flex;align-items:center;justify-content:space-between;padding:1.15rem 0}.brand{display:flex;align-items:baseline;gap:.8rem;color:#fff;text-decoration:none}.brand:hover{text-decoration:none}.brand-name{font-weight:900;font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.06em;line-height:1}.brand-sub{font-weight:700;font-size:clamp(1rem,2vw,1.35rem);color:#f4f7ff}.menu-button{display:none;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;padding:.65rem 1rem;font-weight:800}.mainnav{display:flex;gap:.35rem;align-items:center;justify-content:center;flex-wrap:wrap;padding-bottom:1rem}.mainnav a{color:#fff;padding:.6rem .85rem;border-radius:999px;font-weight:700}.mainnav a:hover,.mainnav a.active{background:rgba(255,255,255,.16);text-decoration:none}.opening-hours{background:var(--yellow);color:#1d2440;text-align:center;padding:.65rem 1rem;font-weight:800}.layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1.25rem;padding:1.25rem 0 3rem}.layout .home-content{width:100%;margin:0}.sidebar{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem;align-self:start;position:sticky;top:1rem}.sidebar h2{font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin:.25rem .5rem 1rem}.category-nav{display:grid;gap:.35rem}.category-nav a{display:flex;align-items:center;justify-content:space-between;color:var(--ink);padding:.65rem .75rem;border-radius:14px;font-weight:700;background:#f5f8fc}.category-nav a:hover,.category-nav a.active{background:#fff1b7;text-decoration:none;color:#111}.content-card,.hero-card,.info-strip{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.content-card{padding:clamp(1.25rem,3vw,2.25rem);min-width:0}.full-width{margin-top:1.25rem}.home-content{width:min(1180px,calc(100% - 32px));margin:1.25rem auto 3rem}.hero-card{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);align-items:center;overflow:hidden}.hero-copy{padding:clamp(1.9rem,4vw,4rem);display:flex;flex-direction:column;justify-content:center}.eyebrow{margin:0 0 .55rem;color:var(--red);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}.hero-copy h1,.page-title h1{margin:0;color:var(--blue);line-height:1.02;letter-spacing:-.04em}.hero-copy h1{font-size:clamp(2.25rem,5.2vw,4.25rem);max-width:11.5ch;text-wrap:balance}.hero-copy p:not(.eyebrow){font-size:clamp(1.05rem,2vw,1.35rem);color:var(--muted);max-width:34rem}.hero-image{background:#d7e3f5;display:grid;place-items:center;padding:1.5rem 1.5rem 1.5rem 0}.hero-image img{width:min(100%,540px);height:auto;border-radius:18px;box-shadow:0 14px 40px rgba(0,0,0,.18)}.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.85rem 1.15rem;font-weight:900;text-decoration:none}.button:hover{text-decoration:none}.button.primary{background:var(--yellow);color:#111}.button.secondary{background:var(--blue);color:#fff}.info-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;margin:1.25rem 0}.info-strip div{padding:1rem 1.15rem;background:#fff}.info-strip strong{display:block;color:var(--blue);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}.info-strip span,.info-strip a{font-weight:700;color:var(--ink)}.info-strip a:hover{text-decoration:underline}.section-head h2,.content-card h2{margin-top:0;color:var(--blue);font-size:clamp(1.55rem,3vw,2.25rem);line-height:1.12}.benefit-list{display:grid;gap:.8rem;padding:0;margin:1rem 0 0;list-style:none}.benefit-list li{padding:1rem 1rem 1rem 1.1rem;border-left:5px solid var(--yellow);background:#f7f9fd;border-radius:14px}.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.85rem}.category-card{display:flex;justify-content:flex-start;gap:.8rem;align-items:center;min-height:84px;border:1px solid var(--line);border-radius:18px;padding:1rem;background:#f8fbff;color:var(--ink);font-weight:900}.category-card span{display:block;max-width:100%;font-size:1.02rem;line-height:1.2}.category-card small{display:none}.category-card:hover{background:#fff5c9;text-decoration:none;border-color:#f0cf52}.page-title{border-bottom:1px solid var(--line);padding-bottom:1.1rem;margin-bottom:1.4rem}.page-title h1{font-size:clamp(2rem,5vw,3.65rem)}.legacy-content{font-size:1rem}.legacy-content h2.section-heading,.legacy-content h2.product-heading{margin:2rem 0 1rem;color:var(--blue);font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.18}.legacy-content h2.section-heading:first-child,.legacy-content h2.product-heading:first-child{margin-top:0}.legacy-content p{margin:0 0 1rem}.legacy-content img{max-width:100%;height:auto!important;border-radius:14px;border:1px solid var(--line);box-shadow:0 10px 24px rgba(12,32,80,.12);margin:.25rem 1rem 1rem 0}.legacy-content img[align]{float:none!important}.legacy-content ul{padding-left:1.2rem}.table-scroll{overflow-x:auto;margin:1rem 0 1.35rem;border:1px solid var(--line);border-radius:18px;background:#fff}.legacy-content table{border-collapse:collapse;width:100%;min-width:520px;margin:0!important;font-size:.95rem}.legacy-content td,.legacy-content th{border-bottom:1px solid #e6edf6;padding:.72rem .8rem;vertical-align:top}.legacy-content tr:first-child td{background:#eaf2ff!important;color:#112;font-weight:900}.legacy-content .price-table td:not(:first-child){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.legacy-content a.tabelle,.legacy-content table a{color:var(--blue-2);font-weight:800}.back-to-overview{margin:1.5rem 0 0!important}.back-to-overview a{display:inline-flex;background:var(--red);color:#fff;border-radius:999px;padding:.75rem 1rem;font-weight:900}.back-to-overview a:hover{text-decoration:none;background:#9c1724}.legacy-content hr{border:0;border-top:1px solid var(--line);margin:1.5rem 0}.site-footer{background:#06133f;color:#fff;padding:2rem 0}.site-footer a{color:#fff}.footer-grid{display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:1rem}.footer-grid div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:1rem}
@media (max-width:900px){.topline-inner{display:grid;text-align:center}.brand-row{padding:.9rem 0}.menu-button{display:inline-flex}.mainnav{display:none;align-items:stretch;justify-content:stretch;padding-bottom:1rem}.mainnav.is-open{display:grid}.mainnav a{text-align:center;background:rgba(255,255,255,.08)}.layout{grid-template-columns:1fr}.sidebar{position:static;order:2}.hero-card{grid-template-columns:1fr}.hero-copy h1{max-width:unset}.hero-image{order:-1;padding:1rem}.info-strip{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.legacy-content table{min-width:560px}}
@media (max-width:560px){.wrap,.home-content{width:min(100% - 20px,1180px)}.content-card{padding:1rem;border-radius:18px}.hero-copy{padding:1.25rem}.brand{display:grid;gap:.15rem}.brand-sub{font-size:.95rem}.opening-hours{font-size:.9rem}.legacy-content{font-size:.96rem}.category-card{align-items:flex-start;flex-direction:column}.legacy-content img{width:100%;margin:.5rem 0 1rem}}

/* V2: moderner Kartenbereich auf der Wegbeschreibung */
.map-section{margin:2rem 0 0}.map-intro{margin-bottom:1rem}.map-intro h2{margin:.15rem 0 .35rem;color:var(--blue);font-size:clamp(1.6rem,3vw,2.35rem);line-height:1.12}.map-intro p:not(.eyebrow){margin:0;color:var(--muted);font-weight:700}.map-card{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#eaf2ff;box-shadow:0 18px 44px rgba(12,32,80,.14)}.map-card iframe{display:block;width:100%;height:min(58vh,520px);min-height:360px;border:0}.route-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;margin:1rem 0 1.2rem}.button.ghost{background:#f5f8fc;color:var(--blue);border:1px solid var(--line)}.button.ghost:hover{background:#fff5c9;text-decoration:none}.address-card{display:grid;grid-template-columns:1.1fr .7fr 1.25fr;gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--line);margin:1rem 0 1.2rem}.address-card div{background:#fff;padding:1rem 1.1rem}.address-card strong{display:block;color:var(--blue);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.25rem}.legacy-map-details{border:1px solid var(--line);border-radius:18px;background:#f8fbff;padding:1rem;margin-top:1.1rem}.legacy-map-details summary{cursor:pointer;font-weight:900;color:var(--blue)}.legacy-map-details p{color:var(--muted);font-weight:700;margin:.75rem 0 1rem}.legacy-map-details img{max-width:100%;height:auto!important}
@media (max-width:760px){.address-card{grid-template-columns:1fr}.map-card iframe{height:390px;min-height:320px}.route-actions .button{width:100%;max-width:340px}}

.topline-address{color:#fff;font-weight:700;text-decoration:none}.topline-address:hover{text-decoration:underline}
@media (max-width:560px){.brand-name{font-size:clamp(2.2rem,13vw,3rem)}.topline-inner{font-size:.84rem}}


/* V7: mobile Feinschliff */
.overview-intro{color:var(--muted);font-weight:700;margin:0 0 1.25rem}.overview-grid{margin-top:.75rem}.page-product-overview .category-card{min-height:74px}
.page-mietbedingungen .table-scroll{overflow-x:visible}.page-mietbedingungen .legacy-content table.rental-terms-table{min-width:0}.page-mietbedingungen .legacy-content table.rental-terms-table tr:first-child td{background:transparent!important;font-weight:inherit}.page-mietbedingungen .rental-terms-table td:first-child{width:4.25rem;color:var(--blue);font-weight:900}.page-mietbedingungen .rental-terms-table td:first-child strong{font-weight:900}.page-mietbedingungen .rental-terms-table td:nth-child(2){font-weight:400}.page-mietbedingungen .rental-terms-table td:nth-child(2) strong{font-weight:400}
@media (max-width:900px){.page-home .layout>.sidebar{display:none}.mainnav a[href="produktuebersicht.shtml"]{background:rgba(255,255,255,.16)}}
@media (max-width:760px){.page-mietbedingungen .legacy-content center{text-align:left}.page-mietbedingungen .table-scroll{border-radius:18px;overflow:hidden}.page-mietbedingungen .rental-terms-table,.page-mietbedingungen .rental-terms-table tbody,.page-mietbedingungen .rental-terms-table tr,.page-mietbedingungen .rental-terms-table td{display:block;width:100%}.page-mietbedingungen .rental-terms-table tr{display:grid;grid-template-columns:3.5rem minmax(0,1fr);border-bottom:1px solid #e6edf6}.page-mietbedingungen .rental-terms-table tr:last-child{border-bottom:0}.page-mietbedingungen .rental-terms-table td{border:0;padding:1rem}.page-mietbedingungen .rental-terms-table td:first-child{background:#eaf2ff!important;text-align:center}.page-mietbedingungen .rental-terms-table td:nth-child(2){background:#fff!important;line-height:1.55;overflow-wrap:anywhere}.page-mietbedingungen .page-title h1{font-size:clamp(2rem,10vw,3rem)}}
@media (max-width:560px){.page-product-overview .category-grid{grid-template-columns:1fr}.page-product-overview .category-card{min-height:68px}.page-mietbedingungen .rental-terms-table tr{grid-template-columns:3rem minmax(0,1fr)}.page-mietbedingungen .rental-terms-table td{padding:.9rem .85rem}.page-mietbedingungen .rental-terms-table td:nth-child(2){font-size:.98rem}}


/* V8: Produktübersicht ohne doppelte Seiten-Navigation */
.product-overview-main{grid-column:1 / -1}



/* V9: Mietbedingungen mobil sauber als Nummer/Text-Liste */
@media (max-width:560px){
  body .page-standard .legacy-content table.content-table{
    min-width:0!important;
    width:100%!important;
    table-layout:fixed;
  }

  body .page-standard .legacy-content table.content-table td,
  body .page-standard .legacy-content table.content-table th{
    white-space:normal!important;
    overflow-wrap:anywhere;
    word-break:normal;
  }

  body .page-standard .legacy-content table.content-table tr:first-child td{
    background:transparent!important;
    color:var(--ink)!important;
    font-weight:inherit!important;
  }

  body .page-standard .legacy-content table.content-table.price-table,
  body .page-category .legacy-content table.price-table{
    min-width:560px!important;
  }

  body .page-standard .legacy-content table.content-table td:first-child:has(div:only-child),
  body .page-standard .legacy-content table.content-table td:first-child:has(strong div:only-child){
    width:100%!important;
  }
}

/* V9: konkrete Optimierung der Mietbedingungen-Tabelle */
@media (max-width:560px){
  body .page-standard .legacy-content table.content-table.mietbedingungen-table{
    border-collapse:separate;
    border-spacing:0;
    overflow:hidden;
    border-radius:18px;
  }

  body .page-standard .legacy-content table.content-table.mietbedingungen-table tr{
    display:grid;
    grid-template-columns:54px minmax(0,1fr);
  }

  body .page-standard .legacy-content table.content-table.mietbedingungen-table td{
    display:block;
    border-bottom:1px solid #e6edf6;
    padding:1rem .9rem;
  }

  body .page-standard .legacy-content table.content-table.mietbedingungen-table td:first-child{
    background:#eaf2ff!important;
    color:var(--blue)!important;
    font-weight:900!important;
    text-align:center;
  }

  body .page-standard .legacy-content table.content-table.mietbedingungen-table td:nth-child(2){
    background:#fff!important;
    color:var(--ink)!important;
    font-weight:500!important;
  }
}

/* V9: Kontaktseite mobil ohne horizontales Scrollen */
@media (max-width:560px){
  body .page-kontakt .table-scroll{
    overflow-x:visible;
  }

  body .page-kontakt .legacy-content table.content-table{
    min-width:0!important;
    width:100%!important;
    table-layout:fixed;
  }

  body .page-kontakt .legacy-content table.content-table tr{
    display:block;
  }

  body .page-kontakt .legacy-content table.content-table td{
    display:block;
    width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
    padding:1rem .9rem;
  }

  body .page-kontakt .legacy-content table.content-table td:first-child{
    background:#eaf2ff!important;
    color:var(--blue)!important;
    font-weight:900!important;
    border-bottom:0;
  }

  body .page-kontakt .legacy-content table.content-table td + td{
    background:#fff!important;
  }

  body .page-kontakt .legacy-content table.content-table a{
    overflow-wrap:anywhere;
  }
}


/* V10: Startseite mobil - Hero Buttons zentriert */
@media (max-width:560px){
  .hero-actions{
    justify-content:center;
  }

  .hero-actions .button{
    width:min(100%, 280px);
  }
}

/* V10: Kontaktseite mobil wirklich ohne horizontales Scrollen */
@media (max-width:760px){
  body.page-kontakt{
    overflow-x:hidden;
  }

  body.page-kontakt .content-card{
    overflow:hidden;
  }

  body.page-kontakt .table-scroll{
    overflow-x:visible!important;
    border-radius:18px;
  }

  body.page-kontakt .legacy-content table,
  body.page-kontakt .legacy-content table.content-table{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    table-layout:fixed!important;
  }

  body.page-kontakt .legacy-content table tr{
    display:block!important;
    width:100%!important;
  }

  body.page-kontakt .legacy-content table td,
  body.page-kontakt .legacy-content table th{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    box-sizing:border-box;
  }

  body.page-kontakt .legacy-content table td:first-child{
    background:#eaf2ff!important;
    color:var(--blue)!important;
    font-weight:900!important;
    border-bottom:0;
  }

  body.page-kontakt .legacy-content table td + td{
    background:#fff!important;
  }

  body.page-kontakt .legacy-content table a{
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
}


/* V11: Mietbedingungen - Nummer 1 mobil identisch blau hinterlegen */
@media (max-width:560px){
  body .page-standard .legacy-content table.content-table.mietbedingungen-table tr:first-child td:first-child,
  body.page-standard .legacy-content table.content-table.mietbedingungen-table tr:first-child td:first-child{
    background:#eaf2ff!important;
    color:var(--blue)!important;
    font-weight:900!important;
    text-align:center!important;
  }

  body .page-standard .legacy-content table.content-table.mietbedingungen-table tr:first-child td:nth-child(2),
  body.page-standard .legacy-content table.content-table.mietbedingungen-table tr:first-child td:nth-child(2){
    background:#fff!important;
    color:var(--ink)!important;
    font-weight:500!important;
  }
}


/* V12: Mietbedingungen Nummernspalte final einheitlich blau */
@media (max-width:560px){
  body.page-standard .legacy-content table.rental-terms-table tr{
    display:grid!important;
    grid-template-columns:54px minmax(0,1fr)!important;
  }

  body.page-standard .legacy-content table.rental-terms-table td{
    display:block!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    border-bottom:1px solid #e6edf6;
  }

  body.page-standard .legacy-content table.rental-terms-table td.rental-term-number{
    background:#eaf2ff!important;
    color:var(--blue)!important;
    font-weight:900!important;
    text-align:center!important;
    width:54px!important;
    min-width:54px!important;
    max-width:54px!important;
  }

  body.page-standard .legacy-content table.rental-terms-table tr:first-child td.rental-term-number{
    background:#eaf2ff!important;
    color:var(--blue)!important;
    font-weight:900!important;
  }

  body.page-standard .legacy-content table.rental-terms-table td.rental-term-number + td{
    background:#fff!important;
    color:var(--ink)!important;
    font-weight:500!important;
  }
}


/* V13: Mobile Hauptnavigation - nur die wirklich aktive Seite markieren */
@media (max-width:900px){
  .mainnav a{
    background:rgba(255,255,255,.08)!important;
  }

  .mainnav a[aria-current="page"]{
    background:rgba(255,255,255,.22)!important;
  }

  .mainnav a:not([aria-current="page"]).active{
    background:rgba(255,255,255,.08)!important;
  }
}


/* V14: Wegbeschreibung mobil ohne horizontales Scrollen */
@media (max-width:760px){
  body.page-route{
    overflow-x:hidden;
  }

  body.page-route .content-card{
    overflow:hidden;
  }

  body.page-route .table-scroll{
    overflow-x:visible!important;
    border-radius:18px;
  }

  body.page-route .legacy-content table,
  body.page-route .legacy-content table.content-table{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    table-layout:fixed!important;
  }

  body.page-route .legacy-content table tr{
    display:block!important;
    width:100%!important;
  }

  body.page-route .legacy-content table td,
  body.page-route .legacy-content table th{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    box-sizing:border-box;
  }

  body.page-route .legacy-content table td:first-child{
    background:#eaf2ff!important;
  }

  body.page-route .legacy-content table table td{
    background:#f8fbff!important;
    border-radius:14px;
  }
}


/* V17: Kontaktseite Desktop - kompletter Kontaktblock hellblau */
@media (min-width:761px){
  body.page-kontakt .legacy-content table.content-table td,
  body.page-kontakt .legacy-content table.content-table th{
    background:#eaf2ff!important;
  }

  body.page-kontakt .legacy-content table.content-table tr:first-child td{
    background:#eaf2ff!important;
  }

  body.page-kontakt .legacy-content table.content-table td:first-child{
    font-weight:900;
    color:var(--ink);
  }
}


/* V18: Preis-/Produkttabellen - nur Kopfzeile hellblau, Produktzeilen weiß */
.legacy-content table.price-table tr:not(:first-child) td,
.legacy-content table.table-produkte tr:not(:first-child) td{
  background:#fff!important;
}

.legacy-content table.price-table tr:first-child td,
.legacy-content table.table-produkte tr:first-child td{
  background:#eaf2ff!important;
  font-weight:900;
}


/* V19: Baukompressoren - erste Produktzeile darf nicht als Kopfzeile wirken */
body.page-baukompressoren .legacy-content table.price-table tr:nth-child(2) td,
body.page-baukompressoren .legacy-content table.table-produkte tr:nth-child(2) td,
body.page-baukompressoren .legacy-content .table-scroll table tr:nth-child(2) td{
  background:#fff!important;
  color:var(--ink)!important;
}

body.page-baukompressoren .legacy-content table.price-table tr:nth-child(2) td a,
body.page-baukompressoren .legacy-content table.table-produkte tr:nth-child(2) td a,
body.page-baukompressoren .legacy-content .table-scroll table tr:nth-child(2) td a{
  color:var(--blue-2)!important;
}

/* Kopfzeile bleibt hellblau */
body.page-baukompressoren .legacy-content table.price-table tr:first-child td,
body.page-baukompressoren .legacy-content table.table-produkte tr:first-child td,
body.page-baukompressoren .legacy-content .table-scroll table tr:first-child td{
  background:#eaf2ff!important;
  font-weight:900!important;
}


/* V20: Tabellenstruktur korrigiert; Produktzeilen bleiben weiß */
.legacy-content table.price-table tr:not(:first-child) td,
.legacy-content table.table-produkte tr:not(:first-child) td{
  background:#fff!important;
}

.legacy-content table.price-table tr:first-child td,
.legacy-content table.table-produkte tr:first-child td{
  background:#eaf2ff!important;
  font-weight:900!important;
}


/* V21: Kontaktseite - Telefon als klarer Anruf-Button */
.call-button{
  margin-top:.65rem;
  color:var(--blue)!important;
  font-weight:900!important;
}

.call-button:hover{
  text-decoration:none!important;
}


/* V22: Wegbeschreibung - Adresse als Navigationslink */
.address-card .address-nav-link{
  display:inline-block;
  color:var(--ink);
  font-weight:800;
  text-decoration:none;
}

.address-card .address-nav-link:hover{
  color:var(--blue-2);
  text-decoration:underline;
}


/* V23: Fußzeile - Adresse als Navi-Link, Telefonnummer als Anruf-Button */
.site-footer .footer-address-link{
  color:#fff;
  text-decoration:none;
  font-weight:700;
}

.site-footer .footer-address-link:hover{
  text-decoration:underline;
}

.site-footer .footer-call-button{
  margin-top:.45rem;
  color:var(--blue)!important;
  background:var(--yellow)!important;
  font-weight:900!important;
  padding:.7rem 1rem;
}

.site-footer .footer-call-button:hover{
  text-decoration:none!important;
}

@media (max-width:560px){
  .site-footer .footer-call-button{
    width:100%;
  }
}


/* V24: Einheitliche professionelle Telefon-Buttons */
.call-button,
.compact-call-button,
.footer-call-button{
  color:var(--blue)!important;
  background:var(--yellow)!important;
  font-weight:900!important;
  text-decoration:none!important;
  white-space:normal;
}

.call-button:hover,
.compact-call-button:hover,
.footer-call-button:hover{
  text-decoration:none!important;
}

.compact-call-button{
  margin-top:.45rem;
  padding:.65rem .95rem;
  font-size:.95rem;
}

.info-strip .compact-call-button,
.address-card .compact-call-button{
  display:inline-flex;
  width:fit-content;
}

@media (max-width:560px){
  .info-strip .compact-call-button,
  .address-card .compact-call-button,
  .footer-call-button{
    width:100%;
  }
}


/* V25: Startseite Desktop - Hero Buttons zentriert */
.page-home .hero-actions{
  justify-content:center;
}

.page-home .hero-actions .button{
  min-width:230px;
}


/* V26: Kontaktseite - Anrufbutton mittig auf Desktop und Smartphone */
body.page-kontakt .call-button{
  display:inline-flex;
  margin:.85rem auto 0;
  width:fit-content;
}

body.page-kontakt td:has(.call-button){
  text-align:center;
}

@media (max-width:560px){
  body.page-kontakt .call-button{
    width:min(100%, 280px);
  }
}


/* V27: Kontaktseite - Telefon-Zeile nur mit mittigem Anrufbutton */
body.page-kontakt .call-button{
  display:inline-flex;
  justify-content:center;
  margin:.25rem auto;
}

body.page-kontakt td:has(.call-button){
  text-align:center;
  vertical-align:middle;
}


/* V28: Smartphone-Header professioneller - kleine Topline ausblenden */
@media (max-width:760px){
  .site-header .topline{
    display:none;
  }

  .brand-row{
    padding-top:1.15rem;
  }
}


/* V29: Produktdetailseiten mobil ohne horizontales Scrollen */
@media (max-width:760px){
  body.page-product{
    overflow-x:hidden;
  }

  body.page-product .content-card{
    overflow:hidden;
  }

  body.page-product .legacy-content{
    max-width:100%;
  }

  body.page-product .legacy-content .table-scroll{
    overflow-x:visible!important;
    border-radius:18px;
  }

  body.page-product .legacy-content table,
  body.page-product .legacy-content table.content-table{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    table-layout:fixed!important;
  }

  body.page-product .legacy-content table tr{
    display:block!important;
    width:100%!important;
  }

  body.page-product .legacy-content table td,
  body.page-product .legacy-content table th{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    box-sizing:border-box;
    padding:1rem .95rem;
  }

  body.page-product .legacy-content table td:first-child{
    background:#eaf2ff!important;
    color:var(--ink)!important;
    font-weight:800;
  }

  body.page-product .legacy-content table td + td{
    background:#fff!important;
  }

  body.page-product .legacy-content img{
    display:block;
    width:auto;
    max-width:100%!important;
    height:auto!important;
    margin:.5rem auto 1rem!important;
    float:none!important;
  }

  body.page-product .legacy-content a{
    overflow-wrap:anywhere;
  }

  body.page-product .back-to-overview a{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}

/* V29: Kategorie-/Übersichtsseiten mobil: normale Infobanner umbrechen, Preislisten scrollbar lassen */
@media (max-width:760px){
  body.page-category .legacy-content .content-table:not(.price-table):not(.table-produkte){
    min-width:0!important;
    width:100%!important;
    table-layout:fixed!important;
  }

  body.page-category .legacy-content .content-table:not(.price-table):not(.table-produkte) tr{
    display:block!important;
  }

  body.page-category .legacy-content .content-table:not(.price-table):not(.table-produkte) td{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    box-sizing:border-box;
  }

  body.page-category .legacy-content .content-table:not(.price-table):not(.table-produkte) img{
    max-width:100%!important;
    height:auto!important;
  }
}


/* V30: Preislisten mobil als Karten statt horizontaler Tabelle */
.mobile-price-cards{
  display:none;
}

@media (max-width:760px){
  .table-scroll:has(table.price-table),
  .table-scroll:has(table.table-produkte){
    overflow-x:visible!important;
    border:0;
    background:transparent;
  }

  table.price-table[data-mobile-cards-ready="1"],
  table.table-produkte[data-mobile-cards-ready="1"]{
    display:none!important;
  }

  .mobile-price-cards{
    display:grid;
    gap:.8rem;
    margin:.8rem 0 1.35rem;
  }

  .mobile-price-card{
    border:1px solid var(--line);
    border-radius:18px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 10px 26px rgba(12,32,80,.08);
  }

  .mobile-price-title{
    padding:1rem 1rem .85rem;
    font-weight:900;
    color:var(--ink);
    background:#fff;
    line-height:1.25;
  }

  .mobile-price-title a{
    color:var(--blue-2);
    font-weight:900;
  }

  .mobile-price-values{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(110px,1fr));
    border-top:1px solid #e6edf6;
    background:#eaf2ff;
  }

  .mobile-price-value{
    padding:.85rem 1rem;
    border-right:1px solid #d9e1ee;
  }

  .mobile-price-value:last-child{
    border-right:0;
  }

  .mobile-price-label{
    display:block;
    color:var(--blue);
    font-size:.78rem;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-weight:900;
    margin-bottom:.15rem;
  }

  .mobile-price-amount{
    display:block;
    color:var(--ink);
    font-size:1.05rem;
    font-weight:900;
  }
}


/* V31: Desktop - rote Zurück-zur-Produktübersicht Buttons mittig */
@media (min-width:761px){
  .back-to-overview{
    text-align:center;
  }

  .back-to-overview a{
    display:inline-flex;
    justify-content:center;
  }
}


/* Release 2: Cookie-/Datenschutzhinweis */
.cookie-banner{
  position:fixed;
  left:50%;
  bottom:1rem;
  transform:translateX(-50%);
  width:min(1040px,calc(100% - 24px));
  z-index:9999;
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:0 24px 70px rgba(6,27,99,.28);
  color:var(--ink);
}

.cookie-banner__inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  align-items:center;
  padding:1.1rem;
}

.cookie-banner__text strong{
  display:block;
  color:var(--blue);
  font-size:1.05rem;
  margin-bottom:.25rem;
}

.cookie-banner__text p{
  margin:0;
  color:var(--muted);
  font-size:.95rem;
  line-height:1.45;
}

.cookie-banner__actions{
  display:flex;
  gap:.6rem;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.cookie-banner__actions .button{
  border:0;
  cursor:pointer;
  font-family:inherit;
  font-size:.95rem;
}

.cookie-banner__actions .button.primary{
  color:var(--blue);
}

@media (max-width:760px){
  .cookie-banner{
    bottom:.75rem;
    border-radius:18px;
  }

  .cookie-banner__inner{
    grid-template-columns:1fr;
    padding:1rem;
  }

  .cookie-banner__actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .cookie-banner__actions .button{
    width:100%;
  }
}


/* Release 4: Impressum kompakter nach Entfernung alter Restbereiche */
body.page-impressum .legacy-content .table-scroll{
  margin-bottom:0;
}


/* Release 5: Impressum bereinigt und mobil sauber umbrechend */
body.page-impressum .legacy-content .table-scroll{
  overflow-x:visible!important;
  margin-bottom:0!important;
}

body.page-impressum .legacy-content table.content-table{
  min-width:0!important;
  width:100%!important;
  table-layout:fixed!important;
}

body.page-impressum .legacy-content table.content-table td,
body.page-impressum .legacy-content table.content-table th{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  box-sizing:border-box;
}

body.page-impressum .legacy-content table.content-table tr:last-child td{
  border-bottom:0!important;
}

@media (max-width:760px){
  body.page-impressum{
    overflow-x:hidden;
  }

  body.page-impressum .content-card{
    overflow:hidden;
  }

  body.page-impressum .legacy-content table.content-table tr{
    display:block!important;
    width:100%!important;
  }

  body.page-impressum .legacy-content table.content-table td,
  body.page-impressum .legacy-content table.content-table th{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    padding:1rem .95rem;
  }
}


/* Release 6: Impressums-Karte ohne Tabellenreste */
.imprint-card{
  background:#eaf2ff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:1.35rem 1.45rem;
  margin:1.4rem 0 0;
  color:var(--ink);
}

.imprint-card p{
  margin:0 0 1.25rem;
}

.imprint-card p:last-child{
  margin-bottom:0;
}

.imprint-card a{
  color:var(--blue-2);
  font-weight:900;
}

@media (max-width:760px){
  .imprint-card{
    padding:1rem;
    overflow-wrap:anywhere;
    word-break:normal;
  }
}


/* Release 7: Datenschutzseite */
.privacy-content{
  display:grid;
  gap:1rem;
}

.privacy-card{
  border:1px solid var(--line);
  border-radius:18px;
  background:#f8fbff;
  padding:1.15rem 1.25rem;
}

.privacy-card h2{
  margin:0 0 .55rem;
  color:var(--blue);
  font-size:1.25rem;
  line-height:1.2;
}

.privacy-card p{
  margin:.55rem 0 0;
  color:var(--ink);
  line-height:1.6;
}

.privacy-card a,
.privacy-inline-link{
  color:var(--blue-2);
  font-weight:900;
}

.privacy-actions{
  display:flex;
  justify-content:center;
  margin-top:.5rem;
}

/* Release 7: Datenschutz-Banner */
.privacy-banner{
  position:fixed;
  left:50%;
  bottom:1rem;
  transform:translateX(-50%);
  width:min(1080px,calc(100% - 24px));
  z-index:9999;
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:0 24px 70px rgba(6,27,99,.28);
  color:var(--ink);
}

.privacy-banner__inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  align-items:center;
  padding:1.1rem;
}

.privacy-banner__text strong{
  display:block;
  color:var(--blue);
  font-size:1.05rem;
  margin-bottom:.25rem;
}

.privacy-banner__text p{
  margin:0 0 .35rem;
  color:var(--muted);
  font-size:.95rem;
  line-height:1.45;
}

.privacy-banner__text a{
  color:var(--blue-2);
  font-weight:900;
}

.privacy-banner__actions{
  display:flex;
  gap:.6rem;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.privacy-banner__actions .button{
  border:0;
  cursor:pointer;
  font-family:inherit;
  font-size:.95rem;
}

.privacy-banner__actions .button.primary{
  color:var(--blue);
}

/* Release 7: 2-Klick-Karte */
.map-consent-card{
  min-height:360px;
  display:grid;
  place-items:center;
}

.map-consent-placeholder{
  max-width:620px;
  padding:2rem;
  text-align:center;
}

.map-consent-placeholder h3{
  margin:.25rem 0 .45rem;
  color:var(--blue);
  font-size:1.65rem;
}

.map-consent-placeholder p:not(.eyebrow){
  color:var(--muted);
  font-weight:700;
  line-height:1.5;
}

.map-consent-placeholder .button{
  color:var(--blue);
  margin:.5rem auto .8rem;
}

.map-consent-placeholder .privacy-inline-link{
  display:block;
}

@media (max-width:760px){
  .privacy-banner{
    bottom:.75rem;
    border-radius:18px;
  }

  .privacy-banner__inner{
    grid-template-columns:1fr;
    padding:1rem;
  }

  .privacy-banner__actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .privacy-banner__actions .button,
  .privacy-actions .button{
    width:100%;
  }

  .privacy-card{
    padding:1rem;
  }

  .map-consent-card{
    min-height:320px;
  }

  .map-consent-placeholder{
    padding:1.25rem;
  }
}
