/**
 * Premium UI layer: dark charcoal + red action + gold accents.
 * Uses CSS variables already consumed by the Vite/Vant/rem build.
 * Textures live under /assets/13l/ — replace those files to swap art.
 * Intentionally avoids Mine/account-only layout skins (no profile grids, shortcuts, etc.).
 */

/* Outfit 400–800; DM Sans opsz 9–40, wght 400–700, roman + italic */
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..700;1,9..40,400..700&family=Outfit:wght@400;500;600;700;800&display=swap");

:root {
    --ui-font: "Outfit", "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

    --gl-gold: #d4af37;
    --gl-gold-soft: rgba(212, 175, 55, 0.22);
    --gl-gold-line: rgba(212, 175, 55, 0.45);
    --gl-charcoal: #121214;
    --gl-charcoal-2: #1a1a1f;
    --gl-charcoal-3: #232329;
    --gl-card-shadow: 0 0.08rem 0.36rem rgba(0, 0, 0, 0.45);

    --main-color: #e11d48;
    --light-main-color: #fb7185;
    --main_gradient-color: linear-gradient(90deg, #9f1239 0%, #e11d48 48%, #f97316 100%);
    --main_gradient-color2: linear-gradient(180deg, #3f0d16 0%, #7f1d1d 42%, #be123c 100%);
    --light-main_gradient-color: var(--main_gradient-color);
    --light-bg_white: #1e1e24;
    --text_white: #fff;
    --norm_red-color: #fb7185;
    --norm_green-color: #34d399;
    --norm_secondary-color: var(--gl-gold);
    --text_color_L1: #f4f4f5;
    --text_color_L2: #a1a1aa;
    --text_color_L3: #71717a;
    --text_color_L4: #fffaf0;
    --bg_color_L1: #121214;
    --bg_color_L2: #1a1a1f;
    --bg_color_L3: #232329;
    --Dividing-line_color: rgba(212, 175, 55, 0.18);
    --sheet_nva_color: #be123c;
    --sheet_detail_bg_color: #18181b;
    --Secondary_Color1: rgba(225, 29, 72, 0.12);
    --Secondary_Color2: rgba(52, 211, 153, 0.12);
    --icon1: rgba(225, 29, 72, 0.55);
    --icon2: rgba(212, 175, 55, 0.35);
    --tab1: #e11d48;
    --tab2: #f97316;
    --darkTextW: #f4f4f5;
    --bgcolor-32: rgba(0, 0, 0, 0.55);
    --bgcolor-54: rgba(255, 255, 255, 0.06);
    --bgcolor-22: var(--text_color_L2);
    --bgcolor-1: var(--bg_color_L3);
    --bgcolor-21: var(--bg_color_L2);
    --bgColor-6: var(--gl-gold-line);
    --bgColor-10: rgba(255, 255, 255, 0.06);
    --bgColor-13: var(--bg_color_L3);
    --bgColor-67: var(--bg_color_L2);
    --bgDark-2: #25252d;

    --van-primary-color: var(--main-color);
    --van-text-color: var(--text_color_L1);
    --van-border-color: rgba(255, 255, 255, 0.08);
    --van-background: var(--bg_color_L1);
    --van-background-2: var(--bg_color_L2);
    --van-background-3: var(--bg_color_L3);
    --van-nav-bar-background: var(--bg_color_L2);
    --van-nav-bar-title-text-color: var(--text_color_L1);
    --van-nav-bar-icon-color: var(--gl-gold);
    --van-nav-bar-text-color: var(--main-color);
    --van-tabs-nav-background: var(--bg_color_L2);
    --van-tab-active-text-color: var(--text_color_L4);
    --van-tab-text-color: var(--text_color_L2);
    --van-cell-text-color: var(--text_color_L1);
    --van-cell-border-color: rgba(255, 255, 255, 0.06);
    --van-picker-background: var(--bg_color_L2);
    --van-picker-mask-color: linear-gradient(180deg, rgba(18, 18, 20, 0.95), rgba(18, 18, 20, 0.4)), linear-gradient(0deg, rgba(18, 18, 20, 0.95), rgba(18, 18, 20, 0.4));
    --van-picker-option-text-color: var(--text_color_L2);
    --van-picker-confirm-action-color: var(--main-color);
    --van-popup-background: var(--bg_color_L2);
    --van-checkbox-checked-icon-color: var(--main-color);
    --van-checkbox-label-color: var(--text_color_L2);
    --van-field-input-text-color: var(--text_color_L1);
    --van-radio-checked-icon-color: var(--main-color);
    --van-grid-item-content-background: var(--bg_color_L2);
    --van-dialog-background: var(--bg_color_L2);
    --van-circle-color: var(--main-color);
    --van-calendar-background: var(--bg_color_L1);
    --van-calendar-range-edge-background: var(--main-color);
    --van-radio-label-color: var(--text_color_L2);
    --van-cell-background: var(--bg_color_L2);
    --van-popover-light-background: var(--bg_color_L2);
    --van-circle-layer-color: var(--bg_color_L3);
    --svgHoticon: currentColor;
    --van-button-primary-background: var(--main_gradient-color);
    --van-button-primary-border-color: #be123c;
    --van-slider-active-background: var(--main-color);
    --van-slider-inactive-background: var(--bg_color_L3);
    --van-collapse-item-content-background: var(--bg_color_L1);
    --van-action-sheet-item-background: var(--bg_color_L2);
    --van-action-sheet-item-text-color: var(--text_color_L1);
    --van-button-primary-color: var(--text_color_L4);
    --van-dialog-has-title-message-text-color: var(--text_color_L2);
    --van-calendar-selected-day-color: var(--main-color);
    --van-calendar-selected-day-background: var(--bg_color_L2);
}

:root [class*="van-hairline"]:after {
    content: none;
}

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    text-rendering: optimizeLegibility;
}

body,
#app {
    font-family: var(--ui-font);
    letter-spacing: 0.02em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Viewport gutters: neutral gray (not black) outside the centered #app column — matches Vant/rem shell */
html,
body {
    background-color: #9195a3 !important;
    background-image: none !important;
}

#app {
    position: relative;
    color: var(--text_color_L1);
    box-shadow: var(--gl-card-shadow);
    background-color: var(--bg_color_L1);
    min-height: 100vh;
}

/* Hide fixed floats while scrolling (PWA bar, wheel promos, CS bubble) — see ui-scroll-float.js */
html.ui-scrolling .btn.pwa-btn,
html.ui-scrolling .float-entry,
html.ui-scrolling .customer,
html.ui-scrolling .van-floating-bubble {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* PWA "Add to Desktop" pill — dismiss + visual polish (pwa-banner-enhance.js) */
#app .btn.pwa-btn {
    width: auto;
    min-width: 3.6rem;
    max-width: calc(100vw - 0.64rem);
    height: 1.12rem;
    padding: 0 1.05rem 0 0.22rem;
    gap: 0.18rem;
    background: linear-gradient(135deg, #450a0a 0%, #9f1239 38%, #e11d48 52%, #9f1239 72%, #450a0a 100%) !important;
    border: 0.02rem solid rgba(255, 220, 180, 0.28);
    box-shadow:
        0 0.1rem 0.28rem rgba(0, 0, 0, 0.45),
        inset 0 0.02rem 0 rgba(255, 255, 255, 0.18);
    animation: pwa-btn-in 0.35s ease-out;
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
}

#app .btn.pwa-btn.pwa-btn--dismissed {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate(-50%, 0.4rem) !important;
}

#app .btn.pwa-btn .icon {
    width: 0.72rem;
    height: 0.72rem;
    border-radius: 0.14rem;
    object-fit: cover;
    flex-shrink: 0;
    box-shadow: 0 0.04rem 0.1rem rgba(0, 0, 0, 0.35);
}

#app .btn.pwa-btn .text {
    font-family: Inter, system-ui, -apple-system, sans-serif !important;
    font-size: 0.3rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.018rem;
    text-shadow: 0 0.02rem 0.06rem rgba(0, 0, 0, 0.35);
    white-space: nowrap;
}

#app .btn.pwa-btn .bonus-con .text,
#app .btn.pwa-btn .bonus-con .bonus {
    font-family: Inter, system-ui, -apple-system, sans-serif !important;
    white-space: nowrap;
}

#app .btn.pwa-btn .pwa-btn-close {
    position: absolute;
    top: 50%;
    right: 0.1rem;
    transform: translateY(-50%);
    width: 0.56rem;
    height: 0.56rem;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.35);
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.38rem;
    line-height: 1;
    cursor: pointer;
    flex-shrink: 0;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.15s ease, transform 0.15s ease;
}

#app .btn.pwa-btn .pwa-btn-close span {
    display: block;
    margin-top: -0.02rem;
}

#app .btn.pwa-btn .pwa-btn-close:active {
    transform: translateY(-50%) scale(0.92);
    background: rgba(0, 0, 0, 0.5);
}

@keyframes pwa-btn-in {
    from {
        opacity: 0;
        transform: translate(-50%, 0.35rem);
    }
    to {
        opacity: 1;
        transform: translate(-50%, 0);
    }
}

/* ----- Home nav strip: provider circles (Slots / Casino) — reference style, no dragger ----- */
#app .homeNav .van-tabs__wrap {
    height: auto !important;
    min-height: 0;
    margin-bottom: 0.32rem;
    overflow: hidden;
}

#app .homeNav .van-tabs__wrap .van-tabs__nav,
#app .homeNav .van-tabs__wrap .van-tabs__nav.homeNav-provider-nav {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: auto;
    touch-action: auto;
    scrollbar-width: none;
    gap: 0.22rem !important;
    padding: 0.16rem 0.2rem !important;
    min-height: 1.36rem;
    height: auto !important;
    box-sizing: border-box;
    background-color: #1a1a1f;
    background-image: none;
    border: 0.02rem solid rgba(212, 175, 55, 0.35);
    border-radius: 0.2rem;
    box-shadow: inset 0 0 0.06rem rgba(0, 0, 0, 0.4);
}

#app .homeNav .van-tabs__wrap .van-tabs__nav::-webkit-scrollbar {
    display: none;
}

#app .homeNav .van-tabs__wrap .van-tabs__nav .van-tab {
    flex: none !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    width: 0.96rem !important;
    height: 0.96rem !important;
    min-width: 0.96rem !important;
    max-width: 0.96rem !important;
    min-height: 0.96rem !important;
    max-height: 0.96rem !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;
    box-sizing: border-box !important;
    background: #2c2c34 !important;
    border: none !important;
    opacity: 1;
    overflow: hidden;
    position: relative;
    z-index: auto;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#app .homeNav .van-tabs__wrap .van-tabs__nav .van-tab.van-tab--active {
    color: var(--text_color_L4) !important;
    background: radial-gradient(circle at 35% 30%, #f97316 0%, #dc2626 55%, #7f1d1d 100%) !important;
    border: none !important;
    box-shadow: 0 0 0.12rem rgba(220, 38, 38, 0.55);
    z-index: auto;
}

#app .homeNav .van-tabs__wrap .van-tabs__nav .van-tab .van-tab__text {
    display: none !important;
}

#app .homeNav .van-tabs__wrap .van-tabs__nav .tabs-btn {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    white-space: nowrap;
    overflow: hidden;
    box-sizing: border-box;
}

/* Inactive = plain grey dots (reference); active shows logo */
#app .homeNav .van-tabs__wrap .van-tabs__nav .van-tab:not(.van-tab--active) .tabs-btn .gameIcon,
#app .homeNav .van-tabs__wrap .van-tabs__nav .van-tab:not(.van-tab--active) .tabs-btn .svg-icon {
    opacity: 0 !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
}

body #app .homeNav .van-tabs__wrap .van-tabs__nav .van-tab.van-tab--active .tabs-btn .gameIcon,
body #app .homeNav .van-tabs__wrap .van-tabs__nav .van-tab.van-tab--active .tabs-btn .svg-icon,
body #app .homeNav .van-tabs__wrap .van-tabs__nav .van-tab.van-tab--active .tabs-btn [class*="gameIcon"] {
    width: 0.56rem !important;
    height: 0.56rem !important;
    min-width: 0.56rem !important;
    max-width: 0.56rem !important;
    min-height: 0.56rem !important;
    max-height: 0.56rem !important;
    flex-shrink: 0 !important;
    fill: #fff;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    object-fit: contain;
}

#app .homeNav .van-tabs__wrap .van-tabs__nav .tabs-btn .svg-icon use {
    fill: inherit;
}

/* No swipe/drag animation between game panels */
#app .homeNav .van-tabs__content--animated,
#app .homeNav .van-tabs__track {
    transition-duration: 0s !important;
    transition: none !important;
}

#app .homeNav .more {
    background-image: linear-gradient(145deg, rgba(18, 18, 20, 0.55), rgba(18, 18, 20, 0.85)), url("/assets/13l/nav_strip.webp");
    background-color: var(--bg_color_L2);
    background-size: cover, 2.4rem auto;
    background-position: center, top right;
    border: 0.02rem solid var(--gl-gold-line);
    box-shadow: var(--gl-card-shadow);
}

#app .homeNav .more-l1 {
    color: var(--text_color_L1);
}

#app .homeNav .more-l2 {
    background: linear-gradient(180deg, rgba(18, 18, 20, 0.1) 0%, rgba(190, 18, 60, 0.55) 100%);
    color: var(--text_color_L4);
}

body #app .homeNav .more-l1 {
    color: var(--gl-gold);
}

body #app .homeNav .more-l2 {
    color: var(--text_color_L4);
    background: linear-gradient(180deg, rgba(18, 18, 20, 0.15) 0%, rgba(127, 29, 29, 0.9) 100%);
}

/* ----- Wallet header + balance card ----- */
body #app .Wallet__C:before {
    background: linear-gradient(165deg, rgba(212, 175, 55, 0.35) 0%, rgba(190, 18, 60, 0.55) 35%, rgba(18, 18, 20, 0.95) 100%), url("/assets/13l/wallet_header.webp");
    background-size: cover, cover;
    background-position: center, center top;
    border-radius: 0 0 1.53333rem 1.53333rem;
}

body #app .Wallet__C-balance {
    background-color: var(--bg_color_L3);
    background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.06) 0%, transparent 45%), url("/assets/13l/balance_card.webp"), var(--light-main_gradient-color, linear-gradient(90deg, #27272f, #18181b));
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-size: cover, 120% auto, cover;
    background-position: center, right top, center;
    border: 0.03rem solid var(--gl-gold-line);
    box-shadow: var(--gl-card-shadow);
}

/* Recharge & Withdraw balance card — replace default blue TotalAssetsBg image */
@keyframes gl-balance-card-in {
    from {
        opacity: 0;
        transform: translateY(0.28rem) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes gl-balance-shine {
    0% {
        transform: translateX(-120%) skewX(-14deg);
    }
    100% {
        transform: translateX(220%) skewX(-14deg);
    }
}

@keyframes gl-balance-amount-in {
    from {
        opacity: 0;
        transform: translateX(-0.12rem);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes gl-balance-refresh-pulse {
    0%,
    100% {
        opacity: 0.82;
        transform: scale(1);
    }
    50% {
        opacity: 1;
        transform: scale(1.06);
    }
}

@keyframes gl-balance-refresh-spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

body #app .balanceAssets,
body #app .Recharge__box .Recharge__container-balanceAssets {
    background-image:
        radial-gradient(ellipse 85% 70% at 100% 0%, rgba(255, 255, 255, 0.14) 0%, transparent 55%),
        radial-gradient(ellipse 60% 50% at 0% 100%, rgba(0, 0, 0, 0.2) 0%, transparent 50%),
        var(--main_gradient-color2, linear-gradient(135deg, #3f0d16 0%, #7f1d1d 35%, #be123c 65%, #e11d48 100%)) !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center !important;
    overflow: hidden;
    animation: gl-balance-card-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    box-shadow:
        var(--gl-card-shadow),
        0 0 0.2rem rgba(225, 29, 72, 0.15);
    transition: box-shadow 0.35s ease, transform 0.35s ease;
}

body #app .balanceAssets::after,
body #app .Recharge__box .Recharge__container-balanceAssets::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(
        105deg,
        transparent 38%,
        rgba(255, 255, 255, 0.14) 50%,
        transparent 62%
    );
    animation: gl-balance-shine 5s ease-in-out infinite;
}

body #app .balanceAssets__header__left img,
body #app .Recharge__box .Recharge__container-balanceAssets__header__left img {
    animation: gl-balance-amount-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.08s both;
}

body #app .balanceAssets__main p,
body #app .Recharge__box .Recharge__container-balanceAssets__main p {
    animation: gl-balance-amount-in 0.65s cubic-bezier(0.22, 1, 0.36, 1) 0.18s both;
}

body #app .balanceAssets__main img,
body #app .Recharge__box .Recharge__container-balanceAssets__main img {
    cursor: pointer;
    transition: transform 0.2s ease, opacity 0.2s ease;
    animation: gl-balance-refresh-pulse 2.8s ease-in-out infinite;
    animation-delay: 0.4s;
}

body #app .balanceAssets__main img:active,
body #app .Recharge__box .Recharge__container-balanceAssets__main img:active {
    animation: gl-balance-refresh-spin 0.7s linear;
}

html:lang(ar) body #app .balanceAssets {
    background-image:
        radial-gradient(ellipse 85% 70% at 0% 0%, rgba(255, 255, 255, 0.14) 0%, transparent 55%),
        radial-gradient(ellipse 60% 50% at 100% 100%, rgba(0, 0, 0, 0.2) 0%, transparent 50%),
        var(--main_gradient-color2, linear-gradient(135deg, #3f0d16 0%, #7f1d1d 35%, #be123c 65%, #e11d48 100%)) !important;
}

@media (prefers-reduced-motion: reduce) {
    body #app .balanceAssets,
    body #app .Recharge__box .Recharge__container-balanceAssets,
    body #app .balanceAssets__header__left img,
    body #app .Recharge__box .Recharge__container-balanceAssets__header__left img,
    body #app .balanceAssets__main p,
    body #app .Recharge__box .Recharge__container-balanceAssets__main p,
    body #app .balanceAssets__main img,
    body #app .Recharge__box .Recharge__container-balanceAssets__main img {
        animation: none !important;
        transition: none !important;
    }

    body #app .balanceAssets::after,
    body #app .Recharge__box .Recharge__container-balanceAssets::after {
        display: none;
    }
}

/* ----- Popular / Top game title strips ----- */
#app .hot_container .platform .title,
#app .hot_container .popular .title {
    position: relative;
    border-radius: 0.12rem;
    padding: 0.12rem 0.2rem;
    background-image: linear-gradient(90deg, rgba(18, 18, 20, 0.2), rgba(18, 18, 20, 0.75)), url("/assets/13l/title_popular.webp");
    background-size: cover, auto 100%;
    background-repeat: no-repeat, repeat-x;
    border: 0.02rem solid var(--gl-gold-line);
    box-shadow: 0 0.04rem 0.16rem rgba(0, 0, 0, 0.35);
}

#app .hot_container .platform .title {
    background-image: linear-gradient(90deg, rgba(18, 18, 20, 0.2), rgba(18, 18, 20, 0.75)), url("/assets/13l/title_top.webp");
}

/* Game-type category tabs removed — replaced by .home-premium-quick (see home-home-quick.js) */
body #app .gameTypeHome .van-tabs__wrap {
    display: none !important;
}

body #app .gameTypeHome .van-tabs__content {
    display: none !important;
}

body #app .gameTypeHome {
    margin-bottom: 0.12rem;
    overflow: visible;
}

/* Default layout pins this block under the nav once you scroll (.isTop + sticky). That keeps our
   quick cards glued to the top — turn it off so the row scrolls away with the page. */
body #app .gameTypeHome.isTop {
    position: static !important;
    top: auto !important;
    z-index: auto !important;
}

body #app .gameTypeHome .van-sticky--fixed {
    position: relative !important;
    top: auto !important;
    transform: none !important;
}

/* ----- Custom Header (Home) ----- */
.custom-header-right {
    display: flex;
    align-items: center;
    gap: 0.14rem;
    padding-right: 0.04rem;
}

.custom-header-right--guest {
    gap: 0.12rem;
}

.custom-nav-auth-btn {
    font-size: 0.3rem;
    font-weight: 700;
    padding: 0.12rem 0.34rem;
    border-radius: 999px;
    cursor: pointer;
    line-height: 1.2;
    border: 0.02rem solid #d22f2f;
    box-sizing: border-box;
    white-space: nowrap;
}

.custom-nav-auth-btn--outline {
    background: transparent;
    color: #d22f2f;
}

.custom-nav-auth-btn--fill {
    background: #d22f2f;
    color: #fff;
}

.custom-balance {
    background: rgba(48, 10, 16, 0.88);
    border: 0.02rem solid rgba(212, 175, 55, 0.45);
    border-radius: 999px;
    padding: 0.05rem 0.08rem 0.05rem 0.16rem;
    display: flex;
    align-items: center;
    gap: 0.08rem;
    cursor: pointer;
    box-shadow: inset 0 0 0.06rem rgba(0, 0, 0, 0.35);
}

.custom-balance .coin-icon {
    width: 0.42rem;
    height: 0.42rem;
    object-fit: contain;
}

.custom-balance .balance-amount {
    color: #fff;
    font-weight: 700;
    font-size: 0.3rem;
    letter-spacing: 0.01em;
}

.custom-balance .add-balance-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 0.38rem;
    height: 0.38rem;
    margin-left: 0.04rem;
    border-radius: 50%;
    background: #d22f2f;
    color: #fff;
    font-weight: 700;
    font-size: 0.26rem;
    line-height: 1;
    flex-shrink: 0;
}

/* Bell + support: flat on bar (no circle plate), like reference */
.custom-icon {
    position: relative;
    width: auto;
    height: auto;
    min-width: 0.64rem;
    min-height: 0.64rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
}

.custom-icon img {
    width: 0.66rem;
    height: 0.66rem;
    object-fit: contain;
    display: block;
}

.bell-icon .badge {
    position: absolute;
    top: -0.04rem;
    right: -0.06rem;
    background: var(--main-color);
    color: white;
    font-size: 0.18rem;
    font-weight: 800;
    min-width: 0.26rem;
    height: 0.26rem;
    border-radius: 99px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.04rem;
    border: 0.02rem solid var(--bg_color_L2);
    box-shadow: 0 0.02rem 0.06rem rgba(0,0,0,0.3);
}

/* ----- Account Page: My Wallet + Total / Freeze balances ----- */
/* Soften wallet block until custom balances inject — never block the rest of Account */
body.account-route-pending #app .totalSavings__container:not(:has(.custom-account-balances)) {
    opacity: 0.35 !important;
    pointer-events: none !important;
    min-height: 4.2rem;
}

body.account-route-pending #app .totalSavings__container:has(.custom-account-balances) {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transition: opacity 0.12s ease;
}

.custom-account-balances {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.28rem;
    padding: 0.3rem 0.32rem 0.36rem;
    background: transparent;
    width: 100%;
    box-sizing: border-box;
}

.custom-account-balances .balance-item {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-width: 0;
    flex: 0 1 auto;
}

.custom-account-balances .balance-item--freeze {
    align-items: flex-end;
    text-align: right;
}

.custom-account-balances .balance-item__label {
    color: #8e8e8e;
    font-size: 0.26rem;
    font-weight: 400;
    line-height: 1.25;
}

.custom-account-balances .balance-item__value-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.1rem;
    line-height: 1;
}

.custom-account-balances .balance-item--freeze .balance-item__value-row {
    justify-content: flex-end;
}

body #app .totalSavings__container:has(.custom-account-balances) {
    height: auto !important;
    min-height: 4.2rem;
    background: #1f2125 !important;
    border-radius: 0.24rem !important;
    overflow: hidden;
    box-shadow: 0 0.04rem 0.2rem rgba(0, 0, 0, 0.35);
}

body #app .totalSavings__container:has(.custom-account-balances) .totalSavings__container-content {
    border-radius: 0 !important;
    padding-top: 0.36rem !important;
    padding-bottom: 0.36rem !important;
    background: transparent !important;
    position: relative;
    border-bottom: none !important;
}

body #app .totalSavings__container:has(.custom-account-balances) .totalSavings__container-content::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 0.02rem;
    background: rgba(255, 255, 255, 0.075);
    pointer-events: none;
}

body #app .totalSavings__container:has(.custom-account-balances) .totalSavings__container-header {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
}

.custom-account-balances .balance-value {
    color: #ffffff;
    font-weight: 700;
    font-size: 0.42rem;
    letter-spacing: 0.01em;
}

.custom-account-balances .refresh-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 0.38rem;
    height: 0.38rem;
    color: #d22f2f;
    cursor: pointer;
    flex-shrink: 0;
    background: transparent;
    border: none;
    padding: 0;
}

.custom-account-balances .refresh-icon__svg {
    display: block;
    width: 0.32rem;
    height: 0.32rem;
}

.custom-account-balances .refresh-icon--spinning .refresh-icon__svg {
    animation: custom-balance-refresh-spin 0.8s linear infinite;
}

@keyframes custom-balance-refresh-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.custom-account-balances .info-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 0.28rem;
    height: 0.28rem;
    border: 0.02rem solid #8e8e8e;
    border-radius: 50%;
    color: #8e8e8e;
    font-size: 0.16rem;
    font-weight: 700;
}

/* ----- Activity Page Cleaning ----- */
body #app .activity-wrapper .activity-banner {
    display: none !important;
}

body #app .activity-wrapper .activity-panel .activity-panel-header {
    display: none !important;
}

body #app .activity-wrapper .activity-panel {
    padding-top: 0.2rem !important;
}

body #app .home-premium-quick {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.2rem;
    padding: 0.28rem 0.28rem 0.26rem;
    box-sizing: border-box;
    width: 100%;
    position: relative;
    overflow: visible;
    background-image: linear-gradient(180deg, rgba(12, 12, 14, 0.45) 0%, transparent 60%), url("/assets/png/homeIcon_transparentstar-9d63fc55.webp");
    background-repeat: no-repeat, repeat;
    background-size: 100% 100%, 2.1rem auto;
    background-position: center, center -0.08rem;
}

body #app .home-premium-quick__card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 0.52rem 0.08rem 0.16rem;
    border-radius: 0.2rem;
    border: 0.02rem solid rgba(255, 255, 255, 0.22);
    background-color: #6b1018;
    background-image: url("/assets/png/entrance_bg-4fe889e0.webp");
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;
    box-shadow: 0 0.08rem 0.26rem rgba(0, 0, 0, 0.5), 0 0 0 0.02rem rgba(0, 0, 0, 0.2) inset, 0 -0.06rem 0.2rem rgba(190, 18, 60, 0.35) inset;
    color: #fffaf0;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    font: inherit;
    text-align: center;
    min-height: 2.28rem;
    overflow: visible;
}

body #app .home-premium-quick__card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    background-image: url("/assets/png/homeIcon_transparentstar-9d63fc55.webp");
    background-repeat: repeat;
    background-position: center top;
    background-size: 55% auto;
    opacity: 0.38;
    mix-blend-mode: soft-light;
    pointer-events: none;
}

/* Gold sparkle accents (top-left + bottom-right, like reference) */
body #app .home-premium-quick__card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: inherit;
    pointer-events: none;
    background-image: url("/assets/png/homeIcon_star-9cb56848.webp"), url("/assets/png/homeIcon_star-9cb56848.webp");
    background-repeat: no-repeat, no-repeat;
    background-position: 0.06rem 0.04rem, calc(100% - 0.08rem) calc(100% - 0.34rem);
    background-size: 0.36rem auto, 0.28rem auto;
    opacity: 0.92;
    filter: drop-shadow(0 0 0.06rem rgba(255, 236, 180, 0.55));
}

body #app .home-premium-quick__icon {
    position: absolute;
    left: 50%;
    top: 0;
    z-index: 2;
    width: 1.22rem;
    height: 1.22rem;
    margin: 0;
    transform: translate(-50%, -28%);
    object-fit: contain;
    filter: drop-shadow(0 0.1rem 0.18rem rgba(0, 0, 0, 0.45)) drop-shadow(0 -0.02rem 0.12rem rgba(255, 255, 255, 0.12));
}

body #app .home-premium-quick__label {
    position: relative;
    z-index: 2;
    font-size: 0.28rem;
    font-weight: 700;
    line-height: 1.15;
    margin-bottom: 0.12rem;
    margin-top: auto;
    text-shadow: 0 0.02rem 0.08rem rgba(0, 0, 0, 0.55), 0 0.01rem 0 rgba(0, 0, 0, 0.4);
}

body #app .home-premium-quick__btn {
    position: relative;
    z-index: 2;
    margin-top: 0;
    padding: 0.07rem 0.3rem;
    border-radius: 999px;
    background: linear-gradient(180deg, #141416 0%, #0a0a0c 100%);
    color: #fafafa;
    font-size: 0.24rem;
    font-weight: 700;
    border: 0.02rem solid rgba(255, 255, 255, 0.14);
    box-shadow: 0 0.04rem 0.1rem rgba(0, 0, 0, 0.55);
    pointer-events: none;
}

/* ----- Earn / commission (team report) chrome ----- */
#app .TeamReport__C-head-fixed {
    background-color: rgba(18, 18, 20, 0.92);
    backdrop-filter: blur(6px);
    border-bottom: 0.02rem solid var(--gl-gold-line);
}

#app .TeamReport__C-head-line2 > div {
    background-image: linear-gradient(125deg, rgba(212, 175, 55, 0.12), rgba(18, 18, 20, 0.9)), url("/assets/13l/card_commission.webp");
    background-size: cover, cover;
    border: 0.02rem solid var(--gl-gold-line);
    box-shadow: var(--gl-card-shadow);
}

/* ----- Invite Wheel — fix circle shape + true colors (no overlay rings) ----- */
body #app .ar_turntable_page,
body #app .ar_turntable_page[data-v-74bb6d20] {
    background-color: #bf222c !important;
    background-image: url("/assets/png/turntable_bg-1b521166.webp") !important;
    background-size: 100% 16.85333rem !important;
    background-repeat: no-repeat !important;
    background-position: center top !important;
}

/* Hide misaligned fake glow circles from JS overlay */
body #app .ar_turntable_page .wheel-fx-layer {
    display: none !important;
}

/* Canvas: uniform scale so wheel stays a perfect circle (no stretch) */
body #app .ar_turntable_page #turntable_canvas,
body #app .ar_turntable_page #turntable_canvas[data-v-74bb6d20] {
    width: 8.8rem !important;
    height: 12.08rem !important;
    margin: 0 auto !important;
    position: relative !important;
    overflow: visible !important;
}

body #app .ar_turntable_page #turntable_canvas canvas {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center top !important;
    display: block !important;
}

body #app .ar_turntable_page .turntable_all .turn_bottom {
    filter: drop-shadow(0 0.12rem 0.3rem rgba(0, 0, 0, 0.4));
}

body #app .turntable-pointRule__title {
    background: linear-gradient(90deg, rgba(18, 18, 20, 0.5), rgba(190, 18, 60, 0.85)), url("/assets/13l/wheel_hero.webp");
    background-size: cover, cover;
    border-radius: 0.12rem;
    border: 0.02rem solid var(--gl-gold-line);
}

/* Home floating wheel art: see page-home-other-d80d3be5.css */

/* Bottom tabbar: spin-down under wheel (pseudos stack — bg alone can’t sit above ::after) */
body #app .tabbar__container .turntableBg[data-v-fb80cf49] {
    background-image: none !important;
    background-color: transparent !important;
    width: 2.05rem !important;
    height: 2.38rem !important;
    bottom: 0.06rem !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 2 !important;
}

body #app .tabbar__container .turntableBg[data-v-fb80cf49]::before {
    content: "" !important;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    background: url("/assets/png/footer-spin-down.png") center bottom / 112% auto no-repeat;
    transform: translateY(-0.52rem);
    pointer-events: none;
    z-index: 1;
    filter: drop-shadow(0 0.14rem 0.32rem rgba(0, 0, 0, 0.72)) brightness(0.88);
    opacity: 0.94;
}

body #app .tabbar__container .turntableBg[data-v-fb80cf49]::after {
    content: "" !important;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: url("/assets/png/footer-wheel-nobg.png") center 0.22rem / 112% auto no-repeat;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 2;
    filter: drop-shadow(0 0.05rem 0.12rem rgba(0, 0, 0, 0.35));
}

body #app .tabbar__container .turntable-text[data-v-fb80cf49] {
    display: none !important;
}

/* ----- Register page — merged nav + poster hero; form uses original styles ----- */
body #app:has(.resgister__C) .navbar.main .navbar-fixed {
    background: transparent !important;
    box-shadow: none !important;
}

body #app:has(.resgister__C) .navbar.main .navbar-fixed .navbar__content-left .van-icon,
body #app:has(.resgister__C) .navbar.main .navbar-fixed .navbar__content-center {
    color: #fff !important;
    filter: drop-shadow(0 0.04rem 0.1rem rgba(0, 0, 0, 0.5));
}

body #app:has(.resgister__C) .resgister__C-heading {
    position: relative;
    z-index: 0;
    margin-top: -1.22667rem;
    margin-bottom: 0;
    min-height: 4.9rem;
    height: auto !important;
    padding: 0.72rem 0.53333rem 0.48rem !important;
    overflow: hidden;
    line-height: normal;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    background-color: #1a080c;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-image:
        linear-gradient(90deg, rgba(8, 4, 6, 0.78) 0%, rgba(8, 4, 6, 0.4) 46%, transparent 62%),
        linear-gradient(180deg, transparent 52%, rgba(18, 18, 20, 0.72) 88%, var(--bg_color_L1) 100%),
        url("/assets/png/login-poster.jpg");
}

body #app:has(.resgister__C) .resgister__C-heading__title,
body #app:has(.resgister__C) .resgister__C-heading__subTitle {
    position: relative;
    z-index: 1;
    max-width: 62%;
    margin-left: 0 !important;
    text-shadow: 0 0.04rem 0.14rem rgba(0, 0, 0, 0.9);
}

body #app:has(.resgister__C) .resgister__C-heading__title {
    color: #fff !important;
    padding-top: 0 !important;
}

body #app:has(.resgister__C) .resgister__C-heading__subTitle {
    color: #fff !important;
    white-space: normal;
}

body #app:has(.resgister__C) .login_container-tab {
    position: relative;
    z-index: 1;
    margin-top: -0.12rem;
    background: var(--bg_color_L1);
}

body #app:has(.resgister__C) .resgister__C-form {
    margin-top: 0.48rem;
}

/* ----- Login page — merged nav + poster hero ----- */
body #app:has(.login__container) .navbar.main .navbar-fixed {
    background: transparent !important;
    box-shadow: none !important;
}

body #app:has(.login__container) .navbar.main .navbar-fixed .navbar__content-left .van-icon,
body #app:has(.login__container) .navbar.main .navbar-fixed .navbar__content-center {
    color: #fff !important;
    filter: drop-shadow(0 0.04rem 0.1rem rgba(0, 0, 0, 0.5));
}

body #app:has(.login__container) .login__container .van-nav-bar {
    background: transparent !important;
}

body #app:has(.login__container) .login__container-heading {
    position: relative;
    z-index: 0;
    margin-top: -1.22667rem;
    margin-bottom: 0;
    min-height: 4.9rem;
    height: auto !important;
    padding: 0.72rem 0.53333rem 0.48rem !important;
    overflow: hidden;
    line-height: normal;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    background-color: #1a080c;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-image:
        linear-gradient(90deg, rgba(8, 4, 6, 0.78) 0%, rgba(8, 4, 6, 0.4) 46%, transparent 62%),
        linear-gradient(180deg, transparent 52%, rgba(18, 18, 20, 0.72) 88%, var(--bg_color_L1) 100%),
        url("/assets/png/login-poster.jpg");
}

body #app:has(.login__container) .login__container-heading__title,
body #app:has(.login__container) .login__container-heading__subTitle {
    position: relative;
    z-index: 1;
    max-width: 62%;
    text-shadow: 0 0.04rem 0.14rem rgba(0, 0, 0, 0.9);
}

body #app:has(.login__container) .login__container-heading__title {
    color: #fff !important;
}

body #app:has(.login__container) .login__container-heading__subTitle {
    color: #fff !important;
    white-space: normal;
}

body #app:has(.login__container) .login_container-tab {
    position: relative;
    z-index: 1;
    margin-top: -0.12rem;
    background: var(--bg_color_L1);
}

body #app:has(.login__container) .login__container-form {
    margin-top: 0.48rem;
}

/* Language picker (register/login bottom sheet) — readable labels on light popup */
body .van-popup--bottom:has(.list.info) {
    background: #ffffff !important;
}

body .van-popup--bottom .list.info .item {
    color: #18181b;
}

body .van-popup--bottom .list.info .item span {
    color: #18181b !important;
    font-weight: 600;
    opacity: 1;
}

body .van-popup--bottom .list.info .item.checked {
    background: #1a1a1f !important;
    border-radius: 0.26667rem;
}

body .van-popup--bottom .list.info .item.checked span {
    color: #ffffff !important;
}

body #app:has(.resgister__C) .right .languageName,
body #app:has(.login__container) .right .languageName {
    color: #ffffff !important;
    font-weight: 600;
    text-shadow: 0 0.04rem 0.1rem rgba(0, 0, 0, 0.55);
}

/* Tiny welcome reward chip above register button */
body #app:has(.resgister__C) .register__container-button {
    position: relative;
}

body #app:has(.resgister__C) .register__container-button::before {
    content: "🎁 Welcome bonus";
    position: absolute;
    top: -0.52rem;
    left: 50%;
    transform: translateX(-50%);
    padding: 0.06rem 0.28rem;
    font-size: 0.28rem;
    font-weight: 600;
    color: #fff8e7;
    white-space: nowrap;
    border-radius: 0.24rem;
    background: linear-gradient(90deg, #9f1239, #e11d48);
    border: 0.02rem solid rgba(212, 175, 55, 0.45);
    box-shadow: 0 0.04rem 0.12rem rgba(0, 0, 0, 0.25);
    pointer-events: none;
    z-index: 1;
}

/* Soft shine on primary register button only */
body #app:has(.resgister__C) .register__container-button > button:first-of-type {
    position: relative;
    overflow: hidden;
}

body #app:has(.resgister__C) .register__container-button > button:first-of-type::after {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.18), transparent);
    transform: skewX(-18deg);
    animation: reg-btn-shine 4.5s ease-in-out infinite;
    pointer-events: none;
}

@keyframes reg-btn-shine {
    0%, 72%, 100% { left: -120%; }
    28% { left: 140%; }
}

/* ----- Global polish: cards & lists ----- */
#app .GameList__C,
#app .van-cell,
#app .van-collapse-item__title {
    border-radius: 0.12rem;
}

#app .van-cell {
    margin-bottom: 0.04rem;
}

#app .noticeBar__container button.hotIcon:before {
    filter: saturate(1.2);
}

/* ----- Promotion / Agency — hero summary banner background ----- */
#app .container[data-v-6cf5705a] {
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.45) 100%), url(/assets/png/promotion-hero-banner.png) !important;
    background-repeat: no-repeat !important;
    background-position: center, right center !important;
    background-size: cover, cover !important;
}

/* ----- Promotion / Invite — custom poster carousel (2 images) ----- */
#app .promotionShare__container-swiper--custom {
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    overflow: hidden;
}

#app .promotionShare__poster-1.promotionShare__container-swiper--custom {
    background-image: url(/assets/png/promotion-poster-joyful.png) !important;
}

#app .promotionShare__poster-2.promotionShare__container-swiper--custom {
    background-image: url(/assets/png/promotion-poster-slots.png) !important;
}

#app .promotionShare__poster-img {
    display: none !important;
}

#app .promotionShare__container-swiper--custom canvas {
    bottom: 0.35rem;
    background: #fff;
    padding: 0.08rem;
    border-radius: 0.12rem;
    box-shadow: 0 0.08rem 0.24rem rgba(0, 0, 0, 0.35);
    z-index: 2;
}

/* ----- Home lottery: top section + 3×3 grid (home-lottery-grid.js) ----- */
body #app .game-content {
    display: flex;
    flex-direction: column;
}

body #app .game-content #lottery {
    order: -100;
}

body #app .homeNav--lottery-grid {
    margin-bottom: 0.28rem;
}

body #app .homeNav--lottery-grid .title .allMore.lottery-view-all {
    background: linear-gradient(90deg, #7f1d1d 0%, #be123c 48%, #9f1239 100%);
    color: #fff;
    font-size: 0.28rem;
    font-weight: 600;
    padding: 0.1rem 0.32rem;
    border-radius: 999px;
    line-height: 1.3;
}

body #app .lottery-grid-wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.2rem;
    width: 100%;
    margin-top: 0.08rem;
}

body #app .lottery-grid-card {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    border: none;
    background: transparent;
    border-radius: 0.2rem;
    overflow: hidden;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

body #app .lottery-grid-card img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    border-radius: 0.2rem;
}

/* Extra first deposit bonus popup — bottom close (X) below Activity button */
body .van-popup:has(.firstSaveDialog),
body .van-dialog.firstSaveDialog {
    overflow: visible !important;
}

body .van-dialog.firstSaveDialog .van-dialog__content,
body .van-dialog.firstSaveDialog .van-dialog__footer {
    overflow: visible !important;
}

body .van-dialog.firstSaveDialog .close {
    position: absolute;
    left: 50%;
    right: auto;
    top: auto;
    bottom: -1.2rem;
    transform: translateX(-50%);
    width: 0.92rem;
    height: 0.92rem;
    z-index: 30;
    cursor: pointer;
    border-radius: 50%;
    border: 0.04rem solid rgba(255, 255, 255, 0.92);
    background-color: rgba(0, 0, 0, 0.45);
    background-image: url(/assets/png/close-862c6a4d.webp);
    background-repeat: no-repeat;
    background-size: 52% 52%;
    background-position: center;
    box-shadow: 0 0.06rem 0.2rem rgba(0, 0, 0, 0.35);
    -webkit-tap-highlight-color: transparent;
}

/* Home / nav project logo (API projectLogo) */
body #app .navbar__content-left img,
body #app .navbar img[data-v-3dc40049],
body #app .van-nav-bar__left img {
    height: 0.72rem !important;
    max-height: 0.72rem;
    width: auto !important;
    max-width: 3.4rem;
    object-fit: contain;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* ElateClub logo — slightly larger than previous override */
body #app .navbar__content-left img[src*="elateclub-logo"],
body #app .navbar__content-left img[src*="789elinbaj12"],
body #app .navbar__content-left img[src*="redlogo09"] {
    height: 0.82rem !important;
    max-height: 0.82rem;
    width: auto !important;
    object-fit: contain;
}

body #app .navbar__content-center .headLogo[src*="elateclub-logo"],
body #app .navbar__content-center .headLogo[style*="elateclub-logo"] {
    width: 3.2rem !important;
    height: 1.22rem !important;
}

/* White ElateClub logo (headLogo — login, register, navbar) */
body #app .navbar__content-center .headLogo[style*="elatewhite"] {
    width: 3rem !important;
    height: 1.12rem !important;
}

body #app:has(.login__container) .navbar__content-center .headLogo[style*="elatewhite"],
body #app:has(.resgister__C) .navbar__content-center .headLogo[style*="elatewhite"] {
    width: 3.15rem !important;
    height: 1.18rem !important;
}

body #app .p3-terms-logo-left img[src*="elateclub-logo"],
body #app .p3-terms-logo-left img[src*="redlogo09"],
body #app .p3-terms-logo-left img[src*="789elinbaj12"] {
    max-height: 1rem;
    width: auto;
    object-fit: contain;
}

body #app .start-page .logo[src*="elateclub-logo"] {
    width: 4.65rem !important;
    height: auto;
}

/* Global loading overlay — red spinner + white ElateClub logo (login page) */
body #app .ar-loading-view .loading-animat {
    position: relative;
    width: 4rem !important;
    height: 4rem !important;
    border-radius: 50%;
    border: 0.08rem solid rgba(225, 29, 72, 0.2);
    border-top-color: var(--main-color, #e11d48);
    animation: elate-loading-spin 0.85s linear infinite;
    background: transparent;
    box-sizing: border-box;
}

body #app .ar-loading-view .loading-animat svg {
    display: none !important;
}

body #app .ar-loading-view .loading-animat::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 2.35rem;
    height: 0.62rem;
    background: url(/assets/png/elatewhite.png?v=1) center / contain no-repeat;
    pointer-events: none;
    transform: translate(-50%, -50%);
    animation: elate-loading-logo-stay 0.85s linear infinite;
}

@keyframes elate-loading-spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes elate-loading-logo-stay {
    to {
        transform: translate(-50%, -50%) rotate(-360deg);
    }
}
