/* Rishi's Vision — design-system component classes
   (extracted from the DS runtime bundle so this handoff is framework-free) */

/* Buttons ---------------------------------------------------------------- */
.rv-btn{font-family:var(--font-body);font-weight:var(--weight-semibold);border-radius:var(--radius-md);border:1.5px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard);white-space:nowrap}
.rv-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}
.rv-btn--sm{font-size:var(--fs-body-sm);padding:8px 16px}
.rv-btn--md{font-size:var(--fs-body);padding:11px 22px}
.rv-btn--lg{font-size:var(--fs-body-lg);padding:14px 28px}
.rv-btn--primary{background:var(--primary-500);color:var(--neutral-25)}
.rv-btn--primary:hover:not(:disabled){background:var(--primary-600);text-decoration: none;}
.rv-btn--primary:active:not(:disabled){background:var(--primary-700)}
.rv-btn--secondary{background:transparent;color:var(--primary-600);border-color:var(--color-border-strong)}
.rv-btn--secondary:hover:not(:disabled){border-color:var(--primary-400);text-decoration: none;}
.rv-btn--secondary:active:not(:disabled){background:var(--primary-100)}
.rv-btn--ghost{background:transparent;color:var(--color-text-primary)}
.rv-btn--ghost:hover:not(:disabled){background:var(--color-surface-low)}
.rv-btn--ghost:active:not(:disabled){background:var(--neutral-200)}
.rv-btn--text{background:transparent;color:var(--primary-600);padding:4px 2px}
.rv-btn--text:hover:not(:disabled){text-decoration:underline}
.rv-btn:disabled{cursor:not-allowed;opacity:0.45}

/* Badges ----------------------------------------------------------------- */
.rv-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-size:var(--fs-caption);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;padding:4px 10px;border-radius:var(--radius-full);line-height:1}
.rv-badge__dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.rv-badge--neutral{background:var(--color-surface-low);color:var(--color-text-secondary)}
.rv-badge--primary{background:var(--primary-100);color:var(--primary-700)}
.rv-badge--success{background:var(--success-100);color:var(--success-700)}
.rv-badge--warning{background:var(--warning-100);color:var(--warning-700)}
.rv-badge--error{background:var(--error-100);color:var(--error-700)}

/* Icon wrapper (holds an inline Lucide SVG) ------------------------------ */
.rv-icon{display:inline-flex;flex:0 0 auto;color:currentColor}
.rv-icon svg{width:100%;height:100%;display:block}

/* Card ------------------------------------------------------------------- */
.rv-card{background:var(--color-surface-card);border-radius:var(--radius-lg);padding:var(--space-card);box-shadow:var(--shadow-sm)}

/* Tag (used as static labels on Teacher / Events "about" — DS Tag is
   interactive; kept verbatim, though these instances don't have handlers) --- */
.rv-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-size:var(--fs-body-sm);font-weight:var(--weight-medium);padding:7px 14px;border-radius:var(--radius-full);border:1.5px solid var(--color-border-strong);background:transparent;color:var(--color-text-secondary);transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}
.rv-tag:hover{border-color:var(--primary-400);color:var(--color-text-primary)}
