/* Nearby places on the home page. Kept separate from admin-managed sections. */
.nearby-jump {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 20px;
    color: var(--gold-main, #c28f6a);
    font-size: 16px;
    line-height: 1.5;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    padding-bottom: 4px;
}
.nearby-jump:hover { color: #e2b48f; }
.nearby-spots {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    padding: 80px 20px 100px;
    scroll-margin-top: 110px;
}
.nearby-spots__eyebrow {
    margin: 0 0 14px;
    color: var(--gold-main, #c28f6a);
    font-size: 13px;
    line-height: 1.5;
    text-transform: uppercase;
    letter-spacing: .12em;
}
.nearby-spots__title {
    margin: 0 0 20px;
    color: #fff;
    font-size: clamp(30px, 4vw, 52px);
    font-weight: 400;
    line-height: 1.15;
}
.nearby-spots__intro {
    max-width: 690px;
    margin: 0 0 36px;
    color: #c9c1b9;
    font-size: 18px;
    line-height: 1.6;
}
.nearby-spots__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}
.nearby-spot {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    background: #1e1d1c;
    border: 1px solid #ffffff24;
    border-radius: 20px;
}
.nearby-spot__image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1280 / 549;
    object-fit: cover;
}
.nearby-spot__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    align-items: flex-start;
    padding: 28px;
}
.nearby-spot__tag {
    margin: 0 0 14px;
    color: var(--gold-main, #c28f6a);
    font-size: 13px;
    line-height: 1.5;
}
.nearby-spot__title {
    margin: 0 0 18px;
    color: #fff;
    font-size: clamp(24px, 2.3vw, 30px);
    font-weight: 400;
    line-height: 1.25;
    overflow-wrap: anywhere;
}
.nearby-spot__text {
    margin: 0 0 20px;
    color: #dedbd9;
    font-size: 16px;
    line-height: 1.65;
}
.nearby-spot__note {
    margin: 0 0 24px;
    color: #b2aaa3;
    font-size: 14px;
    line-height: 1.6;
}
.nearby-spot__note a { color: #dedbd9; text-decoration: underline; text-underline-offset: 3px; }
.nearby-spot__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    max-width: 100%;
    margin-top: auto;
    padding: 12px 24px;
    border: 1px solid var(--gold-main, #c28f6a);
    border-radius: 28px;
    background: var(--gold-main, #c28f6a);
    color: #151515;
    font-size: 16px;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    transition: background .2s, color .2s;
}
.nearby-spot__action:hover { background: #dfb28f; color: #151515; }
.nearby-jump:focus-visible,
.nearby-spot a:focus-visible { outline: 2px solid #e2b48f; outline-offset: 5px; }
#retro-museum { scroll-margin-top: 120px; }
@media (max-width: 700px) {
    .nearby-spots { padding: 48px 16px 64px; }
    .nearby-spots__intro { font-size: 16px; margin-bottom: 28px; }
    .nearby-spots__grid { grid-template-columns: 1fr; gap: 20px; }
    .nearby-spot__body { padding: 24px 20px; }
    .nearby-spot__title { font-size: 24px; }
    .nearby-spot__action { width: 100%; }
}
