/* NAPRAWA BIAŁEGO PASKA NA SMARTFONACH */
html, body { 
    width: 100%; 
    max-width: 100vw; 
    background-color: #ffffff; 
    color: #1f2937; 
    font-family: 'Montserrat', sans-serif; 
    overflow-x: hidden; 
    margin: 0; 
    padding: 0; 
}

/* Stylizacja scrollowanego menu na mobile */
.hide-scrollbar::-webkit-scrollbar { display: none; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Animacje wejścia */
.reveal { opacity: 0; transform: translateY(30px); transition: all 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.reveal.active { opacity: 1; transform: translateY(0); }
.delay-100 { transition-delay: 0.1s; }
.delay-200 { transition-delay: 0.2s; }

/* Hover efekty */
.hover-lift { transition: transform 0.4s ease, box-shadow 0.4s ease; }
.hover-lift:hover { transform: translateY(-8px); box-shadow: 0 20px 40px -10px rgba(0,0,0,0.08); }

/* Lightbox animacja */
#lightbox.show { opacity: 1; pointer-events: auto; }
#lightbox-img { transform: scale(0.95); transition: transform 0.3s ease; }
#lightbox.show #lightbox-img { transform: scale(1); }

/* Style dla ultralekkiej karuzeli opinii (120 FPS) */
.reviews-carousel {
    display: flex;
    gap: 1.5rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 2rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.reviews-carousel::-webkit-scrollbar { display: none; }

.google-review-card {
    min-width: 320px;
    max-width: 320px;
    scroll-snap-align: center;
}
@media (min-width: 768px) {
    .google-review-card { min-width: 380px; max-width: 380px; scroll-snap-align: start; }
}