/* Global Spacing and Padding Fixes */

/* Container Improvements */
.container-fluid {
    padding-left: 30px;
    padding-right: 30px;
}

/* Section Spacing */
section.py-5 {
    padding-left: 30px !important;
    padding-right: 30px !important;
}

section.py-4 {
    padding-left: 30px !important;
    padding-right: 30px !important;
}

/* Row Improvements */
.row {
    margin-left: -15px;
    margin-right: -15px;
}

.row > * {
    padding-left: 15px;
    padding-right: 15px;
}

/* Card Spacing */
.card {
    margin-bottom: 20px;
}

.card-body {
    padding: 25px;
}

/* Content Sections */
.content-section {
    padding: 60px 30px;
}

.content-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px;
}

/* Hero Section Improvements */
.hero-content {
    padding: 0 30px;
}

/* Feature Sections */
.features-section {
    padding: 80px 30px;
}

.feature-grid {
    padding: 0 15px;
}

/* About Section */
.about-section {
    padding: 80px 30px;
}

/* Products Section */
.products-section {
    padding: 80px 30px;
}

/* Testimonials Section */
.testimonials-section {
    padding: 80px 30px;
}

/* Contact Section */
.contact-section {
    padding: 80px 30px;
}

/* CTA Section */
.cta-section {
    padding: 80px 30px;
}

/* Mobile Responsive Improvements */
@media (max-width: 768px) {
    .container-fluid {
        padding-left: 20px;
        padding-right: 20px;
    }
    
    section.py-5,
    section.py-4 {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    
    .content-section {
        padding: 40px 20px;
    }
    
    .content-wrapper {
        padding: 0 20px;
    }
    
    .hero-content {
        padding: 0 20px;
    }
    
    .features-section,
    .about-section,
    .products-section,
    .testimonials-section,
    .contact-section,
    .cta-section {
        padding: 60px 20px;
    }
    
    .feature-grid {
        padding: 0 10px;
    }
    
    .row {
        margin-left: -10px;
        margin-right: -10px;
    }
    
    .row > * {
        padding-left: 10px;
        padding-right: 10px;
    }
    
    .card-body {
        padding: 20px;
    }
}

@media (max-width: 576px) {
    .container-fluid {
        padding-left: 15px;
        padding-right: 15px;
    }
    
    section.py-5,
    section.py-4 {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    
    .content-section {
        padding: 30px 15px;
    }
    
    .content-wrapper {
        padding: 0 15px;
    }
    
    .hero-content {
        padding: 0 15px;
    }
    
    .features-section,
    .about-section,
    .products-section,
    .testimonials-section,
    .contact-section,
    .cta-section {
        padding: 40px 15px;
    }
    
    .feature-grid {
        padding: 0 8px;
    }
    
    .row {
        margin-left: -8px;
        margin-right: -8px;
    }
    
    .row > * {
        padding-left: 8px;
        padding-right: 8px;
    }
    
    .card-body {
        padding: 15px;
    }
}

@media (max-width: 375px) {
    .container-fluid {
        padding-left: 12px;
        padding-right: 12px;
    }
    
    section.py-5,
    section.py-4 {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    
    .content-section {
        padding: 25px 12px;
    }
    
    .content-wrapper {
        padding: 0 12px;
    }
    
    .hero-content {
        padding: 0 12px;
    }
    
    .features-section,
    .about-section,
    .products-section,
    .testimonials-section,
    .contact-section,
    .cta-section {
        padding: 30px 12px;
    }
    
    .feature-grid {
        padding: 0 6px;
    }
    
    .row {
        margin-left: -6px;
        margin-right: -6px;
    }
    
    .row > * {
        padding-left: 6px;
        padding-right: 6px;
    }
    
    .card-body {
        padding: 12px;
    }
}

/* Prevent horizontal scroll */
html, body {
    overflow-x: hidden;
    max-width: 100%;
}

* {
    box-sizing: border-box;
}

/* Ensure all content respects container boundaries */
.container,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl {
    max-width: 100%;
    overflow-x: hidden;
}

/* Offcanvas and Mobile Menu Improvements */
.offcanvas-body {
    padding: 20px;
}

.mobile-menu-content {
    padding: 15px 20px;
}

.mobile-nav-link {
    padding: 12px 0;
    border-bottom: 1px solid rgba(0,0,0,0.1);
}

/* Bootstrap Row and Column Fixes */
.row {
    --bs-gutter-x: 30px;
}

@media (max-width: 768px) {
    .row {
        --bs-gutter-x: 20px;
    }

    .offcanvas-body {
        padding: 15px;
    }

    .mobile-menu-content {
        padding: 10px 15px;
    }
}

@media (max-width: 576px) {
    .row {
        --bs-gutter-x: 15px;
    }

    .offcanvas-body {
        padding: 12px;
    }

    .mobile-menu-content {
        padding: 8px 12px;
    }
}
