/* ==========================================
   DRAGON OGRODZENIA 2025 - Premium Glass Layout
========================================== */

/* ---------- VARIABLES ---------- */
:root {
  --accent: #A20704;
  --accent-strong: #c30a06;
  --bg: #191817;
  --panel: #1f1e1d;
  --text: #CECCCA;
  --muted: #9b9998;
  --radius: 14px;
  --max-width: 1200px;
  --easing: cubic-bezier(.16,.84,.32,1);
  --focus-outline: rgba(162,7,4,0.18);
  --shadow-lg: 0 10px 30px rgba(0,0,0,0.6);
}

/* ---------- RESET & BASE ---------- */
*,
*::before,
*::after { box-sizing: border-box; }

html, body {
  height: 100%;
  margin: 0;
  font-family: 'Poppins', 'Inter', "Segoe UI", Roboto, sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.6;
  overflow-x: hidden;
}

img { display: block; max-width: 100%; height: auto; }
a { text-decoration: none; color: inherit; }
.container { width: min(var(--max-width), 92%); margin: 0 auto; }

/* ==========================================
   SEKCJE - WYRAŹNE ODDZIELENIE (NAPRAWIONE)
   - usunięto konflikt paddingów
========================================== */
.sector{
  position: relative;
  padding: 86px 0;            /* spójny “oddech” */
}

/* hero ma własny padding */
.hero.sector{ padding: 15px 20px 10px; }

/* delikatny separator górny */
.sector::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,0.12),
    transparent
  );
}

/* delikatny separator dolny */
.sector::after{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,0.08),
    transparent
  );
}

/* co druga sekcja - lekko inne tło (żeby się nie zlewały) */
.sector:nth-of-type(even){
  background: rgba(255,255,255,0.02);
}

@media (max-width: 820px){
  .sector{ padding: 64px 0; }
}

/* ==========================================
   HERO SECTION
========================================== */
.hero {
  position: relative;
  width: 100%;
  min-height: 85vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: url('hero-bg.jpg') center/cover no-repeat;
}

.hero-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  max-width: 900px;
}

.hero-top-badge {
  background: rgba(255,255,255,0.15);
  backdrop-filter: blur(8px);
  padding: 14px 32px;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: .5px;
  color: #fff;
  border-radius: 50px;
  border: 1px solid rgba(255,255,255,0.25);
  text-transform: uppercase;
  box-shadow: 0 4px 16px rgba(0,0,0,0.25);
  animation: fadeInDown .7s ease forwards;
}

.hero-title {
  font-size: 2.8rem;
  font-weight: 800;
  line-height: 1.25;
  color: #fff;
  max-width: 850px;
  animation: fadeInUp .8s ease .1s forwards;
  opacity: 0;
}
.hero-title span { color: var(--accent); }

.hero-subtitle {
  max-width: 900px;
  font-size: 1.15rem;
  line-height: 1.65;
  color: rgba(255,255,255,0.85);
  animation: fadeInUp .8s ease .2s forwards;
  opacity: 0;
}

.btn-hero {
  padding: 14px 32px;
  font-size: 1.15rem;
  font-weight: 700;
  border-radius: 50px;
  background: var(--accent);
  color: #fff;
  letter-spacing: .4px;
  transition: .3s ease;
  animation: fadeInUp .8s ease .3s forwards;
  opacity: 0;
  margin-bottom: 0;
}
.section-title{
  margin: 0 0 46px;
  font-size: clamp(26px, 2.5vw, 40px);
  font-weight: 900;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: #fff;
}
.section-title::after{
  content:"";
  display:block;
  width: 84px;
  height: 3px;
  margin-top: 14px;
  background: var(--accent);
  border-radius: 99px;
  opacity: .95;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
  outline: none;
  box-shadow: 0 0 0 4px var(--focus-outline);
  border-radius: 12px;
}
.btn-hero:hover {
  transform: translateY(-3px);
  filter: brightness(1.15);
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInDown {
  from { opacity: 0; transform: translateY(-20px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 768px) {
  .hero-title { font-size: 2.1rem; }
  .hero-subtitle { font-size: 1rem; }
  .hero-top-badge { font-size: 1rem; padding: 10px 24px; }
}

/* ==========================================
   HEADER
========================================== */
.topbar {
  position: sticky;
  top: 0;
  z-index: 1200;
  background: rgba(25,24,23,0.9);
  backdrop-filter: blur(8px);
  padding: 4px 20px;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  transition: background .35s ease, box-shadow .35s ease;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* stan po przewinięciu (używany w JS) */
.topbar.scrolled {
  background: rgba(25,24,23,0.97);
  box-shadow: 0 10px 30px rgba(0,0,0,0.65);
}

.nav-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: var(--max-width);
}

/* LOGO */
.logo {
  width: 140px;
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: brightness(1.08);
  transition: transform .28s;
}
.logo img:hover { transform: scale(1.05); }

/* MENU - DESKTOP */
.menu {
  display: flex;
  gap: 18px;
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: center;
}
.menu li { position: relative; }

.nav-link {
  font-size: 17px;
  font-weight: 600;
  padding: 10px 14px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all .25s ease;
  color: var(--text);
}
.nav-link:hover {
  color: var(--accent);
  background: rgba(162,7,4,0.08);
  transform: translateY(-1px);
}

/* PRZYCISK WYCENY */
.btn-quote {
  background: var(--accent);
  color: #fff;
  padding: 12px 22px;
  border-radius: 14px;
  font-weight: 700;
  box-shadow: 0 8px 28px rgba(162,7,4,0.25);
  transition: transform .25s, box-shadow .25s;
}
.btn-quote:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(162,7,4,0.35);
}

/* SUBMENU */
.has-sub .sub-toggle {
  border: none;
  background: transparent;
  cursor: pointer;
}
.has-sub .arrow {
  font-size: 12px;
  transition: transform .3s;
}
.has-sub.open .arrow { transform: rotate(180deg); }

.sub-menu {
  list-style: none;
  padding-left: 0;
  position: absolute;
  top: 110%;
  left: 0;
  background: rgba(25,24,23,0.95);
  border-radius: 14px;
  padding: 14px 0;
  min-width: 220px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-15px);
  transition: all .35s ease;
  box-shadow: 0 16px 40px rgba(0,0,0,0.5);
  z-index: 500;
}
.has-sub.open .sub-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.sub-menu li a {
  display: block;
  padding: 12px 20px;
  font-size: 16px;
  font-weight: 500;
  color: var(--text);
  transition: all .25s ease;
}
.sub-menu li a:hover {
  background: rgba(162,7,4,0.15);
  color: #fff;
  transform: translateX(4px);
}

/* MOBILE MENU - HAMBURGER */
.nav-toggle {
  display: none;
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.hamburger-line {
  width: 32px;
  height: 3px;
  background: var(--accent);
  margin: 4px 0;
  border-radius: 3px;
  transition: all .28s ease;
}

/* bez animacji do X */
.nav-toggle.open .hamburger-line:nth-child(1),
.nav-toggle.open .hamburger-line:nth-child(2),
.nav-toggle.open .hamburger-line:nth-child(3) {
  transform: none;
  opacity: 1;
}
.projects.sector{
  background:
    radial-gradient(70% 45% at 50% 0%, rgba(255,255,255,0.05), transparent 70%),
    rgba(255,255,255,0.02);
}
.services.sector{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.00));
}
.contact.sector{
  background:
    radial-gradient(60% 50% at 50% 20%, rgba(195,17,13,0.12), transparent 70%);
}
/* =========================
   SERVICES - DOMYŚLNY TRYB (poziomy)
========================= */
.services-wrapper {
  position: relative;
  margin-top: 6px;
}

.services-grid {
  display: flex;
  gap: 24px;
  margin-top: 6px;
  overflow-x: auto;
  padding-bottom: 10px;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}
.services .services-wrapper:has(.services-grid--tiles) .scroll-btn{
  display:none;
}
/* karta usługi */
.service-card {
  flex: 0 0 336px;
  background: rgba(25,24,23,0.85);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 30px rgba(0,0,0,0.5);
  transition: transform .36s, box-shadow .36s;
  cursor: pointer;
  display: flex;
  flex-direction: column;
}

.service-card img {
  width: 100%;
  height: auto;
  aspect-ratio: 4032/1818;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.service-card:hover img { transform: scale(1.05); }

.service-card h3 {
  margin: 12px 16px 6px;
  color: #fff;
  font-size: 20px;
}
.service-card p {
  margin: 0 16px 16px;
  color: var(--text);
  opacity: .9;
}
.service-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 60px rgba(162,7,4,0.12);
}

/* ✅ USŁUGI - KAFELKI (NAPRAWIONE, bez scrolla) */
.services-grid.services-grid--tiles{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
  overflow:visible;
  padding-bottom: 0;
}

/* responsywność */
@media (max-width: 980px){
  .services-grid.services-grid--tiles{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px){
  .services-grid.services-grid--tiles{
    grid-template-columns:1fr;
  }
}

/* premium wygląd kafelków */
.services-grid--tiles .service-card{
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.10);
  background:rgba(255,255,255,0.06);
  box-shadow:0 10px 30px rgba(0,0,0,0.25);
}

.services-grid--tiles .service-card img{
  width:100%;
  height:190px;
  object-fit:cover;
  display:block;
  transition:transform .25s ease;
}

.services-grid--tiles .service-card:hover img{
  transform:scale(1.05);
}

.services-grid--tiles .service-card h3,
.services-grid--tiles .service-card p{
  padding:0 14px;
}
.services-grid--tiles .service-card h3{ padding-top:12px; }
.services-grid--tiles .service-card p{ padding-bottom:14px; }

/* ✅ Underline w kolorze Dragon (usunięty żółty) */
.services-grid h3 a,
.service-card h3 a{
  position: relative;
  display: inline-block;
  color:#fff;
  padding-bottom: 3px;
  transition: color .25s ease;
}
.services-grid h3 a::after,
.service-card h3 a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-2px;
  width:0%;
  height:2px;
  background: var(--accent);
  transition: width .35s ease;
}
.services-grid h3 a:hover::after,
.service-card h3 a:hover::after{
  width:100%;
}
.services-grid h3 a:hover,
.service-card h3 a:hover{
  color: var(--accent);
}

/* SCROLLBAR (tylko dla trybu poziomego) */
.services-grid:not(.services-grid--tiles)::-webkit-scrollbar { height: 8px; }
.services-grid:not(.services-grid--tiles)::-webkit-scrollbar-track { background: transparent; }
.services-grid:not(.services-grid--tiles)::-webkit-scrollbar-thumb {
  background: rgba(162,7,4,0.5);
  border-radius: 4px;
}

/* scroll buttons - i tak JS je wyłącza dla kafelków */
.scroll-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(25,24,23,0.85);
  color: #fff;
  border: none;
  font-size: 28px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 4px 16px rgba(0,0,0,0.5);
  transition: all 0.3s ease;
  z-index: 10;
}
.scroll-btn:hover {
  background: var(--accent);
  transform: translateY(-50%) scale(1.1);
}
.scroll-btn.left { left: -20px; }
.scroll-btn.right { right: -20px; }
@media (max-width: 900px) { .scroll-btn { display: none; } }

/* =========================
   PROJECTS SLIDER - SINGLE SLIDE
========================= */
.projects-slider-wrapper {
  position: relative;
  margin-top: 12px;
  overflow: hidden;
}

.projects-slider {
  display: flex;
  transition: transform 0.5s ease;
  width: 100%;
}

.proj-slide {
  flex: 0 0 100%;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 30px rgba(0,0,0,0.4);
  position: relative;
}
.proj-slide img {
  width: 100%;
  height: auto;
  aspect-ratio: 4032/1818;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.proj-slide:hover img { transform: scale(1.05); }

.proj-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: none;
  background: rgba(25,24,23,0.85);
  color: #fff;
  font-size: 28px;
  cursor: pointer;
  box-shadow: 0 4px 16px rgba(0,0,0,0.5);
  z-index: 10;
  transition: all 0.3s ease;
}
.proj-btn:hover {
  background: var(--accent);
  transform: translateY(-50%) scale(1.1);
}
.proj-btn.left { left: -20px; }
.proj-btn.right { right: -20px; }
@media (max-width: 900px) { .proj-btn { display: none; } }

/* ---------- LIGHTBOX ---------- */
.lightbox {
  display: none;
  position: fixed;
  z-index: 2000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.9);
  justify-content: center;
  align-items: center;
}

.lightbox img.lightbox-img {
  max-width: 90%;
  max-height: 80%;
  width: auto;
  height: auto;
  border-radius: 12px;
  transition: transform 0.35s ease;
}

.lightbox .close {
  position: absolute;
  top: 20px;
  right: 30px;
  color: #fff;
  font-size: 36px;
  font-weight: bold;
  cursor: pointer;
  transition: color 0.2s;
}
.lightbox .close:hover { color: var(--accent); }

.lightbox-nav {
  position: absolute;
  top: 50%;
  width: 100%;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
}
.lightbox-nav span {
  font-size: 48px;
  color: #fff;
  cursor: pointer;
  padding: 10px;
  user-select: none;
}
.lightbox-nav span:hover { color: var(--accent); }

/* NEWSLETTER -> CTA */
.newsletter.full-width{
  background:#C3110D;
  color:#fff;
}

.newsletter-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;          /* było 28px */
  padding:34px 0;    /* było 58px → -40% */
}

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

.newsletter-title{
  margin:0 0 10px;   /* było 14px */
  color:#fff;
  font-weight:900;
  letter-spacing:-0.02em;
  line-height:0.95;
  text-transform:uppercase;
  font-size:clamp(32px, 4vw, 60px); /* minimalnie ciaśniej */
}

.newsletter-desc{
  margin:0;
  color:rgba(255,255,255,0.9);
  font-size:clamp(14px, 1.2vw, 19px);
  font-weight:600;
  line-height:1.3;
}

.newsletter-right{
  display:flex;
  flex-direction:column;
  gap:10px;          /* było 14px */
  min-width:280px;   /* było 300px */
}

.cta-pill{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:12px 18px; /* było 16px 22px */
  border-radius:14px;
  text-decoration:none;
  font-weight:700;
  font-size:17px;
  line-height:1;
  transition:transform .2s ease, box-shadow .2s ease;
}


.cta-number{
  display:inline-block;
  white-space:nowrap;
}
.cta-pill--dark{
  background:#0f1a2b;
  color:#fff;
  border:1px solid rgba(255,255,255,0.15);
}

.cta-pill--light{
  background:#fff;
  color:#0f1a2b;
  border:1px solid rgba(15,26,43,0.25);
}

.cta-pill:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(0,0,0,.25);
}

/* MOBILE */
@media (max-width: 900px){
  .newsletter-cta{
    flex-direction:column;
    align-items:flex-start;
    padding:26px 0; /* też ~40% mniej */
  }

  .newsletter-right{
    width:100%;
    max-width:420px;
  }

  .cta-pill{
    justify-content:flex-start;
  }
}

/* CONTACT - panel */
.contact-card{
  max-width: 760px;
  margin: 0 auto;
  padding: 28px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.04);
  box-shadow: 0 22px 60px rgba(0,0,0,0.35);
  backdrop-filter: blur(10px);
  position: relative;
  overflow: hidden;
}
/* ==================================================
   FOOTER - niski, spójny, z prawdziwymi ikonami SVG
================================================== */
.footer{
  background:
    radial-gradient(900px 320px at 16% -18%, rgba(162,7,4,.20) 0%, rgba(10,10,10,0) 60%),
    linear-gradient(180deg, rgba(12,12,12,0.98) 0%, rgba(7,7,7,0.99) 100%);
  padding: 42px 20px 0;
  color: var(--text);
  border-top: 1px solid rgba(255,255,255,0.06);
  font-family: 'Poppins','Inter',sans-serif;
}

.footer-inner{
  max-width: 1180px;
  margin: 0 auto;
}

.footer-sections{
  display: grid;
  grid-template-columns: 1.18fr .78fr .86fr .92fr;
  gap: 42px;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.footer-section{
  padding: 0;
  position: relative;
  text-align: left;
}

.footer-section:not(:last-child)::after{
  content: none;
}

.footer-logo{
  margin: 0 0 16px;
  font-size: 20px;
  line-height: 1.15;
  font-weight: 900;
  letter-spacing: -.02em;
  color: #fff;
}

.footer-logo span{
  color: #fff;
}

.footer-section h4{
  margin: 0 0 16px;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #fff;
}

.footer-section p,
.footer-section a{
  font-size: 14.5px;
  line-height: 1.58;
  color: rgba(255,255,255,.82);
  margin: 0 0 10px;
  transition: color .22s ease, opacity .22s ease, transform .22s ease;
}

.footer-section strong{
  color: rgba(255,255,255,.94);
  font-weight: 800;
}

.footer-section a{
  text-decoration: none;
}

.footer-section a:hover{
  color: var(--accent);
}

.footer-desc{
  max-width: 400px;
}

.footer-muted{
  color: rgba(255,255,255,.64) !important;
  font-size: 14px !important;
}

.footer-social{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.social-icon{
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: rgba(255,255,255,0.055);
  border: 1px solid rgba(255,255,255,0.10);
  display: inline-grid;
  place-items: center;
  box-shadow: 0 10px 22px rgba(0,0,0,0.28);
  color: #fff;
}

.social-icon svg{
  width: 20px;
  height: 20px;
  display: block;
  fill: currentColor;
}

.social-icon:hover{
  transform: translateY(-2px);
  color: #fff;
  background: rgba(162,7,4,.96);
  border-color: rgba(218,18,14,.85);
}

.social-facebook:hover{ background:#1877f2; border-color:#1877f2; }
.social-phone:hover{ background:rgba(162,7,4,.96); border-color:rgba(218,18,14,.85); }
.social-mail:hover{ background:rgba(162,7,4,.96); border-color:rgba(218,18,14,.85); }
.social-whatsapp:hover{ background:#25d366; border-color:#25d366; }

.footer-contact{
  font-size: 14.5px;
  line-height: 1.55;
}

.footer-contact-row{
  margin-bottom: 10px;
  color: rgba(255,255,255,.88);
  display: flex;
  align-items: center;
  gap: 10px;
}

.footer-contact-row a{
  color: rgba(255,255,255,.92);
  text-decoration: none;
  font-weight: 650;
  margin: 0;
}

.footer-contact-row a:hover{
  color: var(--accent);
  text-decoration: none;
}

.footer-contact-icon{
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  display: inline-grid;
  place-items: center;
  color: var(--accent);
}

.footer-contact-icon svg{
  width: 18px;
  height: 18px;
  display: block;
  fill: currentColor;
}

.footer-bottom{
  margin-top: 0;
  padding: 14px 0 16px;
  font-size: 12.5px;
  text-align: center;
  color: rgba(255,255,255,.55);
}

@media (max-width: 900px){
  .footer{
    padding-top: 34px;
  }

  .footer-sections{
    grid-template-columns: 1fr;
    gap: 26px;
    padding-bottom: 24px;
  }

  .footer-social{
    gap: 9px;
  }

  .social-icon{
    width: 44px;
    height: 44px;
  }
}

@media (max-width: 560px){
  .footer{
    padding: 30px 16px 0;
  }

  .footer-logo{
    font-size: 19px;
  }

  .footer-section p,
  .footer-section a{
    font-size: 14px;
  }

  .footer-bottom{
    text-align: left;
    font-size: 12px;
  }
}

/* SCROLL TOP */
.scroll-top {
  position: fixed;
  bottom: 32px;
  right: 32px;
  width: 48px;
  height: 48px;
  border: none;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  font-size: 22px;
  cursor: pointer;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .28s ease, transform .28s ease;
  z-index: 1500;
}
.scroll-top.visible { opacity: 1; transform: translateY(0); }

/* RESPONSIVE MENU */
@media (max-width: 900px) {
  .menu {
    flex-direction: column;
    position: fixed;
    top: 70px;
    right: 18px;
    background: rgba(25,25,25,0.97);
    padding: 14px;
    border-radius: 16px;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-10px);
    transition: all .28s ease;
  }

  .navigation.open .menu {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .nav-toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .logo { width: 130px; height: 130px; }
}

@media (max-width: 480px) {
  .social-icon { width: 38px; height: 38px; }
  .social-icon img { width: 18px; height: 18px; }
  .logo { width: 100px; height: 100px; }
}

@media (max-width: 768px) {
  .service-card { flex: 0 0 260px; }
}
/* FAQ */
.faq { padding: 40px 0; }

.faq-item {
  background: rgba(255,255,255,0.06);
  border-radius: 14px;
  margin-bottom: 14px;
  overflow: hidden;
  box-shadow: 0 8px 22px rgba(0,0,0,0.4);
  transition: all 0.35s ease;
}
.faq-item.open { background: rgba(255,255,255,0.09); }

.faq-question {
  width: 100%;
  background: transparent;
  border: none;
  padding: 18px 22px;
  color: #fff;
  text-align: left;
  font-size: 18px;
  font-weight: 600;
  cursor: pointer;
  letter-spacing: .3px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: background .25s ease;
}
.faq-question:hover { background: rgba(162,7,4,0.15); }

.faq-answer {
  padding: 0 22px;
  max-height: 0;
  overflow: hidden;
  color: var(--text);
  font-size: 16px;
  line-height: 1.65;
  transition: max-height 0.45s ease;
}
.faq-item.open .faq-answer { padding: 16px 22px 22px 22px; }

.faq-question::after {
  content: "▾";
  font-size: 18px;
  transition: transform 0.3s ease;
}
.faq-item.open .faq-question::after { transform: rotate(180deg); }

/* TIMELINE */
.timeline { padding: 40px 0; }

.timeline-wrapper {
  position: relative;
  margin-top: 30px;
  padding-left: 30px;
  border-left: 3px solid rgba(255,255,255,0.15);
}

.timeline-item {
  margin-bottom: 40px;
  position: relative;
  padding-left: 25px;
}
.timeline-item:last-child { margin-bottom: 0; }

.timeline-year {
  font-size: 22px;
  font-weight: 700;
  color: var(--accent);
  margin-bottom: 6px;
}

.timeline-content {
  font-size: 16px;
  line-height: 1.65;
  color: var(--text);
}

.timeline-item::before {
  content: "";
  position: absolute;
  left: -11px;
  top: 4px;
  width: 14px;
  height: 14px;
  background: var(--accent);
  border-radius: 50%;
  box-shadow: 0 0 12px rgba(162,7,4,0.7);
}

/* =========================
   REVEAL ON SCROLL - FIX (MOBILE SAFE)
   ========================= */

.reveal-on-scroll{
  opacity: 0;
  transform: translateY(25px);
  transition: opacity 0.65s var(--easing), transform 0.65s var(--easing);
  will-change: opacity, transform;
}

.reveal-on-scroll.visible{
  opacity: 1;
  transform: translateY(0);
}

/* Timeline - osobny kierunek animacji */
.timeline-item.reveal-on-scroll{
  transform: translateX(-25px);
}
.timeline-item.reveal-on-scroll.visible{
  transform: translateX(0);
}

/* HARD FAILSAFE - MOBILE */
@media (max-width: 900px){
  .reveal-on-scroll{
    opacity: 1 !important;
    transform: none !important;
  }
}

@media (max-width: 700px) {
  .timeline-wrapper {
    border-left: none;
    border-top: 3px solid rgba(255,255,255,0.15);
    padding-left: 0;
    padding-top: 30px;
  }
  .timeline-item {
    padding-left: 0;
    padding-top: 20px;
  }
  .timeline-item::before { left: 0; top: -10px; }
}

/* GALLERY BIG */
.gallery-big {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  gap: 22px;
  margin-top: 30px;
}

.gallery-big img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  border-radius: 16px;
  box-shadow: 0 12px 38px rgba(0,0,0,0.55);
  transition: transform .35s ease, box-shadow .35s ease;
}
.gallery-big img:hover {
  transform: scale(1.06);
  box-shadow: 0 16px 48px rgba(0,0,0,0.65);
}

/* WYCENA - zostawiam jak było (bez naruszania logiki) */
/* (Twoje bloki .wycena-* są OK, bo są izolowane klasami) */
/* ==================================================
   SUBPAGE HERO - PODSTRONY
================================================== */

.subpage-hero {
  min-height: 55vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-size: cover !important;
  background-position: center !important;
  position: relative;
}

.subpage-hero h1 {
  font-size: 3rem;
  font-weight: 800;
  color: #fff;
  text-shadow: 0 6px 22px rgba(0,0,0,0.7);
}

.subpage-hero strong {
  color: var(--accent);
}

@media (max-width: 900px){
  .subpage-hero h1{ font-size: 2.2rem; }
}

/* ==================================================
   BIG SLIDER - PODSTRONY (Powiększony slider)
================================================== */

.big-slider-wrapper {
  position: relative;
  margin-top: 22px;
}

.big-slider {
  display: flex;
  width: 100%;
  overflow: hidden;
  border-radius: 18px;
  box-shadow: 0 14px 40px rgba(0,0,0,0.55);
}

.big-slide {
  flex: 0 0 100%;
}

.big-slide img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  transition: transform .35s ease;
}
.big-slide:hover img { transform: scale(1.06); }

.big-slider-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 54px;
  height: 54px;
  border-radius: 50%;
  border: none;
  background: rgba(25,24,23,0.85);
  color: #fff;
  font-size: 32px;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(0,0,0,0.5);
  transition: all .25s ease;
  z-index: 10;
}
.big-slider-btn:hover {
  background: var(--accent);
  transform: translateY(-50%) scale(1.12);
}
.big-slider-btn.left  { left: -20px; }
.big-slider-btn.right { right: -20px; }

@media (max-width: 900px) {
  .big-slider-btn { display: none; }
  .big-slide img { height: 300px; }
}

/* ==================================================
   GALLERY - HORIZONTAL SLIDER (Ogrodzenia betonowe)
================================================== */

.gallery-slider-wrapper {
  position: relative;
  margin-top: 25px;
  overflow: hidden;
}

.gallery-slider {
  display: flex;
  overflow-x: auto;
  scroll-behavior: smooth;
  gap: 32px;
  padding-bottom: 10px;
  -webkit-overflow-scrolling: touch;
}

/* ukryj scrollbara (czysto premium) */
.gallery-slider::-webkit-scrollbar { display: none; }

.gallery-card {
  flex: 0 0 360px;
  cursor: pointer;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.45);
  transition: transform .3s ease, box-shadow .3s ease;
  background: rgba(25,24,23,0.85);
}

.gallery-card img {
  width: 100%;
  height: 260px;
  object-fit: cover;
}

.gallery-card:hover {
  transform: scale(1.06);
  box-shadow: 0 16px 48px rgba(0,0,0,0.65);
}

/* Buttons */
.gallery-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
  border: none;
  border-radius: 50%;
  font-size: 32px;
  color: #fff;
  background: rgba(0,0,0,0.75);
  cursor: pointer;
  z-index: 15;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .25s ease, transform .25s ease;
}

.gallery-btn:hover {
  background: var(--accent);
  transform: translateY(-50%) scale(1.1);
}

.gallery-btn.left { left: -15px; }
.gallery-btn.right { right: -15px; }

@media (max-width: 900px) {
  .gallery-btn { display: none; }
  .gallery-card { flex: 0 0 260px; }
  .gallery-card img { height: 180px; }
}

/* Animacja dla reveal-on-scroll */
.gallery-card.reveal-on-scroll {
  opacity: 0;
  transform: translateY(20px);
  transition: all .6s var(--easing);
}
.gallery-card.reveal-on-scroll.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ==================================================
   HERO SMALL - O NAS
================================================== */

.hero-small { min-height: 55vh; }

.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.65),
    rgba(0,0,0,0.75)
  );
  z-index: 0;
}

.hero-small .hero-content {
  position: relative;
  z-index: 2;
}

/* Badge */
.hero-badge {
  display: inline-block;
  padding: 8px 18px;
  border-radius: 30px;
  background: rgba(162,7,4,0.2);
  border: 1px solid rgba(162,7,4,0.45);
  color: #fff;
  font-weight: 700;
  letter-spacing: .6px;
  text-transform: uppercase;
  font-size: 0.85rem;
}

.hero-subtitle-strong {
  font-size: 1.25rem;
  color: #fff;
  margin-top: 10px;
}

.hero-subtitle-muted {
  font-size: 1.05rem;
  opacity: 0.85;
  max-width: 760px;
}

.hero-actions {
  display: flex;
  gap: 16px;
  margin-top: 20px;
  flex-wrap: wrap;
}

.btn-hero-outline {
  padding: 14px 30px;
  border-radius: 50px;
  font-weight: 700;
  font-size: 1.05rem;
  color: #fff;
  border: 2px solid rgba(255,255,255,0.6);
  background: transparent;
  transition: all .3s ease;
}

.btn-hero-outline:hover {
  background: rgba(255,255,255,0.1);
  border-color: #fff;
  transform: translateY(-2px);
}

@media (max-width: 768px) {
  .hero-small { min-height: 60vh; }
  .hero-actions { justify-content: center; text-align: center; }
  .hero-subtitle-strong { font-size: 1.15rem; }
}
/* =========================================
   KONTAKT - 2 kolumny + równa wysokość kart
========================================= */

/* wrapper sekcji */
.contact-wrap{
  display:grid;
  grid-template-columns: 1fr 1fr;  /* równa szerokość */
  gap:40px;
  align-items:stretch;            /* KLUCZ: równa wysokość */
}

/* obie kolumny jako karty */
.contact-card{
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 20px;
  padding: 28px;
  box-shadow: 0 18px 45px rgba(0,0,0,0.55);
  backdrop-filter: blur(10px);

  display:flex;                   /* KLUCZ */
  flex-direction:column;          /* KLUCZ */
  height:100%;                    /* KLUCZ */
}

/* CTA w lewej kolumnie zawsze na dole */
.contact-cta{
  margin-top:auto;
  display:flex;
  gap:12px;
}

/* siatka danych w lewej kolumnie */
.contact-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:16px;
  padding-top:18px;
  border-top: 1px dashed rgba(255,255,255,0.14);
}

/* na mniejszych ekranach */
@media (max-width: 1000px){
  .contact-wrap{
    grid-template-columns: 1fr;
  }
  .contact-grid{
    grid-template-columns: 1fr;
  }
}
/* --- FIX: formularz równo i szeroko --- */
.contact-form-modern .contact-fields{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 18px;
  margin-top: 18px;
}

.contact-form-modern .field{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0; /* krytyczne w gridach */
}

.contact-form-modern .field label{
  display:block;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.70);
}

.contact-form-modern .field input,
.contact-form-modern .field textarea{
  width:100%;
  display:block;
  min-width:0;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(10, 16, 30, 0.55);
  color:#fff;
}

.contact-form-modern .field--full{
  grid-column: 1 / -1; /* textarea na całą szerokość */
}

.contact-form-modern textarea{
  min-height: 180px;
  resize: vertical;
}

/* mobile */
@media (max-width: 900px){
  .contact-form-modern .contact-fields{
    grid-template-columns: 1fr;
  }
}
/* --- Podstawowe zmienne kolorystyczne --- */
:root {
  --accent: #A20704;         /* Główny kolor Dragon */
  --accent-strong: #c30a06;  /* Kolor przy hover */
  --bg: #191817;             /* Tło formularza */
  --glass-bg: rgba(25, 24, 23, 0.85); /* Szklany efekt */
  --text-color: #fff;
  --text-light: rgba(255, 255, 255, 0.8);
}

/* --- Kontener formularza (szklana karta) --- */
.contact-card.form-glass {
  background: var(--glass-bg);
  padding: 32px;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.4);
  color: var(--text-color);
  position: relative;
  overflow: hidden;
}

/* --- Nagłówek formularza --- */
.contact-head {
  text-align: center;
  margin-bottom: 24px;
}

.contact-title {
  font-size: 2rem;
  margin-bottom: 8px;
  font-weight: 700;
  color: var(--accent);
}

.contact-icon {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 64px;
  height: 64px;
  color: var(--text-light);
}

/* --- Alert po wysłaniu --- */
.form-alert--success {
  background: rgba(34, 139, 34, 0.9);
  color: #fff;
  padding: 12px 16px;
  border-radius: 8px;
  margin-bottom: 16px;
  text-align: center;
  font-weight: 600;
}

/* --- Grid pól formularza --- */
.contact-form-modern .form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr; /* dwa pola obok siebie */
  gap: 16px 18px;
}

.contact-form-modern .field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* --- Pola pełnej szerokości --- */
.field--full {
  grid-column: 1 / -1; /* zajmuje całą szerokość */
}

/* --- Labelki --- */
.contact-form-modern label {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--text-light);
}

/* --- Inputy i textarea --- */
.contact-form-modern input,
.contact-form-modern textarea {
  padding: 12px 16px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.05);
  color: var(--text-color);
  font-size: 1rem;
  transition: border 0.3s ease, background 0.3s ease;
}

.contact-form-modern input:focus,
.contact-form-modern textarea:focus {
  border-color: var(--accent);
  background: rgba(255, 255, 255, 0.1);
  outline: none;
}

/* --- Checkbox RODO --- */
.check {
  display: flex;
  align-items: center; /* WAŻNE: wyrównuje tekst do środka checkboxa */
  gap: 12px; /* odstęp między checkboxem a tekstem */
  font-size: 14px;
  color: #fff;
  cursor: pointer;
}

.check input[type="checkbox"] {
  display: none; /* ukrywa domyślny checkbox */
}

.check-box {
  width: 20px;
  height: 20px;
  border: 2px solid #a20704; /* czerwone obramowanie */
  border-radius: 4px; /* możesz dać 0 jeśli chcesz kwadrat */
  display: inline-block;
  position: relative;
}

.check input[type="checkbox"]:checked + .check-box::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 6px;
  width: 6px;
  height: 12px;
  border: solid #a20704;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.check-text a {
  color: #ff4b4b;
  text-decoration: underline;
  font-weight: 600;
}

/* --- Przycisk wyślij --- */
.btn-send {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 24px;
  background: var(--accent);
  color: #fff;
  font-weight: 700;
  font-size: 1rem;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  transition: background 0.3s ease, transform 0.2s ease;
}

.btn-send span {
  margin-left: 8px;
  font-size: 1.1rem;
}

.btn-send:hover {
  background: var(--accent-strong);
  transform: translateY(-2px);
}
.check {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 14px;
  color: #fff;
  cursor: pointer;
}

.check input[type="checkbox"] {
  display: none; /* ukrywa domyślny checkbox */
}

.check-box {
  width: 20px;
  height: 20px;
  border: 2px solid #a20704; /* czerwone obramowanie pasujące do kolorystyki Dragon */
  border-radius: 4px; /* możesz dać 0 jeśli chcesz kwadrat */
  display: inline-block;
  position: relative;
}

.check input[type="checkbox"]:checked + .check-box::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 6px;
  width: 6px;
  height: 12px;
  border: solid #a20704;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
/* --- Media queries: mobile --- */
@media (max-width: 768px) {
  .contact-form-modern .form-grid {
    grid-template-columns: 1fr;
  }
}
/* ==================================================
   DARMOWA WYCENA - FORMULARZ ULTRA PREMIUM 2025 (CAŁOŚĆ)
================================================== */

.wycena-form{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:36px;
}

/* szeroki kontener */
.container-wide{
  max-width:1600px;
  margin:0 auto;
  padding:0 32px;
}

.wycena-layout{
  display:grid;
  grid-template-columns:3fr 1.4fr;
  gap:40px;
}

.wycena-col{
  display:flex;
  flex-direction:column;
  gap:30px;
}

.wycena-col.aside{
  background:rgba(255,255,255,0.025);
  border:1px solid rgba(255,255,255,0.07);
  border-radius:22px;
  padding:30px;
  box-shadow:0 18px 46px rgba(0,0,0,0.45);
}

.wycena-section{
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.06);
  border-radius:20px;
  padding:24px 26px;
  box-shadow:0 14px 38px rgba(0,0,0,0.45);
}

.wycena-section.upload{
  border-style:dashed;
  background:rgba(255,255,255,0.04);
}

.wycena-section.cta-box{
  background:linear-gradient(
    180deg,
    rgba(162,7,4,0.22),
    rgba(0,0,0,0.48)
  );
  border-color:rgba(162,7,4,0.45);
  padding:20px 22px;
}

/* tytuły */
.wycena-title{
  font-size:1.3rem;
  font-weight:800;
  margin-bottom:20px;
  color:#fff;
  letter-spacing:.4px;
}

/* grid inputów */
.wycena-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:20px 22px;
}

/* inputy */
.wycena-form input,
.wycena-form select,
.wycena-form textarea{
  width:100%;
  padding:16px 22px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,0.09);
  background:rgba(0,0,0,0.38);
  color:#fff;
  font-size:16px;
  line-height:1.3;
  transition: border .25s ease, box-shadow .25s ease, background .25s ease;
}

.wycena-form textarea{
  resize:vertical;
  min-height:180px;
}

.wycena-form input::placeholder,
.wycena-form textarea::placeholder{
  color:rgba(255,255,255,0.55);
}

.wycena-form input:focus,
.wycena-form select:focus,
.wycena-form textarea:focus{
  outline:none;
  background:rgba(0,0,0,0.48);
  border-color:rgba(162,7,4,0.7);
  box-shadow:0 0 0 4px rgba(162,7,4,0.28);
}

/* PODMURÓWKA (warunkowa) */
.wycena-form select.podmurowka{
  visibility:hidden;
  opacity:0;
  height:0;
  padding-top:0;
  padding-bottom:0;
  margin:0;
  pointer-events:none;
  transition: opacity .25s ease, visibility .25s ease, height .25s ease, padding .25s ease;
}

.wycena-form select.podmurowka.is-visible{
  visibility:visible;
  opacity:1;
  height:auto;
  padding-top:16px;
  padding-bottom:16px;
  pointer-events:auto;
}

/* BRAMA - typ (warunkowa) */
.wycena-form input.brama-typ{
  visibility:hidden;
  opacity:0;
  height:0;
  padding-top:0;
  padding-bottom:0;
  margin:0;
  pointer-events:none;
  transition: opacity .25s ease, visibility .25s ease, height .25s ease, padding .25s ease;
}

.wycena-form input.brama-typ.is-visible{
  visibility:visible;
  opacity:1;
  height:auto;
  padding-top:16px;
  padding-bottom:16px;
  pointer-events:auto;
}

/* podpowiedzi */
.wycena-hint-inline{
  font-size:.75rem;
  color:rgba(255,255,255,0.5);
  margin-top:-10px;
  padding-left:6px;
}

.wycena-hint{
  font-size:.9rem;
  color:var(--muted);
  margin-bottom:14px;
}

/* stan błędu */
.wycena-form select:invalid,
.wycena-form input:invalid{
  border-color:rgba(220,80,80,.85);
}

.wycena-form select:invalid:focus,
.wycena-form input:invalid:focus{
  box-shadow:0 0 0 4px rgba(220,80,80,.35);
}

/* zgoda */
.consent-row{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  text-align:center;
}

.wycena-consent{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  font-size:13px;
  line-height:1.35;
  color:var(--text);
  max-width:520px;
}

.wycena-consent input{
  margin:0;
  width:16px;
  height:16px;
  accent-color:#fff;
  box-shadow:none;
  filter:none;
  outline:none;
}

.consent-info{
  font-size:12.5px;
  line-height:1.45;
  color:var(--muted);
  max-width:560px;
}

.consent-info a{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:3px;
}

/* CTA */
.cta-box{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
  text-align:center;
  padding:60px 20px;
  background: linear-gradient(135deg, #A20704, #c30a06);
  border-radius: 24px;
  color:#fff;
  box-shadow:0 8px 25px rgba(0,0,0,0.25);
}

.cta-box h2{
  font-size:2rem;
  font-weight:700;
  margin:0;
}

.cta-box .cta-note{
  font-size:1rem;
  color:rgba(255,255,255,0.85);
  margin-bottom:12px;
}

.cta-btn{
  padding:16px 36px;
  font-size:1.1rem;
  font-weight:800;
  border-radius:18px;
  background-color:#fff;
  color:#A20704;
  text-decoration:none;
  transition:all 0.3s ease;
  box-shadow:0 6px 15px rgba(0,0,0,0.2);
}

.cta-btn:hover{
  background-color:#f5f5f5;
  color:#c30a06;
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(0,0,0,0.3);
}

/* responsywność */
@media (max-width: 1100px){
  .cta-box{padding:50px 16px;}
  .cta-box h2{font-size:1.8rem;}
  .cta-btn{padding:14px 32px;font-size:1rem;}
}

@media (max-width: 860px){
  .cta-box{padding:40px 12px;}
  .cta-box h2{font-size:1.6rem;}
  .cta-btn{padding:12px 28px;font-size:.95rem;}
}
.wycena-note{
  font-size:.85rem;
  color:var(--muted);
}

/* honeypot */
.wycena-form .hp{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}

/* responsive */
@media (max-width: 1100px){
  .wycena-layout{ grid-template-columns:1fr; }
  .wycena-col.aside{ padding:24px; }
}

@media (max-width: 860px){
  .wycena-grid{ grid-template-columns:1fr; }
  .wycena-section{ padding:20px; }
  .wycena-title{ font-size:1.15rem; }
}
/* HARD FAILSAFE - MOBILE */
@media (max-width: 900px){
  .reveal-on-scroll{
    opacity: 1 !important;
    transform: none !important;
  }
}
/* =========================
   GALERIA - SEKCJA
========================= */

.sector[aria-labelledby="galeria-title"] {
  padding-top: 90px;
  padding-bottom: 100px;
}

/* Nagłówek + opis */
.sector[aria-labelledby="galeria-title"] .section-title {
  text-align: center;
  margin-bottom: 20px;
}

.sector[aria-labelledby="galeria-title"] p {
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
  font-size: 1.08rem;
  line-height: 1.7;
  opacity: 0.92;
}

/* 🔥 KLUCZ - DUŻY ODSTĘP OD ZDJĘĆ */
#doGalleryGrid {
  margin-top: 50px;
}


/* =========================
   GRID
========================= */

.do-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

/* 3 kolumny */
@media (max-width: 1200px) {
  .do-gallery-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* 2 kolumny */
@media (max-width: 850px) {
  .do-gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* 1 kolumna + poziome przewijanie */
@media (max-width: 600px) {
  .do-gallery-grid {
    display: flex;
    gap: 18px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 10px;
  }

  .do-gallery-grid::-webkit-scrollbar {
    height: 6px;
  }

  .do-gallery-grid::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.25);
    border-radius: 4px;
  }

  .do-tile {
    min-width: 85%;
    scroll-snap-align: center;
  }
}


/* =========================
   TILE
========================= */

.do-tile {
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255,255,255,0.03);
  cursor: pointer;
  position: relative;
  transition: transform .25s ease, box-shadow .25s ease;
}

.do-tile img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}

/* Hover desktop */
@media (hover:hover) {
  .do-tile:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(0,0,0,0.45);
  }

  .do-tile:hover img {
    transform: scale(1.05);
  }
}


/* =========================
   MOBILE IMAGE HEIGHT
========================= */

@media (max-width: 850px) {
  .do-tile img {
    height: 220px;
  }
}

@media (max-width: 600px) {
  .do-tile img {
    height: 240px;
  }
}
/* GALLERY LEAD (opis nad zdjęciami) */
.gallery-lead{
  max-width: 980px;
  margin: 14px auto 26px;
  opacity: .92;
  line-height: 1.7;
}

/* Delikatny odstęp podpisu pod miniaturą */
.gallery-cap{
  font-size: .92rem;
  opacity: .82;
  margin-top: 10px;
  padding: 0 6px;
}
.gallery-lead{
  max-width: 980px;
  margin: 16px auto 34px;
  line-height: 1.75;
  opacity: .92;
}
.gallery-lead{
  max-width: 980px;
  margin: 14px auto 26px; /* <-- duzy odstep od siatki */
  opacity: .92;
  line-height: 1.7;
  font-weight: 500;
}

.gallery-lead a{
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.25);
}
.gallery-lead a:hover{
  border-bottom-color: rgba(255,255,255,.55);
}

/* jesli nie masz pewnego gridu */
.gallery-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
@media (max-width: 1100px){
  .gallery-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px){
  .gallery-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px){
  .gallery-grid{ grid-template-columns: 1fr; }
}
/* ===============================
   FIX 2026-06-10 - formularz kontaktowy AJAX + RODO
=============================== */
.contact-error,
.contact-success{
  width:100%;
  padding:14px 16px;
  margin:0 0 16px;
  border-radius:12px;
  font-size:14px;
  font-weight:700;
  line-height:1.45;
}

.contact-success{
  background:rgba(40,167,69,.16);
  color:#8df0a4;
  border:1px solid rgba(40,167,69,.35);
}

.contact-error{
  background:rgba(220,53,69,.16);
  color:#ffb3bc;
  border:1px solid rgba(220,53,69,.38);
}

.contact-consent{
  display:flex !important;
  align-items:flex-start;
  gap:10px;
  margin:16px 0 18px;
  color:rgba(255,255,255,.78) !important;
  font-size:13px !important;
  line-height:1.45;
  text-transform:none !important;
  letter-spacing:0 !important;
  font-weight:500 !important;
}

.contact-consent input[type="checkbox"]{
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin-top:2px;
  accent-color:var(--accent);
}

.contact-consent a{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:3px;
}

.contact-form-modern .hp,
.hp{
  position:absolute !important;
  left:-10000px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.btn-send:disabled,
.newsletter-btn:disabled{
  opacity:.65;
  cursor:not-allowed;
  transform:none !important;
}

@media (max-width: 640px){
  .btn-send{
    width:100%;
  }

  .contact-consent{
    font-size:12.5px !important;
  }
}

/* ==================================================
   PATCH 2026-06-10 - Kontakt v2
   Poprawa widocznego honeypota, RODO i estetyki formularza
================================================== */
.contact.sector{
  padding: clamp(56px, 7vw, 96px) 0;
  background:
    radial-gradient(700px 360px at 74% 20%, rgba(162,7,4,.18), transparent 68%),
    radial-gradient(560px 320px at 18% 35%, rgba(255,255,255,.055), transparent 72%),
    linear-gradient(180deg, #111 0%, #181716 100%);
}

.contact-wrap{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: clamp(22px, 3vw, 40px) !important;
  align-items:stretch !important;
}

.contact-card{
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding:clamp(24px, 3vw, 36px) !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.09) !important;
  background:linear-gradient(145deg, rgba(43,31,30,.92), rgba(24,23,22,.96)) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.42) !important;
  overflow:hidden !important;
}

.contact-card--form,
.contact-form-card{
  background:
    linear-gradient(145deg, rgba(43,31,30,.96), rgba(25,24,23,.98)),
    radial-gradient(420px 240px at 100% 0%, rgba(162,7,4,.18), transparent 70%) !important;
}

.contact-form-head{
  margin-bottom:22px;
}

.contact-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
  color:#ffb3b1;
  font-size:12px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.contact-eyebrow::before{
  content:"";
  width:26px;
  height:2px;
  background:var(--accent);
  border-radius:20px;
}

.contact-form-title.section-title{
  margin:0 0 14px !important;
  font-size:clamp(28px, 3vw, 42px) !important;
  line-height:1.05 !important;
}

.contact-form-title.section-title::after{
  width:86px !important;
  margin-top:18px !important;
}

.contact-form-intro{
  max-width:560px;
  margin:0;
  color:rgba(255,255,255,.74);
  font-size:15px;
  line-height:1.65;
}

.contact-form-modern{
  position:relative;
  display:block;
}

.contact-honeypot,
.contact-form-modern .hp,
.hp{
  display:none !important;
  position:absolute !important;
  left:-99999px !important;
  top:-99999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  visibility:hidden !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

.contact-form-modern .contact-fields{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:18px !important;
  margin:0 !important;
}

.contact-form-modern .field{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  min-width:0 !important;
}

.contact-form-modern .field--full,
.contact-form-modern .field--phone{
  grid-column:1 / -1 !important;
}

.contact-form-modern .field label{
  margin:0 !important;
  color:rgba(255,255,255,.70) !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  line-height:1.2 !important;
  text-transform:uppercase !important;
}

.contact-form-modern .field input,
.contact-form-modern .field textarea{
  width:100% !important;
  min-width:0 !important;
  min-height:52px !important;
  padding:14px 16px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  border-radius:14px !important;
  background:rgba(12,17,28,.78) !important;
  color:#fff !important;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.18) !important;
  outline:none !important;
}

.contact-form-modern .field textarea{
  min-height:168px !important;
  resize:vertical !important;
}

.contact-form-modern .field input::placeholder,
.contact-form-modern .field textarea::placeholder{
  color:rgba(255,255,255,.45) !important;
}

.contact-form-modern .field input:focus,
.contact-form-modern .field textarea:focus{
  border-color:rgba(162,7,4,.95) !important;
  box-shadow:0 0 0 4px rgba(162,7,4,.22), inset 0 0 0 1px rgba(255,255,255,.04) !important;
}

.contact-form-modern .field input.is-invalid,
.contact-form-modern .field textarea.is-invalid{
  border-color:#e53935 !important;
  box-shadow:0 0 0 4px rgba(229,57,53,.18) !important;
}

.contact-consent{
  display:grid !important;
  grid-template-columns:22px minmax(0, 1fr) !important;
  gap:12px !important;
  align-items:start !important;
  width:100% !important;
  margin:18px 0 0 !important;
  padding:14px 16px !important;
  border:1px solid rgba(255,255,255,.09) !important;
  border-radius:14px !important;
  background:rgba(255,255,255,.035) !important;
  color:rgba(255,255,255,.78) !important;
  cursor:pointer !important;
  font-size:13px !important;
  font-weight:600 !important;
  line-height:1.55 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

.contact-consent input[type="checkbox"]{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.contact-consent-box{
  width:20px;
  height:20px;
  margin-top:1px;
  border:2px solid rgba(255,255,255,.62);
  border-radius:5px;
  background:rgba(255,255,255,.08);
  position:relative;
  transition:.2s ease;
}

.contact-consent input[type="checkbox"]:checked + .contact-consent-box{
  background:var(--accent);
  border-color:var(--accent);
}

.contact-consent input[type="checkbox"]:checked + .contact-consent-box::after{
  content:"";
  position:absolute;
  left:6px;
  top:2px;
  width:5px;
  height:10px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}

.contact-consent input[type="checkbox"]:focus-visible + .contact-consent-box{
  box-shadow:0 0 0 4px rgba(162,7,4,.28);
}

.contact-consent-text{
  min-width:0;
}

.contact-consent a{
  color:#fff !important;
  text-decoration:underline !important;
  text-decoration-thickness:1px !important;
  text-underline-offset:3px !important;
}

.contact-form-bottom{
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:18px;
  flex-wrap:wrap;
}

.btn-send{
  min-height:52px !important;
  padding:14px 28px !important;
  border-radius:14px !important;
  background:linear-gradient(135deg, #a20704, #cf100b) !important;
  color:#fff !important;
  box-shadow:0 16px 30px rgba(162,7,4,.24) !important;
}

.btn-send:hover{
  background:linear-gradient(135deg, #bd0a06, #e11912) !important;
}

.contact-note{
  margin:0 !important;
  color:rgba(255,255,255,.62) !important;
  font-size:14px !important;
  line-height:1.5 !important;
}

.contact-error,
.contact-success{
  margin:0 0 18px !important;
  border-radius:14px !important;
}

.contact-grid{
  gap:20px !important;
}

.contact-item{
  min-width:0;
}

.contact-txt,
.contact-txt span,
.contact-link{
  overflow-wrap:anywhere;
}

@media (max-width:1000px){
  .contact-wrap{
    grid-template-columns:1fr !important;
  }
}

@media (max-width:640px){
  .contact.sector{
    padding:42px 0;
  }

  .contact-card{
    padding:22px !important;
    border-radius:16px !important;
  }

  .contact-form-modern .contact-fields{
    grid-template-columns:1fr !important;
    gap:15px !important;
  }

  .contact-form-bottom{
    display:block;
  }

  .btn-send{
    width:100% !important;
  }

  .contact-note{
    margin-top:12px !important;
    text-align:center;
  }

  .contact-consent{
    padding:13px 14px !important;
    font-size:12.5px !important;
  }

  .contact-cta{
    flex-direction:column !important;
  }
}

/* ==================================================
   PATCH 2026-06-10 - Formularze: załączniki i węższy formularz główny
================================================== */
.contact .container > .contact-card.form-glass{
  width:100% !important;
  max-width:940px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:clamp(26px, 3vw, 42px) !important;
}

.contact .container > .contact-card.form-glass .contact-form-modern{
  width:100% !important;
  max-width:820px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.contact .container > .contact-card.form-glass .contact-title{
  text-align:center !important;
}

.contact-form-modern .attachment-field input[type="file"],
.wycena-section.upload input[type="file"]{
  cursor:pointer;
}

.contact-form-modern .attachment-field .optional,
.wycena-section.upload .optional{
  color:rgba(255,255,255,.48);
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.file-hint{
  display:block;
  margin-top:7px;
  color:rgba(255,255,255,.56) !important;
  font-size:12.5px !important;
  line-height:1.45 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  font-weight:500 !important;
}

.selected-files{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}

.selected-files .filepill,
.filepill{
  max-width:100%;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.055);
  color:rgba(255,255,255,.82);
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  line-height:1.25;
  overflow-wrap:anywhere;
}

.files-error,
.err{
  margin-top:8px;
  color:#ff9ca6;
  font-size:12.5px;
  line-height:1.45;
}

.contact-form-modern .field input[type="file"]{
  min-height:auto !important;
  padding:12px 14px !important;
  color:rgba(255,255,255,.74) !important;
}

.contact-form-modern .field input[type="file"]::file-selector-button{
  margin-right:12px;
  border:0;
  border-radius:10px;
  background:#a20704;
  color:#fff;
  padding:9px 12px;
  font-weight:800;
  cursor:pointer;
}

.wycena-section.upload .file-hint{
  margin:6px 0 0;
}

@media (max-width: 760px){
  .contact .container > .contact-card.form-glass{
    max-width:100% !important;
  }

  .contact .container > .contact-card.form-glass .contact-form-modern{
    max-width:100% !important;
  }
}


/* ==================================================
   LOCAL SEO / OBSZAR DZIAŁANIA - 2026
================================================== */
.local-hero{
  background:
    radial-gradient(820px 420px at 72% 6%, rgba(162,7,4,.22), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.01));
}

.local-hero.sector{
  padding-top:clamp(8px,1.4vw,18px);
  padding-bottom:clamp(64px,7vw,90px);
}
.local-hero-grid{
  display:grid;
  grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr);
  gap:34px;
  align-items:center;
}
.local-kicker{
  margin:0 0 12px;
  color:var(--accent-strong);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:13px;
}
.local-hero h1{
  margin:0 0 18px;
  color:#fff;
  font-size:clamp(24px,2.66vw,36px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.local-lead,
.local-intro{
  max-width:920px;
  color:rgba(255,255,255,.82);
  font-size:clamp(16px,1.4vw,19px);
  line-height:1.78;
}
.local-hero-actions,
.local-cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:24px;
}
.btn-outline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:13px 26px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50px;
  color:#fff;
  background:rgba(255,255,255,.045);
  font-weight:800;
  transition:.25s ease;
}
.btn-outline:hover{
  border-color:var(--accent);
  background:rgba(162,7,4,.16);
  transform:translateY(-2px);
}
.local-facts,
.local-side-panel,
.coverage-card,
.local-service-card,
.local-cta-box,
.notfound-card{
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.09);
  border-radius:22px;
  box-shadow:0 18px 50px rgba(0,0,0,.24);
}
.local-facts{
  padding:26px;
}
.local-facts h2,
.local-side-panel h3{
  margin:0 0 14px;
  color:#fff;
  font-size:22px;
}
.local-facts p,
.local-side-panel li,
.local-main-text p,
.coverage-card p,
.local-service-card span{
  color:rgba(255,255,255,.78);
}
.local-text-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:32px;
  align-items:start;
}
.local-main-text h2{
  margin-top:0;
  color:#fff;
  font-size:clamp(26px,3vw,40px);
  line-height:1.18;
}
.local-main-text p{
  font-size:16.5px;
  line-height:1.82;
}
.local-side-panel{
  padding:24px;
  position:sticky;
  top:110px;
}
.local-side-panel ul{
  margin:0;
  padding-left:20px;
}
.coverage-grid,
.local-services-grid,
.faq-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.coverage-card{
  padding:24px;
}
.coverage-card h3,
.local-service-card strong{
  color:#fff;
  display:block;
}
.coverage-card h3{
  margin:0 0 10px;
  font-size:21px;
}
.coverage-highlight{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:28px 0;
}
.coverage-highlight div{
  padding:18px;
  border-radius:18px;
  background:rgba(162,7,4,.12);
  border:1px solid rgba(162,7,4,.30);
}
.coverage-highlight strong,
.coverage-highlight span{
  display:block;
}
.coverage-highlight strong{ color:#fff; margin-bottom:6px; }
.coverage-highlight span{ color:rgba(255,255,255,.76); }
.local-link-cloud{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}
.local-link-cloud a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 15px;
  min-height:42px;
  border-radius:999px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.11);
  color:rgba(255,255,255,.86);
  font-size:14px;
  font-weight:750;
  transition:.22s ease;
}
.local-link-cloud a:hover{
  background:var(--accent);
  color:#fff;
  border-color:var(--accent-strong);
  transform:translateY(-2px);
}
.local-service-card{
  padding:22px;
  min-height:148px;
  transition:.25s ease;
}
.local-service-card:hover{
  transform:translateY(-4px);
  border-color:rgba(162,7,4,.55);
  background:rgba(162,7,4,.12);
}
.local-service-card strong{
  font-size:20px;
  margin-bottom:10px;
}
.faq-grid details{
  padding:20px;
  border-radius:18px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.09);
}
.faq-grid summary{
  cursor:pointer;
  color:#fff;
  font-weight:850;
}
.faq-grid p{
  color:rgba(255,255,255,.76);
  margin-bottom:0;
}
.local-cta-box{
  padding:30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.local-cta-box h2{ margin:0 0 8px; color:#fff; font-size:clamp(26px,3vw,42px); }
.local-cta-box p{ margin:0; color:rgba(255,255,255,.78); max-width:760px; }
.notfound-wrap{
  min-height:70vh;
  display:grid;
  place-items:center;
  padding:70px 20px;
}
.notfound-card{
  max-width:760px;
  padding:34px;
  text-align:center;
}
.notfound-card h1{ color:#fff; font-size:clamp(42px,7vw,84px); margin:0 0 12px; }
.notfound-card p{ color:rgba(255,255,255,.78); }
@media (max-width:1100px){
  .footer-sections{ grid-template-columns:1fr 1fr; }
  .coverage-grid,.local-services-grid,.faq-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px){
  .local-hero-grid,.local-text-grid{ grid-template-columns:1fr; }
  .local-side-panel{ position:static; }
  .coverage-highlight{ grid-template-columns:1fr; }
  .local-cta-box{ flex-direction:column; align-items:flex-start; }
}
@media (max-width:620px){
  .local-hero.sector{
    padding-top:12px;
    padding-bottom:58px;
  }

  .coverage-grid,.local-services-grid,.faq-grid{ grid-template-columns:1fr; }
  .local-hero-actions .btn-hero,.local-hero-actions .btn-outline,.local-cta-actions .btn-hero,.local-cta-actions .btn-outline{ width:100%; }
  .local-facts,.local-side-panel,.coverage-card,.local-service-card,.local-cta-box{ border-radius:16px; padding:20px; }
  .footer-sections{ grid-template-columns:1fr; }
}


/* ==================================================
   POPRAWKA SEO LOKALNE 90 KM OD GOLCE - 2026
================================================== */
.home-coverage .section-title,
.local-main-text strong{
  color:#fff;
}
.coverage-highlight--radius div{
  background:rgba(162,7,4,.16);
  border-color:rgba(214,16,12,.35);
}
.local-radius-card{
  overflow:hidden;
}
.radius-visual{
  position:relative;
  width:min(330px,100%);
  aspect-ratio:1/1;
  margin:22px auto;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(214,16,12,.38) 0 7px, transparent 8px),
    radial-gradient(circle at 50% 50%, rgba(214,16,12,.18) 0 31%, transparent 32%),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.05) 0 68%, transparent 69%),
    linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.015));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035), 0 20px 55px rgba(0,0,0,.25);
}
.radius-ring{
  position:absolute;
  inset:13%;
  border:1px dashed rgba(255,255,255,.28);
  border-radius:50%;
}
.radius-ring--two{
  inset:28%;
  border-color:rgba(214,16,12,.45);
}
.radius-point--center{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:2;
  padding:7px 11px;
  border-radius:999px;
  background:#d6100c;
  color:#fff;
  font-weight:900;
  font-size:13px;
  box-shadow:0 10px 25px rgba(214,16,12,.35);
}
.radius-label,
.radius-distance{
  position:absolute;
  color:rgba(255,255,255,.78);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.radius-label--top{top:12px;left:50%;transform:translateX(-50%)}
.radius-label--right{right:12px;top:50%;transform:translateY(-50%)}
.radius-label--bottom{bottom:12px;left:50%;transform:translateX(-50%)}
.radius-label--left{left:12px;top:50%;transform:translateY(-50%)}
.radius-distance{right:18%;bottom:23%;color:#fff;background:rgba(214,16,12,.22);border:1px solid rgba(214,16,12,.35);padding:5px 9px;border-radius:999px;}
.local-muted{color:rgba(255,255,255,.66)!important;font-size:14px;}
.coverage-grid--powiats{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.coverage-card--powiat a{
  display:inline-flex;
  margin-top:10px;
  color:#fff;
  font-weight:900;
  text-decoration:underline;
  text-underline-offset:4px;
}
.local-link-cloud--large a,
.local-link-cloud--stacked a,
.local-link-cloud--stacked span{
  margin-bottom:0;
}
.local-link-cloud--stacked{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.local-link-cloud--stacked span{
  display:inline-flex;
  padding:10px 15px;
  min-height:42px;
  border-radius:999px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.72);
  font-size:14px;
  font-weight:750;
}
.local-cta-box--compact{
  background:linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.11);
  border-radius:24px;
  box-shadow:0 22px 65px rgba(0,0,0,.32);
  padding:34px 40px;
}
.local-cta-box--compact .local-cta-actions{
  justify-content:flex-end;
}
.btn-outline--light{
  background:rgba(255,255,255,.09);
}
.btn-outline--panel{
  margin-top:14px;
  width:100%;
}
.cta-actions,
.cta-actions--standard{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
}
.cta-box{
  background:linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.025))!important;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 18px 50px rgba(0,0,0,.25);
}
.cta-btn--ghost{
  background:transparent!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.22);
}
.cta-pill--contact{
  background:#fff;
  color:#0f1a2b;
  border:1px solid rgba(15,26,43,0.25);
}
.newsletter-right .cta-pill--contact:hover{
  transform:translateY(-2px);
}
@media (max-width:900px){
  .coverage-grid--powiats{grid-template-columns:1fr;}
  .local-cta-box--compact{padding:24px;}
  .local-cta-box--compact .local-cta-actions{justify-content:flex-start;}
}
@media (max-width:620px){
  .cta-actions--standard .cta-btn{width:100%;}
  .radius-visual{width:min(280px,100%);}
  .local-hero h1{font-size:clamp(20px,5.6vw,27px);line-height:1.12;}
}


/* ==================================================
   PORADNIK / SEO CONTENT - 2026
================================================== */
.guide-hero{
  background:
    radial-gradient(820px 420px at 72% 6%, rgba(162,7,4,.20), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.01));
}
.guide-lead{
  max-width:920px;
  color:rgba(255,255,255,.82);
  font-size:clamp(16px,1.4vw,19px);
  line-height:1.78;
}
.guide-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.guide-card{
  display:block;
  padding:24px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.045);
  box-shadow:0 18px 50px rgba(0,0,0,.22);
  transition:.25s ease;
}
.guide-card:hover{
  transform:translateY(-4px);
  border-color:rgba(162,7,4,.55);
  background:rgba(162,7,4,.10);
}
.guide-card h2,
.guide-card h3{
  color:#fff;
  margin:0 0 10px;
  font-size:clamp(20px,2vw,28px);
  line-height:1.2;
}
.guide-card p,
.article-content p,
.article-content li{
  color:rgba(255,255,255,.78);
  line-height:1.78;
}
.article-content{
  max-width:980px;
}
.article-content h2{
  margin-top:34px;
  color:#fff;
  font-size:clamp(24px,2.6vw,36px);
  line-height:1.2;
}
.article-content h3{
  margin-top:24px;
  color:#fff;
  font-size:clamp(19px,2vw,25px);
}
.article-box{
  padding:24px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.045);
  margin:24px 0;
}
.trust-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.trust-card{
  padding:22px;
  border-radius:18px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.09);
}
.trust-card strong{
  display:block;
  color:#fff;
  font-size:20px;
  margin-bottom:8px;
}
.trust-card p{
  margin:0;
  color:rgba(255,255,255,.76);
}
@media (max-width:900px){
  .guide-grid,
  .trust-grid{
    grid-template-columns:1fr;
  }
}


/* ==================================================
   SEO / SEM FINAL 2026 - treści, landing pages, stopka autorska
================================================== */
.breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin:0 0 18px;
  color:rgba(255,255,255,.64);
  font-size:13px;
  font-weight:700;
}
.breadcrumbs a{color:rgba(255,255,255,.76);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.18)}
.breadcrumbs a:hover{color:#fff;border-bottom-color:var(--accent)}
.seo-hero{
  padding-top:clamp(34px,5vw,72px);
  background:radial-gradient(760px 360px at 72% 8%, rgba(162,7,4,.20), transparent 62%),linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01));
}
.seo-hero__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:34px;align-items:center}
.seo-hero h1{margin:0 0 18px;color:#fff;font-size:clamp(30px,4vw,56px);line-height:1.05;letter-spacing:-.035em}
.seo-hero__media{margin:0;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.10);box-shadow:0 22px 70px rgba(0,0,0,.32)}
.seo-hero__media img{width:100%;height:100%;max-height:390px;object-fit:cover}
.seo-content .container{position:relative}
.seo-columns{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:32px;align-items:start}
.seo-main-text{max-width:980px}
.seo-main-text h2{color:#fff;font-size:clamp(24px,2.4vw,36px);line-height:1.18;margin:0 0 18px}
.seo-main-text h3{color:#fff;font-size:22px;margin:28px 0 10px}
.seo-main-text p,.seo-main-text li{color:rgba(255,255,255,.78);font-size:16.5px;line-height:1.82}
.seo-side-card{position:sticky;top:110px;padding:22px;border-radius:20px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.10);box-shadow:0 18px 50px rgba(0,0,0,.24)}
.seo-side-card h2{margin:0 0 14px;color:#fff;font-size:21px}
.seo-side-card a{display:block;padding:11px 0;color:rgba(255,255,255,.84);border-bottom:1px solid rgba(255,255,255,.08);font-weight:750}
.seo-side-card a:hover{color:#fff;border-bottom-color:var(--accent)}
.seo-cta-box{margin:34px 0 0;padding:26px;border-radius:22px;background:linear-gradient(135deg,rgba(162,7,4,.22),rgba(255,255,255,.04));border:1px solid rgba(162,7,4,.34)}
.seo-cta-box h2{margin-bottom:10px}
.price-grid,.case-grid,.seo-trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}
.price-grid div,.seo-trust-grid article{padding:20px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09)}
.price-grid strong,.seo-trust-grid strong{display:block;color:#fff;font-size:18px;margin-bottom:8px}
.price-grid span,.seo-trust-grid span{display:block;color:rgba(255,255,255,.74);line-height:1.55}
.case-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.case-card{overflow:hidden;border-radius:20px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);box-shadow:0 18px 46px rgba(0,0,0,.28)}
.case-card img{width:100%;height:230px;object-fit:cover}
.case-card h2{padding:18px 18px 0;margin:0;color:#fff;font-size:22px}
.case-card p{padding:0 18px 20px;color:rgba(255,255,255,.76);line-height:1.65}
.seo-link-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.seo-link-row a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.11);color:#fff;font-weight:800}
.seo-link-row a:hover{background:var(--accent);border-color:var(--accent)}
.local-depth{background:rgba(255,255,255,.018)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;text-align:left}
.footer-author{font-size:12.5px;color:rgba(255,255,255,.52)}
.footer-author a{color:rgba(255,255,255,.72);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.18)}
.footer-author a:hover{color:#fff;border-bottom-color:var(--accent)}
@media (max-width:1100px){.seo-hero__grid,.seo-columns{grid-template-columns:1fr}.seo-side-card{position:static}.price-grid,.seo-trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-grid{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.seo-hero h1{font-size:clamp(28px,10vw,42px)}.price-grid,.case-grid,.seo-trust-grid{grid-template-columns:1fr}.footer-bottom{display:block;text-align:left}.footer-author{display:block;margin-top:8px}.seo-hero__media img{max-height:280px}.seo-columns{gap:22px}}

/* ==================================================
   PATCH 2026-06-21 - mniejsze nagłówki pomocnicze SEO
   H2 pozostaje H2 semantycznie, zmienia się tylko rozmiar wizualny.
================================================== */
.seo-main-text h2.seo-small-question{
  font-size:clamp(20px, 1.85vw, 28px) !important;
  line-height:1.22 !important;
  letter-spacing:-0.01em;
  margin-top:24px !important;
  margin-bottom:12px !important;
}

@media (max-width: 620px){
  .seo-main-text h2.seo-small-question{
    font-size:22px !important;
    line-height:1.24 !important;
  }
}
