/* Final, deliberately small authority layer for flagship page geometry and
   catalogue usability. Kept outside the generated bundle so urgent layout
   corrections are never hidden by an older immutable bundle. */

:root {
    --ek-flagship-ink: #26372b;
    --ek-flagship-copy: #526057;
    --ek-flagship-olive: #607a2c;
    --ek-flagship-leaf: #8aa63a;
    --ek-flagship-mist: #eef3dc;
    --ek-flagship-cream: #f8f7f0;
    --ek-flagship-line: #d8e1c8;
}

/* Solar: the hero must finish exactly where its image finishes. The repeated
   #main raises this above legacy internal-hero minimum-height rules. */
html body.everklin-transformed #main#main#main.fpp-page--solar > .fpp-hero {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid var(--ek-flagship-line) !important;
    background: var(--ek-flagship-cream) !important;
    overflow: hidden !important;
}

html body.everklin-transformed #main#main#main.fpp-page--solar > .fpp-hero::before,
html body.everklin-transformed #main#main#main.fpp-page--solar > .fpp-hero::after {
    display: none !important;
    content: none !important;
}

html body.everklin-transformed #main#main#main.fpp-page--solar > .fpp-hero > .fpp-hero__grid {
    position: relative !important;
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 640px !important;
    margin: 0 !important;
    padding: 28px max(28px, calc((100vw - 1320px) / 2)) !important;
    align-items: center !important;
}

html body.everklin-transformed #main#main#main.fpp-page--solar > .fpp-hero .fpp-hero__media {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

html body.everklin-transformed #main#main#main.fpp-page--solar > .fpp-hero .fpp-hero__media :is(picture, img) {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

html body.everklin-transformed #main#main#main.fpp-page--solar > .fpp-hero .fpp-hero__media img {
    object-fit: cover !important;
    object-position: var(--fpp-hero-position, center) !important;
    filter: none !important;
}

html body.everklin-transformed #main#main#main.fpp-page--solar > .fpp-hero .fpp-hero__copy {
    position: relative !important;
    z-index: 2 !important;
    width: min(650px, 58vw) !important;
    min-height: 0 !important;
    max-width: 650px !important;
    padding: clamp(30px, 3vw, 46px) !important;
}

/* Solar and Food & Beverage share the same restrained Everklin surface rhythm
   already used by the premium I&I flagships. */
html body.everklin-transformed #main#main#main:is(.fpp-page--solar, .fpp-page--food-beverage) {
    color: var(--ek-flagship-ink) !important;
    background: #fff !important;
}

html body.everklin-transformed #main#main#main:is(.fpp-page--solar, .fpp-page--food-beverage)
    :is(.fpp-monitoring, .fpp-system-navigation, .fph, .fpp-documents) {
    background: linear-gradient(180deg, #f8faf2 0%, var(--ek-flagship-mist) 100%) !important;
}

html body.everklin-transformed #main#main#main:is(.fpp-page--solar, .fpp-page--food-beverage)
    :is(.fpp-challenges, .fpp-programmes, .fpp-technical-review, .fpp-related-systems) {
    background: #fff !important;
}

html body.everklin-transformed #main#main#main:is(.fpp-page--solar, .fpp-page--food-beverage)
    :is(.fph-workspace, .fph-detail-shell, .fph-selector, .fph-technical, .portfolio-catalogue) {
    border-color: var(--ek-flagship-line) !important;
}

html body.everklin-transformed #main#main#main:is(.fpp-page--solar, .fpp-page--food-beverage)
    :is(.fpp-challenges__grid article, .fph-category-brief, .fph-product-summary, .fpp-system-card) {
    color: var(--ek-flagship-ink) !important;
    background: #fff !important;
}

html body.everklin-transformed #main#main#main:is(.fpp-page--solar, .fpp-page--food-beverage)
    :is(h1, h2, h3, h4, strong) {
    color: var(--ek-flagship-ink) !important;
    -webkit-text-fill-color: currentColor !important;
}

html body.everklin-transformed #main#main#main:is(.fpp-page--solar, .fpp-page--food-beverage)
    :is(p, li, dd, em) {
    color: var(--ek-flagship-copy) !important;
    -webkit-text-fill-color: currentColor !important;
}

html body.everklin-transformed #main#main#main:is(.fpp-page--solar, .fpp-page--food-beverage)
    :is(.fpp-cta, .fpp-technical-review) {
    background:
        radial-gradient(circle at 88% 14%, rgb(255 255 255 / 16%), transparent 26%),
        linear-gradient(128deg, #536d28 0%, #718c35 58%, #8aa63a 100%) !important;
}

html body.everklin-transformed #main#main#main:is(.fpp-page--solar, .fpp-page--food-beverage)
    :is(.fpp-cta, .fpp-technical-review) :is(h2, h3, p, .fpp-eyebrow) {
    color: #fff !important;
    -webkit-text-fill-color: currentColor !important;
}

/* A 3+ product task must remain browsable instead of clipping its last cards. */
html body.everklin-transformed #main#main#main :is(.fph-selector, .ich-product-selector) {
    min-height: 0 !important;
}

html body.everklin-transformed #main#main#main .fph-selector {
    display: flex !important;
    flex-direction: column !important;
    height: min(720px, calc(100svh - 150px)) !important;
    min-height: 440px !important;
    max-height: 720px !important;
    overflow: hidden !important;
}

html body.everklin-transformed #main#main#main .fph-selector > .ich-product-disclosure {
    display: flex !important;
    flex: 1 1 0% !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

html body.everklin-transformed #main#main#main .fph-product-list[hidden] {
    display: none !important;
}

html body.everklin-transformed #main#main#main .fph-product-list.is-active {
    display: grid !important;
    flex: 1 1 0% !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    scrollbar-color: var(--ek-flagship-olive) #eef2e4;
    scrollbar-width: thin;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
}

html body.everklin-transformed #main#main#main .fph-product-list.is-active::-webkit-scrollbar {
    width: 10px;
}

html body.everklin-transformed #main#main#main .fph-product-list.is-active::-webkit-scrollbar-track {
    background: #eef2e4;
}

html body.everklin-transformed #main#main#main .fph-product-list.is-active::-webkit-scrollbar-thumb {
    border: 2px solid #eef2e4;
    border-radius: 999px;
    background: var(--ek-flagship-olive);
}

@media (min-width: 901px) {
    html body.everklin-transformed #main#main#main .ich .fph-selector > .ich-product-disclosure {
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        scrollbar-color: var(--ek-flagship-olive) #eef2e4;
        scrollbar-gutter: stable;
        scrollbar-width: thin;
        touch-action: pan-y;
    }

    html body.everklin-transformed #main#main#main .ich .fph-product-list.is-active {
        flex: 0 0 auto !important;
        height: auto !important;
        overflow: visible !important;
    }

    html body.everklin-transformed #main#main#main .ich .ich-product-disclosure::-webkit-scrollbar {
        width: 10px;
    }

    html body.everklin-transformed #main#main#main .ich .ich-product-disclosure::-webkit-scrollbar-track {
        background: #eef2e4;
    }

    html body.everklin-transformed #main#main#main .ich .ich-product-disclosure::-webkit-scrollbar-thumb {
        border: 2px solid #eef2e4;
        border-radius: 999px;
        background: var(--ek-flagship-olive);
    }
}

/* Never split words into vertical fragments in a narrow flagship table. */
html body.everklin-transformed #main#main#main :is(
    .portfolio-catalogue,
    .fph-table-wrap,
    .care-catalogue-table,
    .iic-table-wrap,
    .product-table-wrap,
    .table-scroll
) :is(th, td, a, strong, span, p) {
    min-width: 0;
    word-break: normal !important;
    overflow-wrap: anywhere;
    hyphens: auto;
}

@media (max-width: 900px) {
    html body.everklin-transformed #main#main#main.fpp-page--solar > .fpp-hero > .fpp-hero__grid {
        min-height: 0 !important;
        flex-direction: column !important;
        gap: 16px !important;
        padding: 16px 20px 0 !important;
        align-items: stretch !important;
    }

    html body.everklin-transformed #main#main#main.fpp-page--solar > .fpp-hero .fpp-hero__copy {
        width: 100% !important;
        max-width: none !important;
        padding: 26px 22px !important;
    }

    html body.everklin-transformed #main#main#main.fpp-page--solar > .fpp-hero .fpp-breadcrumb {
        gap: 6px !important;
        margin-bottom: 16px !important;
        font-size: 12px !important;
        line-height: 1.4 !important;
    }

    html body.everklin-transformed #main#main#main.fpp-page--solar > .fpp-hero h1 {
        max-width: 16ch !important;
        margin: 8px 0 14px !important;
        font-size: clamp(35px, 8.8vw, 48px) !important;
        line-height: 1.02 !important;
    }

    html body.everklin-transformed #main#main#main.fpp-page--solar > .fpp-hero .fpp-hero__copy > p {
        max-width: 42ch !important;
        margin: 0 !important;
        font-size: 15px !important;
        line-height: 1.55 !important;
    }

    html body.everklin-transformed #main#main#main.fpp-page--solar > .fpp-hero .fpp-hero__actions {
        margin-top: 20px !important;
    }

    html body.everklin-transformed #main#main#main.fpp-page--solar > .fpp-hero .fpp-hero__media {
        position: relative !important;
        inset: auto !important;
        width: calc(100% + 40px) !important;
        height: clamp(220px, 42vw, 360px) !important;
        flex: 0 0 auto !important;
        margin-inline: -20px !important;
    }

    html body.everklin-transformed #main#main#main .fph-selector {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: hidden !important;
    }

    html body.everklin-transformed #main#main#main .fph-selector > .ich-product-disclosure {
        display: block !important;
        height: auto !important;
        overflow: visible !important;
    }

    html body.everklin-transformed #main#main#main .fph-product-list.is-active {
        display: flex !important;
        height: auto !important;
        gap: 12px !important;
        padding: 12px 16px 18px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-padding-inline: 16px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    html body.everklin-transformed #main#main#main .fph-product-list.is-active .fph-product-card {
        flex: 0 0 min(84vw, 340px) !important;
        width: auto !important;
        scroll-snap-align: start;
    }
}

@media (max-width: 767px) {
    html body.everklin-transformed #main#main#main :is(
        .fph-table-wrap,
        .care-catalogue-table,
        .iic-table-wrap,
        .product-table-wrap,
        .table-scroll
    ) {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
    }

    html body.everklin-transformed #main#main#main :is(
        .fph-table-wrap,
        .care-catalogue-table,
        .iic-table-wrap,
        .product-table-wrap,
        .table-scroll
    ) table {
        width: max-content !important;
        min-width: 720px !important;
        table-layout: auto !important;
    }

    html body.everklin-transformed #main#main#main :is(
        .fph-table-wrap,
        .care-catalogue-table,
        .iic-table-wrap,
        .product-table-wrap,
        .table-scroll
    ) :is(th, td) {
        min-width: 132px !important;
        white-space: normal !important;
    }
}

@media (max-width: 430px) {
    html body.everklin-transformed #main#main#main.fpp-page--solar > .fpp-hero > .fpp-hero__grid {
        padding: 12px 16px 0 !important;
    }

    html body.everklin-transformed #main#main#main.fpp-page--solar > .fpp-hero .fpp-hero__media {
        width: calc(100% + 32px) !important;
        height: 225px !important;
        margin-inline: -16px !important;
    }
}
/* Discovery modes must be able to remove inactive controls even when the
   flagship layout applies a later display declaration. */
html body #main#main#main .fph .fph-category-tabs[hidden],
html body #main#main#main .fph .ich-task-tabs[hidden],
html body #main#main#main .fph .fph-discovery-search[hidden],
html body #main#main#main .fph .fph-product-list[hidden],
html body #main#main#main .fph .fph-product-card[hidden]{display:none!important}
