/**
 * =====================================================
 * ESTILOS DO FORMULÁRIO - MODULAR
 * =====================================================
 */

:root {
    --form-primaria: #c9a96e;
    --form-secundaria: #1a2a3a;
    --form-fundo-card: #ffffff;
    --form-fundo-campos: #f8f9fa;
    --form-borda-campos: #e0e0e0;
    --form-borda-foco: #c9a96e;
    --form-texto-campos: #333333;
    --form-placeholder: #999999;
    --form-botao: #c9a96e;
    --form-botao-hover: #b8985d;
    --form-texto-botao: #1a2a3a;
    --form-espacamento-campos: 20px;
    --form-espacamento-opcoes: 6px;
    --form-padding-card: 40px;
    --form-radius-card: 16px;
    --form-radius-campos: 8px;
}

.form-page-header { background: var(--form-secundaria); padding: 16px 24px; position: sticky; top: 0; z-index: 100; }
.form-page-header-container { max-width: 1200px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; }
.form-logo { display: flex; align-items: center; text-decoration: none; }
.form-logo-desktop { height: 50px; width: auto; display: none; }
.form-logo-mobile { height: 40px; width: auto; display: block; }
@media (min-width: 768px) { .form-logo-desktop { display: block; } .form-logo-mobile { display: none; } }
.form-back-link { display: flex; align-items: center; gap: 8px; color: #fff; text-decoration: none; font-size: 14px; font-family: 'Open Sans', sans-serif; transition: opacity 0.3s; }
.form-back-link:hover { opacity: 0.8; }

.form-page-main { min-height: calc(100vh - 140px); padding: 40px 20px; background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); }
.form-page-container { max-width: 700px; margin: 0 auto; }

.form-section-header { text-align: center; margin-bottom: 32px; }
.form-page-title { font-family: 'Bodoni Moda', 'Montserrat', serif; font-size: 28px; font-weight: 400; color: var(--form-secundaria); margin-bottom: 16px; letter-spacing: 0.05em; }
@media (min-width: 768px) { .form-page-title { font-size: 36px; } }
.form-section-divider { width: 60px; height: 3px; background: var(--form-primaria); margin: 0 auto 20px; }
.form-page-description { font-family: 'Open Sans', sans-serif; font-size: 15px; color: #666; line-height: 1.7; max-width: 550px; margin: 0 auto; }

.form-card { background: var(--form-fundo-card); border-radius: var(--form-radius-card); padding: var(--form-padding-card); box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08); }
@media (max-width: 480px) { .form-card { padding: 24px 20px; border-radius: 12px; } }

.form-group { margin-bottom: var(--form-espacamento-campos); }
.form-group label { display: block; font-family: 'Montserrat', sans-serif; font-size: 14px; font-weight: 600; color: var(--form-secundaria); margin-bottom: 8px; }
.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="tel"],
.form-group textarea { width: 100%; padding: 14px 16px; font-family: 'Open Sans', sans-serif; font-size: 15px; color: var(--form-texto-campos); background: var(--form-fundo-campos); border: 1px solid var(--form-borda-campos); border-radius: var(--form-radius-campos); transition: all 0.3s ease; box-sizing: border-box; }
.form-group input:focus,
.form-group textarea:focus { outline: none; border-color: var(--form-borda-foco); box-shadow: 0 0 0 3px rgba(249, 115, 32, 0.15); }
.form-group input::placeholder,
.form-group textarea::placeholder { color: var(--form-placeholder); }
.form-group textarea { resize: vertical; min-height: 100px; }

.form-radio-group { display: flex; flex-direction: column; gap: var(--form-espacamento-opcoes); }
.form-radio-label { display: flex; align-items: center; gap: 10px; cursor: pointer; padding: 4px 0; }
.form-radio-label input[type="radio"] { width: 18px; height: 18px; cursor: pointer; accent-color: var(--form-primaria); }
.form-radio-label span { font-family: 'Open Sans', sans-serif; font-size: 14px; color: #666; }

.form-note { background: #fff8e1; padding: 12px 16px; border-radius: var(--form-radius-campos); border-left: 4px solid var(--form-primaria); margin-bottom: 16px; font-family: 'Open Sans', sans-serif; font-size: 13px; color: #666; line-height: 1.5; }
.form-note strong { color: var(--form-secundaria); }

.form-recaptcha-container { margin-top: 24px; margin-bottom: 20px; }

.form-privacy-label { display: inline-flex; flex-direction: row; align-items: center; gap: 10px; cursor: pointer; font-family: 'Open Sans', sans-serif; font-size: 14px; color: #666; }
.form-privacy-label input { width: 18px; height: 18px; flex-shrink: 0; accent-color: var(--form-primaria); }
.form-privacy-label a { color: var(--form-primaria); text-decoration: none; }
.form-privacy-label a:hover { text-decoration: underline; }

.form-btn-submit { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; padding: 16px 24px; margin-top: 24px; background: var(--form-botao); color: var(--form-texto-botao); border: none; border-radius: var(--form-radius-campos); font-family: 'Montserrat', sans-serif; font-size: 15px; font-weight: 600; cursor: pointer; transition: all 0.3s ease; }
.form-btn-submit:hover { background: var(--form-botao-hover); transform: translateY(-2px); box-shadow: 0 4px 15px rgba(249, 115, 32, 0.4); }
.form-btn-submit svg { width: 20px; height: 20px; }

.form-disclaimer { font-family: 'Open Sans', sans-serif; font-size: 12px; color: #999; text-align: center; margin-top: 24px; }

.form-quick-contact { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; margin-top: 32px; }
.form-quick-contact-item { display: flex; align-items: center; gap: 10px; text-decoration: none; color: #666; font-family: 'Open Sans', sans-serif; font-size: 14px; transition: color 0.3s; }
.form-quick-contact-item:hover { color: var(--form-primaria); }
.form-quick-contact-item svg { color: var(--form-primaria); }

.form-page-footer { background: var(--form-secundaria); padding: 20px; text-align: center; }
.form-page-footer p { font-family: 'Open Sans', sans-serif; font-size: 13px; color: rgba(255, 255, 255, 0.7); margin: 0; }
