:root {
    --primary-color: #0056b3;
    --secondary-color: #20c997;
    --accent-color: #28a745;
    --gradient: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
}

.hero-section, .gallery-hero, .services-hero, .contact-section {
    background: var(--gradient) !important;
}
.service-icon { color: var(--primary-color) !important; }
.btn-primary { background-color: var(--primary-color) !important; border-color: var(--primary-color) !important; }
.btn-primary:hover { background-color: var(--secondary-color) !important; border-color: var(--secondary-color) !important; }
.btn-outline-primary { color: var(--primary-color) !important; border-color: var(--primary-color) !important; }
.btn-outline-primary:hover { background-color: var(--primary-color) !important; border-color: var(--primary-color) !important; }
.text-primary { color: var(--primary-color) !important; }
.fas.fa-check { color: var(--accent-color) !important; }
.price-tag { background: var(--primary-color) !important; }
.navbar-brand { font-weight: bold; font-size: 1.5rem; }
.service-icon { font-size: 3rem; margin-bottom: 1rem; }
.gallery-item { border-radius: 10px; margin-bottom: 20px; box-shadow: 0 4px 8px rgba(0,0,0,0.1); overflow: hidden; transition: transform 0.3s ease; }
.gallery-item:hover { transform: translateY(-5px); }
.gallery-item img { width: 100%; height: 250px; object-fit: cover; transition: transform 0.3s ease; }
.gallery-item:hover img { transform: scale(1.05); }
.service-card { border-radius: 15px; box-shadow: 0 5px 15px rgba(0,0,0,0.1); transition: transform 0.3s ease; height: 100%; }
.service-card:hover { transform: translateY(-5px); }
.contact-card { border-radius: 15px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
.empty-gallery { text-align: center; padding: 50px; color: #666; }
.navbar-brand img { border-radius: 50%; transition: transform 0.3s ease; }
.navbar-brand:hover img { transform: scale(1.1); }
/* Scrolling Banner Styles */
.scrolling-banner {
    white-space: nowrap;
    overflow: hidden;
    width: 100%;
}

.banner-text {
    display: inline-block;
    animation: scroll-left 15s linear infinite;
    font-weight: bold;
}

@keyframes scroll-left {
    0% {
        transform: translateX(100%);
    }
    100% {
        transform: translateX(-100%);
    }
}

/* Pause scrolling on hover */
.scrolling-banner:hover .banner-text {
    animation-play-state: paused;
}

/* For shorter text, center it instead of scrolling */
@media (max-width: 768px) {
    .banner-text {
        animation: none;
        transform: none;
        text-align: center;
        width: 100%;
    }
}