.contact-map-block {
    padding: 4rem 0;
}

.contact-map-container {
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 1rem;
}

@media (min-width: 640px) {
    .contact-map-container {
        padding: 0 1.5rem;
    }
}

@media (min-width: 1024px) {
    .contact-map-container {
        padding: 0 2rem;
    }
}

.contact-map-header {
    text-align: center;
    margin-bottom: 3rem;
}

.contact-map-title {
    font-size: 2.25rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

@media (min-width: 768px) {
    .contact-map-title {
        font-size: 2.5rem;
    }
}

.contact-map-subtitle {
    font-size: 1.125rem;
}

.map-container {
    padding: 2rem;
    border-radius: 0.75rem;
    text-align: center;
}

.map-placeholder {
    width: 100%;
    height: 24rem;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.map-content {
    text-align: center;
    color: white;
}

.map-pin-icon {
    width: 4rem;
    height: 4rem;
    margin: 0 auto 1rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'%3E%3C/path%3E%3Ccircle cx='12' cy='10' r='3'%3E%3C/circle%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.map-placeholder-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.map-placeholder-address {
    font-size: 1.125rem;
    opacity: 0.9;
    margin-bottom: 1rem;
}

.map-button {
    display: inline-block;
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
}

.map-button:hover {
    opacity: 0.9;
}