/**
 * DZ Life - Spacing Optimization
 * Reduces excessive padding and margins for a more compact layout
 * Maintains visual balance and responsive behavior
 */

/* ===================================
   OPTIMIZED UTILITY CLASSES
   Reduced by ~40-50% from original values
   =================================== */

/* Padding Top - Optimized Scale */
.pt-75 { padding-top: 40px !important; }
.pt-80 { padding-top: 45px !important; }
.pt-85 { padding-top: 45px !important; }
.pt-90 { padding-top: 50px !important; }
.pt-95 { padding-top: 50px !important; }
.pt-100 { padding-top: 55px !important; }
.pt-105 { padding-top: 55px !important; }
.pt-110 { padding-top: 60px !important; }
.pt-115 { padding-top: 60px !important; }
.pt-120 { padding-top: 65px !important; }
.pt-125 { padding-top: 65px !important; }
.pt-130 { padding-top: 70px !important; }
.pt-135 { padding-top: 70px !important; }
.pt-140 { padding-top: 75px !important; }
.pt-145 { padding-top: 75px !important; }
.pt-150 { padding-top: 80px !important; }
.pt-155 { padding-top: 80px !important; }
.pt-160 { padding-top: 85px !important; }
.pt-165 { padding-top: 85px !important; }

/* Padding Bottom - Optimized Scale */
.pb-75 { padding-bottom: 40px !important; }
.pb-80 { padding-bottom: 45px !important; }
.pb-85 { padding-bottom: 45px !important; }
.pb-90 { padding-bottom: 50px !important; }
.pb-95 { padding-bottom: 50px !important; }
.pb-100 { padding-bottom: 55px !important; }
.pb-105 { padding-bottom: 55px !important; }
.pb-110 { padding-bottom: 60px !important; }
.pb-115 { padding-bottom: 60px !important; }
.pb-120 { padding-bottom: 65px !important; }
.pb-125 { padding-bottom: 65px !important; }
.pb-130 { padding-bottom: 70px !important; }
.pb-135 { padding-bottom: 70px !important; }
.pb-140 { padding-bottom: 75px !important; }
.pb-145 { padding-bottom: 75px !important; }
.pb-150 { padding-bottom: 80px !important; }
.pb-155 { padding-bottom: 80px !important; }
.pb-160 { padding-bottom: 85px !important; }
.pb-165 { padding-bottom: 85px !important; }

/* Margin Top - Optimized Scale */
.mt-75 { margin-top: 40px !important; }
.mt-80 { margin-top: 45px !important; }
.mt-85 { margin-top: 45px !important; }
.mt-90 { margin-top: 50px !important; }
.mt-95 { margin-top: 50px !important; }
.mt-100 { margin-top: 55px !important; }
.mt-105 { margin-top: 55px !important; }
.mt-110 { margin-top: 60px !important; }
.mt-115 { margin-top: 60px !important; }
.mt-120 { margin-top: 65px !important; }
.mt-125 { margin-top: 65px !important; }
.mt-130 { margin-top: 70px !important; }

/* Margin Bottom - Optimized Scale */
.mb-75 { margin-bottom: 40px !important; }
.mb-80 { margin-bottom: 45px !important; }
.mb-85 { margin-bottom: 45px !important; }
.mb-90 { margin-bottom: 50px !important; }
.mb-95 { margin-bottom: 50px !important; }
.mb-100 { margin-bottom: 55px !important; }
.mb-105 { margin-bottom: 55px !important; }
.mb-110 { margin-bottom: 60px !important; }
.mb-115 { margin-bottom: 60px !important; }
.mb-120 { margin-bottom: 65px !important; }
.mb-125 { margin-bottom: 65px !important; }
.mb-130 { margin-bottom: 70px !important; }
.mb-135 { margin-bottom: 70px !important; }
.mb-140 { margin-bottom: 75px !important; }
.mb-145 { margin-bottom: 75px !important; }
.mb-150 { margin-bottom: 80px !important; }

/* ===================================
   SECTION PADDING OPTIMIZATION
   =================================== */

.section-padding-30 {
    padding: 20px 0 !important;
}

.section-padding-50 {
    padding: 20px 0 !important;
}

.section-padding-60 {
    padding: 20px 0 !important;
}

.section-padding {
    padding: 20px 0 !important;
}

/* ===================================
   MOBILE RESPONSIVE SPACING
   Tighter spacing on mobile devices
   =================================== */

@media (max-width: 767px) {
    /* Further reduce padding on mobile */
    .pt-75, .pt-80 { padding-top: 30px !important; }
    .pt-85, .pt-90 { padding-top: 35px !important; }
    .pt-95, .pt-100 { padding-top: 40px !important; }
    .pt-105, .pt-110 { padding-top: 45px !important; }
    .pt-115, .pt-120, .pt-125, .pt-130 { padding-top: 50px !important; }
    .pt-135, .pt-140, .pt-145, .pt-150 { padding-top: 55px !important; }
    .pt-155, .pt-160, .pt-165 { padding-top: 60px !important; }
    
    .pb-75, .pb-80 { padding-bottom: 30px !important; }
    .pb-85, .pb-90 { padding-bottom: 35px !important; }
    .pb-95, .pb-100 { padding-bottom: 40px !important; }
    .pb-105, .pb-110 { padding-bottom: 45px !important; }
    .pb-115, .pb-120, .pb-125, .pb-130 { padding-bottom: 50px !important; }
    .pb-135, .pb-140, .pb-145, .pb-150 { padding-bottom: 55px !important; }
    .pb-155, .pb-160, .pb-165 { padding-bottom: 60px !important; }
    
    .mt-75, .mt-80, .mt-85, .mt-90 { margin-top: 30px !important; }
    .mt-95, .mt-100, .mt-105, .mt-110 { margin-top: 35px !important; }
    .mt-115, .mt-120, .mt-125, .mt-130 { margin-top: 40px !important; }
    
    .mb-75, .mb-80, .mb-85, .mb-90 { margin-bottom: 30px !important; }
    .mb-95, .mb-100, .mb-105, .mb-110 { margin-bottom: 35px !important; }
    .mb-115, .mb-120, .mb-125, .mb-130 { margin-bottom: 40px !important; }
    .mb-135, .mb-140, .mb-145, .mb-150 { margin-bottom: 45px !important; }
    
    .section-padding-30 { padding: 15px 0 !important; }
    .section-padding-50 { padding: 20px 0 !important; }
    .section-padding-60 { padding: 25px 0 !important; }
    .section-padding { padding: 15px 0 !important; }
}

@media (min-width: 768px) and (max-width: 991px) {
    /* Tablet - intermediate spacing */
    .pt-100, .pb-100 { padding-top: 50px !important; padding-bottom: 50px !important; }
    .pt-120, .pb-120 { padding-top: 60px !important; padding-bottom: 60px !important; }
    .pt-150, .pb-150 { padding-top: 70px !important; padding-bottom: 70px !important; }
}

/* ===================================
   COMPONENT-SPECIFIC OPTIMIZATIONS
   =================================== */

/* Product Grid - Reduce gaps */
.product-grid {
    row-gap: 20px !important;
}

.row-cols-lg-5 > * {
    margin-bottom: 20px !important;
}

/* Section Spacing Between Components */
section + section {
    margin-top: 0 !important;
}

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

/* Container Vertical Spacing */
.container-fluid,
.container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Hero/Banner Sections - Keep reasonable spacing */
.hero-slider-1,
.home-slider,
.banner-area {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Footer Optimization */
footer.footer-area {
    padding-top: 40px !important;
    padding-bottom: 20px !important;
}

/* Product Details Spacing */
.product-detail {
    padding: 30px 0 !important;
}

/* Breadcrumb Compact */
.breadcrumb-area {
    padding: 15px 0 !important;
}

/* ===================================
   ROW & COLUMN GAP OPTIMIZATION
   =================================== */

.row {
    --bs-gutter-y: 1.5rem;
}

@media (max-width: 767px) {
    .row {
        --bs-gutter-y: 1rem;
    }
}

/* ===================================
   SPECIFIC FIXES
   =================================== */

/* Login/Auth Pages - Reduce excessive spacing */
.login-register-area,
.otp-login-area {
    padding: 40px 0 50px !important;
}

@media (max-width: 767px) {
    .login-register-area,
    .otp-login-area {
        padding: 30px 0 40px !important;
    }
}

/* Category Cards */
.category-card {
    margin-bottom: 20px !important;
}

/* Deal/Promo Sections */
.deals-section,
.promo-section {
    padding: 35px 0 !important;
}

/* Title/Heading Margins */
.section-title {
    margin-bottom: 25px !important;
}

h2.section-title,
h3.section-title {
    margin-bottom: 20px !important;
}

/* Widget Spacing */
.widget {
    margin-bottom: 25px !important;
}

/* Mobile Bottom Navigation Spacing Fix */
@media (max-width: 767px) {
    main {
        padding-bottom: 64px !important;
    }
}
