* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: #ffffff;
  color: #101010;
  font-family: Arial, Helvetica, sans-serif;
}

.main-header {
  width: 100%;
  height: 175px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 5vw 20px;
  background: #000000;
  border-bottom: 1px solid #161616;
}

.logo {
  display: flex;
  align-items: center;
  text-decoration: none;
}

.logo img {
  width: 205px;
  max-height: 145px;
  object-fit: contain;
  display: block;
}

.main-nav {
  display: flex;
  align-items: center;
  gap: 58px;
}

.main-nav a {
  color: #ffffff;
  text-decoration: none;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.02em;
  transition: color .2s ease, transform .2s ease;
}

.main-nav a:hover {
  color: #c8192e;
  transform: translateY(-1px);
}

.hero {
  min-height: 660px;
  display: grid;
  grid-template-columns: 1.12fr .88fr;
  align-items: center;
  gap: 72px;
  padding: 92px 5vw 78px;
  background:
    radial-gradient(circle at 84% 22%, rgba(166,27,41,.13), transparent 25%),
    linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
}

.hero-left {
  max-width: 760px;
}

h1 {
  margin: 0;
  color: #050505;
  font-size: clamp(58px, 5.6vw, 86px);
  line-height: 1.05;
  letter-spacing: -0.055em;
  font-weight: 900;
}

.location {
  margin: 28px 0 38px;
  color: #123524;
  font-size: clamp(54px, 5.4vw, 82px);
  line-height: 1;
  letter-spacing: -0.055em;
  font-weight: 900;
}

.hero-card {
  min-height: 390px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-radius: 34px;
  padding: 54px;
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-left: 6px solid #c8192e;
  box-shadow: 0 26px 78px rgba(0,0,0,.10);
}

.spark {
  width: 96px;
  height: 96px;
  display: grid;
  place-items: center;
  margin-bottom: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, #c8192e, #e01f34);
  color: #ffffff;
  font-size: 52px;
  font-weight: 900;
}

.hero-card h2 {
  margin: 0 0 24px;
  color: #090909;
  font-size: clamp(36px, 3.3vw, 52px);
  line-height: 1.12;
  letter-spacing: -0.045em;
  font-weight: 900;
}

.hero-card p {
  margin: 0;
  color: #555555;
  font-size: 23px;
  line-height: 1.7;
}

.btn {
  min-height: 64px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 18px 36px;
  border-radius: 999px;
  border: 1px solid #dddddd;
  text-decoration: none;
  font-size: 20px;
  font-weight: 900;
}

.btn.red {
  color: #ffffff;
  background: linear-gradient(135deg, #b7162a, #d7263d);
  box-shadow: 0 20px 38px rgba(183,22,42,.25);
}

.btn.white {
  color: #111111;
  background: #ffffff;
}

.btn.green {
  color: #ffffff;
  background: linear-gradient(135deg, #1f5a42, #123524);
}

.contact-panel {
  margin: 64px 5vw 90px;
  padding: 60px 40px;
  text-align: center;
  border-radius: 34px;
  background: #ffffff;
  border: 1px solid #dedede;
  box-shadow: 0 28px 90px rgba(0,0,0,.08);
}

.section-label {
  margin: 0 0 18px;
  color: #555555;
  text-transform: uppercase;
  letter-spacing: .20em;
  font-size: 18px;
  font-weight: 900;
}

.contact-panel h2 {
  margin: 0 0 22px;
  color: #111111;
  font-size: clamp(42px, 4.2vw, 64px);
  line-height: 1.05;
  letter-spacing: -0.045em;
  font-weight: 900;
}

.contact-panel p {
  color: #555555;
  font-size: 22px;
  line-height: 1.6;
}

.contact-actions {
  margin-top: 34px;
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}

/* Podstrony */
.subpage-hero {
  padding: 90px 5vw 50px;
  background: linear-gradient(180deg, #ffffff, #fafafa);
}

.subpage-hero h1 {
  max-width: 1000px;
}

.section {
  padding: 72px 5vw 95px;
}

.cards,
.steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.card,
.steps article,
.wide-card {
  background: #ffffff;
  border: 1px solid #dedede;
  box-shadow: 0 22px 70px rgba(0,0,0,.08);
  border-radius: 30px;
  padding: 36px;
}

.icon {
  width: 70px;
  height: 70px;
  display: grid;
  place-items: center;
  border-radius: 20px;
  background: rgba(166,27,41,.10);
  color: #a61b29;
  font-size: 38px;
}

.card h3,
.steps h3,
.wide-card h3 {
  font-size: 28px;
  margin: 18px 0 12px;
}

.card p,
.steps p,
.wide-card p,
.lead {
  color: #555555;
  font-size: 21px;
  line-height: 1.7;
}

.steps span {
  color: #a61b29;
  font-size: 44px;
  font-weight: 900;
}

.wide-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

@media (max-width: 950px) {
  .main-header {
    height: auto;
    min-height: 130px;
    align-items: flex-start;
    flex-direction: column;
    padding: 16px 6vw;
  }

  .logo img {
    width: 145px;
    max-height: 105px;
  }

  .main-nav {
    gap: 18px;
    flex-wrap: wrap;
  }

  .main-nav a {
    font-size: 16px;
  }

  .hero,
  .cards,
  .steps {
    grid-template-columns: 1fr;
  }

  .hero {
    padding: 60px 6vw;
    gap: 44px;
  }

  h1 {
    font-size: clamp(46px, 12vw, 64px);
  }

  .location {
    font-size: clamp(42px, 11vw, 60px);
  }

  .hero-card {
    padding: 34px;
  }

  .contact-panel {
    margin: 45px 6vw 70px;
    padding: 40px 24px;
  }

  .wide-card {
    flex-direction: column;
    align-items: flex-start;
  }
}


/* Mniejszy główny nagłówek */
h1{
    font-size: clamp(50px,4.8vw,72px) !important;
}

/* Jaśniejszy kolor i trochę mniejszy napis "Okolice Szczytna" */
.location{
    color:#1d6b46 !important;
    font-size: clamp(44px,4.6vw,66px) !important;
}


/* ===== NAJNOWSZA WERSJA - POPRAWKI PREMIUM ===== */

/* Logo większe o ok. 35% */
.logo img {
  width: 275px !important;
  max-height: 190px !important;
}

/* Header dopasowany do większego logo */
.main-header {
  min-height: 190px !important;
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

/* Główny nagłówek delikatnie mniejszy */
.hero h1,
h1 {
  font-size: clamp(50px, 4.7vw, 74px) !important;
  line-height: 1.07 !important;
}

/* Okolice Szczytna jaśniejsze, butelkowo-zielone i czytelne */
.location {
  color: #1f7a4f !important;
  font-size: clamp(46px, 4.8vw, 68px) !important;
  line-height: 1.04 !important;
  margin-bottom: 52px !important;
  text-shadow: 0 10px 28px rgba(31, 122, 79, 0.16);
}

/* Większy odstęp przy przycisku */
.hero .btn.red {
  margin-top: 6px !important;
}

/* Bardziej premium tło hero z delikatnym czerwonym gradientem */
.hero {
  background:
    radial-gradient(circle at 86% 16%, rgba(200, 25, 46, 0.16), transparent 29%),
    radial-gradient(circle at 18% 78%, rgba(31, 122, 79, 0.055), transparent 25%),
    linear-gradient(180deg, #ffffff 0%, #fafafa 100%) !important;
}

/* Karta bardziej zaokrąglona i miękka */
.hero-card {
  border-radius: 42px !important;
  box-shadow: 0 32px 90px rgba(0,0,0,0.11) !important;
}

/* Responsywność dla większego logo */
@media (max-width: 950px) {
  .logo img {
    width: 170px !important;
    max-height: 125px !important;
  }

  .main-header {
    min-height: 145px !important;
  }

  .hero h1,
  h1 {
    font-size: clamp(42px, 10vw, 60px) !important;
  }

  .location {
    font-size: clamp(38px, 10vw, 54px) !important;
    margin-bottom: 38px !important;
  }
}

.footer{background:#000;color:#fff;display:flex;justify-content:center;gap:80px;padding:40px;font-size:32px;font-weight:700}.footer-item{text-align:center}

/* ===== PROFESJONALNA STOPKA ===== */
.premium-footer {
  margin-top: 0;
  background:
    radial-gradient(circle at 8% 10%, rgba(200, 25, 46, 0.16), transparent 26%),
    linear-gradient(135deg, #050505 0%, #111111 55%, #070707 100%);
  color: #ffffff;
  border-top: 1px solid rgba(255,255,255,0.08);
  padding: 44px 5vw;
}

.footer-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 42px;
  align-items: center;
}

.footer-brand {
  display: flex;
  align-items: center;
  gap: 22px;
}

.footer-brand img {
  width: 118px;
  max-height: 86px;
  object-fit: contain;
  display: block;
}

.footer-brand strong {
  display: block;
  font-size: 26px;
  letter-spacing: 0.08em;
  font-weight: 900;
}

.footer-brand span {
  display: block;
  margin-top: 6px;
  color: rgba(255,255,255,0.68);
  font-size: 15px;
  line-height: 1.5;
}

.footer-info {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.footer-item {
  min-height: 104px;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px;
  border-radius: 22px;
  background: rgba(255,255,255,0.055);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
}

.footer-icon {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #b7162a, #dc243b);
  color: #ffffff;
  font-size: 22px;
  box-shadow: 0 12px 28px rgba(183,22,42,0.28);
}

.footer-item small {
  display: block;
  margin-bottom: 4px;
  color: rgba(255,255,255,0.58);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  font-weight: 900;
}

.footer-item strong {
  display: block;
  color: #ffffff;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 900;
}

@media (max-width: 950px) {
  .premium-footer {
    padding: 34px 6vw;
  }

  .footer-inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .footer-info {
    grid-template-columns: 1fr;
  }

  .footer-brand img {
    width: 96px;
  }
}


/* ===== FINALNA STOPKA W STYLU REFERENCJI ===== */

/* zabezpieczenie przed ogromnym logo dodanym nad stopką */
main > img[src*="logo"],
body > img[src*="logo"] {
  display: none !important;
}

.site-footer {
  background: #111111 !important;
  color: #ffffff !important;
  padding: 54px 7vw 18px !important;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.footer-wrap {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr;
  gap: 72px;
  align-items: start;
}

.footer-col h4 {
  margin: 0 0 22px;
  color: #d92e3d;
  font-size: 15px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.22em;
}

.footer-col p,
.footer-col a {
  display: block;
  margin: 0 0 12px;
  color: rgba(255,255,255,0.64) !important;
  font-size: 18px;
  line-height: 1.55;
  text-decoration: none;
}

.footer-col a:hover {
  color: #ffffff !important;
}

.footer-brand-row {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 22px;
}

.footer-brand-row img {
  width: 72px !important;
  max-height: 72px !important;
  object-fit: contain !important;
  display: block !important;
}

.footer-brand-row strong {
  color: #ffffff;
  font-size: 28px;
  font-weight: 900;
  letter-spacing: -0.04em;
}

.footer-brand-row strong span {
  color: #d92e3d;
}

.footer-bottom {
  max-width: 1280px;
  margin: 42px auto 0;
  padding-top: 22px;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid rgba(255,255,255,0.10);
  color: rgba(255,255,255,0.30);
  font-size: 15px;
}

@media (max-width: 900px) {
  .site-footer {
    padding: 42px 6vw 18px !important;
  }

  .footer-wrap {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .footer-bottom {
    flex-direction: column;
    gap: 10px;
  }
}


/* ukrycie przypadkowego dużego logo */
body > img,
section img[src*="logo"]{
max-width:120px !important;
height:auto !important;
}

.site-footer{
background:#0d0d0d!important;
padding:60px 8%!important;
color:white!important;
}
.footer-wrap{
display:grid!important;
grid-template-columns:1.3fr 1fr 1fr!important;
gap:60px!important;
}
.footer-col h4{
color:#d92e3d!important;
letter-spacing:3px;
text-transform:uppercase;
}
.footer-col p,.footer-col a{
color:#bdbdbd!important;
text-decoration:none;
line-height:1.8;
}
.footer-brand-row img{
width:70px!important;
}
.footer-bottom{
border-top:1px solid rgba(255,255,255,.1);
padding-top:20px;
margin-top:30px;
display:flex;
justify-content:space-between;
color:#777;
}


/* ===== DEFINITIVE FIX: usuwa ogromne logo poza nagłówkiem ===== */

/* Jedyny obraz logo, który ma być widoczny, to ten w .main-header */
body img[src*="logo"],
main img[src*="logo"],
footer img[src*="logo"],
.site-footer img,
.premium-footer img,
.footer-brand img,
.footer-brand-row img {
  display: none !important;
}

/* Logo w górnym pasku zostaje widoczne */
.main-header .logo img,
header .logo img,
.main-header a.logo img {
  display: block !important;
}

/* Stopka bez obrazka logo — profesjonalna, tekstowa */
.site-footer {
  background: #101010 !important;
  color: #ffffff !important;
  padding: 58px 7vw 22px !important;
  margin: 0 !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
}

.footer-wrap {
  max-width: 1280px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1.3fr 1fr 1fr !important;
  gap: 70px !important;
  align-items: start !important;
}

.footer-brand-row {
  display: block !important;
  margin-bottom: 18px !important;
}

.footer-brand-row strong {
  color: #ffffff !important;
  font-size: 30px !important;
  font-weight: 900 !important;
  letter-spacing: -0.04em !important;
}

.footer-brand-row strong span {
  color: #d92e3d !important;
}

.footer-col h4 {
  color: #d92e3d !important;
  margin: 0 0 22px !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .22em !important;
}

.footer-col p,
.footer-col a {
  color: rgba(255,255,255,.64) !important;
  display: block !important;
  margin: 0 0 12px !important;
  text-decoration: none !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
}

.footer-bottom {
  max-width: 1280px !important;
  margin: 42px auto 0 !important;
  padding-top: 22px !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 24px !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
  color: rgba(255,255,255,.32) !important;
  font-size: 15px !important;
}

@media(max-width: 900px) {
  .footer-wrap {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }
  .footer-bottom {
    flex-direction: column !important;
  }
}


/* ===== ELEGANCKA, PROFESJONALNA STOPKA ===== */
.footer-pro {
  margin-top: 0;
  background:
    radial-gradient(circle at 12% 0%, rgba(183, 22, 42, 0.12), transparent 28%),
    linear-gradient(135deg, #080808 0%, #111111 55%, #070707 100%);
  color: #ffffff;
  padding: 58px 7vw 24px;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.footer-pro__top {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr;
  gap: 76px;
  align-items: start;
}

.footer-pro__name {
  font-size: 34px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.05em;
  color: #ffffff;
  margin-bottom: 22px;
}

.footer-pro__name span {
  color: #d9273d;
}

.footer-pro__brand p,
.footer-pro__column p,
.footer-pro__column a {
  margin: 0 0 12px;
  display: block;
  color: rgba(255,255,255,0.66) !important;
  text-decoration: none;
  font-size: 18px;
  line-height: 1.65;
}

.footer-pro__area {
  color: rgba(255,255,255,0.9) !important;
  font-weight: 800;
}

.footer-pro__column h4 {
  margin: 0 0 22px;
  color: #d9273d;
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.22em;
}

.footer-pro__column a:hover {
  color: #ffffff !important;
}

.footer-pro__contact strong {
  color: #ffffff;
  font-size: 20px;
}

.footer-pro__bottom {
  max-width: 1280px;
  margin: 44px auto 0;
  padding-top: 22px;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid rgba(255,255,255,0.10);
  color: rgba(255,255,255,0.34);
  font-size: 15px;
}

/* usuń/ukryj stare style stopki, jeśli zostały w CSS */
.site-footer,
.premium-footer {
  display: none !important;
}

/* logo w stopce nie jest używane */
.footer-pro img,
footer img {
  display: none !important;
}

@media (max-width: 900px) {
  .footer-pro {
    padding: 44px 6vw 22px;
  }

  .footer-pro__top {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .footer-pro__bottom {
    flex-direction: column;
    gap: 10px;
  }

  .footer-pro__name {
    font-size: 30px;
  }
}


/* STOPKA W ODDZIELNYM KAFELKU */
.footer-pro{
background:transparent!important;
padding:70px 0!important;
}

.footer-pro__top{
max-width:1280px;
margin:0 auto;
background:#111;
border-radius:32px;
padding:55px 60px;
box-shadow:0 20px 60px rgba(0,0,0,.15);
}

.footer-pro__bottom{
max-width:1280px;
margin:0 auto;
padding-top:18px;
}


/* =========================================================
   FINALNA PROFESJONALNA STOPKA W OSOBNYM KAFELKU
   ========================================================= */

/* usunięcie potencjalnych starych stopek */
.site-footer,
.premium-footer,
.footer-pro {
  display: none !important;
}

/* ukrycie każdego przypadkowego dużego logo poza headerem */
main img[src*="logo"],
footer img[src*="logo"],
body > img[src*="logo"] {
  display: none !important;
}

/* logo w górnym pasku ma zostać */
.main-header .logo img,
header .logo img {
  display: block !important;
}

.zm-footer-card {
  max-width: 1280px;
  margin: 80px auto 50px;
  padding: 54px 60px 26px;
  background:
    radial-gradient(circle at 12% 0%, rgba(217, 46, 61, 0.16), transparent 30%),
    linear-gradient(135deg, #080808 0%, #111111 55%, #080808 100%);
  color: #ffffff;
  border-radius: 34px;
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 28px 90px rgba(0,0,0,0.22);
}

.zm-footer-inner {
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr;
  gap: 72px;
  align-items: start;
}

.zm-footer-col h3 {
  margin: 0 0 22px;
  color: #ffffff;
  font-size: 34px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.05em;
}

.zm-footer-col h3 span {
  color: #d92e3d;
}

.zm-footer-col h4 {
  margin: 0 0 22px;
  color: #d92e3d;
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.24em;
}

.zm-footer-col p,
.zm-footer-col a {
  display: block;
  margin: 0 0 12px;
  color: rgba(255,255,255,0.68) !important;
  text-decoration: none !important;
  font-size: 18px;
  line-height: 1.65;
}

.zm-footer-col a:hover {
  color: #ffffff !important;
}

.zm-footer-col strong {
  color: #ffffff;
  font-size: 20px;
  font-weight: 900;
}

.zm-footer-bottom {
  margin-top: 42px;
  padding-top: 22px;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid rgba(255,255,255,0.10);
  color: rgba(255,255,255,0.34);
  font-size: 15px;
}

@media (max-width: 950px) {
  .zm-footer-card {
    margin: 55px 6vw 35px;
    padding: 38px 28px 22px;
    border-radius: 28px;
  }

  .zm-footer-inner {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .zm-footer-bottom {
    flex-direction: column;
    gap: 10px;
  }

  .zm-footer-col h3 {
    font-size: 30px;
  }
}

/* Footer backup styles */
.zm-footer-card a { color: rgba(255,255,255,.68) !important; }
.zm-footer-card a:hover { color: #fff !important; }
main img[src*="logo"], footer img[src*="logo"], body > img[src*="logo"] { display:none !important; }
.main-header .logo img, header .logo img { display:block !important; }


/* ===== RZECZYWISTA STOPKA - PEŁNA SZEROKOŚĆ, BEZ KAFELKA ===== */

/* wyłącz stare stopki/kafelki */
.zm-footer-card,
.site-footer,
.premium-footer,
.footer-pro {
  display: none !important;
}

/* prawdziwa stopka */
.real-footer {
  width: 100%;
  margin: 0;
  padding: 58px 7vw 22px;
  background: #111111;
  color: #ffffff;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.real-footer__content {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr;
  gap: 80px;
  align-items: start;
}

.real-footer h3 {
  margin: 0 0 22px;
  color: #ffffff;
  font-size: 34px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.05em;
}

.real-footer h3 span {
  color: #d92e3d;
}

.real-footer h4 {
  margin: 0 0 22px;
  color: #d92e3d;
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.24em;
}

.real-footer p,
.real-footer a {
  display: block;
  margin: 0 0 12px;
  color: rgba(255,255,255,0.66) !important;
  text-decoration: none !important;
  font-size: 18px;
  line-height: 1.65;
}

.real-footer a:hover {
  color: #ffffff !important;
}

.real-footer strong {
  color: #ffffff;
  font-size: 20px;
  font-weight: 900;
}

.real-footer__bottom {
  max-width: 1280px;
  margin: 42px auto 0;
  padding-top: 22px;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid rgba(255,255,255,0.10);
  color: rgba(255,255,255,0.34);
  font-size: 15px;
}

@media (max-width: 950px) {
  .real-footer {
    padding: 42px 6vw 20px;
  }

  .real-footer__content {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .real-footer__bottom {
    flex-direction: column;
    gap: 10px;
  }

  .real-footer h3 {
    font-size: 30px;
  }
}


/* ===== BLOK CTA W ZAKŁADCE CENNIK ===== */
.price-cta {
  padding: 0 5vw 70px;
  background: #ffffff;
}

.price-cta__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 46px 54px;
  border-radius: 28px;
  background: linear-gradient(135deg, #d92e3d, #c62034);
  color: #ffffff;
  box-shadow: 0 24px 70px rgba(217, 46, 61, 0.22);
}

.price-cta__inner h2 {
  margin: 0 0 12px;
  color: #ffffff !important;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.05;
  letter-spacing: -0.04em;
  font-weight: 900;
}

.price-cta__inner p {
  margin: 0 0 30px;
  color: rgba(255,255,255,0.92);
  font-size: 22px;
  line-height: 1.45;
}

.price-cta__buttons {
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
}

.price-cta__btn {
  min-height: 64px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 18px 34px;
  border-radius: 10px;
  text-decoration: none !important;
  font-size: 20px;
  font-weight: 900;
}

.price-cta__btn--white {
  background: #ffffff;
  color: #d92e3d !important;
}

.price-cta__btn--outline {
  color: #ffffff !important;
  border: 2px solid rgba(255,255,255,0.86);
  background: transparent;
}

.price-cta__btn--outline:hover {
  background: rgba(255,255,255,0.12);
}

@media (max-width: 760px) {
  .price-cta {
    padding: 0 6vw 50px;
  }

  .price-cta__inner {
    padding: 34px 24px;
  }

  .price-cta__btn {
    width: 100%;
  }
}


/* ===== ROZSZERZONA SEKCJA: DLACZEGO WŁAŚNIE MY ===== */
.why-final {
  padding: 80px 7vw 40px;
  background: #ffffff;
}

.why-final__inner {
  max-width: 1280px;
  margin: 0 auto;
}

.why-final__label {
  margin: 0 0 12px;
  color: #d92e3d;
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.22em;
}

.why-final h2 {
  margin: 0;
  color: #111111;
  font-size: clamp(44px, 5vw, 72px);
  line-height: 1.02;
  letter-spacing: -0.05em;
  font-weight: 900;
}

.why-final__line {
  width: 76px;
  height: 5px;
  margin: 24px 0 34px;
  border-radius: 999px;
  background: #d92e3d;
}

.why-final__lead {
  max-width: 980px;
  margin: 0 0 40px;
  color: #555555;
  font-size: 23px;
  line-height: 1.7;
}

.why-final__items {
  display: grid;
  gap: 20px;
}

.why-final__items article {
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 24px;
  align-items: center;
  padding: 26px 32px;
  background: #ffffff;
  border: 1px solid #e4e4e4;
  border-radius: 20px;
  box-shadow: 0 12px 36px rgba(0,0,0,0.045);
}

.why-final__items span {
  color: rgba(217, 46, 61, 0.16);
  font-size: 42px;
  font-weight: 900;
  line-height: 1;
}

.why-final__items h3 {
  margin: 0 0 6px;
  color: #111111;
  font-size: 24px;
  font-weight: 900;
}

.why-final__items p {
  margin: 0;
  color: #555555;
  font-size: 19px;
  line-height: 1.55;
}

@media (max-width: 760px) {
  .why-final {
    padding: 58px 6vw 30px;
  }

  .why-final__items article {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 24px;
  }

  .why-final__lead {
    font-size: 20px;
  }
}


/* ===== PANEL ADMINA ===== */
#adminToggle {
  position: fixed;
  left: 22px;
  bottom: 22px;
  z-index: 99999;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  background: #111111;
  color: #ffffff;
  padding: 14px 20px;
  font: 900 15px Arial, Helvetica, sans-serif;
  cursor: pointer;
  box-shadow: 0 18px 45px rgba(0,0,0,.28);
}

#adminToggle:hover {
  background: #1b1b1b;
}

#adminPanel {
  position: fixed;
  left: 22px;
  bottom: 82px;
  z-index: 99999;
  width: min(360px, calc(100vw - 44px));
  display: none;
  padding: 18px;
  border-radius: 22px;
  background: #111111;
  color: #ffffff;
  box-shadow: 0 22px 70px rgba(0,0,0,.38);
  font-family: Arial, Helvetica, sans-serif;
}

#adminPanel.open {
  display: block;
}

.admin-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.admin-panel-head strong {
  font-size: 20px;
}

#adminClose {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  color: #fff;
  font-size: 22px;
  cursor: pointer;
}

.admin-info,
.admin-note {
  color: rgba(255,255,255,.68);
  font-size: 14px;
  line-height: 1.45;
}

#adminPanel button,
.admin-file {
  width: 100%;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.16);
  background: #d92e3d;
  color: #ffffff;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
}

#adminPanel button:nth-of-type(3),
#adminPanel button:nth-of-type(4),
.admin-file {
  background: rgba(255,255,255,.08);
}

#adminPanel .danger {
  background: #3a1116;
}

.admin-file input {
  display: none;
}

[data-admin-editable="true"] {
  outline: 2px dashed #d92e3d !important;
  outline-offset: 5px;
  cursor: text;
}

body.admin-editing [data-admin-editable="true"]:hover {
  background: rgba(217,46,61,.06);
}


/* ===== PRZYCISK DO PANELU ADMINA ===== */
.admin-page-button {
  position: fixed;
  left: 22px;
  bottom: 22px;
  z-index: 99998;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 20px;
  border-radius: 999px;
  background: #111111;
  color: #ffffff !important;
  text-decoration: none !important;
  font: 900 15px Arial, Helvetica, sans-serif;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 18px 45px rgba(0,0,0,.28);
}

.admin-page-button:hover {
  background: #1b1b1b;
}

/* ===== PODSTRONA PANELU ADMINA ===== */
.admin-body {
  margin: 0;
  background: #f5f5f5;
  font-family: Arial, Helvetica, sans-serif;
  color: #111111;
}

.admin-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 40px 6vw;
}

.admin-login,
.admin-editor {
  width: min(1100px, 100%);
  background: #ffffff;
  border: 1px solid #dddddd;
  border-radius: 28px;
  box-shadow: 0 24px 80px rgba(0,0,0,.10);
  padding: 38px;
}

.admin-login {
  max-width: 480px;
}

.admin-login h1,
.admin-editor h1 {
  margin: 0 0 12px;
  font-size: 42px;
  line-height: 1;
  letter-spacing: -.04em;
}

.admin-login p,
.admin-editor p,
.admin-help {
  color: #555555;
  font-size: 17px;
  line-height: 1.55;
}

.admin-login label,
.admin-controls label {
  display: block;
  margin: 18px 0 8px;
  font-weight: 900;
}

.admin-login input,
.admin-controls select {
  width: 100%;
  min-height: 52px;
  border: 1px solid #d8d8d8;
  border-radius: 14px;
  padding: 0 15px;
  font-size: 17px;
}

.admin-login button,
.admin-editor button {
  min-height: 50px;
  border: 0;
  border-radius: 14px;
  background: #111111;
  color: #ffffff;
  font-weight: 900;
  padding: 0 22px;
  cursor: pointer;
}

#loginBtn {
  width: 100%;
  margin-top: 22px;
  background: #d92e3d;
}

.admin-back {
  display: inline-block;
  margin-top: 18px;
  color: #111111;
  font-weight: 900;
}

.admin-error {
  color: #d92e3d !important;
  font-weight: 900;
}

.admin-editor-head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
  margin-bottom: 24px;
}

.admin-controls {
  display: grid;
  gap: 14px;
  margin-bottom: 18px;
}

.admin-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.admin-actions button:nth-child(2) {
  background: #d92e3d;
}

.admin-actions button:nth-child(3) {
  background: #2c4d3a;
}

.admin-help {
  padding: 16px 18px;
  background: #f2f2f2;
  border-radius: 16px;
  margin-bottom: 18px;
}

.admin-preview {
  width: 100%;
  height: 720px;
  border: 1px solid #d8d8d8;
  border-radius: 20px;
  background: #ffffff;
}

@media(max-width: 760px){
  .admin-editor-head {
    flex-direction: column;
  }
  .admin-preview {
    height: 620px;
  }
}


/* ===== ADMIN W STOPCE ===== */
.admin-page-button {
  display: none !important;
}

.footer-admin-link {
  max-width: 1280px;
  margin: 22px auto 0;
  padding-top: 14px;
  text-align: right;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.footer-admin-link a,
.footer-admin-link.standalone {
  color: rgba(255,255,255,0.28) !important;
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.footer-admin-link a:hover,
.footer-admin-link.standalone:hover {
  color: #d92e3d !important;
}

/* ===== ULEPSZONY PANEL ADMINA ===== */
.admin-body-v2 {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at 12% 10%, rgba(217,46,61,.16), transparent 28%),
    linear-gradient(135deg, #070707, #141414);
  color: #111111;
  font-family: Arial, Helvetica, sans-serif;
}

.admin-shell {
  min-height: 100vh;
  padding: 34px;
}

.admin-card,
.admin-login-v2 {
  width: min(500px, 100%);
  margin: 7vh auto;
  padding: 42px;
  border-radius: 30px;
  background: #ffffff;
  box-shadow: 0 30px 90px rgba(0,0,0,.32);
}

.admin-logo-text {
  margin-bottom: 22px;
  color: #111111;
  font-size: 32px;
  font-weight: 900;
  letter-spacing: -.05em;
}

.admin-logo-text span {
  color: #d92e3d;
}

.admin-login-v2 h1,
.admin-workspace h1 {
  margin: 0 0 12px;
  color: #111111;
  font-size: 46px;
  line-height: 1;
  letter-spacing: -.05em;
}

.admin-login-v2 p,
.admin-workspace p,
.admin-tip {
  color: #555555;
  font-size: 17px;
  line-height: 1.55;
}

.admin-field {
  margin-top: 18px;
}

.admin-field label,
.admin-sidebar label {
  display: block;
  margin-bottom: 8px;
  color: #111111;
  font-weight: 900;
}

.admin-field input,
.admin-sidebar select {
  width: 100%;
  min-height: 54px;
  padding: 0 15px;
  border: 1px solid #d8d8d8;
  border-radius: 14px;
  font-size: 17px;
}

.admin-primary,
.admin-sidebar button {
  width: 100%;
  min-height: 50px;
  margin-top: 12px;
  border: 0;
  border-radius: 14px;
  background: #111111;
  color: #ffffff;
  font-weight: 900;
  cursor: pointer;
}

.admin-primary {
  margin-top: 24px;
  background: #d92e3d;
}

.admin-red {
  background: #d92e3d !important;
}

.admin-green {
  background: #2c4d3a !important;
}

.admin-dark {
  background: #222 !important;
}

.admin-outline {
  background: #ffffff !important;
  color: #111111 !important;
  border: 1px solid #d8d8d8 !important;
}

.admin-back {
  display: inline-block;
  margin-top: 18px;
  color: #111111;
  font-weight: 900;
}

.admin-error {
  color: #d92e3d !important;
  font-weight: 900;
}

.admin-editor-v2 {
  display: grid;
  grid-template-columns: 310px 1fr;
  gap: 24px;
  max-width: 1500px;
  margin: 0 auto;
}

.admin-sidebar {
  padding: 28px;
  border-radius: 28px;
  background: #ffffff;
  box-shadow: 0 24px 70px rgba(0,0,0,.24);
  align-self: start;
  position: sticky;
  top: 24px;
}

.admin-sidebar p {
  color: #666;
  margin-bottom: 24px;
}

.admin-workspace {
  padding: 28px;
  border-radius: 28px;
  background: #ffffff;
  box-shadow: 0 24px 70px rgba(0,0,0,.24);
}

.admin-top {
  display: flex;
  justify-content: space-between;
  gap: 22px;
  align-items: flex-start;
  margin-bottom: 18px;
}

.admin-status {
  flex: 0 0 auto;
  padding: 10px 14px;
  border-radius: 999px;
  background: #f0f0f0;
  color: #333;
  font-weight: 900;
  font-size: 14px;
}

.admin-tip {
  margin-bottom: 18px;
  padding: 16px 18px;
  border-radius: 16px;
  background: #f5f5f5;
}

.admin-preview-v2 {
  width: 100%;
  height: 760px;
  border: 1px solid #d8d8d8;
  border-radius: 22px;
  background: #ffffff;
}

@media(max-width: 980px){
  .admin-shell {
    padding: 18px;
  }

  .admin-editor-v2 {
    grid-template-columns: 1fr;
  }

  .admin-sidebar {
    position: static;
  }

  .admin-top {
    flex-direction: column;
  }

  .admin-preview-v2 {
    height: 650px;
  }
}


.footer-admin-link a,
.footer-admin-link.standalone{
  color: rgba(255,255,255,0.28)!important;
  transition: all .25s ease;
}

.footer-admin-link a:hover,
.footer-admin-link.standalone:hover{
  color:#d92e3d!important;
  text-shadow:0 0 10px rgba(217,46,61,.5);
}




/* ===== TŁO ZE ZDJĘCIEM TYLKO W GÓRNYCH SEKCJACH PODSTRON ===== */
body {
  background: #ffffff !important;
}

.photo-hero {
  position: relative;
  overflow: hidden;
  padding: 105px 7vw 85px !important;
  background:
    linear-gradient(rgba(255,255,255,.84), rgba(255,255,255,.92)),
    url('assets/background.jpg') center / cover no-repeat !important;
}

.photo-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 80% 12%, rgba(217,46,61,.16), transparent 30%),
    linear-gradient(90deg, rgba(255,255,255,.18), transparent);
}

.photo-hero > * {
  position: relative;
  z-index: 1;
}

.photo-hero h1 {
  color: #111111 !important;
  text-shadow: 0 8px 28px rgba(255,255,255,.62);
}

.photo-hero .lead,
.photo-hero p {
  color: #333333 !important;
}

@media(max-width: 760px) {
  .photo-hero {
    padding: 72px 6vw 60px !important;
    background:
      linear-gradient(rgba(255,255,255,.88), rgba(255,255,255,.94)),
      url('assets/background.jpg') center / cover no-repeat !important;
  }
}


/* ===== FAQ SEO PAGE ===== */
.faq-hero {
  padding: 95px 7vw 55px;
  background:
    radial-gradient(circle at 84% 18%, rgba(217,46,61,.10), transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f7f7f7 100%);
}

.faq-label {
  margin: 0 0 14px;
  color: #d92e3d;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.faq-hero h1 {
  margin: 0 0 24px;
  max-width: 980px;
  color: #111111;
  font-size: clamp(46px,5.4vw,78px);
  line-height: 1.02;
  letter-spacing: -.05em;
  font-weight: 900;
}

.faq-lead {
  max-width: 980px;
  color: #555555;
  font-size: 23px;
  line-height: 1.65;
}

.faq-section {
  padding: 70px 7vw 90px;
  background: #ffffff;
}

.faq-list {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  gap: 22px;
}

.faq-item {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 24px;
  align-items: flex-start;
  padding: 30px 34px;
  border: 1px solid #e5e5e5;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 12px 36px rgba(0,0,0,.04);
}

.faq-item span {
  color: rgba(217,46,61,.16);
  font-size: 44px;
  font-weight: 900;
  line-height: 1;
}

.faq-item h2 {
  margin: 0 0 10px;
  color: #111111;
  font-size: 28px;
  line-height: 1.2;
  letter-spacing: -.02em;
}

.faq-item p {
  margin: 0;
  color: #555555;
  font-size: 20px;
  line-height: 1.65;
}

.faq-seo-text {
  max-width: 1280px;
  margin: 44px auto 0;
  padding: 34px;
  border-radius: 24px;
  background: #f7f7f7;
  border-left: 5px solid #2c4d3a;
}

.faq-seo-text h2 {
  margin: 0 0 12px;
  color: #111111;
  font-size: 34px;
  line-height: 1.15;
}

.faq-seo-text p {
  margin: 0;
  color: #555555;
  font-size: 20px;
  line-height: 1.65;
}

@media(max-width:760px){
  .faq-item {
    grid-template-columns: 1fr;
    padding: 24px;
  }

  .faq-section {
    padding: 52px 6vw 70px;
  }

  .faq-hero {
    padding: 72px 6vw 45px;
  }
}


/* ===== FINAL LOGO FIX: TO SAMO LOGO NA KOMPUTERZE I TELEFONIE ===== */
.main-header .logo img,
header .logo img,
.logo img {
  content: url("assets/logo-final-zdu-mar.png?v=final-zdu-mar") !important;
  object-fit: contain !important;
  display: block !important;
}

/* Desktop */
.main-header .logo img,
header .logo img {
  width: 205px !important;
  max-height: 145px !important;
}

/* Mobile */
@media (max-width: 950px) {
  .main-header .logo img,
  header .logo img,
  .logo img {
    content: url("assets/logo-final-zdu-mar.png?v=final-zdu-mar") !important;
    width: 180px !important;
    max-height: 125px !important;
    object-fit: contain !important;
  }
}


/* ===== FINALNA POPRAWKA LOGO: bez białego paska i bez zdun-mar ===== */
.main-header .logo img,
header .logo img,
.logo img {
  content: url("assets/logo-zdu-mar-clean.png?v=clean-final") !important;
  width: 190px !important;
  max-height: 125px !important;
  object-fit: contain !important;
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* blok logo bez dodatkowych ramek */
.main-header .logo,
header .logo,
.logo {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
}

/* usunięcie przypadkowych dodatkowych grafik logo poza właściwym img */
.logo::before,
.logo::after,
.main-header .logo::before,
.main-header .logo::after {
  display: none !important;
  content: none !important;
}

@media (max-width: 950px) {
  .main-header,
  header.main-header {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
    gap: 24px !important;
  }

  .main-header .logo img,
  header .logo img,
  .logo img {
    content: url("assets/logo-zdu-mar-clean.png?v=clean-final") !important;
    width: 175px !important;
    max-height: 118px !important;
    object-fit: contain !important;
  }
}


/* ===== FINALNE PREMIUM LOGO ZDU-MAR ===== */
.main-header .logo img,
header .logo img,
.logo img {
  content: url("assets/logo-premium-zdu-mar.png?v=premium-final") !important;
  width: 205px !important;
  max-height: 145px !important;
  object-fit: contain !important;
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.main-header .logo,
header .logo,
.logo {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
}

@media (max-width: 950px) {
  .main-header .logo img,
  header .logo img,
  .logo img {
    content: url("assets/logo-premium-zdu-mar.png?v=premium-final") !important;
    width: 185px !important;
    max-height: 132px !important;
    object-fit: contain !important;
  }
}


/* ===== MENU HAMBURGER TYLKO NA TELEFONIE ===== */
.mobile-menu-toggle {
  display: none;
}

@media (max-width: 950px) {
  .main-header,
  header.main-header,
  header {
    position: relative !important;
  }

  .mobile-menu-toggle {
    display: inline-flex !important;
    width: 54px;
    height: 54px;
    margin-left: auto;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 6px;
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 14px;
    background: rgba(255,255,255,0.06);
    cursor: pointer;
    z-index: 10002;
  }

  .mobile-menu-toggle span {
    width: 26px;
    height: 3px;
    border-radius: 999px;
    background: #ffffff;
    transition: transform .25s ease, opacity .25s ease, background .25s ease;
  }

  body.mobile-menu-open .mobile-menu-toggle span:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
    background: #d92e3d;
  }

  body.mobile-menu-open .mobile-menu-toggle span:nth-child(2) {
    opacity: 0;
  }

  body.mobile-menu-open .mobile-menu-toggle span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
    background: #d92e3d;
  }

  .main-header nav,
  header.main-header nav,
  header nav {
    position: absolute !important;
    left: 6vw !important;
    right: 6vw !important;
    top: calc(100% - 8px) !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 18px !important;
    background: #111111 !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
    border-radius: 22px !important;
    box-shadow: 0 22px 65px rgba(0,0,0,0.32) !important;
    z-index: 10001 !important;
  }

  body.mobile-menu-open .main-header nav,
  body.mobile-menu-open header.main-header nav,
  body.mobile-menu-open header nav {
    display: flex !important;
  }

  .main-header nav a,
  header.main-header nav a,
  header nav a {
    display: block !important;
    width: 100% !important;
    padding: 16px 18px !important;
    color: #ffffff !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    border-radius: 14px !important;
  }

  .main-header nav a:hover,
  header.main-header nav a:hover,
  header nav a:hover {
    background: rgba(217,46,61,0.16) !important;
    color: #ffffff !important;
  }
}

/* Na laptopach menu zostaje bez zmian */
@media (min-width: 951px) {
  .mobile-menu-toggle {
    display: none !important;
  }
}


/* ===== FINAL MOBILE MENU: wygląd jak na wzorze ===== */
.mobile-menu-toggle {
  display: none;
}

@media (max-width: 950px) {
  .main-header,
  header.main-header,
  header {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 28px 8vw !important;
    background: #000000 !important;
  }

  .main-header .logo img,
  header .logo img,
  .logo img {
    width: 190px !important;
    max-height: 150px !important;
    object-fit: contain !important;
  }

  .mobile-menu-toggle {
    display: inline-flex !important;
    width: 56px !important;
    height: 56px !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 6px !important;
    margin-left: auto !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.06) !important;
    cursor: pointer !important;
    z-index: 10003 !important;
  }

  .mobile-menu-toggle span {
    width: 24px !important;
    height: 3px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    transition: transform .25s ease, opacity .25s ease, background .25s ease !important;
  }

  body.mobile-menu-open .mobile-menu-toggle span:nth-child(1) {
    transform: translateY(9px) rotate(45deg) !important;
    background: #d92e3d !important;
  }

  body.mobile-menu-open .mobile-menu-toggle span:nth-child(2) {
    opacity: 0 !important;
  }

  body.mobile-menu-open .mobile-menu-toggle span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg) !important;
    background: #d92e3d !important;
  }

  /* menu normalnie całkowicie ukryte */
  .main-header nav,
  header.main-header nav,
  header nav {
    display: none !important;
    position: absolute !important;
    top: calc(100% - 14px) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: min(78vw, 460px) !important;
    padding: 34px 22px !important;
    background: rgba(0,0,0,.94) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 28px !important;
    box-shadow: 0 28px 80px rgba(0,0,0,.45) !important;
    z-index: 10002 !important;
  }

  body.mobile-menu-open .main-header nav,
  body.mobile-menu-open header.main-header nav,
  body.mobile-menu-open header nav {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0 !important;
  }

  .main-header nav a,
  header.main-header nav a,
  header nav a {
    display: block !important;
    width: 100% !important;
    padding: 15px 12px !important;
    text-align: center !important;
    color: #ffffff !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    border-radius: 14px !important;
  }

  .main-header nav a:hover,
  header.main-header nav a:hover,
  header nav a:hover {
    background: rgba(217,46,61,.16) !important;
    color: #ffffff !important;
  }
}

@media (min-width: 951px) {
  .mobile-menu-toggle {
    display: none !important;
  }
}


/* =========================================================
   FINALNE MENU MOBILNE — DESKTOP/LAPTOP BEZ ZMIAN
   ========================================================= */

/* Domyślnie ukryte, więc laptop pozostaje bez zmian */
.zdu-mobile-menu-btn,
.zdu-mobile-panel {
  display: none !important;
}

/* Laptop/desktop: absolutnie nie pokazuj hamburgera ani panelu */
@media (min-width: 951px) {
  .zdu-mobile-menu-btn,
  .zdu-mobile-panel {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

/* Telefon */
@media (max-width: 950px) {
  header,
  .main-header {
    position: relative !important;
    overflow: visible !important;
    background: #000000 !important;
  }

  /* Ukryj normalne linki w nagłówku TYLKO na telefonie */
  header nav,
  .main-header nav {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  .zdu-mobile-menu-btn {
    display: inline-flex !important;
    position: absolute !important;
    right: 7vw !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    min-width: 112px !important;
    height: 54px !important;
    padding: 0 16px !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.07) !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
    z-index: 10020 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.25) !important;
  }

  .zdu-mobile-bars {
    display: inline-flex !important;
    flex-direction: column !important;
    gap: 5px !important;
  }

  .zdu-mobile-bars i {
    display: block !important;
    width: 22px !important;
    height: 3px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    transition: .25s ease !important;
  }

  .zdu-mobile-label {
    display: inline-block !important;
    color: #ffffff !important;
  }

  body.zdu-mobile-menu-open .zdu-mobile-bars i:nth-child(1) {
    transform: translateY(8px) rotate(45deg) !important;
    background: #d92e3d !important;
  }

  body.zdu-mobile-menu-open .zdu-mobile-bars i:nth-child(2) {
    opacity: 0 !important;
  }

  body.zdu-mobile-menu-open .zdu-mobile-bars i:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg) !important;
    background: #d92e3d !important;
  }

  .zdu-mobile-panel {
    display: none !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: calc(100% - 8px) !important;
    padding: 0 7vw !important;
    z-index: 10010 !important;
  }

  body.zdu-mobile-menu-open .zdu-mobile-panel {
    display: block !important;
  }

  .zdu-mobile-panel-box {
    width: 100% !important;
    max-width: 460px !important;
    margin: 0 auto !important;
    padding: 34px 22px !important;
    background: rgba(0,0,0,.96) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 28px !important;
    box-shadow: 0 28px 80px rgba(0,0,0,.55) !important;
    backdrop-filter: blur(4px) !important;
  }

  .zdu-mobile-panel-box a {
    display: block !important;
    width: 100% !important;
    padding: 15px 12px !important;
    text-align: center !important;
    color: #ffffff !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    border-radius: 14px !important;
  }

  .zdu-mobile-panel-box a:hover,
  .zdu-mobile-panel-box a:focus {
    background: rgba(217,46,61,.16) !important;
  }
}


/* =========================================================
   FINAL: MENU TYLKO NA TELEFONIE — LAPTOP BEZ ZMIAN
   ========================================================= */

.mobile-only-menu-button,
.mobile-only-menu-panel {
  display: none !important;
}

/* Laptop/desktop: nie pokazuj przycisku Menu ani panelu */
@media (min-width: 951px) {
  .mobile-only-menu-button,
  .mobile-only-menu-panel {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

/* Telefon: ukryj linki w pasku i pokaż tylko "☰ Menu" */
@media (max-width: 950px) {
  header,
  .main-header {
    position: relative !important;
    overflow: visible !important;
    background: #000000 !important;
  }

  header nav,
  .main-header nav,
  .desktop-nav-zdu {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  .mobile-only-menu-button {
    display: inline-flex !important;
    position: absolute !important;
    right: 7vw !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    min-width: 112px !important;
    height: 54px !important;
    padding: 0 16px !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.07) !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
    z-index: 10020 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.25) !important;
  }

  .mobile-only-menu-lines {
    display: inline-flex !important;
    flex-direction: column !important;
    gap: 5px !important;
  }

  .mobile-only-menu-lines i {
    display: block !important;
    width: 22px !important;
    height: 3px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    transition: .25s ease !important;
  }

  .mobile-only-menu-label {
    display: inline-block !important;
    color: #ffffff !important;
  }

  body.zdu-phone-menu-open .mobile-only-menu-lines i:nth-child(1) {
    transform: translateY(8px) rotate(45deg) !important;
    background: #d92e3d !important;
  }

  body.zdu-phone-menu-open .mobile-only-menu-lines i:nth-child(2) {
    opacity: 0 !important;
  }

  body.zdu-phone-menu-open .mobile-only-menu-lines i:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg) !important;
    background: #d92e3d !important;
  }

  .mobile-only-menu-panel {
    display: none !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: calc(100% - 8px) !important;
    padding: 0 7vw !important;
    z-index: 10010 !important;
  }

  body.zdu-phone-menu-open .mobile-only-menu-panel {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .mobile-only-menu-box {
    width: 100% !important;
    max-width: 460px !important;
    margin: 0 auto !important;
    padding: 34px 22px !important;
    background: rgba(0,0,0,.96) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 28px !important;
    box-shadow: 0 28px 80px rgba(0,0,0,.55) !important;
    backdrop-filter: blur(4px) !important;
  }

  .mobile-only-menu-box a {
    display: block !important;
    width: 100% !important;
    padding: 15px 12px !important;
    text-align: center !important;
    color: #ffffff !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    border-radius: 14px !important;
  }

  .mobile-only-menu-box a:hover,
  .mobile-only-menu-box a:focus {
    background: rgba(217,46,61,.16) !important;
  }
}


/* ===== POPRAWKA MENU NA TELEFONIE: font, kolor i linki pod sobą ===== */
@media (max-width: 950px) {
  .mobile-only-menu-button,
  .phone-menu-button,
  .zdu-mobile-menu-btn {
    font-family: inherit !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    letter-spacing: -0.02em !important;
    color: #ffffff !important;
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.18) !important;
    border-radius: 18px !important;
  }

  .mobile-only-menu-label,
  .phone-menu-text,
  .zdu-mobile-label {
    color: #ffffff !important;
    font-family: inherit !important;
    font-weight: 900 !important;
  }

  body.zdu-phone-menu-open .mobile-only-menu-panel,
  body.phone-menu-open .phone-menu-panel,
  body.zdu-mobile-menu-open .zdu-mobile-panel {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .mobile-only-menu-box,
  .phone-menu-panel__box,
  .zdu-mobile-panel-box {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 4px !important;
    background: rgba(0,0,0,0.96) !important;
    border-radius: 28px !important;
    padding: 34px 22px !important;
  }

  .mobile-only-menu-box a,
  .phone-menu-panel__box a,
  .zdu-mobile-panel-box a,
  .mobile-only-menu-box a:visited,
  .phone-menu-panel__box a:visited,
  .zdu-mobile-panel-box a:visited {
    display: block !important;
    width: 100% !important;
    padding: 15px 12px !important;
    text-align: center !important;
    color: #ffffff !important;
    font-family: inherit !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    border-radius: 14px !important;
  }

  .mobile-only-menu-box a:hover,
  .phone-menu-panel__box a:hover,
  .zdu-mobile-panel-box a:hover,
  .mobile-only-menu-box a:focus,
  .phone-menu-panel__box a:focus,
  .zdu-mobile-panel-box a:focus {
    color: #ffffff !important;
    background: rgba(217,46,61,0.16) !important;
    text-decoration: none !important;
  }
}



/* FINAL FIX: laptop bez zmian, mobile hamburger jak Avidri */
.zdu-mobile-only-menu-wrap{display:none!important}
@media (min-width:951px){
  .zdu-mobile-only-menu-wrap{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
}
@media (max-width:950px){
  header,.main-header{position:relative!important;overflow:visible!important;background:#000!important}
  header nav,.main-header nav{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;width:0!important;height:0!important;max-height:0!important;overflow:hidden!important}
  .zdu-mobile-only-menu-wrap{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
  .zdu-mobile-menu-btn{
    display:inline-flex!important;position:absolute!important;right:7vw!important;top:50%!important;transform:translateY(-50%)!important;
    align-items:center!important;justify-content:center!important;gap:9px!important;min-width:116px!important;height:56px!important;padding:0 17px!important;
    border:1px solid rgba(255,255,255,.16)!important;border-radius:18px!important;background:rgba(255,255,255,.08)!important;
    color:#fff!important;font-family:inherit!important;font-size:17px!important;font-weight:900!important;letter-spacing:-.02em!important;
    cursor:pointer!important;z-index:10030!important;appearance:none!important;-webkit-appearance:none!important;box-shadow:0 10px 30px rgba(0,0,0,.25)!important
  }
  .zdu-mobile-menu-bars{display:inline-flex!important;flex-direction:column!important;gap:5px!important}
  .zdu-mobile-menu-bars i{display:block!important;width:23px!important;height:3px!important;border-radius:999px!important;background:#fff!important;transition:.25s ease!important}
  .zdu-mobile-menu-label{color:#fff!important;font-family:inherit!important;font-weight:900!important}
  body.zdu-menu-open .zdu-mobile-menu-bars i:nth-child(1){transform:translateY(8px) rotate(45deg)!important;background:#d92e3d!important}
  body.zdu-menu-open .zdu-mobile-menu-bars i:nth-child(2){opacity:0!important}
  body.zdu-menu-open .zdu-mobile-menu-bars i:nth-child(3){transform:translateY(-8px) rotate(-45deg)!important;background:#d92e3d!important}
  .zdu-mobile-menu-panel{display:none!important;position:absolute!important;left:0!important;right:0!important;top:calc(100% - 8px)!important;padding:0 7vw!important;z-index:10020!important}
  body.zdu-menu-open .zdu-mobile-menu-panel{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
  .zdu-mobile-menu-card{
    width:100%!important;max-width:460px!important;margin:0 auto!important;padding:34px 22px!important;display:flex!important;flex-direction:column!important;
    align-items:stretch!important;gap:4px!important;background:rgba(0,0,0,.96)!important;border:1px solid rgba(255,255,255,.08)!important;
    border-radius:28px!important;box-shadow:0 28px 80px rgba(0,0,0,.55)!important;backdrop-filter:blur(4px)!important
  }
  .zdu-mobile-menu-card a,.zdu-mobile-menu-card a:link,.zdu-mobile-menu-card a:visited,.zdu-mobile-menu-card a:active{
    display:block!important;width:100%!important;padding:15px 12px!important;text-align:center!important;color:#fff!important;
    font-family:inherit!important;font-size:22px!important;font-weight:900!important;line-height:1.2!important;text-decoration:none!important;
    border-radius:14px!important;background:transparent!important
  }
  .zdu-mobile-menu-card a:hover,.zdu-mobile-menu-card a:focus{color:#fff!important;background:rgba(217,46,61,.16)!important;text-decoration:none!important}
}



/* Baner cookies */
.cookie-consent-banner{
  position:fixed;
  left:24px;
  right:24px;
  bottom:24px;
  z-index:99999;
  max-width:1120px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:20px 22px;
  border-radius:20px;
  background:rgba(18,18,18,.96);
  color:#fff;
  box-shadow:0 18px 55px rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(14px);
}
.cookie-consent-text{
  font-size:14px;
  line-height:1.65;
  color:rgba(255,255,255,.82);
}
.cookie-consent-text strong{
  color:#fff;
  font-weight:800;
  margin-right:4px;
}
.cookie-consent-text a{
  color:#fff;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
}
.cookie-consent-button{
  flex:0 0 auto;
  border:0;
  border-radius:999px;
  padding:13px 22px;
  background:#e21d2f;
  color:#fff;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 12px 26px rgba(226,29,47,.30);
  transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}
.cookie-consent-button:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 32px rgba(226,29,47,.38);
}
.cookie-consent-hide{
  opacity:0;
  transform:translateY(12px);
  pointer-events:none;
  transition:opacity .25s ease, transform .25s ease;
}
@media (max-width:720px){
  .cookie-consent-banner{
    left:14px;
    right:14px;
    bottom:14px;
    flex-direction:column;
    align-items:flex-start;
    padding:18px;
    border-radius:18px;
  }
  .cookie-consent-button{
    width:100%;
  }
}

.cookie-consent-banner{display:none!important;visibility:hidden!important;opacity:0!important;height:0!important;padding:0!important;margin:0!important;}

/* Centralny modal cookies */
.cookie-consent-banner{display:none!important;visibility:hidden!important;opacity:0!important;height:0!important;padding:0!important;margin:0!important;}
#zdu-cookie-modal{position:relative;z-index:9999999;}
.zdu-cookie-overlay{
  position:fixed;
  inset:0;
  z-index:9999999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(8,8,8,.68);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.zdu-cookie-box{
  width:min(680px,100%);
  max-height:calc(100vh - 36px);
  overflow:auto;
  background:#fff;
  border-radius:30px;
  box-shadow:0 34px 100px rgba(0,0,0,.34);
  border:1px solid rgba(255,255,255,.5);
}
.zdu-cookie-top{
  height:12px;
  background:linear-gradient(90deg,#111 0%,#d9253a 48%,#f04b5d 100%);
}
.zdu-cookie-content{padding:36px 40px 34px;text-align:left;}
.zdu-cookie-head{display:flex;gap:18px;align-items:flex-start;margin-bottom:18px;}
.zdu-cookie-icon{
  flex:0 0 64px;
  width:64px;
  height:64px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:20px;
  background:linear-gradient(135deg,#fff1f3,#f5f5f5);
  border:1px solid rgba(217,37,58,.16);
  box-shadow:0 14px 34px rgba(217,37,58,.12);
  font-size:30px;
}
.zdu-cookie-label{display:block;margin:0 0 8px;color:#d9253a;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.22em;}
.zdu-cookie-content h2{margin:0;font-size:clamp(30px,4vw,44px);line-height:1;letter-spacing:-.06em;color:#111;}
.zdu-cookie-text{margin:0;color:#444;font-size:17px;line-height:1.72;}
.zdu-cookie-content a{color:#d9253a;font-weight:900;text-decoration:none;}
.zdu-cookie-content a:hover{text-decoration:underline;}
.zdu-cookie-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:26px;}
.zdu-cookie-actions button,.zdu-cookie-save{
  min-height:52px;
  padding:14px 18px;
  border-radius:999px;
  font-weight:900;
  font-size:14px;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.zdu-cookie-actions button:hover,.zdu-cookie-save:hover{transform:translateY(-1px);}
.zdu-cookie-primary{border:0;background:#d9253a;color:#fff;box-shadow:0 16px 34px rgba(217,37,58,.26);}
.zdu-cookie-outline{border:1px solid rgba(0,0,0,.14);background:#fff;color:#111;}
.zdu-cookie-muted{border:1px solid rgba(0,0,0,.08);background:#f4f4f4;color:#333;}
.zdu-cookie-settings{margin-top:22px;padding:16px;border-radius:22px;background:#f7f7f7;border:1px solid rgba(0,0,0,.06);}
.zdu-cookie-option{display:flex;gap:12px;align-items:flex-start;padding:13px 10px;border-radius:16px;cursor:pointer;}
.zdu-cookie-option:hover{background:#fff;}
.zdu-cookie-option input{margin-top:4px;accent-color:#d9253a;transform:scale(1.15);}
.zdu-cookie-option strong{display:block;color:#111;font-size:15px;margin-bottom:3px;}
.zdu-cookie-option small{display:block;color:#666;font-size:13px;line-height:1.45;}
.zdu-cookie-disabled{cursor:default;opacity:.9;}
.zdu-cookie-save{display:flex;align-items:center;justify-content:center;width:100%;margin-top:14px;border:0;background:#111;color:#fff;box-shadow:0 14px 30px rgba(0,0,0,.18);}
.zdu-cookie-save[hidden],.zdu-cookie-settings[hidden]{display:none!important;}
@media(max-width:760px){
  .zdu-cookie-overlay{padding:14px;align-items:center;}
  .zdu-cookie-box{border-radius:24px;}
  .zdu-cookie-content{padding:28px 20px 22px;}
  .zdu-cookie-head{gap:14px;}
  .zdu-cookie-icon{width:54px;height:54px;flex-basis:54px;border-radius:17px;font-size:26px;}
  .zdu-cookie-actions{grid-template-columns:1fr;}
  .zdu-cookie-actions button,.zdu-cookie-save{width:100%;}
}

/* Poprawiony modal cookies — tylko akceptacja lub odrzucenie */
.zdu-cookie-lock{overflow:hidden;}
.zdu-cookie-actions-two{grid-template-columns:1fr 1fr!important;}
@media(max-width:760px){.zdu-cookie-actions-two{grid-template-columns:1fr!important;}}


/* Cookie modal centered */
.zdu-cookie-overlay{
position:fixed;inset:0;display:flex;align-items:center;justify-content:center;
background:rgba(0,0,0,.55);z-index:99999;padding:20px}
.zdu-cookie-box{width:min(680px,95vw);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.zdu-cookie-top{height:8px;background:#c62828}
body.zdu-cookie-lock{overflow:hidden}


/* Animowane ikonki w stopce */
.footer-contact-animated{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:rgba(255,255,255,.72)!important;
  text-decoration:none!important;
  transition:transform .25s ease, color .25s ease, opacity .25s ease;
}
.footer-contact-animated:hover{
  color:#ffffff!important;
  transform:translateX(6px);
}
.footer-contact-icon{
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(217,46,61,.16);
  color:#d92e3d;
  font-size:17px;
  box-shadow:0 0 0 0 rgba(217,46,61,.35);
  animation:footerIconPulse 2.6s ease-in-out infinite;
}
.footer-contact-animated:hover .footer-contact-icon{
  transform:scale(1.08) rotate(-6deg);
}
@keyframes footerIconPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(217,46,61,.30);}
  50%{box-shadow:0 0 0 9px rgba(217,46,61,0);}
}
.footer-service-link{
  transition:color .25s ease, transform .25s ease;
}
.footer-service-link:hover{
  color:#ffffff!important;
  transform:translateX(5px);
}

/* =========================================================
   FINAL MOBILE RESPONSIVE FIX — ZDU-MAR
   Poprawa widoku telefonu bez ruszania desktopu
   ========================================================= */
@media (max-width: 760px) {
  html, body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body {
    font-size: 16px !important;
    -webkit-text-size-adjust: 100% !important;
  }

  main,
  section,
  header,
  footer {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  /* Nagłówek mobilny */
  .main-header,
  header.main-header,
  header {
    height: auto !important;
    min-height: 116px !important;
    padding: 16px 22px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  .main-header .logo img,
  header .logo img,
  .logo img {
    width: 118px !important;
    max-width: 118px !important;
    max-height: 86px !important;
    object-fit: contain !important;
  }

  .zdu-mobile-menu-btn {
    right: 22px !important;
    min-width: 94px !important;
    height: 48px !important;
    padding: 0 13px !important;
    gap: 8px !important;
    border-radius: 17px !important;
    font-size: 14px !important;
  }

  .zdu-mobile-menu-bars i {
    width: 21px !important;
    height: 3px !important;
  }

  .zdu-mobile-menu-label {
    font-size: 14px !important;
  }

  .zdu-mobile-menu-panel {
    top: calc(100% - 2px) !important;
    padding: 0 18px !important;
  }

  .zdu-mobile-menu-card {
    max-width: 100% !important;
    padding: 22px 16px !important;
    border-radius: 22px !important;
  }

  .zdu-mobile-menu-card a {
    font-size: 18px !important;
    padding: 13px 10px !important;
  }

  /* Górne sekcje podstron */
  .photo-hero,
  .subpage-hero,
  .faq-hero {
    min-height: auto !important;
    padding: 52px 24px 46px !important;
    background-position: center !important;
  }

  .photo-hero > div,
  .subpage-hero > div,
  .faq-hero > div,
  main > section > div {
    width: 100% !important;
    max-width: 100% !important;
  }

  h1,
  .photo-hero h1,
  .subpage-hero h1,
  .faq-hero h1 {
    font-size: clamp(34px, 10vw, 44px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.045em !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  h2 {
    font-size: clamp(28px, 8vw, 36px) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.035em !important;
  }

  h3 {
    font-size: 22px !important;
    line-height: 1.2 !important;
  }

  .photo-hero p,
  .subpage-hero p,
  .faq-hero p,
  .lead,
  main p {
    font-size: 17px !important;
    line-height: 1.65 !important;
  }

  .photo-hero div[style*="width:74px"],
  .photo-hero div[style*="width: 74px"] {
    width: 64px !important;
    height: 5px !important;
    margin: 20px 0 28px !important;
  }

  /* Sekcje i karty */
  main section {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  article,
  .card,
  .service-card,
  .faq-card,
  .contact-card {
    width: 100% !important;
    max-width: 100% !important;
  }

  section article[style*="grid-template-columns"],
  article[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 22px !important;
  }

  section article h3,
  article h3 {
    font-size: 21px !important;
  }

  section article p,
  article p {
    font-size: 16px !important;
  }

  /* Przyciski */
  a[style*="inline-flex"],
  button,
  .btn,
  .cta-btn {
    max-width: 100% !important;
    white-space: normal !important;
  }

  /* Stopka */
  footer {
    padding: 44px 24px 24px !important;
  }

  footer > div:first-child {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  footer h3 {
    font-size: 30px !important;
  }

  footer p,
  footer a {
    font-size: 16px !important;
  }

  footer > div:last-child {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    font-size: 13px !important;
  }

  .footer-admin-link {
    margin-top: 18px !important;
    text-align: left !important;
  }
}

@media (max-width: 420px) {
  .main-header,
  header.main-header,
  header {
    min-height: 104px !important;
    padding: 14px 18px !important;
  }

  .main-header .logo img,
  header .logo img,
  .logo img {
    width: 104px !important;
    max-width: 104px !important;
    max-height: 76px !important;
  }

  .zdu-mobile-menu-btn {
    right: 18px !important;
    min-width: 86px !important;
    height: 44px !important;
    padding: 0 11px !important;
    font-size: 13px !important;
  }

  .zdu-mobile-menu-label {
    font-size: 13px !important;
  }

  .photo-hero,
  .subpage-hero,
  .faq-hero,
  main section {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  h1,
  .photo-hero h1,
  .subpage-hero h1,
  .faq-hero h1 {
    font-size: 38px !important;
  }
}

/* =========================================================
   FINAL FIX MOBILNY — brak białego paska i pełne dopasowanie
   ========================================================= */
html,
body {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
}

body {
  position: relative !important;
  background: #ffffff !important;
}

img,
video,
iframe,
svg,
canvas {
  max-width: 100% !important;
}

main,
header,
.main-header,
footer {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

@media (max-width: 950px) {
  body {
    font-size: 16px !important;
  }

  .main-header,
  header.main-header {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 118px !important;
    padding: 16px 24px !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: #000000 !important;
    box-sizing: border-box !important;
  }

  .main-header .logo,
  header .logo {
    width: auto !important;
    max-width: 128px !important;
    flex: 0 0 auto !important;
  }

  .main-header .logo img,
  header .logo img,
  .logo img {
    width: 118px !important;
    max-width: 118px !important;
    height: auto !important;
    max-height: 86px !important;
    object-fit: contain !important;
  }

  .zdu-mobile-menu-btn {
    position: static !important;
    transform: none !important;
    flex: 0 0 auto !important;
    min-width: 102px !important;
    height: 50px !important;
    padding: 0 14px !important;
    border-radius: 17px !important;
  }

  .zdu-mobile-menu-panel {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
  }

  .zdu-mobile-menu-card {
    width: 100% !important;
    max-width: 420px !important;
    box-sizing: border-box !important;
  }

  main {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  main section,
  .photo-hero,
  .subpage-hero,
  .section,
  .why-final,
  .price-cta,
  .contact-panel {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  main section > div,
  .photo-hero > div,
  .subpage-hero > div,
  .section > div,
  footer > div {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  h1,
  .photo-hero h1,
  .subpage-hero h1 {
    font-size: clamp(34px, 10vw, 44px) !important;
    line-height: 1.08 !important;
    max-width: 100% !important;
  }

  h2 {
    font-size: clamp(28px, 8vw, 36px) !important;
    line-height: 1.14 !important;
  }

  p,
  .lead,
  .photo-hero p,
  .subpage-hero p {
    font-size: 17px !important;
    line-height: 1.65 !important;
    max-width: 100% !important;
  }

  .cards,
  .steps,
  [style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
  }

  article,
  .card,
  .wide-card,
  .price-cta__inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  a,
  button,
  .btn,
  .price-cta__btn {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  footer,
  .real-footer,
  .zm-footer-card,
  .site-footer {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 44px 24px 24px !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  footer > div:first-child,
  .real-footer__content,
  .zm-footer-inner,
  .footer-wrap {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  footer > div:last-child,
  .real-footer__bottom,
  .zm-footer-bottom,
  .footer-bottom {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    align-items: start !important;
    justify-content: start !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  footer h3,
  .real-footer h3,
  .zm-footer-col h3 {
    font-size: 30px !important;
  }

  footer p,
  footer a,
  .real-footer p,
  .real-footer a {
    font-size: 16px !important;
    line-height: 1.55 !important;
    overflow-wrap: anywhere !important;
  }

  .footer-admin-link {
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 430px) {
  .main-header,
  header.main-header {
    min-height: 104px !important;
    padding: 14px 18px !important;
  }

  .main-header .logo img,
  header .logo img,
  .logo img {
    width: 104px !important;
    max-width: 104px !important;
    max-height: 76px !important;
  }

  .zdu-mobile-menu-btn {
    min-width: 92px !important;
    height: 46px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
  }

  .zdu-mobile-menu-label {
    font-size: 13px !important;
  }

  main section,
  .photo-hero,
  .subpage-hero,
  .section,
  .why-final,
  .price-cta,
  .contact-panel,
  footer,
  .real-footer {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}
