/* ================================================================
   BLOCKS — блики строго внутри карточек, ничего не торчит
   ================================================================ */

.site-main,
.sub-page,
.sub-dashboard,
.sub-grid,
.sub-grid-main {
    isolation: isolate;
}

.h-card:not(.lb-card),
.h-stat,
.preorder-banner,
.preorder-banner-frame,
.preorder-banner-inner,
.dash-card,
.bal-card,
.pay-card,
.sub-page .card,
.hwid-card,
.sub-hwid-card,
.auth-panel,
.auth-brand,
.cabinet-card,
.product-card-v2 {
    isolation: isolate;
    contain: layout paint;
}

/* Loader brand editor: nested icon/menu grids with max-height.
   contain:layout/paint makes the card size to unconstrained grid height. */
.lb-card.h-card {
    contain: none;
    isolation: isolate;
}

.h-card,
.h-stat,
.preorder-banner-inner,
.dash-card,
.bal-card,
.pay-card,
.sub-page .card,
.hwid-card,
.auth-panel,
.cabinet-card {
    overflow: hidden;
    border-color: rgba(248, 113, 113, 0.28);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04), 0 10px 32px rgba(0, 0, 0, 0.32);
}

/* Внутренний блик — только inset, без внешнего свечения */
.h-card::before {
    background: radial-gradient(ellipse 90% 55% at 50% 0%, rgba(180, 60, 60, 0.14) 0%, transparent 72%);
}

.h-card:hover {
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.45);
    transform: translateY(-2px);
}

.h-card:hover::before {
    opacity: 1;
}

.h-hero-badge {
    display: none !important;
}

.preorder-banner-glow {
    inset: 0;
    border-radius: 19px;
    background:
        radial-gradient(ellipse 55% 90% at 0% 50%, rgba(251, 191, 36, 0.12) 0%, transparent 58%),
        radial-gradient(ellipse 40% 70% at 100% 30%, rgba(185, 28, 28, 0.08) 0%, transparent 55%);
}


.dash-card:hover,
.sub-page .card:hover {
    box-shadow: 0 10px 32px rgba(0, 0, 0, 0.4);
    border-color: rgba(239, 68, 68, 0.22);
}

.bal-card {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 8px 28px rgba(0, 0, 0, 0.35);
}

.sub-balance-card,
.sub-product-hero,
.sub-freeze-card {
    isolation: isolate;
    contain: layout paint;
    overflow: hidden;
}

.sub-balance-card {
    position: relative;
}

.sub-balance-card::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(ellipse 80% 50% at 50% 0%, rgba(180, 60, 60, 0.1) 0%, transparent 70%);
    opacity: 0.85;
}

/* Фоновые орбы не перекрывают контент */
.ambient-orbs {
    z-index: 0 !important;
    opacity: 0.28 !important;
}

.page-inner .ambient-orbs {
    opacity: 0.22 !important;
}

#particles-canvas {
    opacity: 0.55 !important;
    pointer-events: none !important;
}

/* Mobile: contain/paint traps expanding FAQ/about and nested scrolls */
@media (max-width: 768px) {
    .h-card,
    .h-stat,
    .preorder-banner,
    .preorder-banner-frame,
    .preorder-banner-inner,
    .dash-card,
    .bal-card,
    .pay-card,
    .sub-page .card,
    .hwid-card,
    .sub-hwid-card,
    .auth-panel,
    .auth-brand,
    .cabinet-card,
    .product-card-v2,
    .sub-balance-card,
    .sub-product-hero,
    .sub-freeze-card {
        contain: none !important;
    }
}
