/* ── Formulario de Contacto Simple ────────────────────────────────────── */
.fs-wrapper { max-width: 560px; margin: 0 auto; font-family: inherit; }

/* Notices */
.fs-notice {
    padding: 12px 16px;
    border-radius: 6px;
    margin-bottom: 20px;
    font-weight: 500;
}
.fs-notice--ok      { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.fs-redirect-msg    { font-size: 13px; font-weight: 400; margin-left: 8px; opacity: .8; }
.fs-notice--error   { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
.fs-notice--warning { background: #fff3cd; color: #856404; border: 1px solid #ffeeba; }

/* Grupos */
.fs-group { margin-bottom: 6px !important; margin-top: 0 !important; padding: 0 !important; }

.fs-label {
    display: block !important;
    font-weight: 600;
    margin-bottom: 3px !important;
    margin-top: 0 !important;
    color: #333;
}
.fs-label span { color: #c0392b; margin-left: 2px; }

.fs-input,
.fs-textarea {
    width: 100%;
    padding: 10px 14px;
    border: 2px solid #ccc;
    border-radius: 6px;
    font-size: 15px;
    font-family: inherit;
    box-sizing: border-box;
    transition: border-color .2s;
    background: #fff;
    margin: 0 !important;
}
.fs-input:focus,
.fs-textarea:focus {
    outline: 3px solid #2271b1;
    outline-offset: 1px;
    border-color: #2271b1;
}
.fs-input--error { border-color: #c0392b; }

.fs-textarea { resize: vertical; min-height: 120px; }

.fs-char { display: block; font-size: 12px; color: #666; margin-top: 2px !important; margin-bottom: 0 !important; text-align: right; }

.fs-error { display: block; color: #c0392b; font-size: 13px; margin-top: 2px !important; margin-bottom: 0 !important; min-height: 0; }
.fs-error:empty { display: none; }

.fs-required-note { color: #666; font-size: 13px; margin: 6px 0 8px !important; padding: 0 !important; }

/* Botón */
.fs-btn {
    background: #2271b1;
    color: #fff;
    border: none;
    padding: 12px 28px;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s;
}
.fs-btn:hover  { background: #135e96; }
.fs-btn:focus  { outline: 3px solid #2271b1; outline-offset: 3px; }
.fs-btn:disabled { background: #999; cursor: not-allowed; }
