html { scroll-behavior: smooth; }
body { font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif; background-color: #fefefe; }

/* Carousel */
.carousel-item { height: 500px; background-color: #2d2d2d; }
.carousel-item img { object-fit: cover; height: 100%; width: 100%; filter: brightness(0.6); }
.carousel-caption { bottom: 20%; top: auto; background: rgba(0,0,0,0.55); padding: 20px; border-radius: 12px; left: 10%; right: 10%; max-height: 80%; overflow-y: auto; }
.carousel-caption h1, .carousel-caption h2 { font-weight: 700; text-shadow: 1px 1px 3px rgba(0,0,0,0.5); }
.carousel-caption .lead { font-size: 1.25rem; }

/* Small Devices */
@media (max-width: 768px) {
    .carousel-item { height: 450px; }
    .carousel-caption { bottom: 10%; padding: 15px; left: 5%; right: 5%; }
    .carousel-caption h1, .carousel-caption h2 { font-size: 1.5rem; line-height: 1.2; margin-bottom: 0.5rem; }
    .carousel-caption p.lead { font-size: 0.9rem; margin-bottom: 0.75rem; }
    .carousel-caption .btn { font-size: 0.85rem; padding: 0.5rem 1rem; }
    .carousel-caption .d-flex { gap: 0.75rem !important; }
}
@media (max-width: 480px) {
    .carousel-item { height: 400px; }
    .carousel-caption { bottom: 5%; padding: 10px; }
    .carousel-caption h1, .carousel-caption h2 { font-size: 1.2rem; }
    .carousel-caption p.lead { font-size: 0.8rem; }
    .carousel-caption .btn { font-size: 0.75rem; padding: 0.4rem 0.8rem; }
}

/* Buttons */
.btn-whatsapp { background-color: #25D366; color: white; }
.btn-whatsapp:hover { background-color: #128C7E; color: white; }
.btn-outline-light:hover { background-color: #f8f9fa; color: #000; }
.btn-primary { background-color: #84cc16; border-color: #84cc16; color: #1a2e05; }
.btn-primary:hover { background-color: #65a30d; border-color: #65a30d; color: #fff; }
.btn-outline-primary { color: #84cc16; border-color: #84cc16; }
.btn-outline-primary:hover { background-color: #84cc16; border-color: #84cc16; color: #1a2e05; }

/* Cards */
.card-icon i { font-size: 3rem; color: #84cc16; margin-bottom: 1rem; }
.services-card, .facilities-card { transition: 0.2s; border: none; border-radius: 1rem; }
.services-card:hover, .facilities-card:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.1); }
.card-img-top { height: 200px; object-fit: cover; }
.pricing-card { transition: 0.2s; border: none; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.pricing-card:hover { transform: translateY(-5px); }

/* Footer & Navbar */
footer { background-color: #2d2d2d; color: #ccc; }
footer a { color: #fff; text-decoration: none; transition: 0.2s; }
footer a:hover { color: #84cc16; text-decoration: underline; }
.social-icon { font-size: 2rem; margin: 0 10px; transition: 0.2s; display: inline-block; }
.social-icon:hover { transform: scale(1.1); color: #84cc16 !important; }
.navbar-dark.bg-dark { background-color: #2d2d2d !important; }
.navbar-brand { font-weight: 700; letter-spacing: 1px; }
@media (max-width: 768px) { .navbar-brand { font-size: 1.25rem; } }
.navbar-nav .nav-link.active, .navbar-nav .nav-link:hover { color: #84cc16 !important; }

/* Previous Work Section */
#previous-work .row [class*="col-"] {
    overflow: hidden;
}
#previous-work img {
    transition: transform 0.3s ease;
}
#previous-work img:hover {
    transform: scale(1.03);
}

/* Carousel indicators */
.carousel-indicators [data-bs-target] { background-color: #84cc16; }

/* Reviews & Form */
.sk-ww-google-reviews { margin: 0 auto; width: 100%; }
#contact .card { border-radius: 1rem; }
#contact .btn-primary { background-color: #84cc16; border: none; padding: 0.75rem; font-weight: 600; color: #1a2e05; }
#contact .btn-primary:hover { background-color: #65a30d; color: #fff; }
.ratio-16x9 iframe { border-radius: 0.75rem; }
.alert-info { background-color: #f7fee7; border-color: #84cc16; color: #3f6212; }
.alert-info i { color: #84cc16; }
.bg-light-custom { background-color: #f8f9fa; }
.text-primary-custom { color: #84cc16; }