/* Home page: fixed navbar on scroll + Optilux-style slider helpers */

/* Header Request Catalogue — solid teal (visible on white nav), fx-slide on hover */
header.header-light a.btn-main.fx-slide {
    background: var(--primary-color);
    color: #fff;
    border: none;
}

header.header-light a.btn-main.fx-slide:hover {
    background: var(--btn-hover-bg, var(--bg-dark-1));
    color: #fff;
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translate3d(-36px, 0, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

/* Keep header visible and fixed when scrolling (override scroll-down hide) */
header.smaller,
header.smaller.scroll-down,
header.smaller.nav-up {
    margin-top: 0 !important;
    top: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
}

header.smaller.header-float .header-inner {
    margin-top: 0;
    border-radius: 0;
    /* box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); */
    transition:
        margin 0.4s ease,
        border-radius 0.4s ease,
        box-shadow 0.4s ease,
        background 0.4s ease;
}

header.header-float:not(.smaller) .header-inner {
    transition:
        margin 0.4s ease,
        border-radius 0.4s ease,
        box-shadow 0.4s ease;
}

header.transparent:not(.smaller).header-light .header-inner {
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.12);
}

/* Slider text: staggered reveal (uses fadeInLeft from plugins.css) */
.ovi-slider__slide.ch-play .ovi-anim-order-1 {
    animation: fadeInLeft 1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: 0.35s;
}

.ovi-slider__slide.ch-play .ovi-anim-order-2 {
    animation: fadeInLeft 1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: 0.65s;
}

.ovi-slider__slide.ch-play .ovi-anim-order-3 {
    animation: fadeInLeft 1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: 0.95s;
}

.ovi-slider__slide.ch-play .ovi-anim-order-4 {
    animation: fadeInLeft 1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: 1.25s;
}

.ovi-slider__slide.ch-play .ovi-anim-order-5 {
    animation: fadeInLeft 0.85s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: 1.55s;
}

.ovi-slider__slide.ch-play .ovi-anim-order-6 {
    animation: fadeInLeft 0.85s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: 1.7s;
}

.ovi-slider__slide.ch-play .ovi-anim-order-7 {
    animation: fadeInLeft 0.85s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: 1.85s;
}

.ovi-slider__slide.ch-play .ovi-anim-order-8 {
    animation: fadeInLeft 0.85s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: 2s;
}

@media (max-width: 480px) {
    header.transparent:not(.smaller).header-light .header-inner {
        box-shadow: none;
    }
}

/* =====================================================
   Ovation — Responsive Navbar
   Desktop ≥1200 | Laptop 994–1199 | Tablet/Mobile ≤993
   ===================================================== */

/* Request Catalogue nav link — hidden by default everywhere */
.request-catalogue-menu {
    display: none !important;
}

/* --- Desktop & Laptop: single-line nav, hide catalogue link --- */
@media (min-width: 994px) {
    header .de-flex {
        flex-wrap: nowrap;
        align-items: center;
        gap: 12px;
    }

    header .de-flex > .de-flex-col:first-child {
        flex: 0 0 auto;
    }

    header .de-flex > .de-flex-col:nth-child(2) {
        flex: 1 1 auto;
        min-width: 0;
        justify-content: center;
    }

    header .header-col-right {
        flex: 0 0 auto;
    }

    #mainmenu {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center;
        float: none;
        width: 100%;
        white-space: nowrap;
    }

    #mainmenu > li {
        float: none;
        flex: 0 0 auto;
        display: block;
    }

    #mainmenu > li > a {
        white-space: nowrap;
    }

    .request-catalogue-menu {
        display: none !important;
    }

    .menu_side_area #menu-btn {
        display: none !important;
    }
}

/* --- Desktop (≥1200px) --- */
@media (min-width: 1200px) {
    header .header-inner {
        min-height: 80px;
    }

    #logo img,
    .logo-main,
    .logo-scroll {
        max-height: 56px;
        width: auto;
    }

    #mainmenu > li {
        margin-right: 22px;
    }

    #mainmenu > li:last-child {
        margin-right: 0;
    }
}

/* --- Laptop (994px – 1199px) --- */
@media (min-width: 994px) and (max-width: 1199px) {
    header.header-float .header-inner {
        padding: 0 16px;
        margin-top: 20px;
    }

    header .header-inner {
        /* min-height: 72px; */
    }

    header .de-flex > .de-flex-col:nth-child(2) {
        flex: 1 1 auto;
        justify-content: center;
        min-width: 0;
    }

    header .header-col-right {
        flex: 0 0 auto;
    }

    #logo img,
    .logo-main,
    .logo-scroll {
        max-height: 48px;
        width: auto;
    }

    #mainmenu {
        font-size: 12px;
    }

    #mainmenu > li {
        margin-right: 10px;
    }

    #mainmenu > li > a {
        padding-top: 16px;
        padding-bottom: 16px;
        font-size: 15px;
        white-space: nowrap;
    }

    header .header-col-right > .header-cta-btn {
        font-size: 14px;
        /* padding: 8px 14px !important; */
        white-space: nowrap;
    }
}

@media (min-width: 994px) and (max-width: 1100px) {
    #mainmenu > li {
        margin-right: 7px;
    }

    #mainmenu > li > a {
        font-size: 13px;
        padding-top: 14px;
        padding-bottom: 14px;
    }

    header .header-col-right > .header-cta-btn {
        font-size: 12px;
        /* padding: 7px 12px !important; */
    }

    #logo img,
    .logo-main,
    .logo-scroll {
        max-height: 44px;
    }
}

/* --- Tablet & Mobile (≤993px) --- */
@media (max-width: 993px) {
    /* Request Catalogue link — only inside open sidebar menu */
    .request-catalogue-menu {
        display: none !important;
    }

    header.header-mobile.menu-open .request-catalogue-menu {
        display: block !important;
    }

    header.header-light.header-mobile {
        background: #fff !important;
    }

    header .header-inner {
        min-height: 56px;
        padding: 8px 0;
        position: relative;
    }

    header.header-float .header-inner {
        margin-top: 10px;
        padding: 0 15px;
    }

    header .de-flex {
        position: relative;
        align-items: center;
        flex-wrap: nowrap;
    }

    header .de-flex-col:first-child {
        flex: 0 1 auto;
        z-index: 2;
    }

    header .header-col-right {
        flex: 0 0 auto;
        margin-left: auto;
        z-index: 2;
    }

    header .de-flex-col:nth-child(2) {
        flex: 1 1 100%;
        order: 3;
        width: 100%;
    }

    header .header-col-right > .header-cta-btn {
        display: none !important;
    }

    #logo img,
    .logo-main,
    .logo-scroll,
    .logo-mobile {
        max-height: 52px;
        width: auto;
    }

    .menu_side_area {
        position: relative;
        right: 0;
        top: auto;
        transform: none;
        margin: 0;
        padding: 0;
        z-index: 1001;
    }

    #menu-btn {
        display: block !important;
        width: 32px;
        height: 32px;
        margin: 0;
        cursor: pointer;
        color: var(--heading-font-color);
    }

    header.header-mobile:not(.menu-open) #mainmenu {
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
    }

    header.header-mobile.menu-open {
        overflow-y: auto;
        background: #fff;
    }

    header.header-mobile.menu-open #mainmenu {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        position: relative;
        top: 0;
        left: 0;
        width: 100%;
        padding: 16px 0 40px;
        margin: 0;
        height: auto;
        overflow: visible;
    }

    header.header-mobile #mainmenu li {
        float: none;
        display: block;
        width: 100%;
        margin: 0;
        border-bottom: 1px solid #eee;
    }

    header.header-mobile #mainmenu a.menu-item {
        display: block;
        text-align: left;
        padding: 14px 0;
        color: var(--heading-font-color);
    }

    header.header-mobile #mainmenu a.menu-item:hover {
        color: var(--primary-color);
        background: none;
    }
}

/* --- Mobile (≤767px) --- */
@media (max-width: 767px) {
    header .header-inner {
        min-height: 55px;
    }

    #logo img,
    .logo-main,
    .logo-scroll,
    .logo-mobile {
        max-height: 46px;
    }

    header.header-float .header-inner {
        margin-top: 8px;
        padding: 0 12px;
    }

    header.header-mobile.menu-open #mainmenu {
        padding: 12px 0 36px;
    }

    header.header-mobile #mainmenu a.menu-item {
        padding: 12px 0;
        font-size: 15px;
    }
}

/* --- Small mobile (≤480px) --- */
@media (max-width: 480px) {
    #logo img,
    .logo-main,
    .logo-scroll,
    .logo-mobile {
        max-height: 40px;
    }

    header .container {
        padding-left: 15px;
        padding-right: 15px;
    }
}
