/* Deliberately small utility set. Product-specific layout belongs in its page CSS. */

.r2-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.r2-muted { color: var(--r2-text-muted) !important; }
.r2-danger-text { color: var(--r2-danger) !important; }
.r2-success-text { color: var(--r2-success) !important; }
.r2-text-sm { font-size: var(--r2-font-size-sm) !important; }
.r2-text-xs { font-size: var(--r2-font-size-xs) !important; }
.r2-font-medium { font-weight: var(--r2-weight-medium) !important; }
.r2-font-bold { font-weight: var(--r2-weight-bold) !important; }
.r2-nowrap { white-space: nowrap !important; }
.r2-min-w-0 { min-width: 0 !important; }
.r2-w-full { width: 100% !important; }
.r2-m-0 { margin: 0 !important; }
.r2-mt-2 { margin-top: var(--r2-space-2) !important; }
.r2-mt-4 { margin-top: var(--r2-space-4) !important; }
.r2-mb-0 { margin-bottom: 0 !important; }
.r2-gap-2 { gap: var(--r2-space-2) !important; }
.r2-gap-4 { gap: var(--r2-space-4) !important; }
.r2-align-start { align-items: flex-start !important; }
.r2-justify-between { justify-content: space-between !important; }

.r2-truncate-one {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.r2-truncate-two {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
