/* ==================================================
   UNBOX7 GLOBAL DESIGN SYSTEM TOKENS
================================================== */

:root {
    --primary: #EF4323;
    --primary-hover: #dc391a;
    --primary-light: #fff2ef;
    --background: #fafaf9;
    --card: #ffffff;
    --text: #000000;
    --text-secondary: #555555;
    --muted: #888888;
    --border: #ececec;
    --border-orange: #ef4323;
    --shadow-sm: 0 2px 6px rgba(0, 0, 0, 0.04);
    --shadow-md: 0 4px 14px rgba(0, 0, 0, 0.08);
    --shadow-primary: 0 4px 14px rgba(239, 67, 35, 0.35);
    --radius-sm: 10px;
    --radius-md: 16px;
    --radius-lg: 20px;
    --radius-xl: 24px;
    --radius-full: 9999px;
    --font-stack: "SF Pro Display", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
}

/* ==================================================
   RESET & BASE
================================================== */

* {
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}

img {
    max-width: 100%;
    height: auto;
}

.drop-item img, .product-preview-img, .hero-image img {
    content-visibility: auto;
    contain: layout paint;
}

html,
body {
    margin: 0;
    padding: 0;
    min-height: 100%;
    min-height: 100dvh;
    font-family:
        "SF Pro Display",
        -apple-system,
        BlinkMacSystemFont,
        "Helvetica Neue",
        Arial,
        sans-serif;
    background: #fafaf9;
    color: #000;
    overflow-x: hidden;
    -webkit-tap-highlight-color: transparent;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-overflow-scrolling: touch;
    text-rendering: optimizeLegibility;
}

button {
    font-family: inherit;
    border: none;
    outline: none;
}

/* ==================================================
   SCREEN & MODAL VISIBILITY FALLBACK (BEFORE JS HYDRATION)
================================================== */
#appleScreen,
#packsScreen,
#walletScreen,
#profileScreen,
#fairScreen,
#docsScreen,
#collectionScreen,
#authScreen,
#paymentSubmittedScreen,
#paymentStatusScreen,
#withdrawalStatusScreen,
.admin-modal-backdrop {
    display: none;
}

/* ==================================================
   MOBILE APP CONTAINER (Responsive Web App Fit)
================================================== */

.app {
    width: 100%;
    max-width: 440px;
    min-height: 100vh;
    min-height: 100dvh;
    margin: 0 auto;
    background: #fafaf9;
    overflow-x: hidden;
    position: relative;
    padding-bottom: calc(100px + env(safe-area-inset-bottom, 20px));
    box-sizing: border-box;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
}

/* ==================================================
   HEADER (with iOS Safe Area Inset Support)
================================================== */

.header {
    height: calc(64px + env(safe-area-inset-top, 0px));
    padding: env(safe-area-inset-top, 0px) 16px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    width: 100%;
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(250, 250, 249, 0.94);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}

.brand {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.logo {
    width: 86px;
    height: auto;
    display: block;
}

.header-right {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.balance {
    height: 34px;
    padding: 0 11px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: none;
    border-radius: 20px;
    background: #ef4323;
    color: white;
    font-size: 13.5px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(239, 67, 35, 0.25);
    transition: transform 0.15s ease, opacity 0.15s ease;
    white-space: nowrap;
    flex-shrink: 0;
}

.balance:active {
    transform: scale(0.96);
}

.balance img {
    width: 14px;
    height: 14px;
    display: block;
    flex-shrink: 0;
}

.menu-button {
    width: 34px;
    height: 34px;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.15s ease;
    flex-shrink: 0;
    border-radius: 8px;
}

.menu-button:active {
    transform: scale(0.92);
}

.menu-button img {
    width: 22px;
    height: 17px;
    display: block;
}

/* ==================================================
   HERO BANNER
================================================== */

/* ==================================================
   HERO SWIPER & CAROUSEL
================================================== */
.hero-swiper {
    position: relative;
    margin: 6px 16px 0;
}

.hero-track {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    border-radius: 14px;
    touch-action: pan-x pan-y;
}
.hero-track::-webkit-scrollbar {
    display: none;
}

.hero,
.hero-slide {
    flex: 0 0 100%;
    width: 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    height: 142px;
    border-radius: 16px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05), 0 1px 3px rgba(0, 0, 0, 0.03);
    border: 1px solid rgba(0, 0, 0, 0.05);
    cursor: pointer;
    user-select: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    background: #fff8f5;
    box-sizing: border-box;
}

.hero-slide:active {
    transform: scale(0.995);
}

.hero-banner-picture {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    pointer-events: none;
    z-index: 1;
}

.hero-banner-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
    pointer-events: none;
    z-index: 1;
    display: block;
}

.hero-image {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    overflow: hidden;
    position: relative;
}

.hero-iphone,
.hero-subscription-img,
.hero-gaming-img {
    max-width: 95%;
    max-height: 92%;
    object-fit: contain;
    display: block;
    position: relative;
    z-index: 2;
    filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.14));
}

.hero-content {
    position: relative;
    z-index: 2;
    height: 100%;
    width: 58%;
    max-width: 250px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    text-align: left;
    padding-left: 18px;
    padding-right: 6px;
    box-sizing: border-box;
}

.hero-content h1 {
    margin: 0 0 8px;
    color: #0f172a;
    font-size: 19px;
    line-height: 1.14;
    font-weight: 850;
    letter-spacing: -0.4px;
}

.hero-button {
    height: 35px;
    padding: 0 18px 0 16px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: none;
    border-radius: 22px;
    background: #ef4323;
    color: #ffffff;
    font-size: 13.5px;
    font-weight: 750;
    cursor: pointer;
    box-shadow: 0 3px 10px rgba(239, 67, 35, 0.35);
    transition: transform 0.18s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.18s ease, background 0.18s ease;
    white-space: nowrap;
}

.hero-button:hover {
    transform: translateY(-1px);
    background: #e03415;
    box-shadow: 0 5px 14px rgba(239, 67, 35, 0.45);
}

.hero-button:active {
    transform: scale(0.96);
}

.hero-button svg {
    width: 15px;
    height: 15px;
    display: block;
    stroke: currentColor;
    transition: transform 0.18s ease;
}

.hero-button:hover svg {
    transform: translateX(2px);
}

/* Pagination Dots */
.hero-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 8px;
}

.hero-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #e2e8f0;
    transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
    cursor: pointer;
}

.hero-dot:hover {
    background: #cbd5e1;
}

.hero-dot.active {
    width: 18px;
    border-radius: 6px;
    background: #ef4323;
    box-shadow: 0 2px 5px rgba(239, 67, 35, 0.3);
}

@media (max-width: 375px) {
    .hero,
    .hero-slide {
        height: 134px;
    }
    .hero-content {
        padding-left: 14px;
        width: 62%;
    }
    .hero-content h1 {
        font-size: 16.5px;
        margin-bottom: 6px;
    }
    .hero-button {
        height: 32px;
        padding: 0 14px 0 12px;
        font-size: 12.5px;
    }
}

/* ==================================================
   CATEGORIES (HORIZONTALLY SCROLLABLE PILL ROW)
================================================== */

.categories {
    margin-top: 14px;
    padding: 6px 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    max-width: 100%;
    box-sizing: border-box;
}

.categories::-webkit-scrollbar {
    display: none;
}

.category {
    flex: 0 0 auto;
    flex-shrink: 0;
    white-space: nowrap;
    min-height: 44px;
    height: 44px;
    padding: 0 18px;
    border: 1.5px solid #ef4323;
    border-radius: 9999px;
    background: #ffffff;
    color: #1a1a1a;
    font-size: 13.5px;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.12s ease;
    user-select: none;
    outline: none;
    box-sizing: border-box;
}

.category:hover {
    background: rgba(239, 67, 35, 0.08);
}

.category:focus-visible {
    outline: 2px solid #ef4323;
    outline-offset: 2px;
}

.category.active {
    background: #ef4323;
    color: #ffffff;
    border-color: #ef4323;
    box-shadow: 0 4px 12px rgba(239, 67, 35, 0.3);
}

.category.active:hover {
    background: #e03819;
}

/* ==================================================
   PACKS BROWSE SCREEN
================================================== */

.packs-browse-screen,
#packsScreen,
.app-screen.packs-browse-screen {
    min-height: 100vh;
    background: #f5f5f0;
    padding: 0 0 calc(130px + env(safe-area-inset-bottom, 24px)) 0 !important;
    box-sizing: border-box;
}

.packs-screen-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 18px 12px;
    background: #ffffff;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    position: sticky;
    top: 0;
    z-index: 50;
}

.packs-screen-title {
    font-size: 22px;
    font-weight: 800;
    color: #1a1a1a;
    letter-spacing: -0.4px;
    margin: 0;
}

/* ==================================================
   FEATURED PACKS SECTION (HOME - EXACT 2x2 GRID)
================================================== */

.featured-packs-section {
    width: 100%;
    margin-top: 18px;
    box-sizing: border-box;
}

.featured-packs-header {
    padding: 0 16px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.featured-packs-title {
    font-size: 19px;
    font-weight: 800;
    color: #111827;
    margin: 0;
    letter-spacing: -0.3px;
}

.featured-packs-grid {
    padding: 0 16px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
    row-gap: 24px;
    width: 100%;
    box-sizing: border-box;
}

.view-all-packs-wrap {
    display: flex;
    justify-content: center;
    padding: 24px 16px 36px;
    width: 100%;
    box-sizing: border-box;
}

.view-all-packs-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    max-width: 320px;
    height: 48px;
    min-height: 48px;
    padding: 0 24px;
    border-radius: 9999px;
    background: linear-gradient(135deg, #FF5533 0%, #EF4323 100%);
    color: #ffffff;
    font-size: 15px;
    font-weight: 750;
    letter-spacing: -0.2px;
    cursor: pointer;
    border: none;
    box-shadow: 0 8px 24px -4px rgba(239, 67, 35, 0.42), inset 0 1px 1px rgba(255, 255, 255, 0.4);
    transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s ease, filter 0.2s ease;
    user-select: none;
    outline: none;
}

.view-all-packs-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px -4px rgba(239, 67, 35, 0.55), inset 0 1px 1px rgba(255, 255, 255, 0.5);
    filter: brightness(1.04);
}

.view-all-packs-btn:active {
    transform: scale(0.98);
}

.view-all-packs-btn:focus-visible {
    outline: 2px solid #ef4323;
    outline-offset: 3px;
}

/* SKELETON CARDS */
.pack.pack-skeleton .pack-card {
    background: #f1f5f9;
    animation: skeletonPulse 1.5s ease-in-out infinite;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.05);
}

.pack.pack-skeleton .pack-skeleton-bar {
    width: 60%;
    height: 14px;
    margin: 16px auto;
    border-radius: 4px;
    background: #e2e8f0;
}

@keyframes skeletonPulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.55; }
}

/* ==================================================
   PACK GRID (BROWSE CATALOG - 2-COLUMN GRID)
================================================== */

.pack-grid,
#packsScreenGrid {
    padding: 18px 16px calc(130px + env(safe-area-inset-bottom, 24px)) !important;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
    row-gap: 24px;
    width: 100%;
    box-sizing: border-box;
}

.pack {
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    min-width: 0;
    transition: transform 0.15s ease;
}

.pack.is-hidden,
.pack[hidden],
.pack[style*="display: none"],
.pack[style*="display:none"] {
    display: none !important;
}

.pack:active {
    transform: scale(0.97);
}

/* ==================================================
   ULTRA-REALISTIC 3D FOIL BOOSTER PACK CARDS
   (Crisp White-Cream Body, Holographic Cellophane Gloss,
    Vibrant Metallic Foil Headers, 3D Drop Shadows & Foil Badges)
================================================== */

.pack-card {
    width: 100%;
    aspect-ratio: 143 / 225;
    position: relative;
    border-radius: 20px;
    background: #ffffff;
    overflow: hidden;
    -webkit-mask-image: -webkit-radial-gradient(white, black);
    mask-image: radial-gradient(white, black);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    isolation: isolate;
    transform: translateZ(0);
    box-shadow: 0 16px 36px -8px rgba(0, 0, 0, 0.2), 0 6px 14px -2px rgba(0, 0, 0, 0.08), inset 0 0 0 1px rgba(255, 255, 255, 0.8), inset 0 1px 2px rgba(255, 255, 255, 0.9);
    border: 1.5px solid rgba(255, 255, 255, 0.9);
    display: flex;
    flex-direction: column;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.pack:hover .pack-card {
    transform: translateY(-7px) scale(1.02);
    box-shadow: 0 26px 48px -10px rgba(0, 0, 0, 0.28), 0 10px 20px -3px rgba(0, 0, 0, 0.12), inset 0 0 0 1px rgba(255, 255, 255, 1);
}

/* Continuous Realistic Holographic Cellophane Gloss Sheen Animation */
@keyframes packSheenSweep {
    0% {
        transform: translateX(0);
        opacity: 0;
    }
    8% {
        opacity: 1;
    }
    42% {
        transform: translateX(175%);
        opacity: 1;
    }
    48% {
        transform: translateX(180%);
        opacity: 0;
    }
    100% {
        transform: translateX(180%);
        opacity: 0;
    }
}

.pack-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: -150%;
    width: 150%;
    height: 100%;
    background: linear-gradient(116deg, transparent 15%, rgba(255, 255, 255, 0.5) 42%, rgba(255, 230, 250, 0.32) 48%, rgba(210, 245, 255, 0.32) 53%, rgba(255, 255, 255, 0.18) 60%, transparent 80%);
    pointer-events: none;
    z-index: 8;
    opacity: 0;
}

.pack:hover .pack-card::before,
.pack:active .pack-card::before {
    opacity: 1;
    animation: packSheenSweep 1.6s cubic-bezier(0.22, 1, 0.36, 1);
}

@media (prefers-reduced-motion: reduce) {
    .pack-card::before {
        animation: none !important;
        display: none;
    }
}

/* Bottom heat-sealed foil crimp seam */
.pack-card::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 7px;
    background: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.38) 0px, rgba(255, 255, 255, 0.38) 2px, rgba(0, 0, 0, 0.14) 2px, rgba(0, 0, 0, 0.14) 4px);
    border-top: 1px solid rgba(0, 0, 0, 0.12);
    box-shadow: inset 0 1px 1.5px rgba(255, 255, 255, 0.5);
    z-index: 7;
}

/* Foil Metallic Top Header with Sculpted Flap */
.pack-title {
    flex: 0 0 22%;
    height: 22%;
    min-height: 0;
    max-height: 22%;
    width: 100%;
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: clamp(10.5px, 2.7vw, 13px);
    font-weight: 850;
    text-align: center;
    padding: 6px 32px 2px;
    letter-spacing: -0.1px;
    line-height: 1.15;
    white-space: normal;
    word-break: normal;
    overflow-wrap: break-word;
    overflow: hidden;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55), 0 -1px 0 rgba(255, 255, 255, 0.2), 0 0 10px rgba(255, 255, 255, 0.25);
    background: linear-gradient(155deg, #ff4122 0%, #ee3818 45%, #b91c0a 100%);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.16), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.65), inset 0 -1.5px 2px rgba(0, 0, 0, 0.22);
    border-bottom: 2px solid rgba(255, 255, 255, 0.45);
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    z-index: 2;
}

.pack-title a,
.pack-title a:visited,
.pack-title a:hover,
.pack-title a:active {
    color: inherit;
    text-decoration: none;
    display: inline-block;
    width: 100%;
}

/* Top heat-sealed crimp edge with realistic micro-ribbing */
.pack-title::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.38) 0px, rgba(255, 255, 255, 0.38) 2px, rgba(0, 0, 0, 0.14) 2px, rgba(0, 0, 0, 0.14) 4px);
    border-bottom: 1px solid rgba(0, 0, 0, 0.15);
    box-shadow: inset 0 -1px 1px rgba(0, 0, 0, 0.25);
    opacity: 0.92;
}

/* Clean sculpted metallic top flap without dark punch hole */
.pack-title::after {
    display: none;
}

/* Product Showcase Chamber (Clean White, No Round Backside Shape) */
/* Product Showcase Chamber - Premium Ambient 3D Spotlight */
.pack-image {
    flex: 1 1 78%;
    height: 78%;
    min-height: 0;
    max-height: 78%;
    width: 100%;
    box-sizing: border-box;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px 8px;
    background: #ffffff;
    overflow: hidden;
    z-index: 1;
}

.pack-image::before {
    display: none !important;
}

.pack-image picture {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

/* 3D Realistic Product Drops - Perfectly Centered, High-Impact Fit & Shadow */
.pack-asset {
    position: absolute;
    inset: 0;
    margin: auto;
    width: auto;
    height: auto;
    max-width: 90%;
    max-height: 90%;
    object-fit: contain;
    object-position: center;
    display: block;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
    filter: drop-shadow(0 14px 20px rgba(0, 0, 0, 0.18)) drop-shadow(0 4px 6px rgba(0, 0, 0, 0.08));
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), filter 0.35s ease, opacity 0.2s ease-out;
}

.pack:hover .pack-asset {
    transform: translateY(-5px) scale(1.07);
    filter: drop-shadow(0 22px 30px rgba(0, 0, 0, 0.28)) drop-shadow(0 6px 10px rgba(0, 0, 0, 0.14));
}

/* 1. Apple Pack - Crimson Apple Titanium Glow & Pop */
.pack[data-pack="apple"] .pack-image,
.pack.theme-apple .pack-image {
    background: radial-gradient(circle at 50% 52%, rgba(239, 68, 68, 0.16) 0%, rgba(220, 38, 38, 0.04) 55%, #ffffff 86%);
}
.pack[data-pack="apple"] .pack-asset,
.pack.theme-apple .pack-asset {
    filter: drop-shadow(0 14px 22px rgba(239, 68, 68, 0.26)) drop-shadow(0 4px 7px rgba(0, 0, 0, 0.12));
}
.pack[data-pack="apple"]:hover .pack-asset,
.pack.theme-apple:hover .pack-asset {
    transform: translateY(-5px) scale(1.07);
    filter: drop-shadow(0 22px 32px rgba(239, 68, 68, 0.44)) drop-shadow(0 6px 10px rgba(0, 0, 0, 0.18));
}

/* 2. Cash Pack - Emerald Mint Money Aura & Pop */
.pack[data-pack="cash"] .pack-image,
.pack.theme-cash .pack-image {
    background: radial-gradient(circle at 50% 52%, rgba(16, 185, 129, 0.18) 0%, rgba(5, 150, 105, 0.05) 55%, #ffffff 86%);
}
.pack[data-pack="cash"] .pack-asset,
.pack.theme-cash .pack-asset {
    filter: drop-shadow(0 14px 22px rgba(5, 150, 105, 0.28)) drop-shadow(0 4px 7px rgba(0, 0, 0, 0.12));
}
.pack[data-pack="cash"]:hover .pack-asset,
.pack.theme-cash:hover .pack-asset {
    transform: translateY(-5px) scale(1.07);
    filter: drop-shadow(0 22px 32px rgba(16, 185, 129, 0.46)) drop-shadow(0 6px 10px rgba(0, 0, 0, 0.18));
}

/* 3. Gold & Jewelry Pack - 24K Radiant Warm Gold Luster */
.pack[data-pack="gold-jewelry"] .pack-image,
.pack.theme-luxury .pack-image {
    background: radial-gradient(circle at 50% 52%, rgba(245, 158, 11, 0.18) 0%, rgba(217, 119, 6, 0.05) 55%, #ffffff 86%);
}
.pack[data-pack="gold-jewelry"] .pack-asset {
    filter: drop-shadow(0 14px 22px rgba(217, 119, 6, 0.32)) drop-shadow(0 4px 7px rgba(0, 0, 0, 0.12));
}
.pack[data-pack="gold-jewelry"]:hover .pack-asset {
    transform: translateY(-5px) scale(1.07);
    filter: drop-shadow(0 22px 32px rgba(245, 158, 11, 0.50)) drop-shadow(0 6px 10px rgba(0, 0, 0, 0.18));
}

/* 4. Men's Fashion Pack - Electric Violet Streetwear Pop */
.pack[data-pack="mens-fashion"] .pack-image,
.pack.theme-fashion-men .pack-image {
    background: radial-gradient(circle at 50% 52%, rgba(168, 85, 247, 0.18) 0%, rgba(126, 34, 206, 0.05) 55%, #ffffff 86%);
}
.pack[data-pack="mens-fashion"] .pack-asset,
.pack.theme-fashion-men .pack-asset {
    filter: drop-shadow(0 14px 22px rgba(126, 34, 206, 0.28)) drop-shadow(0 4px 7px rgba(0, 0, 0, 0.12));
}
.pack[data-pack="mens-fashion"]:hover .pack-asset,
.pack.theme-fashion-men:hover .pack-asset {
    transform: translateY(-5px) scale(1.07);
    filter: drop-shadow(0 22px 32px rgba(168, 85, 247, 0.44)) drop-shadow(0 6px 10px rgba(0, 0, 0, 0.18));
}

/* 5. Women's Fashion Pack - High-Fashion Magenta Boutique Aura */
.pack[data-pack="womens-fashion"] .pack-image,
.pack.theme-fashion-women .pack-image {
    background: radial-gradient(circle at 50% 52%, rgba(244, 63, 142, 0.18) 0%, rgba(190, 18, 60, 0.05) 55%, #ffffff 86%);
}
.pack[data-pack="womens-fashion"] .pack-asset,
.pack.theme-fashion-women .pack-asset {
    filter: drop-shadow(0 14px 22px rgba(190, 18, 60, 0.28)) drop-shadow(0 4px 7px rgba(0, 0, 0, 0.12));
}
.pack[data-pack="womens-fashion"]:hover .pack-asset,
.pack.theme-fashion-women:hover .pack-asset {
    transform: translateY(-5px) scale(1.07);
    filter: drop-shadow(0 22px 32px rgba(244, 63, 142, 0.44)) drop-shadow(0 6px 10px rgba(0, 0, 0, 0.18));
}

/* 6. Perfume Pack - Royal Orchid Luxury Mist Pop */
.pack[data-pack="perfume"] .pack-image {
    background: radial-gradient(circle at 50% 52%, rgba(217, 70, 239, 0.18) 0%, rgba(162, 28, 175, 0.05) 55%, #ffffff 86%);
}
.pack[data-pack="perfume"] .pack-asset {
    filter: drop-shadow(0 14px 22px rgba(162, 28, 175, 0.28)) drop-shadow(0 4px 7px rgba(0, 0, 0, 0.12));
}
.pack[data-pack="perfume"]:hover .pack-asset {
    transform: translateY(-5px) scale(1.07);
    filter: drop-shadow(0 22px 32px rgba(217, 70, 239, 0.46)) drop-shadow(0 6px 10px rgba(0, 0, 0, 0.18));
}

/* 7. Sneaker Pack - Fiery Hype Sneaker Glow & Pop */
.pack[data-pack="sneaker"] .pack-image,
.pack.theme-sneakers .pack-image {
    background: radial-gradient(circle at 50% 52%, rgba(249, 115, 22, 0.18) 0%, rgba(194, 65, 12, 0.05) 55%, #ffffff 86%);
}
.pack[data-pack="sneaker"] .pack-asset,
.pack.theme-sneakers .pack-asset {
    filter: drop-shadow(0 14px 22px rgba(194, 65, 12, 0.28)) drop-shadow(0 4px 7px rgba(0, 0, 0, 0.12));
}
.pack[data-pack="sneaker"]:hover .pack-asset,
.pack.theme-sneakers:hover .pack-asset {
    transform: translateY(-5px) scale(1.07);
    filter: drop-shadow(0 22px 32px rgba(249, 115, 22, 0.46)) drop-shadow(0 6px 10px rgba(0, 0, 0, 0.18));
}

/* 8. Subscriptions Pack - Multi-App Digital Aura */
.pack[data-pack="subscription"] .pack-image,
.pack.theme-subscription .pack-image {
    background: radial-gradient(circle at 50% 52%, rgba(168, 85, 247, 0.16) 0%, rgba(239, 68, 68, 0.05) 55%, #ffffff 86%);
}
.pack[data-pack="subscription"] .pack-asset,
.pack.theme-subscription .pack-asset {
    filter: drop-shadow(0 14px 22px rgba(168, 85, 247, 0.26)) drop-shadow(0 4px 7px rgba(0, 0, 0, 0.12));
}
.pack[data-pack="subscription"]:hover .pack-asset,
.pack.theme-subscription:hover .pack-asset {
    transform: translateY(-5px) scale(1.07);
    filter: drop-shadow(0 22px 32px rgba(168, 85, 247, 0.44)) drop-shadow(0 6px 10px rgba(0, 0, 0, 0.18));
}

/* 9. Vacation Pack - Tropical Aquamarine Lagoon Aura */
.pack[data-pack="vacation"] .pack-image,
.pack.theme-vacation .pack-image {
    background: radial-gradient(circle at 50% 52%, rgba(34, 211, 238, 0.20) 0%, rgba(8, 145, 178, 0.05) 55%, #ffffff 86%);
}
.pack[data-pack="vacation"] .pack-asset,
.pack.theme-vacation .pack-asset {
    filter: drop-shadow(0 14px 22px rgba(8, 145, 178, 0.30)) drop-shadow(0 4px 7px rgba(0, 0, 0, 0.12));
}
.pack[data-pack="vacation"]:hover .pack-asset,
.pack.theme-vacation:hover .pack-asset {
    transform: translateY(-5px) scale(1.07);
    filter: drop-shadow(0 22px 32px rgba(34, 211, 238, 0.48)) drop-shadow(0 6px 10px rgba(0, 0, 0, 0.18));
}

/* 10. Watch Pack - Sapphire Horology Luster & Depth */
.pack[data-pack="watch"] .pack-image {
    background: radial-gradient(circle at 50% 52%, rgba(59, 130, 246, 0.18) 0%, rgba(29, 78, 216, 0.05) 55%, #ffffff 86%);
}
.pack[data-pack="watch"] .pack-asset {
    filter: drop-shadow(0 14px 22px rgba(29, 78, 216, 0.28)) drop-shadow(0 4px 7px rgba(0, 0, 0, 0.12));
}
.pack[data-pack="watch"]:hover .pack-asset {
    transform: translateY(-5px) scale(1.07);
    filter: drop-shadow(0 22px 32px rgba(59, 130, 246, 0.46)) drop-shadow(0 6px 10px rgba(0, 0, 0, 0.18));
}

/* 11. Tech Gadget Pack - Cyber Cyan Tech Flare */
.pack[data-pack="tech"] .pack-image,
.pack.theme-tech .pack-image {
    background: radial-gradient(circle at 50% 52%, rgba(6, 182, 212, 0.18) 0%, rgba(14, 116, 144, 0.05) 55%, #ffffff 86%);
}
.pack[data-pack="tech"] .pack-asset,
.pack.theme-tech .pack-asset {
    filter: drop-shadow(0 14px 22px rgba(14, 116, 144, 0.28)) drop-shadow(0 4px 7px rgba(0, 0, 0, 0.12));
}
.pack[data-pack="tech"]:hover .pack-asset,
.pack.theme-tech:hover .pack-asset {
    transform: translateY(-5px) scale(1.07);
    filter: drop-shadow(0 22px 32px rgba(6, 182, 212, 0.46)) drop-shadow(0 6px 10px rgba(0, 0, 0, 0.18));
}

/* 12. Gaming Pack - Indigo Cyber Neon Glow */
.pack[data-pack="gaming"] .pack-image,
.pack.theme-gaming .pack-image {
    background: radial-gradient(circle at 50% 52%, rgba(99, 102, 241, 0.18) 0%, rgba(67, 56, 202, 0.05) 55%, #ffffff 86%);
}
.pack[data-pack="gaming"] .pack-asset,
.pack.theme-gaming .pack-asset {
    filter: drop-shadow(0 14px 22px rgba(67, 56, 202, 0.28)) drop-shadow(0 4px 7px rgba(0, 0, 0, 0.12));
}
.pack[data-pack="gaming"]:hover .pack-asset,
.pack.theme-gaming:hover .pack-asset {
    transform: translateY(-5px) scale(1.07);
    filter: drop-shadow(0 22px 32px rgba(99, 102, 241, 0.46)) drop-shadow(0 6px 10px rgba(0, 0, 0, 0.18));
}

/* 13. Lucky Penny Pack - Gleaming Copper & Gold Glow */
.pack[data-pack="lucky-penny"] .pack-image,
.pack.theme-lucky-penny .pack-image {
    background: radial-gradient(circle at 50% 52%, rgba(245, 158, 11, 0.20) 0%, rgba(180, 83, 9, 0.05) 55%, #ffffff 86%);
}
.pack[data-pack="lucky-penny"] .pack-asset,
.pack.theme-lucky-penny .pack-asset {
    filter: drop-shadow(0 14px 22px rgba(180, 83, 9, 0.32)) drop-shadow(0 4px 7px rgba(0, 0, 0, 0.12));
}
.pack[data-pack="lucky-penny"]:hover .pack-asset,
.pack.theme-lucky-penny:hover .pack-asset {
    transform: translateY(-5px) scale(1.07);
    filter: drop-shadow(0 22px 32px rgba(245, 158, 11, 0.50)) drop-shadow(0 6px 10px rgba(0, 0, 0, 0.18));
}


/* ==================================================
   PACK PRICE PILL (3D Embossed Foil Gem Badge)
================================================== */

.pack-price {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 88px;
    height: 34px;
    margin-top: 10px;
    padding: 0 18px;
    border-radius: 999px;
    background: linear-gradient(145deg, #ff4d2d 0%, #dc2626 100%);
    color: #ffffff;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: -0.2px;
    box-shadow: 0 6px 18px -2px rgba(239, 67, 35, 0.48), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.75), inset 0 -2px 3px rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(255, 255, 255, 0.4);
    transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.pack:hover .pack-price {
    transform: translateY(-3px) scale(1.06);
    box-shadow: 0 10px 24px -2px rgba(239, 67, 35, 0.6), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.9);
}

.pack:active .pack-price {
    transform: scale(0.96);
}

/* ==================================================
   THEME VARIANTS FOR REALISTIC FOIL PACKS
   (Matches both class theme-* and data-pack="*")
================================================== */

/* Apple Pack - Metallic Scarlet Crimson */
.pack.theme-apple .pack-title,
.pack[data-pack="apple"] .pack-title {
    background: linear-gradient(155deg, #ff3b30 0%, #ee220c 45%, #b91c0a 100%);
}
.pack.theme-apple .pack-price,
.pack[data-pack="apple"] .pack-price {
    background: linear-gradient(145deg, #ff4122 0%, #dc2626 100%);
    box-shadow: 0 6px 18px -2px rgba(239, 67, 35, 0.48), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.75), inset 0 -2px 3px rgba(0, 0, 0, 0.25);
}
.pack.theme-apple:hover .pack-price,
.pack[data-pack="apple"]:hover .pack-price {
    box-shadow: 0 10px 24px -2px rgba(239, 67, 35, 0.62), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.9);
}

/* Gaming Pack - Electric Cyber Indigo */
.pack.theme-gaming .pack-title,
.pack[data-pack="gaming"] .pack-title {
    background: linear-gradient(155deg, #6366f1 0%, #4f46e5 45%, #312e81 100%);
}
.pack.theme-gaming .pack-price,
.pack[data-pack="gaming"] .pack-price {
    background: linear-gradient(145deg, #6366f1 0%, #4338ca 100%);
    box-shadow: 0 6px 18px -2px rgba(99, 102, 241, 0.48), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.75), inset 0 -2px 3px rgba(0, 0, 0, 0.25);
}
.pack.theme-gaming:hover .pack-price,
.pack[data-pack="gaming"]:hover .pack-price {
    box-shadow: 0 10px 24px -2px rgba(99, 102, 241, 0.62), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.9);
}

/* Cash Pack - Emerald Vault Green (Ultra Realistic 3D Styling) */
.pack.theme-cash .pack-title,
.pack[data-pack="cash"] .pack-title {
    background: linear-gradient(155deg, #10b981 0%, #059669 45%, #047857 100%);
    box-shadow: inset 0 1px 1.5px rgba(255, 255, 255, 0.45), inset 0 -1.5px 2px rgba(0, 0, 0, 0.25);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

.pack.theme-cash .pack-image,
.pack[data-pack="cash"] .pack-image {
    background: radial-gradient(circle at 50% 65%, rgba(16, 185, 129, 0.13) 0%, rgba(16, 185, 129, 0.04) 52%, #ffffff 82%);
}

.pack[data-pack="cash"] .pack-asset,
.pack.theme-cash .pack-asset {
    max-width: 88%;
    max-height: 88%;
    filter: drop-shadow(0 14px 18px rgba(5, 150, 105, 0.22)) drop-shadow(0 4px 6px rgba(0, 0, 0, 0.14));
}

.pack[data-pack="cash"]:hover .pack-asset,
.pack.theme-cash:hover .pack-asset {
    transform: translateY(-4px) scale(1.05);
    filter: drop-shadow(0 20px 26px rgba(16, 185, 129, 0.36)) drop-shadow(0 6px 10px rgba(0, 0, 0, 0.2));
}

.pack.theme-cash .pack-price,
.pack[data-pack="cash"] .pack-price {
    background: linear-gradient(140deg, #10b981 0%, #059669 55%, #047857 100%);
    box-shadow: 0 6px 18px -2px rgba(16, 185, 129, 0.52), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.8), inset 0 -2px 3px rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(255, 255, 255, 0.5);
}

.pack.theme-cash:hover .pack-price,
.pack[data-pack="cash"]:hover .pack-price {
    box-shadow: 0 10px 24px -2px rgba(16, 185, 129, 0.68), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.95);
}

/* Subscription Pack - Deep Cosmic Violet */
.pack.theme-subscription .pack-title,
.pack[data-pack="subscription"] .pack-title {
    background: linear-gradient(155deg, #a855f7 0%, #7c3aed 45%, #581c87 100%);
}
.pack.theme-subscription .pack-price,
.pack[data-pack="subscription"] .pack-price {
    background: linear-gradient(145deg, #9333ea 0%, #6d28d9 100%);
    box-shadow: 0 6px 18px -2px rgba(168, 85, 247, 0.48), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.75), inset 0 -2px 3px rgba(0, 0, 0, 0.25);
}
.pack.theme-subscription:hover .pack-price,
.pack[data-pack="subscription"]:hover .pack-price {
    box-shadow: 0 10px 24px -2px rgba(168, 85, 247, 0.62), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.9);
}

/* Sneakers Pack - Fiery Amber Flame */
.pack.theme-sneakers .pack-title,
.pack[data-pack="sneakers"] .pack-title {
    background: linear-gradient(155deg, #fb923c 0%, #ea580c 45%, #9a3412 100%);
}
.pack.theme-sneakers .pack-price,
.pack[data-pack="sneakers"] .pack-price {
    background: linear-gradient(145deg, #f97316 0%, #c2410c 100%);
    box-shadow: 0 6px 18px -2px rgba(249, 115, 22, 0.48), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.75), inset 0 -2px 3px rgba(0, 0, 0, 0.25);
}
.pack.theme-sneakers:hover .pack-price,
.pack[data-pack="sneakers"]:hover .pack-price {
    box-shadow: 0 10px 24px -2px rgba(249, 115, 22, 0.62), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.9);
}

/* Luxury Pack - Gilded Champagne Gold */
.pack.theme-luxury .pack-title,
.pack[data-pack="luxury"] .pack-title {
    background: linear-gradient(155deg, #fbbf24 0%, #d97706 45%, #78350f 100%);
}
.pack.theme-luxury .pack-price,
.pack[data-pack="luxury"] .pack-price {
    background: linear-gradient(145deg, #f59e0b 0%, #b45309 100%);
    box-shadow: 0 6px 18px -2px rgba(245, 158, 11, 0.48), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.75), inset 0 -2px 3px rgba(0, 0, 0, 0.25);
}
.pack.theme-luxury:hover .pack-price,
.pack[data-pack="luxury"]:hover .pack-price {
    box-shadow: 0 10px 24px -2px rgba(245, 158, 11, 0.62), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.9);
}

/* Tech Pack - Electric Cyan Sapphire */
.pack.theme-tech .pack-title,
.pack[data-pack="tech"] .pack-title {
    background: linear-gradient(155deg, #38bdf8 0%, #0284c7 45%, #0369a1 100%);
}
.pack.theme-tech .pack-price,
.pack[data-pack="tech"] .pack-price {
    background: linear-gradient(145deg, #0284c7 0%, #075985 100%);
    box-shadow: 0 6px 18px -2px rgba(2, 132, 199, 0.48), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.75), inset 0 -2px 3px rgba(0, 0, 0, 0.25);
}
.pack.theme-tech:hover .pack-price,
.pack[data-pack="tech"]:hover .pack-price {
    box-shadow: 0 10px 24px -2px rgba(2, 132, 199, 0.62), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.9);
}

/* Men's Fashion Pack - Deep Royal Purple */
.pack.theme-fashion-men .pack-title,
.pack[data-pack="mens-fashion"] .pack-title {
    background: linear-gradient(155deg, #c084fc 0%, #a855f7 45%, #7e22ce 100%);
}
.pack.theme-fashion-men .pack-price,
.pack[data-pack="mens-fashion"] .pack-price {
    background: linear-gradient(145deg, #a855f7 0%, #6b21a8 100%);
    box-shadow: 0 6px 18px -2px rgba(168, 85, 247, 0.48), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.75), inset 0 -2px 3px rgba(0, 0, 0, 0.25);
}
.pack.theme-fashion-men:hover .pack-price,
.pack[data-pack="mens-fashion"]:hover .pack-price {
    box-shadow: 0 10px 24px -2px rgba(168, 85, 247, 0.62), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.9);
}

/* Women's Fashion Pack - Vivid Rose Pink */
.pack.theme-fashion-women .pack-title,
.pack[data-pack="womens-fashion"] .pack-title {
    background: linear-gradient(155deg, #fb7185 0%, #f43f8e 45%, #be123c 100%);
}
.pack.theme-fashion-women .pack-price,
.pack[data-pack="womens-fashion"] .pack-price {
    background: linear-gradient(145deg, #f43f8e 0%, #9f1239 100%);
    box-shadow: 0 6px 18px -2px rgba(244, 63, 142, 0.48), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.75), inset 0 -2px 3px rgba(0, 0, 0, 0.25);
}
.pack.theme-fashion-women:hover .pack-price,
.pack[data-pack="womens-fashion"]:hover .pack-price {
    box-shadow: 0 10px 24px -2px rgba(244, 63, 142, 0.62), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.9);
}

/* Combined Fashion Preset (Purple & Rose) */
.pack.theme-fashion .pack-title {
    background: linear-gradient(155deg, #a855f7 0%, #f43f8e 100%);
}
.pack.theme-fashion .pack-price {
    background: linear-gradient(145deg, #9333ea 0%, #e11d48 100%);
    box-shadow: 0 6px 18px -2px rgba(217, 70, 239, 0.48), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.75);
}

/* Vacation Pack - Tropical Island Cyan */
.pack.theme-vacation .pack-title,
.pack[data-pack="vacation"] .pack-title {
    background: linear-gradient(155deg, #38bdf8 0%, #22d3ee 45%, #0891b2 100%);
}
.pack.theme-vacation .pack-price,
.pack[data-pack="vacation"] .pack-price {
    background: linear-gradient(145deg, #06b6d4 0%, #0e7490 100%);
    box-shadow: 0 6px 18px -2px rgba(34, 211, 238, 0.48), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.75), inset 0 -2px 3px rgba(0, 0, 0, 0.25);
}
.pack.theme-vacation:hover .pack-price,
.pack[data-pack="vacation"]:hover .pack-price {
    box-shadow: 0 10px 24px -2px rgba(34, 211, 238, 0.62), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.9);
}

/* Lucky Penny Pack - Copper Amber Flame */
.pack.theme-lucky-penny .pack-title,
.pack[data-pack="lucky-penny"] .pack-title {
    background: linear-gradient(155deg, #fbbf24 0%, #f59e0b 45%, #b45309 100%);
}
.pack.theme-lucky-penny .pack-price,
.pack[data-pack="lucky-penny"] .pack-price {
    background: linear-gradient(145deg, #d97706 0%, #92400e 100%);
    box-shadow: 0 6px 18px -2px rgba(245, 158, 11, 0.48), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.75), inset 0 -2px 3px rgba(0, 0, 0, 0.25);
}
.pack.theme-lucky-penny:hover .pack-price,
.pack[data-pack="lucky-penny"]:hover .pack-price {
    box-shadow: 0 10px 24px -2px rgba(245, 158, 11, 0.62), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.9);
}

/* ==================================================
   CLEAN GRADIENT CARD & PRODUCT FALLBACK STYLES
================================================== */
.pack-cover-fallback {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 86%;
    height: 84%;
    max-width: 86%;
    max-height: 84%;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    text-align: center;
    padding: 10px 8px;
    position: absolute;
    overflow: hidden;
    box-sizing: border-box;
    flex-shrink: 0;
    -webkit-mask-image: -webkit-radial-gradient(white, black);
    mask-image: radial-gradient(white, black);
    box-shadow: 0 10px 25px -4px rgba(0, 0, 0, 0.35), inset 0 1px 2px rgba(255, 255, 255, 0.4);
    transition: transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.28s ease;
    user-select: none;
    -webkit-user-select: none;
}
.pack:hover .pack-cover-fallback {
    transform: translateY(-4px) scale(1.03);
    box-shadow: 0 16px 30px -4px rgba(0, 0, 0, 0.45), inset 0 1px 2px rgba(255, 255, 255, 0.6);
}
.pack-cover-fallback-shimmer {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.05) 50%, transparent 100%);
    pointer-events: none;
}
.pack-cover-fallback-icon {
    font-size: 26px;
    margin-bottom: 6px;
    filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.35));
}
.pack-cover-fallback-name {
    font-size: 13px;
    font-weight: 850;
    line-height: 1.2;
    letter-spacing: -0.3px;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
    padding: 0 4px;
}
.pack-cover-fallback-tag {
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    background: rgba(0, 0, 0, 0.28);
    padding: 2px 8px;
    border-radius: 999px;
    margin-top: 6px;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

/* Product Fallback Card (Dark Card + Soft Glow in Rarity Color + Item Initials) */
.product-fallback-card {
    width: 100%;
    height: 100%;
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle at 50% 50%, #1e293b 0%, #0b0f19 100%);
    border-radius: 12px;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.12), 0 4px 12px rgba(0, 0, 0, 0.3);
    user-select: none;
}
.product-fallback-glow {
    position: absolute;
    width: 70%;
    height: 70%;
    border-radius: 50%;
    opacity: 0.65;
    filter: blur(14px);
    pointer-events: none;
}
.product-fallback-glow.glow-legendary { background: #f59e0b; }
.product-fallback-glow.glow-epic { background: #ec4899; }
.product-fallback-glow.glow-purple,
.product-fallback-glow.glow-ultra { background: #a855f7; }
.product-fallback-glow.glow-rare { background: #3b82f6; }
.product-fallback-glow.glow-uncommon { background: #10b981; }
.product-fallback-glow.glow-common { background: #64748b; }

.product-fallback-initials {
    font-size: 18px;
    font-weight: 850;
    letter-spacing: 1px;
    color: #ffffff;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.75);
    z-index: 2;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Generic Coin Icon for type "credit" */
.product-coin-icon-wrap {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.product-coin-svg {
    width: 46px;
    height: 46px;
    max-width: 85%;
    max-height: 85%;
    filter: drop-shadow(0 5px 12px rgba(245, 158, 11, 0.55));
    animation: coinFloat 3s ease-in-out infinite;
}
@keyframes coinFloat {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-3px) scale(1.04); }
}

.product-voucher-inline-wrap {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 4 !important;
    box-sizing: border-box;
    margin: 0 auto;
}

.product-voucher-inline-wrap svg,
.product-voucher-svg {
    width: 80px;
    max-width: 85%;
    height: 40px;
    max-height: 44px;
    object-fit: contain;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.08));
    transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    display: block;
    margin: 0 auto;
    position: relative;
    z-index: 4 !important;
}

/* In Reel Items (Spinner Track) */
.reel-item .product-voucher-inline-wrap {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 4 !important;
}

.reel-item .product-voucher-inline-wrap svg,
.reel-item .product-voucher-svg {
    width: 76px;
    max-width: 86%;
    height: 38px;
    max-height: 42px;
    display: block;
    margin: 0 auto;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.12));
    position: relative;
    z-index: 4 !important;
}

.reel-item.winner .product-voucher-inline-wrap svg,
.reel-item.winner .product-voucher-svg {
    animation: winnerPulse 0.65s cubic-bezier(0.18, 0.89, 0.32, 1.28) 3;
}

/* In Product Preview Modal */
.product-modal-image .modal-product-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 4 !important;
}

.product-modal-image .product-voucher-inline-wrap {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 4 !important;
}

.product-modal-image .product-voucher-inline-wrap svg,
.product-modal-image .product-voucher-svg {
    width: 124px;
    max-width: 88%;
    height: 62px;
    max-height: 68px;
    filter: drop-shadow(0 6px 16px rgba(0, 0, 0, 0.14));
    display: block;
    margin: 0 auto;
    position: relative;
    z-index: 4 !important;
}

/* In Reward Celebration Modal */
.reward-showcase .reward-product-fallback-container {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 4 !important;
}

.reward-showcase .product-voucher-inline-wrap {
    position: relative;
    z-index: 4 !important;
}

.reward-showcase .product-voucher-inline-wrap svg,
.reward-showcase .product-voucher-svg {
    width: 140px;
    max-width: 88%;
    height: 70px;
    filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.18));
    display: block;
    margin: 0 auto;
    position: relative;
    z-index: 4 !important;
}

.drop-card .product-voucher-inline-wrap {
    width: 100%;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 4px auto 0;
    position: relative;
    z-index: 4 !important;
}

.drop-card .product-voucher-inline-wrap svg,
.drop-card .product-voucher-svg {
    width: 96px;
    max-width: 86%;
    height: 48px;
    max-height: 50px;
    display: block;
    margin: 0 auto;
    filter: drop-shadow(0 3px 8px rgba(0, 0, 0, 0.12)) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.08));
    transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    z-index: 4 !important;
}

.drop-card:hover .product-voucher-inline-wrap svg,
.drop-card:hover .product-voucher-svg {
    transform: scale(1.06);
}

.drop-card .product-voucher-inline-wrap + .drop-name {
    margin-top: 0;
    margin-bottom: 2px;
    flex-shrink: 0;
}

.drop-card img[src*="voucher"],
.drop-card img[alt*="VOUCHER"],
.drop-card img[alt*="voucher"] {
    width: 96px !important;
    height: 48px !important;
    max-width: 86% !important;
    max-height: 50px !important;
    object-fit: contain !important;
    margin: auto auto 4px auto !important;
    filter: drop-shadow(0 3px 8px rgba(0, 0, 0, 0.12));
}

.drop-card picture:has(img[src*="voucher"]) + .drop-name,
.drop-card picture:has(img[alt*="VOUCHER"]) + .drop-name {
    margin-top: 0;
    margin-bottom: 2px;
    flex-shrink: 0;
}

.drop-card .drop-price {
    display: none !important;
}

/* ==================================================
   VIP FULL-IMAGE LUXURY BOOSTER PACK CARDS
   (Ultra-Realistic Edge-to-Edge 3D Artwork, Metallic Foil Badges,
    Atmospheric Glows, Glassmorphic Action Controls)
================================================== */

.pack.theme-vip1 .pack-card,
.pack.theme-vip2 .pack-card,
.pack.theme-vip3 .pack-card,
.pack[data-pack="vip1"] .pack-card,
.pack[data-pack="vip2"] .pack-card,
.pack[data-pack="vip3"] .pack-card {
    background: #090d16;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    display: block;
    padding: 0;
}

/* VIP 1: Silver Chrome Foil Glow */
.pack.theme-vip1 .pack-card,
.pack[data-pack="vip1"] .pack-card {
    background: #0b0f19;
    border: 1.5px solid rgba(226, 232, 240, 0.5);
    box-shadow: 0 16px 36px -8px rgba(0, 0, 0, 0.5), 0 0 20px -4px rgba(226, 232, 240, 0.3), inset 0 0 0 1px rgba(255, 255, 255, 0.35);
}

.pack.theme-vip1:hover .pack-card,
.pack[data-pack="vip1"]:hover .pack-card {
    border-color: rgba(255, 255, 255, 0.95);
    box-shadow: 0 26px 48px -10px rgba(0, 0, 0, 0.6), 0 0 34px 0px rgba(226, 232, 240, 0.55), inset 0 0 0 1px rgba(255, 255, 255, 0.7);
}

/* VIP 2: 24K Royal Gold Foil Glow */
.pack.theme-vip2 .pack-card,
.pack[data-pack="vip2"] .pack-card {
    background: #180f02;
    border: 1.5px solid rgba(251, 191, 36, 0.6);
    box-shadow: 0 16px 36px -8px rgba(0, 0, 0, 0.5), 0 0 24px -4px rgba(245, 158, 11, 0.4), inset 0 0 0 1px rgba(253, 230, 138, 0.4);
}

.pack.theme-vip2:hover .pack-card,
.pack[data-pack="vip2"]:hover .pack-card {
    border-color: rgba(253, 230, 138, 0.98);
    box-shadow: 0 26px 48px -10px rgba(0, 0, 0, 0.6), 0 0 38px 0px rgba(245, 158, 11, 0.65), inset 0 0 0 1px rgba(253, 230, 138, 0.8);
}

/* VIP 3: Obsidian Cosmic Void Diamond Glow */
.pack.theme-vip3 .pack-card,
.pack[data-pack="vip3"] .pack-card {
    background: #090314;
    border: 1.5px solid rgba(139, 92, 246, 0.65);
    box-shadow: 0 16px 36px -8px rgba(0, 0, 0, 0.55), 0 0 26px -4px rgba(139, 92, 246, 0.45), inset 0 0 0 1px rgba(196, 181, 253, 0.4);
}

.pack.theme-vip3:hover .pack-card,
.pack[data-pack="vip3"]:hover .pack-card {
    border-color: rgba(196, 181, 253, 0.98);
    box-shadow: 0 26px 48px -10px rgba(0, 0, 0, 0.65), 0 0 42px 0px rgba(168, 85, 247, 0.7), inset 0 0 0 1px rgba(196, 181, 253, 0.85);
}

/* Hide default foil crimp seam on VIP full-bleed cards */
.pack.theme-vip1 .pack-card::after,
.pack.theme-vip2 .pack-card::after,
.pack.theme-vip3 .pack-card::after,
.pack[data-pack="vip1"] .pack-card::after,
.pack[data-pack="vip2"] .pack-card::after,
.pack[data-pack="vip3"] .pack-card::after {
    display: none;
}

/* Full-Screen Edge-to-Edge Artwork Container */
.pack.theme-vip1 .pack-image,
.pack.theme-vip2 .pack-image,
.pack.theme-vip3 .pack-image,
.pack[data-pack="vip1"] .pack-image,
.pack[data-pack="vip2"] .pack-image,
.pack[data-pack="vip3"] .pack-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 100% !important;
    max-height: 100% !important;
    flex: none;
    padding: 0;
    margin: 0;
    background: transparent;
    overflow: hidden;
    border-radius: 20px;
    z-index: 1;
}

/* Full-Screen Edge-to-Edge Image Artwork */
.pack.theme-vip1 .pack-asset,
.pack.theme-vip2 .pack-asset,
.pack.theme-vip3 .pack-asset,
.pack[data-pack="vip1"] .pack-asset,
.pack[data-pack="vip2"] .pack-asset,
.pack[data-pack="vip3"] .pack-asset {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: fill;
    object-position: center;
    border-radius: 20px;
    display: block;
    margin: 0;
    filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.4));
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), filter 0.4s ease;
}

.pack.theme-vip1:hover .pack-asset,
.pack.theme-vip2:hover .pack-asset,
.pack.theme-vip3:hover .pack-asset,
.pack[data-pack="vip1"]:hover .pack-asset,
.pack[data-pack="vip2"]:hover .pack-asset,
.pack[data-pack="vip3"]:hover .pack-asset {
    transform: scale(1.04);
    filter: drop-shadow(0 14px 28px rgba(0, 0, 0, 0.6));
}

/* Hide text title on VIP packs - the artwork itself has full 3D VIP metallic typography */
.pack.theme-vip1 .pack-title,
.pack.theme-vip2 .pack-title,
.pack.theme-vip3 .pack-title,
.pack[data-pack="vip1"] .pack-title,
.pack[data-pack="vip2"] .pack-title,
.pack[data-pack="vip3"] .pack-title {
    display: none !important;
}

/* Floating Glassmorphic Action Buttons */
.pack.theme-vip1 .pack-preview-btn,
.pack.theme-vip2 .pack-preview-btn,
.pack.theme-vip3 .pack-preview-btn,
.pack[data-pack="vip1"] .pack-preview-btn,
.pack[data-pack="vip2"] .pack-preview-btn,
.pack[data-pack="vip3"] .pack-preview-btn,
.pack.theme-vip1 .pack-fav-btn,
.pack.theme-vip2 .pack-fav-btn,
.pack.theme-vip3 .pack-fav-btn,
.pack[data-pack="vip1"] .pack-fav-btn,
.pack[data-pack="vip2"] .pack-fav-btn,
.pack[data-pack="vip3"] .pack-fav-btn {
    background: rgba(15, 23, 42, 0.90);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.4);
    z-index: 10;
}

.pack.theme-vip1 .pack-preview-btn,
.pack.theme-vip2 .pack-preview-btn,
.pack.theme-vip3 .pack-preview-btn,
.pack[data-pack="vip1"] .pack-preview-btn,
.pack[data-pack="vip2"] .pack-preview-btn,
.pack[data-pack="vip3"] .pack-preview-btn {
    left: auto;
    right: 34px;
    top: 9px;
}

.pack.theme-vip1 .pack-fav-btn,
.pack.theme-vip2 .pack-fav-btn,
.pack.theme-vip3 .pack-fav-btn,
.pack[data-pack="vip1"] .pack-fav-btn,
.pack[data-pack="vip2"] .pack-fav-btn,
.pack[data-pack="vip3"] .pack-fav-btn {
    right: 8px;
    left: auto;
    top: 9px;
}

.pack.theme-vip1 .pack-preview-btn:hover,
.pack.theme-vip2 .pack-preview-btn:hover,
.pack.theme-vip3 .pack-preview-btn:hover,
.pack[data-pack="vip1"] .pack-preview-btn:hover,
.pack[data-pack="vip2"] .pack-preview-btn:hover,
.pack[data-pack="vip3"] .pack-preview-btn:hover,
.pack.theme-vip1 .pack-fav-btn:hover,
.pack.theme-vip2 .pack-fav-btn:hover,
.pack.theme-vip3 .pack-fav-btn:hover,
.pack[data-pack="vip1"] .pack-fav-btn:hover,
.pack[data-pack="vip2"] .pack-fav-btn:hover,
.pack[data-pack="vip3"] .pack-fav-btn:hover {
    background: rgba(15, 23, 42, 0.95);
    border-color: rgba(255, 255, 255, 0.45);
    transform: scale(1.08);
}

/* Floating Luxury VIP Ribbon */
.pack.theme-vip1 .pack-vip-ribbon,
.pack.theme-vip2 .pack-vip-ribbon,
.pack.theme-vip3 .pack-vip-ribbon,
.pack[data-pack="vip1"] .pack-vip-ribbon,
.pack[data-pack="vip2"] .pack-vip-ribbon,
.pack[data-pack="vip3"] .pack-vip-ribbon {
    position: absolute;
    top: 9px;
    left: 9px;
    z-index: 10;
    padding: 3.5px 8.5px;
    border-radius: 999px;
    font-size: 8.5px;
    font-weight: 900;
    letter-spacing: 0.4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

.pack-vip-ribbon.vip-tier-1 {
    background: linear-gradient(135deg, #f8fafc 0%, #cbd5e1 50%, #94a3b8 100%);
    color: #0f172a;
    border: 1px solid #94a3b8;
}

.pack-vip-ribbon.vip-tier-2 {
    background: linear-gradient(135deg, #fef08a 0%, #facc15 50%, #d97706 100%);
    color: #78350f;
    border: 1px solid #b45309;
}

.pack-vip-ribbon.vip-tier-3 {
    background: linear-gradient(135deg, #0f172a 0%, #312e81 50%, #4338ca 100%);
    color: #e0e7ff;
    border: 1px solid #818cf8;
}

.pack.theme-vip1 .pack-price,
.pack.theme-vip2 .pack-price,
.pack.theme-vip3 .pack-price,
.pack[data-pack="vip1"] .pack-price,
.pack[data-pack="vip2"] .pack-price,
.pack[data-pack="vip3"] .pack-price {
    background: linear-gradient(145deg, #10b981 0%, #059669 100%);
    box-shadow: 0 6px 18px -2px rgba(16, 185, 129, 0.48), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.75);
    color: #ffffff;
}

/* Mini-pack unbox screen themes */
.mini-pack {
    width: 58px;
    height: 92px;
    flex: 0 0 58px;
    border-radius: 12px;
    background: #ffffff;
    position: relative;
    overflow: hidden;
    -webkit-mask-image: -webkit-radial-gradient(white, black);
    mask-image: radial-gradient(white, black);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
}

.mini-pack-header {
    flex: 0 0 22%;
    height: 22%;
    min-height: 0;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 8px;
    font-weight: 850;
    text-align: center;
    background: linear-gradient(155deg, #ff4122 0%, #ee3818 100%);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}

.mini-pack-body {
    flex: 1 1 78%;
    height: 78%;
    min-height: 0;
    box-sizing: border-box;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3px;
    background: radial-gradient(circle at 50% 50%, #ffffff 0%, #f1f3f7 100%);
    overflow: hidden;
}

.mini-pack-body img {
    position: absolute;
    inset: 0;
    margin: auto;
    width: auto;
    height: auto;
    max-width: 86%;
    max-height: 86%;
    object-fit: contain;
    display: block;
}

.mini-pack.theme-apple .mini-pack-header { background: linear-gradient(155deg, #ff4122 0%, #b91c0a 100%); }
.mini-pack.theme-gaming .mini-pack-header { background: linear-gradient(155deg, #6366f1 0%, #312e81 100%); }
.mini-pack.theme-cash .mini-pack-header { background: linear-gradient(155deg, #10b981 0%, #047857 100%); }
.mini-pack.theme-subscription .mini-pack-header { background: linear-gradient(155deg, #a855f7 0%, #581c87 100%); }
.mini-pack.theme-sneakers .mini-pack-header { background: linear-gradient(155deg, #fb923c 0%, #9a3412 100%); }
.mini-pack.theme-luxury .mini-pack-header { background: linear-gradient(155deg, #fbbf24 0%, #78350f 100%); }
.mini-pack.theme-tech .mini-pack-header { background: linear-gradient(155deg, #38bdf8 0%, #0369a1 100%); }
.mini-pack.theme-fashion-men .mini-pack-header { background: linear-gradient(155deg, #c084fc 0%, #7e22ce 100%); }
.mini-pack.theme-fashion-women .mini-pack-header { background: linear-gradient(155deg, #fb7185 0%, #be123c 100%); }
.mini-pack.theme-fashion .mini-pack-header { background: linear-gradient(155deg, #a855f7 0%, #f43f8e 100%); }
.mini-pack.theme-vacation .mini-pack-header { background: linear-gradient(155deg, #22d3ee 0%, #0891b2 100%); }
.mini-pack.theme-lucky-penny .mini-pack-header { background: linear-gradient(155deg, #fbbf24 0%, #92400e 100%); }
.mini-pack.theme-vip1 .mini-pack-header { background: linear-gradient(155deg, #94a3b8 0%, #475569 100%); }
.mini-pack.theme-vip2 .mini-pack-header { background: linear-gradient(155deg, #f59e0b 0%, #b45309 100%); }
.mini-pack.theme-vip3 .mini-pack-header { background: linear-gradient(155deg, #0f172a 0%, #312e81 50%, #4338ca 100%); }


/* ==================================================
   APPLE PACK SCREEN
================================================== */

.apple-screen {
    display: none;
    min-height: 100vh;
    padding: 16px 16px 40px;
    background: #fafaf9;
}

/* ==================================================
   APPLE TOP
================================================== */

.apple-top {
    min-height: calc(52px + env(safe-area-inset-top, 0px));
    padding: env(safe-area-inset-top, 0px) 16px 8px;
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(250, 250, 249, 0.94);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 14px;
    box-sizing: border-box;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}

.apple-top h2 {
    margin: 0;
    font-size: 17px;
    font-weight: 800;
    color: #000;
    letter-spacing: -0.3px;
    flex: 1;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 0 4px;
}

.apple-top-right {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    margin-left: 0;
}

.balance.balance-pack {
    height: 32px;
    padding: 0 10px;
    font-size: 13px;
    gap: 5px;
    border-radius: 16px;
}

.balance.balance-pack img {
    width: 14px;
    height: 14px;
}

.back-button {
    flex-shrink: 0;
    min-width: 44px;
    min-height: 44px;
    width: 44px;
    height: 44px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.15s ease, background-color 0.15s ease;
}

.back-button:active {
    transform: scale(0.9);
}

/* ==================================================
   REEL WINDOW
================================================== */

.reel-window {
    position: relative;
    width: 100%;
    height: 126px;
    margin-top: 4px;
    border-radius: 16px;
    background: white;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

.reel-window.rolling {
    box-shadow: 0 4px 22px rgba(239, 67, 35, 0.18), 0 0 0 1.5px rgba(239, 67, 35, 0.35);
}

/* Vignette edge shadows for realistic depth */
.reel-window::before,
.reel-window::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 44px;
    z-index: 20;
    pointer-events: none;
}

.reel-window::before {
    left: 0;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.5) 50%, transparent 100%);
}

.reel-window::after {
    right: 0;
    background: linear-gradient(270deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.5) 50%, transparent 100%);
}

/* Backdrop Logo Outline (Behind Products) */
.reel-backdrop-logo {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 104px;
    height: 106px;
    z-index: 2;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

.logo-outline-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.reel-track {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 0 60px;
    z-index: 10;
    will-change: transform;
}

.reel-item {
    width: 88px;
    height: 105px;
    flex: 0 0 88px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 12;
}

.reel-item img {
    width: 78px;
    height: 78px;
    max-width: 78px;
    max-height: 78px;
    object-fit: contain;
    display: block;
    position: relative;
    z-index: 3;
    transition: transform 0.25s cubic-bezier(0.18, 0.89, 0.32, 1.28);
}

/* ==================================================
   PRODUCT VALUE-BASED GLOW (BACKSIDE OF PRODUCT)
================================================== */

.product-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 76px;
    height: 76px;
    border-radius: 50%;
    pointer-events: none;
    z-index: 1;
    transform: translate(-50%, -50%);
    transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.3s ease;
}

/* Tier 0: Jackpot Prismatic Crimson & Gold (1-Year Claude Pro, Adobe CC) */
.glow-jackpot {
    background: radial-gradient(circle, rgba(239, 68, 68, 0.95) 0%, rgba(245, 158, 11, 0.75) 35%, rgba(168, 85, 247, 0.45) 60%, transparent 80%);
    filter: blur(14px);
    opacity: 1;
    box-shadow: 0 0 32px rgba(245, 158, 11, 0.6);
}

/* Tier 1: $1500 Legendary Gold (iPhone 18 Pro Max) */
.glow-legendary {
    background: radial-gradient(circle, rgba(255, 195, 0, 0.82) 0%, rgba(255, 110, 0, 0.52) 42%, rgba(239, 67, 35, 0.22) 68%, transparent 78%);
    filter: blur(14px);
    opacity: 0.95;
    box-shadow: 0 0 28px rgba(255, 185, 0, 0.5);
}

/* Tier 2: $549 Epic Ruby / Neon Magenta (Headphones) */
.glow-epic {
    background: radial-gradient(circle, rgba(244, 63, 140, 0.78) 0%, rgba(192, 38, 211, 0.48) 48%, rgba(147, 51, 234, 0.2) 70%, transparent 78%);
    filter: blur(13px);
    opacity: 0.9;
    box-shadow: 0 0 24px rgba(244, 63, 140, 0.42);
}

/* Tier 3: $399 Ultra Royal Violet (Apple Watch) */
.glow-purple,
.glow-ultra {
    background: radial-gradient(circle, rgba(168, 85, 247, 0.72) 0%, rgba(99, 102, 241, 0.44) 48%, transparent 75%);
    filter: blur(13px);
    opacity: 0.88;
    box-shadow: 0 0 22px rgba(168, 85, 247, 0.38);
}

/* Tier 4: $249 Rare Electric Cyan / Ice Blue (AirPods Pro) */
.glow-rare {
    background: radial-gradient(circle, rgba(14, 165, 233, 0.68) 0%, rgba(59, 130, 246, 0.38) 50%, transparent 75%);
    filter: blur(12px);
    opacity: 0.84;
    box-shadow: 0 0 20px rgba(14, 165, 233, 0.35);
}

/* Tier 5: $0.50 Uncommon Orange ($0.50 Voucher) */
.glow-uncommon {
    background: radial-gradient(circle, rgba(239, 67, 35, 0.48) 0%, rgba(255, 120, 64, 0.26) 50%, transparent 75%);
    filter: blur(10px);
    opacity: 0.75;
    box-shadow: 0 0 14px rgba(239, 67, 35, 0.25);
}

/* Tier 6: $0.10 Common Light Coral ($0.10 Voucher) */
.glow-common {
    background: radial-gradient(circle, rgba(255, 145, 110, 0.32) 0%, transparent 70%);
    filter: blur(9px);
    opacity: 0.55;
}

/* ==================================================
   REEL CENTER POINTERS (FIGMA)
================================================== */

.reel-marker {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 0;
    transform: translateX(-50%);
    z-index: 28;
    pointer-events: none;
}

.marker-top {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    width: 16px;
    height: 12px;
    z-index: 29;
    filter: drop-shadow(0 2px 4px rgba(239, 67, 35, 0.45));
    will-change: transform;
    transition: transform 0.05s ease-out;
}

.marker-top svg {
    display: block;
    width: 16px;
    height: 12px;
}

.marker-top.kick {
    transform: translateX(-50%) translateY(2.5px) scale(1.15);
    filter: drop-shadow(0 0 8px rgba(239, 67, 35, 0.85));
}

.marker-bottom {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 16px;
    height: 12px;
    z-index: 29;
    filter: drop-shadow(0 -2px 4px rgba(239, 67, 35, 0.45));
    will-change: transform;
    transition: transform 0.05s ease-out;
}

.marker-bottom svg {
    display: block;
    width: 16px;
    height: 12px;
}

.marker-bottom.kick {
    transform: translateX(-50%) translateY(-2.5px) scale(1.15);
    filter: drop-shadow(0 0 8px rgba(239, 67, 35, 0.85));
}

/* ==================================================
   WINNER CELEBRATION
================================================== */

.reel-item.winner img {
    animation: winnerPulse 0.65s cubic-bezier(0.18, 0.89, 0.32, 1.28) 3;
}

.reel-item.winner .product-glow {
    transform: translate(-50%, -50%) scale(1.52);
    opacity: 1;
    filter: blur(20px);
}

@keyframes winnerPulse {
    0% { transform: scale(1); }
    40% { transform: scale(1.18); }
    70% { transform: scale(1.08); }
    100% { transform: scale(1.15); }
}

/* ==================================================
   PACK CONTROLS
================================================== */

.pack-controls {
    margin-top: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.quantity-control {
    height: 32px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    border: 1.5px solid #ef4323;
    border-radius: 20px;
    background: white;
}

.quantity-control button {
    width: 20px;
    height: 20px;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000;
}

.quantity-control span {
    font-size: 14px;
    font-weight: 700;
    color: #000;
    min-width: 18px;
    text-align: center;
}

.open-button {
    height: 34px;
    padding: 0 18px;
    border: none;
    border-radius: 20px;
    background: #ef4323;
    color: white;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(239, 67, 35, 0.3);
    transition: transform 0.15s ease;
}

.open-button:active {
    transform: scale(0.96);
}

/* ==================================================
   SECONDARY CONTROLS (DEMO & SOUND / SPEED)
================================================== */

.secondary-controls {
    margin-top: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.demo-button {
    height: 32px;
    min-width: 130px;
    padding: 0 18px;
    border: 1.5px solid #ef4323;
    border-radius: 20px;
    background: white;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #000;
    transition: transform 0.15s ease;
}

.demo-button:active {
    transform: scale(0.96);
}

.sound-buttons {
    height: 32px;
    display: flex;
    align-items: center;
    border: 1.5px solid #ef4323;
    border-radius: 20px;
    background: white;
    padding: 0 6px;
}

.sound-buttons button {
    width: 34px;
    height: 100%;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sound-buttons-divider {
    width: 1px;
    height: 16px;
    background: #ef4323;
    opacity: 0.3;
}

/* ==================================================
   PACK INFO (FIGMA MINI PACK TICKET)
================================================== */

.pack-info {
    margin-top: 22px;
    display: flex;
    align-items: center;
    gap: 14px;
}


.pack-info-text h3 {
    margin: 0 0 4px;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.15;
    color: #000;
}

.pack-info-text p {
    margin: 0 0 4px;
    font-size: 14px;
    color: #555;
    font-weight: 500;
}

.pack-info-text strong {
    font-size: 16px;
    font-weight: 800;
    color: #000;
}

/* ==================================================
   DROPS GRID
================================================== */

.drops-grid {
    margin-top: 18px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 14px;
    row-gap: 14px;
}

.drop-card {
    position: relative;
    height: 136px;
    border: 1.5px solid #ef4323;
    border-radius: 16px;
    background-color: #ffffff;
    background-image: 
        radial-gradient(circle at 50% 45%, #ffffff 20%, #fbfcfe 65%, #f1f5f9 100%),
        linear-gradient(rgba(15, 23, 42, 0.015) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, 0.015) 1px, transparent 1px);
    background-size: 100% 100%, 14px 14px, 14px 14px;
    background-position: center center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 8px 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.drop-card:hover .product-glow {
    transform: translate(-50%, -50%) scale(1.18);
    opacity: 1;
}

.drop-card:active {
    transform: scale(0.97);
}

.drop-card .product-glow {
    width: 84px;
    height: 84px;
    top: 48%;
    left: 50%;
}

.drop-card img {
    width: 74px;
    height: 74px;
    max-width: 74px;
    max-height: 74px;
    object-fit: contain;
    display: block;
    margin: 10px auto 6px;
    position: relative;
    z-index: 2;
    transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

.drop-card:hover img {
    transform: scale(1.08);
}

.odds {
    position: absolute;
    top: 8px;
    left: 10px;
    color: #777;
    font-size: 10px;
    font-weight: 600;
    z-index: 5;
}

.drop-name {
    color: #18181b;
    text-align: center;
    font-size: 11.5px;
    font-weight: 700;
    line-height: 1.25;
    margin-top: auto;
    padding: 0 4px 2px;
    position: relative;
    z-index: 5;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
}

/* ==================================================
   PRODUCT PREVIEW MODAL (FIGMA)
================================================== */

.modal-product-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    pointer-events: none;
    z-index: 1;
    transform: translate(-50%, -50%);
    filter: blur(28px);
    opacity: 0.9;
    transition: all 0.35s ease;
}

.product-modal-image {
    width: 100%;
    height: 170px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 10px 0 14px;
    position: relative;
}

.product-modal-image img {
    max-width: 85%;
    max-height: 100%;
    object-fit: contain;
    position: relative;
    z-index: 2;
}

/* ==================================================
   PRODUCT PREVIEW MODAL (FIGMA)
================================================== */

.product-modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 10001;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    backdrop-filter: blur(3px);
}

.product-modal-card {
    width: 100%;
    max-width: 300px;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 22px;
    padding: 14px 16px 16px;
    box-shadow: 0 20px 45px -10px rgba(0, 0, 0, 0.3);
    display: flex;
    flex-direction: column;
    position: relative;
    animation: modalPop 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes modalPop {
    from { transform: scale(0.92); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}

.product-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.product-modal-price {
    background: #fee2e2;
    color: #ef4323;
    font-weight: 800;
    font-size: 13px;
    padding: 3px 10px;
    border-radius: 12px;
    border: 1px solid #fecaca;
    letter-spacing: -0.2px;
}

.product-modal-close {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #64748b;
    font-size: 12px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    transition: all 0.2s ease;
}
.product-modal-close:hover {
    background: #fee2e2;
    color: #ef4323;
    border-color: #fca5a5;
    transform: rotate(90deg);
}

/* Modern Holographic Showroom Pedestal with Ultra-Low Opacity Masked Grid */
.product-modal-image {
    width: 100%;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 6px 0 10px;
    position: relative;
    border-radius: 16px;
    background: radial-gradient(ellipse at 50% 50%, #ffffff 30%, #f8fafc 75%, #f1f5f9 100%);
    border: 1px solid #e2e8f0;
    box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.9), 0 2px 6px rgba(0, 0, 0, 0.02);
    overflow: hidden;
}

.product-modal-image::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: 
        linear-gradient(rgba(15, 23, 42, 0.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, 0.018) 1px, transparent 1px);
    background-size: 12px 12px;
    background-position: center center;
    mask-image: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.9) 20%, rgba(0, 0, 0, 0) 75%);
    -webkit-mask-image: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.9) 20%, rgba(0, 0, 0, 0) 75%);
    pointer-events: none;
}

.product-modal-image img {
    max-width: 82%;
    max-height: 95%;
    object-fit: contain;
    position: relative;
    z-index: 2;
}

.product-modal-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 4px;
}

.product-modal-content h3 {
    margin: 0;
    font-size: 15px;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.25;
}

.product-modal-tier-tag {
    font-size: 8.5px;
    font-weight: 800;
    letter-spacing: 0.5px;
    padding: 2px 6px;
    border-radius: 5px;
    text-transform: uppercase;
    flex-shrink: 0;
}
.product-modal-tier-tag.jackpot { background: linear-gradient(135deg, #fef2f2 0%, #fffbeb 50%, #faf5ff 100%); color: #b91c1c; border: 1px solid rgba(239, 68, 68, 0.4); font-weight: 800; }
.product-modal-tier-tag.legendary { background: #fef3c7; color: #b45309; border: 1px solid #fde68a; }
.product-modal-tier-tag.epic { background: #fce7f3; color: #be185d; border: 1px solid #fbcfe8; }
.product-modal-tier-tag.purple { background: #f3e8ff; color: #7e22ce; border: 1px solid #e9d5ff; }
.product-modal-tier-tag.rare { background: #dbeafe; color: #1d4ed8; border: 1px solid #bfdbfe; }
.product-modal-tier-tag.uncommon { background: #dcfce7; color: #15803d; border: 1px solid #bbf7d0; }
.product-modal-tier-tag.common { background: #f1f5f9; color: #64748b; border: 1px solid #e2e8f0; }

.product-modal-content p {
    margin: 0 0 10px;
    font-size: 11px;
    line-height: 1.4;
    color: #64748b;
    min-height: auto;
}

/* Clean Info Stat Card */
.product-modal-stats-card {
    display: flex;
    align-items: center;
    justify-content: space-around;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 8px 12px;
    margin-bottom: 12px;
}

.product-stat-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 2px;
}

.product-stat-label {
    font-size: 10px;
    font-weight: 600;
    color: #64748b;
}

.product-stat-val {
    font-size: 13px;
    font-weight: 800;
    color: #0f172a;
}

.product-stat-divider {
    width: 1px;
    height: 24px;
    background: #e2e8f0;
}

.product-modal-action {
    width: 100%;
    background: #0f172a;
    color: #ffffff;
    padding: 10px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    border: none;
    transition: all 0.2s ease;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.12);
}

.product-modal-action:hover {
    background: #1e293b;
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.2);
}

.product-modal-action:active {
    transform: scale(0.98);
}

/* ==================================================
   REEL LANDING & WINNER HIGHLIGHT
================================================== */

.reel-window.suspense-active {
    box-shadow: 0 0 26px rgba(239, 67, 35, 0.45);
    border-color: #ef4323;
    transition: box-shadow 0.25s ease, border-color 0.25s ease;
}

.reel-window.suspense-active .marker-top,
.reel-window.suspense-active .marker-bottom {
    filter: drop-shadow(0 0 8px #ef4323);
    transform: translateX(-50%) scale(1.2);
}

/* ==================================================
   REWARD CELEBRATION POPUP SCREEN (SUSPENSE & REVEAL)
================================================== */

.reward-modal-backdrop {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 440px;
    height: 100%;
    background: rgba(12, 10, 10, 0.88);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    z-index: 10002;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 16px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    overflow: hidden;
}

.reward-modal-backdrop.active {
    display: flex;
    opacity: 1;
    pointer-events: auto;
}

.reward-modal-backdrop:not(.active) .reward-sunburst,
.reward-modal-backdrop:not(.active) .reward-glow-ring,
.reward-modal-backdrop:not(.active) .reward-showcase img,
.reward-modal-backdrop:not(.active) .reward-backside-glow {
    animation-play-state: paused !important;
}

.reward-confetti-canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 510;
}

.reward-modal-container {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 520;
}

/* Rotating Sunburst Rays */
.reward-sunburst {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 420px;
    height: 420px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    pointer-events: none;
    z-index: 1;
    opacity: 0.85;
    animation: rotateSunburst 22s linear infinite;
    mask-image: radial-gradient(circle, black 35%, transparent 75%);
    -webkit-mask-image: radial-gradient(circle, black 35%, transparent 75%);
}

@keyframes rotateSunburst {
    from { transform: translate(-50%, -50%) rotate(0deg); }
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Suspense Flash Effect */
.reward-suspense-flash {
    position: absolute;
    inset: -50px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.95) 0%, transparent 70%);
    pointer-events: none;
    opacity: 0;
    z-index: 10;
    transition: opacity 0.4s ease;
}

.reward-suspense-flash.flash {
    animation: suspenseFlash 0.55s ease-out forwards;
}

@keyframes suspenseFlash {
    0% { opacity: 0.95; transform: scale(0.8); }
    100% { opacity: 0; transform: scale(1.4); }
}

/* Reward Card */
.reward-card {
    width: 100%;
    max-width: 350px;
    background: #ffffff;
    border-radius: 26px;
    padding: 22px 20px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 2;
    box-shadow: 0 16px 45px rgba(0, 0, 0, 0.45), 0 0 0 1.5px rgba(255, 255, 255, 0.3);
    transform: scale(0.65) translateY(24px);
    opacity: 0;
    transition: transform 0.55s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease;
}

.reward-modal-backdrop.active .reward-card {
    transform: scale(1) translateY(0);
    opacity: 1;
}

/* Close Button */
.reward-close-btn {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: rgba(0, 0, 0, 0.04);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #666;
    transition: transform 0.15s ease, background 0.15s ease, color 0.15s ease;
    z-index: 5;
}

.reward-close-btn:hover {
    background: rgba(239, 67, 35, 0.1);
    color: #ef4323;
}

.reward-close-btn:active {
    transform: scale(0.92);
}

/* Rarity Badge Header */
.reward-rarity-badge {
    height: 28px;
    padding: 0 16px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 12px;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12);
}

.reward-rarity-icon {
    font-size: 12px;
}

/* Tier Badges */
.badge-legendary {
    background: linear-gradient(135deg, #ffb300, #ff5722);
    color: #ffffff;
    box-shadow: 0 3px 12px rgba(255, 179, 0, 0.45);
}

.badge-epic {
    background: linear-gradient(135deg, #f43f8e, #a855f7);
    color: #ffffff;
    box-shadow: 0 3px 12px rgba(244, 63, 142, 0.4);
}

.badge-purple {
    background: linear-gradient(135deg, #a855f7, #6366f1);
    color: #ffffff;
    box-shadow: 0 3px 12px rgba(168, 85, 247, 0.4);
}

.badge-rare {
    background: linear-gradient(135deg, #0ea5e9, #3b82f6);
    color: #ffffff;
    box-shadow: 0 3px 12px rgba(14, 165, 233, 0.4);
}

.badge-uncommon {
    background: linear-gradient(135deg, #ef4323, #ff7844);
    color: #ffffff;
    box-shadow: 0 3px 10px rgba(239, 67, 35, 0.3);
}

.badge-common {
    background: linear-gradient(135deg, #888888, #555555);
    color: #ffffff;
}

/* Showcase Product Image with Radiant Glow */
.reward-showcase {
    position: relative;
    width: 100%;
    height: 165px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 6px 0 12px;
}

.reward-glow-ring {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 175px;
    height: 175px;
    border-radius: 50%;
    pointer-events: none;
    z-index: 2;
    transform: translate(-50%, -50%);
    border: 1.5px dashed rgba(255, 255, 255, 0.35);
    opacity: 0.65;
    animation: rotateGlowRing 26s linear infinite;
}

@keyframes rotateGlowRing {
    from { transform: translate(-50%, -50%) rotate(0deg); }
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

.reward-showcase img {
    max-width: 86%;
    max-height: 148px;
    object-fit: contain;
    display: block;
    position: relative;
    z-index: 3;
    animation: rewardFloat 3.6s ease-in-out infinite;
}

.reward-modal-backdrop.active .reward-showcase img {
    animation: rewardProductReveal 0.75s cubic-bezier(0.16, 1.25, 0.38, 1) forwards, rewardFloat 3.6s ease-in-out 0.75s infinite alternate;
}

@keyframes rewardProductReveal {
    0% {
        opacity: 0;
        transform: scale(0.35) translateY(40px) rotate(-6deg);
    }
    65% {
        opacity: 1;
        transform: scale(1.12) translateY(-8px) rotate(1.5deg);
    }
    100% {
        opacity: 1;
        transform: scale(1) translateY(0) rotate(0deg);
    }
}

@keyframes rewardFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

.reward-backside-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 155px;
    height: 155px;
    border-radius: 50%;
    pointer-events: none;
    z-index: 1;
    transform: translate(-50%, -50%);
    filter: blur(28px);
    opacity: 0.95;
    animation: rewardGlowPulse 2.4s ease-in-out infinite alternate;
}

@keyframes rewardGlowPulse {
    from { transform: translate(-50%, -50%) scale(0.95); opacity: 0.85; }
    to { transform: translate(-50%, -50%) scale(1.18); opacity: 1; }
}

/* Price Pill */
.reward-value-pill {
    display: inline-flex;
    align-items: baseline;
    gap: 3px;
    background: #fff3f0;
    border: 1.5px solid #ef4323;
    padding: 4px 16px;
    border-radius: 20px;
    color: #ef4323;
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 8px;
    box-shadow: 0 2px 8px rgba(239, 67, 35, 0.15);
}

.reward-value-pill .reward-currency {
    font-size: 15px;
    font-weight: 800;
}

/* Product Title & Odds */
.reward-title {
    margin: 0 0 4px;
    font-size: 18px;
    font-weight: 800;
    color: #000;
    text-align: center;
    line-height: 1.25;
}

.reward-odds-info {
    font-size: 12px;
    color: #777;
    margin-bottom: 18px;
    display: flex;
    gap: 5px;
    align-items: center;
}

.reward-odds-info strong {
    color: #333;
    font-weight: 700;
}

/* Single View Container */
.reward-single-view {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Multi-Drop View Container (2x - 10x) */
.reward-multi-view {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 14px;
}

.reward-multi-summary {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 2px 0 10px;
}

.reward-multi-total-label {
    font-size: 11px;
    font-weight: 800;
    color: #888;
    letter-spacing: 0.8px;
    margin-bottom: 4px;
}

.reward-multi-total-pill {
    font-size: 24px;
    padding: 4px 20px;
    box-shadow: 0 3px 10px rgba(239, 67, 35, 0.2);
}

.reward-multi-grid {
    width: 100%;
    max-height: 250px;
    overflow-y: auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    padding: 4px 2px;
}

.reward-multi-grid::-webkit-scrollbar {
    width: 4px;
}

.reward-multi-grid::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

.reward-multi-grid::-webkit-scrollbar-thumb {
    background: rgba(239, 67, 35, 0.4);
    border-radius: 4px;
}

.reward-multi-item {
    background: #ffffff;
    border: 1.5px solid #ececec;
    border-radius: 14px;
    padding: 10px 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
    transition: transform 0.2s ease, border-color 0.2s ease;
    animation: multiItemPop 0.4s cubic-bezier(0.18, 1.25, 0.4, 1) both;
}

@keyframes multiItemPop {
    0% { opacity: 0; transform: scale(0.6) translateY(10px); }
    100% { opacity: 1; transform: scale(1) translateY(0); }
}

.reward-multi-item:hover {
    transform: translateY(-2px);
}

.reward-multi-item.tier-legendary { border-color: rgba(255, 179, 0, 0.7); background: #fffcf0; }
.reward-multi-item.tier-epic { border-color: rgba(244, 63, 140, 0.6); background: #fff5fa; }
.reward-multi-item.tier-purple,
.reward-multi-item.tier-ultra { border-color: rgba(168, 85, 247, 0.6); background: #faf5ff; }
.reward-multi-item.tier-rare { border-color: rgba(14, 165, 233, 0.6); background: #f0f9ff; }
.reward-multi-item.tier-uncommon { border-color: rgba(239, 67, 35, 0.5); background: #fff8f6; }
.reward-multi-item.tier-common { border-color: #e5e5e5; }

.reward-multi-thumb-wrap {
    width: 62px;
    height: 62px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-bottom: 4px;
}

.reward-multi-glow {
    position: absolute;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    filter: blur(12px);
    opacity: 0.85;
}

.reward-multi-img {
    max-width: 52px;
    max-height: 52px;
    object-fit: contain;
    position: relative;
    z-index: 2;
}

.reward-multi-name {
    font-size: 11px;
    font-weight: 700;
    color: #222;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.reward-multi-val {
    font-size: 12px;
    font-weight: 800;
    color: #ef4323;
    margin-top: 2px;
}

/* Action Buttons */
.reward-actions {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.reward-claim-btn {
    width: 100%;
    height: 46px;
    border: none;
    border-radius: 23px;
    background: #ef4323;
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    box-shadow: 0 4px 14px rgba(239, 67, 35, 0.38);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.reward-claim-btn:active {
    transform: scale(0.97);
}

.reward-again-btn {
    width: 100%;
    height: 42px;
    border: 1.5px solid #ef4323;
    border-radius: 21px;
    background: #ffffff;
    color: #ef4323;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: transform 0.15s ease, background 0.15s ease;
}

.reward-again-btn:hover {
    background: #fff6f4;
}

.reward-again-btn:active {
    transform: scale(0.97);
}

/* Floating Balance Increment Animation */
.balance-toast {
    position: fixed;
    top: 50px;
    right: 30px;
    color: #10b981;
    font-size: 15px;
    font-weight: 800;
    z-index: 600;
    pointer-events: none;
    animation: balanceToast 1.2s ease-out forwards;
}

@keyframes balanceToast {
    0% { opacity: 0; transform: translateY(0) scale(0.8); }
    30% { opacity: 1; transform: translateY(-10px) scale(1.15); }
    100% { opacity: 0; transform: translateY(-30px) scale(1); }
}

/* ==================================================
   WALLET DEPOSIT & BALANCE TOP-UP MODAL
================================================== */

.wallet-modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.68);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    box-sizing: border-box;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
}

.wallet-modal-backdrop.active {
    opacity: 1;
    pointer-events: auto;
}

.wallet-modal-card {
    width: 100%;
    max-width: 360px;
    background: #ffffff;
    border-radius: 24px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    position: relative;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(0, 0, 0, 0.05);
    transform: scale(0.92) translateY(16px);
    transition: transform 0.3s cubic-bezier(0.18, 1.25, 0.4, 1);
    max-height: 90vh;
    overflow-y: auto;
}

.wallet-modal-backdrop.active .wallet-modal-card {
    transform: scale(1) translateY(0);
}

.wallet-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}

.wallet-header-title-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
}

.wallet-icon-badge {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: #fff2ef;
    border: 1px solid rgba(239, 67, 35, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
}

.wallet-icon-badge img {
    width: 20px;
    height: 20px;
}

.wallet-header-title-wrap h3 {
    margin: 0;
    font-size: 17px;
    font-weight: 800;
    color: #111;
    line-height: 1.2;
}

.wallet-subtext {
    font-size: 11px;
    color: #888;
    font-weight: 600;
}

.wallet-modal-close {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.15s ease;
}

.wallet-modal-close:hover {
    background: #eee;
    transform: scale(1.05);
}

.wallet-balance-card {
    background: linear-gradient(135deg, #1f1f1f, #111111);
    border-radius: 18px;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
}

.wallet-balance-info {
    display: flex;
    flex-direction: column;
}

.wallet-balance-label {
    font-size: 10px;
    font-weight: 700;
    color: #999;
    letter-spacing: 0.6px;
}

.wallet-balance-value {
    font-size: 22px;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: -0.3px;
    margin-top: 2px;
}

.wallet-secure-badge {
    display: flex;
    align-items: center;
    gap: 5px;
    background: rgba(16, 185, 129, 0.15);
    border: 1px solid rgba(16, 185, 129, 0.3);
    padding: 4px 9px;
    border-radius: 12px;
    color: #10b981;
    font-size: 11px;
    font-weight: 700;
}

.wallet-section {
    margin-bottom: 14px;
}

.wallet-section-title {
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: #555;
    margin-bottom: 8px;
}

.wallet-amount-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
    margin-bottom: 8px;
}

.wallet-amt-pill {
    height: 34px;
    border-radius: 10px;
    border: 1.5px solid #ececec;
    background: #ffffff;
    font-size: 13px;
    font-weight: 700;
    color: #333;
    cursor: pointer;
    transition: all 0.15s ease;
}

.wallet-amt-pill:hover {
    border-color: #ef4323;
}

.wallet-amt-pill.active {
    background: #ef4323;
    border-color: #ef4323;
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(239, 67, 35, 0.3);
}

.wallet-custom-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.wallet-currency-symbol {
    position: absolute;
    left: 14px;
    font-size: 15px;
    font-weight: 700;
    color: #777;
}

.wallet-custom-input {
    width: 100%;
    height: 38px;
    border-radius: 12px;
    border: 1.5px solid #ececec;
    background: #fafafa;
    padding: 0 14px 0 28px;
    font-size: 14px;
    font-weight: 700;
    color: #111;
    outline: none;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.wallet-custom-input:focus {
    border-color: #ef4323;
    background: #ffffff;
}

.wallet-methods-grid {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.wallet-method-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 12px;
    border-radius: 12px;
    border: 1.5px solid #eeeeee;
    background: #ffffff;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.wallet-method-card:hover {
    border-color: #fca593;
}

.wallet-method-card.active {
    border-color: #ef4323;
    background: #fff8f6;
}

.wallet-method-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
}

.wallet-method-details {
    display: flex;
    flex-direction: column;
}

.wallet-method-name {
    font-size: 12px;
    font-weight: 700;
    color: #111;
}

.wallet-method-tag {
    font-size: 10px;
    font-weight: 600;
    color: #ef4323;
}

.wallet-promo-wrap {
    display: flex;
    gap: 8px;
}

.wallet-promo-input {
    flex: 1;
    height: 36px;
    border-radius: 10px;
    border: 1.5px solid #ececec;
    background: #fafafa;
    padding: 0 12px;
    font-size: 12px;
    font-weight: 600;
    color: #111;
    outline: none;
    text-transform: uppercase;
}

.wallet-promo-input:focus {
    border-color: #ef4323;
    background: #ffffff;
}

.wallet-promo-btn {
    height: 36px;
    padding: 0 14px;
    border-radius: 10px;
    border: 1.5px solid #ef4323;
    background: #ffffff;
    color: #ef4323;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.wallet-promo-btn:hover {
    background: #ef4323;
    color: #ffffff;
}

.wallet-promo-feedback {
    margin-top: 6px;
    font-size: 11px;
    font-weight: 600;
}

.wallet-promo-feedback.success {
    color: #10b981;
}

.wallet-promo-feedback.error {
    color: #ef4444;
}

.wallet-actions {
    background: #fafafa;
    border-radius: 14px;
    padding: 12px;
    margin-top: 4px;
}

.wallet-summary-row {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: #666;
    margin-bottom: 4px;
}

.wallet-summary-row strong {
    color: #111;
}

.wallet-summary-row.bonus-row {
    color: #10b981;
}

.wallet-summary-row.bonus-row strong {
    color: #10b981;
}

.wallet-summary-row.total-row {
    border-top: 1px dashed #e0e0e0;
    padding-top: 6px;
    margin-top: 4px;
    font-size: 13px;
    font-weight: 800;
    color: #111;
}

.wallet-summary-row.total-row strong {
    color: #ef4323;
    font-size: 15px;
}

.wallet-deposit-btn {
    width: 100%;
    height: 44px;
    border: none;
    border-radius: 22px;
    background: #ef4323;
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 10px;
    box-shadow: 0 4px 14px rgba(239, 67, 35, 0.35);
    transition: transform 0.15s ease, background 0.15s ease;
}

.wallet-deposit-btn:active {
    transform: scale(0.97);
}

/* ==================================================
   NAVIGATION DRAWER MENU
================================================== */

.menu-drawer-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: 2500;
    display: flex;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.28s ease;
}

.menu-drawer-backdrop.active {
    opacity: 1;
    pointer-events: auto;
}

.menu-drawer-container {
    width: 100%;
    max-width: 440px;
    height: 100%;
    position: relative;
    display: flex;
    justify-content: flex-end;
    pointer-events: none;
    overflow: hidden;
}

.menu-drawer {
    width: 86%;
    max-width: 340px;
    height: 100%;
    background: #ffffff;
    box-shadow: -8px 0 32px rgba(0, 0, 0, 0.35);
    display: flex;
    flex-direction: column;
    padding: 16px 18px 36px;
    box-sizing: border-box;
    overflow-y: auto;
    overflow-x: hidden;
    pointer-events: auto;
    transform: translateX(100%);
    transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1);
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.15) transparent;
}

.menu-drawer::-webkit-scrollbar {
    width: 4px;
}
.menu-drawer::-webkit-scrollbar-track {
    background: transparent;
}
.menu-drawer::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.15);
    border-radius: 4px;
}
.menu-drawer::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.28);
}

.menu-drawer-backdrop.active .menu-drawer {
    transform: translateX(0);
}

.menu-drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    top: -16px;
    margin: -16px -18px 14px;
    padding: 16px 18px 12px;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 20;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.menu-drawer-logo {
    width: 90px;
    height: auto;
    display: block;
}

.menu-drawer-close {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: none;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.15s ease;
}

.menu-drawer-close:hover {
    background: #eee;
    transform: scale(1.06);
}

/* User Profile Card */
.menu-user-card {
    background: #ffffff;
    border: 1.5px solid #ececee;
    border-radius: 16px;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 22px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
    cursor: pointer;
    transition: all 0.18s ease;
}

.menu-user-card:hover {
    border-color: #ffdcd4;
    box-shadow: 0 4px 16px rgba(239, 67, 35, 0.08);
}

.menu-user-top-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.menu-user-avatar-wrap {
    position: relative;
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    border-radius: 50%;
    box-shadow: 0 0 0 2px rgba(239, 67, 35, 0.2), 0 3px 8px rgba(0, 0, 0, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.menu-user-avatar-wrap:hover {
    transform: scale(1.04);
    box-shadow: 0 0 0 3px rgba(239, 67, 35, 0.3), 0 4px 12px rgba(0, 0, 0, 0.12);
}

.menu-user-avatar-img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.menu-user-online-dot {
    position: absolute;
    bottom: -1px;
    right: -1px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #10b981;
    border: 2px solid #ffffff;
    box-shadow: 0 0 0 1px rgba(16, 185, 129, 0.25);
}

.menu-user-details {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.menu-user-name-line {
    display: flex;
    align-items: center;
    gap: 8px;
}

.menu-username {
    font-size: 14.5px;
    font-weight: 800;
    color: #111111;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: -0.2px;
}

.menu-vip-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 800;
    padding: 2.5px 7.5px;
    border-radius: 9999px;
    letter-spacing: 0.4px;
    flex-shrink: 0;
    text-transform: uppercase;
    transition: all 0.2s ease;
}

/* VIP 0: Member (< $1,000 deposits) */
.menu-vip-badge.vip-tier-0,
.wallet-hero-vip-badge.vip-tier-0,
.menu-vip-badge {
    background: #f1f5f9;
    color: #64748b;
    border: 1px solid #cbd5e1;
}

/* VIP 1: Silver Tier (> $1,000 deposits) */
.menu-vip-badge.vip-tier-1,
.wallet-hero-vip-badge.vip-tier-1 {
    background: linear-gradient(135deg, #f8fafc 0%, #cbd5e1 50%, #94a3b8 100%);
    color: #1e293b;
    border: 1px solid #94a3b8;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}

/* VIP 2: Gold Tier (> $5,000 deposits) */
.menu-vip-badge.vip-tier-2,
.wallet-hero-vip-badge.vip-tier-2 {
    background: linear-gradient(135deg, #fef08a 0%, #facc15 50%, #d97706 100%);
    color: #78350f;
    border: 1px solid #b45309;
    box-shadow: 0 2px 8px rgba(217, 119, 6, 0.25);
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.4);
}

/* VIP 3: Diamond Tier (> $10,000 deposits) */
.menu-vip-badge.vip-tier-3,
.wallet-hero-vip-badge.vip-tier-3 {
    background: linear-gradient(135deg, #0f172a 0%, #312e81 50%, #4338ca 100%);
    color: #e0e7ff;
    border: 1px solid #818cf8;
    box-shadow: 0 2px 10px rgba(99, 102, 241, 0.35);
}

.menu-user-id-sub {
    font-size: 11.5px;
    color: #71717a;
    margin-top: 2px;
    font-weight: 500;
}

.menu-user-balance-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 10px;
    border-top: 1px solid #f4f4f5;
}

.menu-balance-info {
    display: flex;
    flex-direction: column;
}

.menu-balance-label {
    font-size: 10px;
    color: #888888;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.menu-balance-val {
    font-size: 16px;
    font-weight: 900;
    color: #111111;
    letter-spacing: -0.4px;
}

.menu-deposit-shortcut-btn {
    border: none;
    border-radius: 20px;
    background: #ef4323;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    padding: 6px 14px;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(239, 67, 35, 0.25);
    transition: transform 0.15s ease, opacity 0.15s ease;
    white-space: nowrap;
}

.menu-deposit-shortcut-btn:hover {
    opacity: 0.95;
    transform: translateY(-1px);
}

.menu-deposit-shortcut-btn:active {
    transform: scale(0.96);
}

/* Navigation Section */
.menu-nav-section {
    margin-bottom: 20px;
}

.menu-section-label {
    display: block;
    font-size: 10px;
    font-weight: 800;
    color: #a1a1aa;
    letter-spacing: 0.8px;
    margin-bottom: 8px;
    padding-left: 4px;
}

.menu-nav-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.menu-nav-item {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 9px 12px;
    border-radius: 12px;
    border: none;
    background: transparent;
    cursor: pointer;
    color: #27272a;
    font-size: 13.5px;
    font-weight: 600;
    text-align: left;
    transition: all 0.15s ease;
}

.menu-nav-item:hover {
    background: #f4f4f5;
    color: #111111;
}

.menu-nav-item.active {
    background: #fff4f1;
    color: #ef4323;
    font-weight: 700;
}

.menu-nav-item.active .menu-nav-icon {
    background: #ffe6e0;
    color: #ef4323;
}

.menu-nav-icon {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: #f4f4f5;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #52525b;
    flex-shrink: 0;
    transition: all 0.15s ease;
}

.menu-nav-item:hover .menu-nav-icon {
    background: #ebebeb;
    color: #18181b;
}

.menu-nav-text {
    flex: 1;
}

.menu-nav-chevron {
    color: #c4c4c4;
    transition: transform 0.15s ease, color 0.15s ease;
    flex-shrink: 0;
}

.menu-nav-item:hover .menu-nav-chevron {
    color: #ef4323;
    transform: translateX(2px);
}

.menu-nav-admin {
    margin-top: 4px;
    background: #fafaf9;
    border: 1px solid #f0f0f0;
}

.profile-avatar-circle {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    position: relative;
    flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

.profile-avatar-img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

/* Preferences Toggle Rows */
.menu-setting-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    border-radius: 12px;
    background: #fafafa;
    margin-bottom: 6px;
}

.menu-setting-info {
    display: flex;
    flex-direction: column;
}

.menu-setting-name {
    font-size: 12px;
    font-weight: 700;
    color: #222;
}

.menu-setting-desc {
    font-size: 10px;
    color: #888;
}

/* Modern iOS Switch Toggle */
.menu-switch {
    position: relative;
    display: inline-block;
    width: 38px;
    height: 22px;
    flex-shrink: 0;
}

.menu-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.menu-slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: #e4e4e4;
    transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 22px;
}

.menu-slider:before {
    position: absolute;
    content: "";
    height: 16px;
    width: 16px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 50%;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

.menu-switch input:checked + .menu-slider {
    background-color: #ef4323;
}

.menu-switch input:checked + .menu-slider:before {
    transform: translateX(16px);
}

/* Menu Footer */
.menu-drawer-footer {
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid #f0f0f0;
}

.menu-social-links {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.menu-community-text {
    font-size: 11px;
    font-weight: 700;
    color: #888;
}

.menu-social-chips {
    display: flex;
    gap: 6px;
}

.social-chip {
    font-size: 10px;
    font-weight: 700;
    color: #555;
    background: #f4f4f4;
    padding: 3px 8px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.social-chip:hover {
    background: #ef4323;
    color: #ffffff;
}

.menu-footer-bottom {
    margin-top: 12px;
    font-size: 10px;
    color: #aaa;
    text-align: center;
    font-weight: 600;
}

/* ==================================================
   UNIVERSAL APP SCREENS & TOP BARS
================================================== */

.app-screen {
    min-height: 100vh;
    padding: 16px 16px 40px;
    background: #fafaf9;
    position: relative;
    box-sizing: border-box;
}

.screen-top {
    min-height: calc(52px + env(safe-area-inset-top, 0px));
    padding: env(safe-area-inset-top, 0px) 16px 8px;
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(250, 250, 249, 0.94);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: -16px -16px 16px -16px;
    box-sizing: border-box;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}

.screen-top h2 {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    color: #000;
    letter-spacing: -0.3px;
    flex: 1;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 0 4px;
}

.screen-top-right {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    margin-left: 0;
}

/* ==================================================
   WALLET SCREEN STYLING
================================================== */

.wallet-screen {
    display: none;
}

.wallet-hero-card {
    background: #ffffff;
    border: 1px solid #ececec;
    border-radius: 16px;
    padding: 16px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    margin-bottom: 16px;
}

.wallet-hero-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.wallet-hero-label {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.6px;
    color: #888888;
}

.wallet-hero-vip-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 10px;
    font-weight: 800;
    padding: 3px 8px;
    border-radius: 9999px;
    transition: all 0.2s ease;
}

.wallet-hero-balance {
    font-size: 32px;
    font-weight: 900;
    color: #000000;
    letter-spacing: -0.8px;
    line-height: 1.1;
    margin-bottom: 8px;
}

.wallet-hero-withdrawable-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #f8fafc;
    border: 1px solid #eef2f6;
    padding: 4px 10px;
    border-radius: 20px;
    margin-bottom: 16px;
}

.withdrawable-bullet {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #10b981;
    box-shadow: 0 0 6px rgba(16, 185, 129, 0.4);
    flex-shrink: 0;
}

.withdrawable-label {
    font-size: 11px;
    font-weight: 600;
    color: #64748b;
}

.withdrawable-val {
    font-size: 12px;
    font-weight: 700;
    color: #0f172a;
}

.wallet-hero-actions {
    display: flex;
    gap: 10px;
}

.wallet-hero-btn {
    flex: 1;
    height: 36px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    cursor: pointer;
    transition: transform 0.15s ease, opacity 0.15s ease;
}

.wallet-hero-btn:active {
    transform: scale(0.97);
}

.wallet-hero-btn.deposit {
    background: #ef4323;
    color: #ffffff;
    border: none;
    box-shadow: 0 2px 6px rgba(239, 67, 35, 0.25);
}

.wallet-hero-btn.withdraw {
    background: #ffffff;
    color: #000000;
    border: 1.5px solid #ef4323;
}

/* Tabs Bar */
.wallet-tabs-bar {
    display: flex;
    gap: 6px;
    background: #f0f0f0;
    padding: 4px;
    border-radius: 14px;
    margin-bottom: 18px;
}

.wallet-tab-item {
    flex: 1;
    height: 34px;
    border: none;
    border-radius: 10px;
    background: transparent;
    color: #666666;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.18s ease;
}

.wallet-tab-item.active {
    background: #ffffff;
    color: #ef4323;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}

/* Tab Views */
.wallet-view-pane {
    display: none;
}

.wallet-view-pane.active {
    display: block;
}

/* Withdraw Form */
.withdraw-card {
    background: #ffffff;
    border: 1px solid #ececec;
    border-radius: 16px;
    padding: 16px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.withdraw-section-title {
    font-size: 12px;
    font-weight: 800;
    color: #333333;
    margin-bottom: 8px;
    display: block;
}

.withdraw-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
    margin-bottom: 16px;
}

.withdraw-currency-prefix {
    position: absolute;
    left: 14px;
    font-size: 16px;
    font-weight: 800;
    color: #000000;
}

.withdraw-amount-input {
    width: 100%;
    height: 46px;
    padding: 0 65px 0 32px;
    border: 1.5px solid #ececec;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    color: #000000;
    background: #ffffff;
    outline: none;
    transition: border-color 0.15s ease;
}

.withdraw-amount-input:focus {
    border-color: #ef4323;
}

.withdraw-max-btn {
    flex-shrink: 0;
    height: 28px;
    padding: 0 10px;
    border-radius: 8px;
    border: none;
    background: #fff2ef;
    color: #ef4323;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
    transition: transform 0.15s ease, background 0.15s ease;
    margin-left: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.withdraw-max-btn:hover {
    background: #ffe4de;
}

.withdraw-max-btn:active {
    transform: scale(0.95);
}

.withdraw-methods-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 16px;
}

.withdraw-method-tile {
    display: flex;
    flex-direction: column;
    padding: 12px;
    border-radius: 12px;
    border: 1.5px solid #ececec;
    background: #ffffff;
    cursor: pointer;
    transition: all 0.15s ease;
}

.withdraw-method-tile.active {
    border-color: #ef4323;
    background: #fffaf9;
}

.withdraw-method-tile-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
}

.withdraw-method-tile-icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ef4323;
}

.withdraw-method-tile-name {
    font-size: 12px;
    font-weight: 800;
    color: #000000;
}

.withdraw-method-tile-fee {
    font-size: 10px;
    color: #888888;
    font-weight: 600;
}

.withdraw-address-wrap {
    margin-bottom: 16px;
}

.withdraw-address-input {
    width: 100%;
    height: 44px;
    padding: 0 14px;
    border: 1.5px solid #ececec;
    border-radius: 12px;
    font-size: 13px;
    color: #000000;
    background: #ffffff;
    outline: none;
    transition: border-color 0.15s ease;
}

.withdraw-address-input:focus {
    border-color: #ef4323;
}

.withdraw-breakdown-card {
    background: #fbfbfb;
    border: 1px solid #f0f0f0;
    border-radius: 12px;
    padding: 12px 14px;
    margin-bottom: 16px;
}

.withdraw-breakdown-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
    color: #666666;
    margin-bottom: 6px;
}

.withdraw-breakdown-row:last-child {
    margin-bottom: 0;
    padding-top: 6px;
    border-top: 1px dashed #e6e6e6;
    font-weight: 800;
    color: #000000;
}

.withdraw-action-btn {
    width: 100%;
    height: 48px;
    border-radius: 999px;
    border: none;
    background: linear-gradient(135deg, #ff5722 0%, #ef4323 50%, #dc2626 100%);
    color: #ffffff;
    font-size: 15px;
    font-weight: 750;
    letter-spacing: -0.1px;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(239, 67, 35, 0.35);
    transition: transform 0.15s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.15s ease, filter 0.15s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.withdraw-action-btn:hover {
    filter: brightness(1.05);
    box-shadow: 0 6px 20px rgba(239, 67, 35, 0.45);
    transform: translateY(-1px);
}

.withdraw-action-btn:active {
    transform: scale(0.98);
}

.withdraw-status-banner {
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
    display: none;
}

.withdraw-status-banner.success {
    display: block;
    background: #ecfdf5;
    color: #065f46;
    border: 1px solid #a7f3d0;
}

.withdraw-status-banner.error {
    display: block;
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

/* Transactions Ledger */
.tx-filters-bar {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding-bottom: 8px;
    margin-bottom: 12px;
    scrollbar-width: none;
}

.tx-filters-bar::-webkit-scrollbar {
    display: none;
}

.tx-filter-pill {
    flex: 0 0 auto;
    padding: 5px 12px;
    border-radius: 16px;
    border: 1px solid #e5e5e5;
    background: #ffffff;
    font-size: 11px;
    font-weight: 700;
    color: #666666;
    cursor: pointer;
    transition: all 0.15s ease;
}

.tx-filter-pill.active {
    background: #ef4323;
    color: #ffffff;
    border-color: #ef4323;
}

.tx-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.tx-row {
    background: #ffffff;
    border: 1px solid #ececec;
    border-radius: 14px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.02);
}

.tx-row-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.tx-icon-badge {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.tx-icon-badge.deposit {
    background: #ecfdf5;
    color: #10b981;
}

.tx-icon-badge.withdraw {
    background: #fff4f1;
    color: #ef4323;
}

.tx-icon-badge.unbox {
    background: #eef2ff;
    color: #6366f1;
}

.tx-icon-badge.reward {
    background: #fefce8;
    color: #eab308;
}

.tx-row-details {
    display: flex;
    flex-direction: column;
}

.tx-row-title {
    font-size: 13px;
    font-weight: 700;
    color: #111111;
}

.tx-row-date {
    font-size: 10px;
    color: #888888;
}

.tx-row-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}

.tx-row-amount {
    font-size: 13px;
    font-weight: 800;
}

.tx-row-amount.positive {
    color: #10b981;
}

.tx-row-amount.negative {
    color: #222222;
}

.tx-status-pill {
    font-size: 9px;
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 6px;
    text-transform: uppercase;
}

.tx-status-pill.completed {
    background: #ecfdf5;
    color: #059669;
}

.tx-status-pill.pending {
    background: #fffbeb;
    color: #d97706;
}

/* ==================================================
   PROFILE SCREEN STYLING (CLEAN & UN-CROWDED)
================================================== */

.profile-screen {
    display: none;
    padding: 16px 16px calc(120px + env(safe-area-inset-bottom, 24px)) 16px;
    box-sizing: border-box;
}

/* ===== PROFILE HERO CARD ===== */
.profile-hero-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
    margin-bottom: 14px;
    overflow: hidden;
}

.profile-hero-band {
    height: 78px;
    background: linear-gradient(135deg, #ef4323 0%, #dc2626 50%, #1e1b4b 100%);
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    padding: 0 18px;
}

/* Subtle decorative circles */
.profile-hero-band::before,
.profile-hero-band::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    opacity: 0.12;
}
.profile-hero-band::before {
    width: 130px;
    height: 130px;
    background: #ffffff;
    top: -45px;
    right: 20px;
}
.profile-hero-band::after {
    width: 75px;
    height: 75px;
    background: #ffffff;
    top: -12px;
    right: 85px;
}

.profile-hero-avatar-wrap {
    position: relative;
    bottom: -24px;
    cursor: pointer;
}

.profile-hero-avatar {
    width: 66px;
    height: 66px;
    border-radius: 50%;
    border: 3.5px solid #ffffff;
    background: #fff2ef;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.profile-avatar-edit-badge {
    display: none !important;
}

.profile-hero-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.profile-hero-body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 34px 18px 12px;
    gap: 8px;
}

.profile-hero-identity {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.profile-hero-name-row {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
}

.profile-hero-name {
    font-size: 17.5px;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.profile-hero-id {
    font-size: 11.5px;
    color: #94a3b8;
    font-weight: 500;
}

.profile-hero-cta {
    flex-shrink: 0;
    padding: 8px 16px;
    border-radius: 9999px;
    border: none;
    background: #0f172a;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.15s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.18);
    white-space: nowrap;
    text-align: center;
}

.profile-hero-cta:hover {
    background: #1e293b;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.25);
}

.profile-hero-cta:active {
    transform: scale(0.97);
}

.profile-hero-cta--member {
    background: #fff1f2 !important;
    color: #e11d48 !important;
    border: 1px solid #fecdd3 !important;
    box-shadow: none !important;
}

.profile-hero-cta--member:hover {
    background: #ffe4e6 !important;
    border-color: #fda4af !important;
}

.profile-hero-progress-wrap {
    padding: 0 18px 16px;
}

.profile-hero-progress-labels {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    font-weight: 700;
    color: #475569;
    margin-bottom: 6px;
}

/* ===== STATS STRIP ===== */
.profile-stats-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    margin-bottom: 16px;
}

.profile-stat-chip {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 12px 6px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
    text-align: center;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.profile-stat-chip:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.profile-stat-chip-icon {
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2px;
    flex-shrink: 0;
    background: transparent !important;
    color: #18181b !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box;
    transition: color 0.15s ease;
}

.profile-stat-chip-icon svg {
    width: 18px;
    height: 18px;
    display: block;
    color: inherit;
    stroke: currentColor;
    stroke-width: 2;
}

.profile-stat-chip-icon--blue,
.profile-stat-chip-icon--red,
.profile-stat-chip-icon--amber,
.profile-stat-chip-icon--green {
    background: transparent !important;
    color: #18181b !important;
    border: none !important;
    box-shadow: none !important;
}

.profile-stat-chip-value {
    font-size: 13.5px;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.3px;
    line-height: 1.1;
}

.profile-stat-chip-value.val-accent { color: #ef4323; }
.profile-stat-chip-value.val-green  { color: #16a34a; }

.profile-stat-chip-label {
    font-size: 9.5px;
    font-weight: 700;
    color: #94a3b8;
    letter-spacing: 0.2px;
    text-transform: uppercase;
}

/* ===== LOWER SECTIONS (COLUMNS) ===== */
.profile-columns-layout {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* ===== SECTION LABEL ===== */
.profile-section-label {
    font-size: 11px;
    font-weight: 700;
    color: #64748b;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    margin: 0 0 8px 4px;
}

/* ===== UNIFIED LIST CARD (SUPER CLEAN UI & ANTI-CORNER-CUTTING) ===== */
.profile-list-card {
    background: #ffffff;
    border: 1px solid #e4e4e7;
    border-radius: 18px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03), 0 1px 2px rgba(0, 0, 0, 0.02);
    margin-bottom: 18px;
    overflow: hidden;
    isolation: isolate;
    transform: translateZ(0);
    -webkit-mask-image: -webkit-radial-gradient(white, black);
}

.profile-list-card > :first-child {
    border-top-left-radius: 17px;
    border-top-right-radius: 17px;
    padding-top: 18px;
}

.profile-list-card > :last-child {
    border-bottom-left-radius: 17px;
    border-bottom-right-radius: 17px;
    border-bottom: none !important;
    padding-bottom: 18px;
}

.profile-list-row {
    width: 100%;
    background: #ffffff;
    border: none;
    border-bottom: 1px solid #f1f5f9;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    gap: 16px;
    cursor: pointer;
    text-align: left;
    transition: background-color 0.12s ease;
    min-height: 56px;
    box-sizing: border-box;
}

.profile-list-row:last-child {
    border-bottom: none;
}

.profile-list-row:hover {
    background: #f8fafc;
}

.profile-list-row:active {
    background: #f1f5f9;
}

/* Clean 1-Color Outline SVGs (Transparent - No Box / No Border) */
.profile-list-icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: transparent !important;
    color: #18181b !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box;
    transition: color 0.15s ease;
}

.profile-list-icon svg {
    width: 20px;
    height: 20px;
    display: block;
    color: inherit;
    stroke: currentColor;
    stroke-width: 2;
}

.profile-list-icon--red,
.profile-list-icon--amber,
.profile-list-icon--purple,
.profile-list-icon--green,
.profile-list-icon--blue,
.profile-list-icon--slate {
    background: transparent !important;
    color: #18181b !important;
    border: none !important;
    box-shadow: none !important;
}

.profile-list-text {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.profile-list-title {
    font-size: 13.5px;
    font-weight: 700;
    color: #18181b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.profile-list-desc {
    font-size: 11px;
    color: #71717a;
    font-weight: 500;
}

.profile-list-chevron {
    flex-shrink: 0;
    color: #a1a1aa;
}

/* Session/logout row clean styling */
.profile-session-row {
    cursor: default !important;
    border-top: none;
    margin-top: 0;
}

/* Setting rows (no hand cursor) */
.profile-setting-row {
    cursor: default !important;
}

.profile-logout-btn {
    flex-shrink: 0;
    padding: 7px 15px;
    border-radius: 9999px;
    border: 1px solid #27272a;
    background: #18181b;
    color: #ffffff;
    font-size: 11.5px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.15s ease;
    white-space: nowrap;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.profile-logout-btn:hover {
    background: #27272a;
    border-color: #3f3f46;
}

.profile-card {
    background: #ffffff;
    border: 1px solid #ececec;
    border-radius: 16px;
    padding: 14px 16px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    margin-bottom: 12px;
}

.profile-user-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.profile-avatar-circle {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #fff2ef;
    border: 2px solid #ef4323;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ef4323;
    flex-shrink: 0;
    overflow: hidden;
    position: relative;
    box-shadow: 0 0 0 2px rgba(239, 67, 35, 0.2), 0 3px 8px rgba(0, 0, 0, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.profile-avatar-circle:hover {
    transform: scale(1.04);
    box-shadow: 0 0 0 3px rgba(239, 67, 35, 0.3), 0 4px 12px rgba(0, 0, 0, 0.12);
}

.profile-avatar-circle .profile-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.profile-user-meta {
    flex: 1;
}

.profile-name-row {
    display: flex;
    align-items: center;
    gap: 6px;
}

.profile-username {
    font-size: 15px;
    font-weight: 800;
    color: #000000;
}

.profile-user-id {
    font-size: 11px;
    color: #888888;
    margin-top: 2px;
    display: block;
}

.profile-vip-progress-wrap {
    margin-top: 2px;
}

.profile-vip-label-row {
    display: flex;
    justify-content: space-between;
    font-size: 10px;
    font-weight: 700;
    color: #777777;
    margin-bottom: 4px;
}

.profile-progress-bar {
    width: 100%;
    height: 5px;
    background: #f0f2f5;
    border-radius: 5px;
    overflow: hidden;
}

.profile-progress-fill {
    width: 0%;
    height: 100%;
    background: linear-gradient(90deg, #64748b, #94a3b8);
    border-radius: 5px;
    transition: width 0.45s cubic-bezier(0.16, 1, 0.3, 1), background 0.3s ease;
}

.profile-progress-fill.vip-tier-1 {
    background: linear-gradient(90deg, #94a3b8, #cbd5e1);
}

.profile-progress-fill.vip-tier-2 {
    background: linear-gradient(90deg, #d97706, #fbbf24);
}

.profile-progress-fill.vip-tier-3 {
    background: linear-gradient(90deg, #4338ca, #818cf8);
}

/* Unified Cohesive Stats Card (Zero Clutter) */
.profile-stats-card {
    background: #ffffff;
    border: 1px solid #ececec;
    border-radius: 16px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    margin-bottom: 12px;
    overflow: hidden;
}

.profile-stat-cell {
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
}

.profile-stat-cell:nth-child(1) {
    border-right: 1px solid #f2f2f2;
    border-bottom: 1px solid #f2f2f2;
}

.profile-stat-cell:nth-child(2) {
    border-bottom: 1px solid #f2f2f2;
}

.profile-stat-cell:nth-child(3) {
    border-right: 1px solid #f2f2f2;
}

.profile-stat-label {
    font-size: 10px;
    font-weight: 800;
    color: #888888;
    letter-spacing: 0.5px;
    margin-bottom: 2px;
}

.profile-stat-value {
    font-size: 16px;
    font-weight: 900;
    color: #000000;
    letter-spacing: -0.3px;
    margin-bottom: 1px;
}

.profile-stat-value.val-accent {
    color: #ef4323;
}

.profile-stat-value.val-green {
    color: #10b981;
}

.profile-stat-sub {
    font-size: 10px;
    font-weight: 600;
    color: #888888;
}

.profile-stat-sub.val-green {
    color: #10b981;
}

/* Grouped Action Menu List (Apple iOS Style) */
.profile-menu-group {
    background: #ffffff;
    border: 1px solid #ececec;
    border-radius: 16px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    margin-bottom: 12px;
    overflow: hidden;
}

.profile-menu-row {
    width: 100%;
    background: transparent;
    border: none;
    border-bottom: 1px solid #f4f4f4;
    padding: 11px 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    text-align: left;
    transition: background 0.15s ease;
}

.profile-menu-row:last-child {
    border-bottom: none;
}

.profile-menu-row:hover {
    background: #fafafa;
}

.profile-menu-row:active {
    background: #f5f5f5;
}

.shortcut-icon-badge {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: #fff2ef;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.shortcut-text {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.shortcut-title {
    font-size: 13px;
    font-weight: 700;
    color: #18181b;
}

.shortcut-desc {
    font-size: 10px;
    color: #888888;
    margin-top: 1px;
}

.shortcut-arrow {
    flex-shrink: 0;
}

/* Account Preferences Group */
.profile-settings-group {
    background: #ffffff;
    border: 1px solid #ececec;
    border-radius: 16px;
    padding: 6px 14px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    margin-bottom: 24px;
}

.profile-group-header {
    padding: 10px 0 4px 0;
    border-bottom: 1px solid #f4f4f4;
}

.profile-group-title {
    font-size: 10px;
    font-weight: 800;
    color: #888888;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.profile-setting-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid #f4f4f4;
}

.profile-setting-row:last-child {
    border-bottom: none;
}

.profile-setting-info {
    display: flex;
    flex-direction: column;
}

.profile-setting-title {
    font-size: 13px;
    font-weight: 700;
    color: #222222;
}

.profile-setting-desc {
    font-size: 10px;
    color: #888888;
    margin-top: 1px;
}

.profile-select-input {
    padding: 4px 8px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    background: #f8fafc;
    color: #1e293b;
    cursor: pointer;
}

.profile-seed-input-wrap {
    display: flex;
    gap: 8px;
    margin-top: 6px;
}

.profile-seed-input {
    flex: 1;
    height: 32px;
    padding: 0 10px;
    border: 1px solid #ececec;
    border-radius: 8px;
    font-size: 11px;
    font-family: monospace;
    background: #fafafa;
    color: #333333;
}

.profile-seed-btn {
    padding: 0 12px;
    height: 32px;
    background: #ef4323;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    transition: opacity 0.15s ease;
}

.profile-seed-btn:active {
    opacity: 0.85;
}

.profile-seed-input {
    flex: 1;
    height: 36px;
    padding: 0 10px;
    border: 1.5px solid #ececec;
    border-radius: 10px;
    font-size: 12px;
    font-family: monospace;
    background: #fafafa;
    color: #333333;
    outline: none;
}

.profile-seed-btn {
    height: 36px;
    padding: 0 12px;
    border-radius: 10px;
    border: 1px solid #ef4323;
    background: #ffffff;
    color: #ef4323;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}

/* ==================================================
   PROVABLY FAIR & HELP SCREEN STYLING
================================================== */

.fair-screen {
    display: none;
}

.fair-hero-card {
    background: #ffffff;
    border: 1px solid #ececec;
    border-radius: 16px;
    padding: 16px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    margin-bottom: 16px;
}

.fair-badge-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.fair-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: #ecfdf5;
    color: #059669;
    padding: 3px 8px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 800;
}

.fair-description {
    font-size: 12px;
    color: #555555;
    line-height: 1.45;
    margin: 0 0 14px;
}

.fair-field-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 10px;
}

.fair-field-label {
    font-size: 10px;
    font-weight: 800;
    color: #888888;
    letter-spacing: 0.5px;
}

.fair-field-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fafafa;
    border: 1px solid #ececec;
    border-radius: 10px;
    padding: 8px 10px;
}

.fair-field-val {
    font-family: monospace;
    font-size: 11px;
    color: #333333;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 280px;
}

.fair-copy-btn {
    border: none;
    background: transparent;
    color: #ef4323;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    padding: 0 4px;
}

.fair-calc-btn {
    width: 100%;
    height: 40px;
    margin-top: 6px;
    border-radius: 20px;
    border: none;
    background: #ef4323;
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    box-shadow: 0 2px 6px rgba(239, 67, 35, 0.25);
}

.fair-calc-btn:active {
    transform: scale(0.98);
}

.fair-calc-result {
    margin-top: 10px;
    padding: 8px 12px;
    border-radius: 8px;
    background: #ecfdf5;
    color: #065f46;
    font-size: 11px;
    font-weight: 600;
    display: none;
}

/* FAQ Accordion */
.faq-section {
    margin-bottom: 16px;
}

.faq-title {
    font-size: 13px;
    font-weight: 800;
    color: #222222;
    margin-bottom: 10px;
    display: block;
}

.faq-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.faq-card {
    background: #ffffff;
    border: 1px solid #ececec;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.02);
}

.faq-question-btn {
    width: 100%;
    padding: 12px 14px;
    border: none;
    background: transparent;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
    font-weight: 700;
    color: #111111;
    cursor: pointer;
}

.faq-chevron {
    color: #888888;
    transition: transform 0.2s ease;
}

.faq-card.open .faq-chevron {
    transform: rotate(180deg);
}

.faq-answer {
    display: none;
    padding: 0 14px 12px;
    font-size: 11px;
    color: #555555;
    line-height: 1.45;
}

.faq-card.open .faq-answer {
    display: block;
}

/* Live Support Card */
.support-card {
    background: #ffffff;
    border: 1px solid #ececec;
    border-radius: 16px;
    padding: 16px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    text-align: center;
}

.support-title {
    font-size: 14px;
    font-weight: 800;
    color: #000000;
    margin-bottom: 4px;
}

.support-desc {
    font-size: 11px;
    color: #666666;
    margin-bottom: 12px;
}

.support-action-btn {
    height: 38px;
    padding: 0 20px;
    border-radius: 20px;
    border: none;
    background: #ef4323;
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    box-shadow: 0 2px 6px rgba(239, 67, 35, 0.25);
}

/* ==================================================
   RESPONSIVE FIT & DESKTOP SUITE (1024px+)
================================================== */

/* Hide Desktop components on mobile and tablet viewports (<1024px) */
.desktop-header,
.desktop-footer {
    display: none !important;
}

/* Tablet viewports (481px - 1023px) preserve existing centered app wrapper */
@media (min-width: 481px) and (max-width: 1023px) {
    body {
        margin: 0;
        padding: 0;
        display: flex;
        justify-content: center;
        align-items: flex-start;
        background: #f1f1ef;
        min-height: 100vh;
        min-height: 100dvh;
    }

    .app {
        width: 100%;
        max-width: 640px;
        min-height: 100vh;
        min-height: 100dvh;
        background: #fafaf9;
        box-shadow: 0 0 40px rgba(0, 0, 0, 0.05) !important;
        border-left: 1px solid rgba(0, 0, 0, 0.04);
        border-right: 1px solid rgba(0, 0, 0, 0.04);
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .app {
        max-width: 820px;
    }

    .pack-grid,
    #packsScreenGrid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        column-gap: 20px !important;
        row-gap: 26px !important;
    }

    .featured-packs-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        column-gap: 16px !important;
    }

    .collection-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }

    .drops-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }

    .hero-swiper {
        margin: 12px 24px 0 !important;
    }
}

/* ==================================================
   MOBILE DEFAULTS & SUPPRESSION FOR DESKTOP ADDITIONS (<1024px)
================================================== */
@media (max-width: 1023px) {
    .desktop-header,
    .desktop-footer,
    .desktop-home-hero,
    .desktop-how-it-works,
    .profile-desktop-sidebar,
    .profile-desktop-header,
    .profile-basic-info-panel,
    .profile-account-id-badge,
    .account-sidebar-slot,
    .stage-pack-display,
    .stage-view-toggle-btn,
    .back-button-label,
    .drops-pack-thumb,
    .drops-fav-btn,
    .drops-section-header,
    .auth-desktop-close-btn {
        display: none !important;
    }

    .opening-stage-wrap {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
    }

    .opening-stage-wrap .reel-window {
        display: block !important;
        width: 100% !important;
        height: 126px !important;
        margin-top: 4px !important;
        border-radius: 16px !important;
        background: white !important;
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08) !important;
    }

    .desktop-opening-toolbar {
        display: grid !important;
        grid-template-columns: auto 1fr !important;
        grid-template-areas:
            "qty open"
            "demo sound" !important;
        gap: 14px 12px !important;
        margin-top: 22px !important;
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        box-shadow: none !important;
        max-width: none !important;
        width: 100% !important;
    }

    .desktop-opening-toolbar .quantity-control {
        grid-area: qty !important;
        height: 32px !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 0 12px !important;
        border: 1.5px solid #ef4323 !important;
        border-radius: 20px !important;
        background: white !important;
        margin: 0 !important;
    }

    .desktop-opening-toolbar .opening-actions-group {
        grid-area: open !important;
        display: contents !important;
    }

    .desktop-opening-toolbar .open-button {
        grid-area: open !important;
        height: 34px !important;
        padding: 0 18px !important;
        border: none !important;
        border-radius: 20px !important;
        background: #ef4323 !important;
        color: white !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        cursor: pointer !important;
        box-shadow: 0 2px 6px rgba(239, 67, 35, 0.3) !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .desktop-opening-toolbar .demo-button {
        grid-area: demo !important;
        height: 32px !important;
        min-width: 130px !important;
        padding: 0 18px !important;
        border: 1.5px solid #ef4323 !important;
        border-radius: 20px !important;
        background: white !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        cursor: pointer !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        color: #000 !important;
        margin: 0 !important;
    }

    .desktop-opening-toolbar .sound-buttons {
        grid-area: sound !important;
        height: 32px !important;
        display: flex !important;
        align-items: center !important;
        border: 1.5px solid #ef4323 !important;
        border-radius: 20px !important;
        background: white !important;
        padding: 0 6px !important;
        justify-self: end !important;
        margin: 0 !important;
    }

    .profile-layout-container {
        display: block !important;
    }

    .profile-main-content {
        display: block !important;
    }
}

.drops-section-header {
    display: none;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    margin: 18px 0 10px 0;
}

.drops-section-title {
    font-size: 16px;
    font-weight: 800;
    color: #18181b;
    margin: 0;
    letter-spacing: -0.01em;
}

.drops-section-count {
    font-size: 12px;
    font-weight: 600;
    color: #71717a;
    background: #f4f4f5;
    padding: 3px 10px;
    border-radius: 999px;
}

/* ==================================================
   DESKTOP EXPERIENCE (1024px+ VIEWPORTS)
   Expansive layout, horizontal navigation, 4-5 column grids,
   desktop header & footer, no bottom dock.
================================================== */
@media (min-width: 1024px) {
    /* 1. Global Viewport Reset */
    body {
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        background: #fafaf9 !important;
        min-height: 100vh !important;
        width: 100% !important;
        overflow-x: hidden !important;
    }

    .app {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        border: none !important;
        padding-top: 64px !important;
        padding-bottom: 0 !important;
        background: transparent !important;
        overflow-x: hidden !important;
    }

    /* 2. Remove Desktop Bottom Navigation & Mobile Offsets */
    .bottom-nav,
    .app-bottom-dock {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Hide Mobile Screen Headers & Secondary Mobile Header Icons on Desktop */
    #homeScreen > .header,
    .apple-top-right,
    .screen-top,
    .screen-top-right,
    #packsHeaderBalanceBtn {
        display: none !important;
    }

    /* 3. Global Desktop Header (Modern Frosted Glass & Transparent Minimal UI) */
    .desktop-header {
        display: block !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 1000 !important;
        background: rgba(255, 255, 255, 0.88) !important;
        -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
        backdrop-filter: blur(16px) saturate(180%) !important;
        border-bottom: 1px solid rgba(228, 228, 231, 0.85) !important;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.03) !important;
        height: 64px;
        transition: background-color 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
    }

    .desktop-header-inner {
        max-width: 1260px;
        margin: 0 auto;
        padding: 0 24px;
        height: 64px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
        box-sizing: border-box;
    }

    /* Left Group: Brand Logo & Primary Navigation Directly Beside It */
    .desktop-header-left {
        display: flex;
        align-items: center;
        gap: 32px;
    }

    .desktop-brand {
        display: inline-flex;
        align-items: center;
        text-decoration: none;
        flex-shrink: 0;
        cursor: pointer;
        transition: opacity 140ms ease;
    }

    .desktop-brand:hover {
        opacity: 0.85;
    }

    .desktop-logo {
        height: 28px;
        width: auto;
        object-fit: contain;
        display: block;
    }

    .desktop-nav {
        display: flex;
        align-items: center;
        gap: 4px;
    }

    .desktop-nav-link {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        height: 38px;
        padding: 0 14px;
        border-radius: 10px;
        font-size: 13.5px;
        font-weight: 500;
        color: #71717a;
        background: transparent !important;
        border: 1px solid transparent !important;
        cursor: pointer;
        text-decoration: none;
        transition: all 160ms cubic-bezier(0.16, 1, 0.3, 1);
        white-space: nowrap;
        user-select: none;
        box-shadow: none !important;
    }

    .desktop-nav-link svg {
        opacity: 0.75;
        stroke: currentColor;
        transition: stroke 140ms ease, opacity 140ms ease;
    }

    .desktop-nav-link:hover {
        color: #09090b;
        background: rgba(0, 0, 0, 0.04) !important;
    }

    .desktop-nav-link:hover svg {
        opacity: 1;
        stroke: #09090b;
    }

    .desktop-nav-link.active {
        color: #09090b !important;
        background: rgba(0, 0, 0, 0.05) !important;
        border: 1px solid rgba(0, 0, 0, 0.03) !important;
        font-weight: 600 !important;
        box-shadow: none !important;
    }

    .desktop-nav-link.active svg {
        stroke: #ef4323 !important;
        opacity: 1 !important;
    }

    /* Right Group: Account & Action Controls Grouped Neatly */
    .desktop-header-right {
        display: flex;
        align-items: center;
        gap: 10px;
        flex-shrink: 0;
    }

    /* Refined Utility Icon Buttons (Sound & Notification) */
    .desktop-icon-btn {
        position: relative;
        width: 38px;
        height: 38px;
        border-radius: 10px;
        background: #ffffff !important;
        border: 1px solid #e4e4e7 !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #71717a;
        cursor: pointer;
        transition: all 160ms cubic-bezier(0.16, 1, 0.3, 1);
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
        box-sizing: border-box;
    }

    .desktop-icon-btn:hover {
        background: #f4f4f5 !important;
        color: #09090b;
        border-color: #d4d4d8 !important;
        transform: translateY(-1px);
    }

    .desktop-icon-btn:active {
        transform: scale(0.96);
    }

    .desktop-icon-btn .notif-badge {
        position: absolute;
        top: -4px;
        right: -4px;
        background: #ef4323;
        color: #ffffff;
        font-size: 9.5px;
        font-weight: 800;
        min-width: 17px;
        height: 17px;
        border-radius: 999px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 3px;
        box-sizing: border-box;
        border: 2px solid #ffffff;
        box-shadow: 0 2px 5px rgba(239, 67, 35, 0.4);
    }

    /* Subtle Vertical Divider Between Utility & Account Groups */
    .desktop-header-divider {
        width: 1px;
        height: 22px;
        background: #e4e4e7;
        margin: 0 2px;
        flex-shrink: 0;
    }

    /* Clean Wallet Balance Indicator */
    .desktop-balance-btn {
        height: 38px;
        padding: 0 14px;
        border-radius: 10px;
        background: #ffffff !important;
        border: 1px solid #e4e4e7 !important;
        color: #09090b;
        font-size: 13.5px;
        font-weight: 700;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        cursor: pointer;
        transition: all 160ms cubic-bezier(0.16, 1, 0.3, 1);
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
        font-variant-numeric: tabular-nums;
    }

    .desktop-balance-btn img {
        opacity: 0.85;
        transition: opacity 160ms ease;
    }

    .desktop-balance-btn:hover {
        background: #fbfbfb !important;
        border-color: #d4d4d8 !important;
        color: #ef4323;
        transform: translateY(-1px);
    }

    .desktop-balance-btn:hover img {
        opacity: 1;
    }

    /* High-End Action Deposit Button */
    .desktop-deposit-btn {
        height: 38px;
        padding: 0 16px;
        border-radius: 10px;
        background: linear-gradient(135deg, #ef4323 0%, #dc2626 100%) !important;
        color: #ffffff;
        font-size: 13.5px;
        font-weight: 700;
        border: none !important;
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        box-shadow: 0 2px 10px rgba(239, 67, 35, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
        transition: all 160ms cubic-bezier(0.16, 1, 0.3, 1);
    }

    .desktop-deposit-btn:hover {
        background: linear-gradient(135deg, #f04e2f 0%, #e0281b 100%) !important;
        transform: translateY(-1px);
        box-shadow: 0 4px 16px rgba(239, 67, 35, 0.42) !important;
    }

    .desktop-deposit-btn:active {
        transform: scale(0.97);
    }

    /* Account Menu Wrapper & Trigger */
    .desktop-account-menu-wrap {
        position: relative;
    }

    .desktop-profile-btn {
        height: 38px;
        padding: 0 14px 0 6px;
        border-radius: 10px;
        background: #ffffff !important;
        border: 1px solid #e4e4e7 !important;
        color: #09090b;
        font-size: 13.5px;
        font-weight: 600;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        cursor: pointer;
        transition: all 160ms cubic-bezier(0.16, 1, 0.3, 1);
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
        user-select: none;
    }

    .desktop-profile-btn:hover {
        background: #fbfbfb !important;
        border-color: #d4d4d8 !important;
        color: #ef4323;
        transform: translateY(-1px);
    }

    .desktop-profile-btn:active {
        transform: scale(0.97);
    }

    .desktop-profile-avatar {
        width: 26px;
        height: 26px;
        border-radius: 7px;
        overflow: hidden;
        background: #f4f4f5;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }

    .desktop-avatar-img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .desktop-username {
        max-width: 90px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        color: #09090b;
    }

    /* Reset default browser outline rings on buttons */
    .desktop-nav-link:focus,
    .desktop-nav-link:focus-visible,
    .desktop-profile-btn:focus,
    .desktop-profile-btn:focus-visible,
    .desktop-icon-btn:focus,
    .desktop-icon-btn:focus-visible,
    .desktop-balance-btn:focus,
    .desktop-balance-btn:focus-visible,
    .desktop-deposit-btn:focus,
    .desktop-deposit-btn:focus-visible {
        outline: none !important;
        box-shadow: none !important;
    }

    /* Account Secondary Dropdown Menu (Silenced - Profile goes direct) */
    .desktop-account-dropdown {
        display: none !important;
        position: absolute;
        top: calc(100% + 8px);
        right: 0;
        width: 230px;
        background: #ffffff !important;
        border: 1px solid #e4e4e7 !important;
        border-radius: 14px;
        box-shadow: 0 16px 48px rgba(0, 0, 0, 0.14), 0 4px 14px rgba(0, 0, 0, 0.06) !important;
        padding: 8px;
        z-index: 2000 !important;
        box-sizing: border-box;
    }

    .dropdown-header {
        padding: 8px 10px;
    }

    .dropdown-user-info {
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

    .dropdown-user-name {
        font-size: 13.5px;
        font-weight: 700;
        color: #18181b;
    }

    .dropdown-user-tier {
        font-size: 11.5px;
        font-weight: 600;
        color: #ef4323;
    }

    .dropdown-divider {
        height: 1px;
        background: #f4f4f5;
        margin: 6px 0;
    }

    .dropdown-list {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

    .dropdown-item {
        display: flex;
        align-items: center;
        gap: 10px;
        width: 100%;
        padding: 8px 10px;
        border-radius: 6px;
        font-size: 13px;
        font-weight: 500;
        color: #3f3f46;
        background: transparent;
        border: none;
        cursor: pointer;
        text-align: left;
        transition: all 140ms ease;
    }

    .dropdown-item:hover {
        background: #f4f4f5;
        color: #18181b;
    }

    .dropdown-footer {
        padding-top: 4px;
    }

    .dropdown-auth-action {
        color: #ef4323 !important;
        font-weight: 700 !important;
    }

    /* Redundant hamburger button removed on desktop */
    #desktopMenuBtn {
        display: none !important;
    }

    /* 4. Centered Container (1240-1280px) & Alignment */
    .home-screen,
    .packs-browse-screen,
    .apple-screen,
    .collection-screen,
    .wallet-screen,
    .profile-screen,
    .fair-screen,
    .docs-screen {
        max-width: 1260px !important;
        margin: 0 auto !important;
        padding: 24px 28px 56px !important;
        box-sizing: border-box !important;
        width: 100% !important;
        min-height: auto !important;
    }

    /* Hide Mobile Navigation Offsets on Desktop */
    .bottom-nav,
    .app-bottom-dock,
    .dock-container {
        display: none !important;
    }

    /* 5. Home Screen Desktop Layout (High-Impact Hero, Trust Bar & 8 Featured Packs) */
    .hero-swiper {
        display: none !important;
    }

    .desktop-home-hero {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
        margin-bottom: 28px !important;
        width: 100% !important;
    }

    .desktop-hero-card {
        width: 100% !important;
        min-height: 320px !important;
        border-radius: 20px !important;
        background: radial-gradient(circle at 82% 50%, #fed7aa 0%, #ffedd5 34%, #fffaf8 66%, #ffffff 100%),
                    linear-gradient(135deg, #ffffff 0%, #fffbf9 45%, #fff2ec 100%) !important;
        border: 1px solid #fde2d7 !important;
        box-shadow: 0 16px 44px -12px rgba(239, 67, 35, 0.09), 0 4px 16px rgba(0, 0, 0, 0.03) !important;
        display: grid !important;
        grid-template-columns: 1.05fr 1fr !important;
        align-items: center !important;
        padding: 34px 48px !important;
        position: relative !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    /* Ambient geometric studio lighting facets in warm peach */
    .desktop-hero-card::before {
        content: "";
        position: absolute;
        top: -12%;
        right: 4%;
        width: 460px;
        height: 460px;
        background: radial-gradient(circle, rgba(254, 215, 170, 0.5) 0%, rgba(255, 237, 213, 0.22) 45%, transparent 70%);
        pointer-events: none;
        z-index: 1;
        border-radius: 50%;
    }

    .desktop-hero-card::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 52%;
        background: linear-gradient(130deg, transparent 38%, rgba(254, 215, 170, 0.25) 60%, rgba(253, 186, 116, 0.14) 100%);
        clip-path: polygon(20% 0, 100% 0, 100% 100%, 0% 100%);
        pointer-events: none;
        z-index: 1;
    }

    .desktop-hero-content {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 14px !important;
        z-index: 2 !important;
        max-width: 500px !important;
    }

    .desktop-hero-badge {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        font-size: 11px !important;
        font-weight: 750 !important;
        letter-spacing: 0.08em !important;
        color: #ea580c !important;
        background: rgba(239, 67, 35, 0.08) !important;
        border: 1px solid rgba(239, 67, 35, 0.22) !important;
        padding: 4px 12px !important;
        border-radius: 999px !important;
        width: fit-content !important;
        text-transform: uppercase !important;
    }

    .desktop-badge-dot {
        width: 6px !important;
        height: 6px !important;
        border-radius: 50% !important;
        background: #ef4323 !important;
        box-shadow: 0 0 8px rgba(239, 67, 35, 0.8) !important;
    }

    .desktop-hero-title {
        font-size: 38px !important;
        font-weight: 850 !important;
        line-height: 1.15 !important;
        color: #18181b !important;
        margin: 0 !important;
        letter-spacing: -0.03em !important;
    }

    .desktop-hero-title .highlight-text {
        background: linear-gradient(135deg, #ef4323 0%, #dc2626 100%) !important;
        -webkit-background-clip: text !important;
        -webkit-text-fill-color: transparent !important;
    }

    .desktop-hero-desc {
        font-size: 15px !important;
        line-height: 1.55 !important;
        color: #52525b !important;
        margin: 0 !important;
        max-width: 440px !important;
    }

    .desktop-hero-actions {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        margin-top: 6px !important;
    }

    .desktop-hero-primary-btn {
        height: 46px !important;
        padding: 0 28px !important;
        border-radius: 12px !important;
        background: linear-gradient(135deg, #ef4323 0%, #dc2626 100%) !important;
        color: #ffffff !important;
        font-size: 14.5px !important;
        font-weight: 750 !important;
        border: none !important;
        cursor: pointer !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 9px !important;
        box-shadow: 0 6px 20px rgba(239, 67, 35, 0.35) !important;
        transition: all 180ms cubic-bezier(0.16, 1, 0.3, 1) !important;
    }

    .desktop-hero-primary-btn:hover {
        background: linear-gradient(135deg, #f04e2f 0%, #e03819 100%) !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 8px 24px rgba(239, 67, 35, 0.45) !important;
    }

    /* Right Column Dynamic Big Product Stage */
    .desktop-hero-visual {
        position: relative !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 290px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        z-index: 2 !important;
    }

    .hero-showcase-stage {
        position: relative !important;
        width: 100% !important;
        height: 275px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Soft ambient floor reflection shadow */
    .hero-showcase-stage::after {
        content: "";
        position: absolute;
        bottom: 2px;
        left: 50%;
        transform: translateX(-50%);
        width: 72%;
        height: 20px;
        background: radial-gradient(ellipse at center, rgba(30, 20, 15, 0.16) 0%, rgba(239, 67, 35, 0.05) 45%, transparent 75%);
        filter: blur(8px);
        border-radius: 50%;
        pointer-events: none;
        z-index: 1;
    }

    .hero-product-slide {
        position: absolute !important;
        inset: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transform: scale(0.94) translateY(6px) !important;
        transition: opacity 350ms cubic-bezier(0.16, 1, 0.3, 1), transform 350ms cubic-bezier(0.16, 1, 0.3, 1), visibility 350ms !important;
        pointer-events: none !important;
    }

    .hero-product-slide.active {
        opacity: 1 !important;
        visibility: visible !important;
        transform: scale(1) translateY(0) !important;
        pointer-events: auto !important;
    }

    .hero-product-img {
        max-width: 95% !important;
        max-height: 270px !important;
        width: auto !important;
        height: auto !important;
        object-fit: contain !important;
        filter: drop-shadow(0 20px 28px rgba(0, 0, 0, 0.14)) drop-shadow(0 6px 14px rgba(239, 67, 35, 0.10)) !important;
        transition: transform 300ms ease !important;
    }

    .hero-product-slide:hover .hero-product-img {
        transform: translateY(-4px) scale(1.03) !important;
    }

    /* Clean Minimalist Showcase Dots */
    .hero-showcase-dots {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        margin-top: 6px !important;
        z-index: 3 !important;
    }

    .hero-dot-btn {
        width: 8px !important;
        height: 8px !important;
        border-radius: 999px !important;
        background: rgba(239, 67, 35, 0.22) !important;
        border: none !important;
        padding: 0 !important;
        cursor: pointer !important;
        transition: all 220ms cubic-bezier(0.16, 1, 0.3, 1) !important;
    }

    .hero-dot-btn:hover {
        background: rgba(239, 67, 35, 0.5) !important;
        transform: scale(1.2) !important;
    }

    .hero-dot-btn.active {
        width: 24px !important;
        background: #ef4323 !important;
        box-shadow: 0 2px 8px rgba(239, 67, 35, 0.4) !important;
    }

    /* Trust & Live Metrics Strip */
    .desktop-trust-strip {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 16px !important;
        width: 100% !important;
    }

    .trust-item {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 14px 18px !important;
        background: #ffffff !important;
        border: 1px solid #e4e4e7 !important;
        border-radius: 12px !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
    }

    .trust-icon-box {
        width: 38px !important;
        height: 38px !important;
        border-radius: 8px !important;
        background: #fbf0ee !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-shrink: 0 !important;
    }

    .trust-text {
        display: flex !important;
        flex-direction: column !important;
        gap: 2px !important;
    }

    .trust-text strong {
        font-size: 13.5px !important;
        font-weight: 700 !important;
        color: #18181b !important;
    }

    .trust-text span {
        font-size: 12px !important;
        color: #71717a !important;
    }

    .daily-reward-banner {
        width: 100% !important;
        margin: 0 0 28px 0 !important;
        padding: 16px 24px !important;
        border-radius: 12px !important;
        box-sizing: border-box !important;
        border: 1px solid #e4e4e7 !important;
    }

    .recent-drops {
        width: 100% !important;
        margin: 0 0 28px 0 !important;
    }

    .featured-packs-section {
        width: 100% !important;
        margin: 0 0 32px 0 !important;
        padding: 0 !important;
    }

    .featured-packs-header {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        padding: 0 0 24px 0 !important;
        width: 100% !important;
    }

    .featured-packs-title {
        font-size: 28px !important;
        font-weight: 850 !important;
        letter-spacing: -0.02em !important;
        color: #18181b !important;
        text-align: center !important;
    }

    /* Home 8 Featured Packs: 4 columns x 2 rows */
    .featured-packs-grid {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 20px !important;
        padding: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* View All Packs Button positioned at bottom of packs grid */
    .view-all-packs-wrap {
        display: flex !important;
        justify-content: center !important;
        padding: 36px 0 16px !important;
        width: 100% !important;
    }

    .view-all-packs-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        height: 48px !important;
        padding: 0 36px !important;
        max-width: 280px !important;
        border-radius: 12px !important;
        background: linear-gradient(135deg, #ef4323 0%, #e03819 100%) !important;
        color: #ffffff !important;
        font-size: 14.5px !important;
        font-weight: 700 !important;
        border: none !important;
        cursor: pointer !important;
        box-shadow: 0 4px 18px rgba(239, 67, 35, 0.35) !important;
        transition: all 160ms cubic-bezier(0.16, 1, 0.3, 1) !important;
    }

    .view-all-packs-btn:hover {
        background: linear-gradient(135deg, #f04e2f 0%, #e83c1d 100%) !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 8px 24px rgba(239, 67, 35, 0.45) !important;
    }

    .view-all-packs-btn:active {
        transform: scale(0.98) !important;
    }

    /* How It Works 3-Step Section */
    .desktop-how-it-works {
        margin-top: 44px !important;
        margin-bottom: 24px !important;
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 22px !important;
    }

    .how-header {
        display: flex !important;
        flex-direction: column !important;
        gap: 4px !important;
        text-align: center !important;
        margin-bottom: 6px !important;
    }

    .how-sub {
        font-size: 11.5px !important;
        font-weight: 800 !important;
        color: #ef4323 !important;
        letter-spacing: 0.08em !important;
        text-transform: uppercase !important;
    }

    .how-title {
        font-size: 26px !important;
        font-weight: 800 !important;
        color: #18181b !important;
        margin: 0 !important;
        letter-spacing: -0.02em !important;
    }

    .how-steps-grid {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 20px !important;
        width: 100% !important;
    }

    .how-step-card {
        background: #ffffff !important;
        border: 1px solid #e4e4e7 !important;
        border-radius: 14px !important;
        padding: 26px 24px !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        position: relative !important;
        transition: transform 160ms ease, box-shadow 160ms ease !important;
    }

    .how-step-card:hover {
        transform: translateY(-2px) !important;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05) !important;
    }

    .step-num {
        font-size: 13px !important;
        font-weight: 800 !important;
        color: #ef4323 !important;
        background: #fbf0ee !important;
        width: 32px !important;
        height: 32px !important;
        border-radius: 8px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .how-step-card h4 {
        font-size: 16px !important;
        font-weight: 700 !important;
        color: #18181b !important;
        margin: 0 !important;
    }

    .how-step-card p {
        font-size: 13.5px !important;
        line-height: 1.55 !important;
        color: #71717a !important;
        margin: 0 !important;
    }

    /* 6. Pack Catalog (PackDraw Style: 5 Columns, Compact Toolbar, Bold Price Below Card) */
    .packs-screen-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 20px;
        padding: 0;
        background: transparent;
        border: none;
        position: static;
    }

    .packs-screen-title {
        font-size: 26px;
        font-weight: 800;
        color: #18181b;
        margin: 0;
        letter-spacing: -0.02em;
    }

    .home-search-wrap {
        max-width: 320px;
        margin: 0;
    }

    .home-search-bar {
        height: 40px;
        border-radius: 8px;
        padding: 0 14px;
        background: #ffffff;
        border: 1px solid #e4e4e7;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
    }

    .categories {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 24px;
        padding: 0;
        overflow-x: visible;
    }

    .category {
        height: 40px;
        padding: 0 16px;
        font-size: 13.5px;
        font-weight: 600;
        border-radius: 8px;
        background: #ffffff;
        border: 1px solid #e4e4e7;
        color: #52525b;
        cursor: pointer;
        transition: all 140ms ease;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
    }

    .category:hover {
        background: #f4f4f5;
        border-color: #d4d4d8;
        color: #18181b;
    }

    .category.active {
        background: #ef4323 !important;
        color: #ffffff !important;
        border-color: #ef4323 !important;
        box-shadow: 0 1px 3px rgba(239, 67, 35, 0.3) !important;
    }

    /* 5 Columns for Wide Desktop, 4 Columns for Narrow Desktop */
    .pack-grid,
    #packsScreenGrid {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 18px !important;
        padding: 0 !important;
        width: 100% !important;
    }

    @media (min-width: 1180px) {
        .pack-grid,
        #packsScreenGrid {
            grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
            gap: 18px !important;
        }
    }

    .pack {
        width: 100% !important;
        display: flex;
        flex-direction: column !important;
        align-items: center !important;
        transition: transform 160ms ease;
    }

    .pack.is-hidden,
    .pack[hidden],
    .pack[style*="display: none"],
    .pack[style*="display:none"] {
        display: none !important;
    }

    .pack-card {
        aspect-ratio: 143 / 225 !important;
        border-radius: 14px !important;
        border: 1px solid rgba(0, 0, 0, 0.07) !important;
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05) !important;
        transition: transform 200ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 200ms cubic-bezier(0.16, 1, 0.3, 1) !important;
    }

    .pack:hover .pack-card {
        transform: translateY(-6px) !important;
        box-shadow: 0 16px 36px rgba(0, 0, 0, 0.14) !important;
    }

    /* Desktop Pack Title (Booster Packs only - not VIP) - Bigger, bold, and centered */
    .pack:not(.is-vip-pack) .pack-title {
        flex: 0 0 20% !important;
        height: 20% !important;
        min-height: 52px !important;
        max-height: 20% !important;
        font-size: clamp(14.5px, 1.2vw, 16.5px) !important;
        font-weight: 850 !important;
        letter-spacing: -0.015em !important;
        line-height: 1.18 !important;
        padding: 7px 34px 5px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45) !important;
        box-sizing: border-box !important;
    }

    /* Desktop Pack Image Chamber (Booster Packs only - not VIP) */
    .pack:not(.is-vip-pack) .pack-image {
        flex: 1 1 80% !important;
        height: 80% !important;
        max-height: 80% !important;
        padding: 8px !important;
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #ffffff !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .pack:not(.is-vip-pack) .pack-image picture {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        pointer-events: none !important;
    }

    /* Desktop Product Drop Artwork (Booster Packs only - not VIP) */
    .pack:not(.is-vip-pack) .pack-asset {
        position: absolute !important;
        inset: 0 !important;
        margin: auto !important;
        width: auto !important;
        height: auto !important;
        max-width: 96% !important;
        max-height: 96% !important;
        object-fit: contain !important;
        object-position: center !important;
        display: block !important;
        transform: scale(1.12) translateZ(0) !important;
        filter: drop-shadow(0 14px 22px rgba(0, 0, 0, 0.16)) drop-shadow(0 4px 8px rgba(0, 0, 0, 0.08)) !important;
        transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), filter 0.3s ease !important;
    }

    .pack:not(.is-vip-pack):hover .pack-asset {
        transform: translateY(-4px) scale(1.2) translateZ(0) !important;
        filter: drop-shadow(0 22px 34px rgba(0, 0, 0, 0.24)) drop-shadow(0 6px 12px rgba(0, 0, 0, 0.12)) !important;
    }

    /* ==================================================
       VIP FULL-IMAGE PACK COVERS (VIP 1, VIP 2, VIP 3)
       Edge-to-edge luxury poster cover artwork on desktop
    ================================================== */
    .pack.is-vip-pack .pack-card,
    .pack[data-pack="vip1"] .pack-card,
    .pack[data-pack="vip2"] .pack-card,
    .pack[data-pack="vip3"] .pack-card {
        background: #090d16 !important;
        border-radius: 14px !important;
        position: relative !important;
        overflow: hidden !important;
        display: block !important;
        padding: 0 !important;
    }

    .pack.theme-vip1 .pack-card,
    .pack[data-pack="vip1"] .pack-card {
        background: #0b0f19 !important;
        border: 1.5px solid rgba(226, 232, 240, 0.6) !important;
        box-shadow: 0 16px 36px -8px rgba(0, 0, 0, 0.5), 0 0 20px -4px rgba(226, 232, 240, 0.3), inset 0 0 0 1px rgba(255, 255, 255, 0.35) !important;
    }
    .pack.theme-vip1:hover .pack-card,
    .pack[data-pack="vip1"]:hover .pack-card {
        border-color: rgba(255, 255, 255, 0.95) !important;
        box-shadow: 0 26px 48px -10px rgba(0, 0, 0, 0.6), 0 0 34px 0px rgba(226, 232, 240, 0.55), inset 0 0 0 1px rgba(255, 255, 255, 0.7) !important;
    }

    .pack.theme-vip2 .pack-card,
    .pack[data-pack="vip2"] .pack-card {
        background: #180f02 !important;
        border: 1.5px solid rgba(251, 191, 36, 0.7) !important;
        box-shadow: 0 16px 36px -8px rgba(0, 0, 0, 0.5), 0 0 24px -4px rgba(245, 158, 11, 0.4), inset 0 0 0 1px rgba(253, 230, 138, 0.4) !important;
    }
    .pack.theme-vip2:hover .pack-card,
    .pack[data-pack="vip2"]:hover .pack-card {
        border-color: rgba(253, 230, 138, 0.98) !important;
        box-shadow: 0 26px 48px -10px rgba(0, 0, 0, 0.6), 0 0 38px 0px rgba(245, 158, 11, 0.65), inset 0 0 0 1px rgba(253, 230, 138, 0.8) !important;
    }

    .pack.theme-vip3 .pack-card,
    .pack[data-pack="vip3"] .pack-card {
        background: #090314 !important;
        border: 1.5px solid rgba(139, 92, 246, 0.75) !important;
        box-shadow: 0 16px 36px -8px rgba(0, 0, 0, 0.55), 0 0 26px -4px rgba(139, 92, 246, 0.45), inset 0 0 0 1px rgba(196, 181, 253, 0.4) !important;
    }
    .pack.theme-vip3:hover .pack-card,
    .pack[data-pack="vip3"]:hover .pack-card {
        border-color: rgba(196, 181, 253, 0.98) !important;
        box-shadow: 0 26px 48px -10px rgba(0, 0, 0, 0.65), 0 0 42px 0px rgba(168, 85, 247, 0.7), inset 0 0 0 1px rgba(196, 181, 253, 0.85) !important;
    }

    /* Hide text title and bottom foil crimp on VIP full covers */
    .pack.is-vip-pack .pack-title,
    .pack[data-pack="vip1"] .pack-title,
    .pack[data-pack="vip2"] .pack-title,
    .pack[data-pack="vip3"] .pack-title {
        display: none !important;
    }

    .pack.is-vip-pack .pack-card::after,
    .pack[data-pack="vip1"] .pack-card::after,
    .pack[data-pack="vip2"] .pack-card::after,
    .pack[data-pack="vip3"] .pack-card::after {
        display: none !important;
    }

    /* Full-Screen Edge-to-Edge Artwork Container */
    .pack.is-vip-pack .pack-image,
    .pack[data-pack="vip1"] .pack-image,
    .pack[data-pack="vip2"] .pack-image,
    .pack[data-pack="vip3"] .pack-image {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        max-height: 100% !important;
        flex: none !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        overflow: hidden !important;
        border-radius: 14px !important;
        z-index: 1 !important;
    }

    .pack.is-vip-pack .pack-image picture,
    .pack[data-pack="vip1"] .pack-image picture,
    .pack[data-pack="vip2"] .pack-image picture,
    .pack[data-pack="vip3"] .pack-image picture {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Full-Screen Edge-to-Edge Image Artwork */
    .pack.is-vip-pack .pack-asset,
    .pack[data-pack="vip1"] .pack-asset,
    .pack[data-pack="vip2"] .pack-asset,
    .pack[data-pack="vip3"] .pack-asset {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
        border-radius: 14px !important;
        display: block !important;
        margin: 0 !important;
        transform: none !important;
        filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.4)) !important;
        transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), filter 0.4s ease !important;
    }

    .pack.is-vip-pack:hover .pack-asset,
    .pack[data-pack="vip1"]:hover .pack-asset,
    .pack[data-pack="vip2"]:hover .pack-asset,
    .pack[data-pack="vip3"]:hover .pack-asset {
        transform: scale(1.05) translateZ(0) !important;
        filter: drop-shadow(0 16px 32px rgba(0, 0, 0, 0.6)) !important;
    }

    /* Floating Glassmorphic Action Buttons on VIP packs */
    .pack.is-vip-pack .pack-preview-btn,
    .pack[data-pack="vip1"] .pack-preview-btn,
    .pack[data-pack="vip2"] .pack-preview-btn,
    .pack[data-pack="vip3"] .pack-preview-btn {
        left: auto !important;
        right: 34px !important;
        top: 9px !important;
        background: rgba(15, 23, 42, 0.90) !important;
        border: 1px solid rgba(255, 255, 255, 0.25) !important;
        color: #ffffff !important;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.4) !important;
        z-index: 10 !important;
    }

    .pack.is-vip-pack .pack-fav-btn,
    .pack[data-pack="vip1"] .pack-fav-btn,
    .pack[data-pack="vip2"] .pack-fav-btn,
    .pack[data-pack="vip3"] .pack-fav-btn {
        right: 8px !important;
        left: auto !important;
        top: 9px !important;
        background: rgba(15, 23, 42, 0.90) !important;
        border: 1px solid rgba(255, 255, 255, 0.25) !important;
        color: #ffffff !important;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.4) !important;
        z-index: 10 !important;
    }

    /* Floating Luxury VIP Ribbon */
    .pack.is-vip-pack .pack-vip-ribbon,
    .pack[data-pack="vip1"] .pack-vip-ribbon,
    .pack[data-pack="vip2"] .pack-vip-ribbon,
    .pack[data-pack="vip3"] .pack-vip-ribbon {
        position: absolute !important;
        top: 9px !important;
        left: 9px !important;
        z-index: 10 !important;
    }

    /* Clear bold price centered beneath artwork (PackDraw style) */
    .pack-price {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        color: #18181b !important;
        font-size: 16px !important;
        font-weight: 800 !important;
        letter-spacing: -0.01em !important;
        margin-top: 10px !important;
        padding: 0 !important;
        height: auto !important;
        min-width: 0 !important;
        transition: color 140ms ease;
    }

    .pack:hover .pack-price {
        color: #ef4323 !important;
        transform: none !important;
    }

    /* 7. Pack-Opening Page (PackDraw Proportions: Centered Stage & Single Control Toolbar) */
    .apple-top {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        margin-bottom: 20px !important;
        padding: 0 !important;
    }

    .apple-top {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        margin-bottom: 24px !important;
        padding: 0 !important;
    }

    .apple-top .back-button {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        width: auto !important;
        min-width: 0 !important;
        height: 38px !important;
        padding: 0 16px !important;
        border-radius: 999px !important;
        background: #f4f4f5 !important;
        border: 1px solid #e4e4e7 !important;
        color: #18181b !important;
        font-size: 13.5px !important;
        font-weight: 600 !important;
        cursor: pointer !important;
        white-space: nowrap !important;
        transition: all 140ms ease !important;
    }

    .apple-top .back-button:hover {
        background: #e4e4e7 !important;
        color: #ef4323 !important;
        border-color: #d4d4d8 !important;
    }

    .apple-top .back-button .back-button-label {
        display: inline-block !important;
        font-size: 13.5px !important;
        font-weight: 600 !important;
        color: inherit !important;
        white-space: nowrap !important;
    }

    .apple-top .back-button svg {
        flex-shrink: 0 !important;
        width: 18px !important;
        height: 18px !important;
    }

    .apple-top h2 {
        display: none !important;
    }

    /* Centered Opening Stage (Holds Pack Artwork or Spinning Reel) */
    .opening-stage-wrap {
        max-width: 1260px !important;
        width: 100% !important;
        height: 310px !important;
        margin: 0 auto 28px !important;
        position: relative !important;
        border-radius: 20px !important;
        background: #ffffff !important;
        border: 1px solid #e4e4e7 !important;
        box-shadow: 0 8px 30px rgba(0, 0, 0, 0.04) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
    }

    .stage-pack-display {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        position: relative;
    }

    .stage-pack-display.stage-hidden,
    .reel-window.stage-hidden {
        display: none !important;
    }

    .stage-pack-artwork {
        max-height: 250px !important;
        max-width: 220px !important;
        object-fit: contain !important;
        filter: drop-shadow(0 18px 32px rgba(0, 0, 0, 0.18)) !important;
        cursor: pointer !important;
        transition: transform 250ms ease !important;
    }

    .stage-pack-artwork:hover {
        transform: scale(1.04) translateY(-3px) !important;
    }

    .reel-window {
        max-width: 1260px !important;
        width: 100% !important;
        height: 100% !important;
        margin: 0 auto !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 20px !important;
        position: relative !important;
        overflow: hidden !important;
        background: radial-gradient(circle at center, rgba(244, 244, 245, 0.5) 0%, #ffffff 80%) !important;
    }

    .reel-window::before,
    .reel-window::after {
        width: 150px !important;
        z-index: 25 !important;
    }

    .reel-window::before {
        background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0.9) 45%, transparent 100%) !important;
    }

    .reel-window::after {
        background: linear-gradient(270deg, #ffffff 0%, rgba(255, 255, 255, 0.9) 45%, transparent 100%) !important;
    }

    .reel-backdrop-logo {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        width: 340px !important;
        height: 265px !important;
        z-index: 2 !important;
        pointer-events: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        opacity: 0.35 !important;
    }

    .logo-outline-img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        display: block !important;
        filter: none !important;
        opacity: 1 !important;
    }

    .reel-window .reel-track {
        height: 100% !important;
        display: flex !important;
        align-items: center !important;
        gap: 24px !important;
        padding: 0 140px !important;
    }

    .reel-window .reel-item {
        width: 210px !important;
        height: 270px !important;
        flex: 0 0 210px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        position: relative !important;
        border-radius: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
        transition: transform 0.28s cubic-bezier(0.18, 0.89, 0.32, 1.28) !important;
        overflow: visible !important;
    }

    .reel-window .reel-item:hover {
        border-color: transparent !important;
    }

    .reel-window .reel-item.winner {
        transform: scale(1.08) !important;
        border: none !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .reel-window .reel-item img {
        width: 200px !important;
        height: 200px !important;
        max-width: 200px !important;
        max-height: 200px !important;
        object-fit: contain !important;
        display: block !important;
        position: relative !important;
        z-index: 3 !important;
        filter: drop-shadow(0 14px 28px rgba(0, 0, 0, 0.16)) !important;
        transition: transform 0.25s cubic-bezier(0.18, 0.89, 0.32, 1.28) !important;
    }

    .reel-window .reel-item.winner img {
        transform: scale(1.1) !important;
        filter: drop-shadow(0 20px 40px rgba(239, 67, 35, 0.38)) !important;
    }

    .reel-window .reel-item .product-voucher-inline-wrap {
        width: 100% !important;
        height: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: relative !important;
        z-index: 3 !important;
    }

    .reel-window .reel-item .product-voucher-inline-wrap svg {
        max-height: 135px !important;
        width: auto !important;
        filter: drop-shadow(0 10px 24px rgba(239, 67, 35, 0.22)) !important;
    }

    .reel-window .reel-item .product-glow {
        width: 210px !important;
        height: 210px !important;
        filter: blur(30px) !important;
    }

    .reel-window .reel-item.winner .product-glow {
        transform: translate(-50%, -50%) scale(1.35) !important;
        opacity: 1 !important;
        filter: blur(36px) !important;
    }

    .reel-window .reel-marker {
        position: absolute !important;
        left: 50% !important;
        top: 0 !important;
        bottom: 0 !important;
        width: 0 !important;
        transform: translateX(-50%) !important;
        z-index: 28 !important;
        pointer-events: none !important;
        background: none !important;
    }

    .reel-window .marker-top {
        top: 6px !important;
        width: 22px !important;
        height: 16px !important;
    }

    .reel-window .marker-top svg {
        width: 22px !important;
        height: 16px !important;
    }

    .reel-window .marker-bottom {
        bottom: 6px !important;
        width: 22px !important;
        height: 16px !important;
    }

    .reel-window .marker-bottom svg {
        width: 22px !important;
        height: 16px !important;
    }

    .stage-view-toggle-btn {
        position: absolute !important;
        top: 14px !important;
        right: 14px !important;
        width: 38px !important;
        height: 38px !important;
        border-radius: 10px !important;
        background: #ffffff !important;
        border: 1px solid #e4e4e7 !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #71717a !important;
        cursor: pointer !important;
        z-index: 30 !important;
        transition: all 140ms ease !important;
    }

    .stage-view-toggle-btn:hover {
        background: #f4f4f5 !important;
        color: #18181b !important;
        border-color: #d4d4d8 !important;
    }

    /* Single Grouped Desktop Control Toolbar Beneath Stage */
    .desktop-opening-toolbar {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        max-width: 680px !important;
        width: 100% !important;
        margin: 0 auto 36px !important;
        background: #ffffff !important;
        border: 1px solid #e4e4e7 !important;
        border-radius: 12px !important;
        padding: 6px 10px !important;
        gap: 12px !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
    }

    .quantity-control {
        height: 42px !important;
        border-radius: 8px !important;
        background: #f4f4f5 !important;
        border: 1px solid #e4e4e7 !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 0 6px !important;
        margin: 0 !important;
    }

    .quantity-control button {
        width: 28px !important;
        height: 28px !important;
        border-radius: 6px !important;
    }

    .opening-actions-group {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        flex: 1 !important;
        justify-content: center !important;
    }

    .open-button {
        height: 42px !important;
        border-radius: 8px !important;
        background: #ef4323 !important;
        color: #ffffff !important;
        font-size: 14.5px !important;
        font-weight: 700 !important;
        padding: 0 22px !important;
        border: none !important;
        flex: 1 !important;
        max-width: 220px !important;
        margin: 0 !important;
        cursor: pointer;
        box-shadow: 0 1px 3px rgba(239, 67, 35, 0.3) !important;
        transition: all 140ms ease !important;
    }

    .open-button:hover {
        background: #e03819 !important;
        transform: translateY(-0.5px) !important;
    }

    .demo-button {
        height: 42px !important;
        border-radius: 8px !important;
        background: #f4f4f5 !important;
        border: 1px solid #e4e4e7 !important;
        color: #18181b !important;
        font-size: 13.5px !important;
        font-weight: 600 !important;
        padding: 0 18px !important;
        margin: 0 !important;
        cursor: pointer;
        transition: all 140ms ease !important;
    }

    .demo-button:hover {
        background: #e4e4e7 !important;
    }

    .sound-buttons {
        height: 42px !important;
        border-radius: 8px !important;
        background: #f4f4f5 !important;
        border: 1px solid #e4e4e7 !important;
        display: inline-flex !important;
        align-items: center !important;
        padding: 0 4px !important;
        margin: 0 !important;
    }

    .pack-info {
        display: none !important;
    }

    /* 8. Possible Drops Grid (PackDraw Proportions: 6 Columns, Clean Cards, Price Below Name) */
    .drops-section-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        margin-bottom: 18px !important;
        padding: 0 !important;
        width: 100% !important;
    }

    .drops-header-info {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
    }

    .drops-pack-thumb {
        display: block !important;
        width: 36px !important;
        height: 46px !important;
        object-fit: contain !important;
        border-radius: 6px !important;
    }

    .drops-header-meta {
        display: flex !important;
        flex-direction: column !important;
        gap: 2px !important;
    }

    .drops-section-title {
        font-size: 17px !important;
        font-weight: 800 !important;
        color: #18181b !important;
        margin: 0 !important;
    }

    .drops-section-count {
        font-size: 12px !important;
        color: #71717a !important;
        background: transparent !important;
        padding: 0 !important;
    }

    .drops-fav-btn {
        width: 36px !important;
        height: 36px !important;
        border-radius: 8px !important;
        border: 1px solid #e4e4e7 !important;
        background: #ffffff !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #71717a !important;
        cursor: pointer !important;
        transition: all 140ms ease !important;
    }

    .drops-fav-btn:hover {
        border-color: #d4d4d8 !important;
        color: #ef4323 !important;
    }

    /* 6 Columns at standard wide desktop */
    .drops-grid {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 16px !important;
        padding: 0 !important;
        width: 100% !important;
    }

    @media (min-width: 1200px) {
        .drops-grid {
            grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
            gap: 16px !important;
        }
    }

    .drop-card {
        padding: 14px 10px 12px !important;
        border-radius: 12px !important;
        background: #ffffff !important;
        border: 1px solid #e4e4e7 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        position: relative !important;
        min-height: 195px !important;
        transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease !important;
        cursor: pointer;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
    }

    .drop-card:hover {
        transform: translateY(-2px) !important;
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06) !important;
        border-color: #d4d4d8 !important;
    }

    .drop-card .odds {
        position: absolute !important;
        top: 10px !important;
        left: 10px !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        color: #71717a !important;
        background: #f4f4f5 !important;
        padding: 2px 7px !important;
        border-radius: 6px !important;
    }

    .drop-card img {
        width: 82px !important;
        height: 82px !important;
        object-fit: contain !important;
        margin: 20px 0 10px 0 !important;
    }

    .drop-card .drop-name {
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #18181b !important;
        line-height: 1.3 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        width: 100% !important;
        display: block !important;
    }

    .drop-card .drop-price {
        display: none !important;
    }

    .drop-card .product-voucher-inline-wrap {
        margin: 16px auto 8px !important;
    }

    .drop-card .product-voucher-inline-wrap svg,
    .drop-card .product-voucher-svg {
        width: 104px !important;
        max-width: 86% !important;
        height: 52px !important;
        max-height: 54px !important;
    }

    /* 9. Desktop Profile, Legal & Account Pages (Sidebar & Content Layout) */
    .profile-screen,
    .wallet-screen,
    .collection-screen,
    .fair-screen,
    .docs-screen {
        max-width: 1260px !important;
        margin: 0 auto !important;
        padding: 28px 28px 56px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .profile-layout-container {
        display: grid !important;
        grid-template-columns: 210px minmax(0, 1fr) !important;
        gap: 32px !important;
        align-items: stretch !important;
        width: 100% !important;
    }

    .account-sidebar-slot {
        width: 210px !important;
        flex-shrink: 0 !important;
        position: relative !important;
    }

    .profile-desktop-sidebar {
        display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
        width: 210px !important;
        flex-shrink: 0 !important;
        position: sticky !important;
        top: 84px !important;
        align-self: start !important;
        z-index: 50 !important;
    }

    .profile-sidebar-group {
        display: flex !important;
        flex-direction: column !important;
        gap: 4px !important;
    }

    .profile-sidebar-group-title {
        font-size: 12px !important;
        font-weight: 700 !important;
        color: #71717a !important;
        text-transform: uppercase !important;
        letter-spacing: 0.04em !important;
        margin-bottom: 6px !important;
        padding-left: 10px !important;
        display: block !important;
    }

    .profile-sidebar-item {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 9px 12px !important;
        border-radius: 8px !important;
        font-size: 13.5px !important;
        font-weight: 500 !important;
        color: #52525b !important;
        background: transparent !important;
        border: 1px solid transparent !important;
        width: 100% !important;
        text-align: left !important;
        cursor: pointer !important;
        transition: all 140ms ease !important;
    }

    .profile-sidebar-item:hover {
        background: #f4f4f5 !important;
        color: #18181b !important;
    }

    .profile-sidebar-item.active {
        background: #f4f4f5 !important;
        color: #18181b !important;
        font-weight: 600 !important;
        border-color: #e4e4e7 !important;
    }

    .profile-main-content {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
        min-width: 0 !important;
    }

    .profile-desktop-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        margin-bottom: 12px !important;
    }

    .profile-desktop-title {
        font-size: 26px !important;
        font-weight: 800 !important;
        color: #18181b !important;
        margin: 0 0 4px 0 !important;
        letter-spacing: -0.02em !important;
    }

    .profile-desktop-sub {
        font-size: 13.5px !important;
        color: #71717a !important;
        margin: 0 !important;
    }

    .profile-account-id-badge {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        font-size: 12.5px !important;
        color: #71717a !important;
        background: #ffffff !important;
        border: 1px solid #e4e4e7 !important;
        padding: 6px 12px !important;
        border-radius: 8px !important;
    }

    .profile-copy-id-btn {
        background: transparent !important;
        border: none !important;
        cursor: pointer !important;
        color: #71717a !important;
        display: flex !important;
        align-items: center !important;
        padding: 0 !important;
        transition: color 140ms ease !important;
    }

    .profile-copy-id-btn:hover {
        color: #ef4323 !important;
    }

    .profile-panel {
        background: #ffffff !important;
        border: 1px solid #e4e4e7 !important;
        border-radius: 12px !important;
        padding: 22px 24px !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
        margin-bottom: 20px !important;
    }

    .profile-panel-title {
        font-size: 15px !important;
        font-weight: 700 !important;
        color: #18181b !important;
        margin: 0 0 16px 0 !important;
    }

    .profile-field-row {
        display: grid !important;
        grid-template-columns: 140px 1fr !important;
        gap: 16px !important;
        align-items: center !important;
        padding: 12px 0 !important;
        border-top: 1px solid #f4f4f5 !important;
    }

    .profile-field-row:first-of-type {
        border-top: none !important;
        padding-top: 0 !important;
    }

    .profile-field-label {
        font-size: 13.5px !important;
        font-weight: 600 !important;
        color: #52525b !important;
    }

    .profile-field-control {
        display: flex !important;
        align-items: center !important;
        gap: 16px !important;
    }

    .profile-avatar-help-text {
        font-size: 12.5px !important;
        color: #71717a !important;
        flex: 1 !important;
    }

    .profile-action-btn {
        height: 36px !important;
        padding: 0 16px !important;
        border-radius: 8px !important;
        background: #f4f4f5 !important;
        border: 1px solid #e4e4e7 !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #18181b !important;
        cursor: pointer !important;
        transition: all 140ms ease !important;
    }

    .profile-action-btn:hover {
        background: #e4e4e7 !important;
    }

    .profile-input {
        height: 38px !important;
        border-radius: 8px !important;
        border: 1px solid #e4e4e7 !important;
        font-size: 13.5px !important;
        padding: 0 12px !important;
        width: 240px !important;
        background: #ffffff !important;
        color: #18181b !important;
        box-sizing: border-box !important;
    }

    .profile-card {
        background: #ffffff !important;
        border: 1px solid #e4e4e7 !important;
        border-radius: 12px !important;
        padding: 20px 24px !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
        margin-bottom: 20px !important;
    }

    .profile-columns-layout {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 20px !important;
        align-items: start !important;
    }

    .profile-hero-card {
        margin-bottom: 20px !important;
        border-radius: 20px !important;
    }

    .profile-hero-band {
        height: 100px !important;
    }

    .profile-hero-avatar {
        width: 76px !important;
        height: 76px !important;
    }

    .profile-hero-name {
        font-size: 20px !important;
    }

    .profile-stats-strip {
        gap: 14px !important;
        margin-bottom: 20px !important;
    }

    .profile-stat-chip {
        padding: 16px 12px !important;
        gap: 6px !important;
        border-radius: 16px !important;
    }

    .profile-stat-chip-icon {
        width: 32px !important;
        height: 32px !important;
    }

    .profile-stat-chip-value {
        font-size: 18px !important;
    }

    .profile-stats-card {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 14px !important;
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        margin-bottom: 20px !important;
        box-shadow: none !important;
    }

    .profile-stat-cell {
        background: #ffffff !important;
        border: 1px solid #e4e4e7 !important;
        border-radius: 12px !important;
        padding: 18px 20px !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        gap: 4px !important;
    }

    .profile-stat-label {
        font-size: 11px !important;
        font-weight: 700 !important;
        color: #71717a !important;
        letter-spacing: 0.04em !important;
    }

    .profile-stat-value {
        font-size: 22px !important;
        font-weight: 800 !important;
        color: #18181b !important;
    }

    .profile-dashboard-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 20px !important;
        align-items: start !important;
    }

    .profile-menu-group,
    .profile-settings-group {
        background: #ffffff !important;
        border: 1px solid #e4e4e7 !important;
        border-radius: 12px !important;
        padding: 8px !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 4px !important;
    }

    .profile-menu-row {
        padding: 10px 14px !important;
        border-radius: 8px !important;
    }

    .profile-setting-row {
        padding: 12px 14px !important;
        border-radius: 8px !important;
    }

    /* 10. Collection, Wallet, Fair & Docs Desktop Panels */
    .collection-stats-card {
        border-radius: 12px !important;
        border: 1px solid #e4e4e7 !important;
        padding: 20px 24px !important;
        margin-bottom: 24px !important;
    }

    .collection-controls {
        margin-bottom: 24px !important;
    }

    .collection-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 18px !important;
    }

    /* 11. Docs Desktop Panels */
    .docs-screen {
        max-width: 1000px !important;
        margin: 0 auto !important;
    }

    .wallet-hero-card {
        padding: 32px;
        border-radius: 22px;
        margin-bottom: 28px;
    }

    .wallet-view-pane {
        background: #ffffff;
        border: 1px solid #e4e4e7;
        border-radius: 20px;
        padding: 32px;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
    }

    /* 11. Desktop Modals & Drawers */
    .pack-preview-modal-card {
        max-width: 760px !important;
        border-radius: 24px !important;
        max-height: 82vh !important;
    }

    .pack-preview-modal-body .drops-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    .product-modal-backdrop {
        background: rgba(15, 23, 42, 0.55) !important;
        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important;
    }

    .product-modal-card {
        max-width: 360px !important;
        width: 100% !important;
        background: #ffffff !important;
        border: 1px solid rgba(226, 232, 240, 0.9) !important;
        border-radius: 24px !important;
        padding: 20px 22px 22px !important;
        box-shadow: 0 25px 60px -12px rgba(15, 23, 42, 0.22), 0 0 0 1px rgba(0, 0, 0, 0.03) !important;
        animation: modalPop 0.24s cubic-bezier(0.16, 1, 0.3, 1) !important;
    }

    .product-modal-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        margin-bottom: 2px !important;
    }

    .product-modal-price {
        background: #fff1f2 !important;
        color: #ef4323 !important;
        font-size: 13.5px !important;
        font-weight: 800 !important;
        padding: 4px 13px !important;
        border-radius: 999px !important;
        border: 1px solid #ffe4e6 !important;
        letter-spacing: -0.2px !important;
        box-shadow: 0 1px 2px rgba(239, 67, 35, 0.06) !important;
    }

    .product-modal-close {
        width: 32px !important;
        height: 32px !important;
        border-radius: 50% !important;
        background: #f4f4f5 !important;
        border: 1px solid #e4e4e7 !important;
        color: #71717a !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    }

    .product-modal-close:hover {
        background: #fee2e2 !important;
        color: #ef4323 !important;
        border-color: #fca5a5 !important;
        transform: rotate(90deg) scale(1.05) !important;
    }

    .product-modal-image {
        height: 220px !important;
        margin: 14px 0 16px !important;
        border-radius: 18px !important;
        background: radial-gradient(circle at 50% 45%, #ffffff 20%, #f8fafc 65%, #f1f5f9 100%) !important;
        border: 1px solid #e2e8f0 !important;
        box-shadow: inset 0 2px 6px rgba(255, 255, 255, 0.9), inset 0 -18px 30px -15px rgba(226, 232, 240, 0.6), 0 4px 12px -2px rgba(0, 0, 0, 0.03) !important;
        position: relative !important;
        overflow: hidden !important;
    }

    .product-modal-image img {
        max-width: 82% !important;
        max-height: 82% !important;
        object-fit: contain !important;
        filter: drop-shadow(0 14px 26px rgba(0, 0, 0, 0.15)) !important;
        transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    }

    .product-modal-card:hover .product-modal-image img {
        transform: translateY(-4px) scale(1.03) !important;
    }

    .product-modal-title-row {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        margin-bottom: 6px !important;
    }

    .product-modal-content h3 {
        font-size: 16px !important;
        font-weight: 800 !important;
        color: #09090b !important;
        line-height: 1.3 !important;
        letter-spacing: -0.3px !important;
    }

    .product-modal-tier-tag {
        font-size: 9px !important;
        font-weight: 800 !important;
        letter-spacing: 0.6px !important;
        padding: 3px 8px !important;
        border-radius: 6px !important;
        text-transform: uppercase !important;
    }

    .product-modal-content p {
        font-size: 11.5px !important;
        line-height: 1.5 !important;
        color: #71717a !important;
        margin: 0 0 16px !important;
        min-height: auto !important;
    }

    .product-modal-stats-card {
        display: grid !important;
        grid-template-columns: 1fr auto 1fr !important;
        align-items: center !important;
        background: #f8fafc !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 14px !important;
        padding: 12px 14px !important;
        margin-bottom: 16px !important;
    }

    .product-stat-col {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        gap: 3px !important;
    }

    .product-stat-label {
        font-size: 10px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        color: #94a3b8 !important;
    }

    .product-stat-val {
        font-size: 14px !important;
        font-weight: 800 !important;
        color: #09090b !important;
        letter-spacing: -0.2px !important;
    }

    .product-stat-divider {
        width: 1px !important;
        height: 24px !important;
        background: #e2e8f0 !important;
    }

    .product-modal-action {
        width: 100% !important;
        height: 44px !important;
        background: #09090b !important;
        color: #ffffff !important;
        border-radius: 12px !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        letter-spacing: 0.1px !important;
        border: none !important;
        cursor: pointer !important;
        transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
        box-shadow: 0 4px 12px rgba(9, 9, 11, 0.16) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .product-modal-action:hover {
        background: #27272a !important;
        transform: translateY(-1.5px) !important;
        box-shadow: 0 6px 16px rgba(9, 9, 11, 0.22) !important;
    }

    .product-modal-action:active {
        transform: scale(0.98) !important;
    }

    .reward-modal-card {
        max-width: 460px !important;
        border-radius: 22px !important;
    }

    .shipping-modal-card {
        max-width: 580px !important;
        border-radius: 22px !important;
    }

    .wallet-modal-card {
        max-width: 520px !important;
        border-radius: 22px !important;
    }

    .app-modal-card {
        max-width: 540px !important;
        border-radius: 22px !important;
    }

    .admin-modal-card {
        max-width: 680px !important;
        border-radius: 20px !important;
    }

    .menu-drawer {
        max-width: 400px !important;
    }

    /* 11b. Desktop Authentication Elevated Card Container */
    #authScreen[style*="display: block"],
    .auth-screen:not([style*="display: none"]) {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: calc(100vh - 64px) !important;
        background: #f4f4f5 !important;
        background-image: radial-gradient(circle at 50% 25%, rgba(239, 67, 35, 0.04) 0%, transparent 60%), radial-gradient(circle at 80% 80%, rgba(15, 23, 42, 0.02) 0%, transparent 50%) !important;
        padding: 40px 20px 60px !important;
        box-sizing: border-box !important;
        cursor: default !important;
    }

    body:has(#authScreen:not([style*="display: none"])) .desktop-footer {
        display: none !important;
    }

    .auth-screen .auth-ios-container {
        width: 100% !important;
        max-width: 440px !important;
        background: #ffffff !important;
        border: 1px solid #e4e4e7 !important;
        border-radius: 22px !important;
        box-shadow: 0 20px 48px -12px rgba(15, 23, 42, 0.08), 0 2px 6px rgba(0, 0, 0, 0.02) !important;
        padding: 24px 32px 28px !important;
        margin: auto !important;
        box-sizing: border-box !important;
        position: relative !important;
        animation: authDesktopCardIn 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
    }

    @keyframes authDesktopCardIn {
        from {
            opacity: 0;
            transform: translateY(10px) scale(0.985);
        }
        to {
            opacity: 1;
            transform: translateY(0) scale(1);
        }
    }

    .auth-screen .auth-ios-nav-bar {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        height: 36px !important;
        margin-bottom: 2px !important;
        position: relative !important;
        width: 100% !important;
    }

    .auth-screen .auth-ios-back-btn {
        width: 32px !important;
        height: 32px !important;
        border-radius: 9px !important;
        background: #f4f4f5 !important;
        border: 1px solid #e4e4e7 !important;
        color: #71717a !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        box-shadow: none !important;
        transition: all 0.18s ease !important;
        padding: 0 !important;
    }

    .auth-screen .auth-ios-back-btn:hover {
        background: #e4e4e7 !important;
        color: #18181b !important;
        transform: translateX(-1px) !important;
    }

    .auth-screen .auth-desktop-close-btn {
        width: 32px !important;
        height: 32px !important;
        border-radius: 9px !important;
        background: #f4f4f5 !important;
        border: 1px solid #e4e4e7 !important;
        color: #71717a !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        box-shadow: none !important;
        transition: all 0.18s ease !important;
        padding: 0 !important;
    }

    .auth-screen .auth-desktop-close-btn:hover {
        background: #e4e4e7 !important;
        color: #18181b !important;
        transform: rotate(90deg) !important;
    }

    .auth-screen .auth-ios-nav-spacer {
        display: none !important;
    }

    .auth-screen .auth-ios-hero {
        margin: 2px 0 16px !important;
    }

    .auth-screen .auth-ios-large-title {
        font-size: 24px !important;
        font-weight: 800 !important;
        color: #18181b !important;
        letter-spacing: -0.025em !important;
        margin: 0 0 4px !important;
    }

    .auth-screen .auth-ios-subtitle {
        font-size: 13.5px !important;
        color: #71717a !important;
        max-width: 340px !important;
        line-height: 1.45 !important;
        margin: 0 !important;
    }

    .auth-screen .auth-ios-segmented {
        background: #f4f4f5 !important;
        border: 1px solid #e4e4e7 !important;
        border-radius: 12px !important;
        padding: 4px !important;
        gap: 4px !important;
        margin-bottom: 16px !important;
        box-shadow: none !important;
    }

    .auth-screen .auth-ios-segment {
        padding: 8px 16px !important;
        border-radius: 9px !important;
        border: none !important;
        background: transparent !important;
        color: #71717a !important;
        font-size: 13.5px !important;
        font-weight: 600 !important;
        cursor: pointer !important;
        transition: all 0.18s ease !important;
        outline: none !important;
    }

    .auth-screen .auth-ios-segment:hover:not(.active) {
        color: #18181b !important;
        background: rgba(0, 0, 0, 0.03) !important;
    }

    .auth-screen .auth-ios-segment.active {
        background: #ffffff !important;
        color: #18181b !important;
        font-weight: 700 !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04) !important;
        outline: none !important;
        border: none !important;
    }

    .auth-screen .auth-ios-segment:focus-visible {
        outline: 2px solid rgba(239, 67, 35, 0.4) !important;
        outline-offset: 1px !important;
    }

    .auth-screen .auth-ios-google-btn {
        height: 44px !important;
        border-radius: 12px !important;
        border: 1px solid #e4e4e7 !important;
        background: #ffffff !important;
        color: #18181b !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        margin-bottom: 14px !important;
        transition: all 0.18s ease !important;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
    }

    .auth-screen .auth-ios-google-btn:hover {
        background: #f8fafc !important;
        border-color: #cbd5e1 !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
    }

    .auth-screen .auth-ios-divider {
        margin: 14px 0 14px !important;
    }

    .auth-screen .auth-ios-divider span {
        font-size: 11.5px !important;
        font-weight: 700 !important;
        color: #a1a1aa !important;
        letter-spacing: 0.06em !important;
        text-transform: uppercase !important;
        background: #ffffff !important;
        padding: 0 10px !important;
    }

    .auth-screen .auth-ios-divider::before,
    .auth-screen .auth-ios-divider::after {
        border-top-color: #e4e4e7 !important;
    }

    .auth-screen .auth-ios-input-group {
        margin-bottom: 10px !important;
    }

    .auth-screen .auth-ios-input {
        height: 44px !important;
        border-radius: 12px !important;
        border: 1px solid #e4e4e7 !important;
        background: #fafafa !important;
        color: #18181b !important;
        font-size: 14px !important;
        transition: all 0.18s ease !important;
    }

    .auth-screen .auth-ios-input:focus {
        background: #ffffff !important;
        border-color: #ef4323 !important;
        box-shadow: 0 0 0 3px rgba(239, 67, 35, 0.12) !important;
        outline: none !important;
    }

    .auth-screen .auth-ios-submit-btn {
        height: 46px !important;
        border-radius: 12px !important;
        background: linear-gradient(135deg, #ef4323 0%, #dc2626 100%) !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        color: #ffffff !important;
        margin-top: 8px !important;
        box-shadow: 0 6px 20px -2px rgba(239, 67, 35, 0.38) !important;
        transition: all 0.18s ease !important;
    }

    .auth-screen .auth-ios-submit-btn:hover {
        background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
        transform: translateY(-1.5px) !important;
        box-shadow: 0 8px 24px -2px rgba(239, 67, 35, 0.48) !important;
    }

    .auth-screen .auth-ios-footer {
        margin-top: 14px !important;
        padding-bottom: 4px !important;
        font-size: 13px !important;
        color: #71717a !important;
    }

    .auth-screen .auth-switch-link {
        color: #ef4323 !important;
        font-weight: 700 !important;
        font-size: 13.5px !important;
        cursor: pointer !important;
    }

    /* 12. Desktop Footer */
    .desktop-footer {
        display: block !important;
        background: #ffffff;
        border-top: 1px solid #f1f1f4;
        margin-top: 72px;
        width: 100%;
        box-sizing: border-box;
    }

    .desktop-footer-inner {
        max-width: 1260px;
        margin: 0 auto;
        padding: 56px 32px 36px;
        box-sizing: border-box;
    }

    .desktop-footer-top {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 48px;
        margin-bottom: 48px;
    }

    .desktop-footer-brand-col {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        max-width: 320px;
    }

    .desktop-footer-logo-link {
        display: inline-block;
        margin-bottom: 14px;
        transition: opacity 150ms ease;
    }

    .desktop-footer-logo-link:hover {
        opacity: 0.85;
    }

    .desktop-footer-logo {
        height: 28px;
        width: auto;
        display: block;
    }

    .desktop-footer-tagline {
        font-size: 13.5px;
        line-height: 1.6;
        color: #71717a;
        margin: 0;
    }

    .desktop-footer-fair-badge {
        display: none !important;
    }

    .desktop-footer-links-group {
        display: flex;
        flex-wrap: wrap;
        gap: 48px 64px;
    }

    .desktop-footer-col {
        min-width: 130px;
    }

    .desktop-footer-col-title {
        font-size: 11.5px;
        font-weight: 700;
        color: #09090b;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        margin: 0 0 16px;
    }

    .desktop-footer-links {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .desktop-footer-link {
        font-size: 13.5px;
        font-weight: 500;
        color: #71717a;
        text-decoration: none;
        transition: color 150ms ease, transform 150ms ease;
        cursor: pointer;
        display: inline-block;
    }

    .desktop-footer-link:hover {
        color: #09090b;
        transform: translateX(2px);
    }

    .desktop-footer-bottom {
        border-top: 1px solid #f1f1f4;
        padding-top: 24px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 16px;
        font-size: 12.5px;
        color: #a1a1aa;
    }

    .desktop-footer-copy {
        color: #a1a1aa;
        font-size: 12.5px;
    }

    .desktop-footer-disclaimer {
        color: #a1a1aa;
        font-size: 12.5px;
        letter-spacing: 0.01em;
    }
}


@media (max-width: 480px) {
    body {
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        background: #fafaf9 !important;
        width: 100% !important;
        overflow-x: hidden !important;
    }

    .app {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 100vh !important;
        min-height: 100dvh !important;
        margin: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        border: none !important;
    }

    .app-bottom-dock,
    .bottom-nav {
        width: calc(100% - 24px) !important;
        max-width: 410px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        bottom: max(12px, env(safe-area-inset-bottom, 12px)) !important;
    }

    .reward-modal-backdrop,
    .docs-modal-overlay,
    .admin-modal-overlay {
        max-width: 100% !important;
        left: 0 !important;
        transform: none !important;
    }
}

/* ==================================================
   SMALL PHONES (<370px)
================================================== */

@media (max-width: 370px) {
    .header {
        padding: 0 14px;
    }

    .hero,
    .hero-swiper {
        margin: 6px 12px 0;
    }

    .categories {
        padding: 0 12px;
        gap: 8px;
    }

    .pack-grid,
    #packsScreenGrid {
        padding: 18px 12px calc(130px + env(safe-area-inset-bottom, 24px)) !important;
        column-gap: 12px;
        row-gap: 20px;
    }
}

/* ==================================================
   HEADER NOTIFICATION BUTTON
================================================== */
.notif-btn {
    position: relative;
    width: 34px;
    height: 34px;
    border-radius: var(--radius-full);
    background: #ffffff;
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #18181b;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    transition: all 0.2s ease;
    margin-right: 0;
    flex-shrink: 0;
}
.notif-btn svg {
    width: 17px;
    height: 17px;
    display: block;
}
.notif-btn:hover {
    background: #fafaf9;
    border-color: #d4d4d8;
}
.notif-badge {
    position: absolute;
    top: -3px;
    right: -3px;
    min-width: 16px;
    height: 16px;
    padding: 0 3.5px;
    border-radius: var(--radius-full);
    background: var(--primary);
    color: #ffffff;
    font-size: 9.5px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #ffffff;
    box-sizing: border-box;
}

/* ==================================================
   LIVE DROPS TICKER
================================================== */
.live-ticker-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 16px;
    margin: 12px 0 6px;
    overflow: hidden;
}
.live-ticker-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 8px;
    border-radius: var(--radius-full);
    background: #ffffff;
    border: 1px solid var(--border);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #18181b;
    white-space: nowrap;
    box-shadow: var(--shadow-sm);
    flex-shrink: 0;
}
.live-dot-pulse {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #10b981;
    animation: livePulseAnim 1.6s ease-in-out infinite;
}
@keyframes livePulseAnim {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.4); opacity: 0.6; }
}
.live-ticker-track {
    display: flex;
    align-items: center;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 2px 0;
}
.live-ticker-track::-webkit-scrollbar {
    display: none;
}
.live-drop-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: var(--radius-full);
    background: #ffffff;
    border: 1px solid var(--border);
    font-size: 11px;
    white-space: nowrap;
    box-shadow: 0 1px 4px rgba(0,0,0,0.03);
    flex-shrink: 0;
    transition: transform 0.2s ease;
}
.live-drop-chip:hover {
    transform: translateY(-1px);
}
.live-chip-img {
    width: 16px;
    height: 16px;
    object-fit: contain;
}
.live-chip-user {
    font-weight: 600;
    color: #18181b;
}
.live-chip-val {
    font-weight: 700;
    color: var(--primary);
}

/* ==================================================
   DAILY STREAK BANNER ON HOME
================================================== */
.daily-reward-banner {
    margin: 8px 16px;
    padding: 12px 14px;
    border-radius: var(--radius-md);
    background: linear-gradient(135deg, #ffffff 0%, #fff7f5 100%);
    border: 1px solid rgba(239, 67, 35, 0.22);
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 4px 14px rgba(239, 67, 35, 0.08);
}
.daily-banner-icon-wrap {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: var(--primary-light);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.daily-banner-content {
    flex: 1;
    min-width: 0;
}
.daily-banner-title {
    font-size: 13px;
    font-weight: 700;
    color: #18181b;
    line-height: 1.25;
}
.daily-banner-title .accent {
    color: var(--primary);
}
.daily-banner-sub {
    font-size: 11px;
    color: var(--muted);
    margin-top: 2px;
}
.daily-banner-claim-btn {
    padding: 7px 14px;
    border-radius: var(--radius-full);
    background: var(--primary);
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: var(--shadow-primary);
    transition: all 0.2s ease;
    flex-shrink: 0;
}
.daily-banner-claim-btn:hover {
    background: var(--primary-hover);
    transform: translateY(-1px);
}

/* ==================================================
   HOME SEARCH BAR
================================================== */
.home-search-wrap {
    padding: 0 16px;
    margin: 6px 0 10px;
}
.home-search-bar {
    position: relative;
    display: flex;
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: 0 12px;
    height: 40px;
    box-shadow: var(--shadow-sm);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.home-search-bar:focus-within {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--primary-light);
}
.home-search-bar svg {
    margin-right: 8px;
    flex-shrink: 0;
}
.home-search-bar input {
    flex: 1;
    border: none;
    outline: none;
    font-family: inherit;
    font-size: 13px;
    color: #18181b;
    background: transparent;
}
.home-search-bar input::placeholder {
    color: #a1a1aa;
}
.search-clear-btn {
    background: none;
    border: none;
    cursor: pointer;
    color: #a1a1aa;
    font-size: 12px;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.search-clear-btn:hover {
    color: #18181b;
}

/* ==================================================
   PACK FAVORITE BUTTONS
================================================== */
.pack-detail-fav-btn {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #ffffff;
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #71717a;
    transition: all 0.2s ease;
    box-shadow: var(--shadow-sm);
    margin-right: 4px;
}
.pack-detail-fav-btn:hover {
    color: var(--primary);
    border-color: var(--primary);
}
.pack-detail-fav-btn.active {
    color: var(--primary);
    border-color: var(--primary);
}
.pack-detail-fav-btn.active svg {
    fill: var(--primary);
    stroke: var(--primary);
}

/* ==================================================
   PACK FLOATING ACTION BUTTONS (EYE & HEART)
================================================== */
.pack-preview-btn,
.pack-fav-btn {
    position: absolute;
    top: 8px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.85);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #374151;
    z-index: 10;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.16);
    padding: 0;
}
.pack-preview-btn::before,
.pack-fav-btn::before {
    content: "";
    position: absolute;
    inset: -11px;
    border-radius: 50%;
    cursor: pointer;
}
.pack-preview-btn {
    left: 6px;
}
.pack-fav-btn {
    right: 6px;
}
.pack-preview-btn svg,
.pack-fav-btn svg {
    width: 11px;
    height: 11px;
    display: block;
    transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), fill 0.2s ease, stroke 0.2s ease;
}
.pack-preview-btn:hover {
    transform: scale(1.12);
    color: #ef4323;
    background: #ffffff;
    box-shadow: 0 3px 8px rgba(239, 67, 35, 0.3);
    border-color: rgba(239, 67, 35, 0.4);
}
.pack-fav-btn:hover {
    transform: scale(1.12);
    color: #ef4444;
    background: #ffffff;
    box-shadow: 0 3px 8px rgba(239, 68, 68, 0.3);
    border-color: rgba(239, 68, 68, 0.4);
}
.pack-preview-btn:active,
.pack-fav-btn:active {
    transform: scale(0.94);
}
.pack-fav-btn.active {
    color: #ef4444;
    background: #ffffff;
    border-color: #fca5a5;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.35);
}
.pack-fav-btn.active svg {
    fill: #ef4444;
    stroke: #ef4444;
}

/* ==================================================
   PACK PRODUCTS PREVIEW MODAL (ALL DROPS POPUP)
================================================== */
@keyframes fadeInPackModal {
    from { opacity: 0; }
    to { opacity: 1; }
}
@keyframes scaleUpPackModal {
    from { opacity: 0; transform: scale(0.94); }
    to { opacity: 1; transform: scale(1); }
}

.pack-preview-modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    box-sizing: border-box;
    animation: fadeInPackModal 0.2s ease-out;
}

.pack-preview-modal-card {
    background: #ffffff;
    width: 100%;
    max-width: 440px;
    max-height: 88vh;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 24px 60px -10px rgba(0, 0, 0, 0.38);
    border: 1px solid rgba(0, 0, 0, 0.08);
    animation: scaleUpPackModal 0.22s cubic-bezier(0.16, 1, 0.3, 1);
    box-sizing: border-box;
    margin: auto;
}

.pack-preview-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    border-bottom: 1px solid #f1f5f9;
    background: #ffffff;
    flex-shrink: 0;
}

.pack-preview-header-left {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.pack-preview-header-thumb {
    width: 32px;
    height: 32px;
    object-fit: contain;
    border-radius: 8px;
    background: #f8fafc;
    padding: 2px;
    border: 1px solid #e2e8f0;
    flex-shrink: 0;
}

.pack-preview-modal-title {
    font-size: 13.5px;
    font-weight: 800;
    color: #0f172a;
    margin: 0;
    letter-spacing: -0.2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pack-preview-price-tag {
    font-size: 10.5px;
    font-weight: 700;
    background: #fee2e2;
    color: #ef4323;
    padding: 1.5px 6px;
    border-radius: 10px;
    flex-shrink: 0;
}

.pack-preview-modal-sub {
    font-size: 10px;
    color: #64748b;
    margin-top: 1px;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pack-preview-modal-close {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #f1f5f9;
    border: none;
    font-size: 11px;
    font-weight: bold;
    color: #475569;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    flex-shrink: 0;
    margin-left: 6px;
}
.pack-preview-modal-close:hover {
    background: #fee2e2;
    color: #ef4323;
    transform: rotate(90deg);
}

.pack-preview-modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 10px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    background: #f8fafc;
}

.pack-preview-modal-body::-webkit-scrollbar {
    width: 4px;
}
.pack-preview-modal-body::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}

.pack-preview-item-card {
    background-color: #ffffff;
    border-radius: 12px;
    padding: 7px 5px;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    border: 1.5px solid #e2e8f0;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    min-width: 0;
    box-sizing: border-box;
}
.pack-preview-item-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
}
/* Tier-specific card borders & backgrounds */
.pack-preview-item-card.tier-jackpot {
    border-color: rgba(239, 68, 68, 0.45);
    background: linear-gradient(160deg, #fff9f9 0%, #ffffff 60%);
}
.pack-preview-item-card.tier-jackpot:hover { border-color: rgba(239, 68, 68, 0.75); box-shadow: 0 8px 20px rgba(239, 68, 68, 0.18); }
.pack-preview-item-card.tier-legendary {
    border-color: rgba(251, 191, 36, 0.5);
    background: linear-gradient(160deg, #fffdf0 0%, #ffffff 60%);
}
.pack-preview-item-card.tier-legendary:hover { border-color: rgba(251, 191, 36, 0.8); box-shadow: 0 8px 20px rgba(251, 191, 36, 0.2); }
.pack-preview-item-card.tier-epic {
    border-color: rgba(236, 72, 153, 0.4);
    background: linear-gradient(160deg, #fff5fb 0%, #ffffff 60%);
}
.pack-preview-item-card.tier-epic:hover { border-color: rgba(236, 72, 153, 0.7); box-shadow: 0 8px 20px rgba(236, 72, 153, 0.16); }
.pack-preview-item-card.tier-purple,
.pack-preview-item-card.tier-ultra {
    border-color: rgba(168, 85, 247, 0.4);
    background: linear-gradient(160deg, #faf5ff 0%, #ffffff 60%);
}
.pack-preview-item-card.tier-purple:hover,
.pack-preview-item-card.tier-ultra:hover {
    border-color: rgba(168, 85, 247, 0.7);
    box-shadow: 0 8px 20px rgba(168, 85, 247, 0.16);
}
.pack-preview-item-card.tier-rare {
    border-color: rgba(59, 130, 246, 0.4);
    background: linear-gradient(160deg, #f5f9ff 0%, #ffffff 60%);
}
.pack-preview-item-card.tier-rare:hover { border-color: rgba(59, 130, 246, 0.7); box-shadow: 0 8px 20px rgba(59, 130, 246, 0.16); }
.pack-preview-item-card.tier-uncommon {
    border-color: rgba(34, 197, 94, 0.4);
    background: linear-gradient(160deg, #f5fff7 0%, #ffffff 60%);
}
.pack-preview-item-card.tier-uncommon:hover { border-color: rgba(34, 197, 94, 0.7); box-shadow: 0 8px 20px rgba(34, 197, 94, 0.14); }

.pack-preview-item-odds {
    display: inline-flex;
    align-self: flex-start;
    font-size: 7px;
    font-weight: 700;
    color: #64748b;
    background: rgba(241, 245, 249, 0.95);
    padding: 1.5px 4px;
    border-radius: 3px;
    line-height: 1;
    margin-bottom: 2px;
    letter-spacing: 0.1px;
}

.pack-preview-item-img-wrap {
    width: 100%;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 3px;
    position: relative;
    border-radius: 8px;
    background: radial-gradient(ellipse at 50% 50%, #ffffff 30%, #f8fafc 75%, #f1f5f9 100%);
    border: 1px solid rgba(226, 232, 240, 0.6);
    overflow: hidden;
}

.pack-preview-item-img-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: 
        linear-gradient(rgba(15, 23, 42, 0.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, 0.018) 1px, transparent 1px);
    background-size: 10px 10px;
    background-position: center center;
    mask-image: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.9) 15%, rgba(0, 0, 0, 0) 80%);
    -webkit-mask-image: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.9) 15%, rgba(0, 0, 0, 0) 80%);
    pointer-events: none;
}

.pack-preview-item-img-wrap img {
    max-width: 88%;
    max-height: 88%;
    object-fit: contain;
    position: relative;
    z-index: 2;
    transition: transform 0.2s ease;
}

.pack-preview-item-card:hover .pack-preview-item-img-wrap img {
    transform: scale(1.06);
}

.pack-preview-item-glow {
    position: absolute;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    filter: blur(8px);
    opacity: 0.65;
    z-index: 1;
}
.pack-preview-item-glow.glow-jackpot { background: radial-gradient(circle, #ef4444 0%, #f59e0b 60%, #8b5cf6 100%); }
.pack-preview-item-glow.glow-legendary { background: #fbbf24; }
.pack-preview-item-glow.glow-epic { background: #ec4899; }
.pack-preview-item-glow.glow-purple,
.pack-preview-item-glow.glow-ultra { background: #a855f7; }
.pack-preview-item-glow.glow-rare { background: #3b82f6; }
.pack-preview-item-glow.glow-uncommon { background: #22c55e; }
.pack-preview-item-glow.glow-common { background: #94a3b8; }

.pack-preview-item-name {
    font-size: 10px;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.2;
    margin-bottom: 2px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 24px;
    width: 100%;
    word-break: break-word;
}

.pack-preview-item-value {
    font-size: 11px;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 2px;
}

.pack-preview-tier-badge {
    font-size: 7.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    padding: 1.5px 5px;
    border-radius: 4px;
}
.pack-preview-tier-badge.jackpot { background: linear-gradient(135deg, #fef2f2 0%, #fffbeb 50%, #faf5ff 100%); color: #b91c1c; border: 1px solid rgba(239, 68, 68, 0.4); }
.pack-preview-tier-badge.legendary { background: #fef3c7; color: #b45309; }
.pack-preview-tier-badge.epic { background: #fce7f3; color: #be185d; }
.pack-preview-tier-badge.purple,
.pack-preview-tier-badge.ultra { background: #f3e8ff; color: #7e22ce; }
.pack-preview-tier-badge.rare { background: #dbeafe; color: #1d4ed8; }
.pack-preview-tier-badge.uncommon { background: #dcfce7; color: #15803d; }
.pack-preview-tier-badge.common { background: #f1f5f9; color: #64748b; }

.pack-preview-modal-footer {
    display: flex;
    gap: 8px;
    padding: 8px 12px;
    background: #ffffff;
    border-top: 1px solid #f1f5f9;
    flex-shrink: 0;
}

.pack-preview-footer-cancel {
    padding: 8px 12px;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #475569;
    font-weight: 700;
    font-size: 11.5px;
    cursor: pointer;
    transition: background 0.2s ease;
}
.pack-preview-footer-cancel:hover {
    background: #e2e8f0;
}

.pack-preview-footer-unbox {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 8px 12px;
    border-radius: 10px;
    border: none;
    background: #ef4323;
    color: #ffffff;
    font-weight: 800;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 3px 8px rgba(239, 67, 35, 0.25);
}
.pack-preview-footer-unbox:hover {
    background: #dc2626;
    transform: translateY(-1px);
    box-shadow: 0 5px 12px rgba(239, 67, 35, 0.35);
}

/* ==================================================
   PERSISTENT BOTTOM NAVIGATION BAR (iOS FROSTED GLASS DOCK)
================================================== */
/* ==================================================
   PERSISTENT BOTTOM NAVIGATION BAR (iOS FROSTED GLASS DOCK)
================================================== */
.bottom-nav {
    position: fixed;
    bottom: max(14px, env(safe-area-inset-bottom, 14px));
    left: 50%;
    transform: translateX(-50%) translateZ(0);
    -webkit-transform: translateX(-50%) translateZ(0);
    width: calc(100% - 24px);
    max-width: 410px;
    height: 60px;
    background: rgba(255, 255, 255, 0.78);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.85);
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4px 6px;
    gap: 4px;
    z-index: 999;
    box-shadow: 
        0 12px 30px -4px rgba(0, 0, 0, 0.09),
        0 2px 8px rgba(0, 0, 0, 0.03),
        inset 0 1px 1px rgba(255, 255, 255, 0.95);
    box-sizing: border-box;
    will-change: transform;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    contain: layout style;
}

.bottom-nav-item {
    flex: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    background: transparent;
    border: 1px solid transparent;
    cursor: pointer;
    text-decoration: none;
    color: #64748b;
    padding: 4px 4px;
    border-radius: 9999px;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: -0.15px;
    position: relative;
    user-select: none;
    -webkit-user-select: none;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
    transition: 
        background-color 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease,
        color 0.18s ease,
        transform 0.15s cubic-bezier(0.2, 0.8, 0.2, 1);
    will-change: transform, background-color;
}

.bottom-nav-item svg {
    stroke: #64748b;
    width: 20px;
    height: 20px;
    pointer-events: none;
    transition: stroke 0.18s ease, transform 0.18s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.bottom-nav-item:hover {
    color: #0f172a;
}

.bottom-nav-item:hover svg {
    stroke: #0f172a;
}

.bottom-nav-item:active {
    transform: scale(0.92);
    transition-duration: 0.08s;
}

.bottom-nav-item.active {
    color: #ef4323;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.92);
    border-color: rgba(255, 255, 255, 0.98);
    box-shadow: 
        0 2px 8px rgba(0, 0, 0, 0.06),
        0 1px 2px rgba(0, 0, 0, 0.03),
        inset 0 1px 0 rgba(255, 255, 255, 1);
}

.bottom-nav-item.active svg {
    stroke: #ef4323;
    transform: translateY(-0.5px) scale(1.06);
}

.home-screen {
    padding-bottom: calc(100px + env(safe-area-inset-bottom, 20px));
}

/* Smooth Screen Transitions */
.app-screen,
.apple-screen,
.collection-screen,
.home-screen,
.wallet-screen,
.profile-screen {
    animation: screenEnter 0.16s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes screenEnter {
    from {
        opacity: 0.94;
        transform: translateY(2px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ==================================================
   MY COLLECTION SCREEN
================================================== */
.collection-screen {
    padding-bottom: 24px;
}
.collection-stats-card {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 16px;
    margin: 12px 16px 14px;
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.collection-stats-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.collection-stat-group {
    display: flex;
    flex-direction: column;
}
.collection-stat-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: var(--muted);
}
.collection-stat-value {
    font-size: 20px;
    font-weight: 800;
    color: #18181b;
    margin-top: 2px;
}
.collection-stat-value.accent {
    color: var(--primary);
}
.collection-stat-divider {
    width: 1px;
    height: 32px;
    background: var(--border);
}
.collection-sell-all-btn {
    width: 100%;
    padding: 10px;
    border-radius: var(--radius-sm);
    background: #fff5f3;
    border: 1px dashed rgba(239, 67, 35, 0.4);
    color: var(--primary);
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
}
.collection-sell-all-btn:hover {
    background: #ffebe6;
}
.collection-controls {
    padding: 0 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.collection-search-wrap {
    position: relative;
    display: flex;
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: 0 12px;
    height: 38px;
    box-shadow: var(--shadow-sm);
}
.collection-search-wrap svg {
    margin-right: 8px;
    flex-shrink: 0;
}
.collection-search-wrap input {
    flex: 1;
    border: none;
    outline: none;
    font-family: inherit;
    font-size: 13px;
    color: #18181b;
    background: transparent;
}
.collection-filter-pills {
    display: flex;
    align-items: center;
    gap: 6px;
    overflow-x: auto;
    scrollbar-width: none;
    padding-bottom: 2px;
}
.collection-filter-pills::-webkit-scrollbar {
    display: none;
}
.col-filter-pill {
    padding: 6px 12px;
    border-radius: var(--radius-full);
    background: #ffffff;
    border: 1px solid var(--border);
    color: #71717a;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.2s ease;
}
.col-filter-pill.active {
    background: var(--primary);
    border-color: var(--primary);
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(239, 67, 35, 0.28);
}
.collection-sort-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 2px;
}
.collection-items-found {
    font-size: 11px;
    font-weight: 600;
    color: var(--muted);
}
.collection-sort-select {
    padding: 4px 8px;
    border-radius: 8px;
    background: #ffffff;
    border: 1px solid var(--border);
    font-family: inherit;
    font-size: 11px;
    font-weight: 600;
    color: #18181b;
    outline: none;
    cursor: pointer;
}

/* Collection Grid */
.collection-grid {
    padding: 12px 16px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
.collection-card {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 12px;
    display: flex;
    flex-direction: column;
    position: relative;
    box-shadow: var(--shadow-sm);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.collection-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}
.collection-card-img-wrap {
    width: 100%;
    height: 105px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
}
.collection-card-img-wrap img {
    max-width: 80%;
    max-height: 80%;
    object-fit: contain;
    position: relative;
    z-index: 2;
}
.collection-card-qty {
    position: absolute;
    top: 6px;
    left: 6px;
    background: rgba(0, 0, 0, 0.7);
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: var(--radius-full);
    z-index: 3;
}
.collection-card-val {
    font-size: 14px;
    font-weight: 800;
    color: #18181b;
    line-height: 1.2;
}
.collection-card-title {
    font-size: 12px;
    font-weight: 600;
    color: #52525b;
    margin: 2px 0 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.collection-card-actions {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: auto;
    width: 100%;
}
.collection-sell-btn {
    flex: 1;
    min-width: 0;
    height: 32px;
    padding: 0 6px;
    border: none;
    border-radius: 8px;
    background: var(--primary);
    color: #ffffff;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: -0.2px;
    cursor: pointer;
    transition: all 0.18s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-sizing: border-box;
    line-height: 1;
    box-shadow: 0 2px 5px rgba(239, 67, 35, 0.18);
}
.collection-sell-btn:hover {
    background: var(--primary-hover);
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(239, 67, 35, 0.28);
}
.collection-sell-btn:active {
    transform: scale(0.97);
}
.collection-inspect-btn {
    width: 32px;
    height: 32px;
    min-width: 32px;
    padding: 0;
    border-radius: 8px;
    background: #f4f4f5;
    border: 1px solid var(--border);
    color: #71717a;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.18s ease;
    flex-shrink: 0;
    box-sizing: border-box;
    line-height: 1;
}
.collection-inspect-btn svg {
    width: 13px;
    height: 13px;
    display: block;
    stroke: currentColor;
}
.collection-inspect-btn:hover {
    background: #e4e4e7;
    color: var(--primary);
    border-color: #cbd5e1;
    transform: scale(1.04);
}
.collection-inspect-btn:active {
    transform: scale(0.96);
}

/* Empty Collection State */
.collection-empty-state {
    padding: 48px 24px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.empty-icon-wrap {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #f4f4f5;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
}
.collection-empty-state h3 {
    font-size: 16px;
    font-weight: 700;
    color: #18181b;
    margin: 0 0 6px;
}
.collection-empty-state p {
    font-size: 13px;
    color: var(--muted);
    line-height: 1.4;
    margin: 0 0 18px;
    max-width: 280px;
}
.empty-action-btn {
    padding: 10px 24px;
    border-radius: var(--radius-full);
    background: var(--primary);
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: var(--shadow-primary);
}

/* ==================================================
   SHARED APP MODALS (Daily Streak, Referral, Notifications, Receipts)
================================================== */
.app-modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    z-index: 150;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}
.app-modal-card {
    background: #ffffff;
    border-radius: var(--radius-lg);
    width: 100%;
    max-width: 375px;
    max-height: 90vh;
    overflow-y: auto;
    padding: 18px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
    position: relative;
    animation: modalPopIn 0.24s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes modalPopIn {
    0% { transform: scale(0.92); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}
.app-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border);
}
.modal-title-with-icon {
    display: flex;
    align-items: center;
    gap: 10px;
}
.modal-icon-badge {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--primary-light);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.modal-title-with-icon h3 {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: #18181b;
}
.modal-subtitle {
    display: block;
    font-size: 11px;
    color: var(--muted);
    margin-top: 1px;
}
.app-modal-close {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #f4f4f5;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}
.app-modal-close:hover {
    background: #e4e4e7;
}
.primary-action-btn {
    width: 100%;
    padding: 12px;
    border-radius: var(--radius-md);
    background: var(--primary);
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    box-shadow: var(--shadow-primary);
    transition: all 0.2s ease;
}
.primary-action-btn:hover {
    background: var(--primary-hover);
    transform: translateY(-1px);
}

/* Daily Streak Modal Styles */
.streak-tracker-bar {
    background: #fff7f5;
    border: 1px solid rgba(239, 67, 35, 0.2);
    border-radius: var(--radius-sm);
    padding: 8px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}
.streak-count-info {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--primary);
    font-weight: 700;
}
.streak-reset-note {
    font-size: 10px;
    color: var(--muted);
}
.daily-streak-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    margin-bottom: 16px;
}
.daily-day-card {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 8px 4px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    transition: all 0.2s ease;
}
.daily-day-card.claimed {
    background: #f4fbf7;
    border-color: #86efac;
}
.daily-day-card.active {
    border-color: var(--primary);
    box-shadow: 0 0 0 2px var(--primary-light);
    transform: scale(1.04);
}
.daily-day-num {
    font-size: 10px;
    font-weight: 700;
    color: var(--muted);
}
.daily-day-val {
    font-size: 13px;
    font-weight: 800;
    color: #18181b;
    margin: 4px 0;
}
.daily-day-card.active .daily-day-val {
    color: var(--primary);
}
.daily-day-status {
    font-size: 9px;
    font-weight: 700;
    color: var(--muted);
}
.daily-day-card.claimed .daily-day-status {
    color: #10b981;
}
.daily-day-card.active .daily-day-status {
    color: var(--primary);
}
.daily-claim-wrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.daily-disclaimer {
    font-size: 10px;
    color: var(--muted);
    text-align: center;
    line-height: 1.3;
}

/* Referral Modal Styles */
.referral-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-bottom: 14px;
}
.ref-stat-box {
    background: #fafaf9;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 10px 6px;
    text-align: center;
    display: flex;
    flex-direction: column;
}
.ref-stat-label {
    font-size: 9px;
    font-weight: 700;
    color: var(--muted);
    letter-spacing: 0.04em;
}
.ref-stat-val {
    font-size: 16px;
    font-weight: 800;
    color: #18181b;
    margin-top: 2px;
}
.ref-stat-val.accent {
    color: var(--primary);
}
.referral-share-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 14px;
}
.referral-input-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: var(--muted);
}
.referral-copy-row {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #f4f4f5;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 4px 6px 4px 10px;
}
.referral-copy-row input {
    flex: 1;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
    color: #18181b;
    outline: none;
}
.referral-copy-btn {
    padding: 6px 12px;
    border-radius: 6px;
    background: #ffffff;
    border: 1px solid var(--border);
    color: #18181b;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 4px;
    transition: background 0.2s;
}
.referral-copy-btn:hover {
    background: #e4e4e7;
}

/* Notifications Modal Styles */
.notif-actions-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}
.notif-count-text {
    font-size: 11px;
    font-weight: 600;
    color: var(--muted);
}
.notif-mark-read-btn {
    background: none;
    border: none;
    color: var(--primary);
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}
.notif-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 380px;
    overflow-y: auto;
}
.notif-item {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 10px 12px;
    display: flex;
    gap: 10px;
    position: relative;
    transition: background 0.2s;
}
.notif-item.unread {
    background: #fff8f6;
    border-color: rgba(239, 67, 35, 0.2);
}
.notif-dot {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--primary);
}
.notif-icon-wrap {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: #f4f4f5;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.notif-item.unread .notif-icon-wrap {
    background: var(--primary-light);
    color: var(--primary);
}
.notif-item-body {
    flex: 1;
    min-width: 0;
}
.notif-title {
    font-size: 12px;
    font-weight: 700;
    color: #18181b;
}
.notif-msg {
    font-size: 11px;
    color: #52525b;
    margin: 2px 0 4px;
    line-height: 1.35;
}
.notif-time {
    font-size: 10px;
    color: var(--muted);
}

/* Transaction Detail Modal Styles */
.tx-detail-amount-hero {
    background: #fafaf9;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: 16px;
    text-align: center;
    margin-bottom: 14px;
}
.tx-detail-hero-val {
    font-size: 26px;
    font-weight: 800;
    color: #18181b;
    display: block;
    margin-bottom: 6px;
}
.tx-detail-specs {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
}
.tx-detail-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
}
.tx-detail-label {
    color: var(--muted);
}
.tx-detail-val {
    color: #18181b;
    font-weight: 600;
}
.tx-detail-hash {
    background: #f4f4f5;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 11px;
    color: #52525b;
}

/* Live Support Modal Styles */
.support-chat-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 14px;
    max-height: 240px;
    overflow-y: auto;
}
.support-msg {
    display: flex;
    flex-direction: column;
    max-width: 85%;
}
.support-msg.agent {
    align-self: flex-start;
}
.support-msg.user {
    align-self: flex-end;
}
.support-msg-bubble {
    padding: 10px 12px;
    border-radius: 12px;
    font-size: 12px;
    line-height: 1.4;
    background: #f4f4f5;
    color: #18181b;
}
.support-msg.user .support-msg-bubble {
    background: var(--primary);
    color: #ffffff;
}
.support-msg-time {
    font-size: 10px;
    color: var(--muted);
    margin-top: 3px;
    padding: 0 4px;
}
.support-quick-questions {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 6px;
}
.support-faq-chip {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 8px 10px;
    font-size: 11px;
    font-weight: 600;
    color: #3f3f46;
    text-align: left;
    cursor: pointer;
    transition: all 0.2s ease;
}
.support-faq-chip:hover {
    border-color: var(--primary);
    color: var(--primary);
}
.support-input-row {
    display: flex;
    gap: 6px;
}
.support-input-row input {
    flex: 1;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 8px 10px;
    font-family: inherit;
    font-size: 12px;
    outline: none;
}
.support-input-row input:focus {
    border-color: var(--primary);
}
.support-send-btn {
    padding: 8px 14px;
    border-radius: var(--radius-sm);
    background: var(--primary);
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

/* Wallet Promo Card */
.wallet-promo-card {
    background: #ffffff;
    border: 1px dashed rgba(239, 67, 35, 0.35);
    border-radius: var(--radius-sm);
    padding: 12px;
    margin-top: 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.wallet-promo-label-row {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
    color: #18181b;
}
.wallet-promo-input-row {
    display: flex;
    gap: 6px;
}
.wallet-promo-input {
    flex: 1;
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 7px 10px;
    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    outline: none;
}
.wallet-promo-input:focus {
    border-color: var(--primary);
}
.wallet-promo-btn {
    padding: 7px 14px;
    border-radius: 8px;
    background: #18181b;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}
.wallet-promo-btn:hover {
    background: #000000;
}
.wallet-promo-hint {
    font-size: 10px;
    color: var(--muted);
}


.reward-collection-btn {
    width: 100%;
    padding: 10px;
    border-radius: var(--radius-sm);
    background: #ffffff;
    border: 1px solid var(--border);
    color: #18181b;
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-top: 4px;
}
.reward-collection-btn:hover {
    background: #f4f4f5;
    border-color: #d4d4d8;
}

.reward-packs-btn {
    width: 100%;
    height: 42px;
    border-radius: 21px;
    background: #18181b;
    border: 1px solid #27272a;
    color: #ffffff;
    font-size: 13.5px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.12);
    transition: all 0.18s ease;
    margin-top: 4px;
}
.reward-packs-btn:hover {
    background: #27272a;
    transform: translateY(-1px);
    box-shadow: 0 5px 14px rgba(0, 0, 0, 0.18);
}
.reward-packs-btn:active {
    transform: scale(0.97);
}

/* ==================================================
   UNBOX7 DEPOSIT & PAYMENT SYSTEM (SECTIONS 1 - 24)
================================================== */

/* Payment Method Cards (Section 1) */
.deposit-methods-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 10px;
}

.payment-method-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #ffffff;
    border: 1.5px solid #ececec;
    border-radius: 16px;
    padding: 14px 16px;
    cursor: pointer;
    transition: all 0.18s ease;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
}

.payment-method-card:hover {
    border-color: #ef4323;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(239, 67, 35, 0.08);
}

.payment-method-card:active {
    transform: scale(0.985);
}

.payment-method-card.active,
.payment-method-card.selected {
    border-color: #ef4323;
    background: #fff9f8;
}

.pm-left {
    display: flex;
    align-items: center;
    gap: 14px;
}

.pm-logo-box {
    width: 48px;
    height: 48px;
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
    flex-shrink: 0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

.pm-logo-box img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 6px;
}

.pm-details {
    display: flex;
    flex-direction: column;
}

.pm-name-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.pm-name {
    font-size: 15px;
    font-weight: 700;
    color: #111111;
    letter-spacing: -0.2px;
}

.pm-badge {
    font-size: 11px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 6px;
    letter-spacing: 0.2px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    line-height: 1.2;
    text-transform: uppercase;
}

.pm-badge.instant-badge {
    background: #ecfdf5;
    color: #059669;
    border: 1px solid #a7f3d0;
}

.pm-badge.card-badge {
    background: #eef2ff;
    color: #4f46e5;
    border: 1px solid #c7d2fe;
}

.pm-badge.manual-badge {
    background: #fffbeb;
    color: #b45309;
    border: 1px solid #fde68a;
}

.pm-logo-box.wide {
    width: 60px;
    height: 48px;
    padding: 4px;
}

.pm-logo-box.pm-dual-logo {
    width: 60px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 4px;
}

.pm-logo-box.pm-dual-logo .pm-sublogo {
    max-height: 24px;
    max-width: 24px;
    object-fit: contain;
}

.pm-logo-box.pm-dual-logo .pm-sublogo.upi {
    max-width: 26px;
}

.pm-sub.local-req-note {
    font-size: 11.5px;
    color: #888888;
    font-weight: 500;
    margin-top: 2px;
}

/* Local Currency Sub-View Navigation & Banner */
.local-header-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.local-back-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #334155;
    font-size: 13px;
    font-weight: 600;
    padding: 7px 12px;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.18s ease;
}

.local-back-btn:hover {
    background: #f1f5f9;
    border-color: #cbd5e1;
    color: #0f172a;
    transform: translateX(-2px);
}

.local-nav-title {
    font-size: 12px;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.local-currency-banner {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 12px;
    padding: 12px 14px;
    margin-bottom: 14px;
}

.local-currency-banner .lcb-icon {
    font-size: 20px;
    line-height: 1;
    flex-shrink: 0;
}

.local-currency-banner .lcb-title {
    font-size: 13px;
    font-weight: 700;
    color: #92400e;
    margin-bottom: 2px;
}

.local-currency-banner .lcb-desc {
    font-size: 12px;
    color: #b45309;
    line-height: 1.45;
}

.pm-sub {
    font-size: 12.5px;
    font-weight: 500;
    color: #71717a;
    margin-top: 2px;
}

.pm-chevron {
    color: #aaaaaa;
    display: flex;
    align-items: center;
    transition: transform 0.15s ease, color 0.15s ease;
}

.payment-method-card:hover .pm-chevron {
    color: #ef4323;
    transform: translateX(3px);
}

/* Deposit Flow Header & Sub-steps */
.flow-step-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.flow-back-btn {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #ffffff;
    border: 1px solid #ececec;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.15s ease;
}

.flow-back-btn:hover {
    background: #f5f5f5;
    border-color: #d8d8d8;
}

.flow-title {
    font-size: 16px;
    font-weight: 700;
    color: #111111;
    margin: 0;
}

.flow-step-badge {
    font-size: 11px;
    font-weight: 700;
    color: #ef4323;
    background: #fff2ef;
    padding: 3px 8px;
    border-radius: 12px;
}

/* Balance Header Pill */
.flow-balance-card {
    background: #ffffff;
    border: 1px solid #ececec;
    border-radius: 14px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}

.flow-balance-label {
    font-size: 12px;
    font-weight: 600;
    color: #777777;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.flow-balance-val {
    font-size: 16px;
    font-weight: 800;
    color: #111111;
}

/* Preset Amount Pills */
.flow-presets-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin: 10px 0 14px;
}

.flow-preset-pill {
    padding: 10px 6px;
    background: #ffffff;
    border: 1.5px solid #ececec;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    color: #111111;
    cursor: pointer;
    transition: all 0.15s ease;
    text-align: center;
}

.flow-preset-pill:hover {
    border-color: #ef4323;
}

.flow-preset-pill.active {
    background: #ef4323;
    color: #ffffff;
    border-color: #ef4323;
    box-shadow: 0 3px 8px rgba(239, 67, 35, 0.25);
}

/* Input Fields (Clean, Unified Single-Border Fields) */
.flow-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
    background: #ffffff;
    border: 1.5px solid #e2e8f0;
    border-radius: 12px;
    padding: 0 14px;
    height: 48px;
    margin-bottom: 14px;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
    box-sizing: border-box;
    overflow: hidden;
}

.flow-input-wrap:hover {
    border-color: #cbd5e1;
}

.flow-input-wrap:focus-within {
    border-color: #ef4323;
    box-shadow: 0 0 0 3px rgba(239, 67, 35, 0.12);
}

.flow-currency-symbol {
    font-size: 16px;
    font-weight: 800;
    color: #ef4323;
    margin-right: 8px;
    flex-shrink: 0;
    user-select: none;
}

.flow-input-wrap .flow-input,
.flow-input-wrap input.flow-input,
.flow-input-wrap input {
    flex: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    line-height: normal !important;
    box-sizing: border-box !important;
}

.flow-input-wrap .flow-input:hover,
.flow-input-wrap .flow-input:focus,
.flow-input-wrap input:hover,
.flow-input-wrap input:focus {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

.flow-input-wrap .flow-input::placeholder,
.flow-input-wrap input::placeholder {
    color: #94a3b8 !important;
    font-weight: 400 !important;
    font-size: 14px !important;
}

/* Hide stepper arrows in number inputs */
.flow-input-wrap input[type="number"]::-webkit-inner-spin-button,
.flow-input-wrap input[type="number"]::-webkit-outer-spin-button,
input.flow-input[type="number"]::-webkit-inner-spin-button,
input.flow-input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.flow-input-wrap input[type="number"],
input.flow-input[type="number"] {
    -moz-appearance: textfield !important;
}

/* Payment Instructions Card */
.payment-info-box {
    background: #ffffff;
    border: 1.5px solid #ececec;
    border-radius: 16px;
    padding: 16px;
    margin-bottom: 14px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}

.p-info-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid #f2f2f2;
}

.p-info-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.p-info-label {
    font-size: 12px;
    font-weight: 600;
    color: #777777;
}

.p-info-value {
    font-size: 13px;
    font-weight: 700;
    color: #111111;
    display: flex;
    align-items: center;
    gap: 6px;
}

.p-info-order-id {
    font-family: monospace;
    font-size: 14px;
    font-weight: 800;
    color: #ef4323;
    background: #fff2ef;
    padding: 3px 8px;
    border-radius: 6px;
}

.copy-mini-btn {
    background: #f3f3f3;
    border: 1px solid #e2e2e2;
    border-radius: 6px;
    padding: 2px 6px;
    font-size: 10px;
    font-weight: 700;
    color: #444444;
    cursor: pointer;
    transition: all 0.15s ease;
}

.copy-mini-btn:hover {
    background: #ef4323;
    color: #ffffff;
    border-color: #ef4323;
}

.instructions-steps-wrap {
    background: #fafaf9;
    border: 1px solid #ebebea;
    border-radius: 12px;
    padding: 12px 14px;
    margin-top: 12px;
}

.instructions-title {
    font-size: 12px;
    font-weight: 700;
    color: #333333;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.instructions-text {
    font-size: 12px;
    line-height: 1.55;
    color: #555555;
    white-space: pre-line;
}

/* Proof Upload Dropzone */
.proof-upload-box {
    border: 2px dashed #dedede;
    border-radius: 14px;
    padding: 16px;
    text-align: center;
    cursor: pointer;
    background: #fafaf9;
    transition: all 0.18s ease;
    margin-bottom: 14px;
}

.proof-upload-box:hover {
    border-color: #ef4323;
    background: #fffbf9;
}

.proof-upload-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #fff2ef;
    color: #ef4323;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
}

.proof-upload-label {
    font-size: 13px;
    font-weight: 700;
    color: #111111;
    display: block;
}

.proof-upload-hint {
    font-size: 11px;
    color: #888888;
    margin-top: 2px;
    display: block;
}

.proof-preview-wrap {
    margin-top: 10px;
    position: relative;
    display: inline-block;
}

.proof-preview-img {
    max-height: 120px;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
}

.proof-remove-btn {
    position: absolute;
    top: -6px;
    right: -6px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #ef4323;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

/* Submitted Confirmation Screen (Section 5) */
.payment-submitted-card {
    background: #ffffff;
    border: 1.5px solid #ececec;
    border-radius: 20px;
    padding: 24px 20px;
    text-align: center;
    margin-bottom: 16px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
}

.submitted-icon-circle {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #fff2ef;
    color: #ef4323;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
}

.submitted-title {
    font-size: 20px;
    font-weight: 800;
    color: #111111;
    margin-bottom: 6px;
}

.submitted-desc {
    font-size: 13px;
    color: #666666;
    line-height: 1.45;
    margin-bottom: 20px;
}

.submitted-summary-box {
    background: #fafaf9;
    border: 1px solid #ebebea;
    border-radius: 14px;
    padding: 14px 16px;
    text-align: left;
    margin-bottom: 20px;
}

/* Payment Status Screen & Vertical Timeline (Section 6 & 9) */
.status-screen-card {
    background: #ffffff;
    border: 1.5px solid #ececec;
    border-radius: 20px;
    padding: 20px 18px;
    margin-bottom: 16px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
}

.status-screen-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #f0f0f0;
    padding-bottom: 14px;
    margin-bottom: 18px;
}

.status-header-title {
    font-size: 16px;
    font-weight: 800;
    color: #111111;
    margin: 0;
}

.status-header-id {
    font-family: monospace;
    font-size: 13px;
    font-weight: 700;
    background: #fff2ef;
    color: #ef4323;
    padding: 4px 9px;
    border-radius: 8px;
}

/* Vertical Timeline */
.status-timeline {
    position: relative;
    padding: 4px 0 16px 20px;
}

.timeline-step {
    position: relative;
    display: flex;
    align-items: flex-start;
    padding-bottom: 26px;
}

.timeline-step:last-child {
    padding-bottom: 0;
}

/* Vertical Connector Line */
.timeline-step::before {
    content: "";
    position: absolute;
    left: -13px;
    top: 14px;
    bottom: -4px;
    width: 2px;
    background: #ebebeb;
}

.timeline-step:last-child::before {
    display: none;
}

.timeline-step.completed::before {
    background: #ef4323;
}

/* Timeline Dot */
.timeline-dot {
    position: absolute;
    left: -19px;
    top: 2px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #ffffff;
    border: 2.5px solid #d4d4d4;
    transition: all 0.2s ease;
    z-index: 2;
}

.timeline-step.completed .timeline-dot {
    background: #ef4323;
    border-color: #ef4323;
    box-shadow: 0 0 0 3px rgba(239, 67, 35, 0.2);
}

.timeline-step.active .timeline-dot {
    background: #ffffff;
    border-color: #ef4323;
    box-shadow: 0 0 0 3px rgba(239, 67, 35, 0.25);
}

.timeline-content {
    margin-left: 10px;
}

.timeline-step-title {
    font-size: 13.5px;
    font-weight: 700;
    color: #222222;
}

.timeline-step.pending .timeline-step-title {
    color: #999999;
}

.timeline-step-time {
    font-size: 11px;
    color: #888888;
    margin-top: 2px;
    display: block;
}

/* Status Summary Box */
.status-summary-card {
    background: #fafaf9;
    border: 1px solid #ececec;
    border-radius: 14px;
    padding: 14px 16px;
    margin-top: 18px;
}

.status-badge-pill {
    display: inline-block;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 6px;
    letter-spacing: 0.4px;
}

.status-badge-pill.verifying {
    background: #fef3c7;
    color: #b45309;
}

.status-badge-pill.pending {
    background: #e0f2fe;
    color: #0369a1;
}

.status-badge-pill.processing {
    background: #ede9fe;
    color: #6d28d9;
}

.status-badge-pill.completed,
.status-badge-pill.approved {
    background: #ecfdf5;
    color: #047857;
}

.status-badge-pill.rejected {
    background: #fee2e2;
    color: #b91c1c;
}

.rejection-banner {
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 12px;
    padding: 12px 14px;
    margin-top: 14px;
    color: #991b1b;
}

.rejection-banner strong {
    display: block;
    font-size: 13px;
    margin-bottom: 4px;
}

.rejection-banner span {
    font-size: 12px;
    line-height: 1.45;
}

.completed-banner {
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    border-radius: 12px;
    padding: 12px 14px;
    margin-top: 14px;
    color: #065f46;
    font-size: 13px;
    font-weight: 700;
}

/* ==================================================
   ADMIN PANEL (SECTIONS 10 - 18)
   Clean desktop-friendly layout matching Unbox7 brand
================================================== */
.admin-overlay-screen {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fafaf9;
    z-index: 99999;
    overflow-y: auto;
    overflow-x: hidden;
    display: none;
    font-family: var(--font-stack);
    -webkit-overflow-scrolling: touch;
}

.admin-header-bar {
    min-height: 56px;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1.5px solid #ececec;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    position: sticky;
    top: 0;
    z-index: 100;
}

.admin-header-left {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.admin-header-logo {
    height: 24px;
    width: auto;
    display: block;
}

.admin-brand-tag {
    font-size: 11px;
    font-weight: 850;
    background: #ef4323;
    color: #ffffff;
    padding: 3px 8px;
    border-radius: 6px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    display: inline-block;
}

.admin-header-right {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.admin-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #f4f4f5;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 700;
    color: #52525b;
}

.admin-status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #10b981;
    box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.25);
    display: inline-block;
}

.admin-status-online {
    color: #059669;
    font-weight: 750;
}

.admin-exit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 6px 14px;
    background: #ffffff;
    border: 1px solid #e4e4e7;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 750;
    color: #3f3f46;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.admin-exit-btn:hover {
    background: #ef4323;
    color: #ffffff;
    border-color: #ef4323;
    box-shadow: 0 2px 8px rgba(239, 67, 35, 0.28);
}

/* Admin Nav Tabs Bar Wrapper with Smooth Scroll Controls & Navigation Chevrons */
.admin-nav-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    background: #ffffff;
    border-bottom: 1px solid #ebebeb;
    padding: 0 8px;
    user-select: none;
    gap: 4px;
}

.admin-nav-arrow-btn {
    width: 28px;
    height: 28px;
    min-width: 28px;
    border-radius: 50%;
    background: #ffffff;
    border: 1.5px solid #e4e4e7;
    color: #3f3f46;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
    z-index: 5;
    transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    padding: 0;
}

.admin-nav-arrow-btn:hover {
    background: #ef4323;
    color: #ffffff;
    border-color: #ef4323;
    transform: scale(1.08);
    box-shadow: 0 2px 8px rgba(239, 67, 35, 0.35);
}

.admin-nav-arrow-btn.hidden {
    opacity: 0.22;
    pointer-events: none;
    cursor: default;
    transform: none;
    box-shadow: none;
}

.admin-nav-bar {
    flex: 1;
    background: transparent;
    border-bottom: none;
    padding: 8px 4px;
    display: flex;
    gap: 6px;
    overflow-x: auto;
    white-space: nowrap;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    cursor: grab;
}

.admin-nav-bar.grabbing {
    cursor: grabbing;
    scroll-behavior: auto;
}

.admin-nav-bar::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

.admin-nav-bar::-webkit-scrollbar-button,
.admin-nav-bar::-webkit-scrollbar-track,
.admin-nav-bar::-webkit-scrollbar-thumb {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

.admin-nav-tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 999px;
    background: #f4f4f5;
    border: 1px solid transparent;
    font-size: 12.5px;
    font-weight: 700;
    color: #52525b;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}

.admin-nav-tab:hover {
    background: #e4e4e7;
    color: #18181b;
}

.admin-nav-tab.active {
    background: #ef4323;
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(239, 67, 35, 0.28);
}

.admin-nav-tab.active span[id*="Badge"] {
    background: #ffffff !important;
    color: #ef4323 !important;
}

/* Admin Container */
.admin-main-container {
    max-width: 1200px;
    margin: 20px auto;
    padding: 0 20px 60px;
    width: 100%;
    box-sizing: border-box;
}

/* Metrics Grid (Section 11) */
.admin-metrics-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
    margin-bottom: 24px;
}

.admin-metric-card {
    background: #ffffff;
    border: 1.5px solid #ececec;
    border-radius: 16px;
    padding: 16px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
}

.admin-metric-card.highlight {
    border-color: #ef4323;
    background: #fffbf9;
}

.admin-metric-label {
    font-size: 11px;
    font-weight: 700;
    color: #777777;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    display: block;
    margin-bottom: 6px;
}

.admin-metric-val {
    font-size: 24px;
    font-weight: 800;
    color: #111111;
}

.admin-metric-sub {
    font-size: 11px;
    font-weight: 600;
    color: #999999;
    margin-top: 4px;
    display: block;
}

/* Admin Data Table */
.admin-card-section {
    background: #ffffff;
    border: 1.5px solid #ececec;
    border-radius: 18px;
    padding: 20px;
    margin-bottom: 24px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
}

.admin-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.admin-section-title {
    font-size: 16px;
    font-weight: 800;
    color: #111111;
    margin: 0;
}

.admin-table-container {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.18) transparent;
}

.admin-table-container::-webkit-scrollbar {
    height: 4px;
}

.admin-table-container::-webkit-scrollbar-button {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

.admin-table-container::-webkit-scrollbar-track {
    background: transparent;
}

.admin-table-container::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.16);
    border-radius: 999px;
}

.admin-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
}

.admin-table th {
    text-align: left;
    padding: 10px 12px;
    background: #fafaf9;
    color: #666666;
    font-weight: 700;
    border-bottom: 1.5px solid #ebebeb;
    white-space: nowrap;
}

.admin-table td {
    padding: 12px;
    border-bottom: 1px solid #f2f2f2;
    color: #222222;
    vertical-align: middle;
}

.admin-table tr:hover td {
    background: #fafaf9;
}

.admin-action-btn {
    padding: 5px 10px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all 0.15s ease;
}

.admin-action-btn.view {
    background: #f4f4f5;
    color: #18181b;
    border-color: #e4e4e7;
}

.admin-action-btn.view:hover {
    background: #e4e4e7;
}

.admin-action-btn.approve {
    background: #ecfdf5;
    color: #047857;
    border-color: #a7f3d0;
}

.admin-action-btn.approve:hover {
    background: #10b981;
    color: #ffffff;
}

.admin-action-btn.reject {
    background: #fef2f2;
    color: #b91c1c;
    border-color: #fecaca;
}

.admin-action-btn.reject:hover {
    background: #ef4444;
    color: #ffffff;
}

/* Admin Theme & Tier Badges */
.admin-theme-badge {
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 3px 8px;
    border-radius: 6px;
    background: #f1f5f9;
    color: #475569;
    white-space: nowrap;
}

.admin-theme-badge.apple {
    background: #e0f2fe;
    color: #0284c7;
    border: 1px solid #bae6fd;
}

.admin-theme-badge.crypto {
    background: #fef3c7;
    color: #b45309;
    border: 1px solid #fde68a;
}

.admin-theme-badge.sneakers {
    background: #fee2e2;
    color: #b91c1c;
    border: 1px solid #fecaca;
}

.admin-theme-badge.watches {
    background: #ede9fe;
    color: #6d28d9;
    border: 1px solid #ddd6fe;
}

.admin-theme-badge.gaming {
    background: #dcfce7;
    color: #15803d;
    border: 1px solid #bbf7d0;
}

.admin-tier-badge {
    display: inline-block;
    padding: 2px 7px;
    border-radius: 5px;
    font-size: 10.5px;
    font-weight: 750;
    text-transform: uppercase;
    background: #f1f5f9;
    color: #64748b;
    white-space: nowrap;
}

.admin-tier-badge.common { background: #f1f5f9; color: #475569; }
.admin-tier-badge.uncommon { background: #e0f2fe; color: #0284c7; }
.admin-tier-badge.rare { background: #ede9fe; color: #7c3aed; }
.admin-tier-badge.epic { background: #fce7f3; color: #db2777; }
.admin-tier-badge.legendary { background: #fef3c7; color: #d97706; }
.admin-tier-badge.exclusive { background: #ffedd5; color: #ea580c; }

.admin-prod-thumb {
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: #f4f4f5;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
}

.admin-prod-thumb img {
    max-width: 85%;
    max-height: 85%;
    object-fit: contain;
}

/* Packs Management Grid & Cards */
.admin-packs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
    margin-top: 14px;
}

.admin-pack-card {
    background: #ffffff;
    border: 1.5px solid #ececec;
    border-radius: 14px;
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.admin-pack-card.selected {
    border-color: #ef4323;
    box-shadow: 0 0 0 2px rgba(239, 67, 35, 0.15);
}

.admin-pack-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.admin-pack-card-body {
    display: flex;
    align-items: center;
    gap: 12px;
}

.admin-pack-img-preview {
    width: 56px;
    height: 56px;
    border-radius: 10px;
    background: #f8fafc;
    border: 1px solid #f1f5f9;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
}

.admin-pack-img-preview img {
    max-width: 85%;
    max-height: 85%;
    object-fit: contain;
}

.admin-pack-details {
    flex: 1;
    min-width: 0;
}

.admin-pack-title {
    font-size: 14px;
    font-weight: 750;
    color: #111;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-pack-dropsCount {
    font-size: 11.5px;
    color: #ef4323;
    font-weight: 650;
}

.admin-pack-price-row {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 10px;
    background: #f8fafc;
    border-radius: 8px;
    border: 1px solid #f1f5f9;
}

.admin-pack-price-label {
    font-size: 11.5px;
    font-weight: 700;
    color: #64748b;
}

.admin-inline-price-input {
    padding: 5px 8px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-weight: 700;
    font-size: 12.5px;
    width: 75px;
    background: #fff;
    color: #0f172a;
    font-family: inherit;
}

.admin-inline-price-input:focus {
    border-color: #ef4323;
    outline: none;
    box-shadow: 0 0 0 2px rgba(239, 67, 35, 0.15);
}

.admin-quick-save-btn {
    padding: 5px 10px;
    background: #0f172a;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 11.5px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s ease;
}

.admin-quick-save-btn:hover {
    background: #ef4323;
}

.admin-pack-card-actions {
    display: flex;
    gap: 8px;
    align-items: center;
}

.admin-pack-manage-btn {
    flex: 1;
    padding: 8px 12px;
    background: #ef4323;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 750;
    cursor: pointer;
    transition: opacity 0.15s ease;
}

.admin-pack-manage-btn:hover {
    opacity: 0.92;
}

.admin-pack-del-btn {
    padding: 8px;
    background: #fee2e2;
    color: #dc2626;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s ease;
}

.admin-pack-del-btn:hover {
    background: #fecaca;
}

/* Admin Modal & Form Design System */
.admin-modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 100000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
}

.admin-modal-card {
    background: #ffffff;
    border: 1.5px solid #e2e8f0;
    border-radius: 24px;
    width: 100%;
    max-width: 560px;
    max-height: 90vh;
    overflow-y: auto;
    padding: 24px 26px;
    box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.25), 0 0 1px rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.15) transparent;
}

.admin-modal-card::-webkit-scrollbar {
    width: 5px;
}
.admin-modal-card::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.15);
    border-radius: 999px;
}

.admin-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1.5px solid #f1f5f9;
}

.admin-modal-title {
    font-size: 18px;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.3px;
    margin: 0;
}

.admin-modal-close {
    width: 32px;
    height: 32px;
    background: #f1f5f9;
    border: none;
    cursor: pointer;
    color: #64748b;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.15s ease;
    font-size: 13px;
    font-weight: 700;
    flex-shrink: 0;
}

.admin-modal-close:hover {
    color: #0f172a;
    background: #e2e8f0;
    transform: scale(1.06);
}

/* Admin Form Elements */
.admin-form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.admin-form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.admin-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

@media (max-width: 520px) {
    .admin-form-row {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}

.admin-form-label {
    font-size: 12.5px;
    font-weight: 700;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 4px;
    margin: 0;
    letter-spacing: normal;
}

.admin-form-label .req {
    color: #ef4323;
    font-weight: 800;
    font-size: 13px;
}

.admin-form-hint {
    font-size: 11px;
    color: #64748b;
    line-height: 1.4;
    margin-top: 3px;
}

/* Base Inputs & Flow Input Engine (Authentic Form Fields, Not Pill Buttons) */
.admin-input,
:not(.flow-input-wrap) > .flow-input {
    width: 100%;
    height: 44px;
    background: #ffffff !important;
    border: 1.5px solid #d1d5db !important;
    border-radius: 8px !important;
    padding: 0 14px;
    font-size: 13.5px;
    font-weight: 550;
    color: #0f172a;
    font-family: inherit;
    box-sizing: border-box;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.admin-input:hover,
:not(.flow-input-wrap) > .flow-input:hover {
    border-color: #94a3b8 !important;
}

.admin-input:focus,
:not(.flow-input-wrap) > .flow-input:focus {
    background: #ffffff !important;
    border-color: #ef4323 !important;
    outline: none;
    box-shadow: 0 0 0 3px rgba(239, 67, 35, 0.14) !important;
}

.admin-input::placeholder,
.flow-input::placeholder {
    color: #94a3b8;
    font-weight: 400;
    font-size: 13px;
}

select.admin-input,
select.flow-input {
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 16px;
    padding-right: 40px;
    background-color: #ffffff !important;
}

textarea.admin-input,
textarea.flow-input {
    height: 78px;
    padding: 10px 14px;
    resize: none;
    line-height: 1.5;
    font-family: inherit;
    border-radius: 8px !important;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.15) transparent;
}

textarea.admin-input::-webkit-scrollbar,
textarea.flow-input::-webkit-scrollbar {
    width: 4px;
}
textarea.admin-input::-webkit-scrollbar-thumb,
textarea.flow-input::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.15);
    border-radius: 4px;
}

/* Upload Group */
.admin-upload-group {
    display: flex;
    gap: 8px;
    align-items: stretch;
}

.admin-upload-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 44px;
    padding: 0 18px;
    background: #0f172a;
    color: #ffffff;
    font-weight: 750;
    font-size: 13px;
    border-radius: 8px;
    cursor: pointer;
    white-space: nowrap;
    user-select: none;
    flex-shrink: 0;
    border: none;
    transition: all 0.15s ease;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.12);
}

.admin-upload-btn:hover {
    background: #ef4323;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(239, 67, 35, 0.28);
}

/* Live Preview Card & Presets */
.admin-preview-box {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    margin-top: 4px;
}

.admin-preview-img-wrap {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.admin-preview-img-wrap img {
    max-width: 90%;
    max-height: 90%;
    object-fit: contain;
}

.admin-preview-info {
    flex: 1;
    min-width: 0;
}

.admin-preview-status {
    font-size: 11.5px;
    font-weight: 700;
    color: #334155;
}

.admin-quick-pills-row {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 5px;
    flex-wrap: wrap;
}

.preset-asset-pill,
.admin-chip-pill {
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    background: #ffffff;
    color: #475569;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.preset-asset-pill:hover,
.admin-chip-pill:hover {
    background: #ef4323;
    color: #ffffff;
    border-color: #ef4323;
}

/* Modal Footer Action Buttons */
.admin-modal-footer {
    display: flex;
    gap: 12px;
    margin-top: 8px;
    padding-top: 16px;
    border-top: 1.5px solid #f1f5f9;
}

.admin-modal-btn-cancel {
    flex: 1;
    height: 46px;
    background: #ffffff;
    color: #475569;
    border: 1.5px solid #d1d5db;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.15s ease;
    box-shadow: none !important;
}

.admin-modal-btn-cancel:hover {
    background: #f8fafc;
    color: #0f172a;
    border-color: #94a3b8;
}

.admin-modal-btn-submit {
    flex: 1.3;
    height: 46px;
    background: #ef4323;
    color: #ffffff;
    border: none;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 3px 10px rgba(239, 67, 35, 0.28);
    transition: all 0.15s ease;
}

.admin-modal-btn-submit:hover {
    background: #dc391a;
    box-shadow: 0 4px 14px rgba(239, 67, 35, 0.38);
}

/* Payment Methods Settings Switch */
.admin-switch {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
}

.admin-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.admin-switch-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #d1d5db;
    transition: 0.2s;
    border-radius: 24px;
}

.admin-switch-slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    transition: 0.2s;
    border-radius: 50%;
}

.admin-switch input:checked + .admin-switch-slider {
    background-color: #ef4323;
}

.admin-switch input:checked + .admin-switch-slider:before {
    transform: translateX(20px);
}

/* ==================================================
   ADMIN PORTAL MOBILE RESPONSIVE ENGINE (iOS & Android)
================================================== */
@media (max-width: 768px) {
    .admin-header-bar {
        min-height: 52px;
        padding: 8px 12px;
        gap: 8px;
    }

    .admin-header-left {
        gap: 7px;
    }

    .admin-header-logo {
        height: 22px;
    }

    .admin-brand-tag {
        font-size: 10px;
        padding: 2.5px 6px;
    }

    .admin-status-name {
        display: none;
    }

    .admin-status-pill {
        padding: 4px 8px;
        font-size: 11px;
    }

    .admin-exit-btn {
        padding: 5px 10px;
        font-size: 11.5px;
        border-radius: 8px;
    }

    .admin-nav-wrapper {
        padding: 0 4px;
        gap: 3px;
    }

    .admin-nav-arrow-btn {
        width: 26px;
        height: 26px;
        min-width: 26px;
    }

    .admin-nav-bar {
        padding: 8px 4px;
        gap: 6px;
    }

    .admin-nav-tab {
        padding: 7px 13px;
        font-size: 12px;
    }

    .admin-main-container {
        margin: 10px auto;
        padding: 0 10px 80px;
    }

    .admin-metrics-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
        margin-bottom: 16px;
    }

    .admin-metric-card {
        padding: 12px 10px;
        border-radius: 14px;
    }

    .admin-metric-label {
        font-size: 10px;
        margin-bottom: 4px;
    }

    .admin-metric-val {
        font-size: 19px;
    }

    .admin-metric-sub {
        font-size: 10px;
    }

    .admin-card-section {
        padding: 16px 12px;
        border-radius: 16px;
        margin-bottom: 16px;
    }

    .admin-section-header {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        margin-bottom: 14px;
    }

    .admin-section-header > div:first-child {
        width: 100%;
    }

    .admin-section-header > div:last-child {
        width: 100%;
    }

    .admin-section-header .admin-action-btn,
    .admin-section-header button {
        width: 100%;
        text-align: center;
        justify-content: center;
        padding: 10px 14px;
        font-size: 12px;
        box-sizing: border-box;
    }

    .admin-packs-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .admin-table {
        font-size: 11.5px;
        min-width: 520px;
    }

    .admin-table th,
    .admin-table td {
        padding: 9px 10px;
    }

    .admin-modal-card {
        padding: 18px 14px;
        border-radius: 16px;
        max-height: 90vh;
        width: calc(100vw - 24px);
    }
}

@media (max-width: 420px) {
    .admin-header-bar {
        padding: 6px 8px;
        gap: 6px;
    }

    .admin-header-logo {
        height: 20px;
    }

    .admin-brand-tag {
        font-size: 9px;
        padding: 2px 5px;
        letter-spacing: 0.3px;
    }

    .admin-status-pill {
        padding: 3px 6px;
        font-size: 10px;
    }

    .admin-exit-btn {
        padding: 4px 7px;
        font-size: 11px;
    }

    .admin-nav-wrapper {
        padding: 0 2px;
        gap: 2px;
    }

    .admin-nav-arrow-btn {
        width: 22px;
        height: 22px;
        min-width: 22px;
    }

    .admin-nav-arrow-btn svg {
        width: 11px;
        height: 11px;
    }

    .admin-nav-bar {
        padding: 6px 2px;
        gap: 4px;
    }

    .admin-nav-tab {
        padding: 6px 10px;
        font-size: 11px;
    }

    .admin-main-container {
        padding: 0 6px 80px;
    }

    .admin-metrics-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 6px;
    }

    .admin-metric-card {
        padding: 10px 8px;
    }

    .admin-metric-val {
        font-size: 17px;
    }

    .admin-card-section {
        padding: 14px 10px;
    }

    .admin-pack-card {
        padding: 12px 10px;
    }

    .admin-pack-img-preview {
        width: 46px;
        height: 46px;
    }

    .admin-pack-price-row {
        flex-wrap: wrap;
    }
}

/* ==================================================
   HOME QUICK ACTIONS & BOTTOM APP DOCK
================================================== */
.home-quick-actions {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    padding: 12px 16px;
    margin-bottom: 6px;
}

.quick-action-pill {
    background: #ffffff;
    border: 1px solid #ebebeb;
    border-radius: 14px;
    padding: 10px 4px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    cursor: pointer;
    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
    color: #222222;
    box-shadow: 0 1px 3px rgba(0,0,0,0.03);
    transition: transform 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.quick-action-pill:active {
    transform: scale(0.96);
}

.quick-action-pill.deposit {
    background: #fff6f4;
    border-color: #ffdcd6;
    color: #ef4323;
}

.quick-action-pill.deposit svg {
    color: #ef4323;
}

.quick-action-pill.admin {
    background: #fafaf9;
    border-color: #e5e5e5;
    color: #444444;
}

.quick-action-pill:hover {
    border-color: #ef4323;
}

/* Bottom App Navigation Dock */
.app-bottom-dock {
    position: fixed;
    bottom: max(14px, env(safe-area-inset-bottom, 14px));
    left: 50%;
    transform: translateX(-50%) translateZ(0);
    -webkit-transform: translateX(-50%) translateZ(0);
    width: calc(100% - 24px);
    max-width: 410px;
    height: 60px;
    background: rgba(255, 255, 255, 0.78);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.85);
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4px 6px;
    gap: 4px;
    z-index: 999;
    box-shadow: 
        0 12px 30px -4px rgba(0, 0, 0, 0.09),
        0 2px 8px rgba(0, 0, 0, 0.03),
        inset 0 1px 1px rgba(255, 255, 255, 0.95);
    box-sizing: border-box;
    will-change: transform;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    contain: layout style;
}

.dock-btn {
    flex: 1;
    height: 100%;
    background: none;
    border: 1px solid transparent;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 4px 4px;
    border-radius: 9999px;
    cursor: pointer;
    color: #64748b;
    font-family: inherit;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: -0.15px;
    position: relative;
    user-select: none;
    -webkit-user-select: none;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
    transition: 
        background-color 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease,
        color 0.18s ease,
        transform 0.15s cubic-bezier(0.2, 0.8, 0.2, 1);
    will-change: transform, background-color;
}

.dock-btn svg {
    stroke: #64748b;
    width: 20px;
    height: 20px;
    pointer-events: none;
    transition: stroke 0.18s ease, transform 0.18s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.dock-btn:hover {
    color: #0f172a;
}

.dock-btn:hover svg {
    stroke: #0f172a;
}

.dock-btn:active {
    transform: scale(0.92);
    transition-duration: 0.08s;
}

.dock-btn.active {
    color: #ef4323;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.92);
    border-color: rgba(255, 255, 255, 0.98);
    box-shadow: 
        0 2px 8px rgba(0, 0, 0, 0.06),
        0 1px 2px rgba(0, 0, 0, 0.03),
        inset 0 1px 0 rgba(255, 255, 255, 1);
}

.dock-btn.active svg {
    stroke: #ef4323;
    transform: translateY(-0.5px) scale(1.06);
}

.dock-btn.admin-dock-btn {
    color: #444444;
}

.dock-btn.admin-dock-btn:hover {
    color: #ef4323;
}

.app {
    padding-bottom: 74px !important;
}

/* ==================================================
   ADMIN PACKS & PRODUCTS MANAGEMENT STYLES
================================================== */
.admin-packs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 18px;
    margin-top: 16px;
}

.admin-pack-card {
    background: #ffffff;
    border: 1.5px solid #ececec;
    border-radius: 16px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
    transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
    position: relative;
}

.admin-pack-card:hover {
    border-color: #ef4323;
    box-shadow: 0 4px 14px rgba(239, 67, 35, 0.08);
}

.admin-pack-card.selected {
    border-color: #ef4323;
    background: #fffcfb;
}

.admin-pack-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.admin-theme-badge {
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 3px 8px;
    border-radius: 6px;
    background: #f0f0f0;
    color: #444;
}

.admin-theme-badge.apple {
    background: #f3f4f6;
    color: #1f2937;
    border: 1px solid #e5e7eb;
}

.admin-theme-badge.gaming {
    background: #ede9fe;
    color: #6d28d9;
    border: 1px solid #ddd6fe;
}

.admin-theme-badge.cash {
    background: #dcfce7;
    color: #15803d;
    border: 1px solid #bbf7d0;
}

.admin-theme-badge.subscription {
    background: #fae8ff;
    color: #a21caf;
    border: 1px solid #f5d0fe;
}

.admin-theme-badge.sneakers {
    background: #ffedd5;
    color: #c2410c;
    border: 1px solid #fed7aa;
}

.admin-theme-badge.luxury {
    background: #fef3c7;
    color: #b45309;
    border: 1px solid #fde68a;
}

.admin-theme-badge.tech {
    background: #e0f2fe;
    color: #0369a1;
    border: 1px solid #bae6fd;
}

.admin-theme-badge.fashion-men {
    background: #f3e8ff;
    color: #7e22ce;
    border: 1px solid #d8b4fe;
}

.admin-theme-badge.fashion-women {
    background: #fce7f3;
    color: #be123c;
    border: 1px solid #fbcfe8;
}

.admin-theme-badge.fashion {
    background: #fae8ff;
    color: #a21caf;
    border: 1px solid #f5d0fe;
}

.admin-theme-badge.vacation {
    background: #cffafe;
    color: #0e7490;
    border: 1px solid #a5f3fc;
}

.admin-theme-badge.lucky-penny {
    background: #fef3c7;
    color: #b45309;
    border: 1px solid #fde68a;
}

.admin-pack-card-body {
    display: flex;
    align-items: center;
    gap: 14px;
}

.admin-pack-img-preview {
    width: 64px;
    height: 64px;
    background: #f9f9f9;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
    border: 1px solid #eee;
    flex-shrink: 0;
}

.admin-pack-img-preview img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.admin-pack-details {
    flex: 1;
    min-width: 0;
}

.admin-pack-title {
    font-size: 15px;
    font-weight: 800;
    color: #111;
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-pack-drops-count {
    font-size: 11.5px;
    color: #777;
    font-weight: 600;
}

.admin-pack-price-row {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #fafaf9;
    border: 1px solid #ececec;
    border-radius: 10px;
    padding: 6px 10px;
}

.admin-pack-price-label {
    font-size: 11px;
    font-weight: 700;
    color: #888;
}

.admin-inline-price-input {
    width: 80px;
    font-size: 13px;
    font-weight: 800;
    color: #111;
    border: 1.5px solid #ddd;
    border-radius: 6px;
    padding: 3px 6px;
    font-family: inherit;
    background: #fff;
    outline: none;
    transition: border-color 0.15s ease;
}

.admin-inline-price-input:focus {
    border-color: #ef4323;
}

.admin-quick-save-btn {
    padding: 4px 10px;
    background: #ef4323;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: opacity 0.15s ease;
    white-space: nowrap;
}

.admin-quick-save-btn:hover {
    opacity: 0.9;
}

.admin-pack-card-actions {
    display: flex;
    gap: 8px;
    margin-top: 4px;
}

.admin-pack-manage-btn {
    flex: 1;
    padding: 7px 12px;
    background: #111111;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.admin-pack-manage-btn:hover {
    background: #ef4323;
}

.admin-pack-del-btn {
    padding: 7px 10px;
    background: #fafaf9;
    color: #ef4444;
    font-size: 12px;
    font-weight: 700;
    border: 1px solid #fee2e2;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.admin-pack-del-btn:hover {
    background: #ef4444;
    color: #ffffff;
    border-color: #ef4444;
}

/* Product Table Elements */
.admin-prod-thumb {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background: #f7f7f7;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
    border: 1px solid #eee;
}

.admin-prod-thumb img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.admin-tier-badge {
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    padding: 2.5px 8px;
    border-radius: 12px;
    display: inline-block;
    letter-spacing: 0.4px;
}

.admin-tier-badge.legendary {
    background: #fef3c7;
    color: #b45309;
    border: 1px solid #fde68a;
}

.admin-tier-badge.epic {
    background: #fce7f3;
    color: #be185d;
    border: 1px solid #fbcfe8;
}

.admin-tier-badge.purple {
    background: #ede9fe;
    color: #6d28d9;
    border: 1px solid #ddd6fe;
}

.admin-tier-badge.rare {
    background: #e0f2fe;
    color: #0369a1;
    border: 1px solid #bae6fd;
}

.admin-tier-badge.uncommon {
    background: #dcfce7;
    color: #15803d;
    border: 1px solid #bbf7d0;
}

.admin-tier-badge.common {
    background: #f3f4f6;
    color: #4b5563;
    border: 1px solid #e5e7eb;
}

/* ==================================================
   DOCUMENTATION, PRIVACY, TERMS & FAQ SCREEN
   Clean Luxury Typography & Optimal Reading Layout
================================================== */
.docs-screen {
    display: none;
    padding: 0 16px 120px;
    max-width: 860px !important;
    margin: 0 auto !important;
    width: 100%;
    box-sizing: border-box;
}

/* Dynamic Header & Contextual Titles */
.docs-header-dynamic {
    padding: 16px 0 18px;
    margin-bottom: 16px;
    border-bottom: 1px solid #f1f5f9;
}

.docs-badge-tag {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: #ef4323;
    background: rgba(239, 67, 35, 0.08);
    border: 1px solid rgba(239, 67, 35, 0.15);
    border-radius: 6px;
    padding: 3px 9px;
    margin-bottom: 10px;
}

.docs-title-main {
    font-size: clamp(20px, 3vw, 26px);
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.4px;
    line-height: 1.25;
    margin: 0 0 8px 0;
}

.docs-subtitle-main {
    font-size: 14.5px;
    color: #64748b;
    line-height: 1.55;
    margin: 0 0 12px 0;
}

.docs-meta-pills {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.docs-meta-pill {
    font-size: 12px;
    font-weight: 500;
    color: #475569;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    padding: 4px 10px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.docs-meta-pill a {
    color: #ef4323;
    text-decoration: underline;
    font-weight: 600;
}

/* Modern Navigation Tabs */
.docs-nav-bar {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 2px 2px 14px;
    margin-bottom: 16px;
    border-bottom: 1px solid #f1f5f9;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.docs-nav-bar::-webkit-scrollbar {
    display: none;
}

.docs-nav-tab {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    color: #475569;
    font-size: 13.5px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.18s ease;
    white-space: nowrap;
}

.docs-nav-tab:hover {
    background: #f8fafc;
    color: #0f172a;
    border-color: #cbd5e1;
}

.docs-nav-tab.active {
    background: #0f172a;
    border-color: #0f172a;
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.15);
}

/* Documentation Content Panels */
.docs-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 22px 24px;
    margin-bottom: 16px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.02);
}

.docs-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #f1f5f9;
    gap: 12px;
}

.docs-card-title {
    font-size: 18px;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
    letter-spacing: -0.2px;
}

.docs-meta-tag {
    font-size: 12px;
    color: #94a3b8;
    font-weight: 500;
}

.docs-article {
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid #f8fafc;
}

.docs-article:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.docs-article-title {
    font-size: 15.5px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 6px;
    letter-spacing: -0.2px;
}

.docs-article-p {
    font-size: 14.5px;
    line-height: 1.65;
    color: #334155;
    margin: 0 0 8px;
}

.docs-article-list {
    margin: 0 0 10px;
    padding-left: 20px;
    font-size: 14px;
    line-height: 1.65;
    color: #334155;
}

.docs-article-list li {
    margin-bottom: 5px;
}

/* Comparison Grid */
.transparency-vs-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin: 16px 0;
}

@media (max-width: 580px) {
    .transparency-vs-grid {
        grid-template-columns: 1fr;
    }
}

.transparency-vs-box {
    border-radius: 10px;
    padding: 14px 16px;
}

.transparency-vs-box.bad {
    background: #fef2f2;
    border: 1px solid #fee2e2;
    color: #991b1b;
}

.transparency-vs-box.good {
    background: #f0fdf4;
    border: 1px solid #dcfce7;
    color: #166534;
}

.transparency-vs-badge {
    display: inline-block;
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    padding: 2px 6px;
    border-radius: 4px;
    margin-bottom: 6px;
}

.transparency-vs-box.bad .transparency-vs-badge {
    background: #fee2e2;
    color: #b91c1c;
}

.transparency-vs-box.good .transparency-vs-badge {
    background: #dcfce7;
    color: #15803d;
}

.transparency-vs-title {
    font-size: 14.5px;
    font-weight: 700;
    margin: 0 0 6px;
}

.transparency-vs-list {
    margin: 0;
    padding-left: 18px;
    font-size: 13.5px;
    line-height: 1.6;
}

.transparency-vs-list li {
    margin-bottom: 4px;
}

/* FAQ Search Input */
.docs-faq-search-wrap {
    position: relative;
    margin-bottom: 16px;
}

.docs-faq-search-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    pointer-events: none;
    width: 16px;
    height: 16px;
}

.docs-faq-search-input {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 14px 12px 40px;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    background: #ffffff;
    font-size: 14px;
    font-family: inherit;
    color: #0f172a;
    outline: none;
    transition: all 0.15s ease;
}

.docs-faq-search-input:focus {
    border-color: #ef4323;
    box-shadow: 0 0 0 3px rgba(239, 67, 35, 0.1);
}

/* FAQ Accordion List */
#docsFaqList {
    border-top: 1px solid #f1f5f9;
}

#docsFaqList .faq-card {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid #f1f5f9 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: none !important;
    cursor: pointer;
}

#docsFaqList .faq-question-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 4px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer;
    text-align: left;
    gap: 12px;
    transition: color 0.15s ease;
}

#docsFaqList .faq-question-btn:hover {
    color: #ef4323 !important;
}

#docsFaqList .faq-chevron {
    transition: transform 0.2s ease;
    flex-shrink: 0;
    color: #94a3b8;
    width: 16px;
    height: 16px;
}

#docsFaqList .faq-card.open .faq-chevron {
    transform: rotate(180deg);
    color: #ef4323;
}

#docsFaqList .faq-answer {
    display: none;
    padding: 0 4px 16px !important;
    font-size: 14px !important;
    color: #475569 !important;
    line-height: 1.65 !important;
    border: none !important;
}

#docsFaqList .faq-card.open .faq-answer {
    display: block !important;
}

/* Contact Cards */
.docs-contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 12px;
}

@media (max-width: 580px) {
    .docs-contact-grid {
        grid-template-columns: 1fr;
    }
}

.docs-contact-card {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 8px;
}

.docs-contact-label {
    font-size: 11px;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.docs-contact-val {
    font-size: 14.5px;
    font-weight: 700;
    color: #0f172a;
    margin: 2px 0 6px;
    word-break: break-all;
}

.docs-contact-actions {
    display: flex;
    gap: 8px;
}

.docs-action-btn {
    flex: 1;
    padding: 8px 12px;
    border-radius: 8px;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #0f172a;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s;
}

.docs-action-btn:hover {
    background: #f1f5f9;
}

.docs-action-btn.primary {
    background: #0f172a;
    color: #ffffff;
    border-color: #0f172a;
}

.docs-action-btn.primary:hover {
    background: #1e293b;
}

.docs-disclaimer-footer {
    font-size: 12.5px;
    line-height: 1.6;
    color: #94a3b8;
    margin-top: 24px;
    padding: 14px 18px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
}

.docs-disclaimer-footer strong {
    color: #475569;
}

/* Packs Search Empty State */
.packs-empty-state {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 60px 20px;
    background: #ffffff;
    border: 1px dashed #cbd5e1;
    border-radius: 16px;
    margin: 20px 0;
}
.empty-state-icon {
    font-size: 36px;
    margin-bottom: 12px;
}
.empty-state-title {
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 6px;
}
.empty-state-desc {
    font-size: 13.5px;
    color: #64748b;
    margin: 0 0 16px 0;
    max-width: 340px;
}
.empty-state-reset-btn {
    background: #0f172a;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    padding: 8px 18px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
}
.empty-state-reset-btn:hover {
    background: #ef4323;
}

/* Home Trust & Legal Footer */
.home-trust-footer {
    margin: 28px 16px 14px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 20px 16px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.03);
}

.home-trust-top {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.home-trust-badge {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #15803d;
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.3px;
    padding: 3px 8px;
    border-radius: 8px;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.home-trust-desc {
    font-size: 12px;
    color: #64748b;
    line-height: 1.5;
    margin: 0 0 14px;
}

.home-trust-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    padding-top: 12px;
    border-top: 1px solid #f1f5f9;
}

.home-trust-link {
    color: #0f172a;
    font-size: 11.5px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: color 0.15s;
}

.home-trust-link:hover {
    color: #2563eb;
    text-decoration: underline;
}

.home-trust-contact-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 12px;
    font-size: 11px;
    color: #64748b;
}

.home-trust-channels {
    display: flex;
    align-items: center;
    gap: 8px;
}

.home-channel-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #f1f5f9;
    color: #0f172a;
    text-decoration: none;
    padding: 3px 8px;
    border-radius: 6px;
    font-size: 10.5px;
    font-weight: 700;
}

/* ==================================================
   USER AUTHENTICATION SCREEN (REDESIGNED MOBILE & MODAL)
================================================== */
.auth-screen {
    display: none;
    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;
    background: #ffffff;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    animation: authScreenFadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes authScreenFadeIn {
    from {
        opacity: 0;
        transform: translateY(4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Hide bottom navigation bar when authScreen is open */
.app:has(#authScreen:not([style*="display: none"])) .app-bottom-dock,
.app:has(#authScreen:not([style*="display: none"])) .bottom-nav,
body:has(#authScreen:not([style*="display: none"])) .app-bottom-dock,
body:has(#authScreen:not([style*="display: none"])) .bottom-nav {
    display: none !important;
}

#authScreen:not([style*="display: none"]) {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    width: 100% !important;
    background: #ffffff !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    box-sizing: border-box !important;
    padding: 0 !important;
}

.auth-ios-container {
    width: 100%;
    max-width: 400px;
    margin: auto;
    padding: calc(14px + env(safe-area-inset-top, 0px)) 20px calc(24px + env(safe-area-inset-bottom, 0px));
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

/* Top Navigation Bar */
.auth-ios-nav-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 38px;
    margin-bottom: 4px;
    position: relative;
    width: 100%;
}

.auth-ios-back-btn {
    width: 38px;
    height: 38px;
    background: transparent;
    border: none;
    color: #0f172a;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    cursor: pointer;
    box-shadow: none;
    padding: 0;
    flex-shrink: 0;
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.auth-ios-back-btn:active {
    transform: scale(0.92);
    opacity: 0.7;
}

.auth-ios-nav-center {
    display: flex;
    align-items: center;
    justify-content: center;
}

.auth-ios-nav-logo {
    height: 22px;
    width: auto;
    object-fit: contain;
}

.auth-ios-nav-spacer {
    width: 38px;
    height: 38px;
    flex-shrink: 0;
}

/* Hero Branding Section */
.auth-ios-hero {
    text-align: center;
    margin: 0 0 16px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.auth-ios-app-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    padding: 0;
}

.auth-ios-app-img {
    width: 48px;
    height: 38px;
    display: block;
    object-fit: contain;
}

.auth-ios-large-title,
.user-auth-title {
    font-size: 26px;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.5px;
    margin: 0 0 4px 0;
    line-height: 1.2;
}

.auth-ios-subtitle,
.user-auth-subtext {
    font-size: 14px;
    color: #64748b;
    margin: 0;
    line-height: 1.4;
    font-weight: 400;
}

/* Segmented Control (Tabs) */
.auth-ios-segmented,
.user-auth-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    background: #f1f5f9;
    padding: 4px;
    border-radius: 12px;
    margin-bottom: 12px;
    box-sizing: border-box;
}

.auth-ios-segment,
.user-auth-tab {
    padding: 8px 14px;
    border-radius: 9px;
    border: none;
    background: transparent;
    color: #64748b;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
    outline: none;
    text-align: center;
    line-height: 1.4;
}

.auth-ios-segment:focus,
.user-auth-tab:focus {
    outline: none;
}

.auth-ios-segment:focus-visible,
.user-auth-tab:focus-visible {
    outline: 2px solid rgba(239, 67, 35, 0.4);
    outline-offset: 1px;
}

.auth-ios-segment.active,
.user-auth-tab.active {
    background: #ffffff;
    color: #0f172a;
    font-weight: 700;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);
}

/* Google Button */
.auth-ios-google-btn,
.auth-google-btn {
    width: 100%;
    height: 46px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    background: #ffffff;
    color: #0f172a;
    font-size: 14.5px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
    transition: all 0.15s ease;
    margin-bottom: 16px;
}

.auth-ios-google-btn:hover,
.auth-google-btn:hover {
    background: #f8fafc;
    border-color: #cbd5e1;
}

.auth-ios-google-btn:active,
.auth-google-btn:active {
    transform: scale(0.985);
    background: #f1f5f9;
}

/* Hairline Divider */
.auth-ios-divider,
.user-auth-divider {
    display: flex;
    align-items: center;
    text-align: center;
    color: #94a3b8;
    font-size: 11px;
    font-weight: 700;
    margin-bottom: 14px;
    letter-spacing: 0.5px;
}

.auth-ios-divider::before,
.auth-ios-divider::after,
.user-auth-divider::before,
.user-auth-divider::after {
    content: "";
    flex: 1;
    border-bottom: 1px solid #e2e8f0;
}

.auth-ios-divider span,
.user-auth-divider span {
    padding: 0 10px;
    text-transform: uppercase;
}

/* Form Fields (Compact spacing, clear labels, rounded inputs) */
.auth-ios-form,
.user-auth-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.auth-field-group {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 100%;
}

.auth-field-label {
    font-size: 13.5px;
    font-weight: 600;
    color: #1e293b;
    line-height: 1.2;
}

.auth-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

.auth-ios-input,
.auth-input {
    width: 100%;
    box-sizing: border-box;
    height: 44px;
    padding: 0 14px;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    background: #ffffff;
    font-size: 14px;
    color: #0f172a;
    font-family: inherit;
    outline: none;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.auth-ios-input::placeholder,
.auth-input::placeholder {
    color: #94a3b8;
}

.auth-ios-input:focus,
.auth-input:focus {
    background: #ffffff;
    border-color: #ef4444;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

.auth-input-wrapper.has-trailing-icon .auth-ios-input {
    padding-right: 42px;
}

.auth-ios-eye-btn,
.auth-toggle-pass-btn {
    position: absolute;
    right: 8px;
    width: 32px;
    height: 32px;
    background: transparent;
    border: none;
    color: #94a3b8;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.15s ease;
    padding: 0;
}

.auth-ios-eye-btn:hover,
.auth-toggle-pass-btn:hover {
    color: #ef4444;
}

.auth-ios-eye-btn svg,
.auth-toggle-pass-btn svg {
    width: 18px;
    height: 18px;
    display: block;
    stroke: currentColor;
    stroke-width: 2;
}

.auth-field-hint {
    font-size: 11.5px;
    color: #94a3b8;
    margin-top: 2px;
    line-height: 1.3;
    font-weight: 500;
}

/* Password Strength Indicator (Compact & graceful) */
.auth-pass-strength-wrap {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 2px 0;
    margin: 0;
}

.auth-strength-meter {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4px;
    height: 4px;
}

.strength-bar-seg {
    height: 100%;
    border-radius: 4px;
    background: #e2e8f0;
    transition: background 0.25s ease, transform 0.25s ease;
}

.strength-bar-seg.active-weak { background: #ef4444; }
.strength-bar-seg.active-medium { background: #f59e0b; }
.strength-bar-seg.active-strong { background: #10b981; }
.strength-bar-seg.active-super { background: #059669; }

.auth-strength-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 11px;
    line-height: 1.3;
}

.auth-strength-label {
    font-weight: 700;
    color: #94a3b8;
    transition: color 0.2s ease;
}

.auth-strength-label.weak { color: #ef4444; }
.auth-strength-label.medium { color: #d97706; }
.auth-strength-label.strong { color: #059669; }

.auth-strength-rule-hint {
    color: #94a3b8;
    font-size: 10px;
    letter-spacing: 0.2px;
}

/* Clean Terms Checkbox */
.auth-terms-clean {
    margin: 2px 0 4px 0;
}

.auth-checkbox-label {
    display: flex;
    align-items: center;
    gap: 9px;
    cursor: pointer;
    user-select: none;
}

.auth-checkbox {
    width: 18px;
    height: 18px;
    border-radius: 4px;
    margin: 0;
    accent-color: #ef4444;
    cursor: pointer;
    flex-shrink: 0;
}

.auth-checkbox-text {
    font-size: 12.5px;
    color: #334155;
    line-height: 1.4;
}

.auth-terms-link {
    color: #ef4444;
    font-weight: 600;
    text-decoration: underline;
}

/* Feedback Alert Box */
.auth-feedback-box {
    padding: 8px 12px;
    border-radius: 10px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #b91c1c;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
    animation: authShake 0.25s ease;
}

@keyframes authShake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-4px); }
    75% { transform: translateX(4px); }
}

/* UNBOX7 Primary Red Submit Button */
.auth-ios-submit-btn,
.auth-submit-btn {
    width: 100%;
    height: 48px;
    border-radius: 12px;
    border: none;
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -0.1px;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(239, 68, 68, 0.35);
    transition: all 0.15s ease;
    margin-top: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    outline: none;
}

.auth-ios-submit-btn::after {
    content: "→";
    position: absolute;
    right: 20px;
    font-size: 20px;
    font-weight: 600;
    line-height: 1;
    color: #ffffff;
    transition: transform 0.15s ease;
    pointer-events: none;
}

.auth-ios-submit-btn:hover,
.auth-submit-btn:hover {
    background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
    box-shadow: 0 6px 18px rgba(239, 68, 68, 0.45);
}

.auth-ios-submit-btn:hover::after {
    transform: translateX(3px);
}

.auth-ios-submit-btn:active,
.auth-submit-btn:active {
    transform: scale(0.985);
}

/* Footer Switcher */
.auth-ios-footer,
.user-auth-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin-top: 16px;
    padding-bottom: 12px;
    font-size: 13.5px;
    color: #64748b;
}

.auth-switch-link {
    background: transparent;
    border: none;
    color: #ef4444;
    font-weight: 700;
    font-size: 13.5px;
    cursor: pointer;
    padding: 0;
    text-decoration: underline;
}

@media (max-width: 380px) {
    .auth-ios-container {
        padding-left: 16px;
        padding-right: 16px;
    }

    .auth-ios-large-title,
    .user-auth-title {
        font-size: 23px;
    }

    .auth-ios-subtitle,
    .user-auth-subtext {
        font-size: 13px;
    }
}

/* ==================================================
   PHYSICAL ITEM SHIPPING & DELIVERY ENGINE
================================================== */

.collection-ship-btn {
    height: 32px;
    padding: 0 8px;
    border: none;
    border-radius: 8px;
    background: #18181b;
    color: #ffffff;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: -0.2px;
    cursor: pointer;
    transition: all 0.18s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    white-space: nowrap;
    flex-shrink: 0;
    box-sizing: border-box;
    line-height: 1;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
}
.collection-ship-btn:hover {
    background: #27272a;
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.22);
}
.collection-ship-btn:active {
    transform: scale(0.97);
}

.reward-ship-btn {
    width: 100%;
    height: 44px;
    border: none;
    border-radius: 22px;
    background: #18181b;
    color: #ffffff;
    font-size: 13.5px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.22);
    transition: transform 0.15s ease, background 0.15s ease;
}
.reward-ship-btn:hover {
    background: #27272a;
}
.reward-ship-btn:active {
    transform: scale(0.97);
}

/* Shipping Order Modal */
.shipping-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.72);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    box-sizing: border-box;
}

.shipping-modal-card {
    width: 100%;
    max-width: 420px;
    background: #ffffff;
    border-radius: 20px;
    padding: 18px 18px 16px;
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.28);
    position: relative;
    max-height: calc(100dvh - 24px);
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
    box-sizing: border-box;
    animation: modalCardPop 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Custom sleek scrollbar */
.shipping-modal-card::-webkit-scrollbar {
    width: 5px;
}
.shipping-modal-card::-webkit-scrollbar-track {
    background: transparent;
}
.shipping-modal-card::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 10px;
}
.shipping-modal-card::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

.shipping-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 10px;
    border-bottom: 1px solid #f1f5f9;
}

.shipping-header-title-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
}

.shipping-icon-badge {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #fff2ef;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.shipping-modal-header h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.shipping-subtext {
    font-size: 11px;
    color: #64748b;
    font-weight: 500;
}

.shipping-modal-close {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #f1f5f9;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.15s ease;
    flex-shrink: 0;
}
.shipping-modal-close:hover {
    background: #e2e8f0;
}

/* Product Card Preview */
.shipping-product-card {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 9px 12px;
}

.shipping-product-thumb {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 3px;
}

.shipping-product-thumb img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.shipping-product-info {
    flex: 1;
    min-width: 0;
}

.shipping-free-badge {
    display: inline-block;
    font-size: 8.5px;
    font-weight: 800;
    color: #10b981;
    background: #ecfdf5;
    padding: 2px 6px;
    border-radius: 4px;
    letter-spacing: 0.5px;
    margin-bottom: 2px;
}

.shipping-product-info h4 {
    margin: 0 0 2px;
    font-size: 13px;
    font-weight: 750;
    color: #18181b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.shipping-product-val {
    font-size: 11.5px;
    color: #64748b;
}

.shipping-product-val strong {
    color: #ef4323;
    font-weight: 800;
}

/* Cost & Balance Breakdown Card */
.shipping-cost-card {
    background: #fffbf9;
    border: 1px solid #fed7aa;
    border-radius: 12px;
    padding: 9px 12px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.shipping-cost-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.shipping-cost-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
    color: #1e293b;
}

.shipping-cost-value {
    font-size: 15px;
    font-weight: 850;
    color: #ef4323;
}

.shipping-cost-detail {
    font-size: 10.5px;
    color: #64748b;
    line-height: 1.3;
}

.shipping-balance-status {
    margin-top: 2px;
    padding: 5px 8px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.shipping-balance-status.sufficient {
    background: #ecfdf5;
    color: #065f46;
    border: 1px solid #a7f3d0;
}

.shipping-balance-status.insufficient {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

.shipping-topup-link {
    color: #ef4323;
    font-weight: 750;
    text-decoration: underline;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    font-size: 11px;
}

/* Form inputs */
.shipping-form {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.shipping-form-title {
    font-size: 11px;
    font-weight: 800;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin-top: 2px;
}

.shipping-input-group {
    display: flex;
    flex-direction: column;
    gap: 3px;
    flex: 1;
    min-width: 0;
}

.shipping-input-group label {
    font-size: 11px;
    font-weight: 650;
    color: #334155;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}

.shipping-input-group input,
.shipping-input-group select {
    height: 38px;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 0 10px;
    font-size: 12.5px;
    font-family: inherit;
    color: #0f172a;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    outline: none;
    width: 100%;
    box-sizing: border-box;
}

.shipping-input-group input:focus,
.shipping-input-group select:focus {
    border-color: #ef4323;
    box-shadow: 0 0 0 2.5px rgba(239, 67, 35, 0.12);
}

.shipping-input-row {
    display: flex;
    gap: 8px;
    width: 100%;
}

.shipping-feedback-box {
    padding: 8px 10px;
    border-radius: 8px;
    font-size: 11.5px;
    font-weight: 600;
}

.shipping-form-actions {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 4px;
}

.shipping-confirm-btn {
    height: 42px;
    border-radius: 12px;
    background: linear-gradient(135deg, #ef4323 0%, #dc2626 100%);
    color: #ffffff;
    border: none;
    font-size: 13.5px;
    font-weight: 750;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-shadow: 0 3px 10px rgba(239, 67, 35, 0.28);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.shipping-confirm-btn:hover {
    box-shadow: 0 5px 14px rgba(239, 67, 35, 0.38);
    transform: translateY(-1px);
}
.shipping-confirm-btn:active {
    transform: scale(0.98);
}
.shipping-confirm-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    box-shadow: none;
    transform: none;
}

.shipping-sell-fallback-btn {
    height: 36px;
    border-radius: 10px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #475569;
    font-size: 12px;
    font-weight: 650;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: all 0.15s ease;
}
.shipping-sell-fallback-btn:hover {
    background: #f1f5f9;
    color: #ef4323;
    border-color: #cbd5e1;
}

/* Shipping Success Modal */
.shipping-success-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.75);
    backdrop-filter: blur(8px);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

.shipping-success-card {
    width: 100%;
    max-width: 420px;
    background: #ffffff;
    border-radius: 24px;
    padding: 26px 22px;
    text-align: center;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.32);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    animation: modalCardPop 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

.shipping-success-icon-wrap {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: #ecfdf5;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 24px rgba(16, 185, 129, 0.3);
}

.shipping-success-card h3 {
    margin: 0;
    font-size: 20px;
    font-weight: 800;
    color: #0f172a;
}

.shipping-success-desc {
    margin: -6px 0 4px;
    font-size: 13px;
    color: #64748b;
    line-height: 1.5;
}

.shipping-tracking-box {
    width: 100%;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 14px;
    text-align: left;
}

.shipping-tracking-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 10px;
    border-bottom: 1px dashed #cbd5e1;
    font-size: 11px;
    font-weight: 700;
    color: #64748b;
}

.shipping-tracking-header strong {
    font-size: 14px;
    color: #0f172a;
    font-family: monospace;
    letter-spacing: 0.5px;
}

.shipping-tracking-details {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.shipping-track-step {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.step-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-top: 4px;
    flex-shrink: 0;
}
.step-dot.completed { background: #10b981; }
.step-dot.active { background: #ef4323; box-shadow: 0 0 8px rgba(239, 67, 35, 0.5); }
.step-dot.pending { background: #cbd5e1; }

.step-info {
    display: flex;
    flex-direction: column;
}
.step-info strong {
    font-size: 12px;
    color: #1e293b;
    font-weight: 700;
}
.step-info span {
    font-size: 11px;
    color: #64748b;
}

.shipping-summary-receipt {
    width: 100%;
    background: #ffffff;
    border: 1px solid #f1f5f9;
    border-radius: 12px;
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 12px;
    text-align: left;
}

.receipt-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #64748b;
}

.receipt-row strong {
    color: #0f172a;
    font-weight: 700;
}

.receipt-row .receipt-paid {
    color: #10b981;
}

.shipping-success-actions {
    width: 100%;
    margin-top: 4px;
}

.shipping-success-close-btn {
    width: 100%;
    height: 44px;
    border-radius: 22px;
    background: #18181b;
    color: #ffffff;
    border: none;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s ease;
}
.shipping-success-close-btn:hover {
    background: #27272a;
}

/* ==================================================
   ULTRA-PREMIUM FLOATING TOAST NOTIFICATION ENGINE
================================================== */

.app-global-toast {
    position: fixed;
    top: 24px;
    left: 50%;
    transform: translateX(-50%) translateY(-18px) scale(0.92);
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: rgba(15, 23, 42, 0.92);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    backdrop-filter: blur(20px) saturate(180%);
    color: #ffffff;
    padding: 7px 18px 7px 10px;
    border-radius: 9999px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: 
        0 18px 38px -6px rgba(0, 0, 0, 0.42),
        0 6px 14px rgba(0, 0, 0, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.16);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: -0.15px;
    line-height: 1.35;
    z-index: 99999;
    opacity: 0;
    pointer-events: auto;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    max-width: min(420px, calc(100vw - 32px));
    box-sizing: border-box;
    transition: 
        opacity 0.26s cubic-bezier(0.16, 1, 0.3, 1),
        transform 0.36s cubic-bezier(0.175, 0.885, 0.32, 1.25);
}

@media (max-width: 768px) {
    .app-global-toast {
        top: max(68px, calc(env(safe-area-inset-top, 0px) + 64px));
    }
}

.app-global-toast.toast-visible {
    opacity: 1;
    transform: translateX(-50%) translateY(0) scale(1);
}

.app-global-toast.toast-hiding {
    opacity: 0;
    transform: translateX(-50%) translateY(-14px) scale(0.92);
    pointer-events: none;
}

/* Success / Money variant */
.app-global-toast.toast-type-success {
    background: rgba(9, 23, 18, 0.94);
    border-color: rgba(16, 185, 129, 0.38);
    box-shadow: 
        0 18px 38px -6px rgba(5, 150, 105, 0.32),
        0 6px 14px rgba(0, 0, 0, 0.25),
        inset 0 1px 0 rgba(167, 243, 208, 0.18);
}

/* Error variant */
.app-global-toast.toast-type-error {
    background: rgba(30, 12, 16, 0.94);
    border-color: rgba(239, 68, 68, 0.38);
    box-shadow: 
        0 18px 38px -6px rgba(220, 38, 38, 0.32),
        0 6px 14px rgba(0, 0, 0, 0.25),
        inset 0 1px 0 rgba(254, 202, 202, 0.18);
}

/* Toast Icon Badge */
.toast-icon-badge {
    width: 24px;
    height: 24px;
    min-width: 24px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    flex-shrink: 0;
    font-size: 13px;
    line-height: 1;
}

.toast-icon-badge.badge-success {
    background: rgba(16, 185, 129, 0.2);
    color: #34d399;
    border: 1px solid rgba(16, 185, 129, 0.4);
}

.toast-icon-badge.badge-error {
    background: rgba(239, 68, 68, 0.2);
    color: #f87171;
    border: 1px solid rgba(239, 68, 68, 0.4);
}

.toast-icon-badge.badge-info {
    background: rgba(239, 67, 35, 0.2);
    color: #ff6b4a;
    border: 1px solid rgba(239, 67, 35, 0.4);
}

.toast-content-text {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #f8fafc;
}

@media (max-width: 480px) {
    .toast-content-text {
        white-space: normal;
        display: inline;
        font-size: 12.5px;
    }
}

.toast-hl-money {
    color: #34d399;
    font-weight: 700;
}

.toast-hl-danger {
    color: #f87171;
    font-weight: 700;
}

/* ==================================================
   PACK PREVIEW MODAL — RESPONSIVE BREAKPOINTS
================================================== */
@media (max-width: 480px) {
    .pack-preview-modal-card {
        max-width: 96vw;
        max-height: 92vh;
        border-radius: 16px;
    }
    .pack-preview-modal-body {
        grid-template-columns: repeat(2, 1fr);
        gap: 7px;
        padding: 8px;
    }
    .pack-preview-item-img-wrap {
        height: 52px;
    }
}

@media (min-width: 481px) and (max-width: 600px) {
    .pack-preview-modal-body {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ==================================================
   ACCESSIBILITY & RESPONSIVE POLISH
================================================== */

/* Prevent iOS Safari automatic viewport zoom on input focus */
@media (max-width: 768px) {
    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea {
        font-size: 16px !important;
    }
}

/* Background scroll lock when modal or drawer is open */
body.scroll-locked {
    overflow: hidden !important;
    position: fixed !important;
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
}

/* Accessible focus rings */
:focus-visible {
    outline: 2px solid #ef4323;
    outline-offset: 2px;
}
button:focus:not(:focus-visible),
input:focus:not(:focus-visible),
select:focus:not(:focus-visible),
textarea:focus:not(:focus-visible) {
    outline: none;
}

/* Respect user's reduced motion preference */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}



