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

/* Hero Button Text Color - Force White Text with Maximum Specificity */
a.ust-btn-hero,
button.ust-btn-hero,
.ust-hero-cta .ust-btn-hero,
.ust-hero .ust-btn-hero {
    color: #ffffff !important;
    background: #01c057 !important;
    border-color: #01c057 !important;
}

a.ust-btn-hero *,
a.ust-btn-hero i,
a.ust-btn-hero span,
button.ust-btn-hero *,
button.ust-btn-hero i,
button.ust-btn-hero span,
.ust-hero-cta .ust-btn-hero *,
.ust-hero-cta .ust-btn-hero i,
.ust-hero .ust-btn-hero *,
.ust-hero .ust-btn-hero i {
    color: #ffffff !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) !important;
}

a.ust-btn-hero:hover,
button.ust-btn-hero:hover,
.ust-hero-cta .ust-btn-hero:hover,
.ust-hero .ust-btn-hero:hover {
    color: #ffffff !important;
    background: #00a045 !important;
    border-color: #00a045 !important;
}

a.ust-btn-hero:hover *,
a.ust-btn-hero:hover i,
button.ust-btn-hero:hover *,
button.ust-btn-hero:hover i {
    color: #ffffff !important;
}

/* Header Contact Us Button - Force White Text with Maximum Specificity */
a.ust-btn-primary,
button.ust-btn-primary,
.ust-nav-cta .ust-btn-primary,
.ust-header .ust-btn-primary,
header .ust-btn-primary {
    color: #ffffff !important;
    background: #01c057 !important;
    border-color: #01c057 !important;
}

a.ust-btn-primary *,
a.ust-btn-primary span,
button.ust-btn-primary *,
button.ust-btn-primary span,
.ust-nav-cta .ust-btn-primary *,
.ust-header .ust-btn-primary *,
header .ust-btn-primary * {
    color: #ffffff !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) !important;
}

a.ust-btn-primary:hover,
button.ust-btn-primary:hover,
.ust-nav-cta .ust-btn-primary:hover,
.ust-header .ust-btn-primary:hover,
header .ust-btn-primary:hover {
    color: #ffffff !important;
    background: #00a045 !important;
    border-color: #00a045 !important;
}

a.ust-btn-primary:hover *,
a.ust-btn-primary:hover span,
button.ust-btn-primary:hover *,
button.ust-btn-primary:hover span {
    color: #ffffff !important;
}

/* Services Section - Center align pretitle and description */
.services-section .section-sub-title.center {
    text-align: center !important;
}

.services-section .section-title-body {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.services-section .section-title-body .head-title.with-effect-border {
    text-align: center !important;
    display: inline-block !important;
    margin: 0 auto !important;
}

.services-section .section-title-body .head-text {
    text-align: center !important;
    margin: 20px auto 0 !important;
    max-width: 700px !important;
}

/* Services Section - White color for "What We Offer" */
.services-section .section-title-body .head-title:not(.with-effect-border) {
    color: #ffffff !important;
    text-align: center !important;
}

/* Service Cards - Center align description and reduce padding */
.services-section .service-card {
    padding: 1.25rem !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
}

.services-section .service-card h3 {
    text-align: center !important;
}

.services-section .service-card p {
    text-align: center !important;
    margin: 0 auto 1rem !important;
    max-width: 100% !important;
    display: block !important;
}

.services-section .service-link {
    padding: 0.5rem 1rem !important;
    font-size: 0.8125rem !important;
    margin-top: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Why Choose Us - Center align */
.why-choose-us-section .section-title-body {
    text-align: center !important;
}

.why-choose-us-section .head-title.with-effect-border {
    text-align: center !important;
    display: inline-block !important;
    margin: 0 auto !important;
}

.why-choose-us-section .head-title:not(.with-effect-border) {
    color: #ffffff !important;
    text-align: center !important;
}

/* Portfolio Section - Center align */
.portfolio-section .section-title-body {
    text-align: center !important;
}

.portfolio-section .head-title.with-effect-border {
    text-align: center !important;
    display: inline-block !important;
    margin: 0 auto !important;
}

.portfolio-section .head-title:not(.with-effect-border) {
    color: #ffffff !important;
    text-align: center !important;
}

.portfolio-section .head-text {
    text-align: center !important;
}

/* CTA Section - White color */
.cta-section .head-title {
    color: #ffffff !important;
}

/* Clients Section - Center align */
.clients-section .section-title-body {
    text-align: center !important;
}

.clients-section .head-title.with-effect-border {
    text-align: center !important;
    display: inline-block !important;
    margin: 0 auto !important;
}

.clients-section .head-title:not(.with-effect-border) {
    color: #ffffff !important;
    text-align: center !important;
}

/* Blog Section - Center align */
.blog-section .section-title-body {
    text-align: center !important;
}

.blog-section .head-title.with-effect-border {
    text-align: center !important;
    display: inline-block !important;
    margin: 0 auto !important;
}

.blog-section .head-title:not(.with-effect-border) {
    color: #ffffff !important;
    text-align: center !important;
}

.blog-section .head-text {
    text-align: center !important;
}

/* Mobile Padding Reduction */
@media (max-width: 768px) {
    .container {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
    
    .block .container {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
    
    .ust-container {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
    
    .section-title-body {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

@media (max-width: 480px) {
    .container {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }
    
    .block .container {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }
    
    .ust-container {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }
}

