/* Flash banners: --error and --success are styled in the theme's styles.scss.
   --info and --warning are plugin-only. */
.slash-flash.slash-flash--info    { background-color: #d1ecf1; color: #000; }
.slash-flash.slash-flash--warning { background-color: #fffbeb; color: #92400e; }

/* Theme styles __links a but not button — mirror for form submit buttons */
.slash-flash__links button {
    text-align: center;
    padding: .3em .7em;
    font-weight: bold;
    text-transform: uppercase;
    cursor: pointer;
    border: 2px solid #000;
    background-color: #000;
    color: #fff;
}

/* Inline status badges */
.slash-badge {
    display: inline-block;
    font-size: 0.75rem;
    padding: 0.125rem 0.5rem;
    border-radius: 9999px;
    vertical-align: middle;
    margin-left: 0.5rem;
    border: 1px solid currentColor;
}

.slash-badge--success { color: #15803d; background: #f0fdf4; border-color: #bbf7d0; }
.slash-badge--warning { color: #92400e; background: #fffbeb; border-color: #fde68a; }

/* Password visibility toggle (WCAG 2.2) */
.slash-pw-wrapper {
    display: flex;
    align-items: stretch;
}
.slash-pw-wrapper input {
    flex: 1;
}
.slash-pw-toggle {
    min-width: 5rem;
    min-height: 24px;
    padding: 0.25rem 0.5rem;
    border: 1px solid #94a3b8;
    background: #f8fafc;
    color: #334155;
    cursor: pointer;
    font-size: 0.875rem !important;
    white-space: nowrap;
    margin-left: -1px;
}
.slash-pw-toggle:hover {
    background: #e2e8f0;
}
.slash-pw-toggle:focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}

/* Availability dots */
.slash-availability-dots {
    display: inline-flex;
    gap: 4px;
    align-items: center;
}
.slash-availability-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #e5e5e5;
}
.slash-availability-dot--active {
    background: #555;
}

/* Ticket sort toggles */
.slash-ticket-sort {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

/* Ticket status label (italic, inline) */
.slash-ticket-card__status {
    font-style: italic;
}

/* Order detail: subtotal / discount / total */
.slash-order-subtotal,
.slash-order-discount,
.slash-order-total {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    padding: 0.25rem 0;
}
.slash-order-detail .slash-order-subtotal {
    border-top: 2px solid #000;
}
.slash-order-detail .slash-order-total {
    border-top: 2px solid #000;
}
.slash-order-detail .slash-order-subtotal ~ .slash-order-total {
    border-top: none;
}
.slash-order-discount {
    color: #15803d;
}

/* Ticket detail: QR code left-aligned (theme centres content images) */
.slash-ticketing .slash-ticket-qr {
    text-align: left;
}
.slash-ticketing .slash-ticket-qr img {
    display: block;
    margin-left: 0;
    margin-right: auto;
}

