.container{
max-width:1200px;
margin:auto;
padding:0 20px;
}

:root{
  --green:#0c5c45;
  --dark:#111;
  --light:#fff;
  --gray:#f5f5f5;
}

*{margin:0; padding:0; box-sizing:border-box; font-family:'Inter',sans-serif;}
html{
  scroll-behavior:smooth;
  scroll-padding-top:120px;
}
body{
background:
radial-gradient(rgba(12,92,69,0.04) 1px, transparent 1px),
linear-gradient(180deg,#f4f7f6 0%, #eef3f1 100%);

background-size:22px 22px, 100% 100%;
}

/* NAV */
nav{position:sticky; top:0; background:white; border-bottom:1px solid #eee; z-index:1000;}
.nav-inner{display:flex; justify-content:space-between; align-items:center; padding:22px 0;}
.logo{font-weight:700; font-size:22px; letter-spacing:1px;} .logo-img {
  height: 200px; /* dopasuj wysokość logo */
  width:auto;
}
.logo span{color:var(--green);}
nav ul{display:flex; list-style:none; gap:50px;}
nav a{text-decoration:none; color:#333; font-weight:800;}
nav a:hover{color:var(--green);}

nav{
  position:sticky;
  top:0;
  z-index:1000;
  transition: background 0.3s;
  box-shadow:0 2px 10px rgba(0,0,0,0.05);
}
nav.scrolled{
  background:rgba(255,255,255,0.95);
  box-shadow:0 2px 8px rgba(0,0,0,0.1);
}

.top-bar{
  background:#0c5c45;
  color:white;
  font-size:14px;
  padding:5px 0;
}
.top-bar .container{
  display:flex;
  justify-content:flex-end;
  gap:20px;
}

/* HERO */
.hero{position:relative;height:85vh;display:flex;align-items:center;color:white;background:url("hero-new.png") center/cover no-repeat;overflow:hidden;}
.hero-overlay{position:absolute; top:0; left:0; width:100%; height:100%; background:linear-gradient(120deg, rgba(0,0,0,.85), rgba(12,92,69,.85)); animation:gradientMove 12s ease infinite;}
@keyframes gradientMove{0%{opacity:.85}50%{opacity:.75}100%{opacity:.85}}
.hero-content{position:relative; z-index:2; max-width:700px; animation:fadeUp 1s ease forwards;}
.hero-title{font-size:60px; line-height:1.1; margin-bottom:20px;}
.hero-title span{color:#38b48b;}
.hero-text{font-size:20px; margin-bottom:30px; color:#ddd;}
.hero-buttons{display:flex; gap:20px; margin-bottom:40px;}
.btn-primary{background:#0c5c45;padding:15px 30px;border-radius:5px;color:white;text-decoration:none;font-weight:600;transition:.3s;box-shadow:0 8px 20px rgba(0,0,0,0.15); /* nowy efekt */}
.btn-primary:hover{background:#094636;transform:translateY(-2px);}
.btn-secondary{border:2px solid white; padding:13px 28px; border-radius:5px; color:white; text-decoration:none; font-weight:600; transition:.3s;}
.btn-secondary:hover{background:white; color:black;}
.hero-stats{display:flex; gap:40px;}
.stat h3{font-size:32px; color:#38b48b;}
.stat p{font-size:14px; color:#ccc;}
@keyframes fadeUp{0%{opacity:0; transform:translateY(30px);}100%{opacity:1; transform:translateY(0);}}

section{padding:80px 0;}
.section-title{font-size:36px; margin-bottom:20px;}
.section:nth-child(even):not(#contact){background:#f7f7f7;}
.section-sub{color:#666; max-width:600px; margin-bottom:40px;}
.features{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:20px; margin-top:40px;}
.feature{background:var(--gray); padding:25px; border-radius:8px; font-weight:500; transition:.3s;}
.feature:hover{background:#ffffff;transform:translateY(-8px);box-shadow:0 12px 30px rgba(0,0,0,0.12);}
.cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:25px; margin-top:40px;}
.card{background:white; padding:30px; border-radius:8px; border:1px solid #eee; transition:.3s;}
.card:hover{transform:translateY(-6px); box-shadow:0 10px 30px rgba(0,0,0,0.08);}
.card h3{margin-bottom:15px; color:var(--green);}
.card ul{padding-left:18px; color:#555;}

/* FORMULARZ */
.contact-form{max-width:400px; margin:auto; display:flex; flex-direction:column; gap:18px;}
.contact-form label{font-weight:400; margin-bottom:4px;}
.contact-form input,
.contact-form textarea{width:100%; padding:11px; border-radius:5px; border:1px solid #ccc; font-size:15px;}
.contact-form input:focus,
.contact-form textarea:focus{outline:none; border-color:var(--green);}
.contact-form button{align-self:flex-start; background:var(--green); color:white; padding:13px 27px; border:none; border-radius:4px; cursor:pointer; font-weight:600; transition:.3s;}
.contact-form button:hover{background:#094636;}

/* CONTACT - sekcja z pełnym tłem */
.contact {
  position: relative;
  width: 100%;               /* pełna szerokość ekranu */
  min-height: 200px;         /* wysokość sekcji */
  padding: 100px 20px;
  background: url("tlo.jpg") center/cover no-repeat; /* tło na całą sekcję */
  display: flex;             /* wyśrodkowanie danych */
  justify-content: center;
  align-items: center;
  color: white;
  text-align: center;
  overflow: hidden;
}

.contact::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.55); /* przyciemnienie */
  z-index: 1;
}

.contact .container {
  position: relative;
  z-index: 2; /* tekst nad przyciemnieniem */
}

.contact i {
  color: #38b48b; 
  margin-right: 10px;
  font-size: 22px;
}

.contact p {
  font-size: 22px;
  margin: 15px 0;
  font-weight: 600;
}

/* FOOTER */
footer{text-align:center; padding:20px; background:black; color:#999; font-size:14px;}

/* Carousel */
.carousel-container{
  position:relative;
  display:flex;
  align-items:center;
  margin-top:40px;
}

.carousel{
  overflow:hidden;
  width:100%;
  padding:40px 0; /* zwiększony padding góra/dół */
}

.carousel-track{
  display:flex;
  gap:25px;
  transition:transform 0.4s ease;
}

.card{
  min-width:260px;
  flex-shrink:0;
  background:white;
  border-radius:10px;
  box-shadow:0 5px 15px rgba(0,0,0,0.1);
  text-align:center;
  padding:20px;
}

.card h3{
  margin-bottom:10px;
  color:#0c5c45;
}

.card p{
  margin-bottom:10px;
  white-space: normal;
}

.card ul{
  text-align:left;
  margin-bottom:10px;
}

.card img{
  width:200px;      /* większe zdjęcia */
  height:200px;     /* jednolita wysokość wszystkich zdjęć */
  object-fit:cover; /* przycina i dopasowuje proporcje */
  display:block;
  margin:0 auto 15px auto;
  border-radius:10px; /* opcjonalnie, lekko zaokrąglone */
}

.card{
  text-align:center;
  min-width:260px;
  flex-shrink:0;
  background:white;
  border-radius:10px;
  padding:20px;
  box-shadow:0 5px 15px rgba(0,0,0,0.1);
}

/* strzałki */
.carousel-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  background:#0c5c45;
  color:white;
  border:none;
  font-size:28px;
  width:45px;
  height:45px;
  cursor:pointer;
  border-radius:50%;
  z-index:10; /* <-- dodaj z-index, żeby strzałki były ponad kartami */
}

.carousel-btn.left{
  left:-20px;
}

.carousel-btn.right{
  right:-20px;
}


/* Responsywność */
@media(max-width:768px){
  .card{
    min-width:200px;
  }
}

/* Wycentrowanie tekstu pod nagłówkiem */
.offer-intro{
  text-align:center;
  font-size:22px;
  max-width:1200px;
  margin:5px auto 20px auto; /* góra, auto środek, dół */
  color:#555; /* lub inny kontrastujący kolor */
}

h1, h2, h3, h4, h5, h6 {
  text-align: center;      /* wycentrowanie nagłówków */
  color: #0c5c45;          /* kolor zielony z logo */
}

.section-sub {
  text-align: center;
  max-width: 600px;
  margin: 0 auto 20px auto; /* góra 0, auto środek, dół 20px */
}

section{
  padding:80px 20px;
  scroll-margin-top:120px;
}

#offer{
  background:#f7f7f7;
}

footer{
  background:#111;
  color:white;
  text-align:center;
  padding:30px;
}


/* --- Równa wysokość kart w sekcji OFERTA (z zawijaniem tekstu) --- */
#offer .card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  min-height: 460px;
  max-width: 320px;
  padding: 20px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  text-align: center;
  transition: transform 0.3s ease;
}

#offer .card:hover {
  transform: translateY(-6px);
}

/* Obrazki */
#offer .card img {
  width: 220px;
  height: 220px;
  object-fit: cover;
  margin-bottom: 15px;
  border-radius: 8px;
}

/* Tytuły */
#offer .card h3 {
  margin-bottom: 10px;
  color: var(--green);
  font-size: 20px;
}

/* Opisy - zawijanie tekstu */
#offer .card p {
  color: #555;
  font-size: 15px;
  line-height: 1.5;
  text-align: center;
  word-break: normal;
  white-space: normal;
  overflow-wrap: break-word; /* poprawne zawijanie długich słów */
  margin: 0 auto;
  max-width: 260px;
}

/* Ujednolicenie wyglądu na mniejszych ekranach */
@media (max-width: 768px) {
  #offer .card {
    min-height: auto;
    max-width: 100%;
  }

  #offer .card img {
    width: 180px;
    height: 180px;
  }

  #offer .card p {
    font-size: 14px;
  }
}
/* --- DUŻA KARUZELA W OFERCIE --- */

#offer {
  background: #f7f7f7;
  padding: 100px 0;
}

#offer .carousel {
  overflow: hidden;
  width: 100%;
  padding: 80px 0; /* więcej miejsca wokół karuzeli */
}

#offer .carousel-track {
  display: flex;
  gap: 50px; /* większe przerwy między kartami */
  transition: transform 0.4s ease;
}

/* --- Karty ofert --- */
#offer .card {
  min-width: 400px;       /* duża szerokość */
  min-height: 620px;      /* większa wysokość */
  flex-shrink: 0;
  background: white;
  border-radius: 14px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.1);
  padding: 30px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

#offer .card:hover {
  transform: scale(1.03);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
}

/* --- Zdjęcia --- */
#offer .card img {
  width: 320px;    /* większe zdjęcie */
  height: 320px;
  object-fit: cover;
  border-radius: 12px;
  margin-bottom: 25px;
}

/* --- Tytuł i opis --- */
#offer .card h3 {
  font-size: 24px;
  margin-bottom: 15px;
  color: var(--green);
}

#offer .card p {
  color: #444;
  font-size: 17px;
  line-height: 1.7;
  max-width: 320px;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
}

/* --- Strzałki --- */
.carousel-btn {
  width: 55px;
  height: 55px;
  font-size: 32px;
  background: var(--green);
  color: white;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  transition: background 0.3s;
}

.carousel-btn:hover {
  background: #094636;
}

.carousel-btn.left {
  left: -30px;
}

.carousel-btn.right {
  right: -30px;
}

/* --- Responsywność --- */
@media (max-width: 992px) {
  #offer .card {
    min-width: 320px;
    min-height: auto;
  }
  #offer .card img {
    width: 260px;
    height: 260px;
  }
}

@media (max-width: 600px) {
  #offer .carousel {
    padding: 40px 0;
  }
  #offer .card {
    min-width: 280px;
  }
  #offer .card img {
    width: 220px;
    height: 220px;
  }
}
/* --- Sekcja DLACZEGO MY --- */
#about{
background:#f0f5f3;
}

#about .section-title {
  color: var(--green);
  margin-bottom: 10px;
}

#about .section-sub {
  max-width: 700px;
  margin: 0 auto 60px auto;
  color: #555;
  font-size: 18px;
  line-height: 1.6;
}

/* Siatka funkcji */
.features {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 40px;
}

.feature {
  background: #f7f7f7;
  border-radius: 12px;
  padding: 40px 25px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 5px 15px rgba(0,0,0,0.05);

  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.feature:hover {
  transform: translateY(-8px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

/* Ikony */
.feature i {
  font-size: 36px;
  color: var(--green);
  margin-bottom: 20px;
}

/* Nagłówki i teksty */
.feature h4 {
  font-size: 20px;
  margin-bottom: 10px;
  color: #111;
}

.feature p {
  color: #555;
  font-size: 15px;
  line-height: 1.6;
}

/* Responsywność */
@media (max-width: 768px) {
  #about {
    padding: 60px 20px;
  }
  .features {
    gap: 25px;
  }
}
.hero-image {
  height: 70vh;
  background: url("hero-new.png") center top;
  position: relative;
}

.hero-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.65) 0%,
    rgba(0,0,0,0.65) 60%,
    rgba(0,0,0,0.45) 85%,
    rgba(0,0,0,0.2) 100%
  );
}
.hero-intro {
  padding: 90px 20px;
  text-align: center;
  background: white;
}

.intro-title {
  font-size: 42px;
  color: #0c5c45;
  max-width: 900px;
  margin: auto;
  margin-bottom: 30px;
  line-height: 1.4;
}

.intro-text {
  font-size: 20px;
  max-width: 750px;
  margin: auto;
  margin-bottom: 45px;
  color: #555;
}

.intro-stats {
  margin-top: 60px;
  display: flex;
  justify-content: center;
  gap: 50px;
  font-size: 18px;
}

.intro-stats span {
  color: #38b48b;
  font-weight: 700;
}
nav ul li a{
  position: relative;
  text-decoration: none;
  color: #333;
  font-weight: 800;
  padding-bottom: 5px;
}

/* animowana linia */
nav ul li a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:0;
  height:2px;
  background:#0c5c45;
  transition:width 0.3s ease;
}

/* pojawia się przy hover */
nav ul li a:hover::after{
  width:100%;
}


nav ul li a{
  letter-spacing:1px;
  transition:color 0.3s;
}
@media(max-width:768px){

.nav-inner{
  flex-direction:column;
  gap:10px;
}

nav ul{
  display:flex;
  gap:20px;
}

}
@media(max-width:768px){

.hero-image{
  height:550px;
}

}
@media(max-width:768px){

.intro-stats{
  flex-direction:column;
  gap:15px;
}

}
.intro-stats i{
color:#0c5c45;
margin-right:8px;
}
/* SEKCJA BHP IMAGE */

.bhp-image-section{
padding:80px 0;
background:#f7f9f8;
}

.bhp-content{
display:flex;
align-items:center;
gap:60px;
}

.bhp-text{
flex:1;
}

.bhp-text h2{
font-size:32px;
margin-bottom:20px;
color:#111;
}

.bhp-text p{
color:#555;
margin-bottom:25px;
line-height:1.6;
}

.bhp-list{
list-style:none;
padding:0;
margin-bottom:30px;
}

.bhp-list li{
margin-bottom:10px;
color:#333;
}

.bhp-image{
flex:1;
}

.bhp-image img{
width:100%;
border-radius:10px;
box-shadow:0 10px 30px rgba(0,0,0,0.15);
}

.bhp-gallery{
background:#e9efec;
padding:100px 0;
}

/* RESPONSYWNOŚĆ */

@media(max-width:900px){

.bhp-content{
flex-direction:column;
text-align:center;
}

}
/* GALERIA BHP */

.bhp-photo img{
box-shadow:0 15px 35px rgba(0,0,0,0.25);
}

.bhp-gallery-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
}

.bhp-photo img{
width:100%;
height:300px;
object-fit:cover;
border-radius:10px;
box-shadow:0 10px 25px rgba(0,0,0,0.15);
transition:transform 0.4s ease;
}

.bhp-photo img:hover{
transform:scale(1.04);
}

@media(max-width:900px){

.bhp-gallery-grid{
grid-template-columns:1fr;
}

.bhp-photo img{
height:250px;
}

}
.bhp-photo{
overflow:hidden;
border-radius:10px;
}

.bhp-photo img{
transition: transform 0.4s ease;
}

.bhp-photo:hover img{
transform: scale(1.05);
}
.bhp-photo img{
border:3px solid white;
}
.bhp-photo img{
box-shadow:0 15px 35px rgba(0,0,0,0.25);
}
#form{
background-color:#ffffff;

background-image:
radial-gradient(rgba(141, 141, 141, 0.07) 2px, transparent 2px),
radial-gradient(rgba(88, 90, 89, 0.05) 1px, transparent 1px);

background-size:40px 40px, 25px 25px;
}
section{
background:white;
border-radius:8px;
margin:40px auto;
box-shadow:0 8px 30px rgba(0,0,0,0.04);
}
.form-text{
text-align:left;
max-width:900px;
margin:0 auto 40px auto;
line-height:1.7;
}
.form-box{
max-width:700px;
margin:40px auto 0 auto;
background:#ffffff;
padding:40px;
border-radius:12px;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
}
.bhp-gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
}

.bhp-photo img{
  width:100%;
  height:300px;
  object-fit:cover;
  border-radius:12px;
}
.bhp-gallery{
  padding:80px 0;
  background:#f4f7f6;
}

.bhp-gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
}

.bhp-photo{
  overflow:hidden;
  border-radius:12px;
}

.bhp-photo img{
  width:100%;
  height:300px;
  object-fit:cover;
  transition:transform 0.4s ease, filter 0.4s ease;
}

.bhp-photo:hover img{
  transform:scale(1.07);
  filter:brightness(0.9);
}
.contact-section{
  position:relative;
  padding:100px 0;

  background:url("tlo.jpg") center/cover no-repeat;
  color:white;
}

.contact-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.55);
}

.contact-container{
  position:relative;
  z-index:2;

  max-width:900px;
  margin:auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:80px;
}


.contact-company{
  text-align:left;
}

.contact-company h3{
  margin-bottom:15px;
}

.contact-company p{
  margin-bottom:8px;
  line-height:1.6;
}

.contact-main{
  text-align:center;
}

.contact-phone,
.contact-email{
  font-size:20px;
  margin:10px 0;
}