/* Contact Page Specific Styles */

.contact-section {
    display: grid;
    grid-template-columns: 1fr;
    min-height: 100vh;
    /* min-h-[100svh] */
}

@media (min-width: 1024px) {
    .contact-section {
        grid-template-columns: 1fr 1fr;
        /* lg:grid-cols-2 */
    }
}

.contact-info-panel {
    background-color: var(--color-dark-charcoal);
    color: var(--color-white);
    padding: var(--spacing-4xl);
    /* p-12 */
    display: flex;
    flex-direction: column;
    justify-content: center;
}

@media (min-width: 768px) {
    .contact-info-panel {
        padding: var(--spacing-5xl);
        padding-top: var(--spacing-7xl)
            /* md:p-20 */
    }
}

.contact-info-content {
    max-width: 28rem;
    /* max-w-md */
    margin: 0 auto;
    /* mx-auto */
    width: 100%;
}

@media (min-width: 1024px) {
    .contact-info-content {
        margin: 0;
        /* lg:mx-0 */
    }
}

.contact-title {
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 600;
    letter-spacing: -0.025em;
    margin-bottom: var(--spacing-4xl);
    /* mb-12 */
    color: var(--color-white);
    text-transform: uppercase;
}

.contact-details {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-3xl);
    /* space-y-10 */
    font-size: 0.9375rem;
    /* 15px */
    font-weight: 300;
    /* font-light */
}

.contact-detail-label {
    color: var(--color-slate-400);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    /* tracking-widest */
    font-size: 0.6875rem;
    /* 11px */
    margin-bottom: var(--spacing-xs);
    /* mb-2 */
}

/* Contact Form Panel */
.contact-form-panel {
    background-color: var(--color-surface-light);
    padding: var(--spacing-4xl);
    /* p-12 */
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-left: 1px solid var(--color-border-light);
}

@media (min-width: 768px) {
    .contact-form-panel {
        padding: var(--spacing-5xl);
        /* md:p-20 */
    }
}

.contact-form-content {
    max-width: 28rem;
    /* max-w-md */
    margin: 0 auto;
    width: 100%;
}

@media (min-width: 1024px) {
    .contact-form-content {
        margin: 0;
        /* lg:mx-0 */
    }
}

.form-title {
    font-size: 1.75rem;
    font-weight: 600;
    color: var(--color-dark-charcoal);
    margin-bottom: var(--spacing-md);
}

.form-description {
    font-size: 0.875rem;
    /* 14px */
    color: var(--color-slate-500);
    margin-bottom: var(--spacing-3xl);
    /* mb-10 */
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
    /* space-y-6 */
    font-size: 0.875rem;
    /* 14px */
}

.form-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
    /* gap-6 */
}

@media (min-width: 768px) {
    .form-row {
        grid-template-columns: 1fr 1fr;
    }
}

.form-input,
.form-textarea {
    width: 100%;
    background-color: transparent;
    border: none;
    border-bottom: 1px solid var(--color-slate-300);
    padding-top: var(--spacing-sm);
    /* py-3 */
    padding-bottom: var(--spacing-sm);
    outline: none;
    transition: border-color 0.3s ease;
    color: var(--color-dark-charcoal);
}

.form-input::placeholder,
.form-textarea::placeholder {
    color: var(--color-slate-400);
}

.form-input:focus,
.form-textarea:focus {
    border-color: var(--color-accent-orange);
}

.form-textarea {
    resize: vertical;
    /* Only allow vertical resize */
}

.form-submit-button {
    width: 100%;
    margin-top: var(--spacing-md);
    /* mt-4 */
    padding-top: var(--spacing-sm);
    /* py-3 */
    padding-bottom: var(--spacing-sm);
}