/* Matches the existing ParlayGeeks light-content / green-accent visual system. */
.pg-builder {
    --pg-bg: #f6f8fa;
    --pg-panel: #fff;
    --pg-line: #e1e7eb;
    --pg-muted: #64748b;
    --pg-accent: #15803d;
    background: var(--pg-bg);
    color: #10251b;
    min-height: 80vh
}

    .pg-builder .pg-muted {
        color: var(--pg-muted)
    }

    .pg-builder .pg-hero {
        padding: 2rem;
        border-radius: 18px;
        background: radial-gradient(circle at 20% 10%,#14532d 0%,transparent 50%),linear-gradient(115deg,#071a18,#08131d);
        color: #fff;
        border: 1px solid #1b4034
    }

        .pg-builder .pg-hero .pg-muted {
            color: #c0d4cb
        }

    .pg-builder .pg-eyebrow {
        font-size: .72rem;
        letter-spacing: .14em;
        color: #80e3a5;
        font-weight: 800;
        margin-bottom: .55rem
    }

    .pg-builder .pg-book, .pg-builder .pg-count {
        font-size: .78rem;
        font-weight: 700;
        border-radius: 100px;
        padding: .4rem .8rem;
        background: #e4f6e9;
        color: #166534
    }

    .pg-builder .pg-dk-logo {
        width: 30px;
        height: 30px;
        object-fit: contain
    }

    .pg-builder .pg-panel, .pg-builder .pg-event {
        border: 1px solid var(--pg-line);
        background: var(--pg-panel);
        border-radius: 16px;
        box-shadow: 0 12px 30px rgba(12,36,26,.045)
    }

    .pg-builder .pg-event {
        padding: 1rem
    }

    .pg-builder .pg-event-header {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: .45rem;
        width: 100%;
    }

        /* Overrides the previous :last-child { margin-left: auto } patch. */
        .pg-builder .pg-event-header > :last-child {
            margin-left: 0;
        }

        /* Overrides the existing flex: 1, which pushes the home logo right. */
        .pg-builder .pg-event-header .pg-event-title {
            flex: 0 1 auto;
            min-width: 0;
        }

    .pg-builder .pg-team-logo {
        width: 38px;
        height: 38px;
        flex: none;
        border-radius: 50%;
        display: grid;
        place-items: center;
        background: #eaf3ed;
        position: relative;
        overflow: hidden
    }

        .pg-builder .pg-team-logo img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            position: absolute;
            inset: 0
        }

    .pg-builder .pg-team-initials {
        font-size: .65rem;
        font-weight: 800;
        color: #26764a
    }

    .pg-builder .form-label {
        font-size: .83rem;
        font-weight: 700
    }

    .pg-builder .form-select, .pg-builder .form-control {
        background: #fff;
        border: 1px solid #cbd5d1;
        color: #152a21;
        border-radius: 9px
    }

        .pg-builder .form-select:focus, .pg-builder .form-control:focus {
            background: #fff;
            color: #152a21;
            border-color: #16a34a;
            box-shadow: 0 0 0 .18rem #16a34a22
        }

        .pg-builder .form-control::placeholder {
            color: #89968f
        }

    .pg-builder .pg-outcomes {
        display: grid;
        grid-template-columns: repeat(auto-fit,minmax(135px,1fr));
        gap: .65rem;
        margin-top: 1rem
    }

    .pg-builder .pg-outcome {
        border: 1px solid #dce6df;
        background: #f8fbf9;
        border-radius: 10px;
        color: #152b20;
        text-align: left;
        padding: .75rem;
        min-height: 75px
    }

        .pg-builder .pg-outcome:hover, .pg-builder .pg-outcome.is-selected {
            border-color: #16a34a;
            background: #e8f8ed
        }

        .pg-builder .pg-outcome strong {
            display: block;
            color: #15803d;
            margin-top: .35rem
        }

    .pg-builder .pg-leg {
        border-bottom: 1px solid var(--pg-line);
        padding: .8rem 0
    }

        .pg-builder .pg-leg:last-child {
            border-bottom: 0
        }

    .pg-builder .pg-leg-name {
        font-weight: 700
    }

    .pg-builder .pg-rule {
        border-color: var(--pg-line)
    }

    .pg-builder .pg-totals > div {
        display: flex;
        justify-content: space-between;
        gap: 1rem;
        margin: .65rem 0
    }

    .pg-builder .pg-payout {
        border-top: 1px solid var(--pg-line);
        padding-top: 1rem;
        font-size: 1.13rem
    }

        .pg-builder .pg-payout strong {
            color: #15803d
        }

    .pg-builder .pg-primary {
        background: #15803d;
        color: #fff;
        font-weight: 750;
        border: 0;
        padding: .85rem
    }

        .pg-builder .pg-primary:hover {
            background: #166534;
            color: #fff
        }

    .pg-builder .pg-slip {
        position: sticky;
        top: 1.25rem
    }

    .pg-builder .btn-outline-light {
        border-color: #b8c9bf;
        color: #234a33
    }

        .pg-builder .btn-outline-light:hover {
            background: #e6f3e9;
            color: #14532d
        }

    .pg-builder .pg-hero .btn-outline-light {
        border-color: #9cb8a8;
        color: #fff
    }

        .pg-builder .pg-hero .btn-outline-light:hover {
            color: #14532d
        }
    /* Parlay Builder: compact team logos and league/matchup in the slip. */
    .pg-builder .pg-slip-identity {
        display: flex;
        align-items: center;
        gap: .65rem;
        min-width: 0;
        flex: 1
    }

    .pg-builder .pg-slip-team-logos {
        display: inline-flex;
        align-items: center;
        flex: none;
        gap: 2px
    }

        .pg-builder .pg-slip-team-logos .pg-team-logo {
            width: 27px;
            height: 27px
        }

        .pg-builder .pg-slip-team-logos .pg-team-initials {
            font-size: .55rem
        }

    .pg-builder .pg-slip-leg-info {
        min-width: 0
    }

        .pg-builder .pg-slip-leg-info .pg-leg-name {
            overflow-wrap: anywhere
        }

    .pg-builder .pg-event-title {
        min-width: 0
    }

.pg-matchup {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: .75rem;
}

.pg-matchup-team {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    font-weight: 700;
    color: #0f172a;
}

.pg-team-logo {
    width: 36px;
    height: 36px;
    object-fit: contain;
    flex-shrink: 0;
}

.pg-team-fallback {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #e8f5ec;
    color: #15803d;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .75rem;
    font-weight: 800;
}

.pg-matchup-vs {
    font-size: .7rem;
    font-weight: 800;
    color: #94a3b8;
}

@media(max-width:991px) {
    .pg-builder .pg-slip {
        position: static
    }

    .pg-builder .pg-hero {
        padding: 1.15rem
    }
}
