/* Contact Hero - Consistent with Homepage */
.contact-hero { 
    background: var(--primary); 
    color: white; 
    height: 45vh; 
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center; 
    border-bottom: 4px solid var(--accent); 
}

.contact-hero h1 { 
    font-family: 'Playfair Display', serif; 
    font-size: clamp(2.2rem, 8vw, 3.5rem); 
    margin-bottom: 10px; 
    font-weight: 700; 
}

.contact-hero .sub-title { 
    display: block; 
    color: var(--accent); 
    text-transform: uppercase; 
    letter-spacing: 4px; 
    font-weight: 700; 
    font-size: 0.85rem; 
    margin-bottom: 10px; 
}

/* Layout */
.contact-section { padding-top: 80px; padding-bottom: 80px; background: #fff; }
.contact-flex { display: flex; gap: 80px; align-items: flex-start; }

/* Form Side */
.contact-form-container { flex: 1.5; }
.contact-form-container h3 { font-family: 'Playfair Display', serif; font-size: 2.2rem; color: var(--primary); margin-bottom: 15px; }
.form-intro { color: var(--text-muted); margin-bottom: 40px; font-size: 1.05rem; }

.elegant-form .form-group { margin-bottom: 25px; }
.elegant-form label { display: block; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 2px; font-weight: 700; margin-bottom: 10px; color: var(--primary); }
.elegant-form input, .elegant-form textarea { 
    width: 100%; padding: 18px; border: 1px solid #e5e5e5; background: #fafafa; font-family: inherit; font-size: 1rem; transition: var(--transition); border-radius: 0; 
}
.elegant-form input:focus, .elegant-form textarea:focus { outline: none; border-color: var(--accent); background: #fff; box-shadow: 0 5px 15px rgba(176, 141, 87, 0.1); }

/* Sidebar Side */
.contact-info-sidebar { flex: 1; background: var(--light-bg); padding: 50px; border: 1px solid #eee; border-radius: 2px; }
.info-block { margin-bottom: 35px; }
.info-block h4 { font-family: 'Playfair Display', serif; font-size: 1.4rem; color: var(--accent); margin-bottom: 10px; }
.info-block p { color: var(--primary); font-size: 1rem; line-height: 1.8; margin-bottom: 5px; }

/* ELEGANT LINK - Removed the blunt break-word rules */
.elegant-link { 
    color: var(--primary); 
    text-decoration: none; 
    font-weight: 700; 
    transition: var(--transition); 
    border-bottom: 1px solid rgba(176, 141, 87, 0.2); 
    display: inline-block;
    max-width: 100%;
}
.elegant-link:hover { color: var(--accent); border-bottom: 1px solid var(--accent); }

.sidebar-fb-btn { display: inline-block; font-weight: 700; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 2px; color: var(--accent); text-decoration: none; border-bottom: 2px solid var(--accent); padding-bottom: 2px; transition: var(--transition); }
.sidebar-fb-btn:hover { color: var(--primary); border-color: var(--primary); }

.map-container-sophisticated { margin-top: 40px; border: 1px solid #eee; line-height: 0; box-shadow: 0 10px 30px rgba(0,0,0,0.05); }

/* --- MOBILE & IPHONE OPTIMIZATIONS --- */
@media (max-width: 992px) {
    .contact-flex { flex-direction: column; gap: 50px; }
    .contact-info-sidebar { width: 100%; }
}

@media (max-width: 768px) {
    .contact-hero { height: 40vh; }
    .contact-section { padding-top: 40px; padding-bottom: 40px; }
    .contact-info-sidebar { padding: 30px; text-align: center; } 
    
    /* Center all Form elements */
    .contact-form-container { text-align: center; }
    .elegant-form label { text-align: center; }
    
    /* Ensure the button centers correctly */
    .contact-form-container .btn { 
        display: block; 
        margin: 0 auto; 
        width: 100%; 
        max-width: 300px; 
    }

    /* The Elegant scaling fix for the email address */
    .elegant-link { font-size: 0.8rem; white-space: nowrap; }
}