/* ============================================================
   SECTION SUB-HEADERS — minimal typographic style
   ============================================================ */

#product-title h4 {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 0 6px 0 !important;
    border: none !important;
    border-left: none !important;
    border-radius: 0 !important;
    border-bottom: 1.5px solid #C8DDE8 !important;
    background: transparent !important;
    color: #2E6480 !important;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-size: 9.5px !important;
    font-weight: 800 !important;
    letter-spacing: 2.2px !important;
    text-transform: uppercase !important;
    line-height: 1.2 !important;
    text-align: left !important;
}

#product-title h4::before {
    content: "" !important;
    display: block !important;
    flex-shrink: 0 !important;
    width: 5px !important;
    height: 5px !important;
    border-radius: 50% !important;
    background: #0D6488 !important;
}

#product-title h4::after {
    display: none !important;
    content: none !important;
}


/* ============================================================
   VIEW TOGGLE — embedded in the white product family header
   ============================================================ */

/* Ensure header bar is flex so toggle aligns right */
#cob-products #cob-title,
#dynamic-cob-products #cob-title,
#dynamic-cob-discontinued #cob-title,
#color-products #cob-title,
#color-mix-products #cob-title,
#specialty-white-products #cob-title,
#uv-products #cob-title,
#ir-products #cob-title,
#mp-products #cob-title {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
}

.view-toggle-group {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
    margin-left: auto;
    padding: 4px;
    border: 1px solid rgba(13, 100, 136, 0.22);
    border-radius: 999px;
    overflow: visible;
    background: #EEF8FC;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.9),
        0 7px 18px rgba(1, 55, 99, 0.13);
}

.view-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 74px;
    min-height: 30px;
    padding: 0 12px;
    border: none;
    border-radius: 999px;
    background: transparent;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: #2D647B;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.16s ease, box-shadow 0.16s ease, color 0.16s ease, transform 0.16s ease;
    line-height: 1;
}

.view-btn:hover {
    background: rgba(255, 255, 255, 0.82);
    color: #013763;
    box-shadow: 0 2px 8px rgba(1, 55, 99, 0.08);
    transform: translateY(-1px);
}

.view-btn:focus-visible {
    outline: 2px solid #76BFDD;
    outline-offset: 2px;
}

.view-btn.active {
    background: linear-gradient(135deg, #013763 0%, #0D6488 100%);
    color: #fff;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.18),
        0 4px 12px rgba(1, 55, 99, 0.26);
}

.view-btn svg {
    flex-shrink: 0;
    width: 15px;
    height: 15px;
}

.view-btn.active svg {
    color: #F3FBFF;
}

@media (max-width: 767px) {
    #cob-products #cob-title,
    #dynamic-cob-products #cob-title,
    #dynamic-cob-discontinued #cob-title,
    #color-products #cob-title,
    #color-mix-products #cob-title,
    #specialty-white-products #cob-title,
    #uv-products #cob-title,
    #ir-products #cob-title,
    #mp-products #cob-title {
        flex-wrap: wrap !important;
        gap: 10px !important;
    }

    .view-toggle-group {
        width: 100%;
        margin-left: 0;
    }

    .view-btn {
        flex: 1 1 0;
        min-width: 0;
    }
}


/* ============================================================
   VIEW MODE: LIST ONLY — names only; hover shows image tooltip
   ============================================================ */

#everything.view-list a.each-product .sub-list {
    grid-template-columns: 1fr !important;
    overflow: visible !important;
    position: relative !important;
    min-height: 0 !important;
    padding: 6px 8px !important;
}

#everything.view-list a.each-product p {
    grid-column: 1 !important;
}

#everything.view-list a.each-product img.product-img-xs-rectangle-ecosystem {
    position: absolute !important;
    grid-column: auto !important;
    grid-row: auto !important;
    bottom: calc(100% + 10px) !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(6px) !important;
    width: 76px !important;
    max-width: 76px !important;
    height: 76px !important;
    margin: 0 !important;
    padding: 8px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: 300 !important;
    background: #fff !important;
    box-shadow: 0 8px 28px rgba(0, 50, 90, 0.22) !important;
    border: 1.5px solid #99C4D8 !important;
    border-radius: 12px !important;
    transition: opacity 0.18s ease, transform 0.18s ease !important;
}

#everything.view-list a.each-product:hover img.product-img-xs-rectangle-ecosystem {
    opacity: 1 !important;
    transform: translateX(-50%) translateY(0) !important;
}

#everything.view-list #cob-products > .col-sm-12 > .row:has(a.each-product),
#everything.view-list #dynamic-cob-products > .col-sm-12 > .row:has(a.each-product),
#everything.view-list #dynamic-cob-discontinued > .col-sm-12 > .row:has(a.each-product),
#everything.view-list #color-products > .col-sm-12 > .row:has(a.each-product),
#everything.view-list #color-mix-products > .col-sm-12 > .row:has(a.each-product),
#everything.view-list #specialty-white-products > .col-sm-12 > .row:has(a.each-product),
#everything.view-list #uv-products > .col-sm-12 > .row:has(a.each-product),
#everything.view-list #ir-products > .col-sm-12 > .row:has(a.each-product),
#everything.view-list #mp-products > .col-sm-12 > .row:has(a.each-product) {
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)) !important;
    gap: 5px !important;
}

#everything.view-list #cob-products > .col-sm-12 > .ecosystem-legacy-product-grid,
#everything.view-list #dynamic-cob-products > .col-sm-12 > .ecosystem-legacy-product-grid,
#everything.view-list #dynamic-cob-discontinued > .col-sm-12 > .ecosystem-legacy-product-grid,
#everything.view-list #color-products > .col-sm-12 > .ecosystem-legacy-product-grid,
#everything.view-list #color-mix-products > .col-sm-12 > .ecosystem-legacy-product-grid,
#everything.view-list #specialty-white-products > .col-sm-12 > .ecosystem-legacy-product-grid,
#everything.view-list #uv-products > .col-sm-12 > .ecosystem-legacy-product-grid,
#everything.view-list #ir-products > .col-sm-12 > .ecosystem-legacy-product-grid,
#everything.view-list #mp-products > .col-sm-12 > .ecosystem-legacy-product-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 5px !important;
}


/* ============================================================
   REMOVE ALL GOLD TOP BORDERS — no bars, use depth instead
   ============================================================ */

/* Sidebar nav title */
.resource.ecosystem .ecosystem-family-nav__title.left-side-menu,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__title.left-side-menu {
    border-top: none !important;
    border: 1px solid #D7E2E8 !important;
    border-bottom: 0 !important;
    background: linear-gradient(160deg, #f0f7fb 0%, #ffffff 55%) !important;
    box-shadow: 0 4px 16px rgba(13, 100, 136, 0.08) !important;
}


/* All #cob-title panel headers (search page) */
#cob-products #cob-title,
#dynamic-cob-products #cob-title,
#dynamic-cob-discontinued #cob-title,
#color-products #cob-title,
#color-mix-products #cob-title,
#specialty-white-products #cob-title,
#uv-products #cob-title,
#ir-products #cob-title,
#mp-products #cob-title,
.resource-ecosystem-search-page #cob-products #cob-title,
.resource-ecosystem-search-page #dynamic-cob-products #cob-title,
.resource-ecosystem-search-page #dynamic-cob-discontinued #cob-title,
.resource-ecosystem-search-page #color-products #cob-title,
.resource-ecosystem-search-page #color-mix-products #cob-title,
.resource-ecosystem-search-page #specialty-white-products #cob-title,
.resource-ecosystem-search-page #uv-products #cob-title,
.resource-ecosystem-search-page #ir-products #cob-title,
.resource-ecosystem-search-page #mp-products #cob-title {
    border-top: none !important;
    background: linear-gradient(90deg, #0d6488 0%, #3a94b8 35%, #8ecde0 68%, #d4ecf5 100%) !important;
    box-shadow: none !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
}

/* All-partners header */
.resource.ecosystem .ecosystem-all-partners__header {
    border-top: none !important;
    background: linear-gradient(160deg, #e8f3f9 0%, #ffffff 55%) !important;
}

/* Remove gold underline bar (::before pseudo) inside panel headers */
#family-landing-page-title.ecosystem-product-family__header:before,
#cob-products #cob-title:before,
#dynamic-cob-products #cob-title:before,
#dynamic-cob-discontinued #cob-title:before,
#color-products #cob-title:before,
#color-mix-products #cob-title:before,
#specialty-white-products #cob-title:before,
#uv-products #cob-title:before,
#ir-products #cob-title:before,
#mp-products #cob-title:before {
    display: none !important;
    content: none !important;
}


/* ============================================================
   FULL REDESIGN — premium dark-sidebar + clean content
   ============================================================ */

/* ——— SIDEBAR HEADER — rich deep navy ——— */
.resource.ecosystem .ecosystem-family-nav__title.left-side-menu,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__title.left-side-menu {
    position: relative !important;
    background: linear-gradient(90deg, #052638 0%, #0A4F72 58%, #0D6488 100%) !important;
    border: none !important;
    border-bottom: 0 !important;
    border-radius: 10px 10px 0 0 !important;
    padding: 14px 22px 15px 22px !important;
    min-height: 72px !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    cursor: pointer !important;
    transition: background-color 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease !important;
}

.resource.ecosystem .ecosystem-family-nav__title.left-side-menu:before,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__title.left-side-menu:before {
    display: none !important;
    content: none !important;
}

.resource.ecosystem .ecosystem-family-nav__title.left-side-menu:after,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__title.left-side-menu:after {
    display: none !important;
    content: none !important;
}

.resource.ecosystem .ecosystem-family-nav__title.left-side-menu:hover,
.resource.ecosystem .ecosystem-family-nav__title.left-side-menu:focus,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__title.left-side-menu:hover,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__title.left-side-menu:focus {
    background-color: #125E7A !important;
    background-image: linear-gradient(90deg, #06334A 0%, #0D6488 58%, #1598C2 100%) !important;
    filter: none !important;
    box-shadow: inset 0 0 46px rgba(113, 206, 232, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 0 28px rgba(21, 152, 194, 0.20) !important;
}

.resource.ecosystem .ecosystem-family-nav__title.left-side-menu:hover:after,
.resource.ecosystem .ecosystem-family-nav__title.left-side-menu:focus:after,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__title.left-side-menu:hover:after,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__title.left-side-menu:focus:after {
    display: none !important;
    content: none !important;
}

/* "PRODUCT CATALOG" kicker — restyle existing p:before for dark background */
.resource.ecosystem #family-nav-title.ecosystem-family-nav__title p:before {
    color: #9AD8EE !important;
    font-size: 9.5px !important;
    letter-spacing: 1.8px !important;
    margin-bottom: 5px !important;
}

/* "Luminus Product Family" — bigger title treatment */
.resource.ecosystem .ecosystem-family-nav__title.left-side-menu .P2-right-gray-regular {
    color: rgba(255, 255, 255, 0.94) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

.resource.ecosystem .ecosystem-family-nav__title.left-side-menu:hover .P2-right-gray-regular,
.resource.ecosystem .ecosystem-family-nav__title.left-side-menu:focus .P2-right-gray-regular,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__title.left-side-menu:hover .P2-right-gray-regular,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__title.left-side-menu:focus .P2-right-gray-regular {
    color: #FFFFFF !important;
    text-shadow: 0 0 18px rgba(113, 206, 232, 0.90), 0 0 42px rgba(113, 206, 232, 0.58), 0 0 4px rgba(255, 255, 255, 0.88) !important;
}

.resource.ecosystem #family-nav-title.ecosystem-family-nav__title:hover p:before,
.resource.ecosystem #family-nav-title.ecosystem-family-nav__title:focus p:before,
.resource-ecosystem-search-page .resource.ecosystem #family-nav-title.ecosystem-family-nav__title:hover p:before,
.resource-ecosystem-search-page .resource.ecosystem #family-nav-title.ecosystem-family-nav__title:focus p:before {
    color: #B7F2FF !important;
    text-shadow: 0 0 14px rgba(113, 206, 232, 0.82), 0 0 30px rgba(113, 206, 232, 0.48) !important;
}

/* Sidebar nav list wrapper */
.resource.ecosystem .ecosystem-family-nav,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav {
    padding: 8px 10px 12px !important;
    background: #ffffff !important;
    border: 1px solid #D0E3EE !important;
    border-top: none !important;
    border-radius: 0 0 10px 10px !important;
    box-shadow: 0 8px 20px rgba(5, 38, 56, 0.08) !important;
}

/* Sidebar nav list items — reset legacy height/border */
.resource.ecosystem .ecosystem-family-nav__item.left-side-menu-deep,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__item.left-side-menu-deep {
    height: auto !important;
    border-bottom: none !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Sidebar nav item arrow — match right-side card style */
.resource.ecosystem .ecosystem-family-nav__item a::after,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__item a::after {
    content: "›" !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: #8BAFC0 !important;
    line-height: 1 !important;
    transition: transform 0.18s ease, color 0.18s ease !important;
}

.resource.ecosystem .ecosystem-family-nav__item a:hover::after,
.resource.ecosystem .ecosystem-family-nav__item a:focus::after,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__item a:hover::after,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__item a:focus::after {
    color: #0d6488 !important;
    transform: none !important;
}

/* Sidebar nav item links */
.resource.ecosystem .ecosystem-family-nav__item a,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__item a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 9px 14px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1a4a61 !important;
    text-decoration: none !important;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease !important;
    margin-bottom: 2px !important;
}

.resource.ecosystem .ecosystem-family-nav__item a:hover,
.resource.ecosystem .ecosystem-family-nav__item a:focus,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__item a:hover,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__item a:focus {
    background: #ffffff !important;
    border-color: rgba(13, 100, 136, 0.30) !important;
    color: #0a4060 !important;
    box-shadow: 0 10px 24px rgba(13, 100, 136, 0.14) !important;
    padding-left: 14px !important;
}

.resource.ecosystem .ecosystem-family-nav__item a:hover:after,
.resource.ecosystem .ecosystem-family-nav__item a:focus:after,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__item a:hover:after,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__item a:focus:after {
    color: #0d6488 !important;
    transform: none !important;
}

/* Remove default browser focus outline on click (it ignores the rounded
   corners and shows stray border lines). Keep an accessible ring for
   keyboard users via :focus-visible. */
.resource.ecosystem .ecosystem-family-nav__item a,
.resource.ecosystem .ecosystem-family-nav__item a:focus,
.resource.ecosystem .ecosystem-family-nav__item a:active,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__item a,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__item a:focus,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__item a:active {
    outline: none !important;
}

.resource.ecosystem .ecosystem-family-nav__item a:focus-visible,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__item a:focus-visible {
    outline: 2px solid #76BFDD !important;
    outline-offset: 2px !important;
}

/* Active nav item — uses .current class set by JS */
#family-nav .ecosystem-family-nav__item.current,
#family-nav .ecosystem-family-nav__item.current a {
    background: linear-gradient(135deg, #0a4060 0%, #0d6488 100%) !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    box-shadow: 0 3px 10px rgba(13, 100, 136, 0.28) !important;
}

#family-nav .ecosystem-family-nav__item.current a:after {
    color: rgba(255,255,255,0.6) !important;
}

/* ——— PANEL HEADERS (cob-title) ——— */
#cob-products #cob-title,
#dynamic-cob-products #cob-title,
#dynamic-cob-discontinued #cob-title,
#color-products #cob-title,
#color-mix-products #cob-title,
#specialty-white-products #cob-title,
#uv-products #cob-title,
#ir-products #cob-title,
#mp-products #cob-title,
.resource-ecosystem-search-page #cob-products #cob-title,
.resource-ecosystem-search-page #dynamic-cob-products #cob-title,
.resource-ecosystem-search-page #dynamic-cob-discontinued #cob-title,
.resource-ecosystem-search-page #color-products #cob-title,
.resource-ecosystem-search-page #color-mix-products #cob-title,
.resource-ecosystem-search-page #specialty-white-products #cob-title,
.resource-ecosystem-search-page #uv-products #cob-title,
.resource-ecosystem-search-page #ir-products #cob-title,
.resource-ecosystem-search-page #mp-products #cob-title {
    background: linear-gradient(90deg, #0d6488 0%, #3a94b8 35%, #8ecde0 68%, #d4ecf5 100%) !important;
    border: 1px solid rgba(113, 206, 232, 0.25) !important;
    border-bottom: 0 !important;
    border-right: none !important;
    border-radius: 10px 10px 0 0 !important;
    min-height: 72px !important;
    height: 72px !important;
    padding: 0 24px 0 22px !important;
    box-shadow: none !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
}

#cob-products #cob-title span,
#dynamic-cob-products #cob-title span,
#dynamic-cob-discontinued #cob-title span,
#color-products #cob-title span,
#color-mix-products #cob-title span,
#specialty-white-products #cob-title span,
#uv-products #cob-title span,
#ir-products #cob-title span,
#mp-products #cob-title span,
.resource-ecosystem-search-page #cob-products #cob-title span,
.resource-ecosystem-search-page #dynamic-cob-products #cob-title span,
.resource-ecosystem-search-page #dynamic-cob-discontinued #cob-title span,
.resource-ecosystem-search-page #color-products #cob-title span,
.resource-ecosystem-search-page #color-mix-products #cob-title span,
.resource-ecosystem-search-page #specialty-white-products #cob-title span,
.resource-ecosystem-search-page #uv-products #cob-title span,
.resource-ecosystem-search-page #ir-products #cob-title span,
.resource-ecosystem-search-page #mp-products #cob-title span {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: #ffffff !important;
}

/* Left-align kicker and title */
#cob-products #cob-title span:before,
#dynamic-cob-products #cob-title span:before,
#dynamic-cob-discontinued #cob-title span:before,
#color-products #cob-title span:before,
#color-mix-products #cob-title span:before,
#specialty-white-products #cob-title span:before,
#uv-products #cob-title span:before,
#ir-products #cob-title span:before,
#mp-products #cob-title span:before,
.resource-ecosystem-search-page #cob-products #cob-title span:before,
.resource-ecosystem-search-page #dynamic-cob-products #cob-title span:before,
.resource-ecosystem-search-page #dynamic-cob-discontinued #cob-title span:before,
.resource-ecosystem-search-page #color-products #cob-title span:before,
.resource-ecosystem-search-page #color-mix-products #cob-title span:before,
.resource-ecosystem-search-page #specialty-white-products #cob-title span:before,
.resource-ecosystem-search-page #uv-products #cob-title span:before,
.resource-ecosystem-search-page #ir-products #cob-title span:before,
.resource-ecosystem-search-page #mp-products #cob-title span:before {
    color: #9ad8ee !important;
    font-size: 9px !important;
    letter-spacing: 1.8px !important;
    margin-bottom: 4px !important;
    text-align: left !important;
}

/* ——— PRODUCT GRID BODY AREA ——— */
/* Override inline background-color: #D5E7F2 */
#cob-products > .col-sm-12,
#dynamic-cob-products > .col-sm-12,
#dynamic-cob-discontinued > .col-sm-12,
#color-products > .col-sm-12,
#color-mix-products > .col-sm-12,
#specialty-white-products > .col-sm-12,
#uv-products > .col-sm-12,
#ir-products > .col-sm-12,
#mp-products > .col-sm-12 {
    background: #F4F9FC !important;
    border: 1px solid #C8DDE8 !important;
    border-top: none !important;
    border-radius: 0 0 10px 10px !important;
}

/* Flex parent — all product cards from any sub-row flow into one shared flex line */
#cob-products > .col-sm-12,
#dynamic-cob-products > .col-sm-12,
#dynamic-cob-discontinued > .col-sm-12,
#color-products > .col-sm-12,
#color-mix-products > .col-sm-12,
#specialty-white-products > .col-sm-12,
#uv-products > .col-sm-12,
#ir-products > .col-sm-12,
#mp-products > .col-sm-12 {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    align-items: flex-start !important;
    align-content: flex-start !important;
    padding: 10px !important;
}

/* Transparent rows — cards escape and become direct flex children */
#cob-products > .col-sm-12 > .row:has(a.each-product),
#dynamic-cob-products > .col-sm-12 > .row:has(a.each-product),
#dynamic-cob-discontinued > .col-sm-12 > .row:has(a.each-product),
#color-products > .col-sm-12 > .row:has(a.each-product),
#color-mix-products > .col-sm-12 > .row:has(a.each-product),
#specialty-white-products > .col-sm-12 > .row:has(a.each-product),
#uv-products > .col-sm-12 > .row:has(a.each-product),
#ir-products > .col-sm-12 > .row:has(a.each-product),
#mp-products > .col-sm-12 > .row:has(a.each-product),
#cob-products > .col-sm-12 > .ecosystem-legacy-product-grid,
#dynamic-cob-products > .col-sm-12 > .ecosystem-legacy-product-grid,
#dynamic-cob-discontinued > .col-sm-12 > .ecosystem-legacy-product-grid,
#color-products > .col-sm-12 > .ecosystem-legacy-product-grid,
#color-mix-products > .col-sm-12 > .ecosystem-legacy-product-grid,
#specialty-white-products > .col-sm-12 > .ecosystem-legacy-product-grid,
#uv-products > .col-sm-12 > .ecosystem-legacy-product-grid,
#ir-products > .col-sm-12 > .ecosystem-legacy-product-grid,
#mp-products > .col-sm-12 > .ecosystem-legacy-product-grid {
    display: contents !important;
}

/* Non-product rows span full width in the flex container */
#cob-products > .col-sm-12 > .row:not(:has(a.each-product)),
#dynamic-cob-products > .col-sm-12 > .row:not(:has(a.each-product)),
#dynamic-cob-discontinued > .col-sm-12 > .row:not(:has(a.each-product)),
#color-products > .col-sm-12 > .row:not(:has(a.each-product)),
#color-mix-products > .col-sm-12 > .row:not(:has(a.each-product)),
#specialty-white-products > .col-sm-12 > .row:not(:has(a.each-product)),
#uv-products > .col-sm-12 > .row:not(:has(a.each-product)),
#ir-products > .col-sm-12 > .row:not(:has(a.each-product)),
#mp-products > .col-sm-12 > .row:not(:has(a.each-product)) {
    flex: 0 0 100% !important;
    width: 100% !important;
}

/* Each product card: flexible width, min 90px, grow to fill */
#cob-products > .col-sm-12 a.each-product,
#dynamic-cob-products > .col-sm-12 a.each-product,
#dynamic-cob-discontinued > .col-sm-12 a.each-product,
#color-products > .col-sm-12 a.each-product,
#color-mix-products > .col-sm-12 a.each-product,
#specialty-white-products > .col-sm-12 a.each-product,
#uv-products > .col-sm-12 a.each-product,
#ir-products > .col-sm-12 a.each-product,
#mp-products > .col-sm-12 a.each-product {
    flex: 1 1 214px !important;
    min-width: 198px !important;
    max-width: 242px !important;
}

/* ——— PRODUCT CARDS — hover lift ——— */
a.each-product {
    text-decoration: none !important;
    display: block !important;
    outline: none !important;
}

a.each-product .sub-list {
    background: #ffffff !important;
    border: 1px solid rgba(185, 214, 228, 0.7) !important;
    border-radius: 10px !important;
    box-shadow: 0 2px 6px rgba(13, 100, 136, 0.05) !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease !important;
}

a.each-product:hover .sub-list {
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 28px rgba(13, 100, 136, 0.16) !important;
    border-color: rgba(13, 100, 136, 0.35) !important;
}

.resource-ecosystem-search-page #everything a.each-product,
.resource-ecosystem-search-page #everything a.each-product:hover,
.resource-ecosystem-search-page #everything a.each-product:focus,
.resource-ecosystem-search-page #everything a.each-product:active {
    color: #063F5F !important;
    text-decoration: none !important;
    outline: none !important;
    box-shadow: none !important;
}

.resource-ecosystem-search-page #everything a.each-product:focus .sub-list,
.resource-ecosystem-search-page #everything a.each-product:active .sub-list {
    border-color: rgba(13, 100, 136, 0.38) !important;
    box-shadow:
        0 0 0 3px rgba(143, 192, 213, 0.22),
        0 8px 22px rgba(13, 100, 136, 0.12) !important;
    transform: none !important;
}

.resource-ecosystem-search-page #everything a.each-product:focus-visible .sub-list {
    border-color: #0D6488 !important;
    box-shadow:
        0 0 0 3px rgba(13, 100, 136, 0.20),
        0 10px 26px rgba(13, 100, 136, 0.16) !important;
}

.resource-ecosystem-search-page #everything.view-both a.each-product .sub-list {
    display: grid !important;
    grid-template-columns: 58px minmax(82px, 1fr) !important;
    align-items: center !important;
    align-content: center !important;
    column-gap: 10px !important;
    row-gap: 4px !important;
    height: auto !important;
    min-height: 78px !important;
    padding: 9px !important;
    overflow: hidden !important;
}

.resource-ecosystem-search-page #everything.view-both a.each-product p {
    display: block !important;
    grid-column: 2 !important;
    justify-self: center !important;
    width: auto !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #063F5F !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
    hyphens: none !important;
}

.resource-ecosystem-search-page #everything.view-both a.each-product img.product-img-xs-rectangle-ecosystem {
    grid-column: 1 !important;
    grid-row: 1 / span 10 !important;
    align-self: center !important;
    width: 58px !important;
    max-width: 58px !important;
    height: 58px !important;
    padding: 5px !important;
    margin: 0 !important;
}

/* ——— PRODUCT FAMILY MAIN HEADER (family-landing-page-title) — hidden, redundant with sidebar ——— */
#family-landing-page-title {
    display: none !important;
}

/* Search by Product landing page: restore the blank content bar only here. */
.resource-ecosystem-search-page #family-landing-page-title.ecosystem-product-family__header {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    min-height: 72px !important;
    height: 72px !important;
    padding: 0 24px 0 22px !important;
    border: 1px solid rgba(113, 206, 232, 0.25) !important;
    border-bottom: 0 !important;
    border-right: none !important;
    border-radius: 10px 10px 0 0 !important;
    background: linear-gradient(90deg, #0d6488 0%, #3a94b8 35%, #8ecde0 68%, #d4ecf5 100%) !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

.resource-ecosystem-search-page #family-landing-page-title span,
.resource-ecosystem-search-page #family-landing-page-title span:before {
    display: none !important;
    content: none !important;
}

@media (min-width: 992px) {
    .resource-ecosystem-search-page #family-landing-page {
        padding-top: 0 !important;
    }
}

/* ——— CATEGORY CARDS (landing grid — COB Arrays, Dynamic COB, etc.) ——— */
.ecosystem-family-card,
a.each-product.ecosystem-family-card {
    border: 1px solid rgba(185, 214, 228, 0.7) !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-shadow: 0 3px 10px rgba(13, 100, 136, 0.07) !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease !important;
    overflow: hidden !important;
}

.ecosystem-family-card:hover,
a.each-product.ecosystem-family-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 14px 36px rgba(13, 100, 136, 0.18) !important;
    border-color: rgba(13, 100, 136, 0.3) !important;
}

/* Image area inside category card */
.ecosystem-family-card__image {
    background: #F4F9FC !important;
    border-radius: 0 !important;
}

/* Label inside category card */
.ecosystem-family-card__label {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 14px 11px !important;
    margin: 0 !important;
    text-align: left !important;
    color: #0e3f5a !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    border-top: 0 !important;
}

.ecosystem-family-card__label::after {
    content: "›" !important;
    flex-shrink: 0 !important;
    color: #8BAFC0 !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    transition: transform 0.18s ease, color 0.18s ease !important;
}

.ecosystem-family-card:hover .ecosystem-family-card__label::after,
a.each-product.ecosystem-family-card:hover .ecosystem-family-card__label::after {
    transform: none !important;
    color: #0d6488 !important;
}

/* Landing panel body */
.resource-ecosystem-search-page .ecosystem-product-family__panel,
.resource.ecosystem .ecosystem-product-family__panel {
    border: 1px solid #C8DDE8 !important;
    border-top: none !important;
    border-right: none !important;
    border-radius: 0 0 10px 10px !important;
    background: #f7fbfd !important;
    box-shadow: 0 8px 24px rgba(13, 100, 136, 0.07) !important;
}

/* ——— "PRODUCT FAMILY" kicker text in panel headers — change from gold to blue ——— */
#cob-products #cob-title span:before,
#dynamic-cob-products #cob-title span:before,
#dynamic-cob-discontinued #cob-title span:before,
#color-products #cob-title span:before,
#color-mix-products #cob-title span:before,
#specialty-white-products #cob-title span:before,
#uv-products #cob-title span:before,
#ir-products #cob-title span:before,
#mp-products #cob-title span:before,
.resource-ecosystem-search-page #family-landing-page-title.ecosystem-product-family__header span:before {
    color: #3A7A9C !important;
    letter-spacing: 1.8px !important;
    font-size: 9px !important;
}

/* Unified ecosystem simple brilliant-light affordance */
.resource.ecosystem .ecosystem-family-nav__item a::after,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__item a::after,
.ecosystem-family-card__label::after,
a.each-product.ecosystem-family-card .ecosystem-family-card__label::after {
    content: "" !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 26px !important;
    width: 26px !important;
    height: 26px !important;
    margin-left: 10px !important;
    border: 1.5px solid #D8DFE0 !important;
    border-radius: 50% !important;
    background:
        radial-gradient(circle at 50% 50%, rgba(255, 196, 92, 0.4) 0 2.4px, rgba(255, 196, 92, 0) 3.4px),
        radial-gradient(circle at 50% 38%, #FFFFFF 0 42%, #F1F1EC 100%);
    box-shadow: inset 0 1px 1.5px rgba(255, 255, 255, 0.95), 0 1px 2px rgba(60, 55, 40, 0.12);
    clip-path: none !important;
    color: transparent !important;
    filter: none;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-size: 0 !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    opacity: 1 !important;
    text-align: center !important;
    transform: none;
    transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, filter 0.3s ease !important;
}

.resource.ecosystem .ecosystem-family-nav__item a:hover::after,
.resource.ecosystem .ecosystem-family-nav__item a:focus::after,
.resource.ecosystem .ecosystem-family-nav__item a:active::after,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__item a:hover::after,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__item a:focus::after,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__item a:active::after,
.ecosystem-family-card:hover .ecosystem-family-card__label::after,
.ecosystem-family-card:focus .ecosystem-family-card__label::after,
.ecosystem-family-card:active .ecosystem-family-card__label::after,
a.each-product.ecosystem-family-card:hover .ecosystem-family-card__label::after,
a.each-product.ecosystem-family-card:focus .ecosystem-family-card__label::after,
a.each-product.ecosystem-family-card:active .ecosystem-family-card__label::after {
    border-color: rgba(255, 196, 96, 0.35) !important;
    background:
        radial-gradient(circle, rgba(255, 251, 228, 1) 0 40%, rgba(255, 251, 228, 0) 72%) no-repeat,
        radial-gradient(circle, rgba(255, 248, 214, 1) 0 40%, rgba(255, 248, 214, 0) 72%) no-repeat,
        radial-gradient(circle, rgba(255, 244, 200, 1) 0 40%, rgba(255, 244, 200, 0) 72%) no-repeat,
        radial-gradient(circle closest-side, #FFFFFF 0 16%, #FFEAB4 46%, #FFC85A 78%, rgba(255, 190, 70, 0.4) 92%, rgba(255, 190, 70, 0) 100%) no-repeat,
        radial-gradient(circle at 50% 38%, #FFFCF4 0 45%, #FFF3DC 100%) no-repeat center;
    opacity: 1 !important;
    animation: ecoEmit 0.9s ease-out forwards;
}

@keyframes ecoEmit {
    0% {
        background-position: 50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%;
        background-size: 2.5px 2.5px, 2.5px 2.5px, 2.5px 2.5px, 14% 14%, 100% 100%;
        box-shadow:
            inset 0 0 4px rgba(255, 235, 170, 0.6),
            0 0 0 1.5px rgba(255, 205, 110, 0),
            0 0 1px rgba(255, 206, 96, 0.3),
            0 0 2px rgba(255, 190, 60, 0);
        filter: brightness(0.96);
    }
    100% {
        background-position: 26% 32%, 74% 30%, 50% 78%, 50% 50%, 50% 50%;
        background-size: 0px 0px, 0px 0px, 0px 0px, 175% 175%, 100% 100%;
        box-shadow:
            inset 0 0 4px rgba(255, 235, 170, 0.9),
            0 0 0 1.5px rgba(255, 205, 110, 0.35),
            0 0 16px rgba(255, 206, 96, 0.9),
            0 0 34px rgba(255, 190, 60, 0.6);
        filter: brightness(1.05);
    }
}

#family-nav .ecosystem-family-nav__item.current a::after {
    border-color: rgba(255, 196, 96, 0.35) !important;
    background:
        radial-gradient(circle closest-side, #FFFFFF 0 16%, #FFEAB4 46%, #FFC85A 78%, rgba(255, 190, 70, 0.4) 92%, rgba(255, 190, 70, 0) 100%) no-repeat center,
        radial-gradient(circle at 50% 38%, #FFFCF4 0 45%, #FFF3DC 100%) no-repeat center !important;
    background-size: 175% 175%, 100% 100%;
    box-shadow: inset 0 0 4px rgba(255, 235, 170, 0.9), 0 0 0 1.5px rgba(255, 205, 110, 0.35), 0 0 12px rgba(255, 206, 96, 0.8);
    filter: none;
    opacity: 1 !important;
}

/* Family nav marker: keep the active state calm and non-lamp-like. */
.resource.ecosystem .ecosystem-family-nav__item a::after,
.resource-ecosystem-search-page .ecosystem-family-nav__item a::after,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__item a::after {
    content: "" !important;
    display: block !important;
    flex: 0 0 4px !important;
    width: 4px !important;
    height: 18px !important;
    margin-left: 12px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(13, 100, 136, 0.28) !important;
    background-image: none !important;
    background-size: auto !important;
    box-shadow: none !important;
    clip-path: none !important;
    color: transparent !important;
    filter: none !important;
    font-size: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: background 0.16s ease, box-shadow 0.16s ease, height 0.16s ease !important;
}

.resource.ecosystem .ecosystem-family-nav__item a:hover::after,
.resource.ecosystem .ecosystem-family-nav__item a:focus::after,
.resource.ecosystem .ecosystem-family-nav__item a:active::after,
.resource-ecosystem-search-page .ecosystem-family-nav__item a:hover::after,
.resource-ecosystem-search-page .ecosystem-family-nav__item a:focus::after,
.resource-ecosystem-search-page .ecosystem-family-nav__item a:active::after,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__item a:hover::after,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__item a:focus::after,
.resource-ecosystem-search-page .resource.ecosystem .ecosystem-family-nav__item a:active::after {
    background: #0D6488 !important;
    background-image: none !important;
    box-shadow: none !important;
    transform: none !important;
    animation: none !important;
}

#family-nav .ecosystem-family-nav__item.current a::after,
.resource.ecosystem #family-nav .ecosystem-family-nav__item.current a::after,
.resource-ecosystem-search-page #family-nav .ecosystem-family-nav__item.current a::after {
    width: 5px !important;
    flex-basis: 5px !important;
    height: 22px !important;
    border: 0 !important;
    background: #FFFFFF !important;
    background-image: none !important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.16) !important;
    filter: none !important;
    opacity: 0.96 !important;
    animation: none !important;
}

/* Product-family cards use a horizontal rail that stays inside the label row. */
.resource-ecosystem-search-page #family-landing-page .ecosystem-family-card,
.resource.ecosystem #family-landing-page .ecosystem-family-card {
    position: relative !important;
    overflow: hidden !important;
}

.resource-ecosystem-search-page #family-landing-page .ecosystem-family-card__label,
.resource.ecosystem #family-landing-page .ecosystem-family-card__label {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-right: 2px !important;
    overflow: hidden !important;
}

.resource-ecosystem-search-page #family-landing-page .ecosystem-family-card__label::after,
.resource.ecosystem #family-landing-page .ecosystem-family-card__label::after,
a.each-product.ecosystem-family-card .ecosystem-family-card__label::after {
    content: "" !important;
    display: block !important;
    flex: 0 0 26px !important;
    width: 26px !important;
    min-width: 26px !important;
    max-width: 46px !important;
    height: 5px !important;
    margin-left: auto !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, #0D6488 0%, #5EC6E4 58%, #FFFFFF 100%) !important;
    background-size: auto !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.54) !important;
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: background 0.18s ease, box-shadow 0.18s ease, flex-basis 0.18s ease, width 0.18s ease !important;
}

.resource-ecosystem-search-page #family-landing-page .ecosystem-family-card::after,
.resource.ecosystem #family-landing-page .ecosystem-family-card::after,
a.each-product.ecosystem-family-card::after {
    display: none !important;
    content: none !important;
}

.resource-ecosystem-search-page #family-landing-page .ecosystem-family-card:hover .ecosystem-family-card__label::after,
.resource-ecosystem-search-page #family-landing-page .ecosystem-family-card:focus .ecosystem-family-card__label::after,
.resource-ecosystem-search-page #family-landing-page .ecosystem-family-card:active .ecosystem-family-card__label::after,
.resource.ecosystem #family-landing-page .ecosystem-family-card:hover .ecosystem-family-card__label::after,
.resource.ecosystem #family-landing-page .ecosystem-family-card:focus .ecosystem-family-card__label::after,
.resource.ecosystem #family-landing-page .ecosystem-family-card:active .ecosystem-family-card__label::after,
a.each-product.ecosystem-family-card:hover .ecosystem-family-card__label::after,
a.each-product.ecosystem-family-card:focus .ecosystem-family-card__label::after,
a.each-product.ecosystem-family-card:active .ecosystem-family-card__label::after {
    flex-basis: 46px !important;
    width: 46px !important;
    background: linear-gradient(90deg, #0D6488 0%, #5EC6E4 58%, #FFFFFF 100%) !important;
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.45),
        0 0 0 4px rgba(13, 100, 136, 0.08),
        8px 0 18px rgba(13, 100, 136, 0.20) !important;
}
