/**
 * Frontline Connect Module 1: Hero Section with Illustration
 *
 * Figma Node: 306-566
 *
 * Layout: Two-column (image left, content right) with gradient background
 * Container: 1512px max-width, 120px horizontal padding, 64px vertical padding
 * Gap: 36px between columns
 * Colors: Dynamic gradient (default: purple #9B4DCA to blue #2141A5)
 * Typography: Avenir Next
 */

/* ==========================================================================
   Hero Container & Layout
   ========================================================================== */

.workjam-hero-illustration {
    position: relative;
    width: 100%;
    padding: 104px 120px;
    overflow: hidden;
}

.workjam-hero-illustration__container {
    max-width: 1248px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 36px;
}

/* ==========================================================================
   Image Section
   ========================================================================== */

.workjam-hero-illustration__image-wrapper {
    position: relative;
    flex-shrink: 0;
    width: 489px;
    height: 541px;
}

.workjam-hero-illustration__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ==========================================================================
   Gallery Carousel
   ========================================================================== */

.workjam-hero-illustration__gallery {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.workjam-hero-illustration__gallery-item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 600ms ease-in-out;
}

.workjam-hero-illustration__gallery-item.active {
    opacity: 1;
}

.workjam-hero-illustration__gallery-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Target img tags inside picture elements (WordPress responsive images) */
.workjam-hero-illustration__gallery-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ==========================================================================
   Content Section
   ========================================================================== */

.workjam-hero-illustration__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 46px;
    max-width: 723px;
}

.workjam-hero-illustration__text {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* ==========================================================================
   Typography
   ========================================================================== */

.workjam-hero-illustration__headline {
    font-family: 'Avenir Next', sans-serif;
    font-weight: 700;
    font-size: 64px;
    line-height: 120.515%;
    color: #FFFFFF;
    margin: 0;
}

.workjam-hero-illustration__subheadline {
    font-family: 'Avenir Next', sans-serif;
    font-weight: 400;
    font-size: 36px;
    line-height: normal;
    color: #FFFFFF;
    margin: 0;
}

.workjam-hero-illustration__description {
    font-family: 'Avenir Next', sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: normal;
    color: #FFFFFF;
    margin: 0;
}

/* ==========================================================================
   CTA Buttons
   ========================================================================== */

.workjam-hero-illustration__ctas {
    display: flex;
    gap: 24px;
    align-items: center;
    flex-wrap: wrap;
}

.workjam-hero-illustration__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 24px;
    border-radius: 25px;
    font-family: 'Avenir Next', sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: normal;
    text-decoration: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    cursor: pointer;
}

.workjam-hero-illustration__cta:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}

.workjam-hero-illustration__cta:active {
    transform: translateY(0);
}

/* Primary CTA (Yellow background) */
.workjam-hero-illustration__cta--primary {
    background-color: #FFCC00;
    color: #121C66;
    white-space: nowrap;
}

/* Secondary CTA (White background) */
.workjam-hero-illustration__cta--secondary {
    background-color: #FFFFFF;
    color: #121C66;
    white-space: nowrap;
}

/* ==========================================================================
   Responsive Design
   ========================================================================== */

/* 1400px - Large Desktop */
@media (max-width: 1400px) {
    .workjam-hero-illustration {
        padding: 64px 80px;
    }
}

/* 1024px - Desktop/Tablet */
@media (max-width: 1024px) {
    .workjam-hero-illustration {
        padding: 48px 60px;
    }

    .workjam-hero-illustration__container {
        gap: 24px;
    }

    .workjam-hero-illustration__image-wrapper {
        width: 380px;
        height: auto;
        max-width: 50%;
        aspect-ratio: 489 / 541;
    }

    .workjam-hero-illustration__headline {
        font-size: 52px;
    }

    .workjam-hero-illustration__subheadline {
        font-size: 28px;
    }

    .workjam-hero-illustration__description {
        font-size: 18px;
    }
}

/* 768px - Tablet Portrait (Stack vertically) */
@media (max-width: 768px) {
    .workjam-hero-illustration {
        padding: 40px 40px;
    }

    .workjam-hero-illustration__container {
        flex-direction: column;
        text-align: center;
        gap: 32px;
    }

    .workjam-hero-illustration__image-wrapper {
        width: 100%;
        max-width: 24vh;
        height: auto;
        aspect-ratio: 489 / 541;
    }

    .workjam-hero-illustration__content {
        max-width: 100%;
        align-items: center;
        gap: 32px;
    }

    .workjam-hero-illustration__headline {
        font-size: 44px;
    }

    .workjam-hero-illustration__subheadline {
        font-size: 24px;
    }

    .workjam-hero-illustration__description {
        font-size: 16px;
    }

    .workjam-hero-illustration__ctas {
        justify-content: center;
    }
}

/* 600px - Mobile */
@media (max-width: 600px) {
    .workjam-hero-illustration {
        padding: 32px 24px;
    }

    .workjam-hero-illustration__container {
        gap: 24px;
    }

    .workjam-hero-illustration__content {
        gap: 24px;
    }

    .workjam-hero-illustration__headline {
        font-size: 36px;
    }

    .workjam-hero-illustration__subheadline {
        font-size: 20px;
    }

    .workjam-hero-illustration__description {
        font-size: 14px;
    }

    .workjam-hero-illustration__ctas {
        flex-direction: column;
        width: 100%;
        gap: 16px;
    }

    .workjam-hero-illustration__cta {
        width: 100%;
    }
}

/* 400px - Small Mobile */
@media (max-width: 400px) {
    .workjam-hero-illustration {
        padding: 24px 20px;
    }

    .workjam-hero-illustration__headline {
        font-size: 32px;
    }

    .workjam-hero-illustration__subheadline {
        font-size: 18px;
    }
}
