/* Utility classes */
.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.mb-1 {
    margin-bottom: 0.25rem;
}

.mb-2 {
    margin-bottom: 0.5rem;
}

.mb-3 {
    margin-bottom: 1rem;
}

.mb-4 {
    margin-bottom: 1.5rem;
}

.mb-5 {
    margin-bottom: 3rem;
}

.mt-1 {
    margin-top: 0.25rem;
}

.mt-2 {
    margin-top: 0.5rem;
}

.mt-3 {
    margin-top: 1rem;
}

.mt-4 {
    margin-top: 1.5rem;
}

.mt-5 {
    margin-top: 3rem;
}

.p-1 {
    padding: 0.25rem;
}

.p-2 {
    padding: 0.5rem;
}

.p-3 {
    padding: 1rem;
}

.p-4 {
    padding: 1.5rem;
}

.p-5 {
    padding: 3rem;
}

.hidden {
    display: none;
}

.block {
    display: block;
}

.flex {
    display: flex;
}

.flex-wrap {
    flex-wrap: wrap;
}

.grid {
    display: grid;
}

.items-center {
    align-items: center;
}

.justify-center {
    justify-content: center;
}

.justify-between {
    justify-content: space-between;
}

/* ============================================
   Text Color Utilities (theme-aware)
   ============================================ */

/* White text - used on dark/image backgrounds */
.text-white {
    color: #ffffff !important;
}

/* Accent text - uses theme accent color */
.text-accent {
    color: var(--accent) !important;
}

/* Muted text */
.text-muted {
    color: var(--muted-foreground) !important;
}

/* Primary colour text */
.text-primary {
    color: var(--primary) !important;
}

/* ============================================
   Visibility Helpers
   ============================================ */

/* Elements at top of page visible without scroll intersection */
.visible-on-load {
    opacity: 1 !important;
    transform: none !important;
}