
        :root {
            --page-sanvip-primary: #FFD700; /* Vàng */
            --page-sanvip-secondary: #FFFACD; /* Vàng nhạt */
            --page-sanvip-background: #000000; /* Đen */
            --page-sanvip-text-main: #ffffff; /* Trắng */
            --page-sanvip-text-highlight: #FFD700; /* Vàng */
            --page-sanvip-border: #333333;
            --page-sanvip-card-bg: #1a1a1a;
            --page-sanvip-button-gradient: linear-gradient(180deg, #FFEA00 0%, #FFD700 100%);
            --header-offset: 122px; /* Default value, overridden by shared.css */
        }

        .page-sanvip {
            font-family: 'Arial', sans-serif;
            background-color: var(--page-sanvip-background);
            color: var(--page-sanvip-text-main);
            line-height: 1.6;
            padding-bottom: 80px; /* Space for floating button */
        }

        .page-sanvip__hero-section {
            position: relative;
            width: 100%;
            overflow: hidden;
            text-align: center;
            padding-top: 10px; /* Small top padding, body handles header offset */
            padding-bottom: 20px;
        }

        .page-sanvip__hero-image {
            width: 100%;
            height: auto;
            display: block;
            object-fit: cover;
            max-width: 100%;
            box-sizing: border-box;
        }

        .page-sanvip__hero-content {
            max-width: 90%;
            margin: 20px auto 0;
            padding: 0 15px;
            box-sizing: border-box;
        }

        .page-sanvip__main-title {
            font-size: clamp(1.8rem, 5vw, 2.8rem);
            color: var(--page-sanvip-text-highlight);
            margin-bottom: 10px;
            font-weight: bold;
            line-height: 1.2;
        }

        .page-sanvip__subtitle {
            font-size: clamp(1rem, 2.5vw, 1.3rem);
            color: var(--page-sanvip-text-main);
            margin-bottom: 20px;
            max-width: 800px;
            margin-left: auto;
            margin-right: auto;
        }

        .page-sanvip__cta-button {
            display: inline-block;
            background: var(--page-sanvip-button-gradient);
            color: #000000;
            padding: 12px 30px;
            border-radius: 5px;
            text-decoration: none;
            font-weight: bold;
            font-size: 1.1rem;
            transition: background 0.3s ease, transform 0.2s ease;
            border: none;
            cursor: pointer;
            max-width: 100%;
            box-sizing: border-box;
            white-space: normal;
            word-wrap: break-word;
        }

        .page-sanvip__cta-button:hover {
            background: linear-gradient(180deg, #FFD700 0%, #FFEA00 100%);
            transform: translateY(-2px);
        }

        .page-sanvip__section {
            padding: 40px 20px;
            max-width: 1200px;
            margin: 0 auto;
            box-sizing: border-box;
        }

        .page-sanvip__section-title {
            font-size: clamp(1.6rem, 4vw, 2.5rem);
            color: var(--page-sanvip-text-highlight);
            text-align: center;
            margin-bottom: 30px;
            font-weight: bold;
        }

        .page-sanvip__game-categories {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 15px;
            margin-bottom: 40px;
        }

        .page-sanvip__category-link {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-decoration: none;
            color: var(--page-sanvip-text-main);
            background-color: var(--page-sanvip-card-bg);
            padding: 15px;
            border-radius: 8px;
            transition: background-color 0.3s ease, transform 0.2s ease;
            min-width: 120px;
            text-align: center;
            box-sizing: border-box;
            border: 1px solid var(--page-sanvip-border);
            flex: 1 1 calc(33.333% - 15px);
            max-width: calc(33.333% - 15px);
        }

        .page-sanvip__category-link:hover {
            background-color: #2a2a2a;
            transform: translateY(-3px);
        }

        .page-sanvip__category-icon {
            width: 60px;
            height: 60px;
            object-fit: contain;
            margin-bottom: 10px;
        }

        .page-sanvip__category-name {
            font-weight: bold;
            font-size: 1rem;
            color: var(--page-sanvip-text-highlight);
        }

        .page-sanvip__game-showcase {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 20px;
        }

        .page-sanvip__game-card {
            background-color: var(--page-sanvip-card-bg);
            border-radius: 10px;
            overflow: hidden;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
            transition: transform 0.3s ease;
            border: 1px solid var(--page-sanvip-border);
        }

        .page-sanvip__game-card:hover {
            transform: translateY(-5px);
        }

        .page-sanvip__game-image {
            width: 100%;
            height: 200px;
            object-fit: cover;
            display: block;
        }

        .page-sanvip__game-content {
            padding: 20px;
        }

        .page-sanvip__game-title {
            font-size: 1.4rem;
            color: var(--page-sanvip-text-highlight);
            margin-bottom: 10px;
            font-weight: bold;
        }

        .page-sanvip__game-description {
            font-size: 0.95rem;
            color: var(--page-sanvip-text-main);
            margin-bottom: 15px;
        }

        .page-sanvip__btn-play {
            display: inline-block;
            background: var(--page-sanvip-button-gradient);
            color: #000000;
            padding: 10px 20px;
            border-radius: 5px;
            text-decoration: none;
            font-weight: bold;
            font-size: 1rem;
            transition: background 0.3s ease;
            border: none;
            cursor: pointer;
            max-width: 100%;
            box-sizing: border-box;
            white-space: normal;
            word-wrap: break-word;
        }

        .page-sanvip__btn-play:hover {
            background: linear-gradient(180deg, #FFD700 0%, #FFEA00 100%);
        }

        .page-sanvip__promo-card {
            background-color: var(--page-sanvip-card-bg);
            border-radius: 10px;
            padding: 25px;
            margin-bottom: 20px;
            text-align: center;
            border: 1px solid var(--page-sanvip-border);
        }

        .page-sanvip__promo-title {
            font-size: 1.8rem;
            color: var(--page-sanvip-text-highlight);
            margin-bottom: 10px;
        }

        .page-sanvip__promo-description {
            font-size: 1rem;
            color: var(--page-sanvip-text-main);
            margin-bottom: 20px;
        }

        .page-sanvip__provider-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
            gap: 15px;
            justify-items: center;
            align-items: center;
        }

        .page-sanvip__provider-logo {
            width: 100px;
            height: 60px;
            object-fit: contain;
            filter: brightness(0) invert(1) saturate(100%) hue-rotate(0deg); /* White logos on dark background */
            transition: transform 0.2s ease;
        }

        .page-sanvip__provider-logo:hover {
            transform: scale(1.05);
        }

        .page-sanvip__faq-list {
            list-style: none;
            padding: 0;
        }

        .page-sanvip__faq-item {
            background-color: var(--page-sanvip-card-bg);
            border-radius: 8px;
            margin-bottom: 15px;
            overflow: hidden;
            border: 1px solid var(--page-sanvip-border);
        }

        .page-sanvip__faq-question {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 15px 20px;
            cursor: pointer;
            user-select: none;
            font-weight: bold;
            font-size: 1.1rem;
            color: var(--page-sanvip-text-main);
            background-color: #1a1a1a;
            transition: background-color 0.3s ease;
        }

        .page-sanvip__faq-question:hover {
            background-color: #2a2a2a;
        }

        .page-sanvip__faq-question h3 {
            margin: 0;
            color: inherit;
            pointer-events: none; /* Prevents text selection from interfering with click */
        }

        .page-sanvip__faq-toggle {
            font-size: 1.5rem;
            line-height: 1;
            pointer-events: none; /* Prevents icon from interfering with click */
            transition: transform 0.3s ease;
            color: var(--page-sanvip-text-highlight);
        }

        .page-sanvip__faq-item.active .page-sanvip__faq-toggle {
            transform: rotate(45deg);
        }

        .page-sanvip__faq-answer {
            max-height: 0;
            overflow: hidden;
            padding: 0 20px;
            opacity: 0;
            transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), padding 0.4s ease, opacity 0.4s ease;
            font-size: 0.95rem;
            color: var(--page-sanvip-text-main);
        }

        .page-sanvip__faq-item.active .page-sanvip__faq-answer {
            max-height: 2000px !important; /* Sufficiently large to show all content */
            padding: 20px !important;
            opacity: 1;
        }

        .page-sanvip__floating-cta {
            position: fixed;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 1000;
            background: var(--page-sanvip-button-gradient);
            color: #000000;
            padding: 15px 25px;
            border-radius: 50px;
            text-decoration: none;
            font-weight: bold;
            font-size: 1.1rem;
            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.5);
            transition: transform 0.3s ease, background 0.3s ease;
            white-space: nowrap;
            display: flex;
            align-items: center;
            justify-content: center;
            max-width: 90%; /* For mobile responsiveness */
            box-sizing: border-box;
            word-wrap: break-word;
        }

        .page-sanvip__floating-cta:hover {
            transform: translateX(-50%) translateY(-5px);
            background: linear-gradient(180deg, #FFD700 0%, #FFEA00 100%);
        }

        .page-sanvip__icon-fire {
            margin-left: 8px;
            font-size: 1.2em;
            color: #FF4500;
        }

        /* Responsive Styles */
        @media (max-width: 1024px) {
            .page-sanvip__category-link {
                flex: 1 1 calc(33.333% - 15px);
                max-width: calc(33.333% - 15px);
            }
        }

        @media (max-width: 768px) {
            .page-sanvip__hero-section {
                padding-top: 10px !important;
                padding-bottom: 15px;
            }

            .page-sanvip__main-title {
                font-size: 2rem;
            }

            .page-sanvip__subtitle {
                font-size: 0.95rem;
            }

            .page-sanvip__cta-button {
                padding: 10px 20px;
                font-size: 1rem;
                max-width: 100% !important;
                width: 100% !important;
                box-sizing: border-box !important;
                white-space: normal !important;
                word-wrap: break-word !important;
            }

            .page-sanvip__section {
                padding: 30px 15px;
            }

            .page-sanvip__section-title {
                font-size: 2rem;
                margin-bottom: 25px;
            }

            .page-sanvip__game-categories {
                flex-direction: row;
                flex-wrap: wrap;
                gap: 10px;
            }

            .page-sanvip__category-link {
                flex: 1 1 calc(50% - 10px);
                max-width: calc(50% - 10px);
                padding: 12px;
                min-width: unset;
            }

            .page-sanvip__category-icon {
                width: 50px;
                height: 50px;
            }

            .page-sanvip__game-showcase {
                grid-template-columns: 1fr;
            }

            .page-sanvip__game-image {
                height: 180px;
            }

            .page-sanvip__game-content {
                padding: 15px;
            }

            .page-sanvip__game-title {
                font-size: 1.2rem;
            }

            .page-sanvip__promo-card {
                padding: 20px;
            }

            .page-sanvip__promo-title {
                font-size: 1.5rem;
            }

            .page-sanvip__provider-grid {
                grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
                gap: 10px;
            }

            .page-sanvip__provider-logo {
                width: 80px;
                height: 50px;
            }

            .page-sanvip__faq-question {
                font-size: 1rem;
                padding: 12px 15px;
            }

            .page-sanvip__faq-answer {
                padding: 15px !important;
                font-size: 0.9rem;
            }

            .page-sanvip__floating-cta {
                bottom: 15px;
                padding: 12px 20px;
                font-size: 1rem;
                max-width: calc(100% - 30px) !important;
                width: calc(100% - 30px) !important;
                box-sizing: border-box !important;
                white-space: normal !important;
                word-wrap: break-word !important;
            }

            /* General image responsive styles for mobile */
            .page-sanvip img {
                max-width: 100% !important;
                width: 100% !important;
                height: auto !important;
            }

            .page-sanvip__section,
            .page-sanvip__card,
            .page-sanvip__container,
            .page-sanvip__game-categories,
            .page-sanvip__game-showcase,
            .page-sanvip__provider-grid,
            .page-sanvip__faq-list {
                max-width: 100% !important;
                width: 100% !important;
                box-sizing: border-box !important;
                padding-left: 15px;
                padding-right: 15px;
            }

            .page-sanvip ul,
            .page-sanvip ol {
                padding-left: 20px;
                margin-left: 0;
                margin-right: 0;
            }

            .page-sanvip ul li,
            .page-sanvip ol li {
                width: 100% !important;
                max-width: 100% !important;
                box-sizing: border-box !important;
                margin-left: 0 !important;
                margin-right: 0 !important;
                word-wrap: break-word !important;
                overflow-wrap: break-word !important;
                word-break: break-word !important;
            }
        }
    