/* _content/Osirion.Blazor.Core/Components/Cards/OsirionAuthorCard.razor.rz.scp.css */
.osirion-author-card[b-jbv2aw6mmo] {
    display: flex;
    gap: var(--osirion-spacing-4, 1rem);
    align-items: flex-start;
    padding: var(--osirion-spacing-4, 1rem);
    border: 1px solid var(--osirion-border-color, #e5e7eb);
    border-radius: var(--osirion-radius-md, 0.375rem);
    background-color: var(--osirion-background-primary, #fff);
}

.osirion-author-card-avatar[b-jbv2aw6mmo] {
    flex: none;
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    object-fit: cover;
}

.osirion-author-card-initials[b-jbv2aw6mmo] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--osirion-action-primary, #2563eb);
    color: var(--osirion-action-primary-text, #fff);
    font-weight: var(--osirion-font-weight-semibold, 600);
    font-size: 1.25rem;
}

.osirion-author-card-body[b-jbv2aw6mmo] {
    min-width: 0;
}

    .osirion-author-card-body p[b-jbv2aw6mmo] {
        margin: 0;
    }

.osirion-author-card-name[b-jbv2aw6mmo] {
    font-weight: var(--osirion-font-weight-semibold, 600);
    color: var(--osirion-text-primary, #111827);
}

    .osirion-author-card-name a[b-jbv2aw6mmo] {
        color: inherit;
    }

.osirion-author-card-role[b-jbv2aw6mmo] {
    font-size: var(--osirion-font-size-sm, 0.875rem);
    color: var(--osirion-text-secondary, #4b5563);
}

.osirion-author-card-body .osirion-author-card-bio[b-jbv2aw6mmo] {
    margin-top: var(--osirion-spacing-2, 0.5rem);
    color: var(--osirion-text-secondary, #4b5563);
}

.osirion-author-card-links[b-jbv2aw6mmo] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--osirion-spacing-3, 0.75rem);
    margin: var(--osirion-spacing-2, 0.5rem) 0 0;
    padding: 0;
    list-style: none;
    font-size: var(--osirion-font-size-sm, 0.875rem);
}

@media (max-width: 30rem) {
    .osirion-author-card[b-jbv2aw6mmo] {
        flex-direction: column;
    }
}
/* _content/Osirion.Blazor.Core/Components/Cards/OsirionFeatureCard.razor.rz.scp.css */
/* ================================================ */
/* OsirionFeatureCard Styles */
/* ================================================ */

/* ================================================ */
/* Base Card Structure */
/* ================================================ */

.osirion-feature-card[b-rkzub994o8] {
    background-color: var(--osirion-card-background, var(--osirion-background-primary, #ffffff));
    border-radius: var(--osirion-radius-lg, 0.5rem);
    overflow: hidden;
    transition: transform var(--osirion-transition-duration-200, 0.2s) ease, box-shadow var(--osirion-transition-duration-200, 0.2s) ease, border-color var(--osirion-transition-duration-200, 0.2s) ease;
    display: grid;
    gap: var(--osirion-spacing-4, 1rem);
    position: relative;
    min-height: 0;
}

/* ================================================ */
/* Image Layout Configurations */
/* ================================================ */

.osirion-feature-card-image-top[b-rkzub994o8] {
    grid-template-rows: auto 1fr;
    }

.osirion-feature-card-image-bottom[b-rkzub994o8] {
    grid-template-rows: 1fr auto;
        }

.osirion-feature-card-image-left[b-rkzub994o8] {
    grid-template-columns: auto 1fr;
}

.osirion-feature-card-image-right[b-rkzub994o8] {
    grid-template-columns: 1fr auto;
}

/* ================================================ */
/* Card Size System - Proper Dimensions */
/* ================================================ */

/* Extra Extra Small (75px) */
.osirion-feature-card-xxs.osirion-feature-card-image-left[b-rkzub994o8],
.osirion-feature-card-xxs.osirion-feature-card-image-right[b-rkzub994o8] {
    height: 75px;
    width: 100%;
}

.osirion-feature-card-xxs.osirion-feature-card-image-top[b-rkzub994o8],
.osirion-feature-card-xxs.osirion-feature-card-image-bottom[b-rkzub994o8] {
    width: 75px;
    height: auto;
    }

.osirion-feature-card-xxs.osirion-feature-card-image-left .osirion-feature-card-image-container[b-rkzub994o8],
.osirion-feature-card-xxs.osirion-feature-card-image-right .osirion-feature-card-image-container[b-rkzub994o8] {
    height: 75px;
    width: auto;
}

.osirion-feature-card-xxs.osirion-feature-card-image-top .osirion-feature-card-image-container[b-rkzub994o8],
.osirion-feature-card-xxs.osirion-feature-card-image-bottom .osirion-feature-card-image-container[b-rkzub994o8] {
    width: 75px;
    height: auto;
}

/* Extra Small (150px) */
.osirion-feature-card-xs.osirion-feature-card-image-left[b-rkzub994o8],
.osirion-feature-card-xs.osirion-feature-card-image-right[b-rkzub994o8] {
    height: 150px;
    width: 100%;
}

.osirion-feature-card-xs.osirion-feature-card-image-top[b-rkzub994o8],
.osirion-feature-card-xs.osirion-feature-card-image-bottom[b-rkzub994o8] {
    width: 150px;
    height: auto;
    }

.osirion-feature-card-xs.osirion-feature-card-image-left .osirion-feature-card-image-container[b-rkzub994o8],
.osirion-feature-card-xs.osirion-feature-card-image-right .osirion-feature-card-image-container[b-rkzub994o8] {
    height: 150px;
    width: auto;
}

.osirion-feature-card-xs.osirion-feature-card-image-top .osirion-feature-card-image-container[b-rkzub994o8],
.osirion-feature-card-xs.osirion-feature-card-image-bottom .osirion-feature-card-image-container[b-rkzub994o8] {
    width: 150px;
    height: auto;
}

/* Small (300px) */
.osirion-feature-card-sm.osirion-feature-card-image-left[b-rkzub994o8],
.osirion-feature-card-sm.osirion-feature-card-image-right[b-rkzub994o8] {
    height: 300px;
    width: 100%;
}

.osirion-feature-card-sm.osirion-feature-card-image-top[b-rkzub994o8],
.osirion-feature-card-sm.osirion-feature-card-image-bottom[b-rkzub994o8] {
    width: 300px;
    height: auto;
    }

.osirion-feature-card-sm.osirion-feature-card-image-left .osirion-feature-card-image-container[b-rkzub994o8],
.osirion-feature-card-sm.osirion-feature-card-image-right .osirion-feature-card-image-container[b-rkzub994o8] {
    height: 300px;
    width: auto;
    }

.osirion-feature-card-sm.osirion-feature-card-image-top .osirion-feature-card-image-container[b-rkzub994o8],
.osirion-feature-card-sm.osirion-feature-card-image-bottom .osirion-feature-card-image-container[b-rkzub994o8] {
    width: 300px;
    height: auto;
        }

/* Normal (450px) - Default */
.osirion-feature-card-md.osirion-feature-card-image-left[b-rkzub994o8],
.osirion-feature-card-md.osirion-feature-card-image-right[b-rkzub994o8] {
    height: 450px;
    width: 100%;
}

.osirion-feature-card-md.osirion-feature-card-image-top[b-rkzub994o8],
.osirion-feature-card-md.osirion-feature-card-image-bottom[b-rkzub994o8] {
    width: 450px;
    height: auto;
}

.osirion-feature-card-md.osirion-feature-card-image-left .osirion-feature-card-image-container[b-rkzub994o8],
.osirion-feature-card-md.osirion-feature-card-image-right .osirion-feature-card-image-container[b-rkzub994o8] {
    height: 450px;
    width: auto;
}

.osirion-feature-card-md.osirion-feature-card-image-top .osirion-feature-card-image-container[b-rkzub994o8],
.osirion-feature-card-md.osirion-feature-card-image-bottom .osirion-feature-card-image-container[b-rkzub994o8] {
    width: 450px;
    height: auto;
}

/* Large (600px) */
.osirion-feature-card-lg.osirion-feature-card-image-left[b-rkzub994o8],
.osirion-feature-card-lg.osirion-feature-card-image-right[b-rkzub994o8] {
    height: 600px;
    width: 100%;
}

.osirion-feature-card-lg.osirion-feature-card-image-top[b-rkzub994o8],
.osirion-feature-card-lg.osirion-feature-card-image-bottom[b-rkzub994o8] {
    width: 600px;
    height: auto;
}

.osirion-feature-card-lg.osirion-feature-card-image-left .osirion-feature-card-image-container[b-rkzub994o8],
.osirion-feature-card-lg.osirion-feature-card-image-right .osirion-feature-card-image-container[b-rkzub994o8] {
    height: 600px;
    width: auto;
}

.osirion-feature-card-lg.osirion-feature-card-image-top .osirion-feature-card-image-container[b-rkzub994o8],
.osirion-feature-card-lg.osirion-feature-card-image-bottom .osirion-feature-card-image-container[b-rkzub994o8] {
    width: 600px;
    height: auto;
}

/* Extra Large (900px) */
.osirion-feature-card-xl.osirion-feature-card-image-left[b-rkzub994o8],
.osirion-feature-card-xl.osirion-feature-card-image-right[b-rkzub994o8] {
    height: 900px;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.osirion-feature-card-xl.osirion-feature-card-image-top[b-rkzub994o8],
.osirion-feature-card-xl.osirion-feature-card-image-bottom[b-rkzub994o8] {
    width: 900px;
    height: auto;
}

.osirion-feature-card-xl.osirion-feature-card-image-left .osirion-feature-card-image-container[b-rkzub994o8],
.osirion-feature-card-xl.osirion-feature-card-image-right .osirion-feature-card-image-container[b-rkzub994o8] {
    height: 900px;
    width: auto;
}

.osirion-feature-card-xl.osirion-feature-card-image-top .osirion-feature-card-image-container[b-rkzub994o8],
.osirion-feature-card-xl.osirion-feature-card-image-bottom .osirion-feature-card-image-container[b-rkzub994o8] {
    max-width: 900px;
    height: auto;
}

/* Extra Extra Large (1200px) */
.osirion-feature-card-xxl.osirion-feature-card-image-left[b-rkzub994o8],
.osirion-feature-card-xxl.osirion-feature-card-image-right[b-rkzub994o8] {
    height: 1200px;
    width: 100%;
}

.osirion-feature-card-xxl.osirion-feature-card-image-top[b-rkzub994o8],
.osirion-feature-card-xxl.osirion-feature-card-image-bottom[b-rkzub994o8] {
    width: 1200px;
    height: auto;
}

.osirion-feature-card-xxl.osirion-feature-card-image-left .osirion-feature-card-image-container[b-rkzub994o8],
.osirion-feature-card-xxl.osirion-feature-card-image-right .osirion-feature-card-image-container[b-rkzub994o8] {
    height: 1200px;
    width: auto;
}

.osirion-feature-card-xxl.osirion-feature-card-image-top .osirion-feature-card-image-container[b-rkzub994o8],
.osirion-feature-card-xxl.osirion-feature-card-image-bottom .osirion-feature-card-image-container[b-rkzub994o8] {
    width: 1200px;
    height: auto;
}

/* ================================================ */
/* Border Effects */
/* ================================================ */

.osirion-feature-card-border-always[b-rkzub994o8] {
    border: var(--osirion-card-border-width, 2px) solid var(--osirion-border-color, #e5e7eb);
}

.osirion-feature-card-border-hover[b-rkzub994o8] {
    border: var(--osirion-card-border-width, 2px) solid transparent;
}

    .osirion-feature-card-border-hover:hover[b-rkzub994o8] {
        border-color: var(--osirion-border-color, #e5e7eb);
    }

.osirion-feature-card-border-primary.osirion-feature-card-border-always[b-rkzub994o8],
.osirion-feature-card-border-primary.osirion-feature-card-border-hover:hover[b-rkzub994o8] {
    border-color: var(--osirion-action-primary, #2563eb);
}

.osirion-feature-card-border-secondary.osirion-feature-card-border-always[b-rkzub994o8],
.osirion-feature-card-border-secondary.osirion-feature-card-border-hover:hover[b-rkzub994o8] {
    border-color: var(--osirion-action-secondary, #6c757d);
}

.osirion-feature-card-border-tertiary.osirion-feature-card-border-always[b-rkzub994o8],
.osirion-feature-card-border-tertiary.osirion-feature-card-border-hover:hover[b-rkzub994o8] {
    border-color: var(--osirion-background-tertiary, #e5e7eb);
}

/* ================================================ */
/* Shadow Effects */
/* ================================================ */

.osirion-feature-card-shadow-always[b-rkzub994o8] {
    box-shadow: var(--osirion-shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06));
}

.osirion-feature-card-shadow-hover:hover[b-rkzub994o8] {
    box-shadow: var(--osirion-shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06));
}

.osirion-feature-card-shadow-primary.osirion-feature-card-shadow-always[b-rkzub994o8],
.osirion-feature-card-shadow-primary.osirion-feature-card-shadow-hover:hover[b-rkzub994o8] {
    box-shadow: 0 4px 6px -1px rgba(37, 99, 235, 0.2), 0 2px 4px -1px rgba(37, 99, 235, 0.1);
}

.osirion-feature-card-shadow-secondary.osirion-feature-card-shadow-always[b-rkzub994o8],
.osirion-feature-card-shadow-secondary.osirion-feature-card-shadow-hover:hover[b-rkzub994o8] {
    box-shadow: 0 4px 6px -1px rgba(108, 117, 125, 0.2), 0 2px 4px -1px rgba(108, 117, 125, 0.1);
}

.osirion-feature-card-shadow-tertiary.osirion-feature-card-shadow-always[b-rkzub994o8],
.osirion-feature-card-shadow-tertiary.osirion-feature-card-shadow-hover:hover[b-rkzub994o8] {
    box-shadow: 0 4px 6px -1px rgba(229, 231, 235, 0.3), 0 2px 4px -1px rgba(229, 231, 235, 0.2);
}

/* ================================================ */
/* Transform Effects */
/* ================================================ */

.osirion-feature-card-transform-always[b-rkzub994o8] {
    transform: translateY(-4px);
}

.osirion-feature-card-transform-hover:hover[b-rkzub994o8] {
    transform: translateY(-4px);
}

.osirion-feature-card-image-transform:hover .osirion-feature-card-image[b-rkzub994o8] {
    transform: scale(1.05);
}

/* ================================================ */
/* Content Layout and Alignment - FIXED VERSION */
/* ================================================ */

.osirion-feature-card-content[b-rkzub994o8] {
    padding: var(--osirion-spacing-4, 1rem);
    display: flex;
    flex-direction: column;
    flex: 1;
    box-sizing: border-box;
    position: relative;
}

    /* Reset child margins that interfere with flexbox alignment */
    .osirion-feature-card-content > *[b-rkzub994o8] {
        margin-top: 0;
        margin-bottom: 0;
        flex-shrink: 0;
    }

        /* Add consistent spacing between elements */
        .osirion-feature-card-content > * + *[b-rkzub994o8] {
            margin-top: var(--osirion-spacing-3, 0.75rem);
        }

/* ================================================ */
/* SIZE-SPECIFIC CONTENT HEIGHTS - Critical for alignment */
/* ================================================ */

.osirion-feature-card-xxs .osirion-feature-card-content[b-rkzub994o8] {
    min-height: 75px;
    height: 75px;
}

.osirion-feature-card-xs .osirion-feature-card-content[b-rkzub994o8] {
    min-height: 150px;
    height: 150px;
}

.osirion-feature-card-sm .osirion-feature-card-content[b-rkzub994o8] {
    min-height: 300px;
    height: 300px;
}

.osirion-feature-card-md .osirion-feature-card-content[b-rkzub994o8] {
    min-height: 450px;
    height: 450px;
}

.osirion-feature-card-lg .osirion-feature-card-content[b-rkzub994o8] {
    min-height: 600px;
    height: 600px;
}

.osirion-feature-card-xl .osirion-feature-card-content[b-rkzub994o8] {
    min-height: 900px;
    height: 900px;
}

.osirion-feature-card-xxl .osirion-feature-card-content[b-rkzub994o8] {
    min-height: 1200px;
    height: 1200px;
}

/* ================================================ */
/* ALIGNMENT CLASSES - Enhanced with proper specificity */
/* ================================================ */

.osirion-feature-card.osirion-feature-card-content-top-left .osirion-feature-card-content[b-rkzub994o8] {
    justify-content: flex-start !important;
    align-items: flex-start !important;
    text-align: left !important;
}

.osirion-feature-card.osirion-feature-card-content-top-center .osirion-feature-card-content[b-rkzub994o8] {
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: center !important;
}

.osirion-feature-card.osirion-feature-card-content-top-right .osirion-feature-card-content[b-rkzub994o8] {
    justify-content: flex-start !important;
    align-items: flex-end !important;
    text-align: right !important;
}

.osirion-feature-card.osirion-feature-card-content-center-left .osirion-feature-card-content[b-rkzub994o8] {
    justify-content: center !important;
    align-items: flex-start !important;
    text-align: left !important;
}

.osirion-feature-card.osirion-feature-card-content-center .osirion-feature-card-content[b-rkzub994o8] {
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
}

.osirion-feature-card.osirion-feature-card-content-center-right .osirion-feature-card-content[b-rkzub994o8] {
    justify-content: center !important;
    align-items: flex-end !important;
    text-align: right !important;
}

.osirion-feature-card.osirion-feature-card-content-bottom-left .osirion-feature-card-content[b-rkzub994o8] {
    justify-content: flex-end !important;
    align-items: flex-start !important;
    text-align: left !important;
}

.osirion-feature-card.osirion-feature-card-content-bottom-center .osirion-feature-card-content[b-rkzub994o8] {
    justify-content: flex-end !important;
    align-items: center !important;
    text-align: center !important;
}

.osirion-feature-card.osirion-feature-card-content-bottom-right .osirion-feature-card-content[b-rkzub994o8] {
    justify-content: flex-end !important;
    align-items: flex-end !important;
    text-align: right !important;
}

/* ================================================ */
/* IMPROVED FLEX BEHAVIOR FOR DIFFERENT ALIGNMENTS */
/* ================================================ */

/* Top alignments: description grows to push content down */
.osirion-feature-card.osirion-feature-card-content-top-left .osirion-feature-card-description[b-rkzub994o8],
.osirion-feature-card.osirion-feature-card-content-top-center .osirion-feature-card-description[b-rkzub994o8],
.osirion-feature-card.osirion-feature-card-content-top-right .osirion-feature-card-description[b-rkzub994o8] {
    flex: 1 1 auto !important;
}

/* Center alignments: description doesn't grow, stays centered */
.osirion-feature-card.osirion-feature-card-content-center-left .osirion-feature-card-description[b-rkzub994o8],
.osirion-feature-card.osirion-feature-card-content-center .osirion-feature-card-description[b-rkzub994o8],
.osirion-feature-card.osirion-feature-card-content-center-right .osirion-feature-card-description[b-rkzub994o8] {
    flex: 0 1 auto !important;
}

/* Bottom alignments: description doesn't grow */
.osirion-feature-card.osirion-feature-card-content-bottom-left .osirion-feature-card-description[b-rkzub994o8],
.osirion-feature-card.osirion-feature-card-content-bottom-center .osirion-feature-card-description[b-rkzub994o8],
.osirion-feature-card.osirion-feature-card-content-bottom-right .osirion-feature-card-description[b-rkzub994o8] {
    flex: 0 1 auto !important;
}

/* ================================================ */
/* Typography and Font Scaling */
/* ================================================ */

.osirion-feature-card-font-xxs .osirion-feature-card-description[b-rkzub994o8] {
    font-size: clamp(0.8125rem, 1.5vw, 0.9375rem);
}

.osirion-feature-card-font-xs .osirion-feature-card-description[b-rkzub994o8] {
    font-size: clamp(0.875rem, 1.75vw, 1rem);
}

.osirion-feature-card-font-sm .osirion-feature-card-description[b-rkzub994o8] {
    font-size: clamp(0.9375rem, 2vw, 1.125rem);
}

.osirion-feature-card-font-md .osirion-feature-card-description[b-rkzub994o8] {
    font-size: clamp(1rem, 2.25vw, 1.25rem);
}

.osirion-feature-card-font-lg .osirion-feature-card-description[b-rkzub994o8] {
    font-size: clamp(1.125rem, 2.5vw, 1.375rem);
}

.osirion-feature-card-font-xl .osirion-feature-card-description[b-rkzub994o8] {
    font-size: clamp(1.25rem, 2.75vw, 1.5rem);
}

.osirion-feature-card-font-xxl .osirion-feature-card-description[b-rkzub994o8] {
    font-size: clamp(1.375rem, 3vw, 1.75rem);
}

/* Title hierarchy scaling */
.osirion-feature-card-font-xxs .osirion-feature-card-title[b-rkzub994o8] {
    font-size: clamp(0.875rem, 2vw, 1.25rem);
}

.osirion-feature-card-font-xs .osirion-feature-card-title[b-rkzub994o8] {
    font-size: clamp(1rem, 2.5vw, 1.5rem);
}

.osirion-feature-card-font-sm .osirion-feature-card-title[b-rkzub994o8] {
    font-size: clamp(1.25rem, 3vw, 2rem);
}

.osirion-feature-card-font-md .osirion-feature-card-title[b-rkzub994o8] {
    font-size: clamp(1.5rem, 3.5vw, 2.5rem);
}

.osirion-feature-card-font-lg .osirion-feature-card-title[b-rkzub994o8] {
    font-size: clamp(1.75rem, 4vw, 3rem);
}

.osirion-feature-card-font-xl .osirion-feature-card-title[b-rkzub994o8] {
    font-size: clamp(2rem, 4.5vw, 3.5rem);
}

.osirion-feature-card-font-xxl .osirion-feature-card-title[b-rkzub994o8] {
    font-size: clamp(2.5rem, 5vw, 4rem);
}

/* ================================================ */
/* Content Elements */
/* ================================================ */

.osirion-feature-card-title[b-rkzub994o8] {
    font-weight: var(--osirion-font-weight-bold, 700);
    margin: 0 0 var(--osirion-spacing-3, 0.75rem) 0;
    line-height: 1.3;
}

.osirion-feature-card-title-link[b-rkzub994o8] {
    color: var(--osirion-heading-color, var(--osirion-text-primary, #111827));
    text-decoration: none;
    transition: color var(--osirion-transition-duration-200, 0.2s) ease;
}

    .osirion-feature-card-title-link:hover[b-rkzub994o8] {
        color: var(--osirion-action-primary, #2563eb);
    }

.osirion-feature-card-description[b-rkzub994o8] {
    color: var(--osirion-text-secondary, #6b7280);
    line-height: 1.6;
    margin: 0 0 var(--osirion-spacing-4, 1rem) 0;
    flex: 1;
}

/* ================================================ */
/* Image Handling */
/* ================================================ */

.osirion-feature-card-image-container[b-rkzub994o8],
.osirion-feature-card-image-placeholder[b-rkzub994o8] {
    overflow: hidden;
    background-color: var(--osirion-background-secondary, #f3f4f6);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.osirion-feature-card-image[b-rkzub994o8] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--osirion-transition-duration-300, 0.3s) ease;
    display: block;
}

.osirion-feature-card-image-placeholder[b-rkzub994o8] {
    color: var(--osirion-text-secondary, #6b7280);
    min-height: 100px;
}

.osirion-feature-card-image-link[b-rkzub994o8] {
    display: block;
    height: 100%;
    flex-shrink: 0;
}

/* ================================================ */
/* Pillow Buttons */
/* ================================================ */

.osirion-feature-card-pillows[b-rkzub994o8] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--osirion-spacing-2, 0.5rem);
    margin-top: var(--osirion-spacing-3, 0.75rem);
    margin-bottom: var(--osirion-spacing-3, 0.75rem);
    position: relative;
    z-index: 2;
    pointer-events: auto;
}

.osirion-feature-card-pillow[b-rkzub994o8] {
    display: inline-block;
    position: relative;
    z-index: 3;
    pointer-events: auto;
    padding: 0.25rem 0.75rem;
    border-radius: var(--osirion-radius-full, 9999px);
    text-decoration: none;
    font-weight: var(--osirion-font-weight-medium, 500);
    font-size: var(--osirion-font-size-sm, 0.875rem);
    transition: background-color var(--osirion-transition-duration-200, 0.2s) ease, transform var(--osirion-transition-duration-200, 0.2s) ease;
}

    .osirion-feature-card-pillow:hover[b-rkzub994o8] {
        transform: translateY(-1px);
}

.osirion-feature-card-pillow-primary[b-rkzub994o8] {
    background-color: var(--osirion-color-primary-100, rgba(37, 99, 235, 0.1));
    color: var(--osirion-color-primary-800, #1e40af);
}

    .osirion-feature-card-pillow-primary:hover[b-rkzub994o8] {
        background-color: var(--osirion-color-primary-200, rgba(37, 99, 235, 0.2));
}

.osirion-feature-card-pillow-secondary[b-rkzub994o8] {
    background-color: var(--osirion-color-neutral-100, #f3f4f6);
    color: var(--osirion-color-neutral-800, #1f2937);
}

    .osirion-feature-card-pillow-secondary:hover[b-rkzub994o8] {
        background-color: var(--osirion-color-neutral-200, #e5e7eb);
}

.osirion-feature-card-pillow-tertiary[b-rkzub994o8] {
    background-color: var(--osirion-background-tertiary, #e5e7eb);
    color: var(--osirion-text-secondary, #6b7280);
}

    .osirion-feature-card-pillow-tertiary:hover[b-rkzub994o8] {
        background-color: var(--osirion-color-neutral-300, #d1d5db);
}

/* ================================================ */
/* Responsive Design - Enhanced */
/* ================================================ */

@media (max-width: 768px) {
    /* Convert left/right layouts to top/bottom on mobile */
    .osirion-feature-card-image-left[b-rkzub994o8], .osirion-feature-card-image-right[b-rkzub994o8] {
        grid-template-rows: auto 1fr;
        grid-template-columns: 1fr;
    }
        /* Reset image container sizing for mobile */
        .osirion-feature-card-image-left .osirion-feature-card-image-container[b-rkzub994o8],
        .osirion-feature-card-image-right .osirion-feature-card-image-container[b-rkzub994o8] {
            height: auto !important;
            width: 100% !important;
            max-width: 100% !important;
            min-height: 120px;
        }
    /* Adjust card dimensions for mobile */
    .osirion-feature-card-image-left[b-rkzub994o8],
    .osirion-feature-card-image-right[b-rkzub994o8] {
        height: auto !important;
        width: 100% !important;
        max-width: 500px;
    }
    /* FIXED: Reset content heights on mobile for better UX */
    .osirion-feature-card-content[b-rkzub994o8] {
        height: auto !important;
        min-height: 200px !important;
    }
    /* Center content on mobile for converted layouts */
    .osirion-feature-card-image-left .osirion-feature-card-content[b-rkzub994o8],
    .osirion-feature-card-image-right .osirion-feature-card-content[b-rkzub994o8] {
        text-align: center !important;
        align-items: center !important;
        justify-content: center !important;
        height: auto !important;
        min-height: 200px !important;
    }
    /* Reduce pillow button size on mobile */
    .osirion-feature-card-pillow[b-rkzub994o8] {
        font-size: var(--osirion-font-size-xs, 0.75rem);
        padding: 0.2rem 0.6rem;
    }
    /* Ensure mobile spacing works */
    .osirion-feature-card-content > * + *[b-rkzub994o8] {
        margin-top: var(--osirion-spacing-2, 0.5rem) !important;
    }
}

/* ================================================ */
/* Accessibility and Motion */
/* ================================================ */

@media (prefers-reduced-motion: reduce) {
    .osirion-feature-card[b-rkzub994o8], .osirion-feature-card-image[b-rkzub994o8], .osirion-feature-card-pillow[b-rkzub994o8] {
        transition: none;
        }

    .osirion-feature-card-transform-hover:hover[b-rkzub994o8],
    .osirion-feature-card-transform-always[b-rkzub994o8] {
        transform: none;
    }

    .osirion-feature-card-image-transform:hover .osirion-feature-card-image[b-rkzub994o8] {
        transform: none;
    }

    .osirion-feature-card-pillow:hover[b-rkzub994o8] {
        transform: none;
    }
    }

@media (prefers-contrast: high) {
    .osirion-feature-card[b-rkzub994o8] {
        border: 2px solid;
    }

    .osirion-feature-card-pillow[b-rkzub994o8] {
        border: 1px solid;
    }
    }

/* ================================================ */
/* Focus States */
/* ================================================ */

.osirion-feature-card-image-link:focus[b-rkzub994o8],
.osirion-feature-card-title-link:focus[b-rkzub994o8],
.osirion-feature-card-pillow:focus[b-rkzub994o8] {
    outline: var(--osirion-focus-ring-width, 2px) solid var(--osirion-focus-ring-color, #2563eb);
    outline-offset: var(--osirion-focus-ring-offset, 2px);
    }

/* ================================================ */
/* DEBUGGING - Uncomment to troubleshoot alignment */
/* ================================================ */

/*
    .osirion-feature-card .osirion-feature-card-content {
        border: 2px solid red !important;
        background: rgba(255, 0, 0, 0.05) !important;
    }

    .osirion-feature-card .osirion-feature-card-content > * {
        border: 1px solid blue !important;
        background: rgba(0, 0, 255, 0.05) !important;
}
    */
/* _content/Osirion.Blazor.Core/Components/Cards/OsirionMetricCard.razor.rz.scp.css */
.osirion-metric-card[b-9hvvdyye1r] {
    --osirion-metric-card-accent: var(--osirion-color-success-600, #16a34a);
    height: 100%;
    padding: 1.5rem;
    border-radius: var(--osirion-radius-lg, 0.5rem);
    background: var(--osirion-background-secondary, #fff);
    color: var(--osirion-text-primary, #123b2b);
    text-align: center;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.osirion-metric-card-border-none[b-9hvvdyye1r] { border: 0; }
.osirion-metric-card-border-default[b-9hvvdyye1r] { border: var(--osirion-border-width, 1px) solid var(--osirion-border-color, rgba(0, 0, 0, 0.08)); }
.osirion-metric-card-border-accent[b-9hvvdyye1r] { border: var(--osirion-border-width, 1px) solid color-mix(in srgb, var(--osirion-metric-card-accent) 32%, transparent); }

.osirion-metric-card-shadow-none[b-9hvvdyye1r] { box-shadow: none; }
.osirion-metric-card-shadow-small[b-9hvvdyye1r] { box-shadow: var(--osirion-shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.08)); }
.osirion-metric-card-shadow-medium[b-9hvvdyye1r] { box-shadow: var(--osirion-shadow-md, 0 4px 6px rgba(0, 0, 0, 0.1)); }
.osirion-metric-card-shadow-large[b-9hvvdyye1r] { box-shadow: var(--osirion-shadow-lg, 0 0.75rem 2rem rgba(0, 0, 0, 0.12)); }
.osirion-metric-card-shadow-smallaccent[b-9hvvdyye1r] { box-shadow: 0 0.25rem 0.75rem color-mix(in srgb, var(--osirion-metric-card-accent) 18%, transparent); }
.osirion-metric-card-shadow-mediumaccent[b-9hvvdyye1r] { box-shadow: 0 0.75rem 1.75rem color-mix(in srgb, var(--osirion-metric-card-accent) 22%, transparent); }
.osirion-metric-card-shadow-largeaccent[b-9hvvdyye1r] { box-shadow: 0 1.25rem 3rem color-mix(in srgb, var(--osirion-metric-card-accent) 26%, transparent); }

.osirion-metric-card-shadow-small:hover[b-9hvvdyye1r],
.osirion-metric-card-shadow-medium:hover[b-9hvvdyye1r],
.osirion-metric-card-shadow-large:hover[b-9hvvdyye1r],
.osirion-metric-card-shadow-smallaccent:hover[b-9hvvdyye1r],
.osirion-metric-card-shadow-mediumaccent:hover[b-9hvvdyye1r],
.osirion-metric-card-shadow-largeaccent:hover[b-9hvvdyye1r] {
    transform: translateY(-0.25rem);
}

.osirion-metric-card-shadow-small:hover[b-9hvvdyye1r],
.osirion-metric-card-shadow-medium:hover[b-9hvvdyye1r],
.osirion-metric-card-shadow-large:hover[b-9hvvdyye1r] { box-shadow: var(--osirion-shadow-xl, 0 1.5rem 4rem rgba(0, 0, 0, 0.14)); }
.osirion-metric-card-shadow-smallaccent:hover[b-9hvvdyye1r] { box-shadow: 0 0.5rem 1.25rem color-mix(in srgb, var(--osirion-metric-card-accent) 24%, transparent); }
.osirion-metric-card-shadow-mediumaccent:hover[b-9hvvdyye1r] { box-shadow: 0 1rem 2.25rem color-mix(in srgb, var(--osirion-metric-card-accent) 28%, transparent); }
.osirion-metric-card-shadow-largeaccent:hover[b-9hvvdyye1r] { box-shadow: 0 1.5rem 3.75rem color-mix(in srgb, var(--osirion-metric-card-accent) 32%, transparent); }

.osirion-metric-card-value[b-9hvvdyye1r] {
    margin-bottom: 0.5rem;
    color: var(--osirion-metric-card-accent);
    font-size: clamp(1.875rem, 3.5vw, 2.75rem);
    font-weight: 800;
    line-height: 1.1;
}

.osirion-metric-card-primary[b-9hvvdyye1r] { --osirion-metric-card-accent: var(--osirion-action-primary, var(--osirion-color-primary-600, #2563eb)); }
.osirion-metric-card-secondary[b-9hvvdyye1r] { --osirion-metric-card-accent: var(--osirion-action-secondary-text, var(--osirion-color-neutral-600, #4b5563)); }
.osirion-metric-card-success[b-9hvvdyye1r] { --osirion-metric-card-accent: var(--osirion-status-success, var(--osirion-color-success-600, #16a34a)); }
.osirion-metric-card-warning[b-9hvvdyye1r] { --osirion-metric-card-accent: var(--osirion-status-warning, var(--osirion-color-warning-600, #d97706)); }
.osirion-metric-card-danger[b-9hvvdyye1r] { --osirion-metric-card-accent: var(--osirion-status-danger, var(--osirion-color-danger-600, #dc2626)); }
.osirion-metric-card-info[b-9hvvdyye1r] { --osirion-metric-card-accent: var(--osirion-status-info, var(--osirion-color-info-600, #2563eb)); }
.osirion-metric-card-blue[b-9hvvdyye1r] { --osirion-metric-card-accent: var(--osirion-color-blue-600, #2563eb); }
.osirion-metric-card-teal[b-9hvvdyye1r] { --osirion-metric-card-accent: var(--osirion-color-teal-600, #0d9488); }
.osirion-metric-card-green[b-9hvvdyye1r] { --osirion-metric-card-accent: var(--osirion-color-green-600, #16a34a); }
.osirion-metric-card-amber[b-9hvvdyye1r] { --osirion-metric-card-accent: var(--osirion-color-amber-600, #d97706); }
.osirion-metric-card-purple[b-9hvvdyye1r] { --osirion-metric-card-accent: var(--osirion-color-purple-600, #7c3aed); }
.osirion-metric-card-indigo[b-9hvvdyye1r] { --osirion-metric-card-accent: var(--osirion-color-indigo-600, #4f46e5); }

.osirion-metric-card-kicker[b-9hvvdyye1r] {
    display: block;
    margin-bottom: 0.75rem;
    color: var(--osirion-text-secondary, #666);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.osirion-metric-card-label[b-9hvvdyye1r] {
    color: inherit;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.35;
}

.osirion-metric-card-description[b-9hvvdyye1r] {
    margin-top: 0.25rem;
    color: var(--osirion-text-secondary, #666);
    font-size: 0.82rem;
    line-height: 1.55;
}
/* _content/Osirion.Blazor.Core/Components/Cards/OsirionSubscriptionCard.razor.rz.scp.css */
/* Osirion Subscription Card Styles */

.osirion-subscription-card[b-btpvpa1yqs] {
    --osirion-subscription-card-padding: 2rem;
    --osirion-subscription-card-border-radius: 0.75rem;
    --osirion-subscription-card-background: var(--osirion-background-secondary);
    --osirion-subscription-card-border-color: var(--osirion-card-border-color, var(--osirion-border-color));
    --osirion-subscription-card-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --osirion-subscription-card-shadow-hover: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);

    display: block;
    width: 100%;
    max-width: 100%;
    background-color: var(--osirion-subscription-card-background);
    border-radius: var(--osirion-subscription-card-border-radius);
    transition: box-shadow 0.2s ease-in-out;
}

.osirion-subscription-card-wrapper[b-btpvpa1yqs] {
    padding: var(--osirion-subscription-card-padding);
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.osirion-subscription-card-bordered[b-btpvpa1yqs] {
    border: 1px solid var(--osirion-subscription-card-border-color);
}

.osirion-subscription-card-shadow[b-btpvpa1yqs] {
    box-shadow: var(--osirion-subscription-card-shadow);
}

.osirion-subscription-card-shadow:hover[b-btpvpa1yqs] {
    box-shadow: var(--osirion-subscription-card-shadow-hover);
}

.osirion-subscription-card-compact[b-btpvpa1yqs] {
    --osirion-subscription-card-padding: 1.5rem;
}

.osirion-subscription-card-compact .osirion-subscription-card-wrapper[b-btpvpa1yqs] {
    gap: 1.25rem;
}

.osirion-subscription-card-compact .osirion-subscription-card-title[b-btpvpa1yqs] {
    font-size: 1.125rem;
    margin-bottom: 0.5rem;
}

.osirion-subscription-card-compact .osirion-subscription-card-description[b-btpvpa1yqs] {
    font-size: 0.875rem;
}

.osirion-subscription-card-dark[b-btpvpa1yqs] {
    color: var(--osirion-text-primary);
}

.osirion-subscription-card-header[b-btpvpa1yqs] {
    text-align: center;
    margin-bottom: 0;
}

.osirion-subscription-card-title[b-btpvpa1yqs] {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--osirion-text-primary);
    margin: 0 0 0.75rem 0;
    line-height: 1.3;
}

.osirion-subscription-card-description[b-btpvpa1yqs] {
    font-size: 1rem;
    color: var(--osirion-text-secondary);
    margin: 0;
    line-height: 1.5;
}

.osirion-subscription-form[b-btpvpa1yqs] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.osirion-subscription-form .osirion-form-group[b-btpvpa1yqs] {
    margin-bottom: 1rem;
}

.osirion-subscription-form .osirion-form-group:last-child[b-btpvpa1yqs] {
    margin-bottom: 0;
}

.osirion-subscription-categories fieldset[b-btpvpa1yqs] {
    border: none;
    padding: 0;
    margin: 0;
}

.osirion-subscription-categories legend[b-btpvpa1yqs] {
    font-size: 1rem;
    font-weight: 500;
    color: var(--osirion-text-primary);
    margin-bottom: 0.75rem;
    padding: 0;
}

.osirion-subscription-category-item[b-btpvpa1yqs] {
    margin-bottom: 0.75rem;
}

.osirion-subscription-category-item:last-child[b-btpvpa1yqs] {
    margin-bottom: 0;
}

.osirion-subscription-category-item .osirion-checkbox-content[b-btpvpa1yqs] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.osirion-subscription-category-item .osirion-checkbox-text[b-btpvpa1yqs] {
    font-weight: 500;
    font-size: 1rem;
}

.osirion-subscription-category-item .osirion-checkbox-description[b-btpvpa1yqs] {
    font-size: 0.875rem;
    color: var(--osirion-text-tertiary);
    line-height: 1.4;
}

.osirion-subscription-categories-dropdown[b-btpvpa1yqs] {
    position: relative;
}

.osirion-custom-dropdown[b-btpvpa1yqs] {
    position: relative;
    width: 100%;
}

.osirion-subscription-card .form-control[b-btpvpa1yqs],
.osirion-subscription-card .osirion-input[b-btpvpa1yqs],
.osirion-dropdown-button[b-btpvpa1yqs] {
    line-height: 1.5;
    border-width: 1px;
}

.osirion-dropdown-button[b-btpvpa1yqs] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    border: 1px solid var(--osirion-border-color);
    border-radius: 0.375rem;
    background-color: var(--osirion-background-primary);
    color: var(--osirion-text-primary);
    font-size: 1rem;
    font-family: inherit;
    line-height: 1.5;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    list-style: none;
    outline: none;
    box-sizing: border-box;
    margin: 0;
}

.osirion-dropdown-button:focus[b-btpvpa1yqs] {
    border-color: var(--osirion-action-primary);
    box-shadow: 0 0 0 2px;
}

.osirion-dropdown-button:hover[b-btpvpa1yqs] {
    border-color: var(--osirion-border-color-hover);
}

.osirion-dropdown-text[b-btpvpa1yqs] {
    flex: 1;
    text-align: left;
    color: var(--osirion-text-tertiary);
    padding: 0.5rem;
}

.osirion-dropdown-chevron[b-btpvpa1yqs] {
    width: 1rem;
    height: 1rem;
    margin: 0.5rem;
    transition: transform 0.15s ease-in-out;
    flex-shrink: 0;
    color: var(--osirion-text-tertiary);
}

.osirion-custom-dropdown[open] .osirion-dropdown-chevron[b-btpvpa1yqs] {
    transform: rotate(180deg);
}

.osirion-dropdown-panel[b-btpvpa1yqs] {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 50;
    background-color: var(--osirion-background-primary);
    border: 1px solid var(--osirion-border-color);
    border-radius: 0.375rem;
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    margin-top: 0.25rem;
    max-height: 200px;
    overflow-y: auto;
}

.osirion-dropdown-header[b-btpvpa1yqs] {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--osirion-border-color);
    background-color: var(--osirion-background-secondary);
    border-radius: 0.375rem 0.375rem 0 0;
}

.osirion-dropdown-instruction[b-btpvpa1yqs] {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--osirion-text-tertiary);
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.osirion-dropdown-option[b-btpvpa1yqs] {
    border-bottom: 1px solid var(--osirion-border-color);
}

.osirion-dropdown-option:last-child[b-btpvpa1yqs] {
    border-bottom: none;
}

.osirion-checkbox-option[b-btpvpa1yqs] {
    display: flex;
    align-items: center;
    padding: 0.875rem 1rem;
    cursor: pointer;
    transition: background-color 0.15s ease-in-out;
    width: 100%;
    margin: 0;
}

.osirion-checkbox-option:hover[b-btpvpa1yqs] {
    background-color: var(--osirion-background-tertiary);
}

.osirion-checkbox-input[b-btpvpa1yqs] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.osirion-checkbox-indicator[b-btpvpa1yqs] {
    position: relative;
    width: 1.125rem;
    height: 1.125rem;
    border: 2px solid var(--osirion-border-color);
    border-radius: 0.25rem;
    background-color: var(--osirion-background-primary);
    margin-right: 0.75rem;
    margin-top: 0;
    flex-shrink: 0;
    transition: all 0.15s ease-in-out;
}

.osirion-checkbox-input:checked + .osirion-checkbox-indicator[b-btpvpa1yqs] {
    background-color: var(--osirion-action-primary);
    border-color: var(--osirion-action-primary);
}

.osirion-checkbox-input:checked + .osirion-checkbox-indicator[b-btpvpa1yqs]::after {
    content: '';
    position: absolute;
    top: 1px;
    left: 4px;
    width: 4px;
    height: 8px;
    border: 2px solid white;
    border-top: 0;
    border-left: 0;
    transform: rotate(45deg);
}

.osirion-checkbox-input:disabled + .osirion-checkbox-indicator[b-btpvpa1yqs] {
    background-color: var(--osirion-background-muted);
    border-color: var(--osirion-border-color);
    opacity: 0.6;
}

.osirion-checkbox-input:disabled ~ .osirion-checkbox-label-content[b-btpvpa1yqs] {
    opacity: 0.6;
}

.osirion-checkbox-label-content[b-btpvpa1yqs] {
    flex: 1;
    min-width: 0;
}

.osirion-option-name[b-btpvpa1yqs] {
    display: flex;
    align-items: center;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--osirion-text-primary);
    line-height: 1.4;
    margin-bottom: 0.125rem;
}

.osirion-required-badge[b-btpvpa1yqs] {
    display: inline-block;
    padding: 0.125rem 0.375rem;
    margin-left: 0.5rem;
    font-size: 0.625rem;
    font-weight: 600;
    color: var(--osirion-color-warning-text, #92400e);
    background-color: var(--osirion-color-warning-bg, #fef3c7);
    border-radius: 0.25rem;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.osirion-option-description[b-btpvpa1yqs] {
    display: block;
    font-size: 0.75rem;
    color: var(--osirion-text-tertiary);
    line-height: 1.4;
}

.osirion-subscribtion-link[b-btpvpa1yqs] {
    color: inherit;
    text-decoration: underline;
    transition: color 0.2s ease-in-out;
}

    .osirion-subscribtion-link:hover[b-btpvpa1yqs] {
        color: var(--osirion-contact-accent);
        text-decoration: underline;
    }

.osirion-subscription-card-dark .osirion-input[b-btpvpa1yqs],
.osirion-subscription-card-dark .form-control[b-btpvpa1yqs],
.osirion-subscription-card-dark .osirion-dropdown-button[b-btpvpa1yqs] {
    background-color: var(--osirion-background-primary);
    border-color: var(--osirion-border-color);
    color: var(--osirion-text-primary);
}

.osirion-subscription-card-dark .osirion-dropdown-option:hover[b-btpvpa1yqs],
.osirion-subscription-card-dark .osirion-checkbox-option:hover[b-btpvpa1yqs],
.osirion-subscription-card-dark .osirion-checkbox-option:hover .osirion-checkbox-label-content[b-btpvpa1yqs],
.osirion-subscription-card-dark .osirion-dropdown-option:hover .osirion-option-name[b-btpvpa1yqs],
.osirion-subscription-card-dark .osirion-dropdown-option:hover .osirion-option-description[b-btpvpa1yqs] {
    background-color: var(--osirion-background-tertiary) !important;
}

.osirion-subscription-card-dark .osirion-dropdown-option:hover .osirion-option-name[b-btpvpa1yqs] {
    color: var(--osirion-text-primary);
}

.osirion-subscription-card-dark .osirion-dropdown-option:hover .osirion-option-description[b-btpvpa1yqs] {
    color: var(--osirion-text-secondary);
}

@media (min-width: 640px) {
    .osirion-subscription-card[b-btpvpa1yqs] {
        max-width: var(--osirion-width-4xl), 56rem;
    }
}

.osirion-subscription-card .osirion-alert[b-btpvpa1yqs] {
    margin-bottom: 1.5rem;
    font-size: 0.9375rem;
    padding: 1rem 1.25rem;
    border-radius: 0.375rem;
}

.osirion-subscription-card .osirion-form-label[b-btpvpa1yqs] {
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: 0.375rem;
    color: var(--osirion-text-primary);
    display: block;
}

.osirion-subscription-card-compact .osirion-form-label[b-btpvpa1yqs] {
    font-size: 0.9375rem;
}

.osirion-subscription-card .osirion-validation-message[b-btpvpa1yqs] {
    font-size: 0.875rem;
    margin-top: 0.5rem;
    line-height: 1.4;
}

.osirion-subscription-card .osirion-form-checkbox-group[b-btpvpa1yqs] {
    margin-bottom: 0;
}

.osirion-subscription-card .osirion-form-checkbox-label[b-btpvpa1yqs] {
    display: flex;
    align-items: flex-start;
    cursor: pointer;
    gap: 0.75rem;
}

.osirion-subscription-card .osirion-form-checkbox-label input[type="checkbox"][b-btpvpa1yqs] {
    width: 1.125rem;
    height: 1.125rem;
    margin: 0;
    margin-top: 0.125rem;
    accent-color: var(--osirion-action-primary);
    cursor: pointer;
}

.osirion-subscription-card .osirion-checkbox-text[b-btpvpa1yqs] {
    flex: 1;
    line-height: 1.5;
    color: var(--osirion-text-primary);
}

.osirion-subscription-card .osirion-honeypot[b-btpvpa1yqs] {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.osirion-subscription-card .osirion-honeypot input[b-btpvpa1yqs] {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    border: none !important;
    background: transparent !important;
    color: transparent !important;
}

.osirion-subscription-card--secondary[b-btpvpa1yqs] {
    --osirion-subscription-card-background: var(--osirion-background-secondary);
}

.osirion-subscription-card--tertiary[b-btpvpa1yqs] {
    --osirion-subscription-card-background: var(--osirion-background-tertiary);
}

.osirion-subscription-categories-dropdown .osirion-custom-dropdown[b-btpvpa1yqs] {
    margin-top: 0.5rem;
}

.osirion-subscription-categories-dropdown[b-btpvpa1yqs] {
    margin-bottom: 1rem;
}

.osirion-subscription-button[b-btpvpa1yqs] {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 1rem;
}
/* _content/Osirion.Blazor.Core/Components/Cards/OsirionTestimonialCard.razor.rz.scp.css */
/* Base testimonial card styles - Matching requested format */
.osirion-testimonial-card[b-e721uc58hz] {
    --osirion-testimonial-elevation-highlight: rgba(255, 255, 255, 0.95);
    --osirion-testimonial-elevation-shadow-primary: rgba(15, 23, 42, 0.14);
    --osirion-testimonial-elevation-shadow-secondary: rgba(15, 23, 42, 0.08);
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--osirion-spacing-4);
    padding: var(--osirion-spacing-6);
    background: var(
        --osirion-testimonial-card-background,
        color-mix(in srgb, var(--osirion-background-primary, #ffffff) 72%, transparent)
    );
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    backdrop-filter: blur(20px) saturate(180%);
    border-radius: var(--osirion-testimonial-card-radius, var(--osirion-radius-xl, 1rem));
    border: 1px solid var(
        --osirion-testimonial-card-border,
        color-mix(in srgb, var(--osirion-text-primary, #0f172a) 10%, transparent)
    );
    transition: border-color var(--osirion-transition-duration-200) ease, box-shadow var(--osirion-transition-duration-200) ease;
    overflow: hidden;
    /* Optimized card height */
    min-height: 280px;
    max-height: 320px;
}

/* Elevated card effect using root variables */
.osirion-testimonial-elevated[b-e721uc58hz] {
    transform: translateY(-2px);
    box-shadow: var(
        --osirion-testimonial-card-shadow,
        0 2px 0 var(--osirion-testimonial-elevation-highlight) inset
    );
    filter: drop-shadow(0 5px 10px var(--osirion-testimonial-elevation-shadow-primary))
            drop-shadow(0 1px 3px var(--osirion-testimonial-elevation-shadow-secondary));
}

/* Borderless variant */
.osirion-testimonial-borderless[b-e721uc58hz] {
    border: none;
    background: transparent;
}

/* Rating stars - left aligned as per image */
.osirion-testimonial-rating[b-e721uc58hz] {
    display: flex;
    justify-content: flex-start;
    gap: var(--osirion-spacing-1);
    margin-bottom: var(--osirion-spacing-2);
}

.osirion-testimonial-star[b-e721uc58hz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    min-height: 18px;
    transition: all var(--osirion-transition-duration-200) ease;
}

.osirion-testimonial-star svg[b-e721uc58hz] {
    width: 16px;
    height: 16px;
}

.osirion-testimonial-star-filled[b-e721uc58hz] {
    color: #fbbf24; /* Golden yellow for filled stars */
}

.osirion-testimonial-star-empty[b-e721uc58hz] {
    color: var(--osirion-text-secondary);
}

/* Quote styling - clean text without decorations */
.osirion-testimonial-quote[b-e721uc58hz] {
    margin: 0;
    flex: 1;
    min-height: 0;
    position: relative;
}

.osirion-testimonial-text[b-e721uc58hz] {
    margin: 0;
    font-size: var(--osirion-font-size-base); /* Increased from sm to base */
    line-height: var(--osirion-line-height-relaxed);
    color: var(--osirion-text-primary);
    font-style: normal;
    font-weight: var(--osirion-font-weight-normal);
    text-align: left;
    hyphens: auto;
    word-break: break-word;
    /* Limit text to prevent overflow */
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Person row - horizontal layout like the image */
.osirion-testimonial-person-row[b-e721uc58hz] {
    display: flex;
    align-items: center;
    gap: var(--osirion-spacing-3);
}

/* Avatar container - left side of person row */
.osirion-testimonial-avatar[b-e721uc58hz] {
    flex-shrink: 0;
}

.osirion-testimonial-image[b-e721uc58hz] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    object-position: center;
    border: 2px solid var(--osirion-text-secondary);
    background-color: var(--osirion-background-secondary);
    transition: all var(--osirion-transition-duration-200) ease;
    user-select: none;
    -webkit-user-select: none;
}

.osirion-testimonial-card:hover .osirion-testimonial-image[b-e721uc58hz] {
    transform: scale(1.05);
    border-color: var(--osirion-color-primary-400);
}

/* Person details - right side of person row - more compact spacing */
.osirion-testimonial-person-details[b-e721uc58hz] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--osirion-spacing-0-5); /* Reduced from 1.5 to 0.5 for denser layout */
}

/* Name row - name and LinkedIn icon as integrated unit - tighter spacing */
.osirion-testimonial-name-row[b-e721uc58hz] {
    display: flex;
    align-items: center;
    gap: var(--osirion-spacing-0-5); /* Reduced from 1 for tighter spacing */
}

.osirion-testimonial-name[b-e721uc58hz] {
    font-size: var(--osirion-font-size-lg); /* Increased from base to lg */
    font-weight: var(--osirion-font-weight-semibold);
    color: var(--osirion-text-primary);
    font-style: normal;
    line-height: var(--osirion-line-height-tight);
    margin: 0;
}

/* LinkedIn name link wrapper - more compact when LinkedIn URL exists */
.osirion-testimonial-name-link[b-e721uc58hz] {
    display: inline-flex;
    align-items: center;
    gap: 5px; /* Reduced from 1 for tighter spacing */
    text-decoration: none;
    color: var(--osirion-text-primary);
}

.osirion-testimonial-name-link:hover[b-e721uc58hz] {
    color: var(--osirion-text-primary);
    text-decoration: none;
}

.osirion-testimonial-name-link:focus-visible[b-e721uc58hz] {
    outline: 2px solid var(--osirion-color-primary-600);
    outline-offset: 2px;
}

/* LinkedIn icon - more compact integration with name */
.osirion-testimonial-linkedin-icon[b-e721uc58hz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px; /* Slightly smaller for denser look */
    height: 16px;
    color: #0077b5; /* Official LinkedIn blue */
    transition: all var(--osirion-transition-duration-200) ease;
    flex-shrink: 0;
}

.osirion-testimonial-name-link:hover .osirion-testimonial-linkedin-icon[b-e721uc58hz] {
    transform: scale(1.05);
}

.osirion-testimonial-linkedin-icon svg[b-e721uc58hz] {
    width: 12px; /* Smaller icon for denser look */
    height: 12px;
    fill: currentColor;
}

/* Position and company details - WCAG 2.2 compliant - more compact */
.osirion-testimonial-details[b-e721uc58hz] {
    display: flex;
    align-items: center;
    gap: var(--osirion-spacing-1); /* Maintain readable spacing for text */
    font-size: var(--osirion-font-size-sm); /* Increased from xs to sm for WCAG 2.2 */
    color: var(--osirion-text-secondary);
    line-height: var(--osirion-line-height-tight); /* Tighter line height */
    flex-wrap: wrap;
    /* WCAG 2.2 - minimum 12px font size for readability */
    margin-top: 1px; /* Minimal space above position/company */
}

/* Read more actions - bottom of card */
.osirion-testimonial-actions[b-e721uc58hz] {
    align-self: stretch;
    margin-top: auto;
    padding-top: var(--osirion-spacing-3);
    border-top: 1px solid var(--osirion-border-color);
}

/* Size variations - consistent with new layout and larger fonts */
.osirion-testimonial-small[b-e721uc58hz] {
    padding: var(--osirion-spacing-4);
    gap: var(--osirion-spacing-3);
    min-height: 200px;
    max-height: 240px;
    border-radius: var(--osirion-radius-lg);
}

.osirion-testimonial-small .osirion-testimonial-image[b-e721uc58hz] {
    width: 32px;
    height: 32px;
    border-width: 1px;
}

.osirion-testimonial-small .osirion-testimonial-text[b-e721uc58hz] {
    font-size: var(--osirion-font-size-sm); /* Increased from xs to sm */
    -webkit-line-clamp: 2;
    line-height: var(--osirion-line-height-normal);
}

.osirion-testimonial-small .osirion-testimonial-name[b-e721uc58hz] {
    font-size: var(--osirion-font-size-base); /* Increased from sm to base */
}

.osirion-testimonial-small .osirion-testimonial-details[b-e721uc58hz] {
    font-size: var(--osirion-font-size-xs); /* Increased from 10px to xs */
}

.osirion-testimonial-small .osirion-testimonial-star svg[b-e721uc58hz] {
    width: 14px;
    height: 14px;
}

.osirion-testimonial-small .osirion-testimonial-star[b-e721uc58hz] {
    min-width: 16px;
    min-height: 16px;
}

.osirion-testimonial-small .osirion-testimonial-person-details[b-e721uc58hz] {
    gap: var(--osirion-spacing-0-5);
}

.osirion-testimonial-small .osirion-testimonial-name-link[b-e721uc58hz] {
    padding: 0;
    margin: 0;
    gap: 0;
}

.osirion-testimonial-small .osirion-testimonial-linkedin-icon[b-e721uc58hz] {
    width: 14px;
    height: 14px;
}

.osirion-testimonial-small .osirion-testimonial-linkedin-icon svg[b-e721uc58hz] {
    width: 10px;
    height: 10px;
}

.osirion-testimonial-small .osirion-testimonial-details[b-e721uc58hz] {
    margin-top: 1px;
    line-height: var(--osirion-line-height-tight);
}

.osirion-testimonial-large[b-e721uc58hz] {
    padding: var(--osirion-spacing-8);
    gap: var(--osirion-spacing-5);
    min-height: 400px;
    max-height: 460px;
    border-radius: var(--osirion-radius-2xl);
}

.osirion-testimonial-large .osirion-testimonial-image[b-e721uc58hz] {
    width: 56px;
    height: 56px;
    border-width: 2px;
}

.osirion-testimonial-large .osirion-testimonial-text[b-e721uc58hz] {
    font-size: var(--osirion-font-size-lg); /* Increased from base to lg */
    -webkit-line-clamp: 5;
    line-height: var(--osirion-line-height-relaxed);
}

.osirion-testimonial-large .osirion-testimonial-name[b-e721uc58hz] {
    font-size: var(--osirion-font-size-xl); /* Increased from lg to xl */
}

.osirion-testimonial-large .osirion-testimonial-details[b-e721uc58hz] {
    font-size: var(--osirion-font-size-base); /* Increased from sm to base */
}

.osirion-testimonial-large .osirion-testimonial-star svg[b-e721uc58hz] {
    width: 18px;
    height: 18px;
}

.osirion-testimonial-large .osirion-testimonial-star[b-e721uc58hz] {
    min-width: 22px;
    min-height: 22px;
}

.osirion-testimonial-large .osirion-testimonial-person-details[b-e721uc58hz] {
    gap: var(--osirion-spacing-1); /* Slightly more space in large variant */
}

.osirion-testimonial-large .osirion-testimonial-name-link[b-e721uc58hz] {
    padding: 0;
    margin: 0;
    gap: 0;
}

.osirion-testimonial-large .osirion-testimonial-linkedin-icon[b-e721uc58hz] {
    width: 18px;
    height: 18px;
}

.osirion-testimonial-large .osirion-testimonial-linkedin-icon svg[b-e721uc58hz] {
    width: 14px;
    height: 14px;
}

.osirion-testimonial-large .osirion-testimonial-details[b-e721uc58hz] {
    margin-top: 2px;
    line-height: var(--osirion-line-height-tight);
}

/* Variant styles - adapted to new layout */
.osirion-testimonial-minimal[b-e721uc58hz] {
    background: transparent;
    border: 1px solid var(--osirion-text-secondary);
    padding: var(--osirion-spacing-4);
    min-height: 160px;
    max-height: 200px;
    background: var(--osirion-background-primary, #ffffff);
}

.osirion-testimonial-minimal .osirion-testimonial-image[b-e721uc58hz] {
    width: 28px;
    height: 28px;
    border-width: 1px;
}

.osirion-testimonial-minimal .osirion-testimonial-text[b-e721uc58hz] {
    font-size: var(--osirion-font-size-sm); /* Increased from xs to sm */
    -webkit-line-clamp: 2;
    /* Keep a stable baseline without clipping optional card content. */
    line-height: var(--osirion-line-height-normal);
}

.osirion-testimonial-minimal .osirion-testimonial-name[b-e721uc58hz] {
    font-size: var(--osirion-font-size-sm); /* Increased from xs to sm */
}

.osirion-testimonial-minimal .osirion-testimonial-details[b-e721uc58hz] {
    font-size: var(--osirion-font-size-xs); /* Increased from 9px to xs */
}

.osirion-testimonial-minimal .osirion-testimonial-star svg[b-e721uc58hz] {
    width: 12px;
    height: 12px;
}

.osirion-testimonial-minimal .osirion-testimonial-star[b-e721uc58hz] {
    min-width: 14px;
    min-height: 14px;
}

.osirion-testimonial-minimal .osirion-testimonial-person-details[b-e721uc58hz] {
    gap: var(--osirion-spacing-0-5);
}

.osirion-testimonial-minimal .osirion-testimonial-name-link[b-e721uc58hz] {
    padding: 0;
    margin: 0;
    gap: 0;
}

.osirion-testimonial-minimal .osirion-testimonial-linkedin-icon[b-e721uc58hz] {
    width: 12px;
    height: 12px;
}

.osirion-testimonial-minimal .osirion-testimonial-linkedin-icon svg[b-e721uc58hz] {
    width: 8px;
    height: 8px;
}

.osirion-testimonial-minimal .osirion-testimonial-details[b-e721uc58hz] {
    margin-top: 1px;
    line-height: var(--osirion-line-height-tight);
}

.osirion-testimonial-minimal:hover[b-e721uc58hz] {
    box-shadow: var(--osirion-shadow-base);
}

.osirion-testimonial-highlighted[b-e721uc58hz] {
    background: linear-gradient(135deg, 
        var(--osirion-background-primary) 0%, 
        var(--osirion-color-primary-50) 100%);
    border: 1px solid var(--osirion-color-primary-200);
    position: relative;
    overflow: hidden;
}

.osirion-testimonial-highlighted[b-e721uc58hz]::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, 
        var(--osirion-color-primary-500) 0%, 
        var(--osirion-color-primary-400) 100%);
}

.osirion-testimonial-compact[b-e721uc58hz] {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--osirion-spacing-4);
    padding: var(--osirion-spacing-5);
    text-align: left;
    min-height: 160px;
    max-height: 200px;
    border-radius: var(--osirion-radius-lg);
}

.osirion-testimonial-compact .osirion-testimonial-content[b-e721uc58hz] {
    text-align: left;
    gap: var(--osirion-spacing-2);
}

.osirion-testimonial-compact .osirion-testimonial-text[b-e721uc58hz] {
    -webkit-line-clamp: 2;
    text-align: left;
    font-size: var(--osirion-font-size-sm); /* Increased from xs to sm */
    line-height: var(--osirion-line-height-normal);
}

.osirion-testimonial-compact .osirion-testimonial-name[b-e721uc58hz] {
    font-size: var(--osirion-font-size-base); /* Increased from sm to base */
}

.osirion-testimonial-compact .osirion-testimonial-details[b-e721uc58hz] {
    font-size: var(--osirion-font-size-xs); /* Increased from 10px to xs */
}

.osirion-testimonial-compact .osirion-testimonial-star svg[b-e721uc58hz] {
    width: 14px;
    height: 14px;
}

.osirion-testimonial-compact .osirion-testimonial-star[b-e721uc58hz] {
    min-width: 16px;
    min-height: 16px;
}

.osirion-testimonial-compact .osirion-testimonial-person-details[b-e721uc58hz] {
    gap: var(--osirion-spacing-0-5);
}

/*.osirion-testimonial-compact .osirion-testimonial-name-link {
    padding: 0;
    margin: 0;
    gap: 0;
}*/

.osirion-testimonial-compact .osirion-testimonial-linkedin-icon[b-e721uc58hz] {
    width: 14px;
    height: 14px;
}

.osirion-testimonial-compact .osirion-testimonial-linkedin-icon svg[b-e721uc58hz] {
    width: 11px;
    height: 11px;
}

.osirion-testimonial-compact .osirion-testimonial-details[b-e721uc58hz] {
    margin-top: 1px;
    line-height: var(--osirion-line-height-tight);
}

/* Theme Mode Support - Clean theme implementation */
/* Light theme (explicit) */
.osirion-testimonial-theme-light[b-e721uc58hz] {
    color: var(--osirion-text-primary);
}

.osirion-testimonial-theme-light .osirion-testimonial-text[b-e721uc58hz] {
    color: var(--osirion-text-secondary);
}

.osirion-testimonial-theme-light .osirion-testimonial-name[b-e721uc58hz] {
    color: var(--osirion-text-secondary);
}

.osirion-testimonial-theme-light .osirion-testimonial-details[b-e721uc58hz] {
    color: var(--osirion-text-secondary); /* Improved contrast for WCAG 2.2 */
}

.osirion-testimonial-theme-light .osirion-testimonial-position[b-e721uc58hz] {
    color: var(--osirion-text-secondary); /* Improved contrast */
}

    .osirion-testimonial-theme-light .osirion-testimonial-company[b-e721uc58hz] {
        color: var(--osirion-text-secondary); /* Improved contrast */
    }

.osirion-testimonial-theme-light .osirion-testimonial-image[b-e721uc58hz] {
    border-color: var(--osirion-text-secondary);
    background-color: var(--osirion-color-neutral-50);
}

.osirion-testimonial-theme-light .osirion-testimonial-star-empty[b-e721uc58hz] {
    color: var(--osirion-text-secondary);
}

/* Dark theme (explicit) */
.osirion-testimonial-theme-dark[b-e721uc58hz] {
    --osirion-testimonial-card-background: color-mix(in srgb, var(--osirion-color-neutral-900, #111827) 88%, transparent);
    --osirion-testimonial-card-border: rgba(255, 255, 255, 0.14);
    --osirion-testimonial-elevation-highlight: transparent;
    --osirion-testimonial-elevation-shadow-primary: rgba(0, 0, 0, 0.48);
    --osirion-testimonial-elevation-shadow-secondary: rgba(0, 0, 0, 0.28);
    color: var(--osirion-color-white, #ffffff);
}

.osirion-testimonial-theme-dark .osirion-testimonial-text[b-e721uc58hz] {
    color: color-mix(in srgb, var(--osirion-color-white, #ffffff) 78%, transparent);
}

.osirion-testimonial-theme-dark .osirion-testimonial-name[b-e721uc58hz] {
    color: var(--osirion-color-white, #ffffff);
}

.osirion-testimonial-theme-dark .osirion-testimonial-details[b-e721uc58hz] {
    color: color-mix(in srgb, var(--osirion-color-white, #ffffff) 68%, transparent);
}

.osirion-testimonial-theme-dark .osirion-testimonial-position[b-e721uc58hz] {
    color: color-mix(in srgb, var(--osirion-color-white, #ffffff) 68%, transparent);
}

    .osirion-testimonial-theme-dark .osirion-testimonial-company[b-e721uc58hz] {
        color: color-mix(in srgb, var(--osirion-color-white, #ffffff) 68%, transparent); /* Improved contrast */
    }

.osirion-testimonial-theme-dark .osirion-testimonial-image[b-e721uc58hz] {
    border-color: var(--osirion-text-secondary);
    background-color: var(--osirion-text-secondary);
}

.osirion-testimonial-theme-dark .osirion-testimonial-highlighted[b-e721uc58hz] {
    background: linear-gradient(135deg, 
        var(--osirion-text-secondary) 0%, 
        var(--osirion-text-secondary) 100%);
    border-color: var(--osirion-color-primary-700);
}

.osirion-testimonial-theme-dark .osirion-testimonial-star-empty[b-e721uc58hz] {
    color: var(--osirion-text-secondary);
}

.osirion-testimonial-theme-dark .osirion-testimonial-minimal[b-e721uc58hz] {
    background: transparent;
    border-color: var(--osirion-text-secondary);
}

/* System theme - inherits from parent/global theme via CSS custom properties */
.osirion-testimonial-theme-system[b-e721uc58hz] {
    color: var(--osirion-text-primary);
}

.osirion-testimonial-theme-system .osirion-testimonial-text[b-e721uc58hz] {
    color: var(--osirion-text-secondary);
}

.osirion-testimonial-theme-system .osirion-testimonial-name[b-e721uc58hz] {
    color: var(--osirion-text-primary);
}

.osirion-testimonial-theme-system .osirion-testimonial-details[b-e721uc58hz] {
    color: var(--osirion-text-secondary); /* Better contrast */
}

.osirion-testimonial-theme-system .osirion-testimonial-position[b-e721uc58hz] {
    color: var(--osirion-text-secondary);
}

    .osirion-testimonial-theme-system .osirion-testimonial-company[b-e721uc58hz] {
        color: var(--osirion-text-secondary);
    }

.osirion-testimonial-theme-system .osirion-testimonial-image[b-e721uc58hz] {
    border-color: var(--osirion-border-color);
    background-color: var(--osirion-background-secondary);
}

.osirion-testimonial-theme-system .osirion-testimonial-star-empty[b-e721uc58hz] {
    color: var(--osirion-text-secondary);
}

:root[data-osirion-theme="dark"] .osirion-testimonial-theme-system[b-e721uc58hz],
[data-osirion-theme="dark"] .osirion-testimonial-theme-system[b-e721uc58hz],
:root[data-theme="dark"] .osirion-testimonial-theme-system[b-e721uc58hz],
[data-theme="dark"] .osirion-testimonial-theme-system[b-e721uc58hz],
:root[data-bs-theme="dark"] .osirion-testimonial-theme-system[b-e721uc58hz],
[data-bs-theme="dark"] .osirion-testimonial-theme-system[b-e721uc58hz] {
    --osirion-testimonial-elevation-highlight: transparent;
    --osirion-testimonial-elevation-shadow-primary: rgba(0, 0, 0, 0.48);
    --osirion-testimonial-elevation-shadow-secondary: rgba(0, 0, 0, 0.28);
}

/* Inverted theme */
.osirion-testimonial-theme-inverted[b-e721uc58hz] {
    /* Default to dark in light mode */
    background: var(--osirion-text-secondary);
    border-color: var(--osirion-text-secondary);
    color: var(--osirion-text-secondary);
}

.osirion-testimonial-theme-inverted .osirion-testimonial-text[b-e721uc58hz] {
    color: var(--osirion-text-secondary);
}

.osirion-testimonial-theme-inverted .osirion-testimonial-name[b-e721uc58hz] {
    color: var(--osirion-text-secondary);
}

.osirion-testimonial-theme-inverted .osirion-testimonial-details[b-e721uc58hz] {
    color: var(--osirion-text-secondary); /* Improved contrast */
}

.osirion-testimonial-theme-inverted .osirion-testimonial-position[b-e721uc58hz] {
    color: var(--osirion-text-secondary);
}

.osirion-testimonial-theme-inverted .osirion-testimonial-company[b-e721uc58hz] {
    color: var(--osirion-text-secondary);
}

.osirion-testimonial-theme-inverted .osirion-testimonial-image[b-e721uc58hz] {
    border-color: var(--osirion-text-secondary);
    background-color: var(--osirion-text-secondary);
}

.osirion-testimonial-theme-inverted .osirion-testimonial-star-empty[b-e721uc58hz] {
    color: var(--osirion-text-secondary);
}

/* Inverted theme in dark mode becomes light */
@media (prefers-color-scheme: dark) {
    .osirion-testimonial-theme-inverted[b-e721uc58hz] {
        background: var(--osirion-color-white);
        border-color: var(--osirion-text-secondary);
        color: var(--osirion-text-secondary);
    }
    
    .osirion-testimonial-theme-inverted .osirion-testimonial-text[b-e721uc58hz] {
        color: var(--osirion-text-secondary);
    }
    
    .osirion-testimonial-theme-inverted .osirion-testimonial-name[b-e721uc58hz] {
        color: var(--osirion-text-secondary);
    }
    
    .osirion-testimonial-theme-inverted .osirion-testimonial-details[b-e721uc58hz] {
        color: var(--osirion-text-secondary);
    }
    
    .osirion-testimonial-theme-inverted .osirion-testimonial-position[b-e721uc58hz] {
        color: var(--osirion-text-secondary);
    }
    
    .osirion-testimonial-theme-inverted .osirion-testimonial-company[b-e721uc58hz] {
        color: var(--osirion-text-secondary);
    }
    
    .osirion-testimonial-theme-inverted .osirion-testimonial-image[b-e721uc58hz] {
        border-color: var(--osirion-text-secondary);
        background-color: var(--osirion-color-neutral-50);
    }
    
    .osirion-testimonial-theme-inverted .osirion-testimonial-star-empty[b-e721uc58hz] {
        color: var(--osirion-text-secondary);
    }
}

/* Enhanced responsive design with WCAG 2.2 compliance */
@media (max-width: 767.98px) {
    .osirion-testimonial-card[b-e721uc58hz] {
        padding: var(--osirion-spacing-5);
        gap: var(--osirion-spacing-3);
        min-height: 260px;
        max-height: 300px;
    }
    
    .osirion-testimonial-image[b-e721uc58hz] {
        width: 36px;
        height: 36px;
    }
    
    .osirion-testimonial-text[b-e721uc58hz] {
        font-size: var(--osirion-font-size-sm); /* Increased for mobile */
        -webkit-line-clamp: 3;
    }
    
    .osirion-testimonial-name[b-e721uc58hz] {
        font-size: var(--osirion-font-size-base); /* Increased for mobile */
    }
    
    .osirion-testimonial-details[b-e721uc58hz] {
        font-size: var(--osirion-font-size-xs); /* Increased for mobile */
    }
    
    /* Stack person row vertically on mobile */
    .osirion-testimonial-person-row[b-e721uc58hz] {
        align-items: center;
        gap: var(--osirion-spacing-2);
    }
    
    .osirion-testimonial-linkedin-link[b-e721uc58hz] {
        width: 18px;
        height: 18px;
        padding: var(--osirion-spacing-1-5);
        background: none;
        border: none;
        border-radius: 0;
    }
    
    .osirion-testimonial-linkedin-link svg[b-e721uc58hz] {
        width: 11px;
        height: 11px;
    }
}

/* WCAG 2.2 - Reduced motion compliance */
@media (prefers-reduced-motion: reduce) {
    .osirion-testimonial-card[b-e721uc58hz],
    .osirion-testimonial-image[b-e721uc58hz],
    .osirion-testimonial-star[b-e721uc58hz],
    .osirion-testimonial-linkedin-link[b-e721uc58hz] {
        transition: none;
        animation: none;
    }
    
    .osirion-testimonial-elevated:hover[b-e721uc58hz],
    .osirion-testimonial-minimal:hover[b-e721uc58hz] {
        transform: none;
    }
    
    .osirion-testimonial-card:hover .osirion-testimonial-image[b-e721uc58hz] {
        transform: none;
    }
    
    .osirion-testimonial-linkedin-link:hover[b-e721uc58hz] {
        transform: none;
    }
}

/* WCAG 2.2 - High contrast mode support */
@media (prefers-contrast: high) {
    .osirion-testimonial-card[b-e721uc58hz] {
        border-width: 2px;
        border-color: currentColor;
        background: var(--osirion-background-primary);
    }
    
    .osirion-testimonial-image[b-e721uc58hz] {
        border-width: 3px;
        border-color: currentColor;
    }
    
    .osirion-testimonial-linkedin-link:focus[b-e721uc58hz] {
        outline: 3px solid currentColor;
        outline-offset: 2px;
        box-shadow: none;
    }
    
    /* Ensure sufficient contrast for all text */
    .osirion-testimonial-star-filled[b-e721uc58hz] {
        color: currentColor;
    }
    
    .osirion-testimonial-linkedin-link[b-e721uc58hz] {
        color: #0077b5 !important;
    }
    
    /* WCAG 2.2 - enhanced contrast for position and company */
    .osirion-testimonial-details[b-e721uc58hz],
    .osirion-testimonial-position[b-e721uc58hz],
    .osirion-testimonial-company[b-e721uc58hz] {
        color: var(--osirion-text-secondary);
        opacity: 0.8;
    }
}

/* Print styles */
@media print {
    .osirion-testimonial-card[b-e721uc58hz] {
        break-inside: avoid;
        background: white !important;
        border: 1px solid black !important;
        box-shadow: none !important;
        color: black !important;
        page-break-inside: avoid;
        min-height: auto;
        max-height: none;
    }
    
    .osirion-testimonial-linkedin-link[b-e721uc58hz],
    .osirion-testimonial-actions[b-e721uc58hz] {
        display: none;
    }
    
    .osirion-testimonial-star[b-e721uc58hz] {
        color: black !important;
    }
    
    .osirion-testimonial-image[b-e721uc58hz] {
        border: 2px solid black !important;
        filter: grayscale(100%);
    }
    
    .osirion-testimonial-text[b-e721uc58hz] {
        -webkit-line-clamp: unset;
        display: block;
        overflow: visible;
    }
}
/* _content/Osirion.Blazor.Core/Components/Carousels/InfiniteLogoCarousel.razor.rz.scp.css */
/* 
 * Osirion Infinite Logo Carousel Component
 * SSR-first scroll rail with progressive interaction enhancement
 */

.osirion-infinite-carousel[b-7a5yv0r49o] {
    --osirion-logo-width: 200px;
    --osirion-logo-height: 80px;
    --osirion-logo-gap: 24px;
    padding: var(--osirion-spacing-6, 2rem) 0;
    background-color: transparent;
    transition: background-color 0.3s ease;
    position: relative;
}

.osirion-carousel-header[b-7a5yv0r49o] {
    text-align: center;
    margin-bottom: var(--osirion-spacing-4, 1rem);
}

.osirion-carousel-title[b-7a5yv0r49o] {
    font-size: var(--osirion-font-size-2xl, 2rem);
    font-weight: var(--osirion-font-weight-semibold, 600);
    color: var(--osirion-text-primary);
    margin: 0 0 var(--osirion-spacing-4, 1rem) 0;
    transition: color 0.3s ease;
}

.osirion-carousel-container[b-7a5yv0r49o] {
    max-width: var(--osirion-max-width-7xl, 1440px);
    margin: 0 auto;
    padding: 0 var(--osirion-spacing-4, 1rem);
    box-sizing: border-box;
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
}

.osirion-carousel-wrapper[b-7a5yv0r49o] {
    position: relative;
    overflow: hidden;
    overflow-y: hidden;
    width: 100%;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -webkit-mask-image: linear-gradient(to right, transparent, #000 clamp(2rem, 6vw, 6rem), #000 calc(100% - clamp(2rem, 6vw, 6rem)), transparent);
    mask-image: linear-gradient(to right, transparent, #000 clamp(2rem, 6vw, 6rem), #000 calc(100% - clamp(2rem, 6vw, 6rem)), transparent);
}

.osirion-carousel-wrapper[b-7a5yv0r49o]::-webkit-scrollbar { display: none; }

.osirion-infinite-carousel.is-enhanced .osirion-carousel-wrapper[b-7a5yv0r49o] {
    cursor: grab;
    touch-action: pan-y;
}

.osirion-carousel-wrapper.is-dragging[b-7a5yv0r49o] { cursor: grabbing; scroll-snap-type: none; -webkit-user-select: none; user-select: none; }
.osirion-carousel-wrapper:focus-visible[b-7a5yv0r49o] { outline: var(--osirion-focus-ring-width, 3px) solid var(--osirion-focus-ring-color, currentColor); outline-offset: 3px; }

.osirion-carousel-track[b-7a5yv0r49o] {
    display: flex;
    gap: 0;
    width: max-content;
}

.osirion-carousel-list[b-7a5yv0r49o] {
    display: flex;
    flex-direction: row;
    gap: var(--osirion-logo-gap);
    min-height: var(--osirion-logo-height);
    list-style: none;
    margin: 0;
    padding: 0 var(--osirion-logo-gap) 0 0;
}

.osirion-carousel-autoscroll .osirion-carousel-track[b-7a5yv0r49o] {
    animation: osirion-carousel-scroll-b-7a5yv0r49o var(--osirion-carousel-duration, 60s) linear infinite;
}

.osirion-carousel-autoscroll.osirion-carousel-reverse .osirion-carousel-track[b-7a5yv0r49o] {
    animation-direction: reverse;
}

.osirion-infinite-carousel-pausable:hover .osirion-carousel-track[b-7a5yv0r49o],
.osirion-infinite-carousel-pausable:focus-within .osirion-carousel-track[b-7a5yv0r49o] {
    animation-play-state: paused;
}

@keyframes osirion-carousel-scroll-b-7a5yv0r49o {
    to { transform: translateX(-50%); }
}

.osirion-logo-item[b-7a5yv0r49o] {
    min-width: var(--osirion-logo-width);
    width: var(--osirion-logo-width);
    height: var(--osirion-logo-height);
    display: flex;
    align-items: center;
    justify-content: center;
    list-style: none;
    transition: filter 0.3s ease-in-out;
    flex-shrink: 0;
    border-radius: var(--osirion-border-radius, 0.5rem);
    position: relative;
    overflow: hidden;
    contain: layout style paint;
    scroll-snap-align: start;
}

.osirion-logo-item a[b-7a5yv0r49o] {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border-radius: inherit;
    position: relative;
    overflow: hidden;
    contain: layout style paint;
}

.osirion-carousel-wrapper img[b-7a5yv0r49o] {
    -webkit-user-drag: none;
    -webkit-user-select: none;
    user-select: none;
}

.osirion-logo-item img[b-7a5yv0r49o] {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    border-radius: var(--osirion-border-radius-sm, 0.25rem);
    transition: filter 0.3s ease;
}

/* DUAL LOGO SUPPORT */
.osirion-logo-dual[b-7a5yv0r49o] { display: flex; overflow: hidden; position: relative; }
.osirion-logo-dual a[b-7a5yv0r49o] { display: flex; overflow: hidden; }
.osirion-logo-dual .osirion-logo-light[b-7a5yv0r49o],
.osirion-logo-dual .osirion-logo-dark[b-7a5yv0r49o] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 85%;
    max-height: 85%;
}
.osirion-logo-dual .osirion-logo-light[b-7a5yv0r49o] { display: block; }
.osirion-logo-dual .osirion-logo-dark[b-7a5yv0r49o] { display: none; }

/* Dark theme switching */
html[data-bs-theme="dark"] .osirion-logo-dual .osirion-logo-light[b-7a5yv0r49o],
[data-bs-theme="dark"] .osirion-logo-dual .osirion-logo-light[b-7a5yv0r49o],
:root[data-theme="dark"] .osirion-logo-dual .osirion-logo-light[b-7a5yv0r49o],
[data-theme="dark"] .osirion-logo-dual .osirion-logo-light[b-7a5yv0r49o],
.dark-theme .osirion-logo-dual .osirion-logo-light[b-7a5yv0r49o],
.theme-dark .osirion-logo-dual .osirion-logo-light[b-7a5yv0r49o],
.osirion-theme-dark .osirion-logo-dual .osirion-logo-light[b-7a5yv0r49o] { display: none; }
html[data-bs-theme="dark"] .osirion-logo-dual .osirion-logo-dark[b-7a5yv0r49o],
[data-bs-theme="dark"] .osirion-logo-dual .osirion-logo-dark[b-7a5yv0r49o],
:root[data-theme="dark"] .osirion-logo-dual .osirion-logo-dark[b-7a5yv0r49o],
[data-theme="dark"] .osirion-logo-dual .osirion-logo-dark[b-7a5yv0r49o],
.dark-theme .osirion-logo-dual .osirion-logo-dark[b-7a5yv0r49o],
.theme-dark .osirion-logo-dual .osirion-logo-dark[b-7a5yv0r49o],
.osirion-theme-dark .osirion-logo-dual .osirion-logo-dark[b-7a5yv0r49o] { display: block; }

/* System preference support */
@media (prefers-color-scheme: dark) {
    html:not([data-theme]):not([data-bs-theme]) .osirion-logo-dual .osirion-logo-light[b-7a5yv0r49o] { display: none; }
    html:not([data-theme]):not([data-bs-theme]) .osirion-logo-dual .osirion-logo-dark[b-7a5yv0r49o] { display: block; }
}

/* HOVER EFFECTS */
.osirion-logo-dual:hover .osirion-logo-light[b-7a5yv0r49o],
.osirion-logo-dual:hover .osirion-logo-dark[b-7a5yv0r49o] { filter: brightness(1.2) contrast(1.1); }

/* GRAYSCALE SUPPORT */
.osirion-carousel-grayscale-enabled .osirion-logo-grayscale img[b-7a5yv0r49o] { filter: grayscale(1) opacity(0.7); }
.osirion-carousel-grayscale-enabled .osirion-logo-grayscale:hover img[b-7a5yv0r49o] { filter: grayscale(0) opacity(1) brightness(1.1); }
.osirion-carousel-grayscale-enabled .osirion-logo-item-focus img[b-7a5yv0r49o] { filter: grayscale(0) opacity(1) brightness(1.05); }

/* Non-grayscale logos */
.osirion-logo-item:not(.osirion-logo-grayscale) img[b-7a5yv0r49o] { filter: opacity(0.9); }
.osirion-logo-item:not(.osirion-logo-grayscale):hover img[b-7a5yv0r49o] { filter: opacity(1) brightness(1.1); }

.osirion-carousel-content-item[b-7a5yv0r49o] { flex: 0 0 auto; scroll-snap-align: start; list-style: none; }

/* Focus states */
.osirion-logo-item img:focus[b-7a5yv0r49o],
.osirion-logo-item a:focus img[b-7a5yv0r49o] {
    outline: var(--osirion-focus-ring-width, 3px) solid var(--osirion-focus-ring-color, rgba(59, 130, 246, 0.5));
    outline-offset: var(--osirion-focus-ring-offset, 2px);
}
.osirion-carousel-grayscale-enabled .osirion-logo-grayscale img:focus[b-7a5yv0r49o],
.osirion-carousel-grayscale-enabled .osirion-logo-grayscale a:focus img[b-7a5yv0r49o] { filter: grayscale(0) opacity(1); }
.osirion-logo-dual img:focus[b-7a5yv0r49o] { filter: brightness(1.2) contrast(1.1); }

/* Responsive */
@media (max-width: 1024px) { .osirion-carousel-container[b-7a5yv0r49o] { padding: 0 var(--osirion-spacing-3, 0.75rem); } }
@media (max-width: 768px)  {
    .osirion-infinite-carousel[b-7a5yv0r49o] { padding: var(--osirion-spacing-6, 1.5rem) 0; }
    .osirion-carousel-title[b-7a5yv0r49o]   { font-size: var(--osirion-font-size-xl, 1.5rem); }
    .osirion-logo-item[b-7a5yv0r49o]        { min-width: 160px; width: 160px; }
    .osirion-carousel-list[b-7a5yv0r49o]    { gap: var(--osirion-spacing-4, 16px); }
}

/* Reduced motion (opt-in by container class) */
@media (prefers-reduced-motion: reduce) {
    .osirion-carousel-wrapper[b-7a5yv0r49o] { scroll-behavior: auto; }
    .osirion-carousel-autoscroll .osirion-carousel-track[b-7a5yv0r49o] { animation: none; }
}

/* High contrast */
@media (prefers-contrast: high) {
    .osirion-carousel-grayscale-enabled .osirion-logo-grayscale img[b-7a5yv0r49o] { filter: contrast(1.3) grayscale(1) opacity(0.9); }
    .osirion-carousel-grayscale-enabled .osirion-logo-grayscale:hover img[b-7a5yv0r49o],
    .osirion-carousel-grayscale-enabled .osirion-logo-grayscale img:focus[b-7a5yv0r49o],
    .osirion-carousel-grayscale-enabled .osirion-logo-grayscale a:focus img[b-7a5yv0r49o] { filter: contrast(1.4) grayscale(0) opacity(1); }
    .osirion-logo-item:not(.osirion-logo-grayscale) img[b-7a5yv0r49o] { filter: contrast(1.2) opacity(0.95); }
    .osirion-logo-item:not(.osirion-logo-grayscale):hover img[b-7a5yv0r49o] { filter: contrast(1.3) opacity(1); }
}

/* Pause control created by the enhancement script (WCAG 2.2.2 Pause, Stop, Hide) */
.osirion-infinite-carousel[b-7a5yv0r49o]  .osirion-carousel-pause {
    position: absolute;
    top: var(--osirion-spacing-2, 0.5rem);
    right: var(--osirion-spacing-4, 1rem);
    z-index: 11;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    border: 1px solid currentColor;
    border-radius: 50%;
    background: var(--osirion-background, Canvas);
    color: var(--osirion-text-primary, CanvasText);
    cursor: pointer;
}

.osirion-infinite-carousel[b-7a5yv0r49o]  .osirion-carousel-pause:focus-visible {
    outline: var(--osirion-focus-ring-width, 3px) solid var(--osirion-focus-ring-color, currentColor);
    outline-offset: 2px;
}

.osirion-infinite-carousel[b-7a5yv0r49o]  .osirion-carousel-pause[aria-pressed="false"] .osirion-carousel-play-icon,
.osirion-infinite-carousel[b-7a5yv0r49o]  .osirion-carousel-pause[aria-pressed="true"] .osirion-carousel-pause-icon {
    display: none;
}

/* Hover pauses only when PauseOnHover is on; keyboard focus always pauses so keyboard users can read and operate links. */
.osirion-infinite-carousel:focus-within .osirion-carousel-track[b-7a5yv0r49o] {
    animation-play-state: paused;
}
/* _content/Osirion.Blazor.Core/Components/Carousels/OsirionTestimonialCarousel.razor.rz.scp.css */
/* Base testimonial carousel styles - Using root variables */
.osirion-testimonial-carousel[b-0ert6yqa7r] {
    position: relative;
    width: 100%;
    overflow: visible;
    background: transparent;
    padding: var(--osirion-spacing-12) 0;
}

/* Header styles - using root variables */
.osirion-testimonial-carousel-header[b-0ert6yqa7r] {
    text-align: center;
    margin-bottom: var(--osirion-spacing-10);
}

.osirion-testimonial-carousel-title[b-0ert6yqa7r] {
    font-size: var(--osirion-font-size-4xl);
    font-weight: var(--osirion-font-weight-bold);
    line-height: var(--osirion-line-height-tight);
    margin: 0;
    color: var(--osirion-text-primary);
    letter-spacing: -0.02em;
}

/* Container and wrapper */
.osirion-testimonial-carousel-container[b-0ert6yqa7r] {
    position: relative;
    width: 100%;
}

.osirion-testimonial-carousel-shadow-stage[b-0ert6yqa7r] {
    position: relative;
    box-sizing: border-box;
    padding: var(--osirion-spacing-8) var(--osirion-spacing-10);
    overflow: visible;
    clip-path: inset(0);
}

.osirion-testimonial-carousel-wrapper[b-0ert6yqa7r] {
    position: relative;
    overflow: visible;
    box-sizing: border-box;
    scrollbar-width: none;
    /* Optimized gradient mask using root variables */
    mask-image: linear-gradient(
        to right,
        transparent 0%,
        rgba(0, 0, 0, 0.8) 8%,
        black 15%,
        black 85%,
        rgba(0, 0, 0, 0.8) 92%,
        transparent 100%
    );
    -webkit-mask-image: linear-gradient(
        to right,
        transparent 0%,
        rgba(0, 0, 0, 0.8) 8%,
        black 15%,
        black 85%,
        rgba(0, 0, 0, 0.8) 92%,
        transparent 100%
    );
}

.osirion-testimonial-carousel-wrapper[b-0ert6yqa7r]::-webkit-scrollbar { display: none; }

.osirion-testimonial-carousel.is-enhanced .osirion-testimonial-carousel-wrapper[b-0ert6yqa7r] {
    cursor: grab;
    touch-action: pan-y;
}

.osirion-testimonial-carousel-wrapper.is-dragging[b-0ert6yqa7r] {
    cursor: grabbing;
    -webkit-user-select: none;
    user-select: none;
}

.osirion-testimonial-carousel-wrapper:focus-visible[b-0ert6yqa7r] {
    outline: var(--osirion-focus-ring-width, 3px) solid var(--osirion-focus-ring-color, currentColor);
    outline-offset: 3px;
}

.osirion-testimonial-carousel-wrapper img[b-0ert6yqa7r] {
    -webkit-user-drag: none;
    -webkit-user-select: none;
    user-select: none;
}

/* Track that holds all testimonials - optimized sizing */
.osirion-testimonial-carousel-track[b-0ert6yqa7r] {
    display: flex;
    align-items: stretch;
    gap: calc(var(--osirion-testimonial-card-gap, 24px) - var(--osirion-testimonial-shadow-inline-space, 24px));
    width: fit-content;
    animation: osirion-testimonial-scroll-b-0ert6yqa7r var(--osirion-testimonial-carousel-duration, 60s) linear infinite;
    will-change: transform;
    backface-visibility: hidden;
    perspective: 1000px;
}

/* Individual slide container - optimized card width */
.osirion-testimonial-carousel-slide[b-0ert6yqa7r] {
    flex: 0 0 calc(var(--osirion-testimonial-card-width, 320px) + var(--osirion-testimonial-shadow-inline-space, 24px));
    width: calc(var(--osirion-testimonial-card-width, 320px) + var(--osirion-testimonial-shadow-inline-space, 24px));
    height: calc(var(--osirion-testimonial-card-height, 300px) + var(--osirion-testimonial-shadow-block-start-space, 32px) + var(--osirion-testimonial-shadow-block-space, 64px));
    display: flex;
    box-sizing: border-box;
    padding: var(--osirion-testimonial-shadow-block-start-space, 32px) calc(var(--osirion-testimonial-shadow-inline-space, 24px) / 2) var(--osirion-testimonial-shadow-block-space, 64px);
    transform: translateZ(0);
}

/* Animation keyframes */
@keyframes osirion-testimonial-scroll-b-0ert6yqa7r {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(calc(-50% - (var(--osirion-testimonial-card-gap, 24px) - var(--osirion-testimonial-shadow-inline-space, 24px)) / 2));
    }
}

@keyframes osirion-testimonial-scroll-reverse-b-0ert6yqa7r {
    0% {
        transform: translateX(calc(-50% - (var(--osirion-testimonial-card-gap, 24px) - var(--osirion-testimonial-shadow-inline-space, 24px)) / 2));
    }
    100% {
        transform: translateX(0);
    }
}

/* Reverse animation for left direction */
.osirion-testimonial-carousel-reverse .osirion-testimonial-carousel-track[b-0ert6yqa7r] {
    animation-name: osirion-testimonial-scroll-reverse-b-0ert6yqa7r;
}

/* Enhanced pause on hover */
.osirion-testimonial-carousel-pausable .osirion-testimonial-carousel-track[b-0ert6yqa7r] {
    animation-play-state: running;
    transition: animation-play-state var(--osirion-transition-duration-300) ease;
}

.osirion-testimonial-carousel-pausable:hover .osirion-testimonial-carousel-track[b-0ert6yqa7r] {
    animation-play-state: paused;
}

/* Speed variations */
.osirion-testimonial-carousel-slow .osirion-testimonial-carousel-track[b-0ert6yqa7r] {
    animation-duration: calc(var(--osirion-testimonial-carousel-duration, 60s) + 40s);
}

.osirion-testimonial-carousel-fast .osirion-testimonial-carousel-track[b-0ert6yqa7r] {
    animation-duration: calc(var(--osirion-testimonial-carousel-duration, 60s) - 20s);
}

/* Ensure testimonial cards are optimally sized */
.osirion-testimonial-carousel-slide .osirion-testimonial-card[b-0ert6yqa7r] {
    height: 100%;
    width: 100%;
    min-height: 0;
    max-height: none;
    box-sizing: border-box;
}

.osirion-testimonial-carousel.is-enhanced .osirion-testimonial-carousel-slide.osirion-testimonial-carousel-slide-focus[b-0ert6yqa7r],
.osirion-testimonial-carousel.is-enhanced .osirion-testimonial-carousel-slide:hover[b-0ert6yqa7r] {
    --osirion-testimonial-action-color: var(--osirion-color-primary-600);
    --osirion-testimonial-action-hover-color: var(--osirion-color-primary-700);
}

/* Progressive enhancement: retain a neutral rail while the active cluster is in color. */
.osirion-testimonial-carousel.is-enhanced .osirion-testimonial-carousel-slide[b-0ert6yqa7r]  .osirion-testimonial-image,
.osirion-testimonial-carousel.is-enhanced .osirion-testimonial-carousel-slide[b-0ert6yqa7r]  .osirion-testimonial-star,
.osirion-testimonial-carousel.is-enhanced .osirion-testimonial-carousel-slide[b-0ert6yqa7r]  .osirion-testimonial-linkedin-icon {
    filter: saturate(0) !important;
    transition: filter var(--osirion-transition-duration-200, 0.2s) ease;
}

.osirion-testimonial-carousel.is-enhanced .osirion-testimonial-carousel-slide.osirion-testimonial-carousel-slide-focus[b-0ert6yqa7r]  .osirion-testimonial-image,
.osirion-testimonial-carousel.is-enhanced .osirion-testimonial-carousel-slide.osirion-testimonial-carousel-slide-focus[b-0ert6yqa7r]  .osirion-testimonial-star,
.osirion-testimonial-carousel.is-enhanced .osirion-testimonial-carousel-slide.osirion-testimonial-carousel-slide-focus[b-0ert6yqa7r]  .osirion-testimonial-linkedin-icon,
.osirion-testimonial-carousel.is-enhanced .osirion-testimonial-carousel-slide:hover[b-0ert6yqa7r]  .osirion-testimonial-image,
.osirion-testimonial-carousel.is-enhanced .osirion-testimonial-carousel-slide:hover[b-0ert6yqa7r]  .osirion-testimonial-star,
.osirion-testimonial-carousel.is-enhanced .osirion-testimonial-carousel-slide:hover[b-0ert6yqa7r]  .osirion-testimonial-linkedin-icon {
    filter: none !important;
}

/* Responsive card sizing using root variables */
@media (min-width: 1400px) {
    .osirion-testimonial-carousel-track[b-0ert6yqa7r] {
        --osirion-testimonial-card-width: 360px;
        --osirion-testimonial-card-gap: 32px;
    }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
    .osirion-testimonial-carousel-track[b-0ert6yqa7r] {
        --osirion-testimonial-card-width: 340px;
        --osirion-testimonial-card-gap: 28px;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .osirion-testimonial-carousel-track[b-0ert6yqa7r] {
        --osirion-testimonial-card-width: 320px;
        --osirion-testimonial-card-gap: 24px;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .osirion-testimonial-carousel[b-0ert6yqa7r] {
        padding: var(--osirion-spacing-10) 0;
    }
    
    .osirion-testimonial-carousel-track[b-0ert6yqa7r] {
        --osirion-testimonial-card-width: 300px;
        --osirion-testimonial-card-gap: 20px;
    }
}

@media (max-width: 767.98px) {
    .osirion-testimonial-carousel[b-0ert6yqa7r] {
        padding: var(--osirion-spacing-8) 0;
    }
    
    .osirion-testimonial-carousel-header[b-0ert6yqa7r] {
        margin-bottom: var(--osirion-spacing-6);
    }
    
    .osirion-testimonial-carousel-title[b-0ert6yqa7r] {
        font-size: var(--osirion-font-size-3xl);
    }
    
    .osirion-testimonial-carousel-track[b-0ert6yqa7r] {
        --osirion-testimonial-card-width: 280px;
        --osirion-testimonial-card-gap: 16px;
    }
    
    /* Adjust mask for mobile */
    .osirion-testimonial-carousel-wrapper[b-0ert6yqa7r] {
        mask-image: linear-gradient(
            to right,
            transparent 0%,
            rgba(0, 0, 0, 0.9) 5%,
            black 12%,
            black 88%,
            rgba(0, 0, 0, 0.9) 95%,
            transparent 100%
        );
        -webkit-mask-image: linear-gradient(
            to right,
            transparent 0%,
            rgba(0, 0, 0, 0.9) 5%,
            black 12%,
            black 88%,
            rgba(0, 0, 0, 0.9) 95%,
            transparent 100%
        );
    }
}

@media (max-width: 479.98px) {
    .osirion-testimonial-carousel-track[b-0ert6yqa7r] {
        --osirion-testimonial-card-width: 260px;
        --osirion-testimonial-card-gap: 12px;
    }
}

/* Reduced motion support with graceful degradation */
@media (prefers-reduced-motion: reduce) {
    .osirion-testimonial-carousel-track[b-0ert6yqa7r] {
        animation: none;
        transform: none;
        justify-content: center;
        flex-wrap: wrap;
        max-width: 1200px;
        margin: 0 auto;
        gap: var(--osirion-spacing-4);
    }
    
    .osirion-testimonial-carousel-wrapper[b-0ert6yqa7r] {
        mask-image: none;
        -webkit-mask-image: none;
    }
    
    /* Every testimonial is shown statically; only the decorative looping copies (aria-hidden) are dropped. */
    .osirion-testimonial-carousel-slide[aria-hidden="true"][b-0ert6yqa7r] {
        display: none;
    }
    
    .osirion-testimonial-carousel-slide[b-0ert6yqa7r] {
        flex: 0 1 calc(50% - var(--osirion-spacing-2));
        max-width: 400px;
    }
}

@media (prefers-reduced-motion: reduce) and (max-width: 767.98px) {
    .osirion-testimonial-carousel-slide[b-0ert6yqa7r] {
        flex: 0 1 100%;
        max-width: 100%;
    }
    
}

/* High contrast mode support */
@media (prefers-contrast: more) {
    .osirion-testimonial-carousel[b-0ert6yqa7r] {
        border-top: 3px solid currentColor;
        border-bottom: 3px solid currentColor;
    }
    
    .osirion-testimonial-carousel-wrapper[b-0ert6yqa7r] {
        mask-image: none;
        -webkit-mask-image: none;
    }
    
    .osirion-testimonial-carousel-title[b-0ert6yqa7r] {
        color: currentColor;
    }

}

/* Print styles */
@media print {
    .osirion-testimonial-carousel-track[b-0ert6yqa7r] {
        animation: none;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: var(--osirion-spacing-3);
    }
    
    .osirion-testimonial-carousel-wrapper[b-0ert6yqa7r] {
        mask-image: none;
        -webkit-mask-image: none;
        overflow: visible;
    }
    
    .osirion-testimonial-carousel-slide[b-0ert6yqa7r] {
        flex: 0 1 calc(50% - var(--osirion-spacing-1-5));
        break-inside: avoid;
        page-break-inside: avoid;
    }
    
    /* Limit testimonials in print to save space */
    .osirion-testimonial-carousel-slide:nth-child(n+5)[b-0ert6yqa7r] {
        display: none;
    }
    
    .osirion-testimonial-carousel-title[b-0ert6yqa7r] {
        color: black;
    }
}

/* Dark mode support - using root variables */
@media (prefers-color-scheme: dark) {
    .osirion-testimonial-carousel-title[b-0ert6yqa7r] {
        color: var(--osirion-color-neutral-100);
    }
}

/* Focus management for accessibility */
.osirion-testimonial-carousel-slide:focus-within[b-0ert6yqa7r] {
    z-index: 10;
    position: relative;
}

/* Performance optimizations */
.osirion-testimonial-carousel-track[b-0ert6yqa7r] {
    transform: translateZ(0);
}

.osirion-testimonial-carousel-slide[b-0ert6yqa7r] {
    contain: layout style paint;
}

/* Container query support for future-proofing */
@supports (container-type: inline-size) {
    .osirion-testimonial-carousel[b-0ert6yqa7r] {
        container-type: inline-size;
        container-name: testimonial-carousel;
    }
    
    @container testimonial-carousel (max-width: 768px) {
        .osirion-testimonial-carousel-track[b-0ert6yqa7r] {
            --osirion-testimonial-card-width: 280px;
            --osirion-testimonial-card-gap: 16px;
        }
    }
    
    @container testimonial-carousel (min-width: 1400px) {
        .osirion-testimonial-carousel-track[b-0ert6yqa7r] {
            --osirion-testimonial-card-width: 380px;
            --osirion-testimonial-card-gap: 36px;
        }
    }
}
/* Pause control created by the enhancement script (WCAG 2.2.2 Pause, Stop, Hide) */
.osirion-testimonial-carousel[b-0ert6yqa7r]  .osirion-carousel-pause {
    position: absolute;
    top: var(--osirion-spacing-2, 0.5rem);
    right: var(--osirion-spacing-4, 1rem);
    z-index: 11;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    border: 1px solid currentColor;
    border-radius: 50%;
    background: var(--osirion-background, Canvas);
    color: var(--osirion-text-primary, CanvasText);
    cursor: pointer;
}

.osirion-testimonial-carousel[b-0ert6yqa7r]  .osirion-carousel-pause:focus-visible {
    outline: var(--osirion-focus-ring-width, 3px) solid var(--osirion-focus-ring-color, currentColor);
    outline-offset: 2px;
}

.osirion-testimonial-carousel[b-0ert6yqa7r]  .osirion-carousel-pause[aria-pressed="false"] .osirion-carousel-play-icon,
.osirion-testimonial-carousel[b-0ert6yqa7r]  .osirion-carousel-pause[aria-pressed="true"] .osirion-carousel-pause-icon {
    display: none;
}

/* Hover pauses only when PauseOnHover is on; keyboard focus always pauses so keyboard users can read and operate links. */
.osirion-testimonial-carousel:focus-within .osirion-testimonial-carousel-track[b-0ert6yqa7r] {
    animation-play-state: paused;
}
/* _content/Osirion.Blazor.Core/Components/Content/OsirionAccordion.razor.rz.scp.css */
.osirion-accordion[b-rn48q992e7] {
    margin: var(--osirion-spacing-4, 1rem) 0;
    border-top: 1px solid var(--osirion-border-color, #e5e7eb);
}
/* _content/Osirion.Blazor.Core/Components/Content/OsirionAccordionItem.razor.rz.scp.css */
.osirion-accordion-item[b-b50oh07neo] {
    border-bottom: 1px solid var(--osirion-border-color, #e5e7eb);
}

/* The native disclosure triangle is replaced by a chevron on the right */
.osirion-accordion-summary[b-b50oh07neo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--osirion-spacing-4, 1rem);
    padding: var(--osirion-spacing-3, 0.75rem) var(--osirion-spacing-1, 0.25rem);
    font-weight: var(--osirion-font-weight-semibold, 600);
    color: var(--osirion-text-primary, #111827);
    cursor: pointer;
    list-style: none;
}

    .osirion-accordion-summary[b-b50oh07neo]::-webkit-details-marker {
        display: none;
    }

    .osirion-accordion-summary[b-b50oh07neo]::after {
        content: "";
        flex: none;
        width: 0.5rem;
        height: 0.5rem;
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        transform: rotate(45deg) translateY(-25%);
        transition: transform var(--osirion-transition-duration-200, 200ms) ease;
    }

    .osirion-accordion-summary:hover[b-b50oh07neo] {
        color: var(--osirion-action-primary, #2563eb);
    }

    .osirion-accordion-summary:focus-visible[b-b50oh07neo] {
        outline: var(--osirion-focus-ring-width, 2px) solid var(--osirion-focus-ring-color, rgba(59, 130, 246, 0.5));
        outline-offset: 2px;
        border-radius: var(--osirion-radius-sm, 0.125rem);
    }

.osirion-accordion-item[open] > .osirion-accordion-summary[b-b50oh07neo]::after {
    transform: rotate(-135deg) translateY(-25%);
}

.osirion-accordion-content[b-b50oh07neo] {
    padding: 0 var(--osirion-spacing-1, 0.25rem) var(--osirion-spacing-4, 1rem);
    color: var(--osirion-text-primary, #111827);
}

    .osirion-accordion-content > :first-child[b-b50oh07neo] {
        margin-top: 0;
    }

    .osirion-accordion-content > :last-child[b-b50oh07neo] {
        margin-bottom: 0;
    }

@media (prefers-reduced-motion: reduce) {
    .osirion-accordion-summary[b-b50oh07neo]::after {
        transition: none;
    }
}
/* _content/Osirion.Blazor.Core/Components/Content/OsirionCallout.razor.rz.scp.css */
/* OsirionCallout is styled by the Core stylesheet (css/utilities/callouts.scss), not here: the same rules style the
   GitHub-style alerts that Markdown content renders, which scoped CSS cannot reach. */
/* _content/Osirion.Blazor.Core/Components/Content/OsirionFaq.razor.rz.scp.css */
/* Answers are plain text: keep the line breaks the author wrote */
.osirion-faq-answer[b-2smmnhtrzk] {
    margin: 0;
    white-space: pre-line;
    color: var(--osirion-text-secondary, #4b5563);
    line-height: var(--osirion-line-height-relaxed, 1.625);
}
/* _content/Osirion.Blazor.Core/Components/Content/OsirionReadingProgress.razor.rz.scp.css */
.osirion-reading-progress[b-wjtuhjtws9] {
    display: none;
}

/* Shown only where the browser can drive it from the scroll position; elsewhere it would sit empty. */
@supports (animation-timeline: scroll()) {
    .osirion-reading-progress[b-wjtuhjtws9] {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1100;
        height: var(--osirion-reading-progress-height, 3px);
        background-color: var(--osirion-reading-progress-color, var(--osirion-action-primary, #2563eb));
        transform-origin: 0 50%;
        transform: scaleX(0);
        pointer-events: none;
        animation: osirion-reading-progress-b-wjtuhjtws9 linear both;
        animation-timeline: scroll(root block);
    }
}

@keyframes osirion-reading-progress-b-wjtuhjtws9 {
    from {
        transform: scaleX(0);
    }

    to {
        transform: scaleX(1);
    }
}
/* _content/Osirion.Blazor.Core/Components/Content/OsirionResponsiveImage.razor.rz.scp.css */
/* Width and height attributes give the browser the aspect ratio; height: auto keeps it while the image scales down. */
.osirion-responsive-image[b-oypcwtk8fu] {
    display: block;
    max-width: 100%;
    height: auto;
}

.osirion-responsive-image-figure[b-oypcwtk8fu] {
    margin: 0 0 var(--osirion-spacing-4, 1rem);
}

.osirion-responsive-image-caption[b-oypcwtk8fu] {
    margin-top: var(--osirion-spacing-2, 0.5rem);
    font-size: var(--osirion-font-size-sm, 0.875rem);
    color: var(--osirion-text-secondary, #4b5563);
}
/* _content/Osirion.Blazor.Core/Components/Content/OsirionTab.razor.rz.scp.css */
/* The radio stays focusable for the keyboard but is hidden; its label is the visible tab */
.osirion-tabs-input[b-uedrn13sr1] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.osirion-tabs-label[b-uedrn13sr1] {
    order: 0;
    position: relative;
    z-index: 1;
    margin: 0 0 -1px;
    padding: var(--osirion-spacing-2, 0.5rem) var(--osirion-spacing-4, 1rem);
    border-bottom: 2px solid transparent;
    color: var(--osirion-text-secondary, #4b5563);
    font-weight: var(--osirion-font-weight-medium, 500);
    cursor: pointer;
    transition: color var(--osirion-transition-duration-150, 150ms) ease, border-color var(--osirion-transition-duration-150, 150ms) ease;
}

    .osirion-tabs-label:hover[b-uedrn13sr1] {
        color: var(--osirion-text-primary, #111827);
    }

.osirion-tabs-input:checked + .osirion-tabs-label[b-uedrn13sr1] {
    color: var(--osirion-text-primary, #111827);
    border-bottom-color: var(--osirion-action-primary, #2563eb);
}

.osirion-tabs-input:focus-visible + .osirion-tabs-label[b-uedrn13sr1] {
    outline: var(--osirion-focus-ring-width, 2px) solid var(--osirion-focus-ring-color, rgba(59, 130, 246, 0.5));
    outline-offset: -2px;
    border-radius: var(--osirion-radius-sm, 0.125rem);
}

/* Panels fill the row below the labels; only the selected tab's panel shows */
.osirion-tabs-panel[b-uedrn13sr1] {
    order: 1;
    flex: 1 0 100%;
    display: none;
    min-width: 0;
    padding-top: var(--osirion-spacing-4, 1rem);
    border-top: 1px solid var(--osirion-border-color, #e5e7eb);
}

.osirion-tabs-input:checked + .osirion-tabs-label + .osirion-tabs-panel[b-uedrn13sr1] {
    display: block;
}

@media (prefers-reduced-motion: reduce) {
    .osirion-tabs-label[b-uedrn13sr1] {
        transition: none;
    }
}

/* Printed pages cannot switch tabs: show every panel under its label */
@media print {
    .osirion-tabs-panel[b-uedrn13sr1] {
        display: block;
    }
}
/* _content/Osirion.Blazor.Core/Components/Content/OsirionTabs.razor.rz.scp.css */
/* The tabs' labels sit in the first row and the selected panel fills the row below them (OsirionTab orders them) */
.osirion-tabs[b-key798l8k9] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    margin: var(--osirion-spacing-4, 1rem) 0;
}
/* _content/Osirion.Blazor.Core/Components/Content/OsirionVideoEmbed.razor.rz.scp.css */
.osirion-video-embed[b-4i84wkfhxi] {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: var(--osirion-radius-md, 0.375rem);
    background-color: #000;
}

.osirion-video-embed-widescreen[b-4i84wkfhxi] {
    aspect-ratio: 16 / 9;
}

.osirion-video-embed-standard[b-4i84wkfhxi] {
    aspect-ratio: 4 / 3;
}

.osirion-video-embed-square[b-4i84wkfhxi] {
    aspect-ratio: 1 / 1;
}

.osirion-video-embed-vertical[b-4i84wkfhxi] {
    aspect-ratio: 9 / 16;
    max-width: 22.5rem;
}

.osirion-video-embed-link[b-4i84wkfhxi] {
    position: absolute;
    inset: 0;
    display: block;
    color: #fff;
    text-decoration: none;
}

    .osirion-video-embed-link[hidden][b-4i84wkfhxi] {
        display: none;
    }

    .osirion-video-embed-link:focus-visible[b-4i84wkfhxi] {
        outline: var(--osirion-focus-ring-width, 2px) solid var(--osirion-focus-ring-color, rgba(59, 130, 246, 0.5));
        outline-offset: -4px;
    }

.osirion-video-embed-thumbnail[b-4i84wkfhxi] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* A play button drawn in CSS: a dark rounded box with a white triangle. */
.osirion-video-embed-play[b-4i84wkfhxi] {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 4.25rem;
    height: 3rem;
    transform: translate(-50%, -50%);
    border-radius: 0.75rem;
    background-color: rgba(0, 0, 0, 0.75);
    transition: background-color var(--osirion-transition-duration-200, 200ms) ease;
}

    .osirion-video-embed-play[b-4i84wkfhxi]::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 54%;
        transform: translate(-50%, -50%);
        border-style: solid;
        border-width: 0.75rem 0 0.75rem 1.25rem;
        border-color: transparent transparent transparent #fff;
    }

.osirion-video-embed-link:hover .osirion-video-embed-play[b-4i84wkfhxi],
.osirion-video-embed-link:focus-visible .osirion-video-embed-play[b-4i84wkfhxi] {
    background-color: #cc0000;
}

.osirion-video-embed-title[b-4i84wkfhxi] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding: var(--osirion-spacing-3, 0.75rem) var(--osirion-spacing-4, 1rem);
    background: linear-gradient(rgba(0, 0, 0, 0.7), transparent);
    font-weight: var(--osirion-font-weight-semibold, 600);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}

.osirion-video-embed-frame:empty[b-4i84wkfhxi] {
    display: none;
}

/* The player is created by the script, so it has no scope attribute: reach it through the frame. */
.osirion-video-embed-frame[b-4i84wkfhxi]  .osirion-video-embed-player {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

@media (prefers-reduced-motion: reduce) {
    .osirion-video-embed-play[b-4i84wkfhxi] {
        transition: none;
    }
}
/* _content/Osirion.Blazor.Core/Components/Forms/OsirionContactForm.razor.rz.scp.css */
/* 
 * OsirionContactForm Component Styles
 * Framework-agnostic contact form with comprehensive styling
 * Based on the dark-themed design from the provided image
 */

/* ========== CONTAINER AND LAYOUT ========== */
.osirion-contact-form-container[b-tb4z83r1b0] {
    --osirion-contact-bg: var(--osirion-color-neutral-800, #1f2937);
    --osirion-contact-form-bg: var(--osirion-color-neutral-800, #1f2937);
    --osirion-contact-text: var(--osirion-color-white, #ffffff);
    --osirion-contact-text-muted: var(--osirion-color-neutral-400, #9ca3af);
    --osirion-contact-border: var(--osirion-color-neutral-600, #4b5563);
    --osirion-contact-accent: var(--osirion-color-warning-500, #f59e0b);
    --osirion-contact-radius: var(--osirion-radius-lg, 0.5rem);
    --osirion-contact-spacing: var(--osirion-spacing-6, 1.5rem);
    
    display: block;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    background-color: var(--osirion-contact-bg);
    border-radius: var(--osirion-contact-radius);
    overflow: hidden;
    box-shadow: var(--osirion-shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04));
}

.osirion-contact-form-wrapper[b-tb4z83r1b0] {
    display: grid;
    min-height: 600px;
}

/* Side by side layout */
.osirion-contact-form-side-by-side .osirion-contact-form-wrapper[b-tb4z83r1b0] {
    grid-template-columns: 1fr 400px;
}

/* Stacked layout */
.osirion-contact-form-stacked .osirion-contact-form-wrapper[b-tb4z83r1b0] {
    grid-template-columns: 1fr;
}

/* ========== FORM SECTION ========== */
.osirion-contact-form-section[b-tb4z83r1b0] {
    padding: var(--osirion-contact-spacing);
    background-color: var(--osirion-contact-form-bg);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.osirion-contact-form-title[b-tb4z83r1b0] {
    font-size: var(--osirion-font-size-2xl, 1.875rem);
    font-weight: var(--osirion-font-weight-bold, 700);
    color: var(--osirion-contact-text);
    margin: 0 0 var(--osirion-spacing-2, 0.5rem);
    line-height: 1.2;
}

.osirion-contact-form-description[b-tb4z83r1b0] {
    color: var(--osirion-contact-text-muted);
    margin: 0 0 var(--osirion-spacing-6, 1.5rem);
    font-size: var(--osirion-font-size-base, 1rem);
    line-height: 1.5;
}

/* ========== FORM STYLES ========== */
.osirion-contact-form[b-tb4z83r1b0] {
    display: flex;
    flex-direction: column;
    gap: var(--osirion-spacing-4, 1rem);
}

.osirion-form-group[b-tb4z83r1b0] {
    display: flex;
    flex-direction: column;
    gap: var(--osirion-spacing-1, 0.25rem);
    margin-bottom: var(--osirion-spacing-5, 1.25rem);
    ;
}

.osirion-form-label[b-tb4z83r1b0] {
    font-size: var(--osirion-font-size-sm, 0.875rem);
    font-weight: var(--osirion-font-weight-medium, 500);
    color: var(--osirion-contact-text);
    margin: 0;
    line-height: 1.4;
}

.osirion-required[b-tb4z83r1b0] {
    color: darkred;
    margin-left: var(--osirion-spacing-1, 0.25rem);
}

/* ========== INPUT STYLES ========== */
.osirion-contact-input[b-tb4z83r1b0],
.osirion-contact-textarea[b-tb4z83r1b0] {
    width: 100%;
    padding: var(--osirion-spacing-3, 0.75rem);
    background-color: transparent;
    border: none;
    border-bottom: 2px solid var(--osirion-contact-border);
    color: var(--osirion-contact-text);
    font-size: var(--osirion-font-size-base, 1rem);
    line-height: 1.5;
    transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    border-radius: 0;
    outline: none;
}

.osirion-contact-input[b-tb4z83r1b0]::placeholder,
.osirion-contact-textarea[b-tb4z83r1b0]::placeholder {
    color: var(--osirion-contact-text-muted);
    opacity: 0.7;
}

.osirion-contact-input:focus[b-tb4z83r1b0],
.osirion-contact-textarea:focus[b-tb4z83r1b0] {
    border-bottom-color: var(--osirion-contact-accent);
    box-shadow: 0 1px 0 0 var(--osirion-contact-accent);
}

.osirion-contact-input:disabled[b-tb4z83r1b0],
.osirion-contact-textarea:disabled[b-tb4z83r1b0] {
    opacity: 0.6;
    cursor: not-allowed;
}

.osirion-contact-textarea[b-tb4z83r1b0] {
    resize: vertical;
    min-height: 120px;
    font-family: inherit;
}

/* ========== CHECKBOX STYLES ========== */
.osirion-form-checkbox-group[b-tb4z83r1b0] {
    margin-top: var(--osirion-spacing-2, 0.5rem);
}

.osirion-form-checkbox-label[b-tb4z83r1b0] {
    display: flex;
    align-items: flex-start;
    gap: var(--osirion-spacing-2, 0.5rem);
    cursor: pointer;
    font-size: var(--osirion-font-size-sm, 0.875rem);
    line-height: 1.4;
    color: var(--osirion-contact-text-muted);
}

.osirion-contact-checkbox[b-tb4z83r1b0] {
    flex-shrink: 0;
    width: 1rem;
    height: 1rem;
    margin: 0;
    accent-color: var(--osirion-contact-accent);
}

.osirion-checkbox-text[b-tb4z83r1b0] {
    flex: 1;
}

.osirion-checkbox-text a[b-tb4z83r1b0] {
    color: var(--osirion-contact-accent);
    text-decoration: underline;
    text-decoration-color: transparent;
    transition: text-decoration-color 0.2s ease-in-out;
}

.osirion-checkbox-text a:hover[b-tb4z83r1b0] {
    text-decoration-color: var(--osirion-contact-accent);
}

/* ========== BUTTON STYLES ========== */
.osirion-form-actions[b-tb4z83r1b0] {
    display: flex;
    gap: var(--osirion-spacing-3, 0.75rem);
    margin-top: var(--osirion-spacing-4, 1rem);
}

.osirion-contact-submit[b-tb4z83r1b0] {
    background-color: var(--osirion-contact-accent);
    color: var(--osirion-color-white, #ffffff);
    border: none;
    padding: var(--osirion-spacing-3, 0.75rem) var(--osirion-spacing-6, 1.5rem);
    font-size: var(--osirion-font-size-base, 1rem);
    font-weight: var(--osirion-font-weight-medium, 500);
    border-radius: var(--osirion-radius-md, 0.375rem);
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    display: flex;
    align-items: center;
    gap: var(--osirion-spacing-2, 0.5rem);
    min-width: 140px;
    justify-content: center;
}

.osirion-contact-submit:hover:not(:disabled)[b-tb4z83r1b0] {
    background-color: var(--osirion-color-warning-600, #d97706);
    transform: translateY(-1px);
    box-shadow: var(--osirion-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05));
}

.osirion-contact-submit:active:not(:disabled)[b-tb4z83r1b0] {
    transform: translateY(0);
}

.osirion-contact-submit:disabled[b-tb4z83r1b0] {
    opacity: 0.7;
    cursor: not-allowed;
    transform: none;
}

.osirion-contact-reset[b-tb4z83r1b0] {
    background-color: transparent;
    color: var(--osirion-contact-text-muted);
    border: 1px solid var(--osirion-contact-border);
    padding: var(--osirion-spacing-3, 0.75rem) var(--osirion-spacing-6, 1.5rem);
    font-size: var(--osirion-font-size-base, 1rem);
    border-radius: var(--osirion-radius-md, 0.375rem);
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}

.osirion-contact-reset:hover[b-tb4z83r1b0] {
    color: var(--osirion-contact-text);
    border-color: var(--osirion-contact-text-muted);
}

/* ========== LOADING SPINNER ========== */
.osirion-button-spinner[b-tb4z83r1b0] {
    width: 1rem;
    height: 1rem;
    border: 2px solid transparent;
    border-top: 2px solid currentColor;
    border-radius: 50%;
    animation: osirion-spin-b-tb4z83r1b0 1s linear infinite;
}

@keyframes osirion-spin-b-tb4z83r1b0 {
    to {
        transform: rotate(360deg);
    }
}

.osirion-button-loading[b-tb4z83r1b0] {
    position: relative;
    pointer-events: none;
}

/* ========== VALIDATION STYLES ========== */
.osirion-validation-message[b-tb4z83r1b0] {
    font-size: var(--osirion-font-size-sm, 0.875rem);
    color: red;
    margin-top: var(--osirion-spacing-1, 0.25rem);
    line-height: 1.4;
}

.osirion-contact-input:invalid[b-tb4z83r1b0],
.osirion-contact-textarea:invalid[b-tb4z83r1b0] {
    border-bottom-color: var(--osirion-status-danger, #ef4444);
}

/* ========== STATUS MESSAGES ========== */
/* Minimal alert styling - normal height like Bootstrap alerts */
.osirion-status-icon[b-tb4z83r1b0] {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    margin-right: 0.5rem;
}

/* Custom alert styles for non-framework usage - normal height */
.osirion-alert[b-tb4z83r1b0] {
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: 0.375rem;
    display: flex;
    align-items: center;
}

.osirion-alert-success[b-tb4z83r1b0] {
    background-color: #d1fae5;
    color: #065f46;
    border-color: #a7f3d0;
}

.osirion-alert-error[b-tb4z83r1b0] {
    background-color: #fee2e2;
    color: #991b1b;
    border-color: #fecaca;
}

.osirion-alert-warning[b-tb4z83r1b0] {
    background-color: #fef3c7;
    color: #92400e;
    border-color: #fde68a;
}

.osirion-alert-info[b-tb4z83r1b0] {
    background-color: #dbeafe;
    color: #1e40af;
    border-color: #93c5fd;
}

/* Dark theme overrides for custom alerts */
.osirion-contact-form-dark .osirion-alert-success[b-tb4z83r1b0] {
    background-color: rgba(34, 197, 94, 0.1);
    color: #4ade80;
    border-color: rgba(34, 197, 94, 0.2);
}

.osirion-contact-form-dark .osirion-alert-error[b-tb4z83r1b0] {
    background-color: rgba(239, 68, 68, 0.1);
    color: #f87171;
    border-color: rgba(239, 68, 68, 0.2);
}

.osirion-contact-form-dark .osirion-alert-warning[b-tb4z83r1b0] {
    background-color: rgba(245, 158, 11, 0.1);
    color: #fbbf24;
    border-color: rgba(245, 158, 11, 0.2);
}

.osirion-contact-form-dark .osirion-alert-info[b-tb4z83r1b0] {
    background-color: rgba(59, 130, 246, 0.1);
    color: #60a5fa;
    border-color: rgba(59, 130, 246, 0.2);
}

/* ========== HONEYPOT (ANTI-SPAM) ========== */
.osirion-honeypot[b-tb4z83r1b0] {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

/* ========== LIGHT THEME OVERRIDES ========== */
.osirion-contact-form-container:not(.osirion-contact-form-dark)[b-tb4z83r1b0] {
    --osirion-contact-bg: var(--osirion-background-primary, #ffffff);
    --osirion-contact-form-bg: var(--osirion-background-primary, #ffffff);
    --osirion-contact-text: var(--osirion-text-primary, #111827);
    --osirion-contact-text-muted: var(--osirion-text-secondary, #6b7280);
    --osirion-contact-border: var(--osirion-border-color, #e5e7eb);
    --osirion-contact-accent: var(--osirion-action-primary, #2563eb);
}

/* ========== RESPONSIVE DESIGN ========== */
@media (max-width: 768px) {
    .osirion-contact-form-side-by-side .osirion-contact-form-wrapper[b-tb4z83r1b0] {
        grid-template-columns: 1fr;
    }
    
    .osirion-contact-form-section[b-tb4z83r1b0] {
        padding: var(--osirion-spacing-4, 1rem);
    }
    
    /* Auto width, so the side margins narrow the card instead of pushing it past the right edge */
    .osirion-contact-form-container[b-tb4z83r1b0] {
        width: auto;
        margin: 0 var(--osirion-spacing-4, 1rem);
    }

    .osirion-form-actions[b-tb4z83r1b0] {
        flex-direction: column;
    }
    
    .osirion-contact-submit[b-tb4z83r1b0],
    .osirion-contact-reset[b-tb4z83r1b0] {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .osirion-contact-form-title[b-tb4z83r1b0] {
        font-size: var(--osirion-font-size-xl, 1.25rem);
    }
    
    .osirion-contact-form-section[b-tb4z83r1b0] {
        padding: var(--osirion-spacing-3, 0.75rem);
    }
}

/* ========== ACCESSIBILITY ENHANCEMENTS ========== */
@media (prefers-reduced-motion: reduce) {
    .osirion-contact-input[b-tb4z83r1b0],
    .osirion-contact-textarea[b-tb4z83r1b0],
    .osirion-contact-submit[b-tb4z83r1b0],
    .osirion-contact-reset[b-tb4z83r1b0] {
        transition: none;
    }
    
    .osirion-button-spinner[b-tb4z83r1b0] {
        animation: none;
    }
    
    .osirion-contact-submit:hover:not(:disabled)[b-tb4z83r1b0] {
        transform: none;
    }
}

@media (prefers-contrast: high) {
    .osirion-contact-form-container[b-tb4z83r1b0] {
        --osirion-contact-border: #000000;
        --osirion-contact-accent: #0000ff;
    }
    
    .osirion-contact-input[b-tb4z83r1b0],
    .osirion-contact-textarea[b-tb4z83r1b0] {
        border-bottom-width: 3px;
    }
    
    .osirion-status-message[b-tb4z83r1b0] {
        border-width: 2px;
    }
}

/* ========== FOCUS STYLES ========== */
.osirion-contact-input:focus-visible[b-tb4z83r1b0],
.osirion-contact-textarea:focus-visible[b-tb4z83r1b0],
.osirion-contact-checkbox:focus-visible[b-tb4z83r1b0],
.osirion-contact-submit:focus-visible[b-tb4z83r1b0],
.osirion-contact-reset:focus-visible[b-tb4z83r1b0] {
    outline: 2px solid var(--osirion-focus-ring-color, rgba(59, 130, 246, 0.5));
    outline-offset: 2px;
}

/* ========== PRINT STYLES ========== */
@media print {
    .osirion-contact-form-container[b-tb4z83r1b0] {
        box-shadow: none;
        border: 1px solid #000;
    }
    
    .osirion-contact-submit[b-tb4z83r1b0],
    .osirion-contact-reset[b-tb4z83r1b0] {
        display: none;
    }
    
    .osirion-status-message[b-tb4z83r1b0] {
        border: 1px solid #000;
        background: transparent !important;
        color: #000 !important;
    }
}
/* _content/Osirion.Blazor.Core/Components/Galleries/OsirionImageGallery.razor.rz.scp.css */
.osirion-image-gallery-grid[b-lkhmpbal0g] {
    display: grid;
    grid-template-columns: repeat(var(--osirion-gallery-columns), minmax(0, 1fr));
    gap: calc(var(--osirion-gallery-gap) * 0.25rem);
}

.osirion-image-gallery-item[b-lkhmpbal0g] {
    margin: 0;
}

.osirion-image-gallery-trigger[b-lkhmpbal0g] {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.osirion-image-gallery-image-wrap[b-lkhmpbal0g] {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 0.75rem;
    line-height: 0;
}

.osirion-image-gallery-image[b-lkhmpbal0g] {
    display: block;
    width: 100%;
    height: auto;
    transition: transform 0.25s ease, filter 0.25s ease;
}

.osirion-image-gallery-trigger:hover .osirion-image-gallery-image[b-lkhmpbal0g],
.osirion-image-gallery-trigger:focus-visible .osirion-image-gallery-image[b-lkhmpbal0g] {
    transform: scale(1.03);
    filter: brightness(0.75);
}

.osirion-image-gallery-zoom[b-lkhmpbal0g] {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 2rem;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.osirion-image-gallery-trigger:hover .osirion-image-gallery-zoom[b-lkhmpbal0g],
.osirion-image-gallery-trigger:focus-visible .osirion-image-gallery-zoom[b-lkhmpbal0g] {
    opacity: 1;
}

.osirion-image-gallery-trigger:focus-visible[b-lkhmpbal0g] {
    outline: 3px solid currentColor;
    outline-offset: 4px;
}

.osirion-image-gallery-item figcaption[b-lkhmpbal0g] {
    margin-top: 0.5rem;
    color: #666;
    font-size: 0.8rem;
    line-height: 1.4;
}

.osirion-image-gallery-dark .osirion-image-gallery-item figcaption[b-lkhmpbal0g] {
    color: rgba(255, 255, 255, 0.7);
}

.osirion-image-gallery-lightbox[b-lkhmpbal0g] {
    position: fixed;
    inset: 0;
    z-index: 9100;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: rgba(5, 10, 8, 0.94);
}

.osirion-image-gallery-lightbox[hidden][b-lkhmpbal0g] {
    display: none;
}

.osirion-image-gallery-backdrop[b-lkhmpbal0g] {
    position: absolute;
    inset: 0;
    border: 0;
    background: transparent;
}

.osirion-image-gallery-close[b-lkhmpbal0g],
.osirion-image-gallery-nav[b-lkhmpbal0g] {
    position: relative;
    z-index: 1;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    cursor: pointer;
}

.osirion-image-gallery-close[b-lkhmpbal0g] {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 2.75rem;
    height: 2.75rem;
    font-size: 1.75rem;
}

.osirion-image-gallery-viewer[b-lkhmpbal0g] {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 1rem;
    max-width: min(92vw, 1280px);
}

.osirion-image-gallery-lightbox-image[b-lkhmpbal0g] {
    display: block;
    max-width: min(80vw, 1100px);
    max-height: 78vh;
    object-fit: contain;
}

.osirion-image-gallery-nav[b-lkhmpbal0g] {
    width: 3rem;
    height: 3rem;
    font-size: 2rem;
}

.osirion-image-gallery-footer[b-lkhmpbal0g] {
    position: absolute;
    bottom: 1.5rem;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    color: rgba(255, 255, 255, 0.8);
    text-align: center;
}

@media (max-width: 700px) {
    .osirion-image-gallery-grid[b-lkhmpbal0g] {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .osirion-image-gallery-image[b-lkhmpbal0g],
    .osirion-image-gallery-zoom[b-lkhmpbal0g] {
        transition: none;
    }
}
/* _content/Osirion.Blazor.Core/Components/Layout/OsirionBackgroundPattern.razor.rz.scp.css */
/* 
 * Osirion Background Patterns
 * Provides decorative background options
 */

/* Base background wrapper - applies to all background patterns */
.osirion-bg-wrapper[b-lkgycm463r] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
}

.osirion-bg-image-mask[b-lkgycm463r] {
    -webkit-mask-image: linear-gradient(180deg,transparent 5%,rgba(0,0,0,1) 52%,rgba(0,0,0,1) 44%,transparent 95%);
    mask-image: linear-gradient(180deg,transparent 0%,rgba(0,0,0,1) 0%,rgba(0,0,0,1) 0%,transparent 100%);
}

/* Element that needs to appear above the background */
.osirion-bg-content[b-lkgycm463r] {
    position: relative;
    z-index: 1;
    width: 100%;
    margin: 0 auto;
}

/* 
 * Background Pattern Options 
 */

/* 1. Dots pattern - subtle and professional */
.osirion-bg-dots[b-lkgycm463r] {
    background-image: radial-gradient(var(--osirion-action-primary, #d1d5db) 1px, transparent 1px);
    background-size: 24px 24px;
    opacity: 0.2;
}

/* 2. Grid pattern - clean and structured */
.osirion-bg-grid[b-lkgycm463r] {
    background-image: linear-gradient(to right, var(--osirion-action-primary, #d1d5db) 1px, transparent 1px), linear-gradient(to bottom, var(--osirion-action-primary, #d1d5db) 1px, transparent 1px);
    background-size: 24px 24px;
    opacity: 0.2;
}

/* 3. Diagonal lines - dynamic and professional */
.osirion-bg-diagonal[b-lkgycm463r] {
    background-image: repeating-linear-gradient( 45deg, var(--osirion-action-primary, #d1d5db) 0, var(--osirion-action-primary, #d1d5db) 1px, transparent 1px, transparent 24px );
    opacity: 0.15;
}

/* 4. Honeycomb - unique and modern */
.osirion-bg-honeycomb[b-lkgycm463r] {
    background-image: linear-gradient(30deg, var(--osirion-action-primary, #d1d5db) 12%, transparent 12.5%, transparent 87%, var(--osirion-action-primary, #d1d5db) 87.5%, var(--osirion-action-primary, #d1d5db)), linear-gradient(150deg, var(--osirion-action-primary, #d1d5db) 12%, transparent 12.5%, transparent 87%, var(--osirion-action-primary, #d1d5db) 87.5%, var(--osirion-action-primary, #d1d5db)), linear-gradient(30deg, var(--osirion-action-primary, #d1d5db) 12%, transparent 12.5%, transparent 87%, var(--osirion-action-primary, #d1d5db) 87.5%, var(--osirion-action-primary, #d1d5db)), linear-gradient(150deg, var(--osirion-action-primary, #d1d5db) 12%, transparent 12.5%, transparent 87%, var(--osirion-action-primary, #d1d5db) 87.5%, var(--osirion-action-primary, #d1d5db));
    background-size: 40px 70px;
    background-position: 0 0, 0 0, 20px 35px, 20px 35px;
    opacity: 0.15;
}

/* 5. Gradient mesh - modern and subtle */
.osirion-bg-gradient-mesh[b-lkgycm463r] {
    background: radial-gradient(circle at 0% 0%, var(--osirion-action-primary, #93c5fd) 0%, transparent 50%), radial-gradient(circle at 100% 0%, var(--osirion-color-success-300, #86efac) 0%, transparent 50%), radial-gradient(circle at 100% 100%, var(--osirion-color-primary-600, #2563eb) 0%, transparent 50%), radial-gradient(circle at 0% 100%, var(--osirion-color-danger-300, #fca5a5) 0%, transparent 50%);
    filter: blur(60px);
    opacity: 0.1;
}

/* 6. Animated grid - subtle movement */
.osirion-bg-grid-animated[b-lkgycm463r] {
    background-image: linear-gradient(to right, var(--osirion-action-primary, #bfdbfe) 1px, transparent 1px), linear-gradient(to bottom, var(--osirion-action-primary, #bfdbfe) 1px, transparent 1px);
    background-size: 24px 24px;
    opacity: 0.15;
    animation: osirion-grid-pulse-b-lkgycm463r 8s ease-in-out infinite;
}

/* 7. Tech wave - subtle tech-inspired pattern */
.osirion-bg-tech-wave[b-lkgycm463r] {
    background: linear-gradient( 60deg, rgba(var(--osirion-action-primary, #1e40af), 0.05) 0%, rgba(var(--osirion-color-primary-400, #60a5fa), 0.05) 100% );
    position: relative;
}

    .osirion-bg-tech-wave[b-lkgycm463r]::before {
        content: "";
        position: absolute;
        width: 200%;
        height: 200%;
        top: -50%;
        left: -50%;
        background: radial-gradient(circle, transparent 30%, rgba(255, 255, 255, 0.03) 70%);
        animation: osirion-wave-rotate-b-lkgycm463r 20s linear infinite;
    }

/* 8. Circuit board pattern for tech themes */
.osirion-bg-circuit[b-lkgycm463r] {
    background-color: transparent;
    background-image: radial-gradient(rgba(var(--osirion-action-primary, #93c5fd), 0.1) 2px, transparent 2px), linear-gradient(90deg, transparent 0, transparent 4px, rgba(var(--osirion-action-primary, #93c5fd), 0.1) 4px, transparent 5px), linear-gradient(0deg, transparent 0, transparent 4px, rgba(var(--osirion-color-primary-300, #93c5fd), 0.1) 4px, transparent 5px);
    background-size: 20px 20px, 40px 40px, 40px 40px;
    opacity: 0.3;
}

/* 9. Subtle dots with radial fade */
.osirion-bg-dots-fade[b-lkgycm463r] {
    background-image: radial-gradient(var(--osirion-action-primary, #9ca3af) 1px, transparent 1px);
    background-size: 16px 16px;
    opacity: 0.2;
    -webkit-mask-image: radial-gradient(ellipse 50% 50% at 50% 50%, #000 60%, transparent 100%);
    mask-image: radial-gradient(ellipse 50% 50% at 50% 50%, #000 60%, transparent 100%);
}

/* Dark theme overrides */
:root[data-theme="dark"] .osirion-bg-dots[b-lkgycm463r],
:root[data-theme="dark"] .osirion-bg-grid[b-lkgycm463r],
:root[data-theme="dark"] .osirion-bg-diagonal[b-lkgycm463r],
:root[data-theme="dark"] .osirion-bg-honeycomb[b-lkgycm463r],
:root[data-theme="dark"] .osirion-bg-grid-animated[b-lkgycm463r],
:root[data-theme="dark"] .osirion-bg-circuit[b-lkgycm463r],
:root[data-theme="dark"] .osirion-bg-dots-fade[b-lkgycm463r],
[data-theme="dark"] .osirion-bg-dots[b-lkgycm463r],
[data-theme="dark"] .osirion-bg-grid[b-lkgycm463r],
[data-theme="dark"] .osirion-bg-diagonal[b-lkgycm463r],
[data-theme="dark"] .osirion-bg-honeycomb[b-lkgycm463r],
[data-theme="dark"] .osirion-bg-grid-animated[b-lkgycm463r],
[data-theme="dark"] .osirion-bg-circuit[b-lkgycm463r],
[data-theme="dark"] .osirion-bg-dots-fade[b-lkgycm463r] {
    opacity: 0.15;
    background-image: radial-gradient(var(--osirion-action-primary, #4b5563) 1px, transparent 1px);
}

:root[data-theme="dark"] .osirion-bg-gradient-mesh[b-lkgycm463r],
[data-theme="dark"] .osirion-bg-gradient-mesh[b-lkgycm463r] {
    opacity: 0.15;
}

/* Animations */
@keyframes osirion-grid-pulse-b-lkgycm463r {
    0%, 100% {
        background-size: 24px 24px;
        opacity: 0.1;
    }

    50% {
        background-size: 28px 28px;
        opacity: 0.2;
    }
}

@keyframes osirion-wave-rotate-b-lkgycm463r {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Ensure text readability with text shadow */
.osirion-bg-enhance-text[b-lkgycm463r] {
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

/* Add subtle shadow to ensure text readability on light backgrounds */
.osirion-bg-light-text[b-lkgycm463r] {
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}

/* High contrast mode adjustments */
@media (prefers-contrast: more) {
    .osirion-bg-wrapper[b-lkgycm463r] {
        opacity: 0.05 !important;
    }

    .osirion-bg-enhance-text[b-lkgycm463r],
    .osirion-bg-light-text[b-lkgycm463r] {
        text-shadow: none !important;
    }
}
/* _content/Osirion.Blazor.Core/Components/Layout/OsirionFooter.razor.rz.scp.css */
/* ===================================================================
   Component-specific theme overrides
   =================================================================== */

/* Light theme overrides */
[data-osirion-component-theme="light"].osirion-footer[b-wl84h32zao],
.osirion-footer[data-osirion-component-theme="light"][b-wl84h32zao],
.osirion-bootstrap-integration [data-osirion-component-theme="light"].osirion-footer[b-wl84h32zao],
.osirion-bootstrap-integration .osirion-footer[data-osirion-component-theme="light"][b-wl84h32zao],
html.osirion-bootstrap-integration [data-osirion-component-theme="light"].osirion-footer[b-wl84h32zao],
html.osirion-bootstrap-integration .osirion-footer[data-osirion-component-theme="light"][b-wl84h32zao] {
    --osirion-background-primary: var(--osirion-color-white) !important;
    --osirion-text-primary: var(--osirion-color-neutral-700) !important;
    --osirion-text-secondary: var(--osirion-color-neutral-500) !important;
    --osirion-border-color: var(--osirion-color-neutral-200) !important;
    --osirion-action-primary: var(--osirion-color-primary-600) !important;
    background-color: var(--osirion-background-primary) !important;
    color: var(--osirion-text-primary) !important;
    border-top-color: var(--osirion-border-color) !important;
    
    /* Bootstrap variable overrides */
    --bs-body-bg: var(--osirion-background-primary) !important;
    --bs-body-color: var(--osirion-text-primary) !important;
    --bs-border-color: var(--osirion-border-color) !important;
}

/* Dark theme overrides */
[data-osirion-component-theme="dark"].osirion-footer[b-wl84h32zao],
.osirion-footer[data-osirion-component-theme="dark"][b-wl84h32zao],
.osirion-bootstrap-integration [data-osirion-component-theme="dark"].osirion-footer[b-wl84h32zao],
.osirion-bootstrap-integration .osirion-footer[data-osirion-component-theme="dark"][b-wl84h32zao],
html.osirion-bootstrap-integration [data-osirion-component-theme="dark"].osirion-footer[b-wl84h32zao],
html.osirion-bootstrap-integration .osirion-footer[data-osirion-component-theme="dark"][b-wl84h32zao] {
    --osirion-background-primary: var(--osirion-color-neutral-800) !important;
    --osirion-text-primary: var(--osirion-color-neutral-100) !important;
    --osirion-text-secondary: var(--osirion-color-neutral-400) !important;
    --osirion-border-color: var(--osirion-color-neutral-700) !important;
    --osirion-action-primary: var(--osirion-color-primary-400) !important;
    background-color: var(--osirion-background-primary) !important;
    color: var(--osirion-text-primary) !important;
    border-top-color: var(--osirion-border-color) !important;
    
    /* Bootstrap variable overrides */
    --bs-body-bg: var(--osirion-background-primary) !important;
    --bs-body-color: var(--osirion-text-primary) !important;
    --bs-border-color: var(--osirion-border-color) !important;
}

/* Theme-specific element styles */
[data-osirion-component-theme] .osirion-footer-section-title[b-wl84h32zao],
[data-osirion-component-theme] .osirion-footer-description[b-wl84h32zao],
[data-osirion-component-theme] .osirion-footer-copyright[b-wl84h32zao] {
    color: var(--osirion-text-primary) !important;
}

[data-osirion-component-theme] .osirion-footer-link[b-wl84h32zao] {
    color: var(--osirion-text-secondary) !important;
}

[data-osirion-component-theme] .osirion-footer-link:hover[b-wl84h32zao] {
    color: var(--osirion-action-primary) !important;
}

[data-osirion-component-theme] .osirion-footer-divider[b-wl84h32zao] {
    background-color: var(--osirion-border-color) !important;
}

/* ===================================================================
   Base component styles
   =================================================================== */

.osirion-footer[b-wl84h32zao] {
    width: 100%;
    font-size: var(--osirion-font-size-base, 1rem);
    line-height: var(--osirion-line-height-normal, 1.5);
    border-top: 1px solid var(--osirion-border-color);
    background-color: var(--osirion-background-primary);
    color: var(--osirion-text-primary);
}

/* ===================================================================
   Layout structure
   =================================================================== */

.osirion-footer-container[b-wl84h32zao] {
    width: 100%;
    justify-items: center;
}

.osirion-footer-main[b-wl84h32zao] {
    padding: var(--osirion-spacing-4, 1rem) 0;
    display: grid;
    width: 100%;
    gap: var(--osirion-spacing-5, 1.25rem);
    grid-template-columns: 1fr;
    grid-template-areas:
        "middle"
        "right"
        "left";
}

.osirion-footer-main-left-content[b-wl84h32zao] {
    padding: 0 var(--osirion-spacing-4, 1rem);
    width: 100%;
}

.osirion-footer-main-left-content-has-child[b-wl84h32zao] {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.osirion-footer-main-middle-content[b-wl84h32zao] {
    grid-area: middle;
    margin: 0 auto;
    width: 100%;
}

.osirion-footer-main-right-content[b-wl84h32zao] {
    padding: 0 var(--osirion-spacing-4, 1rem);
    width: 100%;
}

.osirion-footer-bottom-content[b-wl84h32zao] {
    max-width: var(--osirion-container-xl, 1140px);
    margin: 0 auto;
    padding: 0 var(--osirion-spacing-4, 1rem);
}

/* ===================================================================
   Content sections
   =================================================================== */

.osirion-footer-grid[b-wl84h32zao] {
    display: grid;
    gap: var(--osirion-spacing-4, 1rem);
    grid-template-columns: 1fr;
}

.osirion-footer-brand[b-wl84h32zao] {
    width: 100%;
}

.osirion-footer-logo[b-wl84h32zao] {
    margin-bottom: var(--osirion-spacing-3, 0.75rem);
}

.osirion-footer-description[b-wl84h32zao] {
    font-size: var(--osirion-font-size-sm, 0.875rem);
    color: var(--osirion-text-secondary);
    margin: 0;
}

.osirion-footer-links[b-wl84h32zao] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: var(--osirion-spacing-4, 1rem);
}

.osirion-footer-section-title[b-wl84h32zao] {
    font-size: var(--osirion-font-size-base, 1rem);
    font-weight: var(--osirion-font-weight-semibold, 600);
    margin: 0 0 var(--osirion-spacing-4, 1rem);
    color: var(--osirion-text-primary);
}

.osirion-footer-list[b-wl84h32zao] {
    list-style: none;
    padding: 0;
    margin: 0;
}

.osirion-footer-list-item[b-wl84h32zao] {
    margin-bottom: var(--osirion-spacing-2, 0.5rem);
}

/* ===================================================================
   Links and interactions
   =================================================================== */

.osirion-footer-link[b-wl84h32zao] {
    color: var(--osirion-text-secondary);
    text-decoration: none;
    font-size: var(--osirion-font-size-sm, 0.875rem);
    transition: color var(--osirion-transition-duration-200, 0.2s) ease;
}

.osirion-footer-link:hover[b-wl84h32zao] {
    color: var(--osirion-action-primary);
}

.osirion-footer-link:focus[b-wl84h32zao] {
    outline: var(--osirion-focus-ring-width, 3px) solid var(--osirion-focus-ring-color, rgba(59, 130, 246, 0.5));
    outline-offset: var(--osirion-focus-ring-offset, 2px);
}

.osirion-footer-bottom-link[b-wl84h32zao] {
    color: var(--osirion-text-secondary);
    text-decoration: none;
    font-size: var(--osirion-font-size-sm, 0.875rem);
    transition: color var(--osirion-transition-duration-200, 0.2s) ease;
}

.osirion-footer-bottom-link:hover[b-wl84h32zao] {
    color: var(--osirion-action-primary);
}

.osirion-footer-bottom-link:focus[b-wl84h32zao] {
    outline: var(--osirion-focus-ring-width, 3px) solid var(--osirion-focus-ring-color, rgba(59, 130, 246, 0.5));
    outline-offset: var(--osirion-focus-ring-offset, 2px);
}

/* ===================================================================
   Social links
   =================================================================== */

.osirion-footer-social[b-wl84h32zao] {
    width: 100%;
}

.osirion-footer-social-links[b-wl84h32zao] {
    display: flex;
    gap: var(--osirion-spacing-3, 0.75rem);
    flex-wrap: wrap;
}

.osirion-footer-social-link[b-wl84h32zao] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--osirion-spacing-10, 2.5rem);
    height: var(--osirion-spacing-10, 2.5rem);
    border-radius: var(--osirion-radius-full, 9999px);
    background-color: var(--osirion-background-secondary);
    color: var(--osirion-text-primary);
    text-decoration: none;
    transition: all var(--osirion-transition-duration-200, 0.2s) ease;
}

.osirion-footer-social-link:hover[b-wl84h32zao] {
    background-color: var(--osirion-action-primary);
    color: var(--osirion-action-primary-text);
    transform: translateY(-2px);
}

.osirion-footer-social-link:focus[b-wl84h32zao] {
    outline: var(--osirion-focus-ring-width, 3px) solid var(--osirion-focus-ring-color, rgba(59, 130, 246, 0.5));
    outline-offset: var(--osirion-focus-ring-offset, 2px);
}

/* ===================================================================
   Footer sections
   =================================================================== */

.osirion-footer-divider[b-wl84h32zao] {
    height: 1px;
    background-color: var(--osirion-border-color);
    margin: 0;
}

.osirion-footer-bottom[b-wl84h32zao] {
    padding: var(--osirion-spacing-4, 1rem) 0;
}

.osirion-footer-bottom-content[b-wl84h32zao] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: var(--osirion-spacing-4, 1rem);
}

.osirion-footer-copyright[b-wl84h32zao] {
    font-size: var(--osirion-font-size-sm, 0.875rem);
    color: var(--osirion-text-secondary);
}

.osirion-footer-bottom-links[b-wl84h32zao] {
    display: flex;
    gap: var(--osirion-spacing-4, 1rem);
    flex-wrap: wrap;
}

.osirion-footer-extra[b-wl84h32zao] {
    padding: var(--osirion-spacing-4, 1rem) 0;
    background-color: var(--osirion-background-tertiary);
}

/* ===================================================================
   Component variants
   =================================================================== */

/* Minimal variant */
.osirion-footer-minimal .osirion-footer-main[b-wl84h32zao] {
    padding: var(--osirion-spacing-4, 1rem) 0;
}

.osirion-footer-minimal .osirion-footer-bottom[b-wl84h32zao] {
    padding: var(--osirion-spacing-4, 1rem) 0;
}

/* Centered variant */
.osirion-footer-centered[b-wl84h32zao] {
    text-align: center;
}

.osirion-footer-centered .osirion-footer-grid[b-wl84h32zao] {
    justify-items: center;
}

.osirion-footer-centered .osirion-footer-links[b-wl84h32zao] {
    justify-content: center;
}

.osirion-footer-centered .osirion-footer-social-links[b-wl84h32zao] {
    justify-content: center;
}

.osirion-footer-centered .osirion-footer-bottom-content[b-wl84h32zao] {
    justify-content: center;
    flex-direction: column;
}

.osirion-footer-centered .osirion-footer-description[b-wl84h32zao] {
    margin: 0 auto;
}

/* Grid column variants */
.osirion-footer-grid-2-column .osirion-footer-grid[b-wl84h32zao] {
    grid-template-columns: 1fr 1fr;
}

.osirion-footer-grid-3-column .osirion-footer-grid[b-wl84h32zao] {
    grid-template-columns: 1fr 1fr 1fr;
}

.osirion-footer-grid-4-column .osirion-footer-grid[b-wl84h32zao] {
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

/* ===================================================================
   Positioning variants
   =================================================================== */

.osirion-footer-docked-fixed[b-wl84h32zao] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: var(--osirion-z-index-20, 20);
}

body:has(.osirion-footer-docked-fixed)[b-wl84h32zao] {
    padding-bottom: var(--osirion-footer-height, 300px);
}

.osirion-footer-docked-sticky[b-wl84h32zao] {
    margin-top: auto;
}

/* ===================================================================
   Responsive design
   =================================================================== */

@media (min-width: 1921px) {
    .osirion-footer-main[b-wl84h32zao] {
        grid-template-columns: 1fr var(--osirion-container-xxl, 1320px) 1fr;
        grid-template-areas: "left middle right";
    }

    .osirion-footer-main-right-content[b-wl84h32zao] {
        justify-items: start;
        padding: 0;
    }
}

@media (max-width: 1920.97px) {
    .osirion-footer-main[b-wl84h32zao] {
        grid-template-columns: 1fr var(--osirion-container-xl, 1440px) 1fr;
        grid-template-areas: "left middle right";
    }

    .osirion-footer-main-left-content[b-wl84h32zao] {
        width: 100%;
        justify-items: start;
        padding: 0 0 0 var(--osirion-spacing-2, 0.5rem);
    }

    .osirion-footer-main-right-content[b-wl84h32zao] {
        width: 100%;
        justify-items: start;
        padding: 0 var(--osirion-spacing-2, 0.5rem) 0 0;
    }
}

@media (min-width: 1441px) {
    .osirion-footer-main-middle-content[b-wl84h32zao] {
        border-left: 1px solid var(--osirion-border-color);
        border-right: 1px solid var(--osirion-border-color);
        padding: 0 16px;
    }
}

@media (max-width: 1440.97px) {
    .osirion-footer-main[b-wl84h32zao] {
        padding: 0 var(--osirion-spacing-8, 2rem);
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "middle middle"
            "left right";
    }

    .osirion-footer-main-left-content[b-wl84h32zao],
    .osirion-footer-brand[b-wl84h32zao] {
        justify-items: start;
        padding: 0;
    }

    .osirion-footer-main-middle-content[b-wl84h32zao] {
        padding: var(--osirion-spacing-2, 0.5rem) 0;
    }

    .osirion-footer-main-right-content[b-wl84h32zao] {
        justify-items: end;
        padding: 0;
    }
}

@media (max-width: 767.98px) {
    /* Phones stack the footer: the links, the left content (contact details), then the right content. The left and
       right columns name their areas, so the order no longer depends on auto-placement. */
    .osirion-footer-main[b-wl84h32zao] {
        grid-template-columns: 1fr;
        grid-template-areas:
            "middle"
            "left"
            "right";
    }

    .osirion-footer-main-left-content[b-wl84h32zao] {
        grid-area: left;
    }

    .osirion-footer-main-right-content[b-wl84h32zao] {
        grid-area: right;
    }

    /* With a logo, the brand opens the footer instead of sitting between the contact details and the right column */
    .osirion-footer-main:has(> .osirion-footer-main-left-content-has-child)[b-wl84h32zao] {
        grid-template-areas:
            "brand"
            "middle"
            "left"
            "right";
    }

    .osirion-footer-main-left-content-has-child[b-wl84h32zao] {
        display: contents;
    }

    .osirion-footer-main-left-content-has-child > .osirion-footer-brand[b-wl84h32zao] {
        grid-area: brand;
    }

    /* OsirionContactInfoSection pads itself on phones for use as a panel; in the footer it lines up with the links */
    .osirion-footer-main-left-content[b-wl84h32zao]  .osirion-contact-info-section {
        padding-inline: 0;
    }

    .osirion-footer-main-left-content[b-wl84h32zao],
    .osirion-footer-main-right-content[b-wl84h32zao] {
        justify-items: start;
    }

    .osirion-footer-bottom-content[b-wl84h32zao] {
        flex-direction: column;
        text-align: center;
    }

    .osirion-footer-bottom-links[b-wl84h32zao] {
        justify-content: center;
    }
}

/* ===================================================================
   Accessibility and preferences
   =================================================================== */

@media print {
    .osirion-footer[b-wl84h32zao] {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .osirion-footer-link[b-wl84h32zao],
    .osirion-footer-social-link[b-wl84h32zao],
    .osirion-footer-bottom-link[b-wl84h32zao] {
        transition: none;
    }

    .osirion-footer-social-link:hover[b-wl84h32zao] {
        transform: none;
    }
}
/* _content/Osirion.Blazor.Core/Components/Layout/OsirionPageLayout.razor.rz.scp.css */
/* OsirionPageLayout Component Styles */

/* Base layout structure */
.osirion-page-layout[b-kkqbpsbf3i] {
    display: flex;
    flex-direction: column;
    width: 100%;
}

    /* Minimum height strategies */
    .osirion-page-layout.osirion-min-height-viewport[b-kkqbpsbf3i] {
        min-height: 100vh;
    }

    .osirion-page-layout.osirion-min-height-content[b-kkqbpsbf3i] {
        min-height: 100%;
    }

/* Header section */
.osirion-page-header[b-kkqbpsbf3i] {
    flex-shrink: 0;
}

.osirion-page-header-scroll[b-kkqbpsbf3i] {
    position: sticky;
    top: 0;
    z-index: 1000;
    transition: transform 0.3s ease-in-out;
}

/* Skip link: off screen until it receives keyboard focus, then shown at the top of the viewport (fixed, so it is
   visible however far the page is scrolled) above the sticky header */
/* The parent selector outranks ".osirion-page-layout > *", which stretches every child to full width */
.osirion-page-layout > .osirion-skip-link[b-kkqbpsbf3i] {
    position: fixed;
    top: var(--osirion-spacing-2, 0.5rem);
    left: var(--osirion-spacing-2, 0.5rem);
    width: max-content;
    max-width: calc(100vw - 2 * var(--osirion-spacing-2, 0.5rem));
    z-index: calc(var(--osirion-z-index-50, 2000) + 1);
    padding: var(--osirion-spacing-2, 0.5rem) var(--osirion-spacing-4, 1rem);
    border-radius: var(--osirion-radius-md, 0.375rem);
    /* The page's own text and background colors, inverted: readable in every theme and framework adapter */
    background-color: var(--osirion-text-primary, #111827);
    color: var(--osirion-background-primary, #ffffff);
    font-weight: var(--osirion-font-weight-semibold, 600);
    text-decoration: none;
    transform: translateY(calc(-100% - var(--osirion-spacing-4, 1rem)));
}

    .osirion-page-layout > .osirion-skip-link:focus[b-kkqbpsbf3i] {
        transform: none;
        outline: var(--osirion-focus-ring-width, 3px) solid var(--osirion-focus-ring-color, rgba(59, 130, 246, 0.5));
        outline-offset: var(--osirion-focus-ring-offset, 2px);
    }

/* Main content section */
.osirion-page-main[b-kkqbpsbf3i] {
    flex: 1 0 auto;
    width: 100%;
}

    /* Focus arrives here from the skip link; the page itself is not a control to outline */
    .osirion-page-main:focus[b-kkqbpsbf3i] {
        outline: none;
    }

/* Footer section */
.osirion-page-footer[b-kkqbpsbf3i] {
    flex-shrink: 0;
}

/* Sticky footer layout - ensures footer sticks to bottom */
.osirion-sticky-footer-layout[b-kkqbpsbf3i] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

    .osirion-sticky-footer-layout .osirion-page-main[b-kkqbpsbf3i] {
        flex: 1 0 auto;
    }

    .osirion-sticky-footer-layout .osirion-page-footer[b-kkqbpsbf3i] {
        flex-shrink: 0;
        margin-top: auto;
    }

/* Support for nested flex containers */
.osirion-page-layout > *[b-kkqbpsbf3i] {
    width: 100%;
}

/* Print styles */
@media print {
    .osirion-page-layout[b-kkqbpsbf3i] {
        min-height: auto;
        display: block;
    }

    .osirion-page-main[b-kkqbpsbf3i] {
        flex: none;
    }
}
/* _content/Osirion.Blazor.Core/Components/Layout/OsirionStickySidebar.razor.rz.scp.css */
.osirion-sticky-sidebar[b-y5deddpfen] {
    position: sticky;
    top: var(--osirion-header-height, 2.5rem);
    height: calc(100vh - var(--osirion-header-height, 2.5rem));
    overflow-y: auto;
    scrollbar-width: thin;
    padding-bottom: var(--osirion-spacing-6, 1.5rem);
    scroll-behavior: smooth;
    box-sizing: border-box;
    max-height: calc(100vh - var(--osirion-header-height, 2.5rem));
}

    .osirion-sticky-sidebar[b-y5deddpfen]::-webkit-scrollbar {
        width: 6px;
    }

    .osirion-sticky-sidebar[b-y5deddpfen]::-webkit-scrollbar-track {
        background: transparent;
    }

    .osirion-sticky-sidebar[b-y5deddpfen]::-webkit-scrollbar-thumb {
        background-color: var(--osirion-scrollbar-thumb, var(--osirion-color-neutral-400, #9ca3af));
        border-radius: 6px;
    }

        .osirion-sticky-sidebar[b-y5deddpfen]::-webkit-scrollbar-thumb:hover {
            background-color: var(--osirion-scrollbar-thumb-hover, var(--osirion-color-neutral-500, #6b7280));
        }

/* Hide scrollbar while maintaining functionality */
.osirion-no-scrollbar[b-y5deddpfen] {
    scrollbar-width: none;
}

    .osirion-no-scrollbar[b-y5deddpfen]::-webkit-scrollbar {
        display: none;
    }

/* Non-sticky variant */
.osirion-non-sticky[b-y5deddpfen] {
    position: static;
    height: auto;
    max-height: none;
    overflow-y: visible;
}

/* Responsive behavior */
@media (max-width: 768px) {
    .osirion-sticky-sidebar[b-y5deddpfen] {
        position: static;
        height: auto;
        max-height: none;
        overflow-y: visible;
    }
}

/* Support for reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
    .osirion-sticky-sidebar[b-y5deddpfen] {
        scroll-behavior: auto;
    }
}
/* _content/Osirion.Blazor.Core/Components/Navigation/OsirionBreadcrumbs.razor.rz.scp.css */
/* PathBreadcrumbs Component - Osirion.Blazor.Navigation */

.osirion-breadcrumbs[b-lqq1tqo8gb] {
    margin-bottom: var(--osirion-spacing-6, 1.5rem);
    font-family: var(--osirion-font-family-base, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);
}

.osirion-breadcrumbs-list[b-lqq1tqo8gb] {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    color: var(--osirion-text-primary, #374151);
}

.osirion-breadcrumbs-item[b-lqq1tqo8gb] {
    display: flex;
    align-items: center;
}

    .osirion-breadcrumbs-item:not(:last-child)[b-lqq1tqo8gb]::after {
        content: "/";
        margin: 0 var(--osirion-spacing-2, 0.5rem);
        color: var(--osirion-text-tertiary, #9ca3af);
    }

.osirion-breadcrumbs-link[b-lqq1tqo8gb] {
    color: var(--osirion-text-primary, #374151);
    text-decoration: none;
    transition: color var(--osirion-transition-duration-200, 0.2s) ease;
}

    .osirion-breadcrumbs-link:hover[b-lqq1tqo8gb] {
        color: var(--osirion-action-primary, #2563eb);
    }

.osirion-breadcrumbs-current[b-lqq1tqo8gb] {
    color: var(--osirion-text-secondary, #6b7280);
}

.osirion-breadcrumbs-text[b-lqq1tqo8gb] {
    margin: 0;
}

/* Responsive styles */
@media (max-width: 768px) {
    .osirion-breadcrumbs[b-lqq1tqo8gb] {
        font-size: var(--osirion-font-size-sm, 0.875rem);
    }

    .osirion-breadcrumbs-item:not(:last-child)[b-lqq1tqo8gb]::after {
        margin: 0 var(--osirion-spacing-1, 0.25rem);
    }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    .osirion-breadcrumbs-link[b-lqq1tqo8gb] {
        transition: none;
    }
}
/* _content/Osirion.Blazor.Core/Components/Navigation/OsirionReadMoreLink.razor.rz.scp.css */
/* Base read more link styles */
.osirion-read-more[b-h0xp24a6hq] {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: var(--osirion-spacing-2, 0.5rem);
    text-decoration: none;
    color: var(--osirion-action-primary, #007b31);
    font-weight: var(--osirion-font-weight-medium, 500);
    line-height: var(--osirion-line-height-normal, 1.5);
    border-radius: var(--osirion-radius-sm, 0.25rem);
    transition: all var(--osirion-transition-duration-200, 0.2s) ease;
    cursor: pointer;
}

/* Hover states */
.osirion-read-more:hover[b-h0xp24a6hq] {
    color: var(--osirion-read-more-hover-color, var(--osirion-color-primary-700, #006b2a));
    text-decoration: none;
}

.osirion-read-more:focus[b-h0xp24a6hq] {
    outline: 2px solid var(--osirion-color-primary-500, #008a35);
    outline-offset: 2px;
}

/* Block display */
.osirion-read-more-block[b-h0xp24a6hq] {
    display: flex;
    width: 100%;
}

/* Stretched link for cards */
.osirion-read-more-stretched[b-h0xp24a6hq] {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    padding: var(--osirion-spacing-4, 1rem);
}

/* When stretched, the text and icon should remain visible and properly positioned */
.osirion-read-more-stretched .osirion-read-more-text[b-h0xp24a6hq],
.osirion-read-more-stretched .osirion-read-more-icon[b-h0xp24a6hq] {
    position: relative;
    z-index: 2;
}

/* Stretched link content positioning */
.osirion-read-more-stretched[b-h0xp24a6hq] {
    gap: var(--osirion-spacing-2, 0.5rem);
}

/* Size variations */
.osirion-read-more-small[b-h0xp24a6hq] {
    font-size: var(--osirion-font-size-sm, 0.875rem);
    gap: var(--osirion-spacing-1, 0.25rem);
}

.osirion-read-more-small .osirion-read-more-icon svg[b-h0xp24a6hq] {
    width: 14px;
    height: 14px;
}

.osirion-read-more-normal[b-h0xp24a6hq] {
    font-size: var(--osirion-font-size-base, 1rem);
}

.osirion-read-more-normal .osirion-read-more-icon svg[b-h0xp24a6hq] {
    width: 16px;
    height: 16px;
}

.osirion-read-more-large[b-h0xp24a6hq] {
    font-size: var(--osirion-font-size-lg, 1.125rem);
    gap: var(--osirion-spacing-3, 0.75rem);
}

.osirion-read-more-large .osirion-read-more-icon svg[b-h0xp24a6hq] {
    width: 18px;
    height: 18px;
}

/* Icon styles */
.osirion-read-more-icon[b-h0xp24a6hq] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform var(--osirion-transition-duration-200, 0.2s) ease;
}

/* Icon positioning */
.osirion-read-more-icon-left .osirion-read-more-icon-left[b-h0xp24a6hq] {
    order: -1;
}

.osirion-read-more-icon-right .osirion-read-more-icon-right[b-h0xp24a6hq] {
    order: 1;
}

/* Animation effects */
.osirion-read-more-animated:hover .osirion-read-more-icon-right[b-h0xp24a6hq] {
    transform: translateX(var(--osirion-spacing-1, 0.25rem));
}

.osirion-read-more-animated:hover .osirion-read-more-icon-left[b-h0xp24a6hq] {
    transform: translateX(calc(-1 * var(--osirion-spacing-1, 0.25rem)));
}

/* Variant styles */
.osirion-read-more-default[b-h0xp24a6hq] {
    /* Uses base styles with primary color */
}

.osirion-read-more-arrow[b-h0xp24a6hq] {
    font-weight: var(--osirion-font-weight-semibold, 600);
}

.osirion-read-more-external[b-h0xp24a6hq] {
    color: var(--osirion-action-primary, #007b31);
}

.osirion-read-more-external:hover[b-h0xp24a6hq] {
    color: var(--osirion-read-more-hover-color, var(--osirion-color-primary-700, #006b2a));
}

.osirion-read-more-download[b-h0xp24a6hq] {
    color: var(--osirion-action-primary, #007b31);
}

.osirion-read-more-download:hover[b-h0xp24a6hq] {
    color: var(--osirion-read-more-hover-color, var(--osirion-color-primary-700, #006b2a));
}

.osirion-read-more-plain[b-h0xp24a6hq] {
    color: var(--osirion-text-primary, #374151);
    font-weight: var(--osirion-font-weight-normal, 400);
}

    .osirion-read-more-plain:hover[b-h0xp24a6hq] {
        color: var(--osirion-read-more-hover-color, var(--osirion-color-primary-700, #006b2a));
    }

.osirion-read-more-button[b-h0xp24a6hq] {
    padding: var(--osirion-spacing-2, 0.5rem) var(--osirion-spacing-4, 1rem);
    background-color: var(--osirion-action-primary, #007b31);
    color: white;
    border-radius: var(--osirion-radius-md, 0.375rem);
    font-weight: var(--osirion-font-weight-medium, 500);
    border: 1px solid var(--osirion-action-primary, #007b31);
}

.osirion-read-more-button:hover[b-h0xp24a6hq] {
    background-color: var(--osirion-color-primary-700, #006b2a);
    border-color: var(--osirion-color-primary-700, #006b2a);
    color: white;
}

.osirion-read-more-button:focus[b-h0xp24a6hq] {
    box-shadow: 0 0 0 3px rgba(0, 123, 49, 0.25);
}

/* Framework-specific adjustments */

/* Bootstrap integration */
.icon-link .osirion-read-more-icon[b-h0xp24a6hq] {
    /* Bootstrap icon-link already handles spacing */
    margin: 0;
}

/* Bootstrap stretched link should not use icon-link classes */
.osirion-read-more-stretched.stretched-link[b-h0xp24a6hq] {
    color: var(--osirion-action-primary, #007b31);
    text-decoration: none;
}

.osirion-read-more-stretched.stretched-link:hover[b-h0xp24a6hq] {
    color: var(--osirion-color-primary-700, #006b2a);
}

/* FluentUI integration */
.osirion-fluent-link[b-h0xp24a6hq] {
    border: none;
    background: transparent;
}

/* MudBlazor integration */
.mud-link.osirion-read-more[b-h0xp24a6hq] {
    text-decoration: none;
}

/* Radzen integration */
.rz-link.osirion-read-more[b-h0xp24a6hq] {
    display: inline-flex;
}

/* Text content */
.osirion-read-more-text[b-h0xp24a6hq] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Responsive adjustments */
@media (max-width: 767.98px) {
    .osirion-read-more[b-h0xp24a6hq] {
        font-size: var(--osirion-font-size-sm, 0.875rem);
    }
    
    .osirion-read-more-large[b-h0xp24a6hq] {
        font-size: var(--osirion-font-size-base, 1rem);
    }
    
    .osirion-read-more-text[b-h0xp24a6hq] {
        white-space: normal;
    }
    
    /* Make block links more touch-friendly */
    .osirion-read-more-block[b-h0xp24a6hq] {
        min-height: 44px;
        padding: var(--osirion-spacing-2, 0.5rem);
    }

    /* Adjust stretched link positioning on mobile */
    .osirion-read-more-stretched[b-h0xp24a6hq] {
        padding: var(--osirion-spacing-3, 0.75rem);
    }
}

/* Print styles */
@media print {
    .osirion-read-more[b-h0xp24a6hq] {
        color: black !important;
        text-decoration: underline !important;
    }
    
    .osirion-read-more-icon[b-h0xp24a6hq] {
        display: none;
    }
    
    .osirion-read-more-button[b-h0xp24a6hq] {
        background: transparent !important;
        border: 1px solid black !important;
        color: black !important;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .osirion-read-more[b-h0xp24a6hq] {
        border: 1px solid transparent;
    }
    
    .osirion-read-more:hover[b-h0xp24a6hq],
    .osirion-read-more:focus[b-h0xp24a6hq] {
        border-color: currentColor;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .osirion-read-more[b-h0xp24a6hq],
    .osirion-read-more-icon[b-h0xp24a6hq] {
        transition: none;
    }
    
    .osirion-read-more-animated:hover .osirion-read-more-icon-right[b-h0xp24a6hq],
    .osirion-read-more-animated:hover .osirion-read-more-icon-left[b-h0xp24a6hq] {
        transform: none;
    }
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
    .osirion-read-more[b-h0xp24a6hq] {
        color: var(--osirion-action-primary, #22c55e);
    }
    
    .osirion-read-more:hover[b-h0xp24a6hq] {
        color: var(--osirion-action-primary-hover, #4ade80);
    }
    
    .osirion-read-more-external[b-h0xp24a6hq] {
        color: var(--osirion-action-primary, #22c55e);
    }
    
    .osirion-read-more-external:hover[b-h0xp24a6hq] {
        color: var(--osirion-action-primary-hover, #4ade80);
    }
    
    .osirion-read-more-download[b-h0xp24a6hq] {
        color: var(--osirion-action-primary, #22c55e);
    }
    
    .osirion-read-more-download:hover[b-h0xp24a6hq] {
        color: var(--osirion-action-primary-hover, #4ade80);
    }
    
    .osirion-read-more-plain[b-h0xp24a6hq] {
        color: var(--osirion-text-primary, #e5e7eb);
    }
    
    .osirion-read-more-plain:hover[b-h0xp24a6hq] {
        color: var(--osirion-text-secondary-dark, #d1d5db);
    }

    /* Dark mode stretched link */
    .osirion-read-more-stretched.stretched-link[b-h0xp24a6hq] {
        color: var(--osirion-action-primary, #22c55e);
    }

    .osirion-read-more-stretched.stretched-link:hover[b-h0xp24a6hq] {
        color: var(--osirion-action-primary-hover, #4ade80);
    }
}
/* _content/Osirion.Blazor.Core/Components/OsirionArticleMetdata.razor.rz.scp.css */
.osirion-article-metadata[b-zhoqu7e4fc] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--osirion-spacing-4, 1rem);
    font-size: var(--osirion-font-size-sm, 0.875rem);
    margin-bottom: var(--osirion-spacing-6, 1.5rem);
    opacity: 0.8;
}

.osirion-article-metadata-author[b-zhoqu7e4fc],
.osirion-article-metadata-date[b-zhoqu7e4fc],
.osirion-article-metadata-read-time[b-zhoqu7e4fc] {
    display: inline-flex;
    align-items: center;
    gap: var(--osirion-spacing-2, 0.5rem);
}

.osirion-article-metadata-icon[b-zhoqu7e4fc] {
    flex-shrink: 0;
    opacity: 0.7;
}
/* _content/Osirion.Blazor.Core/Components/Popups/OsirionAnnouncementBar.razor.rz.scp.css */
.osirion-announcement[b-e048sqo9bx] {
    display: flex;
    gap: var(--osirion-spacing-3, 0.75rem);
    align-items: center;
    justify-content: center;
    padding: var(--osirion-spacing-2, 0.5rem) var(--osirion-spacing-4, 1rem);
    background-color: var(--osirion-action-primary, #2563eb);
    color: var(--osirion-action-primary-text, #fff);
    font-size: var(--osirion-font-size-sm, 0.875rem);
}

.osirion-announcement-content[b-e048sqo9bx] {
    flex: 1;
    text-align: center;
}

    .osirion-announcement-content[b-e048sqo9bx]  a {
        color: inherit;
        font-weight: var(--osirion-font-weight-semibold, 600);
        text-decoration: underline;
    }

    .osirion-announcement-content[b-e048sqo9bx]  p {
        margin: 0;
    }

.osirion-announcement-form[b-e048sqo9bx] {
    flex: none;
    margin: 0;
}

.osirion-announcement-dismiss[b-e048sqo9bx] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 0;
    border-radius: var(--osirion-radius-sm, 0.125rem);
    background: transparent;
    color: inherit;
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
}

    .osirion-announcement-dismiss:hover[b-e048sqo9bx] {
        background-color: rgba(255, 255, 255, 0.15);
    }

    .osirion-announcement-dismiss:focus-visible[b-e048sqo9bx] {
        outline: 2px solid currentColor;
        outline-offset: 2px;
    }
/* _content/Osirion.Blazor.Core/Components/Popups/OsirionCookieConsent.razor.rz.scp.css */
/* OsirionCookieConsent Component Styles */

.osirion-cookie-consent[b-rsessv0pak] {
    position: fixed;
    left: 0;
    right: 0;
    z-index: var(--osirion-z-index-50, 50);
    font-family: var(--osirion-font-family-base, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);
    font-size: var(--osirion-font-size-base, 1rem);
    line-height: var(--osirion-line-height-normal, 1.5);
    animation: osirion-slide-in-b-rsessv0pak 0.3s ease-out;
    /* Theme-aware styling */
    background-color: var(--osirion-background-primary);
    color: var(--osirion-text-primary);
    border-top: 1px solid var(--osirion-border-color);
    box-shadow: 0 -4px 6px -1px rgba(0, 0, 0, 0.1), 0 -2px 4px -1px rgba(0, 0, 0, 0.06);
}

/* Position variants */
.osirion-cookie-consent-bottom[b-rsessv0pak] {
    bottom: 0;
}

.osirion-cookie-consent-top[b-rsessv0pak] {
    top: 0;
    border-top: none;
    border-bottom: 1px solid var(--osirion-border-color);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

/* Container */
.osirion-cookie-consent-container[b-rsessv0pak] {
    max-width: var(--osirion-container-xl, 1200px);
    margin: 0 auto;
    padding: var(--osirion-spacing-4, 1rem);
}

/* Content layout */
.osirion-cookie-consent-content[b-rsessv0pak] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--osirion-spacing-4, 1rem);
}

/* Message section */
.osirion-cookie-consent-message[b-rsessv0pak] {
    flex: 1 1 auto;
    display: flex;
    align-items: flex-start;
    gap: var(--osirion-spacing-3, 0.75rem);
}

/* Icon */
.osirion-cookie-consent-icon[b-rsessv0pak] {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    color: var(--osirion-action-primary);
}

/* Text content */
.osirion-cookie-consent-text[b-rsessv0pak] {
    flex: 1;
}

.osirion-cookie-consent-title[b-rsessv0pak] {
    font-size: var(--osirion-font-size-lg, 1.125rem);
    font-weight: var(--osirion-font-weight-semibold, 600);
    margin: 0 0 var(--osirion-spacing-1, 0.25rem);
}

.osirion-cookie-consent-description[b-rsessv0pak] {
    font-size: var(--osirion-font-size-sm, 0.875rem);
    color: var(--osirion-text-primary);
    margin: 0;
}

/* Link in description */
.osirion-cookie-consent-link[b-rsessv0pak] {
    color: var(--osirion-action-primary);
    text-decoration: underline;
    transition: color var(--osirion-transition-duration-200, 0.2s) ease;
}

    .osirion-cookie-consent-link:hover[b-rsessv0pak] {
        color: var(--osirion-action-primary-hover);
    }

    .osirion-cookie-consent-link:focus[b-rsessv0pak] {
        outline: var(--osirion-focus-ring-width, 3px) solid var(--osirion-focus-ring-color, rgba(59, 130, 246, 0.5));
        outline-offset: var(--osirion-focus-ring-offset, 2px);
    }

/* Action buttons */
.osirion-cookie-consent-actions[b-rsessv0pak] {
    flex-shrink: 0;
    display: flex;
    gap: var(--osirion-spacing-2, 0.5rem);
    align-items: center;
}

/* Button styles */
.osirion-cookie-consent-button[b-rsessv0pak] {
    padding: var(--osirion-spacing-2, 0.5rem) var(--osirion-spacing-4, 1rem);
    border: none;
    border-radius: var(--osirion-button-radius, var(--osirion-radius-md, 0.375rem));
    font-size: var(--osirion-font-size-sm, 0.875rem);
    font-weight: var(--osirion-font-weight-medium, 500);
    cursor: pointer;
    transition: all var(--osirion-transition-duration-200, 0.2s) ease;
    white-space: nowrap;
}

    .osirion-cookie-consent-button:focus[b-rsessv0pak] {
        outline: var(--osirion-focus-ring-width, 3px) solid var(--osirion-focus-ring-color, rgba(59, 130, 246, 0.5));
        outline-offset: var(--osirion-focus-ring-offset, 2px);
    }

/* Primary button */
.osirion-cookie-consent-button-primary[b-rsessv0pak] {
    background-color: var(--osirion-action-primary);
    color: var(--osirion-action-primary-text);
}

    .osirion-cookie-consent-button-primary:hover[b-rsessv0pak] {
        background-color: var(--osirion-action-primary-hover);
    }

/* Secondary button */
.osirion-cookie-consent-button-secondary[b-rsessv0pak] {
    background-color: var(--osirion-action-secondary);
    color: var(--osirion-action-secondary-text);
    border: 1px solid var(--osirion-border-color);
}

    .osirion-cookie-consent-button-secondary:hover[b-rsessv0pak] {
        background-color: var(--osirion-action-secondary-hover);
    }

/* Customization panel */
.osirion-cookie-consent-customize[b-rsessv0pak] {
    margin-top: var(--osirion-spacing-4, 1rem);
    padding-top: var(--osirion-spacing-4, 1rem);
    border-top: 1px solid var(--osirion-border-color);
}

.osirion-cookie-consent-customize-title[b-rsessv0pak] {
    font-size: var(--osirion-font-size-base, 1rem);
    font-weight: var(--osirion-font-weight-semibold, 600);
    margin: 0 0 var(--osirion-spacing-3, 0.75rem);
}

/* Cookie categories */
.osirion-cookie-consent-categories[b-rsessv0pak] {
    display: grid;
    gap: var(--osirion-spacing-3, 0.75rem);
    margin-bottom: var(--osirion-spacing-4, 1rem);
}

.osirion-cookie-consent-category[b-rsessv0pak] {
    display: flex;
    align-items: flex-start;
}

.osirion-cookie-consent-category-label[b-rsessv0pak] {
    display: flex;
    align-items: flex-start;
    gap: var(--osirion-spacing-2, 0.5rem);
    cursor: pointer;
}

.osirion-cookie-consent-checkbox[b-rsessv0pak] {
    margin-top: 0.125rem;
    flex-shrink: 0;
}

.osirion-cookie-consent-category-info[b-rsessv0pak] {
    flex: 1;
}

.osirion-cookie-consent-category-name[b-rsessv0pak] {
    font-size: var(--osirion-font-size-sm, 0.875rem);
    font-weight: var(--osirion-font-weight-medium, 500);
    display: block;
    margin-bottom: var(--osirion-spacing-1, 0.25rem);
}

.osirion-cookie-consent-required[b-rsessv0pak] {
    font-size: var(--osirion-font-size-xs, 0.75rem);
    color: var(--osirion-text-secondary);
    font-weight: var(--osirion-font-weight-normal, 400);
}

.osirion-cookie-consent-category-description[b-rsessv0pak] {
    font-size: var(--osirion-font-size-xs, 0.75rem);
    color: var(--osirion-text-secondary);
    margin: 0;
}

.osirion-cookie-consent-customize-actions[b-rsessv0pak] {
    display: flex;
    justify-content: flex-end;
}

/* Animation */
@keyframes osirion-slide-in-b-rsessv0pak {
    from {
        transform: translateY(100%);
    }

    to {
        transform: translateY(0);
    }
}

.osirion-cookie-consent-top[b-rsessv0pak] {
    animation-name: osirion-slide-in-top-b-rsessv0pak;
}

@keyframes osirion-slide-in-top-b-rsessv0pak {
    from {
        transform: translateY(-100%);
    }

    to {
        transform: translateY(0);
    }
}

/* Media queries cannot read custom properties, so this is the literal value of --osirion-breakpoint-sm-max */
@media (max-width: 767.98px) {
    .osirion-cookie-consent-container[b-rsessv0pak] {
        padding: var(--osirion-spacing-3, 0.75rem);
    }

    .osirion-cookie-consent-content[b-rsessv0pak] {
        flex-direction: column;
        align-items: stretch;
    }

    .osirion-cookie-consent-actions[b-rsessv0pak] {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
    }

    /* The buttons carry the CSS framework's classes, so they are matched by position */
    .osirion-cookie-consent-actions > button[b-rsessv0pak] {
        width: 100%;
    }

    .osirion-cookie-consent-message[b-rsessv0pak] {
        margin-bottom: var(--osirion-spacing-3, 0.75rem);
    }
}

/* Print styles */
@media print {
    .osirion-cookie-consent[b-rsessv0pak] {
        display: none;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .osirion-cookie-consent[b-rsessv0pak] {
        animation: none;
    }

    .osirion-cookie-consent-button[b-rsessv0pak],
    .osirion-cookie-consent-link[b-rsessv0pak] {
        transition: none;
    }
}
/* _content/Osirion.Blazor.Core/Components/Rendering/OsirionContentDemo.razor.rz.scp.css */
.osirion-content-demo[b-qk9lwopg6d] {
    margin: var(--osirion-spacing-6, 1.5rem) 0;
}

.osirion-content-demo-preview[b-qk9lwopg6d] {
    padding: var(--osirion-spacing-6, 1.5rem);
    border: 1px solid var(--osirion-border-color, #e5e7eb);
    border-radius: var(--osirion-radius-md, 0.375rem);
    background-color: var(--osirion-background-primary, #fff);
}
/* _content/Osirion.Blazor.Core/Components/Rendering/OsirionHtmlRenderer.razor.rz.scp.css */

/* 
 * Osirion Typography System
 * Comprehensive typography styles for content rendering
 * WCAG AAA Compliant with proper contrast ratios
 */


:root[b-rzakkkl7a6] {
    --osirion-syntax-background-color: #151b23; /* #f6f8fa; */
}

/* ========== BASE TYPOGRAPHY ========== */
.osirion-html-renderer[b-rzakkkl7a6] {
    /* Base typography settings */
    font-family: var(--osirion-font-family-base, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);
    font-size: var(--osirion-font-size-base, 1rem);
    line-height: var(--osirion-line-height-relaxed, 1.625);
    color: var(--osirion-text-primary, #374151);
    word-break: break-word;
    overflow-wrap: break-word;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

    /* ========== HEADINGS ========== */
    .osirion-html-renderer h1[b-rzakkkl7a6],
    .osirion-html-renderer h2[b-rzakkkl7a6],
    .osirion-html-renderer h3[b-rzakkkl7a6],
    .osirion-html-renderer h4[b-rzakkkl7a6],
    .osirion-html-renderer h5[b-rzakkkl7a6],
    .osirion-html-renderer h6[b-rzakkkl7a6] {
        margin-top: var(--osirion-spacing-8, 2rem);
        margin-bottom: var(--osirion-spacing-4, 1rem);
        font-weight: var(--osirion-font-weight-semibold, 600);
        line-height: var(--osirion-line-height-tight, 1.25);
        color: var(--osirion-text-primary, #111827);
    }

    .osirion-html-renderer h1[b-rzakkkl7a6] {
        font-size: var(--osirion-font-size-4xl, 2.25rem);
        margin-top: 0;
    }

    /* A table of contents or a #fragment link scrolls its heading below a sticky header instead of under it.
       The content is a MarkupString without this component's scope attribute, so the rule needs ::deep. */
    .osirion-html-renderer[b-rzakkkl7a6]  :is(h1, h2, h3, h4, h5, h6)[id] {
        scroll-margin-top: var(--osirion-anchor-offset, 6rem);
    }

    .osirion-html-renderer h2[b-rzakkkl7a6] {
        font-size: var(--osirion-font-size-3xl, 1.875rem);
    }

    .osirion-html-renderer h3[b-rzakkkl7a6] {
        font-size: var(--osirion-font-size-2xl, 1.5rem);
    }

    .osirion-html-renderer h4[b-rzakkkl7a6] {
        font-size: var(--osirion-font-size-xl, 1.25rem);
    }

    .osirion-html-renderer h5[b-rzakkkl7a6] {
        font-size: var(--osirion-font-size-lg, 1.125rem);
    }

    .osirion-html-renderer h6[b-rzakkkl7a6] {
        font-size: var(--osirion-font-size-base, 1rem);
    }

        /* First heading has no top margin */
        .osirion-html-renderer h1:first-child[b-rzakkkl7a6],
        .osirion-html-renderer h2:first-child[b-rzakkkl7a6],
        .osirion-html-renderer h3:first-child[b-rzakkkl7a6],
        .osirion-html-renderer h4:first-child[b-rzakkkl7a6],
        .osirion-html-renderer h5:first-child[b-rzakkkl7a6],
        .osirion-html-renderer h6:first-child[b-rzakkkl7a6] {
            margin-top: 0;
        }

    /* ========== PARAGRAPHS & TEXT ========== */
    .osirion-html-renderer p[b-rzakkkl7a6] {
        margin-top: 0;
        margin-bottom: var(--osirion-spacing-4, 1rem);
    }

        .osirion-html-renderer p:last-child[b-rzakkkl7a6] {
            margin-bottom: 0;
        }

        /* Lead paragraph */
        .osirion-html-renderer .lead[b-rzakkkl7a6],
        .osirion-html-renderer p.lead[b-rzakkkl7a6] {
            font-size: var(--osirion-font-size-lg, 1.125rem);
            font-weight: var(--osirion-font-weight-normal, 400);
            line-height: var(--osirion-line-height-relaxed, 1.625);
            color: var(--osirion-text-secondary, #6b7280);
        }

    /* ========== LINKS ========== */
    .osirion-html-renderer a[b-rzakkkl7a6] {
        color: var(--osirion-action-primary, #2563eb);
        text-decoration: underline;
        text-decoration-thickness: 0.1em;
        text-underline-offset: 0.15em;
        transition: color var(--osirion-transition-duration-200, 0.2s) ease;
    }

        .osirion-html-renderer a:hover[b-rzakkkl7a6] {
            color: var(--osirion-action-primary-hover, #1d4ed8);
        }

        .osirion-html-renderer a:focus[b-rzakkkl7a6] {
            outline: var(--osirion-focus-ring-width, 3px) solid var(--osirion-focus-ring-color, rgba(59, 130, 246, 0.5));
            outline-offset: var(--osirion-focus-ring-offset, 2px);
        }

    /* ========== LISTS ========== */
    .osirion-html-renderer ul[b-rzakkkl7a6],
    .osirion-html-renderer ol[b-rzakkkl7a6] {
        margin-top: 0;
        margin-bottom: var(--osirion-spacing-4, 1rem);
        padding-left: var(--osirion-spacing-6, 1.5rem);
    }

        .osirion-html-renderer ul ul[b-rzakkkl7a6],
        .osirion-html-renderer ul ol[b-rzakkkl7a6],
        .osirion-html-renderer ol ul[b-rzakkkl7a6],
        .osirion-html-renderer ol ol[b-rzakkkl7a6] {
            margin-bottom: 0;
        }

    .osirion-html-renderer li[b-rzakkkl7a6] {
        margin-bottom: var(--osirion-spacing-2, 0.5rem);
    }

        .osirion-html-renderer li:last-child[b-rzakkkl7a6] {
            margin-bottom: 0;
        }

    /* ========== BLOCKQUOTES ========== */
    .osirion-html-renderer blockquote[b-rzakkkl7a6] {
        margin: var(--osirion-spacing-6, 1.5rem) 0;
        padding: var(--osirion-spacing-4, 1rem) var(--osirion-spacing-6, 1.5rem);
        border-left: 4px solid var(--osirion-action-primary, #2563eb);
        background-color: var(--osirion-background-secondary, #f9fafb);
        font-style: italic;
        color: var(--osirion-text-secondary, #6b7280);
    }

        .osirion-html-renderer blockquote p:last-child[b-rzakkkl7a6] {
            margin-bottom: 0;
        }

    /* ========== HORIZONTAL RULES ========== */
    .osirion-html-renderer hr[b-rzakkkl7a6] {
        height: 0;
        margin: var(--osirion-spacing-8, 2rem) 0;
        border: 0;
        border-top: 1px solid var(--osirion-border-color, #e5e7eb);
    }

    /* ========== EMPHASIS & STRONG ========== */
    .osirion-html-renderer em[b-rzakkkl7a6] {
        font-style: italic;
    }

    .osirion-html-renderer strong[b-rzakkkl7a6] {
        font-weight: var(--osirion-font-weight-semibold, 600);
        color: var(--osirion-text-primary, #111827);
    }

    /* ========== CODE (INLINE) ========== */
    .osirion-html-renderer code:not([class*="language-"])[b-rzakkkl7a6] {
        padding: 0.125em 0.25em;
        font-family: var(--osirion-font-family-mono, ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace);
        font-size: 0.875em;
        color: var(--osirion-color-danger-700, #b91c1c);
        background-color: var(--osirion-background-secondary, #f3f4f6);
        border-radius: var(--osirion-radius-sm, 0.125rem);
    }

    /* ========== TABLES ========== */
    .osirion-html-renderer table[b-rzakkkl7a6] {
        width: 100%;
        margin-bottom: var(--osirion-spacing-4, 1rem);
        border-collapse: collapse;
        font-size: var(--osirion-font-size-sm, 0.875rem);
    }

    .osirion-html-renderer th[b-rzakkkl7a6],
    .osirion-html-renderer td[b-rzakkkl7a6] {
        padding: var(--osirion-spacing-3, 0.75rem);
        text-align: left;
        border-bottom: 1px solid var(--osirion-border-color, #e5e7eb);
    }

    .osirion-html-renderer th[b-rzakkkl7a6] {
        font-weight: var(--osirion-font-weight-semibold, 600);
        color: var(--osirion-text-primary, #111827);
        background-color: var(--osirion-background-secondary, #f9fafb);
    }

    .osirion-html-renderer tbody tr:hover[b-rzakkkl7a6] {
        background-color: var(--osirion-background-secondary, #f9fafb);
    }

    /* ========== IMAGES ========== */
    .osirion-html-renderer img[b-rzakkkl7a6] {
        max-width: 100%;
        height: auto;
        display: block;
        margin: var(--osirion-spacing-6, 1.5rem) auto;
        border-radius: var(--osirion-radius-lg, 0.5rem);
    }

    /* Inline images */
    .osirion-html-renderer p img[b-rzakkkl7a6],
    .osirion-html-renderer li img[b-rzakkkl7a6] {
        display: inline-block;
        margin: 0 var(--osirion-spacing-1, 0.25rem);
        vertical-align: middle;
    }

    /* Figure and figcaption */
    .osirion-html-renderer figure[b-rzakkkl7a6] {
        margin: var(--osirion-spacing-8, 2rem) 0;
        text-align: center;
    }

    .osirion-html-renderer figcaption[b-rzakkkl7a6] {
        margin-top: var(--osirion-spacing-2, 0.5rem);
        font-size: var(--osirion-font-size-sm, 0.875rem);
        color: var(--osirion-text-tertiary, #9ca3af);
        font-style: italic;
    }

/* Code wrapper with header - applies to all themes */
    .osirion-html-renderer .osirion-code-wrapper[b-rzakkkl7a6] {
        position: relative;
        margin: var(--osirion-spacing-4, 1rem) 0;
        background-color: var(--osirion-syntax-background-color);
    }

    .osirion-html-renderer .osirion-code-header[b-rzakkkl7a6] {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0.5rem 1rem;
        border-radius: var(--osirion-radius-md, 0.375rem) var(--osirion-radius-md, 0.375rem) 0 0;
        border: 1px solid #444;
        border-bottom: none;
    }

    .osirion-html-renderer .osirion-language-label[b-rzakkkl7a6] {
        color: var(--osirion-color-primary);
        font-family: var(--osirion-font-family-mono, 'Consolas', 'Monaco', monospace);
        font-size: 0.875rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.05em;
    }

/* Copy button */
    .osirion-html-renderer .osirion-copy-button[b-rzakkkl7a6] {
        padding: 0.05rem 0.5rem;
        border-radius: var(--osirion-radius-sm, 0.125rem);
        font-size: 0.8rem;
        transition: all var(--osirion-transition-duration-200, 0.2s) ease;
    }

/*         .osirion-copy-button:hover {
                background: #6272a4;
                border-color: #8be9fd;
            } */

/*         .osirion-copy-button:focus {
                outline: 2px solid #50fa7b;
                outline-offset: 2px;
            }

            .osirion-copy-button:active {
                transform: scale(0.98);
            }

            .osirion-copy-button.copied {
                background: #50fa7b;
                color: #1e1e1e;
                border-color: #50fa7b;
            } */

    .osirion-html-renderer .osirion-code-wrapper pre[class*="language-"][b-rzakkkl7a6] {
        margin-top: 0;
        border-radius: 0 0 var(--osirion-radius-md, 0.375rem) var(--osirion-radius-md, 0.375rem);
        border: 1px solid #444;
        border-top: none;
        background-color: var(--osirion-syntax-background-color);
    }

/* Line highlighting styles */
    .osirion-html-renderer .line-numbers-rows > span[b-rzakkkl7a6] {
        cursor: pointer;
        transition: all var(--osirion-transition-duration-200, 0.2s) ease;
        user-select: none;
    }

        .osirion-html-renderer .line-numbers-rows > span:hover[b-rzakkkl7a6] {
            background: rgba(139, 148, 158, 0.2);
            color: #f8f8f2;
        }

    /* Highlighted lines */
        .osirion-html-renderer .line-numbers-rows > span.osirion-line-highlighted[b-rzakkkl7a6] {
            color: #50fa7b !important;
            font-weight: bold;
        }

/* Line highlight overlay */
    .osirion-html-renderer .osirion-line-highlight-overlay[b-rzakkkl7a6] {
        position: absolute;
        left: 3.8em;
        right: 0;
        background: linear-gradient(to right, rgba(80, 250, 123, 0.15) 0%, rgba(80, 250, 123, 0.1) 50%, rgba(80, 250, 123, 0.05) 80%, transparent 95%);
        border-left: 3px solid #50fa7b;
        pointer-events: none;
        z-index: 1;
        height: 1.5em;
    }

/* Screen reader only content */
    .osirion-html-renderer .sr-only[b-rzakkkl7a6] {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0,0,0,0);
        white-space: nowrap;
        border: 0;
    }

/* Dark theme adjustments */
:root[data-theme="dark"][b-rzakkkl7a6],
[data-theme="dark"][b-rzakkkl7a6],
.dark-theme[b-rzakkkl7a6],
.theme-dark[b-rzakkkl7a6],
.osirion-theme-dark[b-rzakkkl7a6],
:root[data-bs-theme="dark"][b-rzakkkl7a6],
[data-bs-theme="dark"][b-rzakkkl7a6] {
    --osirion-syntax-background-color: #151b23;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .osirion-html-renderer .osirion-wcag-theme pre[class*="language-"][b-rzakkkl7a6] {
        background: #000000;
        border: 1px solid #ffffff;
    }

    .osirion-html-renderer .osirion-wcag-theme .token.comment[b-rzakkkl7a6] {
        color: #aaaaaa;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .osirion-html-renderer .osirion-html-renderer *[b-rzakkkl7a6] {
        transition: none !important;
        animation: none !important;
    }
}

/* Print styles */
@media print {
    .osirion-html-renderer .osirion-wcag-theme code[class*="language-"][b-rzakkkl7a6], .osirion-html-renderer .osirion-wcag-theme pre[class*="language-"][b-rzakkkl7a6] {
        text-shadow: none;
    }

    .osirion-html-renderer .osirion-code-header[b-rzakkkl7a6] {
        display: none;
    }
}
/* _content/Osirion.Blazor.Core/Components/Rendering/OsirionReveal.razor.rz.scp.css */
.osirion-reveal[b-bpmm8pjaab] { opacity: 1; }

.osirion-reveal[data-osirion-reveal="True"][b-bpmm8pjaab],
.osirion-reveal[data-osirion-reveal="true"][b-bpmm8pjaab] {
    opacity: 0;
    transform: translateY(1.25rem);
    transition: opacity 0.55s ease, transform 0.55s ease;
}

.osirion-reveal-down[b-bpmm8pjaab] { transform: translateY(-1.25rem) !important; }
.osirion-reveal-left[b-bpmm8pjaab] { transform: translateX(1.25rem) !important; }
.osirion-reveal-right[b-bpmm8pjaab] { transform: translateX(-1.25rem) !important; }
.osirion-reveal-fade[b-bpmm8pjaab] { transform: none !important; }
.osirion-reveal-visible[b-bpmm8pjaab] { opacity: 1 !important; transform: none !important; }

@media (prefers-reduced-motion: reduce) {
    .osirion-reveal[data-osirion-reveal="True"][b-bpmm8pjaab],
    .osirion-reveal[data-osirion-reveal="true"][b-bpmm8pjaab] {
        opacity: 1;
        transform: none;
        transition: none;
    }
}
/* _content/Osirion.Blazor.Core/Components/Sections/HeroSection.razor.rz.scp.css */
/* Root container */
.osirion-hero-section[b-5dnro0pvwv] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-color: var(--osirion-background-primary, #f3f4f6);
    color: var(--osirion-text-primary, #374151);
    overflow: hidden;
    /* Typography scales (defaults) */
    --hero-title-min: 2.5rem;
    --hero-title-pref: 5vw;
    --hero-title-max: 4rem;
    --hero-subtitle-min: 1rem;
    --hero-subtitle-pref: 2vw;
    --hero-subtitle-max: 1.25rem;
    --hero-summary-min: 0.9375rem;
    --hero-summary-pref: 1.5vw;
    --hero-summary-max: 1.125rem;
}

.hero-divider[b-5dnro0pvwv] {
    box-shadow: 0 -4px 6px -1px var(--osirion-color-primary-600), 0 -2px 4px -1px var(--osirion-color-primary-600);
}
/* Overlay for better text readability on background images */
.osirion-hero-overlay[b-5dnro0pvwv] {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 0;
}

/* White text only when overlay is enabled */
.osirion-hero-section.osirion-hero-with-overlay[b-5dnro0pvwv] {
    color: white;
}

/* Background image without overlay keeps default colors */
.osirion-hero-section.osirion-hero-with-background:not(.osirion-hero-with-overlay)[b-5dnro0pvwv] {
    color: var(--osirion-text-primary, #374151);
}
/* Container */
.osirion-hero-container[b-5dnro0pvwv] {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: var(--osirion-container-xxl, 1320px);
    margin: 0 auto;
    padding: var(--osirion-spacing-8, 2rem) var(--osirion-spacing-4, 1rem);
    box-sizing: border-box;
}
/* Grid layout */
.osirion-hero-grid[b-5dnro0pvwv] {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--osirion-spacing-6, 1.5rem);
    align-items: center;
    width: 100%;
}
/* Grid areas */
.osirion-hero-content[b-5dnro0pvwv] {
    grid-area: content;
    max-width: 100%;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

/* Constrain content width when using background image */
.osirion-hero-section.osirion-hero-with-background .osirion-hero-content[b-5dnro0pvwv] {
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
}

.osirion-hero-image-container[b-5dnro0pvwv] {
    grid-area: image;
}
/* With side image layouts */
.osirion-hero-with-side-image .osirion-hero-grid[b-5dnro0pvwv] {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "content image";
}

/* Ensure background image layouts stay single column - must come after side-image */
.osirion-hero-section.osirion-hero-with-background .osirion-hero-grid[b-5dnro0pvwv] {
    grid-template-columns: 1fr !important;
    grid-template-areas: "content" !important;
}
/* Image on the left variant */
.osirion-hero-with-side-image.osirion-hero-image-left .osirion-hero-grid[b-5dnro0pvwv] {
    grid-template-areas: "image content";
}
/* Variant paddings */
.osirion-hero-variant-jumbotron .osirion-hero-container[b-5dnro0pvwv] {
    padding: var(--osirion-spacing-12, 2.5rem) var(--osirion-spacing-4, 1rem);
}

.osirion-hero-variant-hero .osirion-hero-container[b-5dnro0pvwv] {
    padding: var(--osirion-spacing-8, 1.5rem) var(--osirion-spacing-4, 1rem);
}

.osirion-hero-variant-minimal .osirion-hero-container[b-5dnro0pvwv] {
    padding: var(--osirion-spacing-6, 1.5rem) var(--osirion-spacing-4, 1rem);
}
/* Alignment variations */
.osirion-hero-align-left .osirion-hero-content[b-5dnro0pvwv] {
    text-align: left;
}

.osirion-hero-align-center .osirion-hero-content[b-5dnro0pvwv] {
    text-align: center;
}
/* Override for side image layout to keep left-aligned content on larger screens */
.osirion-hero-align-center.osirion-hero-with-side-image .osirion-hero-content[b-5dnro0pvwv] {
    text-align: left;
}

.osirion-hero-align-right .osirion-hero-content[b-5dnro0pvwv] {
    text-align: right;
}
/* Typography - Title */
.osirion-hero-title[b-5dnro0pvwv] {
    font-weight: var(--osirion-font-weight-bold, 700);
    line-height: var(--osirion-line-height-tight, 1.25);
    margin: 0 0 var(--osirion-spacing-4, 1rem);
    color: inherit;
    letter-spacing: -0.025em;
    font-size: clamp(var(--hero-title-min), var(--hero-title-pref), var(--hero-title-max));
}
/* Larger title when no image is present */
.osirion-hero-section:not(.osirion-hero-with-side-image):not(.osirion-hero-with-background)[b-5dnro0pvwv] {
    --hero-title-min: 3rem;
    --hero-title-pref: 7vw;
    --hero-title-max: 5rem;
}
/* Variant scales for title */
.osirion-hero-variant-jumbotron[b-5dnro0pvwv] {
    --hero-title-min: 2.75rem;
    --hero-title-pref: 5.5vw;
    --hero-title-max: 4.5rem;
}

    .osirion-hero-variant-jumbotron:not(.osirion-hero-with-side-image):not(.osirion-hero-with-background)[b-5dnro0pvwv] {
        --hero-title-min: 3.5rem;
        --hero-title-pref: 8vw;
        --hero-title-max: 6rem;
    }

.osirion-hero-variant-minimal[b-5dnro0pvwv] {
    --hero-title-min: 1.875rem;
    --hero-title-pref: 3.5vw;
    --hero-title-max: 2.75rem;
}

    .osirion-hero-variant-minimal:not(.osirion-hero-with-side-image):not(.osirion-hero-with-background)[b-5dnro0pvwv] {
        --hero-title-min: 2.25rem;
        --hero-title-pref: 5vw;
        --hero-title-max: 3.5rem;
    }
/* Buttons */
.osirion-hero-buttons[b-5dnro0pvwv] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--osirion-spacing-4, 1rem);
    margin-bottom: var(--osirion-spacing-6, 1.5rem);
}

.osirion-hero-align-center .osirion-hero-buttons[b-5dnro0pvwv] {
    justify-content: center;
}

.osirion-hero-align-right .osirion-hero-buttons[b-5dnro0pvwv] {
    justify-content: flex-end;
}
/* Override for side image layout */
.osirion-hero-with-side-image.osirion-hero-align-center .osirion-hero-buttons[b-5dnro0pvwv] {
    justify-content: flex-start;
}

.osirion-hero-button[b-5dnro0pvwv] {
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all var(--osirion-transition-duration-200, 0.2s) ease;
}
/* Featured image container */
.osirion-hero-image-container[b-5dnro0pvwv] {
    border-radius: var(--osirion-radius-lg, 0.5rem);
    overflow: hidden;
    box-shadow: var(--osirion-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1));
    position: relative;
    background-color: var(--osirion-background-tertiary, #e5e7eb);
}
/* Featured image styling */
.osirion-hero-featured-image[b-5dnro0pvwv] {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    transform: scale(1.01);
    /* Slight scale to avoid edge artifacts */
    transition: transform var(--osirion-transition-duration-500, 0.5s) ease;
}

.osirion-hero-image-container:hover .osirion-hero-featured-image[b-5dnro0pvwv] {
    transform: scale(1.05);
}
/* Additional content */
.osirion-hero-additional[b-5dnro0pvwv] {
    margin-top: var(--osirion-spacing-6, 1.5rem);
}
/* Subtitle */
.osirion-hero-subtitle[b-5dnro0pvwv] {
    font-weight: var(--osirion-font-weight-medium, 500);
    line-height: var(--osirion-line-height-relaxed, 1.625);
    margin: 0 0 var(--osirion-spacing-4, 1rem);
    color: inherit;
    opacity: 0.85;
    letter-spacing: -0.005em;
    font-size: clamp(var(--hero-subtitle-min), var(--hero-subtitle-pref), var(--hero-subtitle-max));
}
/* Larger subtitle when no image is present */
.osirion-hero-section:not(.osirion-hero-with-side-image):not(.osirion-hero-with-background)[b-5dnro0pvwv] {
    --hero-subtitle-min: 1.125rem;
    --hero-subtitle-pref: 2.5vw;
    --hero-subtitle-max: 1.5rem;
}
/* Variant scales for subtitle */
.osirion-hero-variant-jumbotron[b-5dnro0pvwv] {
    --hero-subtitle-min: 1.125rem;
    --hero-subtitle-pref: 2.25vw;
    --hero-subtitle-max: 1.375rem;
}

    .osirion-hero-variant-jumbotron:not(.osirion-hero-with-side-image):not(.osirion-hero-with-background)[b-5dnro0pvwv] {
        --hero-subtitle-min: 1.25rem;
        --hero-subtitle-pref: 2.75vw;
        --hero-subtitle-max: 1.75rem;
    }

.osirion-hero-variant-minimal[b-5dnro0pvwv] {
    --hero-subtitle-min: 0.9375rem;
    --hero-subtitle-pref: 1.75vw;
    --hero-subtitle-max: 1.125rem;
}

    .osirion-hero-variant-minimal:not(.osirion-hero-with-side-image):not(.osirion-hero-with-background)[b-5dnro0pvwv] {
        --hero-subtitle-min: 1rem;
        --hero-subtitle-pref: 2vw;
        --hero-subtitle-max: 1.25rem;
    }
/* Summary */
.osirion-hero-summary[b-5dnro0pvwv] {
    line-height: var(--osirion-line-height-relaxed, 1.65);
    color: inherit;
    opacity: 0.75;
    margin: 0 0 var(--osirion-spacing-6, 1.5rem);
    font-weight: var(--osirion-font-weight-normal, 400);
    font-size: clamp(var(--hero-summary-min), var(--hero-summary-pref), var(--hero-summary-max));
}
/* Larger summary when no image is present */
.osirion-hero-section:not(.osirion-hero-with-side-image):not(.osirion-hero-with-background)[b-5dnro0pvwv] {
    --hero-summary-min: 1rem;
    --hero-summary-pref: 1.75vw;
    --hero-summary-max: 1.25rem;
}
/* Variant scales for summary */
.osirion-hero-variant-jumbotron[b-5dnro0pvwv] {
    --hero-summary-min: 1rem;
    --hero-summary-pref: 1.75vw;
    --hero-summary-max: 1.1875rem;
}

    .osirion-hero-variant-jumbotron:not(.osirion-hero-with-side-image):not(.osirion-hero-with-background)[b-5dnro0pvwv] {
        --hero-summary-min: 1.0625rem;
        --hero-summary-pref: 2vw;
        --hero-summary-max: 1.375rem;
    }

.osirion-hero-variant-minimal[b-5dnro0pvwv] {
    --hero-summary-min: 0.875rem;
    --hero-summary-pref: 1.25vw;
    --hero-summary-max: 1rem;
}

    .osirion-hero-variant-minimal:not(.osirion-hero-with-side-image):not(.osirion-hero-with-background)[b-5dnro0pvwv] {
        --hero-summary-min: 0.9375rem;
        --hero-summary-pref: 1.5vw;
        --hero-summary-max: 1.125rem;
    }
/* Breakpoints - spacing/Layout only (typographic scales handled via clamp + vars) */
@media (min-width: 768px) {
    .osirion-hero-container[b-5dnro0pvwv] {
        padding: var(--osirion-spacing-8, 2rem) var(--osirion-spacing-6, 1.5rem);
    }

    .osirion-hero-variant-jumbotron .osirion-hero-container[b-5dnro0pvwv] {
        padding: var(--osirion-spacing-12, 2.5rem) var(--osirion-spacing-6, 1.5rem);
    }

    .osirion-hero-variant-hero .osirion-hero-container[b-5dnro0pvwv] {
        padding: var(--osirion-spacing-8, 1.5rem) var(--osirion-spacing-6, 1.5rem);
    }

    .osirion-hero-variant-minimal .osirion-hero-container[b-5dnro0pvwv] {
        padding: var(--osirion-spacing-6, 1.5rem) var(--osirion-spacing-6, 1.5rem);
    }

    .osirion-hero-with-side-image .osirion-hero-grid[b-5dnro0pvwv] {
        gap: var(--osirion-spacing-8, 2rem);
    }
    
    /* Keep background images single column */
    .osirion-hero-section.osirion-hero-with-background .osirion-hero-grid[b-5dnro0pvwv] {
        grid-template-columns: 1fr !important;
    }
}

@media (min-width: 992px) {
    .osirion-hero-container[b-5dnro0pvwv] {
        padding: var(--osirion-spacing-12, 3rem) var(--osirion-spacing-8, 2rem);
    }

    .osirion-hero-variant-jumbotron .osirion-hero-container[b-5dnro0pvwv] {
        padding: var(--osirion-spacing-12, 2.5rem) var(--osirion-spacing-8, 2rem);
    }

    .osirion-hero-variant-hero .osirion-hero-container[b-5dnro0pvwv] {
        padding: var(--osirion-spacing-8, 1.5rem) var(--osirion-spacing-8, 2rem);
    }

    .osirion-hero-variant-minimal .osirion-hero-container[b-5dnro0pvwv] {
        padding: var(--osirion-spacing-6, 1.5rem) var(--osirion-spacing-8, 2rem);
    }

    .osirion-hero-with-side-image .osirion-hero-grid[b-5dnro0pvwv] {
        gap: var(--osirion-spacing-10, 2.5rem);
    }
    
    /* Keep background images single column */
    .osirion-hero-section.osirion-hero-with-background .osirion-hero-grid[b-5dnro0pvwv] {
        grid-template-columns: 1fr !important;
    }
    
    /* Constrain content on larger screens for readability with background images */
    .osirion-hero-section.osirion-hero-with-background .osirion-hero-content[b-5dnro0pvwv] {
        max-width: 900px;
    }
}

@media (max-width: 767.98px) {
    .osirion-hero-section[b-5dnro0pvwv] {
        min-height: 50vh !important;
    }

    .osirion-hero-container[b-5dnro0pvwv] {
        padding: var(--osirion-spacing-6, 1.5rem) var(--osirion-spacing-4, 1rem);
    }
    
    /* Full width content on mobile for background images */
    .osirion-hero-section.osirion-hero-with-background .osirion-hero-content[b-5dnro0pvwv] {
        max-width: 100%;
    }

    .osirion-hero-variant-jumbotron .osirion-hero-container[b-5dnro0pvwv] {
        padding: var(--osirion-spacing-8, 2rem) var(--osirion-spacing-5, 1.25rem);
    }

    .osirion-hero-variant-hero .osirion-hero-container[b-5dnro0pvwv] {
        padding: var(--osirion-spacing-6, 1.5rem) var(--osirion-spacing-5, 1.25rem);
    }

    .osirion-hero-variant-minimal .osirion-hero-container[b-5dnro0pvwv] {
        padding: var(--osirion-spacing-4, 1rem) var(--osirion-spacing-5, 1.25rem);
    }
    /* Stack image and content on mobile, image first */
    .osirion-hero-with-side-image .osirion-hero-grid[b-5dnro0pvwv] {
        grid-template-columns: 1fr;
        grid-template-areas: "image" "content";
        gap: var(--osirion-spacing-6, 1.5rem);
    }
    /* Center everything when stacked */
    .osirion-hero-with-side-image .osirion-hero-content[b-5dnro0pvwv] {
        text-align: center;
    }

    .osirion-hero-with-side-image .osirion-hero-buttons[b-5dnro0pvwv] {
        justify-content: center;
    }
    /* Center content when no side image */
    .osirion-hero-section:not(.osirion-hero-with-side-image):not(.osirion-hero-with-background) .osirion-hero-content[b-5dnro0pvwv] {
        text-align: center;
    }

    .osirion-hero-section:not(.osirion-hero-with-side-image):not(.osirion-hero-with-background) .osirion-hero-buttons[b-5dnro0pvwv] {
        justify-content: center;
    }
    /* Center content when using background image */
    .osirion-hero-section.osirion-hero-with-background .osirion-hero-content[b-5dnro0pvwv] {
        text-align: center;
    }

    .osirion-hero-section.osirion-hero-with-background .osirion-hero-buttons[b-5dnro0pvwv] {
        justify-content: center;
    }
    /* Tighten title spacing on small screens */
    .osirion-hero-title[b-5dnro0pvwv] {
        margin-bottom: var(--osirion-spacing-3, 0.75rem);
    }
    /* Tighten summary spacing on small screens */
    .osirion-hero-summary[b-5dnro0pvwv] {
        margin-bottom: var(--osirion-spacing-4, 1rem);
    }
    /* Buttons stack full width on mobile */
    .osirion-hero-buttons[b-5dnro0pvwv] {
        flex-direction: column;
        align-items: stretch;
    }

    .osirion-hero-button[b-5dnro0pvwv] {
        width: 100%;
    }

    .osirion-hero-buttons[b-5dnro0pvwv] {
        margin-bottom: var(--osirion-spacing-4, 1rem);
    }
}
/* Accessibility - reduce motion */
@media (prefers-reduced-motion: reduce) {
    .osirion-hero-overlay[b-5dnro0pvwv], .osirion-hero-button[b-5dnro0pvwv], .osirion-hero-featured-image[b-5dnro0pvwv] {
        transition: none;
    }

    .osirion-hero-image-container:hover .osirion-hero-featured-image[b-5dnro0pvwv] {
        transform: scale(1.01);
    }
}
/* Print styles */
@media print {
    .osirion-hero-section[b-5dnro0pvwv] {
        background-image: none !important;
        color: black !important;
        min-height: auto !important;
    }

    .osirion-hero-overlay[b-5dnro0pvwv] {
        display: none;
    }

    .osirion-hero-buttons[b-5dnro0pvwv] {
        display: none;
    }

    .osirion-hero-with-side-image .osirion-hero-grid[b-5dnro0pvwv] {
        grid-template-columns: 1fr;
    }

    .osirion-hero-image-container[b-5dnro0pvwv] {
        max-width: 50%;
        margin: 0 auto;
    }
}
/* _content/Osirion.Blazor.Core/Components/Sections/OsirionBaseSection.razor.rz.scp.css */
/* Base section container */
.osirion-section[b-c3wbt2in8o] {
    position: relative;
    overflow: hidden;
    scroll-margin-top: 3rem;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-color: var(--osirion-background-primary, #ffffff);
    color: var(--osirion-text-primary, #374151);
    transition: all var(--osirion-transition-duration-300, 0.3s) ease;
}

/* Section with divider/shadow */
.osirion-section-divider[b-c3wbt2in8o] {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

/* Section with background image */
.osirion-section-with-background[b-c3wbt2in8o] {
    color: white;
}

/* Overlay for better text readability on background images */
.osirion-section-overlay[b-c3wbt2in8o] {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1;
}

.osirion-section-with-pattern[b-c3wbt2in8o] {
    position: relative;
}

/* Container positioning for overlay */
.osirion-section-with-background > div[b-c3wbt2in8o],
.osirion-section-with-pattern > div[b-c3wbt2in8o] {
    position: relative;
    z-index: 2;
}

/* Padding variations */
.osirion-section-padding-none[b-c3wbt2in8o] {
    padding: 0;
}

.osirion-section-padding-small[b-c3wbt2in8o] {
    padding: var(--osirion-spacing-8, 2rem) 0;
}

.osirion-section-padding-medium[b-c3wbt2in8o] {
    padding: var(--osirion-spacing-12, 3rem) 0;
}

.osirion-section-padding-large[b-c3wbt2in8o] {
    padding: var(--osirion-spacing-16, 4rem) 0;
}

/* Header styles */
.osirion-section-header[b-c3wbt2in8o] {
    margin-bottom: var(--osirion-spacing-8, 2rem);
}

.osirion-section-header-left[b-c3wbt2in8o] {
    text-align: left;
}

.osirion-section-header-center[b-c3wbt2in8o] {
    text-align: center;
}

.osirion-section-header-right[b-c3wbt2in8o] {
    text-align: right;
}

.osirion-section-header-justify[b-c3wbt2in8o] {
    text-align: justify;
}

/* Title styles */
.osirion-section-title[b-c3wbt2in8o] {
    font-size: clamp(1.875rem, 4vw, 2.5rem);
    font-weight: var(--osirion-font-weight-bold, 700);
    line-height: var(--osirion-line-height-tight, 1.25);
    margin: 0 0 var(--osirion-spacing-4, 1rem);
    color: inherit;
    letter-spacing: -0.025em;
    position: relative;
}

/* Title underline for centered alignment */
.osirion-section-header-center .osirion-section-title[b-c3wbt2in8o]::after {
    content: "";
    position: absolute;
    display: block;
    width: 3rem;
    height: 0.2rem;
    background: var(--osirion-action-primary, #007b31);
    left: 50%;
    transform: translateX(-50%);
    bottom: -0.75rem;
    margin: auto;
}

/* Title underline for left alignment */
.osirion-section-header-left .osirion-section-title[b-c3wbt2in8o]::after {
    content: "";
    position: absolute;
    display: block;
    width: 3rem;
    height: 0.2rem;
    background: var(--osirion-action-primary, #007b31);
    left: 0;
    bottom: -0.75rem;
}

/* Title underline for right alignment */
.osirion-section-header-right .osirion-section-title[b-c3wbt2in8o]::after {
    content: "";
    position: absolute;
    display: block;
    width: 3rem;
    height: 0.2rem;
    background: var(--osirion-action-primary, #007b31);
    right: 0;
    bottom: -0.75rem;
}

/* Description styles */
.osirion-section-description[b-c3wbt2in8o] {
    font-size: clamp(1rem, 2vw, 1.125rem);
    line-height: var(--osirion-line-height-relaxed, 1.65);
    margin: 0 0 var(--osirion-spacing-6, 1.5rem);
    color: inherit;
    opacity: 0.85;
    font-weight: var(--osirion-font-weight-normal, 400);
}

/* Content area */
.osirion-section-content[b-c3wbt2in8o] {
    position: relative;
}

/* Text alignment variations */
.osirion-section-align-left[b-c3wbt2in8o] {
    text-align: left;
}

.osirion-section-align-center[b-c3wbt2in8o] {
    text-align: center;
}

.osirion-section-align-right[b-c3wbt2in8o] {
    text-align: right;
}

.osirion-section-align-justify[b-c3wbt2in8o] {
    text-align: justify;
}

/* Responsive adjustments */
@media (max-width: 767.98px) {
    .osirion-section-padding-small[b-c3wbt2in8o] {
        padding: var(--osirion-spacing-6, 1.5rem) 0;
    }

    .osirion-section-padding-medium[b-c3wbt2in8o] {
        padding: var(--osirion-spacing-8, 2rem) 0;
    }

    .osirion-section-padding-large[b-c3wbt2in8o] {
        padding: var(--osirion-spacing-12, 3rem) 0;
    }

    .osirion-section-header[b-c3wbt2in8o] {
        margin-bottom: var(--osirion-spacing-6, 1.5rem);
    }

    .osirion-section-title[b-c3wbt2in8o] {
        margin-bottom: var(--osirion-spacing-3, 0.75rem);
    }

    .osirion-section-description[b-c3wbt2in8o] {
        margin-bottom: var(--osirion-spacing-4, 1rem);
    }

    /* Mobile text alignment defaults to center for better presentation */
    .osirion-section-align-left[b-c3wbt2in8o],
    .osirion-section-align-right[b-c3wbt2in8o],
    .osirion-section-align-justify[b-c3wbt2in8o] {
        text-align: center;
    }

    .osirion-section-header-left[b-c3wbt2in8o],
    .osirion-section-header-right[b-c3wbt2in8o],
    .osirion-section-header-justify[b-c3wbt2in8o] {
        text-align: center;
    }

    /* Adjust title underline for mobile center alignment */
    .osirion-section-header-left .osirion-section-title[b-c3wbt2in8o]::after,
    .osirion-section-header-right .osirion-section-title[b-c3wbt2in8o]::after {
        left: 50%;
        right: auto;
        transform: translateX(-50%);
    }
}

/* Accessibility - reduce motion */
@media (prefers-reduced-motion: reduce) {
    .osirion-section[b-c3wbt2in8o] {
        transition: none;
    }
}

/* Print styles */
@media print {
    .osirion-section[b-c3wbt2in8o] {
        background-image: none !important;
        color: black !important;
        box-shadow: none !important;
    }

    .osirion-section-overlay[b-c3wbt2in8o] {
        display: none;
    }

    .osirion-section-padding-small[b-c3wbt2in8o],
    .osirion-section-padding-medium[b-c3wbt2in8o],
    .osirion-section-padding-large[b-c3wbt2in8o] {
        padding: var(--osirion-spacing-4, 1rem) 0;
    }
}
/* _content/Osirion.Blazor.Core/Components/Sections/OsirionContactInfoSection.razor.rz.scp.css */
/* 
 * OsirionContactInfoSection Component Styles
 * Dedicated component for displaying contact information
 */

/* ========== CONTAINER ========== */
.osirion-contact-info-section[b-tx5wngb2a3] {
    --osirion-contact-accent: var(--osirion-action-primary, #d1d5db);
    --osirion-contact-spacing: 0;
    --osirion-contact-text: inherit;
    --osirion-contact-text-muted: inherit;
    padding: var(--osirion-contact-spacing);
    background-color: var(--osirion-contact-bg);
    display: flex;
    flex-direction: column;
}

/* ========== TITLE AND DESCRIPTION ========== */
.osirion-contact-info-title[b-tx5wngb2a3] {
    font-size: var(--osirion-font-size-xl, 1.25rem);
    font-weight: var(--osirion-font-weight-semibold, 600);
    color: var(--osirion-contact-text);
    margin: 0 0 var(--osirion-spacing-2, 0.5rem);
    line-height: 1.2;
}

.osirion-contact-info-description[b-tx5wngb2a3] {
    color: var(--osirion-contact-text-muted);
    margin: 0 0 var(--osirion-spacing-6, 1.5rem);
    font-size: var(--osirion-font-size-base, 1rem);
    line-height: 1.5;
}

/* ========== CONTACT INFO LIST ========== */
.osirion-contact-info-list[b-tx5wngb2a3] {
    display: flex;
    flex-direction: column;
    gap: var(--osirion-spacing-4, 1rem);
}

.osirion-contact-info-item[b-tx5wngb2a3] {
    display: flex;
    align-items: flex-start;
    gap: var(--osirion-spacing-3, 0.75rem);
}

.osirion-contact-info-icon[b-tx5wngb2a3] {
    width: 1.5rem;
    height: 1.5rem;
    color: var(--osirion-contact-accent);
    flex-shrink: 0;
    margin-top: 0.125rem;
}

.osirion-contact-info-icon svg[b-tx5wngb2a3] {
    width: 100%;
    height: 100%;
}

.osirion-contact-info-content[b-tx5wngb2a3] {
    display: flex;
    flex-direction: column;
    gap: var(--osirion-spacing-1, 0.25rem);
}

.osirion-contact-info-label[b-tx5wngb2a3] {
    font-size: var(--osirion-font-size-sm, 0.875rem);
    font-weight: var(--osirion-font-weight-medium, 500);
    color: var(--osirion-contact-text);
    line-height: 1.4;
}

.osirion-contact-info-value[b-tx5wngb2a3] {
    color: var(--osirion-contact-text-muted);
    font-size: var(--osirion-font-size-sm, 0.875rem);
    line-height: 1.4;
}

.osirion-contact-link[b-tx5wngb2a3] {
    color: var(--osirion-contact-text-muted);
    text-decoration: none;
    transition: color 0.2s ease-in-out;
}

.osirion-contact-link:hover[b-tx5wngb2a3] {
    color: var(--osirion-contact-accent);
    text-decoration: underline;
}

/* ========== RESPONSIVE DESIGN ========== */
@media (max-width: 768px) {
    .osirion-contact-info-section[b-tx5wngb2a3] {
        padding: var(--osirion-spacing-4, 1rem);
    }
}

@media (max-width: 480px) {
    .osirion-contact-info-title[b-tx5wngb2a3] {
        font-size: var(--osirion-font-size-lg, 1.125rem);
    }
    
    .osirion-contact-info-section[b-tx5wngb2a3] {
        padding: var(--osirion-spacing-3, 0.75rem);
    }
}

/* ========== ACCESSIBILITY ENHANCEMENTS ========== */
@media (prefers-reduced-motion: reduce) {
    .osirion-contact-link[b-tx5wngb2a3] {
        transition: none;
    }
}

@media (prefers-contrast: high) {
    .osirion-contact-info-section[b-tx5wngb2a3] {
        --osirion-contact-accent: #0000ff;
    }
}

/* ========== FOCUS STYLES ========== */
.osirion-contact-link:focus-visible[b-tx5wngb2a3] {
    outline: 2px solid var(--osirion-focus-ring-color, rgba(59, 130, 246, 0.5));
    outline-offset: 2px;
}

/* ========== PRINT STYLES ========== */
@media print {
    .osirion-contact-info-section[b-tx5wngb2a3] {
        background: transparent !important;
        color: #000 !important;
    }
    
    .osirion-contact-info-title[b-tx5wngb2a3],
    .osirion-contact-info-label[b-tx5wngb2a3] {
        color: #000 !important;
    }
    
    .osirion-contact-info-value[b-tx5wngb2a3],
    .osirion-contact-link[b-tx5wngb2a3] {
        color: #333 !important;
    }
}
/* _content/Osirion.Blazor.Core/Components/Sections/OsirionContextCardGrid.razor.rz.scp.css */
.osirion-context-card-grid[b-0msd0weodn] {
    padding: var(--osirion-context-card-grid-padding, 4rem) 0;
    background: var(--osirion-context-card-grid-background, transparent);
}

.osirion-context-card-grid-container[b-0msd0weodn] {
    margin: 0 auto;
    padding: 0 1rem;
}

.osirion-context-card-grid-heading[b-0msd0weodn] {
    max-width: 52rem;
    margin: 0 auto 2.5rem;
    text-align: center;
}

.osirion-context-card-grid-heading h2[b-0msd0weodn] {
    margin: 0 0 0.75rem;
    color: var(--osirion-context-card-grid-heading-color, #123b2b);
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    line-height: 1.15;
}

.osirion-context-card-grid-heading p[b-0msd0weodn] {
    margin: 0;
    color: var(--osirion-context-card-grid-description-color, #666);
    line-height: 1.6;
}

.osirion-context-card-grid-items[b-0msd0weodn] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
    gap: 1rem;
}

.osirion-context-card-grid-item[b-0msd0weodn] {
    height: 100%;
    padding: 1.25rem;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-top: 0.25rem solid var(--osirion-context-card-grid-accent, #176b45);
    border-radius: 0.5rem;
    background: var(--osirion-context-card-grid-card-background, #fff);
    box-shadow: var(--osirion-context-card-grid-card-shadow, 0 0.5rem 1.5rem rgba(0, 0, 0, 0.06));
}

.osirion-context-card-grid-item h3[b-0msd0weodn] {
    margin: 0 0 0.65rem;
    color: var(--osirion-context-card-grid-accent, #176b45);
    font-size: 1rem;
    font-weight: 700;
}

.osirion-context-card-grid-item p[b-0msd0weodn] {
    margin: 0;
    color: var(--osirion-context-card-grid-item-color, #555);
    line-height: 1.55;
}

.osirion-context-card-grid-item-blue[b-0msd0weodn] { border-top-color: #2563a9; }
.osirion-context-card-grid-item-blue h3[b-0msd0weodn] { color: #2563a9; }
.osirion-context-card-grid-item-purple[b-0msd0weodn] { border-top-color: #7040a5; }
.osirion-context-card-grid-item-purple h3[b-0msd0weodn] { color: #7040a5; }
.osirion-context-card-grid-item-indigo[b-0msd0weodn] { border-top-color: #4f46a5; }
.osirion-context-card-grid-item-indigo h3[b-0msd0weodn] { color: #4f46a5; }
.osirion-context-card-grid-item-teal[b-0msd0weodn] { border-top-color: #0d766f; }
.osirion-context-card-grid-item-teal h3[b-0msd0weodn] { color: #0d766f; }
.osirion-context-card-grid-item-amber[b-0msd0weodn] { border-top-color: #9a6700; }
.osirion-context-card-grid-item-amber h3[b-0msd0weodn] { color: #9a6700; }

@media (min-width: 768px) {
    .osirion-context-card-grid-container[b-0msd0weodn] {
        padding: 0 1.5rem;
    }
}
/* _content/Osirion.Blazor.Core/Components/Sections/OsirionFeatureComparison.razor.rz.scp.css */
/* position: relative makes the scroller the containing block of the visually hidden (absolutely positioned)
   labels, so they scroll with the table instead of widening the page. */
.osirion-feature-comparison[b-d0dzeqamzp] {
    position: relative;
    overflow-x: auto;
    border: 1px solid var(--osirion-border-color, #e5e7eb);
    border-radius: var(--osirion-radius-md, 0.375rem);
}

    .osirion-feature-comparison:focus-visible[b-d0dzeqamzp] {
        outline: var(--osirion-focus-ring-width, 2px) solid var(--osirion-focus-ring-color, rgba(59, 130, 246, 0.5));
        outline-offset: 2px;
    }

.osirion-feature-comparison-table[b-d0dzeqamzp] {
    width: 100%;
    min-width: 32rem;
    border-collapse: collapse;
    color: var(--osirion-text-primary, #111827);
}

.osirion-feature-comparison-caption[b-d0dzeqamzp] {
    padding: var(--osirion-spacing-3, 0.75rem) var(--osirion-spacing-4, 1rem);
    caption-side: top;
    text-align: left;
    font-weight: var(--osirion-font-weight-semibold, 600);
}

.osirion-feature-comparison-table th[b-d0dzeqamzp],
.osirion-feature-comparison-table td[b-d0dzeqamzp] {
    padding: var(--osirion-spacing-3, 0.75rem) var(--osirion-spacing-4, 1rem);
    border-top: 1px solid var(--osirion-border-color, #e5e7eb);
    text-align: center;
}

.osirion-feature-comparison-table thead th[b-d0dzeqamzp] {
    border-top: 0;
    background-color: var(--osirion-background-secondary, #f9fafb);
    font-weight: var(--osirion-font-weight-semibold, 600);
}

.osirion-feature-comparison-table tbody th[b-d0dzeqamzp] {
    text-align: left;
    font-weight: var(--osirion-font-weight-normal, 400);
}

/* Marks drawn in CSS: a check in the primary color, a short dash for "not included". */
.osirion-feature-comparison-yes[b-d0dzeqamzp] {
    display: inline-block;
    width: 0.45rem;
    height: 0.85rem;
    border-right: 2px solid var(--osirion-action-primary, #2563eb);
    border-bottom: 2px solid var(--osirion-action-primary, #2563eb);
    transform: rotate(45deg);
}

.osirion-feature-comparison-no[b-d0dzeqamzp] {
    display: inline-block;
    width: 0.75rem;
    height: 2px;
    vertical-align: middle;
    background-color: var(--osirion-text-tertiary, #6b7280);
}
/* _content/Osirion.Blazor.Core/Components/Sections/OsirionMetricGrid.razor.rz.scp.css */
.osirion-metric-grid[b-opfvdemfe6] {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--osirion-metric-grid-gap, 1rem);
    padding: 0;
    margin: 0;
    list-style: none;
}

.osirion-metric-grid > li[b-opfvdemfe6] {
    min-width: 0;
}

@media (min-width: 576px) {
    .osirion-metric-grid-columns-2[b-opfvdemfe6],
    .osirion-metric-grid-columns-3[b-opfvdemfe6],
    .osirion-metric-grid-columns-4[b-opfvdemfe6] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 992px) {
    .osirion-metric-grid-columns-3[b-opfvdemfe6] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .osirion-metric-grid-columns-4[b-opfvdemfe6] {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
/* _content/Osirion.Blazor.Core/Components/Sections/OsirionPageHeading.razor.rz.scp.css */
/* OsirionPageHeading - Osirion.Blazor.Core */

.osirion-page-heading[b-hh9vta2xym] {
    box-sizing: border-box;
    margin: 0 auto var(--osirion-spacing-8, 2rem);
    padding: var(--osirion-spacing-8, 2rem) var(--osirion-spacing-4, 1rem) 0;
    max-width: var(--osirion-container-lg, 960px);
}

.osirion-page-heading-title[b-hh9vta2xym] {
    margin: 0 0 var(--osirion-spacing-2, 0.5rem);
    font-size: var(--osirion-font-size-4xl, 2.25rem);
    font-weight: var(--osirion-font-weight-bold, 700);
    line-height: var(--osirion-line-height-tight, 1.25);
    color: var(--osirion-text-primary, #111827);
}

.osirion-page-heading-description[b-hh9vta2xym] {
    margin: 0;
    max-width: 65ch;
    font-size: var(--osirion-font-size-lg, 1.125rem);
    color: var(--osirion-text-secondary, #4b5563);
}
/* _content/Osirion.Blazor.Core/Components/Sections/OsirionPricingTable.razor.rz.scp.css */
.osirion-pricing-table[b-fvhewtwipf] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    gap: var(--osirion-spacing-6, 1.5rem);
    align-items: stretch;
    margin: 0;
    padding: 0;
    list-style: none;
}

.osirion-pricing-table:has(.osirion-pricing-badge)[b-fvhewtwipf] {
    padding-top: var(--osirion-spacing-3, 0.75rem);
}

.osirion-pricing-plan[b-fvhewtwipf] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--osirion-spacing-3, 0.75rem);
    padding: var(--osirion-spacing-6, 1.5rem);
    border: 1px solid var(--osirion-border-color, #e5e7eb);
    border-radius: var(--osirion-radius-lg, 0.5rem);
    background-color: var(--osirion-background-primary, #fff);
}

    .osirion-pricing-plan p[b-fvhewtwipf] {
        margin: 0;
    }

.osirion-pricing-plan-highlighted[b-fvhewtwipf] {
    border: 2px solid var(--osirion-action-primary, #2563eb);
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.08);
}

/* The badge sits on the top border, so every plan's name and price stay on the same line. */
.osirion-pricing-badge[b-fvhewtwipf] {
    position: absolute;
    top: 0;
    left: var(--osirion-spacing-6, 1.5rem);
    transform: translateY(-50%);
    padding: 0.125rem var(--osirion-spacing-2, 0.5rem);
    border-radius: 999px;
    background-color: var(--osirion-action-primary, #2563eb);
    color: var(--osirion-action-primary-text, #fff);
    font-size: var(--osirion-font-size-sm, 0.875rem);
    font-weight: var(--osirion-font-weight-semibold, 600);
}

.osirion-pricing-name[b-fvhewtwipf] {
    font-size: 1.125rem;
    font-weight: var(--osirion-font-weight-semibold, 600);
    color: var(--osirion-text-primary, #111827);
}

.osirion-pricing-price[b-fvhewtwipf] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--osirion-spacing-1, 0.25rem);
    align-items: baseline;
}

.osirion-pricing-amount[b-fvhewtwipf] {
    font-size: 2.25rem;
    font-weight: var(--osirion-font-weight-bold, 700);
    line-height: 1.1;
    color: var(--osirion-text-primary, #111827);
}

.osirion-pricing-period[b-fvhewtwipf],
.osirion-pricing-description[b-fvhewtwipf] {
    color: var(--osirion-text-secondary, #4b5563);
}

.osirion-pricing-features[b-fvhewtwipf] {
    flex: 1;
    margin: 0;
    padding: 0;
    list-style: none;
}

    .osirion-pricing-features li[b-fvhewtwipf] {
        position: relative;
        padding: var(--osirion-spacing-1, 0.25rem) 0 var(--osirion-spacing-1, 0.25rem) 1.5rem;
        color: var(--osirion-text-primary, #111827);
    }

        /* A check mark drawn with borders, in the primary color. */
        .osirion-pricing-features li[b-fvhewtwipf]::before {
            content: "";
            position: absolute;
            left: 0.25rem;
            top: 0.55em;
            width: 0.4rem;
            height: 0.75rem;
            border-right: 2px solid var(--osirion-action-primary, #2563eb);
            border-bottom: 2px solid var(--osirion-action-primary, #2563eb);
            transform: rotate(45deg);
        }

/* Full width; flex keeps the label centred in buttons that set a fixed height (Fluent UI). */
.osirion-pricing-action[b-fvhewtwipf] {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
/* _content/Osirion.Blazor.Core/Components/Sections/OsirionResponsiveShowcaseSection.razor.rz.scp.css */
/* OsirionResponsiveShowcaseSection Component Styles */

/* Base component styles */
.osirion-responsive-showcase[b-ptfbm06p79] {
    border: 1px solid var(--osirion-border-color, #e5e7eb);
    border-radius: var(--osirion-border-radius-lg, 12px);
    background: var(--osirion-background-white, #ffffff);
    box-shadow: var(--osirion-shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06));
    margin: var(--osirion-spacing-4, 1rem) 0;
    overflow: hidden;
    font-family: var(--osirion-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);
}

/* Header section */
.showcase-header[b-ptfbm06p79] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--osirion-spacing-4, 1rem) var(--osirion-spacing-5, 1.25rem);
    background: var(--osirion-background-gray-50, #f9fafb);
    border-bottom: 1px solid var(--osirion-border-color, #e5e7eb);
    gap: var(--osirion-spacing-4, 1rem);
}

.showcase-title[b-ptfbm06p79] {
    margin: 0;
    font-size: var(--osirion-text-lg, 1.125rem);
    font-weight: var(--osirion-font-weight-semibold, 600);
    color: var(--osirion-text-gray-900, #111827);
    line-height: 1.5;
}

/* Viewport controls */
.viewport-controls[b-ptfbm06p79] {
    display: flex;
    gap: var(--osirion-spacing-1, 0.25rem);
    background: var(--osirion-background-white, #ffffff);
    border-radius: var(--osirion-border-radius-md, 8px);
    padding: var(--osirion-spacing-1, 0.25rem);
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
    border: 1px solid var(--osirion-border-color, #e5e7eb);
}

.viewport-btn[b-ptfbm06p79] {
    display: flex;
    align-items: center;
    gap: var(--osirion-spacing-2, 0.5rem);
    padding: var(--osirion-spacing-2, 0.5rem) var(--osirion-spacing-3, 0.75rem);
    border: none;
    background: transparent;
    border-radius: var(--osirion-border-radius, 6px);
    cursor: pointer;
    font-size: var(--osirion-text-sm, 0.875rem);
    font-weight: var(--osirion-font-weight-medium, 500);
    color: var(--osirion-text-gray-600, #6b7280);
    transition: all var(--osirion-transition-duration-200, 0.2s) ease;
    white-space: nowrap;
    user-select: none;
}

    .viewport-btn:hover[b-ptfbm06p79] {
        background: var(--osirion-background-gray-100, #f3f4f6);
        color: var(--osirion-text-gray-900, #111827);
    }

    .viewport-btn:focus[b-ptfbm06p79] {
        outline: 2px solid var(--osirion-color-primary-500, #3b82f6);
        outline-offset: 2px;
    }

    .viewport-btn.active[b-ptfbm06p79] {
        background: var(--osirion-color-primary-600, #2563eb);
        color: white;
        box-shadow: var(--osirion-shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, 0.05));
    }

        .viewport-btn.active:hover[b-ptfbm06p79] {
            background: var(--osirion-color-primary-700, #1d4ed8);
            color: white;
        }

/* Showcase body */
.showcase-body[b-ptfbm06p79] {
    padding: var(--osirion-spacing-5, 1.25rem);
    background: var(--osirion-background-gray-50, #f9fafb);
    min-height: 300px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--osirion-spacing-4, 1rem);
}

/* Viewport container - simulates different screen sizes */
.viewport-container[b-ptfbm06p79] {
    background: var(--osirion-background-white, #ffffff);
    border-radius: var(--osirion-border-radius-lg, 12px);
    box-shadow: var(--osirion-shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04));
    overflow: hidden;
    position: relative;
    transition: all var(--osirion-transition-duration-300, 0.3s) ease;
    border: 1px solid var(--osirion-border-color, #e5e7eb);
}

/* Browser chrome styling */
.viewport-chrome[b-ptfbm06p79] {
    height: 40px;
    background: linear-gradient(to bottom, #f0f0f0, #e8e8e8);
    border-bottom: 1px solid #d0d0d0;
    display: flex;
    align-items: center;
    padding: 0 var(--osirion-spacing-3, 0.75rem);
    gap: var(--osirion-spacing-3, 0.75rem);
    font-size: var(--osirion-text-xs, 0.75rem);
    color: var(--osirion-text-gray-600, #6b7280);
}

.chrome-dots[b-ptfbm06p79] {
    display: flex;
    gap: var(--osirion-spacing-1, 0.25rem);
}

.dot[b-ptfbm06p79] {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    display: inline-block;
}

.dot-red[b-ptfbm06p79] {
    background: #ff5f57;
}

.dot-yellow[b-ptfbm06p79] {
    background: #ffbd2e;
}

.dot-green[b-ptfbm06p79] {
    background: #28ca42;
}

.chrome-address[b-ptfbm06p79] {
    flex: 1;
    background: var(--osirion-background-white, #ffffff);
    padding: var(--osirion-spacing-1, 0.25rem) var(--osirion-spacing-2, 0.5rem);
    border-radius: var(--osirion-border-radius-sm, 4px);
    border: 1px solid #d0d0d0;
    font-family: monospace;
    font-size: var(--osirion-text-xs, 0.75rem);
    color: var(--osirion-text-gray-500, #9ca3af);
}

/* Component wrapper */
.component-wrapper[b-ptfbm06p79] {
    padding: var(--osirion-spacing-5, 1.25rem);
    min-height: inherit;
    width: 100%;
    box-sizing: border-box;
}

/* Viewport-specific styles */
.viewport-container.viewport-desktop[b-ptfbm06p79] {
    /* Styles are applied via inline styles in GetViewportStyle() */
}

.viewport-container.viewport-tablet[b-ptfbm06p79] {
    /* Styles are applied via inline styles in GetViewportStyle() */
}

.viewport-container.viewport-mobile[b-ptfbm06p79] {
    /* Styles are applied via inline styles in GetViewportStyle() */
}

/* Placeholder styles */
.placeholder[b-ptfbm06p79] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    color: var(--osirion-text-gray-500, #9ca3af);
    text-align: center;
    gap: var(--osirion-spacing-3, 0.75rem);
}

.placeholder-icon[b-ptfbm06p79] {
    opacity: 0.5;
}

.placeholder p[b-ptfbm06p79] {
    margin: 0;
    font-weight: var(--osirion-font-weight-medium, 500);
}

.placeholder small[b-ptfbm06p79] {
    color: var(--osirion-text-gray-400, #d1d5db);
}

/* Dimensions info */
.dimensions-info[b-ptfbm06p79] {
    margin-top: var(--osirion-spacing-3, 0.75rem);
    color: var(--osirion-text-gray-600, #6b7280);
    text-align: center;
    font-size: var(--osirion-text-sm, 0.875rem);
    background: var(--osirion-background-white, #ffffff);
    padding: var(--osirion-spacing-2, 0.5rem) var(--osirion-spacing-3, 0.75rem);
    border-radius: var(--osirion-border-radius, 6px);
    border: 1px solid var(--osirion-border-color, #e5e7eb);
}

/* Code section */
.code-section[b-ptfbm06p79] {
    width: 100%;
    margin-top: var(--osirion-spacing-4, 1rem);
    border: 1px solid var(--osirion-border-color, #e5e7eb);
    border-radius: var(--osirion-border-radius-md, 8px);
    background: var(--osirion-background-white, #ffffff);
    overflow: hidden;
}

.code-toggle[b-ptfbm06p79] {
    width: 100%;
    padding: var(--osirion-spacing-3, 0.75rem) var(--osirion-spacing-4, 1rem);
    background: var(--osirion-background-gray-50, #f9fafb);
    border: none;
    border-bottom: 1px solid var(--osirion-border-color, #e5e7eb);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: var(--osirion-spacing-2, 0.5rem);
    font-size: var(--osirion-text-sm, 0.875rem);
    font-weight: var(--osirion-font-weight-medium, 500);
    color: var(--osirion-text-gray-700, #4b5563);
    transition: background-color var(--osirion-transition-duration-200, 0.2s) ease;
}

    .code-toggle:hover[b-ptfbm06p79] {
        background: var(--osirion-background-gray-100, #f3f4f6);
    }

    .code-toggle:focus[b-ptfbm06p79] {
        outline: 2px solid var(--osirion-color-primary-500, #3b82f6);
        outline-offset: -2px;
    }

.code-content[b-ptfbm06p79] {
    padding: var(--osirion-spacing-4, 1rem);
    background: var(--osirion-background-gray-900, #1f2937);
    color: var(--osirion-text-gray-100, #f3f4f6);
}

    .code-content pre[b-ptfbm06p79] {
        margin: 0;
        padding: 0;
        background: none;
        border: none;
        font-family: var(--osirion-font-mono, ui-monospace, SFMono-Regular, 'Cascadia Code', Consolas, 'Liberation Mono', Menlo, monospace);
        font-size: var(--osirion-text-sm, 0.875rem);
        line-height: 1.6;
        white-space: pre-wrap;
        word-wrap: break-word;
    }

    .code-content code[b-ptfbm06p79] {
        background: none;
        padding: 0;
        border: none;
        color: inherit;
        font-size: inherit;
    }

/* Responsive behavior for the showcase component itself */
@media (max-width: 1280px) {
    .viewport-container.viewport-desktop[b-ptfbm06p79] {
        width: 100% !important;
        max-width: 1200px !important;
    }
}

@media (max-width: 800px) {
    .showcase-header[b-ptfbm06p79] {
        flex-direction: column;
        align-items: stretch;
        gap: var(--osirion-spacing-3, 0.75rem);
    }

    .viewport-controls[b-ptfbm06p79] {
        justify-content: center;
        flex-wrap: wrap;
    }

    .viewport-container.viewport-tablet[b-ptfbm06p79] {
        width: 100% !important;
        max-width: 768px !important;
    }
}

@media (max-width: 600px) {
    .showcase-body[b-ptfbm06p79] {
        padding: var(--osirion-spacing-3, 0.75rem);
    }

    .viewport-controls[b-ptfbm06p79] {
        flex-direction: column;
    }

    .viewport-btn[b-ptfbm06p79] {
        justify-content: center;
        width: 100%;
    }

    .component-wrapper[b-ptfbm06p79] {
        padding: var(--osirion-spacing-3, 0.75rem);
    }

    .viewport-container.viewport-mobile[b-ptfbm06p79] {
        width: 100% !important;
        max-width: 375px !important;
    }

    /* Hide browser chrome on very small screens for better UX */
    .viewport-chrome[b-ptfbm06p79] {
        display: none;
    }

    .component-wrapper[b-ptfbm06p79] {
        padding-top: var(--osirion-spacing-4, 1rem);
    }
}

/* Accessibility - reduce motion */
@media (prefers-reduced-motion: reduce) {
    .viewport-container[b-ptfbm06p79],
    .viewport-btn[b-ptfbm06p79],
    .code-toggle[b-ptfbm06p79] {
        transition: none;
    }
}

/* Print styles */
@media print {
    .osirion-responsive-showcase[b-ptfbm06p79] {
        box-shadow: none;
        border: 1px solid #000;
    }

    .showcase-header[b-ptfbm06p79] {
        background: none;
        border-bottom: 1px solid #000;
    }

    .viewport-controls[b-ptfbm06p79],
    .dimensions-info[b-ptfbm06p79],
    .code-section[b-ptfbm06p79] {
        display: none;
    }

    .showcase-body[b-ptfbm06p79] {
        background: none;
        padding: var(--osirion-spacing-2, 0.5rem);
    }

    .viewport-container[b-ptfbm06p79] {
        box-shadow: none;
        border: 1px solid #000;
        width: 100% !important;
        max-width: none !important;
    }
}
/* _content/Osirion.Blazor.Core/Components/Sections/OsirionSteps.razor.rz.scp.css */
.osirion-steps[b-8tk5gmzo00] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: var(--osirion-spacing-6, 1.5rem);
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: osirion-step;
}

.osirion-step[b-8tk5gmzo00] {
    display: flex;
    flex-direction: column;
    gap: var(--osirion-spacing-3, 0.75rem);
    counter-increment: osirion-step;
}

/* The number is generated from the list counter, so it always matches the step's position. */
.osirion-step-marker[b-8tk5gmzo00] {
    display: inline-flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background-color: var(--osirion-action-primary, #2563eb);
    color: var(--osirion-action-primary-text, #fff);
    font-weight: var(--osirion-font-weight-bold, 700);
}

    .osirion-step-marker[b-8tk5gmzo00]::before {
        content: counter(osirion-step);
    }

.osirion-step-body p[b-8tk5gmzo00] {
    margin: 0;
}

.osirion-step-title[b-8tk5gmzo00] {
    font-weight: var(--osirion-font-weight-semibold, 600);
    color: var(--osirion-text-primary, #111827);
}

.osirion-step-body .osirion-step-description[b-8tk5gmzo00] {
    margin-top: var(--osirion-spacing-1, 0.25rem);
    color: var(--osirion-text-secondary, #4b5563);
}

/* Stacked: number on the left, a line joining the numbers. */
.osirion-steps-vertical[b-8tk5gmzo00] {
    grid-template-columns: 1fr;
    gap: 0;
}

    .osirion-steps-vertical .osirion-step[b-8tk5gmzo00] {
        position: relative;
        flex-direction: row;
        gap: var(--osirion-spacing-4, 1rem);
        padding-bottom: var(--osirion-spacing-6, 1.5rem);
    }

        .osirion-steps-vertical .osirion-step:not(:last-child)[b-8tk5gmzo00]::after {
            content: "";
            position: absolute;
            top: 2.5rem;
            bottom: 0;
            left: 1.25rem;
            width: 2px;
            transform: translateX(-50%);
            background-color: var(--osirion-border-color, #e5e7eb);
        }

    .osirion-steps-vertical .osirion-step-body[b-8tk5gmzo00] {
        padding-top: 0.5rem;
    }
/* _content/Osirion.Blazor.Core/Components/States/OsirionContentNotFound.razor.rz.scp.css */
/* OsirionContentNotFound Component Styles */

.osirion-content-not-found[b-ct4bsonta9] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-family: var(--osirion-font-family-base, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);
    color: var(--osirion-text-primary, #374151);
    padding: var(--osirion-spacing-8, 2rem) var(--osirion-spacing-4, 1rem);
    min-height: 400px;
}

/* Size variants */
.osirion-content-not-found-small[b-ct4bsonta9] {
    min-height: 300px;
    padding: var(--osirion-spacing-6, 1.5rem) var(--osirion-spacing-4, 1rem);
}

.osirion-content-not-found-medium[b-ct4bsonta9] {
    min-height: 400px;
}

.osirion-content-not-found-large[b-ct4bsonta9] {
    min-height: 500px;
    padding: var(--osirion-spacing-10, 2.5rem) var(--osirion-spacing-4, 1rem);
}

.osirion-content-not-found-full[b-ct4bsonta9] {
    min-height: calc(100vh - var(--osirion-header-height, 4rem));
}

/* Icon styles */
.osirion-content-not-found-icon[b-ct4bsonta9] {
    margin-bottom: var(--osirion-spacing-6, 1.5rem);
    color: var(--osirion-text-tertiary, #9ca3af);
}

.osirion-content-not-found-default-icon svg[b-ct4bsonta9] {
    width: 120px;
    height: 120px;
    opacity: 0.3;
}

.osirion-content-not-found-image[b-ct4bsonta9] {
    max-width: 200px;
    height: auto;
    margin-bottom: var(--osirion-spacing-6, 1.5rem);
    opacity: 0.8;
}

/* Content wrapper */
.osirion-content-not-found-content[b-ct4bsonta9] {
    max-width: var(--osirion-width-2xl, 42rem);
    width: 100%;
    z-index: 1;
    position: relative;
}

/* Error code */
.osirion-content-not-found-code[b-ct4bsonta9] {
    font-size: var(--osirion-font-size-5xl, 3rem);
    font-weight: var(--osirion-font-weight-bold, 700);
    line-height: 1;
    color: var(--osirion-text-tertiary, #9ca3af);
    margin-bottom: var(--osirion-spacing-2, 0.5rem);
    letter-spacing: -0.025em;
}

/* Title */
.osirion-content-not-found-title[b-ct4bsonta9] {
    font-size: var(--osirion-font-size-3xl, 1.875rem);
    font-weight: var(--osirion-font-weight-bold, 700);
    line-height: var(--osirion-line-height-tight, 1.25);
    margin: 0 0 var(--osirion-spacing-4, 1rem);
    color: var(--osirion-text-primary, #111827);
}

/* Message */
.osirion-content-not-found-message[b-ct4bsonta9] {
    font-size: var(--osirion-font-size-lg, 1.125rem);
    line-height: var(--osirion-line-height-relaxed, 1.625);
    color: var(--osirion-text-secondary, #6b7280);
    margin: 0 0 var(--osirion-spacing-6, 1.5rem);
}

/* Suggestions */
.osirion-content-not-found-suggestions[b-ct4bsonta9] {
    margin: var(--osirion-spacing-6, 1.5rem) 0;
    padding: var(--osirion-spacing-10, 2.5rem) var(--osirion-spacing-4, 1rem);
    text-align: left;
}

.osirion-content-not-found-suggestions-title[b-ct4bsonta9] {
    font-size: var(--osirion-font-size-base, 1rem);
    font-weight: var(--osirion-font-weight-medium, 500);
    color: var(--osirion-text-primary, #374151);
    margin: 0 0 var(--osirion-spacing-2, 0.5rem);
    text-align: center;
}

.osirion-content-not-found-suggestions-list[b-ct4bsonta9] {
    list-style-type: square;
    padding: 0;
    margin: 0;
    display: inline-flex;
    flex-direction: column;
    gap: var(--osirion-spacing-2, 0.5rem);
}

.osirion-content-not-found-suggestion-item[b-ct4bsonta9] {
    margin: 0;
}

.osirion-content-not-found-suggestion-link[b-ct4bsonta9] {
    color: var(--osirion-action-primary, #2563eb);
    text-decoration: none;
    font-size: var(--osirion-font-size-base, 1rem);
    transition: color var(--osirion-transition-duration-200, 0.2s) ease;
    display: inline-flex;
    align-items: center;
    gap: var(--osirion-spacing-1, 0.25rem);
}

    .osirion-content-not-found-suggestion-link:hover[b-ct4bsonta9] {
        color: var(--osirion-action-primary-hover, #1d4ed8);
        text-decoration: underline;
    }

    .osirion-content-not-found-suggestion-link:focus[b-ct4bsonta9] {
        outline: var(--osirion-focus-ring-width, 3px) solid var(--osirion-focus-ring-color, rgba(59, 130, 246, 0.5));
        outline-offset: var(--osirion-focus-ring-offset, 2px);
    }

/* Search box container */
.osirion-content-not-found-search[b-ct4bsonta9] {
    margin: var(--osirion-spacing-6, 1.5rem) 0;
    max-width: var(--osirion-width-md, 28rem);
    margin-left: auto;
    margin-right: auto;
}

/* Custom content */
.osirion-content-not-found-custom[b-ct4bsonta9] {
    margin: var(--osirion-spacing-6, 1.5rem) 0;
}

/* Action buttons */
.osirion-content-not-found-actions[b-ct4bsonta9] {
    display: flex;
    gap: var(--osirion-spacing-3, 0.75rem);
    justify-content: center;
    flex-wrap: wrap;
    margin-top: var(--osirion-spacing-6, 1.5rem);
}

/* Contact info */
.osirion-content-not-found-contact[b-ct4bsonta9] {
    margin-top: var(--osirion-spacing-8, 2rem);
    font-size: var(--osirion-font-size-sm, 0.875rem);
    color: var(--osirion-text-secondary, #6b7280);
}

.osirion-content-not-found-contact-link[b-ct4bsonta9] {
    color: var(--osirion-action-primary, #2563eb);
    text-decoration: none;
    transition: color var(--osirion-transition-duration-200, 0.2s) ease;
}

    .osirion-content-not-found-contact-link:hover[b-ct4bsonta9] {
        color: var(--osirion-action-primary-hover, #1d4ed8);
        text-decoration: underline;
    }

/* Background pattern overlay */
.osirion-content-not-found-background[b-ct4bsonta9] {
    position: absolute !important;
    inset: 0;
    z-index: 0;
    opacity: 0.5;
}

/* Variant: Minimal */
.osirion-content-not-found-minimal .osirion-content-not-found-code[b-ct4bsonta9] {
    font-size: var(--osirion-font-size-3xl, 1.875rem);
}

.osirion-content-not-found-minimal .osirion-content-not-found-title[b-ct4bsonta9] {
    font-size: var(--osirion-font-size-2xl, 1.5rem);
}

.osirion-content-not-found-minimal .osirion-content-not-found-message[b-ct4bsonta9] {
    font-size: var(--osirion-font-size-base, 1rem);
}

.osirion-content-not-found-minimal .osirion-content-not-found-default-icon svg[b-ct4bsonta9] {
    width: 80px;
    height: 80px;
}

/* Variant: Centered */
.osirion-content-not-found-centered[b-ct4bsonta9] {
    background-color: var(--osirion-background-secondary, #f9fafb);
    border-radius: var(--osirion-radius-lg, 0.5rem);
}

/* Variant: Hero */
.osirion-content-not-found-hero[b-ct4bsonta9] {
    background: linear-gradient(to bottom, var(--osirion-background-secondary, #f9fafb) 0%, var(--osirion-background-primary, #ffffff) 100%);
    min-height: calc(100vh - var(--osirion-header-height, 4rem));
}

    .osirion-content-not-found-hero .osirion-content-not-found-code[b-ct4bsonta9] {
        font-size: var(--osirion-font-size-6xl, 4rem);
        background: linear-gradient(135deg, var(--osirion-action-primary, #2563eb) 0%, var(--osirion-color-primary-400, #60a5fa) 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }

    .osirion-content-not-found-hero .osirion-content-not-found-title[b-ct4bsonta9] {
        font-size: var(--osirion-font-size-4xl, 2.25rem);
    }

/* With error code adjustments */
.osirion-content-not-found-with-code .osirion-content-not-found-title[b-ct4bsonta9] {
    margin-top: 0;
}

/* Dark theme adjustments */
:root[data-theme="dark"] .osirion-content-not-found[b-ct4bsonta9],
:root[data-bs-theme="dark"] .osirion-content-not-found[b-ct4bsonta9],
[data-theme="dark"] .osirion-content-not-found[b-ct4bsonta9],
.dark-theme .osirion-content-not-found[b-ct4bsonta9] {
    color: var(--osirion-text-primary, #f3f4f6);
}

:root[data-theme="dark"] .osirion-content-not-found-centered[b-ct4bsonta9],
:root[data-bs-theme="dark"] .osirion-content-not-found-centered[b-ct4bsonta9],
[data-theme="dark"] .osirion-content-not-found-centered[b-ct4bsonta9],
.dark-theme .osirion-content-not-found-centered[b-ct4bsonta9] {
    background-color: var(--osirion-background-secondary, #1f2937);
}

:root[data-theme="dark"] .osirion-content-not-found-hero[b-ct4bsonta9],
:root[data-bs-theme="dark"] .osirion-content-not-found-hero[b-ct4bsonta9],
[data-theme="dark"] .osirion-content-not-found-hero[b-ct4bsonta9],
.dark-theme .osirion-content-not-found-hero[b-ct4bsonta9] {
    background: linear-gradient(to bottom, var(--osirion-background-secondary, #1f2937) 0%, var(--osirion-background-primary, #111827) 100%);
}

/* Responsive design */
@media (max-width: 768px) {
    .osirion-content-not-found[b-ct4bsonta9] {
        padding: var(--osirion-spacing-6, 1.5rem) var(--osirion-spacing-4, 1rem);
    }

    .osirion-content-not-found-code[b-ct4bsonta9] {
        font-size: var(--osirion-font-size-4xl, 2.25rem);
    }

    .osirion-content-not-found-title[b-ct4bsonta9] {
        font-size: var(--osirion-font-size-2xl, 1.5rem);
    }

    .osirion-content-not-found-message[b-ct4bsonta9] {
        font-size: var(--osirion-font-size-base, 1rem);
    }

    .osirion-content-not-found-default-icon svg[b-ct4bsonta9] {
        width: 80px;
        height: 80px;
    }

    .osirion-content-not-found-image[b-ct4bsonta9] {
        max-width: 150px;
    }

    .osirion-content-not-found-hero .osirion-content-not-found-code[b-ct4bsonta9] {
        font-size: var(--osirion-font-size-5xl, 3rem);
    }

    .osirion-content-not-found-hero .osirion-content-not-found-title[b-ct4bsonta9] {
        font-size: var(--osirion-font-size-3xl, 1.875rem);
    }
}

@media (max-width: 640px) {
    .osirion-content-not-found-actions[b-ct4bsonta9] {
        flex-direction: column;
        width: 100%;
        max-width: 300px;
        margin-left: auto;
        margin-right: auto;
    }

        .osirion-content-not-found-actions > *[b-ct4bsonta9] {
            width: 100%;
        }
}

/* Print styles */
@media print {
    .osirion-content-not-found[b-ct4bsonta9] {
        min-height: auto;
    }

    .osirion-content-not-found-actions[b-ct4bsonta9] {
        display: none;
    }

    .osirion-content-not-found-contact[b-ct4bsonta9] {
        margin-top: var(--osirion-spacing-4, 1rem);
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .osirion-content-not-found-suggestion-link[b-ct4bsonta9],
    .osirion-content-not-found-contact-link[b-ct4bsonta9] {
        transition: none;
    }
}

/* High contrast mode */
@media (prefers-contrast: more) {
    .osirion-content-not-found-code[b-ct4bsonta9] {
        font-weight: var(--osirion-font-weight-bold, 700);
    }

    .osirion-content-not-found-default-icon[b-ct4bsonta9] {
        opacity: 0.7;
    }
}
/* _content/Osirion.Blazor.Core/Components/States/OsirionPageLoading.razor.rz.scp.css */
.osirion-loading[b-cckcyj7x35] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 50vh;
    text-align: center;
    color: var(--osirion-text-secondary, #6b7280);
    padding: var(--osirion-spacing-8, 2rem);
    background-color: var(--osirion-background-primary, #ffffff);
    backdrop-filter: blur(8px);
    border-radius: var(--osirion-radius-lg, 0.5rem);
    margin: 2rem auto;
    max-width: 500px;
}

.osirion-spinner[b-cckcyj7x35] {
    width: 40px;
    height: 40px;
    border: 3px solid rgba(var(--osirion-background-tertiary-rgb, 243, 244, 246), 0.5);
    border-top-color: var(--osirion-action-primary, #2563eb);
    border-radius: 50%;
    animation: osirion-spin-b-cckcyj7x35 0.8s linear infinite;
    margin-bottom: var(--osirion-spacing-4, 1rem);
}

@keyframes osirion-spin-b-cckcyj7x35 {
    to {
        transform: rotate(360deg);
    }
}
