.ms-root { padding: 0px; position: relative; }
.ms-container { max-width: 1400px; margin: 0 auto; padding: 0 24px; }

.ms-header { text-align: center; margin-bottom: 60px; }
.ms-eyebrow { font-size: 13px; text-transform: uppercase; letter-spacing: 0.3em; color: hsl(var(--accent)); font-weight: 600; }
.ms-title { font-size: clamp(32px, 5vw, 48px); font-weight: 300; margin-top: 15px; }
.ms-subtitle { color: hsl(var(--muted-foreground)); margin-top: 10px; }

.ms-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr; /* Map is slightly wider */
    gap: 40px;
    align-items: stretch;
}

/* Map Card */
.ms-map-card { padding: 15px; height: 500px; border-radius: 30px; }
.ms-map-inner { width: 100%; height: 100%; border-radius: 20px; overflow: hidden; }
.ms-map-inner iframe { filter: grayscale(0.2) contrast(1.1); transition: 0.5s; }
.ms-map-inner:hover iframe { filter: grayscale(0); }

/* Info Card */
.ms-info-card { 
    padding: 50px 40px; 
    height: 100%; 
    border-radius: 30px; 
    display: flex; 
    flex-direction: column; 
    justify-content: space-between;
}

.ms-info-group { display: flex; gap: 20px; margin-bottom: 30px; }
.ms-icon { 
    width: 48px; height: 48px; border-radius: 14px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center; color: hsl(var(--accent));
}

.ms-details h4 { font-size: 14px; text-transform: uppercase; letter-spacing: 0.1em; margin: 0 0 8px; color: hsl(var(--foreground)); }
.ms-details p { font-size: 15px; color: hsl(var(--muted-foreground)); line-height: 1.6; margin: 0; }

/* Get Directions Button */
.ms-cta-btn {
    margin-top: auto;
    width: 100%;
    height: 55px;
    background: hsl(var(--foreground));
    color: hsl(var(--background));
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    text-decoration: none;
    font-weight: 500;
    transition: 0.3s;
}

.ms-cta-btn:hover {
    background: hsl(var(--accent));
    transform: translateY(-3px);
    color: white;
    box-shadow: 0 10px 20px hsla(var(--accent) / 0.2);
}

/* Responsive */
@media (max-width: 1024px) {
    .ms-grid { grid-template-columns: 1fr; }
    .ms-map-card { height: 400px; }
}
/* --- Fix for Map Section Mobile Overflow --- */
@media (max-width: 1024px) {
    .ms-grid { 
        grid-template-columns: 1fr; 
        gap: 20px; /* Reduced gap between map and info */
    }
}

@media (max-width: 600px) {
    .ms-root { 
        padding: 60px 0; 
    }

    .ms-container {
        padding: 0 16px; /* Reduced container padding for more room */
    }

    .ms-map-card { 
        height: 350px; /* Slightly shorter map on small phones */
        padding: 10px; /* Thinner glass border */
        border-radius: 24px;
    }

    .ms-info-card { 
        padding: 30px 20px; /* Significantly reduced internal padding */
        border-radius: 24px;
    }

    .ms-info-group {
        gap: 15px; /* Tighter spacing for mobile */
        margin-bottom: 20px;
    }

    .ms-icon {
        width: 40px; 
        height: 40px;
    }

    .ms-details p {
        font-size: 14px; /* Slightly smaller text for better wrapping */
        word-break: break-word; /* Prevents long emails from pushing out */
    }

    .ms-cta-btn {
        height: 50px;
        font-size: 14px;
    }
}

/* Ensure no horizontal scroll on the whole page */

@media ( max-width:420px)
{
	.ms-map=card,
	.ms-map-inner{
	max-width:300px !important;
}
}