
        /* RESET & GENERAL STYLES */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
        }
        body {
            background-color: #121212; /* Dark theme background */
            color: #ffffff;
            padding-bottom: 80px;
        }
        a {
            text-decoration: none;
            color: #3498db;
        }
        .icon-svg {
            width: 1em;
            height: 1em;
            display: inline-block;
            vertical-align: middle;
            fill: none;
            stroke: currentColor;
            stroke-width: 2;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        /* NAVBAR */
        .navbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            background-color: #1a1a1a;
            padding: 15px 20px;
            position: sticky;
            top: 0;
            z-index: 100;
            border-bottom: 1px solid #333;
        }
        .navbar .left {
            display: flex;
            align-items: center;
            gap: 15px;
        }
        .menu-icon {
            font-size: 24px;
            cursor: pointer;
            color: #ccc;
        }
        .logo {
            font-size: 20px;
            font-weight: 800;
            color: #fff;
            font-style: italic;
        }
        .navbar-logo-img {
            height: 26px;
            width: auto;
            display: block;
        }
        .logo span {
            color: #3498db;
        }
        .search-icon {
            font-size: 20px;
            color: #ccc;
            cursor: pointer;
        }

        /* BANNER */
        .banner-container {
            padding: 15px;
        }
        .banner-carousel {
            width: 100%;
            aspect-ratio: 2.55 / 1;
            border-radius: 14px;
            position: relative;
            overflow: hidden;
            box-shadow: 0 4px 14px rgba(0,0,0,.4);
        }
        .banner-track {
            display: flex;
            width: 200%;
            height: 100%;
            transition: transform 0.6s ease-in-out;
        }
        .banner-track .banner-slide {
            width: 50%;
            height: 100%;
            flex-shrink: 0;
            background-size: cover;
            background-position: center;
        }
        .banner-dots {
            position: absolute;
            bottom: 8px;
            left: 0;
            right: 0;
            display: flex;
            justify-content: center;
            gap: 6px;
        }
        .banner-dots .dot {
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: rgba(255,255,255,.45);
            transition: background .3s;
        }
        .banner-dots .dot.active {
            background: #fff;
            width: 16px;
            border-radius: 4px;
        }

        /* SEARCH BAR */
        .search-container {
            padding: 15px 15px 0;
        }
        .search-bar {
            display: flex;
            align-items: center;
            background-color: #1e1e24;
            border: 1px solid #2a2a35;
            border-radius: 12px;
            padding: 4px;
            gap: 8px;
        }
        .search-bar input {
            flex: 1;
            background: transparent;
            border: none;
            outline: none;
            color: #fff;
            font-size: 15px;
            padding: 12px 8px 12px 14px;
        }
        .search-bar input::placeholder {
            color: #777;
        }
        .search-bar .search-btn {
            width: 40px;
            height: 40px;
            border-radius: 8px;
            background-color: #2a2a35;
            border: none;
            color: #aaa;
            font-size: 16px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            flex-shrink: 0;
        }
        .filter-toggle-btn {
            width: 48px;
            height: 48px;
            border-radius: 12px;
            background-color: #1e1e24;
            border: 1px solid #2a2a35;
            color: #fff;
            font-size: 18px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            flex-shrink: 0;
        }
        .search-row {
            display: flex;
            gap: 10px;
            padding: 15px 15px 0;
        }
        .search-row .search-bar {
            flex: 1;
            margin: 0;
        }

        /* FILTER PANEL */
        .filter-panel {
            padding: 12px 15px 0;
            display: flex;
            flex-direction: column;
            gap: 10px;
        }
        .filter-select {
            position: relative;
        }
        .filter-select select {
            width: 100%;
            appearance: none;
            background-color: #1e1e24;
            border: 1px solid #2a2a35;
            border-radius: 12px;
            color: #fff;
            font-size: 15px;
            font-weight: 600;
            padding: 14px 40px 14px 16px;
        }
        .filter-select::after {
            content: '\25BE';
            position: absolute;
            right: 16px;
            top: 50%;
            transform: translateY(-50%);
            color: #aaa;
            pointer-events: none;
        }
        .price-row {
            display: flex;
            gap: 10px;
        }
        .price-row input {
            flex: 1;
            min-width: 0;
            background-color: #1e1e24;
            border: 1px solid #2a2a35;
            border-radius: 12px;
            color: #fff;
            font-size: 14px;
            padding: 14px 16px;
            outline: none;
        }
        .price-row input::placeholder {
            color: #777;
        }
        .apply-btn {
            flex-shrink: 0;
            background-color: #3498db;
            color: #fff;
            border: none;
            border-radius: 12px;
            padding: 0 22px;
            font-size: 14px;
            font-weight: 700;
            cursor: pointer;
        }

        /* FILTER MENU */
        .filter-menu {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 20px 15px 5px;
            margin-bottom: 20px;
        }
        .filter-arrow {
            flex-shrink: 0;
            width: 36px;
            height: 36px;
            border-radius: 50%;
            background-color: #3498db;
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 16px;
            cursor: pointer;
            border: none;
        }
        .filter-scroll {
            display: flex;
            gap: 10px;
            overflow-x: auto;
            scrollbar-width: none;
            flex: 1;
        }
        .filter-scroll::-webkit-scrollbar {
            display: none;
        }
        .filter-pill {
            flex-shrink: 0;
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 10px 20px;
            border-radius: 30px;
            font-size: 14px;
            font-weight: 600;
            white-space: nowrap;
            background-color: #1e1e24;
            color: #fff;
            border: 1px solid #2a2a35;
            cursor: pointer;
        }
        .filter-pill.active {
            background-color: #3498db;
            border-color: #3498db;
        }

        /* SECTION HEADER */
        .section-header {
            padding: 20px 15px 10px;
        }
        .section-header h3 {
            font-size: 18px;
            display: flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 5px;
        }
        .section-header p {
            font-size: 12px;
            color: #aaaaaa;
        }

        /* GAME SELECT GRID (Home) */
        .game-select-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 12px;
            padding: 0 15px 20px;
        }
        .game-select-card {
            background-color: #1e1e24;
            border-radius: 10px;
            overflow: hidden;
            border: 1px solid #2a2a35;
            cursor: pointer;
        }
        .game-select-card .img-placeholder {
            width: 100%;
            height: 80px;
            background-color: #333;
        }
        .game-select-card .img-placeholder.tap-gray-zoom {
            animation: tapZoomGray 0.35s ease;
        }
        .game-select-card .info {
            padding: 12px;
        }
        .game-select-card .title {
            color: #3498db;
            font-size: 14px;
            font-weight: bold;
            margin-bottom: 4px;
        }
        .game-select-card .subtitle {
            font-size: 12px;
            color: #888;
        }

        /* DETAIL BANNER */
        .detail-banner {
            width: 100%;
            height: 170px;
            background-color: #333;
            background-position: center;
            background-size: cover;
        }
        .detail-header {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 15px;
            background-color: #16161a;
            border-bottom: 1px solid #2a2a35;
        }
        .detail-header .detail-icon {
            width: 60px;
            height: 60px;
            border-radius: 12px;
            background-color: #333;
            background-position: center;
            background-size: cover;
            border: 2px solid #f5c518;
            flex-shrink: 0;
        }
        .detail-header .detail-info .detail-game-title {
            font-size: 16px;
            font-weight: 800;
            color: #f5c518;
            margin-bottom: 3px;
        }
        .detail-header .detail-info .detail-game-dev {
            font-size: 12.5px;
            color: #999;
        }

        /* BACK BAR (Detail view) */
        .back-bar {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 15px 15px 0;
        }
        .back-btn {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 36px;
            height: 36px;
            border-radius: 8px;
            background-color: #1e1e24;
            border: 1px solid #2a2a35;
            color: #fff;
            font-size: 16px;
            cursor: pointer;
            flex-shrink: 0;
        }
        .back-bar h2 {
            font-size: 17px;
            font-weight: 700;
        }

        /* KATALOG GRID */
        .katalog-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 12px;
            padding: 0 15px 20px;
        }
        .product-card {
            background-color: #ffffff;
            border-radius: 12px;
            overflow: hidden;
            border: 1px solid #2a2a35;
            cursor: pointer;
        }
        .product-card .poster {
            width: 100%;
            aspect-ratio: 3 / 4;
            background-color: #2a1414;
            background-size: cover;
            background-position: center top;
            position: relative;
            background-image: url('images/img001.jpg');
        }
        .product-card .poster.sold-out {
            filter: grayscale(100%) brightness(0.55);
        }
        .product-card .poster.sold-out::after {
            content: 'SOLD OUT';
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%) rotate(-8deg);
            color: #fff;
            font-size: 18px;
            font-weight: 900;
            letter-spacing: 1px;
            padding: 6px 16px;
            border: 3px solid #fff;
            border-radius: 6px;
            white-space: nowrap;
            text-shadow: 0 2px 4px rgba(0,0,0,.6);
        }
        .product-card .poster {
            cursor: pointer;
        }
        .product-card .poster.tap-gray-zoom {
            animation: tapZoomGray 0.35s ease;
        }
        .product-card .info {
            padding: 12px;
        }
        .product-card .title {
            color: #111;
            font-size: 14.5px;
            font-weight: bold;
            margin-bottom: 8px;
        }
        .status-badge {
            display: inline-block;
            font-size: 11px;
            font-weight: 700;
            padding: 4px 12px;
            border-radius: 20px;
            margin-bottom: 10px;
        }
        .status-badge.available {
            background: linear-gradient(90deg, #a3e635, #eab308);
            color: #1a1a00;
        }
        .status-badge.sold {
            background-color: #e5e5e5;
            color: #777;
        }
        .status-badge.rented {
            background: linear-gradient(90deg, #f5c518, #f59e0b);
            color: #1a1400;
        }
        .product-foot {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 8px;
        }
        .product-price {
            font-size: 13.5px;
            font-weight: 700;
            color: #111;
        }
        .buy-btn {
            background: linear-gradient(90deg, #ff0080, #7928ca, #2afadf, #ff0080);
            background-size: 300% 300%;
            animation: rgbShift 4s ease infinite;
            color: #fff;
            border: none;
            border-radius: 8px;
            padding: 8px 10px;
            font-size: 10.5px;
            font-weight: 700;
            white-space: nowrap;
            cursor: pointer;
        }
        @keyframes rgbShift {
            0% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
            100% { background-position: 0% 50%; }
        }

        /* PAGINATION */
        .pagination {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 8px;
            padding: 10px 15px 25px;
        }
        .pagination .info-text {
            width: 100%;
            text-align: center;
            font-size: 13px;
            color: #aaa;
            margin-bottom: 14px;
        }
        .page-btn {
            width: 36px;
            height: 36px;
            border-radius: 8px;
            background-color: #1e1e24;
            border: 1px solid #2a2a35;
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 14px;
            cursor: pointer;
        }
        .page-btn.active {
            background-color: #7c3aed;
            border-color: #7c3aed;
        }

        /* SPECIAL PROMO SECTION */
        .promo-section {
            background-color: #16161a;
            border-top: 1px solid #2a2a35;
            border-bottom: 1px solid #2a2a35;
            padding: 14px 0 16px;
            margin-bottom: 4px;
        }
        .promo-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 0 15px 14px;
        }
        .promo-title {
            display: flex;
            align-items: center;
        }
        .promo-title img {
            height: 46px;
            display: block;
        }
        .promo-countdown {
            display: flex;
            align-items: center;
            gap: 6px;
            font-size: 18px;
            color: #fff;
        }
        .promo-countdown .cbox {
            background-color: #1e1e24;
            border: 1px solid #2a2a35;
            border-radius: 8px;
            padding: 6px 10px;
            font-weight: 800;
            min-width: 34px;
            text-align: center;
        }
        .promo-countdown .csep {
            color: #666;
            font-weight: 700;
        }
        .promo-scroll {
            display: flex;
            gap: 12px;
            overflow: hidden;
            padding: 0 0 4px;
            scrollbar-width: none;
        }
        .promo-scroll::-webkit-scrollbar { display: none; }
        .promo-track {
            display: flex;
            gap: 12px;
            animation: promoMarquee 18s linear infinite;
            padding-left: 15px;
        }
        .promo-scroll:hover .promo-track {
            animation-play-state: paused;
        }
        @keyframes promoMarquee {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }
        .promo-card {
            flex: 0 0 auto;
            width: 140px;
            background-color: #ffffff;
            border: 1px solid #e0e0e0;
            border-radius: 10px;
            overflow: hidden;
            position: relative;
        }
        .promo-card .poster {
            width: 100%;
            aspect-ratio: 3 / 4;
            background-size: cover;
            background-position: center top;
            background-image: url('images/img001.jpg');
        }
        .promo-tag {
            position: absolute;
            top: 4px;
            right: 2px;
            width: 52px;
            filter: drop-shadow(0 2px 4px rgba(0,0,0,.35));
        }
        .promo-tag img {
            width: 100%;
            display: block;
        }
        .promo-body { padding: 8px 9px 10px; }
        .promo-name {
            font-size: 12px;
            font-weight: 700;
            color: #111;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .promo-price-old {
            font-size: 10.5px;
            color: #999;
            text-decoration: line-through;
            margin-top: 3px;
        }
        .promo-price-new {
            font-size: 14px;
            font-weight: 800;
            color: #3498db;
            margin-top: 1px;
        }
        .promo-save-bar {
            margin-top: 7px;
            background: linear-gradient(90deg, #3498db, #5dade2);
            color: #fff;
            font-size: 10px;
            font-weight: 700;
            text-align: center;
            padding: 5px 0;
            border-radius: 6px;
        }

        /* INSTALL APP BANNER */
        .install-banner {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 12px 15px;
            background-color: #16161a;
            border-bottom: 1px solid #2a2a35;
        }
        .install-banner .icon {
            width: 46px;
            height: 46px;
            border-radius: 50%;
            background: linear-gradient(135deg, #3498db, #1a2540);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 20px;
            font-weight: 900;
            color: #f5c518;
            flex-shrink: 0;
        }
        .install-banner .info { flex: 1; min-width: 0; }
        .install-banner .info .title {
            font-size: 13.5px;
            font-weight: 700;
            color: #fff;
        }
        .install-banner .info .sub {
            font-size: 11.5px;
            color: #6fdc8c;
            margin-top: 2px;
        }
        .install-banner .btn-install {
            background: linear-gradient(90deg, #22c55e, #16a34a);
            color: #fff;
            font-weight: 700;
            font-size: 13px;
            border: none;
            border-radius: 20px;
            padding: 8px 18px;
            cursor: pointer;
            flex-shrink: 0;
        }
        .install-banner .btn-close {
            background: none;
            border: none;
            color: #888;
            font-size: 20px;
            cursor: pointer;
            padding: 0 4px;
            flex-shrink: 0;
        }

        /* BOTTOM NAVBAR */
        .bottom-navbar {
            position: fixed;
            left: 12px;
            right: 12px;
            bottom: 12px;
            display: flex;
            justify-content: space-around;
            align-items: center;
            background: rgba(30, 34, 44, 0.55);
            backdrop-filter: blur(14px);
            -webkit-backdrop-filter: blur(14px);
            border: 1px solid rgba(255,255,255,0.08);
            border-radius: 22px;
            padding: 8px 4px;
            box-shadow: 0 6px 18px rgba(0,0,0,.45);
            z-index: 500;
            transition: transform 0.35s ease, opacity 0.35s ease;
        }
        .bottom-navbar.hide-nav {
            transform: translateY(90px);
            opacity: 0;
        }
        .bottom-navbar .nav-item {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 2px;
            color: #cfe0f5;
            font-size: 9.5px;
            font-weight: 600;
            flex: 1;
            cursor: pointer;
            white-space: nowrap;
        }
        .bottom-navbar .nav-item.active {
            color: #fff;
        }
        .bottom-navbar .nav-item .nav-icon-wrap {
            width: 27px;
            height: 27px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
        }
        .bottom-navbar .nav-item.active .nav-icon-wrap {
            background-color: rgba(255,255,255,.18);
        }
        .bottom-navbar .nav-item svg {
            width: 17px;
            height: 17px;
            fill: none;
            stroke: currentColor;
            stroke-width: 2;
        }

        /* HALAMAN PESANAN / KERANJANG / PROFIL */
        .page-view {
            min-height: 100vh;
            padding-bottom: 100px;
        }
        .page-header {
            padding: 20px 15px 10px;
            background-color: #16161a;
            border-bottom: 1px solid #2a2a35;
        }
        .page-header h2 {
            color: #f5c518;
            font-size: 19px;
            font-weight: 800;
        }
        .page-header p {
            color: #999;
            font-size: 12.5px;
            margin-top: 4px;
        }

        /* PESANAN */
        .invoice-search-box {
            margin: 15px;
            background-color: #1e1e24;
            border: 1px solid #2a2a35;
            border-radius: 12px;
            padding: 15px;
        }
        .invoice-search-box label {
            font-size: 13px;
            font-weight: 700;
            color: #fff;
            display: block;
            margin-bottom: 8px;
        }
        .invoice-search-box input {
            width: 100%;
            background-color: #16161a;
            border: 1px solid #2a2a35;
            border-radius: 8px;
            padding: 10px 12px;
            color: #fff;
            font-size: 13px;
            margin-bottom: 10px;
            box-sizing: border-box;
        }
        .invoice-search-box input::placeholder { color: #666; }
        .invoice-search-box button {
            width: 100%;
            background: linear-gradient(90deg, #3498db, #5dade2);
            border: none;
            color: #fff;
            font-weight: 700;
            font-size: 13.5px;
            padding: 11px 0;
            border-radius: 8px;
            cursor: pointer;
        }
        .realtime-section { padding: 5px 15px 15px; }
        .realtime-section h3 {
            color: #fff;
            font-size: 14.5px;
            margin-bottom: 3px;
        }
        .realtime-section p {
            color: #888;
            font-size: 11.5px;
            margin-bottom: 12px;
        }
        .invoice-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 10px 12px;
            background-color: #1e1e24;
            border: 1px solid #2a2a35;
            border-radius: 8px;
            margin-bottom: 8px;
            font-size: 12px;
        }
        .invoice-row .inv-left .inv-date { color: #999; font-size: 10.5px; }
        .invoice-row .inv-left .inv-code { color: #f5c518; font-weight: 700; margin-top: 2px; }
        .invoice-row .inv-status {
            background-color: #22c55e;
            color: #fff;
            font-size: 10px;
            font-weight: 700;
            padding: 3px 9px;
            border-radius: 12px;
        }

        /* FILTER KATEGORI DI HALAMAN PESANAN */
        .pesanan-tabs {
            display: flex;
            gap: 8px;
            overflow-x: auto;
            padding: 4px 15px 14px;
            scrollbar-width: none;
        }
        .pesanan-tabs::-webkit-scrollbar { display: none; }
        .pesanan-tab {
            flex-shrink: 0;
            background: #1e1e24;
            color: #ccc;
            border: 1px solid #2a2a35;
            border-radius: 20px;
            padding: 8px 16px;
            font-size: 12.5px;
            font-weight: 600;
            cursor: pointer;
            white-space: nowrap;
        }
        .pesanan-tab.active {
            background: #3498db;
            color: #fff;
            border-color: #3498db;
        }

        /* CARD PESANAN (PUTIH, kayak gaya card produk) */
        .order-card {
            display: flex;
            gap: 12px;
            background: #fff;
            border-radius: 14px;
            padding: 10px;
            margin: 0 15px 12px;
            box-shadow: 0 3px 12px rgba(0,0,0,.25);
        }
        .order-card-img {
            width: 76px;
            aspect-ratio: 4 / 5;
            border-radius: 10px;
            background-size: cover;
            background-position: center;
            background-color: #eee;
            flex-shrink: 0;
        }
        .order-card-body {
            flex: 1;
            min-width: 0;
            display: flex;
            flex-direction: column;
            gap: 3px;
        }
        .order-card-title {
            color: #1a1a1a;
            font-weight: 800;
            font-size: 14px;
        }
        .order-card-price {
            color: #e63946;
            font-weight: 800;
            font-size: 13.5px;
        }
        .order-card-meta {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
            margin-top: 2px;
        }
        .order-status-badge {
            font-size: 10px;
            font-weight: 700;
            padding: 3px 9px;
            border-radius: 10px;
            white-space: nowrap;
        }
        .order-status-badge.status-unpaid { background: #fff3cd; color: #916b00; }
        .order-status-badge.status-processing { background: #d6ebff; color: #0b5fa8; }
        .order-status-badge.status-success { background: #d7f7e3; color: #0f8a4b; }
        .order-status-badge.status-expired { background: #fde2e2; color: #c0392b; }
        .order-invoice-code {
            font-size: 10px;
            color: #888;
            font-family: monospace;
        }
        .order-card-date {
            font-size: 10.5px;
            color: #999;
        }
        .order-detail-btn {
            align-self: flex-start;
            margin-top: 5px;
            background: #1a2540;
            color: #fff;
            border: none;
            border-radius: 8px;
            padding: 7px 15px;
            font-size: 11.5px;
            font-weight: 700;
            cursor: pointer;
        }

        /* KERANJANG */
        .cart-item {
            display: flex;
            align-items: center;
            gap: 12px;
            margin: 0 15px 12px;
            background-color: #1e1e24;
            border: 1px solid #2a2a35;
            border-radius: 12px;
            padding: 10px;
        }
        .cart-item-check {
            width: 19px;
            height: 19px;
            flex-shrink: 0;
            accent-color: #3498db;
        }
        .cart-item .poster {
            width: 60px;
            height: 78px;
            border-radius: 8px;
            background-size: cover;
            background-position: center top;
            background-color: #2a1414;
            flex-shrink: 0;
        }
        .cart-item-info { flex: 1; display: flex; flex-direction: column; justify-content: center; min-width: 0; }
        .cart-item-title { color: #fff; font-size: 13.5px; font-weight: 700; }
        .cart-item-price { color: #3498db; font-size: 14px; font-weight: 800; margin-top: 4px; }
        .cart-item-actions { display: flex; gap: 10px; margin-top: 7px; }
        .cart-detail-btn {
            background: #2a2a35; border: none; color: #ddd; font-size: 11px; font-weight: 700;
            padding: 6px 12px; border-radius: 7px; cursor: pointer;
        }
        .cart-remove-btn {
            background: none; border: none; color: #ff5c5c; font-size: 11px; font-weight: 700; cursor: pointer; padding: 6px 4px;
        }
        .cart-summary {
            margin: 20px 15px;
            background-color: #1e1e24;
            border: 1px solid #2a2a35;
            border-radius: 12px;
            padding: 15px;
        }
        .cart-summary .row {
            display: flex; justify-content: space-between; font-size: 13px; color: #ccc; margin-bottom: 8px;
        }
        .cart-summary .row.total { color: #fff; font-weight: 800; font-size: 15px; border-top: 1px solid #2a2a35; padding-top: 10px; margin-top: 4px; }
        .cart-checkout-btn {
            width: calc(100% - 30px);
            margin: 0 15px 100px;
            background: linear-gradient(90deg, #1c5fa8, #3498db);
            border: none;
            color: #fff;
            font-weight: 800;
            font-size: 14px;
            padding: 13px 0;
            border-radius: 10px;
            cursor: pointer;
        }
        .cart-checkout-btn:disabled { opacity: .5; cursor: not-allowed; }
        .empty-state {
            text-align: center;
            padding: 60px 20px;
            color: #777;
        }
        .empty-state svg { width: 50px; height: 50px; stroke: #444; margin-bottom: 12px; }
        .empty-state p { font-size: 13.5px; }

        /* PROFIL */
        .profil-card {
            margin: 15px;
            background: linear-gradient(135deg, #1c5fa8, #123a6b);
            border-radius: 14px;
            padding: 20px;
            display: flex;
            align-items: center;
            gap: 14px;
        }
        .profil-avatar {
            width: 56px;
            height: 56px;
            border-radius: 50%;
            background-color: #f5c518;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 900;
            font-size: 22px;
            color: #1a2540;
            flex-shrink: 0;
        }
        .profil-info .profil-name { color: #fff; font-weight: 800; font-size: 15.5px; }
        .profil-info .profil-sub { color: #cfe0f5; font-size: 12px; margin-top: 3px; }
        .profil-name-row { display: flex; align-items: center; gap: 6px; }
        .verified-badge { width: 17px; height: 17px; flex-shrink: 0; }
        .profil-points {
            display: flex;
            align-items: center;
            gap: 6px;
            color: #f5c518;
            font-size: 13px;
            font-weight: 700;
            margin-top: 5px;
        }
        .profil-points svg { width: 15px; height: 15px; flex-shrink: 0; }
        .profil-login-btn {
            display: block;
            width: calc(100% - 30px);
            margin: 5px 15px 20px;
            background: linear-gradient(90deg, #3498db, #5dade2);
            border: none;
            color: #fff;
            font-weight: 700;
            font-size: 13.5px;
            padding: 12px 0;
            border-radius: 10px;
            cursor: pointer;
        }
        .profil-menu {
            margin: 0 15px;
        }
        .profil-menu-item {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 14px 12px;
            background-color: #1e1e24;
            border: 1px solid #2a2a35;
            border-radius: 10px;
            margin-bottom: 8px;
            color: #eee;
            font-size: 13.5px;
            cursor: pointer;
        }
        .profil-menu-item svg { width: 18px; height: 18px; stroke: #3498db; flex-shrink: 0; }
        .profil-menu-item.profil-menu-disabled { color: #888; }
        .profil-menu-item .soon-badge {
            margin-left: auto;
            background: #3a3a44;
            color: #ccc;
            font-size: 10px;
            font-weight: 700;
            padding: 3px 9px;
            border-radius: 10px;
        }

        /* ===== MODAL (Pengaturan Akun & Tukar Poin) ===== */
        .modal-overlay {
            position: fixed;
            inset: 0;
            background: rgba(0,0,0,.6);
            z-index: 900;
            display: flex;
            align-items: flex-end;
            justify-content: center;
        }
        .modal-box {
            width: 100%;
            max-width: 480px;
            max-height: 85vh;
            overflow-y: auto;
            background: #17171c;
            border-radius: 18px 18px 0 0;
            padding: 18px 18px 24px;
        }
        .modal-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 14px;
        }
        .modal-header h3 { color: #fff; font-size: 16px; }
        .modal-close-btn {
            background: #2a2a35;
            border: none;
            color: #fff;
            width: 28px;
            height: 28px;
            border-radius: 50%;
            font-size: 18px;
            line-height: 1;
            cursor: pointer;
        }
        .modal-field-label {
            display: block;
            color: #aaa;
            font-size: 12px;
            margin: 12px 0 5px;
        }
        .modal-field-input {
            width: 100%;
            background: #eef1f6;
            border: 1.5px solid #d8dde6;
            border-radius: 10px;
            color: #1a1a1a;
            font-size: 14px;
            padding: 12px 14px;
            transition: border-color .15s ease;
        }
        .modal-field-input::placeholder { color: #8b909c; }
        .modal-field-input:focus {
            outline: none;
            border-color: #3498db;
            background: #fff;
        }
        .modal-field-input[readonly] { color: #555; }
        .modal-note {
            color: #888;
            font-size: 11px;
            margin-top: 14px;
        }
        .modal-save-btn {
            display: block;
            width: 100%;
            margin-top: 18px;
            background: linear-gradient(90deg, #3498db, #5dade2);
            border: none;
            color: #fff;
            font-weight: 700;
            font-size: 14px;
            padding: 13px 0;
            border-radius: 10px;
            cursor: pointer;
        }
        .reward-item {
            display: flex;
            align-items: center;
            justify-content: space-between;
            background: #1e1e24;
            border: 1px solid #2a2a35;
            border-radius: 10px;
            padding: 12px 14px;
            margin-bottom: 10px;
        }
        .reward-title { color: #fff; font-size: 13.5px; font-weight: 700; }
        .reward-cost { color: #f5c518; font-size: 11.5px; margin-top: 3px; }
        .reward-btn {
            background: #3498db;
            border: none;
            color: #fff;
            font-size: 12px;
            font-weight: 700;
            padding: 8px 16px;
            border-radius: 8px;
            cursor: pointer;
            flex-shrink: 0;
        }
        .reward-btn:disabled { background: #444; cursor: not-allowed; }

        /* ===== HALAMAN CEK MAFIA ===== */
        .mafia-search-box {
            padding: 5px 15px 15px;
        }
        .mafia-search-box .search-bar {
            display: flex;
            align-items: center;
            gap: 8px;
            background-color: #1e1e24;
            border: 1px solid #2a2a35;
            border-radius: 14px;
            padding: 4px 4px 4px 16px;
        }
        .mafia-search-box .search-bar input {
            flex: 1;
            background: none;
            border: none;
            color: #fff;
            font-size: 14px;
            padding: 12px 0;
        }
        .mafia-search-box .search-bar input::placeholder { color: #777; }
        .mafia-search-box .search-btn {
            background: #3498db;
            border: none;
            color: #fff;
            width: 40px;
            height: 40px;
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            flex-shrink: 0;
        }
        .mafia-result-box { padding: 0 15px; }
        .mafia-result-card {
            border-radius: 14px;
            padding: 16px;
            margin-bottom: 12px;
        }
        .mafia-result-card.danger {
            background: rgba(231, 76, 60, .12);
            border: 1px solid rgba(231, 76, 60, .5);
        }
        .mafia-result-card.safe {
            background: rgba(34, 197, 94, .12);
            border: 1px solid rgba(34, 197, 94, .5);
        }
        .mafia-result-title {
            font-size: 14.5px;
            font-weight: 800;
            margin-bottom: 6px;
        }
        .mafia-result-card.danger .mafia-result-title { color: #e74c3c; }
        .mafia-result-card.safe .mafia-result-title { color: #22c55e; }
        .mafia-result-detail { color: #ccc; font-size: 12.5px; line-height: 1.6; }
        .mafia-info-note {
            color: #777;
            font-size: 11px;
            padding: 10px 15px 100px;
            line-height: 1.6;
        }

        /* ===== HERO HALAMAN CEK MAFIA ===== */
        .mafia-hero {
            text-align: center;
            padding: 30px 20px 26px;
            background: radial-gradient(circle at 50% 0%, #1a2540, #0c0f1a 75%);
            border-bottom: 1px solid #22222c;
        }
        .mafia-hero-icon {
            width: 62px;
            height: 62px;
            border-radius: 18px;
            background: linear-gradient(135deg, #3498db, #1a2540);
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 14px;
            box-shadow: 0 6px 20px rgba(52,152,219,.3);
        }
        .mafia-hero-icon svg { width: 30px; height: 30px; }
        .mafia-hero h2 { color: #fff; font-size: 19px; font-weight: 900; }
        .mafia-hero p { color: #9aa5b8; font-size: 12.5px; margin: 7px auto 18px; max-width: 300px; line-height: 1.6; }
        .mafia-hero-stats {
            display: flex;
            justify-content: center;
            gap: 8px;
            flex-wrap: wrap;
        }
        .mafia-stat {
            display: flex;
            align-items: center;
            gap: 6px;
            background: rgba(52,152,219,.12);
            border: 1px solid rgba(52,152,219,.3);
            color: #8ec4ec;
            font-size: 11px;
            font-weight: 700;
            padding: 7px 12px;
            border-radius: 20px;
        }
        .mafia-stat svg { width: 13px; height: 13px; flex-shrink: 0; }

        .mafia-info-note-card {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            margin: 4px 15px 100px;
            background: rgba(245,197,24,.08);
            border: 1px solid rgba(245,197,24,.3);
            border-radius: 12px;
            padding: 13px 14px;
        }
        .mafia-info-note-card svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 1px; }
        .mafia-info-note-card p { color: #c9c0a0; font-size: 11.5px; line-height: 1.6; }

        /* ===== ORDER FORM MODAL ===== */
        .orderform-section-title {
            color: #f5c518;
            font-size: 12.5px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: .5px;
            margin: 18px 0 6px;
            padding-top: 10px;
            border-top: 1px solid #2a2a35;
        }
        /* Kartu ringkasan produk di paling atas form order */
        .order-product-card {
            display: flex;
            align-items: center;
            gap: 12px;
            background: linear-gradient(135deg, #16233f, #0f1626);
            border: 1px solid #24314f;
            border-radius: 14px;
            padding: 13px 15px;
            margin-bottom: 8px;
        }
        .order-product-card-icon {
            width: 40px;
            height: 40px;
            border-radius: 10px;
            background: rgba(52, 152, 219, .15);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }
        .order-product-card-icon svg { width: 20px; height: 20px; }
        .order-product-card-label { color: #8ea8cc; font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .3px; }
        .order-product-card-title { color: #fff; font-size: 15px; font-weight: 800; margin-top: 2px; }

        /* Step badge angka bergaya panah/flag */
        .order-step {
            display: flex;
            align-items: center;
            gap: 12px;
            margin: 22px 0 0;
        }
        .order-step-badge {
            background: linear-gradient(135deg, #3498db, #1a2540);
            color: #fff;
            font-weight: 900;
            font-size: 15px;
            width: 36px;
            height: 30px;
            display: flex;
            align-items: center;
            justify-content: center;
            padding-right: 4px;
            clip-path: polygon(0 0, 78% 0, 100% 50%, 78% 100%, 0 100%);
            flex-shrink: 0;
        }
        .order-step-title {
            color: #fff;
            font-weight: 800;
            font-size: 14.5px;
        }
        .order-step-divider {
            height: 1px;
            background: linear-gradient(90deg, rgba(52,152,219,.5), transparent);
            margin: 10px 0 14px;
        }
        .orderform-payment-select {
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            background: #eef1f6;
            border: 1.5px solid #d8dde6;
            border-radius: 10px;
            color: #1a1a1a;
            font-weight: 600;
            font-size: 13.5px;
            padding: 13px 14px;
            cursor: pointer;
        }
        .orderform-payment-select svg { width: 16px; height: 16px; stroke: #888; flex-shrink: 0; }
        .modal-cancel-btn {
            display: block;
            width: 100%;
            margin-top: 10px;
            background: #2a2a35;
            border: none;
            color: #ccc;
            font-weight: 700;
            font-size: 13.5px;
            padding: 12px 0;
            border-radius: 10px;
            cursor: pointer;
        }

        /* ===== MODAL KONFIRMASI / SUKSES PESANAN ===== */
        .orderconfirm-check {
            width: 64px;
            height: 64px;
            border-radius: 50%;
            background: #22c55e;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto;
        }
        .orderconfirm-check svg { width: 30px; height: 30px; }
        .orderconfirm-summary {
            text-align: left;
            background: #1e1e24;
            border: 1px solid #2a2a35;
            border-radius: 12px;
            padding: 14px 16px;
            margin: 16px 0;
        }
        .orderconfirm-row {
            display: flex;
            justify-content: space-between;
            gap: 10px;
            padding: 7px 0;
            font-size: 13px;
            color: #ccc;
            border-bottom: 1px solid #26262e;
        }
        .orderconfirm-row:last-child { border-bottom: none; }
        .orderconfirm-row b { color: #fff; text-align: right; }
        .orderconfirm-tos {
            display: flex;
            align-items: flex-start;
            gap: 8px;
            text-align: left;
            font-size: 11.5px;
            color: #999;
            line-height: 1.5;
            margin-bottom: 6px;
        }
        .orderconfirm-tos input { margin-top: 2px; flex-shrink: 0; }
        .orderconfirm-tos b { color: #3498db; }

        /* ===== PILIH METODE PEMBAYARAN ===== */
        .payment-reco-card {
            position: relative;
            display: flex;
            align-items: center;
            gap: 12px;
            background: #eceff3;
            border: 2px solid #3498db;
            border-radius: 14px;
            padding: 14px;
            margin-bottom: 16px;
            cursor: pointer;
            overflow: hidden;
        }
        .payment-reco-badge {
            position: absolute;
            top: 0;
            left: 0;
            background: linear-gradient(90deg, #1a2540, #3498db);
            color: #fff;
            font-size: 9.5px;
            font-weight: 800;
            padding: 4px 12px 4px 10px;
            border-radius: 0 0 12px 0;
        }
        .payment-reco-ribbon {
            position: absolute;
            top: 10px;
            right: -28px;
            background: #fff;
            color: #1a1a1a;
            font-size: 9px;
            font-weight: 800;
            padding: 3px 32px;
            transform: rotate(35deg);
            box-shadow: 0 2px 6px rgba(0,0,0,.2);
        }
        .payment-reco-logo {
            width: 46px;
            height: 46px;
            object-fit: contain;
            background: #fff;
            border-radius: 8px;
            padding: 4px;
            flex-shrink: 0;
            margin-top: 14px;
        }
        .payment-reco-info { margin-top: 14px; }
        .payment-reco-name { color: #1a1a1a; font-weight: 800; font-size: 14px; }
        .payment-reco-price { color: #555; font-size: 12px; margin-top: 2px; }

        .payment-category { margin-bottom: 10px; }
        .payment-category-header {
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            background: #16233f;
            border: none;
            color: #fff;
            font-weight: 700;
            font-size: 14px;
            padding: 15px 16px;
            border-radius: 10px;
            cursor: pointer;
        }
        .payment-category-header svg { width: 16px; height: 16px; stroke: #fff; transition: transform .2s ease; flex-shrink: 0; }
        .payment-category-label { flex-shrink: 0; }
        .payment-category-right { display: flex; align-items: center; gap: 10px; }
        .payment-category-preview { display: flex; align-items: center; }
        .payment-category-preview img {
            width: 22px;
            height: 22px;
            object-fit: contain;
            background: #fff;
            border-radius: 6px;
            padding: 2px;
            border: 2px solid #16233f;
            margin-left: -7px;
        }
        .payment-category-preview img:first-child { margin-left: 0; }
        .payment-category-body {
            background: #17171c;
            border: 1px solid #2a2a35;
            border-top: none;
            border-radius: 0 0 10px 10px;
            padding: 12px;
        }
        .payment-options-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 10px;
        }
        .payment-option-card {
            position: relative;
            background: #1e1e24;
            border: 1px solid #2a2a35;
            border-radius: 10px;
            padding: 10px;
            cursor: pointer;
        }
        .payment-option-card img {
            height: 24px;
            max-width: 100%;
            object-fit: contain;
            background: #fff;
            border-radius: 5px;
            padding: 3px 6px;
        }
        .payment-option-price { color: #fff; font-weight: 800; font-size: 13px; margin-top: 8px; }
        .payment-option-desc {
            color: #888;
            font-size: 10.5px;
            font-style: italic;
            margin-top: 4px;
            padding-top: 6px;
            border-top: 1px dashed #2a2a35;
        }
        .payment-option-card.payment-selected,
        .payment-reco-card.payment-selected {
            border-color: #22c55e;
            box-shadow: 0 0 0 2px rgba(34, 197, 94, .25);
        }
        .payment-option-card.payment-selected::after,
        .payment-reco-card.payment-selected::after {
            content: '✓';
            position: absolute;
            top: 8px;
            right: 8px;
            width: 20px;
            height: 20px;
            background: #22c55e;
            color: #fff;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 12px;
            font-weight: 900;
            z-index: 2;
        }

        /* ===== RENTAL: timer & 2-tombol saat sedang dirental ===== */
        .rental-timer-badge {
            position: absolute;
            bottom: 8px;
            left: 8px;
            right: 8px;
            background: rgba(0,0,0,.75);
            color: #f5c518;
            font-size: 10.5px;
            font-weight: 800;
            text-align: center;
            padding: 4px 6px;
            border-radius: 6px;
            letter-spacing: .5px;
        }
        .pd-rental-timer {
            display: flex;
            align-items: center;
            gap: 6px;
            background: rgba(245,197,24,.12);
            border: 1px solid rgba(245,197,24,.4);
            color: #f5c518;
            font-size: 12.5px;
            font-weight: 700;
            padding: 9px 12px;
            border-radius: 10px;
            margin: 10px 15px 0;
        }
        .pd-rental-timer svg { width: 15px; height: 15px; flex-shrink: 0; }

        /* ===== PILIH PAKET RENTAL (Form Order) ===== */
        .rental-package-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 10px;
            margin-bottom: 6px;
        }
        .rental-package-card {
            position: relative;
            background: #eceff3;
            border: 1.5px solid #d5dae2;
            border-radius: 14px;
            padding: 16px 14px;
            cursor: pointer;
            overflow: hidden;
            transition: border-color .15s ease, background .15s ease, transform .1s ease;
        }
        .rental-package-card:active { transform: scale(.98); }
        .rental-package-card.selected {
            border-color: #3498db;
            background: #ffffff;
            box-shadow: 0 0 0 2px rgba(52,152,219,.3), 0 4px 14px rgba(0,0,0,.15);
        }
        .rental-package-card.selected::after {
            content: '✓';
            position: absolute;
            top: 8px;
            right: 8px;
            width: 20px;
            height: 20px;
            background: #22c55e;
            color: #fff;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 11px;
            font-weight: 900;
        }
        .rental-package-title { color: #1a1a1a; font-weight: 800; font-size: 14px; }
        .rental-package-sub { color: #667085; font-size: 10px; margin-top: 2px; }
        .rental-package-price { color: #d9534f; font-weight: 800; font-size: 13.5px; margin-top: 8px; }
        .rental-package-promo-badge {
            position: absolute;
            top: 0;
            left: 0;
            background: #e74c3c;
            color: #fff;
            font-size: 8.5px;
            font-weight: 900;
            padding: 3px 10px 3px 8px;
            border-radius: 0 0 10px 0;
            letter-spacing: .3px;
        }
        .rental-package-card.promo {
            border-color: rgba(231,76,60,.4);
        }
        /* Kartu custom per-jam (full lebar, ada stepper) */
        .rental-package-card.custom {
            grid-column: span 2;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
        }
        .rental-custom-info { display: flex; align-items: center; gap: 10px; }
        .rental-custom-stepper {
            display: flex;
            align-items: center;
            gap: 10px;
            background: #0f1420;
            border-radius: 10px;
            padding: 6px 10px;
        }
        .rental-custom-stepper button {
            width: 26px;
            height: 26px;
            border-radius: 7px;
            background: #22222c;
            border: none;
            color: #fff;
            font-size: 16px;
            font-weight: 700;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .rental-custom-stepper button:active { background: #3498db; }
        .rental-custom-stepper span { color: #fff; font-weight: 800; font-size: 14px; min-width: 46px; text-align: center; }

        /* ===== TOAST NOTIFICATION ===== */
        .toast-container {
            position: fixed;
            top: 16px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 9999;
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: center;
            pointer-events: none;
            width: 100%;
            padding: 0 20px;
        }
        .toast {
            background: #1c1c24;
            border: 1px solid #2a2a35;
            border-left: 4px solid #3498db;
            color: #fff;
            font-size: 12.5px;
            font-weight: 600;
            padding: 12px 16px;
            border-radius: 12px;
            box-shadow: 0 8px 24px rgba(0,0,0,.45);
            display: flex;
            align-items: center;
            gap: 9px;
            max-width: 420px;
            width: fit-content;
            opacity: 0;
            transform: translateY(-14px);
            transition: opacity .25s ease, transform .25s ease;
        }
        .toast.show { opacity: 1; transform: translateY(0); }
        .toast.toast-success { border-left-color: #22c55e; }
        .toast.toast-error { border-left-color: #e74c3c; }
        .toast svg { width: 17px; height: 17px; flex-shrink: 0; }

        /* ===== HALAMAN MENUNGGU PEMBAYARAN (QRIS) ===== */
        .qris-hero {
            text-align: center;
            padding: 26px 20px 20px;
            background: radial-gradient(circle at 50% 0%, #1a2540, #0c0f1a 75%);
            border-bottom: 1px solid #22222c;
        }
        .qris-lottie { width: 140px; height: 140px; margin: 0 auto; }
        .qris-lottie-fallback {
            width: 60px;
            height: 60px;
            margin: 40px auto;
            border: 5px solid rgba(52,152,219,.2);
            border-top-color: #3498db;
            border-radius: 50%;
            animation: qrisSpin 1s linear infinite;
        }
        @keyframes qrisSpin { to { transform: rotate(360deg); } }
        .qris-hero h2 { color: #fff; font-size: 19px; font-weight: 900; margin-top: 4px; }
        .qris-hero p { color: #9aa5b8; font-size: 12.5px; margin: 7px auto 0; max-width: 300px; line-height: 1.6; }

        .qris-progress {
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 20px 30px 6px;
        }
        .qris-progress-step {
            width: 38px;
            height: 38px;
            border-radius: 50%;
            background: #22222c;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }
        .qris-progress-step svg { width: 17px; height: 17px; stroke: #666; fill: none; }
        .qris-progress-step.active { background: #3498db; }
        .qris-progress-step.active svg { stroke: #fff; }
        .qris-progress-line { flex: 1; height: 2px; background: #22222c; max-width: 44px; }
        .qris-progress-line.active { background: #3498db; }

        .qris-timer-pill {
            display: block;
            width: fit-content;
            margin: 16px auto 0;
            background: #e74c3c;
            color: #fff;
            font-weight: 800;
            font-size: 13px;
            padding: 9px 20px;
            border-radius: 30px;
            letter-spacing: .3px;
        }

        .qris-product-card {
            display: flex;
            align-items: center;
            gap: 12px;
            margin: 20px 15px 0;
            background: #1e1e24;
            border: 1px solid #2a2a35;
            border-radius: 12px;
            padding: 12px;
        }
        .qris-product-img {
            width: 54px;
            height: 68px;
            border-radius: 8px;
            background-size: cover;
            background-position: center top;
            flex-shrink: 0;
        }
        .qris-product-label { color: #888; font-size: 10.5px; font-weight: 700; text-transform: uppercase; }
        .qris-product-title { color: #fff; font-weight: 800; font-size: 14.5px; margin-top: 3px; }

        .qris-detail-card {
            margin: 12px 15px 0;
            background: #1e1e24;
            border: 1px solid #2a2a35;
            border-radius: 12px;
            padding: 14px 16px;
        }
        .qris-detail-header { color: #f5c518; font-size: 12px; font-weight: 800; text-transform: uppercase; margin-bottom: 10px; }
        .qris-detail-row {
            display: flex;
            justify-content: space-between;
            font-size: 12.5px;
            color: #bbb;
            padding: 6px 0;
        }
        .qris-detail-row.total { color: #fff; font-weight: 800; font-size: 14px; border-top: 1px solid #2a2a35; margin-top: 4px; padding-top: 10px; }

        .qris-invoice-card {
            margin: 12px 15px 0;
            background: #1e1e24;
            border: 1px solid #2a2a35;
            border-radius: 12px;
            padding: 14px 16px;
        }
        .qris-invoice-label { color: #888; font-size: 11px; margin-bottom: 5px; }
        .qris-invoice-value {
            display: flex;
            align-items: center;
            gap: 8px;
            color: #fff;
            font-weight: 800;
            font-size: 13.5px;
            font-family: monospace;
        }
        .qris-invoice-value button {
            background: #2a2a35; border: none; width: 26px; height: 26px; border-radius: 6px; cursor: pointer;
            display: flex; align-items: center; justify-content: center;
        }
        .qris-invoice-value button svg { width: 13px; height: 13px; stroke: #ccc; fill: none; }
        .qris-status-row { display: flex; gap: 24px; margin-top: 14px; }
        .qris-status-label { color: #888; font-size: 10.5px; margin-bottom: 5px; }
        .qris-status-badge {
            display: inline-block;
            background: rgba(245,197,24,.15);
            color: #f5c518;
            font-size: 10.5px;
            font-weight: 800;
            padding: 4px 10px;
            border-radius: 20px;
        }
        .qris-status-badge.success { background: rgba(34,197,94,.15); color: #22c55e; }

        .qris-qr-card {
            margin: 12px 15px 0;
            background: #1e1e24;
            border: 1px solid #2a2a35;
            border-radius: 14px;
            padding: 18px;
            text-align: center;
        }
        .qris-qr-label { color: #888; font-size: 11px; margin-bottom: 12px; text-align: left; }
        .qris-qr-image { width: 200px; height: 200px; border-radius: 10px; background: #fff; padding: 8px; }
        .qris-qr-loading {
            width: 200px;
            height: 200px;
            margin: 0 auto;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 14px;
            background: #1a1a20;
            border-radius: 10px;
        }
        .qris-qr-loading p { color: #888; font-size: 11.5px; }
        .qris-qr-caption { color: #888; font-size: 11px; margin-top: 10px; }

        .qris-check-btn {
            display: block;
            width: calc(100% - 30px);
            margin: 16px 15px 0;
            background: linear-gradient(90deg, #1c5fa8, #3498db);
            border: none;
            color: #fff;
            font-weight: 800;
            font-size: 14px;
            padding: 14px 0;
            border-radius: 12px;
            cursor: pointer;
        }
        .qris-check-btn:disabled { opacity: .6; cursor: not-allowed; }

        .qris-instructions {
            margin: 18px 15px 30px;
            background: #1a1a20;
            border: 1px solid #2a2a35;
            border-radius: 12px;
            padding: 16px;
        }
        .qris-instructions h4 { color: #fff; font-size: 13.5px; margin-bottom: 10px; }
        .qris-instructions h5 { color: #3498db; font-size: 12px; margin-bottom: 8px; }
        .qris-instructions ol { padding-left: 18px; }
        .qris-instructions li { color: #aaa; font-size: 12px; line-height: 1.8; }

        /* Animasi centang hijau custom (dipakai pas "Cek Pembayaran" ke-2 sukses) */
        .qris-success-check { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
        .qris-success-check svg { width: 96px; height: 96px; }
        .qris-success-circle {
            fill: none;
            stroke: #22c55e;
            stroke-width: 3;
            stroke-dasharray: 176;
            stroke-dashoffset: 176;
            animation: qrisCircleDraw .5s ease forwards;
        }
        .qris-success-tick {
            fill: none;
            stroke: #22c55e;
            stroke-width: 4;
            stroke-linecap: round;
            stroke-linejoin: round;
            stroke-dasharray: 40;
            stroke-dashoffset: 40;
            animation: qrisTickDraw .35s ease .5s forwards;
        }
        @keyframes qrisCircleDraw { to { stroke-dashoffset: 0; } }
        @keyframes qrisTickDraw { to { stroke-dashoffset: 0; } }

        /* ===== HALAMAN LEGAL (FAQ / Refund Policy / Syarat & Ketentuan / Kontak) ===== */
        .legal-content {
            padding: 6px 18px 40px;
            color: #ccc;
            font-size: 13px;
            line-height: 1.8;
        }
        .legal-content h3 {
            color: #fff;
            font-size: 15px;
            font-weight: 800;
            margin: 22px 0 8px;
        }
        .legal-content h3:first-child { margin-top: 0; }
        .legal-content p { margin-bottom: 10px; color: #b0b0b8; }
        .legal-content ul, .legal-content ol { padding-left: 20px; margin-bottom: 10px; }
        .legal-content li { color: #b0b0b8; margin-bottom: 6px; }
        .legal-updated { color: #666; font-size: 11px; margin-bottom: 20px; }

        .kontak-info-card {
            display: flex;
            align-items: flex-start;
            gap: 14px;
            margin: 0 15px 12px;
            background: #1e1e24;
            border: 1px solid #2a2a35;
            border-radius: 12px;
            padding: 16px;
        }
        .kontak-info-icon {
            width: 40px;
            height: 40px;
            border-radius: 10px;
            background: rgba(52,152,219,.15);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }
        .kontak-info-icon svg { width: 19px; height: 19px; stroke: #3498db; fill: none; stroke-width: 2; }
        .kontak-info-label { color: #888; font-size: 11px; font-weight: 700; text-transform: uppercase; }
        .kontak-info-value { color: #fff; font-size: 14px; font-weight: 700; margin-top: 3px; }

        /* ===== HAMBURGER SIDEBAR MENU ===== */
        .sidebar-overlay {
            position: fixed;
            inset: 0;
            background: rgba(0,0,0,.6);
            z-index: 950;
            display: none;
        }
        .sidebar-overlay.open { display: block; }
        .sidebar-menu {
            position: fixed;
            top: 0;
            left: 0;
            bottom: 0;
            width: 78%;
            max-width: 300px;
            background: #14141a;
            z-index: 960;
            transform: translateX(-100%);
            transition: transform .25s ease;
            overflow-y: auto;
            box-shadow: 4px 0 20px rgba(0,0,0,.4);
        }
        .sidebar-menu.open { transform: translateX(0); }
        .sidebar-menu-header {
            padding: 22px 18px 16px;
            border-bottom: 1px solid #24242c;
        }
        .sidebar-menu-header img { height: 26px; }
        .sidebar-menu-list {
            padding: 10px;
        }
        .sidebar-menu-item {
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 14px 12px;
            border-radius: 10px;
            color: #ddd;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
        }
        .sidebar-menu-item:active { background: #1e1e26; }
        .sidebar-menu-item svg { width: 19px; height: 19px; stroke: #3498db; fill: none; stroke-width: 2; flex-shrink: 0; }
        .sidebar-close-btn {
            position: absolute;
            top: 18px;
            right: 14px;
            background: #22222a;
            border: none;
            width: 30px;
            height: 30px;
            border-radius: 50%;
            color: #fff;
            font-size: 18px;
            cursor: pointer;
        }

        /* ===== HASIL SEARCH GAME ===== */
        .search-game-item {
            display: flex;
            align-items: center;
            gap: 12px;
            background: #1e1e24;
            border: 1px solid #2a2a35;
            border-radius: 10px;
            padding: 13px 14px;
            margin-bottom: 8px;
            cursor: pointer;
        }
        .search-game-item svg { width: 19px; height: 19px; flex-shrink: 0; }
        .search-game-item span { flex: 1; color: #fff; font-size: 14px; font-weight: 600; }
        .search-game-item .chev { width: 16px; height: 16px; }

        /* ===== FAQ / SERING DITANYAKAN ===== */
        .faq-section {
            padding: 30px 15px 10px;
        }
        .faq-title-rgb {
            font-size: 22px;
            font-weight: 900;
            text-align: center;
            background: linear-gradient(90deg, #ff3cac, #784ba0, #2b86c5, #22c55e, #f5c518, #ff3cac);
            background-size: 300% 100%;
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            animation: faqRgbMove 5s linear infinite;
        }
        @keyframes faqRgbMove {
            0% { background-position: 0% 50%; }
            100% { background-position: 300% 50%; }
        }
        .faq-subtitle {
            text-align: center;
            color: #999;
            font-size: 12.5px;
            margin: 8px auto 22px;
            max-width: 320px;
            line-height: 1.6;
        }
        .faq-list {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }
        .faq-item {
            background: #1a1a20;
            border: 1px solid #2a2a35;
            border-radius: 14px;
            overflow: hidden;
        }
        .faq-question {
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            background: none;
            border: none;
            color: #fff;
            font-weight: 700;
            font-size: 13.5px;
            text-align: left;
            padding: 16px 16px;
            cursor: pointer;
        }
        .faq-question svg {
            width: 17px;
            height: 17px;
            flex-shrink: 0;
            stroke: #3498db;
            transition: transform .2s ease;
        }
        .faq-item.open .faq-question svg { transform: rotate(180deg); }
        .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height .25s ease;
        }
        .faq-answer p {
            color: #aaa;
            font-size: 12.5px;
            line-height: 1.7;
            padding: 0 16px 16px;
        }

        /* ===== HALAMAN CONTACT ADMIN ===== */
        .contact-admin-hero {
            text-align: center;
            padding: 28px 20px 10px;
        }
        .contact-admin-logo {
            max-width: 220px;
            width: 70%;
            height: auto;
            margin: 0 auto 16px;
            display: block;
        }
        .contact-admin-name-row {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 7px;
            font-size: 18px;
            font-weight: 800;
            color: #fff;
        }
        .contact-admin-name-row .verified-badge { width: 19px; height: 19px; }
        .contact-admin-warning {
            margin: 14px 15px 20px;
            background: rgba(231, 76, 60, .14);
            border: 1px solid rgba(231, 76, 60, .5);
            color: #ff6b5e;
            font-weight: 800;
            font-size: 12.5px;
            text-align: center;
            line-height: 1.6;
            padding: 12px 16px;
            border-radius: 12px;
        }
        .contact-admin-list {
            padding: 0 15px 100px;
            display: flex;
            flex-direction: column;
            gap: 12px;
        }
        .contact-admin-btn {
            display: flex;
            align-items: center;
            gap: 14px;
            background: linear-gradient(90deg, #1a2540, #3498db);
            border-radius: 30px;
            padding: 14px 20px;
            color: #fff;
            text-decoration: none;
            box-shadow: 0 4px 14px rgba(52, 152, 219, .25);
        }
        .contact-admin-btn .icon-circle {
            width: 34px;
            height: 34px;
            flex-shrink: 0;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .contact-admin-btn .icon-circle svg { width: 26px; height: 26px; stroke: #fff; fill: none; stroke-width: 2; }
        .contact-admin-btn .icon-circle svg.filled { fill: #fff; stroke: none; }
        .contact-admin-btn-text { flex: 1; text-align: center; }
        .contact-admin-btn-title { font-weight: 800; font-size: 15px; }
        .contact-admin-btn-sub { font-size: 11.5px; opacity: .85; margin-top: 2px; }


        /* HALAMAN DETAIL PRODUK */
        .pd-gallery {
            width: 100%;
            aspect-ratio: 4 / 5;
            position: relative;
            background-color: #000;
            overflow: hidden;
        }
        .pd-gallery-track {
            display: flex;
            width: 100%;
            height: 100%;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            scrollbar-width: none;
        }
        .pd-gallery-track::-webkit-scrollbar { display: none; }
        .pd-gallery-track.tap-zoom-effect {
            animation: tapZoomGray 0.35s ease;
        }
        @keyframes tapZoomGray {
            0% { filter: grayscale(0); transform: scale(1); }
            50% { filter: grayscale(100%); transform: scale(1.06); }
            100% { filter: grayscale(0); transform: scale(1); }
        }
        .pd-gallery-track .pd-slide {
            flex: 0 0 100%;
            width: 100%;
            height: 100%;
            scroll-snap-align: start;
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center;
            background-color: #0c0c10;
        }
        .pd-gallery-counter {
            position: absolute;
            top: 12px;
            right: 12px;
            background: rgba(0,0,0,.55);
            color: #fff;
            font-size: 11.5px;
            font-weight: 700;
            padding: 4px 10px;
            border-radius: 12px;
        }
        .pd-gallery-dots {
            position: absolute;
            bottom: 10px;
            left: 0;
            right: 0;
            display: flex;
            justify-content: center;
            gap: 5px;
        }
        .pd-gallery-dots .dot {
            width: 5px; height: 5px; border-radius: 50%;
            background: rgba(255,255,255,.45);
        }
        .pd-gallery-dots .dot.active { background: #f5c518; width: 14px; border-radius: 3px; }

        .katalog-empty {
            text-align: center;
            color: #8a8a94;
            font-size: 14px;
            padding: 40px 15px;
        }

        /* PANAH NAVIGASI GALERI (prev/next) */
        .pd-gallery-arrow {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            z-index: 6;
            width: 34px;
            height: 34px;
            border-radius: 50%;
            background: rgba(0,0,0,.5);
            border: none;
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            padding: 0;
        }
        .pd-gallery-arrow svg { width: 18px; height: 18px; }
        .pd-gallery-arrow:active { background: rgba(0,0,0,.75); }
        .pd-gallery-arrow-prev { left: 10px; }
        .pd-gallery-arrow-next { right: 10px; }

        /* STRIP THUMBNAIL DI BAWAH GALERI */
        .pd-thumb-strip {
            display: flex;
            gap: 7px;
            overflow-x: auto;
            padding: 10px 15px;
            scrollbar-width: none;
            background: #0c0c10;
        }
        .pd-thumb-strip::-webkit-scrollbar { display: none; }
        .pd-thumb {
            flex: 0 0 54px;
            width: 54px;
            height: 68px;
            border-radius: 8px;
            background-size: cover;
            background-position: center;
            background-color: #1c1c22;
            opacity: .5;
            cursor: pointer;
            border: 2px solid transparent;
            transition: opacity .2s ease, border-color .2s ease;
        }
        .pd-thumb.active {
            opacity: 1;
            border-color: #f5c518;
        }

        /* BADGE "Klik untuk zoom" */
        .pd-zoom-badge {
            position: absolute;
            top: 12px;
            left: 12px;
            display: flex;
            align-items: center;
            gap: 7px;
            background: rgba(15,15,20,.72);
            backdrop-filter: blur(6px);
            -webkit-backdrop-filter: blur(6px);
            color: #fff;
            font-size: 12px;
            font-weight: 700;
            padding: 7px 13px;
            border-radius: 20px;
            cursor: pointer;
            z-index: 2;
        }
        .pd-zoom-badge svg { width: 16px; height: 16px; stroke: #f5c518; fill: none; stroke-width: 2; }

        /* MODAL ZOOM FULLSCREEN */
        .zoom-modal {
            position: fixed;
            inset: 0;
            background: rgba(0,0,0,.95);
            z-index: 2000;
            display: flex;
            align-items: center;
            justify-content: center;
            touch-action: none;
        }
        .zoom-modal .zoom-close {
            position: absolute;
            top: 16px;
            right: 16px;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: rgba(255,255,255,.12);
            border: none;
            color: #fff;
            font-size: 24px;
            line-height: 1;
            cursor: pointer;
            z-index: 2001;
        }
        .zoom-viewport {
            width: 100%;
            height: 100%;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .zoom-viewport img {
            max-width: 92vw;
            max-height: 92vh;
            user-select: none;
            -webkit-user-drag: none;
            cursor: grab;
            transition: transform 0.15s ease-out;
            touch-action: none;
        }
        .zoom-hint {
            position: absolute;
            bottom: 20px;
            left: 0;
            right: 0;
            text-align: center;
            color: rgba(255,255,255,.65);
            font-size: 11.5px;
        }

        .pd-actions-row {
            display: flex;
            align-items: center;
            gap: 20px;
            padding: 12px 15px;
            background-color: #16161a;
            border-bottom: 1px solid #2a2a35;
        }
        .pd-action-btn {
            display: flex;
            align-items: center;
            gap: 5px;
            background: none;
            border: none;
            color: #ccc;
            font-size: 12.5px;
            font-weight: 600;
            cursor: pointer;
            padding: 0;
        }
        .pd-action-btn svg { width: 19px; height: 19px; stroke: #ccc; fill: none; stroke-width: 2; }
        .pd-action-btn.liked svg { stroke: #ff4d6d; fill: #ff4d6d; }
        .pd-action-btn.liked { color: #ff4d6d; }
        .pd-views { margin-left: auto; color: #888; font-size: 11.5px; display: flex; align-items: center; gap: 5px; }
        .pd-views svg { width: 16px; height: 16px; stroke: #888; fill: none; stroke-width: 2; }

        .pd-section {
            margin: 12px 15px;
            background-color: #1e1e24;
            border: 1px solid #2a2a35;
            border-radius: 12px;
            padding: 14px 15px;
        }
        .pd-info .pd-title { color: #fff; font-size: 16px; font-weight: 800; margin-bottom: 8px; }
        .pd-info .pd-price { color: #3498db; font-size: 21px; font-weight: 900; }

        .pd-desc h4 { color: #fff; font-size: 13.5px; margin-bottom: 8px; }
        .pd-desc p { color: #b5b5bd; font-size: 12.5px; line-height: 1.7; white-space: pre-line; }

        .pd-admin-card {
            display: flex;
            align-items: center;
            gap: 12px;
        }
        .pd-admin-avatar {
            width: 42px;
            height: 42px;
            border-radius: 50%;
            background: linear-gradient(135deg, #1c5fa8, #3498db);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }
        .pd-admin-avatar svg { width: 22px; height: 22px; stroke: #fff; fill: none; stroke-width: 2; }
        .pd-admin-name {
            flex: 1;
            color: #fff;
            font-size: 14px;
            font-weight: 800;
            letter-spacing: .3px;
        }
        .pd-admin-verified svg { width: 21px; height: 21px; stroke: #3498db; fill: none; stroke-width: 2; flex-shrink: 0; }

        .pd-action-bar {
            display: flex;
            flex-direction: column;
            gap: 10px;
            padding: 16px 15px 100px;
        }
        .pd-btn {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            width: 100%;
            border: none;
            border-radius: 12px;
            padding: 14px 10px;
            font-size: 14.5px;
            font-weight: 800;
            cursor: pointer;
            box-sizing: border-box;
        }
        .pd-btn svg { width: 19px; height: 19px; flex-shrink: 0; }
        .pd-btn-buy {
            background: linear-gradient(90deg, #1c5fa8, #3498db);
            color: #fff;
            position: relative;
            z-index: 1;
        }
        .pd-btn-buy::before {
            content: '';
            position: absolute;
            inset: -2.5px;
            border-radius: inherit;
            padding: 2.5px;
            background: linear-gradient(90deg, #ffffff, #3498db, #ffffff, #1c5fa8);
            background-size: 300% 300%;
            animation: rgbShift 3s ease infinite;
            -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
            -webkit-mask-composite: xor;
            mask-composite: exclude;
            z-index: -1;
        }
        .pd-btn-nego { background: #3a3a42; border: none; color: #fff; }
        .pd-btn-cart { background: #3a3a42; border: none; color: #fff; }
        .pd-btn-disabled {
            opacity: .45;
            cursor: not-allowed !important;
            filter: grayscale(60%);
        }
        .pd-sold-badge {
            display: inline-block;
            margin-top: 8px;
            background: #ff4d4d;
            color: #fff;
            font-size: 11px;
            font-weight: 800;
            letter-spacing: .5px;
            padding: 4px 10px;
            border-radius: 6px;
        }

        /* TATA CARA PEMBELIAN */
        .pd-howto { margin: 4px 15px 12px; }
        .pd-howto h4 { color: #fff; font-size: 13.5px; margin-bottom: 12px; }
        .pd-step {
            display: flex;
            gap: 12px;
            margin-bottom: 16px;
            position: relative;
        }
        .pd-step:last-child { margin-bottom: 0; }
        .pd-step:not(:last-child)::before {
            content: '';
            position: absolute;
            left: 13px;
            top: 28px;
            width: 2px;
            height: calc(100% + 2px);
            background: #2a2a35;
        }
        .pd-step-num {
            width: 27px;
            height: 27px;
            border-radius: 50%;
            background: linear-gradient(135deg, #1c5fa8, #3498db);
            color: #fff;
            font-size: 12.5px;
            font-weight: 800;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            z-index: 1;
        }
        .pd-step-text { padding-top: 3px; }
        .pd-step-text .step-title { color: #fff; font-size: 13px; font-weight: 700; margin-bottom: 3px; }
        .pd-step-text .step-desc { color: #999; font-size: 11.5px; line-height: 1.5; }

        /* KEUNGGULAN SECTION */
        .keunggulan-section {
            padding: 20px 15px;
        }
        .keunggulan-title {
            text-align: center;
            font-size: 16px;
            margin-bottom: 15px;
            font-weight: bold;
            text-transform: uppercase;
            letter-spacing: 1px;
        }
        .keunggulan-list {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }
        .keunggulan-item {
            background-color: #16161a;
            border: 1px solid #2a2a35;
            border-radius: 8px;
            padding: 15px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .keunggulan-item .text h4 {
            font-size: 14px;
            margin-bottom: 4px;
            color: #fff;
        }
        .keunggulan-item .text p {
            font-size: 12px;
            color: #888;
        }
        .keunggulan-item .icon {
            color: #3498db;
            font-size: 20px;
        }

        /* FOOTER */
        .footer {
            padding: 34px 20px 110px;
            background: linear-gradient(180deg, #121212, #0a0a0d);
            border-top: 1px solid #2a2a35;
            position: relative;
            overflow: hidden;
        }
        .footer::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 2px;
            background: linear-gradient(90deg, transparent, #3498db, transparent);
        }
        .footer-logo-img {
            height: 30px;
            width: auto;
            margin-bottom: 14px;
        }
        .footer-desc {
            font-size: 13px;
            color: #9a9aa5;
            line-height: 1.7;
            margin-bottom: 10px;
            max-width: 420px;
        }
        .footer-contact-info {
            font-size: 11.5px;
            color: #777;
            line-height: 1.7;
            margin-bottom: 26px;
        }
        .footer-social {
            display: flex;
            gap: 10px;
            margin-bottom: 30px;
        }
        .footer-social a {
            width: 38px;
            height: 38px;
            border-radius: 10px;
            background: #1c1c24;
            border: 1px solid #2a2a35;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: background .2s ease, border-color .2s ease;
        }
        .footer-social a:hover { background: #3498db; border-color: #3498db; }
        .footer-social a svg { width: 17px; height: 17px; stroke: #fff; fill: none; }
        .footer-links {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 24px 20px;
        }
        .link-group h4 {
            color: #fff;
            font-size: 13.5px;
            margin-bottom: 14px;
            font-weight: 800;
            display: flex;
            align-items: center;
            gap: 7px;
        }
        .link-group h4::before {
            content: '';
            width: 4px;
            height: 14px;
            border-radius: 3px;
            background: linear-gradient(180deg, #3498db, #1a2540);
        }
        .link-group ul {
            list-style: none;
        }
        .link-group ul li {
            margin-bottom: 10px;
        }
        .link-group ul li a {
            color: #9a9aa5;
            font-size: 13px;
            transition: color 0.2s;
        }
        .link-group ul li a:hover {
            color: #3498db;
        }
        .footer-bottom {
            margin-top: 30px;
            padding-top: 20px;
            border-top: 1px solid #22222a;
            color: #666;
            font-size: 11.5px;
            text-align: center;
        }

        /* FLOATING BUTTON (Headset Icon) */
        .fab {
            position: fixed;
            bottom: 20px;
            right: 20px;
            background-color: #1e1e24;
            color: #fff;
            width: 50px;
            height: 50px;
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: 22px;
            box-shadow: 0 4px 10px rgba(0,0,0,0.5);
            border: 1px solid #3498db;
            cursor: pointer;
            z-index: 999;
        }

        /* Background Colors for Image Placeholders to mimic game covers */
        .bg-ml { background: url('images/img002.jpg') center/cover; }
        .bg-ff { background: url('images/img003.jpg') center/cover; }
        .bg-pubg { background: url('https://images.unsplash.com/photo-1593305841991-05c297ba4575?auto=format&fit=crop&w=300&q=80') center/cover; }
        .bg-pb { background: url('images/img004.jpg') center/cover; }
        .bg-hok { background: url('images/img005.jpg') center/cover; }
        .bg-coc { background: url('images/img006.jpg') center/cover; }
        .bg-fc { background: url('images/img007.jpg') center/cover; }
        .bg-codm { background: url('images/img008.jpg') center/cover; }
        .bg-gi { background: url('images/img009.jpg') center/cover; }
    