/* SimpleForm Frontend Styles */
.uTProForm { max-width: 100%; }
.uTProForm .uTProForm-error { color: #e53935; font-size: 0.8rem; display: none; }
.uTProForm .uTProForm-error:not(:empty) { display: block; }
.uTProForm .uTProForm-required { color: #e53935; }
.uTProForm-actions { display: flex; gap: 12px; margin-top: 20px; }
.uTProForm-btn {
    padding: 14px 40px; font-size: 14px; font-weight: 700; letter-spacing: 2px;
    text-transform: uppercase; border: 2px solid #555; border-radius: 4px; cursor: pointer;
    transition: all 0.2s;
}
/* Scoped under .uTProForm and combined classes so the component's own colors win over
   aggressive host-site selectors (e.g. `.wrapper div`, `* .wrapper *`) without !important. */
.uTProForm .uTProForm-message { margin-top: 16px; padding: 12px; border-radius: 4px; }
.uTProForm .uTProForm-message.uTProForm-success { background: #e8fde8; color: #27ae60; }
.uTProForm .uTProForm-message.uTProForm-fail { background: #fde8e8; color: #c0392b; }

/* Groups / Fieldsets */
.uTProForm-group { border: none; padding: 0; margin: 0 0 1.5em 0; }
.uTProForm-group-title { font-weight: 700; font-size: 1.1rem; margin-bottom: 0.75em; padding: 0; }
.uTProForm-group-grid { width: 100%; }
.uTProForm-group-field { min-width: 0; }

/* Content Block */
.uTProForm-content-block { margin: 8px 0; }

/* Step divider */
.uTProForm-step { margin: 16px 0 8px; }
.uTProForm-step-title { font-size: 1.1rem; margin: 0 0 8px; }
.uTProForm-step-divider { border: none; border-top: 1px solid #ddd; }

/* Range */
.uTProForm-range-value { font-weight: 600; margin-left: 8px; }
