/* XPROTEC v100.19 CP13 — shared public/legal consistency layer */
/* ===== SOURCE: xprotec-v83.css ===== */
/* XPROTEC Core v83 — public consistency, legal documents and customer-facing confidentiality */

:root{
  --xpc83-header-height:110px;
  --xpc83-header-max:1540px;
  --xpc83-header-pad:clamp(28px,4vw,64px);
  --xpc83-logo-width:250px;
}

/* Remove theme/container gaps before every XPROTEC public page. */
html:has(.xpc-page),
html:has(.xpc-support-v79),
html:has(.xpc-legal-page){
  margin-top:0!important;
  padding-top:0!important;
  background:#050606!important;
}
html:has(.xpc-page) body,
html:has(.xpc-support-v79) body,
html:has(.xpc-legal-page) body,
html:has(.xpc-page) #page,
html:has(.xpc-support-v79) #page,
html:has(.xpc-legal-page) #page,
html:has(.xpc-page) .site,
html:has(.xpc-support-v79) .site,
html:has(.xpc-legal-page) .site,
html:has(.xpc-page) .site-content,
html:has(.xpc-support-v79) .site-content,
html:has(.xpc-legal-page) .site-content,
html:has(.xpc-page) .ast-container,
html:has(.xpc-support-v79) .ast-container,
html:has(.xpc-legal-page) .ast-container,
html:has(.xpc-page) .content-area,
html:has(.xpc-support-v79) .content-area,
html:has(.xpc-legal-page) .content-area,
html:has(.xpc-page) .site-main,
html:has(.xpc-support-v79) .site-main,
html:has(.xpc-legal-page) .site-main,
html:has(.xpc-page) article,
html:has(.xpc-support-v79) article,
html:has(.xpc-legal-page) article,
html:has(.xpc-page) .entry-content,
html:has(.xpc-support-v79) .entry-content,
html:has(.xpc-legal-page) .entry-content{
  margin-top:0!important;
  padding-top:0!important;
}
html:has(.xpc-support-v79) .entry-content>p:empty,
html:has(.xpc-support-v79) .entry-content>.wp-block-spacer{
  display:none!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
}

/* One header geometry across Home, Products, Catalog, Contact, Legal and Portal. */
.xpc-page>.xpc-header,
.xpc-support-v79>.xpc-header,
.xpc-legal-page>.xpc-header{
  width:100%!important;
  max-width:none!important;
  height:var(--xpc83-header-height)!important;
  min-height:var(--xpc83-header-height)!important;
  margin:0!important;
  padding:0!important;
  top:0!important;
  left:0!important;
  right:0!important;
  overflow:visible!important;
}
.xpc-page>.xpc-header .xpc-header-inner,
.xpc-support-v79>.xpc-header .xpc-header-inner,
.xpc-legal-page>.xpc-header .xpc-header-inner{
  width:100%!important;
  max-width:var(--xpc83-header-max)!important;
  height:var(--xpc83-header-height)!important;
  min-height:var(--xpc83-header-height)!important;
  margin:0 auto!important;
  padding:0 var(--xpc83-header-pad)!important;
  grid-template-columns:minmax(250px,300px) minmax(430px,1fr) minmax(250px,300px)!important;
  gap:24px!important;
  align-items:center!important;
}
.xpc-page>.xpc-header .xpc-brand,
.xpc-support-v79>.xpc-header .xpc-brand,
.xpc-legal-page>.xpc-header .xpc-brand{
  width:300px!important;
  min-width:0!important;
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:0!important;
}
.xpc-page>.xpc-header .xpc-brand img,
.xpc-support-v79>.xpc-header .xpc-brand img,
.xpc-legal-page>.xpc-header .xpc-brand img{
  display:block!important;
  width:var(--xpc83-logo-width)!important;
  max-width:var(--xpc83-logo-width)!important;
  height:auto!important;
  max-height:82px!important;
  object-fit:contain!important;
  object-position:left center!important;
  aspect-ratio:auto!important;
  transform:none!important;
  filter:none!important;
}
/* Home remains cinematic, but its logo/header geometry no longer jumps. */
.xpc-home-page>.xpc-header{
  position:absolute!important;
}
.xpc-home-page>.xpc-header .xpc-header-inner,
.xpc-home-page>.xpc-header .xpc-brand,
.xpc-home-page>.xpc-header .xpc-brand img{
  transform:none!important;
}
.xpc-home-page>.xpc-header .xpc-brand img{
  width:var(--xpc83-logo-width)!important;
  max-width:var(--xpc83-logo-width)!important;
  max-height:82px!important;
}
/* Contact page begins exactly at the shared header. */
.xpc-support-v79{
  margin-top:0!important;
  padding-top:0!important;
}
.xpc-support-v79>.xpc-header{
  position:relative!important;
}

/* Password recovery: business-facing copy only; no implementation disclosures. */
.xpc-password-panel .xpc-portal-panel-copy{
  align-content:center!important;
}
.xpc-password-recovery-note{
  margin-top:28px;
  padding:22px 24px;
  border:1px solid rgba(255,215,0,.22);
  border-left:4px solid #ffd700;
  background:linear-gradient(180deg,#151717,#0e1010);
}
.xpc-password-recovery-note strong{
  display:block;
  margin-bottom:8px;
  color:#fff;
  font-size:17px;
  line-height:1.35;
}
.xpc-password-recovery-note p{
  margin:0!important;
  color:#d7d1bf!important;
  font-size:15px!important;
  line-height:1.65!important;
}

/* Legal pages: a genuine long-form reading layout with persistent navigation. */
.xpc-legal-layout{
  align-items:stretch!important;
}
.xpc-legal-sidebar{
  position:sticky!important;
  top:calc(var(--xpc83-header-height) + 18px)!important;
  align-self:start!important;
  max-height:calc(100vh - var(--xpc83-header-height) - 36px)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:#5b5230 #111;
  z-index:20;
}
.xpc-legal-sidebar-card{
  position:relative;
}
.xpc-legal-sidebar nav a{
  scroll-margin-top:calc(var(--xpc83-header-height) + 28px)!important;
}
.xpc-legal-section{
  scroll-margin-top:calc(var(--xpc83-header-height) + 28px)!important;
}
.xpc-legal-sidebar nav a.is-active{
  color:#ffd700!important;
  font-weight:800;
}
.xpc-legal-sidebar nav a.is-active:before{
  color:#ffd700!important;
}

/* Long legal copy needs comfortable readable sizing. */
.xpc-legal-content p,
.xpc-legal-content li{
  font-size:15px!important;
  line-height:1.78!important;
}
.xpc-legal-content h2{
  font-size:clamp(28px,3vw,40px)!important;
  line-height:1.15!important;
}
.xpc-legal-content h3{
  font-size:20px!important;
  line-height:1.3!important;
}

@media(max-width:1180px){
  :root{--xpc83-logo-width:220px;--xpc83-header-pad:28px}
  .xpc-page>.xpc-header .xpc-header-inner,
  .xpc-support-v79>.xpc-header .xpc-header-inner,
  .xpc-legal-page>.xpc-header .xpc-header-inner{
    grid-template-columns:240px minmax(360px,1fr) 240px!important;
    gap:18px!important;
  }
  .xpc-page>.xpc-header .xpc-brand,
  .xpc-support-v79>.xpc-header .xpc-brand,
  .xpc-legal-page>.xpc-header .xpc-brand{width:240px!important}
}

@media(max-width:980px){
  :root{--xpc83-header-height:92px;--xpc83-logo-width:190px}
  .xpc-page>.xpc-header,
  .xpc-support-v79>.xpc-header,
  .xpc-legal-page>.xpc-header{
    height:auto!important;
    min-height:92px!important;
  }
  .xpc-page>.xpc-header .xpc-header-inner,
  .xpc-support-v79>.xpc-header .xpc-header-inner,
  .xpc-legal-page>.xpc-header .xpc-header-inner{
    height:auto!important;
    min-height:92px!important;
    display:flex!important;
    flex-wrap:wrap!important;
    padding:16px 20px!important;
  }
  .xpc-page>.xpc-header .xpc-brand,
  .xpc-support-v79>.xpc-header .xpc-brand,
  .xpc-legal-page>.xpc-header .xpc-brand{width:auto!important;height:auto!important}
  .xpc-home-page>.xpc-header{position:relative!important}
  .xpc-legal-layout{
    grid-template-columns:1fr!important;
    gap:22px!important;
  }
  .xpc-legal-sidebar{
    position:static!important;
    max-height:none!important;
    overflow:visible!important;
    z-index:40;
  }
  .xpc-legal-sidebar-card{
    position:sticky!important;
    top:0!important;
    z-index:40;
    padding:16px 18px!important;
    box-shadow:0 12px 28px rgba(0,0,0,.42);
  }
  .xpc-legal-sidebar-card>span,
  .xpc-legal-sidebar-card h2{display:none!important}
  .xpc-legal-sidebar nav{
    display:flex!important;
    max-height:none!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    gap:8px!important;
    padding:0 0 4px!important;
  }
  .xpc-legal-sidebar nav a{
    display:flex!important;
    flex:0 0 auto!important;
    grid-template-columns:none!important;
    align-items:center!important;
    min-height:42px;
    padding:9px 12px!important;
    border:1px solid #353629!important;
    background:#101212!important;
    white-space:nowrap;
  }
  .xpc-legal-sidebar nav a:before{margin-right:7px}
  .xpc-legal-contact-card{display:none!important}
}

@media(max-width:560px){
  :root{--xpc83-logo-width:174px}
  .xpc-legal-document{padding:28px 20px!important}
  .xpc-password-recovery-note{padding:18px}
}


