/* ============================================================
   Co-WorkPress CMS — Formularios
   Añadir al final de public/css/global.css
   ============================================================ */

.pb-form-wrapper { width: 100%; }

/* — Filas y columnas — */
.pb-form-row { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 1rem; }
.pb-col-full         { flex: 0 0 100%; }
.pb-col-half         { flex: 0 0 calc(50% - 0.5rem); }
.pb-col-third        { flex: 0 0 calc(33.333% - 0.667rem); }
.pb-col-two-thirds   { flex: 0 0 calc(66.666% - 0.333rem); }
.pb-col-quarter      { flex: 0 0 calc(25% - 0.75rem); }
.pb-col-three-quarters { flex: 0 0 calc(75% - 0.25rem); }

/* — Campos — */
.pb-form-field { display: flex; flex-direction: column; gap: 0.35rem; }
.pb-form-label { font-size: 0.9rem; font-weight: 600; color: #374151; }
.pb-form-required { color: #ef4444; margin-left: 2px; }
.pb-form-input {
    width: 100%; padding: 0.65rem 0.875rem;
    border: 1px solid #d1d5db; border-radius: 6px;
    font-size: 0.95rem; color: #111827;
    background: #fff; outline: none;
    transition: border-color 0.2s;
}
.pb-form-input:focus { border-color: #6366f1; box-shadow: 0 0 0 3px rgba(99,102,241,0.1); }
.pb-form-input-error { border-color: #ef4444 !important; }
.pb-form-field-error { font-size: 0.8rem; color: #ef4444; }

/* — Radio y Checkbox — */
.pb-form-radio-group,
.pb-form-checkbox-group { display: flex; flex-direction: column; gap: 0.5rem; }
.pb-form-radio-label,
.pb-form-checkbox-label { display: flex; align-items: center; gap: 0.5rem; font-size: 0.9rem; cursor: pointer; }

/* — Botón — */
.pb-form-submit { margin-top: 1rem; }
.pb-form-btn {
    display: inline-flex; align-items: center; gap: 0.5rem;
    padding: 0.75rem 2rem; background: #111827; color: #fff;
    border: none; border-radius: 6px; font-size: 1rem;
    font-weight: 600; cursor: pointer; transition: background 0.2s;
}
.pb-form-btn:hover { background: #1f2937; }
.pb-form-btn-loading { opacity: 0.7; cursor: not-allowed; }

/* — Mensajes — */
.pb-form-success {
    text-align: center; padding: 2rem;
    background: #f0fdf4; border: 1px solid #86efac;
    border-radius: 8px; color: #166534;
}
.pb-form-success p {
    font-weight: 600;
}
.pb-form-success-icon { font-size: 2rem; margin-bottom: 0.5rem; }
.pb-form-errors {
    background: #fef2f2; border: 1px solid #fca5a5;
    border-radius: 6px; padding: 0.75rem 1rem;
    margin-bottom: 1rem; color: #991b1b; font-size: 0.875rem;
}
.pb-form-errors ul { margin: 0; padding-left: 1.25rem; }
.pb-form-errors ul li{font-weight: 600;}
.pb-form-error-msg {
    background: #fef2f2; border: 1px solid #fca5a5;
    border-radius: 6px; padding: 0.75rem 1rem;
    margin-bottom: 1rem; color: #991b1b;
}
/* — Archivos — */
.pb-form-file-hint { font-size: 0.78rem; color: #9ca3af; margin-top: 4px; display: block; }
.pb-form-file-loading { font-size: 0.85rem; color: #f59e0b; margin-top: 4px; }
input[type="file"].pb-form-input { padding: 0.5rem; cursor: pointer; }

/* ============================================================
   RGPD
   ============================================================ */
.pb-form-rgpd-text {
    font-size: 0.8rem;
    color: #6b7280;
    line-height: 1.6;
    padding: 1rem;
    background: #f8fafc;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
    margin-bottom: 1rem;
}

.pb-form-rgpd-text p {
    margin-bottom: 0.5rem;
}

.pb-form-rgpd-text strong {
    color: #374151;
}

.pb-form-rgpd-field {
    margin-bottom: 0.5rem;
}

.pb-form-rgpd-field .pb-form-checkbox-label {
    font-size: 0.875rem;
    color: #374151;
    line-height: 1.5;
}

/* — Responsive — */
@media (max-width: 980px) {
    .pb-col-half,
    .pb-col-third,
    .pb-col-two-thirds,
    .pb-col-quarter,
    .pb-col-three-quarters { flex: 0 0 100%; }
}