/* Frontend Form Styles */
.wqo-form-container { background: #fff; border-radius: 12px; box-shadow: 0 8px 24px rgba(0,0,0,0.08); padding: 24px; margin: 20px 0; transition: all 0.3s ease; border: 1px solid #f0f0f0; }
.wqo-form-container h3 { margin-top: 0; font-size: 1.2rem; color: #333; margin-bottom: 16px; }
.wqo-form-group { margin-bottom: 16px; position: relative; }
.wqo-form-group label { display: block; margin-bottom: 6px; font-weight: 600; font-size: 0.9rem; color: #555; }

.wqo-form-group input, .wqo-form-group textarea, .wqo-form-group select { 
    width: 100%; 
    border: 1px solid var(--wqo-btn-bg) !important; 
    border-radius: 8px; 
    transition: all 0.3s; 
    font-size: 1rem; 
    box-sizing: border-box; 
    min-height: 45px; 
}

.wqo-form-container input[type="email"], .wqo-form-container input[type="date"], .wqo-form-container input[type="search"], .wqo-form-container input[type="number"], .wqo-form-container input[type="text"], .wqo-form-container input[type="tel"], .wqo-form-container input[type="url"], .wqo-form-container input[type="password"], .wqo-form-container textarea, .wqo-form-container select {
    padding: 0px 15px 0px 35px !important;
}
.wqo-form-container textarea { padding: 12px 15px 12px 35px !important; min-height: 80px; }

.wqo-form-group input:focus, .wqo-form-group textarea:focus { box-shadow: none !important; border: 2px solid var(--wqo-btn-bg) !important; outline: none; }

.wqo-input-icon { position: absolute; top: 13px; left: 10px; color: var(--wqo-btn-bg); display: flex; align-items: center; justify-content: center; width: 18px; height: 18px; pointer-events: none; }
.wqo-input-icon svg { width: 100%; height: 100%; }

.wqo-btn { width: 100%; background: var(--wqo-btn-bg) !important; color: var(--wqo-btn-text) !important; border: none; padding: 14px; border-radius: 8px; font-size: 1rem; font-weight: bold; cursor: pointer; transition: background 0.3s ease; display: flex; justify-content: center; align-items: center; gap: 8px; }
.wqo-btn:hover { background: var(--wqo-btn-hover) !important; color: var(--wqo-btn-text) !important; }
.wqo-btn:disabled { background: #999 !important; cursor: not-allowed; }
.wqo-btn svg { width: 20px; height: 20px; }

.wqo-notice { padding: 10px; border-radius: 6px; margin-bottom: 15px; display: none; font-size: 0.9rem; }
.wqo-error { background: #fee; border: 1px solid #fcc; color: #c00; }
.wqo-price-preview { font-size: 0.9rem; color: #666; margin-bottom: 15px; padding: 10px; background: #f9f9f9; border-radius: 6px; }

@media (max-width: 480px) { .wqo-form-container { padding: 16px; } }