
   /* 1. CORE RESET & SCROLL */
html{
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  overflow-y:scroll;
  overflow-x:hidden;
  scroll-behavior:auto;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
@supports (scrollbar-gutter: stable){
  html{ scrollbar-gutter: stable !important; }
}

body{
  margin:0;
  min-height:100%;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:clip;
  background: transparent;
}
@supports not (overflow-x: clip){
  body{ overflow-x:hidden; }
}

img{max-width:100%;height:auto;display:block}
*,:before,:after{box-sizing:border-box}

/* 2. UX TOUCH TARGETS */
button,
a,
.cta-button,
[role="button"]{
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;}

/* --- FIXY MOBILNE / UX (Mobile Safari / dotyk / vh) --- */

/* A) Mobile Safari input zoom: minimum 16px, inaczej Safari robi auto-zoom */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="url"],
textarea,
select{
  font-size:1rem !important;
  max-width:100%;
}

/* B) Dynamic viewport (Safari/Chrome mobile) — bez ucinania przez pasek adresu */
.hero-section,
.hero,
.full-height,
[data-b12-component*="Hero"]{
  min-height:100vh;
  min-height:100svh;
  min-height:100dvh;
}

/* C) "Clickable elements too close" — powiększamy hit-area na mobile (bez zmiany fontów) */
@media (max-width: 768px) and (pointer: coarse) and (hover: none){
  footer a,

nav a{
    display:inline-block;
    padding:10px 0;
  }
}

/* D) UI mniej "zaznaczalne" (opcjonalnie, bez psucia inputów) */
.cta-button,
[role="button"],

nav{
  -webkit-user-select:none;
  user-select:none;
}

/* --- KONIEC FIXÓW MOBILNYCH --- */

/* 3. LCP GUARD (Szybkie Hero) */
.hero-section,.hero,h1,h2,.cta-button,.cta{
  opacity:1;
  visibility:visible;
  animation: none;
  transition: none;
}

/* 4. STABILIZACJA NAGŁÓWKA */
[data-b12-component="Header"],
[data-b12-component="Navigation"],
[data-b12-id*="header"],
[data-b12-id*="menu"],

nav,
#site-header{
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

/* 5. WYŁĄCZENIE ANIMACJI DLA REDUCED MOTION */
@media (prefers-reduced-motion: reduce) {
  [data-b12-component],
  [data-b12-id] {
    animation: none !important;
    transition: none !important;
  }
}

/* 6. FIX: STOP "wjeżdżania" tekstów - Z WYJĄTKIEM MENU */
html.__no-enter-anim body [data-b12-component]:not([data-b12-component*="Header"]):not([data-b12-component*="Navigation"]):not(nav),
html.__no-enter-anim body [data-b12-component] *:not(nav *),
html.__no-enter-anim body [data-b12-id]:not([data-b12-id*="header"]):not([data-b12-id*="menu"]) {
  animation: none !important;
  transition: none !important;
  transform: none !important;
  opacity: 1 !important;
}

/* 7. HERO IMAGE RATIO */
.hero-image{
  position:relative;
  padding-bottom:56.25%;
  height:0;
  overflow:hidden;
  background:#050710;
}
.hero-image>img,
.hero-image>picture,
.hero-image>video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
@supports (aspect-ratio:16/9){
  .hero-image{
    aspect-ratio:16/9;
    padding-bottom:0;
    height:auto;
  }
}

/* 8. SKIP LINK */
.skip-link{
  position:fixed;
  top:-100px;
  left:0;
  background:#050710;
  color:#fff;
  padding:12px 20px;
  text-decoration:none;
  z-index:9999;
  min-height:44px;
  display:flex;
  align-items:center;
  transition:top .25s;
}
.skip-link:focus,
.skip-link:active{
  top:0;
}

/* 9. CLS GUARDS */
[data-cls-reserve]{min-height:var(--reserve-height,300px)}

/* Placeholder */
.lazy-image{
  aspect-ratio:16/9;
  min-height:200px;
  background:linear-gradient(90deg,#050710 25%,#0a0e1a 50%,#050710 75%);
  background-size:400% 100%;
  animation:shimmer 2s infinite;
}
@keyframes shimmer{
  0%{background-position:-400px 0}
  100%{background-position:400px 0}
}

/* 10. COOKIEYES STYLING FIX */
.cky-btn,
.cky-btn:visited{
  color:#ffffff !important;
}
.cky-btn-accept,
.cky-btn-primary,
.cky-btn-accept:visited,
.cky-btn-primary:visited{
  background-color:#ffffff !important;
  color:#050710 !important;
  border:1px solid #ffffff !important;
}
.cky-btn-reject,
.cky-btn-customize,
.cky-btn-secondary,
.cky-btn-reject:visited,
.cky-btn-customize:visited,
.cky-btn-secondary:visited{
  background-color:transparent !important;
  color:#ffffff !important;
  border:1px solid #ffffff !important;
}
.cky-btn:focus-visible,
.cky-btn-accept:focus-visible,
.cky-btn-reject:focus-visible,
.cky-btn-customize:focus-visible{
  outline:2px solid #ffffff !important;
  outline-offset:2px !important;
}

.cta-button,
button[type="submit"],
input[type="submit"]{
  color:#ffffff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.5);
}

/* 11. WYMUSZENIE FONTU */
html, body{
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif !important;
}

/* 12. COOKIEYES VISIBILITY FIX - POPRAWIONY (tylko z-index) */
.cky-consent-container,
.cky-banner-wrapper,
#cky-banner,
.cky-modal {
  z-index: 2147483647 !important;
}

/* 12b. FALLBACK COOKIE CONSENT (gdy CookieYes nie wstanie) – bez duplikatów */
/* Na mobile ustawiamy baner nad belką Zadzwoń */
/* DSK: reserve space for JS footer to reduce CLS (CrUX) */
/* === DSK: content-visibility dla stopki (render dopiero przy scrollu) === */
footer,
#footer-container,
.dsk-custom-footer,
#dsk-custom-footer-root,
#dsk-footer-root{
  content-visibility: auto;
  contain-intrinsic-size: 1px 450px;
}
@media (max-width:768px){
  footer,
  #footer-container,
  .dsk-custom-footer,
  #dsk-custom-footer-root,
  #dsk-footer-root{
    contain-intrinsic-size: 1px 800px;
  }
}

/* === DSK: footer render optimization (no forced min-height) ================= */
#site-footer, .dsk-custom-footer, #dsk-custom-footer-root, #dsk-footer-root {
  content-visibility: auto;
  contain-intrinsic-size: 1px 260px;
}
@media (max-width: 768px) {
  #site-footer, .dsk-custom-footer, #dsk-custom-footer-root, #dsk-footer-root {
    contain-intrinsic-size: 1px 420px;
  }
}
/* === DSK IMAGE STATIC LOAD (no fade-in, no slide) === */
img,
picture,
.b12-image img,
[data-b12-component] img {
  opacity: 1;
  transform: none;
  filter: none;
  animation: none;
  transition: none;
}

/* === DSK: CSS DEFENSE (Wave-1) — <code> wygląda jak nagłówek zanim JS podmieni na <h2> === */
main code:not(pre code){
  font-family: inherit !important;
  font-weight: 800 !important;
  font-size:clamp(1.25rem, 3.6vw, 1.75rem) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.01em !important;
  background: none !important;
  padding: 0 !important;
  border: 0 !important;
  color: inherit !important;
  display: block !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

#cookieyes,
.cky-consent-container,
.cky-banner-wrapper,
#cky-banner,
.cky-modal {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
}
  