/* Kolorystyka: czerń, grafit, złoto */
:root{
  --bg:#0b0b0b;
  --bg-soft:#121212;
  --text:#f2f2f2;
  --muted:#bdbdbd;
  --gold:#c7a007;
  --gold-2:#e0b21a;
  --stroke:#1e1e1e;
}

*{box-sizing:border-box}
html,body{
  margin:0;
  padding:0;
  background:var(--bg);
  color:var(--text);
  font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;
  line-height:1.6;
  overflow-x:hidden;
}
a{color:var(--gold);text-decoration:none}
.container{width:min(1100px,92%);margin:0 auto}

/* Pasek górny */
.topbar{
  position:sticky;
  top:0;
  z-index:50;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 4%;
  background:rgba(0,0,0,.75);
  backdrop-filter:saturate(120%) blur(6px);
  border-bottom:1px solid var(--stroke)
}
.brand-logo{
  height:42px;
  width:auto;
  display:block;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.6))
}
.nav a{margin-left:18px;font-weight:600}
.nav a:hover{color:var(--gold-2)}

/* Sekcja hero */
.hero{
  position:relative;
  min-height:68vh;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden
}

/* Naprawione - czarne tło nie zasłania slajdów */
.hero-slides::before{
  content:"";
  position:absolute;
  inset:0;
  background:transparent;
}

.hero-slides{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  opacity:1;
  transition:opacity 1s ease
}
.hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom, rgba(0,0,0,.45), rgba(0,0,0,.75))
}
.hero-caption{
  position:relative;
  text-align:center;
  z-index:2
}
.hero-caption h1{
  margin:0 0 8px 0;
  font-size:48px;
  letter-spacing:.6px;
  color:var(--text)
}
.hero-caption p{
  margin:0 0 18px 0;
  color:var(--muted)
}
.caption-rotator{
  display:inline-block;
  padding:8px 14px;
  border:1px solid var(--gold);
  border-radius:999px;
  color:var(--gold);
  font-weight:600
}

/* Sekcje */
.section{
  padding:56px 0;
  background:var(--bg)
}
.section-title{
  font-size:28px;
  margin:0 0 16px 0;
  border-bottom:1px solid var(--gold);
  display:inline-block;
  padding-bottom:6px
}
.section.about p{margin:10px 0}
.section.about .mt{margin-top:18px}

/* Wyróżnione karty oferty */
.highlight-cards{
  display:grid;
  gap:18px;
  grid-template-columns:repeat(3,1fr);
  margin-top:18px
}
.highlight-cards .card{
  background:var(--bg-soft);
  border:1px solid rgba(199,160,7,.35);
  border-radius:14px;
  padding:16px;
  box-shadow:inset 0 0 0 1px rgba(199,160,7,.1), 0 10px 28px rgba(0,0,0,.25);
  transition:transform .2s ease, box-shadow .2s ease
}
.highlight-cards .card:hover{
  transform:translateY(-2px);
  box-shadow:inset 0 0 0 1px rgba(199,160,7,.25), 0 16px 36px rgba(0,0,0,.35)
}
.highlight-cards h3{margin:0 0 8px 0;color:var(--gold)}
@media(max-width:900px){.highlight-cards{grid-template-columns:1fr}}

/* Sekcja samochodów */
.cars .car-section{margin:28px 0 42px 0}
.car-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:12px
}
.car-title{
  font-size:22px;
  font-weight:700;
  color:var(--gold)
}
.grid{
  display:grid;
  gap:10px;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr))
}
.grid img{
  width:100%;
  height:180px;
  display:block;
  object-fit:cover;
  border-radius:10px;
  border:1px solid var(--stroke);
  background:var(--bg-soft);
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s
}
.grid img:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 24px rgba(0,0,0,.35)
}

/* Kontakt */
.contact .contact-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:20px
}

/* Stopka */
.footer{
  padding:24px 0;
  background:var(--bg-soft);
  border-top:1px solid var(--stroke);
  text-align:center;
  color:var(--muted)
}



/* Stopka: sekcja "Nasza oferta i poradniki" */
.footer-links{
  margin-bottom:40px;
  text-align:center;
}
.footer-links__title{
  color:var(--gold);
  margin-bottom:25px;
  font-size:1.2em;
  text-transform:uppercase;
  letter-spacing:1px;
}
.footer-links__list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:15px 25px;
}
.footer-links a{
  color:#e0e0e0;
  text-decoration:none;
  transition:color 0.3s;
  font-size:0.9em;
  white-space:nowrap;
}
.footer-links a:hover{
  color:var(--gold);
  text-decoration:underline;
}
.footer-separator{
  border:0;
  border-top:1px solid rgba(199,160,7,0.2);
  margin:0 0 25px 0;
}

/* Lightbox */
.lightbox{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.9);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:300;
  opacity:1;
  transition:opacity 0.4s ease;
}
.lightbox.open{
  display:flex;
}
.lightbox.fade-out{
  opacity:0;
}

.lightbox-img{
  max-width:92vw;
  max-height:86vh;
  border:2px solid var(--gold);
  border-radius:12px;
  box-shadow:0 0 30px rgba(0,0,0,0.7);
  opacity:0;
  transition:opacity 0.45s ease-in-out;
}
.lightbox-img.visible{
  opacity:1;
}

.lightbox-close{
  position:absolute;
  top:20px;
  right:28px;
  font-size:44px;
  color:var(--gold);
  background:none;
  border:none;
  cursor:pointer;
  z-index:350;
  text-shadow:0 0 8px rgba(0,0,0,.8);
  transition:transform 0.2s ease;
}
.lightbox-close:hover{
  transform:scale(1.15);
}

/* Nawigacja lightboxa */
.lightbox-prev,
.lightbox-next{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  font-size:54px;
  color:var(--gold);
  background:rgba(0,0,0,0.3);
  border:none;
  padding:8px 14px;
  cursor:pointer;
  z-index:320;
  transition:background 0.2s ease, color 0.2s ease;
}
.lightbox-prev:hover,
.lightbox-next:hover{
  background:rgba(0,0,0,0.6);
  color:var(--gold-2);
}
.lightbox-prev{left:40px;}
.lightbox-next{right:40px;}

/* Efekt logo na wejście */
.intro-logo-overlay{
  position:fixed;
  inset:0;
  background:radial-gradient(circle at center, rgba(0,0,0,0.85) 40%, rgba(0,0,0,1) 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:200;
  transition:opacity 1.2s ease
}
.intro-logo-overlay.fade-out{
  opacity:0;
  pointer-events:none
}
.intro-logo{
  width:clamp(220px, 80vw, 440px);
  height:auto;
  filter:drop-shadow(0 0 14px rgba(199,160,7,0.75));
  animation:logo-pulse 2s ease-in-out infinite alternate;
}

@media(min-width:1920px){
  .intro-logo{width:440px;}
}

@media(max-width:1100px){
  .intro-logo{width:min(80vw, 440px);}
}

@keyframes logo-pulse{
  from{transform:scale(1);opacity:0.8}
  to{transform:scale(1.08);opacity:1}
}
