.location-page {
    --jocra-green: #2D5A3D;
    --jocra-red: #E63946;
    --jocra-dark: #0A0E13;
    --jocra-gray: #6B7280;
    --jocra-light: #F3F4F6;

    padding: 40px 0 20px;
    background: #fff;
}
.location-page .container-xl { max-width: 1200px; margin: 0 auto; padding: 0 16px; }
.location-grid { display: flex; flex-direction: column; gap: 24px; }
.location-main p { font-size: 15px; line-height: 1.8; color: var(--jocra-gray); margin-bottom: 16px; }
.location-kicker { font-size: 13px; font-weight: 700; color: var(--jocra-green); text-transform: uppercase; letter-spacing: .5px; }
.location-kicker a { color: inherit; text-decoration: underline; }
.location-highlights { list-style: none; margin: 0 0 24px; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.location-highlights li { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: var(--jocra-dark); }
.location-highlights i { color: var(--jocra-green); margin-top: 3px; }
.location-cta {
    display: flex; flex-direction: column; gap: 16px; align-items: flex-start;
    background: linear-gradient(135deg, var(--jocra-green), #1E3D2F); color: #fff;
    padding: 24px; border-radius: 16px; margin-top: 8px;
}
.location-cta h4 { margin: 0 0 4px; font-size: 18px; }
.location-cta p { color: rgba(255,255,255,.85); margin: 0; font-size: 13px; }
.btn-primary {
    display: inline-flex; align-items: center; gap: 8px; padding: 14px 22px;
    background: var(--jocra-red); color: #fff; text-decoration: none; font-weight: 700;
    font-size: 14px; border-radius: 10px;
}
.location-sidebar { display: flex; flex-direction: column; gap: 16px; }
.sidebar-box { background: var(--jocra-light); border-radius: 14px; padding: 20px; }
.sidebar-box h4 { font-size: 14px; font-weight: 700; color: var(--jocra-dark); margin: 0 0 12px; text-transform: uppercase; letter-spacing: .5px; }
.chip-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.chip-list a, .chip-link {
    display: inline-flex; align-items: center; gap: 6px; background: #fff; color: var(--jocra-dark);
    text-decoration: none; font-weight: 600; font-size: 13px; padding: 8px 12px; border-radius: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,.05);
}
.chip-link i { color: var(--jocra-green); }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

@media (min-width: 1024px) {
    .location-page { padding: 60px 0 20px; }
    .location-grid { flex-direction: row; align-items: flex-start; gap: 48px; }
    .location-main { flex: 1; }
    .location-sidebar { width: 300px; flex-shrink: 0; }
    .location-cta { flex-direction: row; align-items: center; justify-content: space-between; }
}