/* Shared footer layout, loaded after page-specific styles. */
/* Align breadcrumb labels equally, including the non-linked current page. */
.master-page .breadcrumb li{align-items:center;min-height:44px}
.master-page .breadcrumb li>a,.master-page .breadcrumb li>[aria-current=page]{display:inline-flex;align-items:center;min-height:44px;line-height:1.5;margin:0;padding:0;font-size:inherit;font-weight:400;vertical-align:middle}
.contact-page .contact-hero .breadcrumb [aria-current=page]{color:#dbe4f4}
.contact-page .contact-hero .breadcrumb li+li::before{border-color:#dbe4f4}
/* Shared navigation indicator: plus closed, minus expanded. */
.header .nav-dropdown>summary::after{content:none}
.desktop-nav-plus{position:relative;display:inline-block;flex:none;width:14px;height:14px}
.desktop-nav-plus::before,.desktop-nav-plus::after{content:"";position:absolute;left:1px;right:1px;top:6px;height:2px;background:currentColor;border-radius:1px}
.desktop-nav-plus::after{transform:rotate(90deg)}
.nav-dropdown[open] .desktop-nav-plus::after{transform:none}
/* All groups share the same rhythm; contact details use aligned PI icons. */
.site-footer.master-footer{padding-top:40px;padding-bottom:22px}
.master-footer .master-footer-brand{gap:28px;padding-bottom:28px;align-items:center;flex-direction:row}
.master-footer .master-footer-brand img{width:112px}
.master-footer .master-footer-brand p{margin-bottom:5px;font-size:1.2rem;line-height:1.4}
.master-footer .master-footer-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr 1.3fr;gap:32px;padding:32px 0;align-items:start}
.master-footer .master-footer-grid>div{grid-column:auto;min-width:0}
.master-footer .master-footer-grid h2{margin:0 0 14px;font-size:.9375rem}
.master-footer .master-footer-grid a{display:block;min-height:0;padding:7px 0;line-height:1.5;font-size:.875rem}
.master-footer .master-footer-grid address{font-style:normal;margin-top:16px;line-height:1.65}
.master-footer .master-footer-grid p{margin-top:14px;line-height:1.65}
.master-footer .master-footer-emergency{justify-content:flex-start;flex-direction:row;align-items:center;gap:32px;padding:20px 0}
.master-footer .master-footer-emergency a{font-size:1.25rem;font-weight:600;letter-spacing:.01em}
.master-footer .footer-bottom{align-items:center;padding-top:18px;gap:12px 24px}
.master-footer .footer-bottom>a{display:inline-flex;align-items:center;gap:8px;min-height:32px}
@media (min-width:701px) and (max-width:1099px){
 .master-footer .master-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 48px}
}
@media (max-width:700px){
 .site-footer.master-footer{padding-top:28px}
 .master-footer .master-footer-brand{gap:20px;padding-bottom:24px}
 .master-footer .master-footer-brand img{width:88px}
 .master-footer .master-footer-brand p{font-size:1rem}
 .master-footer .master-footer-grid{grid-template-columns:minmax(0,1fr);gap:32px;padding:28px 0}
 .master-footer .master-footer-grid>div:first-child,.master-footer .master-footer-grid>div:last-child{grid-column:1/-1}
 .master-footer .master-footer-grid a{display:flex;align-items:center;min-height:44px;padding:5px 0}
 .master-footer .master-footer-emergency{justify-content:space-between;gap:16px;flex-wrap:wrap}
 .master-footer .master-footer-emergency a{font-size:1.125rem;padding:10px 0}
 .master-footer .footer-bottom{gap:8px 20px}
 .master-footer .footer-bottom>span{width:100%}
}

.master-footer .master-footer-grid h2{margin:0 0 12px;line-height:1.4}
.master-footer .master-footer-grid a{margin:0;box-sizing:border-box}
.master-footer .master-footer-grid>div:not(.footer-contact)>a{min-height:28px;padding:3px 0;line-height:1.5;margin:0}
.master-footer .master-footer-grid .footer-contact>a,
.master-footer .master-footer-grid .footer-contact>address,
.master-footer .master-footer-grid .footer-contact>p{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start;padding:8px 0;margin:0;font-size:.875rem;line-height:1.6}
.master-footer .footer-contact-icon{color:#4270ff;width:22px;height:22px;flex-shrink:0;margin-top:1px}
.master-footer .footer-contact span{min-width:0;overflow-wrap:anywhere}
.master-footer .master-footer-grid .footer-contact>address,
.master-footer .master-footer-grid .footer-contact>p{padding-top:12px}
@media(max-width:600px){
 .master-footer .master-footer-grid>div{grid-column:1/-1}
 .master-footer .master-footer-grid h2{margin-bottom:12px}
 .master-footer .master-footer-grid .footer-contact>a{align-items:center;min-height:44px;padding:5px 0}
 .master-footer .master-footer-emergency{padding:20px 0;gap:12px}
 .master-footer .footer-bottom{padding-top:20px;gap:8px 20px}
}

/* WhatsApp contact action, with readable white text. */
.master-page .master-ending .master-actions>a[href="https://wa.me/41763961396"]{background:#128c4a;border-color:#128c4a;color:#fff}
.master-page .master-ending .master-actions>a[href="https://wa.me/41763961396"]:hover{background:#0f753e;border-color:#0f753e;color:#fff}
.master-footer .footer-contact>a[href="https://wa.me/41763961396"] .footer-contact-icon{color:#25d366}
/* Larger mobile navigation in the existing PI style. */
#navigation>a,#navigation .mobile-services>summary{font-size:clamp(1.75rem,4vw,2.25rem);font-weight:400;line-height:1.2;min-height:72px;padding:18px 12px}
#navigation .mobile-services a{font-size:1.0625rem;min-height:48px}
#navigation .mobile-nav-contact{gap:16px;padding-top:20px}
@media(min-width:701px) and (max-width:1200px){
 #navigation,.header.scrolled #navigation{width:min(600px,calc(100vw - 48px))}
 #navigation>a,#navigation .mobile-services>summary{min-height:84px}
}
@media(max-height:500px) and (orientation:landscape){
 #navigation>a,#navigation .mobile-services>summary{font-size:1.5rem;min-height:56px;padding-top:12px;padding-bottom:12px}
}

/* Unified contact actions and scoped editorial corrections. */
.master-page .site-footer.master-footer{background:#242424}
.master-page .master-ending .master-actions{grid-auto-rows:1fr;align-items:stretch}
.master-page .master-ending .master-actions>a{font-size:clamp(.8125rem,2.2vw,.9375rem);font-weight:500;line-height:1.4;min-height:56px;height:100%;padding:14px 8px}
.master-page .master-ending .master-actions>.button{font-weight:600}
.regional-page main>section.master-copy{display:block;padding-top:28px;padding-bottom:32px}
.regional-page main>section.master-copy h2{max-width:none;margin:0 0 12px}
.regional-page main>section.master-copy>div{max-width:80ch}
.regional-page main>section.master-copy p{margin:0}
.regional-page .master-intro h2{font-size:1.0625rem;font-weight:400;line-height:1.65}
.contact-page .contact-introduction{padding-top:32px;padding-bottom:0}
.contact-page .contact-introduction h2{font-size:var(--pi-h2);margin:0 0 16px}
.contact-page .contact-introduction p{max-width:76ch;line-height:1.65;margin:0}
.contact-page .inquiry-heading .form-section-label{font-size:.8rem;line-height:1.5;font-weight:700;letter-spacing:.12em;color:var(--blue);margin:0 0 20px}
.master-page .management-hero h2{font-size:1.0625rem;font-weight:400;line-height:1.65;color:#e1e7f0;margin-bottom:0}
@media(min-width:1000px){
 .about-page .about-introduction{grid-template-rows:auto}
 .about-page .about-introduction>h2{grid-row:1}
 .about-page .about-introduction>.about-copy{grid-row:1}
}

/* Approved two-tone surfaces: blue-grey header/footer and muted navy contact banners. */
:root{--pi-chrome:#22292f;--pi-banner:#1b2c3e;--navy:var(--pi-banner)}
body .header,body .header.scrolled,body .header.menu-open,
.home-page .header:not(.scrolled):not(.menu-open),
.detail-page .header:not(.scrolled):not(.menu-open),
.master-page .site-footer.master-footer{background:var(--pi-chrome)}
#navigation,.nav-dropdown>div{background:var(--pi-chrome);border-color:#ffffff26}
#navigation .mobile-services>div{background:var(--pi-banner);border-color:#ffffff26}
#navigation>a:hover,#navigation .mobile-services>summary:hover,
#navigation .mobile-services a:hover,.nav-dropdown>div>a:hover,
#navigation a[aria-current=page],#navigation .mobile-services a[aria-current=page]{background:var(--pi-banner);color:#fff}
.master-page .section.master-ending,.pi-contact{background:var(--pi-banner)}
/* No coloured or full-width photographic veil; shade only beneath hero copy. */
.master-page .master-hero .hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.68) 0%,rgba(0,0,0,.4) 36%,transparent 72%)}
@media(max-width:700px){.master-page .master-hero .hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.22) 80%,transparent)}}
/* Match the existing scrolled header on regional pages at every scroll position. */
body.regional-page .header,body.regional-page .header.scrolled,body.regional-page .header.menu-open{background:var(--pi-chrome)}

/* Preserve primary-page framing independently of regional hero shading. */
.master-page .master-hero .hero-image{transform:none}
.master-page .master-hero.pi-hero .hero-image{object-position:62% center}
@media(max-width:700px){.master-page .master-hero.pi-hero .hero-image{object-position:64% center}}
.about-page .about-image-hero::before{transform:none}
/* Show more of the shower and radiator on their service pages. */
.detail-page.master-page .master-hero .hero-image[src^="/assets/bathroom-service-hero.webp"]{object-position:80% center}
.detail-page.master-page .master-hero .hero-image[src^="/assets/heating-interior.webp"]{object-position:100% center}

/* Compact header: keep logo, controls and horizontal placement unchanged. */
/* Keep the complete fan below the header on landscape tablets. */
@media(min-width:701px) and (max-width:1366px) and (orientation:landscape){
 .detail-page.master-page .master-hero .hero-image[src^="/assets/wohnraumluefter-"]{object-position:center top}
}
/* One opaque anthracite surface on every page and in every navigation state. */
body .header.header{background:#22292f;backdrop-filter:none;-webkit-backdrop-filter:none;transition:none}
/* Keep touch feedback within one rectangular menu button; retain keyboard focus. */
body .header .menu-toggle{-webkit-tap-highlight-color:transparent;appearance:none;-webkit-appearance:none;border-radius:0}
body .header .menu-toggle:active{background:rgba(255,255,255,.12)}
body .header .menu-toggle:focus-visible{outline:2px solid #70a9ff;outline-offset:3px}
body .header,body .header.scrolled,body .header.menu-open{padding-top:8px;padding-bottom:8px}
@media(max-width:700px){
 body .header,body .header.scrolled,body .header.menu-open{padding-top:4px;padding-bottom:4px}
}

/* Mobile footer: related navigation side by side, contact details full width. */
@media(min-width:360px) and (max-width:700px){
 .master-page .master-footer .master-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}
 .master-page .master-footer .master-footer-grid>div{grid-column:auto;min-width:0}
 .master-page .master-footer .master-footer-grid>div:first-child,
 .master-page .master-footer .master-footer-grid>div:last-child{grid-column:1/-1}
 .master-page .master-footer .master-footer-grid>div:not(.footer-contact)>a{min-height:44px;display:flex;align-items:center;line-height:1.4}
}

/* All closing contact panels share source order and corner treatment. */
.master-page .master-ending .master-actions>a{order:0;border-radius:10px}

/* Compact mobile footer with separate, readable touch targets. */
@media(max-width:700px){
 .master-page .master-footer .master-footer-grid{row-gap:14px;padding-top:16px;padding-bottom:14px}
 .master-page .master-footer .master-footer-grid h2{margin-bottom:4px}
 .master-page .master-footer .master-footer-grid>div:not(.footer-contact)>a{min-height:28px;padding:3px 0;line-height:1.4}
 .master-page .master-footer .master-footer-brand{padding-bottom:16px}
 .master-page .master-footer .footer-bottom{padding-top:10px;row-gap:0}
}

/* Separate contact hours from mobile navigation groups. */
@media(max-width:700px){
 .master-page .master-footer .master-footer-grid>.footer-contact{margin-bottom:20px}
}
