/* Image Left Content Right */
.acv-image-left-content-right {
    background: #022c3a;
    padding: 0;
}

.acv-ilcr-inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 0;
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 35px;
}

.acv-ilcr-media {
    background: #022c3a;
    overflow: hidden;
}

.acv-ilcr-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.acv-ilcr-content {
    padding: 90px 100px;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #022c3a;
}

.acv-ilcr-title {
    font-size: 2.6rem;
    font-weight: 400;
    margin: 0 0 24px;
    color: #ffffff;
}

.acv-ilcr-text {
    font-size: 1rem;
    line-height: 1.8;
    max-width: 520px;
    margin-bottom: 32px;
}

.acv-ilcr-text p {
    margin-top: 0;
}

.acv-ilcr-text p:last-child {
    margin-bottom: 0;
}

/* Button styles moved to /css/buttons.css */
.acv-ilcr-button {
    width: fit-content;
}

@media (max-width: 1100px) {
    .acv-ilcr-inner {
        grid-template-columns: 1fr;
    }

    .acv-ilcr-content {
        padding: 60px 80px;
    }
}

@media (max-width: 600px) {
    .acv-ilcr-inner {
        display: grid;
        grid-template-columns: repeat(1, minmax(0, 1fr));
        align-items: stretch;
        gap: 0;
        max-width: 1600px;
        margin: auto;
        padding: 0 21px;
    }

    .acv-ilcr-content {
        padding: 24px 0px;
    }

    .acv-ilcr-title {
        font-size: 2rem;
    }
}

/* Alternate (Grey) Variant */
.acv-ilcr--alternate {
    background: #f0f4f7;
}

.acv-ilcr--alternate .acv-ilcr-media {
    background: #f0f4f7;
}

.acv-ilcr--alternate .acv-ilcr-content {
    background: #f0f4f7;
    color: #0f3950;
}

.acv-ilcr--alternate .acv-ilcr-eyebrow {
    display: block;
    font-size: 1rem;
    font-weight: 500;
    color: var(--acvalve-primary-color, #3498db);
    text-transform: none;
    letter-spacing: 0.05em;
    margin: 0 0 12px;
}

.acv-ilcr--alternate .acv-ilcr-title {
    color: #0f3950;
    font-size: 2.2rem;
    font-weight: 400;
    line-height: 1.3;
}

.acv-ilcr--alternate .acv-ilcr-text {
    color: #4a5b66;
}

/* ============================================
   WYSIWYG Content Heading Styles (Default - Dark)
   ============================================ */
.acv-image-left-content-right .acv-ilcr-text h1,
.acv-image-left-content-right .acv-ilcr-text h2,
.acv-image-left-content-right .acv-ilcr-text h3,
.acv-image-left-content-right .acv-ilcr-text h4,
.acv-image-left-content-right .acv-ilcr-text h5,
.acv-image-left-content-right .acv-ilcr-text h6 {
    color: #ffffff !important;
    font-weight: 300 !important;
    line-height: 1.3 !important;
    margin: 0 0 20px !important;
}

.acv-image-left-content-right .acv-ilcr-text h1 {
    font-size: 2.5rem !important;
}

.acv-image-left-content-right .acv-ilcr-text h2 {
    font-size: 2rem !important;
}

.acv-image-left-content-right .acv-ilcr-text h3 {
    font-size: 1.75rem !important;
}

.acv-image-left-content-right .acv-ilcr-text h4 {
    font-size: 1.5rem !important;
}

.acv-image-left-content-right .acv-ilcr-text h5 {
    font-size: 1.25rem !important;
}

.acv-image-left-content-right .acv-ilcr-text h6 {
    font-size: 1.1rem !important;
}

/* ============================================
   WYSIWYG Content Heading Styles (Alternate - Grey)
   ============================================ */
.acv-ilcr--alternate .acv-ilcr-text h1,
.acv-ilcr--alternate .acv-ilcr-text h2,
.acv-ilcr--alternate .acv-ilcr-text h3,
.acv-ilcr--alternate .acv-ilcr-text h4,
.acv-ilcr--alternate .acv-ilcr-text h5,
.acv-ilcr--alternate .acv-ilcr-text h6 {
    color: #0f6b82 !important;
    font-weight: 200 !important;
    line-height: 1.3 !important;
    margin: 0 0 20px !important;
}

.acv-ilcr--alternate .acv-ilcr-text h1 {
    font-size: 2.5rem !important;
}

.acv-ilcr--alternate .acv-ilcr-text h2 {
    font-size: 2rem !important;
}

.acv-ilcr--alternate .acv-ilcr-text h3 {
    font-size: 1.75rem !important;
}

.acv-ilcr--alternate .acv-ilcr-text h4 {
    font-size: 1.5rem !important;
}

.acv-ilcr--alternate .acv-ilcr-text h5 {
    font-size: 1.25rem !important;
}

.acv-ilcr--alternate .acv-ilcr-text h6 {
    font-size: 1.1rem !important;
}

/* Alternate variant uses standard orange via CSS variable */

/* Extra Padding Variant */
.acv-ilcr--extra-padding {
    padding: 60px 80px;
}

.acv-ilcr--extra-padding .acv-ilcr-inner {
    max-width: 1600px;
    margin: 0 auto;
    gap: 60px;
}

.acv-ilcr--extra-padding .acv-ilcr-media {
    border-radius: 0;
}

.acv-ilcr--extra-padding .acv-ilcr-content {
    padding: 40px 0;
}

@media (max-width: 1100px) {
    .acv-ilcr--extra-padding {
        padding: 40px 40px;
    }

    .acv-ilcr--extra-padding .acv-ilcr-inner {
        gap: 40px;
    }
}

@media (max-width: 600px) {
    .acv-ilcr--extra-padding {
        padding: 30px 20px;
    }

    .acv-ilcr--extra-padding .acv-ilcr-inner {
        gap: 24px;
    }

    .acv-ilcr--extra-padding .acv-ilcr-content {
        padding: 20px 0;
    }
}

/* ============================================
   Scroll Slide-in Animation
   ============================================ */

/* Image slides in from left */
.acv-ilcr-media {
    opacity: 0;
    transform: translateX(-50px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.acv-ilcr-media.is-visible {
    opacity: 1;
    transform: translateX(0);
}

/* Content slides in from right */
.acv-ilcr-content {
    opacity: 0;
    transform: translateX(50px);
    transition: opacity 0.8s ease 0.15s, transform 0.8s ease 0.15s;
}

.acv-ilcr-content.is-visible {
    opacity: 1;
    transform: translateX(0);
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
    .acv-ilcr-media,
    .acv-ilcr-content {
        opacity: 1;
        transform: none;
        transition: none;
    }
}
