/* Pascher Signature V4.55 · Markenklammer: Originalblau + Premium-Schwarz/Gold.
   Bewusst nur Header und Footer – keine Änderungen an Leistungen, Hero, CTA oder Preisen. */
:root {
  --pascher-brand-blue: #1766a5;
  --pascher-brand-blue-muted: rgba(40, 116, 178, .42);
}

/* Das originale Logo wird mit natuerlichem Seitenverhaeltnis gezeigt.
   Fruehere feste Kombinationen aus width und height machten es zu klein. */
.pp-header .pp-brand {
  position: relative;
  z-index: 0;
  min-width: 0;
  flex: 0 0 auto;
  margin-left: -10px;
  padding: 3px 8px 3px 10px;
}
.pp-header .pp-brand::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  border-left: 2px solid rgba(40, 114, 176, .76);
  background: linear-gradient(90deg, rgba(7, 33, 56, .5) 0%, rgba(5, 16, 27, .13) 77%, transparent 100%);
  pointer-events: none;
}
.pp-header .pp-brand-link {
  display: inline-flex;
  align-items: center;
  width: auto;
  height: auto;
  line-height: 0;
}
.pp-header .pp-brand-logo {
  display: block;
  width: auto;
  height: 64px;
  max-width: none;
  max-height: none;
  object-fit: contain;
  object-position: center;
  filter: brightness(1.23) contrast(1.04) drop-shadow(0 1px 6px rgba(0, 51, 100, .17));
}
.pp-header .pp-brand-link:focus-visible,
.pp-footer .pp-brand-link:focus-visible {
  outline: 2px solid #d7b46a;
  outline-offset: 5px;
}

/* Das Footer-Logo bleibt blau. Ein dezentes Navy-Licht und die feine
   Blau/Gold-Trennlinie verbinden Marke und Website statt Farben zu mischen. */
.pp-footer {
  background: linear-gradient(180deg, #08090b 0%, #050608 100%);
}
.pp-footer .pp-footer-brand {
  position: relative;
  z-index: 0;
  min-width: 0;
  margin: -12px 0 0 -18px;
  padding: 18px 18px 22px 22px;
}
.pp-footer .pp-footer-brand::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  border-left: 2px solid rgba(38, 114, 181, .78);
  background: linear-gradient(105deg, rgba(8, 32, 55, .56), rgba(11, 17, 25, .16) 68%, transparent 100%);
  pointer-events: none;
}
.pp-footer .pp-footer-brand .pp-brand-link {
  display: inline-flex;
  line-height: 0;
  max-width: 100%;
}
.pp-footer .pp-footer-brand .pp-brand-logo {
  display: block;
  width: 230px;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  filter: brightness(1.19) contrast(1.05) drop-shadow(0 3px 12px rgba(3, 46, 84, .14));
  margin: 0;
}
.pp-footer-brand-bridge {
  display: flex;
  align-items: center;
  gap: 10px;
  position: relative;
  width: max-content;
  max-width: 100%;
  margin-top: 14px;
  padding-top: 12px;
  color: #b7c5cf;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .18em;
  line-height: 1.3;
}
.pp-footer-brand-bridge::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, #287cbb 0%, #287cbb 77%, #d7b46a 77%, #d7b46a 100%);
}
.pp-footer-brand-bridge-divider {
  color: #d7b46a;
  opacity: .8;
}
.pp-footer .pp-footer-brand p {
  max-width: 295px;
  color: #aaa9a5;
  font-size: 12px;
  line-height: 1.78;
  margin: 17px 0 0;
}
.pp-footer .pp-footer-col a:hover,
.pp-footer .pp-footer-col button:hover {
  color: #e5c77f;
}

@media (max-width: 1180px) {
  .pp-header .pp-brand-logo { height: 55px; width: auto; }
}
@media (max-width: 960px) {
  .pp-header .pp-brand-logo { height: 52px; width: auto; }
}
@media (max-width: 640px) {
  .pp-header .pp-brand { margin-left: -5px; padding-left: 6px; padding-right: 4px; }
  .pp-header .pp-brand-logo { height: 46px; width: auto; }
  .pp-footer .pp-footer-brand { margin: 0 0 0 -12px; padding: 12px 14px 17px; }
  .pp-footer .pp-footer-brand .pp-brand-logo { width: 215px; }
}
@media (prefers-reduced-motion: reduce) {
  .pp-header .pp-brand-link,
  .pp-footer .pp-brand-link { transition: none; }
}


/* V4.61 NAVIGATION REPAIR — desktop menu no longer crushed by Wheel Studio link.
   Two-tier header: strong logo/contact on top, full-width service links below. */
@media (min-width:1161px) {
  .pp-site:not(.pp-campaign-landing) .pp-header-inner {
    height:105px; position:relative; gap:18px; align-items:flex-start; padding-top:7px;
  }
  .pp-site:not(.pp-campaign-landing) .pp-brand {min-height:53px; flex:0 0 auto}
  .pp-site:not(.pp-campaign-landing) .pp-brand-logo {height:49px;width:auto;max-width:240px}
  .pp-site:not(.pp-campaign-landing) .pp-nav {
    display:flex; align-items:center; align-self:flex-start; gap:20px; padding-top:4px; margin-left:auto;
  }
  .pp-site:not(.pp-campaign-landing) .pp-menu {
    position:absolute; bottom:0; left:0; right:0; display:flex;
    justify-content:space-between; align-items:center; gap:10px;
    border-top:1px solid rgba(255,255,255,.11); white-space:nowrap;
  }
  .pp-site:not(.pp-campaign-landing) .pp-menu > li {min-width:0}
  .pp-site:not(.pp-campaign-landing) .pp-menu > li > a {
    display:block; padding:11px 0 10px; line-height:1.25;
    font-size:clamp(9px,.68vw,11px); letter-spacing:.055em;
  }
  .pp-site:not(.pp-campaign-landing) .pp-menu > li > a:after{bottom:5px}
  .pp-site:not(.pp-campaign-landing) .pp-menu .sub-menu{top:38px}
  .pp-site:not(.pp-campaign-landing) .pp-phone-mini {white-space:nowrap}
}
/* Use real mobile navigation before ten items run out of desktop space. */
@media (min-width:961px) and (max-width:1160px) {
  .pp-site:not(.pp-campaign-landing) .pp-nav-toggle {display:block}
  .pp-site:not(.pp-campaign-landing) .pp-nav {
    display:none;position:fixed;top:78px;left:0;right:0;bottom:0;
    background:#08090a;padding:25px clamp(22px,5vw,70px);
    flex-direction:column;align-items:stretch;overflow-y:auto;margin:0;
  }
  .pp-site:not(.pp-campaign-landing) .pp-nav.is-open{display:flex}
  .pp-site:not(.pp-campaign-landing) .pp-menu{flex-direction:column;align-items:stretch;gap:0}
  .pp-site:not(.pp-campaign-landing) .pp-menu>li{border-bottom:1px solid rgba(255,255,255,.13)}
  .pp-site:not(.pp-campaign-landing) .pp-menu>li>a{display:block;padding:17px 0;font-size:17px}
  .pp-site:not(.pp-campaign-landing) .pp-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;border:0;box-shadow:none;background:transparent;padding:0 0 8px 20px;min-width:0}
  .pp-site:not(.pp-campaign-landing) .pp-menu .sub-menu a{padding:8px 0;font-size:13px}
}
/* WordPress toolbar must never cover the fixed site navigation. */
body.admin-bar .pp-header{top:32px}
body.admin-bar.pp-site:not(.pp-campaign-landing) .pp-nav.is-open{top:110px}
@media(max-width:782px){
  body.admin-bar .pp-header{top:46px}
  body.admin-bar.pp-site:not(.pp-campaign-landing) .pp-nav.is-open{top:124px}
}
@media(max-width:640px){
  body.admin-bar.pp-site:not(.pp-campaign-landing) .pp-nav.is-open{top:116px}
}
