.atm-spot-overview {
    margin: 0 0 28px;
    padding: 18px 20px;
    border: 1px solid #dfe3e6;
    border-radius: 10px;
    background: #f7f8f7;
}

.atm-spot-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 14px;
}

.atm-spot-tag {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 10px;
    border-radius: 999px;
    background: #202428;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
}

.atm-spot-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
}

.atm-spot-fact {
    min-width: 0;
    padding: 4px 18px 4px 0;
}

.atm-spot-fact + .atm-spot-fact {
    padding-left: 18px;
    border-left: 1px solid #dfe3e6;
}

.atm-spot-fact-label,
.atm-spot-fact-value {
    display: block;
}

.atm-spot-fact-label {
    margin-bottom: 4px;
    color: #687078;
    font-size: 12px;
    font-weight: 700;
}

.atm-spot-fact-value {
    color: #171a1d;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
}

.atm-single-map-section {
    margin: 0 0 30px;
}

.atm-single-map-heading {
    margin: 0 0 10px;
    font-size: clamp(20px, 2.2vw, 26px);
}

.atm-single-spot-map {
    width: 100%;
    height: 360px;
    min-height: 320px;
    border: 1px solid #dfe3e6;
    border-radius: 10px;
    overflow: hidden;
    background: #eef1ec;
}

@media (max-width: 782px) {
    .atm-spot-overview {
        padding: 16px;
    }

    .atm-spot-facts {
        grid-template-columns: 1fr;
    }

    .atm-spot-fact,
    .atm-spot-fact + .atm-spot-fact {
        padding: 9px 0;
        border-left: 0;
    }

    .atm-spot-fact + .atm-spot-fact {
        border-top: 1px solid #dfe3e6;
    }

    .atm-single-spot-map {
        height: 300px;
        min-height: 280px;
    }
}

/* Individual spot pages do not need the theme's generic author/category meta row. */
body.single-spot .entry-meta,
body.single-spot .post-meta,
body.single-spot .post-meta-wrapper,
body.single-spot .wp-block-post-author,
body.single-spot .wp-block-post-author-name,
body.single-spot .wp-block-post-terms.taxonomy-category,
body.single-spot .taxonomy-category {
    display: none !important;
}

/* Keep the individual spot title close to the site header instead of leaving a large theme spacer. */
body.single-spot .wp-site-blocks > main,
body.single-spot main {
    margin-block-start: 28px !important;
    padding-top: 0 !important;
}

body.single-spot main > .wp-block-group:first-child {
    margin-top: 0 !important;
    padding-top: 20px !important;
}

body.single-spot .wp-block-post-title,
body.single-spot .entry-title {
    margin-top: 0 !important;
}
