
:root{
  --primary:#405b24;
  --primary-dark:#2d4317;
  --accent:#eef2ea;
  --accent-2:#f7f7f5;
  --gold:#9f8a3a;
  --link:#1f5e8a;
  --link-hover:#174a6d;
  --text:#111111;
  --muted:#444444;
  --bg:#f3f3f1;
  --white:#ffffff;
  --border:#d8ddd1;
  --shadow:0 12px 30px rgba(32,43,19,.10);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
.container{width:min(1180px, calc(100% - 32px));margin:0 auto}
.topbar{background:var(--primary-dark);color:#fff;font-size:.92rem}
.topbar .container{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:10px 0}
.topbar a{color:#fff;text-decoration:none}
header{background:#fff;position:sticky;top:0;z-index:1000;border-bottom:1px solid var(--border)}
.header-main{display:flex;justify-content:flex-end;align-items:center;gap:20px;flex-wrap:wrap;padding:14px 0}
.brand-link{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit}
.brand-mark{width:58px;height:58px;padding:6px;border-radius:16px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center}
.brand-mark img{max-width:100%;max-height:100%}
.brand-copy{display:flex;flex-direction:column;gap:4px}
.brand-title{font-size:1rem;font-weight:700;line-height:1.2}
.brand-sub{font-size:1.08rem;font-weight:800;line-height:1.1;color:var(--primary)}
nav ul{list-style:none;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
nav a{text-decoration:none;color:var(--text);font-weight:700;padding:11px 14px;border-radius:12px;display:block;font-size:.96rem}
nav a:hover, nav a.active{background:var(--accent);color:var(--primary-dark)}
.hero{padding:60px 0 74px;background:linear-gradient(rgba(10,75,58,.84), rgba(10,75,58,.84)),linear-gradient(135deg,#7aa295,#9fbeb4 50%, #cfe4dd);color:#fff}
.hero-light{background:linear-gradient(180deg,#f8faf7,#eef2ea);color:var(--text)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:center}
.hero-badge{display:inline-block;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:8px 14px;margin-bottom:16px;font-weight:700;font-size:.92rem}
.hero-light .hero-badge{background:var(--accent);border-color:var(--border);color:var(--primary-dark)}
.hero h1{font-size:clamp(2.1rem,4vw,3.7rem);line-height:1.05;margin-bottom:16px;max-width:13ch}
.hero-light h1{color:var(--primary-dark);max-width:none}
.hero p{max-width:62ch;margin-bottom:24px;color:rgba(255,255,255,.96);font-size:1.05rem}
.hero-light p{color:var(--muted)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:14px;text-decoration:none;font-weight:700;transition:.2s ease;border:1px solid transparent;cursor:pointer}
.btn-primary{background:#fff;color:var(--primary-dark)}
.hero-light .btn-primary,.btn-solid{background:var(--primary);color:#fff}
.btn-secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.hero-light .btn-secondary{color:var(--primary-dark);border-color:rgba(64,91,36,.32)}
.btn-gold{background:var(--gold);color:#2f2a20}
.btn:hover{transform:translateY(-2px)}
.hero-visual,.service-visual{display:grid;gap:14px}
.house-card,.visual-big,.visual-small,.mini-card,.contact-card,.feature-card,.shortcut-card,.card,.contact-panel,.form-wrap,.form-section{
  background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)
}
.house-card,.visual-big,.visual-small,.contact-card,.feature-card,.shortcut-card,.card,.contact-panel,.form-wrap,.form-section{padding:18px}
.house-card img,.visual-big img,.visual-small img{width:100%;display:block;border-radius:12px}
.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mini-card{display:flex;align-items:center;gap:12px;padding:14px}
.mini-card img{width:46px;height:46px;object-fit:contain}
.mini-card strong{display:block;color:var(--primary-dark)}
.mini-card span{display:block;color:var(--muted);font-size:.92rem}
.info-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}
.info-item{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.24);padding:14px 16px;border-radius:16px}
.info-item strong{display:block}
.info-item span{display:block;font-size:.92rem;color:rgba(255,255,255,.92)}
section{padding:56px 0}
.section-heading{text-align:center;margin-bottom:30px}
.section-heading h2{font-size:2rem;color:var(--primary-dark);margin-bottom:8px}
.section-heading p{max-width:820px;margin:0 auto;color:var(--muted)}
.shortcut-wrap{margin-top:-30px;position:relative;z-index:3}
.shortcut-grid,.feature-grid,.process-grid{display:grid;gap:18px}
.shortcut-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.feature-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.shortcut-card h3,.feature-card h3,.card h3,.contact-card h3,.contact-panel h3,.form-wrap h3,.form-section h3{color:var(--primary-dark);margin-bottom:8px}
.shortcut-card p,.feature-card p,.card p,.contact-card p,.contact-panel p,.card li,.form-wrap p,.form-section p{color:var(--muted)}
.shortcut-card a{text-decoration:none;color:var(--primary);font-weight:700}
.shortcut-no,.tag{display:inline-block;margin-bottom:12px;padding:6px 11px;border-radius:999px;background:var(--accent);color:var(--primary-dark);font-size:.84rem;font-weight:700}
.card-icon{width:58px;height:58px;border-radius:14px;background:var(--accent);display:flex;align-items:center;justify-content:center;padding:10px;border:1px solid var(--border);margin-bottom:12px}
.card-icon img{max-width:100%;max-height:100%}
.two-col,.contact-grid,.contact-panels{display:grid;grid-template-columns:1.04fr .96fr;gap:20px;align-items:start}
.pricing-list{display:grid;gap:12px}
.pricing-row{display:grid;grid-template-columns:1fr auto;gap:16px;padding:16px 18px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}
.pricing-row strong{color:var(--primary-dark)}
.pricing-row span{font-weight:800;color:var(--primary-dark)}
.contact-brand{font-size:1.05rem;font-weight:700}
form{display:grid;gap:18px}
label{display:block;font-weight:700;color:var(--primary-dark);margin-bottom:4px}
input, textarea, select{width:100%;padding:14px 15px;border:1px solid var(--border);border-radius:12px;background:#fff;font:inherit}
textarea{min-height:120px;resize:vertical}
input:focus,textarea:focus,select:focus{outline:none;border-color:#8ca16b;box-shadow:0 0 0 4px rgba(64,91,36,.08)}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.form-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.form-section{background:linear-gradient(180deg,#fff,#fbfffd)}
.form-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.form-title span{display:inline-block;padding:6px 10px;border-radius:999px;background:var(--accent);color:var(--primary-dark);font-weight:700;font-size:.82rem}
.check-list{display:grid;gap:12px}
.check-item{padding:16px 18px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:var(--shadow)}
.check-item strong{display:block;color:var(--primary-dark);margin-bottom:4px}
.note{background:var(--accent);border:1px solid var(--border);border-radius:14px;padding:14px 16px;color:var(--text)}
.hero-form{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(6px)}
.hero-form h3,.hero-form p,.hero-form label{color:#fff}
.hero-form input,.hero-form textarea,.hero-form select{background:rgba(255,255,255,.96)}
.light-aside{background:#fff!important;border:1px solid var(--border)!important}
.light-aside h3,.light-aside p{color:var(--text)!important}
.service-overview{padding-top:34px;padding-bottom:36px}
.icon-card .card-icon{margin-bottom:10px}
/* Jednolity kolor linków zewnętrznych i rejestrów */
.credential-links a,
.footer-credentials a,
.contact-panel a:not(.btn),
.contact-card a:not(.btn),
.card a:not(.btn),
.note a:not(.btn){
  color:var(--link);
  text-decoration:underline;
  text-underline-offset:3px;
  font-weight:700;
}
.credential-links a:visited,
.footer-credentials a:visited,
.contact-panel a:not(.btn):visited,
.contact-card a:not(.btn):visited,
.card a:not(.btn):visited,
.note a:not(.btn):visited{color:var(--link)}
.credential-links a:hover,
.footer-credentials a:hover,
.contact-panel a:not(.btn):hover,
.contact-card a:not(.btn):hover,
.card a:not(.btn):hover,
.note a:not(.btn):hover{color:var(--link-hover)}
.breadcrumbs{padding:18px 0 0}
.breadcrumbs a{text-decoration:none;color:var(--primary)}
footer{background:var(--primary-dark);color:#fff;padding:30px 0;margin-top:30px}
.footer-simple{max-width:760px}
.footer-simple h3{margin-bottom:10px;font-size:18px;color:#fff}
.footer-simple p{color:rgba(255,255,255,.94);text-decoration:none;line-height:1.55;max-width:620px}
.footer-legal{margin-top:16px;font-size:12px;color:rgba(255,255,255,.72)!important}
.card ul,.contact-panel ul{padding-left:18px}
@media (max-width: 1020px){
  .hero-grid,.shortcut-grid,.two-col,.contact-grid,.contact-panels,.form-grid-3,.info-strip{grid-template-columns:1fr 1fr}
}
@media (max-width: 760px){
  .hero-grid,.shortcut-grid,.two-col,.contact-grid,.contact-panels,.form-grid,.form-grid-3,.pricing-row,.info-strip,.mini-grid{grid-template-columns:1fr}
  .hero{padding:52px 0 64px}
  nav{width:100%}
  nav ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  nav a{text-align:center;padding:12px 10px}
  .brand-title{font-size:.95rem}
  .brand-sub{font-size:1rem}
  .topbar .container{font-size:.84rem}
  .hero h1{font-size:clamp(1.8rem,8vw,2.4rem);max-width:none}
}

/* Uporządkowanie grafik i usunięcie efektu szachownicy z tła ilustracji */
.visual-big,.visual-small,.house-card,.card-icon,.mini-card img{overflow:hidden}
.visual-big img,.visual-small img,.house-card img,.card-icon img,.mini-card img{background:transparent}
.service-visual .visual-big{max-width:520px;margin-left:auto;margin-right:auto}
.service-visual .visual-big img{max-height:360px;object-fit:contain}
.hero-visual .mini-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}

/* Poprawka mobile: na telefonach menu i górny panel nie zostają przyklejone podczas przewijania. */
@media (max-width: 760px){
  header{position:static !important;top:auto !important;z-index:auto !important}
  .container{width:min(100% - 24px, 1180px)}
  .topbar .container{display:block;text-align:center;font-size:.82rem;line-height:1.45;padding:8px 0}
  .topbar span{display:block}
  .header-main{justify-content:center;gap:12px;padding:12px 0}
  .brand-link{width:100%;justify-content:center;text-align:center}
  .brand-mark{width:50px;height:50px;border-radius:14px}
  nav{width:100%;overflow:visible}
  nav ul{display:grid;grid-template-columns:1fr 1fr;gap:7px}
  nav a{text-align:center;padding:10px 8px;font-size:.88rem;border:1px solid var(--border);background:#fff}
  .hero{padding:40px 0 52px}
  section{padding:42px 0}
  .shortcut-wrap{margin-top:-18px}
  .hero-actions .btn{width:100%}
  .pricing-row{gap:6px}
  .pricing-row span{font-size:1.05rem}
}
@media (max-width: 420px){
  nav ul{grid-template-columns:1fr}
  .brand-link{align-items:flex-start}
  .brand-copy{text-align:left}
}


/* Footer - wersja 3-kolumnowa jak w zaakceptowanym projekcie */
footer{background:var(--primary-dark);color:#fff;padding:36px 0 18px;margin-top:30px}
.footer-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:28px;align-items:start}
footer h3{margin-bottom:12px;color:#fff}
footer p, footer a{color:rgba(255,255,255,.92);text-decoration:none}
footer a:hover{text-decoration:underline}
.footer-note-wrap{margin-top:10px}
.footer-legal{font-size:.84rem;line-height:1.5;color:rgba(255,255,255,.72);margin:0}
.footer-simple{display:none}

@media (max-width: 900px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:22px}
}
@media (max-width: 700px){
  .footer-grid{grid-template-columns:1fr;gap:18px}
  footer{padding:28px 0 16px}
  .footer-legal{font-size:.8rem}
}


/* Finalny szlif: stopka i mobile */
footer{
  padding:28px 0 14px;
}
.footer-grid{
  gap:24px;
}
footer h3{
  font-size:1.05rem;
  margin-bottom:9px;
}
footer p,
footer a{
  font-size:.92rem;
  line-height:1.55;
}
.footer-note-wrap{
  margin-top:6px;
}
.footer-legal{
  font-size:.72rem;
  line-height:1.35;
  color:rgba(255,255,255,.58);
  max-width:900px;
}

/* Uporządkowanie wersji telefonicznej */
@media (max-width: 700px){
  body{
    font-size:15px;
  }
  .topbar{
    font-size:.86rem;
    text-align:center;
  }
  .brand{
    gap:10px;
  }
  .brand img{
    max-width:72px;
    height:auto;
  }
  .brand-text strong{
    font-size:1rem;
  }
  nav{
    gap:6px;
  }
  nav a{
    padding:8px 9px;
    font-size:.88rem;
  }
  .hero{
    padding:30px 0 34px;
  }
  .hero h1,
  .page-hero h1{
    font-size:2rem;
    line-height:1.12;
  }
  .lead{
    font-size:1rem;
  }
  .section{
    padding:34px 0;
  }
  .card,
  .contact-card,
  .contact-panel,
  .light-aside{
    padding:18px;
  }
  .btn{
    width:100%;
    justify-content:center;
    text-align:center;
  }
  footer{
    padding:22px 0 12px;
  }
  .footer-grid{
    gap:14px;
  }
  footer h3{
    font-size:.98rem;
    margin-bottom:6px;
  }
  footer p,
  footer a{
    font-size:.84rem;
    line-height:1.45;
  }
  .footer-legal{
    font-size:.66rem;
    line-height:1.3;
    margin-top:2px;
  }
}


/* Finalny dodatek: link do mapy i czytelność cennika */
footer a[href*="google.com/maps"]{
  text-decoration:none;
}
footer a[href*="google.com/maps"]:hover{
  text-decoration:underline;
}
@media (max-width:700px){
  .pricing-row{
    gap:10px;
  }
  .pricing-row span{
    white-space:normal;
    text-align:left;
  }
}
