/* Best Places Directory - General Styles for Archive & Taxonomy Templates */
.bpd-archive-main-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 1.5em;
}
/* Archive/Taxonomy Main Container Wraps */
.bpd-taxonomy-archive-wrap {
    max-width: 900px;
    margin: 0 auto 2.5em auto;
    padding: 0 1.5em 2em 1.5em;
    background: transparent;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.bpd-archive-title {
    margin-top: 1em;
    margin-bottom: 1em;
    font-size: 3.7em;
    font-weight: 700;
    text-align: center;
    color: #00897b;
}
.bpd-archive-listings {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    justify-content: center;
    margin-bottom: 2em;
}

.bpd-pagination {
    margin: 2em 0;
    text-align: center;
}

.bpd-empty-message {
    text-align: center;
    color: #a00;
    font-size: 1.1em;
    margin: 2em 0;
}

/* Infinite scroll spinner */
.bpd-infinite-spinner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    color: #666;
}
.bpd-spinner-dot {
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 999px;
    background: #999;
    display: inline-block;
    animation: bpd-bounce 0.9s infinite ease-in-out alternate;
}
.bpd-spinner-text { font-size: 0.95rem; }
@keyframes bpd-bounce {
    from { transform: translateY(0); opacity: 0.6; }
    to   { transform: translateY(-6px); opacity: 1; }
}

/* Empty message styling */
.bpd-empty-message {
    text-align: center;
    color: #a00;
    font-size: 1.1em;
    margin: 2em 0;
}