/* Sitewide premium clean laboratory footer owner.
   Scope: footer.dsk-site-footer only; no header/nav/form/cookie runtime. */

html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 54%,#f3f6f9 100%) !important;
  color:#111827 !important;
  border-top:1px solid rgba(15,23,42,.10) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 -14px 34px rgba(15,23,42,.055) !important;
  overflow:hidden !important;
}

html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer > .dsk-custom-footer{
  width:min(1240px, calc(100% - 48px)) !important;
  max-width:1240px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:clamp(42px,5vw,62px) 0 26px !important;
  background:transparent !important;
  box-sizing:border-box !important;
}

@media (min-width:1181px){
  html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer > .dsk-custom-footer.dsk-custom-footer{
    width:var(--dsk-global-nav-footer-rail, min(calc(100vw - 130px), 1236px)) !important;
    max-width:var(--dsk-global-nav-footer-rail, min(calc(100vw - 130px), 1236px)) !important;
  }

  html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer > .dsk-custom-footer.dsk-custom-footer > :is(.dsk-grid,.dsk-copyright){
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }
}

html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer .dsk-grid{
  display:grid !important;
  grid-template-columns:minmax(300px,1.18fr) minmax(210px,.86fr) minmax(250px,.86fr) !important;
  gap:clamp(28px,3vw,44px) !important;
  align-items:start !important;
}

html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer :is(.dsk-info,.dsk-nav,.dsk-map-col){
  text-align:left !important;
}

html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer :is(.dsk-brand,.dsk-nap-block p[itemprop="address"],.dsk-nap-block a[href^="tel:"],.dsk-nap-block a[href^="mailto:"]){
  color:#111827 !important;
}

html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer .dsk-brand{
  margin:0 0 16px !important;
  font-size:clamp(1.1rem,1vw + .92rem,1.42rem) !important;
  font-weight:800 !important;
  line-height:1.22 !important;
  letter-spacing:0 !important;
}

html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer .dsk-heading{
  color:#172033 !important;
  margin:0 0 14px !important;
  border:0 !important;
  padding:0 !important;
  font-size:.78rem !important;
  font-weight:800 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  line-height:1.35 !important;
}

html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer :is(.dsk-desc,.dsk-nap-block p){
  color:#475569 !important;
  line-height:1.58 !important;
  margin-top:0 !important;
}

html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer .dsk-nap-block{
  display:grid !important;
  gap:11px !important;
  padding:20px 22px !important;
  border-radius:18px !important;
  background:#ffffff !important;
  border:1px solid rgba(15,23,42,.10) !important;
  box-shadow:0 18px 42px rgba(15,23,42,.07) !important;
}

html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer .dsk-usp-block{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin-top:16px !important;
}

html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer .dsk-usp-block span{
  display:inline-flex !important;
  align-items:center !important;
  min-height:34px !important;
  padding:7px 11px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.78) !important;
  border:1px solid rgba(15,23,42,.10) !important;
  color:#172033 !important;
  box-shadow:0 8px 20px rgba(15,23,42,.045) !important;
  font-size:.78rem !important;
  font-weight:700 !important;
  line-height:1.25 !important;
}

html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer :is(.dsk-nav ul,.dsk-quick-links){
  list-style:none !important;
  padding:0 !important;
  margin:0 !important;
}

html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer :is(.dsk-nav li,.dsk-quick-links li){
  margin:0 0 8px !important;
}

html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer :is(.dsk-nav a,.dsk-quick-links a,.dsk-nap-block a,.dsk-copyright a),
html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer :is(.dsk-nav a:link,.dsk-quick-links a:link,.dsk-nap-block a:link,.dsk-copyright a:link),
html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer :is(.dsk-nav a:visited,.dsk-quick-links a:visited,.dsk-nap-block a:visited,.dsk-copyright a:visited){
  color:#334155 !important;
  text-decoration:none !important;
  text-decoration-line:none !important;
  border-bottom:0 !important;
}

html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer :is(.dsk-nap-block a,.dsk-nap-block a:link,.dsk-nap-block a:visited){
  color:#047857 !important;
  font-weight:800 !important;
}

html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer :is(.dsk-nav a,.dsk-quick-links a){
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  font-size:.9375rem !important;
  line-height:1.55 !important;
  min-height:38px !important;
  padding:5px 0 !important;
}

html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer :is(.dsk-link-acc,.dsk-link-ransom),
html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer :is(.dsk-link-acc:link,.dsk-link-ransom:link,.dsk-link-acc:visited,.dsk-link-ransom:visited){
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  max-width:100% !important;
  padding:8px 12px !important;
  border-radius:999px !important;
  border:1px solid rgba(15,23,42,.12) !important;
  background:linear-gradient(180deg,#ffffff 0%,#f5f7fa 100%) !important;
  color:#172033 !important;
  font-weight:800 !important;
  text-decoration:none !important;
  text-decoration-line:none !important;
  box-shadow:0 8px 18px rgba(15,23,42,.045) !important;
}

html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer :is(.dsk-link-acc strong,.dsk-link-ransom strong){
  font-weight:800 !important;
}

html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer .dsk-btn-map,
html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer .dsk-btn-map:link,
html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer .dsk-btn-map:visited{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:44px !important;
  width:auto !important;
  padding:12px 18px !important;
  border-radius:999px !important;
  border:1px solid rgba(4,120,87,.24) !important;
  background:linear-gradient(180deg,#10b981 0%,#047857 100%) !important;
  color:#ffffff !important;
  font-weight:800 !important;
  text-decoration:none !important;
  text-decoration-line:none !important;
  box-shadow:0 12px 26px rgba(4,120,87,.18) !important;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease !important;
}

html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer .dsk-heading--info{
  margin-top:22px !important;
  padding-top:18px !important;
  border-top:1px solid rgba(15,23,42,.10) !important;
}

html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer .dsk-copyright{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:14px 28px !important;
  align-items:center !important;
  margin-top:34px !important;
  padding:20px 0 0 !important;
  border-top:1px solid rgba(15,23,42,.10) !important;
  color:#64748b !important;
  line-height:1.45 !important;
}

html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer :is(.dsk-footer-copy,.dsk-footer-credit){
  margin:0 !important;
  color:#64748b !important;
}

html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer .dsk-footer-bottom-copy{
  display:grid !important;
  gap:4px !important;
}

html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer .dsk-footer-legal{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
  gap:10px 18px !important;
}

@media (hover:hover) and (pointer:fine){

  html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer :is(.dsk-nav a,.dsk-quick-links a,.dsk-copyright a){
    transition:color .18s ease,border-color .18s ease,background-color .18s ease !important;
  }
}

@media (prefers-reduced-motion:reduce){
  html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer :is(a,.dsk-btn-map){
    transition:none !important;
    transform:none !important;
  }
}

@media (max-width:900px){
  html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer > .dsk-custom-footer{
    width:min(100%, calc(100% - 32px)) !important;
    padding-top:36px !important;
    padding-bottom:24px !important;
  }

  html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer .dsk-grid{
    grid-template-columns:1fr !important;
    gap:24px !important;
    text-align:center !important;
  }

  html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer :is(.dsk-info,.dsk-nav,.dsk-map-col,.dsk-brand,.dsk-heading,.dsk-desc,.dsk-nap-block){
    text-align:center !important;
  }

  html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer .dsk-info{
    order:1 !important;
  }

  html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer .dsk-map-col{
    order:2 !important;
  }

  html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer .dsk-nav{
    order:3 !important;
  }

  html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer .dsk-usp-block{
    justify-content:center !important;
  }

  html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer :is(.dsk-nav li,.dsk-quick-links li){
    text-align:center !important;
  }

  html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer :is(.dsk-nav a,.dsk-quick-links a){
    justify-content:center !important;
    width:min(100%,20rem) !important;
    min-height:40px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:8px 0 !important;
    text-align:center !important;
  }

  html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer :is(.dsk-link-acc,.dsk-link-ransom){
    width:min(100%,20rem) !important;
    padding:8px 12px !important;
  }

  html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer .dsk-btn-map{
    width:min(100%,20rem) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer .dsk-copyright{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    gap:12px !important;
    text-align:center !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer .dsk-footer-legal{
    justify-content:center !important;
  }
}

@media (max-width:520px){
  html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer > .dsk-custom-footer{
    width:min(100%, calc(100% - 24px)) !important;
  }

  html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer .dsk-nap-block{
    padding:18px 16px !important;
  }

  html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer .dsk-usp-block{
    gap:7px !important;
  }

  html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer .dsk-usp-block span{
    width:100% !important;
    justify-content:center !important;
  }
}

/* footer-mobile-link-spacing-v1
   Polish-only touch target breathing room; no footer content or NAP changes. */
@media (max-width:767px){
  html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer :is(.dsk-nav li,.dsk-quick-links li){
    margin-bottom:10px !important;
  }

  html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer :is(.dsk-nav a,.dsk-quick-links a){
    min-height:44px !important;
    padding-top:10px !important;
    padding-bottom:10px !important;
    line-height:1.42 !important;
  }

  html body#sb-body-data-attr footer.dsk-site-footer.dsk-site-footer .dsk-footer-legal{
    gap:12px 20px !important;
  }
}


/* home-footer-mobile-layout-fixes merged into dsk-site-footer-clean.v1.css
   Source file retained on disk as rollback/archive; runtime link removed from index.html.
   Role: homepage footer-only mobile support rules, now owned by footer clean owner. */
/* FROZEN SUPPORT LAYER
   Role: footer-only mobile support lane.
   Runtime status: still loaded on homepage because footer/contact handoff stays isolated.
   Editing rule: do not add homepage core section ownership here.
   Only footer-only support belongs in this file. */
@media (max-width:768px){
  /* Etap 2: home mobile footer shell parity.
     Keep the footer on the same 16px mobile axis as the already-cleaned home main shell.
     This file becomes the single late owner for the visible home footer frame/layout on mobile,
     while the global layout system keeps ownership of the main page sections only. */
  body.dsk-page-home{
    --dsk-home-footer-mobile-gutter:16px;
  }

  body.dsk-page-home footer.dsk-site-footer{
    --dsk-container-pad:var(--dsk-home-footer-mobile-gutter) !important;
    --dsk-home-mobile-gutter:var(--dsk-home-footer-mobile-gutter) !important;
    --dsk-home-mobile-gutter-final:var(--dsk-home-footer-mobile-gutter) !important;
    --mobile-gutter:var(--dsk-home-footer-mobile-gutter) !important;
    width:100vw !important;
    width:100dvw !important;
    max-width:100vw !important;
    max-width:100dvw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-left:calc(50% - 50dvw) !important;
    margin-right:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50dvw) !important;
  }

  body.dsk-page-home footer.dsk-site-footer > .dsk-custom-footer.dsk-custom-footer{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:calc(env(safe-area-inset-left,0px) + var(--dsk-home-footer-mobile-gutter)) !important;
    padding-right:calc(env(safe-area-inset-right,0px) + var(--dsk-home-footer-mobile-gutter)) !important;
    padding-top:40px !important;
    box-sizing:border-box !important;
  }

  body.dsk-page-home .dsk-site-footer .dsk-grid{
    display:block !important;
    text-align:center !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  body.dsk-page-home .dsk-site-footer .dsk-col{
    width:100% !important;
    max-width:100% !important;
  }

  body.dsk-page-home .dsk-site-footer :is(.dsk-brand,.dsk-heading,.dsk-desc,.dsk-nap-block,.dsk-nav,.dsk-map-col){
    text-align:center !important;
  }

  body.dsk-page-home .dsk-site-footer .dsk-usp-block{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:8px !important;
    margin-top:14px !important;
  }

  body.dsk-page-home .dsk-site-footer .dsk-nav ul,
  body.dsk-page-home .dsk-site-footer .dsk-quick-links{
    padding-left:0 !important;
    margin-left:0 !important;
    list-style:none;
  }

  body.dsk-page-home .dsk-site-footer .dsk-nav li,
  body.dsk-page-home .dsk-site-footer .dsk-quick-links li{
    text-align:center !important;
  }

  body.dsk-page-home .dsk-site-footer :is(.dsk-nav a, .dsk-quick-links li > a){
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:min(100%, 20rem) !important;
    min-height:40px !important;
    padding:8px 0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    line-height:1.35 !important;
    text-align:center !important;
    box-sizing:border-box !important;
  }

  body.dsk-page-home .dsk-site-footer .dsk-btn-map{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.dsk-page-home .dsk-site-footer .dsk-nap-block p{
    margin:0 !important;
    line-height:1.55 !important;
  }

  body.dsk-page-home .dsk-site-footer .dsk-nap-block p + p{
    margin-top:10px !important;
  }

  body.dsk-page-home .dsk-site-footer .dsk-nap-block a{
    word-break:break-word;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:min(100%, 20rem) !important;
    min-width:140px !important;
    min-height:40px !important;
    padding:8px 12px !important;
    margin:6px auto 0 !important;
    line-height:1.35 !important;
    text-align:center !important;
    box-sizing:border-box !important;
  }

  body.dsk-page-home footer.dsk-site-footer > .dsk-custom-footer.dsk-custom-footer > .dsk-copyright.dsk-copyright{
    padding-left:0 !important;
    padding-right:0 !important;
    text-align:center !important;
    line-height:1.45;
    margin-top:28px;
    box-sizing:border-box !important;
  }
}

@media (max-width:768px){
  body.dsk-page-home footer.dsk-site-footer > .dsk-custom-footer.dsk-custom-footer{
    padding-top:32px !important;
    padding-bottom:20px !important;
  }

  body.dsk-page-home .dsk-site-footer .dsk-grid{
    display:grid !important;
    gap:24px !important;
  }

  body.dsk-page-home .dsk-site-footer .dsk-heading{
    margin-bottom:10px !important;
  }

  body.dsk-page-home .dsk-site-footer .dsk-nav li + li,
  body.dsk-page-home .dsk-site-footer .dsk-quick-links li + li{
    margin-top:8px !important;
  }

  body.dsk-page-home .dsk-site-footer .dsk-map-col{
    padding-top:4px !important;
  }
}
