.pc-home .pc-type-rail {
    padding-right: .5rem;
    scroll-padding-inline: .5rem;
    scroll-snap-type: x proximity;
}

.pc-home .pc-type-card {
    flex: 0 0 clamp(8.5rem, 37vw, 12rem);
    scroll-snap-align: start;
}

.pc-home .pc-type-rail:not(:has(> .pc-type-card:nth-child(4))) .pc-type-card {
    flex: 1 0 8rem;
}

.pc-home .pc-search-trigger .pc-icon,
.pc-home .pc-search-field .pc-icon {
    width: 1.25rem;
    height: 1.25rem;
    flex: 0 0 auto;
}

.pc-home .pc-search-trigger .pc-icon {
    color: var(--pc-plum);
}

.pc-home .pc-search-field .pc-icon {
    color: var(--pc-muted);
}

.pc-home .pc-map-section {
    display: block;
    min-height: 0;
    margin-top: var(--pc-space-12);
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.pc-home .pc-map-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--pc-space-4);
    margin-bottom: var(--pc-space-4);
}

.pc-home .pc-map-heading h2 {
    margin: 0;
    font-size: clamp(1.65rem, 3vw, 2.5rem);
    letter-spacing: -.045em;
    line-height: 1.04;
}

.pc-home .pc-map-heading .pc-button {
    min-height: 2.75rem;
    flex: 0 0 auto;
    gap: var(--pc-space-2);
    white-space: nowrap;
}

.pc-home .pc-map-heading .pc-icon {
    width: 1.1rem;
    height: 1.1rem;
}

.pc-home .leaflet-marker-icon.pc-map-marker-logo {
    box-sizing: border-box;
    aspect-ratio: 1;
    border: 2px solid transparent;
    border-radius: 0;
    background: var(--pc-surface);
    object-fit: cover;
    object-position: center;
}

.pc-home .leaflet-marker-icon.pc-map-marker-logo--offline {
    border-color: var(--pc-primary);
}

.pc-home .leaflet-marker-icon.pc-map-marker-logo--online {
    border-color: var(--pc-success);
}

.pc-home .pc-map-status {
    margin: calc(-1 * var(--pc-space-2)) 0 var(--pc-space-3);
    color: var(--pc-muted);
    font-size: var(--pc-font-size-sm);
    line-height: 1.4;
}

.pc-home .pc-map-frame,
.pc-home #branchMap {
    width: 100%;
    height: 26rem;
    min-height: 26rem;
    overflow: hidden;
    border: 1px solid var(--pc-line);
    border-radius: var(--pc-radius);
    background: var(--pc-light);
}

.pc-home #branchMap .pc-map-user-location {
    fill: var(--pc-primary);
    fill-opacity: .92;
    stroke: var(--pc-surface);
    stroke-width: 3;
}

.pc-home .pc-anonymous-note {
    display: none;
}

.pc-home .pc-search-dialog .pc-dialog-header {
    align-items: center;
}

.pc-home .pc-search-dialog .pc-dialog-header h2 {
    font-size: 1.5rem;
}

@media (max-width: 46rem) {
    .pc-home .pc-type-rail {
        margin-right: -.5rem;
        padding-right: 1.25rem;
    }

    .pc-home .pc-map-section {
        margin-top: var(--pc-space-8);
    }

    .pc-home .pc-map-heading {
        align-items: center;
        margin-bottom: var(--pc-space-3);
    }

    .pc-home .pc-map-heading h2 {
        font-size: 1.5rem;
    }

    .pc-home .pc-map-heading .pc-button {
        min-height: 2.75rem;
        padding-inline: .8rem;
    }

    .pc-home .pc-map-frame,
    .pc-home #branchMap {
        height: 22rem;
        min-height: 22rem;
        border-radius: var(--pc-radius-card);
    }

    .pc-home .pc-anonymous-note {
        display: grid;
        justify-items: start;
        gap: var(--pc-space-4);
        margin-top: var(--pc-space-8);
        padding: var(--pc-space-6);
    }

    .pc-home .pc-anonymous-note h2 {
        font-size: 1.15rem;
        line-height: 1.4;
        letter-spacing: 0;
    }

    .pc-header-actions .pc-header-login {
        display: inline-flex;
        align-items: center;
        min-height: 2.75rem;
        padding-inline: .65rem;
        white-space: nowrap;
    }
}

@media (max-width: 22rem) {
    .pc-home .pc-map-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 46rem) {
    #main-content .pc-home-hero {
        margin-top: var(--pc-space-6);
    }

    .pc-home .pc-branch-history-item {
        width: 3.35rem;
        height: 3.35rem;
        border: 0;
        background: transparent;
    }

}

@media (prefers-reduced-motion: reduce) {
    .pc-home .pc-branch-history-item:hover {
        transform: none;
        transition: none;
    }
}
