// ═══════════════════════════════════════════════
// FERMENTY — Utilities
// ═══════════════════════════════════════════════

// ── Backgrounds ──────────────────────────────
.bg-fermenty-green    { background-color: $green-main !important; }
.bg-fermenty-pale     { background-color: $green-pale !important; }
.bg-fermenty-orange   { background-color: $orange-main !important; }
.bg-fermenty-orange-light { background-color: $orange-light !important; }
.bg-fermenty-page     { background-color: $green-page !important; }

// ── Borders ──────────────────────────────────
.border-fermenty      { border: $border-width solid $border-color !important; }
.border-green         { border-color: $border-color !important; }

// ── Divider ──────────────────────────────────
.fermenty-divider {
    height: 1px;
    background-color: $border-color;
    margin: $spacing-md 0;
}

// ── Spacing helpers ──────────────────────────
.gap-fermenty { gap: $spacing-md; }

// ── Truncate text ────────────────────────────
.text-truncate-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

// ── Empty state ──────────────────────────────
.fermenty-empty {
    text-align: center;
    padding: $spacing-2xl $spacing-xl;
    color: $text-muted;

    .empty-icon {
        font-size: 40px;
        margin-bottom: $spacing-md;
        opacity: 0.4;
    }

    .empty-title {
        font-size: $font-size-md;
        font-weight: $font-weight-medium;
        color: $text-mid;
        margin-bottom: $spacing-xs;
    }

    .empty-text {
        font-size: $font-size-base;
        color: $text-muted;
    }
}

// ── Loading spinner ──────────────────────────
.fermenty-spinner {
    width: 24px;
    height: 24px;
    border: 2px solid $green-pale;
    border-top-color: $green-mid;
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}