/* 
   SECTION LAYOUT SYSTEM
   Provides consistent spacing and structure for all page sections
*/

/* Main page container */
.page-container {
    width: 100%;
    min-height: 100vh;
}

/* Universal section wrapper */
.page-section {
    width: 100%;
    margin-bottom: 80px;
    position: relative;
    overflow: hidden;
}

/* Gap between sections */
.page-section + .page-section {
    margin-top: 80px;
}

/* Remove bottom margin from last section */
.page-section:last-child {
    margin-bottom: 0;
}

/* ========================================
   VISUAL DEBUG BACKGROUNDS
   Temporary backgrounds to identify spacing issues
   ======================================== */

/* Section wrapper styling */
.page-section.welcome-section {
    margin-bottom: 80px;
}

.page-section.about-section {
    margin-bottom: 80px;
}

.page-section.shop-section {
    margin-bottom: 80px;
}

.page-section.specials-section {
    margin-bottom: 80px;
}

.page-section.contact-section {
    margin-bottom: 0;
}

/* ========================================
   STANDARDIZED SECTION PADDING
   All sections get consistent 30px top/bottom padding
   ======================================== */

/* Responsive spacing for mobile */
@media (max-width: 768px) {
    .page-section {
        margin-bottom: 50px;
    }
    
    .page-section.welcome-section,
    .page-section.about-section,
    .page-section.shop-section,
    .page-section.shop-locator-section,
    .page-section.gallery-section,
    .page-section.specials-section {
        margin-bottom: 50px;
    }
    
    .page-section.contact-section {
        margin-bottom: 0;
    }
}

/* Inner content wrapper for consistent padding */
.section-content {
    width: 100%;
    position: relative;
}

/* ========================================
   STANDARDIZED SECTION PADDING
   All sections get consistent 30px top/bottom padding
   ======================================== */

/* Welcome section */
#welcomeLayoutGrid {
    padding: 30px 15px 30px 15px !important;
}

/* About section */
#aboutLayoutGrid1 {
    padding: 30px 15px 30px 15px !important;
}

/* Shop sections */
#shopLayoutGrid1 {
    padding: 30px 15px 30px 15px !important;
}

#shopLayoutGrid2 {
    padding: 30px 15px 30px 15px !important;
}

/* Gallery sections - minimal padding for cleaner look */
#galleryLayoutGrid1 {
    padding: 25px 15px 15px 15px !important;
}

#galleryLayoutGrid2 {
    padding: 15px 15px 25px 15px !important;
}

/* Specials section */
#specialsLayoutGrid {
    padding: 30px 15px 30px 15px !important;
}

/* Contact sections */
#contactLayoutGrid1 {
    padding: 30px 15px 15px 15px !important;
}

#contactLayoutGrid2 {
    padding: 15px 15px 30px 15px !important;
}

/* Shop Locator section - custom structure */
.shop-locator-section {
    margin: 0 !important;
}

.shop-locator-header {
    margin-bottom: 20px !important;
}

.shop-locator-container {
    padding-bottom: 0 !important;
}

.shop-locator-content {
    min-height: auto !important;
    gap: 20px !important;
}

/* Footer and socials sections */
#socialsLayoutGrid {
    padding: 25px 15px 25px 15px !important;
}

#footerLayoutGrid {
    padding: 25px 15px 25px 15px !important;
}

/* ========================================
   MOBILE RESPONSIVE PADDING
   Consistent 20px padding on mobile
   ======================================== */
@media (max-width: 768px) {
    #welcomeLayoutGrid,
    #aboutLayoutGrid1,
    #shopLayoutGrid1,
    #shopLayoutGrid2,
    #specialsLayoutGrid,
    #socialsLayoutGrid,
    #footerLayoutGrid {
        padding: 20px 15px 20px 15px !important;
    }
    
    #galleryLayoutGrid1 {
        padding: 15px 15px 10px 15px !important;
    }
    
    #galleryLayoutGrid2 {
        padding: 10px 15px 15px 15px !important;
    }
    
    #contactLayoutGrid1 {
        padding: 20px 15px 10px 15px !important;
    }
    
    #contactLayoutGrid2 {
        padding: 10px 15px 20px 15px !important;
    }
    
    .shop-locator-section {
        padding: 15px 0 15px 0 !important;
    }
    
    .shop-locator-header {
        margin-bottom: 15px !important;
    }
    
    .shop-locator-content {
        gap: 15px !important;
    }
}

/* Override any existing margin conflicts */
.page-section [id^="wb_"] {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}