/* Shared responsive visual system. */
:root{--willi-ink:#152b43;--willi-blue:#006ca6;--willi-light:#f4f7fb;--willi-border:#dce5ef;--willi-radius:18px}
body{color:#445368;user-select:text!important;-webkit-user-select:text!important;-webkit-touch-callout:default!important;line-height:1.7;background:#fff}
h1,h2,h3,h4{color:var(--willi-ink);letter-spacing:-.025em}p{color:#516176;line-height:1.8}a{color:var(--willi-blue)}
.main>.blank{height:20px!important}.main-contact{background:var(--willi-light)}.main-contact>.container{padding-top:48px!important;padding-bottom:48px!important}
#header .header-body{box-shadow:0 3px 24px #152b430f;border-bottom:1px solid #e8edf3!important}#header .header-container{min-height:94px}#header .site-logo{max-height:74px}#header .header-nav-top a{color:#32485e!important}
#header .header-nav-main nav>ul>li>a{font-size:12px;letter-spacing:.025em;border-radius:8px}#header .dropdown-menu{border-radius:12px;padding:10px;box-shadow:0 18px 48px #152b4326;border-top:3px solid var(--willi-blue)}#header .dropdown-item{white-space:normal;line-height:1.45;padding:11px 14px}#header .dropdown:focus-within>.dropdown-menu{display:block}
.language-switcher a{min-height:34px;border-radius:9px!important;box-shadow:none!important}.language-switcher .flag-image{width:24px;height:16px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px #152b4320}.language-switcher a[aria-current="page"]{border-color:var(--willi-blue);background:#eaf5fc}
.page-header{position:relative;background:linear-gradient(120deg,#142b42,#254d6d)!important;border:0!important;padding:58px 20px!important;margin:0!important;overflow:hidden}.page-header:before{background:rgba(9,28,47,.6)!important}.page-header .container-fluid{position:relative;z-index:2}
.page-header h1,.page-header h1.text-dark,.page-header h1.text-color-dark{color:#fff!important;font-size:clamp(1.9rem,4vw,3.05rem)!important;font-weight:800!important;line-height:1.22!important;text-shadow:0 2px 18px #0004;margin-bottom:6px!important}
.page-header .breadcrumb{margin-bottom:16px!important}.page-header .breadcrumb li,.page-header .breadcrumb a,.page-header .breadcrumb li.active{color:#fff!important;font-size:12px;letter-spacing:.04em}.page-header .breadcrumb li:before{color:#d6e6f4!important}.page-header .breadcrumb a:hover{text-decoration:underline}
.btn{border-radius:10px!important;font-weight:700!important;letter-spacing:.01em;min-height:44px;display:inline-flex;align-items:center;justify-content:center;transition:background .2s,box-shadow .2s,transform .2s}.btn-primary{background:var(--willi-blue)!important;border-color:var(--willi-blue)!important;z-index:auto!important}.btn-primary:hover{background:#005580!important;border-color:#005580!important;box-shadow:0 8px 20px #006ca629;transform:translateY(-1px)}.btn-dark{background:var(--willi-ink)!important}.btn-light{color:var(--willi-ink)!important}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #64b9ec!important;outline-offset:4px}a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}
.quote-form-card,.contact-form-card{padding:36px!important;border:1px solid var(--willi-border);border-radius:var(--willi-radius);box-shadow:0 16px 48px #152b430a;background:#fff}.quote-form-card{max-width:900px;margin:0 auto}.quote-form-intro{padding-bottom:24px;margin-bottom:26px;border-bottom:1px solid var(--willi-border)}.quote-form-intro h2{font-size:1.8rem;font-weight:800;margin:0 0 10px}.quote-form-intro p{margin-bottom:0;max-width:650px}
.form-control{min-height:50px;border-radius:9px!important;border-color:#cdd9e5!important;background:#fbfdff;color:var(--willi-ink);font-size:15px!important;padding:12px 14px!important}select.form-control{padding-right:32px!important}textarea.form-control{height:auto;min-height:115px}.form-control:focus{background:#fff;border-color:var(--willi-blue)!important;box-shadow:0 0 0 4px #006ca614!important}.form-control::placeholder{color:#708195;opacity:1}.form-group{margin-bottom:22px}.form-group label{font-size:13px;font-weight:700;color:var(--willi-ink);margin-bottom:9px}.quote-form-card .form-row{margin-left:-10px;margin-right:-10px}.quote-form-card .form-row>.form-group{padding-left:10px;padding-right:10px}
.service-card-link .feature-box{padding:26px!important;border:1px solid var(--willi-border);border-radius:16px;background:#fff;box-shadow:0 5px 16px #152b4304;transition:transform .2s,box-shadow .2s,border-color .2s}.service-card-link:hover .feature-box{transform:translateY(-4px);box-shadow:0 16px 32px #152b4312;border-color:#88bddb}.service-card-link h4{font-size:17px;line-height:1.4}.service-card-link .feature-box-icon{color:var(--willi-blue)!important}.service-card-link p{font-size:14px;margin-bottom:0}.service-eyebrow{font-size:11px;letter-spacing:.12em;color:var(--willi-blue)}.service-step,.service-hero-media{border-radius:16px}.service-detail-summary{border-radius:0 14px 14px 0;background:#edf6fc;box-shadow:none}
#footer.site-footer{background:#12263b;border:0;color:#d0dbe8}#footer.site-footer p{color:#c2d0df;font-size:13px;line-height:1.85}#footer.site-footer h4{font-size:15px;font-weight:800;letter-spacing:0;text-transform:none}#footer.site-footer a{color:#e0e9f3!important;font-size:13px}#footer.site-footer a:hover{color:#fff!important;text-decoration:underline}#footer .footer-copyright{background:#0c1d2e;border-top:1px solid #ffffff12}#footer .callback-form .form-control{background:#1c354e!important;border-color:#39516a!important;color:#fff}#footer .callback-form .form-control::placeholder{color:#c6d4e2}#footer .callback-form .btn{width:100%;background:#fff;font-size:11px;color:#152b43!important}
#footer .footer-services summary{cursor:pointer;color:#e0e9f3;font-size:13px;font-weight:700;padding:4px 0}#footer .footer-services[open]{padding:12px;border:1px solid #ffffff25;border-radius:10px;background:#ffffff05}#footer .footer-services li{margin-bottom:10px;line-height:1.4}#footer .footer-whatsapp-button{z-index:1030!important;background:#138b47!important;color:#fff!important;font-size:27px;box-shadow:0 8px 28px #0c1d2e30;bottom:28px;width:56px;height:56px}#footer .footer-whatsapp-button:hover{background:#087737!important;text-decoration:none}
.skip-link{position:fixed;left:12px;top:-100px;z-index:200000;background:#fff;padding:12px 20px;border-radius:8px;box-shadow:0 5px 25px #0002}.skip-link:focus{top:12px}.mobile-actions{display:none}img{max-width:100%}
@media(max-width:991px){#header .header-container{min-height:84px}#header .header-nav-main nav{max-height:70vh;overflow:auto}#header .header-nav-main nav>ul>li>a{padding:14px!important}.main>.blank{height:12px!important}.page-header{padding:40px 16px!important}.site-footer .col-lg-2,.site-footer .col-lg-3,.site-footer .col-lg-4{margin-bottom:28px}.header-nav-main .dropdown-menu{min-width:0!important}}
@media(max-width:575px){body{padding-bottom:70px}.main-contact>.container{padding:28px 16px!important}.page-header{padding:34px 14px!important}.page-header h1{font-size:1.8rem!important}.quote-form-card,.contact-form-card{padding:24px 18px!important;border-radius:14px}.quote-form-intro h2{font-size:1.45rem}.quote-form-card .form-row{margin-left:-5px;margin-right:-5px}.quote-form-card .form-row>.form-group{padding-left:5px;padding-right:5px}.quote-form-card input[type=submit],.contact-form-card input[type=submit]{width:100%}.mobile-actions{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:1040;background:#fff;padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:8px;border-top:1px solid var(--willi-border);box-shadow:0 -4px 20px #152b4312}.mobile-actions a{display:flex;justify-content:center;align-items:center;gap:7px;text-align:center;font-size:11px;font-weight:800;min-height:44px;padding:8px;border-radius:9px;background:#eaf5fc;color:var(--willi-blue)}.mobile-actions .mobile-actions-call{background:var(--willi-blue);color:#fff}#footer .footer-whatsapp-button{bottom:calc(88px + env(safe-area-inset-bottom));right:14px;width:48px;height:48px;font-size:24px}.service-card-link .feature-box{padding:22px!important}.language-switcher{gap:4px!important;margin-left:5px!important}.language-switcher a{padding:7px!important;font-size:10px!important}.language-switcher .flag-icon,.language-switcher .flag-image{width:20px;height:14px}#header .site-logo{max-width:88px;max-height:66px}#header .header-nav-top .nav-item>a{font-size:10px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.appear-animation{opacity:1!important}}
.page-header.overlay::before{background:#102840!important;opacity:.82!important;z-index:1}.page-header .parallax-background{inset:0!important;top:0!important;transform:none!important;height:100%!important;background-position:center!important}.page-header .row{position:relative;z-index:2}@media(min-width:992px){#header .header-btn-collapse-nav{display:none!important}}

@media(max-width:575px){#header .header-nav{padding:4px 0!important;min-height:44px!important}#header .header-nav-top .nav-item>a{padding:4px 6px!important}.page-header{min-height:160px}.http-error .confirmation{margin-top:8%;margin-bottom:28px}}
.page-header .appear-animation{animation:none!important;transform:none!important;opacity:1!important;visibility:visible!important}

.address-autocomplete{position:relative}.address-options{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:1060;background:#fff;border:1px solid #cdd9e5;border-radius:12px;padding:6px;box-shadow:0 16px 40px #152b4326;max-height:285px;overflow:auto;list-style:none;margin:0}.address-options[hidden]{display:none}.address-options li{cursor:pointer;color:var(--willi-ink);padding:12px 14px;border-radius:8px;line-height:1.45;font-size:14px}.address-options li:hover,.address-options li[aria-selected="true"]{background:#eaf5fc;color:#005580}.address-help{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px;margin-top:7px;color:#586d83;font-size:11px;line-height:1.5}.address-help a{font-size:10px;color:#586d83}
