/* /Components/Layout/AdminLayout.razor.rz.scp.css */
.admin-shell .drawer-link.active[b-3nkt51dpqf] {
    background: rgba(255, 210, 63, .12);
}

.admin-shell .drawer-link.active .nav-ico[b-3nkt51dpqf],
.admin-shell .drawer-link:hover .nav-ico[b-3nkt51dpqf] {
    color: var(--neon-gold);
    filter: drop-shadow(0 0 5px currentColor);
}

.admin-shell .drawer-cta[b-3nkt51dpqf] {
    background: rgba(255, 210, 63, .08);
    border-color: rgba(255, 210, 63, .3);
    color: var(--neon-gold);
}

.admin-shell .drawer-cta:hover[b-3nkt51dpqf] {
    background: rgba(255, 210, 63, .15);
    box-shadow: 0 0 18px rgba(255, 210, 63, .25);
}
/* /Components/Layout/Footer.razor.rz.scp.css */
.site-footer[b-idyvip9v4z] {
    border-top: 1px solid var(--border-subtle);
    background: linear-gradient(180deg, transparent, rgba(235, 3, 5, 0.03));
    margin-top: 60px;
}

.footer-top[b-idyvip9v4z] {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
    gap: 40px;
    padding: 64px 24px 40px;
}

.footer-brand .brand[b-idyvip9v4z] {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.footer-brand .brand-mark[b-idyvip9v4z] {
    width: 30px;
    height: 27px;
}

.footer-brand .brand-word[b-idyvip9v4z] {
    font-family: var(--font-pixel);
    font-size: .78rem;
    color: #f4f2fa;
}

.footer-brand .brand-word .accent[b-idyvip9v4z] {
    color: var(--neon-red-soft);
}

.footer-tagline[b-idyvip9v4z] {
    color: var(--text-muted);
    font-size: .88rem;
    max-width: 280px;
    margin-top: 16px;
}

.footer-social[b-idyvip9v4z] {
    display: flex;
    gap: 10px;
    margin-top: 20px;
}

.footer-social a[b-idyvip9v4z] {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border-subtle);
    color: var(--text-muted);
    transition: color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.footer-social a svg[b-idyvip9v4z] {
    width: 16px;
    height: 16px;
}

.footer-social a:hover[b-idyvip9v4z] {
    color: var(--neon-red-soft);
    border-color: rgba(235, 3, 5, .4);
    box-shadow: 0 0 14px rgba(235, 3, 5, .35);
}

.footer-col[b-idyvip9v4z] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footer-col h4[b-idyvip9v4z] {
    font-size: .78rem;
    font-weight: 700;
    color: var(--text-faint);
    margin-bottom: 4px;
}

.footer-col a[b-idyvip9v4z] {
    color: var(--text-muted);
    font-size: .88rem;
    transition: color .18s ease;
}

.footer-col a:hover[b-idyvip9v4z] {
    color: var(--neon-red-soft);
}

.footer-bottom[b-idyvip9v4z] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    padding: 22px 24px 32px;
    border-top: 1px solid var(--border-subtle);
    font-size: .78rem;
    color: var(--text-faint);
}

@media (max-width: 900px) {
    .footer-top[b-idyvip9v4z] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 560px) {
    .footer-top[b-idyvip9v4z] {
        grid-template-columns: 1fr;
    }

    .footer-bottom[b-idyvip9v4z] {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page-shell[b-emth043c3k] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.page-main[b-emth043c3k] {
    flex: 1;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* ============ Top utility bar ============ */
.top-bar[b-gvzb9vg9jb] {
    background: rgba(255, 255, 255, .02);
    border-bottom: 1px solid var(--border-subtle);
}

.top-bar-inner[b-gvzb9vg9jb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 16px;
    padding: 8px 24px;
}

.top-bar-social[b-gvzb9vg9jb] {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

.top-bar-social a[b-gvzb9vg9jb] {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border-subtle);
    color: var(--text-muted);
    transition: color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.top-bar-social a svg[b-gvzb9vg9jb] {
    width: 14px;
    height: 14px;
}

.top-bar-social a:hover[b-gvzb9vg9jb] {
    color: var(--neon-red-soft);
    border-color: rgba(235, 3, 5, .4);
    box-shadow: 0 0 12px rgba(235, 3, 5, .35);
}

.top-bar-search[b-gvzb9vg9jb] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 220px;
    max-width: 420px;
    background: rgba(255, 255, 255, .03);
    border: 1px solid var(--border-subtle);
    border-radius: 999px;
    padding: 7px 14px;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.top-bar-search:focus-within[b-gvzb9vg9jb] {
    border-color: var(--neon-red-soft);
    box-shadow: 0 0 0 3px rgba(235, 3, 5, .15);
}

.top-bar-search-ico[b-gvzb9vg9jb] {
    color: var(--text-faint);
    flex-shrink: 0;
    width: 15px;
    height: 15px;
}

.top-bar-search input[b-gvzb9vg9jb] {
    flex: 1;
    min-width: 0;
    background: none;
    border: none;
    outline: none;
    color: var(--text-primary);
    font-family: var(--font-body);
    font-size: .82rem;
}

.top-bar-search input[b-gvzb9vg9jb]::placeholder {
    color: var(--text-faint);
}

.top-bar-auth[b-gvzb9vg9jb] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.top-bar-greeting[b-gvzb9vg9jb] {
    font-size: .8rem;
    color: var(--text-muted);
    white-space: nowrap;
}

.top-bar-logout[b-gvzb9vg9jb] {
    display: contents;
}

@media (max-width: 640px) {
    .top-bar-social[b-gvzb9vg9jb] {
        order: 1;
    }

    .top-bar-auth[b-gvzb9vg9jb] {
        order: 2;
    }

    .top-bar-search[b-gvzb9vg9jb] {
        order: 3;
        flex-basis: 100%;
        max-width: none;
    }
}

.site-header[b-gvzb9vg9jb] {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(9, 9, 14, 0.72);
    backdrop-filter: blur(14px) saturate(140%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    border-bottom: 1px solid rgba(235, 3, 5, 0.15);
    transition: background .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.site-header.scrolled[b-gvzb9vg9jb] {
    background: rgba(8, 8, 12, 0.92);
    border-bottom-color: rgba(235, 3, 5, 0.35);
    box-shadow: 0 6px 30px -12px rgba(235, 3, 5, 0.35);
}

.nav-inner[b-gvzb9vg9jb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 72px;
}

/* ============ Desktop inline nav ============ */
.desktop-nav[b-gvzb9vg9jb] {
    display: none;
}

.desktop-nav a[b-gvzb9vg9jb] {
    font-family: var(--font-display);
    font-size: .82rem;
    font-weight: 600;
    color: var(--text-muted);
    position: relative;
    padding-bottom: 4px;
    transition: color .18s ease;
}

.desktop-nav a:hover[b-gvzb9vg9jb] {
    color: #fff;
}

.desktop-nav a.active[b-gvzb9vg9jb] {
    color: #fff;
}

.desktop-nav a.active[b-gvzb9vg9jb]::after {
    content: "";
    position: absolute;
    right: 0;
    left: 0;
    bottom: -2px;
    height: 2px;
    background: var(--neon-red);
    box-shadow: 0 0 8px var(--neon-red);
}

.desktop-nav-hot[b-gvzb9vg9jb] {
    color: var(--neon-gold) !important;
}

/* PC breakpoint: the drawer/hamburger is a mobile pattern only —
   on wide screens the nav links are always visible inline instead. */
@media (min-width: 1024px) {
    .nav-toggle[b-gvzb9vg9jb] {
        display: none;
    }

    .desktop-nav[b-gvzb9vg9jb] {
        display: flex;
        align-items: center;
        gap: 28px;
    }

    .drawer-backdrop[b-gvzb9vg9jb],
    .side-drawer[b-gvzb9vg9jb] {
        display: none;
    }
}

/* ============ Support FAB ============ */
.support-fab[b-gvzb9vg9jb] {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(235, 3, 5, .2), rgba(235, 3, 5, .08));
    border: 1px solid rgba(235, 3, 5, .4);
    color: var(--neon-red-soft);
    box-shadow: 0 8px 24px -8px rgba(235, 3, 5, .5), 0 0 20px rgba(235, 3, 5, .25);
    z-index: 120;
    transition: box-shadow .2s ease, transform .2s ease;
}

.support-fab svg[b-gvzb9vg9jb] {
    width: 24px;
    height: 24px;
}

.support-fab:hover[b-gvzb9vg9jb] {
    box-shadow: 0 10px 30px -6px rgba(235, 3, 5, .7), 0 0 30px rgba(235, 3, 5, .4);
    transform: translateY(-2px);
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-eo032cx2n6],
.components-reconnect-repeated-attempt-visible[b-eo032cx2n6],
.components-reconnect-failed-visible[b-eo032cx2n6],
.components-pause-visible[b-eo032cx2n6],
.components-resume-failed-visible[b-eo032cx2n6],
.components-rejoining-animation[b-eo032cx2n6] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-eo032cx2n6],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-eo032cx2n6],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-eo032cx2n6],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-eo032cx2n6],
#components-reconnect-modal.components-reconnect-retrying[b-eo032cx2n6],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-eo032cx2n6],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-eo032cx2n6],
#components-reconnect-modal.components-reconnect-failed[b-eo032cx2n6],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-eo032cx2n6] {
    display: block;
}


#components-reconnect-modal[b-eo032cx2n6] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-eo032cx2n6 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-eo032cx2n6 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-eo032cx2n6 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-eo032cx2n6]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-eo032cx2n6 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-eo032cx2n6 {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-eo032cx2n6 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-eo032cx2n6 {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-eo032cx2n6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-eo032cx2n6] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-eo032cx2n6] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-eo032cx2n6] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-eo032cx2n6] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-eo032cx2n6] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-eo032cx2n6] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-eo032cx2n6 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-eo032cx2n6] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-eo032cx2n6 {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Layout/SuperAdminLayout.razor.rz.scp.css */
.super-admin-shell .drawer-link.active[b-q50okjc2kv] {
    background: rgba(185, 104, 255, .14);
}

.super-admin-shell .drawer-link.active .nav-ico[b-q50okjc2kv],
.super-admin-shell .drawer-link:hover .nav-ico[b-q50okjc2kv] {
    color: var(--neon-purple);
    filter: drop-shadow(0 0 5px currentColor);
}

.super-admin-shell .drawer-cta[b-q50okjc2kv] {
    background: rgba(185, 104, 255, .1);
    border-color: rgba(185, 104, 255, .35);
    color: var(--neon-purple);
}

.super-admin-shell .drawer-cta:hover[b-q50okjc2kv] {
    background: rgba(185, 104, 255, .18);
    box-shadow: 0 0 18px rgba(185, 104, 255, .3);
}
/* /Components/Pages/AdminArticles.razor.rz.scp.css */
.products-head[b-ghrm3rurdw] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 28px;
}

.products-table-wrap[b-ghrm3rurdw] {
    overflow-x: auto;
    padding: 8px;
}

.products-table[b-ghrm3rurdw] {
    width: 100%;
    border-collapse: collapse;
    min-width: 640px;
}

.products-table th[b-ghrm3rurdw] {
    text-align: right;
    font-family: var(--font-display);
    font-size: .7rem;
    font-weight: 700;
    color: var(--text-faint);
    padding: 14px 16px;
}

.products-table td[b-ghrm3rurdw] {
    padding: 12px 16px;
    border-top: 1px solid var(--border-subtle);
    font-size: .88rem;
    color: var(--text-primary);
    vertical-align: middle;
}

.products-thumb[b-ghrm3rurdw] {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    object-fit: cover;
    display: block;
}

.products-thumb-empty[b-ghrm3rurdw] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .04);
    color: var(--text-faint);
}

.products-thumb-empty svg[b-ghrm3rurdw] {
    width: 18px;
    height: 18px;
}
/* /Components/Pages/AdminArticlesEdit.razor.rz.scp.css */
.news-delete-form[b-pv4f78mcse] {
    margin-top: 24px;
    max-width: 760px;
}

.news-delete-btn[b-pv4f78mcse] {
    color: var(--neon-red-soft);
    border-color: rgba(235, 3, 5, .35);
}

.news-delete-btn:hover[b-pv4f78mcse] {
    background: rgba(235, 3, 5, .1);
    box-shadow: 0 0 18px rgba(235, 3, 5, .25);
}
/* /Components/Pages/AdminAvatars.razor.rz.scp.css */
.section .section-sub[b-w34hg16zjs] {
    margin-top: 8px;
    margin-bottom: 32px;
}

.avatar-add-form[b-w34hg16zjs] {
    padding: 24px;
    margin-bottom: 28px;
}

.avatar-add-title[b-w34hg16zjs] {
    font-size: 1.05rem;
    color: #fff;
    margin-bottom: 16px;
}

.avatar-add-form form[b-w34hg16zjs] {
    display: flex;
    align-items: flex-end;
    gap: 16px;
    flex-wrap: wrap;
}

.avatar-add-form .field[b-w34hg16zjs] {
    margin-bottom: 0;
}

.avatar-grid[b-w34hg16zjs] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 16px;
}

.avatar-tile[b-w34hg16zjs] {
    padding: 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.avatar-tile img[b-w34hg16zjs] {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid var(--border-subtle);
}
/* /Components/Pages/AdminBanners.razor.rz.scp.css */
.section .section-sub[b-kcnd2yyocw] {
    margin-top: 8px;
    margin-bottom: 32px;
}

.banner-slots-grid[b-kcnd2yyocw] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

@media (max-width: 520px) {
    .banner-slots-grid[b-kcnd2yyocw] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/AdminComments.razor.rz.scp.css */
.comments-section-title[b-fjgji8z7c0] {
    font-size: 1.2rem;
    color: #fff;
    margin-top: 44px;
    padding-top: 28px;
    border-top: 1px solid var(--border-subtle);
}

.comments-section-title:first-of-type[b-fjgji8z7c0] {
    margin-top: 28px;
    padding-top: 0;
    border-top: none;
}

.comments-subhead[b-fjgji8z7c0] {
    font-size: 1.05rem;
    margin-top: 36px;
    margin-bottom: 16px;
}

.comment-review-list[b-fjgji8z7c0] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-width: 720px;
}

.comment-review-item[b-fjgji8z7c0] {
    padding: 18px 20px;
}

.comment-review-head[b-fjgji8z7c0] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.comment-review-product[b-fjgji8z7c0] {
    font-weight: 700;
    color: #fff;
    font-size: .9rem;
}

.comment-review-author[b-fjgji8z7c0] {
    color: var(--neon-red-soft);
    font-size: .82rem;
}

.comment-review-date[b-fjgji8z7c0] {
    color: var(--text-faint);
    font-size: .78rem;
    margin-right: auto;
}

.comment-review-item p[b-fjgji8z7c0] {
    color: var(--text-muted);
    font-size: .9rem;
    line-height: 1.7;
    margin-bottom: 14px;
}

.comment-review-actions[b-fjgji8z7c0] {
    display: flex;
    gap: 10px;
}
/* /Components/Pages/AdminDashboard.razor.rz.scp.css */
.dash-section .section-sub[b-ifm11cc8ep] {
    color: var(--text-muted);
    margin-top: 8px;
    margin-bottom: 32px;
}

.dash-grid[b-ifm11cc8ep] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.dash-card[b-ifm11cc8ep] {
    position: relative;
    padding: 26px 22px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.dash-card:not(.dash-card-soon):hover[b-ifm11cc8ep] {
    transform: translateY(-4px);
    border-color: rgba(255, 210, 63, .4);
    box-shadow: 0 14px 34px -18px rgba(255, 210, 63, .5);
}

.dash-card h3[b-ifm11cc8ep] {
    font-size: 1rem;
    color: #fff;
}

.dash-card p[b-ifm11cc8ep] {
    color: var(--text-muted);
    font-size: .85rem;
}

.dash-card-soon[b-ifm11cc8ep] {
    opacity: .6;
}

.dash-soon-badge[b-ifm11cc8ep] {
    position: absolute;
    top: 16px;
    left: 16px;
}

/* Same top-left corner as .dash-soon-badge above (the physical "opposite"
   side from where the card's icon/title sit) — see the drawer-link
   .nav-unread-badge note in app.css / CLAUDE.md's Online support chat
   section for why this app pins unread counts to a physical side rather
   than a direction-relative one. */
.dash-unread-badge[b-ifm11cc8ep] {
    position: absolute;
    top: 16px;
    left: 16px;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 999px;
    background: var(--neon-red);
    color: #fff;
    font-size: .72rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 900px) {
    .dash-grid[b-ifm11cc8ep] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 520px) {
    .dash-grid[b-ifm11cc8ep] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/AdminHomeSlider.razor.rz.scp.css */
.section .section-sub[b-cot3cvnmq7] {
    margin-top: 8px;
    margin-bottom: 32px;
}

.slide-add-form[b-cot3cvnmq7] {
    padding: 24px;
    margin-bottom: 28px;
}

.slide-add-title[b-cot3cvnmq7] {
    font-size: 1.05rem;
    color: #fff;
    margin-bottom: 16px;
}

.slide-add-form form[b-cot3cvnmq7] {
    display: flex;
    align-items: flex-end;
    gap: 16px;
    flex-wrap: wrap;
}

.slide-add-form .field[b-cot3cvnmq7] {
    margin-bottom: 0;
}

.slide-list[b-cot3cvnmq7] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.slide-row[b-cot3cvnmq7] {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 14px 18px;
}

.slide-row img[b-cot3cvnmq7] {
    width: 180px;
    aspect-ratio: 1200 / 413;
    object-fit: cover;
    border-radius: var(--radius-md);
    border: 1px solid var(--border-subtle);
    flex-shrink: 0;
}

.slide-row-info[b-cot3cvnmq7] {
    flex: 1;
    min-width: 0;
}

.slide-row-link[b-cot3cvnmq7] {
    color: var(--text-muted);
    font-size: .85rem;
    word-break: break-all;
}

@media (max-width: 560px) {
    .slide-row[b-cot3cvnmq7] {
        flex-wrap: wrap;
    }

    .slide-row img[b-cot3cvnmq7] {
        width: 100%;
    }
}
/* /Components/Pages/AdminHomeTicker.razor.rz.scp.css */
.section .section-sub[b-8wmtg0pejl] {
    margin-top: 8px;
    margin-bottom: 28px;
}

.ticker-form-card[b-8wmtg0pejl] {
    margin-top: 8px;
    max-width: 760px;
    padding: 32px 28px;
}

/* ============ Rich text editor (link/unlink only) ============
   A trimmed copy of the .rte* styling from NewsFieldsForm.razor.css — no
   fontsize/color/image controls here (the ticker is one scrolling line of
   text, not a document), just link/unlink, so the toolbar and editable box
   are both smaller than the full News/Articles/Terms version. */
.rte[b-8wmtg0pejl] {
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.rte-toolbar[b-8wmtg0pejl] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 10px;
    background: rgba(255, 255, 255, .03);
    border-bottom: 1px solid var(--border-subtle);
}

.rte-btn[b-8wmtg0pejl] {
    min-width: 34px;
    height: 30px;
    padding: 0 10px;
    display: flex;
    align-items: center;
    gap: 6px;
    background: rgba(255, 255, 255, .04);
    border: 1px solid var(--border-subtle);
    border-radius: 6px;
    color: var(--text-primary);
    font-size: .78rem;
    transition: background .15s ease, color .15s ease, border-color .15s ease;
}

.rte-btn:hover[b-8wmtg0pejl] {
    background: rgba(235, 3, 5, .12);
    color: var(--neon-red-soft);
    border-color: rgba(235, 3, 5, .3);
}

.rte-btn svg[b-8wmtg0pejl] {
    width: 15px;
    height: 15px;
}

.rte-sep[b-8wmtg0pejl] {
    width: 1px;
    height: 20px;
    background: var(--border-subtle);
    margin: 0 2px;
}

.ticker-rte-editable[b-8wmtg0pejl] {
    min-height: 70px;
    padding: 14px 16px;
    color: var(--text-primary);
    font-size: .92rem;
    line-height: 1.8;
}

.ticker-rte-editable:focus[b-8wmtg0pejl] {
    outline: none;
}
/* /Components/Pages/AdminNews.razor.rz.scp.css */
.products-head[b-jq9cy3eill] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 28px;
}

.products-table-wrap[b-jq9cy3eill] {
    overflow-x: auto;
    padding: 8px;
}

.products-table[b-jq9cy3eill] {
    width: 100%;
    border-collapse: collapse;
    min-width: 640px;
}

.products-table th[b-jq9cy3eill] {
    text-align: right;
    font-family: var(--font-display);
    font-size: .7rem;
    font-weight: 700;
    color: var(--text-faint);
    padding: 14px 16px;
}

.products-table td[b-jq9cy3eill] {
    padding: 12px 16px;
    border-top: 1px solid var(--border-subtle);
    font-size: .88rem;
    color: var(--text-primary);
    vertical-align: middle;
}

.products-thumb[b-jq9cy3eill] {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    object-fit: cover;
    display: block;
}

.products-thumb-empty[b-jq9cy3eill] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .04);
    color: var(--text-faint);
}

.products-thumb-empty svg[b-jq9cy3eill] {
    width: 18px;
    height: 18px;
}
/* /Components/Pages/AdminNewsEdit.razor.rz.scp.css */
.news-delete-form[b-ggfhligw7b] {
    margin-top: 24px;
    max-width: 760px;
}

.news-delete-btn[b-ggfhligw7b] {
    color: var(--neon-red-soft);
    border-color: rgba(235, 3, 5, .35);
}

.news-delete-btn:hover[b-ggfhligw7b] {
    background: rgba(235, 3, 5, .1);
    box-shadow: 0 0 18px rgba(235, 3, 5, .25);
}
/* /Components/Pages/AdminOrderDetails.razor.rz.scp.css */
.order-detail-card[b-18l2h2hqrh] {
    padding: 28px;
    max-width: 720px;
    margin-bottom: 24px;
}

.order-detail-head[b-18l2h2hqrh] {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 18px;
    color: var(--text-muted);
    font-size: .9rem;
}

.order-detail-date[b-18l2h2hqrh] {
    color: var(--text-faint);
}

.order-detail-address[b-18l2h2hqrh] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-bottom: 18px;
    margin-bottom: 18px;
    border-bottom: 1px solid var(--border-subtle);
    color: var(--text-muted);
    font-size: .88rem;
}

.order-items-table[b-18l2h2hqrh] {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 18px;
}

.order-items-table th[b-18l2h2hqrh] {
    text-align: right;
    font-family: var(--font-display);
    font-size: .7rem;
    font-weight: 700;
    color: var(--text-faint);
    padding: 10px 12px;
}

.order-items-table td[b-18l2h2hqrh] {
    padding: 10px 12px;
    border-top: 1px solid var(--border-subtle);
    font-size: .86rem;
    color: var(--text-primary);
}

.order-detail-total[b-18l2h2hqrh] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 18px;
    border-top: 1px solid var(--border-subtle);
    font-size: 1.1rem;
    font-weight: 700;
    color: #fff;
}

.order-status-card[b-18l2h2hqrh] {
    padding: 24px 28px;
    max-width: 720px;
}

.order-status-title[b-18l2h2hqrh] {
    font-size: 1rem;
    color: #fff;
    margin-bottom: 14px;
}

.order-status-form[b-18l2h2hqrh] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.order-status-form select[b-18l2h2hqrh] {
    padding: 10px 12px;
    background: rgba(255, 255, 255, .04);
    border: 1px solid var(--border-subtle);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: .85rem;
}
/* /Components/Pages/AdminOrders.razor.rz.scp.css */
.section .section-sub[b-142ju6aeuy] {
    margin-top: 8px;
    margin-bottom: 28px;
}

.products-table-wrap[b-142ju6aeuy] {
    overflow-x: auto;
    padding: 8px;
}

.products-table[b-142ju6aeuy] {
    width: 100%;
    border-collapse: collapse;
    min-width: 640px;
}

.products-table th[b-142ju6aeuy] {
    text-align: right;
    font-family: var(--font-display);
    font-size: .7rem;
    font-weight: 700;
    color: var(--text-faint);
    padding: 14px 16px;
}

.products-table td[b-142ju6aeuy] {
    padding: 12px 16px;
    border-top: 1px solid var(--border-subtle);
    font-size: .88rem;
    color: var(--text-primary);
    vertical-align: middle;
}
/* /Components/Pages/AdminProductEdit.razor.rz.scp.css */
.product-delete-form[b-wsyxxmhjqi] {
    margin-top: 24px;
    max-width: 640px;
}

.product-delete-btn[b-wsyxxmhjqi] {
    color: var(--neon-red-soft);
    border-color: rgba(235, 3, 5, .35);
}

.product-delete-btn:hover[b-wsyxxmhjqi] {
    background: rgba(235, 3, 5, .1);
    box-shadow: 0 0 18px rgba(235, 3, 5, .25);
}
/* /Components/Pages/AdminProducts.razor.rz.scp.css */
.products-head[b-abemmclqk5] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 28px;
}

.products-table-wrap[b-abemmclqk5] {
    overflow-x: auto;
    padding: 8px;
}

.products-table[b-abemmclqk5] {
    width: 100%;
    border-collapse: collapse;
    min-width: 640px;
}

.products-table th[b-abemmclqk5] {
    text-align: right;
    font-family: var(--font-display);
    font-size: .7rem;
    font-weight: 700;
    color: var(--text-faint);
    padding: 14px 16px;
}

.products-table td[b-abemmclqk5] {
    padding: 12px 16px;
    border-top: 1px solid var(--border-subtle);
    font-size: .88rem;
    color: var(--text-primary);
    vertical-align: middle;
}

.products-thumb[b-abemmclqk5] {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    object-fit: cover;
    display: block;
}

.products-thumb-empty[b-abemmclqk5] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .04);
    color: var(--text-faint);
}

.products-thumb-empty svg[b-abemmclqk5] {
    width: 18px;
    height: 18px;
}
/* /Components/Pages/AdminUsers.razor.rz.scp.css */
.section .section-sub[b-k7jpsdtzvo] {
    margin-top: 8px;
    margin-bottom: 28px;
}

.users-filter-bar[b-k7jpsdtzvo] {
    display: flex;
    align-items: flex-end;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.users-filter-bar .field[b-k7jpsdtzvo] {
    margin-bottom: 0;
    min-width: 160px;
}

.users-filter-search[b-k7jpsdtzvo] {
    flex: 1 1 240px;
}

.users-filter-bar input[b-k7jpsdtzvo],
.users-filter-bar select[b-k7jpsdtzvo] {
    width: 100%;
}

.products-table-wrap[b-k7jpsdtzvo] {
    overflow-x: auto;
    padding: 8px;
}

.products-table[b-k7jpsdtzvo] {
    width: 100%;
    border-collapse: collapse;
    min-width: 640px;
}

.products-table th[b-k7jpsdtzvo] {
    text-align: right;
    font-family: var(--font-display);
    font-size: .7rem;
    font-weight: 700;
    color: var(--text-faint);
    padding: 14px 16px;
}

.products-table td[b-k7jpsdtzvo] {
    padding: 12px 16px;
    border-top: 1px solid var(--border-subtle);
    font-size: .88rem;
    color: var(--text-primary);
    vertical-align: middle;
}
/* /Components/Pages/ArticleDetails.razor.rz.scp.css */
.news-breadcrumb[b-ajv1wo0xzq] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .82rem;
    color: var(--text-faint);
    margin-bottom: 24px;
}

.news-breadcrumb a:hover[b-ajv1wo0xzq] {
    color: var(--neon-green);
}

.news-breadcrumb-sep[b-ajv1wo0xzq] {
    opacity: .5;
}

.news-breadcrumb-current[b-ajv1wo0xzq] {
    color: var(--text-muted);
}

/* ============ Hero ============ */
.news-hero[b-ajv1wo0xzq] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 28px;
}

.news-hero-photo[b-ajv1wo0xzq] {
    width: 100%;
    max-height: 420px;
    border-radius: var(--radius-lg);
    object-fit: cover;
    border: 1px solid var(--border-subtle);
}

.news-hero-photo-empty[b-ajv1wo0xzq] {
    height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-faint);
}

.news-hero-photo-empty svg[b-ajv1wo0xzq] {
    width: 48px;
    height: 48px;
}

.news-title[b-ajv1wo0xzq] {
    font-size: clamp(1.3rem, 2.4vw, 1.7rem);
    color: #fff;
}

.news-meta[b-ajv1wo0xzq] {
    color: var(--text-faint);
    font-size: .82rem;
}

/* ============ Content & comments ============ */
.news-content-card[b-ajv1wo0xzq] {
    padding: 28px;
    margin-bottom: 24px;
}

.news-body[b-ajv1wo0xzq] {
    color: var(--text-muted);
    line-height: 1.9;
    font-size: .92rem;
}

.news-body img[b-ajv1wo0xzq] {
    max-width: 100%;
    border-radius: 8px;
}

.news-card-title[b-ajv1wo0xzq] {
    display: flex;
    align-items: baseline;
    gap: 10px;
    font-size: 1.05rem;
    color: #fff;
    padding-bottom: 14px;
    margin-bottom: 18px;
    border-bottom: 1px solid var(--border-subtle);
}

.news-comment-count[b-ajv1wo0xzq] {
    font-size: .8rem;
    font-weight: 400;
    color: var(--text-faint);
}

/* ============ Comments (mirrors NewsDetails.razor.css) ============ */
.comment-list[b-ajv1wo0xzq] {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-bottom: 28px;
}

.comment-item[b-ajv1wo0xzq] {
    display: flex;
    gap: 14px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--border-subtle);
}

.comment-item:last-child[b-ajv1wo0xzq] {
    border-bottom: none;
    padding-bottom: 0;
}

.comment-avatar[b-ajv1wo0xzq] {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(57, 255, 157, .12);
    border: 1px solid rgba(57, 255, 157, .3);
    color: var(--neon-green);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-weight: 700;
    flex-shrink: 0;
}

.comment-avatar-img[b-ajv1wo0xzq] {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid var(--border-subtle);
    flex-shrink: 0;
}

.comment-body[b-ajv1wo0xzq] {
    flex: 1;
    min-width: 0;
}

.comment-item-head[b-ajv1wo0xzq] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 6px;
}

.comment-author[b-ajv1wo0xzq] {
    font-weight: 700;
    color: #fff;
    font-size: .9rem;
}

.comment-date[b-ajv1wo0xzq] {
    color: var(--text-faint);
    font-size: .76rem;
}

.comment-item p[b-ajv1wo0xzq] {
    color: var(--text-muted);
    font-size: .9rem;
    line-height: 1.7;
}

.comment-form-card[b-ajv1wo0xzq] {
    padding-top: 22px;
    border-top: 1px solid var(--border-subtle);
}

.news-comment-form-title[b-ajv1wo0xzq] {
    font-size: .95rem;
    color: #fff;
    margin-bottom: 14px;
}

.comment-login-prompt[b-ajv1wo0xzq] {
    padding-top: 22px;
    border-top: 1px solid var(--border-subtle);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
}
/* /Components/Pages/Articles.razor.rz.scp.css */
.section .section-sub[b-k2u4knwy1y] {
    margin-top: 8px;
    margin-bottom: 32px;
}

.news-grid[b-k2u4knwy1y] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.news-card[b-k2u4knwy1y] {
    position: relative;
    padding: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.news-card:hover[b-k2u4knwy1y] {
    transform: translateY(-4px);
    border-color: rgba(57, 255, 157, .4);
    box-shadow: 0 14px 34px -18px rgba(57, 255, 157, .5);
}

.news-card-photo[b-k2u4knwy1y] {
    width: 100%;
    height: 170px;
    object-fit: cover;
    display: block;
}

.news-card-photo-empty[b-k2u4knwy1y] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .04);
    color: var(--text-faint);
}

.news-card-photo-empty svg[b-k2u4knwy1y] {
    width: 28px;
    height: 28px;
}

.news-card-body[b-k2u4knwy1y] {
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.news-card-date[b-k2u4knwy1y] {
    color: var(--text-faint);
    font-size: .76rem;
}

.news-card-body h3[b-k2u4knwy1y] {
    font-size: 1rem;
    color: #fff;
}

.news-card-body p[b-k2u4knwy1y] {
    color: var(--text-muted);
    font-size: .85rem;
    flex: 1;
}

@media (max-width: 900px) {
    .news-grid[b-k2u4knwy1y] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 520px) {
    .news-grid[b-k2u4knwy1y] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Cart.razor.rz.scp.css */
.section .section-sub[b-clag60c2k3] {
    margin-top: 4px;
    margin-bottom: 0;
}

.cart-products-card[b-clag60c2k3] {
    padding: 24px 28px;
}

.cart-products-head[b-clag60c2k3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--border-subtle);
}

.cart-products-head h2[b-clag60c2k3] {
    font-size: 1rem;
    color: #fff;
}

.cart-clear-btn[b-clag60c2k3] {
    background: none;
    border: none;
    color: var(--neon-red-soft);
    font-size: .82rem;
    cursor: pointer;
}

.cart-clear-btn:hover[b-clag60c2k3] {
    text-decoration: underline;
}

.cart-list[b-clag60c2k3] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.cart-item[b-clag60c2k3] {
    display: grid;
    grid-template-columns: 72px 1fr auto auto auto;
    align-items: center;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px solid var(--border-subtle);
}

.cart-item:last-child[b-clag60c2k3] {
    border-bottom: none;
    padding-bottom: 0;
}

.cart-item-photo[b-clag60c2k3] {
    width: 72px;
    height: 72px;
    border-radius: var(--radius-md);
    object-fit: cover;
    display: block;
}

.cart-item-photo-empty[b-clag60c2k3] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .04);
    color: var(--text-faint);
}

.cart-item-photo-empty svg[b-clag60c2k3] {
    width: 24px;
    height: 24px;
}

.cart-item-body[b-clag60c2k3] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.cart-item-name[b-clag60c2k3] {
    color: #fff;
    font-size: .95rem;
    font-weight: 700;
}

.cart-item-name:hover[b-clag60c2k3] {
    color: var(--neon-red-soft);
}

.cart-item-price[b-clag60c2k3] {
    color: var(--text-faint);
    font-size: .8rem;
}

.cart-item-qty-form[b-clag60c2k3] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.cart-item-line-total[b-clag60c2k3] {
    font-family: var(--font-display);
    font-weight: 700;
    color: var(--neon-gold);
    font-size: .9rem;
    white-space: nowrap;
}

.cart-item-remove-btn[b-clag60c2k3] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: transparent;
    border: 1px solid var(--border-subtle);
    color: var(--text-faint);
    cursor: pointer;
}

.cart-item-remove-btn svg[b-clag60c2k3] {
    width: 14px;
    height: 14px;
}

.cart-item-remove-btn:hover[b-clag60c2k3] {
    color: var(--neon-red-soft);
    border-color: rgba(235, 3, 5, .4);
}

.cart-checkout-btn[b-clag60c2k3] {
    width: 100%;
    margin-top: 18px;
}

.cart-summary-notes[b-clag60c2k3] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 18px;
}

.cart-summary-notes span[b-clag60c2k3] {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--text-faint);
    font-size: .78rem;
}

.cart-summary-notes svg[b-clag60c2k3] {
    width: 15px;
    height: 15px;
}

@media (max-width: 720px) {
    .cart-item[b-clag60c2k3] {
        grid-template-columns: 56px 1fr;
        grid-template-areas:
            "photo body"
            "qty qty"
            "total remove";
    }

    .cart-item-photo[b-clag60c2k3],
    .cart-item-photo-empty[b-clag60c2k3] {
        width: 56px;
        height: 56px;
        grid-area: photo;
    }

    .cart-item-body[b-clag60c2k3] { grid-area: body; }
    .cart-item-qty-form[b-clag60c2k3] { grid-area: qty; }
    .cart-item-line-total[b-clag60c2k3] { grid-area: total; }
    .cart-item-remove-form[b-clag60c2k3] { grid-area: remove; justify-self: start; }
}
/* /Components/Pages/Checkout.razor.rz.scp.css */
.checkout-form-card[b-lzlpqlv9sa] {
    padding: 28px;
}

.checkout-form[b-lzlpqlv9sa] {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.checkout-form-row[b-lzlpqlv9sa] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.checkout-submit-btn[b-lzlpqlv9sa] {
    width: 100%;
    margin-top: 6px;
}

/* ============ Order summary items (Checkout-only; Cart.razor's own item
   rows are wider and keep their own qty/remove controls) ============ */
.checkout-summary-items[b-lzlpqlv9sa] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--border-subtle);
}

.checkout-summary-item[b-lzlpqlv9sa] {
    display: grid;
    grid-template-columns: 48px 1fr auto;
    align-items: center;
    gap: 12px;
}

.checkout-summary-item img[b-lzlpqlv9sa],
.checkout-summary-item-photo-empty[b-lzlpqlv9sa] {
    width: 48px;
    height: 48px;
    border-radius: var(--radius-md);
    object-fit: cover;
    display: block;
}

.checkout-summary-item-photo-empty[b-lzlpqlv9sa] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .04);
    color: var(--text-faint);
}

.checkout-summary-item-photo-empty svg[b-lzlpqlv9sa] {
    width: 18px;
    height: 18px;
}

.checkout-summary-item-body[b-lzlpqlv9sa] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.checkout-summary-item-name[b-lzlpqlv9sa] {
    color: #fff;
    font-size: .88rem;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.checkout-summary-item-qty[b-lzlpqlv9sa] {
    color: var(--text-faint);
    font-size: .78rem;
}

.checkout-summary-item-total[b-lzlpqlv9sa] {
    color: var(--text-muted);
    font-size: .82rem;
    white-space: nowrap;
}

@media (max-width: 560px) {
    .checkout-form-row[b-lzlpqlv9sa] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Home.razor.rz.scp.css */
/* ============ Whole-page background (admin-uploaded hero animation) ============ */
/* Fixed to the viewport (not the document), so it stays put as a backdrop
   behind the entire home page while scrolling, rather than scrolling away
   with the hero section the way it used to be confined to. width/height:
   100% of the viewport + object-fit:cover keeps it responsive — it rescales
   and re-crops on every resize with no JS, the same "let the browser do the
   math" approach already used for .home-banner/.home-slider elsewhere in
   this app. z-index:-1 sits it above the plain body background (a negative-
   z-index descendant still paints above the root canvas's own background)
   but below every normal-flow section/panel on the page, none of which needs
   to know this layer exists. Only rendered when a custom animation is set —
   the hand-built AutumnBiomeScene fallback is untouched, still confined to
   the short strip inside .hero (see .hero-biome below); this only escalates
   the *admin-uploaded* image to a page-wide role, per what was actually asked. */
.home-page-bg[b-n1k3llmw6f] {
    position: fixed;
    inset: 0;
    z-index: -1;
    overflow: hidden;
    pointer-events: none;
}

.home-page-bg-img[b-n1k3llmw6f] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* A flat dark scrim, not the hero's own red radial glow (that one still
   layers on top of this, independently, wherever .hero itself sits) — most
   of the page's text (product cards, section headings, ticker) has no glow/
   text-shadow of its own to fall back on the way the hero title does, so it
   needs a plain contrast boost against whatever the uploaded image looks
   like, not a decorative tint. */
.home-page-bg-overlay[b-n1k3llmw6f] {
    position: absolute;
    inset: 0;
    background: rgba(8, 6, 12, .62);
}

/* ============ Hero ============ */
.hero[b-n1k3llmw6f] {
    position: relative;
    overflow: hidden;
    min-height: min(88vh, 720px);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 90px 0 60px;
    background:
        radial-gradient(ellipse 900px 500px at 50% -10%, rgba(235, 3, 5, .18), transparent 60%),
        radial-gradient(ellipse 700px 500px at 100% 100%, rgba(188, 2, 4, .14), transparent 60%);
}

.hero-leaves[b-n1k3llmw6f] {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.hero-leaves span[b-n1k3llmw6f] {
    position: absolute;
    top: -8%;
    width: 10px;
    height: 10px;
    opacity: 0;
    animation: leafFall-b-n1k3llmw6f linear infinite;
}

.hero-leaves span:nth-child(1)[b-n1k3llmw6f] { left: 6%; background: #d2691e; animation-duration: 9s; animation-delay: 0s; }
.hero-leaves span:nth-child(2)[b-n1k3llmw6f] { left: 16%; background: #e8b923; width: 8px; height: 8px; animation-duration: 12s; animation-delay: 2s; }
.hero-leaves span:nth-child(3)[b-n1k3llmw6f] { left: 28%; background: #c1440e; animation-duration: 8s; animation-delay: 4s; }
.hero-leaves span:nth-child(4)[b-n1k3llmw6f] { left: 40%; background: #e8951a; width: 7px; height: 7px; animation-duration: 11s; animation-delay: 1s; }
.hero-leaves span:nth-child(5)[b-n1k3llmw6f] { left: 52%; background: #d2691e; animation-duration: 13s; animation-delay: 6s; }
.hero-leaves span:nth-child(6)[b-n1k3llmw6f] { left: 64%; background: #e8b923; width: 9px; height: 9px; animation-duration: 9.5s; animation-delay: 3s; }
.hero-leaves span:nth-child(7)[b-n1k3llmw6f] { left: 74%; background: #c1440e; animation-duration: 10.5s; animation-delay: 5s; }
.hero-leaves span:nth-child(8)[b-n1k3llmw6f] { left: 84%; background: #e8951a; width: 8px; height: 8px; animation-duration: 12.5s; animation-delay: 7s; }
.hero-leaves span:nth-child(9)[b-n1k3llmw6f] { left: 92%; background: #d2691e; animation-duration: 9s; animation-delay: 2.5s; }
.hero-leaves span:nth-child(10)[b-n1k3llmw6f] { left: 48%; background: #e8b923; width: 7px; height: 7px; animation-duration: 14s; animation-delay: 8s; }

@keyframes leafFall-b-n1k3llmw6f {
    0% { top: -8%; transform: translateX(0) rotate(0deg); opacity: 0; }
    10% { opacity: .85; }
    25% { transform: translateX(16px) rotate(90deg); }
    50% { top: 50%; transform: translateX(-16px) rotate(180deg); }
    75% { transform: translateX(16px) rotate(270deg); }
    90% { opacity: .85; }
    100% { top: 108%; transform: translateX(0) rotate(360deg); opacity: 0; }
}

.hero-particles[b-n1k3llmw6f] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.hero-particles span[b-n1k3llmw6f] {
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 2px;
    background: var(--neon-red-soft);
    box-shadow: 0 0 8px var(--neon-red), 0 0 16px var(--neon-red);
    opacity: .7;
    animation: floaty-b-n1k3llmw6f 7s ease-in-out infinite;
}

.hero-particles span:nth-child(1)[b-n1k3llmw6f] { top: 20%; left: 10%; animation-delay: 0s; }
.hero-particles span:nth-child(2)[b-n1k3llmw6f] { top: 65%; left: 18%; animation-delay: 1.2s; }
.hero-particles span:nth-child(3)[b-n1k3llmw6f] { top: 35%; left: 82%; animation-delay: 2.1s; }
.hero-particles span:nth-child(4)[b-n1k3llmw6f] { top: 75%; left: 88%; animation-delay: .6s; background: var(--neon-gold); box-shadow: 0 0 8px var(--neon-gold), 0 0 16px var(--neon-gold); }
.hero-particles span:nth-child(5)[b-n1k3llmw6f] { top: 12%; left: 55%; animation-delay: 3s; }
.hero-particles span:nth-child(6)[b-n1k3llmw6f] { top: 50%; left: 45%; animation-delay: 1.8s; background: var(--neon-green); box-shadow: 0 0 8px var(--neon-green), 0 0 16px var(--neon-green); }
.hero-particles span:nth-child(7)[b-n1k3llmw6f] { top: 85%; left: 35%; animation-delay: 2.6s; }
.hero-particles span:nth-child(8)[b-n1k3llmw6f] { top: 8%; left: 75%; animation-delay: .9s; }

@keyframes floaty-b-n1k3llmw6f {
    0%, 100% { transform: translateY(0) scale(1); opacity: .5; }
    50% { transform: translateY(-24px) scale(1.3); opacity: 1; }
}

.hero-inner[b-n1k3llmw6f] {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 1;
}

.hero-title[b-n1k3llmw6f] {
    font-size: clamp(1.8rem, 5vw, 3.2rem);
    color: #fff;
    letter-spacing: .04em;
    line-height: 1.3;
    margin: 6px 0 14px;
    text-shadow: 0 0 16px rgba(255, 255, 255, .25);
}

.hero-title .accent[b-n1k3llmw6f] {
    color: var(--neon-red-soft);
    text-shadow: 0 0 12px var(--neon-red), 0 0 30px var(--neon-red), 0 0 60px var(--neon-red);
}

.hero-tagline[b-n1k3llmw6f] {
    font-family: var(--font-display);
    font-weight: 700;
    color: var(--neon-red-soft);
    text-shadow: 0 0 10px rgba(235, 3, 5, .6);
    font-size: .95rem;
    margin-bottom: 18px;
}

.hero-desc[b-n1k3llmw6f] {
    max-width: 560px;
    color: var(--text-muted);
    font-size: 1rem;
    margin-bottom: 34px;
}

.hero-cta[b-n1k3llmw6f] {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 44px;
}

/* ============ Home slider ============ */
/* Sits right under the hero's animated biome background, above the fixed
   home-banner grid. A dynamic, admin-managed list (see AdminHomeSlider.razor)
   — unlike the fixed 4 home-banner slots below, this section renders nothing
   at all when there are zero slides, same "honest, not fake" empty-state
   convention as everywhere else in this app. */
.home-slider-section[b-n1k3llmw6f] {
    padding: 48px 0 0;
}

/* Forced ltr so the slide track's translateX math and the controls' icon
   order both behave with standard left-to-right carousel semantics —
   there's no Persian text inside this component for RTL to apply to, just
   images and iconography (same reasoning as dir="ltr" on this app's
   Latin-content inputs). */
.home-slider[b-n1k3llmw6f] {
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    aspect-ratio: 1200 / 413;
    border-radius: var(--radius-md);
    overflow: hidden;
/*    border: 1px solid var(--border-subtle);*/
    direction: ltr;
}

.home-slider-track[b-n1k3llmw6f] {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform .5s ease;
}

.home-slider-slide[b-n1k3llmw6f] {
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
    display: block;
}

.home-slider-slide img[b-n1k3llmw6f] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* A single physical-right-corner control cluster (dots + prev/next), matching
   the reference banner's own control placement — inherits `.home-slider`'s
   forced `direction: ltr` above, so the dots-then-back-then-forward icons lay
   out left-to-right exactly as drawn regardless of the page's RTL direction. */
.home-slider-controls[b-n1k3llmw6f] {
    position: absolute;
    bottom: 16px;
    right: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(10, 10, 16, .55);
    backdrop-filter: blur(4px);
    padding: 6px 10px;
    border-radius: 999px;
}

.home-slider-dots[b-n1k3llmw6f] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.home-slider-dot[b-n1k3llmw6f] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .35);
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
}

.home-slider-dot.active[b-n1k3llmw6f] {
    background: var(--neon-red-soft);
    transform: scale(1.3);
}

.home-slider-arrow[b-n1k3llmw6f] {
    width: 26px;
    height: 26px;
    flex-shrink: 0;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .2s ease;
}

.home-slider-arrow:hover[b-n1k3llmw6f] {
    background: rgba(255, 255, 255, .24);
}

.home-slider-arrow .icon[b-n1k3llmw6f] {
    width: 15px;
    height: 15px;
}

/* ============ Home banners ============ */
.home-banner-grid[b-n1k3llmw6f] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.home-banner[b-n1k3llmw6f] {
    display: block;
    aspect-ratio: 546 / 190;
    border-radius: var(--radius-md);
    overflow: hidden;
    /*border: 1px solid var(--border-subtle);*/
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.home-banner:hover[b-n1k3llmw6f] {
    transform: translateY(-4px);
    border-color: rgba(235, 3, 5, .4);
    box-shadow: 0 14px 34px -18px rgba(235, 3, 5, .5);
}

.home-banner img[b-n1k3llmw6f] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.home-banner-placeholder[b-n1k3llmw6f] {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: rgba(255, 255, 255, .03);
    color: var(--text-faint);
    font-size: .85rem;
}

.home-banner-placeholder svg[b-n1k3llmw6f] {
    width: 30px;
    height: 30px;
}

/* ============ Products ============ */
.product-grid[b-n1k3llmw6f] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.product-card[b-n1k3llmw6f] {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.product-thumb[b-n1k3llmw6f] {
    height: 130px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4px;
}

.product-ico[b-n1k3llmw6f] {
    width: 36px;
    height: 36px;
    color: #fff;
    filter: drop-shadow(0 0 8px rgba(255, 255, 255, .6));
}

.thumb-ruby[b-n1k3llmw6f] { background: linear-gradient(135deg, #3a0b12, #eb0305); }
.thumb-gold[b-n1k3llmw6f] { background: linear-gradient(135deg, #3a2c05, #ffd23f); }
.thumb-diamond[b-n1k3llmw6f] { background: linear-gradient(135deg, #062a30, #38f2ff); }
.thumb-emerald[b-n1k3llmw6f] { background: linear-gradient(135deg, #04331f, #39ff9d); }

.product-card h3[b-n1k3llmw6f] {
    font-size: .98rem;
    color: #fff;
}

.product-footer[b-n1k3llmw6f] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 6px;
}

.product-price[b-n1k3llmw6f] {
    font-family: var(--font-display);
    font-weight: 700;
    color: var(--neon-gold);
}

/* ============ Buy-account banner ============ */
.banner-inner[b-n1k3llmw6f] {
    padding: 48px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    flex-wrap: wrap;
    border-color: rgba(235, 3, 5, .25);
}

.banner-copy[b-n1k3llmw6f] {
    max-width: 560px;
}

.banner-copy .btn[b-n1k3llmw6f] {
    margin-top: 24px;
}

.banner-badges[b-n1k3llmw6f] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* ============ News / Articles ============ */
.two-col[b-n1k3llmw6f] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
}

.stacked-cards[b-n1k3llmw6f] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.stacked-card[b-n1k3llmw6f] {
    padding: 18px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: border-color .2s ease, transform .2s ease;
}

.stacked-card:hover[b-n1k3llmw6f] {
    transform: translateX(-4px);
    border-color: rgba(235, 3, 5, .3);
}

.stacked-card h3[b-n1k3llmw6f] {
    font-size: 1rem;
    color: #fff;
}

.stacked-card p[b-n1k3llmw6f] {
    color: var(--text-muted);
    font-size: .86rem;
}

.card-date[b-n1k3llmw6f] {
    color: var(--text-faint);
    font-size: .74rem;
    font-family: var(--font-display);
}

/* ============ Responsive ============ */
@media (max-width: 960px) {
    .product-grid[b-n1k3llmw6f] { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
    .two-col[b-n1k3llmw6f] { grid-template-columns: 1fr; gap: 40px; }
}

@media (max-width: 520px) {
    .home-banner-grid[b-n1k3llmw6f] { grid-template-columns: 1fr; }
    .product-grid[b-n1k3llmw6f] { grid-template-columns: 1fr; }

    .home-slider[b-n1k3llmw6f] { border-radius: 0; }
    .home-slider-controls[b-n1k3llmw6f] { bottom: 8px; right: 8px; gap: 6px; padding: 4px 8px; }
    .home-slider-arrow[b-n1k3llmw6f] { width: 22px; height: 22px; }
    .home-slider-arrow .icon[b-n1k3llmw6f] { width: 13px; height: 13px; }
}

/* ============ Home news ticker ============ */
/* Home.razor's own private "is there anything present at all" check
   (@if (!string.IsNullOrWhiteSpace(TickerText))) already keeps this whole
   bar out of the DOM on every other page and whenever no admin has set any
   text — same "honest, not fake" empty-state convention as the home slider
   above, just via a plain string instead of a list count. */
.home-ticker[b-n1k3llmw6f] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60px;
    overflow: hidden;
    background: rgba(10, 10, 16, .92);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-top: 1px solid rgba(235, 3, 5, .3);
    box-shadow: 0 -4px 20px -6px rgba(235, 3, 5, .2);
    z-index: 90;
}

/* The track's resting position is pinned to the bar's left edge with the
   physical `left` property (ignores `direction`, see the badge-placement
   note in CLAUDE.md's Online support chat section for the same point) and
   the whole left-to-right sweep is driven purely by `transform: translateX`,
   which is likewise a physical, direction-agnostic operation — so this
   works correctly under this app's inherited RTL without needing to force
   `direction: ltr` anywhere, unlike the (image-only, textless) home slider
   above. Forcing ltr on this element specifically would risk disturbing how
   the real Persian ticker text shapes/orders itself, which the slider never
   had to worry about since it holds no text at all. */
.home-ticker-track[b-n1k3llmw6f] {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    display: flex;
    align-items: center;
    white-space: nowrap;
    padding: 0 24px;
    color: var(--text-primary);
    font-size: .95rem;
    transform: translateX(-100%);
    animation-name: home-ticker-scroll-b-n1k3llmw6f;
    animation-timing-function: linear;
    /* A single pass, not `infinite` — site.js listens for this animation to
       finish (`animationend`, which never fires under `infinite`), waits 5s,
       then restarts it by toggling `animation-name` off and back on. This is
       what gives the ticker a visible pause between crossings instead of
       looping back-to-back with no gap. */
    animation-iteration-count: 1;
    /* Placeholder only — site.js's initHomeTicker() measures the track's real
       rendered width plus the real viewport width right after load and
       overwrites this with an inline animation-duration (always wins over
       this rule regardless of value), so the bar actually scrolls at a
       constant pixel-per-second speed instead of "cross the screen in a
       fixed N seconds no matter how long the text or how wide the screen
       is." This value only shows for the brief instant before that JS runs. */
    animation-duration: 20s;
}

@keyframes home-ticker-scroll-b-n1k3llmw6f {
    from { transform: translateX(-100%); }
    to { transform: translateX(calc(100vw + 100%)); }
}
/* /Components/Pages/News.razor.rz.scp.css */
.section .section-sub[b-felmd5pex3] {
    margin-top: 8px;
    margin-bottom: 32px;
}

.news-grid[b-felmd5pex3] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.news-card[b-felmd5pex3] {
    position: relative;
    padding: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.news-card:hover[b-felmd5pex3] {
    transform: translateY(-4px);
    border-color: rgba(56, 242, 255, .4);
    box-shadow: 0 14px 34px -18px rgba(56, 242, 255, .5);
}

.news-card-photo[b-felmd5pex3] {
    width: 100%;
    height: 170px;
    object-fit: cover;
    display: block;
}

.news-card-photo-empty[b-felmd5pex3] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .04);
    color: var(--text-faint);
}

.news-card-photo-empty svg[b-felmd5pex3] {
    width: 28px;
    height: 28px;
}

.news-card-body[b-felmd5pex3] {
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.news-card-date[b-felmd5pex3] {
    color: var(--text-faint);
    font-size: .76rem;
}

.news-card-body h3[b-felmd5pex3] {
    font-size: 1rem;
    color: #fff;
}

.news-card-body p[b-felmd5pex3] {
    color: var(--text-muted);
    font-size: .85rem;
    flex: 1;
}

@media (max-width: 900px) {
    .news-grid[b-felmd5pex3] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 520px) {
    .news-grid[b-felmd5pex3] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/NewsDetails.razor.rz.scp.css */
.news-breadcrumb[b-vr02qqtfn4] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .82rem;
    color: var(--text-faint);
    margin-bottom: 24px;
}

.news-breadcrumb a:hover[b-vr02qqtfn4] {
    color: var(--neon-red-soft);
}

.news-breadcrumb-sep[b-vr02qqtfn4] {
    opacity: .5;
}

.news-breadcrumb-current[b-vr02qqtfn4] {
    color: var(--text-muted);
}

/* ============ Hero ============ */
.news-hero[b-vr02qqtfn4] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 28px;
}

.news-hero-photo[b-vr02qqtfn4] {
    width: 100%;
    max-height: 420px;
    border-radius: var(--radius-lg);
    object-fit: cover;
    border: 1px solid var(--border-subtle);
}

.news-hero-photo-empty[b-vr02qqtfn4] {
    height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-faint);
}

.news-hero-photo-empty svg[b-vr02qqtfn4] {
    width: 48px;
    height: 48px;
}

.news-title[b-vr02qqtfn4] {
    font-size: clamp(1.3rem, 2.4vw, 1.7rem);
    color: #fff;
}

.news-subtitle[b-vr02qqtfn4] {
    color: var(--text-muted);
    font-size: 1rem;
    margin-top: 6px;
}

.news-meta[b-vr02qqtfn4] {
    color: var(--text-faint);
    font-size: .82rem;
}

/* ============ Content & comments ============ */
.news-content-card[b-vr02qqtfn4] {
    padding: 28px;
    margin-bottom: 24px;
}

.news-body[b-vr02qqtfn4] {
    color: var(--text-muted);
    line-height: 1.9;
    font-size: .92rem;
}

.news-body img[b-vr02qqtfn4] {
    max-width: 100%;
    border-radius: 8px;
}

.news-card-title[b-vr02qqtfn4] {
    display: flex;
    align-items: baseline;
    gap: 10px;
    font-size: 1.05rem;
    color: #fff;
    padding-bottom: 14px;
    margin-bottom: 18px;
    border-bottom: 1px solid var(--border-subtle);
}

.news-comment-count[b-vr02qqtfn4] {
    font-size: .8rem;
    font-weight: 400;
    color: var(--text-faint);
}

/* ============ Comments (mirrors ProductDetails.razor.css) ============ */
.comment-list[b-vr02qqtfn4] {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-bottom: 28px;
}

.comment-item[b-vr02qqtfn4] {
    display: flex;
    gap: 14px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--border-subtle);
}

.comment-item:last-child[b-vr02qqtfn4] {
    border-bottom: none;
    padding-bottom: 0;
}

.comment-avatar[b-vr02qqtfn4] {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(235, 3, 5, .12);
    border: 1px solid rgba(235, 3, 5, .3);
    color: var(--neon-red-soft);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-weight: 700;
    flex-shrink: 0;
}

.comment-avatar-img[b-vr02qqtfn4] {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid var(--border-subtle);
    flex-shrink: 0;
}

.comment-body[b-vr02qqtfn4] {
    flex: 1;
    min-width: 0;
}

.comment-item-head[b-vr02qqtfn4] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 6px;
}

.comment-author[b-vr02qqtfn4] {
    font-weight: 700;
    color: #fff;
    font-size: .9rem;
}

.comment-date[b-vr02qqtfn4] {
    color: var(--text-faint);
    font-size: .76rem;
}

.comment-item p[b-vr02qqtfn4] {
    color: var(--text-muted);
    font-size: .9rem;
    line-height: 1.7;
}

.comment-form-card[b-vr02qqtfn4] {
    padding-top: 22px;
    border-top: 1px solid var(--border-subtle);
}

.news-comment-form-title[b-vr02qqtfn4] {
    font-size: .95rem;
    color: #fff;
    margin-bottom: 14px;
}

.comment-login-prompt[b-vr02qqtfn4] {
    padding-top: 22px;
    border-top: 1px solid var(--border-subtle);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
}
/* /Components/Pages/ProductDetails.razor.rz.scp.css */
/* ============ Add-to-cart toast ============ */
/* Pure CSS: no JS needed to show or auto-dismiss it — the element only
   exists in the DOM when ?added=true is present (see @code block), and the
   animation plays once on insertion whether that's a full page load or a
   Blazor enhanced-navigation DOM patch. */
.toast[b-a83dymdimc] {
    position: fixed;
    bottom: 28px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 22px;
    border-radius: var(--radius-md);
    font-size: .88rem;
    font-weight: 600;
    z-index: 200;
    pointer-events: none;
    animation: toast-life-b-a83dymdimc 3.5s ease forwards;
}

.toast svg[b-a83dymdimc] {
    width: 18px;
    height: 18px;
}

.toast-success[b-a83dymdimc] {
    background: rgba(57, 255, 157, .12);
    border: 1px solid rgba(57, 255, 157, .35);
    color: var(--neon-green);
    box-shadow: 0 8px 24px -8px rgba(57, 255, 157, .4);
}

@keyframes toast-life-b-a83dymdimc {
    0% { opacity: 0; transform: translate(-50%, 12px); }
    10% { opacity: 1; transform: translate(-50%, 0); }
    85% { opacity: 1; }
    100% { opacity: 0; transform: translate(-50%, 0); }
}

.pdp-breadcrumb[b-a83dymdimc] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .82rem;
    color: var(--text-faint);
    margin-bottom: 24px;
}

.pdp-breadcrumb a:hover[b-a83dymdimc] {
    color: var(--neon-red-soft);
}

.pdp-breadcrumb-sep[b-a83dymdimc] {
    opacity: .5;
}

.pdp-breadcrumb-current[b-a83dymdimc] {
    color: var(--text-muted);
}

/* ============ Layout ============ */
.pdp-layout[b-a83dymdimc] {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 28px;
    align-items: start;
    margin-bottom: 28px;
}

.pdp-info-panel[b-a83dymdimc] {
    padding: 28px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
}

/* ============ Gallery ============ */
.pdp-gallery-card[b-a83dymdimc] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.pdp-main-photo-wrap[b-a83dymdimc] {
    position: relative;
    height: 420px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    padding: 20px;
}

.pdp-ribbon[b-a83dymdimc] {
    position: absolute;
    top: 16px;
    right: 16px;
}

.pdp-main-photo[b-a83dymdimc] {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    object-fit: contain;
}

.pdp-main-photo-empty[b-a83dymdimc] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-faint);
}

.pdp-main-photo-empty svg[b-a83dymdimc] {
    width: 48px;
    height: 48px;
}

.pdp-thumbs[b-a83dymdimc] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.pdp-thumb[b-a83dymdimc] {
    display: block;
    width: 64px;
    height: 64px;
    border-radius: 8px;
    border: 1px solid var(--border-subtle);
    overflow: hidden;
    flex-shrink: 0;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.pdp-thumb img[b-a83dymdimc] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pdp-thumb.active[b-a83dymdimc],
.pdp-thumb:hover[b-a83dymdimc] {
    border-color: var(--neon-red-soft);
    box-shadow: 0 0 0 2px rgba(235, 3, 5, .25);
}

/* ============ Info panel ============ */
.pdp-title[b-a83dymdimc] {
    font-size: clamp(1.3rem, 2.4vw, 1.7rem);
    color: #fff;
}

.pdp-price-block[b-a83dymdimc] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.pdp-price-label[b-a83dymdimc] {
    font-size: .8rem;
    color: var(--text-faint);
}

.pdp-price-row[b-a83dymdimc] {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
}

.pdp-price[b-a83dymdimc] {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 1.5rem;
    color: var(--neon-red-soft);
}

.pdp-price span[b-a83dymdimc] {
    font-size: .8rem;
    font-weight: 700;
    color: var(--text-muted);
    margin-right: 6px;
}

.pdp-low-stock[b-a83dymdimc] {
    color: var(--neon-red-soft);
    font-size: .82rem;
}

.pdp-qty[b-a83dymdimc] {
    display: flex;
    align-items: center;
    gap: 14px;
}

.pdp-qty-label[b-a83dymdimc] {
    font-size: .82rem;
    color: var(--text-muted);
}

.pdp-add-to-cart-form[b-a83dymdimc] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    width: 100%;
}

.pdp-buy-btn[b-a83dymdimc] {
    width: 100%;
}

.pdp-buy-btn:disabled[b-a83dymdimc] {
    opacity: .5;
    cursor: not-allowed;
    box-shadow: none;
    transform: none;
}

.pdp-trust-list[b-a83dymdimc] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 16px;
    border-top: 1px solid var(--border-subtle);
    width: 100%;
}

.pdp-favorite-row[b-a83dymdimc] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 16px;
    width: 100%;
}

.pdp-favorite-btn[b-a83dymdimc] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: rgba(255, 255, 255, .04);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    color: var(--text-muted);
    font-size: .82rem;
    transition: color .15s ease, border-color .15s ease, background .15s ease;
}

.pdp-favorite-btn svg[b-a83dymdimc] {
    width: 16px;
    height: 16px;
}

.pdp-favorite-btn:hover[b-a83dymdimc] {
    color: var(--neon-red-soft);
    border-color: rgba(235, 3, 5, .3);
}

.pdp-favorite-btn.active[b-a83dymdimc] {
    color: var(--neon-red-soft);
    border-color: rgba(235, 3, 5, .4);
    background: rgba(235, 3, 5, .1);
}

.pdp-favorite-btn.active svg[b-a83dymdimc] {
    fill: currentColor;
}

.pdp-favorite-count[b-a83dymdimc] {
    color: var(--text-faint);
    font-size: .8rem;
}

/* ============ Stacked content sections ============ */
.pdp-section-card[b-a83dymdimc] {
    padding: 28px;
    margin-bottom: 24px;
}

.pdp-card-title[b-a83dymdimc] {
    display: flex;
    align-items: baseline;
    gap: 10px;
    font-size: 1.05rem;
    color: #fff;
    padding-bottom: 14px;
    margin-bottom: 18px;
    border-bottom: 1px solid var(--border-subtle);
}

.pdp-comment-count[b-a83dymdimc] {
    font-size: .8rem;
    font-weight: 400;
    color: var(--text-faint);
}

.pdp-desc[b-a83dymdimc] {
    color: var(--text-muted);
    line-height: 1.9;
    font-size: .92rem;
}

/* ============ Specs list ============ */
.pdp-specs-list[b-a83dymdimc] {
    display: flex;
    flex-direction: column;
}

.pdp-specs-list li[b-a83dymdimc] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    color: var(--text-muted);
    font-size: .88rem;
    border-radius: 8px;
}

.pdp-specs-list li:nth-child(odd)[b-a83dymdimc] {
    background: rgba(255, 255, 255, .025);
}

.pdp-specs-list li svg[b-a83dymdimc] {
    width: 16px;
    height: 16px;
    color: var(--neon-green);
    flex-shrink: 0;
}

/* ============ Comments ============ */
.comment-list[b-a83dymdimc] {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-bottom: 28px;
}

.comment-item[b-a83dymdimc] {
    display: flex;
    gap: 14px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--border-subtle);
}

.comment-item:last-child[b-a83dymdimc] {
    border-bottom: none;
    padding-bottom: 0;
}

.comment-avatar[b-a83dymdimc] {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(235, 3, 5, .12);
    border: 1px solid rgba(235, 3, 5, .3);
    color: var(--neon-red-soft);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-weight: 700;
    flex-shrink: 0;
}

.comment-avatar-img[b-a83dymdimc] {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid var(--border-subtle);
    flex-shrink: 0;
}

.comment-body[b-a83dymdimc] {
    flex: 1;
    min-width: 0;
}

.comment-item-head[b-a83dymdimc] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 6px;
}

.comment-author[b-a83dymdimc] {
    font-weight: 700;
    color: #fff;
    font-size: .9rem;
}

.comment-date[b-a83dymdimc] {
    color: var(--text-faint);
    font-size: .76rem;
}

.comment-item p[b-a83dymdimc] {
    color: var(--text-muted);
    font-size: .9rem;
    line-height: 1.7;
}

.comment-form-card[b-a83dymdimc] {
    padding-top: 22px;
    border-top: 1px solid var(--border-subtle);
}

.pdp-comment-form-title[b-a83dymdimc] {
    font-size: .95rem;
    color: #fff;
    margin-bottom: 14px;
}

.comment-login-prompt[b-a83dymdimc] {
    padding-top: 22px;
    border-top: 1px solid var(--border-subtle);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
}

@media (max-width: 900px) {
    .pdp-layout[b-a83dymdimc] {
        grid-template-columns: 1fr;
    }

    .pdp-main-photo-wrap[b-a83dymdimc] {
        height: 320px;
    }
}
/* /Components/Pages/Profile.razor.rz.scp.css */
.dash-section .section-sub[b-7j7ucur1tk] {
    color: var(--text-muted);
    margin-top: 8px;
    margin-bottom: 32px;
}

.dash-grid[b-7j7ucur1tk] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.dash-card[b-7j7ucur1tk] {
    padding: 26px 22px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.dash-card:hover[b-7j7ucur1tk] {
    transform: translateY(-4px);
    border-color: rgba(235, 3, 5, .4);
    box-shadow: 0 14px 34px -18px rgba(235, 3, 5, .5);
}

.dash-card h3[b-7j7ucur1tk] {
    font-size: 1rem;
    color: #fff;
}

.dash-card p[b-7j7ucur1tk] {
    color: var(--text-muted);
    font-size: .85rem;
}

.dash-orders[b-7j7ucur1tk] {
    margin-top: 24px;
    padding: 24px 28px;
    display: flex;
    align-items: center;
    gap: 20px;
}

.dash-orders-text[b-7j7ucur1tk] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.dash-orders-text h3[b-7j7ucur1tk] {
    font-size: 1rem;
    color: #fff;
}

.dash-orders-text p[b-7j7ucur1tk] {
    color: var(--text-muted);
    font-size: .87rem;
}

@media (max-width: 900px) {
    .dash-grid[b-7j7ucur1tk] {
        grid-template-columns: repeat(2, 1fr);
    }

    .dash-orders[b-7j7ucur1tk] {
        flex-direction: column;
        align-items: flex-start;
        text-align: start;
    }
}

@media (max-width: 520px) {
    .dash-grid[b-7j7ucur1tk] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/ProfileFavorites.razor.rz.scp.css */
.favorite-list[b-l78gh3zb24] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.favorite-list-item[b-l78gh3zb24] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 18px;
}

.favorite-list-photo[b-l78gh3zb24] {
    width: 56px;
    height: 56px;
    border-radius: var(--radius-md);
    object-fit: cover;
    border: 1px solid var(--border-subtle);
    flex-shrink: 0;
}

.favorite-list-photo-empty[b-l78gh3zb24] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-faint);
}

.favorite-list-info[b-l78gh3zb24] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.favorite-list-name[b-l78gh3zb24] {
    color: var(--text-primary);
    font-size: .92rem;
    font-weight: 600;
}

.favorite-list-price[b-l78gh3zb24] {
    color: var(--neon-red-soft);
    font-family: var(--font-display);
    font-size: .85rem;
}
/* /Components/Pages/ProfileOrderDetails.razor.rz.scp.css */
.order-detail-card[b-l41eoi6pn5] {
    padding: 28px;
    max-width: 720px;
}

.order-detail-head[b-l41eoi6pn5] {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}

.order-detail-date[b-l41eoi6pn5] {
    color: var(--text-muted);
    font-size: .9rem;
}

.order-detail-address[b-l41eoi6pn5] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-bottom: 18px;
    margin-bottom: 18px;
    border-bottom: 1px solid var(--border-subtle);
    color: var(--text-muted);
    font-size: .88rem;
}

.order-items-table[b-l41eoi6pn5] {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 18px;
}

.order-items-table th[b-l41eoi6pn5] {
    text-align: right;
    font-family: var(--font-display);
    font-size: .7rem;
    font-weight: 700;
    color: var(--text-faint);
    padding: 10px 12px;
}

.order-items-table td[b-l41eoi6pn5] {
    padding: 10px 12px;
    border-top: 1px solid var(--border-subtle);
    font-size: .86rem;
    color: var(--text-primary);
}

.order-detail-total[b-l41eoi6pn5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 18px;
    border-top: 1px solid var(--border-subtle);
    font-size: 1.1rem;
    font-weight: 700;
    color: #fff;
}
/* /Components/Pages/ProfileOrders.razor.rz.scp.css */
.order-list[b-rs6fbwtpzr] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.order-list-item[b-rs6fbwtpzr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 22px;
    transition: border-color .2s ease, transform .2s ease;
}

.order-list-item:hover[b-rs6fbwtpzr] {
    transform: translateX(-4px);
    border-color: rgba(235, 3, 5, .3);
}

.order-list-info[b-rs6fbwtpzr] {
    display: flex;
    align-items: center;
    gap: 14px;
}

.order-list-date[b-rs6fbwtpzr] {
    color: var(--text-muted);
    font-size: .88rem;
}

.order-list-total[b-rs6fbwtpzr] {
    font-family: var(--font-display);
    font-weight: 700;
    color: var(--neon-red-soft);
    font-size: .9rem;
}
/* /Components/Pages/Shop.razor.rz.scp.css */
.section .section-sub[b-q83wjzn4m8] {
    margin-top: 8px;
    margin-bottom: 32px;
}

.shop-grid[b-q83wjzn4m8] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.shop-card[b-q83wjzn4m8] {
    position: relative;
    padding: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.shop-card:hover[b-q83wjzn4m8] {
    transform: translateY(-4px);
    border-color: rgba(235, 3, 5, .4);
    box-shadow: 0 14px 34px -18px rgba(235, 3, 5, .5);
}

.shop-card-tag[b-q83wjzn4m8] {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 1;
}

.shop-card-discount[b-q83wjzn4m8] {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 1;
}

.shop-card-photo[b-q83wjzn4m8] {
    width: 100%;
    height: 160px;
    object-fit: cover;
    display: block;
}

.shop-card-photo-empty[b-q83wjzn4m8] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .04);
    color: var(--text-faint);
}

.shop-card-photo-empty svg[b-q83wjzn4m8] {
    width: 28px;
    height: 28px;
}

.shop-card-body[b-q83wjzn4m8] {
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.shop-card-body h3[b-q83wjzn4m8] {
    font-size: 1rem;
    color: #fff;
}

.shop-card-body p[b-q83wjzn4m8] {
    color: var(--text-muted);
    font-size: .85rem;
    flex: 1;
}

.shop-card-footer[b-q83wjzn4m8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 4px;
}

.shop-card-price-block[b-q83wjzn4m8] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.shop-card-price[b-q83wjzn4m8] {
    font-family: var(--font-display);
    font-weight: 700;
    color: var(--neon-red-soft);
    font-size: .92rem;
}

@media (max-width: 900px) {
    .shop-grid[b-q83wjzn4m8] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 520px) {
    .shop-grid[b-q83wjzn4m8] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/SuperAdminBranding.razor.rz.scp.css */
.branding-card[b-nne2t4w9jh] {
    margin-top: 32px;
    max-width: 640px;
    padding: 28px;
}

.branding-card-title[b-nne2t4w9jh] {
    font-size: 1.05rem;
    color: #fff;
    margin-bottom: 16px;
}

.branding-preview[b-nne2t4w9jh] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 140px;
    margin-bottom: 16px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, .03);
}

.branding-preview img[b-nne2t4w9jh] {
    max-width: 160px;
    max-height: 100px;
    object-fit: contain;
}

.branding-upload-form[b-nne2t4w9jh] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding-top: 16px;
    margin-top: 16px;
    border-top: 1px solid var(--border-subtle);
}

.branding-upload-form input[type="file"][b-nne2t4w9jh] {
    color: var(--text-muted);
    font-size: .82rem;
}
/* /Components/Pages/SuperAdminDashboard.razor.rz.scp.css */
.dash-section .section-sub[b-q2hbiv6jmv] {
    color: var(--text-muted);
    margin-top: 8px;
    margin-bottom: 32px;
}

.dash-grid[b-q2hbiv6jmv] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.dash-card[b-q2hbiv6jmv] {
    position: relative;
    padding: 26px 22px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.dash-card:not(.dash-card-soon):hover[b-q2hbiv6jmv] {
    transform: translateY(-4px);
    border-color: rgba(185, 104, 255, .4);
    box-shadow: 0 14px 34px -18px rgba(185, 104, 255, .5);
}

.dash-card h3[b-q2hbiv6jmv] {
    font-size: 1rem;
    color: #fff;
}

.dash-card p[b-q2hbiv6jmv] {
    color: var(--text-muted);
    font-size: .85rem;
}

.dash-card-soon[b-q2hbiv6jmv] {
    opacity: .6;
}

.dash-soon-badge[b-q2hbiv6jmv] {
    position: absolute;
    top: 16px;
    left: 16px;
}

@media (max-width: 900px) {
    .dash-grid[b-q2hbiv6jmv] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 520px) {
    .dash-grid[b-q2hbiv6jmv] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/SuperAdminHeroAnimation.razor.rz.scp.css */
.branding-card[b-biavhsma5w] {
    margin-top: 32px;
    max-width: 640px;
    padding: 28px;
}

.branding-card-title[b-biavhsma5w] {
    font-size: 1.05rem;
    color: #fff;
    margin-bottom: 16px;
}

.branding-preview[b-biavhsma5w] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 140px;
    margin-bottom: 16px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, .03);
    overflow: hidden;
}

/* Unlike the small square-logo preview this class is copied from, the hero
   animation now fills the whole hero background at 1350x720 (see
   .hero-biome-custom in app.css) — sized here with the same aspect-ratio so
   the preview actually resembles that shape instead of a generic thumbnail. */
.hero-animation-preview[b-biavhsma5w] {
    height: auto;
    aspect-ratio: 1350 / 720;
}

.hero-animation-preview img[b-biavhsma5w] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.branding-upload-form[b-biavhsma5w] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding-top: 16px;
    margin-top: 16px;
    border-top: 1px solid var(--border-subtle);
}

.branding-upload-form input[type="file"][b-biavhsma5w] {
    color: var(--text-muted);
    font-size: .82rem;
}
/* /Components/Pages/SuperAdminTerms.razor.rz.scp.css */
.news-form-card[b-ewm207h31f] {
    margin-top: 32px;
    max-width: 760px;
    padding: 32px 28px;
}

/* ============ Rich text editor ============ */
.rte[b-ewm207h31f] {
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.rte-toolbar[b-ewm207h31f] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    padding: 8px 10px;
    background: rgba(255, 255, 255, .03);
    border-bottom: 1px solid var(--border-subtle);
}

.rte-btn[b-ewm207h31f] {
    min-width: 34px;
    height: 30px;
    padding: 0 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .04);
    border: 1px solid var(--border-subtle);
    border-radius: 6px;
    color: var(--text-primary);
    font-size: .78rem;
    transition: background .15s ease, color .15s ease, border-color .15s ease;
}

.rte-btn:hover[b-ewm207h31f] {
    background: rgba(235, 3, 5, .12);
    color: var(--neon-red-soft);
    border-color: rgba(235, 3, 5, .3);
}

.rte-btn svg[b-ewm207h31f] {
    width: 15px;
    height: 15px;
}

.rte-select[b-ewm207h31f] {
    height: 30px;
    padding: 0 6px;
    background: rgba(255, 255, 255, .04);
    border: 1px solid var(--border-subtle);
    border-radius: 6px;
    color: var(--text-primary);
    font-size: .78rem;
}

.rte-color[b-ewm207h31f] {
    width: 34px;
    height: 30px;
    padding: 2px;
    background: transparent;
    border: 1px solid var(--border-subtle);
    border-radius: 6px;
    cursor: pointer;
}

.rte-sep[b-ewm207h31f] {
    width: 1px;
    height: 20px;
    background: var(--border-subtle);
    margin: 0 2px;
}

.rte-editable[b-ewm207h31f] {
    min-height: 320px;
    padding: 16px;
    color: var(--text-primary);
    font-size: .92rem;
    line-height: 1.9;
    overflow-y: auto;
}

.rte-editable:focus[b-ewm207h31f] {
    outline: none;
}

.rte-editable img[b-ewm207h31f] {
    max-width: 100%;
    border-radius: 8px;
}
/* /Components/Pages/Terms.razor.rz.scp.css */
/* Duplicated from NewsDetails.razor.css — scoped CSS never crosses
   components, and this page isn't News (see the Blazor gotchas note in
   CLAUDE.md about this exact class of mistake). */
.news-breadcrumb[b-wms09as0ac] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .82rem;
    color: var(--text-faint);
    margin-bottom: 24px;
}

.news-breadcrumb a:hover[b-wms09as0ac] {
    color: var(--neon-red-soft);
}

.news-breadcrumb-sep[b-wms09as0ac] {
    opacity: .5;
}

.news-breadcrumb-current[b-wms09as0ac] {
    color: var(--text-muted);
}

.news-content-card[b-wms09as0ac] {
    padding: 28px;
    margin-bottom: 24px;
}

.terms-content-card[b-wms09as0ac] {
    margin-top: 20px;
}

.news-body[b-wms09as0ac] {
    color: var(--text-muted);
    line-height: 1.9;
    font-size: .92rem;
}

.news-body img[b-wms09as0ac] {
    max-width: 100%;
    border-radius: 8px;
}
/* /Components/Shared/AccountInfoForm.razor.rz.scp.css */
.account-card[b-vqfp1sw0su] {
    margin-top: 32px;
    max-width: 560px;
    padding: 32px 28px;
}

.field-static[b-vqfp1sw0su] {
    margin: 0;
    padding: 12px 14px;
    background: rgba(255, 255, 255, .03);
    border: 1px solid var(--border-subtle);
    border-radius: 8px;
    color: var(--text-primary);
    font-weight: 600;
    font-size: .92rem;
}

.avatar-picker[b-vqfp1sw0su] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.avatar-option[b-vqfp1sw0su] {
    width: 50px;
    height: 50px;
    padding: 0;
    border-radius: 50%;
    border: 2px solid var(--border-subtle);
    background: rgba(255, 255, 255, .03);
    cursor: pointer;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: border-color .15s ease;
}

.avatar-option:hover[b-vqfp1sw0su] {
    border-color: var(--neon-red-soft);
}

.avatar-option.selected[b-vqfp1sw0su] {
    border-color: var(--neon-red);
    box-shadow: 0 0 0 2px rgba(235, 3, 5, .25);
}

.avatar-option img[b-vqfp1sw0su] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.avatar-option-none[b-vqfp1sw0su] {
    background: rgba(235, 3, 5, .12);
    color: var(--neon-red-soft);
    font-family: var(--font-display);
    font-weight: 700;
}
/* /Components/Shared/ArticleCoverManager.razor.rz.scp.css */
.cover-manager[b-x158njagmc] {
    margin-top: 24px;
    max-width: 760px;
    padding: 28px;
}

.cover-manager-title[b-x158njagmc] {
    font-size: 1.05rem;
    color: #fff;
    margin-bottom: 16px;
}

.cover-tile[b-x158njagmc] {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
}

.cover-tile img[b-x158njagmc] {
    width: 160px;
    height: 100px;
    border-radius: var(--radius-md);
    object-fit: cover;
    border: 1px solid var(--border-subtle);
}

.cover-upload-form[b-x158njagmc] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding-top: 16px;
    border-top: 1px solid var(--border-subtle);
}

.cover-upload-form input[type="file"][b-x158njagmc] {
    color: var(--text-muted);
    font-size: .82rem;
}
/* /Components/Shared/ArticleFieldsForm.razor.rz.scp.css */
.news-form-card[b-9d82r831kk] {
    margin-top: 32px;
    max-width: 760px;
    padding: 32px 28px;
}

.field-inline[b-9d82r831kk] {
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
}

.field-inline label[b-9d82r831kk] {
    margin: 0;
}

.field-inline input[type="checkbox"][b-9d82r831kk] {
    width: 18px;
    height: 18px;
}

/* ============ Rich text editor ============ */
.rte[b-9d82r831kk] {
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.rte-toolbar[b-9d82r831kk] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    padding: 8px 10px;
    background: rgba(255, 255, 255, .03);
    border-bottom: 1px solid var(--border-subtle);
}

.rte-btn[b-9d82r831kk] {
    min-width: 34px;
    height: 30px;
    padding: 0 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .04);
    border: 1px solid var(--border-subtle);
    border-radius: 6px;
    color: var(--text-primary);
    font-size: .78rem;
    transition: background .15s ease, color .15s ease, border-color .15s ease;
}

.rte-btn:hover[b-9d82r831kk] {
    background: rgba(235, 3, 5, .12);
    color: var(--neon-red-soft);
    border-color: rgba(235, 3, 5, .3);
}

.rte-btn svg[b-9d82r831kk] {
    width: 15px;
    height: 15px;
}

.rte-select[b-9d82r831kk] {
    height: 30px;
    padding: 0 6px;
    background: rgba(255, 255, 255, .04);
    border: 1px solid var(--border-subtle);
    border-radius: 6px;
    color: var(--text-primary);
    font-size: .78rem;
}

.rte-color[b-9d82r831kk] {
    width: 34px;
    height: 30px;
    padding: 2px;
    background: transparent;
    border: 1px solid var(--border-subtle);
    border-radius: 6px;
    cursor: pointer;
}

.rte-sep[b-9d82r831kk] {
    width: 1px;
    height: 20px;
    background: var(--border-subtle);
    margin: 0 2px;
}

.rte-editable[b-9d82r831kk] {
    min-height: 260px;
    padding: 16px;
    color: var(--text-primary);
    font-size: .92rem;
    line-height: 1.9;
    overflow-y: auto;
}

.rte-editable:focus[b-9d82r831kk] {
    outline: none;
}

.rte-editable img[b-9d82r831kk] {
    max-width: 100%;
    border-radius: 8px;
}
/* /Components/Shared/HomeBannerSlotManager.razor.rz.scp.css */
.banner-slot-manager[b-ehylwm2xge] {
    padding: 24px;
}

.banner-slot-title[b-ehylwm2xge] {
    font-size: 1.05rem;
    color: #fff;
    margin-bottom: 16px;
}

.banner-slot-preview[b-ehylwm2xge] {
    margin-bottom: 20px;
}

.banner-slot-preview img[b-ehylwm2xge] {
    width: 100%;
    aspect-ratio: 546 / 190;
    object-fit: cover;
    border-radius: var(--radius-md);
    border: 1px solid var(--border-subtle);
    display: block;
    margin-bottom: 12px;
}

.banner-slot-upload-form[b-ehylwm2xge] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding-top: 16px;
    border-top: 1px solid var(--border-subtle);
}

.banner-slot-upload-form input[type="file"][b-ehylwm2xge] {
    color: var(--text-muted);
    font-size: .82rem;
}
/* /Components/Shared/NewsCoverManager.razor.rz.scp.css */
.cover-manager[b-oyydo8vrzu] {
    margin-top: 24px;
    max-width: 760px;
    padding: 28px;
}

.cover-manager-title[b-oyydo8vrzu] {
    font-size: 1.05rem;
    color: #fff;
    margin-bottom: 16px;
}

.cover-tile[b-oyydo8vrzu] {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
}

.cover-tile img[b-oyydo8vrzu] {
    width: 160px;
    height: 100px;
    border-radius: var(--radius-md);
    object-fit: cover;
    border: 1px solid var(--border-subtle);
}

.cover-upload-form[b-oyydo8vrzu] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding-top: 16px;
    border-top: 1px solid var(--border-subtle);
}

.cover-upload-form input[type="file"][b-oyydo8vrzu] {
    color: var(--text-muted);
    font-size: .82rem;
}
/* /Components/Shared/NewsFieldsForm.razor.rz.scp.css */
.news-form-card[b-xr3nmf61b8] {
    margin-top: 32px;
    max-width: 760px;
    padding: 32px 28px;
}

.field-inline[b-xr3nmf61b8] {
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
}

.field-inline label[b-xr3nmf61b8] {
    margin: 0;
}

.field-inline input[type="checkbox"][b-xr3nmf61b8] {
    width: 18px;
    height: 18px;
}

/* ============ Rich text editor ============ */
.rte[b-xr3nmf61b8] {
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.rte-toolbar[b-xr3nmf61b8] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    padding: 8px 10px;
    background: rgba(255, 255, 255, .03);
    border-bottom: 1px solid var(--border-subtle);
}

.rte-btn[b-xr3nmf61b8] {
    min-width: 34px;
    height: 30px;
    padding: 0 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .04);
    border: 1px solid var(--border-subtle);
    border-radius: 6px;
    color: var(--text-primary);
    font-size: .78rem;
    transition: background .15s ease, color .15s ease, border-color .15s ease;
}

.rte-btn:hover[b-xr3nmf61b8] {
    background: rgba(235, 3, 5, .12);
    color: var(--neon-red-soft);
    border-color: rgba(235, 3, 5, .3);
}

.rte-btn svg[b-xr3nmf61b8] {
    width: 15px;
    height: 15px;
}

.rte-select[b-xr3nmf61b8] {
    height: 30px;
    padding: 0 6px;
    background: rgba(255, 255, 255, .04);
    border: 1px solid var(--border-subtle);
    border-radius: 6px;
    color: var(--text-primary);
    font-size: .78rem;
}

.rte-color[b-xr3nmf61b8] {
    width: 34px;
    height: 30px;
    padding: 2px;
    background: transparent;
    border: 1px solid var(--border-subtle);
    border-radius: 6px;
    cursor: pointer;
}

.rte-sep[b-xr3nmf61b8] {
    width: 1px;
    height: 20px;
    background: var(--border-subtle);
    margin: 0 2px;
}

.rte-editable[b-xr3nmf61b8] {
    min-height: 260px;
    padding: 16px;
    color: var(--text-primary);
    font-size: .92rem;
    line-height: 1.9;
    overflow-y: auto;
}

.rte-editable:focus[b-xr3nmf61b8] {
    outline: none;
}

.rte-editable img[b-xr3nmf61b8] {
    max-width: 100%;
    border-radius: 8px;
}
/* /Components/Shared/PixelHeartMark.razor.rz.scp.css */
.ph-mark[b-9qpqhdfijy] {
    width: 36px;
    height: 32px;
    fill: #590102;
    animation: neonPulse-b-9qpqhdfijy 2.6s ease-in-out infinite;
}

@keyframes neonPulse-b-9qpqhdfijy {
    0%, 100% {
        filter: drop-shadow(0 0 4px #eb0305) drop-shadow(0 0 10px rgba(235, 3, 5, .75));
    }

    50% {
        filter: drop-shadow(0 0 6px #f14d4f) drop-shadow(0 0 18px rgba(235, 3, 5, 1));
    }
}
/* /Components/Shared/ProductFieldsForm.razor.rz.scp.css */
.product-form-card[b-akgppstswz] {
    margin-top: 32px;
    max-width: 640px;
    padding: 32px 28px;
}

.field-inline[b-akgppstswz] {
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
}

.field-inline label[b-akgppstswz] {
    margin: 0;
}

.field-inline input[type="checkbox"][b-akgppstswz] {
    width: 18px;
    height: 18px;
}
/* /Components/Shared/ProductPhotoManager.razor.rz.scp.css */
.photo-manager[b-kblmyte5hy] {
    margin-top: 24px;
    max-width: 640px;
    padding: 28px;
}

.photo-manager-title[b-kblmyte5hy] {
    font-size: 1.05rem;
    color: #fff;
    margin-bottom: 16px;
}

.photo-grid[b-kblmyte5hy] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}

.photo-tile[b-kblmyte5hy] {
    position: relative;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    overflow: hidden;
    background: rgba(255, 255, 255, .03);
}

.photo-tile img[b-kblmyte5hy] {
    width: 100%;
    height: 110px;
    object-fit: cover;
    display: block;
}

.photo-active-badge[b-kblmyte5hy] {
    position: absolute;
    top: 8px;
    right: 8px;
}

.photo-tile-actions[b-kblmyte5hy] {
    display: flex;
    gap: 6px;
    padding: 8px;
}

.photo-tile-actions form[b-kblmyte5hy] {
    flex: 1;
}

.photo-tile-actions .btn[b-kblmyte5hy] {
    width: 100%;
    padding: 6px 8px;
    font-size: .68rem;
}

.photo-upload-form[b-kblmyte5hy] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding-top: 16px;
    border-top: 1px solid var(--border-subtle);
}

.photo-upload-form input[type="file"][b-kblmyte5hy] {
    color: var(--text-muted);
    font-size: .82rem;
}
