/* Text Block Styles */
.block-text-content {
    padding: 0 20px;
}

/* Responsive padding adjustments */
@media (max-width: 768px) {
    .row.container {
        padding: 20px 10px;
    }
    
    .block-text-content {
        padding: 0;
    }
    
    /* Reduce inline padding for containers with background colors on mobile */
    .row.container[style*="padding: 4px"] {
        padding: 4px !important;
    }
}

/* Ensure proper text contrast for different background colors */
.row.container[style*="background-color: var(--color-navy)"],
.row.container[style*="background-color: var(--color-purple)"],
.row.container[style*="background-color: var(--color-dark-red)"],
.row.container[style*="background: var(--service-gradient-green)"] {
    color: var(--color-black-0);
}

.row.container[style*="background-color: var(--color-navy)"] h1,
.row.container[style*="background-color: var(--color-navy)"] h2,
.row.container[style*="background-color: var(--color-navy)"] h3,
.row.container[style*="background-color: var(--color-navy)"] h4,
.row.container[style*="background-color: var(--color-navy)"] h5,
.row.container[style*="background-color: var(--color-navy)"] h6,
.row.container[style*="background-color: var(--color-purple)"] h1,
.row.container[style*="background-color: var(--color-purple)"] h2,
.row.container[style*="background-color: var(--color-purple)"] h3,
.row.container[style*="background-color: var(--color-purple)"] h4,
.row.container[style*="background-color: var(--color-purple)"] h5,
.row.container[style*="background-color: var(--color-purple)"] h6,
.row.container[style*="background-color: var(--color-dark-red)"] h1,
.row.container[style*="background-color: var(--color-dark-red)"] h2,
.row.container[style*="background-color: var(--color-dark-red)"] h3,
.row.container[style*="background-color: var(--color-dark-red)"] h4,
.row.container[style*="background-color: var(--color-dark-red)"] h5,
.row.container[style*="background-color: var(--color-dark-red)"] h6,
.row.container[style*="background: var(--service-gradient-green)"] h1,
.row.container[style*="background: var(--service-gradient-green)"] h2,
.row.container[style*="background: var(--service-gradient-green)"] h3,
.row.container[style*="background: var(--service-gradient-green)"] h4,
.row.container[style*="background: var(--service-gradient-green)"] h5,
.row.container[style*="background: var(--service-gradient-green)"] h6 {
    color: var(--color-black-0) !important;
    background: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
    -webkit-text-fill-color: var(--color-black-0) !important;
}

/* Ensure links are visible on dark backgrounds */
.row.container[style*="background-color: var(--color-navy)"] a,
.row.container[style*="background-color: var(--color-purple)"] a,
.row.container[style*="background-color: var(--color-dark-red)"] a,
.row.container[style*="background: var(--service-gradient-green)"] a {
    color: var(--color-blue);
}

.row.container[style*="background-color: var(--color-navy)"] a:hover,
.row.container[style*="background-color: var(--color-purple)"] a:hover,
.row.container[style*="background-color: var(--color-dark-red)"] a:hover,
.row.container[style*="background: var(--service-gradient-green)"] a:hover {
    color: var(--color-light-green);
}

/* H2 headings in text-block should use display: block for proper alignment */
.row.container .block-text-content h2 {
    display: block !important;
}

/* Ensure proper spacing for content */
.block-text-content p:last-child {
    margin-bottom: 0;
}

.block-text-content h1:last-child,
.block-text-content h2:last-child,
.block-text-content h3:last-child,
.block-text-content h4:last-child,
.block-text-content h5:last-child,
.block-text-content h6:last-child {
    margin-bottom: 0;
}

/* Image alignment within text content */
.block-text-content .aligncenter {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
    clear: both;
}

.block-text-content .aligncenter img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}

.block-text-content .aligncenter picture {
    display: block;
    text-align: center;
}

.block-text-content .aligncenter picture img {
    display: inline-block;
    margin: 0 auto;
}

/* Additional image alignment for WordPress image classes */
.block-text-content .size-full,
.block-text-content .wp-image-3981,
.block-text-content .wp-image-3983 {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
}

.block-text-content .size-full img,
.block-text-content .wp-image-3981 img,
.block-text-content .wp-image-3983 img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}

/* General image centering for any image with aligncenter class */
.block-text-content picture.aligncenter,
.block-text-content img.aligncenter {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
    clear: both;
}

/* Ensure all images in centered pictures are properly centered */
.block-text-content picture.aligncenter img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}

/* Handle images inside paragraphs */
.block-text-content p .aligncenter {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
    clear: both;
}

.block-text-content p .aligncenter img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}

.block-text-content p .aligncenter picture {
    display: block;
    text-align: center;
}

.block-text-content p .aligncenter picture img {
    display: inline-block;
    margin: 0 auto;
}

/* Additional WordPress image classes support */
.block-text-content .wp-image-* {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
}

.block-text-content .wp-image-* img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}

/* Support for any size class */
.block-text-content [class*="size-"] {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
}

.block-text-content [class*="size-"] img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}

/* Ensure all images with aligncenter are properly centered regardless of container */
.block-text-content * .aligncenter {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
    clear: both;
}

.block-text-content * .aligncenter img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}

.block-text-content * .aligncenter picture {
    display: block;
    text-align: center;
}

.block-text-content * .aligncenter picture img {
    display: inline-block;
    margin: 0 auto;
}

/* Force centering for any image with aligncenter class in text content */
.block-text-content .aligncenter,
.block-text-content .aligncenter * {
    text-align: center !important;
}

/* Ensure proper display for centered images */
.block-text-content .aligncenter {
    width: 100%;
    display: block !important;
    margin: 0 auto !important;
    clear: both;
}

/* Override any conflicting styles */
.block-text-content .aligncenter img {
    display: block !important;
    margin: 0 auto !important;
    max-width: 100% !important;
    height: auto !important;
}