﻿/* ===== Page title (H1) ===== */
.browse-page h1.page-title {
    font-size: clamp(1.25rem, 0.9rem + 1vw, 1.75rem);
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--bs-body-color);
    margin: .25rem 0 .5rem 0;
}

    /* Optional extra-compact variant: add class="page-title page-title--compact" */
    .browse-page h1.page-title.page-title--compact {
        font-size: clamp(1.375rem, 0.95rem + 1vw, 2rem); /* ~22→32px */
    }

    /* Optional: highlight just the place name */
    .browse-page h1.page-title .hl {
        box-shadow: inset 0 -0.3em 0 rgba(var(--bs-primary-rgb,13,110,253), .20);
    }

    /* Meta pill (e.g., “16 cities”) */
    .browse-page h1.page-title .title-meta {
        display: inline-block;
        font-size: .875rem;
        font-weight: 600;
        color: var(--bs-secondary-color);
        background: var(--bs-tertiary-bg);
        border: 1px solid var(--bs-border-color);
        border-radius: 999px;
        padding: .15rem .5rem;
        margin-left: .5rem;
        vertical-align: middle;
        white-space: nowrap;
    }


/* Optional highlight inside the H1 for the geography (“WI”, “Columbia County”, etc.) */
.browse-page h1.page-title .hl {
    color: var(--bs-primary);
}


/* Muted intro paragraph placed under H1 */
.browse-page .page-intro {
    max-width: 70ch;
    color: var(--bs-secondary-color);
    margin: 0 0 1rem 0;
    text-wrap: balance;
}
/* Spacing harmony with segmented control that follows */
.browse-page .seg-nav {
    margin-top: .25rem;
}

/* Small-screen tweaks */
@media (max-width: 576px) {
    .browse-page h1.page-title {
        margin-bottom: .5rem;
    }
}

/* Dark mode polish (optional) */
@media (prefers-color-scheme: dark) {
    .browse-page h1.page-title .title-meta {
        background: rgba(255,255,255,.06);
    }
}

/* ===== Browse pages (scope) ===== */
.browse-page .breadcrumb {
    font-size: .875rem;
    color: var(--bs-secondary-color);
    margin-bottom: .5rem;
}

    .browse-page .breadcrumb a {
        color: var(--bs-secondary-color);
        text-decoration: none;
    }

        .browse-page .breadcrumb a:hover {
            text-decoration: underline;
        }

/* ===== Segmented control (Overview | Cities | Waterfront) ===== */
.browse-page .seg-group {
    display: inline-flex;
    gap: 0; /* tight joins */
    border: 1px solid var(--bs-border-color);
    border-radius: 999px;
    background-color: var(--bs-body-bg);
    box-shadow: 0 1px 2px rgba(0,0,0,.06);
    overflow: hidden; /* clip radii between segments */
}

.browse-page .seg-link {
    display: inline-flex;
    align-items: center;
    padding: .5rem 1rem;
    font-weight: 600;
    color: var(--bs-body-color);
    text-decoration: none;
    background: transparent;
    border-right: 1px solid var(--bs-border-color);
    line-height: 1.2;
    transition: background-color .15s ease, color .15s ease;
}

    .browse-page .seg-link:last-child {
        border-right: 0;
    }

    .browse-page .seg-link:hover {
        background-color: var(--bs-tertiary-bg);
    }

    .browse-page .seg-link:focus-visible {
        outline: 2px solid var(--bs-primary);
        outline-offset: 2px;
        z-index: 1;
    }

    /* Active segment */
    .browse-page .seg-link.active {
        background-color: var(--bs-primary);
        color: #fff;
        pointer-events: none; /* no click on current */
    }

        .browse-page .seg-link.active .badge {
            background: rgba(255,255,255,.25);
            color: #fff;
        }

    /* Count badges inside segments */
    .browse-page .seg-link .badge {
        font-weight: 600;
        background: rgba(0,0,0,.06);
        color: inherit;
        margin-left: .5rem;
    }

/* Optional: make the segments sticky on mobile under the header */
@media (max-width: 576px) {
    .browse-page .seg-sticky { /* add seg-sticky to the container if you want this behavior */
        position: sticky;
        top: .5rem;
        z-index: 1010;
        background: var(--bs-body-bg);
        padding-top: .25rem;
        padding-bottom: .25rem;
    }

    .browse-page .seg-group {
        flex-wrap: wrap;
    }

    .browse-page .seg-link {
        flex: 1 1 100%;
        justify-content: center;
        border-right: 0;
        border-bottom: 1px solid var(--bs-border-color);
    }

        .browse-page .seg-link:last-child {
            border-bottom: 0;
        }
}

/* ===== Result toolbar (List / Map and optional controls) ===== */
.browse-page .view-toolbar {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: 1rem;
}

    .browse-page .view-toolbar .btn.active,
    .browse-page .view-toolbar .btn[aria-current="true"] {
        box-shadow: inset 0 0 0 1px rgba(255,255,255,.25);
    }

/* ===== Lists ===== */
.browse-page .browse-list {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

    .browse-page .browse-list li {
        margin-bottom: .25rem;
    }

/* ===== Results list (replace inline style with class="results-list") ===== */
.browse-page .results-list {
    list-style: none;
    padding-left: 0;
    margin: .25rem 0 0 0;
}

    .browse-page .results-list > li {
        padding: .25rem 0;
    }

        .browse-page .results-list > li:last-child {
            border-bottom: 0;
        }

    .browse-page .results-list a {
        text-decoration: underline;
        text-decoration-thickness: .06em;
        text-underline-offset: .18em;
    }

        .browse-page .results-list a:hover {
            text-decoration-thickness: .1em;
        }

/* ===== Dark-mode polish (optional) ===== */
@media (prefers-color-scheme: dark) {
    .browse-page .seg-group {
        box-shadow: 0 1px 2px rgba(0,0,0,.4);
    }

    .browse-page .seg-link .badge {
        background: rgba(255,255,255,.08);
    }
}
