/* =====================================================================
   garage.css  –  styl podstrony „Garaże”  (ciemny motyw + biały CTA)
===================================================================== */

/* ----- Wrapper tabel ------------------------------------------------ */
.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:2.5rem 0;}
.table-responsive::-webkit-scrollbar{height:6px;}
.table-responsive::-webkit-scrollbar-thumb{background:var(--accent-color);border-radius:3px;}

/* ----- Neo-table ---------------------------------------------------- */
.neo-table{
  width:100%;border-collapse:separate;border-spacing:0;
  background:rgba(30,30,30,.65);backdrop-filter:blur(6px) saturate(130%);
  color:var(--white);border-radius:12px;overflow:hidden;
  box-shadow:0 8px 24px rgba(0,0,0,.55);font-size:.95rem;
}
.neo-table thead th{
  padding:16px 24px;
  background:linear-gradient(135deg,var(--accent-color) 0%,rgba(229,9,20,.85) 60%);
  color:#fff;font-weight:600;text-transform:uppercase;letter-spacing:.45px;
  border-bottom:2px solid rgba(0,0,0,.15);
}
.neo-table td,.neo-table th[scope=row]{padding:16px 24px;border-bottom:1px solid rgba(255,255,255,.08);}
.neo-table tbody tr:nth-child(odd){background:rgba(255,255,255,.025);}
.neo-table tbody tr:hover{background:rgba(229,9,20,.14);}
.neo-table tbody tr:last-child td{border-bottom:none;}

/* ----- Galeria zdjęć ----------------------------------------------- */
.photo-grid{
  display:grid;gap:2rem;margin:3rem 0 2.5rem;
  grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
}
.photo-item{position:relative;overflow:hidden;border-radius:14px;
  background:rgba(30,30,30,.6);backdrop-filter:blur(6px) saturate(130%);
  box-shadow:0 8px 24px rgba(0,0,0,.55);transition:transform .35s cubic-bezier(.16,.84,.44,1);}
.photo-item:hover{transform:translateY(-6px) scale(1.02);}
.photo-item img{width:100%;display:block;aspect-ratio:16/10;object-fit:cover;
  transition:transform .35s cubic-bezier(.16,.84,.44,1);}
.photo-item:hover img{transform:scale(1.07);}
.photo-item::before{content:"";position:absolute;inset:auto 0 0;height:55%;
  background:linear-gradient(to top,rgba(0,0,0,.65),rgba(0,0,0,0));pointer-events:none;z-index:1;}
.photo-item figcaption{position:absolute;inset:auto 16px 10px;z-index:2;
  font-size:1.05rem;font-weight:600;color:#fff;}

/* ----- Opinie ------------------------------------------------------- */
.sub-heading{margin-top:3.5rem;font-size:1.3rem;font-weight:600;}
.client-quote{
  margin:1.75rem 0;padding:1.2rem 1.5rem;
  background:rgba(30,30,30,.6);backdrop-filter:blur(6px) saturate(130%);
  border-left:4px solid var(--accent-color);border-radius:8px;
  box-shadow:0 6px 16px rgba(0,0,0,.45);
  font-style:italic;line-height:1.6;color:var(--white);
}
.client-quote footer{margin-top:.8rem;font-size:.9rem;font-style:normal;font-weight:500;color:rgba(255,255,255,.75);}

/* ----- CTA ---------------------------------------------------------- */
.cta{margin:3.5rem auto 2rem;font-size:1.08rem;text-align:center;max-width:720px;}
.cta a{color:#fff;text-decoration:underline;transition:color .25s;}
.cta a:hover{color:var(--accent-color);}

/* ----- Responsive tweaks ------------------------------------------- */
@media (max-width:576px){
  .neo-table thead th{padding:14px 18px;font-size:.82rem;}
  .neo-table td,.neo-table th[scope=row]{padding:14px 18px;font-size:.82rem;}
  .photo-grid{gap:1.6rem;}
  .client-quote{padding:1rem 1.25rem;font-size:.9rem;}
}
