:root { --ff: "Roboto", system-ui, -apple-system, "Segoe UI", Arial, "Noto Sans", "Liberation Sans", sans-serif; }
body { font-family: var(--ff); }
* {
margin:0;
padding:0;
box-sizing:border-box;
}

#hero {
height:100vh;
width:100%;
background:url(background.webp) no-repeat center center/cover;
display:flex;
justify-content:center;
align-items:center;
text-align:center;
color:#fff;
position:relative
}

#hero::before {
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:#00000080;
z-index:1
}

.hero-content {
position:relative;
z-index:2
}

.hero-content h1 {
font-size:3rem;
margin-bottom:10px
}

.hero-content p {
font-size:1.5rem;
margin-bottom:20px
}

.cta-btn {
display:inline-block;
padding:10px 20px;
background:#38A5FF;
color:#000;
text-decoration:none;
font-size:1.2rem;
border-radius:5px;
margin:5px
}

.top-nav {
position:fixed;
top:0;
width:100%;
background:#000000d9;
padding:15px 0;
z-index:1000;
display:flex;
justify-content:center;
box-shadow:0 4px 10px #00000080
}

.top-nav ul {
display:flex;
list-style:none
}

.top-nav ul li {
margin:0 20px
}

.top-nav ul li a {
color:#fff;
text-decoration:none;
font-size:1.2rem;
transition:color .3s ease-in-out
}

.top-nav ul li a:hover {
color:#38A5FF;
text-decoration:underline
}

#services {
padding:50px 10%;
text-align:center
}
#services h1{
    font-size: 2.5rem;
}
#services h2 {
font-size:3rem
}

#kontakt h2 {
font-size:3rem
}

.service-grid {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
margin-top:30px
}

.service {
background:#fff;
padding:20px;
border:2px solid #ddd;
border-radius:10px;
text-align:center;
box-shadow:0 4px 10px #0000001a;
transition:transform .3s ease-in-out
}

.service:hover {
transform:translateY(-5px);
border-color:#38A5FF
}

.service img {
max-width:60px;
margin-bottom:15px
}


.service h3 {
font-size:1.5rem;
margin-bottom:10px
}

.service p {
font-size:1rem;
color:#555
}

.service-btn {
display:inline-block;
margin-top:10px;
padding:10px 15px;
background:#38A5FF;
color:#000;
text-decoration:none;
border-radius:5px;
font-weight:700;
transition:background .3s ease-in-out
}

.service-btn:hover {
background:#38A5FF
}

#kontakt {
padding:50px 10%;
text-align:center;
background:#f9f9f9;
border-radius:10px
}

form {
max-width:500px;
margin:auto;
padding:20px;
background:#fff;
border-radius:10px;
box-shadow:0 4px 10px #0000001a
}

form label {
display:block;
font-weight:700;
margin-bottom:5px;
text-align:left
}

form input,form textarea {
width:100%;
padding:10px;
margin-bottom:15px;
border:1px solid #ccc;
border-radius:5px;
font-size:1rem
}

form button {
width:100%;
padding:10px;
background:#38A5FF;
border:none;
color:#000;
font-size:1.2rem;
font-weight:700;
border-radius:5px;
cursor:pointer;
transition:background .3s ease-in-out
}

form button:hover {
background:#38A5FF
}

footer {
background:#222;
color:#fff;
text-align:center;
padding:20px 0;
margin-top:50px
}

#about-me {
padding:80px 10%;
background:linear-gradient(to right,#f9f9f9,#fff);
display:flex;
align-items:center;
justify-content:center
}
h3{
    font-size: 2rem;
}
#about-me .container {
display:flex;
align-items:center;
max-width:1200px;
gap:50px
}

#about-me .image {
flex:1;
display:flex;
justify-content:center;
pointer-events: none;
}

#about-me .image img {
width:100%;
max-width:400px;
border-radius:15px;
box-shadow:0 10px 20px #0000001a;
transition:transform .3s ease-in-out
}

#about-me .image img:hover {
transform:scale(1.05)
}

#about-me .content {
flex:1
}

#about-me h2 {
font-size:2.5rem;
color:#333;
margin-bottom:20px
}

#about-me p {
font-size:1.2rem;
line-height:1.6;
color:#555;
margin-bottom:15px
}

.cta-btn {
display:inline-block;
padding:12px 25px;
background:#38A5FF;
color:#fff;
text-decoration:none;
font-size:1.2rem;
border-radius:5px;
font-weight:700;
transition:background .3s ease-in-out;
margin-top:10px
}

.cta-btn:hover {
background:#0073e6
}

@media (max-width: 768px) {
#about-me .container {
flex-direction:column;
text-align:center
}

#about-me .image img {
max-width:300px
}
}

#faq {
padding:50px 10%;
background:#fff
}

#faq h2 {
font-size:2.5rem;
text-align:center;
margin-bottom:30px
}

.faq-item {
border-bottom:1px solid #ccc;
padding:10px 0
}

.faq-question {
background:none;
border:none;
font-size:1.3rem;
width:100%;
text-align:left;
cursor:pointer;
padding:10px;
font-weight:700
}

.faq-answer {
display:none;
padding:10px;
font-size:1rem
}

.faq-answer.active {
display:block
}

#reviews {
padding:50px 5%;
background:#f8f8f8;
text-align:center
}

#reviews h2 {
font-size:2.5rem;
margin-bottom:30px
}

.reviews-slider {
display:flex;
flex-direction:column;
gap:20px
}

.opinia {
background:#fff;
padding:20px;
border-radius:10px;
box-shadow:0 4px 8px #0000001a
}

@media (max-width: 768px) {
#dlaczego .container {
flex-direction:column;
text-align:center
}

#dlaczego .left,#dlaczego .right {
width:100%
}
}

#stats {
padding:80px 10%;
background:#f9f9f9;
text-align:center
}

#stats h2 {
font-size:2.5rem;
margin-bottom:30px
}

.stats-grid {
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
text-align:center
}

.stat {
background:#fff;
padding:20px;
border-radius:10px;
box-shadow:0 4px 8px #0000001a;
transition:transform .3s ease-in-out
}

.stat:hover {
transform:translateY(-5px)
}

.stat h3 {
font-size:2.5rem;
color:#0073e6;
margin-bottom:10px
}

.stat p {
font-size:1.2rem;
color:#555
}

#location {

text-align:center;
background:linear-gradient(to right,#f8f8f8,#fff)
}

#location h2 {
font-size:2.5rem;
margin-bottom:20px
}

#location p {
font-size:1.2rem;
color:#555;
margin-bottom:20px
}
.container-lokal{
  padding: 80px 10%;
}
.map-container {
border-radius:10px;
overflow:hidden;
box-shadow:0 4px 10px #0003;
margin:0 auto
}

@media (max-width: 768px) {
.stats-grid {
grid-template-columns:repeat(2,1fr)
}
}

.visible-phone {
font-size:1.5rem;
font-weight:700;
margin-bottom:10px;
color:#fff
}

@media (max-width: 768px) {
.hero-content h1 {
font-size:2rem
}

.hero-content p {
font-size:1.2rem
}

.top-nav ul {
flex-direction:column;
text-align:center
}

.top-nav ul li {
margin:10px 0
}

.service-grid {
grid-template-columns:1fr
}
}


/* Stylizacja przycisku hamburgera */
.menu-toggle {
    display: none;
    flex-direction: column;
    cursor: pointer;
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 1100;
}

.menu-toggle .bar {
    background-color: #0073e6;
    height: 3px;
    width: 30px;
    margin: 5px 0;
    transition: 0.3s;
}

/* Ukrywanie menu na telefonie */
.nav-list {
    display: flex;
    list-style: none;
}

/* Mobilne menu wysuwane z prawej strony */
@media (max-width: 768px) {
    .top-nav{
        background: none;
        box-shadow: none;
    }
    .menu-toggle {
        display: flex;
    }

    .nav-list {
        display: flex;
        flex-direction: column;
        position: fixed;
        top: 0;
        right: -250px; /* Start poza ekranem */
        width: 250px;
        height: 100vh;
        background: #000;
        box-shadow: -4px 0 10px rgba(0, 0, 0, 0.5);
        padding: 20px;
        transition: right 0.3s ease-in-out;
        z-index: 1000;
    }

    .nav-list.active {
        right: 0; /* Wysunięcie menu */
    }

    .nav-list li {
        margin: 20px 0;
        text-align: left;
    }

    .nav-list a {
        color: white;
        text-decoration: none;
        font-size: 1.5rem;
    }

    .nav-list a:hover {
        color: #38A5FF;
    }
    #hero {
background:url(backgroundsmall.webp) no-repeat center center/cover;
}}






/* Styl ogólny dla kontenera */
article {
  max-width: 960px;
  margin: 0 auto;
  padding: 40px 20px;
  font-family: 'Segoe UI', Arial, sans-serif;
  line-height: 1.6;
  color: #222;
  background-color: #fff;
}

/* Nagłówki */
article h3 {
  font-size: 1.8rem;
  margin-top: 40px;
  margin-bottom: 20px;
  color: #0e3c6c;
  border-left: 5px solid #ffc107;
  padding-left: 15px;
}

article p {
  font-size: 1rem;
  margin-bottom: 16px;
}

/* Listy */
article ul, article ol {
  padding-left: 20px;
  margin-bottom: 24px;
}

article ul li,
article ol li {
  margin-bottom: 12px;
}

article li p {
  margin: 0;
}

/* Wyróżnienia */
article strong {
  color: #000;
}

/* FAQ – można dodać ikonki lub akordeon w JS */
article ul li strong {
  color: #0b4c84;
}

/* Responsywność */
@media (max-width: 768px) {
  article {
    padding: 20px 10px;
  }

  article h3 {
    font-size: 1.4rem;
  }

  article p,
  article li {
    font-size: 0.95rem;
  }
  .hero-content{
    max-width: 90%;
  }
  .service{
    padding: 15px;
  }
  .faq-question,.faq-item{
    text-align: center;
  }
  .map-container iframe{
  width: 100%;
}
}
.site-footer{
  background:#0b0b0b; color:#eee; margin-top:50px; position:relative;
}
.site-footer a{ color:#d7e9ff; text-decoration:none; }
.site-footer a:hover{ text-decoration:underline; }
.site-footer .footer-wrap{
  max-width:1200px; margin:0 auto; padding:40px 20px;
  display:grid; gap:24px; grid-template-columns: 1.2fr 1fr 1fr 1.4fr;
}
.site-footer .footer-col h4{
  font-size:1rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom:12px; color:#bcd9ff;
}
.site-footer .brand{ display:flex; gap:12px; align-items:center; }
.site-footer .brand .name{ font-weight:700; margin:0; }
.site-footer .brand .desc{ margin:2px 0 0; color:#cfcfcf; font-size:.95rem; }

.site-footer .nav ul,
.site-footer .contact ul{ list-style:none; padding:0; margin:0; }
.site-footer .nav li,
.site-footer .contact li{ margin:8px 0; }
.site-footer .tel, .site-footer .wa{
  display:inline-block; padding:6px 10px; border-radius:8px; font-weight:700;
  background:#13233a; border:1px solid #21446e;
}
.site-footer .wa{ background:#124a2d; border-color:#1d7a4b; }

.site-footer .areas p{ margin:0; color:#d8d8d8; }

.site-footer .footer-bottom{
  border-top:1px solid #1e1e1e; display:flex; gap:16px; justify-content:space-between;
  align-items:center; padding:14px 20px; max-width:1200px; margin:0 auto;
}
.site-footer .footer-bottom p{ margin:0; font-size:.95rem; color:#cfcfcf; }

/* RWD */
@media (max-width: 980px){
  .site-footer .footer-wrap{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px){
  .site-footer .footer-wrap{ grid-template-columns: 1fr; }
  .site-footer .footer-bottom{ flex-direction:column; text-align:center; gap:8px; }
}
