/* Utility Classes - Reusable Patterns */
/* Reduces need for !important by providing specific utility classes */

/* Spacing Utilities */
.mt-appbar {
    margin-top: 64px;
}

/* Z-index Utilities */
.z-appbar {
    z-index: 1000;
}

.z-carousel {
    z-index: 1;
}

.z-carousel-item {
    z-index: 10;
}

/* Position Utilities */
.pos-relative {
    position: relative;
}

.pos-absolute {
    position: absolute;
}

/* Display Utilities */
.d-block {
    display: block;
}

.d-flex {
    display: flex;
}

.flex-column {
    flex-direction: column;
}

/* Overflow Utilities */
.overflow-hidden {
    overflow: hidden;
}

/* Full Width Breakout */
.full-width-breakout {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}

/* Common Button Styles */
.btn-theme-primary {
    background-color: var(--theme-accent-red);
    color: var(--theme-text-primary);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
}

.btn-theme-primary:hover {
    background-color: var(--theme-accent-red-hover);
}

/* Common Card Styles */
.card-theme {
    background-color: var(--theme-bg-card);
    border: 1px solid var(--theme-border);
    transition: all 0.3s ease;
}

.card-theme:hover {
    box-shadow: 0 4px 16px var(--theme-shadow);
}

/* Text Utilities */
.text-theme-primary {
    color: var(--theme-text-primary);
}

.text-theme-secondary {
    color: var(--theme-text-secondary);
}

.text-theme-muted {
    color: var(--theme-text-muted);
}

/* Common Transitions */
.transition-all {
    transition: all 0.3s ease;
}

.transition-transform {
    transition: transform 0.3s ease;
}

/* Override MudBlazor inline styles with CSS classes */
.mud-popover {
    transition-duration: 251ms !important;
    transition-delay: 0ms !important;
}

/* MudBlazor carousel button styles */
.mud-carousel .mud-icon-button {
    z-index: 3 !important;
    opacity: 0.75 !important;
}

.mud-carousel .mud-icon-button:hover {
    opacity: 1 !important;
}

/* MudBlazor layout styles */
.mud-layout {
    /* Remove inline style attribute by using CSS */
}

.mud-appbar {
    /* Ensure proper styling without inline styles */
}

