:root{
    --bg:#EBEBEB;
    --panel:#B0B0B0;
    --muted:#525252;
    --accent1:#D4D4D4;
    --glass: rgba(255,255,255,0.03);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
    margin:0;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background: radial-gradient(1200px 400px at 10% 10%, rgba(44,83,100,0.12), transparent),
                radial-gradient(900px 300px at 90% 90%, rgba(15,32,39,0.12), transparent),
                var(--bg);
    color:#525252;
    -webkit-font-smoothing:antialiased;
}

/* Header + nav */
.site-header{
    padding:22px 18px;
    text-align:center;
    font-size:1.8rem;
	font-weight: 600;   /* bardzo gruba czcionka */
    letter-spacing:1px;
    background:var(--accent1);
    box-shadow:0 6px 30px rgba(2,6,23,0.6);
    animation:fadeInDown .8s ease;
}

.site-nav{
    display:flex;
    gap:0;
    background:rgba(255,255,255,0.03);
    border-bottom:1px solid rgba(255,255,255,0.03);
}

.site-nav .nav-link{
    flex:1;
    padding:12px 10px;
    text-align:center;
    cursor:pointer;
	letter-spacing: 2px;
    color:#525252;
    text-decoration:none;
    transition:transform .22s cubic-bezier(.2,.9,.2,1), background .22s;
    user-select:none;
}
.site-nav .nav-link:hover{
    transform:translateY(-4px) scale(1.03);
    background:rgba(255,255,255,0.02);
}

/* Layout */
.container{
    max-width:1100px;
    margin:28px auto;
    padding:18px;
}

.tab{
    display:none;
    background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
    padding:18px;
    border-radius:12px;
    box-shadow:0 10px 30px rgba(2,6,23,0.6);
    backdrop-filter: blur(6px);
    animation:fadeIn .45s ease both;
}

.tab.active{display:block}

/* Cards */
.cards{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:14px;
    margin-top:14px;
}
.card{
    padding:14px;
    border-radius:10px;
    background:var(--glass);
    border:1px solid rgba(255,255,255,0.03);
    transition:transform .35s ease, box-shadow .35s ease;
}
.card:hover{
    transform:translateY(-8px);
    box-shadow:0 18px 40px rgba(2,6,23,0.6);
}

/* Gallery thumbs */
.gallery{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 16px;
    margin-top: 12px;
}
.thumb{
    flex:1;
	height: 360px; /* większe zdjęcia */
    border-radius:8px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
    border:1px solid rgba(255,255,255,0.03);
    transition:transform .28s ease;
}
.thumb:hover{transform:scale(1.03)}

/* Map */
.map-wrap{
    margin-top:12px;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 12px 30px rgba(2,6,23,0.6);
}
.map-wrap iframe{
    width:100%;
    height:420px;
    border:0;
    display:block;
}

/* Footer */
.site-footer{
    max-width:1100px;
    margin:28px auto;
    color:var(--muted);
    text-align:center;
    padding-bottom:28px;
}

/* Animations */
@keyframes fadeIn{
    from{opacity:0; transform:translateY(12px)}
    to{opacity:1; transform:translateY(0)}
}
@keyframes fadeInDown{
    from{opacity:0; transform:translateY(-18px)}
    to{opacity:1; transform:translateY(0)}
}

/* Responsive */
@media (max-width:720px){
    .site-header{font-size:1.4rem}
    .cards{grid-template-columns:1fr}
}

.tab {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.4s ease, transform 0.4s ease;
    display: none;
}

.tab.active {
    display: block;
    opacity: 1;
    transform: translateY(0);
}

h1 {
    font-size: 2rem;
    margin-bottom: 12px;
}

.lead {
    font-size: 1.2rem;
    color: var(--muted);
}

.highlight {
    color: #4fd1c5;
}

.card-img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 12px;
}

.nav-link {
    font-size: 1.1rem;
    padding: 14px 10px;
}

.nav-link i {
    margin-right: 6px;
}

.thumb {
    background-size: cover;
    background-position: center;
}
.contact-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 12px 0 24px;
}
.contact-form input,
.contact-form textarea {
    padding: 12px;
    border-radius: 6px;
    border: none;
    outline: none;
    background: rgba(255,255,255,0.05);
    color: #525252;
}
.contact-form button {
    background: var(--accent1);
    color: white;
    padding: 12px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: 0.3s;
}
.contact-form button:hover {
    opacity: 0.85;
}


.partners {
    margin-top: 40px;
    padding: 20px;
    background: var(--glass);
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(2,6,23,0.6);
    text-align: center;
}

.partners h2 {
    font-size: 1.6rem;
    margin-bottom: 20px;
    color: #525252;
}

.partners h2 i {
    color: #4fd1c5;
    margin-right: 8px;
}

.partners-logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 28px;
}

.partners-logos a {
    display: inline-block;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.partners-logos a:hover {
    transform: scale(1.08);
    opacity: 0.9;
}

.partners-logos img {
    height: 60px;
    object-fit: contain;
    transition: filter 0.3s ease;
}

@media (max-width: 600px) {
    .partners-logos img {
        height: 45px;
    }
}


/* Przycisk hamburger */
.hamburger {
  display: none;
  font-size: 28px;
  background: none;
  border: none;
  color: white;
  cursor: pointer;
}
.site-nav-tel {
	display: none;
}

/* Układ domyślny */
.site-nav {
  display: flex;
  gap: 20px;
  justify-content: center;
}

.site-nav-tel {
  display: none;
}

/* Wersja mobilna */
@media (max-width: 768px) {
  .site-nav {
    display: none; /* chowamy klasyczne menu */
  }
  .site-nav-tel {
    display: block; /* pokazujemy hamburgera */
    z-index: 1000;      /* hamburger zawsze nad treścią */
    position: absolute; /* absolutnie względem headera */
    top: 22px;          /* dostosuj do paddingu headera */
    right: 15px;        /* prawy margines */
  }

  .nav-links {
    display: none;
    list-style: none;
    flex-direction: column;
    background: #EDEDED;
    position: absolute;
    right: 15px;
    top: 100px;
    padding: 15px;
    border-radius: 8px;
	z-index: 2000; /* menu nad wszystkim */
  }

  .nav-links.active {
    display: block;
  }

  .nav-links li {
    margin: 15px 0;
  }

  .nav-links li a {
    color: black;
	letter-spacing: 2px;
    text-decoration: none;
  }

  .hamburger {
    font-size: 28px;
    background: none;
    border: none;
    color: white;
    cursor: pointer;
	display: block;
  }
}
