/* --- Contact Page Specific Styles --- */

        /* Hero Image override */
        .hero-bg-img {
            position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0;
            filter: brightness(0.6);
        }

        /* Section Spacing */
        .contact-page-section { background-color: #fff; padding: 80px 0; }
        
        /* Grid Layout: Info (Left) | Form (Right) */
        .contact-top-row {
            display: grid;
            grid-template-columns: 1fr 1.2fr; 
            gap: 60px;
            align-items: start;
            margin-bottom: 80px; /* Space between form/info and the map */
        }

        /* Left Column: Info Blocks */
        .contact-details-col { display: flex; flex-direction: column; gap: 40px; }
        
        .info-block h3 { color: var(--secondary); font-size: 1.4rem; margin-bottom: 20px; border-bottom: 2px solid var(--brand-red); display: inline-block; padding-bottom: 5px; }
        .info-list { list-style: none; padding: 0; }
        .info-list li { margin-bottom: 20px; display: flex; align-items: flex-start; gap: 15px; color: #555; font-size: 1rem; line-height: 1.6; }
        .info-list i { color: var(--brand-teal); font-size: 1.2rem; margin-top: 4px; }
        .info-list strong { color: var(--secondary); display: block; font-size: 0.9rem; text-transform: uppercase; }

        /* Right Column: Form */
        .contact-form-wrapper {
            background: #f9f9f9;
            padding: 50px;
            border-radius: 4px;
            box-shadow: 0 10px 40px rgba(0,0,0,0.05);
            border-top: 5px solid var(--brand-teal);
        }

        .contact-form-wrapper h2 { color: var(--secondary); margin-bottom: 10px; font-size: 2rem; }
        .contact-form-wrapper p { color: #666; margin-bottom: 30px; }
        .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }

        /* --- NEW MAP SECTION STYLES --- */
        .map-section-wrapper {
            width: 100%;
            display: block;
        }

        .map-title {
            text-align: left;
            color: var(--secondary);
            font-size: 1.8rem;
            margin-bottom: 20px;
            font-weight: 800;
        }

        .full-width-map {
            width: 100%;
            height: 450px;
            border-radius: 8px;
            overflow: hidden;
            box-shadow: 0 5px 20px rgba(0,0,0,0.1);
            border: 1px solid #ddd;
        }

        .full-width-map iframe {
            width: 100%;
            height: 100%;
            display: block;
        }

        /* Mobile Responsiveness */
        @media (max-width: 900px) {
            .contact-top-row { grid-template-columns: 1fr; gap: 50px; margin-bottom: 50px; }
            .form-row { grid-template-columns: 1fr; }
            .contact-form-wrapper { padding: 30px; }
            .full-width-map { height: 350px; } /* Slightly shorter map on mobile */
        }