/*
+ Banner
*/
.banner-section {
    margin: 0 !important;
    padding: 0 !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-attachment: scroll !important;
    background-position: center center;
    color: #fff;
    position: relative;
    height: 400px;
    display: flex;
    align-items: flex-end;
}

.banner-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #00000047;
    z-index: 1;
}

.banner-content {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 30px;
}

.banner-text-container {
    display: flex;
    align-items: flex-end;
    width: 100%;
}

/* Text positioning classes */
.banner-text-center {
    justify-content: center;
}
.banner-text-left {
    justify-content: left;
}
.banner-text-right {
    justify-content: right;
}
.banner-title {
    margin: 0;
    font-size: 48px;
    font-weight: 600;
    line-height: 48px;
    color: #fff;
    text-transform: uppercase;
    font-family: Montserrat, sans-serif;
    max-width:100%;
}

/* Responsive adjustments */
@media (max-width: 1200px) {
    .banner-title {
        font-size: 42px;
        line-height: 42px;
        max-width: 70%;
    }
}

@media (max-width: 768px) {
    .banner-section {
        height: 300px;
    }
    
    .banner-content {
        padding: 20px;
    }
    
    .banner-title {
        font-size: 36px;
        line-height: 36px;
        max-width: 80%;
    }
}

@media (max-width: 480px) {
    .banner-section {
        height: 250px;
    }
    
    .banner-content {
        padding: 15px;
    }
    
    .banner-title {
        font-size: 28px;
        line-height: 28px;
        max-width: 90%;
    }
}

@media (max-width: 320px) {
    .banner-section {
        height: 200px;
    }
    
    .banner-title {
        font-size: 24px;
        line-height: 24px;
        max-width: 95%;
    }
}