/* Contact Page Specific Styles */

.contact-section {
    padding: var(--space-lg) 0;
}

.contact-info-grid {
    display: flex; 
    flex-direction: column; 
    gap: var(--space-md);
}

.info-item {
    display: flex; 
    gap: 1rem;
}

.info-label {
    font-weight: 600; 
    font-size: 0.875rem;
}

.hours-table {
    width: 100%; 
    border-collapse: collapse; 
    margin-top: 1.5rem; 
    font-size: 0.875rem;
}

.hours-table tr {
    border-bottom: 1px solid var(--accent);
}

.hours-table td {
    padding: 0.75rem 0;
}

.booking-form-container {
    padding: var(--space-lg);
}

.booking-form {
    display: grid; 
    grid-template-columns: 1fr 1fr; 
    gap: 1.5rem;
}

.form-field {
    display: flex; 
    flex-direction: column; 
    gap: 0.5rem;
}

.form-label {
    font-size: 0.75rem; 
    font-weight: 700; 
    text-transform: uppercase;
}

.form-input, .form-select, .form-textarea {
    padding: 0.75rem; 
    border-radius: 8px; 
    border: 1px solid var(--accent); 
    background: var(--bg-light);
    font-family: inherit;
}

.form-textarea {
    resize: none;
}



@media (max-width: 768px) {
    .booking-form {
        grid-template-columns: 1fr;
    }
    .booking-form .form-field[style*="grid-column: span 2"] {
        grid-column: span 1 !important;
    }
}

@media (max-width: 600px) {
    .contact-section {
        padding: var(--space-md) 0;
    }
    .booking-form-container {
        padding: var(--space-md);
    }
    .hours-table td {
        font-size: 0.8rem;
        padding: 0.6rem 0;
    }
    .expert-image {
        height: 280px;
    }
}
