/* Round contact actions: explicit icon containers and identical column widths. */
.service-scope-note{margin:24px 0 0;padding:18px 21px;border-left:3px solid var(--violet);border-radius:0 7px 7px 0;background:#f6f3fb;color:#514b60;font-size:14px;line-height:1.7}
.service-scope-note strong{display:block;margin-bottom:5px;color:var(--ink);font-size:14px}
.detail-body .service-scope-note{font-size:14px;line-height:1.7}
.contact-form label.privacy-check{display:grid;grid-template-columns:20px minmax(0,1fr);gap:11px;align-items:start;font-size:13px;font-weight:400;line-height:1.65}
.contact-form label.privacy-check input{width:20px;height:20px;margin:1px 0 0;padding:0;accent-color:var(--violet)}
.site-nav .mobile-emergency{display:none}
.contact-dock .dock-item{background:none!important;box-shadow:none;isolation:isolate}
.contact-dock .dock-item::before{content:none!important;display:none!important}
.contact-dock .dock-item .dock-icon{position:static;right:auto;display:grid;place-items:center;width:52px;height:52px;flex:0 0 auto;border-radius:50%;padding:0;margin:0;background:var(--red);color:#fff;opacity:1;pointer-events:none;box-shadow:0 5px 18px #17131f24}
.contact-dock .dock-wa .dock-icon{background:#139a4a}
.contact-dock .dock-email .dock-icon{background:var(--violet)}
.contact-dock .dock-item .dock-icon svg{display:block;width:22px;height:22px;margin:0;padding:0;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none}
.contact-dock .dock-item .dock-label{position:absolute;right:64px;top:50%;transform:translateY(-50%);margin:0;padding:7px 11px;opacity:0;background:#21172e;border-radius:5px;font-size:.75rem;line-height:1.3;color:#fff;white-space:nowrap;pointer-events:none}
.contact-dock .dock-item:hover .dock-label,.contact-dock .dock-item:focus-visible .dock-label{opacity:1}
@media(min-width:641px) and (max-width:900px){.contact-dock .dock-item .dock-icon{width:46px;height:46px}}
@media(max-width:900px){.site-nav.is-open .mobile-emergency{display:block;color:#ba252d;border-top:1px solid var(--edge-soft);margin-top:7px}}
@media(max-width:640px){
  :root{--mobile-dock-height:82px}
  html{scroll-padding-bottom:calc(var(--mobile-dock-height) + env(safe-area-inset-bottom,0px) + 20px)}
  body{padding-bottom:calc(var(--mobile-dock-height) + env(safe-area-inset-bottom,0px))}
  .contact-dock{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;justify-items:stretch;gap:0;left:0;right:0;bottom:0;width:100%;min-height:var(--mobile-dock-height);padding:8px max(12px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));background:#fff;border-top:1px solid #e9e4ee;box-shadow:0 -4px 18px #21172e08}
  .contact-dock .dock-item{width:100%;min-width:0;height:65px;min-height:65px;display:grid;grid-template-rows:40px 17px;row-gap:6px;justify-items:center;align-items:center;align-content:center;padding:0;margin:0;border:0;border-radius:7px;transform:none;transition:none;text-align:center;color:var(--ink)}
  .contact-dock .dock-item .dock-icon{width:40px;height:40px;box-shadow:none;border-radius:50%;margin:0;padding:0}
  .contact-dock .dock-item .dock-icon svg{width:20px;height:20px;margin:0}
  .contact-dock .dock-item .dock-label{position:static;inset:auto;transform:none;display:block;opacity:1;width:100%;height:17px;padding:0;margin:0;border-radius:0;background:none;color:#342c42;font-size:11px;font-weight:600;line-height:17px;letter-spacing:0;text-align:center;white-space:nowrap}
  .contact-dock .dock-item:hover{transform:none}
  .contact-dock .dock-item:active .dock-icon{filter:brightness(.9)}
  body:has(.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus) .contact-dock{display:none}
  .header-call,.nav-toggle{width:44px;height:44px;flex:0 0 44px}
  .home-copy .btn-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
  .home-copy .btn-row .btn{min-height:50px;width:100%;padding:12px 10px;gap:7px;font-size:13px;line-height:1.35}
  .home-copy .btn-row .btn svg{width:16px;height:16px}
  .page-hero-actions{display:grid;grid-template-columns:1fr;gap:10px;width:100%}
  .page-hero-actions .btn{width:100%;min-height:49px;justify-content:center;font-size:14px;padding:12px 18px}
  .hero-media{margin:0;min-width:0}
  .hero-media figcaption{text-align:left;line-height:1.5;font-size:10px}
  .contact-form :is(input,select,textarea,button){scroll-margin-top:100px;scroll-margin-bottom:110px}
  .category-body{padding:22px}
  .category-more{min-height:32px;gap:14px}
  .category-more svg{flex:0 0 20px}
  .service-tile{justify-content:space-between}
  .service-tile>div{min-width:0}
}
@media(max-width:374px){
  .home-copy .btn-row{grid-template-columns:1fr}
  .home-copy .btn-row .btn{font-size:14px}
}
@media(max-width:640px){
  .category-photo{height:152px}
  .category-body{padding:20px}
  .category-body h3{font-size:19px;line-height:1.25;margin-bottom:10px}
  .category-body p{font-size:13.5px;line-height:1.6;margin-bottom:12px}
  .category-grid{gap:18px}
  .service-overview .category-grid{gap:12px}
  .service-overview .category-card{display:grid;grid-template-columns:104px minmax(0,1fr)}
  .service-overview .category-photo{height:100%;min-height:140px}
  .service-overview .category-body{padding:17px 18px}
  .service-overview .category-body h3{font-size:17px;line-height:1.3;margin:0 0 12px}
  .service-overview .category-body p{display:none}
  .service-overview .category-more{min-height:25px;font-size:11px;line-height:1.4;gap:6px}
  .service-overview .category-more svg{width:16px;flex-basis:16px}
  .service-overview .audience-label{font-size:9px;padding:3px 5px;margin-bottom:8px}
  .service-overview .category-n{top:10px;left:10px;padding:3px 7px}
  .service-overview .ai-badge{font-size:6px;white-space:normal;right:4px;bottom:5px;padding:3px 4px}
  .service-overview .section{padding:38px 0}
  .page-contact .page-hero-inner{padding:24px 0 29px}
  .page-contact .page-eyebrow{margin-bottom:11px}
  .page-contact .page-hero h1{font-size:30px;line-height:1.13}
  .page-contact .page-hero .lead{font-size:14px;line-height:1.65;margin-top:15px}
  .page-contact .breadcrumb{margin-bottom:16px}
  .page-contact .section{padding:30px 0}
  .page-contact .contact-panel{padding:21px}
  .page-contact .contact-panel:first-child>.eyebrow{display:none}
  .page-contact .contact-panel h2{margin-bottom:12px;font-size:23px}
  .page-contact .contact-intro{font-size:13px;line-height:1.6;margin-bottom:20px}
  .page-contact .field-grid{gap:16px}
  .page-hero .hero-media img{height:205px}
  .page-hero .hero-split{gap:24px}
}

/* WhatsApp-Anfrage und externer Routenlink */
.location-card{padding:clamp(24px,5vw,48px);border:1px solid var(--edge-soft);border-radius:12px;background:#fff}.location-card h2{margin:10px 0 16px}.location-card .btn{margin-top:20px}.contact-form .form-status a{display:inline-block;text-decoration:underline;font-weight:700;margin-top:8px}.contact-form button:disabled{opacity:.55;cursor:not-allowed}.contact-form .form-status p{margin:0}.contact-form .form-status{overflow-wrap:anywhere}@media(max-width:640px){.location-card .btn{width:100%;white-space:normal;text-align:center}.contact-form #submitBtn{justify-content:center;min-height:50px}}
