/* H1 Section Styles - Based on Elementor Structure */

/* Section Base */
.h1-section {
    position: relative;
    width: 100%;
    clear: both;
    box-sizing: border-box;
    background-color: #297842;
    padding: 3% 0% 3% 0%;
}

.h1-top-section {
    width: 100%;
}

.h1-section-boxed {
}

.h1-section-height-default {
    min-height: auto;
}

/* Container */
.h1-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.h1-column-gap-default {
    gap: 30px;
}

/* Column */
.h1-column {
    position: relative;
    flex: 1;
    min-height: 1px;
    word-wrap: break-word;
}

.h1-col-100 {
    width: 100%;
    flex: 0 0 100%;
}

.h1-top-column {
    display: flex;
    flex-direction: column;
}

/* Widget Wrap */
.h1-widget-wrap {
    position: relative;
    width: 100%;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.h1-element-populated {
    display: flex;
    flex-direction: column;
}

/* Widget */
.h1-widget {
    position: relative;
}

.h1-widget-container {
    position: relative;
    width: 100%;
}

/* Heading Widget */
.h1-widget-heading {
    /* Heading widget specific styles */
}

.h1-heading-title {
    color: #fff;
    font-weight: 600;
    line-height: 1.3;
    margin: 0;
}

.h1-heading-title.h1-size-default {
    font-size: 2.5rem;
}

/* Element Base */
.h1-element {
    /* Base element styles */
}

/* Background Settings */
.h1-section[data-settings*="background_background"] {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .h1-heading-title.h1-size-default {
        font-size: 2rem;
    }
}

@media (max-width: 767px) {
    .h1-section {
        padding: 5% 0% 5% 0%;
    }
    
    .h1-container {
        padding: 0 10px;
        flex-direction: column;
    }
    
    .h1-column-gap-default {
        gap: 20px;
    }
    
    .h1-heading-title.h1-size-default {
        font-size: 17px;
    }
}

