@font-face{font-family:"Raleway";src:url("../themes/main/assets/fonts/Raleway-VariableFont_wght.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"bootstrap-icons";src:url("../themes/main/assets/bootstrap/icons/font/fonts/bootstrap-icons.woff2") format("woff2"),url("../themes/main/assets/bootstrap/icons/font/fonts/bootstrap-icons.woff") format("woff");font-weight:normal;font-style:normal;font-display:swap !important}
@keyframes slideUpFade{0%{opacity:0;transform:translateY(200px)}100%{opacity:1;transform:translateY(0px)}}
@keyframes animate-pulse{0%{box-shadow:0 0 0 0 rgba(245,204,0,0.7),0 0 0 0 rgba(245,204,0,0.7)}33%{box-shadow:0 0 0 20px rgba(245,204,0,0),0 0 0 0 rgba(245,204,0,0.7)}66%{box-shadow:0 0 0 20px rgba(245,204,0,0),0 0 0 30px rgba(245,204,0,0)}100%{box-shadow:0 0 0 0 rgba(245,204,0,0),0 0 0 30px rgba(245,204,0,0)}}
@keyframes animate-whatsapp-pulse{0%{box-shadow:0 0 0 0 #23c05c,0 0 0 0 #23c05c}33%{box-shadow:0 0 0 20px rgba(35,192,92,0),0 0 0 0 #23c05c}66%{box-shadow:0 0 0 20px rgba(35,192,92,0),0 0 0 30px rgba(35,192,92,0)}100%{box-shadow:0 0 0 0 rgba(35,192,92,0),0 0 0 30px rgba(35,192,92,0)}}
header{width:100%;position:fixed;z-index:10}
header .top-bar{height:50px}
header .bottom-bar{padding:20px 0;background-color:transparent;backdrop-filter:blur(4px);transition:background-color 0.3s ease,box-shadow 0.3s ease,color 0.3s ease}
header .bottom-bar .nav-link{color:var(--bs-primary)}
header .bottom-bar.scrolled{background-color:#fff;color:#212529;box-shadow:0 2px 10px rgba(0,0,0,0.05)}
header .bottom-bar.scrolled .nav-link{color:#212529}
nav.navbar .nav-item .nav-link{padding:10px 5px;margin:0 5px;text-transform:uppercase;font-weight:500;line-height:20px;position:relative}
nav.navbar .nav-item .nav-link::before{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--bs-primary);z-index:1;transform:scaleX(0);transform-origin:left;transition:transform 0.3s ease-in-out;transform-origin:right}
nav.navbar .nav-item .nav-link:hover::before{transform-origin:left;transform:scaleX(1);transition-timing-function:cubic-bezier(0.2,1,0.82,0.94)}
nav.navbar .nav-item .active{position:relative}
nav.navbar .nav-item .active::before{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--bs-primary);z-index:1;transform-origin:left;transform:scaleX(1)}
nav.navbar .nav-item .submenu{position:absolute;top:calc(100% - 10px);z-index:1000;background-color:#fff;padding:0.5rem;border:1px solid #ddd;min-width:200px;max-height:75vh;overflow-y:auto}
nav.navbar .nav-item .submenu .submenu-item{list-style:none}
nav.navbar .nav-item .submenu .submenu-item .submenu-link{display:block;padding:0.25rem 0.5rem;text-decoration:none;color:#333}
nav.navbar .nav-item .submenu .submenu-item .submenu-link:hover{background-color:#f5f5f5}
nav.navbar .navbar-toggler{border:none}
.offcanvas{width:50% !important}
@media (max-width:767px){.offcanvas{width:80% !important}}
@media (max-width:575px){.offcanvas{width:100% !important}}
.offcanvas .nav-item .nav-link,.offcanvas .nav-item .mobile-menu__item--row{padding:8px;text-transform:uppercase;font-weight:500}
.offcanvas .nav-item .mobile-menu__item--row{display:grid;grid-template-columns:repeat(2,1fr)}
.offcanvas .nav-item .mobile-menu__item--link{color:#212529}
.offcanvas .nav-item .mobile-menu__toggle{display:flex;align-items:center;justify-content:flex-end;width:100%;height:stretch;padding:0;background:transparent;border:none;color:#212529;cursor:pointer;transition:background 0.2s ease,border-color 0.2s ease}
.offcanvas .nav-item .mobile-menu__toggle:hover{background:rgba(0,0,0,0.05);border-color:rgba(0,0,0,0.3)}
.offcanvas .nav-item .mobile-menu__toggle[aria-expanded="true"] .mobile-menu__toggle-icon{transform:rotate(180deg)}
.offcanvas .nav-item .mobile-menu__toggle-icon{transition:transform 0.3s ease;pointer-events:none}
.offcanvas .nav-item .mobile-menu__submenu{list-style:none;margin:0;overflow-y:scroll;max-height:150px}
.offcanvas .nav-item .mobile-menu__submenu:not([hidden]){animation:submenuOpen 0.2s ease forwards}
.offcanvas .nav-item .mobile-menu__submenu--link{color:#212529;display:block;padding:8px 24px;text-decoration:none;hyphens:auto;text-transform:uppercase;font-weight:500;position:relative;transition:opacity 0.2s ease,color 0.2s ease}
.offcanvas .nav-item .offcanvas-submenu,.offcanvas .nav-item .dropdown-menu{padding:0;border:none;position:relative !important;transform:none !important}
.offcanvas .nav-item .offcanvas-submenu .submenu-item,.offcanvas .nav-item .offcanvas-submenu .dropdown-item,.offcanvas .nav-item .dropdown-menu .submenu-item,.offcanvas .nav-item .dropdown-menu .dropdown-item{list-style:none;padding:0}
.offcanvas .nav-item .offcanvas-submenu .submenu-item .submenu-link,.offcanvas .nav-item .offcanvas-submenu .dropdown-item .submenu-link,.offcanvas .nav-item .dropdown-menu .submenu-item .submenu-link,.offcanvas .nav-item .dropdown-menu .dropdown-item .submenu-link{display:block;padding:6px 12px;text-decoration:none;color:var(--black);hyphens:auto}
.offcanvas .offcanvas-footer{position:absolute;bottom:0;width:calc(100% - 32px);background:white}
@keyframes submenuOpen{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
footer{position:relative;padding:100px 0;background-color:#212529;color:white}
footer a{color:white}
footer a:hover{text-decoration:underline}
footer .line-after::after{background-color:white;opacity:1}
.copyright-bar{background-color:#212529}
.copyright-bar a{color:white}
.copyright-bar a:hover{text-decoration:underline}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-weight:700 !important}
h1,.h1{font-size:clamp(28px,calc(28px + (52px - 28px) * ((100vw - 360px) / (1400px - 360px))),52px) !important}
h2,.h2{font-size:clamp(26px,calc(26px + (42px - 26px) * ((100vw - 360px) / (1400px - 360px))),42px) !important}
h3,.h3{font-size:clamp(24px,calc(24px + (34px - 24px) * ((100vw - 360px) / (1400px - 360px))),34px) !important}
h4,.h4{font-size:clamp(22px,calc(22px + (28px - 22px) * ((100vw - 360px) / (1400px - 360px))),28px) !important}
h5,.h5{font-size:clamp(18px,calc(18px + (22px - 18px) * ((100vw - 360px) / (1400px - 360px))),22px) !important}
h6,.h6{font-size:clamp(16px,calc(16px + (20px - 16px) * ((100vw - 360px) / (1400px - 360px))),20px) !important}
body{font-family:"Raleway" !important;font-weight:400;font-style:normal;font-size:16px}
body [id]{scroll-margin-top:100px}
body .anchor-target{scroll-margin-top:100px}
body .hr-primary{display:block;width:70px;height:5px;border-radius:100px;background-color:var(--bs-primary);opacity:1;color:transparent;margin:1rem auto 2rem auto}
body .btn{padding:16px 32px;margin-left:auto;border-radius:100px;text-transform:uppercase;color:unset;font-weight:600}
body .btn-primary{color:#212529 !important}
body .btn-primary:hover{background-color:white;border-color:var(--bs-primary) !important}
body .btn-secondary{border-color:var(--bs-primary);background-color:white;color:#212529 !important}
body .btn-secondary:hover{background-color:var(--bs-primary);color:white !important}
body .btn-en{position:fixed;inset:auto auto 30px 30px;display:flex;align-items:center;justify-content:center;font-size:30px;color:white;background-color:var(--bs-primary);box-shadow:0 0 5px rgba(0,0,0,0.5);width:60px;height:60px;border-radius:100px}
body textarea{resize:none}
body button:focus,body button:focus-visible,body .btn:focus,body .btn:focus-visible,body [type="button"]:focus,body [type="button"]:focus-visible,body [type="submit"]:focus,body [type="submit"]:focus-visible,body [type="reset"]:focus,body [type="reset"]:focus-visible{outline:none !important;box-shadow:none !important}
body button:focus,body .btn:focus,body [type="button"]:focus,body [type="submit"]:focus,body [type="reset"]:focus{border-color:inherit !important;filter:none !important}
.grid{display:grid;gap:20px}
.grid2{grid-template-columns:repeat(2,1fr)}
@media (max-width:991px){.grid2{grid-template-columns:1fr}}
.grid3{grid-template-columns:repeat(3,1fr)}
@media (max-width:991px){.grid3{grid-template-columns:1fr}}
.grid4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1023px){.grid4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:479px){.grid4{grid-template-columns:1fr}}
.grid5{grid-template-columns:repeat(5,1fr)}
@media (max-width:1023px){.grid5{grid-template-columns:repeat(3,1fr)}}
@media (max-width:767px){.grid5{grid-template-columns:repeat(2,1fr)}}
@media (max-width:479px){.grid5{grid-template-columns:1fr}}
img{max-width:100%;height:auto;object-fit:cover}
a{color:var(--bs-primary);text-decoration:none;font-weight:500}
.logo-wrapper .logo-image{max-width:100%;height:80px;display:block;object-fit:contain}
.line-after{position:relative}
.line-after::after{content:"";position:absolute;bottom:-10px;left:0;width:70px;height:5px;border-radius:100px;background-color:var(--bs-primary);opacity:0.4}
section{position:relative;padding:60px 0}
.contact-form{display:flex;flex-direction:column;gap:16px}
.contact-form .form-field{padding:12px 20px;border-radius:0;border:2px solid var(--bs-primary);width:100%}
.overlay{position:absolute;top:0;left:0;z-index:0;width:100%;height:100%;background-color:rgba(0,0,0,0.6);backdrop-filter:blur(5px)}
.pulse{animation:animate-pulse 3s linear infinite}
.whatsapp-pulse{animation:animate-whatsapp-pulse 3s linear infinite}
.fixed-buttons{position:fixed;inset:auto 30px 30px auto;z-index:10;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem}
.fixed-buttons .cta-call,.fixed-buttons .back-top,.fixed-buttons .cta-whatsapp{display:flex;align-items:center;justify-content:center;font-size:30px;color:white;background-color:var(--bs-primary);box-shadow:0 0 5px rgba(0,0,0,0.5);width:60px;height:60px;border-radius:100px}
.fixed-buttons .cta-whatsapp{background-color:#23C05C !important}
.fixed-buttons .back-top{opacity:0;transition:opacity 0.3s ease;pointer-events:none}
.fixed-buttons .back-top.scrolled-visibility{opacity:1;pointer-events:auto}
.pages-header{background-size:cover;background-repeat:no-repeat;height:65vh;display:flex;flex-direction:column;justify-content:center;gap:50px;overflow:hidden;color:white}
.pages-header p{line-height:1.4;margin:10px 0}
@media (max-width:991px){.pages-header{padding-top:180px;min-height:70vh;height:auto}}
.home-header{background:url("/storage/app/media/mann-repariert-tuerschloss-schraubenzieher.webp") scroll center;background-size:cover;background-repeat:no-repeat;height:90vh;display:flex;flex-direction:column;justify-content:center;gap:50px;overflow:hidden;color:white}
@media (max-width:991px){.home-header{padding-top:180px;min-height:90vh;height:auto}}
.home-header-boxes{position:absolute;bottom:50px;left:0;right:0;width:100%}
.home-header-boxes .card{transition:300ms}
.home-header-boxes .card:hover{transform:translateY(-10px)}
@media (max-width:991px){.home-header-boxes{position:relative;bottom:0px}}
.anim-up{animation:slideUpFade 0.6s ease-out forwards}
.intro .h1{text-transform:uppercase}
.intro .vertical-hr{display:block;width:0;height:80px;border-right:5px solid #f5cc0066;border-radius:10px}
@media (max-width:991px){.intro .vertical-hr{display:none}}
.intro .intro-card{display:flex;gap:1rem;padding:50px 40px;height:100%;position:relative;transition:300ms;width:100%;align-items:center}
.intro .intro-card .h3{margin-bottom:0}
.intro .intro-card:hover{transform:translateY(-10px)}
.intro .intro-card::before{content:"";position:absolute;top:0;left:0;width:100%;height:10px;background-color:var(--bs-primary);opacity:0.4}
.intro .intro-card .card-icon{height:fit-content;width:80px}
.intro .introSwiper{padding:20px 0}
.intro .introSwiper .swiper-wrapper{align-items:stretch}
.intro .introSwiper .swiper-wrapper .swiper-slide{height:auto;display:flex}
.two-col-section .top-bottom-line{position:relative;height:100%}
.two-col-section .top-bottom-line img{height:100%}
.two-col-section .top-bottom-line::before{content:"";position:absolute;top:0;left:0;width:100%;height:15px;background-color:var(--bs-primary);z-index:1}
.two-col-section .top-bottom-line::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:15px;background-color:var(--bs-primary);z-index:1}
.leistungen{background:url("/storage/app/media/schluessel-werden-uebergeben.webp") scroll center;background-size:cover;background-position:top;position:relative}
.leistungen .overlay{background-color:#212529;opacity:0.8;position:absolute;left:0;top:0;width:100%;height:100%;z-index:0}
.leistungen .container{position:relative;z-index:1}
.leistungen .leistung-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;height:100%;width:100%;background-color:rgba(255,255,255,0.4);border:10px solid transparent;transition:300ms}
.leistungen .leistung-card:hover{border-color:var(--bs-primary)}
.kunden .carousel-control-next{justify-content:flex-end}
.kunden .carousel-control-next .carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23c4a60066'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")}
.kunden .carousel-control-prev{justify-content:flex-start}
.kunden .carousel-control-prev .carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23c4a60066'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e")}
.kunden .carousel-control-prev-icon,.kunden .carousel-control-next-icon{width:80px;height:80px}
@media (max-width:767px){.kunden .carousel-control-prev-icon,.kunden .carousel-control-next-icon{width:40px;height:40px}}
table.price-table,table.custom-table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 10px 25px rgba(15,23,42,0.12)}
table.price-table thead,table.custom-table thead{background:linear-gradient(135deg,#111827,#1f2937);color:#f9fafb}
table.price-table th,table.price-table td,table.custom-table th,table.custom-table td{padding:10px;text-align:left;font-size:0.95rem}
table.price-table th,table.custom-table th{font-weight:600;letter-spacing:0.02em}
table.price-table tbody tr:nth-child(even),table.custom-table tbody tr:nth-child(even){background-color:#f9fafb}
table.price-table tbody tr:hover,table.custom-table tbody tr:hover{background-color:#eef2ff;transition:background-color 0.15s ease-out}
table.price-table .price-label,table.custom-table .price-label{font-weight:500;color:#111827}
table.price-table .price-value,table.custom-table .price-value{font-weight:600;color:#047857}
table.price-table .price-detail,table.custom-table .price-detail{font-size:0.8rem;color:#6b7280;margin-left:4px}
@media (max-width:480px){.price-table th,.price-table td{padding:10px 12px}}
.hover-scale{transition:300ms}
.hover-scale:hover{transform:scale(1.07)}
.icon-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px;margin:40px 0}
.icon-card{display:flex;flex-direction:column;align-items:center;padding:24px 16px;border-radius:10px;gap:10px;hyphens:auto;text-align:center}
.muenchen-cards{margin:40px 0}
.muenchen-cards__grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.muenchen-cards .muenchen-card{display:flex;flex-direction:column;justify-content:space-between;min-height:140px;padding:18px;border-radius:14px;text-decoration:none;background:#fff;border:1px solid rgba(0,0,0,0.08);box-shadow:0 8px 18px rgba(0,0,0,0.06);transition:transform 0.15s ease,box-shadow 0.15s ease,border-color 0.15s ease}
.muenchen-cards .muenchen-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,0.1);border-color:rgba(0,0,0,0.14)}
.muenchen-cards .muenchen-card:focus-visible{outline:3px solid #f5cc00;outline-offset:3px}
.muenchen-cards .muenchen-card__title{font-weight:700;font-size:1.05rem;line-height:1.25;color:#111}
.muenchen-cards .muenchen-card__meta{margin-top:10px;font-size:0.9rem;color:rgba(0,0,0,0.6)}
.nav-tabs{border:none;flex-direction:column;gap:2px;background-color:#F8F9FA}
.nav-tabs .nav-link{border:none;border-radius:0;background:transparent;padding:20px;position:relative;transition:0.3s ease;color:#212529;width:100%;background-color:#F8F9FA}
.nav-tabs .nav-link:hover{background-color:var(--bs-primary)}
.nav-tabs .nav-link::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.25);flex-shrink:0;transition:0.2s ease}
.nav-tabs .nav-link.active{background-color:var(--bs-primary)}
.nav-tabs .nav-link.active::after{content:"";position:absolute;right:-10px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:10px solid #f5c800;z-index:1}
@media (max-width:767px){.nav-tabs .nav-link.active::after{display:none}}
.tab-content .tab-pane{padding:20px}
.district-cards a.card:hover{border:1px solid var(--bs-primary);opacity:0.75}