/**
 * Form Section Component
 * 
 * Styles for quote request form section
 * Theme-aware with proper contrast for all form elements
 * 
 * @package TwinsRealEstate
 * @version 2.0.0
 */

/* ==========================================================================
   Quote Section Base
   ========================================================================== */

.quote-section {
    padding: var(--spacing-4xl, 4rem) 0;
    background: var(--color-background, #ffffff);
    position: relative;
}

[data-theme="dark"] .quote-section {
    background: var(--color-dark-bg, #1a1a1a);
}

.quote-section__card {
    background: var(--color-background, #ffffff);
    border: 1px solid var(--color-border, #dee2e6);
    border-radius: var(--radius-lg, 1rem);
    box-shadow: var(--shadow-md, 0 4px 6px rgba(0, 0, 0, 0.1));
    overflow: hidden;
    max-width: 800px;
    margin: 0 auto;
}

[data-theme="dark"] .quote-section__card {
    background: var(--color-dark-bg-lightest, #1a1a1a);
    border-color: var(--color-dark-border, #2a2a2a);
    box-shadow: var(--shadow-md, 0 4px 6px rgba(0, 0, 0, 0.4));
}

/* ==========================================================================
   Quote Section Header
   ========================================================================== */

.quote-section__header {
    background: var(--primary-color, #0c2340);
    color: var(--white-color, #ffffff);
    padding: var(--spacing-xl, 2rem);
    text-align: center;
}

[data-theme="dark"] .quote-section__header {
    background: var(--primary-color, #0c2340);
    color: var(--white-color, #ffffff);
}

.quote-section__header-title {
    font-size: var(--font-size-2xl, 1.5rem);
    font-weight: var(--font-weight-semibold, 600);
    color: var(--white-color, #ffffff);
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-md, 1rem);
}

.quote-section__header-title i {
    font-size: var(--font-size-xl, 1.25rem);
}

/* ==========================================================================
   Quote Section Body
   ========================================================================== */

.quote-section__body {
    padding: var(--spacing-xl, 2rem);
    background: var(--color-background, #ffffff);
    color: var(--color-text-primary, #333333);
}

[data-theme="dark"] .quote-section__body {
    background: var(--color-dark-bg-lightest, #1a1a1a);
    color: var(--color-dark-text, #ffffff);
}

/* ==========================================================================
   Form Elements - Theme Aware
   ========================================================================== */

.quote-section__body .form-control,
.quote-section__body input,
.quote-section__body select,
.quote-section__body textarea {
    background: var(--color-background, #ffffff);
    color: var(--color-text-primary, #333333);
    border: 1px solid var(--color-border, #dee2e6);
    border-radius: var(--radius-md, 0.5rem);
    padding: var(--spacing-md, 1rem);
    font-size: var(--font-size-md, 1rem);
    transition: all var(--transition, 0.3s ease);
    width: 100%;
}

[data-theme="dark"] .quote-section__body .form-control,
[data-theme="dark"] .quote-section__body input,
[data-theme="dark"] .quote-section__body select,
[data-theme="dark"] .quote-section__body textarea {
    background: var(--color-dark-bg-lightest, #1a1a1a);
    color: var(--color-dark-text, #ffffff);
    border-color: var(--color-dark-border, #2a2a2a);
}

.quote-section__body .form-control:focus,
.quote-section__body input:focus,
.quote-section__body select:focus,
.quote-section__body textarea:focus {
    outline: none;
    border-color: var(--accent-color, #d4af37);
    box-shadow: 0 0 0 3px rgba(var(--accent-color-rgb, 212, 175, 55), 0.1);
}

[data-theme="dark"] .quote-section__body .form-control:focus,
[data-theme="dark"] .quote-section__body input:focus,
[data-theme="dark"] .quote-section__body select:focus,
[data-theme="dark"] .quote-section__body textarea:focus {
    border-color: var(--accent-color, #d4af37);
    box-shadow: 0 0 0 3px rgba(var(--accent-color-rgb, 212, 175, 55), 0.2);
}

/* ==========================================================================
   Form Labels
   ========================================================================== */

.quote-section__body label,
.quote-section__body .form-label {
    color: var(--color-text-primary, #333333);
    font-weight: var(--font-weight-medium, 500);
    margin-bottom: var(--spacing-sm, 0.5rem);
    display: block;
}

[data-theme="dark"] .quote-section__body label,
[data-theme="dark"] .quote-section__body .form-label {
    color: var(--color-dark-text, #ffffff);
}

/* ==========================================================================
   Form Help Text
   ========================================================================== */

.quote-section__body .form-text,
.quote-section__body .form-help-text,
.quote-section__body small {
    color: var(--color-text-secondary, #666666);
    font-size: var(--font-size-sm, 0.875rem);
}

[data-theme="dark"] .quote-section__body .form-text,
[data-theme="dark"] .quote-section__body .form-help-text,
[data-theme="dark"] .quote-section__body small {
    color: var(--color-dark-text-secondary, #e0e0e0);
}

/* ==========================================================================
   Form Buttons
   ========================================================================== */

.quote-section__body .btn {
    padding: var(--spacing-md, 1rem) var(--spacing-xl, 2rem);
    border-radius: var(--radius-md, 0.5rem);
    font-weight: var(--font-weight-semibold, 600);
    transition: all var(--transition, 0.3s ease);
    border: none;
    cursor: pointer;
}

.quote-section__body .btn-primary {
    background: var(--primary-color, #0c2340);
    color: var(--white-color, #ffffff);
}

.quote-section__body .btn-primary:hover {
    background: var(--primary-color-dark, #082034);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md, 0 4px 6px rgba(0, 0, 0, 0.1));
}

/* ==========================================================================
   Quote Section Footer
   ========================================================================== */

.quote-section__footer {
    background: var(--color-background-secondary, #f8f9fa);
    border-top: 1px solid var(--color-border, #dee2e6);
    padding: var(--spacing-lg, 1.5rem) var(--spacing-xl, 2rem);
    text-align: center;
}

[data-theme="dark"] .quote-section__footer {
    background: var(--color-dark-bg-light, #0a0a0a);
    border-top-color: var(--color-dark-border, #2a2a2a);
}

.quote-section__footer-text {
    color: var(--color-text-secondary, #666666);
    font-size: var(--font-size-sm, 0.875rem);
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-sm, 0.5rem);
}

[data-theme="dark"] .quote-section__footer-text {
    color: var(--color-dark-text-secondary, #e0e0e0);
}

.quote-section__footer-text i {
    color: var(--accent-color, #d4af37);
}

/* ==========================================================================
   Dynamic Form Container
   ========================================================================== */

.quote-section__body .dynamic-form-container,
.quote-section__body .form-container,
.quote-section__body .form-body {
    background: transparent;
    color: inherit;
}

/* ==========================================================================
   Alerts and Messages
   ========================================================================== */

.quote-section__body .alert {
    padding: var(--spacing-md, 1rem);
    border-radius: var(--radius-md, 0.5rem);
    margin-bottom: var(--spacing-md, 1rem);
}

.quote-section__body .alert-info {
    background: rgba(var(--info-color, 52, 152, 219), 0.1);
    border: 1px solid rgba(var(--info-color, 52, 152, 219), 0.3);
    color: var(--color-text-primary, #333333);
}

[data-theme="dark"] .quote-section__body .alert-info {
    background: rgba(52, 152, 219, 0.2);
    border-color: rgba(52, 152, 219, 0.4);
    color: var(--color-dark-text, #ffffff);
}

/* ==========================================================================
   Responsive Design
   ========================================================================== */

@media (max-width: 768px) {
    .quote-section {
        padding: var(--spacing-3xl, 3rem) 0;
    }
    
    .quote-section__header {
        padding: var(--spacing-lg, 1.5rem);
    }
    
    .quote-section__body {
        padding: var(--spacing-lg, 1.5rem);
    }
    
    .quote-section__header-title {
        font-size: var(--font-size-xl, 1.25rem);
        flex-direction: column;
        gap: var(--spacing-sm, 0.5rem);
    }
}

@media (max-width: 480px) {
    .quote-section__card {
        border-radius: var(--radius-md, 0.5rem);
    }
    
    .quote-section__header,
    .quote-section__body,
    .quote-section__footer {
        padding: var(--spacing-md, 1rem);
    }
}
