.reid-property-tabs {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    font-size: 13px;
    color: #333;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    padding: 1.25rem;
    background: #fff;
}

.reid-pt-map-sticky {
    position: sticky;
    top: 0;
    z-index: 10;
    background: #f7f8fa;
    padding-bottom: 0.25rem;
}

.reid-pt-map {
    width: 100%;
    height: min(420px, 45vh);
    min-height: 200px;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
    margin-bottom: 0;
    background: #f0f0f0;
}

/* ── Main accordion ── */
.reid-pt-accordion {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
}

.reid-pt-section {
    border-bottom: 1px solid #e0e0e0;
}
.reid-pt-section:last-child { border-bottom: none; }

.reid-pt-section > summary {
    cursor: pointer;
    padding: 0.85rem 1rem;
    font-weight: 600;
    list-style: none;
    color: #333;
    background: #fafafa;
    border-left: 4px solid #1a73e8;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: background 0.15s, color 0.15s;
}
.reid-pt-section > summary:hover { background: #f0f3f5; }
.reid-pt-section > summary::-webkit-details-marker { display: none; }

.reid-pt-dot {
    display: inline-block;
    width: 10px; height: 10px;
    border-radius: 50%;
}

.reid-pt-body {
    padding: 0.75rem;
    color: #333;
    background: #f7f8fa;
}

/* ── Sub-accordion (Schools, Shops, etc.) ── */
.reid-pt-subsection {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    margin-bottom: 0.6rem;
    overflow: hidden;
    background: #fff;
}
.reid-pt-subsection:last-child { margin-bottom: 0; }

.reid-pt-sub-summary {
    cursor: pointer;
    padding: 0.65rem 0.85rem;
    font-weight: 600;
    font-size: 0.92rem;
    list-style: none;
    color: #333;
    background: #f4f5f7;
    border-left: 3px solid #1a73e8;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    transition: background 0.15s;
}
.reid-pt-sub-summary:hover { background: #eaecef; }
.reid-pt-sub-summary::-webkit-details-marker { display: none; }

.reid-pt-sub-dot {
    display: inline-block;
    width: 8px; height: 8px;
    border-radius: 50%;
}

.reid-pt-sub-count {
    margin-left: auto;
    font-size: 0.75rem;
    font-weight: 700;
    color: #888;
    background: #e8e8e8;
    border-radius: 10px;
    padding: 0.1rem 0.5rem;
}

.reid-pt-sub-body {
    padding: 0.75rem;
}

/* ── Toggle button ── */
.reid-pt-toggle-bar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 0.6rem;
}
.reid-pt-toggle-all {
    padding: 0.3rem 0.75rem;
    font-size: 0.78rem;
    font-weight: 600;
    border: 1px solid #c0c0c0;
    border-radius: 6px;
    background: #fff;
    color: #444;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}
.reid-pt-toggle-all:hover {
    background: #f0f0f0;
    border-color: #999;
}

/* ── Empty states ── */
.reid-pt-empty,
.reid-pt-empty-section {
    color: #666;
    font-style: italic;
    margin: 0;
}

/* ── Card grid ── */
.reid-pt-list {
    list-style: none;
    margin: 0; padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 0.75rem;
}

.reid-pt-item {
    display: grid;
    grid-template-columns: 38px 1fr auto;
    grid-template-rows: auto auto;
    align-items: center;
    gap: 0.25rem 0.5rem;
    padding: 0.75rem;
    border-radius: 10px;
    cursor: pointer;
    background: #fff;
    border: 1px solid #e0e0e0;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    transition: background 0.15s, box-shadow 0.15s, opacity 0.2s;
}
.reid-pt-item:hover {
    background: #f5f8fb;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.reid-pt-item.reid-pt-active {
    background: #e8f0fe;
    border-color: #a8c7fa;
}
.reid-pt-item.reid-pt-inactive {
    opacity: 0.5;
    background: #f8f8f8;
}
.reid-pt-item.reid-pt-inactive .reid-pt-pin { background: #aaa !important; }

.reid-pt-pin {
    grid-row: 1 / -1;
    align-self: center;
    position: relative;
    display: inline-flex;
    align-items: center; justify-content: center;
    width: 26px; height: 34px;
    color: #fff;
    font-weight: 700;
    font-size: 0.78rem;
    background: #1a73e8;
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
    box-shadow: 0 1px 4px rgba(0,0,0,0.3);
    transition: background 0.2s;
}
.reid-pt-pin span {
    display: block;
    transform: rotate(45deg);
}

.reid-pt-name {
    grid-column: 2;
    grid-row: 1;
    font-weight: 500;
    color: #222;
    line-height: 1.3;
}

.reid-pt-addr {
    grid-column: 2;
    grid-row: 2;
    font-size: 0.82rem;
    color: #666;
    line-height: 1.3;
}

.reid-pt-dist {
    grid-column: 3;
    grid-row: 2;
    font-size: 0.82rem;
    color: #888;
    white-space: nowrap;
}

.reid-pt-kv {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 0.25rem 1rem;
    margin: 0 0 0.25rem;
}
.reid-pt-kv dt { font-weight: 500; color: #555; }
.reid-pt-kv dd { margin: 0; color: #222; }

/* ── Map / Street View tabs ── */
.reid-pt-map-tabs {
    display: flex;
    gap: 0;
    margin-bottom: 0;
}
.reid-pt-map-tab {
    flex: 1;
    padding: 0.5rem 1rem;
    font-size: 0.88rem;
    font-weight: 600;
    border: 1px solid #e0e0e0;
    border-bottom: none;
    background: #eee;
    color: #666;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}
.reid-pt-map-tab:first-child { border-radius: 8px 0 0 0; }
.reid-pt-map-tab:last-child { border-radius: 0 8px 0 0; }
.reid-pt-map-tab-active {
    background: #fff;
    color: #333;
    border-bottom-color: transparent;
}
.reid-pt-map-tab:hover:not(.reid-pt-map-tab-active) {
    background: #f5f5f5;
}

.reid-pt-streetview {
    width: 100%;
    height: min(420px, 45vh);
    min-height: 200px;
    border-radius: 0 0 8px 8px;
    border: 1px solid #e0e0e0;
    border-top: none;
    background: #f0f0f0;
}
.reid-pt-streetview .reid-pt-sv-unavailable {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #888;
    font-style: italic;
    font-size: 0.95rem;
}

/* When tabs present, remove map top border-radius */
.reid-pt-map-tabs + .reid-pt-map {
    border-radius: 0;
    border-top: none;
}

/* ── Street View button on cards ── */
.reid-pt-sv-btn {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    padding: 0.2rem 0.45rem;
    font-size: 1rem;
    line-height: 1;
    border: 1px solid #c0c0c0;
    border-radius: 6px;
    background: #fff;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}
.reid-pt-sv-btn:hover {
    background: #e3f2fd;
    border-color: #1a73e8;
}

.reid-pt-map-guide {
    text-align: center;
    font-size: 0.92rem;
    color: #1b5e20;
    background: #e8f5e9;
    border: 1px solid #a5d6a7;
    border-radius: 8px;
    padding: 0.65rem 1rem;
    margin: 0.5rem 0 1rem;
    font-weight: 500;
    line-height: 1.4;
}

.reid-pt-text {
    line-height: 1.5;
    color: #333;
}

/* ── Schools & Ofsted ── */
.reid-pt-school-item {
    grid-template-columns: 38px 1fr;
    grid-template-rows: auto;
}
.reid-pt-school-detail {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}
.reid-pt-ofsted {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.15rem 0.55rem;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.reid-pt-ofsted-outstanding { background: #1b5e20; color: #fff; }
.reid-pt-ofsted-good { background: #2e7d32; color: #fff; }
.reid-pt-ofsted-requires-improvement { background: #e65100; color: #fff; }
.reid-pt-ofsted-inadequate { background: #b71c1c; color: #fff; }
.reid-pt-school-meta {
    font-size: 0.8rem;
    color: #666;
}
.reid-pt-school-inspected {
    font-size: 0.75rem;
    color: #888;
}
.reid-pt-school-links {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.15rem;
}
.reid-pt-link {
    font-size: 0.78rem;
    color: #1a73e8;
    text-decoration: none;
    font-weight: 500;
}
.reid-pt-link:hover { text-decoration: underline; }

/* ── Sold Prices ── */
.reid-pt-sold-stats {
    margin-bottom: 1rem;
    padding: 0.75rem;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
}
.reid-pt-stats-title {
    font-size: 0.95rem;
    font-weight: 600;
    margin: 0 0 0.5rem;
    color: #333;
}
.reid-pt-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 0.5rem;
}
.reid-pt-stat {
    display: flex;
    flex-direction: column;
    padding: 0.5rem 0.65rem;
    background: #f7f8fa;
    border-radius: 6px;
    border: 1px solid #eee;
}
.reid-pt-stat-value {
    font-weight: 700;
    font-size: 1rem;
    color: #222;
}
.reid-pt-stat-label {
    font-size: 0.72rem;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-top: 0.15rem;
}
.reid-pt-yoy {
    margin-top: 0.5rem;
    font-size: 0.88rem;
}
.reid-pt-change-up { color: #2e7d32; font-weight: 600; }
.reid-pt-change-down { color: #c62828; font-weight: 600; }
.reid-pt-yoy-detail { color: #888; font-size: 0.8rem; }
.reid-pt-by-type { margin-top: 0.6rem; }
.reid-pt-by-type h5 { font-size: 0.82rem; font-weight: 600; margin: 0 0 0.35rem; color: #555; }
.reid-pt-type-chips { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.reid-pt-type-chip {
    display: inline-block;
    font-size: 0.78rem;
    padding: 0.2rem 0.6rem;
    background: #e8f0fe;
    border-radius: 12px;
    color: #333;
}
.reid-pt-sold-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}
.reid-pt-sold-table th {
    text-align: left;
    padding: 0.5rem 0.6rem;
    background: #f4f5f7;
    font-weight: 600;
    color: #555;
    border-bottom: 2px solid #e0e0e0;
}
.reid-pt-sold-table td {
    padding: 0.45rem 0.6rem;
    border-bottom: 1px solid #eee;
    color: #333;
}
.reid-pt-sold-table tr:hover td { background: #f9fafb; }
.reid-pt-price { font-weight: 600; white-space: nowrap; }
.reid-pt-sold-price {
    font-weight: 700;
    font-size: 0.9rem;
    color: #c62828;
}
.reid-pt-sold-date {
    font-size: 0.8rem;
    color: #888;
}
.reid-pt-sold-meta {
    font-size: 0.78rem;
    color: #666;
}
.reid-pt-source {
    font-size: 0.72rem;
    color: #999;
    text-align: right;
    margin-top: 0.75rem;
    font-style: italic;
}

/* ── Broadband ── */
.reid-pt-bb-summary {
    margin-bottom: 1rem;
    padding: 0.75rem;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
}
.reid-pt-bb-openreach {
    margin-bottom: 1rem;
    padding: 0.6rem 0.75rem;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
}
.reid-pt-bb-openreach h5 {
    font-size: 0.85rem;
    font-weight: 600;
    margin: 0 0 0.35rem;
    color: #555;
}
.reid-pt-bb-checks {
    font-size: 0.85rem;
    line-height: 1.6;
    color: #333;
}
.reid-pt-bb-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}
.reid-pt-bb-table th {
    text-align: left;
    padding: 0.5rem 0.6rem;
    background: #f4f5f7;
    font-weight: 600;
    color: #555;
    border-bottom: 2px solid #e0e0e0;
}
.reid-pt-bb-table td {
    padding: 0.45rem 0.6rem;
    border-bottom: 1px solid #eee;
    color: #333;
}
.reid-pt-bb-table tr:hover td { background: #f9fafb; }
.reid-pt-bb-provider strong { color: #222; }
.reid-pt-bb-provider small { color: #888; }
.reid-pt-bb-item {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}
.reid-pt-bb-meta {
    font-size: 0.8rem;
    color: #666;
}

/* ── Dark theme ── */
[data-bs-theme="dark"] .reid-property-tabs,
[data-theme="dark"] .reid-property-tabs,
.dark-mode .reid-property-tabs {
    color: #e0e0e0;
    background: #1e1e1e;
    border-color: #444;
}
[data-bs-theme="dark"] .reid-pt-map-sticky,
[data-theme="dark"] .reid-pt-map-sticky,
.dark-mode .reid-pt-map-sticky {
    background: #1e1e1e;
}
[data-bs-theme="dark"] .reid-pt-map,
[data-theme="dark"] .reid-pt-map,
.dark-mode .reid-pt-map {
    border-color: #444;
    background: #1a1a1a;
}
[data-bs-theme="dark"] .reid-pt-accordion,
[data-theme="dark"] .reid-pt-accordion,
.dark-mode .reid-pt-accordion {
    border-color: #444;
}
[data-bs-theme="dark"] .reid-pt-section,
[data-theme="dark"] .reid-pt-section,
.dark-mode .reid-pt-section {
    border-color: #444;
}
[data-bs-theme="dark"] .reid-pt-section > summary,
[data-theme="dark"] .reid-pt-section > summary,
.dark-mode .reid-pt-section > summary {
    color: #f0f0f0;
    background: #2a2a2a;
}
[data-bs-theme="dark"] .reid-pt-section > summary:hover,
[data-theme="dark"] .reid-pt-section > summary:hover,
.dark-mode .reid-pt-section > summary:hover {
    background: #353535;
}
[data-bs-theme="dark"] .reid-pt-body,
[data-theme="dark"] .reid-pt-body,
.dark-mode .reid-pt-body {
    color: #ddd;
    background: #1e1e1e;
}
[data-bs-theme="dark"] .reid-pt-subsection,
[data-theme="dark"] .reid-pt-subsection,
.dark-mode .reid-pt-subsection {
    border-color: #444;
    background: #242424;
}
[data-bs-theme="dark"] .reid-pt-sub-summary,
[data-theme="dark"] .reid-pt-sub-summary,
.dark-mode .reid-pt-sub-summary {
    color: #e0e0e0;
    background: #2e2e2e;
}
[data-bs-theme="dark"] .reid-pt-sub-summary:hover,
[data-theme="dark"] .reid-pt-sub-summary:hover,
.dark-mode .reid-pt-sub-summary:hover {
    background: #3a3a3a;
}
[data-bs-theme="dark"] .reid-pt-sub-count,
[data-theme="dark"] .reid-pt-sub-count,
.dark-mode .reid-pt-sub-count {
    color: #aaa;
    background: #444;
}
[data-bs-theme="dark"] .reid-pt-sub-body,
[data-theme="dark"] .reid-pt-sub-body,
.dark-mode .reid-pt-sub-body {
    background: #242424;
}
[data-bs-theme="dark"] .reid-pt-item,
[data-theme="dark"] .reid-pt-item,
.dark-mode .reid-pt-item {
    background: #2a2a2a;
    border-color: #444;
    box-shadow: 0 1px 4px rgba(0,0,0,0.2);
}
[data-bs-theme="dark"] .reid-pt-item:hover,
[data-theme="dark"] .reid-pt-item:hover,
.dark-mode .reid-pt-item:hover {
    background: #333;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
[data-bs-theme="dark"] .reid-pt-item.reid-pt-active,
[data-theme="dark"] .reid-pt-item.reid-pt-active,
.dark-mode .reid-pt-item.reid-pt-active {
    background: #1a3a5c;
    border-color: #3b6fa0;
}
[data-bs-theme="dark"] .reid-pt-item.reid-pt-inactive,
[data-theme="dark"] .reid-pt-item.reid-pt-inactive,
.dark-mode .reid-pt-item.reid-pt-inactive {
    background: #222;
}
[data-bs-theme="dark"] .reid-pt-name,
[data-theme="dark"] .reid-pt-name,
.dark-mode .reid-pt-name { color: #f0f0f0; }
[data-bs-theme="dark"] .reid-pt-addr,
[data-theme="dark"] .reid-pt-addr,
.dark-mode .reid-pt-addr { color: #aaa; }
[data-bs-theme="dark"] .reid-pt-dist,
[data-theme="dark"] .reid-pt-dist,
.dark-mode .reid-pt-dist { color: #999; }
[data-bs-theme="dark"] .reid-pt-pin,
[data-theme="dark"] .reid-pt-pin,
.dark-mode .reid-pt-pin { color: #fff; }
[data-bs-theme="dark"] .reid-pt-kv dt,
[data-theme="dark"] .reid-pt-kv dt,
.dark-mode .reid-pt-kv dt { color: #aaa; }
[data-bs-theme="dark"] .reid-pt-kv dd,
[data-theme="dark"] .reid-pt-kv dd,
.dark-mode .reid-pt-kv dd { color: #e0e0e0; }
[data-bs-theme="dark"] .reid-pt-text,
[data-theme="dark"] .reid-pt-text,
.dark-mode .reid-pt-text { color: #ddd; }
[data-bs-theme="dark"] .reid-pt-empty,
[data-bs-theme="dark"] .reid-pt-empty-section,
[data-theme="dark"] .reid-pt-empty,
[data-theme="dark"] .reid-pt-empty-section,
.dark-mode .reid-pt-empty,
.dark-mode .reid-pt-empty-section { color: #999; }
[data-bs-theme="dark"] .reid-pt-toggle-all,
[data-theme="dark"] .reid-pt-toggle-all,
.dark-mode .reid-pt-toggle-all {
    background: #333;
    color: #ddd;
    border-color: #555;
}
[data-bs-theme="dark"] .reid-pt-toggle-all:hover,
[data-theme="dark"] .reid-pt-toggle-all:hover,
.dark-mode .reid-pt-toggle-all:hover {
    background: #444;
    border-color: #777;
}
[data-bs-theme="dark"] .reid-pt-map-guide,
[data-theme="dark"] .reid-pt-map-guide,
.dark-mode .reid-pt-map-guide {
    color: #a5d6a7;
    background: #1b3a1e;
    border-color: #2e7d32;
}
[data-bs-theme="dark"] .reid-pt-map-tab,
[data-theme="dark"] .reid-pt-map-tab,
.dark-mode .reid-pt-map-tab {
    background: #2a2a2a;
    color: #aaa;
    border-color: #444;
}
[data-bs-theme="dark"] .reid-pt-map-tab-active,
[data-theme="dark"] .reid-pt-map-tab-active,
.dark-mode .reid-pt-map-tab-active {
    background: #1e1e1e;
    color: #f0f0f0;
}
[data-bs-theme="dark"] .reid-pt-streetview,
[data-theme="dark"] .reid-pt-streetview,
.dark-mode .reid-pt-streetview {
    border-color: #444;
    background: #1a1a1a;
}
[data-bs-theme="dark"] .reid-pt-sv-btn,
[data-theme="dark"] .reid-pt-sv-btn,
.dark-mode .reid-pt-sv-btn {
    background: #333;
    color: #ddd;
    border-color: #555;
}
[data-bs-theme="dark"] .reid-pt-sv-btn:hover,
[data-theme="dark"] .reid-pt-sv-btn:hover,
.dark-mode .reid-pt-sv-btn:hover {
    background: #1a3a5c;
    border-color: #3b6fa0;
}
/* Dark: Schools */
[data-bs-theme="dark"] .reid-pt-school-meta,
[data-theme="dark"] .reid-pt-school-meta,
.dark-mode .reid-pt-school-meta { color: #aaa; }
[data-bs-theme="dark"] .reid-pt-school-inspected,
[data-theme="dark"] .reid-pt-school-inspected,
.dark-mode .reid-pt-school-inspected { color: #999; }
[data-bs-theme="dark"] .reid-pt-link,
[data-theme="dark"] .reid-pt-link,
.dark-mode .reid-pt-link { color: #90caf9; }
/* Dark: Sold Prices & Broadband */
[data-bs-theme="dark"] .reid-pt-sold-stats,
[data-bs-theme="dark"] .reid-pt-bb-summary,
[data-bs-theme="dark"] .reid-pt-bb-openreach,
[data-theme="dark"] .reid-pt-sold-stats,
[data-theme="dark"] .reid-pt-bb-summary,
[data-theme="dark"] .reid-pt-bb-openreach,
.dark-mode .reid-pt-sold-stats,
.dark-mode .reid-pt-bb-summary,
.dark-mode .reid-pt-bb-openreach {
    background: #2a2a2a;
    border-color: #444;
}
[data-bs-theme="dark"] .reid-pt-stats-title,
[data-theme="dark"] .reid-pt-stats-title,
.dark-mode .reid-pt-stats-title { color: #f0f0f0; }
[data-bs-theme="dark"] .reid-pt-stat,
[data-theme="dark"] .reid-pt-stat,
.dark-mode .reid-pt-stat { background: #333; border-color: #444; }
[data-bs-theme="dark"] .reid-pt-stat-value,
[data-theme="dark"] .reid-pt-stat-value,
.dark-mode .reid-pt-stat-value { color: #f0f0f0; }
[data-bs-theme="dark"] .reid-pt-sold-table th,
[data-bs-theme="dark"] .reid-pt-bb-table th,
[data-theme="dark"] .reid-pt-sold-table th,
[data-theme="dark"] .reid-pt-bb-table th,
.dark-mode .reid-pt-sold-table th,
.dark-mode .reid-pt-bb-table th {
    background: #333;
    color: #ccc;
    border-color: #555;
}
[data-bs-theme="dark"] .reid-pt-sold-table td,
[data-bs-theme="dark"] .reid-pt-bb-table td,
[data-theme="dark"] .reid-pt-sold-table td,
[data-theme="dark"] .reid-pt-bb-table td,
.dark-mode .reid-pt-sold-table td,
.dark-mode .reid-pt-bb-table td {
    color: #ddd;
    border-color: #444;
}
[data-bs-theme="dark"] .reid-pt-sold-table tr:hover td,
[data-bs-theme="dark"] .reid-pt-bb-table tr:hover td,
[data-theme="dark"] .reid-pt-sold-table tr:hover td,
[data-theme="dark"] .reid-pt-bb-table tr:hover td,
.dark-mode .reid-pt-sold-table tr:hover td,
.dark-mode .reid-pt-bb-table tr:hover td {
    background: #363636;
}
[data-bs-theme="dark"] .reid-pt-type-chip,
[data-theme="dark"] .reid-pt-type-chip,
.dark-mode .reid-pt-type-chip { background: #1a3a5c; color: #ccc; }
[data-bs-theme="dark"] .reid-pt-source,
[data-theme="dark"] .reid-pt-source,
.dark-mode .reid-pt-source { color: #777; }
[data-bs-theme="dark"] .reid-pt-bb-checks,
[data-theme="dark"] .reid-pt-bb-checks,
.dark-mode .reid-pt-bb-checks { color: #ddd; }
[data-bs-theme="dark"] .reid-pt-bb-openreach h5,
[data-theme="dark"] .reid-pt-bb-openreach h5,
.dark-mode .reid-pt-bb-openreach h5 { color: #ccc; }

/* ── Demographics ── */
.reid-pt-demo-subheading {
    font-size: 0.88rem;
    font-weight: 600;
    margin: 0.85rem 0 0.4rem;
    color: #444;
}
.reid-pt-demo-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.reid-pt-demo-bar-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.3rem 0;
    border-bottom: 1px solid #f0f0f0;
}
.reid-pt-demo-bar-row:last-child { border-bottom: none; }
.reid-pt-demo-range {
    flex: 0 0 120px;
    font-size: 0.82rem;
    font-weight: 500;
    color: #444;
}
.reid-pt-demo-bar-wrap {
    flex: 1;
    height: 14px;
    background: #eee;
    border-radius: 7px;
    overflow: hidden;
}
.reid-pt-demo-bar {
    height: 100%;
    border-radius: 7px;
    transition: width 0.3s ease;
    min-width: 2px;
}
.reid-pt-demo-pct {
    flex: 0 0 48px;
    font-size: 0.82rem;
    font-weight: 600;
    text-align: right;
    color: #333;
}
.reid-pt-demo-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.25rem;
}
.reid-pt-demo-chip {
    display: inline-block;
    font-size: 0.78rem;
    padding: 0.2rem 0.6rem;
    background: #e8f0fe;
    border-radius: 12px;
    color: #333;
}

/* ── Places of Worship ── */
.reid-pt-worship-denom {
    font-size: 0.85rem;
    font-weight: 600;
    margin: 0.75rem 0 0.35rem;
    padding-bottom: 0.25rem;
    border-bottom: 1px solid #e8e8e8;
    color: #555;
}

/* ── Dark: Demographics ── */
[data-bs-theme="dark"] .reid-pt-demo-subheading,
[data-theme="dark"] .reid-pt-demo-subheading,
.dark-mode .reid-pt-demo-subheading { color: #ccc; }
[data-bs-theme="dark"] .reid-pt-demo-bar-row,
[data-theme="dark"] .reid-pt-demo-bar-row,
.dark-mode .reid-pt-demo-bar-row { border-color: #333; }
[data-bs-theme="dark"] .reid-pt-demo-range,
[data-theme="dark"] .reid-pt-demo-range,
.dark-mode .reid-pt-demo-range { color: #ccc; }
[data-bs-theme="dark"] .reid-pt-demo-bar-wrap,
[data-theme="dark"] .reid-pt-demo-bar-wrap,
.dark-mode .reid-pt-demo-bar-wrap { background: #333; }
[data-bs-theme="dark"] .reid-pt-demo-pct,
[data-theme="dark"] .reid-pt-demo-pct,
.dark-mode .reid-pt-demo-pct { color: #ddd; }
[data-bs-theme="dark"] .reid-pt-demo-chip,
[data-theme="dark"] .reid-pt-demo-chip,
.dark-mode .reid-pt-demo-chip { background: #1a3a5c; color: #ccc; }
/* ── Dark: Worship ── */
[data-bs-theme="dark"] .reid-pt-worship-denom,
[data-theme="dark"] .reid-pt-worship-denom,
.dark-mode .reid-pt-worship-denom { color: #bbb; border-color: #444; }
