/*! Form Responsive - Mobile Optimized Only */

/* Form Header Styling - All devices */
.form-header {
    text-align: center;
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 2px solid #C9A96E;
}

.form-header h2,
.form-header .form-title {
    margin: 0 0 10px 0;
    color: #000;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
}

.form-header p,
.form-header .form-description {
    margin: 0;
    color: #666;
    font-size: 14px;
    line-height: 1.6;
}

/* ========== MOBILE SPECIFIC ========== */

@media (max-width: 768px) {
    
    /* Form Header */
    .form-header h2,
    .form-header .form-title {
        font-size: 20px;
    }
    
    .form-header p,
    .form-header .form-description {
        font-size: 13px;
    }
    
    /* Form Inputs - Extra padding for touch */
    .form-input,
    .cusinpput input,
    .cusinpput textarea,
    .cusinpput select,
    .custom-field {
        padding: 16px 18px !important;
        font-size: 16px !important; /* Critical for iOS */
        min-height: 50px !important;
    }
    
    /* Labels */
    .cusinpput label,
    .form-label {
        font-size: 14px !important;
        margin-bottom: 10px !important;
    }
    
    /* Form Groups - More spacing */
    .cusinpput,
    .form-group {
        margin-bottom: 22px !important;
    }
    
    /* Submit Button - Larger touch target */
    button.submit,
    .submit-btn,
    button[type="submit"] {
        padding: 18px 20px !important;
        font-size: 18px !important;
        min-height: 56px !important;
        margin-top: 15px !important;
    }
    
    /* Hero Form specific */
    .hero-form-card {
        padding: 25px 20px !important;
        margin: 0 15px !important;
    }
    
    /* Custom Fields */
    .custom-field-wrapper {
        margin-bottom: 22px !important;
    }
    
    .custom-field-option {
        padding: 14px !important;
        font-size: 15px !important;
    }
    
    /* Radio & Checkbox - Larger for touch */
    .custom-field-option input[type="radio"],
    .custom-field-option input[type="checkbox"] {
        width: 22px !important;
        height: 22px !important;
    }
}

/* Extra small devices (< 480px) */
@media (max-width: 480px) {
    
    .form-header {
        margin-bottom: 20px;
        padding-bottom: 15px;
    }
    
    .form-header h2,
    .form-header .form-title {
        font-size: 18px;
    }
    
    .cusinpput,
    .form-group {
        margin-bottom: 18px !important;
    }
    
    button.submit,
    .submit-btn,
    button[type="submit"] {
        font-size: 17px !important;
    }
}

/* Landscape mode on mobile */
@media (max-width: 768px) and (orientation: landscape) {
    
    .form-input,
    .cusinpput input,
    .custom-field {
        padding: 12px 16px !important;
        min-height: 44px !important;
    }
    
    button.submit,
    .submit-btn,
    button[type="submit"] {
        padding: 14px 20px !important;
        min-height: 50px !important;
    }
}

/* iOS Specific Fixes */
@supports (-webkit-touch-callout: none) {
    /* iOS Safari */
    .form-input,
    .cusinpput input,
    .custom-field {
        font-size: 16px !important; /* Prevent zoom */
    }
}

/* Prevent zoom on focus (iOS) */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    select,
    textarea,
    input {
        font-size: 16px !important;
    }
}

/* Touch device optimizations */
@media (hover: none) and (pointer: coarse) {
    
    /* Larger touch targets */
    .form-input,
    .cusinpput input,
    .custom-field {
        min-height: 52px !important;
    }
    
    button.submit,
    .submit-btn,
    button[type="submit"] {
        min-height: 58px !important;
    }
    
    /* Remove hover effects on touch devices */
    button.submit:hover,
    .submit-btn:hover,
    button[type="submit"]:hover {
        transform: none !important;
    }
}

