Jake Vanderwerf
2025-11-10 a9bc55996f23ceeb6a6e941bcb56db11c385cddf
forms.css
@@ -167,13 +167,22 @@
[type=radio].featured:checked + label .star + .star {
    display: inline-block;
}
.restore.item,
.upload.item {
.restore.restore.item,
.upload.upload.item {
    border-radius: var(--innerRadius);
    aspect-ratio: unset;
    overflow: hidden;
    background: var(--base);
    border: 1px solid var(--base-200);
}
.restore-item [for="select-item"],
.upload.item [for="select-item"] {
    aspect-ratio: 1;
}
.upload.item:has(details[open]) {
    grid-column: 1 / -1;
}
.restore.item img,
.upload.item img {
    transition: transform var(--transition-base);
@@ -1614,3 +1623,107 @@
.repeater-row:last-child {
    margin-bottom: 0;
}
.ql-toolbar button {
    --height: fit-content;
    padding: .5rem;
}
.success-message {
    color: var(--success, #16a34a);
    background-color: var(--success-bg, #f0fdf4);
    border: 1px solid var(--success, #16a34a);
    padding: 0.75rem 1rem;
    border-radius: var(--radius);
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.success-message .success-icon {
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
}
.success-box {
    background-color: var(--success-bg, #f0fdf4);
    border: 2px solid var(--success, #16a34a);
    padding: 1.5rem;
    border-radius: var(--outerRadius);
    margin-bottom: 1rem;
    text-align: center;
}
.success-box h3 {
    color: var(--success, #16a34a);
    margin-bottom: 0.5rem;
}
.success-box p {
    margin: 0.5rem 0;
}
/* Form success state */
.form-success {
    opacity: 0.9;
}
/* Hide form fields after success (optional) */
.form-success .field:not(.form-success-message):not(.success-box) {
    display: none;
}
/* Keep submit button visible but disabled */
.form-success button[type="submit"] {
    opacity: 0.6;
    pointer-events: none;
}
/* Error states */
.field-error input,
.field-error textarea,
.field-error select {
    border-color: var(--error, #dc2626);
}
.error-message {
    color: var(--error, #dc2626);
    font-size: var(--small);
    margin-top: 0.25rem;
    display: block;
}
.form-error {
    background-color: var(--error-bg, #fee);
    border: 1px solid var(--error, #dc2626);
    padding: 0.75rem;
    border-radius: var(--radius);
    margin-bottom: 1rem;
}
/* Success states */
.has-success input,
.has-success textarea,
.has-success select {
    border-color: var(--success, #16a34a);
}
.form-error {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.form-error .error-icon {
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
}
.autocomplete-dropdown {
    width: 100%;
    background-color: var(--base-100);
    padding: .5rem;
    box-shadow: var(--shadow);
}