﻿/* =========================================================
   HERO MASTER CSS - FINAL REAL VERSION
   Controls all non-dashboard page heroes.
   Dashboard is NOT affected.
========================================================= */

html body {
    --hero-icon-column: 130px;
    --hero-icon-box-size: 112px;
    --hero-icon-size: 88px;
    --hero-title-size: 36px;
    --hero-title-weight: 900;
    --hero-title-line-height: 1.08;
    --hero-title-color: #f4f8ff;
    --hero-desc-size: 20px;
    --hero-desc-weight: 500;
    --hero-desc-line-height: 1.58;
    --hero-desc-color: #a9bdd4;
    --hero-desc-max-width: 920px;
    --hero-text-gap: 12px;
    --hero-text-offset-x: 30px;
    --hero-text-offset-y: 0px;
}

    /* Main hero containers - Dashboard is not included */
    html body .company-hero,
    html body .products-hero,
    html body .catalog-hero,
    html body .section-hero {
        display: grid !important;
        grid-template-columns: var(--hero-icon-column) minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 24px !important;
        min-height: 155px !important;
        height: auto !important;
        padding: 24px 26px !important;
        border-radius: 24px !important;
        border: 1px solid #1c344e !important;
        background: radial-gradient(circle at top right, rgba(24, 198, 189, 0.14), transparent 18rem), #081a2c !important;
        box-shadow: var(--shadow-card) !important;
        overflow: hidden !important;
    }

        /* Icon boxes */
        html body .company-hero :is(.company-hero-icon-box, .section-hero-icon-box, [class*="icon-box"]),
        html body .products-hero :is(.products-hero-icon-box, .section-hero-icon-box, [class*="icon-box"]),
        html body .catalog-hero :is(.catalog-hero-icon-box, .section-hero-icon-box, [class*="icon-box"]),
        html body .section-hero :is(.section-hero-icon-box, [class*="icon-box"]) {
            width: var(--hero-icon-box-size) !important;
            height: var(--hero-icon-box-size) !important;
            min-width: var(--hero-icon-box-size) !important;
            min-height: var(--hero-icon-box-size) !important;
            max-width: var(--hero-icon-box-size) !important;
            max-height: var(--hero-icon-box-size) !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            justify-self: start !important;
            align-self: center !important;
            border-radius: 20px !important;
            background: #112b49 !important;
            border: 1px solid rgba(24, 198, 189, 0.22) !important;
            overflow: hidden !important;
        }

        /* Icons/images inside hero */
        html body .company-hero img,
        html body .products-hero img,
        html body .catalog-hero img,
        html body .section-hero img {
            width: var(--hero-icon-size) !important;
            height: var(--hero-icon-size) !important;
            max-width: var(--hero-icon-size) !important;
            max-height: var(--hero-icon-size) !important;
            object-fit: contain !important;
            display: block !important;
        }

        /* Any content wrapper inside hero */
        html body .company-hero :is(.company-hero-content, .section-hero-content, [class*="content"]),
        html body .products-hero :is(.products-hero-content, .section-hero-content, [class*="content"]),
        html body .catalog-hero :is(.catalog-hero-content, .section-hero-content, [class*="content"]),
        html body .section-hero :is(.section-hero-content, [class*="content"]) {
            min-width: 0 !important;
            margin: 0 !important;
            padding: 0 !important;
            padding-left: var(--hero-text-offset-x) !important;
            padding-top: var(--hero-text-offset-y) !important;
            display: flex !important;
            flex-direction: column !important;
            justify-content: center !important;
            text-align: left !important;
        }

        /* Title - target every h1 inside non-dashboard heroes */
        html body .company-hero h1,
        html body .products-hero h1,
        html body .catalog-hero h1,
        html body .section-hero h1 {
            margin: 0 !important;
            padding: 0 !important;
            color: var(--hero-title-color) !important;
            font-size: var(--hero-title-size) !important;
            font-weight: var(--hero-title-weight) !important;
            line-height: var(--hero-title-line-height) !important;
            letter-spacing: -0.035em !important;
            white-space: normal !important;
            overflow-wrap: break-word !important;
            word-break: normal !important;
        }

        /* Description - target every paragraph inside non-dashboard heroes */
        html body .company-hero p,
        html body .products-hero p,
        html body .catalog-hero p,
        html body .section-hero p {
            margin: var(--hero-text-gap) 0 0 0 !important;
            padding: 0 !important;
            max-width: var(--hero-desc-max-width) !important;
            color: var(--hero-desc-color) !important;
            font-size: var(--hero-desc-size) !important;
            font-weight: var(--hero-desc-weight) !important;
            line-height: var(--hero-desc-line-height) !important;
            white-space: normal !important;
            overflow-wrap: break-word !important;
            word-break: normal !important;
        }

        /* Badge */
        html body .company-hero :is(.company-hero-badge, .section-hero-badge, [class*="badge"]),
        html body .products-hero :is(.products-hero-badge, .section-hero-badge, [class*="badge"]),
        html body .catalog-hero :is(.catalog-hero-badge, .section-hero-badge, [class*="badge"]),
        html body .section-hero :is(.section-hero-badge, [class*="badge"]) {
            justify-self: end !important;
            align-self: center !important;
            padding: 10px 16px !important;
            border-radius: 16px !important;
            background: #10273e !important;
            border: 1px solid rgba(24, 198, 189, 0.30) !important;
            color: var(--brand) !important;
            font-size: 13px !important;
            font-weight: 800 !important;
            white-space: nowrap !important;
        }


/* =========================================================
   Tablet
========================================================= */

@media (max-width: 1100px) {
    html body {
        --hero-icon-column: 96px;
        --hero-icon-box-size: 82px;
        --hero-icon-size: 64px;
        --hero-title-size: 22px;
        --hero-desc-size: 13.5px;
        --hero-desc-line-height: 1.5;
        --hero-text-gap: 7px;
        --hero-text-offset-x: 0px;
        --hero-text-offset-y: 0px;
    }

        html body .company-hero,
        html body .products-hero,
        html body .catalog-hero,
        html body .section-hero {
            grid-template-columns: var(--hero-icon-column) minmax(0, 1fr) !important;
            min-height: 130px !important;
            padding: 20px 24px !important;
            gap: 18px !important;
        }

            html body .company-hero :is(.company-hero-badge, .section-hero-badge, [class*="badge"]),
            html body .products-hero :is(.products-hero-badge, .section-hero-badge, [class*="badge"]),
            html body .catalog-hero :is(.catalog-hero-badge, .section-hero-badge, [class*="badge"]),
            html body .section-hero :is(.section-hero-badge, [class*="badge"]) {
                grid-column: 1 / -1 !important;
                justify-self: start !important;
                width: fit-content !important;
            }

            html body .company-hero p,
            html body .products-hero p,
            html body .catalog-hero p,
            html body .section-hero p {
                display: -webkit-box !important;
                -webkit-line-clamp: 2 !important;
                -webkit-box-orient: vertical !important;
                overflow: hidden !important;
            }
}


/* =========================================================
   Mobile
========================================================= */

@media (max-width: 720px) {
    html body {
        --hero-icon-column: 68px;
        --hero-icon-box-size: 60px;
        --hero-icon-size: 44px;
        --hero-title-size: 18px;
        --hero-desc-size: 12px;
        --hero-desc-line-height: 1.45;
        --hero-text-gap: 6px;
        --hero-text-offset-x: 0px;
        --hero-text-offset-y: 0px;
    }

        html body .company-hero,
        html body .products-hero,
        html body .catalog-hero,
        html body .section-hero {
            grid-template-columns: var(--hero-icon-column) minmax(0, 1fr) !important;
            grid-template-areas:
                "icon content"
                "badge badge" !important;
            min-height: auto !important;
            padding: 15px !important;
            gap: 12px !important;
            text-align: left !important;
        }

            html body .company-hero :is(.company-hero-icon-box, .section-hero-icon-box, [class*="icon-box"]),
            html body .products-hero :is(.products-hero-icon-box, .section-hero-icon-box, [class*="icon-box"]),
            html body .catalog-hero :is(.catalog-hero-icon-box, .section-hero-icon-box, [class*="icon-box"]),
            html body .section-hero :is(.section-hero-icon-box, [class*="icon-box"]) {
                grid-area: icon !important;
            }

            html body .company-hero :is(.company-hero-content, .section-hero-content, [class*="content"]),
            html body .products-hero :is(.products-hero-content, .section-hero-content, [class*="content"]),
            html body .catalog-hero :is(.catalog-hero-content, .section-hero-content, [class*="content"]),
            html body .section-hero :is(.section-hero-content, [class*="content"]) {
                grid-area: content !important;
                text-align: left !important;
                align-items: flex-start !important;
            }

            html body .company-hero :is(.company-hero-badge, .section-hero-badge, [class*="badge"]),
            html body .products-hero :is(.products-hero-badge, .section-hero-badge, [class*="badge"]),
            html body .catalog-hero :is(.catalog-hero-badge, .section-hero-badge, [class*="badge"]),
            html body .section-hero :is(.section-hero-badge, [class*="badge"]) {
                grid-area: badge !important;
                justify-self: start !important;
            }
}


