/**
 * Eagle Hero Slider
 * Lightweight responsive hero module for Joomla 5/6.
 */
.mod-eaglehero {
    --eh-content-width: 1180px;
    --eh-height-desktop: 620px;
    --eh-height-tablet: 560px;
    --eh-height-mobile: 680px;
    --eh-radius: 0px;
    --eh-section-margin: 0 0 42px;
    --eh-transition: 850ms;
    --eh-eyebrow-size: 13px;
    --eh-title-size-desktop: clamp(38px, 5vw, 72px);
    --eh-title-size-mobile: clamp(32px, 11vw, 48px);
    --eh-subtitle-size: 18px;
    --eh-title-weight: 800;
    --eh-body-weight: 500;
    --eh-text: #fff;
    --eh-muted: #e8f7ff;
    --eh-primary: #06aeea;
    --eh-primary-text: #fff;
    --eh-secondary-bg: #fff;
    --eh-secondary-text: #07283d;
    position: relative;
    margin: var(--eh-section-margin);
    color: var(--eh-text);
}

.mod-eaglehero--boxed {
    max-width: var(--eh-content-width);
    margin-inline: auto;
}

.mod-eaglehero__viewport {
    position: relative;
    min-height: var(--eh-height-desktop);
    overflow: hidden;
    border-radius: var(--eh-radius);
    background: #062a3c;
    isolation: isolate;
}

.mod-eaglehero__track,
.mod-eaglehero__slide,
.mod-eaglehero__picture,
.mod-eaglehero__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.mod-eaglehero__slide {
    opacity: 0;
    pointer-events: none;
    overflow: hidden;
    transition: opacity var(--eh-transition) ease, transform var(--eh-transition) ease;
    transform: translateZ(0);
}

.mod-eaglehero__slide.is-active {
    opacity: 1;
    pointer-events: auto;
    z-index: 2;
}

.mod-eaglehero__picture {
    display: block;
    z-index: 0;
}
.mod-eaglehero__picture--empty {
    background:
        radial-gradient(circle at 20% 20%, rgba(6, 174, 234, .42), transparent 34%),
        radial-gradient(circle at 78% 20%, rgba(50, 162, 195, .32), transparent 28%),
        linear-gradient(135deg, #062a3c 0%, #064b70 52%, #042336 100%);
}

.mod-eaglehero-empty {
    padding: 18px 22px;
    border-radius: 16px;
    background: #eef8fc;
    color: #063449;
    border: 1px solid rgba(6, 174, 234, .24);
    font-weight: 700;
}


.mod-eaglehero__image {
    display: block;
    object-fit: cover;
    object-position: center;
    transform: scale(1.001);
}

.mod-eaglehero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

.mod-eaglehero--overlay-none .mod-eaglehero__overlay {
    background: transparent;
}

.mod-eaglehero--overlay-dark .mod-eaglehero__overlay {
    background: rgba(0, 28, 46, .48);
}

.mod-eaglehero--overlay-light .mod-eaglehero__overlay {
    background: rgba(255, 255, 255, .34);
}

.mod-eaglehero--overlay-blue-gradient .mod-eaglehero__overlay {
    background: linear-gradient(90deg, rgba(2, 31, 54, .88) 0%, rgba(6, 91, 128, .56) 46%, rgba(3, 42, 70, .1) 100%);
}

.mod-eaglehero--overlay-white-gradient .mod-eaglehero__overlay {
    background: linear-gradient(90deg, rgba(255, 255, 255, .92) 0%, rgba(255, 255, 255, .62) 45%, rgba(255, 255, 255, .1) 100%);
}

.mod-eaglehero__content-wrap {
    position: relative;
    z-index: 3;
    width: min(var(--eh-content-width), calc(100% - 40px));
    min-height: var(--eh-height-desktop);
    margin-inline: auto;
    display: grid;
    align-items: center;
}

.mod-eaglehero--content-left .mod-eaglehero__content-wrap {
    justify-items: start;
}

.mod-eaglehero--content-center .mod-eaglehero__content-wrap {
    justify-items: center;
}

.mod-eaglehero--content-right .mod-eaglehero__content-wrap {
    justify-items: end;
}

.mod-eaglehero__content {
    width: min(100%, 620px);
    color: var(--eh-text);
    text-align: start;
    padding-block: 72px;
}

.mod-eaglehero--align-left .mod-eaglehero__content {
    text-align: start;
}

.mod-eaglehero--align-center .mod-eaglehero__content {
    text-align: center;
}

.mod-eaglehero--align-right .mod-eaglehero__content {
    text-align: end;
}

.mod-eaglehero__slide--theme-dark {
    --eh-text: #061a2b;
    --eh-muted: #31546a;
}

.mod-eaglehero__slide--theme-light {
    --eh-text: #ffffff;
    --eh-muted: rgba(255, 255, 255, .86);
}

.mod-eaglehero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    padding: 8px 13px;
    border: 1px solid rgba(255, 255, 255, .26);
    border-radius: 999px;
    background: rgba(255, 255, 255, .12);
    color: var(--eh-muted);
    font-size: var(--eh-eyebrow-size);
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
}

.mod-eaglehero__title {
    margin: 0;
    color: var(--eh-text);
    font-size: var(--eh-title-size-desktop);
    line-height: .95;
    letter-spacing: -.045em;
    font-weight: var(--eh-title-weight);
    text-wrap: balance;
}

.mod-eaglehero__subtitle {
    max-width: 56ch;
    margin: 20px 0 0;
    color: var(--eh-muted);
    font-size: var(--eh-subtitle-size);
    line-height: 1.65;
    font-weight: var(--eh-body-weight);
}

.mod-eaglehero--align-center .mod-eaglehero__subtitle {
    margin-inline: auto;
}

.mod-eaglehero--align-right .mod-eaglehero__subtitle {
    margin-inline-start: auto;
}

.mod-eaglehero__badge {
    display: inline-flex;
    margin-top: 22px;
    padding: 10px 14px;
    border-radius: 18px;
    background: rgba(255, 255, 255, .14);
    color: var(--eh-text);
    font-size: 14px;
    line-height: 1.35;
    font-weight: 750;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18);
    backdrop-filter: blur(10px);
}

.mod-eaglehero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.mod-eaglehero--align-center .mod-eaglehero__actions {
    justify-content: center;
}

.mod-eaglehero--align-right .mod-eaglehero__actions {
    justify-content: flex-end;
}

.mod-eaglehero__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 22px;
    border-radius: 999px;
    font-size: 15px;
    line-height: 1;
    font-weight: 850;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
    will-change: transform;
}

.mod-eaglehero__btn:hover,
.mod-eaglehero__btn:focus-visible {
    transform: translateY(-2px);
    text-decoration: none;
}

.mod-eaglehero__btn--primary {
    background: var(--eh-primary);
    color: var(--eh-primary-text);
    box-shadow: 0 18px 36px rgba(6, 174, 234, .28);
}

.mod-eaglehero__btn--secondary {
    background: var(--eh-secondary-bg);
    color: var(--eh-secondary-text);
    box-shadow: 0 18px 36px rgba(0, 28, 46, .16);
}

.mod-eaglehero__arrow {
    position: absolute;
    top: 50%;
    z-index: 6;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, .86);
    color: #07283d;
    font-size: 34px;
    line-height: 1;
    box-shadow: 0 14px 30px rgba(0, 28, 46, .22);
    cursor: pointer;
    transform: translateY(-50%);
    transition: transform .2s ease, opacity .2s ease, background .2s ease;
}

.mod-eaglehero__arrow:hover,
.mod-eaglehero__arrow:focus-visible {
    transform: translateY(-50%) scale(1.06);
    background: #fff;
}

.mod-eaglehero__arrow--prev {
    inset-inline-start: 20px;
}

.mod-eaglehero__arrow--next {
    inset-inline-end: 20px;
}

.mod-eaglehero__dots {
    position: absolute;
    inset-inline: 0;
    bottom: 22px;
    z-index: 6;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    pointer-events: none;
}

.mod-eaglehero__dot {
    width: 10px;
    height: 10px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, .58);
    cursor: pointer;
    pointer-events: auto;
    transition: width .25s ease, background .25s ease;
}

.mod-eaglehero__dot.is-active {
    width: 28px;
    background: var(--eh-primary);
}

.mod-eaglehero--slide .mod-eaglehero__slide {
    transform: translateX(8%);
}

.mod-eaglehero--slide .mod-eaglehero__slide.is-active {
    transform: translateX(0);
}

.mod-eaglehero--zoom-fade .mod-eaglehero__image {
    transform: scale(1.08);
    transition: transform calc(var(--eh-transition) * 1.8) ease;
}

.mod-eaglehero--zoom-fade .mod-eaglehero__slide.is-active .mod-eaglehero__image {
    transform: scale(1.001);
}

.mod-eaglehero--none .mod-eaglehero__slide,
.mod-eaglehero--none .mod-eaglehero__image {
    transition: none;
}

.mod-eaglehero-empty {
    margin: 16px 0;
    padding: 18px;
    border-radius: 16px;
    background: #eef8fc;
    color: #05324a;
    font-weight: 700;
}

html[dir="rtl"] .mod-eaglehero--overlay-blue-gradient .mod-eaglehero__overlay,
html[dir="rtl"] .mod-eaglehero--overlay-white-gradient .mod-eaglehero__overlay {
    transform: scaleX(-1);
}

@media (max-width: 991px) {
    .mod-eaglehero__viewport,
    .mod-eaglehero__content-wrap {
        min-height: var(--eh-height-tablet);
    }

    .mod-eaglehero__content-wrap {
        width: min(var(--eh-content-width), calc(100% - 32px));
    }

    .mod-eaglehero__content {
        width: min(100%, 560px);
    }
}

@media (max-width: 767px) {
    .mod-eaglehero__viewport,
    .mod-eaglehero__content-wrap {
        min-height: var(--eh-height-mobile);
    }

    .mod-eaglehero__content-wrap {
        width: min(100%, calc(100% - 28px));
        align-items: end;
        padding-bottom: 64px;
    }

    .mod-eaglehero__content {
        width: 100%;
        padding-block: 40px;
    }

    .mod-eaglehero__title {
        font-size: var(--eh-title-size-mobile);
        line-height: 1;
    }

    .mod-eaglehero__subtitle {
        font-size: max(15px, calc(var(--eh-subtitle-size) - 2px));
        line-height: 1.55;
    }

    .mod-eaglehero__actions {
        gap: 10px;
    }

    .mod-eaglehero__btn {
        flex: 1 1 180px;
        min-height: 48px;
    }

    .mod-eaglehero__arrow {
        width: 38px;
        height: 38px;
        font-size: 29px;
    }

    .mod-eaglehero__arrow--prev {
        inset-inline-start: 12px;
    }

    .mod-eaglehero__arrow--next {
        inset-inline-end: 12px;
    }

    .mod-eaglehero__dots {
        bottom: 16px;
    }

    .mod-eaglehero--overlay-blue-gradient .mod-eaglehero__overlay {
        background: linear-gradient(180deg, rgba(4, 29, 48, .12) 0%, rgba(4, 42, 68, .5) 42%, rgba(2, 28, 46, .9) 100%);
    }

    .mod-eaglehero--overlay-white-gradient .mod-eaglehero__overlay {
        background: linear-gradient(180deg, rgba(255, 255, 255, .1) 0%, rgba(255, 255, 255, .58) 42%, rgba(255, 255, 255, .94) 100%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .mod-eaglehero__slide,
    .mod-eaglehero__image,
    .mod-eaglehero__btn,
    .mod-eaglehero__arrow,
    .mod-eaglehero__dot {
        transition: none !important;
    }
}

/* v1.2.3 width correction: the template hero slot is already full-width. */
.mod-eaglehero--full {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

.mod-eaglehero--boxed {
    width: min(var(--eh-content-width), calc(100% - 32px));
    max-width: var(--eh-content-width);
    margin-left: auto;
    margin-right: auto;
}

.mod-eaglehero--boxed .mod-eaglehero__viewport {
    overflow: hidden;
}


/* v1.2.6 text entrance animations */
.mod-eaglehero {
    --eh-text-delay: 120ms;
}

.mod-eaglehero--text-fade-up .mod-eaglehero__content > *,
.mod-eaglehero--text-slide-up .mod-eaglehero__content > *,
.mod-eaglehero--text-slide-right .mod-eaglehero__content > *,
.mod-eaglehero--text-zoom-in .mod-eaglehero__content > * {
    opacity: 0;
    will-change: opacity, transform;
}

.mod-eaglehero--text-fade-up .mod-eaglehero__slide.is-active .mod-eaglehero__content > * {
    animation: eagleHeroTextFadeUp .72s ease forwards;
}

.mod-eaglehero--text-slide-up .mod-eaglehero__slide.is-active .mod-eaglehero__content > * {
    animation: eagleHeroTextSlideUp .78s cubic-bezier(.18, .85, .24, 1) forwards;
}

.mod-eaglehero--text-slide-right .mod-eaglehero__slide.is-active .mod-eaglehero__content > * {
    animation: eagleHeroTextSlideRight .78s cubic-bezier(.18, .85, .24, 1) forwards;
}

.mod-eaglehero--text-zoom-in .mod-eaglehero__slide.is-active .mod-eaglehero__content > * {
    animation: eagleHeroTextZoomIn .68s ease forwards;
}

.mod-eaglehero--text-stagger .mod-eaglehero__slide.is-active .mod-eaglehero__eyebrow { animation-delay: calc(var(--eh-text-delay) * 0); }
.mod-eaglehero--text-stagger .mod-eaglehero__slide.is-active .mod-eaglehero__title { animation-delay: calc(var(--eh-text-delay) * 1); }
.mod-eaglehero--text-stagger .mod-eaglehero__slide.is-active .mod-eaglehero__subtitle { animation-delay: calc(var(--eh-text-delay) * 2); }
.mod-eaglehero--text-stagger .mod-eaglehero__slide.is-active .mod-eaglehero__badge { animation-delay: calc(var(--eh-text-delay) * 3); }
.mod-eaglehero--text-stagger .mod-eaglehero__slide.is-active .mod-eaglehero__actions { animation-delay: calc(var(--eh-text-delay) * 4); }

.mod-eaglehero--text-no-stagger .mod-eaglehero__slide.is-active .mod-eaglehero__content > * {
    animation-delay: 0ms;
}

@keyframes eagleHeroTextFadeUp {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes eagleHeroTextSlideUp {
    from { opacity: 0; transform: translateY(34px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes eagleHeroTextSlideRight {
    from { opacity: 0; transform: translateX(-34px); }
    to { opacity: 1; transform: translateX(0); }
}

html[dir="rtl"] .mod-eaglehero--text-slide-right .mod-eaglehero__slide.is-active .mod-eaglehero__content > * {
    animation-name: eagleHeroTextSlideLeft;
}

@keyframes eagleHeroTextSlideLeft {
    from { opacity: 0; transform: translateX(34px); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes eagleHeroTextZoomIn {
    from { opacity: 0; transform: scale(.94) translateY(10px); }
    to { opacity: 1; transform: scale(1) translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    .mod-eaglehero--text-fade-up .mod-eaglehero__content > *,
    .mod-eaglehero--text-slide-up .mod-eaglehero__content > *,
    .mod-eaglehero--text-slide-right .mod-eaglehero__content > *,
    .mod-eaglehero--text-zoom-in .mod-eaglehero__content > * {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
    }
}
