/* TicketOne — supplemental styles.
 *
 * Tailwind (Play CDN) handles the bulk of styling in markup. This file only
 * holds a few things Tailwind utilities can't express inline, plus brand
 * fallbacks in case the CDN fails to load.
 */

:root {
    --brand: #5D3FD3;
    --brand-dark: #4a32a8;
}

/* Hide native number-input spinners on the ticket quantity stepper. */
.no-spinner::-webkit-inner-spin-button,
.no-spinner::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.no-spinner {
    -moz-appearance: textfield;
    appearance: textfield;
}

/* Smooth fade for flash dismissal (JS sets opacity). */
.flash-message {
    transition: opacity 0.5s ease;
}

/* Render rich-text event descriptions (stored HTML) legibly even without the
   Tailwind typography plugin. */
.prose p { margin: 0.5em 0; }
.prose a { color: var(--brand); text-decoration: underline; }
.prose ul { list-style: disc; padding-left: 1.5em; margin: 0.5em 0; }
.prose ol { list-style: decimal; padding-left: 1.5em; margin: 0.5em 0; }
.prose h1, .prose h2, .prose h3 { font-weight: 700; margin: 0.75em 0 0.4em; }

/* Graceful focus ring fallback if Tailwind ring utilities are unavailable. */
input:focus,
button:focus-visible {
    outline-color: var(--brand);
}

/* Keyframes fallback for the processing spinner (Tailwind also provides animate-spin). */
@keyframes spin {
    to { transform: rotate(360deg); }
}
