/*
|--------------------------------------------------------------------------
| POLIGONOS.STORE · TERRITORIAL DETAIL VISUAL SYSTEM R1G
|--------------------------------------------------------------------------
|
| Owner visual:
| HOME V3 + TERRITORIAL HEADER R1C APPROVED
|
| Scope:
| - Municipality detail
| - Industrial zone detail
| - Polygon companies directory
|
| No legacy neon/glass visual ownership.
|--------------------------------------------------------------------------
*/

:root {
    --ps-ds-bg-0: #020b14;
    --ps-ds-bg-1: #03111d;
    --ps-ds-bg-2: #06182a;

    --ps-ds-panel-0: #071c30;
    --ps-ds-panel-1: #0a2944;
    --ps-ds-panel-2: #0c3150;

    --ps-ds-text: #ffffff;
    --ps-ds-muted: #d2dfeb;
    --ps-ds-soft: #aebfd0;

    --ps-ds-blue: #35d5f2;
    --ps-ds-orange: #e8672b;

    --ps-ds-gold:
        rgba(212, 175, 55, .58);

    --ps-ds-gold-strong:
        rgba(212, 175, 55, .82);

    --ps-ds-radius-xl: 28px;
    --ps-ds-radius-lg: 22px;
    --ps-ds-radius-md: 18px;
}


/*
|--------------------------------------------------------------------------
| Global route-scoped shell
|--------------------------------------------------------------------------
*/

body.ps-territorial-detail-r1g-body {
    margin: 0 !important;

    color: var(--ps-ds-text) !important;

    background:
        radial-gradient(
            circle at 82% 3%,
            rgba(53, 213, 242, .07),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            var(--ps-ds-bg-0) 0%,
            var(--ps-ds-bg-1) 46%,
            var(--ps-ds-bg-2) 100%
        ) !important;

    font-family:
        "Space Grotesk",
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif !important;
}

body.ps-territorial-detail-r1g-body .app-shell {
    min-height: 100vh !important;
    background: transparent !important;
}

body.ps-territorial-detail-r1g-body .app-header,
body.ps-territorial-detail-r1g-body .app-footer {
    display: none !important;
}

body.ps-territorial-detail-r1g-body .main-content {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.ps-territorial-detail-r1g-body .page-breadcrumbs {
    display: none !important;
}


/*
|--------------------------------------------------------------------------
| Shared page geometry
|--------------------------------------------------------------------------
*/

.ps-detail-system-r1g,
.ms-page.ps-detail-system-r1g,
.page.ps-detail-system-r1g,
.container.ps-detail-system-r1g {
    width:
        min(
            1320px,
            calc(100% - 32px)
        ) !important;

    max-width: 1320px !important;

    margin:
        0 auto !important;

    padding:
        8px 0 64px !important;

    color:
        var(--ps-ds-text) !important;

    font-family:
        "Space Grotesk",
        Inter,
        ui-sans-serif,
        system-ui,
        sans-serif !important;
}

.ps-detail-system-r1g *,
.ps-detail-system-r1g *::before,
.ps-detail-system-r1g *::after {
    box-sizing: border-box;
}

.ps-detail-system-r1g
.ps-territorial-header-r1 {
    margin-bottom: 14px !important;
}


/*
|--------------------------------------------------------------------------
| Shared typography
|--------------------------------------------------------------------------
*/

.ps-detail-system-r1g h1,
.ps-detail-system-r1g h2,
.ps-detail-system-r1g h3,
.ps-detail-system-r1g strong {
    color:
        var(--ps-ds-text) !important;

    text-shadow:
        none !important;
}

.ps-detail-system-r1g h1 {
    letter-spacing:
        -.055em !important;
}

.ps-detail-system-r1g h2 {
    letter-spacing:
        -.035em !important;
}


/*
|--------------------------------------------------------------------------
| Shared button contract
|--------------------------------------------------------------------------
*/

.ps-detail-system-r1g
:is(
    .ms-btn,
    .ms-zone-link,
    .action-button,
    .back-button,
    .back,
    .info-window-btn
) {
    display:
        inline-flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    min-height:
        40px !important;

    padding:
        0 16px !important;

    color:
        var(--ps-ds-text) !important;

    background:
        rgba(7, 28, 48, .92) !important;

    border:
        1px solid
        var(--ps-ds-gold) !important;

    border-radius:
        999px !important;

    box-shadow:
        none !important;

    filter:
        none !important;

    text-decoration:
        none !important;

    font-weight:
        700 !important;
}

.ps-detail-system-r1g
:is(
    .ms-btn,
    .ms-zone-link,
    .action-button,
    .back-button,
    .back,
    .info-window-btn
):hover {
    color:
        var(--ps-ds-text) !important;

    background:
        rgba(12, 44, 72, .98) !important;

    border-color:
        var(--ps-ds-gold-strong) !important;

    box-shadow:
        none !important;
}


/*
|--------------------------------------------------------------------------
| MUNICIPALITY
|--------------------------------------------------------------------------
*/

.ps-detail-system-r1g--municipality
.ms-hero,

.ps-detail-system-r1g--municipality
.ms-section {
    background:
        linear-gradient(
            145deg,
            rgba(10, 41, 68, .98),
            rgba(5, 24, 41, .98)
        ) !important;

    border:
        1px solid
        var(--ps-ds-gold) !important;

    box-shadow:
        none !important;

    filter:
        none !important;
}

.ps-detail-system-r1g--municipality
.ms-hero {
    padding:
        30px !important;

    border-radius:
        var(--ps-ds-radius-xl) !important;

    margin-bottom:
        18px !important;
}

.ps-detail-system-r1g--municipality
.ms-section {
    padding:
        28px !important;

    border-radius:
        var(--ps-ds-radius-xl) !important;
}

.ps-detail-system-r1g--municipality
.ms-eyebrow {
    display:
        inline-flex !important;

    align-items:
        center !important;

    min-height:
        30px !important;

    padding:
        0 13px !important;

    color:
        var(--ps-ds-text) !important;

    border:
        1px solid
        var(--ps-ds-gold) !important;

    border-radius:
        999px !important;

    background:
        transparent !important;
}

.ps-detail-system-r1g--municipality
.ms-title {
    margin:
        18px 0 12px !important;

    color:
        var(--ps-ds-text) !important;

    font-size:
        clamp(
            3rem,
            5.1vw,
            5rem
        ) !important;

    font-weight:
        700 !important;

    line-height:
        .96 !important;
}

.ps-detail-system-r1g--municipality
.ms-lead,

.ps-detail-system-r1g--municipality
.ms-section-head p,

.ps-detail-system-r1g--municipality
.ms-zone p {
    color:
        var(--ps-ds-muted) !important;
}

.ps-detail-system-r1g--municipality
.ms-summary {
    gap:
        12px !important;
}

.ps-detail-system-r1g--municipality
.ms-stat {
    min-height:
        88px !important;

    padding:
        16px 14px !important;

    background:
        linear-gradient(
            145deg,
            rgba(8, 38, 64, .98),
            rgba(8, 29, 49, .98)
        ) !important;

    border:
        1px solid
        var(--ps-ds-gold) !important;

    border-radius:
        20px !important;

    box-shadow:
        none !important;
}

.ps-detail-system-r1g--municipality
.ms-stat span {
    color:
        var(--ps-ds-muted) !important;
}

.ps-detail-system-r1g--municipality
.ms-zone {
    padding:
        17px 18px !important;

    background:
        linear-gradient(
            145deg,
            rgba(8, 38, 64, .96),
            rgba(6, 28, 48, .96)
        ) !important;

    border:
        1px solid
        var(--ps-ds-gold) !important;

    border-radius:
        var(--ps-ds-radius-md) !important;

    box-shadow:
        none !important;

    filter:
        none !important;
}


/*
|--------------------------------------------------------------------------
| INDUSTRIAL ZONE
|--------------------------------------------------------------------------
*/

.ps-detail-system-r1g--zone
.back-button-container {
    display:
        none !important;
}

.ps-detail-system-r1g--zone
.zone-header {
    display:
        grid !important;

    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(280px, .8fr) !important;

    gap:
        24px !important;

    align-items:
        center !important;

    margin:
        0 0 18px !important;

    padding:
        30px !important;

    background:
        linear-gradient(
            145deg,
            rgba(10, 41, 68, .98),
            rgba(5, 24, 41, .98)
        ) !important;

    border:
        1px solid
        var(--ps-ds-gold) !important;

    border-radius:
        var(--ps-ds-radius-xl) !important;

    box-shadow:
        none !important;
}

.ps-detail-system-r1g--zone
.zone-title h1 {
    margin:
        0 0 18px !important;

    color:
        var(--ps-ds-text) !important;

    font-size:
        clamp(
            3rem,
            5.1vw,
            5rem
        ) !important;

    font-weight:
        700 !important;

    line-height:
        .96 !important;

    letter-spacing:
        -.055em !important;
}

.ps-detail-system-r1g--zone
.zone-title > p {
    margin:
        16px 0 0 !important;

    color:
        var(--ps-ds-muted) !important;

    font-size:
        1rem !important;

    line-height:
        1.55 !important;
}

.ps-detail-system-r1g--zone
.zone-meta {
    display:
        grid !important;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(150px, 1fr)
        ) !important;

    gap:
        10px !important;

    margin-top:
        16px !important;
}

.ps-detail-system-r1g--zone
.zone-meta-item {
    min-height:
        66px !important;

    padding:
        12px 14px !important;

    display:
        flex !important;

    align-items:
        center !important;

    gap:
        9px !important;

    color:
        var(--ps-ds-muted) !important;

    background:
        rgba(7, 31, 52, .94) !important;

    border:
        1px solid
        var(--ps-ds-gold) !important;

    border-radius:
        var(--ps-ds-radius-md) !important;
}

.ps-detail-system-r1g--zone
.zone-meta-item i {
    color:
        var(--ps-ds-blue) !important;
}

.ps-detail-system-r1g--zone
.zone-actions {
    display:
        flex !important;

    flex-wrap:
        wrap !important;

    justify-content:
        flex-end !important;

    gap:
        10px !important;
}

.ps-detail-system-r1g--zone
.zone-content {
    display:
        block !important;

    width:
        100% !important;
}

.ps-detail-system-r1g--zone
.main-content {
    width:
        100% !important;

    display:
        grid !important;

    gap:
        18px !important;
}

.ps-detail-system-r1g--zone
:is(
    .info-card,
    .companies-section,
    .virtual-tours-section,
    .sidebar,
    .sidebar-card
) {
    margin:
        0 !important;

    padding:
        24px !important;

    color:
        var(--ps-ds-text) !important;

    background:
        linear-gradient(
            145deg,
            rgba(10, 41, 68, .96),
            rgba(5, 24, 41, .98)
        ) !important;

    border:
        1px solid
        var(--ps-ds-gold) !important;

    border-radius:
        var(--ps-ds-radius-lg) !important;

    box-shadow:
        none !important;

    filter:
        none !important;
}

.ps-detail-system-r1g--zone
.info-card h2,

.ps-detail-system-r1g--zone
.section-header h2 {
    margin:
        0 0 18px !important;

    color:
        var(--ps-ds-text) !important;
}

.ps-detail-system-r1g--zone
.info-grid {
    display:
        grid !important;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(190px, 1fr)
        ) !important;

    gap:
        12px !important;
}

.ps-detail-system-r1g--zone
.info-item {
    padding:
        15px !important;

    display:
        grid !important;

    gap:
        7px !important;

    background:
        rgba(6, 29, 49, .92) !important;

    border:
        1px solid
        var(--ps-ds-gold) !important;

    border-radius:
        var(--ps-ds-radius-md) !important;
}

.ps-detail-system-r1g--zone
.info-label {
    color:
        var(--ps-ds-soft) !important;

    font-size:
        .72rem !important;

    font-weight:
        700 !important;

    text-transform:
        uppercase !important;

    letter-spacing:
        .06em !important;
}

.ps-detail-system-r1g--zone
.info-value,

.ps-detail-system-r1g--zone
.info-card p {
    color:
        var(--ps-ds-muted) !important;
}

.ps-detail-system-r1g--zone
#industrial-zone-map {
    border:
        1px solid
        var(--ps-ds-gold) !important;

    border-radius:
        20px !important;

    overflow:
        hidden !important;
}

.ps-detail-system-r1g--zone
.companies-grid {
    display:
        grid !important;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(240px, 1fr)
        ) !important;

    gap:
        14px !important;
}

.ps-detail-system-r1g--zone
.company-card {
    overflow:
        hidden !important;

    background:
        rgba(6, 29, 49, .96) !important;

    border:
        1px solid
        var(--ps-ds-gold) !important;

    border-radius:
        20px !important;

    box-shadow:
        none !important;
}

.ps-detail-system-r1g--zone
.company-content {
    padding:
        16px !important;
}

.ps-detail-system-r1g--zone
.company-description,

.ps-detail-system-r1g--zone
.company-meta {
    color:
        var(--ps-ds-muted) !important;
}

.ps-detail-system-r1g--zone
.info-window-content {
    color:
        var(--ps-ds-text) !important;

    background:
        var(--ps-ds-panel-0) !important;

    border:
        1px solid
        var(--ps-ds-gold) !important;

    border-radius:
        20px !important;
}


/*
|--------------------------------------------------------------------------
| POLYGON COMPANIES DIRECTORY
|--------------------------------------------------------------------------
*/

.ps-detail-system-r1g--companies
.hero {
    margin:
        0 0 18px !important;

    padding:
        30px !important;

    overflow:
        hidden !important;

    background:
        linear-gradient(
            145deg,
            rgba(10, 41, 68, .98),
            rgba(5, 24, 41, .98)
        ) !important;

    border:
        1px solid
        var(--ps-ds-gold) !important;

    border-radius:
        var(--ps-ds-radius-xl) !important;

    box-shadow:
        none !important;

    filter:
        none !important;
}

.ps-detail-system-r1g--companies
.hero::before,

.ps-detail-system-r1g--companies
.hero::after {
    display:
        none !important;
}

.ps-detail-system-r1g--companies
.polygon-kicker-r1 {
    display:
        inline-flex !important;

    align-items:
        center !important;

    min-height:
        30px !important;

    padding:
        0 13px !important;

    color:
        var(--ps-ds-text) !important;

    background:
        transparent !important;

    border:
        1px solid
        var(--ps-ds-gold) !important;

    border-radius:
        999px !important;
}

.ps-detail-system-r1g--companies
.hero h1 {
    margin:
        18px 0 20px !important;

    color:
        var(--ps-ds-text) !important;

    font-size:
        clamp(
            3rem,
            5.1vw,
            5rem
        ) !important;

    font-weight:
        700 !important;

    line-height:
        .96 !important;

    letter-spacing:
        -.055em !important;
}

.ps-detail-system-r1g--companies
.stats {
    display:
        grid !important;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        ) !important;

    gap:
        12px !important;

    margin:
        0 !important;
}

.ps-detail-system-r1g--companies
.stat {
    min-height:
        86px !important;

    padding:
        16px 18px !important;

    background:
        rgba(7, 31, 52, .94) !important;

    border:
        1px solid
        var(--ps-ds-gold) !important;

    border-radius:
        20px !important;

    box-shadow:
        none !important;

    filter:
        none !important;
}

.ps-detail-system-r1g--companies
.stat strong {
    color:
        var(--ps-ds-text) !important;
}

.ps-detail-system-r1g--companies
.stat span {
    color:
        var(--ps-ds-muted) !important;
}

.ps-detail-system-r1g--companies
.toolbar {
    position:
        relative !important;

    top:
        auto !important;

    z-index:
        1 !important;

    margin:
        0 0 18px !important;

    padding:
        22px !important;

    background:
        linear-gradient(
            145deg,
            rgba(10, 41, 68, .96),
            rgba(5, 24, 41, .98)
        ) !important;

    border:
        1px solid
        var(--ps-ds-gold) !important;

    border-radius:
        var(--ps-ds-radius-lg) !important;

    box-shadow:
        none !important;

    backdrop-filter:
        none !important;

    -webkit-backdrop-filter:
        none !important;
}

.ps-detail-system-r1g--companies
.search {
    min-height:
        54px !important;

    color:
        var(--ps-ds-text) !important;

    background:
        rgba(4, 22, 38, .96) !important;

    border:
        1px solid
        var(--ps-ds-gold) !important;

    border-radius:
        18px !important;

    box-shadow:
        none !important;
}

.ps-detail-system-r1g--companies
.search::placeholder {
    color:
        rgba(210, 223, 235, .72) !important;
}

.ps-detail-system-r1g--companies
.company-search-lens-r1 {
    background:
        var(--ps-ds-blue) !important;

    color:
        #04111d !important;

    border:
        0 !important;

    box-shadow:
        none !important;

    filter:
        none !important;
}

.ps-detail-system-r1g--companies
.counter-pill {
    color:
        var(--ps-ds-text) !important;

    background:
        rgba(7, 31, 52, .94) !important;

    border:
        1px solid
        var(--ps-ds-gold) !important;

    box-shadow:
        none !important;
}

.ps-detail-system-r1g--companies
.grid {
    display:
        grid !important;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(230px, 1fr)
        ) !important;

    gap:
        12px !important;

    padding-bottom:
        40px !important;
}

.ps-detail-system-r1g--companies
.company,

.ps-detail-system-r1g--companies
article.company {
    height:
        auto !important;

    min-height:
        150px !important;

    max-height:
        none !important;

    padding:
        15px !important;

    color:
        var(--ps-ds-text) !important;

    background:
        linear-gradient(
            145deg,
            rgba(9, 38, 63, .98),
            rgba(5, 25, 42, .98)
        ) !important;

    border:
        1px solid
        var(--ps-ds-gold) !important;

    border-radius:
        20px !important;

    box-shadow:
        none !important;

    filter:
        none !important;

    transform:
        none !important;
}

.ps-detail-system-r1g--companies
.company:hover,

.ps-detail-system-r1g--companies
article.company:hover {
    transform:
        translateY(-2px) !important;

    border-color:
        var(--ps-ds-gold-strong) !important;

    box-shadow:
        none !important;
}

.ps-detail-system-r1g--companies
.company-title strong {
    color:
        var(--ps-ds-text) !important;
}

.ps-detail-system-r1g--companies
.company-title small,

.ps-detail-system-r1g--companies
.company-activity-line-r1 {
    color:
        var(--ps-ds-blue) !important;
}

.ps-detail-system-r1g--companies
.actions .action,

.ps-detail-system-r1g--companies
.company-actions .action {
    box-shadow:
        none !important;
}


/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
*/

@media (max-width: 767px) {

    .ps-detail-system-r1g,
    .ms-page.ps-detail-system-r1g,
    .page.ps-detail-system-r1g,
    .container.ps-detail-system-r1g {
        width:
            calc(100% - 20px) !important;

        padding:
            6px 0 40px !important;
    }

    .ps-detail-system-r1g--municipality
    .ms-hero,

    .ps-detail-system-r1g--zone
    .zone-header {
        grid-template-columns:
            1fr !important;

        padding:
            22px 18px !important;

        border-radius:
            22px !important;
    }

    .ps-detail-system-r1g--municipality
    .ms-title,

    .ps-detail-system-r1g--zone
    .zone-title h1,

    .ps-detail-system-r1g--companies
    .hero h1 {
        font-size:
            clamp(
                2.7rem,
                12vw,
                4rem
            ) !important;
    }

    .ps-detail-system-r1g--municipality
    .ms-summary,

    .ps-detail-system-r1g--companies
    .stats {
        grid-template-columns:
            1fr !important;
    }

    .ps-detail-system-r1g--zone
    .zone-actions {
        justify-content:
            flex-start !important;
    }

    .ps-detail-system-r1g--companies
    .hero,

    .ps-detail-system-r1g--companies
    .toolbar {
        padding:
            20px 16px !important;

        border-radius:
            22px !important;
    }

    .ps-detail-system-r1g--companies
    .search-wrap {
        grid-template-columns:
            1fr !important;
    }

    .ps-detail-system-r1g--companies
    .grid {
        grid-template-columns:
            1fr !important;
    }
}
