.adisurc-mappa-wrapper { padding: 2rem 0 4rem; }
.adisurc-mappa-intro { max-width: 900px; font-size: 1.05rem; line-height: 1.7; margin-bottom: 1.5rem; }

.adisurc-mappa-filtri { display: flex; align-items: center; gap: 24px; margin-bottom: 1.5rem; flex-wrap: wrap; }
.adisurc-filtro-item { display: flex; align-items: center; gap: 8px; font-weight: 700; cursor: pointer; }
.adisurc-filtro-swatch { width: 18px; height: 18px; border-radius: 4px; display: inline-block; }
.adisurc-swatch-mensa { background: #d33; }
.adisurc-swatch-esercizio { background: var(--bs-primary, #0059B3); }
.adisurc-filtro-btn {
    background: var(--bs-primary, #0059B3); color: #fff; border: none;
    padding: .6rem 1.5rem; border-radius: 999px; font-weight: 700; cursor: pointer;
}
.adisurc-filtro-btn:focus-visible { outline: 3px solid #0059B3; outline-offset: 2px; }

.adisurc-mappa { width: 100%; height: 480px; border-radius: 12px; margin-bottom: 3rem; }

.adisurc-mappa-cta-section { margin-bottom: 2.5rem; }
.adisurc-mappa-cta-section h2 { color: var(--bs-primary, #0059B3); font-weight: 800; margin-bottom: 1rem; }
.adisurc-mappa-cta {
    display: inline-flex; flex-direction: column; gap: 1.5rem; background: var(--bs-primary, #0059B3);
    color: #fff; text-decoration: none; border-radius: 12px; padding: 1.75rem; min-width: 300px;
}
.adisurc-mappa-cta-title { font-weight: 800; font-size: 1.2rem; }
.adisurc-mappa-cta-btn {
    background: #fff; color: var(--bs-primary, #0059B3); font-weight: 700;
    padding: .55rem 1.2rem; border-radius: 999px; width: fit-content;
}

.adisurc-mappa-cta {
    display: inline-flex;
    flex-direction: column;
    gap: 1.5rem;
    background: var(--bs-primary, #0059B3);
    color: #fff;
    text-decoration: none;
    border-radius: 12px;
    padding: 1.75rem;
    min-width: 300px;
    transition: transform .2s ease;
}
.adisurc-mappa-cta:hover,
.adisurc-mappa-cta:focus {
    color: #fff;
    transform: translateY(-3px);
}

.adisurc-mappa-cta:hover .adisurc-mappa-cta-btn {
    color: var(--bs-primary, #0059B3);
}