@charset "UTF-8";
@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@100;300;400;500;600;700;800;900&display=swap";

/* ==========================================================================
 * Likester 2026 — Level 2 v4 Foundation Tokens
 * ==========================================================================
 * Design tokens introduced for the modernized theme. Existing rules below
 * are preserved unchanged. New components built on these tokens use these
 * scoped namespaces (do NOT bleed onto legacy markup):
 *   .l2v2          — app shell, sidebar v3, topbar, auth split
 *   .lk-land       — yellow landing hero (signin public page)
 *   .l2pg          — page-level layouts (orders, services, drip, etc.)
 *   .l2af          — modernized add funds (renamed to avoid legacy .af-*)
 *
 * Mode tokens default to DARK (matches existing rule pattern); html.light
 * overrides them. The Anti-FOUC script in layout.twig sets html.dark or
 * html.light before first paint, so initial paint already matches.
 * ========================================================================== */

:root {
    /* --- Brand yellow ramp (anchored to original #ffbf00 / #ffc107) --- */
    --y-50:  #fff8df;
    --y-100: #fff0b8;
    --y-200: #ffe27a;
    --y-300: #ffd23d;
    --y-400: #ffc107;   /* design ใหม่ใช้ */
    --y-500: #ffbf00;   /* original brand */
    --y-600: #e8a800;
    --y-700: #b07d00;
    --y-800: #6b4c00;

    /* --- Cool neutral ramp (slate, low chroma) --- */
    --n-0:   #ffffff;
    --n-25:  #fafafa;
    --n-50:  #f5f6f7;
    --n-100: #eceef0;
    --n-200: #d9dde1;
    --n-300: #b8bfc6;
    --n-400: #8a929b;
    --n-500: #5d6671;
    --n-600: #3f4751;
    --n-700: #2a3038;
    --n-800: #181c22;
    --n-900: #0c1015;
    --n-950: #06080b;

    /* --- Ring accents (stat cards) --- */
    --ring-blue:   #2A62FF;
    --ring-red:    #FF2828;
    --ring-green:  #28F1AA;
    --ring-purple: #A12AFF;

    /* --- Functional --- */
    --success: #19a974;
    --danger:  #e54848;
    --info:    #2c7be5;
    --warn:    #ca8a04;

    /* --- Type --- */
    --font-th:   "Noto Sans Thai", system-ui, sans-serif;
    --font-en:   "Inter", "Geist", system-ui, sans-serif;
    --font-mono: "Geist Mono", "JetBrains Mono", ui-monospace, monospace;

    /* --- Radii --- */
    --r-sm:   6px;
    --r-md:  10px;
    --r-lg:  14px;
    --r-xl:  20px;
    --r-2xl: 28px;
    --r-full: 999px;

    /* --- Shadows --- */
    --shadow-sm:     0 1px 2px rgba(12,16,21,.06), 0 1px 1px rgba(12,16,21,.04);
    --shadow-md:     0 4px 12px rgba(12,16,21,.08), 0 1px 2px rgba(12,16,21,.04);
    --shadow-lg:     0 12px 32px rgba(12,16,21,.12), 0 2px 8px rgba(12,16,21,.06);
    --shadow-yellow: 0 8px 24px -6px rgba(255,191,0,.45);

    /* --- Mode tokens: DARK default (matches existing CSS pattern) --- */
    --bg:        #0C141B;
    --side:      #121D27;
    --side2:     #0C141B;
    --line:      #183441;
    --line2:     #1f3a4a;
    --ink:       #ffffff;
    --ink2:      #c5cdd6;
    --inkDim:    #8b98b8;
    --brand:     #ffc107;
    --brandText: #0c151b;
}

/* --- Mode tokens: LIGHT overrides (when html.light is set) --- */
html.light {
    --bg:        #f5f6f8;
    --side:      #ffffff;
    --side2:     #f5f6f8;
    --line:      #e9ecef;
    --line2:     #dde2e8;
    --ink:       #0c151b;
    --ink2:      #3d4249;
    --inkDim:    #6b7280;
    --brand:     #ffc107;
    --brandText: #0c151b;
}

/* End of Likester 2026 Level 2 v4 Foundation Tokens */
/* ========================================================================== */


/* ==========================================================================
 * Likester 2026 — Level 2 v4 Components
 * ==========================================================================
 * All component CSS lives under the .l2v2 / .lk-land scope to avoid leaking
 * onto legacy markup. New rules use higher specificity than legacy ones via
 * the `.l2v2 ...` parent selector.
 * ========================================================================== */

.l2v2,
.l2v2 *,
.l2v2 *::before,
.l2v2 *::after { box-sizing: border-box; }

.l2v2 { font-family: var(--font-th), var(--font-en); color: var(--ink); }

/* ----- Sidebar v3 (restyles legacy .appSidebar inner; preserves position:fixed + 280px width) ----- */
body#appDashboard.l2v2 .appSidebar.l2v2-side {
    background: var(--side);
    border-right: 1px solid var(--line);
    padding: 16px 0 16px;
    color: var(--ink);
    transition: width .25s ease;
}
body#appDashboard.l2v2 .appSidebar.l2v2-side.collapsed { width: 78px !important; }
/* Sidebar collapsed → topbar + content shift to 78px (was 280px). Uses body class
 * .l2v2-sb-collapsed which JS sets alongside .collapsed for reliable selector match.
 * (The previous "~ *" wildcard pattern was too broad — replaced with body-class state.) */
body#appDashboard.l2v2.l2v2-sb-collapsed .appHeader { left: 78px; }
body#appDashboard.l2v2.l2v2-sb-collapsed .appContent { padding-left: 78px; }
@media (max-width: 991.98px) {
    body#appDashboard.l2v2.l2v2-sb-collapsed .appHeader { left: 0; }
    body#appDashboard.l2v2.l2v2-sb-collapsed .appContent { padding-left: 0; }
}

.l2v2 .l2v2-side .sb-top { display: flex; align-items: center; padding: 0 24px 14px; border-bottom: 1px solid var(--line); margin-bottom: 14px; gap: 10px; }
.l2v2 .l2v2-side .sb-top .lg { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; overflow: hidden; text-decoration: none; color: inherit; }
.l2v2 .l2v2-side .sb-top .lion { width: 42px; height: 42px; border-radius: 12px; background: linear-gradient(135deg, #ff6b35, #ff9800); display: grid; place-items: center; color: #0c151b; font-weight: 900; font-family: var(--font-en); font-size: 22px; flex-shrink: 0; box-shadow: 0 6px 14px rgba(255, 107, 53, .3); }
.l2v2 .l2v2-side .sb-top .word { font-family: var(--font-en); font-weight: 900; font-size: 19px; letter-spacing: .02em; color: var(--ink); line-height: 1; white-space: nowrap; }
.l2v2 .l2v2-side .sb-top .word small { display: block; font-size: 9px; font-weight: 600; letter-spacing: .18em; color: var(--inkDim); margin-top: 3px; text-transform: uppercase; }
.l2v2 .l2v2-side .sb-top .sb-top-logo { max-height: 42px; max-width: 100%; object-fit: contain; }
.l2v2 .l2v2-side .sb-top .col-btn { width: 30px; height: 30px; border-radius: 9px; background: var(--side2); border: 1px solid var(--line); color: var(--ink2); display: grid; place-items: center; cursor: pointer; flex-shrink: 0; transition: .14s; font-size: 14px; padding: 0; }
.l2v2 .l2v2-side .sb-top .col-btn:hover { background: var(--brand); color: var(--brandText); border-color: var(--brand); }

/* User pill */
.l2v2 .l2v2-side .sb-user { margin: 0 16px 10px; padding: 12px; background: var(--side2); border: 1px solid var(--line); border-radius: 16px; display: flex; align-items: center; gap: 12px; cursor: pointer; transition: .14s; text-decoration: none; color: inherit; }
.l2v2 .l2v2-side .sb-user:hover { border-color: var(--brand); }
.l2v2 .l2v2-side .sb-user .av { width: 42px; height: 42px; border-radius: 50%; background: linear-gradient(135deg, #ffc107, #ff9800); color: #0c151b; display: grid; place-items: center; font-weight: 800; font-family: var(--font-en); font-size: 17px; flex-shrink: 0; box-shadow: 0 4px 10px rgba(255, 193, 7, .3); position: relative; }
.l2v2 .l2v2-side .sb-user .av::after { content: ''; position: absolute; right: -1px; bottom: -1px; width: 12px; height: 12px; border-radius: 50%; background: var(--success); border: 2px solid var(--side); }
.l2v2 .l2v2-side .sb-user .meta { flex: 1; min-width: 0; overflow: hidden; }
.l2v2 .l2v2-side .sb-user .nm { display: flex; align-items: center; gap: 5px; font-size: 13px; font-weight: 700; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.l2v2 .l2v2-side .sb-user .nm i { color: var(--brand); font-size: 13px; flex-shrink: 0; }
.l2v2 .l2v2-side .sb-user .tier { font-size: 10.5px; font-weight: 600; color: var(--inkDim); margin-top: 1px; letter-spacing: .05em; text-transform: uppercase; }
.l2v2 .l2v2-side .sb-user .arrow { color: var(--ink2); font-size: 14px; flex-shrink: 0; }

/* Balance card */
.l2v2 .l2v2-side .sb-bal { margin: 0 16px 12px; padding: 14px 16px; background: linear-gradient(135deg, #ffc107 0%, #ffce3a 100%); border-radius: 16px; color: #0c151b; position: relative; overflow: hidden; cursor: pointer; transition: .14s; text-decoration: none; display: flex; flex-wrap: wrap; align-items: center; column-gap: 10px; }
.l2v2 .l2v2-side .sb-bal:hover { transform: translateY(-1px); box-shadow: 0 12px 24px rgba(255, 193, 7, .3); }
.l2v2 .l2v2-side .sb-bal::before { content: ''; position: absolute; right: -20px; top: -30px; width: 90px; height: 90px; border-radius: 50%; background: rgba(255, 255, 255, .2); pointer-events: none; }
.l2v2 .l2v2-side .sb-bal .lbl { width: 100%; font-size: 11px; font-weight: 700; opacity: .7; letter-spacing: .06em; text-transform: uppercase; position: relative; z-index: 1; color: #0c151b; }
.l2v2 .l2v2-side .sb-bal .v { flex: 1; min-width: 0; font-family: var(--font-en); font-weight: 800; font-size: 22px; letter-spacing: -0.02em; line-height: 1; margin-top: 5px; position: relative; z-index: 1; color: #0c151b; }
.l2v2 .l2v2-side .sb-bal .topup { display: inline-flex; margin-top: 5px; margin-left: auto; background: #0c151b; color: #ffc107; padding: 7px 12px; border-radius: 9px; font-size: 11px; font-weight: 700; align-items: center; gap: 5px; position: relative; z-index: 1; flex-shrink: 0; }

/* Search */
.l2v2 .l2v2-side .sb-srch { margin: 0 16px 14px; position: relative; }
.l2v2 .l2v2-side .sb-srch i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--inkDim); font-size: 14px; pointer-events: none; }
.l2v2 .l2v2-side .sb-srch input { width: 100%; padding: 9px 36px 9px 34px; background: var(--side2); border: 1px solid var(--line); border-radius: 10px; color: var(--ink); font-family: inherit; font-size: 12.5px; outline: none; transition: .14s; }
.l2v2 .l2v2-side .sb-srch input::placeholder { color: var(--inkDim); }
.l2v2 .l2v2-side .sb-srch input:focus { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(255, 193, 7, .15); }
.l2v2 .l2v2-side .sb-srch .kbd { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); background: var(--side); border: 1px solid var(--line); color: var(--inkDim); font-size: 10px; padding: 2px 6px; border-radius: 4px; font-family: var(--font-en); font-weight: 600; pointer-events: none; }

/* Menu items */
.l2v2 .l2v2-side .sb-menu { flex: 1; overflow-y: auto; padding: 0 12px; }
.l2v2 .l2v2-side .sb-menu::-webkit-scrollbar { width: 0; }
.l2v2 .l2v2-side .sb-menu ul.sbMenu,
.l2v2 .l2v2-side .sb-menu ul.sb-menu-ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.l2v2 .l2v2-side .sb-menu .sb-grp-item { padding: 0; }
/* Group section header (matches sidebar-v3 design) */
.l2v2 .l2v2-side .sb-menu .sb-grp { padding: 0; margin: 10px 0 2px; list-style: none; }
.l2v2 .l2v2-side .sb-menu .sb-grp:first-child { margin-top: 4px; }
.l2v2 .l2v2-side .sb-menu .sb-grp .sb-grp-h {
    font-size: 10px; font-weight: 800; color: var(--inkDim);
    letter-spacing: .14em; text-transform: uppercase;
    padding: 8px 12px 6px;
}
.l2v2 .l2v2-side.collapsed .sb-grp-h { display: none; }
.l2v2 .l2v2-side .sb-menu .sb-i { display: flex; align-items: center; padding: 9px 12px; border-radius: 11px; color: var(--ink2); cursor: pointer; gap: 11px; transition: .14s; text-decoration: none; position: relative; }
.l2v2 .l2v2-side .sb-menu .sb-i .ico { width: 22px; font-size: 17px; display: flex; align-items: center; flex-shrink: 0; color: inherit; }
.l2v2 .l2v2-side .sb-menu .sb-i .tx { font-size: 13px; font-weight: 600; flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.l2v2 .l2v2-side .sb-menu .sb-i .bd { background: var(--ring-red); color: #fff; font-size: 10px; font-weight: 800; padding: 1px 7px; border-radius: 999px; font-family: var(--font-en); min-width: 18px; text-align: center; }
.l2v2 .l2v2-side .sb-menu .sb-i .bd.green { background: var(--success); }
.l2v2 .l2v2-side .sb-menu .sb-i .bd.gold { background: var(--brand); color: var(--brandText); }
.l2v2 .l2v2-side .sb-menu .sb-i:hover { background: var(--side2); color: var(--ink); }
.l2v2 .l2v2-side .sb-menu .sb-i.active { background: linear-gradient(95deg, #ffc107, #ffd54a); color: var(--brandText); box-shadow: 0 8px 18px rgba(255, 193, 77, .3), inset 0 1px 0 rgba(255, 255, 255, .4); font-weight: 700; }
.l2v2 .l2v2-side .sb-menu .sb-i.active:hover { color: var(--brandText); }
.l2v2 .l2v2-side .sb-menu .sb-i.active .ico,
.l2v2 .l2v2-side .sb-menu .sb-i.active .tx { color: var(--brandText); }

/* Footer (LINE) */
.l2v2 .l2v2-side .sb-foot { padding: 10px 16px 0; border-top: 1px solid var(--line); margin-top: 10px; }
.l2v2 .l2v2-side .sb-line { background: linear-gradient(135deg, #06C755, #04a346); color: #fff; padding: 11px 14px; border-radius: 12px; display: flex; align-items: center; gap: 10px; cursor: pointer; transition: .14s; box-shadow: 0 6px 14px rgba(6, 199, 85, .25); text-decoration: none; }
.l2v2 .l2v2-side .sb-line:hover { transform: translateY(-1px); box-shadow: 0 10px 18px rgba(6, 199, 85, .35); color: #fff; }
.l2v2 .l2v2-side .sb-line i { font-size: 18px; }
.l2v2 .l2v2-side .sb-line .t { font-size: 12px; font-weight: 700; flex: 1; line-height: 1.3; }
.l2v2 .l2v2-side .sb-line .t small { display: block; font-size: 10px; opacity: .85; font-weight: 500; margin-top: 1px; }

/* Collapsed state */
.l2v2 .l2v2-side.collapsed .sb-top .lg .word,
.l2v2 .l2v2-side.collapsed .sb-user .meta,
.l2v2 .l2v2-side.collapsed .sb-user .arrow,
.l2v2 .l2v2-side.collapsed .sb-bal .lbl,
.l2v2 .l2v2-side.collapsed .sb-bal .topup,
.l2v2 .l2v2-side.collapsed .sb-srch input,
.l2v2 .l2v2-side.collapsed .sb-srch .kbd,
.l2v2 .l2v2-side.collapsed .sb-menu .sb-i .tx,
.l2v2 .l2v2-side.collapsed .sb-menu .sb-i .bd,
.l2v2 .l2v2-side.collapsed .sb-line .t { display: none; }
.l2v2 .l2v2-side.collapsed .sb-bal { padding: 10px; text-align: center; }
.l2v2 .l2v2-side.collapsed .sb-bal .v { font-size: 14px; }
.l2v2 .l2v2-side.collapsed .sb-srch i { left: 50%; transform: translate(-50%, -50%); }
.l2v2 .l2v2-side.collapsed .sb-srch input { padding: 9px 0; height: 36px; }
.l2v2 .l2v2-side.collapsed .sb-menu .sb-i { justify-content: center; padding: 10px 0; }
.l2v2 .l2v2-side.collapsed .sb-line { justify-content: center; padding: 11px; }

/* ----- Topbar (restyles legacy .appHeader inner; preserves position:fixed + left:280px from existing) ----- */
.l2v2 .appHeader.l2v2-topbar {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 28px;
    border-bottom: 1px solid var(--line);
    background: var(--side);
    /* position/top/left/height inherited from legacy .appHeader rules (fixed; left:280px on desktop) */
}
/* On mobile, legacy .menu-btn is position:fixed top-left so add padding to pgti
 * to prevent the page title getting clipped by the floating menu button. */
@media (max-width: 991.98px) {
    .l2v2 .appHeader.l2v2-topbar { padding-left: 72px; }
}
.l2v2 .appHeader.l2v2-topbar .menu-btn .ri-close-line { display: none; }
.appAuth.sidebar-active .menu-btn .ri-menu-line { display: none; }
.appAuth.sidebar-active .menu-btn .ri-close-line { display: inline-block; }
.l2v2 .l2v2-topbar .pgti { min-width: 0; flex-shrink: 1; }
.l2v2 .l2v2-topbar .pgti h2.apPgTi { margin: 0; font-size: 20px; font-weight: 700; color: var(--ink); letter-spacing: -0.01em; line-height: 1.2; }
.l2v2 .l2v2-topbar .pgti p.apPgTx { margin: 1px 0 0; font-size: 12px; color: var(--inkDim); }
.l2v2 .l2v2-topbar .right { margin-left: auto; display: flex; align-items: center; gap: 10px; flex-wrap: nowrap; }

.l2v2 .l2v2-tb-icon { width: 38px; height: 38px; border-radius: 50%; background: var(--side2); border: 1px solid var(--line); color: var(--ink2); display: grid; place-items: center; cursor: pointer; transition: .14s; font-size: 16px; padding: 0; text-decoration: none; }
.l2v2 .l2v2-tb-icon:hover { background: var(--line); color: var(--brand); }
.l2v2 .l2v2-tb-icon.dot { position: relative; }
.l2v2 .l2v2-tb-icon.dot::after { content: ''; position: absolute; top: 9px; right: 10px; width: 7px; height: 7px; background: var(--ring-red); border-radius: 50%; border: 1.5px solid var(--side); }
.l2v2 .l2v2-tb-icon.dropdown-toggle::after { display: none; }

.l2v2 .l2v2-mode { display: flex; align-items: center; height: 38px; gap: 4px; padding: 3px; background: var(--side2); border: 1px solid var(--line); border-radius: 999px; flex-shrink: 0; box-sizing: border-box; }
/* Override legacy .btnlight/.btndark padding/border-radius/colors so they don't overflow inside the new pill container */
.l2v2 .l2v2-mode button.btnlight,
.l2v2 .l2v2-mode button.btndark {
    width: 30px !important; height: 30px !important;
    border-radius: 50% !important; border: 0 !important;
    background: transparent !important; color: var(--inkDim) !important;
    cursor: pointer; display: grid; place-items: center;
    font-size: 14px; padding: 0 !important; line-height: 1; margin: 0;
}
.l2v2 .l2v2-mode button:hover { color: var(--ink) !important; }
html.light .l2v2 .l2v2-mode button.btnlight { background: rgba(255, 193, 7, .15) !important; color: var(--brand) !important; }
html.dark  .l2v2 .l2v2-mode button.btndark  { background: rgba(255, 193, 7, .15) !important; color: var(--brand) !important; }

.l2v2 .l2v2-prof { display: flex; align-items: center; gap: 10px; padding: 5px 14px 5px 5px; background: var(--side2); border: 1px solid var(--line); border-radius: 999px; cursor: pointer; }
.l2v2 .l2v2-prof::after { display: none; }
.l2v2 .l2v2-prof .av { width: 30px; height: 30px; border-radius: 50%; background: var(--brand); color: var(--brandText); display: grid; place-items: center; font-weight: 700; font-size: 13px; font-family: var(--font-en); }
.l2v2 .l2v2-prof .nm { font-size: 12px; font-weight: 600; color: var(--ink); line-height: 1.2; text-align: left; }
.l2v2 .l2v2-prof .nm small { display: block; font-size: 10px; font-weight: 500; color: var(--inkDim); }
.l2v2 .l2v2-prof .arrows { color: var(--ink2); font-size: 16px; }

/* Topbar dropdown menus reuse Bootstrap structure but get token colors */
.l2v2 .l2v2-topbar .dropdown-menu { background: var(--side); border: 1px solid var(--line); box-shadow: var(--shadow-lg); border-radius: 12px; padding: 6px; }
.l2v2 .l2v2-topbar .dropdown-menu .dropdown-item { color: var(--ink); border-radius: 8px; padding: 8px 12px; font-size: 13px; display: flex; align-items: center; gap: 8px; }
.l2v2 .l2v2-topbar .dropdown-menu .dropdown-item:hover,
.l2v2 .l2v2-topbar .dropdown-menu .dropdown-item:focus { background: var(--side2); color: var(--brand); }
.l2v2 .l2v2-topbar .dropdown-menu .dropdown-item.danger-color { color: var(--danger); }
.l2v2 .l2v2-topbar .dropdown-menu .dropdown-divider { border-color: var(--line); margin: 4px 0; }

/* ========================================================================== */
/* ----- Landing yellow hero (.lk-land) — wraps signin.twig public page ----- */
/* ========================================================================== */
.lk-land { font-family: var(--font-th), var(--font-en); color: #0c151b; background: #ffc107; }
.lk-land *, .lk-land *::before, .lk-land *::after { box-sizing: border-box; }
.lk-land img { max-width: 100%; }
.lk-land a { color: inherit; text-decoration: none; }

/* Hero */
.lk-land .lk-hero { padding: 140px 24px 100px; position: relative; overflow: hidden; }
.lk-land .lk-hero .lk-pattern { position: absolute; inset: 0; background-image: radial-gradient(rgba(12, 21, 27, .08) 1.5px, transparent 1.5px); background-size: 22px 22px; pointer-events: none; opacity: .5; }
.lk-land .lk-hero-inner { position: relative; z-index: 2; max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 1.1fr 480px; gap: 60px; align-items: center; }
@media (max-width: 992px) { .lk-land .lk-hero-inner { grid-template-columns: 1fr; gap: 40px; } }

.lk-land .lk-hero-left { display: flex; flex-direction: column; gap: 28px; }
.lk-land .lk-badge { display: inline-flex; align-items: center; gap: 10px; background: #0c151b; color: #fff; padding: 10px 22px; border-radius: 999px; font-size: 13px; font-weight: 600; width: fit-content; box-shadow: 0 8px 20px rgba(12, 21, 27, .3); }
.lk-land .lk-badge .bolt { width: 22px; height: 22px; border-radius: 50%; background: #ffc107; color: #0c151b; display: grid; place-items: center; font-size: 12px; }
.lk-land .lk-hero-h1 { margin: 0; font-family: var(--font-th), var(--font-en); font-weight: 900; font-size: 52px; line-height: 1.05; letter-spacing: -0.02em; color: #0c151b; max-width: 640px; }
.lk-land .lk-hero-h1 em { font-style: normal; background: #0c151b; color: #ffc107; padding: 4px 18px; border-radius: 14px; display: inline-block; }
@media (max-width: 768px) { .lk-land .lk-hero-h1 { font-size: 36px; } }
.lk-land .lk-hero-lead { font-size: 16px; line-height: 1.65; color: #0c151b; opacity: .82; max-width: 540px; margin: 0; }
.lk-land .lk-hero-ctas { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 4px; }
.lk-land .lk-btn-dark { background: #0c151b; color: #fff; padding: 16px 32px; border-radius: 16px; font-weight: 700; font-size: 15px; display: inline-flex; align-items: center; gap: 10px; box-shadow: 0 12px 28px rgba(12, 21, 27, .3); transition: .18s; cursor: pointer; }
.lk-land .lk-btn-dark:hover { transform: translateY(-2px); box-shadow: 0 18px 36px rgba(12, 21, 27, .4); color: #fff; }
.lk-land .lk-btn-out { background: transparent; color: #0c151b; padding: 14px 30px; border-radius: 16px; font-weight: 700; font-size: 15px; border: 2px solid #0c151b; display: inline-flex; align-items: center; gap: 10px; transition: .18s; cursor: pointer; }
.lk-land .lk-btn-out:hover { background: #0c151b; color: #ffc107; }

/* Floating hex icons */
.lk-land .lk-hex { position: absolute; width: 88px; height: 96px; clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); display: grid; place-items: center; color: #fff; font-size: 36px; box-shadow: 0 16px 30px rgba(0, 0, 0, .18); animation: lkHexFloat 5.2s ease-in-out infinite; z-index: 1; }
.lk-land .lk-hex.heart { background: linear-gradient(135deg, #ff5e6e, #ff2828); top: 14%; left: 4%; animation-delay: 0s; }
.lk-land .lk-hex.mega  { background: linear-gradient(135deg, #ff9966, #ff6e3e); top: 56%; left: 1%; animation-delay: -1.4s; width: 104px; height: 114px; }
.lk-land .lk-hex.like  { background: linear-gradient(135deg, #37e09f, #10b981); top: 12%; right: 4%; animation-delay: -2.6s; }
.lk-land .lk-hex.smile { background: linear-gradient(135deg, #3e9bff, #0258FF); top: 64%; right: 1%; animation-delay: -3.6s; width: 78px; height: 86px; }
@media (max-width: 992px) { .lk-land .lk-hex { display: none; } }
@keyframes lkHexFloat { 0%, 100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-16px) rotate(3deg); } }

/* Login card */
.lk-land .lk-login { background: #fff; border-radius: 28px; padding: 36px 32px; box-shadow: 0 28px 60px rgba(0, 0, 0, .18), 0 6px 16px rgba(0, 0, 0, .06); display: flex; flex-direction: column; gap: 14px; position: relative; }
.lk-land .lk-login h2 { margin: 0; text-align: center; font-size: 24px; font-weight: 800; color: #0c151b; letter-spacing: -0.02em; }
.lk-land .lk-login .sub { text-align: center; color: #6b7280; font-size: 13px; margin: -4px 0 4px; }
.lk-land .lk-login form { display: flex; flex-direction: column; gap: 14px; }
.lk-land .lk-login .lk-field { display: flex; flex-direction: column; gap: 6px; }
.lk-land .lk-login .lk-field label { font-size: 12.5px; font-weight: 600; color: #0c151b; }
.lk-land .lk-login .lk-field input { padding: 14px 16px; border-radius: 14px; border: 1.5px solid #e5e7eb; background: #f9fafb; font-family: inherit; font-size: 13.5px; outline: none; transition: .14s; color: #0c151b; }
.lk-land .lk-login .lk-field input:focus { border-color: #ffc107; background: #fff; box-shadow: 0 0 0 3px rgba(255, 193, 7, .2); }
.lk-land .lk-login .lk-row2 { display: grid; grid-template-columns: 1.4fr 1fr; gap: 10px; align-items: stretch; }
.lk-land .lk-login .lk-stay { background: #ffc107; color: #0c151b; padding: 12px; border-radius: 12px; font-weight: 700; font-size: 12.5px; display: flex; align-items: center; justify-content: center; gap: 6px; cursor: pointer; margin: 0; }
.lk-land .lk-login .lk-stay input[type="checkbox"] { display: none; }
.lk-land .lk-login .lk-stay i { font-size: 14px; }
.lk-land .lk-login .lk-forgot { background: #f3f4f6; color: #0c151b; padding: 12px; border-radius: 12px; font-weight: 600; font-size: 12.5px; display: flex; align-items: center; justify-content: center; }
.lk-land .lk-login .lk-forgot:hover { background: #e5e7eb; color: #0c151b; }
.lk-land .lk-login .lk-submit { background: #ffc107; color: #0c151b; padding: 16px; border-radius: 14px; font-weight: 800; font-size: 15px; border: 0; cursor: pointer; box-shadow: 0 8px 20px rgba(255, 193, 7, .4); transition: .18s; font-family: inherit; }
.lk-land .lk-login .lk-submit:hover { background: #ffce3a; transform: translateY(-2px); }
.lk-land .lk-login .lk-google { background: #fff; color: #0c151b; padding: 13px; border-radius: 14px; font-weight: 600; font-size: 13.5px; border: 1.5px solid #e5e7eb; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 10px; transition: .18s; font-family: inherit; }
.lk-land .lk-login .lk-google:hover { border-color: #ffc107; }
.lk-land .lk-login .signin-google-hidden { display: none; }
.lk-land .lk-login .alert { font-size: 12.5px; padding: 10px 14px; border-radius: 12px; margin: 0; }

/* Dark stats bar (overlapping hero bottom) */
.lk-land .lk-stats { max-width: 1180px; margin: -50px auto 0; background: #0c151b; border-radius: 24px; padding: 28px 36px; display: grid; grid-template-columns: 1fr 1fr 1fr auto; gap: 24px; align-items: center; box-shadow: 0 30px 60px rgba(12, 21, 27, .3); position: relative; z-index: 3; }
@media (max-width: 768px) { .lk-land .lk-stats { grid-template-columns: 1fr 1fr; gap: 18px; padding: 24px; margin: -40px 16px 0; } .lk-land .lk-stats .lk-stats-cta { grid-column: 1 / -1; text-align: center; } }
.lk-land .lk-stats .lk-stats-item .v { font-family: var(--font-en); font-weight: 800; font-size: 32px; color: #fff; letter-spacing: -0.02em; line-height: 1; }
.lk-land .lk-stats .lk-stats-item .v em { font-style: normal; color: #ffc107; }
.lk-land .lk-stats .lk-stats-item .l { font-size: 12.5px; color: #8b98b8; margin-top: 5px; font-weight: 500; }
.lk-land .lk-stats .lk-stats-cta { background: #ffc107; color: #0c151b; padding: 14px 26px; border-radius: 14px; font-weight: 800; font-size: 13.5px; box-shadow: 0 8px 22px rgba(255, 193, 7, .35); cursor: pointer; transition: .18s; display: inline-flex; align-items: center; justify-content: center; }
.lk-land .lk-stats .lk-stats-cta:hover { transform: translateY(-2px); color: #0c151b; }

/* Sections that fall after the hero — flow on yellow page bg directly (no white card frame).
 * Internal cards (.wcu-box, dark stat bars, IG card) provide their own visual weight. */
.lk-land .home-section { background: transparent; max-width: 1280px; margin: 0 auto; padding: 56px 32px; color: #0c151b; }
.lk-land .home-section + .home-section { margin-top: 0; padding-top: 24px; }
@media (max-width: 768px) { .lk-land .home-section { padding: 36px 18px; } }

/* Text contrast — yellow page bg + dark text reads well */
.lk-land .home-section { color: #0c151b; }
.lk-land .home-section .home-title h2,
.lk-land .home-section .hsl-title h2,
.lk-land .home-section .hsl-text,
.lk-land .home-section .hsl-item .hsli-title,
.lk-land .home-section .hsl-item .hsli-text,
.lk-land .home-section h1,
.lk-land .home-section h2:not(.lk-stats-h2),
.lk-land .home-section h3,
.lk-land .home-section h4,
.lk-land .home-section p:not(.lk-hero-lead) { color: #0c151b; }
/* Platform tabs (.hsobs .hsob) — legacy color #C9D2DC won't read on white. */
.lk-land .home-section .hsobs .hsob { color: #3d4249 !important; }
.lk-land .home-section .hsobs .hsob.active { color: #0c151b !important; }
/* Stat items inside .home-section (.hfs-count, .hfs-title) — were intended for yellow body. */
.lk-land .home-section .hfs-count { color: #0c151b; }
.lk-land .home-section .hfs-title { color: #6b7280; }
/* Inside .wcu-box keep original dark bg + white text — they have their own card. */
.lk-land .home-section .wcu-box,
.lk-land .home-section .wcu-box .wcu-title,
.lk-land .home-section .wcu-box .wcu-text { color: inherit; }
.lk-land .home-section .wcu-content .wcu-conteiner .wcu-box .wcu-title { color: #fff; }
.lk-land .home-section .wcu-content .wcu-conteiner .wcu-box .wcu-text { color: #9799A3; }

/* ========================================================================== */
/* ----- Page content area (.l2v2-content) — modernize cards, tabs, forms --- */
/* ========================================================================== */

/* Background of authenticated pages — token-aware */
body#appDashboard.l2v2 .appContent { background: transparent; }
body#appDashboard.l2v2 { background: var(--bg); }

/* Generic card refresh */
.l2v2 .l2v2-content .card,
.l2v2 .l2v2-content .card-border,
.l2v2 .l2v2-content .card-no-box {
    background: var(--side);
    border: 1px solid var(--line);
    border-radius: var(--r-xl);
    box-shadow: var(--shadow-sm);
    color: var(--ink);
}
/* Card header — match design's yellow gradient bar with circle decoration. Pattern
 * applies to neworder.twig order form, addfunds.twig, sidecard "สิ่งน่ารู้". */
.l2v2 .l2v2-content .card-header,
.l2v2 .l2v2-content .card .card-header {
    background: var(--side);
    color: var(--ink);
    border-bottom: 1px solid var(--line);
    padding: 16px 20px;
    position: relative;
    overflow: hidden;
    border-radius: var(--r-xl) var(--r-xl) 0 0;
}
.l2v2 .l2v2-content .card-header::before {
    display: none;
}
.l2v2 .l2v2-content .card-header > * { position: relative; z-index: 1; }
.l2v2 .l2v2-content .card-header h2,
.l2v2 .l2v2-content .card-header h3,
.l2v2 .l2v2-content .card-header .card-title {
    color: var(--brandText) !important;
    font-weight: 800 !important;
}
/* Stat cards (.cnb-1..4) shouldn't get the yellow header — they have card-no-box */
.l2v2 .l2v2-content .card.card-no-box,
.l2v2 .l2v2-content .card.card-no-box .card-header { background: var(--side); }
.l2v2 .l2v2-content .card.card-no-box .card-header { color: var(--ink); border-bottom: 1px solid var(--line); border-radius: 0; }
.l2v2 .l2v2-content .card.card-no-box .card-header::before { display: none; }
.l2v2 .l2v2-content .card-title { color: var(--ink); font-weight: 700; }
.l2v2 .l2v2-content .card-body { padding: 22px; }

/* Stat cards (cnb-1..4) — wrap content in ring + sparkline DNA */
.l2v2 .l2v2-content .cb-content { padding: 22px 24px 24px; position: relative; overflow: hidden; }
.l2v2 .l2v2-content .cnb-content > .row { gap: 0; align-items: center; position: relative; z-index: 2; }
.l2v2 .l2v2-content .cnb-circle {
    width: 64px; height: 64px; border-radius: 50%;
    border: 2.5px solid var(--ring-blue);
    color: var(--ring-blue);
    display: grid; place-items: center; font-size: 26px;
    background: var(--side);
    flex-shrink: 0;
}
/* Stat card layout grid (4 cards in row on desktop) */
.l2v2 .l2v2-content .row.row-cols-lg-4 > .col,
.l2v2 .l2v2-content .row > .col-lg-3 { display: flex; }
.l2v2 .l2v2-content .row.row-cols-lg-4 > .col > .card,
.l2v2 .l2v2-content .row > .col-lg-3 > .card { flex: 1; }
/* Stat card body padding + sparkline backdrop (compact, matches design) */
.l2v2 .l2v2-content .card.card-border.card-no-box .cb-content {
    padding: 18px 20px 20px;
    position: relative;
    overflow: hidden;
    border-radius: var(--r-xl);
}
.l2v2 .l2v2-content .card.card-border.card-no-box .cb-content::after {
    /* Sparkline wave bg using SVG data URI — subtle, occupies bottom 50% only */
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 50%;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: bottom center;
    pointer-events: none;
    z-index: 1;
    opacity: .35;
}
/* Compact stat card heights — total ~110-120px not 190px */
.l2v2 .l2v2-content .card.card-border.card-no-box .cnb-circle {
    width: 56px; height: 56px; font-size: 22px; border-width: 2.25px;
}
.l2v2 .l2v2-content .card.card-border.card-no-box h2 { font-size: 12.5px; }
.l2v2 .l2v2-content .card.card-border.card-no-box h3 { font-size: 22px; line-height: 1.05; }
.l2v2 .l2v2-content .nbox-value { font-size: 22px; }
.l2v2 .l2v2-content .cnb-1 .cb-content::after { background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 450 80' preserveAspectRatio='none'%3E%3Cpath d='M0,55 C50,30 100,75 150,40 C200,10 250,60 300,35 C350,15 400,50 450,40 L450,80 L0,80 Z' fill='%232A62FF' opacity='0.17'/%3E%3Cpath d='M0,55 C50,30 100,75 150,40 C200,10 250,60 300,35 C350,15 400,50 450,40' stroke='%232A62FF' stroke-width='1.5' fill='none' opacity='0.42'/%3E%3C/svg%3E"); }
.l2v2 .l2v2-content .cnb-2 .cb-content::after { background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 450 80' preserveAspectRatio='none'%3E%3Cpath d='M0,55 C50,30 100,75 150,40 C200,10 250,60 300,35 C350,15 400,50 450,40 L450,80 L0,80 Z' fill='%23FF2828' opacity='0.17'/%3E%3Cpath d='M0,55 C50,30 100,75 150,40 C200,10 250,60 300,35 C350,15 400,50 450,40' stroke='%23FF2828' stroke-width='1.5' fill='none' opacity='0.42'/%3E%3C/svg%3E"); }
.l2v2 .l2v2-content .cnb-3 .cb-content::after { background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 450 80' preserveAspectRatio='none'%3E%3Cpath d='M0,55 C50,30 100,75 150,40 C200,10 250,60 300,35 C350,15 400,50 450,40 L450,80 L0,80 Z' fill='%2328F1AA' opacity='0.17'/%3E%3Cpath d='M0,55 C50,30 100,75 150,40 C200,10 250,60 300,35 C350,15 400,50 450,40' stroke='%2328F1AA' stroke-width='1.5' fill='none' opacity='0.42'/%3E%3C/svg%3E"); }
.l2v2 .l2v2-content .cnb-4 .cb-content::after { background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 450 80' preserveAspectRatio='none'%3E%3Cpath d='M0,55 C50,30 100,75 150,40 C200,10 250,60 300,35 C350,15 400,50 450,40 L450,80 L0,80 Z' fill='%23A12AFF' opacity='0.17'/%3E%3Cpath d='M0,55 C50,30 100,75 150,40 C200,10 250,60 300,35 C350,15 400,50 450,40' stroke='%23A12AFF' stroke-width='1.5' fill='none' opacity='0.42'/%3E%3C/svg%3E"); }
/* Stat card #1 (Balance) needs blue ring like design */
.l2v2 .l2v2-content .cnb-1 .cnb-circle { color: var(--ring-blue); border-color: var(--ring-blue); }
.l2v2 .l2v2-content .cnb-2 .cnb-circle,
.l2v2 .l2v2-content .cnb-2 .cnb-content::before { color: var(--ring-red); border-color: var(--ring-red); }
.l2v2 .l2v2-content .cnb-3 .cnb-circle,
.l2v2 .l2v2-content .cnb-3 .cnb-content::before { color: var(--ring-green); border-color: var(--ring-green); }
.l2v2 .l2v2-content .cnb-4 .cnb-circle,
.l2v2 .l2v2-content .cnb-4 .cnb-content::before { color: var(--ring-purple); border-color: var(--ring-purple); }

.l2v2 .l2v2-content .card.card-border.card-no-box {
    transition: transform .2s, box-shadow .2s, border-color .2s;
}
.l2v2 .l2v2-content .card.card-border.card-no-box:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-lg);
    border-color: var(--line2);
}
.l2v2 .l2v2-content .cb-content h2 { margin: 0; font-size: 13px; color: var(--ink2); font-weight: 500; }
.l2v2 .l2v2-content .cb-content h3 { margin: 4px 0 0; font-size: 26px; font-weight: 700; color: var(--ink); font-family: var(--font-en); letter-spacing: -0.02em; line-height: 1.05; }
.l2v2 .l2v2-content .nbox-value { font-family: var(--font-en); font-weight: 700; }

/* Stat card badges (Dashboard / Use Points) — must be CLICKABLE.
 * Issue: sparkline ::after at z-index:1 + .cnb-content row at z-index:2 + my
 * earlier badge z-index:3 was too low if any parent created stacking context.
 * Fix: bump to z-index:20 + explicit pointer-events:auto + position:relative
 * on parent .card to ensure containing block. */
.l2v2 .l2v2-content .card.nwo-pos-rel,
.l2v2 .l2v2-content .card.card-no-box.nwo-pos-rel { position: relative !important; overflow: visible !important; }
.l2v2 .l2v2-content .nwo-card-badge-wrap {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    z-index: 20 !important;
    pointer-events: auto !important;
}
.l2v2 .l2v2-content .nwo-card-badge-btn {
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 11px; font-weight: 700;
    border: 0;
    display: inline-flex; align-items: center; gap: 5px;
    cursor: pointer;
    pointer-events: auto !important;
    position: relative; z-index: 21;
}
/* Also ensure sparkline doesn't intercept clicks anywhere */
.l2v2 .l2v2-content .card.card-border.card-no-box .cb-content::after,
.l2v2 .l2v2-content .cb-content::after { pointer-events: none !important; }
.l2v2 .l2v2-content .nwo-card-badge-btn--green { background: rgba(40, 241, 170, .15); color: var(--success); }
.l2v2 .l2v2-content .nwo-card-badge-btn--gold { background: rgba(255, 193, 7, .18); color: var(--warn); }

/* Order form tabs */
.l2v2 .l2v2-content .nwoNav {
    background: var(--side2); border: 1px solid var(--line); border-radius: 12px;
    padding: 4px; display: inline-flex; gap: 2px; margin: 0;
}
.l2v2 .l2v2-content .nwoNavLink {
    background: transparent; border: 0; padding: 8px 16px; border-radius: 9px;
    font-size: 12.5px; font-weight: 700; color: var(--inkDim); cursor: pointer;
    font-family: inherit; transition: .14s;
}
.l2v2 .l2v2-content .nwoNavLink:hover { color: var(--ink); }
.l2v2 .l2v2-content .nwoNavLink.active { background: var(--brand); color: var(--brandText); box-shadow: var(--shadow-sm); }

/* Service detail items (Start time / quality / speed / etc.) */
.l2v2 .l2v2-content .nwoDeIt {
    background: var(--side2); border: 1px solid var(--line); border-radius: 14px;
    padding: 12px 14px; display: flex; align-items: center; gap: 12px; min-height: 52px;
}
.l2v2 .l2v2-content .nwoDeIt .icon { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; color: #fff; font-size: 14px; flex-shrink: 0; }
.l2v2 .l2v2-content .nwoDeIt .icon.primary-bg { background: var(--info); }
.l2v2 .l2v2-content .nwoDeIt .icon.pink-bg { background: #ec4899; }
.l2v2 .l2v2-content .nwoDeIt .icon.danger-bg { background: var(--ring-red); }
.l2v2 .l2v2-content .nwoDeIt .icon.success-bg { background: var(--success); }
.l2v2 .l2v2-content .nwoDeIt .icon.orange-bg { background: #ff9800; }
.l2v2 .l2v2-content .nwoDeIt .icon.purple-bg { background: var(--ring-purple); }
.l2v2 .l2v2-content .nwoDeIt .text { font-size: 13px; color: var(--ink); font-weight: 600; min-width: 0; overflow-wrap: anywhere; }
.l2v2 .l2v2-content .nwoDeIt.description { padding: 16px 18px; align-items: flex-start; }
.l2v2 .l2v2-content .nwoDeIt .job-detail-text { font-size: 13px; line-height: 1.6; color: var(--ink2); }

/* Form controls inside content */
.l2v2 .l2v2-content .form-control {
    background: var(--side2); border: 1px solid var(--line); border-radius: 12px;
    padding: 12px 14px; font-size: 13px; color: var(--ink);
    transition: .14s;
}
.l2v2 .l2v2-content .form-control:focus { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(255, 193, 7, .15); background: var(--side); color: var(--ink); }
.l2v2 .l2v2-content .form-label { font-size: 13px; font-weight: 600; color: var(--ink); display: inline-flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.l2v2 .l2v2-content .badge-step { width: 22px; height: 22px; border-radius: 50%; background: var(--brand); color: var(--brandText); font-size: 11px; font-weight: 800; display: inline-grid; place-items: center; font-family: var(--font-en); }

/* Primary CTA */
.l2v2 .l2v2-content .btn-primary {
    background: var(--brand);
    color: var(--brandText);
    border: 0;
    border-radius: var(--r-lg);
    font-weight: 700;
    transition: .18s;
}
.l2v2 .l2v2-content .btn-primary:hover { background: #e8a800; transform: translateY(-1px); box-shadow: var(--shadow-yellow); color: var(--brandText); }
.l2v2 .l2v2-content .btn-100 { width: 100%; padding: 14px; font-size: 14px; }

/* Dashboard head wrapper (used on addfunds, faq, affiliates) */
.l2v2 .l2v2-content .dashboard-head-wrapper { padding: 0; margin-bottom: 18px; }
.l2v2 .l2v2-content .dashboard-head {
    background: var(--side); border: 1px solid var(--line); border-radius: var(--r-xl);
    padding: 22px 26px; display: flex; align-items: center; gap: 18px; position: relative; overflow: hidden;
}
.l2v2 .l2v2-content .dashboard-head::before {
    content: ''; position: absolute; right: -40px; top: -60px;
    width: 220px; height: 220px; border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 193, 7, .15), transparent 70%);
    pointer-events: none;
}
.l2v2 .l2v2-content .dashboard-head .dhead-icon {
    width: 60px; height: 60px; border-radius: 50%;
    border: 2.5px solid var(--ring-blue); color: var(--ring-blue);
    display: grid; place-items: center; font-size: 26px; flex-shrink: 0;
    background: var(--side);
}
/* Per-page icon colors (matches design ring colors) */
.l2v2 .l2v2-page-orders     .dashboard-head .dhead-icon { border-color: var(--success);     color: var(--success); }
.l2v2 .l2v2-page-services   .dashboard-head .dhead-icon { border-color: var(--ring-purple); color: var(--ring-purple); }
.l2v2 .l2v2-page-drip       .dashboard-head .dhead-icon { border-color: var(--ring-blue);   color: var(--ring-blue); }
.l2v2 .l2v2-page-subs       .dashboard-head .dhead-icon { border-color: var(--ring-purple); color: var(--ring-purple); }
.l2v2 .l2v2-page-tickets    .dashboard-head .dhead-icon { border-color: var(--ring-red);    color: var(--ring-red); }
.l2v2 .l2v2-page-faq        .dashboard-head .dhead-icon { border-color: var(--ring-purple); color: var(--ring-purple); }
.l2v2 .l2v2-page-addfunds   .dashboard-head .dhead-icon { border-color: var(--ring-blue);   color: var(--ring-blue); }
.l2v2 .l2v2-page-affiliates .dashboard-head .dhead-icon { border-color: var(--brand);       color: var(--brand); }
.l2v2 .l2v2-content .dashboard-head .dhead-body { flex: 1; min-width: 0; }
.l2v2 .l2v2-content .dashboard-head .dhead-body h1,
.l2v2 .l2v2-content .dashboard-head .dhead-body h2 { margin: 0; font-size: 22px; font-weight: 800; color: var(--ink); letter-spacing: -0.01em; }
.l2v2 .l2v2-content .dashboard-head .dhead-body p { margin: 4px 0 0; font-size: 13px; color: var(--inkDim); }

/* FAQ accordion (sidebar info) */
.l2v2 .l2v2-content .faq-ss-tabs { padding: 0; }
.l2v2 .l2v2-content .home-ss-tab {
    border: 1px solid var(--line); border-radius: 12px;
    background: var(--side2); margin-bottom: 8px; overflow: hidden;
    transition: border-color .14s;
}
.l2v2 .l2v2-content .home-ss-tab:hover { border-color: var(--brand); }
.l2v2 .l2v2-content .home-ss-tab.active { border-color: var(--brand); }
.l2v2 .l2v2-content .home-ss-tab .ss-tab-head { padding: 14px 18px; cursor: pointer; font-size: 13.5px; font-weight: 600; color: var(--ink); }
.l2v2 .l2v2-content .home-ss-tab .ss-tab-head .right-p { color: var(--ink2); }
.l2v2 .l2v2-content .home-ss-tab .ss-tab-head .fa-minus { display: none; }
.l2v2 .l2v2-content .home-ss-tab.active .ss-tab-head .fa-plus { display: none; }
.l2v2 .l2v2-content .home-ss-tab.active .ss-tab-head .fa-minus { display: inline-block; color: var(--brand); }
.l2v2 .l2v2-content .home-ss-tab .ss-tab-content { padding: 0 18px 14px; font-size: 12.5px; color: var(--inkDim); line-height: 1.6; }

/* Banners (.alert / .nwo-alert-*) — match design rounded 16px + close X + CTA.
 * NOTE: neworder.twig markup has BOTH .alert-warning AND .nwo-alert-success/danger
 * on the same element. The .nwo-alert-* (semantic) must always win over the
 * Bootstrap .alert-warning (which is yellow/orange). Use compound selectors
 * with extra specificity. */
.l2v2 .l2v2-content .alert {
    border: 0;
    border-radius: var(--r-xl);
    padding: 14px 20px;
    display: flex;
    align-items: center;
    gap: 14px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .08);
    color: #fff;
    font-size: 13.5px;
}
/* Generic Bootstrap variants first (default fallback) */
.l2v2 .l2v2-content .alert-warning { background: linear-gradient(90deg, #f59e0b, #d97706); color: #fff; }
.l2v2 .l2v2-content .alert-info    { background: linear-gradient(90deg, #2A62FF, #1f5dcf); color: #fff; }
/* Semantic .nwo-alert-* wins (compound selector + later in file) */
.l2v2 .l2v2-content .alert.nwo-alert-success,
.l2v2 .l2v2-content .alert-warning.nwo-alert-success,
.l2v2 .l2v2-content .nwo-alert-success { background: linear-gradient(90deg, #10b981, #059669) !important; color: #fff !important; }
.l2v2 .l2v2-content .alert.nwo-alert-danger,
.l2v2 .l2v2-content .alert-warning.nwo-alert-danger,
.l2v2 .l2v2-content .alert-success.nwo-alert-danger,
.l2v2 .l2v2-content .nwo-alert-danger { background: linear-gradient(90deg, #ef4444, #dc2626) !important; color: #fff !important; }
.l2v2 .l2v2-content .alert.nwo-alert-warning,
.l2v2 .l2v2-content .alert-warning.nwo-alert-warning,
.l2v2 .l2v2-content .nwo-alert-warning { background: linear-gradient(90deg, #f59e0b, #d97706) !important; color: #fff !important; }
.l2v2 .l2v2-content .alert-success { background: linear-gradient(90deg, #10b981, #059669); color: #fff; }
.l2v2 .l2v2-content .alert-danger  { background: linear-gradient(90deg, #ef4444, #dc2626); color: #fff; }
.l2v2 .l2v2-content .nwo-alert-info { background: linear-gradient(90deg, #2A62FF, #1f5dcf); color: #fff; }
.l2v2 .l2v2-content .alert .close,
.l2v2 .l2v2-content .alert .btn-close {
    background: transparent; border: 0; color: rgba(255, 255, 255, .7);
    font-size: 18px; padding: 4px; cursor: pointer; margin-left: auto;
}
.l2v2 .l2v2-content .alert .close:hover { color: #fff; }
.l2v2 .l2v2-content .alert .btn-line,
.l2v2 .l2v2-content .alert a.line {
    background: #fff; color: #06C755; padding: 7px 14px;
    border-radius: 999px; font-size: 12px; font-weight: 700;
    display: inline-flex; align-items: center; gap: 6px; text-decoration: none;
    border: 1px solid rgba(255, 255, 255, .25);
}

/* ----- Add Funds (legacy .af-pay-grid namespace) ----- */
.l2v2 .l2v2-page-addfunds .af-pay-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px;
}
.l2v2 .l2v2-page-addfunds .af-pay-card {
    background: var(--side2); border: 2px solid var(--line);
    border-radius: var(--r-lg); padding: 18px 14px;
    cursor: pointer; transition: .18s;
    text-align: center; display: flex; flex-direction: column; align-items: center; gap: 10px;
    position: relative;
}
.l2v2 .l2v2-page-addfunds .af-pay-card:hover { border-color: var(--brand); transform: translateY(-2px); }
.l2v2 .l2v2-page-addfunds .af-pay-card.af-pay-active {
    border-color: var(--brand); background: rgba(255, 193, 7, .08);
    box-shadow: 0 10px 24px rgba(255, 193, 7, .18);
}
.l2v2 .l2v2-page-addfunds .af-pay-card.af-pay-active::after {
    content: '✓'; position: absolute; top: 8px; right: 10px;
    width: 22px; height: 22px; border-radius: 50%;
    background: var(--brand); color: var(--brandText);
    display: grid; place-items: center; font-size: 12px; font-weight: 800;
}
.l2v2 .l2v2-page-addfunds .af-pay-icon { width: 48px; height: 48px; border-radius: 12px; display: grid; place-items: center; font-size: 22px; color: #fff; background: linear-gradient(135deg, var(--info), #0042c4); }
.l2v2 .l2v2-page-addfunds .af-pay-name { font-size: 13px; font-weight: 700; color: var(--ink); }
.l2v2 .l2v2-page-addfunds .af-pay-bonus { font-size: 10px; color: var(--success); font-weight: 600; background: rgba(16, 185, 129, .1); padding: 2px 8px; border-radius: 999px; }

.l2v2 .l2v2-page-addfunds .payment-amount-input,
.l2v2 .l2v2-page-addfunds .af-amount-force-visible input {
    background: var(--side2); border: 1.5px solid var(--line); border-radius: var(--r-lg);
    padding: 16px 20px; font-family: var(--font-en); font-weight: 700; font-size: 22px;
    color: var(--ink); width: 100%; outline: 0; transition: .14s;
}
.l2v2 .l2v2-page-addfunds .payment-amount-input:focus { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(255, 193, 7, .15); }

.l2v2 .l2v2-page-addfunds .bonus-result-minimal,
.l2v2 .l2v2-page-addfunds .bonus-summary {
    background: linear-gradient(135deg, rgba(255, 193, 7, .1), rgba(255, 193, 7, .04));
    border: 1.5px dashed rgba(255, 193, 7, .4); border-radius: var(--r-lg);
    padding: 18px 20px; color: var(--ink);
}
.l2v2 .l2v2-page-addfunds .bonus-total-value { font-family: var(--font-en); font-weight: 800; font-size: 24px; color: var(--ink); letter-spacing: -0.02em; }
.l2v2 .l2v2-page-addfunds .bonus-breakdown-text,
.l2v2 .l2v2-page-addfunds .bonus-note { font-size: 11.5px; color: var(--inkDim); margin-top: 6px; }

.l2v2 .l2v2-page-addfunds .af-terms-agree {
    display: flex; gap: 12px; align-items: flex-start;
    padding: 14px; background: var(--side2); border: 1px solid var(--line);
    border-radius: var(--r-lg);
}
.l2v2 .l2v2-page-addfunds .af-terms-label { font-size: 12.5px; line-height: 1.55; color: var(--ink2); }
.l2v2 .l2v2-page-addfunds .af-terms-warn { background: rgba(229, 72, 72, .1); border: 1px solid rgba(229, 72, 72, .3); color: var(--danger); padding: 10px 14px; border-radius: 10px; font-size: 12.5px; }

/* ========================================================================== */
/* ----- Orders / Drip / Subs (shared op-* + orders-nav structure) --------- */
/* ========================================================================== */
.l2v2 .l2v2-content .orders-nav-wrapper { padding: 0; margin-bottom: 16px; }
.l2v2 .l2v2-content .orders-nav {
    background: var(--side); border: 1px solid var(--line);
    border-radius: var(--r-xl); padding: 14px 18px;
    display: flex; gap: 10px; flex-wrap: wrap; align-items: center;
}
.l2v2 .l2v2-content .orders-nav-link {
    padding: 8px 16px; border-radius: var(--r-md);
    color: var(--ink2); font-size: 13px; font-weight: 600; cursor: pointer;
    transition: .14s; text-decoration: none; border: 1px solid transparent;
}
.l2v2 .l2v2-content .orders-nav-link:hover { background: var(--side2); color: var(--ink); border-color: var(--line); }
.l2v2 .l2v2-content .orders-nav-link.active { background: var(--brand); color: var(--brandText); box-shadow: var(--shadow-sm); }
.l2v2 .l2v2-content .op-search-box { flex: 1; min-width: 220px; }
.l2v2 .l2v2-content .op-search-box input { width: 100%; }

.l2v2 .l2v2-content .op-orders-wrapper { display: flex; flex-direction: column; gap: 14px; }
.l2v2 .l2v2-content .op-card {
    background: var(--side); border: 1px solid var(--line);
    border-radius: var(--r-xl); overflow: hidden;
    transition: border-color .14s, transform .14s, box-shadow .14s;
}
.l2v2 .l2v2-content .op-card:hover { border-color: var(--line2); transform: translateY(-2px); box-shadow: var(--shadow-md); }
.l2v2 .l2v2-content .op-card--top { padding: 16px 20px; border-bottom: 1px solid var(--line); display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.l2v2 .l2v2-content .op-service-title { font-size: 14px; font-weight: 700; color: var(--ink); }
.l2v2 .l2v2-content .op-date { font-size: 12px; color: var(--inkDim); }
.l2v2 .l2v2-content .op-order-link { color: var(--brand); font-family: var(--font-mono); font-size: 12px; }
.l2v2 .l2v2-content .op-card--bottom { padding: 14px 20px; display: flex; flex-wrap: wrap; gap: 18px; align-items: center; }

.l2v2 .l2v2-content .op-stats,
.l2v2 .l2v2-content .op-stats-sm {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 4px 12px; border-radius: 999px;
    font-size: 12px; font-weight: 700;
}
.l2v2 .l2v2-content .op-stats.primary,    .l2v2 .l2v2-content .op-stats-sm.primary    { background: rgba(40, 241, 170, .12); color: var(--success); }
.l2v2 .l2v2-content .op-stats.secondary,  .l2v2 .l2v2-content .op-stats-sm.secondary  { background: rgba(42, 98, 255, .12); color: var(--info); }
.l2v2 .l2v2-content .op-stats.info,       .l2v2 .l2v2-content .op-stats-sm.info       { background: rgba(255, 193, 7, .15); color: var(--warn); }
.l2v2 .l2v2-content .op-stats.warning,    .l2v2 .l2v2-content .op-stats-sm.warning    { background: rgba(255, 193, 7, .15); color: var(--warn); }
.l2v2 .l2v2-content .op-stats.danger,     .l2v2 .l2v2-content .op-stats-sm.danger     { background: rgba(229, 72, 72, .12); color: var(--danger); }
.l2v2 .l2v2-content .op-stats-btn { background: var(--side2); border: 1px solid var(--line); color: var(--ink); padding: 8px 14px; border-radius: var(--r-md); font-size: 12px; font-weight: 700; cursor: pointer; transition: .14s; }
.l2v2 .l2v2-content .op-stats-btn:hover { background: var(--brand); color: var(--brandText); border-color: var(--brand); }
.l2v2 .l2v2-content .op-stats-btn.danger-btn:hover { background: var(--danger); color: #fff; border-color: var(--danger); }
.l2v2 .l2v2-content .cs-btn { background: var(--info); color: #fff; border-color: var(--info); }
.l2v2 .l2v2-content .cs-btn:hover { background: #1f5dcf; }

.l2v2 .l2v2-content .op-item { display: flex; flex-direction: column; gap: 2px; min-width: 120px; }
.l2v2 .l2v2-content .op-item .label,
.l2v2 .l2v2-content .op-item .ttl { font-size: 11px; color: var(--inkDim); font-weight: 600; }
.l2v2 .l2v2-content .op-item .value,
.l2v2 .l2v2-content .op-item .val { font-family: var(--font-en); font-weight: 700; font-size: 14px; color: var(--ink); }

.l2v2 .l2v2-content .subcard-stats-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 14px; padding: 16px 20px; background: var(--side2); border-top: 1px solid var(--line);
}
.l2v2 .l2v2-content .subcard-stat-label { font-size: 11px; color: var(--inkDim); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.l2v2 .l2v2-content .subcard-stat-value { font-family: var(--font-en); font-weight: 700; font-size: 16px; color: var(--ink); margin-top: 2px; }
.l2v2 .l2v2-content .subcard-actions { display: flex; gap: 8px; padding: 14px 20px; flex-wrap: wrap; }

/* ========================================================================== */
/* ----- Services page ------------------------------------------------------ */
/* ========================================================================== */
.l2v2 .l2v2-page-services .services-head-row {
    background: var(--side); border: 1px solid var(--line); border-radius: var(--r-lg);
    padding: 12px 18px; display: flex; gap: 16px; align-items: center;
    font-size: 12px; font-weight: 700; color: var(--inkDim); text-transform: uppercase;
}
.l2v2 .l2v2-page-services .services-wrapper { display: flex; flex-direction: column; gap: 14px; }
.l2v2 .l2v2-page-services .si-wrapper {
    background: var(--side); border: 1px solid var(--line); border-radius: var(--r-xl);
    overflow: hidden;
}
.l2v2 .l2v2-page-services .si-header {
    background: linear-gradient(95deg, #ffc107 0%, #ffce3a 60%, #ffc107 100%);
    color: #0c151b; padding: 14px 22px;
    display: flex; align-items: center; gap: 12px; font-weight: 800; font-size: 16px;
    position: relative; overflow: hidden;
}
.l2v2 .l2v2-page-services .si-header::before {
    content: ''; position: absolute; right: -30px; top: -40px;
    width: 160px; height: 160px; border-radius: 50%;
    background: rgba(255, 255, 255, .18); pointer-events: none;
}
.l2v2 .l2v2-page-services .category-icon-img,
.l2v2 .l2v2-page-services .si-header .category-card { z-index: 1; }
.l2v2 .l2v2-page-services .service-item {
    padding: 12px 22px; border-top: 1px solid var(--line); transition: background .14s;
}
.l2v2 .l2v2-page-services .service-item:hover { background: var(--side2); }
.l2v2 .l2v2-page-services .s-row { display: grid; grid-template-columns: 40px 60px 1fr 80px 80px 80px 90px 60px; gap: 12px; align-items: center; font-size: 13px; color: var(--ink); }
@media (max-width: 992px) { .l2v2 .l2v2-page-services .s-row { grid-template-columns: 1fr 1fr; gap: 8px; } }
.l2v2 .l2v2-page-services .s-col-id { font-family: var(--font-mono); color: var(--inkDim); font-weight: 700; }
.l2v2 .l2v2-page-services .s-title { font-weight: 600; }
.l2v2 .l2v2-page-services .s-col-c { font-family: var(--font-en); font-weight: 700; }
.l2v2 .l2v2-page-services .s-col-btn .btn { padding: 7px 14px; border-radius: var(--r-md); font-size: 12px; font-weight: 700; }
.l2v2 .l2v2-page-services .favorite-active { color: var(--brand); }
.l2v2 .l2v2-page-services .nothing-found { padding: 48px; text-align: center; color: var(--inkDim); }

/* ========================================================================== */
/* ----- Affiliates page ---------------------------------------------------- */
/* ========================================================================== */
.l2v2 .l2v2-page-affiliates .aff-fee-section,
.l2v2 .l2v2-page-affiliates .modern-card {
    background: var(--side); border: 1px solid var(--line);
    border-radius: var(--r-xl); padding: 24px; margin-bottom: 18px;
}
.l2v2 .l2v2-page-affiliates .aff-tier-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; }
.l2v2 .l2v2-page-affiliates .aff-tier-card {
    background: var(--side2); border: 1.5px solid var(--line);
    border-radius: var(--r-lg); padding: 18px; text-align: center;
    transition: .18s; position: relative;
}
.l2v2 .l2v2-page-affiliates .aff-tier-card:hover { transform: translateY(-2px); border-color: var(--brand); }
.l2v2 .l2v2-page-affiliates .aff-tier-active-new,
.l2v2 .l2v2-page-affiliates .aff-tier-active-gold,
.l2v2 .l2v2-page-affiliates .aff-tier-active-platinum,
.l2v2 .l2v2-page-affiliates .aff-tier-active-vip { border-color: var(--brand); background: rgba(255, 193, 7, .08); }
.l2v2 .l2v2-page-affiliates .aff-tier-name { font-weight: 800; font-size: 14px; color: var(--ink); }
.l2v2 .l2v2-page-affiliates .aff-tier-rate { font-family: var(--font-en); font-weight: 800; font-size: 22px; color: var(--brand); margin-top: 6px; }
.l2v2 .l2v2-page-affiliates .aff-tier-rate-free { color: var(--success); }
.l2v2 .l2v2-page-affiliates .aff-tier-sublabel { font-size: 11px; color: var(--inkDim); margin-top: 4px; }
.l2v2 .l2v2-page-affiliates .referral-section { background: linear-gradient(135deg, var(--n-900) 0%, var(--n-700) 50%, var(--n-900) 100%); color: #fff; border-color: var(--n-700); position: relative; overflow: hidden; }
.l2v2 .l2v2-page-affiliates .referral-section::before { content: ''; position: absolute; right: -50px; top: -50px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 193, 7, .25), transparent 60%); pointer-events: none; }
.l2v2 .l2v2-page-affiliates .referral-section .section-title { color: #fff; font-weight: 800; }
.l2v2 .l2v2-page-affiliates .link-input { background: rgba(255, 255, 255, .06); border: 1.5px dashed rgba(255, 255, 255, .18); color: #fff; padding: 12px 16px; border-radius: var(--r-md); font-family: var(--font-mono); }
.l2v2 .l2v2-page-affiliates .copy-btn { background: var(--brand); color: var(--brandText); padding: 10px 16px; border-radius: var(--r-md); font-weight: 700; font-size: 12px; border: 0; }
.l2v2 .l2v2-page-affiliates .aft-box {
    background: var(--side); border: 1px solid var(--line);
    border-radius: var(--r-lg); padding: 18px;
}
.l2v2 .l2v2-page-affiliates .custom-affiliate-table { width: 100%; border-collapse: collapse; }
.l2v2 .l2v2-page-affiliates .custom-affiliate-table th,
.l2v2 .l2v2-page-affiliates .custom-affiliate-table td { padding: 14px 18px; text-align: left; border-bottom: 1px solid var(--line); }
.l2v2 .l2v2-page-affiliates .custom-affiliate-table th { font-size: 11px; font-weight: 800; color: var(--inkDim); text-transform: uppercase; letter-spacing: .08em; }
.l2v2 .l2v2-page-affiliates .custom-affiliate-table td { font-size: 13px; color: var(--ink); }
.l2v2 .l2v2-page-affiliates .badge-approved { background: rgba(40, 241, 170, .12); color: var(--success); padding: 4px 12px; border-radius: 999px; font-size: 11px; font-weight: 700; }
.l2v2 .l2v2-page-affiliates .badge-pending  { background: rgba(255, 193, 7, .15); color: var(--warn); padding: 4px 12px; border-radius: 999px; font-size: 11px; font-weight: 700; }
.l2v2 .l2v2-page-affiliates .badge-rejected { background: rgba(229, 72, 72, .12); color: var(--danger); padding: 4px 12px; border-radius: 999px; font-size: 11px; font-weight: 700; }

/* Withdrawal modals */
.l2v2 .l2v2-page-affiliates .aff-modal-content { background: var(--side); border: 1px solid var(--line); border-radius: var(--r-xl); color: var(--ink); }
.l2v2 .l2v2-page-affiliates .aff-modal-header { padding: 18px 22px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; }
.l2v2 .l2v2-page-affiliates .aff-modal-title { color: var(--brand); font-weight: 800; font-size: 16px; }
.l2v2 .l2v2-page-affiliates .aff-modal-body { padding: 22px; }

/* ========================================================================== */
/* ----- Tickets page ------------------------------------------------------- */
/* ========================================================================== */
.l2v2 .l2v2-page-tickets .sc-sup-history {
    display: flex; flex-direction: column; gap: 10px;
    padding: 16px 0;
}
.l2v2 .l2v2-page-tickets .sc-sup-item {
    background: var(--side2); border: 1px solid var(--line);
    border-radius: var(--r-lg); padding: 14px 18px;
    display: flex; align-items: center; gap: 14px; cursor: pointer; transition: .14s;
}
.l2v2 .l2v2-page-tickets .sc-sup-item:hover { border-color: var(--brand); }
.l2v2 .l2v2-page-tickets .ticket-textarea { background: var(--side2); border: 1px solid var(--line); color: var(--ink); border-radius: var(--r-md); padding: 12px; font-family: inherit; min-height: 120px; }
.l2v2 .l2v2-page-tickets .upload-button { background: var(--side2); border: 1.5px dashed var(--line2); padding: 14px 18px; border-radius: var(--r-md); color: var(--ink2); cursor: pointer; }
.l2v2 .l2v2-page-tickets .upload-button:hover { border-color: var(--brand); }

/* ========================================================================== */
/* ----- Sign Up page ------------------------------------------------------- */
/* ========================================================================== */
.l2v2-page-signup.lk-land { background: #ffc107; min-height: 100vh; padding: 40px 0; }
.l2v2-page-signup .register-page-padded { padding: 40px 0; }
.l2v2-page-signup .login-text { color: #0c151b; font-size: 14px; margin-bottom: 24px; }
.l2v2-page-signup .col-xl-5.register-left {
    background: linear-gradient(135deg, #0c151b, #1a2532);
    border-radius: var(--r-2xl); padding: 60px;
    color: #fff; min-height: 480px;
    display: flex !important; flex-direction: column; justify-content: center;
    box-shadow: 0 28px 60px rgba(0, 0, 0, .25);
    position: relative; overflow: hidden;
}
.l2v2-page-signup .col-xl-5.register-left::before {
    content: 'LIKESTER'; position: absolute;
    bottom: 30px; left: 60px;
    font-family: var(--font-en); font-weight: 900;
    font-size: 64px; color: rgba(255, 193, 7, .12);
    letter-spacing: -0.02em;
}
.l2v2-page-signup .col-xl-5.py-5 {
    background: #fff; border-radius: var(--r-2xl); padding: 40px !important;
    box-shadow: 0 28px 60px rgba(0, 0, 0, .15);
}
.l2v2-page-signup .login-label { font-size: 12.5px; font-weight: 600; color: #0c151b; display: block; margin-bottom: 6px; }
.l2v2-page-signup .login-control { position: relative; }
.l2v2-page-signup .login-control .icon { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: #6b7280; font-size: 16px; pointer-events: none; }
.l2v2-page-signup .login-control input { width: 100%; padding: 14px 16px 14px 42px; border-radius: var(--r-lg); border: 1.5px solid #e5e7eb; background: #f9fafb; font-size: 13.5px; color: #0c151b; outline: 0; transition: .14s; }
.l2v2-page-signup .login-control input:focus { border-color: #ffc107; background: #fff; box-shadow: 0 0 0 3px rgba(255, 193, 7, .2); }
.l2v2-page-signup .checkbox label { font-size: 12.5px; color: #0c151b; }
.l2v2-page-signup .checkbox a { color: #d97706; font-weight: 600; }
.l2v2-page-signup .btn-primary.btn-hero-dark { background: #ffc107; color: #0c151b; padding: 16px; border-radius: var(--r-lg); font-weight: 800; font-size: 15px; border: 0; box-shadow: 0 8px 20px rgba(255, 193, 7, .4); width: 100%; }
.l2v2-page-signup .btn-primary.btn-hero-dark:hover { background: #ffce3a; transform: translateY(-2px); color: #0c151b; }

/* ========================================================================== */
/* ----- Blog page ---------------------------------------------------------- */
/* ========================================================================== */
.l2v2-page-blog.lk-land { background: var(--bg, #ffc107); min-height: 100vh; }
.l2v2-page-blog .blog-header { padding: 60px 0; }
.l2v2-page-blog .blog-main-content { background: var(--side, #fff); border-radius: var(--r-2xl); padding: 40px; box-shadow: var(--shadow-md); color: var(--ink); }
.l2v2-page-blog .blog-posts-section { padding: 40px 0 80px; }
.l2v2-page-blog .blog-post-card {
    background: var(--side, #fff); border: 1px solid var(--line, #e9ecef);
    border-radius: var(--r-xl); overflow: hidden; transition: .18s;
    margin-bottom: 24px;
}
.l2v2-page-blog .blog-post-card:hover { transform: translateY(-3px); border-color: var(--brand, #ffc107); box-shadow: var(--shadow-lg); }
.l2v2-page-blog .blog-post-card .post-thumbnail img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.l2v2-page-blog .blog-post-card .post-content { padding: 20px 22px 24px; }
.l2v2-page-blog .blog-post-card h3 { margin: 0 0 8px; font-size: 16px; font-weight: 800; color: var(--ink, #0c151b); }
.l2v2-page-blog .blog-post-card .post-excerpt { font-size: 13px; color: var(--inkDim, #6b7280); line-height: 1.55; margin-bottom: 12px; }
.l2v2-page-blog .blog-read-more { background: var(--brand, #ffc107); color: var(--brandText, #0c151b); padding: 10px 18px; border-radius: var(--r-md); font-weight: 700; font-size: 12px; border: 0; }
.l2v2-page-blog .blog-pagination { margin-top: 32px; }
.l2v2-page-blog .blog-pagination .pagination li a { display: inline-grid; place-items: center; min-width: 36px; height: 36px; padding: 0 10px; border-radius: var(--r-md); background: var(--side2, #f5f6f8); border: 1px solid var(--line, #e9ecef); color: var(--ink, #0c151b); font-weight: 600; }
.l2v2-page-blog .blog-pagination .pagination li.active a { background: var(--brand, #ffc107); color: var(--brandText, #0c151b); border-color: var(--brand, #ffc107); }

/* ========================================================================== */
/* ----- Accessibility & Polish (focus-visible, motion, reduced-motion) ----- */
/* ========================================================================== */

/* Keyboard focus rings for new components — visible only on keyboard nav. */
.l2v2 .l2v2-tb-icon:focus-visible,
.l2v2 .l2v2-prof:focus-visible,
.l2v2 .l2v2-mode button:focus-visible,
.l2v2 .l2v2-side .col-btn:focus-visible,
.l2v2 .l2v2-side .sb-i:focus-visible,
.l2v2 .l2v2-side .sb-user:focus-visible,
.l2v2 .l2v2-side .sb-bal:focus-visible,
.l2v2 .l2v2-side .sb-srch input:focus-visible,
.l2v2 .l2v2-content .form-control:focus-visible,
.l2v2 .l2v2-content .btn-primary:focus-visible,
.lk-land .lk-btn-dark:focus-visible,
.lk-land .lk-btn-out:focus-visible,
.lk-land .lk-login button:focus-visible,
.lk-land .lk-login .lk-field input:focus-visible,
.lk-land .lk-stats .lk-stats-cta:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

/* Honor user-prefers-reduced-motion (suppress hex float + transforms) */
@media (prefers-reduced-motion: reduce) {
    .lk-land .lk-hex { animation: none; }
    .l2v2 .l2v2-content .card.card-border.card-no-box:hover { transform: none; }
    .l2v2 .l2v2-side .sb-bal:hover { transform: none; }
    .lk-land .lk-btn-dark:hover,
    .lk-land .lk-login .lk-submit:hover,
    .lk-land .lk-stats .lk-stats-cta:hover { transform: none; }
    .lk-land .lk-news-card:hover,
    .lk-land .lk-feat:hover { transform: none; }
}

/* ========================================================================== */
/* ----- Mobile responsive polish (≤ 991.98px tablet, ≤ 767px phone) -------- */
/* ========================================================================== */

/* Hide sidebar collapse button on mobile — sidebar uses slide-in pattern there */
@media (max-width: 991.98px) {
    .l2v2 .l2v2-side .sb-top .col-btn { display: none; }
}

/* Topbar fits in narrow viewports: reduce gaps + hide non-essential text */
@media (max-width: 767px) {
    .l2v2 .appHeader.l2v2-topbar {
        gap: 6px;
        padding: 10px 12px 10px 60px; /* leave space for fixed .menu-btn at left:14px */
    }
    .l2v2 .l2v2-topbar .pgti h2.apPgTi { font-size: 16px; line-height: 1.15; }
    .l2v2 .l2v2-topbar .pgti p.apPgTx { display: none; }
    .l2v2 .l2v2-topbar .right { gap: 4px; }
    .l2v2 .l2v2-tb-icon { width: 34px; height: 34px; font-size: 14px; }
    .l2v2 .l2v2-mode { padding: 2px; }
    .l2v2 .l2v2-mode button { width: 26px; height: 26px; font-size: 13px; }
    .l2v2 .l2v2-prof { padding: 3px 10px 3px 3px; }
    .l2v2 .l2v2-prof .av { width: 26px; height: 26px; font-size: 12px; }
    .l2v2 .l2v2-prof .nm { display: none; }
    /* Hide currency / lang dropdowns on phone — accessible from /account or footer */
    .l2v2 .l2v2-topbar .right > .btn-group:has(#currencies-list),
    .l2v2 .l2v2-topbar .right > .btn-group:has(#languages-list) { display: none; }
}

/* Add Funds payment grid: 4 cols → 2 cols on phone */
@media (max-width: 767px) {
    .l2v2 .l2v2-page-addfunds .af-pay-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .l2v2 .l2v2-page-addfunds .af-pay-card { padding: 14px 10px; }
    .l2v2 .l2v2-page-addfunds .af-pay-icon { width: 40px; height: 40px; font-size: 18px; }
    .l2v2 .l2v2-page-addfunds .af-pay-name { font-size: 12px; }
}

/* Affiliate tier grid: 4 cols → 2 cols on phone */
@media (max-width: 767px) {
    .l2v2 .l2v2-page-affiliates .aff-tier-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .l2v2 .l2v2-page-affiliates .aff-tier-card { padding: 14px 10px; }
    .l2v2 .l2v2-page-affiliates .aff-tier-rate { font-size: 18px; }
    .l2v2 .l2v2-page-affiliates .referral-section { padding: 18px; }
    .l2v2 .l2v2-page-affiliates .pg-aff-hero h2,
    .l2v2 .l2v2-page-affiliates .referral-section h2 { font-size: 22px; }
    /* Withdrawal table → horizontal scroll */
    .l2v2 .l2v2-page-affiliates .table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .l2v2 .l2v2-page-affiliates .custom-affiliate-table { min-width: 600px; }
}

/* Orders / drip / subs tables (.op-card) — keep card-style on mobile, no overflow */
@media (max-width: 767px) {
    .l2v2 .l2v2-content .orders-nav { padding: 10px; gap: 6px; }
    .l2v2 .l2v2-content .orders-nav-link { padding: 6px 10px; font-size: 12px; }
    .l2v2 .l2v2-content .op-search-box { width: 100%; min-width: 0; flex: 1 1 100%; order: 99; }
    .l2v2 .l2v2-content .op-card--top,
    .l2v2 .l2v2-content .op-card--bottom { padding: 12px 14px; gap: 8px; }
    .l2v2 .l2v2-content .op-item { min-width: 110px; }
    .l2v2 .l2v2-content .subcard-stats-grid { padding: 12px 14px; gap: 10px; }
}

/* Services page: collapse "with-side" 2-col → 1-col on tablet+phone */
@media (max-width: 991.98px) {
    .l2v2 .l2v2-page-services .pg-with-side { grid-template-columns: 1fr; }
}

/* Sidebar drawer mode on mobile — add backdrop + ensure scroll */
@media (max-width: 991.98px) {
    body#appDashboard.l2v2 .appSidebar.l2v2-side {
        z-index: 1050; /* above mobile bottom navbar (10000) — actually behind it; adjust */
        max-height: 100vh; overflow-y: auto;
    }
    /* When sidebar is open, dim the content behind */
    .appAuth.sidebar-active::before {
        content: ''; position: fixed; inset: 0;
        background: rgba(0, 0, 0, 0.4); z-index: 1030;
        cursor: pointer;
    }
}

/* Sign in landing — ensure login card doesn't push hero off-screen on tablet */
@media (max-width: 992px) {
    .lk-land .lk-hero { padding: 40px 20px 80px; }
    .lk-land .lk-hero-inner { gap: 28px; }
    .lk-land .lk-login { padding: 28px 24px; max-width: 480px; margin: 0 auto; }
}

/* Sign up split layout — single column on mobile, hide dark left column */
@media (max-width: 1199.98px) {
    .l2v2-page-signup .col-xl-5.register-left { display: none !important; }
    .l2v2-page-signup .col-xl-5.py-5 { padding: 32px !important; max-width: 540px; margin: 0 auto; }
}

/* Smallest phones (≤ 360px): tighten everything */
@media (max-width: 360px) {
    .lk-land .lk-hero-h1 { font-size: 28px; }
    .lk-land .lk-stats { padding: 18px 14px; margin: -32px 8px 0; }
    .lk-land .lk-stats .lk-stats-item .v { font-size: 26px; }
    .l2v2 .appHeader.l2v2-topbar { padding-left: 56px; padding-right: 8px; }
    .l2v2 .l2v2-tb-icon { width: 32px; height: 32px; }
}

/* Touch target minimum — ensure all interactive elements ≥ 44×44px on phone */
@media (hover: none) and (pointer: coarse) {
    .l2v2 .l2v2-side .sb-i { min-height: 44px; }
    .l2v2 .l2v2-tb-icon { min-width: 38px; min-height: 38px; } /* relaxed but still tappable */
    .l2v2 .l2v2-content .orders-nav-link { min-height: 36px; display: inline-flex; align-items: center; }
}

/* Disable hover effects on touch devices (prevents sticky :hover state on tap) */
@media (hover: none) {
    .l2v2 .l2v2-content .card.card-border.card-no-box:hover { transform: none; box-shadow: var(--shadow-sm); }
    .l2v2 .l2v2-content .op-card:hover { transform: none; box-shadow: none; }
    .l2v2 .l2v2-page-affiliates .aff-tier-card:hover { transform: none; }
    .lk-land .lk-feat:hover, .lk-land .lk-pcard:hover, .lk-land .lk-news-card:hover { transform: none; }
}

/* ========================================================================== */
/* ----- Layout offset fix (2026-05-07) -----
 * In layout.twig, `{{ content }}` is rendered OUTSIDE `.appAuth`, so:
 *   1. The legacy `.appAuth { padding-left: 280px; padding-top: 90px }` doesn't
 *      push the content away from the fixed sidebar/topbar (we re-add via .appContent)
 *   2. CRITICAL: legacy `.appAuth { min-height: 100vh }` pushes content BELOW
 *      the fold because .appAuth takes full viewport before content renders.
 *      We collapse .appAuth to height:0 since its only children (sidebar, header)
 *      are position:fixed and don't need a sized container.
 * ========================================================================== */

/* Collapse .appAuth completely so the OUTSIDE-the-shell `{{ content }}` renders
 * at the top. Using display:contents — the .appAuth element disappears from
 * layout flow entirely. Its fixed-positioned children (sidebar, header) keep
 * their fixed positioning. (display:contents supported in all modern browsers.)
 * Belt-and-suspenders: also nuke min-height/padding/background in case
 * display:contents isn't honored. */
body#appDashboard .appAuth,
body#appDashboard.l2v2 .appAuth.l2v2-shell {
    display: contents !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    background: transparent !important;
}
/* Legacy `.appAuth .container { max-width: 1400px }` caps content on wide screens
 * → empty space on sides. v4 design wants content to use full available width
 * (minus sidebar offset). Override container max-width inside .l2v2-content. */
body#appDashboard.l2v2 .appContent .container,
body#appDashboard.l2v2 .l2v2-content .container,
body#appDashboard.l2v2 .l2v2-content > .container,
body#appDashboard.l2v2 .l2v2-content section > .container {
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
/* Tighten content padding on very wide screens so we use space well */
@media (min-width: 1600px) {
    body#appDashboard.l2v2 .appContent {
        padding-left: 310px;
        padding-right: 32px;
    }
}
@media (min-width: 1920px) {
    body#appDashboard.l2v2 .appContent {
        padding-right: 40px;
    }
}
/* Body gets the background instead (since .appAuth is now display:contents) */
body#appDashboard {
    background: var(--bg);
    min-height: 100vh;
}
html.dark  body#appDashboard { background: #0C141B; }
html.light body#appDashboard { background: #f7f8f9; }

@media (min-width: 992px) {
    body#appDashboard.l2v2 .appContent {
        padding-left: 310px;        /* 280px sidebar + 30px gutter */
        padding-right: 30px;
        padding-top: 110px;          /* 90px topbar + 20px gutter */
        padding-bottom: 40px;
        box-sizing: border-box;
    }
    body#appDashboard.l2v2.l2v2-sb-collapsed .appContent {
        padding-left: 108px;        /* 78px collapsed sidebar + 30px gutter */
    }
    /* Topbar offset shifted on collapse (was already added; keep as override) */
    body#appDashboard.l2v2 .appHeader.l2v2-topbar {
        position: fixed;
        left: 280px;
        right: 0;
        top: 0;
        width: auto;
        z-index: 1001;          /* below sidebar (1040) so collapse btn click pierces */
    }
    body#appDashboard.l2v2.l2v2-sb-collapsed .appHeader.l2v2-topbar {
        left: 78px;
    }
}

@media (max-width: 991.98px) {
    body#appDashboard.l2v2 .appContent {
        padding-left: 16px;
        padding-right: 16px;
        padding-top: 84px;          /* 74px mobile topbar + 10px */
        padding-bottom: 110px;       /* mobile bottom navbar height */
        box-sizing: border-box;
    }
    /* Sidebar slides in from left when .sidebar-active (legacy rule keeps transform) */
}

/* Ensure sidebar always wins position on desktop (belt-and-suspenders) */
@media (min-width: 992px) {
    body#appDashboard.l2v2 .appSidebar.l2v2-side {
        position: fixed;
        left: 0;
        top: 0;
        bottom: 0;
        width: 280px;
        z-index: 1040;
    }
}

/* Ensure topbar visible (legacy .appHeader had position:fixed; restore on all viewports) */
body#appDashboard.l2v2 .appHeader.l2v2-topbar {
    position: fixed !important;
    top: 0;
    right: 0;
    z-index: 1001;
    display: flex !important;        /* must override any legacy display rule */
}
@media (max-width: 991.98px) {
    body#appDashboard.l2v2 .appHeader.l2v2-topbar {
        left: 0 !important;
        height: 64px;
    }
}
@media (min-width: 992px) {
    body#appDashboard.l2v2 .appHeader.l2v2-topbar {
        left: 280px;
        height: 90px;
    }
}
body#appDashboard.l2v2 .l2v2-main { display: contents; } /* don't let wrapper affect layout */

/* ========================================================================== */
/* ----- Audit fixes (2026-05-07) — see Dead-CSS-Candidates.txt for context  - */
/* ========================================================================== */

/* (a) Icon CSS fallback — prevents layout shift if Remix/FA/BS Icons CDN fails. */
i[class^="ri-"], i[class*=" ri-"],
i[class^="fa-"], i[class*=" fa-"],
i[class^="bi-"], i[class*=" bi-"] {
    display: inline-block;
    line-height: 1;
    vertical-align: -0.125em;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
}

/* (b) Light-mode parity for legacy footer (was missing — agent #1 finding) */
html.light .footer { background: #f8f9fa; color: #0c151b; }
html.light .footer .site-name { color: #0c151b; }
html.light .footer .footer-title { color: #0c151b; }
html.light .footer .footer-menu a { color: #4a5160; }
html.light .footer .footer-menu a:hover { color: var(--brand); }
html.light .footer .contact-info p { color: #4a5160; }
html.light .footer .footer-description p { color: #4a5160; }
html.light .footer-bottom { border-top-color: #e5e7eb; }
html.light .footer-bt-info { color: #4a5160; }

/* (c) Light-mode parity for .home-section + .wcu/.hsl/.hsobs (legacy SEO body
 * — they were dark-only, breaks readability when user toggles light + we
 * already gave .lk-land .home-section a white card backdrop). */
html.light .home-section .wcu-content .wcu-conteiner .wcu-box {
    background: #f8f9fa; border-color: #e5e7eb;
}
html.light .home-section .wcu-content .wcu-conteiner .wcu-box .wcu-title { color: #0c151b; }
html.light .home-section .wcu-content .wcu-conteiner .wcu-box .wcu-text { color: #4a5160; }
html.light .home-section .hsobs .hsob { color: #4a5160; }
html.light .home-section .hsobs .hsob.active { color: #0c151b; }
html.light .home-section .hsl-title h2,
html.light .home-section .hsl-text,
html.light .home-section .hsli-title,
html.light .home-section .hsli-text { color: #0c151b; }

/* (d) Replace hard-coded #ffc107 with tokens in commonly-overridden v4 areas */
.l2v2 .l2v2-content .si-header,
.l2v2 .l2v2-content .badge-step { background-color: var(--brand); }
.l2v2 .l2v2-content .si-header { color: var(--brandText); }

/* (e) Contrast fix for .hsl-title-icon (was bg yellow + color white → contrast 1.4:1) */
.lk-land .hsl-title-icon,
.home-section .hsl-title-icon { background: var(--brand); color: var(--brandText); }

/* End of Audit fixes */

/* ========================================================================== */
/* ----- Dashboard polish (match prototype image 5 point-by-point) ---------- */
/* ========================================================================== */

/* Daily check-in pill bar */
.l2v2 .l2v2-page-dashboard .nwo-ci-banner-card,
.l2v2 .l2v2-content .ci-banner-card {
    background: var(--side); border: 1px solid var(--line); border-radius: 999px;
    padding: 10px 14px 10px 18px;
    display: flex; align-items: center; gap: 14px;
    margin-bottom: 16px;
}
.l2v2 .l2v2-content .nwo-ci-banner-pad,
.l2v2 .l2v2-content .nwo-ci-banner-row { display: flex; align-items: center; gap: 14px; flex: 1; }
.l2v2 .l2v2-content .nwo-ci-icon,
.l2v2 .l2v2-content .ci-banner-icon {
    width: 34px; height: 34px; border-radius: 50%;
    background: var(--side2); display: grid; place-items: center;
    color: var(--brand); font-size: 16px; flex-shrink: 0;
}
.l2v2 .l2v2-content .nwo-ci-banner-title,
.l2v2 .l2v2-content .ci-banner-title { font-size: 13px; font-weight: 600; color: var(--ink); }
/* 7-day dot progress */
.l2v2 .l2v2-content .nwo-ci-dots { flex: 1; display: flex; gap: 8px; justify-content: center; }
.l2v2 .l2v2-content .ci-day,
.l2v2 .l2v2-content .nwo-ci-dot {
    width: 10px; height: 10px; border-radius: 50%; background: var(--line2);
}
.l2v2 .l2v2-content .ci-day.checked,
.l2v2 .l2v2-content .nwo-ci-dot.done { background: var(--brand); }
.l2v2 .l2v2-content .ci-day.today,
.l2v2 .l2v2-content .nwo-ci-dot.today {
    background: var(--brand);
    box-shadow: 0 0 0 4px rgba(255, 193, 7, .25);
}
.l2v2 .l2v2-content .nwo-ci-banner-btn,
.l2v2 .l2v2-content .ci-banner-btn {
    background: var(--brand); color: var(--brandText);
    padding: 8px 18px; border-radius: 999px;
    font-size: 12px; font-weight: 700;
    border: 0; cursor: pointer;
    display: inline-flex; align-items: center; gap: 5px;
}

/* Platform tab pills */
.l2v2 .l2v2-content .platform-tabs,
.l2v2 .l2v2-content .nwo-platform-tabs {
    display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 16px;
}
.l2v2 .l2v2-content .platform-tab,
.l2v2 .l2v2-content .nwo-platform-tab {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 10px 18px; border-radius: 14px;
    background: var(--side); border: 1px solid var(--line);
    font-size: 13px; font-weight: 600; color: var(--ink2);
    cursor: pointer; transition: .14s;
    text-decoration: none;
}
.l2v2 .l2v2-content .platform-tab i,
.l2v2 .l2v2-content .nwo-platform-tab i { font-size: 16px; color: var(--inkDim); }
.l2v2 .l2v2-content .platform-tab:hover,
.l2v2 .l2v2-content .nwo-platform-tab:hover { border-color: var(--brand); color: var(--ink); }
.l2v2 .l2v2-content .platform-tab.active,
.l2v2 .l2v2-content .nwo-platform-tab.active {
    background: var(--brand); color: var(--brandText); border-color: var(--brand);
    box-shadow: 0 6px 16px rgba(255, 193, 7, .25);
}
.l2v2 .l2v2-content .platform-tab.active i,
.l2v2 .l2v2-content .nwo-platform-tab.active i { color: var(--brandText); }

/* Order form numbered fields (badge-step circle) — already styled but force size */
.l2v2 .l2v2-content .form-label .badge-step,
.l2v2 .l2v2-content label .badge-step {
    width: 22px; height: 22px; border-radius: 50%;
    background: var(--brand) !important; color: var(--brandText) !important;
    font-size: 11px; font-weight: 800; font-family: var(--font-en);
    display: inline-grid; place-items: center;
    margin-right: 6px;
}

/* Service detail items (.nwoDeIt) — 4-col grid + colored icons */
.l2v2 .l2v2-content .nwoDeIt {
    background: var(--side2); border: 1px solid var(--line);
    border-radius: var(--r-lg); padding: 12px 14px;
    display: flex; align-items: center; gap: 12px;
}
.l2v2 .l2v2-content .nwoDeIt .icon {
    width: 32px; height: 32px; border-radius: 50%;
    display: grid; place-items: center; color: #fff; font-size: 14px;
    flex-shrink: 0;
}
.l2v2 .l2v2-content .nwoDeIt .icon.primary-bg { background: var(--info); }
.l2v2 .l2v2-content .nwoDeIt .icon.pink-bg    { background: #ec4899; }
.l2v2 .l2v2-content .nwoDeIt .icon.danger-bg  { background: var(--ring-red); }
.l2v2 .l2v2-content .nwoDeIt .icon.success-bg { background: var(--success); }
.l2v2 .l2v2-content .nwoDeIt .icon.orange-bg  { background: #ff9800; }
.l2v2 .l2v2-content .nwoDeIt .icon.purple-bg  { background: var(--ring-purple); }
.l2v2 .l2v2-content .nwoDeIt .text { font-size: 13px; color: var(--ink); font-weight: 600; }

/* Order form tabs nwoNav — match design dark pill on yellow header */
.l2v2 .l2v2-content .card-header .nwoNav,
.l2v2 .l2v2-content .nwoNav {
    background: transparent; border: 0;
    padding: 3px; border-radius: 12px;
    display: inline-flex; gap: 2px; margin: 0;
    list-style: none;
}
.l2v2 .l2v2-content .card-header .nwoNav .nwoNavLink,
.l2v2 .l2v2-content .nwoNav .nwoNavLink {
    background: transparent; border: 0;
    padding: 7px 14px; border-radius: 9px;
    font-size: 12px; font-weight: 700;
    color: var(--inkDim);
    cursor: pointer; font-family: inherit;
    transition: .14s;
}
.l2v2 .l2v2-content .card-header .nwoNav .nwoNavLink:hover,
.l2v2 .l2v2-content .nwoNav .nwoNavLink:hover {
    color: var(--ink);
}
.l2v2 .l2v2-content .card-header .nwoNav .nwoNavLink.active,
.l2v2 .l2v2-content .nwoNav .nwoNavLink.active {
    background: transparent; color: var(--ink);
    box-shadow: inset 0 -2px 0 var(--brand);
}

/* Stat card top-right badges (.nwo-card-badge-btn--green / --gold) */
.l2v2 .l2v2-content .nwo-card-badge-wrap {
    position: absolute; top: 14px; right: 14px; z-index: 3;
}
.l2v2 .l2v2-content .nwo-card-badge-btn {
    padding: 3px 10px; border-radius: 999px;
    font-size: 10.5px; font-weight: 700;
    display: inline-flex; align-items: center; gap: 4px;
    border: 0; cursor: pointer;
}
.l2v2 .l2v2-content .nwo-card-badge-btn--green {
    background: rgba(40, 241, 170, .15); color: var(--success);
}
.l2v2 .l2v2-content .nwo-card-badge-btn--gold {
    background: rgba(255, 193, 7, .18); color: var(--warn);
}

/* "สิ่งน่ารู้" sidebar card accordion (.faq-ss-tabs .home-ss-tab) */
.l2v2 .l2v2-content .faq-ss-tabs .home-ss-tab .ss-tab-head .right-p i.fa-plus,
.l2v2 .l2v2-content .faq-ss-tabs .home-ss-tab .ss-tab-head .right-p i.fa-minus {
    width: 24px; height: 24px; border-radius: 50%;
    background: var(--side); display: inline-grid; place-items: center;
    font-size: 11px; color: var(--ink);
}
.l2v2 .l2v2-content .home-ss-tab.active .ss-tab-head .right-p i.fa-plus { display: none; }
.l2v2 .l2v2-content .home-ss-tab.active .ss-tab-head .right-p i.fa-minus { background: var(--brand); color: var(--brandText); }

/* End of Dashboard polish */
/* ========================================================================== */

/* ========================================================================== */
/* ----- Page-level layout (.pg / .pg-head / .pg-card / .pg-tbl) ----------- */
/* Used by rewritten orders.twig (and future drip/subs/affiliates rewrites). */
/* ========================================================================== */

.l2v2 .l2v2-content .pg { display: flex; flex-direction: column; gap: 18px; }

/* Page header (icon + title + actions) */
.l2v2 .l2v2-content .pg-head {
    display: flex; align-items: center; gap: 18px;
    padding: 22px 26px;
    background: var(--side); border: 1px solid var(--line);
    border-radius: 22px;
    position: relative; overflow: hidden;
}
.l2v2 .l2v2-content .pg-head::before {
    content: ''; position: absolute; right: -40px; top: -60px;
    width: 220px; height: 220px; border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 193, 7, .12), transparent 70%);
    pointer-events: none;
}
.l2v2 .l2v2-content .pg-head > * { position: relative; z-index: 1; }
.l2v2 .l2v2-content .pg-head .ic-big {
    width: 60px; height: 60px; border-radius: 50%;
    border: 2.5px solid #2A62FF;
    display: grid; place-items: center; font-size: 26px;
    flex-shrink: 0; background: var(--side);
}
.l2v2 .l2v2-content .pg-head .pg-head-body { flex: 1; min-width: 0; }
.l2v2 .l2v2-content .pg-head .pg-head-body h1 { margin: 0; font-size: 22px; font-weight: 800; color: var(--ink); letter-spacing: -0.01em; }
.l2v2 .l2v2-content .pg-head .pg-head-body p { margin: 4px 0 0; font-size: 13px; color: var(--inkDim); }
.l2v2 .l2v2-content .pg-head .right { margin-left: auto; display: flex; gap: 8px; }
.l2v2 .l2v2-content .pg-head .pg-btn,
.l2v2 .l2v2-content .pg-btn {
    background: var(--brand); color: var(--brandText);
    padding: 10px 18px; border-radius: 12px;
    font-weight: 700; font-size: 13px;
    border: 0; cursor: pointer;
    display: inline-flex; align-items: center; gap: 6px;
    text-decoration: none;
    box-shadow: 0 8px 16px rgba(255, 193, 7, .25);
    transition: .14s;
}
.l2v2 .l2v2-content .pg-btn:hover { background: #e8a800; transform: translateY(-1px); color: var(--brandText); }
.l2v2 .l2v2-content .pg-btn.outline {
    background: var(--side2); color: var(--ink); border: 1px solid var(--line); box-shadow: none;
}
.l2v2 .l2v2-content .pg-btn.outline:hover { background: var(--side); color: var(--brand); border-color: var(--brand); }

/* Page card (yellow header + body) */
.l2v2 .l2v2-content .pg-card {
    background: var(--side); border: 1px solid var(--line);
    border-radius: 22px; overflow: hidden;
}
.l2v2 .l2v2-content .pg-card .h {
    background: linear-gradient(95deg, #ffc107 0%, #ffce3a 60%, #ffc107 100%);
    padding: 16px 22px;
    display: flex; align-items: center; justify-content: space-between; gap: 14px;
    position: relative; overflow: hidden;
    color: #0c151b;
}
.l2v2 .l2v2-content .pg-card .h::before {
    content: ''; position: absolute; right: -30px; top: -40px;
    width: 160px; height: 160px; border-radius: 50%;
    background: rgba(255, 255, 255, .18); pointer-events: none;
}
.l2v2 .l2v2-content .pg-card .h > * { position: relative; z-index: 1; }
.l2v2 .l2v2-content .pg-card .h h3 { margin: 0; font-size: 16px; font-weight: 800; color: #0c151b; }
.l2v2 .l2v2-content .pg-card .h p { margin: 1px 0 0; font-size: 11.5px; color: rgba(0, 0, 0, .6); font-weight: 500; }
.l2v2 .l2v2-content .pg-card .h .h-right { display: flex; align-items: center; gap: 8px; }

/* Filter bar */
.l2v2 .l2v2-content .pg-filter {
    padding: 14px 22px; display: flex; gap: 10px; align-items: center; flex-wrap: wrap;
    border-bottom: 1px solid var(--line);
}
.l2v2 .l2v2-content .pg-filter .srch { position: relative; flex: 1; min-width: 200px; display: flex; }
.l2v2 .l2v2-content .pg-filter .srch i.ri-search-line { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--inkDim); }
.l2v2 .l2v2-content .pg-filter .srch input {
    width: 100%; padding: 10px 14px 10px 36px;
    background: var(--side2); border: 1px solid var(--line); border-radius: 11px;
    color: var(--ink); font-family: inherit; font-size: 13px; outline: none;
}
.l2v2 .l2v2-content .pg-filter .srch input:focus { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(255, 193, 7, .15); }
.l2v2 .l2v2-content .pg-filter select {
    padding: 10px 30px 10px 14px;
    background: var(--side2); border: 1px solid var(--line); border-radius: 11px;
    color: var(--ink); font-family: inherit; font-size: 13px; outline: none;
    appearance: none; cursor: pointer;
    background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='3'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 10px center;
}
.l2v2 .l2v2-content .pg-filter .pill-tabs {
    display: flex; gap: 4px;
    background: var(--side2); border: 1px solid var(--line);
    border-radius: 11px; padding: 3px;
    flex-wrap: wrap;
}
.l2v2 .l2v2-content .pg-filter .pill-tabs a,
.l2v2 .l2v2-content .pg-filter .pill-tabs button {
    background: transparent; border: 0;
    padding: 7px 14px; border-radius: 8px;
    font-size: 12px; font-weight: 700; color: var(--inkDim);
    cursor: pointer; font-family: inherit;
    text-decoration: none;
    transition: .14s;
}
.l2v2 .l2v2-content .pg-filter .pill-tabs a:hover,
.l2v2 .l2v2-content .pg-filter .pill-tabs button:hover { color: var(--ink); }
.l2v2 .l2v2-content .pg-filter .pill-tabs a.active,
.l2v2 .l2v2-content .pg-filter .pill-tabs button.active { background: var(--brand); color: var(--brandText); }

/* Table */
.l2v2 .l2v2-content .pg-tbl-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.l2v2 .l2v2-content .pg-tbl { width: 100%; border-collapse: collapse; min-width: 920px; }
.l2v2 .l2v2-content .pg-tbl thead th {
    font-size: 11px; font-weight: 700; color: var(--inkDim);
    text-transform: uppercase; letter-spacing: .08em;
    padding: 14px 22px; text-align: left;
    border-bottom: 1px solid var(--line);
    background: var(--side2);
}
.l2v2 .l2v2-content .pg-tbl tbody td {
    padding: 16px 22px; font-size: 13px; color: var(--ink);
    border-bottom: 1px solid var(--line); vertical-align: middle;
}
.l2v2 .l2v2-content .pg-tbl tbody tr:hover { background: var(--side2); }
.l2v2 .l2v2-content .pg-tbl tbody tr:last-child td { border-bottom: 0; }
.l2v2 .l2v2-content .pg-tbl .id { font-family: var(--font-en); font-weight: 700; color: var(--ink2); }
.l2v2 .l2v2-content .pg-tbl .pl { display: flex; align-items: center; gap: 8px; }
.l2v2 .l2v2-content .pg-tbl .pl .pic {
    width: 28px; height: 28px; border-radius: 8px;
    display: grid; place-items: center;
    color: #fff; font-size: 13px; flex-shrink: 0;
    background: linear-gradient(135deg, #ffc107, #ff9800);
}
.l2v2 .l2v2-content .pg-tbl .pl .srv-name {
    /* Allow wrap to 2 lines instead of single-line truncate (user feedback:
     * "เห็นข้อความไม่ครบ"). Service names like "(Exclusive) เพิ่มวิว..." need room. */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.4;
    font-size: 13px;
    color: var(--ink);
    flex: 1;
    min-width: 0;
}
.l2v2 .l2v2-content .pg-tbl tbody td:nth-child(2) { max-width: 360px; min-width: 220px; }
.l2v2 .l2v2-content .pg-tbl tbody td:nth-child(2) .pl { gap: 10px; align-items: flex-start; }
.l2v2 .l2v2-content .pg-tbl tbody td:nth-child(2) .pl .pic { margin-top: 2px; }
.l2v2 .l2v2-content .pg-tbl td.lk a {
    color: var(--inkDim); font-size: 12px; text-decoration: none;
    display: inline-flex; align-items: center; gap: 4px;
}
.l2v2 .l2v2-content .pg-tbl td.lk a:hover { color: var(--brand); }
.l2v2 .l2v2-content .pg-tbl .qty { font-family: var(--font-en); font-weight: 700; }
.l2v2 .l2v2-content .pg-tbl .pr { font-family: var(--font-en); font-weight: 700; color: var(--brand); }
.l2v2 .l2v2-content .pg-tbl .progress-cell { display: flex; align-items: center; gap: 8px; min-width: 110px; }
.l2v2 .l2v2-content .pg-tbl .progress-cell .pct {
    font-family: var(--font-en); font-weight: 700; font-size: 11px;
    color: var(--ink2); min-width: 30px;
}
.l2v2 .l2v2-content .pg-tbl .pg-progress {
    width: 80px; height: 6px; flex-shrink: 0;
    background: var(--line); border-radius: 99px; overflow: hidden;
}
.l2v2 .l2v2-content .pg-tbl .pg-progress .b {
    height: 100%; background: linear-gradient(90deg, #2A62FF, #28F1AA);
    border-radius: 99px; transition: width .3s ease;
}
.l2v2 .l2v2-content .pg-tbl .st {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 4px 10px; border-radius: 999px;
    font-size: 11px; font-weight: 700; white-space: nowrap;
}
.l2v2 .l2v2-content .pg-tbl .st.done { background: rgba(16, 185, 129, .12); color: #10b981; }
.l2v2 .l2v2-content .pg-tbl .st.run  { background: rgba(42, 98, 255, .12); color: #2A62FF; }
.l2v2 .l2v2-content .pg-tbl .st.pend { background: rgba(255, 193, 7, .18); color: #ca8a04; }
.l2v2 .l2v2-content .pg-tbl .st.fail { background: rgba(239, 68, 68, .12); color: #ef4444; }
.l2v2 .l2v2-content .pg-tbl .st.partial { background: rgba(167, 139, 250, .15); color: var(--ring-purple); }
.l2v2 .l2v2-content .pg-tbl .actions { display: flex; gap: 6px; align-items: center; flex-wrap: nowrap; }
.l2v2 .l2v2-content .pg-tbl .actions a,
.l2v2 .l2v2-content .pg-tbl .actions button {
    width: 32px; height: 32px; border-radius: 9px;
    background: var(--side2); border: 1px solid var(--line);
    color: var(--ink2);
    display: grid; place-items: center;
    cursor: pointer; font-size: 14px; transition: .14s;
    text-decoration: none; padding: 0;
}
.l2v2 .l2v2-content .pg-tbl .actions a:hover,
.l2v2 .l2v2-content .pg-tbl .actions button:hover { background: var(--brand); color: var(--brandText); border-color: var(--brand); }
.l2v2 .l2v2-content .pg-tbl .actions .disabled { opacity: 0.5; cursor: not-allowed; }

/* Pager */
.l2v2 .l2v2-content .pg-pager {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 22px; border-top: 1px solid var(--line);
    flex-wrap: wrap; gap: 10px;
}
.l2v2 .l2v2-content .pg-pager .info { font-size: 12px; color: var(--inkDim); }
.l2v2 .l2v2-content .pg-pager .pages { display: flex; gap: 4px; flex-wrap: wrap; }
.l2v2 .l2v2-content .pg-pager .pages a.page-link,
.l2v2 .l2v2-content .pg-pager .pages button {
    width: 32px; height: 32px; border-radius: 9px;
    background: var(--side2); border: 1px solid var(--line);
    color: var(--ink2);
    display: inline-grid; place-items: center;
    cursor: pointer; font-size: 13px; font-weight: 600; font-family: var(--font-en);
    text-decoration: none;
}
.l2v2 .l2v2-content .pg-pager .pages a.page-link:hover,
.l2v2 .l2v2-content .pg-pager .pages button:hover { background: var(--brand); color: var(--brandText); border-color: var(--brand); }
.l2v2 .l2v2-content .pg-pager .pages a.page-link.active,
.l2v2 .l2v2-content .pg-pager .pages button.active { background: var(--brand); color: var(--brandText); border-color: var(--brand); }

/* Mobile responsive — TABLE → proper CARDS on small screens.
 * Better than just right-aligning rows: ID prominent at top, service name
 * gets full width to wrap, link below, stats in 2-col grid, actions at bottom. */
@media (max-width: 768px) {
    .l2v2 .l2v2-content .pg-tbl-wrap { overflow-x: visible; }
    .l2v2 .l2v2-content .pg-tbl-wrap .pg-tbl { min-width: 0; }
    .l2v2 .l2v2-content .pg-tbl,
    .l2v2 .l2v2-content .pg-tbl tbody { display: block; width: 100%; }
    .l2v2 .l2v2-content .pg-tbl thead { display: none; }
    .l2v2 .l2v2-content .pg-tbl tbody tr {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0 14px;
        background: var(--side2);
        border: 1px solid var(--line);
        border-radius: var(--r-lg);
        padding: 14px 16px;
        margin: 0 0 12px;
    }
    .l2v2 .l2v2-content .pg-tbl tbody tr:hover { background: var(--side2); }
    .l2v2 .l2v2-content .pg-tbl tbody td {
        max-width: none !important;
        min-width: 0 !important;
        padding: 6px 0;
        border-bottom: 0;
        display: flex;
        flex-direction: column;
        gap: 3px;
        text-align: left;
    }
    /* Compact label above value (per stat cell) */
    .l2v2 .l2v2-content .pg-tbl tbody td::before {
        content: attr(data-label);
        font-size: 10px;
        font-weight: 700;
        color: var(--inkDim);
        text-transform: uppercase;
        letter-spacing: .04em;
    }
    /* Hide empty labels (e.g. actions cell has data-label="") */
    .l2v2 .l2v2-content .pg-tbl tbody td[data-label=""]::before { display: none; }

    /* === Layout overrides per cell === */
    /* (1) ID — full width, header style (top of card) */
    .l2v2 .l2v2-content .pg-tbl tbody td:nth-child(1) {
        grid-column: 1 / -1;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        padding: 4px 0 12px;
        border-bottom: 1px solid var(--line);
        margin-bottom: 6px;
        font-size: 14px; font-weight: 800;
        color: var(--ink);
    }
    .l2v2 .l2v2-content .pg-tbl tbody td:nth-child(1)::before {
        font-size: 10px;
    }
    /* (2) Service name — full width, big bold, multi-line */
    .l2v2 .l2v2-content .pg-tbl tbody td:nth-child(2) {
        grid-column: 1 / -1;
    }
    .l2v2 .l2v2-content .pg-tbl tbody td:nth-child(2) .pl { gap: 10px; align-items: center; }
    .l2v2 .l2v2-content .pg-tbl tbody td:nth-child(2) .pl .srv-name {
        -webkit-line-clamp: 3; line-clamp: 3;
        font-size: 13.5px; font-weight: 600;
        color: var(--ink);
        text-align: left;
    }
    /* (3) Link — full width */
    .l2v2 .l2v2-content .pg-tbl tbody td.lk {
        grid-column: 1 / -1;
    }
    .l2v2 .l2v2-content .pg-tbl tbody td.lk a {
        max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
        display: inline-flex; align-items: center; gap: 4px;
    }
    /* (4-7) Stats: 2-col grid, label above value */
    .l2v2 .l2v2-content .pg-tbl tbody td:nth-child(4),
    .l2v2 .l2v2-content .pg-tbl tbody td:nth-child(5),
    .l2v2 .l2v2-content .pg-tbl tbody td:nth-child(6),
    .l2v2 .l2v2-content .pg-tbl tbody td:nth-child(7) {
        font-size: 13px; font-weight: 600; color: var(--ink);
    }
    /* Progress on mobile — full width bar */
    .l2v2 .l2v2-content .pg-tbl tbody .progress-cell { justify-content: flex-start; min-width: 0; }
    .l2v2 .l2v2-content .pg-tbl tbody .pg-progress { width: 100%; max-width: 140px; }
    /* (last) Actions — full width row, centered */
    .l2v2 .l2v2-content .pg-tbl tbody td:last-child {
        grid-column: 1 / -1;
        flex-direction: row;
        padding-top: 10px;
        margin-top: 4px;
        border-top: 1px solid var(--line);
        align-items: center;
    }
    .l2v2 .l2v2-content .pg-tbl tbody td:last-child .actions { justify-content: flex-end; flex: 1; }
    /* For tickets-page tk-grid mobile (already in tickets section) and any 9-col table (drip) — adjust column 8 */
    .l2v2 .l2v2-content .pg-tbl tbody td:nth-child(8) { font-size: 13px; font-weight: 600; color: var(--ink); }
}
@media (max-width: 991.98px) and (min-width: 769px) {
    /* Tablet: keep table but compact */
    .l2v2 .l2v2-content .pg-tbl-wrap .pg-tbl { min-width: 720px; font-size: 12.5px; }
    .l2v2 .l2v2-content .pg-tbl thead th,
    .l2v2 .l2v2-content .pg-tbl tbody td { padding: 12px 14px; }
    .l2v2 .l2v2-content .pg-tbl .pl .srv-name { max-width: 180px; }
    .l2v2 .l2v2-content .pg-head { flex-wrap: wrap; padding: 18px 18px; }
    .l2v2 .l2v2-content .pg-head .right { width: 100%; }
}

/* End of pg-* layout */
/* ========================================================================== */

/* ========================================================================== */
/* ----- Tickets page (.tk-*) — split form + channels right column ---------- */
/* ========================================================================== */
.l2v2 .l2v2-page-tickets .tk-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 18px;
    align-items: start;
}
@media (max-width: 991.98px) {
    .l2v2 .l2v2-page-tickets .tk-grid { grid-template-columns: 1fr; }
}
.l2v2 .l2v2-page-tickets .tk-side { display: flex; flex-direction: column; gap: 18px; }
.l2v2 .l2v2-page-tickets .tk-form { padding: 22px; }

/* Form controls inside tickets card */
.l2v2 .l2v2-page-tickets .tk-form .form-control {
    background: var(--side2); border: 1px solid var(--line); border-radius: 11px;
    padding: 12px 14px; color: var(--ink); font-size: 13px; outline: none;
    width: 100%;
}
.l2v2 .l2v2-page-tickets .tk-form .form-control:focus { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(255, 193, 7, .15); }
.l2v2 .l2v2-page-tickets .tk-form .control-label,
.l2v2 .l2v2-page-tickets .tk-form label { color: var(--ink); font-weight: 600; font-size: 13px; display: inline-block; margin-bottom: 6px; }
.l2v2 .l2v2-page-tickets .tk-form .ticket-label-mt { margin-top: 14px; }
.l2v2 .l2v2-page-tickets .tk-form .form-group { margin-bottom: 16px; }
.l2v2 .l2v2-page-tickets .tk-form .ticket-textarea { min-height: 140px; resize: vertical; }
.l2v2 .l2v2-page-tickets .tk-form .btn-primary {
    background: var(--brand); color: var(--brandText);
    padding: 14px; border-radius: 14px; font-weight: 800; font-size: 14px;
    border: 0; box-shadow: 0 8px 20px rgba(255, 193, 7, .25);
    width: 100%;
    transition: .14s;
}
.l2v2 .l2v2-page-tickets .tk-form .btn-primary:hover { background: #e8a800; transform: translateY(-1px); color: var(--brandText); }
.l2v2 .l2v2-page-tickets .tickets-uploader {
    background: var(--side2); border: 1.5px dashed var(--line2);
    padding: 16px; border-radius: 12px; text-align: center;
    margin-bottom: 14px;
}
.l2v2 .l2v2-page-tickets .upload-button {
    display: inline-flex; align-items: center; gap: 6px;
    background: var(--side); border: 1px solid var(--line);
    color: var(--ink); padding: 8px 14px; border-radius: 9px;
    cursor: pointer; font-size: 13px;
}
.l2v2 .l2v2-page-tickets .alert-info {
    background: rgba(42, 98, 255, .12) !important;
    color: var(--info) !important;
    border: 1px solid rgba(42, 98, 255, .3);
    border-radius: 12px; padding: 10px 14px;
}

/* Contact channels list */
.l2v2 .l2v2-page-tickets .tk-channels { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 10px; }
.l2v2 .l2v2-page-tickets .tk-ch {
    display: flex; align-items: center; gap: 14px;
    padding: 14px 16px; border-radius: 14px;
    color: #fff; text-decoration: none;
    transition: .14s;
}
.l2v2 .l2v2-page-tickets .tk-ch:hover { transform: translateY(-1px); color: #fff; }
.l2v2 .l2v2-page-tickets .tk-ch-line { background: linear-gradient(135deg, #06C755, #04a346); }
.l2v2 .l2v2-page-tickets .tk-ch-fb   { background: linear-gradient(135deg, #1877f2, #0d5dbf); }
.l2v2 .l2v2-page-tickets .tk-ch-mail {
    background: var(--side2); border: 1px solid var(--line); color: var(--ink);
}
.l2v2 .l2v2-page-tickets .tk-ch-mail:hover { color: var(--ink); border-color: var(--brand); }
.l2v2 .l2v2-page-tickets .tk-ch-icon {
    width: 44px; height: 44px; border-radius: 12px;
    background: rgba(255, 255, 255, .2);
    display: grid; place-items: center; font-size: 22px; flex-shrink: 0;
}
.l2v2 .l2v2-page-tickets .tk-ch-mail .tk-ch-icon { background: var(--brand); color: var(--brandText); }
.l2v2 .l2v2-page-tickets .tk-ch-body { flex: 1; min-width: 0; }
.l2v2 .l2v2-page-tickets .tk-ch-title { font-weight: 700; font-size: 14px; color: inherit; }
.l2v2 .l2v2-page-tickets .tk-ch-sub { font-size: 11px; opacity: .85; margin-top: 2px; }
.l2v2 .l2v2-page-tickets .tk-ch-mail .tk-ch-sub { color: var(--inkDim); opacity: 1; }
.l2v2 .l2v2-page-tickets .tk-ch-arr { font-size: 18px; color: inherit; opacity: .8; }
.l2v2 .l2v2-page-tickets .tk-hours {
    margin-top: 6px; padding: 14px;
    background: var(--side2); border: 1px solid var(--line);
    border-radius: 12px;
    font-size: 12px; color: var(--inkDim); line-height: 1.6;
}
.l2v2 .l2v2-page-tickets .tk-hours b { color: var(--ink); display: block; margin-bottom: 4px; }

/* Ticket history list */
.l2v2 .l2v2-page-tickets .tk-list { padding: 8px 14px 14px; display: flex; flex-direction: column; gap: 8px; }
.l2v2 .l2v2-page-tickets .tk-item {
    display: flex; align-items: center; gap: 14px;
    padding: 12px 14px; border-radius: 12px;
    background: var(--side2); border: 1px solid var(--line);
    color: var(--ink); text-decoration: none; transition: .14s;
}
.l2v2 .l2v2-page-tickets .tk-item:hover { border-color: var(--brand); color: var(--ink); }
.l2v2 .l2v2-page-tickets .tk-item-icon {
    width: 36px; height: 36px; border-radius: 50%;
    display: grid; place-items: center; font-size: 16px;
    flex-shrink: 0;
}
.l2v2 .l2v2-page-tickets .tk-item-icon.st.done { background: rgba(16, 185, 129, .15); color: var(--success); }
.l2v2 .l2v2-page-tickets .tk-item-icon.st.pend { background: rgba(255, 193, 7, .18); color: var(--warn); }
.l2v2 .l2v2-page-tickets .tk-item-icon.st.fail { background: rgba(107, 114, 128, .15); color: var(--inkDim); }
.l2v2 .l2v2-page-tickets .tk-item-body { flex: 1; min-width: 0; }
.l2v2 .l2v2-page-tickets .tk-item-title { font-size: 13.5px; color: var(--ink); }
.l2v2 .l2v2-page-tickets .tk-item-meta { display: flex; align-items: center; gap: 6px; margin-top: 4px; font-size: 11px; color: var(--inkDim); }
.l2v2 .l2v2-page-tickets .tk-item-arr { font-size: 18px; color: var(--ink2); }

/* End of tickets page */
/* ========================================================================== */

/* ========================================================================== */
/* ----- Add Funds page improvements (existing markup, v4 styling) ---------- */
/* ========================================================================== */
.l2v2 .l2v2-page-addfunds .dashboard-head-wrapper { padding: 0; margin-bottom: 18px; }
.l2v2 .l2v2-page-addfunds .dashboard-head {
    background: var(--side); border: 1px solid var(--line); border-radius: var(--r-xl);
    padding: 22px 26px; display: flex; align-items: center; gap: 18px;
    position: relative; overflow: hidden;
}
.l2v2 .l2v2-page-addfunds .dashboard-head::before {
    content: ''; position: absolute; right: -40px; top: -60px;
    width: 220px; height: 220px; border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 193, 7, .15), transparent 70%);
    pointer-events: none;
}
.l2v2 .l2v2-page-addfunds .dashboard-head .dhead-icon {
    width: 60px; height: 60px; border-radius: 50%;
    border: 2.5px solid var(--ring-blue); color: var(--ring-blue);
    display: grid; place-items: center; font-size: 26px;
    flex-shrink: 0; background: var(--side); position: relative; z-index: 1;
}
.l2v2 .l2v2-page-addfunds .dashboard-head .dhead-right { flex: 1; min-width: 0; position: relative; z-index: 1; }
.l2v2 .l2v2-page-addfunds .dashboard-head h1,
.l2v2 .l2v2-page-addfunds .dashboard-head h2 { margin: 0; font-size: 22px; font-weight: 800; color: var(--ink); }
.l2v2 .l2v2-page-addfunds .dashboard-head p { margin: 4px 0 0; font-size: 13px; color: var(--inkDim); }

/* Payment grid 4-col → 2-col tablet → 1-col mobile (≤480px) */
.l2v2 .l2v2-page-addfunds .af-pay-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px;
    margin-bottom: 18px;
}
@media (max-width: 991.98px) { .l2v2 .l2v2-page-addfunds .af-pay-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px)    { .l2v2 .l2v2-page-addfunds .af-pay-grid { grid-template-columns: 1fr; } }

.l2v2 .l2v2-page-addfunds .af-pay-card {
    background: var(--side2) !important; border: 2px solid var(--line) !important;
    border-radius: var(--r-lg) !important; padding: 18px 14px !important;
    cursor: pointer; transition: .18s;
    text-align: center; display: flex !important; flex-direction: column;
    align-items: center; gap: 10px; position: relative;
    color: var(--ink) !important;
}
.l2v2 .l2v2-page-addfunds .af-pay-card:hover { border-color: var(--brand) !important; transform: translateY(-2px); }
.l2v2 .l2v2-page-addfunds .af-pay-card.af-pay-active {
    border-color: var(--brand) !important;
    background: rgba(255, 193, 7, .08) !important;
    box-shadow: 0 10px 24px rgba(255, 193, 7, .18);
}
.l2v2 .l2v2-page-addfunds .af-pay-card.af-pay-active::after {
    content: '✓'; position: absolute; top: 8px; right: 10px;
    width: 22px; height: 22px; border-radius: 50%;
    background: var(--brand); color: var(--brandText);
    display: grid; place-items: center; font-size: 12px; font-weight: 800;
}
.l2v2 .l2v2-page-addfunds .af-pay-icon {
    width: 48px; height: 48px; border-radius: 12px;
    display: grid; place-items: center; font-size: 22px; color: #fff;
    background: linear-gradient(135deg, var(--info), #0042c4);
}
.l2v2 .l2v2-page-addfunds .af-pay-name { font-size: 13px; font-weight: 700; color: var(--ink); }
.l2v2 .l2v2-page-addfunds .af-pay-bonus {
    font-size: 10px; color: var(--success); font-weight: 600;
    background: rgba(16, 185, 129, .1); padding: 2px 8px; border-radius: 999px;
}

/* Amount input + quick chips */
.l2v2 .l2v2-page-addfunds .payment-amount-field,
.l2v2 .l2v2-page-addfunds .af-amount-force-visible {
    background: var(--side2); border: 1.5px solid var(--line);
    border-radius: var(--r-lg); padding: 12px 16px;
    transition: .14s;
}
.l2v2 .l2v2-page-addfunds .payment-amount-field:focus-within,
.l2v2 .l2v2-page-addfunds .af-amount-force-visible:focus-within { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(255, 193, 7, .15); }
.l2v2 .l2v2-page-addfunds .payment-amount-input,
.l2v2 .l2v2-page-addfunds .af-amount-force-visible input {
    background: transparent !important; border: 0 !important; outline: 0 !important;
    font-family: var(--font-en); font-weight: 700; font-size: 22px;
    color: var(--ink) !important; width: 100%;
    padding: 4px 0 !important;
}

/* Bonus calculator */
.l2v2 .l2v2-page-addfunds .bonus-result-minimal,
.l2v2 .l2v2-page-addfunds .bonus-summary {
    background: linear-gradient(135deg, rgba(255, 193, 7, .1), rgba(255, 193, 7, .04)) !important;
    border: 1.5px dashed rgba(255, 193, 7, .4) !important;
    border-radius: var(--r-lg) !important;
    padding: 18px 20px !important;
    color: var(--ink);
}
.l2v2 .l2v2-page-addfunds .bonus-total-value { font-family: var(--font-en); font-weight: 800; font-size: 24px; color: var(--ink); letter-spacing: -0.02em; }

/* Slip upload area */
.l2v2 .l2v2-page-addfunds .af-slip-preview {
    background: var(--side2); border: 1.5px dashed var(--line2);
    border-radius: var(--r-lg); padding: 24px;
    text-align: center;
}

/* Terms checkbox area */
.l2v2 .l2v2-page-addfunds .af-terms-agree {
    display: flex; gap: 12px; align-items: flex-start;
    padding: 14px; background: var(--side2);
    border: 1px solid var(--line); border-radius: var(--r-lg);
    margin: 14px 0;
}
.l2v2 .l2v2-page-addfunds .af-terms-label { font-size: 12.5px; line-height: 1.55; color: var(--ink2); }
.l2v2 .l2v2-page-addfunds .af-terms-warn {
    background: rgba(229, 72, 72, .1) !important;
    border: 1px solid rgba(229, 72, 72, .3);
    color: var(--danger) !important;
    padding: 10px 14px; border-radius: 10px; font-size: 12.5px;
}

/* End of Add Funds page */
/* ========================================================================== */

/* ========================================================================== */
/* ----- Affiliates page improvements (existing markup, v4 styling) -------- */
/* ========================================================================== */
.l2v2 .l2v2-page-affiliates .dashboard-head-wrapper { padding: 0; margin-bottom: 18px; }
.l2v2 .l2v2-page-affiliates .dashboard-head {
    background: linear-gradient(135deg, #0c151b 0%, #1a2532 50%, #0c151b 100%);
    border: 1px solid #1f3a4a;
    border-radius: var(--r-2xl);
    padding: 32px 40px;
    color: #fff;
    position: relative; overflow: hidden;
}
.l2v2 .l2v2-page-affiliates .dashboard-head::before {
    content: ''; position: absolute; right: -50px; top: -50px;
    width: 320px; height: 320px; border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 193, 7, .25), transparent 60%);
    pointer-events: none;
}
.l2v2 .l2v2-page-affiliates .dashboard-head > * { position: relative; z-index: 1; }
.l2v2 .l2v2-page-affiliates .dashboard-head .dhead-icon {
    background: var(--brand); color: var(--brandText);
    border: 0; box-shadow: 0 8px 22px rgba(255, 193, 7, .35);
}
.l2v2 .l2v2-page-affiliates .dashboard-head h1,
.l2v2 .l2v2-page-affiliates .dashboard-head h2,
.l2v2 .l2v2-page-affiliates .dashboard-head .title { color: #fff !important; font-weight: 900 !important; font-size: 28px !important; }
.l2v2 .l2v2-page-affiliates .dashboard-head .text,
.l2v2 .l2v2-page-affiliates .dashboard-head p { color: #c5cdd6 !important; }

/* BUG #6: light-mode contrast fix for affiliate hero.
   In light mode the hero bg becomes light (#edeff2 via html.light .dashboard-head),
   but headline/desc stayed #fff / #c5cdd6 (!important) -> unreadable.
   Override only in light mode; dark mode keeps the white text above. */
html.light .l2v2-page-affiliates .dashboard-head h1,
html.light .l2v2-page-affiliates .dashboard-head h2,
html.light .l2v2-page-affiliates .dashboard-head .title { color: var(--ink) !important; }
html.light .l2v2-page-affiliates .dashboard-head .text,
html.light .l2v2-page-affiliates .dashboard-head p { color: var(--inkDim) !important; }

/* Tier grid */
.l2v2 .l2v2-page-affiliates .aff-tier-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px; margin-bottom: 18px;
}
@media (max-width: 767px) {
    .l2v2 .l2v2-page-affiliates .aff-tier-grid { grid-template-columns: repeat(2, 1fr); }
}
.l2v2 .l2v2-page-affiliates .aff-tier-card {
    background: var(--side); border: 1.5px solid var(--line);
    border-radius: var(--r-lg); padding: 20px 16px;
    text-align: center; transition: .18s; position: relative;
}
.l2v2 .l2v2-page-affiliates .aff-tier-card:hover { transform: translateY(-2px); border-color: var(--brand); box-shadow: var(--shadow-md); }
.l2v2 .l2v2-page-affiliates .aff-tier-active-new,
.l2v2 .l2v2-page-affiliates .aff-tier-active-gold,
.l2v2 .l2v2-page-affiliates .aff-tier-active-platinum,
.l2v2 .l2v2-page-affiliates .aff-tier-active-vip {
    border-color: var(--brand) !important;
    background: rgba(255, 193, 7, .08);
    box-shadow: 0 10px 24px rgba(255, 193, 7, .15);
}

/* Referral link card */
.l2v2 .l2v2-page-affiliates .modern-card,
.l2v2 .l2v2-page-affiliates .referral-section {
    background: linear-gradient(135deg, var(--n-900) 0%, var(--n-700) 50%, var(--n-900) 100%);
    color: #fff; border: 1px solid var(--n-700);
    border-radius: var(--r-2xl); padding: 28px 32px;
    margin-bottom: 18px;
    position: relative; overflow: hidden;
}
.l2v2 .l2v2-page-affiliates .modern-card::before {
    content: ''; position: absolute; right: -50px; top: -50px;
    width: 320px; height: 320px; border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 193, 7, .25), transparent 60%);
    pointer-events: none;
}
.l2v2 .l2v2-page-affiliates .modern-card > * { position: relative; z-index: 1; }
.l2v2 .l2v2-page-affiliates .section-title { color: #fff !important; font-weight: 800; }

/* Custom affiliate table */
.l2v2 .l2v2-page-affiliates .table-responsive {
    background: var(--side); border: 1px solid var(--line);
    border-radius: var(--r-xl); overflow: hidden;
}
.l2v2 .l2v2-page-affiliates .custom-affiliate-table { width: 100%; border-collapse: collapse; }
.l2v2 .l2v2-page-affiliates .custom-affiliate-table th,
.l2v2 .l2v2-page-affiliates .custom-affiliate-table td {
    padding: 14px 18px; text-align: left;
    border-bottom: 1px solid var(--line);
}
.l2v2 .l2v2-page-affiliates .custom-affiliate-table th {
    background: var(--side2);
    font-size: 11px; font-weight: 800; color: var(--inkDim);
    text-transform: uppercase; letter-spacing: .08em;
}
.l2v2 .l2v2-page-affiliates .custom-affiliate-table td { font-size: 13px; color: var(--ink); }

/* Withdrawal modals */
.l2v2 .l2v2-page-affiliates .aff-modal-content {
    background: var(--side); border: 1px solid var(--line);
    border-radius: var(--r-xl); color: var(--ink);
}
.l2v2 .l2v2-page-affiliates .aff-modal-header {
    padding: 18px 22px; border-bottom: 1px solid var(--line);
    display: flex; align-items: center; justify-content: space-between;
}
.l2v2 .l2v2-page-affiliates .aff-modal-title { color: var(--brand); font-weight: 800; font-size: 16px; }

/* End of Affiliates page */
/* ========================================================================== */

/* ========================================================================== */
/* ----- Services page (.l2v2-page-services) — categories grid -------------- */
/* ========================================================================== */
.l2v2 .l2v2-page-services .services-head-row {
    background: var(--side); border: 1px solid var(--line);
    border-radius: var(--r-lg); padding: 12px 18px;
    margin-bottom: 12px;
    font-size: 12px; font-weight: 700; color: var(--inkDim);
    text-transform: uppercase;
}
.l2v2 .l2v2-page-services .services-head-row .s-title { color: var(--inkDim); font-weight: 700; }
.l2v2 .l2v2-page-services .si-wrapper {
    background: var(--side); border: 1px solid var(--line);
    border-radius: var(--r-xl); overflow: hidden;
    margin-bottom: 18px;
}
.l2v2 .l2v2-page-services .si-header {
    background: linear-gradient(95deg, #ffc107 0%, #ffce3a 60%, #ffc107 100%);
    color: #0c151b !important;
    padding: 14px 22px; font-weight: 800;
    position: relative; overflow: hidden;
}
.l2v2 .l2v2-page-services .si-header::before {
    content: ''; position: absolute; right: -30px; top: -40px;
    width: 160px; height: 160px; border-radius: 50%;
    background: rgba(255, 255, 255, .18); pointer-events: none;
}
.l2v2 .l2v2-page-services .si-title { color: #0c151b !important; font-weight: 800; position: relative; z-index: 1; }
.l2v2 .l2v2-page-services .service-item {
    padding: 12px 22px; border-top: 1px solid var(--line); transition: background .14s;
}
.l2v2 .l2v2-page-services .service-item:hover { background: var(--side2); }
.l2v2 .l2v2-page-services .s-row {
    display: flex; align-items: center; gap: 12px;
    font-size: 13px; color: var(--ink);
}
.l2v2 .l2v2-page-services .s-col-id { font-family: var(--font-mono); color: var(--inkDim); font-weight: 700; min-width: 60px; }
.l2v2 .l2v2-page-services .s-title { font-weight: 600; flex: 1; min-width: 0; }
.l2v2 .l2v2-page-services .s-col-c { font-family: var(--font-en); font-weight: 700; min-width: 80px; text-align: center; }
.l2v2 .l2v2-page-services .s-col-btn { min-width: 80px; }
.l2v2 .l2v2-page-services .favorite-active { color: var(--brand); }
.l2v2 .l2v2-page-services .nothing-found { padding: 48px; text-align: center; color: var(--inkDim); }
.l2v2 .l2v2-page-services .search-services {
    position: relative; flex: 1;
}
.l2v2 .l2v2-page-services .search-services .icon { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--inkDim); pointer-events: none; }
.l2v2 .l2v2-page-services .search-services .textbox {
    width: 100%; padding: 10px 14px 10px 40px;
    background: var(--side2); border: 1px solid var(--line); border-radius: 11px;
    color: var(--ink); font-size: 13px; outline: none;
}

/* End of Services page */
/* ========================================================================== */

/* ========================================================================== */
/* ----- Mobile bottom navbar redesign (.my-mobile-navbar) ------------------ */
/* ========================================================================== */
@media (max-width: 767px) {
    .l2v2 .my-mobile-navbar {
        position: fixed !important;
        left: 12px !important;
        right: 12px !important;
        bottom: 12px !important;
        z-index: 10000 !important;
        background: var(--side) !important;
        border: 1px solid var(--line) !important;
        border-radius: 22px !important;
        padding: 8px !important;
        box-shadow: 0 12px 36px rgba(12, 21, 27, .18) !important;
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
    }
    .l2v2 .my-mobile-navbar .mobile-navbar-content {
        display: flex !important;
        align-items: center;
        justify-content: space-around;
        gap: 4px;
    }
    .l2v2 .my-mobile-navbar .mnc-item {
        flex: 1; min-width: 0;
        display: flex !important;
        flex-direction: column;
        align-items: center;
        gap: 3px;
        padding: 8px 4px;
        border-radius: 14px;
        text-decoration: none !important;
        color: var(--inkDim) !important;
        transition: .18s;
        position: relative;
    }
    .l2v2 .my-mobile-navbar .mnc-item-icon {
        width: 26px; height: 26px;
        display: grid; place-items: center;
        font-size: 20px;
        transition: .18s;
        line-height: 1;
    }
    .l2v2 .my-mobile-navbar .mnc-item-text {
        font-size: 10.5px;
        font-weight: 600;
        white-space: nowrap;
        line-height: 1.1;
    }
    /* Active state — yellow background pill, dark text */
    .l2v2 .my-mobile-navbar .mnc-item.active {
        background: linear-gradient(135deg, #ffc107, #ffce3a);
        color: var(--brandText) !important;
        box-shadow: 0 6px 14px rgba(255, 193, 7, .35);
    }
    .l2v2 .my-mobile-navbar .mnc-item.active .mnc-item-icon { transform: translateY(-2px); }
    .l2v2 .my-mobile-navbar .mnc-item:not(.active):active { transform: scale(0.94); }
    /* Center "สั่งงาน" — always highlighted, lifted up like FAB */
    .l2v2 .my-mobile-navbar .mnc-item.mnc-item-center {
        background: linear-gradient(135deg, #ffc107, #ff9800) !important;
        color: var(--brandText) !important;
        box-shadow: 0 8px 20px rgba(255, 152, 0, .45);
        transform: translateY(-12px);
        padding: 12px 4px 8px;
        border: 4px solid var(--side);
    }
    .l2v2 .my-mobile-navbar .mnc-item.mnc-item-center .mnc-item-icon { font-size: 24px; }
    .l2v2 .my-mobile-navbar .mnc-item.mnc-item-center .mnc-item-text { font-size: 11px; font-weight: 700; }
    .l2v2 .my-mobile-navbar .mnc-item.mnc-item-center.active { background: linear-gradient(135deg, #ff9800, #ff6e3e) !important; }

    /* Page padding-bottom adjustment so content isn't hidden by navbar */
    body#appDashboard.l2v2 .appContent { padding-bottom: 120px; }
}
/* Hide on desktop */
@media (min-width: 768px) {
    .l2v2 .my-mobile-navbar { display: none !important; }
}

/* End of mobile navbar */
/* ========================================================================== */

/* ========================================================================== */
/* ----- Add Funds dashboard-head fix (markup has nested .dhead-body) ------- */
/* ========================================================================== */
.l2v2 .l2v2-page-addfunds .dashboard-head {
    /* Override the flex from earlier — the actual structure is nested:
     * .dashboard-head > .dhead-body > .dhead-left > .dhead-icon
     *                              > .dhead-right > h2 + p
     * So flex should be on .dhead-body, not .dashboard-head. */
    display: block !important;
}
.l2v2 .l2v2-page-addfunds .dashboard-head .dhead-body {
    display: flex !important;
    align-items: center;
    gap: 18px;
    position: relative; z-index: 1;
}
.l2v2 .l2v2-page-addfunds .dashboard-head .dhead-left { flex-shrink: 0; }
.l2v2 .l2v2-page-addfunds .dashboard-head .dhead-right {
    flex: 1; min-width: 0;
}
.l2v2 .l2v2-page-addfunds .dashboard-head .dhead-right .title,
.l2v2 .l2v2-page-addfunds .dashboard-head .dhead-right h2 {
    margin: 0; font-size: 22px; font-weight: 800; color: var(--ink);
    letter-spacing: -0.01em;
}
.l2v2 .l2v2-page-addfunds .dashboard-head .dhead-right .text,
.l2v2 .l2v2-page-addfunds .dashboard-head .dhead-right p {
    margin: 4px 0 0; font-size: 13px; color: var(--inkDim);
}

/* Tickets page — same nested fix */
.l2v2 .l2v2-page-tickets .dashboard-head { display: block !important; }
.l2v2 .l2v2-page-tickets .dashboard-head .dhead-body {
    display: flex !important; align-items: center; gap: 18px;
    position: relative; z-index: 1;
}
.l2v2 .l2v2-page-tickets .dashboard-head .dhead-right { flex: 1; min-width: 0; }
.l2v2 .l2v2-page-tickets .dashboard-head .dhead-right .title,
.l2v2 .l2v2-page-tickets .dashboard-head .dhead-right h2 {
    margin: 0; font-size: 22px; font-weight: 800; color: var(--ink);
}
.l2v2 .l2v2-page-tickets .dashboard-head .dhead-right .text,
.l2v2 .l2v2-page-tickets .dashboard-head .dhead-right p {
    margin: 4px 0 0; font-size: 13px; color: var(--inkDim);
}

/* End of dashboard-head fixes */
/* ========================================================================== */

/* ========================================================================== */
/* ----- Public pages polish (signin/signup/about/terms/etc) ---------------- */
/* ========================================================================== */
/* Signup / reset / setnew / confirm — wrap in lk-land yellow theme + simple cards */
.lk-land .register-page,
.lk-land .lk-public-form-wrap {
    min-height: calc(100vh - 80px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
}
.lk-land .register-page .col-xl-5.py-5,
.lk-land .lk-public-form-card {
    background: #fff;
    border-radius: 28px;
    padding: 40px !important;
    max-width: 540px; width: 100%;
    margin: 0 auto;
    box-shadow: 0 28px 60px rgba(0, 0, 0, .15);
}
.lk-land .register-page .col-xl-5.register-left { display: none !important; }

/* Hide register-page legacy yellow bg + before pseudo (we use lk-land yellow) */
.lk-land .register-page::before { display: none !important; }
.lk-land .register-page { background: transparent !important; }

/* Public terms / about / how-it-works pages — wrap content with white card */
.lk-land .home-section h1,
.lk-land .home-section h2:not(.lk-stats-h2) { color: #0c151b; }
.lk-land .home-section p,
.lk-land .home-section li { color: #4a5160; }

/* End of public pages */
/* ========================================================================== */

/* ========================================================================== */
/* ----- Daily check-in modal polish (.ci-modal) ---------------------------- */
/* ========================================================================== */
.l2v2 .ci-modal,
.modal .ci-modal { background: var(--side); border-radius: 24px; overflow: hidden; }
.ci-modal-header {
    background: linear-gradient(135deg, #ffc107 0%, #ff9800 50%, #ff6e3e 100%);
    padding: 24px 24px 20px;
    position: relative;
    color: #fff;
    overflow: hidden;
}
.ci-modal-header .ci-header-deco {
    position: absolute; right: -40px; top: -40px;
    width: 180px; height: 180px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .15);
    pointer-events: none;
}
.ci-modal-header .ci-header-deco::after {
    content: ''; position: absolute; left: -90px; bottom: -120px;
    width: 220px; height: 220px; border-radius: 50%;
    background: rgba(255, 255, 255, .08);
}
.ci-modal-header .ci-close-btn {
    position: absolute; top: 16px; right: 16px;
    background: rgba(255,255,255,.25) !important;
    opacity: 1; padding: 6px;
    border-radius: 8px;
}
.ci-modal-header .ci-streak-badge {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(255, 255, 255, .25);
    padding: 8px 16px; border-radius: 999px;
    margin-bottom: 16px; backdrop-filter: blur(8px);
    position: relative; z-index: 1;
}
.ci-streak-icon { font-size: 18px; color: #ff4500; }
.ci-streak-num { font-family: var(--font-en); font-weight: 800; font-size: 18px; }
.ci-streak-label { font-size: 12px; opacity: .9; }
.ci-modal-header .ci-header-content { position: relative; z-index: 1; }
.ci-modal-header .ci-header-title { font-size: 22px; font-weight: 800; color: #fff; }
.ci-modal-header .ci-header-sub { font-size: 13px; opacity: .9; margin-top: 4px; }

.ci-modal-body { padding: 20px; background: var(--side); }
.ci-grid {
    display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px;
    margin: 0 0 16px;
}
.ci-day {
    background: var(--side2); border: 1px solid var(--line);
    border-radius: 12px; padding: 10px 2px 12px; text-align: center;
    transition: .2s;
    position: relative;
    display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
    gap: 6px;
    min-height: 96px;
}
.ci-day-label { font-size: 10px; font-weight: 700; color: var(--inkDim); text-transform: uppercase; letter-spacing: .04em; line-height: 1; }
.ci-coin, .ci-day .ci-gift, .ci-day .ci-check {
    width: 32px; height: 32px; margin: 0 auto;
    border-radius: 50%;
    color: #fff; display: grid; place-items: center; font-size: 16px;
    flex-shrink: 0;
}
.ci-coin { background: linear-gradient(135deg, #d4d4d8, #a1a1aa); box-shadow: 0 2px 6px rgba(0, 0, 0, .12); }
.ci-day-pts { font-size: 12px; font-weight: 800; color: var(--ink2); line-height: 1; }
.ci-day.today { border-color: var(--brand); background: linear-gradient(135deg, rgba(255, 193, 7, .15), rgba(255, 152, 0, .05)); }
.ci-day.today .ci-coin { background: linear-gradient(135deg, #ffc107, #ff9800); box-shadow: 0 4px 12px rgba(255, 193, 7, .35); }
.ci-day.today .ci-day-pts { color: var(--brand); }
.ci-day.checked .ci-coin { background: linear-gradient(135deg, #ffc107, #e8a800); }
.ci-day.bonus { border-color: var(--brand); background: linear-gradient(135deg, rgba(255, 152, 0, .12), rgba(255, 110, 62, .08)); }
.ci-day.bonus .ci-gift {
    background: linear-gradient(135deg, #ff9800, #ff6e3e);
    box-shadow: 0 4px 12px rgba(255, 152, 0, .35);
    position: relative;
}
.ci-day.bonus .ci-gift::after {
    content: ''; position: absolute; right: -2px; top: -2px;
    width: 7px; height: 7px; border-radius: 50%;
    background: var(--ring-red); border: 2px solid var(--side);
}
.ci-day.bonus .ci-day-pts { color: #ff6e3e; }
.ci-bonus-tag {
    background: linear-gradient(135deg, #ff9800, #ff6e3e); color: #fff;
    font-size: 9px; font-weight: 800; letter-spacing: .04em;
    padding: 2px 6px; border-radius: 999px;
    line-height: 1.2;
    margin-top: -2px;
}

.ci-reward-box {
    background: var(--side2); border: 1px solid var(--line);
    border-radius: var(--r-lg); padding: 14px; text-align: center;
    margin-bottom: 16px;
}

.ci-cta-btn {
    width: 100%;
    background: linear-gradient(135deg, #ffc107, #ff9800);
    color: var(--brandText);
    border: 0; border-radius: var(--r-lg);
    padding: 12px; font-size: 14px; font-weight: 800;
    cursor: pointer; transition: .18s;
    box-shadow: 0 8px 20px rgba(255, 193, 7, .35);
}
.ci-cta-btn:hover { transform: translateY(-1px); box-shadow: 0 12px 24px rgba(255, 193, 7, .45); }
.ci-cta-btn:disabled { background: var(--line); color: var(--inkDim); cursor: not-allowed; box-shadow: none; }

/* End of check-in modal */
/* ========================================================================== */

/* ========================================================================== */
/* ----- Add Funds VIP promo banner — themed (purple/yellow) ---------------- */
/* ========================================================================== */
.l2v2 .l2v2-page-addfunds .alert.af-alert-banner,
.l2v2 .l2v2-page-addfunds .alert-warning.af-alert-banner {
    background: linear-gradient(95deg, #ef4444 0%, #f97316 60%, #ffc107 100%) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: var(--r-xl) !important;
    padding: 14px 48px 14px 22px !important;
    box-shadow: 0 8px 22px rgba(239, 68, 68, .22);
    font-weight: 600;
    position: relative;
    margin-bottom: 16px !important;
    overflow: hidden;
    line-height: 1.55;
}
.l2v2 .l2v2-page-addfunds .alert.af-alert-banner::before {
    content: ''; position: absolute; right: -30px; top: -50px;
    width: 200px; height: 200px; border-radius: 50%;
    background: rgba(255,255,255,.10); pointer-events: none;
}
.l2v2 .l2v2-page-addfunds .alert.af-alert-banner strong,
.l2v2 .l2v2-page-addfunds .alert-warning.af-alert-banner strong {
    font-weight: 800; color: #fff;
}
.l2v2 .l2v2-page-addfunds .alert.af-alert-banner .close,
.l2v2 .l2v2-page-addfunds .alert.af-alert-banner .btn-close {
    position: absolute; top: 50%; right: 14px; transform: translateY(-50%);
    background: transparent; border: 0;
    color: #fff !important; opacity: .85;
    width: 28px; height: 28px; padding: 0; line-height: 1;
    font-size: 22px; cursor: pointer;
    display: grid; place-items: center;
    z-index: 2;
}
.l2v2 .l2v2-page-addfunds .alert.af-alert-banner .close:hover { opacity: 1; }

/* Unify .dashboard-head with .pg-head spacing/sizing across pages */
.l2v2 .l2v2-content .dashboard-head-wrapper { margin-bottom: 18px; padding: 0; }
.l2v2 .l2v2-content .dashboard-head-wrapper .container { padding: 0 !important; max-width: none !important; }

/* End of addfunds polish */
/* ========================================================================== */

/* End of Likester 2026 Level 2 v4 Components */
/* ========================================================================== */


.alert-unread-message {
  animation: pulse-yellow 2s infinite;
}

html,
body {
	font-family: "Noto Sans Thai", -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
	background: #ffbf00;
	min-height: 100vh;
	position: relative;
}

/* แก้ปัญหา body เหลืองปรากฏใต้ navbar ใน mobile */
@media (max-width: 767px) {
  /* Dark Mode */
  html.dark #appDashboard,
  html.dark .appAuth,
  #appDashboard:not(.light),
  .appAuth:not(.light) {
    min-height: 100vh;
    background: #0C141B !important; /* สีเทาเข้มสำหรับ Dark Mode */
  }

  /* Light Mode */
  html.light #appDashboard,
  html.light .appAuth {
    min-height: 100vh;
    background: #f7f8f9 !important; /* สีเทาอ่อนสำหรับ Light Mode */
  }
}

.clearfix {
	clear: both
}

a,
a:hover,
a:focus {
	text-decoration: none
}

.hidden {
	display: none !important
}

::-webkit-scrollbar {
	width: 7px;
	height: 7px
}

::-webkit-scrollbar-thumb {
	background: #ccc;
	border-radius: 5px
}

::-webkit-scrollbar-track {
	background: transparent
}

/* FAQ Section Styles */
.faq-item {
	background: #121D27; /* Dark First */
	margin-bottom: 1rem;
	border-radius: 10px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.1);
	overflow: hidden;
	transition: all 0.3s ease;
}

.faq-question {
	padding: 20px;
	border-bottom: 1px solid #eee;
	cursor: pointer;
	position: relative;
	transition: background 0.3s ease;
}

.faq-question:hover {
	background: #f8f9fa;
}

.faq-question h5 {
	margin: 0;
	color: #333;
	padding-right: 30px;
}

.faq-question i {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	transition: transform 0.3s ease;
	color: #666;
}

.faq-answer {
	padding: 0;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease, padding 0.3s ease;
}

.faq-answer p {
	margin: 0;
	color: #666;
	line-height: 1.6;
}

.faq-item.active .faq-answer {
	padding: 20px;
	max-height: 500px;
}

.faq-item.active .faq-question i {
	transform: translateY(-50%) rotate(45deg);
}

.header {
	height: 100px;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 1000;
	margin-top: 30px
}

.header .site-icon-container {
	display: inline-block
}

.header .site-icon-container img {
	max-height: 54px;
	width: auto
}

.header .site-name {
	font-size: 30px;
	color: #fff;
	font-weight: 300;
	line-height: 54px;
	letter-spacing: .8px;
	margin-left: -10px
}

.header .site-name img {
	height: 85px
}

.header .header-menu ul {
	margin: 0;
	padding: 0;
	list-style: none
}

.header .header-menu ul li {
	display: inline-block;
	padding: 0 25px
}

.header .header-menu ul li.active a {
	color: #fff !important
}

.header .header-menu ul li a {
	color: rgba(255, 255, 255, 0.8);
	text-decoration: none;
	font-size: 17px;
	display: block;
	font-weight: 600;
	height: 100px;
	line-height: 100px;
	position: relative;
	-webkit-transition: .2s ease;
	transition: .2s ease
}

.header .header-menu ul li a:hover {
	color: rgba(255, 255, 255, 0.9)
}
.home-menu-btn {
	display: none
}

.home-head {
	width: 100%;
	overflow: hidden;
	position: relative;
	padding: 130px 0 40px
}

.home-head .bub-items {
	position: absolute;
	z-index: 32;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0
}

.home-head .bub-items>* {
	position: absolute
}

.home-head .bub-items .bubi-0 {
	left: -180px;
	top: 50px;
	-webkit-animation: heart 3s infinite;
	animation: heart 3s infinite
}

.home-head .bub-items .bubi-1 {
	left: -207px;
	bottom: 220px;
	-webkit-animation: animateTwo 7s infinite;
	animation: animateTwo 7s infinite
}

.home-head .bub-items .bubi-2 {
	right: -290px;
	top: 60px;
	-webkit-animation: animateTwo 7s infinite;
	animation: animateTwo 7s infinite
}

.home-head .bub-items .bubi-3 {
	right: -150px;
	top: 360px;
	-webkit-animation: animateFour 5s infinite;
	animation: animateFour 5s infinite
}

@-webkit-keyframes heart {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1)
	}

	50% {
		-webkit-transform: scale(1.3);
		transform: scale(1.3)
	}

	100% {
		-webkit-transform: scale(1);
		transform: scale(1)
	}
}

@keyframes heart {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1)
	}

	50% {
		-webkit-transform: scale(1.3);
		transform: scale(1.3)
	}

	100% {
		-webkit-transform: scale(1);
		transform: scale(1)
	}
}

@-webkit-keyframes animateTwo {
	0% {
		-webkit-transform: translateX(0) translateY(0);
		transform: translateX(0) translateY(0)
	}

	20% {
		-webkit-transform: translateX(20px) translateY(15px) scale(1.1);
		transform: translateX(20px) translateY(15px) scale(1.1)
	}

	56% {
		-webkit-transform: translateX(-5px) translateY(24px) scale(1);
		transform: translateX(-5px) translateY(24px) scale(1)
	}

	75% {
		-webkit-transform: translateX(30px) translateY(-5px) scale(1);
		transform: translateX(30px) translateY(-5px) scale(1)
	}

	100% {
		-webkit-transform: translateX(0) translateY(0) scale(1);
		transform: translateX(0) translateY(0) scale(1)
	}
}

@keyframes animateTwo {
	0% {
		-webkit-transform: translateX(0) translateY(0);
		transform: translateX(0) translateY(0)
	}

	20% {
		-webkit-transform: translateX(20px) translateY(15px) scale(1.1);
		transform: translateX(20px) translateY(15px) scale(1.1)
	}

	56% {
		-webkit-transform: translateX(-5px) translateY(24px) scale(1);
		transform: translateX(-5px) translateY(24px) scale(1)
	}

	75% {
		-webkit-transform: translateX(30px) translateY(-5px) scale(1);
		transform: translateX(30px) translateY(-5px) scale(1)
	}

	100% {
		-webkit-transform: translateX(0) translateY(0) scale(1);
		transform: translateX(0) translateY(0) scale(1)
	}
}

@-webkit-keyframes animateFour {
	0% {
		-webkit-transform: translateX(0) translateY(0);
		transform: translateX(0) translateY(0)
	}

	20% {
		-webkit-transform: translateX(-4px) translateY(28px) scale(1.1);
		transform: translateX(-4px) translateY(28px) scale(1.1)
	}

	56% {
		-webkit-transform: translateX(-16px) translateY(-14px) scale(1);
		transform: translateX(-16px) translateY(-14px) scale(1)
	}

	75% {
		-webkit-transform: translateX(24px) translateY(23px) scale(1.4);
		transform: translateX(24px) translateY(23px) scale(1.4)
	}

	100% {
		-webkit-transform: translateX(0) translateY(0) scale(1);
		transform: translateX(0) translateY(0) scale(1)
	}
}

@keyframes animateFour {
	0% {
		-webkit-transform: translateX(0) translateY(0);
		transform: translateX(0) translateY(0)
	}

	20% {
		-webkit-transform: translateX(-4px) translateY(28px) scale(1.1);
		transform: translateX(-4px) translateY(28px) scale(1.1)
	}

	56% {
		-webkit-transform: translateX(-16px) translateY(-14px) scale(1);
		transform: translateX(-16px) translateY(-14px) scale(1)
	}

	75% {
		-webkit-transform: translateX(24px) translateY(23px) scale(1.4);
		transform: translateX(24px) translateY(23px) scale(1.4)
	}

	100% {
		-webkit-transform: translateX(0) translateY(0) scale(1);
		transform: translateX(0) translateY(0) scale(1)
	}
}

.home-head .home-head-real-content {
	z-index: 38;
	position: relative
}

.home-head .home-head-bg {
	background-image: url(https://storage.perfectcdn.com/e70129/3m8keh61652913xh.png);
	background-size: cover;
	background-position: top center;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 0
}

.home-head .home-head-content {
	z-index: 100;
	position: relative;
	padding: 100px 0;
	z-index: 33
}

.home-head .hh-left-badge {
	background: #121d27d4;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	height: 50px;
	border-radius: 25px;
	padding-right: 10px
}

.home-head .hh-left-badge .hhlb-icon {
	background: #ffc107;
	color: #fff;
	margin: 5px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 40px;
	width: 40px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border-radius: 50%
}

.home-head .hh-left-badge .hhlb-text {
	padding: 15px 14px;
	color: #ffc107;
	font-weight: 600;
	line-height: 20px;
	font-size: 13px
}

.home-head .hl-title {
	font-size: 42px;
	line-height: 56px;
	font-weight: 600;
	margin-top: 42px;
	margin-bottom: 40px;
	color: #fff
}

.home-head .hl-text {
	color: #fff;
	font-size: 18px;
	line-height: 30px;
	font-weight: 400
}

.hl-btns {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 50px;
	margin-left: -8px;
	margin-right: -8px
}

.hl-btns>a {
	margin: 8px
}

.logbox {
	position: relative;
}

/* NOTE: legacy .logbox::before removed 2026-04-11 — it was an absolutely
   positioned gradient layer with zero dimensions (no top/left/width/height),
   pure dead code. Paired light-mode override at bottom of file also removed. */

.logbox .logbox-content {
	background: #121D27; /* Dark First */
	border-radius: 20px;
	position: relative;
	z-index: 15;
	padding: 56px 30px 25px
}

.logbox .logbox-title {
	font-size: 21px;
	font-weight: 600;
	color: #fff;
	text-align: center;
	padding-bottom: 40px
}

/* CLEANUP 2026-05-07: removed .hl-input + .floating-label rules (dead — replaced
 * by .lk-field in the v4 yellow landing hero. Verified zero hits across all
 * .twig/.js/.html files in the project tree.) */

.hl-special:first-child {
	border: none !important
}

.hl-special {
	border: 2px solid #213446;
	background: #15222E;
	display: block;
	line-height: 20px;
	font-size: 12px;
	color: #fff;
	text-align: center;
	padding: 12px 20px;
	border-radius: 10px;
	overflow: hidden;
	cursor: pointer;
	height: 48px !important;
	-webkit-transition: .14s ease;
	transition: .14s ease;
	text-decoration: none;
	font-weight: 600
}

.hl-special:hover {
	text-decoration: none !important;
	border-color: #ffc107;
	color: #fff;
	-webkit-transform: scale(0.94);
	transform: scale(0.94);
	opacity: .9
}

.custom-check {
	display: block;
	position: relative;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none
}

.custom-check input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
	display: none
}

.custom-check label {
	position: relative;
	z-index: 25
}

.custom-check .checkmark {
	position: absolute;
	top: 2px;
	left: 2px;
	right: 2px;
	bottom: 2px;
	background-color: transparent;
	-webkit-transition: .14s ease;
	transition: .14s ease;
	border-radius: 10px
}

.custom-check:hover input~.checkmark {
	background-color: transparent
}

.custom-check input:checked~.checkmark {
	background-color: #ffc107
}

.custom-check .checkmark:after {
	content: "";
	position: absolute;
	display: none
}

.custom-check input:checked~.checkmark:after {
	display: block
}

.custom-check .checkmark:after {
	left: 20px;
	top: 12px;
	width: 5px;
	height: 10px;
	border: solid #fff;
	border-width: 0 3px 3px 0;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg)
}

.dh-acc {
	display: block;
	margin-top: 44px;
	margin-bottom: 20px;
	position: relative;
	width: 100%;
	text-align: center
}

.dh-acc .dh-acc-content {
	background: #121D27;
	padding: 0 18px;
	position: relative;
	z-index: 4;
	display: inline-block;
	font-size: 14px;
	font-size: 600;
	color: #fff
}

.dh-acc::before {
	content: '';
	z-index: 3;
	position: absolute;
	left: 0;
	top: 50%;
	height: 1px;
	width: 100%;
	background: #224E64
}

.btn {
	border-radius: 20px;
	/* 2026-04-11: was `transition: cubic-bezier(...) .2s` with no property name
	   which parsed as `all` and caused every style change (hover, focus, theme
	   toggle) to animate together — a known flicker cause. Now explicit. */
	-webkit-transition: background-color .2s cubic-bezier(0.55, 0.085, 0.68, 0.53),
	                    color .2s cubic-bezier(0.55, 0.085, 0.68, 0.53),
	                    border-color .2s cubic-bezier(0.55, 0.085, 0.68, 0.53),
	                    transform .2s cubic-bezier(0.55, 0.085, 0.68, 0.53),
	                    box-shadow .2s cubic-bezier(0.55, 0.085, 0.68, 0.53);
	transition: background-color .2s cubic-bezier(0.55, 0.085, 0.68, 0.53),
	            color .2s cubic-bezier(0.55, 0.085, 0.68, 0.53),
	            border-color .2s cubic-bezier(0.55, 0.085, 0.68, 0.53),
	            transform .2s cubic-bezier(0.55, 0.085, 0.68, 0.53),
	            box-shadow .2s cubic-bezier(0.55, 0.085, 0.68, 0.53);
	font-weight: 700;
	padding: 20px 40px;
}

.btn.btn-primary {
	background: #ffc107;
	color: #0c151b; /* dark text on yellow — was #fff (invisible) */
	border: none;
	transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.btn.btn-primary:hover {
	background-color: #e2aa03;
	color: #0c151b;
}

.btn.btn-primary:focus,
.btn.btn-primary:active {
	background-color: #e2aa03 !important;
	color: #0c151b !important;
}

.btn.btn-lg {
	padding: 20px
}

.btn:hover {
	/* 2026-04-11: was scale(0.96) — a shrinking button on hover feels "broken"
	   and combined with no transition created a snap-change that looked like
	   a flicker. Modernized to a subtle lift. */
	-webkit-transform: translateY(-2px);
	transform: translateY(-2px);
}

.btn-100 {
	display: block;
	width: 100%;
	text-align: center
}

.btn-100.btn-icon {
	display: flex;
	justify-content: center
}

.btn-rounded {
	border-radius: 25px
}

.btn-lg {
	padding: 12px 20px
}

.btn-outline {
	border: #ffffff;
	color: #fff;
	background-color: transparent
}

.btn-outline:hover,
.btn-outline:focus {
	border: 1px solid rgba(255, 255, 255, 1);
	color: #fff
}

.btn-outline.btn-light {
	color: #fff;
	border-color: #2a4771
}

.btn-outline.btn-light:hover {
	background-color: #2a4771
}

.btn-outline.btn-secondary {
	border-color: #2a4771;
	background: #0c2447;
	color: #fff
}

html.light .btn-outline.btn-secondary {
	border-color: #dee2e6;
	background: #ffffff;
	color: #6c757d;
}


.dd-btn::after {
	display: none
}

.btn-transparent {
	border: 1px solid;
	border-color: transparent;
	outline: none;
	background-color: transparent;
	color: #fff
}

.btn-transparent:hover {
	background-color: rgba(255, 255, 255, 0.05);
	border-color: rgba(255, 255, 255, 0.05);
	color: #fff
}

.home-section {
	padding: 120px 0
}

.hfs-content .hfs-item {
	margin: 15px 0
}

.hfs-content .hfs-item .hfs-count {
	font-size: 36px;
	letter-spacing: .4px;
	color: #fff;
	font-weight: 700
}

.hfs-content .hfs-item .hfs-title {
	font-size: 24px;
	font-weight: 500;
	color: #121D27
}

@media (max-width: 768px) {
    .hfs-item {
        text-align: center;  /* จัดข้อความและเนื้อหาให้อยู่ตรงกลาง */
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
}


.home-title {
	position: relative
}

.home-title h2 {
	color: #fff;
	font-weight: 700;
	font-size: 39px
}

.home-title .hh-icon {
	position: relative;
	display: inline-block;
	margin-bottom: 46px
}

.home-title .hh-icon::before {
	content: '';
	position: absolute;
	z-index: 20;
	border-radius: 23px;
	left: -13px;
	right: -13px;
	top: -13px;
	bottom: -13px;
	background: rgba(0, 175, 76, 0.2)
}

.home-title .hh-icon .hh-content {
	position: relative;
	z-index: 25;
	background: #00AF4C;
	border-radius: 15px;
	height: 50px;
	width: 50px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-size: 26px;
	color: #fff
}

.home-tabs .tab {
	display: none;
	color: #fff
}

.home-tabs .tab.active {
	display: block
}

.hsobs {
	margin-bottom: 50px
}

.hsobs .hsob {
	margin: 15px 0;
	background: #12232D;
	padding: 18px 40px 14px;
	color: #fff;
	border-radius: 30px;
	border-bottom-left-radius: 8px;
	border-top-right-radius: 8px;
	-webkit-transition: .14s ease;
	transition: .14s ease;
	cursor: pointer
}

.hsobs .hsob.active {
	background: #ffc107 !important
}

.hsobs .hsob.active .hsob-icon {
	color: #fff
}

.hsobs .hsob:hover {
	background: #1c3341;
	-webkit-transform: scale(0.94);
	transform: scale(0.94)
}

.hsobs .hsob:hover .hsob-icon {
	color: #fff;
	-webkit-transform: scale(1.2);
	transform: scale(1.2)
}

.hsobs .hsob .hsob-icon {
	color: #ffc107;
	font-size: 30px;
	-webkit-transition: .14s ease;
	transition: .14s ease
}

.hsobs .hsob .hsob-title {
	font-size: 21px;
	font-weight: 700
}

.wcu-content .wcu-conteiner {
	position: relative;
	margin: 15px 0
}

.wcu-content .wcu-conteiner::before {
	content: '';
	position: absolute;
	z-index: 20;
	left: -2px;
	right: -2px;
	top: -2px;
	bottom: -2px;
	background: -webkit-gradient(linear, left bottom, left top, from(#183441), to(#111E26));
	background: linear-gradient(to top, #183441, #111E26);
	-webkit-clip-path: polygon(0 0, 100% 0, 100% 90%, 0% 100%);
	clip-path: polygon(0 0, 100% 0, 100% 90%, 0% 100%);
	-webkit-transition: .2s ease;
	transition: .2s ease
}

.wcu-content .wcu-conteiner:hover::before {
	-webkit-transform: scale(0.9);
	transform: scale(0.9)
}

.wcu-content .wcu-conteiner:hover .wcu-box {
	-webkit-transform: scale(1.03);
	transform: scale(1.03);
	background: -webkit-gradient(linear, left top, right top, from(#04843B), to(#ffc107)) #04843B;
	background: linear-gradient(to right, #04843B, #ffc107) #04843B
}

.wcu-content .wcu-conteiner:hover .wcu-box .wcu-text {
	color: #fff
}

.wcu-content .wcu-conteiner:hover .wcu-box .wcu-icon img,
.wcu-content .wcu-conteiner:hover .wcu-box .wcu-go img {
	-webkit-filter: brightness(0) invert(1);
	filter: brightness(0) invert(1)
}

.wcu-content .wcu-conteiner:hover .wcu-box .wcu-icon img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1)
}

.wcu-content .wcu-conteiner .wcu-box {
	background: #12232D;
	-webkit-clip-path: polygon(0 0, 100% 0, 100% 90%, 0% 100%);
	clip-path: polygon(0 0, 100% 0, 100% 90%, 0% 100%);
	z-index: 23;
	position: relative;
	-webkit-transition: .2s ease;
	transition: .2s ease
}

.wcu-content .wcu-conteiner .wcu-box .wcu-body {
	padding: 50px 30px 60px
}

.wcu-content .wcu-conteiner .wcu-box .wcu-icon i {
	font-size: 42px;
	color: #ffc107;
	-webkit-transition: .2s ease;
	transition: .2s ease
}

.wcu-content .wcu-conteiner .wcu-box:hover .wcu-icon i {
	font-size: 42px;
	color: #fff;
	-webkit-transition: .2s ease;
	transition: .2s ease
}

.wcu-content .wcu-conteiner .wcu-box .wcu-title {
	font-size: 20px;
	line-height: 32px;
	color: #fff;
	margin-top: 28px;
	margin-bottom: 20px;
	font-weight: 600
}

.wcu-content .wcu-conteiner .wcu-box .wcu-text {
	font-size: 14px;
	color: #9799A3;
	line-height: 24px;
	-webkit-transition: .2s ease;
	transition: .2s ease
}

.wcu-content .wcu-conteiner .wcu-box .wcu-go {
	display: inline-block;
	margin-top: 30px;
	position: relative;
	-webkit-transition: .2s ease;
	transition: .2s ease
}

.wcu-content .wcu-conteiner .wcu-box .wcu-go i {
	font-size: 42px;
	color: #ffc107
}

.wcu-content .wcu-conteiner .wcu-box:hover .wcu-go i {
	font-size: 42px;
	color: #fff
}

.homeI-1 {
	max-width: 100%
}

.homeI-2 {
	position: absolute;
	max-width: 100%;
	right: 0
}

.hsl-title .hsl-title-icon {
	height: 60px;
	width: 60px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #ffc107;
	border-radius: 15px;
	font-size: 32px;
	color: #fff
}

.hsl-title h2 {
	margin: 0;
	font-size: 32px;
	line-height: 45px;
	color: #fff;
	padding: 0;
	font-weight: 700
}

.hsl-text {
	font-size: 19px;
	line-height: 33px;
	color: #fff;
	font-weight: 500;
	margin: 40px 0 30px
}

.hsl-bottom {
	margin-top: 50px
}

.hsl-item {
	position: relative;
	margin: 30px 0
}

.hsl-item .hsli-title {
	font-size: 20px;
	font-weight: 700;
	color: #fff;
	margin-bottom: 8px
}

.hsl-item .hsli-text {
	font-size: 15px;
	line-height: 27px;
	color: rgba(255, 255, 255, 0.8)
}

.how-pworks {
	display: block;
	position: relative
}

.how-pworks .bg-1 {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	background-image: url(https://storage.perfectcdn.com/e70129/lfrxpmlcyamcwsu6.png);
	background-size: cover;
	background-position: center;
	z-index: 20
}

.how-pworks .hpw-content {
	padding: 180px 0 260px;
	z-index: 25;
	position: relative
}

.how-pworks .hpw-title {
	color: #0c151b;
	font-size: 44px;
	font-weight: 700;
	margin-bottom: 30px
}

.how-pworks .hpw-text {
	max-width: 800px;
	display: inline-block;
	text-align: center;
	color: #0c151b;
	font-weight: 600;
	line-height: 34px;
	font-size: 20px
}

.how-pworks-bottom {
	position: relative;
	z-index: 29;
	padding: 0 0 20px
}

.hpw-box {
	margin-top: -200px;
	position: relative
}

.hpw-box::before {
	content: '';
	position: absolute;
	z-index: 30;
	left: -3px;
	top: -3px;
	right: -3px;
	bottom: -3px;
	background: -webkit-gradient(linear, left bottom, left top, from(#183441), to(#111E26));
	background: linear-gradient(to top, #183441, #111E26);
	border-radius: 12.4px
}

.hpw-box .hpw-box-r {
	border-radius: 10px;
	background: #0C151B;
	z-index: 35;
	position: relative;
	padding: 40px
}

.hpw-box .hpw-box-r::before {
	content: '';
	left: 80px;
	right: 80px;
	position: absolute;
	z-index: 31;
	top: calc(50% - 1.5px);
	height: 2px;
	background: #1B2B3A
}

.hpw-box .hpw-box-r>.row {
	z-index: 32
}

.hpw-item {
	text-align: center;
	z-index: 33;
	margin: 20px 0
}

.hpw-item .hpw-icon {
	height: 87px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}

.hpw-item .hpw-icon img {
	max-height: 87px
}

.hpw-item .hpw-num {
	position: relative;
	display: inline-block
}

.hpw-item .hpw-num::after {
	content: '';
	z-index: 34;
	position: absolute;
	left: -50px;
	right: -50px;
	top: 0;
	background-color: #0C151B;
	height: 100%
}

.hpw-item .hpw-num span {
	height: 74px;
	width: 74px;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #ffc107;
	border-radius: 12px;
	margin-top: 40px;
	position: relative;
	z-index: 36;
	font-size: 30px;
	color: #fff;
	font-weight: 900
}

.hpw-item .hpw-num::before {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -12px;
	width: 0;
	height: 0;
	border-top: solid 12px #ffc107;
	border-left: solid 12px transparent;
	border-right: solid 12px transparent
}

.hpw-item .hpw-title {
	margin-top: 35px;
	font-size: 19px;
	font-weight: 800;
	color: #fff
}

.hpw-item .hpw-text {
	margin-top: 12px;
	font-size: 13px;
	line-height: 23px;
	color: #B5B5B5
}

.special-color {
	color: #ffc107
}

.home-customer-container {
	width: 100%
}

.home-customer {
	padding: 120px 0;
	width: 100%
}

.home-customer .container {
	max-width: 800px;
	text-align: center
}

.home-customer .slider-circle {
	border: 3px solid #182836;
	border-radius: 50%;
	width: 640px;
	height: 640px;
	display: inline-block;
	position: relative
}

.home-customer .slider-circle .out-circle {
	position: absolute;
	border-radius: 50%
}

.home-customer .slider-circle .out-circle.oc-1 {
	left: -90px;
	top: -90px;
	bottom: -90px;
	opacity: .2;
	right: -90px;
	border: 3px solid #182836
}

.home-customer .slider-circle .out-circle.oc-2 {
	left: -200px;
	top: -200px;
	bottom: -200px;
	right: -200px;
	opacity: .3;
	border: 3px solid #182836
}

.home-customer .slider-content .slider-tab {
	display: none
}

.home-customer .slider-content .slider-tab.active {
	display: block
}

.home-customer .member-comment {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	color: #fff
}

.home-customer .member-comment>* {
	margin: 20px 0
}

.home-customer .member-comment .comment-text {
	max-width: 480px;
	color: #fff;
	font-size: 26px;
	line-height: 41px;
	font-weight: 500
}

.home-customer .member-comment .comment-user {
	font-size: 25px;
	font-weight: 700
}

.home-customer .member-comment .comment-stars {
	color: #ffc107;
	font-size: 25px
}

.home-customer .slider-btns .slider-btn {
	z-index: 999;
	position: absolute;
	width: 64px;
	height: 64px;
	background-color: #2E4C67;
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
	border-radius: 5px;
	border: 3px solid transparent;
	-webkit-transition: .14s ease;
	transition: .14s ease;
	cursor: pointer
}

.home-customer .slider-btns .slider-btn:hover {
	opacity: .9
}

.home-customer .slider-btns .slider-btn.active {
	border-color: #ffc107
}

.home-customer .slider-btns .slider-btn img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover
}

.home-customer .slider-btns .slider-btn.sb-1 {
	top: 0;
	left: 50%
}

.home-customer .slider-btns .slider-btn.sb-2 {
	top: 50%;
	left: 100%
}

.home-customer .slider-btns .slider-btn.sb-3 {
	top: 100%;
	left: 50%
}

.home-customer .slider-btns .slider-btn.sb-4 {
	left: 0;
	top: 50%
}

/* CLEANUP 2026-05-07: merged duplicate .footer rules (was defined twice). */
.footer {
	background: #1a1a1a;
	color: #fff;
	padding: 60px 0 20px;
}

.footer .site-name {
	font-size: 36px;
	font-weight: 600;
	padding: 52px 0;
	color: #fff;
	line-height: 48px;
}

.footer .site-name img {
	height: 80px;
}

.footer .container {
	max-width: 1140px;
}

.footer .row {
	display: flex;
	align-items: flex-start;
	margin: 0 -15px;
}

.footer .col-lg-3 {
	padding: 0 15px;
}

.footer-services-row {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding-top: 30px;
	margin-top: 20px;
}

@media (min-width: 992px) {
	.footer .row .col-lg-3 {
		flex: 0 0 25%;
		max-width: 25%;
	}

	/* 5 equal columns for platform services */
	.footer .footer-services-row .col-lg-3,
	.footer .footer-services-row .col-lg {
		flex: 1 1 0;
		max-width: 20%;
	}
}

.footer .footer-title {
	color: #ffc107;
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 2px solid #ffc107;
	display: inline-block;
}

.footer .footer-menu {
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer .footer-menu li {
	margin-bottom: 12px;
}

.footer .footer-menu li a {
	color: rgba(255, 255, 255, 0.8);
	text-decoration: none;
	font-size: 14px;
	line-height: 1.6;
	transition: color 0.3s ease;
}

.footer .footer-menu li a:hover {
	color: #ffc107;
	text-decoration: none;
}

.footer .footer-top {
	position: relative;
	border-top: 1px solid #16222F
}

.footer .footer-top .ft-content {
	position: relative;
	z-index: 3
}

.footer .footer-icons>* {
	margin: 10px;
	max-height: 40px;
	width: auto;
	object-fit: contain;
}

.footer .footer-bottom {
	padding: 30px 0 40px
}

.footer .footer-bt-info {
	font-size: 18px;
	color: #fff;
	font-weight: 700
}

.footer .footer-title {
	color: #fff;
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 20px;
	margin-top: 52px;
}

.footer .footer-description p {
	color: rgba(255, 255, 255, 0.8);
	font-size: 14px;
	line-height: 1.6;
	margin-bottom: 0;
}

.footer .footer-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer .footer-menu li {
	display: block;
	margin-bottom: 8px;
}

.footer .footer-menu li a {
	color: rgba(255, 255, 255, 0.8);
	text-decoration: none;
	font-size: 14px;
	transition: color 0.3s ease;
}

.footer .footer-menu li a:hover {
	color: #fff;
	text-decoration: none;
}

.footer .contact-info {
	margin-top: 20px;
}

.footer .contact-info p {
	color: rgba(255, 255, 255, 0.8);
	font-size: 14px;
	margin-bottom: 10px;
	display: flex;
	align-items: center;
}

.footer .contact-info p i {
	margin-right: 10px;
	color: #fff;
	width: 16px;
}

/* Footer Responsive Design */
@media (max-width: 991.98px) {
	.footer {
		padding: 40px 0 20px;
	}
	
	.footer .footer-title {
		font-size: 16px;
		margin-bottom: 15px;
		margin-top: 30px;
	}
	
	.footer .site-name {
		padding: 20px 0;
		text-align: center;
	}
	
	.footer .col-lg-3 {
		margin-bottom: 25px;
	}
	
	.footer-services-row {
		margin-top: 25px;
		padding: 25px 15px 15px;
	}
}

@media (max-width: 767px) {
	.footer .row .col-lg-3 {
		flex: 0 0 100%;
		max-width: 100%;
		margin-bottom: 30px;
	}
	
	.footer-services-row {
		padding: 20px 10px 10px;
		margin-top: 20px;
	}
	
	.footer .footer-title {
		font-size: 15px;
		text-align: center;
		margin-bottom: 12px;
		margin-top: 20px;
	}
	
	.footer .footer-menu {
		text-align: center;
	}
	
	.footer .contact-info {
		text-align: center;
	}
	
	.footer .footer-description {
		text-align: center;
	}
}

@media (max-width: 767.98px) {
	.footer {
		padding: 30px 0 20px;
	}
	
	.footer .row {
		margin: 0;
		flex-direction: column;
	}
	
	.footer .col-lg-3,
	.footer .col-md-6 {
		padding: 0 20px;
		margin-bottom: 30px;
		flex: none;
		max-width: 100%;
	}
	
	.footer .footer-title {
		font-size: 16px;
		text-align: center;
		margin-top: 0;
		margin-bottom: 15px;
		border-bottom: 2px solid #ffc107;
		padding-bottom: 8px;
		width: 100%;
		display: block;
	}
	
	.footer .site-name {
		padding: 15px 0;
		text-align: center;
		margin-bottom: 15px;
	}
	
	.footer .site-name img {
		height: 60px;
	}
	
	.footer .footer-description {
		text-align: center;
		margin-bottom: 20px;
	}
	
	.footer .footer-menu {
		text-align: center;
	}
	
	.footer .footer-menu li {
		margin-bottom: 10px;
	}
	
	.footer .footer-menu li a {
		font-size: 14px;
	}
	
	.footer .contact-info {
		text-align: center;
		margin-top: 15px;
	}
	
	.footer .contact-info p {
		justify-content: center;
		font-size: 13px;
		margin-bottom: 8px;
	}
}

/* About Us Page Styles */
.about-us-page {
	min-height: 100vh;
}

.about-hero {
	background: linear-gradient(135deg, #ffbf00 0%, #ff9500 100%);
	padding: 80px 0;
	color: #fff;
}

.about-title {
	font-size: 3rem;
	font-weight: 700;
	margin-bottom: 20px;
}

.about-subtitle {
	font-size: 1.2rem;
	opacity: 0.9;
	line-height: 1.6;
}

.about-section {
	padding: 80px 0;
}

.about-section.bg-light {
	background-color: #f8f9fa;
}

.section-title {
	font-size: 2.5rem;
	font-weight: 600;
	margin-bottom: 30px;
	color: #333;
}

.about-section.bg-light .section-title {
	color: #333;
}

.mission-text {
	font-size: 1.1rem;
	line-height: 1.8;
	color: #666;
}

.about-section.bg-light .mission-text {
	color: #555;
}

.about-image {
	text-align: center;
	padding: 20px;
}

.feature-box {
	padding: 30px 20px;
	transition: transform 0.3s ease;
}

.feature-box:hover {
	transform: translateY(-5px);
}

.feature-icon {
	width: 80px;
	height: 80px;
	background: linear-gradient(135deg, #ffbf00 0%, #ff9500 100%);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 20px;
	font-size: 2rem;
	color: #fff;
}

.feature-box h4 {
	font-size: 1.3rem;
	font-weight: 600;
	margin-bottom: 15px;
	color: #333;
}

.feature-box p {
	color: #666;
	line-height: 1.6;
}

/* Map Container */
.map-container {
	box-shadow: 0 10px 30px rgba(0,0,0,0.1);
	border-radius: 10px;
	overflow: hidden;
}

/* Contact Section Styles */
.contact-intro {
	font-size: 1.1rem;
	opacity: 0.9;
	margin-bottom: 30px;
	color: #fff;
}

.contact-card {
	background: rgba(255, 255, 255, 0.1);
	padding: 25px 20px;
	border-radius: 10px;
	text-align: center;
	transition: transform 0.3s ease;
	backdrop-filter: blur(10px);
}

.contact-card:hover {
	transform: translateY(-5px);
	background: rgba(255, 255, 255, 0.15);
}

.contact-icon {
	width: 60px;
	height: 60px;
	background: rgba(255, 255, 255, 0.2);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 15px;
	font-size: 1.5rem;
	color: #fff;
}

.contact-card h5 {
	color: #fff;
	font-weight: 600;
	margin-bottom: 10px;
}

.contact-card p {
	color: #fff;
	opacity: 0.9;
	margin-bottom: 0;
	font-size: 0.95rem;
}

.contact-cta {
	background: rgba(255, 255, 255, 0.1);
	padding: 40px 30px;
	border-radius: 15px;
	backdrop-filter: blur(10px);
}

.contact-cta h4 {
	color: #fff;
	font-weight: 600;
}

.btn-white {
	background-color: #fff;
	color: #ffbf00;
	border: 2px solid #fff;
	font-weight: 600;
	transition: all 0.3s ease;
}

.btn-white:hover {
	background-color: transparent;
	color: #fff;
	border-color: #fff;
}

.btn-outline-white {
	background-color: transparent;
	color: #fff;
	border: 2px solid #fff;
	font-weight: 600;
	transition: all 0.3s ease;
}

.btn-outline-white:hover {
	background-color: #fff;
	color: #ffbf00;
	border-color: #fff;
}

/* Responsive Design */
@media (max-width: 768px) {
	.about-title {
		font-size: 2.2rem;
	}
	
	.about-subtitle {
		font-size: 1rem;
	}
	
	.section-title {
		font-size: 2rem;
	}
	
	.about-section {
		padding: 50px 0;
	}
	
	.about-hero {
		padding: 50px 0;
	}
	
	.contact-cta {
		margin-top: 30px;
		padding: 30px 20px;
	}
	
	.contact-card {
		margin-bottom: 20px;
	}
	
	.map-container iframe {
		height: 300px;
	}
}


@media (max-width: 767.98px) {
	.wcu-content .wcu-conteiner::before {
		-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%)
	}

	.wcu-content .wcu-conteiner .wcu-box {
		-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%)
	}

	.home-customer-container {
		overflow: inherit;
		display: block
	}

	.home-customer {
		padding: 70px 0;
		width: 100%
	}

	.home-customer .container {
		max-width: 800px;
		text-align: center
	}

	.home-customer .slider-circle {
		border: none;
		border-radius: 0;
		width: 100%;
		height: auto;
		display: block
	}

	.home-customer .slider-circle .out-circle {
		display: none
	}

	.home-customer .slider-content .slider-tab {
		display: none
	}

	.home-customer .slider-content .slider-tab.active {
		display: block
	}

	.home-customer .member-comment {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		height: auto;
		position: relative;
		color: #fff
	}

	.home-customer .member-comment .quote-icon img {
		width: 32px
	}

	.home-customer .member-comment>* {
		margin: 10px 0
	}

	.home-customer .member-comment .comment-text {
		font-size: 18px;
		line-height: 28px;
		font-weight: 400;
		color: #fff
	}

	.home-customer .member-comment .comment-user {
		font-size: 20px
	}

	.home-customer .slider-btns {
		width: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		margin-top: 20px
	}

	.home-customer .slider-btns .slider-btn {
		width: 64px;
		height: 64px;
		background-color: #2E4C67;
		-webkit-transform: inherit;
		transform: inherit;
		position: relative
	}

	.home-customer .slider-btns .slider-btn:hover {
		opacity: .9
	}

	.home-customer .slider-btns .slider-btn.active {
		border-color: #ffc107
	}

	.home-customer .slider-btns .slider-btn img {
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		object-fit: cover
	}

	.home-customer .slider-btns .slider-btn.sb-1,
	.home-customer .slider-btns .slider-btn.sb-2,
	.home-customer .slider-btns .slider-btn.sb-3,
	.home-customer .slider-btns .slider-btn.sb-4 {
		top: inherit;
		left: inherit
	}

	.hsl-title-icon {
		margin-bottom: 20px;
		width: 64px !important;
		height: 64px !important;
		font-size: 40px !important
	}

	.home-section {
		padding: 70px 0
	}

	.hl-btns {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column
	}

	.hl-btns>a {
		-webkit-box-flex: 1;
		-ms-flex: 1;
		flex: 1
	}

	.home-head .hh-left-badge {
		height: 38px;
		border-radius: 19px
	}

	.home-head .hh-left-badge .hhlb-icon {
		width: 28px;
		height: 28px
	}

	.home-head .hh-left-badge .hhlb-text {
		padding: 10px 9px;
		font-size: 13px
	}

	.home-head .home-head-content {
		padding: 0
	}

	.home-head .hl-title {
		font-size: 24px;
		line-height: 36px;
		font-weight: 600;
		margin-top: 32px;
		margin-bottom: 26px;
		color: #fff
	}

	.home-head .hl-text {
		display: none
	}

	.btn.btn-lg {
		padding: 18px 40px
	}

	.btn.btn-lg.btn-outline {
		padding: 16px 40px
	}

	.hl-input input:focus~.floating-label,
	.hl-input input:not(:focus):valid~.floating-label {
		top: 8px;
		-webkit-transform: translateY(0);
		transform: translateY(0);
		bottom: 10px
	}

	.hl-input input:focus {
		border-color: #ffc107 !important
	}

	.hl-input .inputText {
		padding: 24px 16px 14px
	}

	.hsobs .hsob {
		padding: 11px 20px;
		margin: 8px 0
	}

	.hsobs .hsob .hsob-title {
		font-size: 16px;
		font-weight: 400
	}

	.hsl-text {
		font-size: 16px;
		line-height: 31px;
		font-weight: 400;
		color: rgba(255, 255, 255, 0.9)
	}

	.how-pworks .hpw-title {
		color: #fff;
		font-size: 24px
	}

	.how-pworks .hpw-text {
		font-weight: 500;
		line-height: 18px
	}

	.home-title h2 {
		color: #fff;
		font-weight: 700;
		font-size: 30px
	}


	.header {
		margin-top: 0
	}

	.custom-check .checkmark:after {
		border-color: transparent !important
	}
}

@media (max-width: 991.98px) {
	.home-boost-box {
		padding: 40px 24px
	}

	.home-menu-btn {
		display: inline-block
	}

	.head-menu {
		display: none;
		position: fixed;
		top: 80px;
		left: 0;
		bottom: 0;
		right: 0;
		background-color: #181c29;
		-webkit-box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.16);
		box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.16);
		padding: 40px 30px;
		z-index: 1003;
		overflow-y: auto;
		border-top-left-radius: 30px;
		border-top-right-radius: 30px
	}

	.head-menu .btn {
		display: block
	}

	.head-menu .mmff {
		width: 100%;
		display: block
	}


/* Instagram Landing Page Styles */
.instagram-landing-page {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.instagram-landing-page .hero-section {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    padding: 100px 0;
    position: relative;
    overflow: hidden;
}

.instagram-landing-page .hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><defs><radialGradient id="a" cx="50%" cy="50%"><stop offset="0%" style="stop-color:%23ffffff;stop-opacity:0.1"/><stop offset="100%" style="stop-color:%23ffffff;stop-opacity:0"/></radialGradient></defs><rect width="100%" height="100%" fill="url(%23a)"/></svg>');
    opacity: 0.3;
}

.instagram-landing-page .hero-content {
    position: relative;
    z-index: 2;
}

.instagram-landing-page .hero-badge {
    display: inline-flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.1);
    padding: 8px 16px;
    border-radius: 50px;
    backdrop-filter: blur(10px);
    margin-bottom: 20px;
}

.instagram-landing-page .hero-badge-icon {
    background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
}

.instagram-landing-page .hero-badge-text {
    color: white;
    font-size: 14px;
    font-weight: 500;
}

.instagram-landing-page .hero-title {
    font-size: 3.5rem;
    font-weight: 700;
    color: white;
    line-height: 1.2;
    margin-bottom: 20px;
}

.instagram-landing-page .hero-subtitle {
    font-size: 1.5rem;
    font-weight: 600;
    color: #ffc107;
    margin-bottom: 15px;
}

.instagram-landing-page .hero-text {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.6;
    margin-bottom: 30px;
}

.instagram-landing-page .trust-indicators {
    display: flex;
    gap: 30px;
    margin-bottom: 40px;
}

.instagram-landing-page .trust-item {
    text-align: center;
}

.instagram-landing-page .trust-number {
    font-size: 2rem;
    font-weight: 700;
    color: #ffc107;
    line-height: 1;
}

.instagram-landing-page .trust-label {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.8);
    margin-top: 5px;
}

.instagram-landing-page .hero-buttons {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.instagram-landing-page .hero-buttons .btn {
    padding: 15px 30px;
    font-size: 1rem;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.instagram-landing-page .btn-primary {
    background: #121d27;
    border: 2px solid #121d27;
    color: white;
}

.instagram-landing-page .btn-primary:hover {
    background: transparent;
    color: #121d27;
    transform: translateY(-2px);
}

.instagram-landing-page .btn-outline {
    background: transparent;
    border: 2px solid white;
    color: white;
}

.instagram-landing-page .btn-outline:hover {
    background: white;
    color: #667eea;
    transform: translateY(-2px);
}

.instagram-landing-page .instagram-mockup {
    position: relative;
    display: flex;
    justify-content: center;
}

.instagram-landing-page .phone-frame {
    width: 300px;
    height: 500px;
    background: #000;
    border-radius: 30px;
    padding: 20px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.instagram-landing-page .instagram-screen {
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
    border-radius: 20px;
    padding: 20px;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.instagram-landing-page .ig-header {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 40px;
}

.instagram-landing-page .ig-stats {
    display: flex;
    gap: 40px;
}

.instagram-landing-page .stat-item {
    text-align: center;
}

.instagram-landing-page .stat-number {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
}

.instagram-landing-page .stat-label {
    font-size: 0.9rem;
    opacity: 0.8;
    margin-top: 5px;
}

/* Service Overview Section */
.instagram-landing-page .service-overview {
    padding: 80px 0;
    background: #f8f9fa;
}

.instagram-landing-page .section-header {
    margin-bottom: 50px;
}

.instagram-landing-page .section-header h2 {
    font-size: 2.5rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 15px;
}

.instagram-landing-page .section-header p {
    font-size: 1.2rem;
    color: #6c757d;
}

.instagram-landing-page .service-cards {
    gap: 30px;
}

.instagram-landing-page .service-card {
    background: white;
    padding: 40px 30px;
    border-radius: 15px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    height: 100%;
}

.instagram-landing-page .service-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
}

.instagram-landing-page .service-icon {
    font-size: 3rem;
    margin-bottom: 20px;
    background: linear-gradient(45deg, #667eea, #764ba2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.instagram-landing-page .service-card h5 {
    font-size: 1.3rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 15px;
}

.instagram-landing-page .service-card p {
    color: #6c757d;
    margin-bottom: 25px;
    line-height: 1.6;
}

.instagram-landing-page .btn-sm {
    padding: 10px 20px;
    font-size: 0.9rem;
}

/* Why Choose Section */
.instagram-landing-page .why-choose-section {
    padding: 80px 0;
}

.instagram-landing-page .feature-list {
    margin-top: 30px;
}

.instagram-landing-page .feature-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 30px;
    padding: 20px;
    border-radius: 10px;
    transition: all 0.3s ease;
}

.instagram-landing-page .feature-item:hover {
    background: #f8f9fa;
    transform: translateX(10px);
}

.instagram-landing-page .feature-icon {
    width: 60px;
    height: 60px;
    background: linear-gradient(45deg, #667eea, #764ba2);
    color: white;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 20px;
    flex-shrink: 0;
}

.instagram-landing-page .feature-content h5 {
    font-size: 1.2rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 10px;
}

.instagram-landing-page .feature-content p {
    color: #6c757d;
    line-height: 1.6;
    margin: 0;
}

.instagram-landing-page .stats-container {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 20px;
    padding: 40px;
    color: white;
}

.instagram-landing-page .stats-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.instagram-landing-page .stats-grid .stat-item {
    text-align: center;
}

.instagram-landing-page .stats-grid .stat-number {
    font-size: 2.5rem;
    font-weight: 700;
    color: #ffc107;
    line-height: 1;
}

.instagram-landing-page .stats-grid .stat-label {
    font-size: 1rem;
    margin-top: 10px;
    opacity: 0.9;
}

/* How It Works Section */
.instagram-landing-page .how-it-works {
    padding: 80px 0;
    background: #f8f9fa;
}

.instagram-landing-page .steps-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 40px;
    margin-bottom: 50px;
}

.instagram-landing-page .step-item {
    text-align: center;
    position: relative;
}

.instagram-landing-page .step-number {
    position: absolute;
    top: -10px;
    right: 20px;
    background: #ffc107;
    color: #2c3e50;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.9rem;
}

.instagram-landing-page .step-icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(45deg, #667eea, #764ba2);
    color: white;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    font-size: 2rem;
}

.instagram-landing-page .step-item h5 {
    font-size: 1.2rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 15px;
}

.instagram-landing-page .step-item p {
    color: #6c757d;
    line-height: 1.6;
}

/* Pricing Section */
.instagram-landing-page .pricing-section {
    padding: 80px 0;
}

.instagram-landing-page .pricing-cards {
    gap: 30px;
}

.instagram-landing-page .pricing-card {
    background: white;
    border-radius: 20px;
    padding: 40px 30px;
    text-align: center;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    position: relative;
    border: 2px solid transparent;
}

.instagram-landing-page .pricing-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.15);
}

.instagram-landing-page .pricing-card.popular {
    border-color: #ffc107;
    transform: scale(1.05);
}

.instagram-landing-page .popular-badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: #ffc107;
    color: #2c3e50;
    padding: 8px 20px;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 600;
}

.instagram-landing-page .pricing-header {
    margin-bottom: 30px;
}

.instagram-landing-page .pricing-icon {
    font-size: 3rem;
    margin-bottom: 20px;
    background: linear-gradient(45deg, #667eea, #764ba2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.instagram-landing-page .pricing-card h4 {
    font-size: 1.5rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 10px;
}

.instagram-landing-page .pricing-features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.instagram-landing-page .pricing-features li {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 12px;
    padding: 0 10px;
}

.instagram-landing-page .pricing-features .fas {
    color: #28a745;
    margin-right: 10px;
}

.instagram-landing-page .pricing-price {
    margin: 30px 0;
}

.instagram-landing-page .price {
    font-size: 3rem;
    font-weight: 700;
    background: linear-gradient(45deg, #667eea, #764ba2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1;
}

.instagram-landing-page .price-label {
    font-size: 0.9rem;
    color: #6c757d;
    margin-top: 10px;
}

.instagram-landing-page .btn-block {
    width: 100%;
    padding: 15px;
    font-weight: 600;
    border-radius: 10px;
}

/* FAQ Section */
.instagram-landing-page .faq-section {
    padding: 80px 0;
    background: #f8f9fa;
}

.instagram-landing-page .faq-accordion {
    max-width: 800px;
    margin: 0 auto;
}

.instagram-landing-page .faq-item {
    background: white;
    border-radius: 10px;
    margin-bottom: 20px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.instagram-landing-page .faq-question {
    padding: 25px 30px;
    font-weight: 600;
    color: #2c3e50;
    cursor: pointer;
    position: relative;
    transition: all 0.3s ease;
}

.instagram-landing-page .faq-question:hover {
    background: #f8f9fa;
}

.instagram-landing-page .faq-question::after {
    content: '+';
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.5rem;
    color: #667eea;
    transition: transform 0.3s ease;
}

.instagram-landing-page .faq-item.active .faq-question::after {
    transform: translateY(-50%) rotate(45deg);
}

.instagram-landing-page .faq-answer {
    padding: 0 30px 25px;
    color: #6c757d;
    line-height: 1.6;
    display: none;
}

.instagram-landing-page .faq-item.active .faq-answer {
    display: block;
}

/* General Testimonials Styles */
.testimonial-card {
    background: white;
    border-radius: 25px;
    box-shadow: 0 15px 50px rgba(0,0,0,0.08);
    padding: 35px;
    height: 100%;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border: 1px solid rgba(0, 0, 0, 0.05);
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.testimonial-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(135deg, #667eea, #764ba2);
}

.testimonial-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 25px 70px rgba(0,0,0,0.12);
}

.testimonial-header {
    margin-bottom: 20px;
}

.testimonial-header .stars {
    display: flex;
    gap: 4px;
}

.testimonial-header .stars i {
    color: #ffc107;
    font-size: 1.2rem;
}

.testimonial-body {
    flex-grow: 1;
    margin-bottom: 25px;
}

.testimonial-text {
    font-style: italic;
    line-height: 1.8;
    color: #6c757d;
    font-size: 1rem;
    position: relative;
    padding: 0 10px;
}

.testimonial-text::before,
.testimonial-text::after {
    content: '"';
    font-size: 3rem;
    position: absolute;
    opacity: 0.1;
    font-family: Georgia, serif;
    color: #667eea;
}

.testimonial-text::before {
    top: -20px;
    left: -10px;
}

.testimonial-text::after {
    bottom: -40px;
    right: -10px;
}

.testimonial-footer {
    border-top: 1px solid rgba(0,0,0,0.05);
    padding-top: 20px;
}

.testimonial-author {
    display: flex;
    align-items: center;
    gap: 15px;
}

.author-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: linear-gradient(135deg, #667eea, #764ba2);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.author-avatar i {
    color: white;
    font-size: 1.5rem;
}

.author-info {
    flex-grow: 1;
}

.author-name {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
    color: #333;
}

.author-title {
    margin: 0;
    font-size: 0.9rem;
    color: #6c757d;
}

/* Review Form Styles */
.review-form-card {
    background: white;
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.1);
    overflow: hidden;
    margin-top: 50px;
}

.review-form-card .card-header {
    background: linear-gradient(135deg, #667eea, #764ba2);
    padding: 40px;
    color: white;
}

.review-form-card .form-title {
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 10px;
    color: white;
}

.review-form-card .form-subtitle {
    font-size: 1rem;
    opacity: 0.9;
    color: white;
}

.review-form-card .card-body {
    padding: 40px;
}

.star-rating {
    display: flex;
    flex-direction: row-reverse;
    gap: 10px;
    justify-content: center;
}

.star-rating input[type="radio"] {
    display: none;
}

.star-rating label {
    cursor: pointer;
    font-size: 1.5rem;
    color: #ddd;
    transition: color 0.2s;
}

.star-rating input[type="radio"]:checked ~ label,
.star-rating input[type="radio"]:checked ~ label ~ label,
.star-rating label:hover,
.star-rating label:hover ~ label {
    color: #ffc107;
}

/* Instagram Testimonials Section */
.instagram-landing-page .testimonials-section {
    padding: 80px 0;
}

.instagram-landing-page .testimonial-card {
    border: 1px solid rgba(228, 64, 95, 0.1);
}

.instagram-landing-page .testimonial-card::before {
    background: linear-gradient(135deg, #833AB4, #E4405F, #FD5949);
}

.instagram-landing-page .testimonial-card:hover {
    box-shadow: 0 25px 70px rgba(228, 64, 95, 0.15);
}

.instagram-landing-page .testimonial-text::before,
.instagram-landing-page .testimonial-text::after {
    color: #E4405F;
}

.instagram-landing-page .testimonial-footer {
    border-top: 1px solid rgba(228, 64, 95, 0.05);
}

.instagram-landing-page .author-avatar {
    background: linear-gradient(135deg, #833AB4, #E4405F);
}

.instagram-landing-page .review-form-card .card-header {
    background: linear-gradient(135deg, #833AB4, #E4405F);
}

.instagram-landing-page .testimonial-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
}

.instagram-landing-page .testimonial-stars {
    margin-bottom: 20px;
}

.instagram-landing-page .testimonial-stars .fas {
    color: #ffc107;
    font-size: 1.2rem;
    margin-right: 3px;
}

.instagram-landing-page .testimonial-card p {
    font-style: italic;
    line-height: 1.6;
    color: #6c757d;
    margin-bottom: 25px;
}

.instagram-landing-page .customer-info {
    display: flex;
    align-items: center;
}

.instagram-landing-page .customer-name {
    font-weight: 600;
    color: #2c3e50;
}

.instagram-landing-page .customer-role {
    font-size: 0.9rem;
    color: #6c757d;
    margin-top: 2px;
}

/* Related Services Section */
.instagram-landing-page .related-services {
    padding: 80px 0;
    background: #f8f9fa;
}

.instagram-landing-page .related-service-cards {
    gap: 20px;
}

.instagram-landing-page .col-md-2-4 {
    flex: 0 0 20%;
    max-width: 20%;
}

.instagram-landing-page .related-service-card {
    display: block;
    background: white;
    padding: 30px 20px;
    border-radius: 10px;
    text-align: center;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.instagram-landing-page .related-service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
    text-decoration: none;
    color: inherit;
}

.instagram-landing-page .related-service-card .service-icon {
    font-size: 2.5rem;
    margin-bottom: 15px;
    background: linear-gradient(45deg, #667eea, #764ba2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.instagram-landing-page .related-service-card h6 {
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 10px;
}

.instagram-landing-page .related-service-card p {
    font-size: 0.9rem;
    color: #6c757d;
    margin: 0;
}

/* Final CTA Section */
.instagram-landing-page .final-cta {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    padding: 60px 0;
    color: white;
}

.instagram-landing-page .final-cta h3 {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.instagram-landing-page .final-cta p {
    font-size: 1.1rem;
    margin-bottom: 0;
    opacity: 0.9;
}

.instagram-landing-page .btn-warning {
    background: #ffc107;
    border: 2px solid #ffc107;
    color: #2c3e50;
    font-weight: 600;
}

.instagram-landing-page .btn-warning:hover {
    background: transparent;
    color: #ffc107;
}

.instagram-landing-page .btn-outline-light {
    background: transparent;
    border: 2px solid white;
    color: white;
}

.instagram-landing-page .btn-outline-light:hover {
    background: white;
    color: #667eea;
}

/* Responsive Design */
@media (max-width: 992px) {
    .instagram-landing-page .hero-title {
        font-size: 2.5rem;
    }
    
    .instagram-landing-page .hero-subtitle {
        font-size: 1.2rem;
    }
    
    .instagram-landing-page .trust-indicators {
        justify-content: center;
        gap: 20px;
    }
    
    .instagram-landing-page .phone-frame {
        width: 250px;
        height: 400px;
    }
    
    .instagram-landing-page .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .instagram-landing-page .steps-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }
    
    .instagram-landing-page .col-md-2-4 {
        flex: 0 0 50%;
        max-width: 50%;
        margin-bottom: 20px;
    }
}

@media (max-width: 768px) {
    .instagram-landing-page .hero-section {
        padding: 60px 0;
    }
    
    .instagram-landing-page .hero-title {
        font-size: 2rem;
    }
    
    .instagram-landing-page .hero-subtitle {
        font-size: 1rem;
    }
    
    .instagram-landing-page .trust-indicators {
        flex-direction: column;
        gap: 15px;
        align-items: center;
    }
    
    .instagram-landing-page .trust-item {
        display: flex;
        align-items: center;
        gap: 15px;
    }
    
    .instagram-landing-page .hero-buttons {
        justify-content: center;
        flex-direction: column;
        align-items: center;
    }
    
    .instagram-landing-page .hero-buttons .btn {
        width: 100%;
        max-width: 300px;
    }
    
    .instagram-landing-page .phone-frame {
        width: 200px;
        height: 320px;
    }
    
    .instagram-landing-page .section-header h2 {
        font-size: 2rem;
    }
    
    .instagram-landing-page .stats-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .instagram-landing-page .steps-container {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .instagram-landing-page .feature-item {
        flex-direction: column;
        text-align: center;
    }
    
    .instagram-landing-page .feature-icon {
        margin-right: 0;
        margin-bottom: 15px;
    }
    
    .instagram-landing-page .pricing-card.popular {
        transform: none;
        margin: 20px 0;
    }
    
    .instagram-landing-page .col-md-2-4 {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 15px;
    }
    
    .instagram-landing-page .final-cta .text-lg-end {
        text-align: center !important;
        margin-top: 20px;
    }
    
    .instagram-landing-page .final-cta .btn {
        display: block;
        width: 100%;
        max-width: 250px;
        margin: 10px auto;
    }
}

	.home-customer .member-comment .comment-user {
		font-size: 20px
	}

/* Facebook Landing Page Styles - Override to fix mobile conflicts */
.facebook-landing-page {
    /* Use site default font instead of system fonts */
    font-family: inherit !important;
}

/* Fix mobile view conflicts - Override Facebook blue colors */
body .facebook-landing-page .btn-outline:hover,
body .facebook-landing-page .hero-badge-icon,
body .facebook-landing-page .stat-icon,
body .facebook-landing-page .step-icon,
body .facebook-landing-page .feature-icon {
    background: inherit !important;
    color: inherit !important;
}

/* Fix step numbers too small in mobile */
@media (max-width: 768px) {
    body .facebook-landing-page .step-icon {
        width: 60px !important;
        height: 60px !important;
        position: relative !important;
    }
    
    body .facebook-landing-page .step-icon .step-number {
        font-size: 24px !important;
        font-weight: 700 !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
    }
}

/* Fix feature icons alignment and colors */
body .facebook-landing-page .feature-card {
    text-align: center !important;
}

body .facebook-landing-page .feature-icon {
    width: 80px !important;
    height: 80px !important;
    margin: 0 auto 20px auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, #f39c12, #e67e22) !important;
    color: white !important;
    border-radius: 50% !important;
}

body .facebook-landing-page .feature-icon i {
    font-size: 2rem !important;
    color: white !important;
}

/* Ensure proper alignment in mobile */
body .facebook-landing-page .text-center {
    text-align: center !important;
}

body .facebook-landing-page .d-flex.align-items-center.justify-content-center {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* .facebook-landing-page .hero-section removed to prevent blue color conflicts */

/* .facebook-landing-page .hero-section::before removed to prevent conflicts */

.facebook-landing-page .hero-content {
    position: relative;
    z-index: 2;
}

.facebook-landing-page .hero-badge {
    display: inline-flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.1);
    padding: 8px 16px;
    border-radius: 50px;
    backdrop-filter: blur(10px);
    margin-bottom: 20px;
}

/* .facebook-landing-page .hero-badge-icon with blue background removed */

.facebook-landing-page .hero-badge-text {
    color: white;
    font-size: 14px;
    font-weight: 500;
}

.facebook-landing-page .hero-title {
    font-size: 3.5rem;
    font-weight: 700;
    color: white;
    line-height: 1.2;
    margin-bottom: 20px;
}

.facebook-landing-page .hero-subtitle {
    font-size: 1.5rem;
    font-weight: 600;
    color: #ffc107;
    margin-bottom: 15px;
}

.facebook-landing-page .hero-text {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.6;
    margin-bottom: 30px;
}

.facebook-landing-page .trust-indicators {
    display: flex;
    gap: 30px;
    margin-bottom: 40px;
}

.facebook-landing-page .trust-item {
    text-align: center;
}

.facebook-landing-page .trust-number {
    font-size: 2rem;
    font-weight: 700;
    color: #ffc107;
    line-height: 1;
}

.facebook-landing-page .trust-label {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.8);
    margin-top: 5px;
}

.facebook-landing-page .hero-buttons {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.facebook-landing-page .hero-buttons .btn {
    padding: 15px 30px;
    font-size: 1rem;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.facebook-landing-page .btn-primary {
    background: #121d27;
    border: 2px solid #121d27;
    color: white;
}

.facebook-landing-page .btn-primary:hover {
    background: transparent;
    color: #121d27;
    transform: translateY(-2px);
}

.facebook-landing-page .btn-outline {
    background: transparent;
    border: 2px solid white;
    color: white;
}

.facebook-landing-page .btn-outline:hover {
    background: white;
    color: #4267B2;
    transform: translateY(-2px);
}

.facebook-landing-page .facebook-mockup {
    position: relative;
    display: flex;
    justify-content: center;
}

.facebook-landing-page .page-frame {
    width: 300px;
    height: 500px;
    background: #f0f2f5;
    border-radius: 20px;
    padding: 20px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.facebook-landing-page .facebook-page {
    width: 100%;
    height: 100%;
    background: #4267B2;
    border-radius: 15px;
    padding: 20px;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.facebook-landing-page .fb-header {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 40px;
}

.facebook-landing-page .fb-stats {
    display: flex;
    gap: 40px;
}

.facebook-landing-page .stat-item {
    text-align: center;
}

.facebook-landing-page .stat-number {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
}

.facebook-landing-page .stat-label {
    font-size: 0.9rem;
    opacity: 0.8;
    margin-top: 5px;
}

/* Service Overview Section */
.facebook-landing-page .service-overview {
    padding: 80px 0;
    background: #f8f9fa;
}

.facebook-landing-page .section-header {
    margin-bottom: 50px;
}

.facebook-landing-page .section-header h2 {
    font-size: 2.5rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 15px;
}

.facebook-landing-page .section-header p {
    font-size: 1.2rem;
    color: #6c757d;
}

.facebook-landing-page .service-cards {
    gap: 30px;
}

.facebook-landing-page .service-card {
    background: white;
    padding: 40px 30px;
    border-radius: 15px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    height: 100%;
}

.facebook-landing-page .service-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
}

.facebook-landing-page .service-icon {
    font-size: 3rem;
    margin-bottom: 20px;
    background: linear-gradient(45deg, #4267B2, #365899);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.facebook-landing-page .service-card h5 {
    font-size: 1.3rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 15px;
}

.facebook-landing-page .service-card p {
    color: #6c757d;
    margin-bottom: 25px;
    line-height: 1.6;
}

.facebook-landing-page .btn-sm {
    padding: 10px 20px;
    font-size: 0.9rem;
}

/* Why Choose Section */
.facebook-landing-page .why-choose-section {
    padding: 80px 0;
}

.facebook-landing-page .feature-list {
    margin-top: 30px;
}

.facebook-landing-page .feature-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 30px;
    padding: 20px;
    border-radius: 10px;
    transition: all 0.3s ease;
}

.facebook-landing-page .feature-item:hover {
    background: #f8f9fa;
    transform: translateX(10px);
}

.facebook-landing-page .feature-icon {
    width: 60px;
    height: 60px;
    background: linear-gradient(45deg, #4267B2, #365899);
    color: white;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 20px;
    flex-shrink: 0;
}

.facebook-landing-page .feature-content h5 {
    font-size: 1.2rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 10px;
}

.facebook-landing-page .feature-content p {
    color: #6c757d;
    line-height: 1.6;
    margin: 0;
}

.facebook-landing-page .stats-container {
    background: linear-gradient(135deg, #4267B2 0%, #365899 100%);
    border-radius: 20px;
    padding: 40px;
    color: white;
}

.facebook-landing-page .stats-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.facebook-landing-page .stats-grid .stat-item {
    text-align: center;
}

.facebook-landing-page .stats-grid .stat-number {
    font-size: 2.5rem;
    font-weight: 700;
    color: #ffc107;
    line-height: 1;
}

.facebook-landing-page .stats-grid .stat-label {
    font-size: 1rem;
    margin-top: 10px;
    opacity: 0.9;
}

/* How It Works Section */
.facebook-landing-page .how-it-works {
    padding: 80px 0;
    background: #f8f9fa;
}

.facebook-landing-page .steps-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 40px;
    margin-bottom: 50px;
}

.facebook-landing-page .step-item {
    text-align: center;
    position: relative;
}

.facebook-landing-page .step-number {
    position: absolute;
    top: -10px;
    right: 20px;
    background: #ffc107;
    color: #2c3e50;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.9rem;
}

.facebook-landing-page .step-icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(45deg, #4267B2, #365899);
    color: white;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    font-size: 2rem;
}

.facebook-landing-page .step-item h5 {
    font-size: 1.2rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 15px;
}

.facebook-landing-page .step-item p {
    color: #6c757d;
    line-height: 1.6;
}

/* Pricing Section */
.facebook-landing-page .pricing-section {
    padding: 80px 0;
}

.facebook-landing-page .pricing-cards {
    gap: 30px;
}

.facebook-landing-page .pricing-card {
    background: white;
    border-radius: 20px;
    padding: 40px 30px;
    text-align: center;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    position: relative;
    border: 2px solid transparent;
}

.facebook-landing-page .pricing-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.15);
}

.facebook-landing-page .pricing-card.popular {
    border-color: #ffc107;
    transform: scale(1.05);
}

.facebook-landing-page .popular-badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: #ffc107;
    color: #2c3e50;
    padding: 8px 20px;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 600;
}

.facebook-landing-page .pricing-header {
    margin-bottom: 30px;
}

.facebook-landing-page .pricing-icon {
    font-size: 3rem;
    margin-bottom: 20px;
    background: linear-gradient(45deg, #4267B2, #365899);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.facebook-landing-page .pricing-card h4 {
    font-size: 1.5rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 10px;
}

.facebook-landing-page .pricing-features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.facebook-landing-page .pricing-features li {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 12px;
    padding: 0 10px;
}

.facebook-landing-page .pricing-features .fas {
    color: #28a745;
    margin-right: 10px;
}

.facebook-landing-page .pricing-price {
    margin: 30px 0;
}

.facebook-landing-page .price {
    font-size: 3rem;
    font-weight: 700;
    background: linear-gradient(45deg, #4267B2, #365899);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1;
}

.facebook-landing-page .price-label {
    font-size: 0.9rem;
    color: #6c757d;
    margin-top: 10px;
}

.facebook-landing-page .btn-block {
    width: 100%;
    padding: 15px;
    font-weight: 600;
    border-radius: 10px;
}

/* FAQ Section */
.facebook-landing-page .faq-section {
    padding: 80px 0;
    background: #f8f9fa;
}

.facebook-landing-page .faq-accordion {
    max-width: 800px;
    margin: 0 auto;
}

.facebook-landing-page .faq-item {
    background: white;
    border-radius: 10px;
    margin-bottom: 20px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.facebook-landing-page .faq-question {
    padding: 25px 30px;
    font-weight: 600;
    color: #2c3e50;
    cursor: pointer;
    position: relative;
    transition: all 0.3s ease;
}

.facebook-landing-page .faq-question:hover {
    background: #f8f9fa;
}

.facebook-landing-page .faq-question::after {
    content: '+';
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.5rem;
    color: #4267B2;
    transition: transform 0.3s ease;
}

.facebook-landing-page .faq-item.active .faq-question::after {
    transform: translateY(-50%) rotate(45deg);
}

.facebook-landing-page .faq-answer {
    padding: 0 30px 25px;
    color: #6c757d;
    line-height: 1.6;
    display: none;
}

.facebook-landing-page .faq-item.active .faq-answer {
    display: block;
}

/* Testimonials Section */
.facebook-landing-page .testimonials-section {
    padding: 80px 0;
}

.facebook-landing-page .testimonial-cards {
    gap: 30px;
}

.facebook-landing-page .testimonial-card {
    border: 1px solid rgba(24, 119, 242, 0.1);
}

.facebook-landing-page .testimonial-card::before {
    background: linear-gradient(135deg, #1877F2, #42A5F5, #1565C0);
}

.facebook-landing-page .testimonial-card:hover {
    box-shadow: 0 25px 70px rgba(24, 119, 242, 0.15);
}

.facebook-landing-page .testimonial-text::before,
.facebook-landing-page .testimonial-text::after {
    color: #1877F2;
}

.facebook-landing-page .testimonial-footer {
    border-top: 1px solid rgba(24, 119, 242, 0.05);
}

.facebook-landing-page .author-avatar {
    background: linear-gradient(135deg, #1877F2, #42A5F5);
}

.facebook-landing-page .review-form-card .card-header {
    background: linear-gradient(135deg, #1877F2, #42A5F5);
}

.facebook-landing-page .testimonial-stars {
    margin-bottom: 20px;
}

.facebook-landing-page .testimonial-stars .fas {
    color: #ffc107;
    font-size: 1.2rem;
    margin-right: 3px;
}

.facebook-landing-page .testimonial-card p {
    font-style: italic;
    line-height: 1.6;
    color: #6c757d;
    margin-bottom: 25px;
}

.facebook-landing-page .customer-info {
    display: flex;
    align-items: center;
}

.facebook-landing-page .customer-name {
    font-weight: 600;
    color: #2c3e50;
}

.facebook-landing-page .customer-role {
    font-size: 0.9rem;
    color: #6c757d;
    margin-top: 2px;
}

/* Related Services Section */
.facebook-landing-page .related-services {
    padding: 80px 0;
    background: #f8f9fa;
}

.facebook-landing-page .related-service-cards {
    gap: 20px;
}

.facebook-landing-page .col-md-2-4 {
    flex: 0 0 20%;
    max-width: 20%;
}

.facebook-landing-page .related-service-card {
    display: block;
    background: white;
    padding: 30px 20px;
    border-radius: 10px;
    text-align: center;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.facebook-landing-page .related-service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
    text-decoration: none;
    color: inherit;
}

.facebook-landing-page .related-service-card .service-icon {
    font-size: 2.5rem;
    margin-bottom: 15px;
    background: linear-gradient(45deg, #4267B2, #365899);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.facebook-landing-page .related-service-card h6 {
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 10px;
}

.facebook-landing-page .related-service-card p {
    font-size: 0.9rem;
    color: #6c757d;
    margin: 0;
}

/* Final CTA Section */
.facebook-landing-page .final-cta {
    background: linear-gradient(135deg, #4267B2 0%, #365899 100%);
    padding: 60px 0;
    color: white;
}

.facebook-landing-page .final-cta h3 {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.facebook-landing-page .final-cta p {
    font-size: 1.1rem;
    margin-bottom: 0;
    opacity: 0.9;
}

.facebook-landing-page .btn-warning {
    background: #ffc107;
    border: 2px solid #ffc107;
    color: #2c3e50;
    font-weight: 600;
}

.facebook-landing-page .btn-warning:hover {
    background: transparent;
    color: #ffc107;
}

.facebook-landing-page .btn-outline-light {
    background: transparent;
    border: 2px solid white;
    color: white;
}

.facebook-landing-page .btn-outline-light:hover {
    background: white;
    color: #4267B2;
}

/* Facebook Responsive Design */
@media (max-width: 992px) {
    .facebook-landing-page .hero-title {
        font-size: 2.5rem;
    }
    
    .facebook-landing-page .hero-subtitle {
        font-size: 1.2rem;
    }
    
    .facebook-landing-page .trust-indicators {
        justify-content: center;
        gap: 20px;
    }
    
    .facebook-landing-page .page-frame {
        width: 250px;
        height: 400px;
    }
    
    .facebook-landing-page .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .facebook-landing-page .steps-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }
    
    .facebook-landing-page .col-md-2-4 {
        flex: 0 0 50%;
        max-width: 50%;
        margin-bottom: 20px;
    }
}

@media (max-width: 768px) {
    .facebook-landing-page .hero-section {
        padding: 60px 0;
    }
    
    .facebook-landing-page .hero-title {
        font-size: 2rem;
    }
    
    .facebook-landing-page .hero-subtitle {
        font-size: 1rem;
    }
    
    .facebook-landing-page .trust-indicators {
        flex-direction: column;
        gap: 15px;
        align-items: center;
    }
    
    .facebook-landing-page .trust-item {
        display: flex;
        align-items: center;
        gap: 15px;
    }
    
    .facebook-landing-page .hero-buttons {
        justify-content: center;
        flex-direction: column;
        align-items: center;
    }
    
    .facebook-landing-page .hero-buttons .btn {
        width: 100%;
        max-width: 300px;
    }
    
    .facebook-landing-page .page-frame {
        width: 200px;
        height: 320px;
    }
    
    .facebook-landing-page .section-header h2 {
        font-size: 2rem;
    }
    
    .facebook-landing-page .stats-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .facebook-landing-page .steps-container {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .facebook-landing-page .feature-item {
        flex-direction: column;
        text-align: center;
    }
    
    .facebook-landing-page .feature-icon {
        margin-right: 0;
        margin-bottom: 15px;
    }
    
    .facebook-landing-page .pricing-card.popular {
        transform: none;
        margin: 20px 0;
    }
    
    .facebook-landing-page .col-md-2-4 {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 15px;
    }
    
    .facebook-landing-page .final-cta .text-lg-end {
        text-align: center !important;
        margin-top: 20px;
    }
    
    .facebook-landing-page .final-cta .btn {
        display: block;
        width: 100%;
        max-width: 250px;
        margin: 10px auto;
    }
}

	.home-customer .slider-btns {
		width: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		margin-top: 20px
	}

	.home-customer .slider-btns .slider-btn {
		width: 64px;
		height: 64px;
		background-color: #2E4C67;
		-webkit-transform: inherit;
		transform: inherit;
		position: relative
	}

	.home-customer .slider-btns .slider-btn:hover {
		opacity: .9
	}

	.home-customer .slider-btns .slider-btn.active {
		border-color: #ffc107
	}

	.home-customer .slider-btns .slider-btn img {
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		object-fit: cover
	}

	.home-customer .slider-btns .slider-btn.sb-1,
	.home-customer .slider-btns .slider-btn.sb-2,
	.home-customer .slider-btns .slider-btn.sb-3,
	.home-customer .slider-btns .slider-btn.sb-4 {
		top: inherit;
		left: inherit
	}

	.hsl-title-icon {
		margin-bottom: 20px;
		width: 64px !important;
		height: 64px !important;
		font-size: 40px !important
	}

	.home-section {
		padding: 70px 0
	}

	.hl-btns {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column
	}

	.hl-btns>a {
		-webkit-box-flex: 1;
		-ms-flex: 1;
		flex: 1
	}

	.home-head .hh-left-badge {
		height: 38px;
		border-radius: 19px
	}

	.home-head .hh-left-badge .hhlb-icon {
		width: 28px;
		height: 28px
	}

	.home-head .hh-left-badge .hhlb-text {
		padding: 10px 9px;
		font-size: 13px
	}

	.home-head .home-head-content {
		padding: 0
	}

	.home-head .hl-title {
		font-size: 24px;
		line-height: 36px;
		font-weight: 600;
		margin-top: 32px;
		margin-bottom: 26px;
		color: #fff
	}

	.home-head .hl-text {
		display: none
	}

	.btn.btn-lg {
		padding: 18px 40px
	}

	.btn.btn-lg.btn-outline {
		padding: 16px 40px
	}

	.hl-input input:focus~.floating-label,
	.hl-input input:not(:focus):valid~.floating-label {
		top: 8px;
		-webkit-transform: translateY(0);
		transform: translateY(0);
		bottom: 10px
	}

	.hl-input input:focus {
		border-color: #ffc107 !important
	}

	.hl-input .inputText {
		padding: 24px 16px 14px
	}

	.hsobs .hsob {
		padding: 11px 20px;
		margin: 8px 0
	}

	.hsobs .hsob .hsob-title {
		font-size: 16px;
		font-weight: 400
	}

	.hsl-text {
		font-size: 16px;
		line-height: 31px;
		font-weight: 400;
		color: rgba(255, 255, 255, 0.9)
	}

	.how-pworks .hpw-title {
		color: #fff;
		font-size: 24px
	}

	.how-pworks .hpw-text {
		font-weight: 500;
		line-height: 18px
	}

	.home-title h2 {
		color: #fff;
		font-weight: 700;
		font-size: 30px
	}


	.header {
		margin-top: 0
	}

	.custom-check .checkmark:after {
		border-color: transparent !important
	}
}

@media (max-width: 991.98px) {
	.home-boost-box {
		padding: 40px 24px
	}

	.home-menu-btn {
		display: inline-block
	}

	.head-menu {
		display: none;
		position: fixed;
		top: 80px;
		left: 0;
		bottom: 0;
		right: 0;
		background-color: #181c29;
		-webkit-box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.16);
		box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.16);
		padding: 40px 30px;
		z-index: 1003;
		overflow-y: auto;
		border-top-left-radius: 30px;
		border-top-right-radius: 30px
	}

	.head-menu .btn {
		display: block
	}

	.head-menu .mmff {
		width: 100%;
		display: block
	}

	.head-menu .hm-close {
		position: absolute;
		left: 50%;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
		top: 18px;
		cursor: pointer;
		width: 60px;
		height: 60px;
		text-align: center;
		line-height: 60px;
		color: #fff;
		opacity: .6;
		z-index: 1004
	}

	.head-menu .bs-btn {
		display: block;
		width: 100%
	}

	.head-menu .bs-btn+.bs-btn {
		margin-top: 14px
	}

	.head-menu .header-menu>ul {
		width: 100%;
		padding: 0 20px 30px
	}

	.head-menu .header-menu>ul>li {
		display: block;
		position: relative
	}

	.head-menu .header-menu>ul>li+li {
		margin: 0
	}

	.head-menu .header-menu>ul>li>a {
		display: block;
		text-align: left;
		position: relative;
		max-height: 40px;
		padding: 24px 0;
		line-height: 30px;
		font-size: 20px;
		font-weight: 600
	}

	.head-menu .header-menu>ul>li>a::after {
		display: none
	}

	.head-menu.active {
		display: block
	}
}

@media (max-width: 1199.98px) {
	.homeI-2 {
		width: 100%
	}
}

@media (max-width: 1600px) {
	.home-head .bub-items {
		display: none !important
	}
}

/* CLEANUP 2026-05-07: removed .ahbtn + .bs-1..4 variants (dead — never used in markup) */

.pg-titlte {
	font-size: 25px;
	line-height: 31px;
	color: #FFF;
	font-weight: 600;
	margin-bottom: 0
}

.pg-text {
	font-weight: 400;
	font-size: 14px;
	line-height: 17px;
	margin-top: 10px;
	color: #FFF
}

a:hover {
	color: #0967a1
}

.primary-color {
	color: #ffc107 !important
}

.secondary-color {
	color: #192149 !important
}

.sc-sup-item .text.success-color,
.success-color {
	color: #00B67A !important
}

.sc-sup-item .text.danger-color,
.danger-color {
	color: #f65619 !important
}

.sc-sup-item .text.warning-color,
.warning-color {
	color: #fbbc05 !important
}

.primary-bg {
	background-color: #0258FF !important
}

.secondary-bg {
	background-color: #192149 !important
}

.success-bg {
	background-color: #00B67A !important
}

.warning-bg {
	background-color: #fbbc05 !important
}

.danger-bg {
	background-color: #f65619 !important
}

.pink-bg {
	background-color: #ff029a !important
}

.purple-bg {
	background-color: #9158ed !important
}

.orange-bg {
	background-color: #f39c12 !important
}

.container {
	max-width: 1120px
}

.fw-400 {
	font-weight: 400 !important
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
	transition: background-color 5000s ease-in-out 0
}

.sbadge {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 13px 24px 13px 20px;
	background: linear-gradient(246.82deg, #1a2444 8.2%, rgba(34, 45, 79, 0) 78.22%), #0c1447;
	border: 1px solid #19225c;
	box-sizing: border-box;
	box-shadow: 0 25px 50px rgba(10, 39, 83, 0.07);
	border-radius: 15px;
	font-size: 13px;
	line-height: 15px;
	letter-spacing: -.03em;
	color: #fff
}

.sbadge .icon {
	font-size: 14px;
	line-height: 15px;
	display: flex;
	align-items: center;
	justify-content: center
}

.sbadge .text {
	font-weight: 600
}

.card {
	background: #121D27;
	border: 1px solid #183441;
	box-sizing: border-box;
	box-shadow: 0 25px 50px rgba(10, 39, 83, 0.07);
	border-radius: 20px;
	position: relative
}

.card-body {
	padding: 31px 28px
}

.card-header {
	border-radius: 15px 15px 0 0 !important;
	background: url(https://storage.perfectcdn.com/e70129/3ko4iakx3589yi1s.png);
	background-size: cover;
	background-position: center;
	padding: 30px 28px;
	border-width: 1px;
	border-bottom-width: 1px;
	border-style: solid;
	border-color: transparent
}

.card-header.body-top-on-this {
	z-index: 2
}

.card-header.body-top-on-this+.card-body {
	z-index: 4;
	position: relative;
	margin-top: -20px;
	padding-top: 0
}

.card-title {
	font-weight: 600;
	font-size: 19px;
	line-height: 30px;
	letter-spacing: -.005em;
	color: #fff;
	margin-bottom: 0
}

.card-h-text {
	margin-bottom: 0;
	font-weight: 600;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: -.005em;
	color: rgba(255, 255, 255, 0.35);
	margin-top: 10px;
	display: none
}

@media (min-width: 992px) {
	.card-h-text {
		display: block
	}
}

.card.card-no-box {
	position: relative;
	margin: 0 0 30px
}

.card.card-no-box.cnb-2 .cb-content::after {
	background-image: url(https://storage.perfectcdn.com/0402e1/ofqzxfp9grw0ehyi.png)
}

.card.card-no-box.cnb-2 .cnb-circle {
	color: #FF2828;
	border-color: #FF2828
}

.card.card-no-box.cnb-3 .cb-content::after {
	background-image: url(https://storage.perfectcdn.com/0402e1/zegx57lhj96h8umk.png)
}

.card.card-no-box.cnb-3 .cnb-circle {
	color: #28F1AA;
	border-color: #28F1AA
}

.card.card-no-box.cnb-4 .cb-content::after {
	background-image: url(https://storage.perfectcdn.com/0402e1/l9tcfibhsjranlqt.png)
}

.card.card-no-box.cnb-4 .cnb-circle {
	color: #A12AFF;
	border-color: #A12AFF
}

.card.card-no-box .cb-content {
	position: relative;
	overflow: hidden
}

.card.card-no-box .cb-content::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	background-image: url(https://storage.perfectcdn.com/0402e1/pld5aq47eq9iqqm6.png);
	opacity: .17;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: bottom center
}

.card.card-no-box .cnb-content {
	padding: 30px 30px 50px;
	position: relative;
	z-index: 5
}

@media (max-width: 991.98px) {
	.card.card-no-box .cnb-content {
		padding: 15px
	}

	.card.card-no-box .cnb-content .col-auto {
		display: none
	}

	.card.card-no-box h2 {
		font-size: 12px !important
	}

	.card.card-no-box h3,
	.pwd {
		font-size: 18px !important
	}

	.card.card-no-box {
		margin: 0 0 15px
	}
}

.card.card-no-box .cnb-circle {
	border-radius: 50%;
	border: 3px solid #2A62FF;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	color: #2A62FF;
	font-size: 32.6276px;
	line-height: 33px;
	color: #2A62FF
}

.card.card-no-box h2 {
	font-weight: 400;
	font-size: 14px;
	line-height: 17px;
	color: #FFF;
	margin-bottom: 4px
}

.card.card-no-box h3,
.pwd {
	font-weight: 700;
	font-size: 24px;
	line-height: 37px;
	color: #FFF;
	margin-bottom: 0
}

.form-control {
	background: #121D27;
	border: 1px solid #183441;
	border-radius: 15px;
	line-height: 20px;
	padding: 14px 18px;
	outline: none;
	font-weight: 600;
	font-size: 14px;
	line-height: 17px;
	color: rgba(255, 255, 255, 0.842);
    height: 50px
}

.form-control:focus {
	box-shadow: 0 0 0 4px #ffc107d9;
	background-color: #121D27;
	border: 1px solid transparent;
	color: #fff
}

.form-control::placeholder {
	color: #929cb7
}

.form-control:disabled,
.form-control[readonly] {
	background-color: #0c141b !important;
	opacity: 1
}

.form-select,
select.form-control {
	background: #121D27;
	border: 1px solid #183441;
	border-radius: 15px;
	line-height: 20px;
	padding: 14px 18px;
	font-weight: 600;
	font-size: 14px;
	line-height: 17px;
	color: #fff;
    height: 50px;
    width: 100%
}

.form-select:focus,
select.form-control:focus {
	box-shadow: none;
	background: #121D27;
	border: 1px solid #183441
}

.form-select::placeholder,
select.form-control::placeholder {
	color: rgba(255, 255, 255, 0.5)
}

/* Form controls don't inherit font-family by default — force theme font */
input, select, textarea, button, .form-control, .form-select, select.form-control, .form-control::placeholder, .form-select::placeholder { font-family: var(--font-th), var(--font-en), system-ui, sans-serif; }

.form-label,
#appDashboard label,
.appAuth label {
	font-weight: 600;
	font-size: 14px;
	line-height: 16px;
	color: #fff;
	margin-bottom: 12px
}

.form-control-lg {
	padding: 20px 18px
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
	box-shadow: 0 0 0 30px transparent inset !important;
	-webkit-text-fill-color: #fff !important
}

.form-check-label {
	font-weight: 600;
	font-size: 14px;
	line-height: 17px;
	color: #fff
}

.form-check-input {
	width: 20px;
	height: 20px
}

.form-check-input:checked {
	background-color: #0258FF;
	border-color: #0258FF
}

.hbadge {
	position: relative;
	display: inline-block;
	background: rgba(18, 140, 214, 0.15);
	border-radius: 50px;
	font-weight: 600;
	font-size: 14px;
	line-height: 14px;
	letter-spacing: -.03em;
	color: #297eb3;
	padding: 12px 24px;
  	height: 55px
}

.hbadge-danger {
	color: #cf5e33;
	background: rgba(246, 86, 25, 0.15)
}

.dropdown-menu {
	border: none;
	box-shadow: 0 10px 30px rgb(177, 151, 0, 0.22);
	border-radius: 15px;
	background-color: #0C141B
}

.dropdown-item {
	font-weight: 500;
	color: #fff;
	padding: 6px 20px
}

.dropdown-item:hover {
	background-color: rgba(255, 255, 255, 0.06);
	color: #fff
}

@media (min-width: 992px) {
	.dropdown-item {
		font-size: 14px
	}
}

.dropdown-item:focus {
	background-color: #0258FF
}

.dropdown-divider {
	background-color: #d0d0d0
}

.pagination .page-item.active .page-link {
	background-color: #ffc107;
    color: #fff;
}

.pagination .page-item.active .page-link::before {
	content: "";
	bottom: 0;
	height: 3px;
	width: 14px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	background-color: #121d27
}

.pagination .page-item:first-child {
	border-right: 1px solid #151d46
}

.pagination .page-item:first-child .page-link {
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
	font-weight: 400
}

.pagination .page-item:last-child {
	border-left: 1px solid #151d46
}

.pagination .page-item:last-child .page-link {
	border-top-right-radius: 10px;
	border-bottom-right-radius: 10px;
	font-weight: 400
}

.pagination .page-item .page-link {
	background: #121d27;
    border: none;
    margin: 0;
    height: 50px;
    padding: 0;
    min-width: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 17.3005px;
    line-height: 18px;
    color: #b7cdd8;
    position: relative;
}

.pagination .page-item .page-link:focus {
	z-index: 2
}

.menu-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 15px;
	background-color: #183441;
	color: #ffc107;
	outline: none;
	border: none;
	font-size: 18px;
	transition: .14s ease;
	z-index: 1020
}

.menu-btn:focus {
	box-shadow: 0 0 0 4px rgba(0, 177, 77, 0.1)
}

#appDashboard .dashboard-head-wrapper {
	padding-top: 40px
}

.dashboard-head-wrapper {
	position: relative;
	margin-bottom: 30px
}

.dashboard-head-wrapper .dashboard-head {
	background: #183441;
	border: 1px solid #ffc107;
	border-radius: 15px;
	position: relative
}

@media (min-width: 992px) {
	.dashboard-head-wrapper .dashboard-head {
		border-radius: 25px
	}
}

.dashboard-head-wrapper .dhead-body {
	position: relative;
	z-index: 6;
	padding: 20px;
	display: flex;
	align-items: center;
	gap: 30px
}

@media (min-width: 768px) {
	.dashboard-head-wrapper .dhead-body {
		padding: 40px 44px;
		max-width: 80%
	}
}

@media (min-width: 992px) {
	.dashboard-head-wrapper .dhead-body {
		padding: 60px;
		max-width: 70%
	}
}

.dashboard-head-wrapper .dhead-body .title {
	font-style: normal;
	font-weight: 600;
	font-size: 22px;
	line-height: 34px;
	margin-bottom: 14px;
	color: #fff
}

@media (min-width: 768px) {
	.dashboard-head-wrapper .dhead-body .title {
		font-size: 25px;
		line-height: 34px
	}
}

.dashboard-head-wrapper .dhead-body .text {
	font-weight: 500;
	font-weight: 400;
	font-size: 16px;
	line-height: 22px;
	color: #c9c9c9;
	margin-bottom: 0
}

.dashboard-head-wrapper .dhead-body .text a {
	color: #029fff
}

.dashboard-head-wrapper .dhead-body .text-2 {
	padding-top: 6px;
	font-size: 14px;
	line-height: 20px;
	color: #72879d;
	margin-bottom: 0
}

.dashboard-head-wrapper .dhead-body .dhead-icon {
	display: none
}

.dashboard-head-wrapper .dhead-body .dhead-icon.pg-af {
	background: rgba(255, 0, 153, 0.25);
	color: #f09
}

.dashboard-head-wrapper .dhead-body .dhead-icon.pg-ap {
	background: #183441;
	border: 5px solid #ffc107
}

.dashboard-head-wrapper .dhead-body .dhead-icon.pg-cp {
	background: rgb(253 195 6 / 25%);
	color: #ffc107
}

@media (min-width: 768px) {
	.dashboard-head-wrapper .dhead-body .dhead-icon {
		width: 82px;
		height: 82px;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		align-items: center;
		font-size: 42px
	}
}

.dashboard-head-wrapper .dhead-img-wrapper {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	width: 100%
}

.dashboard-head-wrapper .dhead-img-wrapper .dhead-img {
	position: absolute;
	right: 0;
	top: 0;
	height: 100%;
	max-width: 100%;
	display: none
}

@media (min-width: 992px) {
	.dashboard-head-wrapper .dhead-img-wrapper .dhead-img {
		display: block
	}
}

.appAuth {
	position: relative;
	min-height: 100vh;
	background: #0C141B;
	padding-left: 280px;
	padding-top: 90px;
	color: #fff
}

.appAuth .container {
	max-width: 1400px
}

.appAuth .menu-btn {
	position: fixed;
	top: 14px;
	left: 14px
}

.appAuth .menu-btn .ri-close-line,
.appAuth .menu-btn .ri-menu-line {
	position: absolute;
	left: 50%;
	top: 50%
}

.appAuth .menu-btn .ri-close-line {
	transform: scale(0) translate(-50%, -50%);
	transition: .2s ease
}

.appAuth .menu-btn .ri-menu-line {
	transition: .2s ease;
	transform: translate(-50%, -50%)
}

@media (max-width: 992px) {
	.appAuth {
		padding-left: 0
	}

	.appAuth.sidebar-active .appSidebar {
		transform: translateX(0) translateX(0)
	}

	.appAuth.sidebar-active .menu-btn {
		left: 300px
	}

	.appAuth.sidebar-active .menu-btn .ri-close-line {
		transform: scale(1) translate(-50%, -50%)
	}

	.appAuth.sidebar-active .menu-btn .ri-menu-line {
		transform: scale(0) translate(-50%, -50%)
	}

	.appAuth .appSidebar {
		transform: translateX(-110%);
		transition: .24s ease;
		box-shadow: 4px 0 30px rgba(0, 0, 0, 0.3)
	}
}

.appSidebar {
	background: #121D27;
	border-right: 1px solid #183441;
	border-radius: 0;
	width: 280px;
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	z-index: 1040
}

.sbLogo {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 6px 0 0;
	margin-bottom: -10px
}

.sbLogo img {
	max-width: 250px
}

.sbUsrWr {
	padding: 20px 30px 0
}

.sbUsr {
	background: #0C141B;
	border-radius: 44px;
	position: relative;
	display: flex;
	align-items: center;
	padding: 10px;
	gap: 20px;
	transition: .14s ease
}

.sbUsr:focus {
	box-shadow: 0 0 0 .25rem rgba(2, 88, 255, 0.2)
}

.avtWr {
	background-color: #ffc107;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	overflow: hidden;
	text-align: center;
	padding-top: 4px
}

.avtWr span {
	font-weight: 600;
	font-size: 24px;
	color: #fff
}

.sbName {
	font-weight: 600;
	font-size: 14px;
	line-height: 16px;
	letter-spacing: .01em;
	color: #fff;
	display: flex;
	align-items: center;
	gap: 10px
}

.sbName::after {
	content: "\eb80";
	color: #0258FF;
	font-family: remixicon !important;
	font-style: normal;
	-webkit-font-smoothing: antialiased;
	font-size: 18px
}

.sbUsrSt {
	margin-top: 6px;
	font-weight: 600;
	font-size: 12px;
	line-height: 12px;
	letter-spacing: .02em;
	color: #8b98b8
}

/* CLEANUP 2026-05-07: removed .goWr (dead — replaced by .arrow in sidebar v3) */

.sbMenuWr {
	flex: 1;
	overflow-y: auto;
	padding: 20px 0 40px
}

.sbMenuWr::-webkit-scrollbar {
	width: 0
}

.sbMenu {
	list-style: none;
	margin: 0;
	padding: 0 30px;
	gap: 15px;
	display: flex;
	flex-direction: column
}

.sbMenu .mItem {
	display: block
}

.sbMenu .mLink {
	color: #fff;
	display: flex;
	align-items: center;
	padding: 15px 20px;
	transition: .14s ease;
	cursor: pointer
}

.sbMenu .mLink .mText {
	font-weight: 600;
	font-size: 14px;
	line-height: 16px
}

.sbMenu .mLink .mIcon {
	display: flex;
	align-items: center;
	font-size: 20px;
	width: 37px
}

.sbMenu .mLink.active {
	background: #ffc107;
	box-shadow: 0 7.93801px 19.845px rgb(255, 193, 77, 0.15);
	border-radius: 50px;
	color: #fff
}

.sbMenu .mLink.active:hover {
	color: #fff
}

.sbMenu .mLink:hover {
	color: #ffc107
}

.sbMenu .mSMore {
	background: #0c2447;
	border: 1px solid #2a4771;
	color: #fff;
	display: flex;
	justify-content: center;
	gap: 10px;
	align-items: center;
	border-radius: 30px;
	display: flex;
	align-items: center;
	padding: 15px 20px;
	transition: .14s ease;
	cursor: pointer
}

.sbMenu .mSMore .mText {
	font-weight: 600;
	font-size: 14px;
	line-height: 16px
}

.sbMenu .mSMore .mIcon {
	display: flex;
	align-items: center;
	font-size: 20px;
	transition: .14s ease
}

.sbMenu .mSMore:focus {
	box-shadow: 0 0 0 .25rem rgba(25, 33, 73, 0.3)
}

.sbMenu .mSMoreItem.active .mSMore .mIcon {
	transform: rotate(180deg)
}

.sbMenu .mSMoreItem.active .subMenu {
	width: 100%;
	display: flex
}

.sbMenu .subMenu {
	display: none;
	flex-direction: column;
	padding: 14px 0;
	margin: 0;
	transition-timing-function: .2s ease
}

.appHeader {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	height: 74px;
	z-index: 1001;
	background: #121D27;
	border-bottom: 1px solid #183441
}

@media (min-width: 768px) {
	.appHeader {
		padding: 0 30px;
		height: 90px;
		border-bottom: 0
	}
}

/* CLEANUP 2026-05-07: removed .appHeader .apHdRw rules (dead — markup no longer
 * uses .apHdRw row container; topbar v4 uses .l2v2-topbar flex directly) */

@media (min-width: 992px) {
	.appHeader {
		left: 280px
	}
}

.apPgTi {
	font-weight: 600;
	font-size: 19px;
	line-height: 22px;
	color: #fff
}

.apPgTx {
	font-weight: 600;
	font-size: 14px;
	line-height: 16px;
	color: #8b98b8;
	margin: 0 !important
}

.apHdCr {
	display: flex;
	align-items: center;
	gap: 14px
}

@media (max-width: 992px) {
	.apHdCr {
		width: 42px;
		height: 42px;
		padding: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 20px
	}
}

.apHdCr::after {
	display: none
}

.apHdIt {
	position: relative;
	background-color: transparent;
	display: flex;
	gap: 12px;
	align-items: center;
	text-align: left;
	padding: 0
}

.apHdIt::after {
	display: none
}

@media (min-width: 768px) {
	.apHdIt {
		padding: 9px 20px
	}
}

.apHdIt .icon {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #0C141B;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffc107;
	font-size: 20px;
	overflow: hidden
}

.apHdIt .icon.avatar {
	background-color: transparent
}

/* CLEANUP 2026-05-07: removed .colIc .icon.avatar (dead — .colIc no longer in markup) */

.apHdIt .icon.avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover
}

.apHdIt .title {
	font-weight: 600;
	font-size: 14px;
	line-height: 16px;
	color: #fff
}

.apHdIt .text {
	font-weight: 600;
	font-size: 12px;
	line-height: 12px;
	color: #8b98b8;
	margin-top: 6px
}

.apHdIt .arrows {
	color: #fff;
	display: flex;
	align-items: center
}

.apHdIt.apHdPrb {
	background: #0C141B;
	border-radius: 50px;
	padding: 10px 0 10px 10px
}

.appContent {
	padding-bottom: 40px
}

@media (min-width: 992px) {
	.appContent {
		padding: 0 30px 30px
	}
}

.hiddenTitle {
	display: none;
	visibility: hidden;
	opacity: 0
}

.nwoNav {
	background: #121D27;
	border: 1px solid #183441;
	border-radius: 15px;
	margin: 0;
	list-style: none;
	padding: 7px;
	display: flex
}

.nwoNav .nwoNavLink {
	border: none;
	outline: none;
	border-radius: 11px;
	font-weight: 600;
	font-size: 14px;
	line-height: 16px;
	background-color: transparent;
	color: #fff;
	padding: 13px 25px;
	transition: .14s ease
}

.nwoNav .nwoNavLink.active {
	background: #ffc107;
	color: #fff
}

.nwoTabs .nwoTab {
	display: none
}

.nwoTabs .nwoTab.active {
	display: block
}

.nwoDeIt {
	height: 47px;
	padding: 0 10px;
	display: flex;
	align-items: center;
	gap: 20px;
	background: #121D27;
	border: 1px solid #183441;
	border-radius: 15px
}

.nwoDeIt.description {
	height: auto;
	padding: 20px
}



@media (min-width: 992px) {
	.nwoDeIt.description {
		padding: 30px
	}
}

.nwoDeIt .icon {
	width: 32px;
	height: 32px;
	color: #fff;
	background-color: #192149;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%
}

.nwoDeIt .text {
	font-weight: 600;
	font-size: 14px;
	line-height: 16px;
	color: #fff;
	overflow-wrap: break-word;
	max-width: 100%
}

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

.s-row.s-title {
	font-weight: 600;
	display: none
}

@media (min-width: 992px) {
	.s-row.s-title {
		display: flex
	}
}

.s-col {
	flex: 0 0 auto
}

@media (min-width: 992px) {
	.s-col {
		flex: 0 0 50px;
		width: 50px
	}

	.s-col.s-col-sm {
		flex: 0 0 70px;
		width: 70px
	}

	.s-col.s-col-md {
		flex: 0 0 100px;
		width: 100px
	}

	.s-col.s-col-lg {
		flex: 0 0 180px;
		width: 180px
	}

	.s-col.s-title {
		flex: 1 0 0;
		width: auto
	}
}

.services-wrapper {
	display: flex;
	flex-wrap: wrap;
	width: 100%
}

@media (min-width: 992px) {
	.services-wrapper {
		flex-direction: column
	}
}

.si-wrapper {
	flex: 0 0 auto;
	width: 100%;
	position: relative
}

@media (min-width: 768px) {
	.si-wrapper {
		flex: 0 0 auto;
		width: 50%
	}
}

@media (min-width: 992px) {
	.si-wrapper {
		width: 100%
	}
}

.service-item {
	padding: 12px 30px;
	border-radius: 15px;
	margin-bottom: 14px;
	background: #121d27;
	border: 1px solid #183441;
	box-sizing: border-box;
	border-radius: 15px
}

@media (max-width: 992px) {
	.service-item .s-row {
		flex-wrap: wrap;
		align-items: center
	}

	.service-item .s-col-avtime {
		width: 100%;
		text-align: center
	}

	.service-item .s-col-btn {
		flex: 1
	}

	.service-item .s-col {
		padding: 0
	}

	.service-item .s-col::before {
		content: attr(data-title);
		display: block;
		padding-bottom: 6px;
		font-weight: 600;
		color: red;
		font-size: 13px
	}

	.service-item .s-col-fav {
		order: 100
	}

	.service-item .s-col-id {
		width: 100%;
		text-align: center
	}

	.service-item .s-title {
		width: 100%;
		text-align: center
	}

	.service-item .s-col-c {
		width: 30%;
		text-align: center
	}
}

.services-head-row .service-item {
	background-color: transparent;
	border: none
}

.sp-serv-title {
	font-weight: 600;
	font-size: 14px;
	line-height: 17px
}

.sp-serv-sm {
	font-weight: 600;
	font-size: 16px;
	line-height: 17px;
	color: #ffc107
}

@media (min-width: 992px) {
	.sp-serv-sm {
		color: #949494;
		font-size: 14px
	}
}

.orlc {
	border-radius: 10px;
	font-weight: 600;
	font-size: 14px;
	line-height: 17px;
	padding: 5px 10px;
	background: #f7fafc;
	color: #74809d;
	border-radius: 10px
}

.orlc.min {
	background: rgba(45, 250, 213, 0.18);
	color: #0a977e;
	border: 1px solid #0a977e
}

.orlc.max {
	background: rgba(255, 38, 38, 0.25);
	color: #FE7E7E;
	border: 1px solid #FE7E7E
}

.sp-services .card {
	margin-bottom: 30px
}

@media (min-width: 992px) {
	.sp-services .card {
		background-color: #121D27; /* Dark First */
		border: 1px solid #183441;
		overflow: hidden
	}

	/* Light Mode Override */
	html.light .sp-services .card {
		background-color: #fff !important;
		border-color: #eee !important;
	}
}

.si-header {
	padding: 25px 30px;
	background: url(https://storage.perfectcdn.com/0402e1/b5b38u9mlsnaeubz.png) #ffc107;
	border-radius: 15px;
	margin-bottom: 14px
}

.si-header .si-title {
	font-weight: 600;
	font-size: 19px;
	line-height: 23px;
	color: #fff;
	margin-bottom: 0
}

.search-services {
	height: 40px;
	position: relative
}

.search-services:focus-within .icon {
	color: #fff
}

.search-services .icon {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	color: #92969d;
	transition: .14s ease
}

.search-services .textbox {
	width: calc(100% - 40px);
	margin-left: 40px;
	height: 40px;
	background-color: transparent;
	outline: none;
	border: none;
	color: #fff;
	font-weight: 600;
	font-size: 14px;
	line-height: 16px
}

.search-services .textbox::placeholder {
	color: #92969d
}

.orders-nav-wrapper {
	padding-top: 30px;
	margin-bottom: 30px
}

.orders-nav {
	list-style: none;
	margin: 0;
	padding: 0 0 10px;
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap
}

.orders-nav-link {
	background: #121D27;
	border: 1px solid #183441;
	box-sizing: border-box;
	border-radius: 15px;
	color: #637990;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 20px;
	transition: .14s ease
}

.orders-nav-link:focus {
	box-shadow: #ffc107d9 ;
}

/* Inactive tabs — bright text for readability */
.orders-nav-link:not(.active) {
	color: #e2e8f0 !important;
}

.orders-nav-link.active {
	background-color: #ffc107;
	border-color: #183441 !important;
	color: #fff !important
}

.orders-nav-link.active:hover {
	background-color: #ffc107;
	color: #fff;
	border-color: #183441
}

@media (min-width: 992px) {
	.orders-nav-link {
		padding: 10px 13px
	}
}

@media (min-width: 1200px) {
	.orders-nav-link {
		padding: 11px 15px
	}
}

@media (min-width: 1400px) {
	.orders-nav-link {
		padding: 14px 18px
	}
}

.orders-nav-link .icon {
	font-size: 20px;
	display: flex;
	align-items: center
}

.orders-nav-link .text {
	font-weight: 600;
	font-size: 14px;
	line-height: 16px
}

.op-search-box {
	transition: .14s ease
}

.op-search-box:focus-within {
	box-shadow: 0 0 0 .25rem rgba(2, 88, 255, 0.25)
}

.op-search-box .icon {
	color: #637990
}

.op-search-box input {
	transition: .14s ease;
	background-color: transparent;
	border: none;
	outline: none;
	flex: 1;
	color: #fff;
	font-weight: 600;
	font-size: 14px;
	line-height: 16px
}

.op-search-box input::placeholder {
	color: #566676
}

.op-card {
	margin-bottom: 30px
}

.op-card .op-card--top {
	padding-bottom: 30px;
	border-bottom: 1px solid #0c141b
}

.op-card .op-card--bottom {
	padding-top: 30px
}

.op-stats {
	display: block;
	font-weight: 600;
	font-size: 14px;
	line-height: 20px;
	text-align: center;
	border: 1px solid #fff;
	background-color: rgba(255, 255, 255, 0.15);
	border-radius: 15px;
	padding: 20px 34px
}

.op-stats.op-stats-sm {
	padding: 16px 30px;
	border-color: rgba(255, 255, 255, 0.15) !important
}

.op-stats.op-stats-btn {
	padding: 20px;
	display: inline-block;
	background: #0258FF;
	border: none;
	color: #566676;
	transition: .14s ease;
	color: #fff
}

.op-stats.op-stats-btn:focus {
	box-shadow: 0 0 0 .25rem rgba(2, 88, 255, 0.25)
}

.op-stats.op-stats-btn.cs-btn {
	font-size: 24px;
	margin-bottom: 0
}

.op-stats.primary {
	background-color: #00B67A;
	border: none;
	color: #fff
}

.op-stats.secondary {
	background-color: #2d5a8e !important;
	border: none;
	color: #fff
}

.op-stats.info {
	background-color: #029fff;
	border: none;
	color: #fff
}

.op-stats.warning {
	background-color: #fbbc05;
	border: none;
	color: #fff
}

.op-stats.danger {
	background-color: #f65619;
	border: none;
	color: #fff
}

.op-stats.danger-btn {
	border: 1px solid #f65619;
	background: rgba(246, 86, 25, 0.1);
	color: #f65619
}

.op-service-title {
	font-weight: 600;
	font-size: 14px;
	line-height: 25px;
	color: #fdfdfd;
	margin-bottom: 0
}

.op-search-box.op-order-link {
	display: flex;
	width: 100%
}

.op-search-box.op-order-link .link {
	display: block;
	width: 100%;
	flex: 1 0 0;
	font-weight: 500;
	color: #c0cdd8 !important;
	font-size: 12px;
	line-height: 18px;
	color: #637990;
	opacity: .8;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden
}

.op-date {
	font-weight: 600;
	font-size: 16px;
	line-height: 25px;
	color: #c0cdd8
}

.op-date::before {
	content: "";
	width: 9px;
	height: 9px;
	background: #9aacbd;
	display: inline-block;
	border-radius: 50%;
	margin-right: 14px;
	margin-left: 0
}

.op-item {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-direction: column
}

@media (min-width: 992px) {
	.op-item {
		flex-direction: row
	}
}

.op-item .title {
	font-size: 14px;
	line-height: 18px;
	color: #72879d
}

.op-item .icon {
	display: flex;
	align-items: center;
	font-size: 24px;
	color: #fdfdfd
}

.op-item .text {
	font-weight: 700;
	font-size: 23px;
	color: #fdfdfd;
	line-height: 27px
}

/* CLEANUP 2026-05-07: removed legacy add-funds payment-method classes
 * (.af-text, .card-af-top, .af-nav-pay + variants, .af-pm-title, .paytab-head,
 * .af-pm-about, .af-pm-text, .af-pm-img, .af-ph, .af-pm-list) — verified zero
 * markup hits across all .twig/.js/.html. Replaced by .af-pay-* (current) and
 * .l2v2-page-addfunds (modernized). ~120 lines saved. */

.sc-sup-item {
	background: #183441;
	border: 1px solid #0C141B;
	box-sizing: border-box;
	border-radius: 15px;
	padding: 18px 30px;
	display: block;
	width: 100%;
	transition: .14s ease
}

.sc-sup-item:hover {
	background: #0C141B;
	border: 1px solid #183441
}

.sc-sup-item .title {
	font-weight: 600;
	font-size: 14px;
	line-height: 16px;
	color: #8b98b8;
	margin-bottom: 10px
}

.sc-sup-item .text {
	font-weight: 600;
	font-size: 14px;
	line-height: 16px;
	color: #fff;
	margin-bottom: 10px
}

@media (min-width: 992px) {
	.sc-sup-item .text {
		margin-bottom: 0
	}
}

.sc-sup-item+.sc-sup-item {
	margin-top: 13px
}

.sd-head {
	padding: 20px 0 30px
}

.sd-back {
	display: block;
	padding: 10px 0 12px;
	margin: 10px 0;
	color: #fff;
	position: relative;
	display: flex;
	align-items: center;
	text-decoration: none;
	font-weight: 600;
	font-size: 16px;
	line-height: 20px
}

.sd-back:hover {
	color: #fff
}

.sd-back:hover::after {
	left: -18px;
	right: -18px
}

.sd-back i,
.sd-back span {
	position: relative;
	z-index: 3
}

.sd-back::after {
	content: "";
	height: 2px;
	background-color: #0258FF;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	transition: .14s ease
}

.sd-tid {
	display: flex;
	align-items: center;
	gap: 30px
}

.sd-tid .title {
	font-weight: 600;
	font-size: 25px;
	line-height: 31px;
	color: #0c2447;
	margin: 0
}

.sd-tid .tid {
	display: block;
	background-color: #0258FF;
	border-radius: 40px;
	font-weight: 600;
	font-size: 16px;
	line-height: 20px;
	color: #ffff;
	padding: 14px 30px
}

.tc-tdet-title {
	font-weight: 600;
	font-size: 25px;
	line-height: 31px;
	margin-bottom: 0
}

.sd-cb {
	padding: 7px 8px 7px 30px
}

.sd-cb .row {
	align-items: center
}

.tc-ti-title {
	font-weight: 600;
	font-size: 16px;
	line-height: 20px;
	color: #72879d;
	margin-bottom: 0
}

.tc-ti-text {
	font-weight: 600;
	font-size: 14px;
	line-height: 20px;
	color: #fff;
	background-color: #0258FF;
	padding: 14px 0;
	width: 150px;
	text-align: center;
	border-radius: 0 15px 15px 0
}

.ticket-message-block {
	display: flex
}

.ticket-message-block.ticket-message-left+.ticket-message-left {
	margin-top: -50px
}

.ticket-message-block.ticket-message-right+.ticket-message-right {
	margin-top: -50px
}

.ticket-message-block.ticket-message-right {
	justify-content: flex-end
}

.ticket-message-block.ticket-message-right .ticket-msg-container {
	text-align: right
}

.ticket-message-block.ticket-message-right .ticket-msg-container .ticket-msg {
	background: #183441;
	border-radius: 20px 20px 0 20px
}

.ticket-message-block.ticket-message-left .ticket-msg-container .ticket-msg {
	border-radius: 20px 20px 20px 0
}

.ticket-message-block .ticket-msg-container {
	width: 100%;
	max-width: 400px
}

.ticket-message-block .ticket-msg-container .ticket-msg {
	background: #ffc107;
	border-radius: 30px;
	padding: 14px 26px;
	margin-bottom: 12px;
	font-weight: 500;
	font-size: 13px;
	line-height: 22px;
	letter-spacing: .3px;
	color: #fff
}

.ticket-message-block .ticket-msg-container .date-time {
	font-size: 12px;
	line-height: 15px;
	color: #747886;
	margin-bottom: 30px;
	padding: 0 10px;
	display: block
}

.schat-body .schat-chat-body {
	max-height: 553px;
	overflow-y: auto;
	margin: 0 -24px;
	padding: 0 24px
}

.schat-body .schat-chat-body::-webkit-scrollbar {
	width: 6px;
	border-radius: 3px
}

.schat-body .schat-chat-body::-webkit-scrollbar-track {
	background: transparent;
	border-radius: 3px
}

.schat-body .schat-chat-body::-webkit-scrollbar-thumb {
	background: rgba(255, 255, 255, 0.2);
	border-radius: 3px
}

.schat-body .schat-chat-body::-webkit-scrollbar-thumb:hover {
	background: rgba(255, 255, 255, 0.4)
}

.schat-body .schat-input {
	padding-top: 10px
}

.schat-msg-input {
	position: relative;
	display: flex;
	background: #0c141b;
	border-radius: 0 0 28px 28px;
	height: 100px;
	align-items: center
}

.schat-msg-input input {
	border: none;
	outline: none;
	background: transparent;
	flex: 1;
	padding: 0 30px;
	font-size: 14px;
	line-height: 17px;
	color: #fff
}

.schat-msg-input input::placeholder {
	color: rgba(255, 255, 255, 0.6)
}

.payments-table {
	width: 100%
}

.payments-table tr {
	background: #f9f9f9;
	border-radius: 10px;
	padding: 12px 14px;
	display: block;
	display: flex;
	align-items: center;
	margin: 0 -10px;
	justify-content: space-between;
	margin-bottom: 14px
}

.payments-table tr>td {
	padding: 0 10px
}

.payments-table .pyt-id {
	background: #21c5fb;
	border-radius: 7px;
	color: #fff;
	padding: 12px 24px;
	font-weight: 600;
	font-size: 16px;
	line-height: 20px
}

.payments-table .pyt-title {
	font-weight: 700;
	font-size: 16px;
	line-height: 20px;
	margin-bottom: 2px
}

.payments-table .pyt-text {
	font-weight: 600;
	font-size: 16px;
	line-height: 20px;
	color: #21c5fb;
	margin-bottom: 0
}

.btn.sd-send-btn {
	box-shadow: none;
	display: flex;
	align-items: center
}

.scd-title {
	font-weight: 600;
	font-size: 25px;
	line-height: 31px;
	color: #fff;
	margin-bottom: 0
}

.scd-id {
	background: #ffc107;
	border-radius: 15px;
	padding: 12px 20px;
	font-weight: 600;
	font-size: 16px;
	line-height: 20px;
	color: #fff
}

.scd-item {
	background: #121D27;
	border: 1px solid #183441;
	border-radius: 15px;
	padding: 20px 24px;
	font-weight: 600;
	font-size: 16px;
	line-height: 18px;
	display: flex;
	align-items: center;
	gap: 10px
}

.scd-item+.scd-item {
	margin-top: 14px
}

.scd-item .title {
	flex: 1
}

.scd-item .text {
	color: #ffc107
}

.dh-icon {
	background-color: #ffc107;
	color: #fff;
	border-radius: 50%;
	position: relative;
	height: 64px;
	width: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 32px;
	font-weight: 400
}

.afp-ftext {
	font-weight: 600;
	font-size: 16px;
	line-height: 20px;
	color: #fff
}

/* CLEANUP 2026-05-07: removed .afp-top + .aft-item (dead — never in markup) */

.aft-box-row {
	margin: 0 -8px -10px
}

.aft-box-row>.col {
	padding: 0 8px
}

.aft-box-row>.col:nth-child(1n) .aft-box .icon {
	background-color: #0258FF
}

.aft-box-row>.col:nth-child(2n) .aft-box .icon {
	background-color: #F65619
}

.aft-box-row>.col:nth-child(3n) .aft-box .icon {
	background-color: #8000FF
}

.aft-box-row>.col:nth-child(4n) .aft-box .icon {
	background-color: #FBBC05
}

.aft-box-row>.col:nth-child(5n) .aft-box .icon {
	background-color: #F09
}

.aft-box {
	position: relative;
	overflow: hidden;
	margin-bottom: 16px;
	padding: 10px;
	display: flex;
	align-items: center;
	gap: 20px
}

.aft-box .icon {
	width: 56px;
	height: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	font-size: 30px;
	font-weight: 400
}

.aft-box .title {
	font-weight: 600;
	font-size: 14px;
	line-height: 17px;
	color: #fff
}

.aft-box .text {
	font-weight: 600;
	font-size: 25px;
	line-height: 25px;
	color: #fff
}

.card-header-ap {
	background-image: url(../img/card-head-ap.png)
}

.acc-avatar {
	width: 66px;
	height: 66px;
	border-radius: 50%;
	object-fit: cover
}

.acc-username {
	font-size: 19px;
	line-height: 19px;
	letter-spacing: .01em;
	color: #fff;
	display: flex;
	align-items: center
}

.acc-username .txt {
	font-weight: 600
}

.acc-username i {
	color: #647494
}

.acc-email {
	font-weight: 400;
	font-size: 14px;
	line-height: 17px;
	margin-top: 8px;
	color: #4e5d7c
}

.acc-switch {
	display: flex;
	background: #192149;
	border-radius: 15px;
	height: 58px;
	padding: 8px;
	outline: none;
	min-width: 122px;
	align-items: center;
	justify-content: center;
	gap: 8px;
	position: relative;
	transition: .14s ease;
	border: 1px solid #192149
}

.acc-switch:focus {
	box-shadow: 0 0 0 .25rem rgba(255, 255, 255, 0.25)
}

.acc-switch.gs-female .acc-switch-bg {
	left: 50%
}

.acc-switch .acc-switch-bg {
	position: absolute;
	z-index: 3;
	border-radius: 12px;
	background-color: #0258FF;
	left: 8px;
	width: calc(50% - 8px);
	top: 8px;
	bottom: 8px;
	transition: .2s ease
}

.acc-switch .btn-gender {
	position: relative;
	z-index: 5;
	outline: none;
	border: none;
	background-color: transparent;
	width: calc(50% - 8px);
	font-size: 18px;
	line-height: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff
}

.acc-icon {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background-color: rgba(2, 88, 255, 0.25);
	color: #0258FF;
	font-size: 24px;
	display: flex;
	align-items: center;
	justify-content: center
}

.acc-icon.i-1 {
	background: rgba(246, 86, 25, 0.15);
	color: #f65619
}

.acc-icon.i-2 {
	background: rgba(0, 182, 122, 0.15);
	color: #00B67A
}

.acc-item {
	padding: 10px 0;
	flex-wrap: nowrap;
	overflow: hidden
}

.acc-item-title {
	font-weight: 600;
	font-size: 13px;
	line-height: 19px;
	letter-spacing: .01em;
	color: rgba(255, 255, 255, 0.622);
	margin-bottom: 6px
}

.acc-item-text {
	font-weight: 600;
	font-size: 16px;
	line-height: 19px;
	color: rgba(255, 255, 255, 0.848);
	display: inline-block;
	max-width: 100%;
	white-space: nowrap;
	overflow: hidden !important;
	text-overflow: ellipsis
}

.serch-in-updates {
	background: #0C141B;
	border: 1px solid #121D27;
	border-radius: 15px;
	height: 58px;
	position: relative;
	padding-left: 58px;
	color: #92969d
}

.serch-in-updates::before {
	content: "\f0cd";
	font-family: remixicon !important;
	font-style: normal;
	-webkit-font-smoothing: antialiased;
	width: 58px;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px
}

.serch-in-updates input {
	width: 100%;
	height: 100%;
	border: none;
	outline: none;
	background-color: transparent;
	color: #fff;
	font-weight: 500
}

.serch-in-updates input::placeholder {
	color: rgba(255, 255, 255, 0.5)
}

.btn-filter {
	background-color: #fff;
	display: flex;
	align-items: center;
	border: 1px solid #ebf2fa
}

.btn-filter .icon {
	color: #0258FF
}

/* CLEANUP 2026-05-07: removed .blog-head, .blogs-title/.blogs-text, .blogs,
 * .blog-item + sub, .blog-single-head, .blog-single-content + h1-h6 (~120 lines)
 * (.b-* and .bgo-* already removed earlier)
 * — all dead, blog.twig uses .blog-post-card / .blog-main-content / .blog-pagination */

.register-page {
	position: relative;
	min-height: 100vh;
	background: #fbc107;
	width: 100%;
	display: flex;
	align-items: center;
	overflow: hidden
}

@media (min-width: 1200px) {
	.register-page::before {
		content: "";
		left: 0;
		top: 0;
		bottom: 0;
		width: calc(50% - 50px);
		position: absolute;
		background-color: #fbc107;
		background-image: url(https://storage.perfectcdn.com/0402e1/5bxcjuyyn3jb6p0g.png);
		background-size: cover;
		background-position: center right
	}
}

.register-left {
	min-height: 100vh;
	position: relative
}

.register-img {
	position: absolute;
	right: 0;
	bottom: 0;
	max-width: 130%
}

.register-go-back {
	font-size: 16px;
	line-height: 1.3;
	letter-spacing: -.02em;
	color: #000;
	display: flex;
	align-items: center;
	margin-bottom: 30px
}

.register-go-back span {
	font-weight: 600
}

.login-title {
	font-weight: 600;
	font-size: 25px;
	line-height: 1.2px;
	letter-spacing: -.05em;
	color: #fff;
	margin-bottom: 20px
}

.login-text {
	font-weight: 600;
	font-size: 12px;
	line-height: 25px;
	letter-spacing: -.02em;
	color: #606b80;
	margin-bottom: 22px
}

.login-label {
	font-weight: 600;
	font-size: 14px;
	line-height: 25px;
	color: #fff;
	margin-bottom: 10px
}

.login-control {
	background: #183441;
	border: 1px solid #121D27;
	box-sizing: border-box;
	border-radius: 15px;
	height: 50px;
	width: 100%;
	position: relative;
	transition: .14s ease
}

.login-control:focus-within {
	background-color: #121D27
}

.login-control:focus-within .icon {
	color: #fff
}

.login-control .icon {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 54px;
	height: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	transition: .14s ease;
	color: #ffc107
}

.login-control input {
	margin-left: 44px;
	width: calc(100% - 54px);
	height: 100%;
	border: none;
	outline: none;
	background: transparent;
	padding: 0 14px;
	font-weight: 600;
	font-size: 14px;
	color: #fff
}

.register-left {
	position: relative
}

.register-phone {
	max-width: 140%;
	position: absolute;
	right: 50px
}

.home-menu-btn {
	position: relative;
	width: 44px;
	height: 44px;
	border-radius: 15px;
	background-color: #183441;
	color: #ffc107;
	outline: none;
	border: none;
	font-size: 18px;
	transition: .14s ease;
	z-index: 1020
}

.home-menu-btn i {
	position: absolute;
	top: 10px;
	left: 13px
}

.form-group.fields {
	margin-bottom: 1.5rem !important
}

.select2-results__option a {
	color: #fff !important;
	font-size: 14px !important
}

.select2-results__option a:hover {
	background: #183441;
	color: #fff !important
}

.select2-container--default .select2-results>.select2-results__options,
.select2-container--open .select2-dropdown--below,
.select2-container--default .select2-results__option[aria-selected=true],
.select2-container--default .select2-results__option:hover {
	background-color: #0c141b !important
}

.select2-container--default .select2-selection--single {
	height: 50px;
	line-height: 36px
}

.modal-wrapper {
	margin: auto;
	background-color: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(5px);
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 2000;
	display: none;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 5px #000
}

.modal-wrapper.active {
	display: flex
}

.mbo-wrapper {
	height: 100%;
	width: 100%;
	padding: 40px 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	white-space: nowrap;
	overflow-y: auto
}

/* ✅ Default (Mobile View) -> อยู่ด้านล่างและเต็มจอ */
.modal-box {
    margin: auto 0;
    max-width: 350px;
    width: 100%;
    border-radius: 25px 25px 0 0;
    background-color: #121d27;
    backdrop-filter: blur(5px);
    text-align: left;
    position: absolute;
    right: 0;
    bottom: 0;
    height: 80%;
    max-height: 500px;
}

/* ✅ ปรับให้ Mobile View (จอเล็กกว่า 992px) สูง 65% */
@media (max-width: 991.98px) {
    .modal-box {
        max-width: 100%;
        height: 65%;
    }
}

/* ✅ ปรับให้ Desktop View (จอใหญ่กว่า 992px) อยู่ตรงกลาง */
@media (min-width: 992px) {
    .modal-box {
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        max-width: 350px;
        height: 80%;
        max-height: 500px;
        right: auto; /* ลบค่า right: 0; เพราะไม่ต้องการให้ชิดขวา */
        bottom: auto; /* ไม่ให้ติดขอบล่าง */
    }
}


.m-header {
	padding: 3px 30px;
	background-color: #183441;
	background-size: cover;
	background-position: center;
	border-radius: 25px 25px 0 0;
	white-space: normal;
}

.m-body {
	padding: 10px;
	white-space: normal
}

.m-body #serviceModalText {
	background: #00000050;
	border-radius: 15px;
	padding: 15px;
	font-size: 13px
}

.m-body .btn {
	position: absolute;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	bottom: 0;
	border-radius: 0
}

.m-title {
	font-weight: 600;
	font-size: 16px;
	line-height: 30px;
	letter-spacing: -.005em;
	color: #fff;
	margin-bottom: 0
}

.m-close:focus {
	box-shadow: 0 0 0 .25rem rgba(2, 88, 255, 0.2)
}

.m-sub-title {
	margin-top: 4px;
	font-weight: 600;
	font-size: 14px;
	line-height: 26px;
	letter-spacing: -.005em;
	color: rgba(255, 255, 255, 0.6);
	margin-bottom: 0
}

/* Default modal styles - optimized for light mode first */
.modal-body,
.modal-header {
	background: #ffffff;
	color: #333333;
}

.modal-footer {
	background: #f8f9fa;
	border-top: 1px solid #dee2e6;
}


.badgearea .badge {
	background: #4a5cf6;
	border-radius: 7px;
	padding: 3px 10px;
	margin: 0 5px 0 0;
	color: #fff;
	font-weight: 400
}

.sUpd.priceDown {
	color: rgba(133, 131, 251, 1)
}

.sUpd.newServ {
	color: rgba(59, 255, 211, 1)
}

.sUpd.priceUp {
	color: rgba(255, 38, 38, 1)
}

.sUpd.priceActive {
	color: rgba(255, 193, 7, 1)
}

.sUpd.priceCare {
	color: rgba(214, 97, 238, 1)
}

.catetitle td strong {
	background-color: #4a5cf6;
	display: block;
	padding: 12px 15px;
	margin: 0 -10px;
	text-align: center;
	font-size: 16px;
	color: #fff;
	font-weight: 500;
	border-radius: 15px
}

.thead-tr,
.thead-tr th:first-child {
	border-radius: 15px 0 0 15px
}

.thead-tr,
.thead-tr th:last-child {
	border-radius: 0 15px 15px 0
}

.thead-tr,
.thead-tr th {
	background-color: #45485B;
	border-color: #0a0f1d;
	font-weight: 400;
	font-size: 12px;
	color: #fff;
	padding: 7px
}

.table td {
	border-color: #10182f;
	
	font-size: 13px
}

.table th,
.table thead th,
.catetitle td {
	border: none
}

.table>:not(:last-child)>:last-child>* {
	border-bottom-color: #183441;
	color: #fff
}

@media (max-width:991.98px) {
	.header .site-name img {
		height: 70px
	}

	.apHdIt .arrows {
		display: none
	}

	.apHdIt.apHdPrb {
		background: transparent;
		border-radius: 50px;
		padding: 0
	}
}

.tooltip-inner {
	background-color: #ffc107 !important;
	color: #fff
}

.bs-tooltip-top .arrow::before,
.bs-tooltip-auto[x-placement^="top"] .arrow::before {
	border-top-color: #ffc107 !important
}

.bs-tooltip-right .arrow::before,
.bs-tooltip-auto[x-placement^="right"] .arrow::before {
	border-right-color: #ffc107 !important
}

.bs-tooltip-bottom .arrow::before,
.bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
	border-bottom-color: #ffc107 !important
}

.bs-tooltip-left .arrow::before,
.bs-tooltip-auto[x-placement^="left"] .arrow::before {
	border-left-color: #ffc107 !important
}

.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,
.bs-tooltip-top .tooltip-arrow::before {
	border-top-color: #ffc107 !important
}

.help-block.min-max {
	display: none
}

.blog-content {
	display: -webkit-box;
	-webkit-line-clamp: 6;
	line-clamp: 6;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis
}

@media screen and (min-width: 991.98px) {
  .swiper-button-prev, .swiper-button-next {
  		display: none!important
  }
}

.nwo-categories .swiper-slide {
  width: auto !important;
}

.nwo-categories .swiper-wrapper {
  position: relative;
}

.nwo-categories .swiper-wrapper::before, .nwo-categories .swiper-wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 10;
}

.nwo-categories .swiper-wrapper::before {
  left: 0;
  width: 50px;
}

.nwo-categories .swiper-wrapper::after {
  left: 0;
  width: 50px;
}

.nwo-categories .swiper-button-next::after,
.nwo-categories .swiper-button-prev::after {
  font-family: remixicon !important;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 20px;
  color: #fff;
}

.nwo-categories .swiper-button-prev::after {
  content: "\ea64";
}

.nwo-categories .swiper-button-next::after {
  content: "\ea6e";
}

.nwo-cat-btn {
  display: flex;
  align-items: center;
  gap: 15px;
  background: #171f2e;
  border: 1px solid #151b26;
  border-radius: 10px;
  padding: 15px 24px 15px 15px;
}

.nwo-cat-btn.active {
  background: #ffc107;
  border: 1px solid #ffc107;
}

.nwo-cat-btn.active .icon, .nwo-cat-btn.active .text {
  color: #fff;
}

.nwo-cat-btn .gnytMicon {
  color: #fff;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nwo-cat-btn .text {
  font-weight: 600;
  font-size: 13px;
  line-height: 15px;
  color: #fff;
}

@media (max-width: 991.98px) {
  .nwoNav li, .nwoNav li button {
  	width: 100%
  }
}

    .colorbox {
        background: #0C141B;
        border-radius: 25px;
        padding: 4px 10px;
        line-height: 32px;
        height: 42px;
    }

    .colorbtn {
        background: #5e0aef;
        border-radius: 25px;
        padding: 5px;
        line-height: 1
    }

    html.light .btndark,
    .btnblack {
        background: #e5e7eb;
        padding: 5px;
        line-height: 1;
        border: 0;
      	color: #5e0aef
    }

    html.dark .btnlight,
    .btnblack {
        background: #141717;
        padding: 5px;
        line-height: 1;
        border: 0;
      	color: #fff
    }

    html.black .btnlight,
    .btndark {
        background: #ffc107;
        padding: 5px;
        line-height: 1;
        border: 0;
      	border-radius: 25px
    }

    html.light .btnlight {
        background: #5e0aef;
        border-radius: 25px;
        padding: 5px;
        line-height: 1;
        border: 0
    }

    .btnlight {
        background: #141717;
        border-radius: 25px;
        padding: 5px;
        line-height: 1;
        border: 0;
      	color: #fff
    }

    html.dark .btndark {
        background: #ffc107;
        border-radius: 25px;
        padding: 5px;
        line-height: 1
    }

    .btnactive {
        background: #5e0aef
    }

html.light #appDashboard, html.light .appAuth {
	background: #f7f8f9
}

html.light .appSidebar {
	background: #edeff2;
    border-color: #e5e7eb;
}

html.light .sbMenu .mLink .mText, html.light .sbMenu .mLink .mIcon {
	color: #3d4249
}

html.light .sbMenu .mLink.active .mText, html.light .sbMenu .mLink.active .mIcon {
	color: #fff
}

html.light .sbUsr {
	background: #e5e7eb
}

html.light .sbName, html.light .apPgTi, html.light .apHdIt .title, html.light .apHdIt .title, html.light .dropdown-item, html.light .card.card-no-box h2, html.light .card.card-no-box h3, html.light .pwd, html.light .nwo-cat-btn .text, html.light .nwo-cat-btn .gnytMicon, html.light .form-label, html.light label, html.light .form-control, html.light .nwoDeIt .text, html.light .nwoDeIt.description .text, html.light .goWr, html.light .apHdIt .arrows, html.light .sp-serv-title, html.light .sp-serv-sm, html.light .appAuth, html.light .af-pm-text, html.light .panel-body, html.light .form-select, html.light .af-pm-title, html.light .sc-sup-item .text, html.light .scd-title, html.light .acc-username, html.light .acc-item-title, html.light .acc-item-text, html.light .op-service-title, html.light .op-item .text, html.light .op-item .icon, html.light .aft-item .text, html.light .aft-box .title, html.light .aft-box .text, html.light .table>:not(:last-child)>:last-child>* {
	color: #1f2937
}

html.light .table>:not(:last-child)>:last-child>* {
    border-bottom-color: #e5e7eb;
}

html.light .appHeader {
    background: #edeff2;
}

html.light .apHdIt.apHdPrb, html.light .apHdIt .icon, html.light .colorbox, html.light .dropdown-menu {
	background: #e5e7eb
}

html.light .card, html.light .service-item {
	background: #ffffff!important;
    border-color: #e5e7eb!important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06)
}

html.light .nwo-cat-btn, html.light .form-control:disabled, html.light .form-control[readonly], html.light .orders-nav-link {
	background: #edeff2!important;
    border-color: #e5e7eb!important
}

html.light .form-control, html.light .nwoDeIt, html.light .af-pm-text, html.light .panel-body, html.light .form-select, html.light .sc-sup-item, html.light .scd-item {
	background: #ffffff!important;
    border-color: #d1d5db!important
}

html.light .nwo-cat-btn.active, html.light .orders-nav-link.active {
    background: #ffc107!important;
    border: 1px solid #ffc107!important;
}

html.light .nwo-cat-btn.active .text, html.light .nwo-cat-btn.active .gnytMicon, html.light .orders-nav-link.active, html.light .dashboard-head-wrapper .dhead-body .text {
	color: #fff
}

html.light .select2-container .badge {
	background: #ffc107
}

html.light .select2-results__option a {
	color: #3d4249 !important;
	font-size: 14px !important
}

html.light .select2-results__option a:hover {
	background: #6100ee;
	color: #fff !important
}

html.light .select2-container--default .select2-results>.select2-results__options,
html.light .select2-container--open .select2-dropdown--below,
html.light .select2-container--default .select2-results__option[aria-selected=true],
html.light .select2-container--default .select2-results__option:hover {
	background-color: #f7f8f9 !important
}

html.light .menu-btn {
    background-color: #e5e7eb;
    color: #ffc107;
}

html.light .modal-box {
    background-color: #f7f8f9;
}

html.light .schat-msg-input  {
  background: #f7f8f9!important
}

html.light .dashboard-head-wrapper .dhead-body .dhead-icon.pg-ap {
    color: #ffffff;
}

/* Light mode - clean white backgrounds */
html.light .modal-body, 
html.light .modal-header {
	background: #ffffff;
	color: #333333;
}

html.light .modal-footer {
	background: #f8f9fa;
	color: #333333;
}

html.light .dashboard-head-wrapper .dashboard-head {
	background: #edeff2;
  	border-color: #e5e7eb
}

html.light .dashboard-head-wrapper .dhead-body .title, html.light .dashboard-head-wrapper .dhead-body .text {
	color: #3d4249
}

/* StatusModal in light mode - consistent with general modals */
html.light #statusModal .modal-content,
html.light #statusModal .modal-body {
	background: #ffffff;
	color: #333333;
}

/* ============================================
   Light Mode: Global Missing Overrides (2026-03-31)
   ============================================ */

/* Sidebar & Navigation */
html.light .avtWr span { color: #3d4249; }
html.light .sbMenu .mLink.active:hover { color: #3d4249; }
html.light .sbMenu .mSMore { color: #6b7280; }

/* New Order Detail — keep icon WHITE inside colored circles */
html.light .nwoDeIt .icon { color: #fff; }

/* Search Services */
html.light .search-services:focus-within .icon { color: #3d4249; }
html.light .search-services .textbox { color: #3d4249; }

/* Orders Navigation */
html.light .orders-nav-link.active:hover { color: #3d4249; }

/* ============================================
   Light Mode: Order History Page (order.twig)
   ============================================ */

/* Service title */
html.light .op-service-title {
    color: #1a1a2e;
}

/* Order item values + icons — dark text for readability */
html.light .op-item .text {
    color: #1a1a2e;
}

html.light .op-item .icon {
    color: #3d4249;
}

/* Status badges — SAME vivid colors as dark mode */
html.light .op-stats.primary {
    background-color: #00B67A !important;
    border: none !important;
    color: #fff !important;
}

html.light .op-stats.secondary {
    background-color: #2d5a8e !important;
    border: none !important;
    color: #fff !important;
}

html.light .op-stats.info {
    background-color: #029fff !important;
    border: none !important;
    color: #fff !important;
}

html.light .op-stats.warning {
    background-color: #fbbc05 !important;
    border: none !important;
    color: #fff !important;
}

html.light .op-stats.danger {
    background-color: #f65619 !important;
    border: none !important;
    color: #fff !important;
}

/* ID badge (small) — same colors as status */
html.light .op-stats.op-stats-sm {
    border-color: transparent !important;
}

/* Action button (blue) */
html.light .op-stats.op-stats-btn {
    background: #0258FF !important;
    color: #fff !important;
    border: none !important;
}

/* Report button (orange outline) */
html.light .op-stats.danger-btn {
    border-color: #f65619;
    background: rgba(246, 86, 25, 0.08);
    color: #f65619;
}

/* Link URL text */
html.light .op-search-box.op-order-link .link {
    color: #4a5568 !important;
}

/* Nav tabs (inactive) — must use !important to beat dark mode rule */
html.light .orders-nav-link:not(.active) {
    color: #4a5568 !important;
}

html.light .orders-nav-link .icon {
    color: #6b7280;
}

/* Nav active tab — dark text on yellow */
html.light .orders-nav-link.active {
    color: #1a1a2e;
}

html.light .orders-nav-link.active .icon {
    color: #1a1a2e;
}

/* Order card border */
html.light .op-card {
    border-color: #e5e7eb;
}

/* Date text */
html.light .op-date {
    color: #4a5568;
}

/* Search box icon */
html.light .op-search-box .icon {
    color: #6b7280;
}

/* Account Funds & Payment */
html.light .af-text { color: #3d4249; }
html.light .af-nav-pay .nav-link { color: #3d4249; }

/* Service Detail */
html.light .sd-back { color: #3d4249; }
html.light .sd-back:hover { color: #0967a1; }
html.light .sd-tid .tid { color: #fff; }

/* Tickets & Support */
html.light .tc-ti-text { color: #3d4249; }
html.light .ticket-message-block .ticket-msg-container .ticket-msg { color: #3d4249; }
html.light .schat-msg-input input { color: #3d4249; }

/* Payments Table */
html.light .payments-table .pyt-id { color: #3d4249; }

/* Service/Category */
html.light .scd-id { color: #3d4249; }

/* Dashboard Header */
html.light .dh-icon { color: #3d4249; }
html.light .afp-ftext { color: #3d4249; }

/* Account Settings */
html.light .acc-switch .btn-gender { color: #3d4249; }

/* Search & Filter */
html.light .serch-in-updates input { color: #3d4249; }
html.light .btn-filter { color: #3d4249; }

/* Social Icons */
html.light .social-icons a { color: #3d4249; }

/* ============================================
   Light Mode: NewOrder Page Fixes (2026-03-31)
   ============================================ */

/* Fix: #appDashboard label (ID specificity 1,0,1) overrides class-based light overrides.
   Must use matching ID specificity to win cascade. */
html.light #appDashboard label,
html.light .appAuth label {
    color: #3d4249;
}

/* Card Header & Title */
html.light .card-title {
    color: #3d4249;
}

html.light .card-h-text {
    color: #6b7280;
}

/* Primary Button - dark text on yellow */
html.light .btn.btn-primary {
    color: #1a1a1a;
}

/* Form Check Label */
html.light .form-check-label {
    color: #3d4249;
}

/* Autofill Input */
html.light input:-webkit-autofill,
html.light input:-webkit-autofill:hover,
html.light input:-webkit-autofill:focus {
    -webkit-text-fill-color: #3d4249 !important;
    box-shadow: 0 0 0 30px #f7f8f9 inset !important;
}

/* Form Placeholder */
html.light .form-control::placeholder {
    color: #9ca3af;
}

html.light .form-select::placeholder {
    color: #9ca3af;
}

/* FAQ Sidebar - fix html.light (original uses body.light which doesn't work) */
html.light .faq-ss-tabs .home-ss-tab {
    background: #f7f8f9 !important;
    color: #0C141B !important;
}

html.light .faq-ss-tabs .home-ss-tab .ss-tab-head .right-p {
    color: #6b7280 !important;
}

html.light .faq-ss-tabs .home-ss-tab .ss-tab-content {
    color: #3d4249 !important;
}

/* Active FAQ tab: dark text on yellow for better contrast */
html.light .faq-ss-tabs .home-ss-tab.active {
    background: #ffc107 !important;
    color: #3d4249 !important;
}

html.light .faq-ss-tabs .home-ss-tab.active .ss-tab-head {
    color: #3d4249 !important;
}

html.light .faq-ss-tabs .home-ss-tab.active .ss-tab-head .right-p {
    color: #3d4249 !important;
}

html.light .faq-ss-tabs .home-ss-tab.active .ss-tab-content {
    color: #4a3800 !important;
}

/* Order Panel (.op-*) */
html.light .op-search-box input {
    color: #3d4249;
}

html.light .op-search-box input::placeholder {
    color: #9ca3af;
}

html.light .op-card .op-card--top {
    border-bottom-color: #e5e7eb;
}

html.light .op-stats {
    border-color: #e5e7eb;
    background-color: rgba(0, 0, 0, 0.04);
}

html.light .op-date {
    color: #6b7280;
}

html.light .op-date::before {
    background: #9ca3af;
}

html.light .op-item .title {
    color: #6b7280;
}

/* Cashback Modal */
html.light #cashbackRequestModal .form-control {
    background: #f7f8f9 !important;
    border-color: #e5e7eb !important;
}

html.light #cashbackRequestModal strong {
    color: #3d4249;
}

html.light #cashbackRequestModal .form-label {
    color: #3d4249 !important;
}

/* Check-in Banner */
.ci-banner-card {
    background: #121D27;
    border: 1px solid #183441;
}

html.light .ci-banner-card {
    background: #f7f8f9;
    border-color: #e5e7eb;
}

.ci-banner-text {
    color: #fff;
}

html.light .ci-banner-text {
    color: #3d4249;
}

.modal-header.astatus {
	margin: 0 15px;
	padding: 30px;
	border-radius: 15px;
}
.modal-header.astatus h4 {
	font-size: 24px!important;
  	color: #fff!important
}

/* NEW (สีแดง) */
.status-box.new {
    background: linear-gradient(180deg, #EF476F 0%, #D43F63 100%) !important;
    border: 2px solid #D43F63 !important;
}

/* GOLD (สีเหลือง) */
.status-box.gold {
    background: linear-gradient(180deg, #FFD166 0%, #E6B856 100%) !important;
    border: 2px solid #E6B856 !important;
}

/* PLATINUM (สีเขียว) */
.status-box.platinum {
    background: linear-gradient(180deg, #06D6A0 0%, #05B384 100%) !important;
    border: 2px solid #05B384 !important;
}

/* VIP (สีน้ำเงิน) */
.status-box.vip {
    background: linear-gradient(180deg, #118AB2 0%, #0D7394 100%) !important;
    border: 2px solid #0D7394 !important;
}

/* คงสไตล์เดิม */
.status-box {
    border-radius: 15px;
    padding: 30px 30px 15px 30px;
    transition: 0.3s ease-in-out;
}

.status-box h3, 
.status-box p {
    text-align: center;
    color: #fff !important;
}

.status-box ul {
    padding-left: 0;
}

.status-box ul li {
    list-style-type: none;
    background: rgba(0, 0, 0, 0.4);
    border-radius: 5px;
    padding: 5px 0;
    text-align: center;
    margin-bottom: 5px;
    color: #fff;
}

.status-box ul li.unlisted {
    color: #000;
    text-decoration: line-through;
}



.modal-footer.sfooter {
	background: #d6f4f6;
	margin: 0 15px;
	padding: 5px 15px;
	border-radius: 15px;
	justify-content: flex-start;
	color: #21c4fb
}
.modal-footer.sfooter .sf-inn {
	display: flex;
	align-items: center;
	justify-content: space-around
}

#statusModal .modal-header {
	background: #ffc107
}

/* StatusModal default - will be overridden by dark mode */
#statusModal .modal-content, 
#statusModal .modal-body {
	background: #ffffff;
	color: #333333;
}

@media (max-width: 991.98px) {
  .modal-header.astatus h4 {
  		font-size: 16px!important
  }
}

.dark .modal-title {
	color: #fff
}

.dark .modal-header, .dark .modal-footer {
	border-color: #183441
}

.modal-footer {
	background: #edeff2
}

.blog-txt {
	display: -webkit-box;
	-webkit-line-clamp: 6;
	line-clamp: 6;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

.blog-txt p {
	font-size: 14px
}

.blog-item .blog-img img {
	border-radius: 20px 20px 0 0
}

.social-icons a {
	color:#fff;
  line-height:30px;
  font-size:30px;
  margin: 0 5px;
  text-decoration:none;
  
}

.social-icons a i {
	line-height:30px;
  font-size:30px;
  -webkit-transition: all 200ms ease-in;
  -webkit-transform: scale(1); 
  -ms-transition: all 200ms ease-in;
  -ms-transform: scale(1); 
  -moz-transition: all 200ms ease-in;
  -moz-transform: scale(1);
  transition: all 200ms ease-in;
  transform: scale(1);
}

.social-icons a:hover i {
  box-shadow: 0px 0px 150px #000000;
  color: #ffc107;
  z-index: 2;
  -webkit-transition: all 200ms ease-in;
  -webkit-transform: scale(1.2);
  -ms-transition: all 200ms ease-in;
  -ms-transform: scale(1.2);   
  -moz-transition: all 200ms ease-in;
  -moz-transform: scale(1.2);
  transition: all 200ms ease-in;
  transform: scale(1.2);
}

:root {
    --border-light: #e5e7eb;
    --border-dark: #183441;
}

/* ค่าพื้นฐาน — default ใช้สี dark mode */
.faq-ss-tabs .home-ss-tab {
    position: relative;
    cursor: pointer;
    border-radius: 25px;
    padding: 15px 20px;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    margin-bottom: 14px;
    border: 1px solid #183441 !important;
}

/* Light Mode — ใช้ html.light ไม่ใช่ body.light */
html.light .faq-ss-tabs .home-ss-tab {
    border-color: #e5e7eb !important;
}


.faq-ss-tabs .home-ss-tab .fa-minus {
  display: none;
}

.faq-ss-tabs .home-ss-tab.active {
  background: #ffc107;
  color: #fff;
}

.faq-ss-tabs .home-ss-tab.active .ss-tab-head {
  color: #fff;
}

.faq-ss-tabs .home-ss-tab.active .ss-tab-head .right-p {
  color: #fff;
}

.faq-ss-tabs .home-ss-tab.active .fa-minus {
  display: block;
}

.faq-ss-tabs .home-ss-tab.active .fa-plus {
  display: none;
}

.faq-ss-tabs .home-ss-tab .ss-tab-head {
  font-size: 16px;
  font-weight: 500;

}

.faq-ss-tabs .home-ss-tab .ss-tab-head .right-p {
  color: #fff;
  font-size: 18px;
  height: 30px;
  line-height: 30px;
}

.faq-ss-tabs .home-ss-tab .ss-tab-content {
  display: none;
  padding-top: 12px;
  color: #fff;
  font-size: 16px;
  line-height: 170%;
  padding-bottom: 8px;
}

.dark .table tbody+tbody {
    border-color: #0c141c;
}

.table tbody+tbody, .light .table tbody+tbody {
    border-color: #dee2e6;
}

.codewin-head {
    height: 1.5rem;
    padding: 0 1rem;
    position: relative;
}

.codewin-buttons {
	display: flex;
	bottom: 0;
	right: 0;
	position: absolute;
	top: 10px;
	cursor: pointer;
}

.btn-mac {
	border-radius: 50%;
	height: 0.75rem;
	margin: 0 0.125rem;
	width: 0.75rem;
}

.mac-close {
	background-color: #ff5f56;
}

.mac-mini {
	background-color: #ffbd2e;
}

.mac-full {
	background-color: #27c93f;
}

.modal-flex {
	padding: 10px 0px;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	align-items: center;
}

.modal-flex:not(:first-child) {
	border-top: 1px solid #183441;
}

.mf-title {
	font-size: 13px;
	color: #77b1cc;
}

.mf-text {
	margin-top: 2px;
	line-height: 125%;

	font-size: 14px;
	font-weight: 500;
}

.mf-color {
	color: #ffc107;
	font-weight: 600
}

.modal-desc {
	font-size: 13px;
	line-height: 24px;
	max-height: 180px;
	min-height: 180px;
	overflow-x: scroll;
}

.bs-toast {
	background: #183441;
	border: 1px solid #183441 !important;
	color: #fff;
	padding: 10px 24px;
	border-radius: 15px;
	position: fixed;
	bottom: 30px;
	left: 40px;
	width: 100%;
	width: max-content;
	max-width: 350px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: none;
	z-index: 3000;
	text-align: center
}

.bs-toast .bs-toast-content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex
}

.bs-toast .toast-text {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	font-size: 14px;
	font-weight: 500
}

.bs-toast .toast-times {
	cursor: pointer;
	border: none;
	outline: 0;
	color: #fff;
	background: 0 0
}

.cursor-pointer {
	cursor: pointer
}

.dropdown-menu {
	max-height: 400px;
    overflow: scroll;
}

.divider {
	border-bottom: 1px solid #1B2B3A;
	width: 175px;
	margin: auto;
	padding-top: 10px
}

.stepbox .sboxes {
	position: relative;
	margin: 15px 0;
}

.stepbox .sboxes:hover .barea {
	background: #ffc107;
	transform: translateY(-1rem);
	transition: 500ms all;
	cursor: pointer
}

.stepbox .sboxes:hover .barea .sbtext {
	color: #fff;
}

.stepbox .sboxes .barea {
	background: #0C151B;
	border: 1px solid #183441;
	z-index: 23;
	position: relative;
	-webkit-transition: .2s ease;
	transition: .2s ease;
	border-radius: 10px
}

.stepbox .sboxes .barea .sbbody {
	padding: 25px;
  	height: 300px
}

.stepbox .sboxes .barea .sbicon i {
	font-size: 24px;
	color: #ffc107;
	-webkit-transition: .2s ease;
	transition: .2s ease;
}

.stepbox .sboxes .barea:hover .sbicon i {
	-webkit-filter: brightness(0) invert(1);
	filter: brightness(0) invert(1);
}

.stepbox .sboxes .barea .sbtitle {
	font-size: 18px;
	line-height: 24px;
	color: #fff;
	font-weight: 600;
}

.stepbox .sboxes .barea .sbtext {
	font-size: 14px;
	color: #c3c3c3;
	line-height: 24px;
	-webkit-transition: .2s ease;
	transition: .2s ease;
}

@media (max-width: 991.98px) {
  .stepbox .sboxes .barea .sbbody {
  	height: auto!important
  }
}

.tos-page .tos-nav-btn {
	min-width: 60px;
	height: 60px;
	line-height: 60px;
	text-align: center;
	font-size: 14px;
	border-radius: 10px;
	-webkit-transition: .13s ease;
	transition: .13s ease;
	background-color: #183441;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	margin-bottom: 18px;
  	padding: 0 25px
}

.tos-page .tos-nav-btn:hover {
	background-color: #ffc107;
}

.tos-page .tos-nav-btn.active {
	background-color: #ffc107;
	color: #fff;
	padding: 0 14px;
}

.tos-page .tos-nav-btn.active span {
	display: inline-block;
}

.tos-page .tos-tabs {
	line-height: 170%;
}

.tos-page .tos-tabs .tos-tab {
	display: none;
}

.tos-page .tos-tabs .tos-tab.active {
	display: block;
}

.fas.fa-star {
	color: #ffc107
}


/* ✅ Override Bootstrap 100% โดยเพิ่ม `[style]` และ `*` */
body.dark .bonus-table tbody td,
body.dark table.bonus-table tbody td,
body.dark .bonus-table tbody td[style],
body.dark table.bonus-table tbody td[style],
body.dark .bonus-table * {
    color: #ffffff !important;
}

/* ✅ บังคับให้ Header (th) เปลี่ยนสี */
body.dark .bonus-table thead th,
body.dark table.bonus-table thead th,
body.dark .bonus-table thead th[style],
body.dark table.bonus-table thead th[style] {
    color: #ffffff !important;
}

/* ✅ บังคับ Bootstrap `.table` ที่ยังไม่เปลี่ยน */
body.dark table.bonus-table,
body.dark .bonus-table,
body.dark .table td,
body.dark .table th,
body.dark .table tr {
    color: #ffffff !important;
}

/* ✅ ใช้ `*` เพื่อแน่ใจว่าไม่มีจุดไหนถูก Bootstrap Override */
body.dark .bonus-table * {
    color: #ffffff !important;
}


/* CLEANUP 2026-05-07: removed duplicate body.light/body.dark .d-flex.text-center
 * span rules (was defined twice with identical values — kept canonical pair). */
body.light .d-flex.text-center span { color: #3d4249 !important; }
body.dark  .d-flex.text-center span { color: #ffffff !important; }

.si-header {
    border: none !important; /* ลบขอบออก */
    box-shadow: none !important;
    outline: none !important;
  background: #ffc107 !important;
}

.nwoDeIt {
    display: flex;
    align-items: center; /* จัดให้ไอคอนและข้อความอยู่ตรงกลาง */
    gap: 10px; /* เพิ่มช่องว่างระหว่างไอคอนกับข้อความ */
}

.nwoDeIt .icon {
    flex-shrink: 0; /* ป้องกันการบีบขนาดของไอคอน */
    min-width: 40px; /* กำหนดขนาดขั้นต่ำให้ไอคอน */
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.nwoDeIt .text {
    flex-grow: 1; /* ให้ข้อความขยายได้โดยไม่บีบไอคอน */
    word-break: break-word; /* ให้ข้อความตัดบรรทัดหากยาวเกินไป */
}

.title {
    white-space: normal; /* ให้ข้อความขึ้นบรรทัดใหม่อัตโนมัติ */
    word-wrap: break-word; /* ตัดข้อความเมื่อยาวเกินไป */
    overflow-wrap: break-word; /* ป้องกันข้อความล้น */
}

@media (min-width: 992px) { /* สำหรับ Desktop */
    .mmff a.btn-primary {
        background-color: #121d27 !important; /* สีพื้นหลัง */
        color: white !important; /* สีตัวอักษร */
        border-color: #121d27 !important; /* สีขอบปุ่ม */
    }
}

@media (max-width: 991px) { /* สำหรับ Mobile */
    .mmff a.btn-primary {
        background-color: #ffc107 !important; /* สีพื้นหลัง */
        color: black !important; /* สีตัวอักษร */
        border-color: #ffc107 !important; /* สีขอบปุ่ม */
    }
}

@media (max-width: 991px) { /* สำหรับ Mobile View */
    .head-menu {
        width: 90%; /* ปรับให้กว้าง 90% ของจอ */
        left: 5%; /* จัดตรงกลาง โดยให้เหลือขอบซ้าย-ขวา */
        right: auto;
    }
}

.lgb-title {
    font-size: 26px;
    font-weight: 700; /* ตัวหนา */
    color: #15222e; /* ใช้กับพื้นหลังขาว เช่น .smm-section-white */
    text-align: center; /* จัดให้อยู่ตรงกลาง */
    margin-bottom: 10px; /* ลดระยะห่างจาก lgb-text */
   margin-top: -25px; /* ลดระยะห่างด้านบน */
}

/* Fix: ข้อความ lgb-title ต้องเป็นสีขาวเมื่ออยู่ในกล่อง logbox พื้นเข้ม (dark mode) */
.logbox-content .lgb-title {
    color: #ffffff;
}

/* Light mode: logbox-content กลายเป็นสีขาว → ข้อความต้องเป็นสีเข้ม */
html.light .logbox-content .lgb-title,
body.light-mode .logbox-content .lgb-title {
    color: #15222e !important;
}

.lgb-text {
    color: #AFB0C0;
    font-size: 15px;
    font-weight: 400;
    line-height: 25px;
    text-align: center; /* จัดให้อยู่ตรงกลาง */
    margin-bottom: 20px; /* ลดระยะห่างด้านล่าง */
}

/* REMOVED: bare .title, .text, .primary-color selectors
   These were overriding ALL .text and .title classes across the entire site.
   If needed, scope them: .logbox .title, .logbox .text, etc. */

.op-stats-btn + .op-stats-btn {
  margin-left: 0.5rem;
}

.orders-nav-link.op-search-box input {
  color: #121D27; /* Light mode */
}

html.dark .orders-nav-link.op-search-box input {
  color: #FFF; /* Dark mode */
}

.badge-step {
  background-color: #ffc107;
  color: #fff;
  font-weight: bold;
  border-radius: 999px;
  padding: 0.2rem 0.5rem;
  font-size: 0.85rem;
  display: inline-block;
  min-width: 1.5rem;
  text-align: center;
}

/* Auto-number dynamic fields rendered by platform JS into #fields */
#fields {
  counter-reset: field-step 3;
}

#fields > .mb-4,
#fields > div > .mb-4,
#fields > .form-group {
  counter-increment: field-step;
}

#fields > .mb-4 > .form-label::before,
#fields > div > .mb-4 > .form-label::before,
#fields > .form-group > .form-label::before,
#fields > .mb-4 > label::before,
#fields > div > .mb-4 > label::before,
#fields > .form-group > label::before {
  content: counter(field-step);
  background-color: #ffc107;
  color: #fff;
  font-weight: bold;
  border-radius: 999px;
  padding: 0.15rem 0.45rem;
  font-size: 0.8rem;
  display: inline-block;
  min-width: 1.4rem;
  text-align: center;
  margin-right: 6px;
  vertical-align: middle;
}

.job-detail-text {
  border-radius: 15px;
  background-color: transparent;

  font-size: 14px;
  
}

.job-detail-text div {

  line-height: 1.6;
  padding-left: 8px;
}

/* รองรับ dark mode ผ่าน class บน <body> */
body.dark-mode .job-detail-text {
  color: #ffffff;
}

body.dark-mode .job-detail-text div {
  color: inherit;
}

  .popup-overlay {
      position: fixed;
      top: 0; left: 0;
      width: 100vw;
      height: 100vh;
      background: rgba(0, 0, 0, 0.5);
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 9999;
      opacity: 0;
      transform: scale(0.95);
      pointer-events: none;
      transition: all 0.4s ease;
    }
    .popup-overlay.show {
      opacity: 1;
      transform: scale(1);
      pointer-events: auto;
    }
    .popup-box {
      max-width: 500px;
      width: 90vw;
    }
    .popup-box img {
      width: 100%;
      border-radius: 12px;
      display: block;
    }

.marquee {
  overflow: hidden;
  white-space: nowrap;
  animation: scroll-left 15s linear infinite;
  display: block;
}

@keyframes scroll-left {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}

.modal-footer {
  display: flex;
  justify-content: center; /* จัดปุ่มให้อยู่กลางแนวนอน */
}

.modal-footer .btn.btn-default.btn-big-secondary {
  background-color: #ffc107;  /* สีเหลือง */
  color: #212529;
  border: none;
  padding: 10px 24px;
}

.modal-footer .btn.btn-default.btn-big-secondary:hover {
  background-color: #e0a800;
  color: #ffffff;
}

/* ===============================
    Mobile Navigation Bar
    =============================== */

/* ===============================
    Mobile Navigation Bar
    =============================== */

/* Modern Connected Islands Mobile Navbar */
.my-mobile-navbar {
    position: fixed !important;
    z-index: 10000 !important;
    left: 16px !important;
    right: 16px !important;
    bottom: calc(20px + env(safe-area-inset-bottom)) !important;
    height: 80px !important;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(25px) saturate(180%);
    -webkit-backdrop-filter: blur(25px) saturate(180%);
    border: 1.5px solid rgba(255, 255, 255, 0.3);
    border-radius: 24px !important;
    padding: 12px 16px;
    box-shadow:
        0 12px 40px rgba(0, 0, 0, 0.15),
        0 4px 16px rgba(0, 0, 0, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.8);
    width: calc(100% - 32px) !important;
    align-items: center;
    justify-content: space-evenly;
    transition: none;
    display: none;
}

/* เฉพาะสำหรับ Mobile & Tablet View (น้อยกว่าหรือเท่ากับ 767px) */
@media (max-width: 767px) {
  .my-mobile-navbar {
    display: flex !important; /* บังคับให้แสดงผลบนมือถือ */
  }

  /* เพิ่ม padding bottom ให้ body เพื่อไม่ให้เนื้อหาถูกบัง */
  body {
    padding-bottom: calc(110px + env(safe-area-inset-bottom)) !important; /* 80px navbar + 30px margin + safe area */
  }

  #appDashboard {
    padding-bottom: calc(110px + env(safe-area-inset-bottom)) !important;
  }

  .appAuth {
    padding-bottom: calc(110px + env(safe-area-inset-bottom)) !important;
  }

  .appContent {
    padding-bottom: calc(110px + env(safe-area-inset-bottom)) !important;
  }
}

/* เฉพาะสำหรับ Desktop View (มากกว่าหรือเท่ากับ 768px) - เพื่อความชัดเจน */
@media (min-width: 768px) {
  .my-mobile-navbar {
    display: none !important; /* ยืนยันการซ่อนบน Desktop */
  }
  /* อาจจะเพิ่ม padding-bottom: 0px !important; ให้ body, appDashboard, appAuth ที่นี่ก็ได้ ถ้ามีปัญหาการแสดงผล */
}


/* ส่วนนี้คงเดิม */
.mobile-navbar-content {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 16px;
  gap: 12px;
  position: relative;
}

.mnc-item {
  flex: 1;
  max-width: 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 12px 8px;
  color: #ffc107;
  text-decoration: none;
  border-radius: 18px;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  position: relative;
  overflow: hidden;
}

/* Center item special styling (สั่งงาน) - Round Shape */
.mnc-item-center {
  background: linear-gradient(135deg, #ffc107 0%, #ffb300 100%);
  color: #000000 !important;
  transform: translateY(-20px);
  box-shadow:
    0 12px 40px rgba(255, 193, 7, 0.4),
    0 6px 20px rgba(255, 193, 7, 0.3),
    inset 0 2px 0 rgba(255, 255, 255, 0.5);
  border: 3px solid rgba(255, 255, 255, 0.9);
  width: 60px !important;
  height: 60px !important;
  border-radius: 50% !important;
  max-width: none !important;
  flex: none !important;
  backdrop-filter: blur(15px);
  padding: 0 !important;
  position: relative;
  overflow: visible;
}

.mnc-item-center:hover {
  transform: translateY(-24px) scale(1.1);
  box-shadow:
    0 16px 50px rgba(255, 193, 7, 0.6),
    0 8px 25px rgba(255, 193, 7, 0.4),
    inset 0 3px 0 rgba(255, 255, 255, 0.6);
  color: #000000 !important;
}

.mnc-item-center .mnc-item-icon {
  font-size: 26px !important;
  margin-bottom: 0;
  transform: rotate(0deg);
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  color: #000000 !important;
  text-shadow: 0 1px 3px rgba(255, 255, 255, 0.8);
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}

.mnc-item-center .mnc-item-text {
  display: none;
}

.mnc-item:hover {
  color: #ffc107;
  text-decoration: none;
}

.mnc-item:focus {
  color: #ffc107;
  text-decoration: none;
  outline: none;
}

/* Active state for current page */
.mnc-item.active {
  color: #ffc107 !important;
  position: relative;
}
.mnc-item.active::before {
  content: '';
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 6px;
  height: 6px;
  background: #ffc107;
  border-radius: 50%;
  box-shadow: 0 0 8px rgba(255, 193, 7, 0.6);
  z-index: 10;
}

.mnc-item-center.active::before {
  display: none;
}

.mnc-item-icon {
  font-size: 22px;
  margin-bottom: 4px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  z-index: 2;
}

.mnc-item:hover .mnc-item-icon {
  transform: scale(1.1);
}

.mnc-item-center .mnc-item-icon {
  font-size: 24px;
  transform: scale(1.1);
}

.mnc-item-text {
  font-size: 10px;
  font-weight: 600;
  text-align: center;
  line-height: 1.2;
  margin-top: 2px;
  letter-spacing: -0.01em;
  position: relative;
  z-index: 2;
}

/* Light Mode */
html.light .my-mobile-navbar {
  background: rgba(255, 255, 255, 0.95);
  border: 1.5px solid rgba(255, 255, 255, 0.3);
  box-shadow:
    0 12px 40px rgba(0, 0, 0, 0.15),
    0 4px 16px rgba(0, 0, 0, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

html.light .mnc-item {
  color: #ffc107;
}

html.light .mnc-item:hover {
  color: #ffc107;
}

html.light .mnc-item:focus {
  color: #ffc107;
}

html.light .mnc-item.active {
  color: #ffc107 !important;
}

/* Dark Mode */
html.dark .my-mobile-navbar {
  background: rgba(44, 52, 64, 0.95);
  border: 1.5px solid rgba(255, 193, 7, 0.2);
  box-shadow:
    0 12px 40px rgba(0, 0, 0, 0.4),
    0 4px 16px rgba(0, 0, 0, 0.2),
    inset 0 1px 0 rgba(255, 193, 7, 0.1);
}

html.dark .mnc-item {
  color: #ffc107;
}

html.dark .mnc-item:hover {
  color: #ffc107;
}

html.dark .mnc-item:focus {
  color: #ffc107;
}

html.dark .mnc-item.active {
  color: #ffc107 !important;
}

/* General Blog Styles - No changes to body/container */

/* Blog Header Section */
.blog-header {
    background-color: #ffffff;
    padding: 40px 0;
    margin-bottom: 30px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.blog-main-content {
    background-color: #fff;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
}

.blog-main-content h1,
.blog-main-content h2,
.blog-main-content h3 {
    color: #2c3e50;
    margin-bottom: 20px;
}

.blog-main-content p {
    font-size: 1.1em;
    line-height: 1.8;
    color: #555;
}

/* Blog Posts Section */
.blog-posts-section {
    padding-top: 30px;
    padding-bottom: 50px;
}

.blog-posts-section .col-md-6 {
    margin-bottom: 30px;
}

.blog-post-card {
    background-color: #ffffff;
    border-radius: 8px;
    margin-bottom: 0;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%; /* Ensure cards in a row have similar height */
    display: flex;
    flex-direction: column;
}

.blog-post-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}

.post-thumbnail {
    width: 100%;
    height: 220px; /* Fixed height for thumbnails */
    overflow: hidden;
    border-bottom: 1px solid #eee;
}

.post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Crop images to fit the container */
    display: block;
}

.post-content {
    padding: 25px;
    flex-grow: 1; /* Allows content area to expand */
    display: flex;
    flex-direction: column;
}

.post-content h3 {
    font-size: 1.6em;
    color: #34495e;
    margin-top: 0;
    margin-bottom: 15px;
    line-height: 1.4;
}

.post-excerpt {
    font-size: 0.95em;
    color: #666;
    margin-bottom: 20px;
    flex-grow: 1; /* Allows excerpt to take available space */
}

.blog


/* Single Post General Styles */
.blog-single-post {
    padding-top: 40px;
    padding-bottom: 60px;
}

.post-detail-card {
    background-color: #ffffff;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    overflow: hidden; /* Ensures rounded corners apply to image */
    margin-bottom: 30px;
}

.post-detail-thumbnail {
    width: 100%;
    max-height: 450px; /* Max height for the hero image */
    overflow: hidden;
    margin-bottom: 30px; /* Space between image and content */
}

.post-detail-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ensures image covers the area without distortion */
    display: block;
}

.post-detail-header {
    padding: 0 40px; /* Padding for title and meta */
    margin-bottom: 30px;
    text-align: center; /* Center align header content */
}

.post-detail-title {
    font-size: 2.8em;
    color: #2c3e50;
    margin-top: 0;
    margin-bottom: 15px;
    line-height: 1.3;
}

/* Optional: Styles for post meta if you add them */
.post-meta {
    font-size: 0.9em;
    color: #888;
}

.post-meta span {
    margin-right: 15px;
}

.post-meta a {
    color: #888;
    text-decoration: none;
}

.post-meta a:hover {
    color: #007bff;
}


.post-detail-content {
    padding: 0 40px 40px; /* Padding for the main content */
    font-size: 1.1em;
    line-height: 1.8;
    color: #333;
}

/* Ensure images, tables, etc., within content are responsive */
.post-detail-content img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 20px auto; /* Center images within content */
    border-radius: 5px;
}

.post-detail-content table {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.post-detail-content table th,
.post-detail-content table td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: left;
}

.post-detail-content blockquote {
    border-left: 5px solid #007bff;
    padding: 10px 20px;
    margin: 20px 0;
    background-color: #f8f9fa;
    color: #555;
    font-style: italic;
}

.post-detail-content pre {
    background-color: #eee;
    padding: 15px;
    border-radius: 5px;
    overflow-x: auto;
}

/* Post Navigation */
.post-navigation {
    text-align: center;
    margin-top: 30px;
}

.blog-back-button {
    background-color: #6c757d; /* A more neutral color for back button */
    border-color: #6c757d;
    padding: 10px 25px;
    border-radius: 5px;
    text-decoration: none;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.blog-back-button:hover {
    background-color: #5a6268;
    border-color: #545b62;
    color: #fff; /* Ensure text color remains white on hover */
    text-decoration: none;
}


/* Responsive Adjustments */
@media (max-width: 991px) { /* Adjust for md and sm screens */
    .post-detail-header,
    .post-detail-content {
        padding: 0 20px 20px;
    }
    .post-detail-title {
        font-size: 2.2em;
    }
    .post-detail-thumbnail {
        max-height: 350px;
    }
}

@media (max-width: 767px) { /* Adjust for xs screens */
    .post-detail-header,
    .post-detail-content {
        padding: 0 15px 15px;
    }
    .post-detail-title {
        font-size: 1.8em;
    }
    .post-detail-thumbnail {
        max-height: 250px;
        margin-bottom: 20px;
    }
}

/* Additional CSS for tickets-uploader */
.tickets-uploader {
    margin-top: 15px;
    margin-bottom: 15px;
    padding: 0;
    border: none;
    background-color: transparent;
    text-align: left;
    color: #333;
}

/* ลบส่วนนี้ออก เพราะเราต้องการให้ปุ่มเป็นข้อความหลัก */
/*
.tickets-uploader::before {
    content: attr(data-lang-button-attach);
    display: block;
    margin-bottom: 10px;
    font-weight: 600;
    color: #555;
}
*/

.tickets-uploader input[type="file"] {
    display: none; /* ซ่อน input type="file" เริ่มต้น */
}

.tickets-uploader label.upload-button {
    display: inline-block;
    padding: 8px 15px; /* ปรับ padding ให้ดูเป็นปุ่มมาตรฐาน */
    background-color: #ffc107; /* สีปุ่มหลัก (สไตล์เดิม) */
    color: #fff;
    border: none;
    border-radius: 5px; /* มุมโค้งมน */
    cursor: pointer;
    font-weight: 700; /* ตัวหนาขึ้นเพื่อให้ดูเป็นปุ่ม */
    transition: background-color 0.3s ease;
    font-size: 0.9em; /* ขนาดฟอนต์ปกติสำหรับปุ่ม */
    line-height: 1.2; /* ปรับ line-height เพื่อจัดข้อความในปุ่ม */
    text-decoration: none; /* เพื่อแน่ใจว่าไม่มีขีดเส้นใต้ */
}

.tickets-uploader label.upload-button:hover {
    background-color: #e2aa03; /* สีเมื่อ hover (สไตล์เดิม) */
}

/* Styles for error messages if they appear */
.tickets-uploader .error-message {
    color: #dc3545; /* Bootstrap danger color */
    margin-top: 10px;
    font-size: 0.85em;
    text-align: left;
}

.copy-button {
  background-color: #dc3545; /* สีแดงที่คุณต้องการ */
  color: white; /* สีข้อความขาว */
  border: none; /* ไม่มีเส้นขอบ */
  padding: 6px 12px; /* ลดขนาด padding เพื่อให้ปุ่มเล็กลง */
  border-radius: 5px; /* มุมโค้งมน */
  cursor: pointer; /* แสดงเป็น clickable */
  font-size: 13px; /* ลดขนาด font ให้เล็กลง */
  margin-top: 8px; /* ปรับ margin ให้เหมาะสม */
  white-space: nowrap; /* ป้องกันข้อความหักบรรทัด */
  transition: background-color 0.2s ease; /* เพิ่ม transition ให้ดู smooth ขึ้น */
}

.copy-button:hover {
  background-color: #c82333; /* สีแดงเข้มขึ้นเมื่อเมาส์โอเวอร์ (สีมาตรฐานของ Bootstrap danger hover) */
}

/* Modern Compact Toast */
.copy-message {
  position: fixed;
  bottom: 24px;
  right: 24px;
  background: linear-gradient(135deg, #212529 0%, #343a40 100%);
  color: white;
  padding: 10px 16px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.2s ease;
  z-index: 10001;
  box-shadow: 0 3px 12px rgba(0,0,0,0.25);
  display: flex;
  align-items: center;
  gap: 8px;
}

.copy-message.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.copy-message::before {
  content: "✓";
  width: 18px;
  height: 18px;
  background: rgba(40, 167, 69, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: #28a745;
}


.info-panel-yellow {
  background-color: #ffc107; /* ใช้สีเหลืองทองจาก .btn.btn-primary */
  color: #121d27; /* สีตัวอักษรเป็นสีดำ/เทาเข้ม เพื่อให้อ่านง่ายบนพื้นหลังสีเหลือง */
  padding: 20px;
  border-radius: 10px; /* ทำให้มุมโค้งมนเข้ากับดีไซน์อื่นๆ */
  margin-bottom: 20px; /* เพิ่มระยะห่างด้านล่างกล่อง */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* เพิ่มเงาเล็กน้อยเพื่อให้ดูมีมิติ */
  font-size: 15px; /* ปรับขนาดฟอนต์ให้เหมาะสม */
}

.info-panel-yellow p {
  margin-bottom: 5px;
  font-weight: 600; /* ทำให้ข้อความหลักหนาขึ้น */
}

.info-panel-yellow ul {
  list-style-type: disc; /* ใช้ bullet point มาตรฐาน */
  padding-left: 25px; /* เพิ่มการเยื้องสำหรับรายการ */
  margin-top: 10px; /* เพิ่มระยะห่างด้านบนของรายการ */
}

/* CLEANUP 2026-05-07: removed .qr-code-item / .qr-code-link / .qr-code-icon
 * (dead — sidebar v3 uses .sb-line LINE button instead of QR image) */

/* CSS สำหรับตารางสิทธิประโยชน์ */
.privilege-table-container {
    display: flex;
    justify-content: center; /* จัดให้อยู่กึ่งกลางแนวนอน */
    align-items: center; /* จัดให้อยู่กึ่งกลางแนวตั้ง */
    padding: 20px;
    box-sizing: border-box;
}


/* How It Works Page Styles */
.how-it-works-steps {
    background: #f8f9fa;
}

.section-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 1rem;
}

.section-subtitle {
    font-size: 1.2rem;
    color: #6c757d;
    margin-bottom: 2rem;
}

.step-card {
    background: #fff;
    padding: 2rem 1.5rem;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
}

.step-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

.step-icon {
    position: relative;
    width: 80px;
    height: 80px;
    margin: 0 auto 1.5rem;
    background: linear-gradient(135deg, #ffc107 0%, #ff9500 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.step-icon i {
    font-size: 2rem;
    color: #fff;
}

.step-number {
    position: absolute;
    top: -15px;
    right: -15px;
    background: #2c3e50;
    color: #fff;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 1rem;
    border: 3px solid #fff;
    box-shadow: 0 3px 10px rgba(0,0,0,0.2);
}

.step-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 1rem;
}

.step-description {
    color: #6c757d;
    line-height: 1.6;
}

.features-section {
    background: #f8f9fa;
}

.feature-card {
    background: #fff;
    padding: 2rem 1.5rem;
    border-radius: 15px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
    height: 100%;
}

.feature-card:hover {
    transform: translateY(-3px);
}

.feature-icon {
    width: 60px;
    height: 60px;
    margin: 0 auto 1.5rem;
    background: linear-gradient(135deg, #ffc107 0%, #ff9500 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.feature-icon i {
    font-size: 1.5rem;
    color: #fff;
}

.feature-title {
    font-size: 1.3rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 1rem;
}

.feature-description {
    color: #6c757d;
    line-height: 1.6;
}

.cta-section {
    background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
    color: #fff;
}

.cta-title {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.cta-subtitle {
    font-size: 1.2rem;
    opacity: 0.9;
    margin-bottom: 2rem;
}

.cta-buttons .btn {
    padding: 0.8rem 2rem;
    font-size: 1.1rem;
    font-weight: 600;
    border-radius: 25px;
}

/* Responsive Design for How It Works */
@media (max-width: 768px) {
    .section-title {
        font-size: 2rem;
    }
    
    .cta-title {
        font-size: 2rem;
    }
    
    .step-card, .feature-card {
        margin-bottom: 2rem;
    }
    
    .cta-buttons .btn {
        display: block;
        width: 100%;
        margin-bottom: 1rem;
    }
    
    .cta-buttons .btn.me-3 {
        margin-right: 0 !important;
    }
}

/* About Us Page Styles */
.about-stats-box {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    padding: 2rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.stats-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 1.5rem;
}

.stats-row:last-child {
    margin-bottom: 0;
}

.stat-item {
    text-align: center;
    flex: 1;
}

.stat-number {
    font-size: 2rem;
    font-weight: 700;
    color: #ffc107;
    margin-bottom: 0.5rem;
}

.stat-label {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.8);
}

.milestone-cards {
    margin-top: 2rem;
}

.milestone-card {
    background: #fff;
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative;
    overflow: hidden;
    height: 100%;
}

.milestone-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: #ffc107;
}

.milestone-card.featured::before {
    background: linear-gradient(135deg, #ffc107 0%, #ff9500 100%);
    width: 6px;
}

.milestone-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 20px rgba(0,0,0,0.15);
}

.milestone-card.featured {
    background: linear-gradient(135deg, #fff9e6 0%, #fff4d6 100%);
    border: 2px solid #ffc107;
}

.milestone-year {
    font-size: 1.2rem;
    font-weight: 700;
    color: #ffc107;
    margin-bottom: 0.5rem;
}

.milestone-content h5 {
    font-size: 1rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 0.3rem;
}

.milestone-content p {
    font-size: 0.9rem;
    color: #6c757d;
    margin-bottom: 0;
    line-height: 1.4;
}

.quality-badges {
    margin-top: 2rem;
}

.quality-badge {
    display: flex;
    align-items: center;
    background: #fff;
    padding: 1rem;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
    position: relative;
    overflow: hidden;
}

.quality-badge:hover {
    transform: translateX(5px);
}

.quality-badge.primary {
    border-left: 4px solid #ffc107;
}

.quality-badge.secondary {
    border-left: 4px solid #28a745;
}

.quality-badge.tertiary {
    border-left: 4px solid #17a2b8;
}

.badge-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1rem;
    flex-shrink: 0;
}

.quality-badge.primary .badge-icon {
    background: rgba(255, 193, 7, 0.1);
    color: #ffc107;
}

.quality-badge.secondary .badge-icon {
    background: rgba(40, 167, 69, 0.1);
    color: #28a745;
}

.quality-badge.tertiary .badge-icon {
    background: rgba(23, 162, 184, 0.1);
    color: #17a2b8;
}

.badge-icon i {
    font-size: 1.2rem;
}

.badge-content h6 {
    font-size: 0.95rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 0.2rem;
}

.badge-content p {
    font-size: 0.8rem;
    color: #6c757d;
    margin-bottom: 0;
    line-height: 1.3;
}

.service-highlight-card {
    background: #fff;
    padding: 2rem;
    border-radius: 15px;
    box-shadow: 0 3px 15px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
    height: 100%;
}

.service-highlight-card:hover {
    transform: translateY(-5px);
}

.service-icon {
    width: 60px;
    height: 60px;
    background: #ffc107;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem;
}

.service-icon i {
    font-size: 1.5rem;
    color: #fff;
}

.service-highlight-card h4 {
    font-size: 1.3rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 1rem;
    text-align: center;
}

.service-highlight-card p {
    color: #6c757d;
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

.service-features {
    list-style: none;
    padding: 0;
    margin: 0;
}

.service-features li {
    padding: 5px 0;
    padding-left: 20px;
    position: relative;
    color: #6c757d;
    font-size: 0.9rem;
}

.service-features li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: #ffc107;
    font-weight: bold;
}

/* Responsive Design for About Us */
@media (max-width: 768px) {
    .stats-row {
        flex-direction: column;
        gap: 1rem;
    }
    
    .stat-number {
        font-size: 1.5rem;
    }
    
    .milestone-cards {
        margin-top: 1.5rem;
    }
    
    .milestone-card {
        padding: 1rem;
        margin-bottom: 1rem;
    }
    
    .milestone-year {
        font-size: 1.1rem;
    }
    
    .milestone-content h5 {
        font-size: 0.9rem;
    }
    
    .milestone-content p {
        font-size: 0.8rem;
    }
    
    .quality-badges {
        margin-top: 1.5rem;
    }
    
    .quality-badge {
        padding: 0.8rem;
        margin-bottom: 0.8rem;
    }
    
    .badge-icon {
        width: 35px;
        height: 35px;
        margin-right: 0.8rem;
    }
    
    .badge-content h6 {
        font-size: 0.85rem;
    }
    
    .badge-content p {
        font-size: 0.75rem;
    }
    
    .service-highlight-card {
        margin-bottom: 2rem;
    }
}

/* Service Landing Page Styles */
.service-landing-hero {
    background: linear-gradient(135deg, #ffbf00 0%, #ff9500 100%);
    padding: 100px 0 80px;
    color: #fff;
    position: relative;
    overflow: hidden;
}

.service-landing-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 100"><path fill="rgba(255,255,255,0.1)" d="M0,50 C200,80 400,20 600,50 C800,80 1000,20 1000,50 L1000,100 L0,100 Z"/></svg>') bottom center/cover no-repeat;
}

.hero-content {
    position: relative;
    z-index: 2;
}

.service-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 255, 255, 0.2);
    padding: 8px 20px;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 20px;
    backdrop-filter: blur(10px);
}

.hero-title {
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 25px;
}

.hero-description {
    font-size: 1.3rem;
    line-height: 1.6;
    margin-bottom: 40px;
    opacity: 0.95;
}

.hero-stats {
    display: flex;
    gap: 40px;
    margin-bottom: 40px;
}

.stat-item {
    text-align: center;
}

.stat-number {
    font-size: 2.5rem;
    font-weight: 700;
    display: block;
    color: #fff;
}

.stat-label {
    font-size: 0.9rem;
    opacity: 0.9;
    margin-top: 5px;
}

.hero-buttons {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.hero-buttons .btn {
    padding: 15px 30px;
    font-size: 1.1rem;
    font-weight: 600;
    border-radius: 25px;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: all 0.3s ease;
}

.btn-outline-primary {
    background: transparent;
    border: 2px solid rgba(255, 255, 255, 0.3);
    color: #fff;
}

.btn-outline-primary:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.5);
    color: #fff;
}

.hero-image {
    position: relative;
    z-index: 2;
}

.platform-showcase {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 40px;
    text-align: center;
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.platform-icon {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 30px;
    font-size: 3rem;
    color: #fff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.growth-animation {
    margin-top: 30px;
}

.growth-bar {
    height: 8px;
    background: rgba(255, 255, 255, 0.3);
    border-radius: 10px;
    position: relative;
    overflow: hidden;
    margin-bottom: 15px;
}

.growth-bar::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 80%;
    background: linear-gradient(90deg, #ffc107, #fff);
    border-radius: 10px;
    animation: growthProgress 2s ease-in-out infinite alternate;
}

@keyframes growthProgress {
    0% { width: 60%; }
    100% { width: 90%; }
}

.growth-numbers {
    font-size: 1.2rem;
    font-weight: 600;
}

.number.growing {
    animation: numberGrow 2s ease-in-out infinite;
}

@keyframes numberGrow {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); color: #ffc107; }
    100% { transform: scale(1); }
}

/* Section Styles */
.service-features,
.how-it-works,
.services-preview,
.service-faq,
.service-cta {
    padding: 80px 0;
}

.section-title {
    font-size: 2.5rem;
    font-weight: 600;
    margin-bottom: 20px;
    color: #333;
    text-align: center;
}

.section-subtitle {
    font-size: 1.2rem;
    color: #666;
    text-align: center;
    margin-bottom: 50px;
    line-height: 1.6;
}

/* Feature Cards */
.feature-card {
    background: #fff;
    padding: 40px 30px;
    border-radius: 15px;
    text-align: center;
    height: 100%;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #f0f0f0;
}

.feature-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

.feature-icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, #ffbf00 0%, #ff9500 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 25px;
    font-size: 2rem;
    color: #fff;
    box-shadow: 0 10px 25px rgba(255, 191, 0, 0.3);
}

.feature-title {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 15px;
    color: #333;
}

.feature-description {
    color: #666;
    line-height: 1.6;
    font-size: 1rem;
}

/* Step Cards */
.step-card {
    text-align: center;
    position: relative;
    padding: 30px 20px;
}

.step-number {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #ffbf00 0%, #ff9500 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 25px;
    font-size: 1.8rem;
    font-weight: 700;
    color: #fff;
    box-shadow: 0 8px 20px rgba(255, 191, 0, 0.3);
}

.step-title {
    font-size: 1.4rem;
    font-weight: 600;
    margin-bottom: 15px;
    color: #333;
}

.step-description {
    color: #666;
    line-height: 1.6;
    font-size: 1rem;
}

/* Services Preview */
.services-table-wrapper {
    background: #f8f9fa;
    border-radius: 15px;
    padding: 50px 40px;
    text-align: center;
}

.services-redirect-notice {
    max-width: 600px;
    margin: 0 auto;
}

.redirect-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.redirect-content i {
    font-size: 4rem;
    margin-bottom: 10px;
}

.redirect-text h4 {
    font-size: 1.8rem;
    font-weight: 600;
    margin-bottom: 10px;
    color: #333;
}

.redirect-text p {
    color: #666;
    font-size: 1.1rem;
    line-height: 1.6;
    margin-bottom: 0;
}

/* FAQ Styles */
.faq-accordion {
    max-width: 800px;
    margin: 0 auto;
}

.faq-item {
    background: #fff;
    border-radius: 10px;
    margin-bottom: 20px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.faq-question {
    padding: 25px 30px;
    cursor: pointer;
    display: flex;
    justify-content: between;
    align-items: center;
    background: linear-gradient(135deg, #f8f9fa 0%, #fff 100%);
    transition: background 0.3s ease;
}

.faq-question:hover {
    background: linear-gradient(135deg, #fff 0%, #f8f9fa 100%);
}

.faq-question h4 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 600;
    color: #333;
    flex: 1;
    text-align: left;
}

.faq-question i {
    font-size: 1.5rem;
    color: #ffc107;
    transition: transform 0.3s ease;
}

.faq-item.active .faq-question i {
    transform: rotate(180deg);
}

.faq-answer {
    padding: 0 30px;
    max-height: 0;
    overflow: hidden;
    transition: all 0.3s ease;
}

.faq-item.active .faq-answer {
    padding: 20px 30px 30px;
    max-height: 200px;
}

.faq-answer p {
    margin: 0;
    color: #666;
    line-height: 1.6;
    font-size: 1rem;
}

/* CTA Section */
.service-cta {
    background: linear-gradient(135deg, #121d27 0%, #15222e 100%);
    color: #fff;
}

.cta-content {
    padding: 60px 40px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.cta-title {
    font-size: 2.8rem;
    font-weight: 700;
    margin-bottom: 20px;
    color: #fff;
}

.cta-description {
    font-size: 1.3rem;
    line-height: 1.6;
    margin-bottom: 40px;
    opacity: 0.9;
}

.cta-buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.cta-guarantees {
    display: flex;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
}

.guarantee-item {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #ffc107;
    font-size: 1rem;
    font-weight: 600;
}

.guarantee-item i {
    font-size: 1.2rem;
}

/* Mobile Responsive */
@media (max-width: 991.98px) {
    .hero-title {
        font-size: 2.8rem;
    }
    
    .hero-description {
        font-size: 1.1rem;
    }
    
    .hero-stats {
        gap: 30px;
    }
    
    .stat-number {
        font-size: 2rem;
    }
    
    .section-title {
        font-size: 2rem;
    }
    
    .cta-title {
        font-size: 2.2rem;
    }
}

@media (max-width: 767.98px) {
    .service-landing-hero {
        padding: 80px 0 60px;
    }
    
    .hero-title {
        font-size: 2.2rem;
    }
    
    .hero-description {
        font-size: 1rem;
    }
    
    .hero-stats {
        flex-direction: column;
        gap: 20px;
        align-items: center;
    }
    
    .hero-stats .stat-item {
        display: flex;
        align-items: center;
        gap: 15px;
    }
    
    .stat-number {
        font-size: 1.8rem;
        margin-bottom: 0;
    }
    
    .hero-buttons {
        justify-content: center;
        flex-direction: column;
        align-items: center;
    }
    
    .hero-buttons .btn {
        width: 100%;
        max-width: 300px;
        justify-content: center;
    }
    
    .section-title {
        font-size: 1.8rem;
    }
    
    .section-subtitle {
        font-size: 1rem;
    }
    
    .feature-card,
    .step-card {
        margin-bottom: 30px;
    }
    
    .platform-showcase {
        padding: 30px 20px;
    }
    
    .platform-icon {
        width: 80px;
        height: 80px;
        font-size: 2.5rem;
    }
    
    .services-table-wrapper {
        padding: 40px 20px;
    }
    
    .redirect-content {
        gap: 15px;
    }
    
    .redirect-content i {
        font-size: 3rem;
    }
    
    .redirect-text h4 {
        font-size: 1.5rem;
    }
    
    .redirect-text p {
        font-size: 1rem;
    }
    
    .faq-question {
        padding: 20px;
    }
    
    .faq-question h4 {
        font-size: 1.1rem;
    }
    
    .faq-answer {
        padding: 0 20px;
    }
    
    .faq-item.active .faq-answer {
        padding: 15px 20px 25px;
    }
    
    .cta-content {
        padding: 40px 20px;
    }
    
    .cta-title {
        font-size: 1.8rem;
    }
    
    .cta-description {
        font-size: 1.1rem;
    }
    
    .cta-buttons {
        flex-direction: column;
        align-items: center;
    }
    
    .cta-buttons .btn {
        width: 100%;
        max-width: 300px;
        justify-content: center;
    }
    
    .cta-guarantees {
        flex-direction: column;
        gap: 20px;
    }
    
    .guarantee-item {
        justify-content: center;
    }
}

.privilege-table {
    width: 100%;
    max-width: 1000px; /* จำกัดความกว้างสูงสุดของตาราง */
    border-collapse: collapse;
    margin: 20px auto; /* จัดกึ่งกลางตาราง */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); /* เพิ่มเงาให้ดูมีมิติ */
    border-radius: 8px; /* ขอบโค้งมน */
    overflow: hidden; /* ทำให้เงาและขอบโค้งมนทำงานได้ดีกับ border-collapse */
}

.privilege-table th,
.privilege-table td {
    padding: 15px;
    text-align: center;
    border-bottom: 1px solid #e0e0e0;
    transition: background-color 0.3s ease;
}

.privilege-table th {
    background-color: #00B14D; /* สีเขียวสำหรับ Header */
    color: white;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.privilege-table tbody tr:nth-child(even) {
    background-color: #f8f8f8; /* แถวสลับสี */
}

.privilege-table tbody tr:hover {
    background-color: #e6ffe6; /* สีอ่อนลงเมื่อ hover */
}

.privilege-table td strong {
    color: #00B14D; /* สีเขียวสำหรับตัวเลขสำคัญ */
}

.rank-new, .rank-gold {
    background-color: #e0f2f7; /* สีพื้นหลังสำหรับ NEW/GOLD */
}

.rank-platinum, .rank-vip {
    background-color: #fff9e6; /* สีพื้นหลังสำหรับ PLATINUM/VIP */
}

/* เพิ่มการตอบสนองสำหรับหน้าจอขนาดเล็ก */
@media (max-width: 768px) {
    .privilege-table {
        display: block;
        overflow-x: auto; /* ทำให้ตารางเลื่อนได้แนวนอนหากเนื้อหาเกิน */
        white-space: nowrap; /* ป้องกันการขึ้นบรรทัดใหม่ */
    }
    .privilege-table thead, .privilege-table tbody, .privilege-table th, .privilege-table td, .privilege-table tr {
        display: block; /* ทำให้แต่ละส่วนเป็นบล็อก */
    }
    .privilege-table th {
        text-align: left; /* จัดชิดซ้ายสำหรับหัวข้อในมือถือ */
        border-bottom: 0;
        padding-bottom: 5px;
    }
    .privilege-table td {
        border-bottom: 1px solid #e0e0e0;
        text-align: right; /* จัดชิดขวาสำหรับข้อมูลในมือถือ */
        position: relative;
        padding-left: 50%; /* พื้นที่สำหรับ pseudo-element */
    }
    .privilege-table td:before {
        content: attr(data-label); /* ดึงค่าจาก data-label มาแสดง */
        position: absolute;
        left: 15px;
        width: calc(50% - 30px);
        text-align: left;
        font-weight: bold;
        color: #555;
    }
    .privilege-table tr {
        margin-bottom: 15px;
        border: 1px solid #e0e0e0;
        border-radius: 8px;
        overflow: hidden;
    }
}


/* Custom styles for points table - Re-designed */
.custom-points-table {
    border-collapse: separate; /* สำคัญเพื่อให้ border-radius ทำงาน */
    border-spacing: 0; /* ลบช่องว่างระหว่างเซลล์ */
    border-radius: 12px; /* เพิ่มความโค้งมนของขอบตาราง */
    overflow: hidden; /* สำคัญเพื่อให้ border-radius แสดงผลถูกต้องบนเนื้อหา */
    box-shadow: 0 4px 8px rgba(0,0,0,0.08); /* เงาที่อ่อนลงสำหรับ light mode */
    background-color: #ffffff; /* กำหนดพื้นหลังตารางให้เป็นสีขาว (ชัดเจนในโหมดสว่าง) */
    width: 100%; /* ให้ตารางกว้างเต็มพื้นที่ */
    margin-bottom: 1rem; /* เพิ่มระยะห่างด้านล่าง */
}

/* ส่วนหัวตาราง (<thead>) */
.custom-points-table thead {
    background: linear-gradient(135deg, #ffc107 0%, #ff9800 100%); /* Gradient สีเหลืองเข้ากับธีม */
    color: #212529; /* สีข้อความเข้ม */
    font-weight: 600; /* ตัวหนาขึ้นเล็กน้อย */
}

.custom-points-table thead th {
    padding: 18px 15px; /* เพิ่ม padding ให้เซลล์ส่วนหัว */
    border-bottom: none; /* ลบเส้นขอบด้านล่างของเซลล์ส่วนหัว */
}

/* กำหนดขอบโค้งมนให้กับเซลล์มุมบนของส่วนหัวตาราง */
.custom-points-table thead tr:first-child th:first-child {
    border-top-left-radius: 12px;
}
.custom-points-table thead tr:first-child th:last-child {
    border-top-right-radius: 12px;
}


/* ส่วนเนื้อหาตาราง (<tbody>) */
.custom-points-table tbody td {
    padding: 14px 15px; /* กำหนด padding ให้เซลล์เนื้อหา */
    color: #495057; /* สีข้อความเทาเข้มเพื่อให้อ่านง่ายขึ้นในโหมดสว่าง */
    border-color: #e9ecef; /* สีเส้นขอบที่อ่อนลงเพื่อความนุ่มนวล */
    font-weight: 500;
}

/* แถบสีสลับของตาราง (.table-striped) */
.custom-points-table.table-striped tbody tr:nth-of-type(odd) {
    background-color: #f8f9fa; /* สีเทาอ่อนมากสำหรับแถวคี่ */
}
.custom-points-table.table-striped tbody tr:nth-of-type(even) {
    background-color: #ffffff; /* สีขาวสำหรับแถวคู่ */
}

/* เน้นคอลัมน์แรก */
.custom-points-table tbody td:first-child {
    font-weight: 600;
    color: #212529;
    background-color: rgba(255, 193, 7, 0.08);
}

/* ลบเอฟเฟกต์ Hover (.table-hover) */
/* เนื่องจากคุณได้ลบคลาส table-hover ออกจาก HTML แล้ว ส่วนนี้จึงอาจไม่จำเป็น แต่ใส่ไว้เพื่อความมั่นใจ */
.custom-points-table tbody tr:hover {
    background-color: inherit !important; /* ยกเลิกการเปลี่ยนสีเมื่อเมาส์ชี้ */
    cursor: default; /* เปลี่ยนเคอร์เซอร์กลับเป็นปกติ */
}

/* กำหนดขอบโค้งมนให้กับเซลล์มุมล่างของตาราง */
.custom-points-table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 12px;
}
.custom-points-table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 12px;
}
/* ลบเส้นขอบด้านล่างสุดของตาราง เพื่อให้ขอบโค้งมนสมบูรณ์ */
.custom-points-table tbody tr:last-child td {
    border-bottom: none;
}

/* ปรับเส้นขอบสำหรับ .table-bordered ให้เข้ากับดีไซน์ใหม่ */
.custom-points-table.table-bordered th,
.custom-points-table.table-bordered td {
    border: 1px solid #dee2e6; /* ใช้สีเส้นขอบที่อ่อนลง */
}

/* Dark mode support for points table */
.dark .custom-points-table {
    background-color: #1a2332;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}

html.dark .custom-points-table thead,
body.dark .custom-points-table thead,
.dark .custom-points-table thead {
    background: linear-gradient(135deg, #b8860b 0%, #8b6914 100%);
    color: #ffffff;
}

html.dark .custom-points-table tbody td,
body.dark .custom-points-table tbody td,
.dark .custom-points-table tbody td {
    color: #e9ecef;
    border-color: #2c3e50;
}

html.dark .custom-points-table tbody td:first-child,
body.dark .custom-points-table tbody td:first-child,
.dark .custom-points-table tbody td:first-child {
    color: #ffffff;
    background-color: rgba(255, 255, 255, 0.05);
}

html.dark .custom-points-table.table-striped tbody tr:nth-of-type(odd),
body.dark .custom-points-table.table-striped tbody tr:nth-of-type(odd),
.dark .custom-points-table.table-striped tbody tr:nth-of-type(odd) {
    background-color: #212a3a;
}

html.dark .custom-points-table.table-striped tbody tr:nth-of-type(even),
body.dark .custom-points-table.table-striped tbody tr:nth-of-type(even),
.dark .custom-points-table.table-striped tbody tr:nth-of-type(even) {
    background-color: #1a2332;
}

html.dark .custom-points-table.table-bordered th,
html.dark .custom-points-table.table-bordered td,
body.dark .custom-points-table.table-bordered th,
body.dark .custom-points-table.table-bordered td,
.dark .custom-points-table.table-bordered th,
.dark .custom-points-table.table-bordered td {
    border-color: #2c3e50;
}

/* Status description styles */
.status-description {
    background-color: #fffef5;
    border-left: 4px solid #ffc107;
    padding: 1.25rem;
    border-radius: 8px;
    margin-top: 1.5rem;
}

.status-description p {
    margin-bottom: 0.75rem;
    color: #495057;
    font-size: 0.95rem;
    line-height: 1.6;
}

/* ============================================ */
/* Modern Affiliate Withdrawal Table Styles */
/* ============================================ */

/* Card Container - using existing .card class */

/* Table Header Section - Dark First */
.table-header {
    background: #15222E;
    padding: 32px;
    border-bottom: 1px solid #183441;
    border-radius: 20px 20px 0 0; /* มน Top เท่านั้น */
}

.table-header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.table-title {
    display: flex;
    align-items: center;
    gap: 16px;
}

.table-title i {
    font-size: 24px;
    color: #ffc107;
    background: rgba(255, 193, 7, 0.1);
    padding: 12px;
    border-radius: 12px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.table-title h5 {
    color: #212529;
    margin: 0;
    font-size: 20px;
    font-weight: 600;
}

.stats-badge {
    background: rgba(255, 193, 7, 0.2);
    color: #ffc107;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
}

/* Table Responsive Wrapper */
.table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Custom Affiliate Table - Dark First */
.custom-affiliate-table {
    width: 100%;
    border-collapse: collapse;
    background: #15222E;
    border-radius: 0 0 20px 20px; /* มน Bottom เท่านั้น */
    overflow: hidden; /* ป้องกัน content ล้น */
}

/* Table Header - Dark First */
.custom-affiliate-table thead {
    background: #121D27;
    border-bottom: 1px solid #183441;
}

.custom-affiliate-table thead th {
    padding: 20px 32px;
    text-align: left;
    font-weight: 600;
    color: #fff;
    font-size: 14px;
    white-space: nowrap;
    vertical-align: middle;
}

.custom-affiliate-table thead th i {
    margin-right: 8px;
    font-size: 16px;
    color: #ffc107;
    vertical-align: middle;
}

/* Table Body - Dark First */
.custom-affiliate-table tbody tr {
    border-bottom: 1px solid #183441;
    transition: background-color 0.2s ease;
}

.custom-affiliate-table tbody tr:hover {
    background-color: #0C141B;
}

.custom-affiliate-table tbody tr:last-child {
    border-bottom: none;
}

.custom-affiliate-table tbody td {
    padding: 20px 32px;
    font-size: 14px;
    color: #fff;
    vertical-align: middle;
}

/* TD Content Wrapper */
.td-content {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Date Column */
.date-text {
    color: #495057;
    font-weight: 500;
    font-size: 14px;
}

/* Amount Column */
.amount-text {
    color: #121d27;
    font-weight: 600;
    font-size: 16px;
}

/* Status Badge */
.status-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.2s ease;
}

.status-badge i {
    font-size: 14px;
}

/* Rejected Status */
.badge-rejected {
    background: rgba(220, 53, 69, 0.1);
    color: #dc3545;
    border: 1px solid rgba(220, 53, 69, 0.2);
}

.status-rejected {
    background: rgba(220, 53, 69, 0.02);
}

/* Approved Status */
.badge-approved {
    background: rgba(40, 167, 69, 0.1);
    color: #28a745;
    border: 1px solid rgba(40, 167, 69, 0.2);
}

.status-approved {
    background: rgba(40, 167, 69, 0.02);
}

/* Pending Status */
.badge-pending {
    background: rgba(255, 193, 7, 0.1);
    color: #ffc107;
    border: 1px solid rgba(255, 193, 7, 0.2);
}

.status-pending {
    background: rgba(255, 193, 7, 0.02);
}

/* Dark Mode Support - using existing .card class (ไม่ต้องใช้แล้วเพราะ default คือ dark) */

.dark .table-title h5 {
    color: #ffffff;
}

.dark .custom-affiliate-table {
    background: #15222E;
}

.dark .custom-affiliate-table thead {
    background: #121D27;
    border-bottom-color: #183441;
}

.dark .custom-affiliate-table thead th {
    color: #fff;
}

.dark .custom-affiliate-table thead th i {
    color: #ffc107;
}

.dark .custom-affiliate-table tbody tr {
    border-bottom-color: #183441;
}

.dark .custom-affiliate-table tbody tr:hover {
    background-color: #0C141B;
}

.dark .custom-affiliate-table tbody td {
    color: #fff;
}

.dark .date-text {
    color: #fff;
}

.dark .amount-text {
    color: #ffc107;
}

/* Dark Mode Status Badges */
.dark .badge-rejected {
    background: rgba(220, 53, 69, 0.15);
    color: #dc3545;
    border-color: rgba(220, 53, 69, 0.3);
}

/* เฉพาะ status badge เท่านั้น ไม่ใช่ table row */
.dark .badge-rejected.status-rejected,
.dark .status-badge.badge-rejected {
    background: rgba(220, 53, 69, 0.05);
}

/* ลบสีพื้นหลังออกจาก table row ทั้งหมด */
.dark .custom-affiliate-table tr.status-rejected,
.dark .custom-affiliate-table tr.status-approved,
.dark .custom-affiliate-table tr.status-pending {
    background: transparent !important;
}

.custom-affiliate-table tr.status-rejected,
.custom-affiliate-table tr.status-approved,
.custom-affiliate-table tr.status-pending {
    background: transparent !important;
}

/* Override สีขอบของ .table td ให้เป็นสีอ่อนใน light mode */
.custom-affiliate-table.table td {
    border-color: #f1f3f4 !important;
}

/* และสีเข้มใน dark mode */
.dark .custom-affiliate-table.table td {
    border-color: #183441 !important;
}

.dark .badge-approved {
    background: rgba(40, 167, 69, 0.15);
    color: #5dd879;
    border-color: rgba(40, 167, 69, 0.3);
}

.dark .status-approved {
    background: rgba(40, 167, 69, 0.05);
}

.dark .badge-pending {
    background: rgba(255, 193, 7, 0.15);
    color: #ffc107;
    border-color: rgba(255, 193, 7, 0.3);
}

.dark .status-pending {
    background: rgba(255, 193, 7, 0.05);
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .table-header {
        padding: 16px 20px;
    }

    .table-header-content {
        flex-direction: column;
        gap: 12px;
        align-items: flex-start;
    }

    .table-title i {
        font-size: 20px;
    }

    .table-title h5 {
        font-size: 16px;
    }

    /* Transform table to card layout on mobile */
    .custom-affiliate-table thead {
        display: none;
    }

    .custom-affiliate-table tbody tr {
        display: block;
        margin-bottom: 16px;
        background: #f8f9fa;
        border-radius: 12px;
        padding: 16px;
        border: 1px solid #f1f3f4;
    }

    .custom-affiliate-table tbody td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 8px 0;
        border: none;
    }

    .custom-affiliate-table tbody td:before {
        content: attr(data-label);
        font-weight: 600;
        color: #6c757d;
        font-size: 13px;
    }

    .custom-affiliate-table tbody td:not(:last-child) {
        border-bottom: 1px solid #f1f3f4;
        padding-bottom: 12px;
        margin-bottom: 12px;
    }

    /* Dark mode mobile adjustments */
    .dark .custom-affiliate-table tbody tr {
        background: #15222E;
        border-color: #183441;
    }

    .dark .custom-affiliate-table tbody td {
        border-bottom-color: #183441;
    }

    .dark .custom-affiliate-table tbody td:before {
        color: #fff;
    }
}

.status-description p:last-child {
    margin-bottom: 0;
}

.status-description strong {
    color: #212529;
    font-weight: 600;
}

/* Dark mode for status description */
.dark .status-description {
    background-color: #15222E;
    border-left-color: #ffc107;
}

html.dark .status-description p,
body.dark .status-description p,
.dark .status-description p {
    color: #e9ecef;
}

html.dark .status-description strong,
body.dark .status-description strong,
.dark .status-description strong {
    color: #ffffff;
}

/* CLEANUP 2026-05-07: removed entire .affiliate-* block (~315 lines, 40+ rules)
 * — dead, current affliliates.twig uses .aff-* (without "iate" suffix) classes.
 * Verified: zero markup hits and zero JS dynamic-string interpolation. */

/* กำหนดขนาดพื้นฐานสำหรับ h3 (อาจจะเป็นขนาดสำหรับมือถือหรือขนาดทั่วไป) */
/* ------------------------------------------------------------------
   *** สไตล์เริ่มต้น - ใช้สำหรับหน้าจอขนาดเล็ก (Mobile) เป็นหลัก ***
   ------------------------------------------------------------------ */
h3 .nbox-value {
    font-size: 1em; /* ตัวอย่าง: ขนาดปกติสำหรับมือถือ หรือขนาดที่คุณต้องการให้ใหญ่กว่าบนมือถือ */
    /* ... สไตล์อื่นๆ ที่ใช้กับทุกขนาดหน้าจอ ... */
}

/* ------------------------------------------------------------------
   *** สไตล์สำหรับหน้าจอขนาดใหญ่ (PC/Desktop) ***
   *** สไตล์นี้จะถูกนำมาใช้เมื่อหน้าจอมีขนาดใหญ่กว่า 991px ***
   ------------------------------------------------------------------ */
@media (min-width: 992px) { /* หรือค่า breakpoint ที่เหมาะสมกับ PC ของคุณ เช่น 1200px */
    h3 .nbox-value {
        font-size: 0.65em; /* ตัวอย่าง: ขนาดที่เล็กลงสำหรับ PC */
    }
}


/* Pulse Yellow Animation for Unread Messages */
@keyframes pulse-yellow {
  0% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(255, 193, 7, 0.7);
  }
  70% {
    transform: scale(1.02);
    box-shadow: 0 0 0 10px rgba(255, 193, 7, 0);
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(255, 193, 7, 0);
  }
}

/* CLEANUP 2026-05-07: removed all .comparison-card-* / .comparison-title /
 * .comparison-divider / .comparison-item rules (~75 lines) — dead, replaced by
 * .signin-comparison-section structure used in current signin.twig SEO body. */

/* FAQ Cards */
.faq-card {
	background: #fff;
	border-radius: 15px;
	padding: 25px;
	box-shadow: 0 5px 15px rgba(0,0,0,0.1);
	height: 100%;
	transition: transform 0.3s ease;
}

.faq-card:hover {
	transform: translateY(-2px);
}

.faq-question {
	color: #333;
	font-size: 18px;
	margin-bottom: 15px;
}

.faq-question i {
	color: #007bff;
	margin-right: 10px;
}

.faq-answer {
	color: #6c757d;
	line-height: 1.6;
}

/* CLEANUP 2026-05-07: removed .blog-card + variants + .keywords-section/.keywords-tags
 * + .keyword-tag (~110 lines) — dead, blog.twig uses .blog-post-card instead. */

/* CLEANUP 2026-05-07: removed .keyword-tag modifiers + .icon-primary/success/warning
 * (dead — never used; new design uses var(--ring-*)) */

/* SEO Sections Styles */
.seo-section {
	padding: 60px 0;
}

.seo-section.competitor-comparison {
	background: #f8f9fa;
}

.seo-section.faq {
	background: #f8f9fa;
}

.seo-section.blog-news {
	background: linear-gradient(135deg, #343a40 0%, #495057 100%);
}

/* Membership Tiers Modal Styling */
.membership-tiers {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.membership-tier {
	border-radius: 12px;
	padding: 20px;
	border: 1px solid #e9ecef;
	background: var(--tier-bg, #ffffff);
	position: relative;
	overflow: visible;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.membership-tier::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: var(--tier-color, #6c757d);
}

.membership-tier.new {
	--tier-color: #6c757d;
	--tier-bg: #f8f9fa;
}

.membership-tier.gold {
	--tier-color: #ffc107;
	--tier-bg: #fffef5;
}

.membership-tier.platinum {
	--tier-color: #17a2b8;
	--tier-bg: #f0fbff;
}

.membership-tier.vip {
	--tier-color: #dc3545;
	--tier-bg: #fff5f5;
}

.tier-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 15px;
}

.tier-badge {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--tier-color);
}

.tier-badge i {
	font-size: 24px;
}

.tier-name {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 1px;
}

.tier-requirement {
	font-size: 14px;
	color: #6c757d;
	font-weight: 600;
	background: rgba(0, 0, 0, 0.05);
	padding: 4px 12px;
	border-radius: 20px;
}

.tier-benefits {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.benefit-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 0;
	font-size: 14px;
}

.benefit-item.available {
	color: #212529;
}

.benefit-item.available i {
	color: #28a745;
	background: rgba(40, 167, 69, 0.2);
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	font-size: 12px;
}

.benefit-item.unavailable {
	color: #adb5bd;
}

.benefit-item.unavailable i {
	color: #dc3545;
	background: rgba(220, 53, 69, 0.2);
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	font-size: 12px;
}

.membership-info {
	background: #fffef5;
	border: 1px solid #ffc107;
	border-radius: 8px;
	padding: 20px;
}

.info-card h6 {
	color: #856404;
	margin-bottom: 15px;
	font-weight: 600;
}

.info-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.info-list li {
	margin-bottom: 8px;
	color: #333333;
	font-size: 14px;
	line-height: 1.5;
}

.info-list li strong {
	color: #856404;
}

/* Light theme support */
html.light .membership-tier {
	background: var(--tier-bg-light, #f8f9fa);
	border: 1px solid #e9ecef;
}

html.light .membership-tier.new {
	--tier-bg-light: #f8f9fa;
}

html.light .membership-tier.gold {
	--tier-bg-light: #fff9e6;
}

html.light .membership-tier.platinum {
	--tier-bg-light: #e6f7ff;
}

html.light .membership-tier.vip {
	--tier-bg-light: #fff0f0;
}

html.light .tier-requirement {
	background: rgba(0, 0, 0, 0.1);
	color: #6c757d;
}

html.light .benefit-item.available {
	color: #333;
}

html.light .benefit-item.unavailable {
	color: #999;
}

html.light .membership-info {
	background: rgba(255, 193, 7, 0.1);
	border: 1px solid rgba(255, 193, 7, 0.3);
}

html.light .info-card h6 {
	color: #856404;
}

html.light .info-list li {
	color: #333;
}

html.light .info-list li strong {
	color: #856404;
}

/* Responsive design */
@media (min-width: 768px) {
	.membership-tiers {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
}

@media (min-width: 1200px) {
	.membership-tiers {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 20px;
	}
	
	.membership-tier {
		flex-direction: column;
	}
}

/* Dark mode support */
.dark .membership-tier {
	background: var(--tier-bg-dark, #1a2332);
	border: 2px solid transparent;
	box-shadow: none;
}

html.dark .membership-tier.new,
body.dark .membership-tier.new,
.dark .membership-tier.new {
	--tier-bg-dark: #1a2332;
}

html.dark .membership-tier.gold,
body.dark .membership-tier.gold,
.dark .membership-tier.gold {
	--tier-bg-dark: #2a2317;
}

html.dark .membership-tier.platinum,
body.dark .membership-tier.platinum,
.dark .membership-tier.platinum {
	--tier-bg-dark: #172a2e;
}

html.dark .membership-tier.vip,
body.dark .membership-tier.vip,
.dark .membership-tier.vip {
	--tier-bg-dark: #2e1719;
}

html.dark .tier-requirement,
body.dark .tier-requirement,
.dark .tier-requirement {
	background: rgba(255, 255, 255, 0.1);
	color: #8b98b8;
}

html.dark .benefit-item.available,
body.dark .benefit-item.available,
.dark .benefit-item.available {
	color: #fff;
}

html.dark .benefit-item.unavailable,
body.dark .benefit-item.unavailable,
.dark .benefit-item.unavailable {
	color: #6c757d;
}

.dark .membership-info {
	background: rgba(255, 193, 7, 0.1);
	border: 1px solid rgba(255, 193, 7, 0.3);
}

html.dark .info-card h6,
body.dark .info-card h6,
.dark .info-card h6 {
	color: #ffc107;
}

/* ============================================ */
/* QR PAYMENT MODAL - LIKESTER GRADIENT FRAME */
/* ============================================ */

/* Override default modal for QR Payment */
.modal#qrModal .modal-content,
.modal .modal-content:has(#qr-code-image) {
    background: #ffffff;
    border: none;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    max-width: 460px;
    margin: 0 auto;
    position: relative;
}

/* Dark mode modal */
html.dark .modal#qrModal .modal-content,
html.dark .modal .modal-content:has(#qr-code-image) {
    background: #121D27;
    box-shadow: 0 5px 15px rgba(0,0,0,0.5);
}

/* Modal header - clean Likester style */
.modal#qrModal .modal-header,
.modal .modal-content:has(#qr-code-image) .modal-header {
    background: #ffffff;
    padding: 20px 24px;
    border: none;
    border-bottom: 1px solid #e5e7eb;
    position: relative;
    color: #3d4249;
}

html.dark .modal#qrModal .modal-header,
html.dark .modal .modal-content:has(#qr-code-image) .modal-header {
    background: #121D27;
    border-bottom: 1px solid #183441;
    color: #e9ecef;
}

/* Close button styling */
.modal#qrModal .close,
.modal .modal-content:has(#qr-code-image) .close {
    color: #999;
    opacity: 1;
    font-size: 24px;
    font-weight: 300;
    transition: all 0.2s ease;
    position: absolute;
    right: 20px;
    top: 20px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: transparent;
}

.modal#qrModal .close:hover,
.modal .modal-content:has(#qr-code-image) .close:hover {
    background: #f7f8f9;
    color: #3d4249;
}

html.dark .modal#qrModal .close:hover,
html.dark .modal .modal-content:has(#qr-code-image) .close:hover {
    background: #183441;
    color: #e9ecef;
}

/* QR Modal Body */
.modal#qrModal .modal-body,
.modal .modal-content:has(#qr-code-image) .modal-body {
    padding: 20px;
    text-align: center;
    background: #ffffff;
}

html.dark .modal#qrModal .modal-body,
html.dark .modal .modal-content:has(#qr-code-image) .modal-body {
    background: #121D27;
}

/* QR Code Container with Likester Gradient Frame */
.qr-code-container {
    position: relative;
    display: inline-block;
    padding: 16px;
    background: linear-gradient(135deg, #ffc107 0%, #ffbf00 100%);
    border-radius: 16px;
    margin: 0 auto 15px;
    box-shadow: 0 4px 15px rgba(255, 193, 7, 0.3);
}

html.dark .qr-code-container {
    background: linear-gradient(135deg, #ffc107 0%, #ffbf00 100%);
    box-shadow: 0 4px 15px rgba(255, 193, 7, 0.2);
}

/* Inner QR frame */
.qr-code-container::before {
    content: '';
    position: absolute;
    top: 12px;
    left: 12px;
    right: 12px;
    bottom: 12px;
    background: #ffffff;
    border-radius: 12px;
    z-index: 1;
}

html.dark .qr-code-container::before {
    background: #ffffff;
}

/* QR Code Image Styling */
#qr-code-image,
#qrCodeImage,
.modal img[src*="data:image"][alt=""] {
    width: 240px !important;
    height: 240px !important;
    display: block;
    margin: 0 auto;
    position: relative;
    z-index: 2;
    border-radius: 8px;
    image-rendering: pixelated;
    image-rendering: -moz-crisp-edges;
    image-rendering: crisp-edges;
}

/* Payment Info Section - Likester style */
.qr-payment-info {
    padding: 0;
    margin: 20px 0;
    text-align: center;
}

/* Amount Display with Likester colors */
.qr-amount-display {
    font-size: 36px;
    font-weight: 700;
    color: #ffc107;
    margin: 8px 0;
    font-family: 'Sarabun', -apple-system, BlinkMacSystemFont, sans-serif;
    letter-spacing: -0.5px;
    text-shadow: 0 2px 4px rgba(255, 193, 7, 0.2);
}

html.dark .qr-amount-display {
    color: #ffc107;
    text-shadow: 0 2px 4px rgba(255, 193, 7, 0.3);
}

.qr-amount-label {
    font-size: 14px;
    color: #3d4249;
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

html.dark .qr-amount-label {
    color: #e9ecef;
}

/* Payment status */
.qr-status {
    background: rgba(255, 193, 7, 0.1);
    border: 1px solid rgba(255, 193, 7, 0.3);
    border-radius: 8px;
    padding: 12px 16px;
    margin: 20px 0;
    color: #3d4249;
    font-size: 14px;
    font-weight: 500;
}

html.dark .qr-status {
    background: rgba(255, 193, 7, 0.15);
    border: 1px solid rgba(255, 193, 7, 0.25);
    color: #e9ecef;
}

/* Instructions - clean Likester style */
.qr-instructions {
    margin: 12px 0;
    padding: 12px;
    background: #f7f8f9;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
}

html.dark .qr-instructions {
    background: #0C141B;
    border: 1px solid #183441;
}

.qr-instructions-title {
    color: #ffc107;
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 8px;
    display: block;
}

.qr-instructions-steps {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 8px 0;
}

.qr-instructions-steps span {
    font-size: 13px;
    color: #3d4249;
    line-height: 1.4;
    display: block;
}

html.dark .qr-instructions-steps span {
    color: #e9ecef;
}


.qr-instructions-note {
    font-size: 13px;
    color: #999;
    line-height: 1.6;
    margin: 15px 0 0;
    font-style: italic;
}

html.dark .qr-instructions-note {
    color: #999;
}

/* Modal Footer */
.modal#qrModal .modal-footer,
.modal .modal-content:has(#qr-code-image) .modal-footer {
    background: #ffffff;
    border-top: 1px solid #e5e7eb;
    padding: 20px 30px;
}

html.dark .modal#qrModal .modal-footer,
html.dark .modal .modal-content:has(#qr-code-image) .modal-footer {
    background: #121D27;
    border-top: 1px solid #183441;
}

/* Primary Action Button - Likester Yellow */
.modal#qrModal .btn-big-secondary,
.modal .modal-content:has(#qr-code-image) .btn-big-secondary {
    background: #ffc107;
    color: #212529;
    border: none;
    padding: 14px 40px;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 600;
    transition: all 0.3s ease;
    min-width: 200px;
    text-transform: none;
    box-shadow: 0 2px 10px rgba(255, 193, 7, 0.3);
}

.modal#qrModal .btn-big-secondary:hover,
.modal .modal-content:has(#qr-code-image) .btn-big-secondary:hover {
    background: #ffbf00;
    color: #212529;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 193, 7, 0.4);
}

/* Alert messages in modal */
.modal#qrModal .alert,
.modal .modal-content:has(#qr-code-image) .alert {
    border-radius: 8px;
    margin-bottom: 20px;
    font-size: 14px;
    border: 1px solid rgba(255, 193, 7, 0.3);
    background: rgba(255, 193, 7, 0.1);
    color: #3d4249;
}

html.dark .modal#qrModal .alert,
html.dark .modal .modal-content:has(#qr-code-image) .alert {
    background: rgba(255, 193, 7, 0.15);
    color: #e9ecef;
}

/* Glassmorphism — hide default backdrop, use .modal as blur layer instead */
.modal-backdrop.show {
    opacity: 0 !important;
}

.modal.show {
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(16px) saturate(1.3);
    -webkit-backdrop-filter: blur(16px) saturate(1.3);
}

/* Modal content — frosted glass card (dark mode) */
.modal-content {
    background: rgba(12, 20, 27, 0.7) !important;
    backdrop-filter: blur(40px) saturate(1.4);
    -webkit-backdrop-filter: blur(40px) saturate(1.4);
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.5);
}

/* Light mode — white frosted glass */
html.light .modal.show {
    background: rgba(255, 255, 255, 0.2);
}

html.light .modal-content {
    background: rgba(255, 255, 255, 0.7) !important;
    backdrop-filter: blur(40px) saturate(1.4);
    -webkit-backdrop-filter: blur(40px) saturate(1.4);
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.1);
}

/* Mobile Responsive */
/* Fix modal centering issues */
.modal.show {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
}

.modal#qrModal,
.modal:has(#qr-code-image) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
}

/* Fix modal opening issues - prevent page shrinking and navbar floating */
body.modal-open {
    overflow: hidden !important;
    padding-right: 0 !important; /* Prevent scrollbar space */
}

/* Keep mobile navbar fixed when modal opens */
@media (max-width: 767px) {
    body.modal-open {
        padding-bottom: calc(110px + env(safe-area-inset-bottom)) !important; /* Keep navbar space */
    }

    body.modal-open .my-mobile-navbar {
        position: fixed !important;
        z-index: 9999 !important;
        bottom: 12px !important;
        left: 8px !important;
        right: 8px !important;
    }
}

/* Prevent background content shifting */
.modal-backdrop {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 1040 !important;
}

/* Prevent page/body shrinking when modal opens - lighter approach */
body.modal-open {
    overflow: hidden !important;
    padding-right: 0 !important;
    position: relative !important;
}

/* Ensure modal doesn't affect main content positioning */
body.modal-open .appAuth,
body.modal-open #appDashboard {
    transform: none !important;
    width: 100% !important;
    margin: 0 !important;
}

/* Desktop modal dialog centering */
@media (min-width: 481px) {
    .modal#qrModal .modal-dialog,
    .modal .modal-dialog:has(#qr-code-image) {
        margin: 1.75rem auto;
        max-width: 460px;
        display: block;
        position: relative;
        transform: none;
    }
}

/* Mobile optimization for QR Modal */
@media (max-width: 480px) {
    /* Force modal container to use full viewport and center content */
    .modal#qrModal,
    .modal:has(#qr-code-image) {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 10px !important;
        z-index: 1050 !important;
    }

    .modal#qrModal .modal-dialog,
    .modal .modal-dialog:has(#qr-code-image) {
        margin: 0 !important;
        max-width: none !important;
        width: 100% !important;
        max-width: 400px !important;
        position: relative !important;
        display: block !important;
        transform: none !important;
    }

    .modal#qrModal .modal-content,
    .modal .modal-content:has(#qr-code-image) {
        margin: 0;
        max-height: calc(100vh - 60px);
        overflow-y: auto;
    }

    .modal#qrModal .modal-body,
    .modal .modal-content:has(#qr-code-image) .modal-body {
        padding: 15px;
    }

    .qr-code-container {
        padding: 12px;
        margin: 0 auto 10px;
    }

    #qr-code-image,
    #qrCodeImage {
        width: 200px !important;
        height: 200px !important;
    }

    .qr-amount-display {
        font-size: 32px;
        margin: 5px 0;
    }

    .qr-instructions {
        margin: 8px 0;
        padding: 10px;
    }

    .qr-instructions-steps {
        gap: 2px;
    }

    .qr-instructions-steps span {
        font-size: 12px;
        line-height: 1.3;
    }

    .qr-instructions-note {
        font-size: 11px;
        margin: 8px 0 0;
    }

    .modal#qrModal .modal-footer,
    .modal .modal-content:has(#qr-code-image) .modal-footer {
        padding: 15px;
    }

    .modal#qrModal .btn-big-secondary,
    .modal .modal-content:has(#qr-code-image) .btn-big-secondary {
        width: 100%;
        padding: 12px 20px;
        font-size: 14px;
    }
}

html.dark .info-list li,
body.dark .info-list li,
.dark .info-list li {
	color: #fff;
}

html.dark .info-list li strong,
body.dark .info-list li strong,
.dark .info-list li strong {
	color: #ffc107;
}

/* CLEANUP 2026-05-07: removed .apHdRw .col-auto rules
 * (dead — topbar v4 uses .l2v2-topbar flex with its own gap) */

/* Custom Google Sign-In Button */
.btn.btn-google {
    background: #ffffff !important;
    color: #757575 !important;
    border: 2px solid #dadce0 !important;
    border-radius: 15px !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    padding: 15px 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}
.btn.btn-google:hover {
    background: #f8f9fa !important;
    border-color: #dadce0 !important;
    color: #3c4043 !important;
    transform: scale(0.96) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
}
.btn.btn-google:focus {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(66, 133, 244, 0.3) !important;
}
.btn.btn-google svg {
    flex-shrink: 0;
}

/* Mobile specific spacing adjustments */
@media (max-width: 767.98px) {
	.apHdRw .col-auto {
		padding-left: 2px;
		padding-right: 2px;
	}
	
	.apHdRw .col-auto:first-child {
		padding-left: 8px;
	}
	
	.apHdRw .col-auto:last-child {
		padding-right: 8px;
	}
}

/* Fix Points Exchange Modal Styles */
/* Modal header - visible in both light and dark modes */
.modal-header.astatus {
	background: linear-gradient(135deg, #ffc107 0%, #ff9800 100%) !important;
	margin: 0;
	padding: 20px 30px;
	border-radius: 12px 12px 0 0;
	border-bottom: 3px solid #ff9800;
}

.modal-header.astatus h4 {
	color: #212529 !important;
	font-weight: 600;
	text-shadow: 0 1px 2px rgba(255, 255, 255, 0.3);
}

/* Light mode specific */
html.light .modal-header.astatus {
	background: linear-gradient(135deg, #ffc107 0%, #ff9800 100%) !important;
}

html.light .modal-header.astatus h4 {
	color: #212529 !important;
}

/* Dark mode specific - fix border for points exchange modal */
/* Target modal-content with p-lg-4 class that contains astatus header */
.dark .modal-content.p-lg-4 {
	border: none !important;
	box-shadow: 0 5px 15px rgba(0,0,0,0.5);
	overflow: hidden;
}

/* More specific targeting using parent-child relationship */
.dark .modal-dialog .modal-content.p-lg-4 {
	border: none !important;
	background: #121D27;
}

/* Target using :has selector for better specificity */
.dark .modal-content:has(.modal-header.astatus) {
	border: none !important;
	box-shadow: 0 5px 15px rgba(0,0,0,0.5);
}

/* Additional override with higher specificity */
.dark .modal .modal-dialog .modal-content.p-lg-4,
.dark div.modal-content.p-lg-4 {
	border: 0 !important;
	border-color: transparent !important;
	outline: none !important;
}

.dark .modal-header.astatus {
	background: linear-gradient(135deg, #ffc107 0%, #ff9800 100%) !important;
	border-bottom: 3px solid #ff9800;
}

.dark .modal-header.astatus h4 {
	color: #212529 !important;
}

/* Dark mode - consistent dark backgrounds */
.dark .modal-body,
.dark .modal-header {
	background: #121D27;
	color: #e9ecef;
}

.dark .modal-footer {
	background: #0C141B;
	color: #e9ecef;
	border-top: 1px solid #2c3e50;
}

/* StatusModal in dark mode */
.dark #statusModal .modal-content,
.dark #statusModal .modal-body {
	background: #121D27;
	color: #e9ecef;
}

/* =====================================================
   Points Request Modal, Status Modal, Points Modal Styles
   ===================================================== */

/* Modal Dialog - transparent background */
#pointsRequestModal .modal-dialog,
#statusModal .modal-dialog,
#pointsModal .modal-dialog {
	background: transparent;
}

/* Modal Content - Dark Mode (default) */
#pointsRequestModal .modal-content,
#statusModal .modal-content,
#pointsModal .modal-content {
	border-radius: 20px;
	overflow: hidden;
	border: none;
	background: #121D27;
	box-shadow: 0 5px 15px rgba(0,0,0,0.5);
}

/* Prevent pseudo-elements white border */
#pointsRequestModal .modal-content::before,
#pointsRequestModal .modal-content::after,
#statusModal .modal-content::before,
#statusModal .modal-content::after,
#pointsModal .modal-content::before,
#pointsModal .modal-content::after,
#pointsRequestModal .modal-header::before,
#pointsRequestModal .modal-header::after,
#pointsRequestModal .modal-body::before,
#pointsRequestModal .modal-body::after {
	display: none;
}

/* Modal Header - Dark Mode */
#pointsRequestModal .modal-header,
#statusModal .modal-header,
#pointsModal .modal-header {
	border-radius: 20px 20px 0 0;
	background: #121D27;
	color: #e9ecef;
	border-bottom: 1px solid #183441;
	border-top: none;
	border-left: none;
	border-right: none;
}

/* Modal Title - Dark Mode */
#pointsRequestModal .modal-title,
#statusModal .modal-title,
#pointsModal .modal-title {
	color: #e9ecef;
}

/* Modal Body - Dark Mode */
#pointsRequestModal .modal-body,
#statusModal .modal-body,
#pointsModal .modal-body {
	background: #121D27;
	color: #e9ecef;
	border: none;
}

#pointsRequestModal .modal-body:last-child,
#statusModal .modal-body:last-child,
#pointsModal .modal-body:last-child {
	border-radius: 0 0 20px 20px;
}

/* Labels - Dark Mode */
#pointsRequestModal label,
#pointsRequestModal .control-label,
#pointsRequestModal .form-label,
#statusModal label,
#statusModal .control-label,
#pointsModal label,
#pointsModal .control-label {
	color: #e9ecef;
	background: transparent;
}

/* Form groups - transparent */
#pointsRequestModal .form-group,
#statusModal .form-group,
#pointsModal .form-group,
#pointsRequestModal .payout {
	background: transparent;
}

/* Close button - Dark Mode */
#pointsRequestModal .btn-close,
#statusModal .btn-close,
#pointsModal .btn-close {
	filter: invert(1) grayscale(100%) brightness(200%);
	opacity: 0.8;
}

#pointsRequestModal .btn-close:hover,
#statusModal .btn-close:hover,
#pointsModal .btn-close:hover {
	opacity: 1;
}

/* Form elements - Dark Mode */
#pointsRequestModal .form-control,
#pointsRequestModal .form-select {
	background: #183441;
	border: 1px solid #2c3e50;
	color: #e9ecef;
	font-size: 16px;
	padding: 10px 15px;
	min-height: 45px;
}

#pointsRequestModal .form-control:focus,
#pointsRequestModal .form-select:focus {
	background: #15222E;
	border-color: #ffc107;
	color: #e9ecef;
}

#pointsRequestModal .alert-info {
	background: rgba(255, 193, 7, 0.1);
	border: 1px solid rgba(255, 193, 7, 0.3);
	color: #e9ecef;
}

/* Select options - Dark Mode */
#pointsRequestModal .form-control option,
#pointsRequestModal .form-select option {
	font-size: 16px;
	padding: 10px 12px;
	min-height: 40px;
	color: #fff;
	background-color: #121D27;
}

/* =====================================================
   Light Mode Overrides for Modals
   ===================================================== */

/* Modal Content - Light Mode */
html.light #pointsRequestModal .modal-content,
html.light #statusModal .modal-content,
html.light #pointsModal .modal-content {
	background: #ffffff;
	box-shadow: 0 5px 15px rgba(0,0,0,0.15);
}

/* Modal Header - Light Mode */
html.light #pointsRequestModal .modal-header,
html.light #statusModal .modal-header,
html.light #pointsModal .modal-header {
	background: #ffffff;
	color: #333333;
	border-bottom: 1px solid #dee2e6;
}

/* Modal Title - Light Mode */
html.light #pointsRequestModal .modal-title,
html.light #statusModal .modal-title,
html.light #pointsModal .modal-title {
	color: #333333;
}

/* Modal Body - Light Mode */
html.light #pointsRequestModal .modal-body,
html.light #statusModal .modal-body,
html.light #pointsModal .modal-body {
	background: #ffffff;
	color: #333333;
}

/* Labels - Light Mode */
html.light #pointsRequestModal label,
html.light #pointsRequestModal .control-label,
html.light #pointsRequestModal .form-label,
html.light #statusModal label,
html.light #statusModal .control-label,
html.light #pointsModal label,
html.light #pointsModal .control-label {
	color: #666666;
}

/* Close button - Light Mode */
html.light #pointsRequestModal .btn-close,
html.light #statusModal .btn-close,
html.light #pointsModal .btn-close {
	filter: none;
	opacity: 0.5;
}

html.light #pointsRequestModal .btn-close:hover,
html.light #statusModal .btn-close:hover,
html.light #pointsModal .btn-close:hover {
	opacity: 1;
}

/* Form elements - Light Mode */
html.light #pointsRequestModal .form-control,
html.light #pointsRequestModal .form-select {
	background: #ffffff;
	border: 1px solid #dee2e6;
	color: #333333;
}

html.light #pointsRequestModal .form-control:focus,
html.light #pointsRequestModal .form-select:focus {
	background: #ffffff;
	border-color: #ffc107;
	color: #333333;
}

html.light #pointsRequestModal .alert-info {
	background: #d1ecf1;
	border: 1px solid #bee5eb;
	color: #0c5460;
}

/* Select options - Light Mode */
html.light #pointsRequestModal .form-control option,
html.light #pointsRequestModal .form-select option {
	color: #3d4249;
	background-color: #f7f8f9;
}

/* Mobile responsive for select options */
@media (max-width: 768px) {
	#pointsRequestModal .form-control option,
	#pointsRequestModal .form-select option {
		font-size: 18px;
		padding: 12px 15px;
		min-height: 45px;
	}
}

/* =====================================================
   Points Summary Card Styles
   ===================================================== */

/* Points Summary Card - Dark Mode (default) */
.points-summary-card {
	background: linear-gradient(135deg, #15222E 0%, #0C141B 100%);
	border-radius: 16px;
	padding: 20px;
	border: 1px solid #183441;
}

.points-summary-header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 16px;
	color: #ffc107;
	font-weight: 600;
	font-size: 14px;
}

.points-summary-header i {
	font-size: 18px;
}

.points-summary-body {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	margin-bottom: 16px;
}

.points-stat {
	text-align: center;
	flex: 1;
}

.points-stat-value {
	font-size: 28px;
	font-weight: 700;
	color: #ffffff;
	line-height: 1.2;
}

.points-stat-value.points-cash-value {
	color: #28a745;
}

.points-stat-label {
	font-size: 12px;
	color: #8899a6;
	margin-top: 4px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.points-stat-divider {
	color: #ffc107;
	font-size: 20px;
	opacity: 0.7;
}

.points-summary-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 16px;
	border-top: 1px solid #183441;
	font-size: 13px;
}

.points-level-badge,
.points-rate-info {
	display: flex;
	align-items: center;
	gap: 6px;
	color: #8899a6;
}

.points-level-badge i {
	color: #ffc107;
}

.points-rate-info i {
	color: #28a745;
}

.points-level-badge strong,
.points-rate-info strong {
	color: #ffffff;
}

/* Light Mode - Points Summary Card */
html.light .points-summary-card {
	background: linear-gradient(135deg, #fff8e1 0%, #fffde7 100%);
	border: 1px solid #ffc107;
}

html.light .points-summary-header {
	color: #ff9800;
}

html.light .points-stat-value {
	color: #333333;
}

html.light .points-stat-value.points-cash-value {
	color: #28a745;
}

html.light .points-stat-label {
	color: #666666;
}

html.light .points-stat-divider {
	color: #ff9800;
}

html.light .points-summary-footer {
	border-top: 1px solid #ffe082;
}

html.light .points-level-badge,
html.light .points-rate-info {
	color: #666666;
}

html.light .points-level-badge strong,
html.light .points-rate-info strong {
	color: #333333;
}

/* =====================================================
   Exchange Points UI Styles
   ===================================================== */

/* Exchange Input Wrapper */
.exchange-input-wrapper {
	display: flex;
	gap: 10px;
	align-items: stretch;
}

.exchange-input-group {
	flex: 1;
	position: relative;
	display: flex;
	align-items: center;
}

.exchange-input-group .form-control {
	padding-right: 60px;
}

.exchange-input-suffix {
	position: absolute;
	right: 12px;
	color: #8899a6;
	font-size: 14px;
	pointer-events: none;
}

/* Exchange All Button */
.btn-exchange-all {
	background: linear-gradient(135deg, #ffc107 0%, #ff9800 100%);
	border: none;
	color: #212529;
	font-weight: 600;
	padding: 10px 16px;
	border-radius: 8px;
	white-space: nowrap;
	display: flex;
	align-items: center;
	gap: 6px;
	transition: all 0.2s ease;
}

.btn-exchange-all:hover {
	background: linear-gradient(135deg, #ffca28 0%, #ffa726 100%);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(255, 193, 7, 0.3);
}

.btn-exchange-all:active {
	transform: translateY(0);
}

.btn-exchange-all i {
	font-size: 14px;
}

/* Exchange Result Card */
.exchange-result-card {
	background: linear-gradient(135deg, #15222E 0%, #0C141B 100%);
	border-radius: 12px;
	padding: 16px;
	display: flex;
	align-items: center;
	gap: 16px;
	border: 1px solid #183441;
}

.exchange-result-icon {
	width: 48px;
	height: 48px;
	background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	font-size: 20px;
}

.exchange-result-content {
	flex: 1;
}

.exchange-result-label {
	font-size: 12px;
	color: #8899a6;
	margin-bottom: 4px;
}

.exchange-result-value {
	font-size: 24px;
	font-weight: 700;
	color: #28a745;
}

.exchange-result-fee {
	font-size: 11px;
	color: #ffc107;
	margin-top: 2px;
}

/* Exchange Note */
.exchange-note {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: #8899a6;
	padding: 8px 12px;
	background: rgba(40, 167, 69, 0.1);
	border-radius: 8px;
	border-left: 3px solid #28a745;
}

.exchange-note i {
	color: #28a745;
}

.exchange-note-warning {
	background: rgba(255, 193, 7, 0.1);
	border-left: 3px solid #ffc107;
}

.exchange-note-warning i {
	color: #ffc107;
}

/* Light Mode - Exchange UI */
html.light .exchange-input-suffix {
	color: #666666;
}

html.light .exchange-result-card {
	background: #f8f9fa;
	border: 1px solid #e9ecef;
}

html.light .exchange-result-label {
	color: #666666;
}

html.light .exchange-note {
	color: #666666;
}

/* Mobile Responsive */
@media (max-width: 576px) {
	.points-summary-body {
		gap: 10px;
	}

	.points-stat-value {
		font-size: 22px;
	}

	.points-summary-footer {
		flex-direction: column;
		gap: 8px;
		align-items: flex-start;
	}

	.exchange-input-wrapper {
		flex-direction: column;
	}

	.btn-exchange-all {
		width: 100%;
		justify-content: center;
	}

	.exchange-result-card {
		padding: 12px;
	}

	.exchange-result-value {
		font-size: 20px;
	}
}

/* Confirm Signup Page Styles */
.confirm-signup-page {
	background: linear-gradient(135deg, #ffc107 0%, #ff9800 100%);
	min-height: 100vh;
	position: relative;
	overflow: hidden;
}

.confirm-signup-page::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><defs><radialGradient id="grad1" cx="50%" cy="50%" r="50%"><stop offset="0%" style="stop-color:rgba(255,255,255,0.1);stop-opacity:1" /><stop offset="100%" style="stop-color:rgba(255,255,255,0);stop-opacity:1" /></radialGradient></defs><circle cx="100" cy="100" r="80" fill="url(%23grad1)" /><circle cx="900" cy="200" r="120" fill="url(%23grad1)" /><circle cx="200" cy="800" r="100" fill="url(%23grad1)" /><circle cx="800" cy="700" r="90" fill="url(%23grad1)" /></svg>');
	opacity: 0.5;
	animation: float 20s ease-in-out infinite;
}

@keyframes float {
	0%, 100% { transform: translateY(0px) rotate(0deg); }
	50% { transform: translateY(-20px) rotate(180deg); }
}

.confirm-signup-wrapper {
	position: relative;
	z-index: 10;
}

.confirm-signup-icon {
	width: 80px;
	height: 80px;
	margin: 0 auto;
	background: linear-gradient(135deg, #121d27 0%, #183441 100%);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 10px 30px rgba(18, 29, 39, 0.3);
}

.confirm-signup-icon i {
	font-size: 36px;
	color: #ffc107;
}

.confirm-signup-title {
	font-size: 32px;
	font-weight: 700;
	color: #121d27;
	margin-bottom: 15px;
	text-shadow: 0 2px 4px rgba(255, 255, 255, 0.1);
}

.confirm-signup-subtitle {
	font-size: 16px;
	font-weight: 500;
	color: #606b80;
	line-height: 1.6;
	max-width: 400px;
	margin: 0 auto;
}

.confirm-signup-card {
	background: linear-gradient(145deg, rgba(24, 52, 65, 0.95), rgba(18, 29, 39, 0.95));
	border-radius: 25px;
	border: none;
	box-shadow: 0 20px 40px rgba(18, 29, 39, 0.2);
	backdrop-filter: blur(10px);
	overflow: hidden;
	position: relative;
}

.confirm-signup-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, #ffc107, #ff9800, #ffc107);
	animation: shimmer 3s ease-in-out infinite;
}

@keyframes shimmer {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.7; }
}

.confirm-signup-card-body {
	padding: 50px 40px;
	position: relative;
}

.btn-confirm-signup {
	background: linear-gradient(135deg, #121d27 0%, #183441 100%);
	color: #fff;
	border: none;
	padding: 18px 50px;
	border-radius: 18px;
	font-size: 16px;
	font-weight: 600;
	width: 100%;
	transition: all 0.3s ease;
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.btn-confirm-signup::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 193, 7, 0.2), transparent);
	transition: left 0.6s;
}

.btn-confirm-signup:hover::before {
	left: 100%;
}

.btn-confirm-signup:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 25px rgba(18, 29, 39, 0.3);
	background: linear-gradient(135deg, #183441 0%, #121d27 100%);
}

.btn-confirm-signup:active {
	transform: translateY(0);
}

.confirm-signup-divider {
	position: relative;
	text-align: center;
	margin: 35px 0;
}

.confirm-signup-divider::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(255, 193, 7, 0.3), transparent);
}

.confirm-signup-divider span {
	background: linear-gradient(145deg, rgba(24, 52, 65, 0.95), rgba(18, 29, 39, 0.95));
	color: #ffc107;
	padding: 0 20px;
	font-size: 14px;
	font-weight: 600;
	position: relative;
}

.confirm-signup-links {
	color: #e9ecef;
	font-size: 14px;
	font-weight: 500;
}

.confirm-signup-link {
	color: #ffc107;
	text-decoration: none;
	font-weight: 600;
	transition: all 0.3s ease;
	position: relative;
}

.confirm-signup-link::after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 0;
	height: 2px;
	background: #ffc107;
	transition: width 0.3s ease;
}

.confirm-signup-link:hover::after {
	width: 100%;
}

.confirm-signup-link:hover {
	color: #fff;
	text-decoration: none;
}

.confirm-signup-terms {
	color: #b8c2cc;
	font-size: 12px;
}

.confirm-signup-terms .confirm-signup-link {
	font-size: 12px;
}

/* Responsive Design */
@media (max-width: 767.98px) {
	.confirm-signup-card-body {
		padding: 35px 25px;
	}
	
	.confirm-signup-title {
		font-size: 26px;
	}
	
	.confirm-signup-subtitle {
		font-size: 14px;
	}
	
	.confirm-signup-icon {
		width: 70px;
		height: 70px;
	}
	
	.confirm-signup-icon i {
		font-size: 30px;
	}
	
	.btn-confirm-signup {
		padding: 16px 40px;
		font-size: 15px;
	}
}

@media (max-width: 575.98px) {
	.confirm-signup-card-body {
		padding: 30px 20px;
	}
	
	.confirm-signup-title {
		font-size: 24px;
	}
}

/* Generic Stat Box Styles for Service Pages */
.stat-box {
    padding: 30px 20px;
    background: white;
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}

.stat-box:hover {
    transform: translateY(-5px);
}

.stat-number {
    font-size: 2.5rem;
    font-weight: 800;
    color: #333;
    margin: 15px 0 10px 0;
}

.stat-label {
    color: #666;
    margin: 0;
    font-weight: 500;
}

/* Generic Pricing Card Styles for Service Pages */
.pricing-card {
    background: white;
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    overflow: visible;
    position: relative;
    transition: transform 0.3s ease;
    height: 100%;
}

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

.pricing-card.featured {
    border: 3px solid #007bff;
    transform: scale(1.05);
}

.featured-badge {
    background: linear-gradient(135deg, #007bff, #0056b3);
    color: white;
    padding: 8px 16px;
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    z-index: 10;
    box-shadow: 0 4px 12px rgba(0,123,255,0.25);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: 2px solid rgba(255,255,255,0.2);
    backdrop-filter: blur(10px);
}

.pricing-header {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    padding: 40px 30px;
    text-align: center;
    border-bottom: 1px solid #dee2e6;
}

.pricing-header h4 {
    font-size: 1.5rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 15px;
}

.price {
    font-size: 2.5rem;
    font-weight: 800;
    color: #007bff;
    margin-bottom: 10px;
}

.pricing-body {
    padding: 30px;
}

.pricing-body ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pricing-body li {
    padding: 8px 0;
    color: #666;
}

.pricing-body li i {
    color: #28a745;
    margin-right: 10px;
    font-size: 1.1rem;
}

.pricing-footer {
    padding: 0 30px 30px 30px;
}

.btn-block {
    width: 100%;
}

/* ===============================
   YOUTUBE PAGES - DETAILED CONTENT SECTIONS
   YouTube Likes, Views, Subscribers, Comments
   =============================== */

/* Detailed Content Section - เนื้อหาเชิงลึกสำหรับ YouTube Pages */
.facebook-landing-page .detailed-content-section {
    padding: 80px 0;
    background: #f8f9fa;
}

.facebook-landing-page .detailed-content-section .section-title {
    color: #FF0000;
    font-size: 2.2rem;
    font-weight: 700;
    margin-bottom: 30px;
    text-align: center;
}

.facebook-landing-page .detailed-content-section p {
    font-size: 1.1rem;
    line-height: 1.8;
    color: #495057;
    margin-bottom: 40px;
    text-align: center;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

/* Info Cards Grid - แทนที่ Text เยอะๆ */
.facebook-landing-page .detailed-content-section .info-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin: 60px 0;
    position: relative;
    z-index: 2;
}

.facebook-landing-page .detailed-content-section .info-card {
    background: white;
    border-radius: 20px;
    padding: 35px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.06);
    border: 1px solid rgba(255,0,0,0.08);
    transition: all 0.4s ease;
    position: relative;
    overflow: hidden;
}

.facebook-landing-page .detailed-content-section .info-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #FF0000, #FF6B6B);
}

.facebook-landing-page .detailed-content-section .info-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(255,0,0,0.12);
}

.facebook-landing-page .detailed-content-section .info-card h4 {
    color: #2d3748;
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
}

.facebook-landing-page .detailed-content-section .info-card .card-icon {
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, #FF0000, #FF4444);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
    flex-shrink: 0;
}

.facebook-landing-page .detailed-content-section .info-card .card-icon i {
    color: white;
    font-size: 1.1rem;
}

.facebook-landing-page .detailed-content-section .info-card ul {
    padding: 0;
    list-style: none;
    margin: 0;
}

.facebook-landing-page .detailed-content-section .info-card li {
    padding: 8px 0;
    color: #4a5568;
    font-size: 1rem;
    line-height: 1.6;
    position: relative;
    padding-left: 25px;
}

.facebook-landing-page .detailed-content-section .info-card li::before {
    content: '▶';
    color: #FF0000;
    position: absolute;
    left: 0;
    top: 8px;
    font-size: 0.8rem;
}

.facebook-landing-page .detailed-content-section .info-card li strong {
    color: #FF0000;
    font-weight: 600;
}

/* Override feature-card for YouTube pages */
.facebook-landing-page .detailed-content-section .feature-card {
    background: white;
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 10px 30px rgba(255,0,0,0.08);
    border: 1px solid rgba(255,0,0,0.1);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.facebook-landing-page .detailed-content-section .feature-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #FF0000, #FF4444, #CC0000);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.facebook-landing-page .detailed-content-section .feature-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(255,0,0,0.15);
    border-color: rgba(255,0,0,0.3);
}

.facebook-landing-page .detailed-content-section .feature-card:hover::before {
    opacity: 1;
}

/* YouTube feature icons */
.facebook-landing-page .detailed-content-section .feature-icon {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #FF0000, #FF4444);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    box-shadow: 0 8px 25px rgba(255,0,0,0.3);
    transition: all 0.3s ease;
}

.facebook-landing-page .detailed-content-section .feature-icon i {
    color: white;
    font-size: 1.5rem;
}

.facebook-landing-page .detailed-content-section .feature-card:hover .feature-icon {
    transform: scale(1.1);
    box-shadow: 0 12px 35px rgba(255,0,0,0.4);
}

/* Benefit icons for Benefits section */
.facebook-landing-page .benefit-icon {
    color: #FF0000 !important;
    font-size: 2rem;
    margin-right: 15px;
    flex-shrink: 0;
    margin-top: 5px;
}

/* Quick Order CTA Card - Sticky ด้านขวา */
.facebook-landing-page .quick-order-card {
    background: linear-gradient(135deg, #FF0000 0%, #FF4444 100%);
    color: white;
    border-radius: 25px;
    padding: 35px;
    box-shadow: 0 15px 40px rgba(255,0,0,0.3);
    position: sticky;
    top: 30px;
    transition: all 0.3s ease;
}

.facebook-landing-page .quick-order-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 50px rgba(255,0,0,0.4);
}

.facebook-landing-page .quick-order-card .feature-title {
    color: white;
    font-size: 1.5rem;
    margin-bottom: 25px;
}

.facebook-landing-page .quick-order-card .feature-icon {
    background: rgba(255,255,255,0.2);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.3);
}

.facebook-landing-page .quick-order-card .btn-primary {
    background: white !important;
    color: #FF0000 !important;
    border: none;
    font-weight: 600;
    padding: 15px 30px;
    border-radius: 15px;
    transition: all 0.3s ease;
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}

.facebook-landing-page .quick-order-card .btn-primary:hover {
    background: #f8f9fa !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.3);
}

/* Success Formula Card - Special highlight */
.facebook-landing-page .detailed-content-section .success-formula-card {
    background: linear-gradient(135deg, #FF0000 0%, #FF4444 100%);
    color: white;
    border-radius: 30px;
    padding: 50px 40px;
    box-shadow: 0 20px 60px rgba(255, 0, 0, 0.2);
    position: relative;
    overflow: hidden;
}

.facebook-landing-page .detailed-content-section .success-formula-card::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -50%;
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, transparent 40%, rgba(255,255,255,0.1) 50%, transparent 60%);
    transform: rotate(45deg);
}

.facebook-landing-page .detailed-content-section .formula-icon {
    width: 80px;
    height: 80px;
    background: rgba(255,255,255,0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 30px auto;
    backdrop-filter: blur(10px);
    border: 2px solid rgba(255,255,255,0.3);
}

.facebook-landing-page .detailed-content-section .formula-icon i {
    color: white;
    font-size: 2.5rem;
}

.facebook-landing-page .detailed-content-section .formula-title {
    color: white;
    font-size: 2rem;
    font-weight: 800;
    margin-bottom: 40px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.facebook-landing-page .detailed-content-section .formula-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 15px;
    margin-bottom: 40px;
}

.facebook-landing-page .detailed-content-section .formula-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: rgba(255,255,255,0.15);
    padding: 20px 15px;
    border-radius: 15px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.2);
    min-width: 120px;
    transition: all 0.3s ease;
}

.facebook-landing-page .detailed-content-section .formula-item:hover {
    transform: translateY(-5px);
    background: rgba(255,255,255,0.2);
}

.facebook-landing-page .detailed-content-section .formula-item i {
    font-size: 1.8rem;
    margin-bottom: 8px;
    color: white;
}

.facebook-landing-page .detailed-content-section .formula-item span {
    font-size: 0.9rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.3;
}

.facebook-landing-page .detailed-content-section .formula-plus,
.facebook-landing-page .detailed-content-section .formula-equals {
    font-size: 1.8rem;
    font-weight: 800;
    color: white;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.facebook-landing-page .detailed-content-section .formula-result {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: rgba(255,215,0,0.2);
    padding: 25px 20px;
    border-radius: 20px;
    backdrop-filter: blur(10px);
    border: 2px solid rgba(255,215,0,0.4);
    min-width: 140px;
    animation: pulse-glow 2s ease-in-out infinite alternate;
}

.facebook-landing-page .detailed-content-section .formula-result i {
    font-size: 2.2rem;
    margin-bottom: 8px;
    color: #FFD700;
    text-shadow: 0 0 20px rgba(255,215,0,0.5);
}

.facebook-landing-page .detailed-content-section .formula-result span {
    font-size: 1rem;
    font-weight: 800;
    text-align: center;
    color: #FFD700;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

@keyframes pulse-glow {
    0% { 
        box-shadow: 0 0 20px rgba(255,215,0,0.3);
        transform: scale(1);
    }
    100% { 
        box-shadow: 0 0 30px rgba(255,215,0,0.6);
        transform: scale(1.02);
    }
}

.facebook-landing-page .detailed-content-section .success-formula-card .btn-primary {
    background: white !important;
    color: #FF0000 !important;
    border: none;
    font-weight: 700;
    font-size: 1.1rem;
    padding: 15px 40px;
    border-radius: 50px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.2);
    transition: all 0.3s ease;
    position: relative;
    z-index: 2;
}

.facebook-landing-page .detailed-content-section .success-formula-card .btn-primary:hover {
    background: #f8f9fa !important;
    transform: translateY(-3px);
    box-shadow: 0 12px 35px rgba(0,0,0,0.3);
}

/* Mobile responsiveness for YouTube sections */
@media (max-width: 768px) {
    .facebook-landing-page .detailed-content-section {
        padding: 60px 0;
    }
    
    .facebook-landing-page .detailed-content-section .section-title {
        font-size: 1.8rem;
        text-align: center;
    }
    
    .facebook-landing-page .detailed-content-section .success-formula-card {
        padding: 40px 25px;
    }
    
    .facebook-landing-page .detailed-content-section .formula-content {
        flex-direction: column;
        gap: 20px;
    }
    
    .facebook-landing-page .detailed-content-section .formula-plus,
    .facebook-landing-page .detailed-content-section .formula-equals {
        transform: rotate(90deg);
        font-size: 1.5rem;
    }
    
    .facebook-landing-page .detailed-content-section .formula-title {
        font-size: 1.6rem;
    }
}





/* ============================================
   Premium Banking Membership Cards - Centered Focus
   Redesigned for better visibility and hierarchy
   ============================================ */

/* Container Styles */
.membership-banking-container {
    padding: 15px 15px 35px;
    position: relative;
}

/* Current Member Level Display */
.current-member-level {
    text-align: center;
    margin-bottom: 30px;
}

.current-member-level .level-text {
    display: block;
    font-size: 12px;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 12px;
    font-weight: 500;
}

.level-badge-display {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 30px;
    border-radius: 30px;
    font-weight: 800;
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    position: relative;
    overflow: hidden;
}

.level-badge-display i {
    font-size: 20px;
}

/* Level Badge Styles with Brand Colors */
.new-level {
    background: linear-gradient(135deg, #4a5568 0%, #2d3748 100%);
    color: white;
    box-shadow: 0 6px 20px rgba(74, 85, 104, 0.3);
}

.gold-level {
    background: linear-gradient(135deg, #ffc107 0%, #ff8f00 100%);
    color: #1a1a1a;
    box-shadow: 0 6px 20px rgba(255, 193, 7, 0.5);
    animation: goldShine 3s infinite;
}

.platinum-level {
    background: linear-gradient(135deg, #e7e7e7 0%, #b8b8b8 50%, #e7e7e7 100%);
    color: #1a1a1a;
    box-shadow: 0 6px 20px rgba(184, 184, 184, 0.4);
}

.vip-level {
    background: linear-gradient(135deg, #1a1a1a 0%, #434343 50%, #1a1a1a 100%);
    color: #ffc107;
    box-shadow: 0 6px 25px rgba(26, 26, 26, 0.6);
    border: 2px solid #ffc107;
}

@keyframes goldShine {
    0%, 100% { filter: brightness(1); }
    50% { filter: brightness(1.1); }
}

/* Banking Cards Grid - Centered Focus Layout */
.banking-cards-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto 20px;
    align-items: center;
    justify-items: center;
}

/* Banking Card Base Style */
.banking-card {
    position: relative;
    width: 100%;
    max-width: 260px;
    height: 160px;
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    transform-style: preserve-3d;
    perspective: 1000px;
}

.banking-card:hover {
    transform: translateY(-5px) rotateX(5deg);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

/* Card Pattern Background */
.card-pattern {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0.15;
    background-image: 
        repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(255, 255, 255, 0.05) 10px, rgba(255, 255, 255, 0.05) 20px),
        repeating-linear-gradient(-45deg, transparent, transparent 10px, rgba(0, 0, 0, 0.03) 10px, rgba(0, 0, 0, 0.03) 20px);
    pointer-events: none;
}

/* Card Content */
.card-content {
    position: relative;
    height: 100%;
    padding: 18px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    z-index: 2;
}

/* Card Header */
.card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.card-tier {
    display: flex;
    align-items: center;
    gap: 8px;
}

.card-tier i {
    font-size: 20px;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
}

.tier-name {
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 1.5px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Card Chip */
.card-chip {
    width: 36px;
    height: 26px;
    border-radius: 6px;
    background: linear-gradient(135deg, #ffd700 0%, #ffed4e 50%, #ffd700 100%);
    position: relative;
    overflow: hidden;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.card-chip::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 22px;
    height: 16px;
    border: 1.5px solid rgba(0, 0, 0, 0.15);
    border-radius: 3px;
}

/* Card Details */
.card-details {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.detail-item {
    display: flex;
    align-items: center;
    gap: 6px;
}

.detail-item i {
    font-size: 14px;
    opacity: 0.8;
}

.detail-info {
    display: flex;
    flex-direction: column;
}

.detail-label {
    font-size: 9px;
    text-transform: uppercase;
    opacity: 0.7;
    letter-spacing: 0.5px;
    font-weight: 500;
}

.detail-value {
    font-size: 11px;
    font-weight: 700;
    margin-top: 2px;
}

/* Individual Card Styles with Distinct Color Differentiation */
.new-member-card {
    background: linear-gradient(135deg, #6c757d 0%, #495057 100%);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.new-member-card .card-chip {
    background: linear-gradient(135deg, #adb5bd 0%, #6c757d 100%);
}

.new-member-card .tier-name {
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.gold-member-card {
    background: linear-gradient(135deg, #ffc107 0%, #ff8f00 100%);
    color: #1a1a1a;
    position: relative;
    overflow: hidden;
}

.gold-member-card::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(45deg, transparent 40%, rgba(255, 255, 255, 0.1) 50%, transparent 60%);
    animation: goldShimmer 3s infinite;
    pointer-events: none;
}

@keyframes goldShimmer {
    0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); }
    100% { transform: translateX(100%) translateY(100%) rotate(45deg); }
}

.gold-member-card .detail-label {
    color: rgba(26, 26, 26, 0.7);
}

.gold-member-card .tier-name {
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.platinum-member-card {
    background: linear-gradient(135deg, #e8eaed 0%, #c1c8cd 50%, #e8eaed 100%);
    color: #1a1a1a;
    position: relative;
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.platinum-member-card::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.4) 50%, transparent 70%);
    animation: platinumShine 4s infinite;
    pointer-events: none;
}

@keyframes platinumShine {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

.platinum-member-card .detail-label {
    color: rgba(26, 26, 26, 0.7);
}

.platinum-member-card .tier-name {
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.vip-member-card {
    background: linear-gradient(135deg, #1a1a1a 0%, #000000 50%, #1a1a1a 100%);
    color: #ffffff;
    border: 2px solid #ffc107;
    position: relative;
    overflow: hidden;
}

.vip-member-card::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255, 193, 7, 0.15) 0%, transparent 60%);
    animation: vipGlow 3s ease-in-out infinite;
    pointer-events: none;
}

@keyframes vipGlow {
    0%, 100% { opacity: 0.6; }
    50% { opacity: 1; }
}

.vip-member-card .card-chip {
    background: linear-gradient(135deg, #ffc107 0%, #ff6f00 100%);
    box-shadow: 0 0 10px rgba(255, 193, 7, 0.3);
}

.vip-member-card .detail-label {
    color: rgba(255, 255, 255, 0.8);
}

.vip-member-card .detail-value {
    color: #ffc107;
    font-weight: 800;
}

.vip-member-card .tier-name {
    color: #ffffff;
    text-shadow: 0 0 15px rgba(255, 193, 7, 0.8);
    font-weight: 900;
}

.vip-member-card .card-tier i {
    color: #ffc107;
    filter: drop-shadow(0 0 8px rgba(255, 193, 7, 0.6));
}

/* Removed Current Badge - Clean design with level indicator at top only */

/* Active Banking Card - Enhanced Visibility */
.active-banking-card {
    transform: scale(1.18) translateY(-12px);
    box-shadow: 
        0 25px 50px rgba(0, 0, 0, 0.5),
        0 0 0 4px #ffffff,
        0 0 0 8px #ffc107,
        0 0 40px rgba(255, 193, 7, 0.6);
    z-index: 10;
    position: relative;
}

.active-banking-card:hover {
    transform: scale(1.18) translateY(-10px) rotateX(5deg);
}

/* Glow effect for active card */
.active-banking-card::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255, 193, 7, 0.2) 0%, transparent 60%);
    animation: activeGlow 2s ease-in-out infinite;
    pointer-events: none;
}

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

/* Dark Theme Adjustments */
html.dark .membership-banking-container {
    background: transparent;
}

html.dark .current-member-level .level-text {
    color: #999;
}

html.dark .banking-card {
    border: 1px solid rgba(255, 255, 255, 0.05);
}

/* Light Theme Adjustments */
html.light .membership-banking-container {
    background: rgba(248, 249, 250, 0.5);
    border-radius: 20px;
}

html.light .current-member-level .level-text {
    color: #666;
}

html.light .new-member-card {
    color: #f0f0f0;
}

html.light .gold-level {
    box-shadow: 0 6px 25px rgba(255, 193, 7, 0.6);
}

/* Responsive Design - Tablet */
@media (max-width: 992px) {
    .banking-cards-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }
    
    .banking-card {
        max-width: 280px;
        height: 170px;
    }
    
    .active-banking-card {
        transform: scale(1.1) translateY(-5px);
    }
}

/* Responsive Design - Mobile */
@media (max-width: 576px) {
    .banking-cards-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .banking-card {
        max-width: 320px;
        height: 180px;
    }
    
    .card-content {
        padding: 20px;
    }
    
    .active-banking-card {
        transform: scale(1.05) translateY(-5px);
    }
    
    .active-banking-card:hover {
        transform: scale(1.05) translateY(-5px);
    }
    
    .tier-name {
        font-size: 20px;
    }
    
    .detail-value {
        font-size: 12px;
    }
}

/* Animation on Load */
@keyframes slideInFade {
    from {
        opacity: 0;
        transform: translateY(20px) scale(0.9);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.banking-card {
    animation: slideInFade 0.6s cubic-bezier(0.4, 0, 0.2, 1) backwards;
}

.banking-card:nth-child(1) { animation-delay: 0.1s; }
.banking-card:nth-child(2) { animation-delay: 0.2s; }
.banking-card:nth-child(3) { animation-delay: 0.3s; }
.banking-card:nth-child(4) { animation-delay: 0.4s; }

/* Hover Shine Effect */
@keyframes cardShine {
    0% {
        transform: translateX(-100%) translateY(-100%) rotate(45deg);
    }
    100% {
        transform: translateX(100%) translateY(100%) rotate(45deg);
    }
}

.banking-card:hover .card-pattern::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.3),
        transparent
    );
    animation: cardShine 0.8s ease-out;
}

/* Focus State for Accessibility */
.banking-card:focus-visible {
    outline: 3px solid #ffc107;
    outline-offset: 2px;
}

/* Print Styles */
@media print {
    .membership-banking-container {
        break-inside: avoid;
    }
    
    .banking-card {
        box-shadow: none;
        border: 1px solid #ccc;
    }
}


/* Active/Current Membership Tier Enhancement */
.membership-tier.current-tier {
    transform: scale(1.05);
    border: 3px solid #ffc107;
    box-shadow: 
        0 8px 25px rgba(0, 0, 0, 0.15),
        0 0 0 1px rgba(255, 193, 7, 0.2),
        0 0 20px rgba(255, 193, 7, 0.3);
    position: relative;
    z-index: 2;
}

.membership-tier.current-tier::after {
    content: 'ระดับปัจจุบัน';
    position: absolute;
    top: -22px;
    left: 50%;
    transform: translateX(-50%);
    background: #00AF4C;
    color: white;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 6px 20px rgba(0, 175, 76, 0.6);
    z-index: 999;
    border: 2px solid #ffffff;
    animation: currentTierPulse 3s infinite;
}

@keyframes currentTierPulse {
    0%, 100% { 
        box-shadow: 0 6px 20px rgba(0, 175, 76, 0.6);
        transform: translateX(-50%) scale(1);
    }
    50% { 
        box-shadow: 0 8px 30px rgba(0, 175, 76, 0.9);
        transform: translateX(-50%) scale(1.05);
    }
}

/* Enhanced glow for current tier */
.membership-tier.current-tier::before {
    height: 6px;
    background: linear-gradient(90deg, #ffc107, #ff8f00, #ffc107);
    animation: goldFlow 2s ease-in-out infinite;
}

@keyframes goldFlow {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.8; }
}

/* Current tier hover effect */
.membership-tier.current-tier:hover {
    transform: scale(1.08);
    box-shadow: 
        0 12px 35px rgba(0, 0, 0, 0.2),
        0 0 0 2px rgba(255, 193, 7, 0.3),
        0 0 30px rgba(255, 193, 7, 0.4);
}

/* English version of badge */
html[lang='en'] .membership-tier.current-tier::after,
body[lang='en'] .membership-tier.current-tier::after {
    content: 'Your Level';
}

/* Dark theme adjustments for current tier */
html.dark .membership-tier.current-tier,
body.dark .membership-tier.current-tier,
.dark .membership-tier.current-tier {
    border: 3px solid #ffc107;
    box-shadow: 
        0 8px 25px rgba(0, 0, 0, 0.4),
        0 0 0 1px rgba(255, 193, 7, 0.3),
        0 0 25px rgba(255, 193, 7, 0.4);
}

/* Responsive adjustments for current tier */
@media (max-width: 768px) {
    .membership-tier.current-tier {
        transform: scale(1.02);
    }
    
    .membership-tier.current-tier:hover {
        transform: scale(1.02);
    }
    
    .membership-tier.current-tier::after {
        font-size: 10px;
        padding: 6px 12px;
        top: -12px;
        left: 50%;
        transform: translateX(-50%);
        border: 1px solid #ffffff;
    }
}



/* Desktop-specific spacing fix for badge overlap */
@media (min-width: 992px) {
    .current-member-level {
        margin-bottom: 40px;
    }
    
    .membership-banking-container {
        padding: 25px 15px 40px;
    }
}



/* ============================================
   Badge + Progress Bar Bonus System
   Yellow/White/Black theme matching website
   ============================================ */

.bonus-progress-container {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 8px 0;
}

.bonus-progress-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    transition: all 0.2s ease;
}

.bonus-progress-item:hover {
    transform: translateX(4px);
}

/* Progress Badge */
.progress-badge {
    flex-shrink: 0;
    width: 80px;
    padding: 8px 12px;
    background: #ffc107;
    color: #000;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    text-align: center;
    border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: 0 2px 4px rgba(255, 193, 7, 0.2);
}

/* Dark mode badge */
html.dark .progress-badge,
body.dark-mode .progress-badge {
    background: #ffc107;
    color: #000;
    border-color: rgba(255, 193, 7, 0.3);
}

/* Hot tier badge */
.progress-badge.hot {
    background: linear-gradient(135deg, #ffc107, #ff8f00);
    color: #000;
    font-weight: 700;
    animation: badge-glow 2s ease-in-out infinite;
}

/* Super tier badge */
.progress-badge.super {
    background: linear-gradient(135deg, #ffc107, #ff6f00, #ffc107);
    color: #000;
    font-weight: 800;
    box-shadow: 0 4px 8px rgba(255, 193, 7, 0.4);
    animation: badge-super-glow 2s ease-in-out infinite;
}

/* Progress Bar Wrapper */
.progress-bar-wrapper {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
}

.progress-bar-bg {
    width: 100%;
    height: 8px;
    background: #e0e0e0;
    border-radius: 4px;
    overflow: hidden;
    position: relative;
}

html.dark .progress-bar-bg,
body.dark-mode .progress-bar-bg {
    background: #2d3239;
}

/* Progress Bar Fill */
.progress-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, #ffe082, #ffc107);
    border-radius: 4px;
    transition: width 0.3s ease;
    position: relative;
}

.progress-bar-fill::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    animation: shine 2s ease-in-out infinite;
}

/* Hot progress bar */
.progress-bar-fill.hot {
    background: linear-gradient(90deg, #ffb74d, #ff8f00);
    box-shadow: 0 0 8px rgba(255, 143, 0, 0.3);
}

/* Super progress bar */
.progress-bar-fill.super {
    background: linear-gradient(90deg, #ffc107, #ff6f00, #ffc107);
    box-shadow: 0 0 12px rgba(255, 193, 7, 0.5);
    animation: progress-super-glow 2s ease-in-out infinite;
}

/* Progress Percent */
.progress-percent {
    flex-shrink: 0;
    width: 60px;
    text-align: right;
    font-size: 16px;
    font-weight: 700;
    color: #333;
}

html.dark .progress-percent,
body.dark-mode .progress-percent {
    color: #fff;
}

.progress-percent.no-bonus {
    font-size: 12px;
    color: #999;
    font-weight: 400;
}

.progress-percent.hot {
    color: #ff8f00;
    font-size: 18px;
    font-weight: 800;
}

.progress-percent.super {
    color: #ffc107;
    font-size: 20px;
    font-weight: 800;
    text-shadow: 0 0 4px rgba(255, 193, 7, 0.3);
}

/* Progress Label for Super */
.progress-label {
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 9px;
    color: #ff6f00;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: #fff;
    padding: 2px 6px;
    border-radius: 3px;
    white-space: nowrap;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

html.dark .progress-label,
body.dark-mode .progress-label {
    background: #1e2329;
    color: #ffc107;
}

/* Special styling for hot and super tiers */
.hot-tier {
    background: linear-gradient(90deg, transparent, rgba(255, 143, 0, 0.05), transparent);
    border-radius: 8px;
    margin: 0 -8px;
    padding: 12px 8px;
}

.super-tier {
    background: linear-gradient(90deg, transparent, rgba(255, 193, 7, 0.08), transparent);
    border-radius: 8px;
    margin: 0 -8px;
    padding: 12px 8px;
    border: 1px solid rgba(255, 193, 7, 0.2);
}

html.dark .hot-tier,
body.dark-mode .hot-tier {
    background: linear-gradient(90deg, transparent, rgba(255, 143, 0, 0.1), transparent);
}

html.dark .super-tier,
body.dark-mode .super-tier {
    background: linear-gradient(90deg, transparent, rgba(255, 193, 7, 0.1), transparent);
    border-color: rgba(255, 193, 7, 0.3);
}

/* Animations */
@keyframes badge-glow {
    0%, 100% { 
        box-shadow: 0 2px 4px rgba(255, 193, 7, 0.2); 
    }
    50% { 
        box-shadow: 0 4px 8px rgba(255, 143, 0, 0.4); 
    }
}

@keyframes badge-super-glow {
    0%, 100% { 
        box-shadow: 0 4px 8px rgba(255, 193, 7, 0.4); 
    }
    50% { 
        box-shadow: 0 6px 12px rgba(255, 193, 7, 0.6); 
    }
}

@keyframes progress-super-glow {
    0%, 100% { 
        box-shadow: 0 0 12px rgba(255, 193, 7, 0.5); 
    }
    50% { 
        box-shadow: 0 0 16px rgba(255, 193, 7, 0.7); 
    }
}

@keyframes shine {
    0% { transform: translateX(-100%); }
    50% { transform: translateX(100%); }
    100% { transform: translateX(100%); }
}

/* Responsive Design */
@media (max-width: 768px) {
    .bonus-progress-container {
        gap: 12px;
    }
    
    .bonus-progress-item {
        gap: 10px;
        padding: 10px 0;
    }
    
    .progress-badge {
        width: 70px;
        padding: 6px 8px;
        font-size: 12px;
    }
    
    .progress-bar-bg {
        height: 6px;
    }
    
    .progress-percent {
        width: 50px;
        font-size: 14px;
    }
    
    .progress-percent.hot {
        font-size: 16px;
    }
    
    .progress-percent.super {
        font-size: 18px;
    }
}

@media (max-width: 480px) {
    .bonus-progress-container {
        gap: 10px;
    }
    
    .bonus-progress-item {
        gap: 8px;
        padding: 8px 0;
    }
    
    .progress-badge {
        width: 60px;
        padding: 5px 6px;
        font-size: 11px;
    }
    
    .progress-bar-bg {
        height: 5px;
    }
    
    .progress-percent {
        width: 45px;
        font-size: 13px;
    }
    
    .progress-percent.hot {
        font-size: 14px;
    }
    
    .progress-percent.super {
        font-size: 16px;
    }
    
    .progress-label {
        font-size: 8px;
        top: -18px;
    }
}

/* Hide old table and other bonus styles */
.bonus-table,
.bonus-list-container,
.bonus-tiers-container {
    display: none !important;
}


/* ============================================
   Enhanced Badge + Progress Bar with Coin Animation
   Full text badges with spinning coins
   ============================================ */

/* Update Badge to fit full text */
.progress-badge {
    flex-shrink: 0;
    width: auto;
    min-width: 120px;
    max-width: 140px;
    padding: 8px 12px;
    background: #ffc107;
    color: #000;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    text-align: center;
    border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: 0 2px 4px rgba(255, 193, 7, 0.2);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Spinning Coin at Progress Bar End */
.progress-coin {
    position: absolute;
    right: -12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 16px;
    animation: coin-spin 2s linear infinite;
    z-index: 2;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
}

.progress-coin.hot {
    font-size: 18px;
    animation: coin-spin-hot 1.5s linear infinite;
    filter: drop-shadow(0 3px 6px rgba(255, 143, 0, 0.4));
}

.progress-coin.super {
    font-size: 20px;
    animation: coin-spin-super 1s linear infinite;
    filter: drop-shadow(0 4px 8px rgba(255, 193, 7, 0.6));
}

/* Enhanced Hot Label */
.progress-label.hot {
    background: linear-gradient(45deg, #ff8f00, #ffb74d);
    color: #fff;
    font-weight: 700;
    animation: label-pulse 2s ease-in-out infinite;
}

/* Coin Spin Animations */
@keyframes coin-spin {
    0% { transform: translateY(-50%) rotateY(0deg); }
    100% { transform: translateY(-50%) rotateY(360deg); }
}

@keyframes coin-spin-hot {
    0% { 
        transform: translateY(-50%) rotateY(0deg) scale(1); 
        filter: drop-shadow(0 3px 6px rgba(255, 143, 0, 0.4));
    }
    50% { 
        transform: translateY(-50%) rotateY(180deg) scale(1.1); 
        filter: drop-shadow(0 4px 8px rgba(255, 143, 0, 0.6));
    }
    100% { 
        transform: translateY(-50%) rotateY(360deg) scale(1); 
        filter: drop-shadow(0 3px 6px rgba(255, 143, 0, 0.4));
    }
}

@keyframes coin-spin-super {
    0% { 
        transform: translateY(-50%) rotateY(0deg) scale(1); 
        filter: drop-shadow(0 4px 8px rgba(255, 193, 7, 0.6)) hue-rotate(0deg);
    }
    25% { 
        transform: translateY(-50%) rotateY(90deg) scale(1.15); 
        filter: drop-shadow(0 5px 10px rgba(255, 193, 7, 0.8)) hue-rotate(90deg);
    }
    50% { 
        transform: translateY(-50%) rotateY(180deg) scale(1.2); 
        filter: drop-shadow(0 6px 12px rgba(255, 193, 7, 1)) hue-rotate(180deg);
    }
    75% { 
        transform: translateY(-50%) rotateY(270deg) scale(1.15); 
        filter: drop-shadow(0 5px 10px rgba(255, 193, 7, 0.8)) hue-rotate(270deg);
    }
    100% { 
        transform: translateY(-50%) rotateY(360deg) scale(1); 
        filter: drop-shadow(0 4px 8px rgba(255, 193, 7, 0.6)) hue-rotate(360deg);
    }
}

@keyframes label-pulse {
    0%, 100% { 
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }
    50% { 
        transform: translateX(-50%) scale(1.05);
        opacity: 0.9;
    }
}

/* Enhanced Progress Bar Fill Positioning */
.progress-bar-fill {
    position: relative;
    overflow: visible;
}

/* Responsive Updates */
@media (max-width: 768px) {
    .progress-badge {
        min-width: 100px;
        max-width: 120px;
        font-size: 11px;
        padding: 6px 10px;
    }
    
    .progress-coin {
        font-size: 14px;
        right: -10px;
    }
    
    .progress-coin.hot {
        font-size: 16px;
    }
    
    .progress-coin.super {
        font-size: 18px;
    }
}

@media (max-width: 480px) {
    .progress-badge {
        min-width: 90px;
        max-width: 110px;
        font-size: 10px;
        padding: 5px 8px;
    }
    
    .progress-coin {
        font-size: 12px;
        right: -8px;
    }
    
    .progress-coin.hot {
        font-size: 14px;
    }
    
    .progress-coin.super {
        font-size: 16px;
    }
}

/* Enhanced hover effects */
.bonus-progress-item:hover .progress-coin {
    animation-duration: 0.5s;
}

.bonus-progress-item:hover .progress-coin.hot {
    animation-duration: 0.3s;
}

.bonus-progress-item:hover .progress-coin.super {
    animation-duration: 0.2s;
}


/* Hide coin animations - cleaner design */
.progress-coin {
    display: none !important;
}

/* Remove coin-related CSS overrides */
.progress-bar-fill {
    overflow: hidden;
}


/* Old Bonus Calculator styles removed — now using .bonus-result-minimal below */

/* New minimal design */
.bonus-result-minimal {
    background: rgba(255, 193, 7, 0.08);
    border: 1px solid rgba(255, 193, 7, 0.2);
    border-radius: 8px;
    padding: 16px;
    margin-top: 10px;
}

html.dark .bonus-result-minimal,
body.dark-mode .bonus-result-minimal {
    background: rgba(255, 193, 7, 0.1);
    border-color: rgba(255, 193, 7, 0.3);
}

.bonus-summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.bonus-label {
    color: #333;
    font-size: 14px;
    font-weight: 500;
}

html.dark .bonus-label,
body.dark-mode .bonus-label {
    color: #f8f9fa;
}

.bonus-total-value {
    color: #ffc107;
    font-size: 18px;
    font-weight: 700;
}

.bonus-details {
    text-align: center;
    margin-bottom: 8px;
}

.bonus-breakdown-text {
    color: #6c757d;
    font-size: 13px;
    font-weight: 400;
}

html.dark .bonus-breakdown-text,
body.dark-mode .bonus-breakdown-text {
    color: #adb5bd;
}

.bonus-note {
    color: #6c757d;
    font-size: 11px;
    font-style: italic;
    text-align: center;
    margin-top: 8px;
    line-height: 1.3;
}

html.dark .bonus-note,
body.dark-mode .bonus-note {
    color: #868e96;
}

/* Responsive */
@media (max-width: 768px) {
    .bonus-result-minimal {
        padding: 12px;
    }
    
    .bonus-summary {
        flex-direction: column;
        gap: 4px;
        text-align: center;
    }
    
    .bonus-label {
        font-size: 13px;
    }
    
    .bonus-total-value {
        font-size: 16px;
    }
    
    .bonus-breakdown-text {
        font-size: 12px;
    }
    
    .bonus-note {
        font-size: 10px;
    }
}

/* === MODERN AFFILIATE DASHBOARD === */

/* === AFFILIATE DASHBOARD === */

/* Modern Card */
.modern-card {
  border: 1px solid #e9ecef;
  border-radius: 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  overflow: hidden;
}

/* Referral Section - Mobile First + Dark Mode First */
.referral-section {
  padding: 32px;
  /* Default: Dark Mode เป็นหลัก */
  background: #15222E;
  border-right: 1px solid #183441;
}

.section-header {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 32px;
}

.section-title {
  flex: 1;
}

.section-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: linear-gradient(135deg, #ffc107, #ffbf00);
  color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
}

.section-title h5 {
  font-size: 18px;
  font-weight: 600;
  color: #212529;
  margin: 0 0 4px 0;
}

.section-title p {
  font-size: 14px;
  color: #6c757d;
  margin: 0;
}

.link-input-group {
  display: flex;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e9ecef;
  background: #fff;
}

.link-input {
  border: none;
  padding: 16px 20px;
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  font-size: 14px;
  background: transparent;
  flex: 1;
}

.link-input:focus {
  outline: none;
  box-shadow: none;
}

.copy-btn {
  border: none;
  border-left: 1px solid #e9ecef;
  padding: 16px 20px;
  background: #f8f9fa;
  color: #6c757d;
  transition: all 0.2s ease;
}

.copy-btn:hover {
  background: #ffc107;
  color: #000;
}

.social-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.social-actions .btn {
  border-radius: 10px;
  font-weight: 600;
  padding: 12px 24px;
  font-size: 14px;
  border: none;
  transition: all 0.2s ease;
}

.social-actions .btn:hover {
  transform: translateY(-1px);
}

/* Referral Tips - Mobile First + Dark Mode First */
.referral-tips {
  padding: 32px;
  /* Default: Dark Mode เป็นหลัก */
  background: #15222E;
  border-left: 1px solid #183441;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.tips-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  text-align: center;
  justify-content: center;
}

.tips-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, #ffc107, #ffbf00);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: #000;
}

.tips-header h6 {
  font-size: 16px;
  font-weight: 600;
  color: #212529;
  margin: 0;
}

.tips-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.tip-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.tip-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: #f8f9fa;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: #6c757d;
  flex-shrink: 0;
  margin-top: 2px;
}

.tip-text h6 {
  font-size: 14px;
  font-weight: 600;
  color: #212529;
  margin: 0 0 4px 0;
}

.tip-text p {
  font-size: 12px;
  color: #6c757d;
  margin: 0;
  line-height: 1.4;
}

.earning-highlight {
  margin-top: 24px !important;
  padding: 24px !important;
  background: linear-gradient(135deg, rgba(255, 193, 7, 0.1) 0%, #15222E 100%) !important;
  border: 2px solid #ffc107 !important;
  border-radius: 16px !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(255, 193, 7, 0.2) !important;
  transition: all 0.3s ease !important;
}

.earning-highlight::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 193, 7, 0.1), transparent);
  animation: shimmer 3s infinite;
}

@keyframes shimmer {
  0% { left: -100%; }
  50% { left: 100%; }
  100% { left: 100%; }
}

.earning-highlight:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 30px rgba(255, 193, 7, 0.25) !important;
  border-color: #ffbf00 !important;
}

.earning-amount {
  font-size: 36px !important;
  font-weight: 800 !important;
  color: #ffc107 !important;
  line-height: 1 !important;
  margin-bottom: 8px !important;
  text-shadow: 0 2px 4px rgba(255, 193, 7, 0.2) !important;
}

.earning-label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #6c757d !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
}

/* Dark Mode Support */
html.dark .modern-card,
body.dark-mode .modern-card {
  background: #15222E !important;
  border-color: #183441 !important;
  color: #fff !important;
}

html.dark .stat-card.highlight,
body.dark-mode .stat-card.highlight {
  background: linear-gradient(135deg, rgba(255, 193, 7, 0.1) 0%, #15222E 100%) !important;
  border-color: #ffc107 !important;
}

html.dark .stat-card.success,
body.dark-mode .stat-card.success {
  background: linear-gradient(135deg, rgba(40, 167, 69, 0.1) 0%, #15222E 100%) !important;
  border-color: #28a745 !important;
}

/* Light Mode Override - เขียนทับ Dark Mode Default */
html.light .referral-section,
body.light-mode .referral-section {
  background: #ffffff !important;
  border-right-color: #e9ecef !important;
}

html.light .referral-tips,
body.light-mode .referral-tips {
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%) !important;
  border-left-color: #e9ecef !important;
}

html.light .table-header,
body.light-mode .table-header {
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%) !important;
  border-bottom-color: #f1f3f4 !important;
}

html.light .earning-highlight,
body.light-mode .earning-highlight {
  background: linear-gradient(135deg, #fff9e6 0%, #ffffff 100%) !important;
  box-shadow: 0 4px 20px rgba(255, 193, 7, 0.15) !important;
}

html.light .faq-item,
body.light-mode .faq-item {
  background: white !important;
}

html.light .logbox .logbox-content,
body.light-mode .logbox .logbox-content {
  background: #ffffff !important;
}

/* ============================================
   Light Mode: Signin Page (Login Form) Fixes (2026-03-31)
   ============================================ */

/* Login form inputs: light bg + dark text on white logbox */
html.light .logbox .hl-input .inputText {
  background: #f7f8f9;
  border-color: #e5e7eb;
  color: #3d4249;
}

html.light .logbox .hl-input .inputText:focus {
  border-color: #ffc107 !important;
}

/* Floating label inside login form */
html.light .logbox .hl-input .floating-label {
  color: #6b7280;
}

/* Remember me / Reset password pills */
html.light .logbox .hl-special {
  background: #f7f8f9;
  border-color: #e5e7eb;
  color: #3d4249;
}

html.light .logbox .hl-special:hover {
  border-color: #ffc107;
  color: #3d4249;
}

/* .logbox::before gradient border removed 2026-04-11 (dead rule) */

html.light .custom-affiliate-table,
body.light-mode .custom-affiliate-table {
  background: #ffffff !important;
}

html.light .custom-affiliate-table thead,
body.light-mode .custom-affiliate-table thead {
  background: #f8f9fa !important;
  border-bottom-color: #f1f3f4 !important;
}

html.light .custom-affiliate-table thead th,
body.light-mode .custom-affiliate-table thead th {
  color: #495057 !important;
}

html.light .custom-affiliate-table thead th i,
body.light-mode .custom-affiliate-table thead th i {
  color: #6c757d !important;
}

html.light .custom-affiliate-table tbody tr,
body.light-mode .custom-affiliate-table tbody tr {
  border-bottom-color: #f1f3f4 !important;
}

html.light .custom-affiliate-table tbody tr:hover,
body.light-mode .custom-affiliate-table tbody tr:hover {
  background-color: #f8f9fa !important;
}

html.light .custom-affiliate-table tbody td,
body.light-mode .custom-affiliate-table tbody td {
  color: #495057 !important;
}

html.dark .link-input-group,
body.dark-mode .link-input-group {
  background: linear-gradient(135deg, rgba(255, 193, 7, 0.1) 0%, #15222E 100%) !important;
  border-color: #ffc107 !important;
  box-shadow: 0 4px 20px rgba(255, 193, 7, 0.2) !important;
}

html.dark .tips-header h6,
body.dark-mode .tips-header h6,
html.dark .tip-text h6,
body.dark-mode .tip-text h6,
html.dark .earning-amount,
body.dark-mode .earning-amount {
  color: #fff !important;
}

html.dark .section-title h5,
body.dark-mode .section-title h5,
html.dark .stat-value,
body.dark-mode .stat-value,
html.dark .main-stat-number,
body.dark-mode .main-stat-number,
html.dark .sub-stat-value,
body.dark-mode .sub-stat-value {
  color: #f7fafc;
}

html.dark .section-title p,
body.dark-mode .section-title p,
html.dark .stat-label,
body.dark-mode .stat-label,
html.dark .main-stat-label,
body.dark-mode .main-stat-label,
html.dark .sub-stat-label,
body.dark-mode .sub-stat-label {
  color: #a0aec0;
}

/* Responsive Design */
@media (max-width: 992px) {
  .stats-sidebar {
    border-left: none;
    border-top: 1px solid #e9ecef;
  }

  .main-stat-number {
    font-size: 32px;
  }

  .sub-stats {
    flex-direction: row;
    gap: 8px;
  }

  .sub-stat {
    flex: 1;
    flex-direction: column;
    text-align: center;
    gap: 4px;
  }
}

@media (max-width: 768px) {
  .stat-card {
    margin-bottom: 16px;
  }

  .referral-section,
  .stats-sidebar {
    padding: 24px 20px;
  }

  .section-header {
    margin-bottom: 24px;
  }

  .social-actions {
    gap: 8px;
  }

  .social-actions .btn {
    flex: 1;
    font-size: 12px;
    padding: 10px 16px;
  }

  .main-stat-number {
    font-size: 28px;
  }

  .sub-stats {
    flex-direction: column;
  }
}

/* ========================================
   Service Search Dropdown Styles
   ======================================== */

.search-dropdown-wrapper {
  position: relative;
  width: 100%;
}

.search-input-container {
  position: relative;
  width: 100%;
}

/* Search Icon - รองรับทั้ง SVG และ Icon Font */
svg.search-input-icon,
i.search-input-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 1;
}

/* Light Mode - สีเทา */
svg.search-input-icon .search-icon-path {
  fill: #999;
}

i.search-input-icon {
  font-size: 18px;
  color: #999;
}

/* Dark Mode - สีเหลือง */
html.dark svg.search-input-icon .search-icon-path,
.dark svg.search-input-icon .search-icon-path,
body.dark-mode svg.search-input-icon .search-icon-path {
  fill: #ffbf00 !important;
}

html.dark i.search-input-icon,
.dark i.search-input-icon,
body.dark-mode i.search-input-icon {
  color: #ffbf00 !important;
}

/* Fix Select2 dropdown icons in dark mode */
html.dark .select2-container .fas.fa-search,
html.dark .input-wrapper__prepend .fas.fa-search,
html.dark .select2-container .fa-search,
.dark .select2-container .fas.fa-search,
body.dark-mode .select2-container .fas.fa-search {
  color: #ffbf00 !important;
}

#service-search-input {
  width: 100%;
  padding-left: 45px;
  padding-right: 40px;
}

.search-clear-btn {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #999;
  cursor: pointer;
  padding: 4px;
  font-size: 18px;
  line-height: 1;
  transition: color 0.2s;
}

.search-clear-btn:hover {
  color: #333;
}

html.dark .search-clear-btn:hover {
  color: #fff;
}

.search-results-dropdown {
  position: absolute;
  top: calc(100% + 5px);
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  max-height: 400px;
  overflow-y: auto;
  z-index: 1000;
  animation: slideDown 0.2s ease-out;
}

html.dark .search-results-dropdown {
  background: #1a1f25;
  border-color: #2d3742;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.search-result-item {
  padding: 14px 16px;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.2s;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

html.dark .search-result-item {
  border-bottom-color: #2d3742;
}

.search-result-item:last-child {
  border-bottom: none;
}

.search-result-item:hover {
  background-color: #f8f9fa;
}

html.dark .search-result-item:hover {
  background-color: #252b32;
}

.search-result-id {
  flex-shrink: 0;
  background: #00B14D;
  color: #fff;
  padding: 4px 10px;
  border-radius: 6px;
  font-weight: 600;
  font-size: 13px;
  min-width: 60px;
  text-align: center;
}

.search-result-content {
  flex: 1;
  min-width: 0;
}

.search-result-name {
  color: #333;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.4;
  margin-bottom: 4px;
  word-wrap: break-word;
}

html.dark .search-result-name {
  color: #e8e8e8;
}

.search-result-category {
  color: #888;
  font-size: 12px;
  display: inline-block;
  background: #f0f0f0;
  padding: 2px 8px;
  border-radius: 4px;
}

html.dark .search-result-category {
  color: #999;
  background: #2d3742;
}

.search-no-results {
  padding: 24px 16px;
  text-align: center;
  color: #999;
  font-size: 14px;
}

html.dark .search-no-results {
  color: #666;
}

.search-no-results i {
  font-size: 32px;
  margin-bottom: 8px;
  display: block;
  opacity: 0.5;
}

/* Scrollbar สำหรับ search results */
.search-results-dropdown::-webkit-scrollbar {
  width: 8px;
}

.search-results-dropdown::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 10px;
}

html.dark .search-results-dropdown::-webkit-scrollbar-track {
  background: #1a1f25;
}

.search-results-dropdown::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 10px;
}

html.dark .search-results-dropdown::-webkit-scrollbar-thumb {
  background: #444;
}

.search-results-dropdown::-webkit-scrollbar-thumb:hover {
  background: #999;
}

html.dark .search-results-dropdown::-webkit-scrollbar-thumb:hover {
  background: #555;
}

/* Highlight search text */
.search-highlight {
  background-color: #ffeb3b;
  color: #000;
  font-weight: 600;
  padding: 1px 2px;
  border-radius: 2px;
}

html.dark .search-highlight {
  background-color: #ffc107;
  color: #000;
}

/* ============================================
   Reset Password Page
   ============================================ */

.reset-pw-page {
  background: linear-gradient(135deg, #ffc107 0%, #ff9800 100%);
  min-height: 100vh;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
}

.reset-pw-page::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle at 30% 40%, rgba(255,255,255,0.1) 0%, transparent 50%),
              radial-gradient(circle at 70% 60%, rgba(255,152,0,0.2) 0%, transparent 50%);
  animation: resetPwFloat 20s ease-in-out infinite;
  pointer-events: none;
}

@keyframes resetPwFloat {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-20px) rotate(2deg); }
}

.reset-pw-wrapper {
  position: relative;
  z-index: 10;
  width: 100%;
  max-width: 460px;
}

.reset-pw-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #4a3800;
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 28px;
  transition: all 0.3s ease;
}

.reset-pw-back:hover {
  opacity: 1;
  color: #121d27;
  transform: translateX(-4px);
}

.reset-pw-back i {
  font-size: 18px;
}

.reset-pw-header {
  text-align: center;
  margin-bottom: 32px;
}

.reset-pw-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 20px;
  background: linear-gradient(135deg, #121d27 0%, #183441 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 30px rgba(18, 29, 39, 0.3);
}

.reset-pw-icon i {
  font-size: 36px;
  color: #ffc107;
}

.reset-pw-title {
  font-size: 28px;
  font-weight: 700;
  color: #121d27;
  margin-bottom: 8px;
}

.reset-pw-subtitle {
  font-size: 14px;
  font-weight: 600;
  color: #4a3800;
  max-width: 320px;
  margin: 0 auto;
  line-height: 1.6;
}

.reset-pw-card {
  background: linear-gradient(145deg, rgba(24, 52, 65, 0.95), rgba(18, 29, 39, 0.95));
  border-radius: 25px;
  border: none;
  box-shadow: 0 25px 60px rgba(18, 29, 39, 0.35);
  backdrop-filter: blur(10px);
  position: relative;
  overflow: hidden;
}

.reset-pw-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #ffc107, transparent);
  animation: resetPwGlow 3s ease-in-out infinite;
}

@keyframes resetPwGlow {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 1; }
}

.reset-pw-card-body {
  padding: 44px 40px;
  position: relative;
}

.reset-pw-label {
  font-weight: 600;
  font-size: 14px;
  color: #ffffff !important;
  margin-bottom: 10px;
  display: block;
}

.reset-pw-input-wrap {
  background: rgba(24, 52, 65, 0.6);
  border: 1px solid rgba(255, 193, 7, 0.15);
  border-radius: 15px;
  height: 54px;
  width: 100%;
  position: relative;
  transition: all 0.3s ease;
}

.reset-pw-input-wrap:focus-within {
  background: rgba(18, 29, 39, 0.8);
  border-color: rgba(255, 193, 7, 0.4);
  box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.1);
}

.reset-pw-input-wrap .icon {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 54px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  transition: 0.3s ease;
  color: #ffc107;
}

.reset-pw-input-wrap:focus-within .icon {
  color: #fff;
}

.reset-pw-input-wrap input {
  margin-left: 44px;
  width: calc(100% - 58px);
  height: 100%;
  border: none;
  outline: none;
  background: transparent;
  padding: 0 14px;
  font-weight: 500;
  font-size: 14px;
  color: #fff !important;
}

.reset-pw-input-wrap input::placeholder {
  color: rgba(255,255,255,0.4);
}

.btn-reset-pw {
  background: linear-gradient(135deg, #ffc107 0%, #ff9800 100%);
  color: #121d27;
  border: none;
  border-radius: 15px;
  padding: 16px;
  font-size: 16px;
  font-weight: 700;
  width: 100%;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 28px;
  position: relative;
  overflow: hidden;
}

.btn-reset-pw::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.6s;
}

.btn-reset-pw:hover::before {
  left: 100%;
}

.btn-reset-pw:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(255, 152, 0, 0.35);
}

.btn-reset-pw:active {
  transform: translateY(0);
}

.reset-pw-footer {
  text-align: center;
  margin-top: 24px;
  font-size: 14px;
  color: #4a3800;
  font-weight: 600;
}

.reset-pw-footer a {
  color: #121d27;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: all 0.3s;
}

.reset-pw-footer a:hover {
  color: #000;
}

.reset-pw-info {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
  padding: 14px 16px;
  background: rgba(255, 193, 7, 0.08);
  border-radius: 12px;
  border: 1px solid rgba(255, 193, 7, 0.12);
}

.reset-pw-info i {
  color: #ffc107;
  font-size: 18px;
  flex-shrink: 0;
}

.reset-pw-info span {
  color: #dee2e6 !important;
  font-size: 12px;
  line-height: 1.5;
}

@media (max-width: 575.98px) {
  .reset-pw-page {
    padding: 24px 16px;
  }

  .reset-pw-card-body {
    padding: 32px 24px;
  }

  .reset-pw-title {
    font-size: 24px;
  }

  .reset-pw-icon {
    width: 70px;
    height: 70px;
  }

  .reset-pw-icon i {
    font-size: 30px;
  }

  .btn-reset-pw {
    padding: 14px;
    font-size: 15px;
  }
}

/* ============================================
   Set New Password Page
   ============================================ */

.setnew-pw-page {
  background: linear-gradient(135deg, #ffc107 0%, #ff9800 100%);
  min-height: 100vh;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
}

.setnew-pw-page::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle at 30% 40%, rgba(255,255,255,0.1) 0%, transparent 50%),
              radial-gradient(circle at 70% 60%, rgba(255,152,0,0.2) 0%, transparent 50%);
  animation: setnewPwFloat 20s ease-in-out infinite;
  pointer-events: none;
}

@keyframes setnewPwFloat {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-20px) rotate(2deg); }
}

.setnew-pw-wrapper {
  position: relative;
  z-index: 10;
  width: 100%;
  max-width: 460px;
}

.setnew-pw-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #4a3800;
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 28px;
  transition: all 0.3s ease;
}

.setnew-pw-back:hover {
  opacity: 1;
  color: #121d27;
  transform: translateX(-4px);
}

.setnew-pw-back i {
  font-size: 18px;
}

.setnew-pw-header {
  text-align: center;
  margin-bottom: 32px;
}

.setnew-pw-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 20px;
  background: linear-gradient(135deg, #121d27 0%, #183441 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 30px rgba(18, 29, 39, 0.3);
}

.setnew-pw-icon i {
  font-size: 36px;
  color: #ffc107;
}

.setnew-pw-title {
  font-size: 28px;
  font-weight: 700;
  color: #121d27;
  margin-bottom: 8px;
}

.setnew-pw-subtitle {
  font-size: 14px;
  font-weight: 600;
  color: #4a3800;
  max-width: 340px;
  margin: 0 auto;
  line-height: 1.6;
}

.setnew-pw-card {
  background: linear-gradient(145deg, rgba(24, 52, 65, 0.95), rgba(18, 29, 39, 0.95));
  border-radius: 25px;
  border: none;
  box-shadow: 0 25px 60px rgba(18, 29, 39, 0.35);
  backdrop-filter: blur(10px);
  position: relative;
  overflow: hidden;
}

.setnew-pw-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #ffc107, transparent);
  animation: setnewPwGlow 3s ease-in-out infinite;
}

@keyframes setnewPwGlow {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 1; }
}

.setnew-pw-card-body {
  padding: 44px 40px;
  position: relative;
}

.setnew-pw-label {
  font-weight: 600;
  font-size: 14px;
  color: #ffffff !important;
  margin-bottom: 10px;
  display: block;
}

.setnew-pw-input-wrap {
  background: rgba(24, 52, 65, 0.6);
  border: 1px solid rgba(255, 193, 7, 0.15);
  border-radius: 15px;
  height: 54px;
  width: 100%;
  position: relative;
  transition: all 0.3s ease;
}

.setnew-pw-input-wrap:focus-within {
  background: rgba(18, 29, 39, 0.8);
  border-color: rgba(255, 193, 7, 0.4);
  box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.1);
}

.setnew-pw-input-wrap.readonly {
  opacity: 0.6;
  cursor: not-allowed;
}

.setnew-pw-input-wrap.readonly:focus-within {
  border-color: rgba(255, 193, 7, 0.15);
  box-shadow: none;
}

.setnew-pw-input-wrap .icon {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 54px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  transition: 0.3s ease;
  color: #ffc107;
}

.setnew-pw-input-wrap:focus-within .icon {
  color: #fff;
}

.setnew-pw-input-wrap.readonly .icon {
  color: #6c757d;
}

.setnew-pw-input-wrap input {
  margin-left: 44px;
  width: calc(100% - 58px);
  height: 100%;
  border: none;
  outline: none;
  background: transparent;
  padding: 0 14px;
  font-weight: 500;
  font-size: 14px;
  color: #fff !important;
}

.setnew-pw-input-wrap.readonly input {
  color: #6c757d;
  cursor: not-allowed;
}

.setnew-pw-input-wrap input::placeholder {
  color: rgba(255,255,255,0.4);
}

.setnew-pw-input-wrap .pw-toggle {
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #6c757d;
  font-size: 18px;
  cursor: pointer;
  transition: color 0.3s;
  padding: 0;
  display: flex;
  align-items: center;
}

.setnew-pw-input-wrap .pw-toggle:hover {
  color: #ffc107;
}

.setnew-pw-input-wrap .pw-toggle .ri-eye-off-line {
  display: none;
}

.setnew-pw-input-wrap .pw-toggle.active .ri-eye-line {
  display: none;
}

.setnew-pw-input-wrap .pw-toggle.active .ri-eye-off-line {
  display: inline;
}

.btn-setnew-pw {
  background: linear-gradient(135deg, #ffc107 0%, #ff9800 100%);
  color: #121d27;
  border: none;
  border-radius: 15px;
  padding: 16px;
  font-size: 16px;
  font-weight: 700;
  width: 100%;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 28px;
  position: relative;
  overflow: hidden;
}

.btn-setnew-pw::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.6s;
}

.btn-setnew-pw:hover::before {
  left: 100%;
}

.btn-setnew-pw:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(255, 152, 0, 0.35);
}

.btn-setnew-pw:active {
  transform: translateY(0);
}

.setnew-pw-info {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 20px;
  padding: 14px 16px;
  background: rgba(255, 193, 7, 0.08);
  border-radius: 12px;
  border: 1px solid rgba(255, 193, 7, 0.12);
}

.setnew-pw-info i {
  color: #ffc107;
  font-size: 18px;
  flex-shrink: 0;
  margin-top: 1px;
}

.setnew-pw-info span {
  color: #dee2e6 !important;
  font-size: 12px;
  line-height: 1.5;
}

.setnew-pw-footer {
  text-align: center;
  margin-top: 24px;
  font-size: 14px;
  color: #4a3800;
  font-weight: 600;
}

.setnew-pw-footer a {
  color: #121d27;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: all 0.3s;
}

.setnew-pw-footer a:hover {
  color: #000;
}

@media (max-width: 575.98px) {
  .setnew-pw-page {
    padding: 24px 16px;
  }

  .setnew-pw-card-body {
    padding: 32px 24px;
  }

  .setnew-pw-title {
    font-size: 24px;
  }

  .setnew-pw-icon {
    width: 70px;
    height: 70px;
  }

  .setnew-pw-icon i {
    font-size: 30px;
  }

  .btn-setnew-pw {
    padding: 14px;
    font-size: 15px;
  }
}

/* ============================================
   INLINE STYLE MIGRATION - Utility Classes
   Added: 2026-03-31
   ============================================ */

/* --- U1. Color Utilities --- */
.text-gold { color: #ffc107; }
.text-dark-brand { color: #121d27; }
.text-muted-light { color: #666; }
.text-muted-secondary { color: #6c757d; }

/* --- U2. Typography Utilities --- */
.fw-600 { font-weight: 600; }
/* CLEANUP 2026-05-07: removed unused .fw-700, .fw-800 (Bootstrap CDN provides .fw-bold) */
.fs-13 { font-size: 13px; }
.fs-14 { font-size: 14px; }
.fs-16 { font-size: 16px; }
.fs-18 { font-size: 18px; }

/* --- U3. Layout Utilities --- */
/* CLEANUP 2026-05-07: removed unused .d-flex-center, .d-flex-between (Bootstrap d-flex/.justify-content-* provide same) */
.pos-relative { position: relative; }
/* CLEANUP 2026-05-07: removed unused .mr-icon-sm, .mr-icon-lg (kept .mr-icon — used) */
.mr-icon { margin-right: 8px; }

/* --- U4. Star Rating (smm-panel, Social Pages) --- */
.star-rating { color: #FFD700; margin-bottom: 10px; }

/* --- U5. Social Page: Hero Subtitle --- */
.sp-hero-subtitle {
    font-size: 22px;
    font-weight: 600;
    color: #ffc107;
    margin-top: 10px;
}

/* --- U6. Social Page: Buttons --- */
.btn-hero-primary {
    font-size: 16px;
    background-color: #121d27 !important;
    border-color: #121d27 !important;
    color: #fff !important;
}

.btn-hero-outline {
    font-size: 16px;
    border: 2px solid white;
    color: white;
    background: transparent;
}

.btn-hero-outline:hover {
    background: rgba(255,255,255,0.1);
    color: white;
}

.btn-hero-dark {
    font-size: 16px;
    background-color: #121d27;
    color: #fff;
}

/* Platform submit buttons */
.btn-platform-instagram { background-color: #E4405F !important; border-color: #E4405F !important; }
.btn-platform-facebook { background-color: #4267B2 !important; border-color: #4267B2 !important; }
.btn-platform-youtube { background-color: #FF0000 !important; border-color: #FF0000 !important; }
.btn-platform-tiktok { background-color: #000000 !important; border-color: #000000 !important; }
.btn-platform-twitter { background-color: #1DA1F2 !important; border-color: #1DA1F2 !important; }

/* --- U7. Social Page: Stat Icons --- */
.sp-icon-stat {
    font-size: 3rem;
}
.sp-icon-stat.green { color: #00AF4C; }
.sp-icon-stat.success { color: #28a745; }
.sp-icon-stat.warning { color: #ffc107; }
.sp-icon-stat.danger { color: #dc3545; }
.sp-icon-stat.tiktok { color: #ff0050; }
.sp-icon-stat.youtube { color: #FF0000; }

/* --- U8. Social Page: FAQ Section --- */
.sp-faq-section {
    background: #ffc107;
    padding: 60px 0;
}

.sp-faq-heading {
    color: #121d27;
}

.sp-faq-subtitle {
    color: #666;
    margin-top: 20px;
}

/* FAQ card component */
.sp-faq-card {
    background: #fff;
    border-radius: 15px;
    padding: 25px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    height: 100%;
}

.sp-faq-card h3 {
    color: #121d27;
    font-size: 18px;
    margin-bottom: 15px;
}

.sp-faq-card h3 i {
    color: #ffc107;
    margin-right: 10px;
}

.sp-faq-card p {
    color: #6c757d;
    line-height: 1.6;
}

/* --- U9. Twitter Landing Pages --- */
/* (.twitter-landing-page is just a scoping wrapper — no own styles needed) */

/* Hero section */
.twitter-landing-page .service-hero {
    background: linear-gradient(135deg, #1DA1F2 0%, #14171A 100%);
    padding: 80px 0;
    color: white;
}

.twitter-landing-page .platform-badge {
    background: rgba(255,255,255,0.2);
    padding: 10px 20px;
    border-radius: 50px;
    display: inline-block;
    margin-bottom: 20px;
}

.twitter-landing-page .platform-badge i {
    color: #000;
    background: white;
    padding: 8px;
    border-radius: 50%;
    margin-right: 10px;
}

.twitter-landing-page .hero-content h1 {
    font-size: 3rem;
    font-weight: 800;
    margin-bottom: 20px;
}

.twitter-landing-page .hero-content .sp-hero-subtitle {
    font-size: 1.3rem;
    margin-bottom: 30px;
    opacity: 0.9;
    color: inherit;
    font-weight: normal;
    margin-top: 0;
}

.twitter-landing-page .btn-hero-primary {
    background: #1DA1F2 !important;
    border-color: #1DA1F2 !important;
    color: white !important;
    padding: 15px 30px;
    border-radius: 10px;
    margin-right: 20px;
    text-decoration: none;
    font-weight: bold;
}

.twitter-landing-page .btn-hero-outline {
    border: 2px solid white;
    color: white;
    padding: 13px 30px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: bold;
    background: transparent;
}

.twitter-landing-page .btn-hero-outline:hover {
    background: rgba(255,255,255,0.1);
    color: white;
}

/* Hero visual / icon circle */
.twitter-landing-page .tw-hero-visual {
    text-align: center;
}

.twitter-landing-page .tw-hero-icon-circle {
    background: #1DA1F2;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 20px 40px rgba(0,0,0,0.2);
}

.twitter-landing-page .tw-hero-icon-circle i {
    font-size: 4rem;
    color: white;
}

.twitter-landing-page .tw-hero-label {
    margin-top: 30px;
    font-size: 1.5rem;
}

.twitter-landing-page .tw-hero-label span {
    background: rgba(255,255,255,0.2);
    padding: 10px 20px;
    border-radius: 20px;
}

/* Content section */
.twitter-landing-page .tw-content-section {
    padding: 80px 0;
}

/* Insight/tip box */
.twitter-landing-page .tw-insight-box {
    padding: 20px;
    border-radius: 10px;
    margin: 30px 0;
}

.twitter-landing-page .tw-insight-box.bg-blue { background: #e3f2fd; }
.twitter-landing-page .tw-insight-box.bg-light-blue { background: #e1f5fe; }
.twitter-landing-page .tw-insight-box.bg-yellow { background: #fff3cd; }
.twitter-landing-page .tw-insight-box.bg-green { background: #d4edda; }

.twitter-landing-page .tw-insight-box h5 i {
    color: #1DA1F2;
}

.twitter-landing-page .tw-insight-box p {
    margin: 0;
}

/* Quick order sidebar card */
.twitter-landing-page .tw-quick-order {
    background: white;
    padding: 30px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.twitter-landing-page .tw-quick-order-item {
    display: flex;
    align-items: center;
    margin: 20px 0;
}

.twitter-landing-page .tw-quick-order-icon {
    width: 60px;
    height: 60px;
    background: #1DA1F2;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
    flex-shrink: 0;
}

.twitter-landing-page .tw-quick-order-icon i {
    color: white;
    font-size: 1.5rem;
}

.twitter-landing-page .tw-quick-order-item p {
    color: #666;
    margin: 0;
}

.twitter-landing-page .tw-order-btn {
    background: #1DA1F2;
    color: white;
    padding: 12px;
    width: 100%;
    text-align: center;
    border-radius: 8px;
    text-decoration: none;
    display: block;
    font-weight: bold;
}

.twitter-landing-page .tw-order-btn:hover {
    background: #0d8ddb;
    color: white;
}

/* Benefits section */
.twitter-landing-page .tw-benefits-section {
    padding: 80px 0;
    background: #f8f9fa;
}

.twitter-landing-page .tw-benefit-item {
    display: flex;
    align-items: flex-start;
}

.twitter-landing-page .tw-benefit-item > i {
    color: #28a745;
    font-size: 1.5rem;
    margin-right: 15px;
    margin-top: 5px;
    flex-shrink: 0;
}

/* FAQ section */
.twitter-landing-page .tw-faq-section {
    padding: 80px 0;
}

.twitter-landing-page .tw-faq-card {
    margin-bottom: 15px;
}

.twitter-landing-page .tw-faq-card-inner {
    background: white;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.twitter-landing-page .tw-faq-card-inner h5 {
    color: #1DA1F2;
    margin-bottom: 10px;
}

.twitter-landing-page .tw-faq-card-inner p {
    margin: 0;
}

/* CTA section */
.twitter-landing-page .tw-cta-section {
    padding: 80px 0;
    background: linear-gradient(135deg, #1DA1F2 0%, #14171A 100%);
    color: white;
}

.twitter-landing-page .tw-cta-heading {
    font-size: 2.5rem;
    margin-bottom: 20px;
}

.twitter-landing-page .tw-cta-text {
    font-size: 1.3rem;
    margin-bottom: 40px;
    opacity: 0.9;
}

.twitter-landing-page .tw-cta-buttons {
    margin-bottom: 40px;
}

.twitter-landing-page .tw-cta-btn-primary {
    background: #1DA1F2;
    color: white;
    padding: 18px 40px;
    border-radius: 10px;
    margin-right: 20px;
    text-decoration: none;
    font-weight: bold;
    font-size: 1.1rem;
}

.twitter-landing-page .tw-cta-btn-primary:hover {
    background: #0d8ddb;
    color: white;
}

.twitter-landing-page .tw-cta-btn-outline {
    border: 2px solid white;
    color: white;
    padding: 16px 40px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: bold;
    font-size: 1.1rem;
}

.twitter-landing-page .tw-cta-btn-outline:hover {
    background: rgba(255,255,255,0.1);
    color: white;
}

/* ============================================
   U10. SMM Panel Thailand Page
   ============================================ */

/* Review section — overrides .wcu-title/.wcu-text defaults */
.review-pages-container .wcu-title {
    font-size: 16px;
    color: #2C3E50;
}

.review-pages-container .wcu-text {
    font-size: 14px;
}

/* Comparison table */
.smm-comparison-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: white;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

.smm-comparison-table th.col-feature {
    background: #121d27;
    color: #fff;
    padding: 25px 20px;
    text-align: center;
    font-weight: 700;
    font-size: 16px;
    border: none;
}

.smm-comparison-table th.col-likester {
    background: linear-gradient(135deg, #121d27 0%, #15222e 100%);
    color: #ffc107;
    padding: 25px 20px;
    text-align: center;
    font-weight: 700;
    font-size: 16px;
    border: none;
}

.smm-comparison-table th.col-competitor {
    background: #f8f9fa;
    color: #666;
    padding: 25px 20px;
    text-align: center;
    font-weight: 600;
    font-size: 16px;
    border: none;
}

.smm-comparison-table td {
    padding: 20px;
    border-bottom: 1px solid #f0f0f0;
}

.smm-comparison-table td.feature-cell {
    padding: 20px;
    font-weight: 600;
    color: #15222e;
}

.smm-comparison-table td.likester-cell {
    text-align: center;
    background: linear-gradient(135deg, #fff8e1 0%, #fff3c4 100%);
    color: #121d27;
    font-weight: 700;
    font-size: 18px;
}

.smm-comparison-table td.competitor-cell {
    padding: 15px;
    text-align: center;
    color: #666;
}

.smm-comparison-table td.competitor-cell.text-danger {
    color: #dc3545;
}

.smm-comparison-table td.competitor-cell.text-warning {
    color: #ffbf00;
    background: #fffbf0;
    font-weight: bold;
}

/* Social platform service rows */
.smm-service-card {
    background: white;
    border: 1px solid #e3e6f0;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.smm-service-header {
    background: #f8f9fc;
    border-bottom: 1px solid #e3e6f0;
    padding: 15px;
    border-radius: 8px 8px 0 0;
}

.smm-service-header h3 {
    color: #15222e;
    font-weight: 600;
    margin: 0;
    font-size: 16px;
}

.smm-service-body {
    background: white;
    padding: 15px;
    border-radius: 0 0 8px 8px;
}

.smm-service-item {
    border-bottom: 1px solid #eee;
}

.smm-service-item:last-child {
    border-bottom: none;
}

.smm-service-name {
    color: #15222e;
    font-weight: 600;
    margin-bottom: 5px;
    font-size: 14px;
}

.smm-service-desc {
    color: #666;
    font-size: 13px;
    margin-bottom: 0;
}

.smm-divider {
    margin: 10px 0;
    border-color: #e3e6f0;
}

/* SMM stat boxes */
.smm-stat-box {
    background: rgba(255,255,255,0.2);
    padding: 10px;
    border-radius: 8px;
}

.smm-stat-value {
    color: #FFD700;
    font-size: 20px;
    font-weight: bold;
}

.smm-stat-label {
    color: rgb(0,0,0);
    font-size: 12px;
}

/* Social platform service rows */
.smm-platform-row {
    padding: 8px 12px;
    border-radius: 8px;
    border-left: 3px solid transparent;
}

.smm-platform-row.facebook {
    background: rgba(66, 103, 178, 0.2);
    border-left-color: #4267B2;
}

.smm-platform-row.instagram {
    background: rgba(228, 64, 95, 0.2);
    border-left-color: #E4405F;
}

.smm-platform-row.youtube {
    background: rgba(255, 0, 0, 0.2);
    border-left-color: #FF0000;
}

.smm-platform-row.tiktok {
    background: rgba(0, 0, 0, 0.3);
    border-left-color: #000;
}

.smm-platform-row.twitter {
    background: rgba(29, 161, 242, 0.2);
    border-left-color: #1DA1F2;
}

.smm-platform-row.line {
    background: rgba(76, 175, 80, 0.2);
    border-left-color: #4CAF50;
}

/* Platform icon colors */
.smm-icon-facebook { color: #4267B2; }
.smm-icon-instagram { color: #E4405F; }
.smm-icon-youtube { color: #FF0000; }
.smm-icon-tiktok { color: #fff; }
.smm-icon-twitter { color: #1DA1F2; }
.smm-icon-line { color: #4CAF50; }

/* SMM features box */
.smm-features-box {
    background: rgba(255,255,255,0.15);
    padding: 20px;
    border-radius: 15px;
    border: 1px solid rgba(255,255,255,0.2);
}

.smm-features-title {
    color: #15222e;
    margin-bottom: 15px;
    text-align: center;
    font-weight: 600;
}

.smm-highlight-bar {
    background: rgba(255, 215, 0, 0.2);
    padding: 10px;
    border-radius: 8px;
}

.smm-highlight-text {
    color: #FFD700;
    font-weight: bold;
}

.smm-checklist-text {
    color: #15222e;
    opacity: 0.9;
    font-weight: 500;
}

/* SMM rating badge */
.smm-rating-badge {
    color: #FFD700;
    font-weight: bold;
    background: rgba(255,255,255,0.1);
    padding: 8px 12px;
    border-radius: 20px;
}

/* SMM review rating */
.smm-review-rating {
    color: #FFD700;
    font-size: 18px;
    font-weight: bold;
}

/* SMM CTA signup button */
.btn-smm-signup {
    font-size: 18px;
    padding: 15px;
    background: linear-gradient(45deg, #FF6B35, #FF8E53);
    box-shadow: 0 4px 15px rgba(255, 107, 53, 0.3);
}

.btn-smm-signup:hover {
    background: linear-gradient(45deg, #e55a2b, #ff7a40);
    box-shadow: 0 6px 20px rgba(255, 107, 53, 0.4);
}

/* SMM hero outline dark button */
.btn-hero-outline-dark {
    font-size: 16px;
    border: 2px solid #15222e;
    color: #15222e;
    background: rgba(255,255,255,0.8);
    font-weight: 600;
}

.btn-hero-outline-dark:hover {
    background: rgba(255,255,255,1);
    color: #15222e;
}

/* SMM CTA dark button */
.btn-cta-dark {
    background: #15222e;
    color: #ffc107;
    padding: 15px 30px;
    border-radius: 25px;
    text-decoration: none;
    font-weight: 600;
    display: inline-block;
    transition: all 0.3s ease;
}

.btn-cta-dark:hover {
    background: #0d1117;
    color: #ffc107;
    transform: translateY(-2px);
}

/* Section backgrounds */
.smm-section-white {
    background: white;
    padding: 60px 0;
}

.smm-section-white-sm {
    background: white;
    padding: 40px 0;
}

/* CTA gold box */
.smm-cta-gold-box {
    background: linear-gradient(135deg, #ffc107, #ffca2c);
    padding: 40px;
    border-radius: 15px;
    color: #15222e;
}

/* Section headings */
.smm-section-title {
    color: #15222e;
    font-size: 24px;
    margin-bottom: 15px;
}

.smm-section-title-lg {
    color: #15222e;
    font-size: 32px;
    margin-bottom: 15px;
}

.smm-section-subtitle {
    color: #666;
    font-size: 14px;
}

.smm-section-subtitle-lg {
    color: #AFB0C0;
    font-size: 16px;
}

.smm-cta-subtitle {
    color: #856404;
    margin-bottom: 25px;
}

/* Comparison table header row */
.smm-comparison-header-row {
    background: linear-gradient(135deg, #ffc107, #ffca2c);
    color: #15222e;
}

.smm-comparison-th {
    padding: 20px;
    text-align: center;
    font-weight: 600;
    border: none;
}

.smm-comparison-th-highlight {
    padding: 20px;
    text-align: center;
    font-weight: 600;
    border: none;
    background: linear-gradient(135deg, #ffbf00, #ffd700);
}

/* Comparison table wrapper */
.smm-comparison-table-wrap {
    border-collapse: collapse;
    background: white;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    border-radius: 12px;
    overflow: hidden;
}

/* Comparison table one-off cell */
.smm-comparison-cell-gold {
    padding: 15px;
    text-align: center;
    color: #ffbf00;
}

/* --- U12. YouTube Landing Page --- */

/* Testimonials section background */
.youtube-landing-page .testimonials-section {
    background: linear-gradient(135deg, #ff0000 0%, #cc0000 100%);
    padding: 80px 0;
    margin-top: 0;
}

/* Testimonials section heading */
.youtube-landing-page .testimonials-section .section-header h2 {
    color: white;
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

/* Testimonials section subtitle */
.youtube-landing-page .testimonials-section .section-header p {
    color: rgba(255,255,255,0.9);
    font-size: 1.2rem;
    max-width: 600px;
    margin: 0 auto;
}

/* Testimonial card override */
.youtube-landing-page .testimonial-card {
    background: white;
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    height: 100%;
}

/* Testimonial stars */
.youtube-landing-page .testimonial-rating .fas {
    color: #ffc107;
}

/* Testimonial body text */
.youtube-landing-page .testimonial-card > p {
    color: #555;
    line-height: 1.7;
    margin-bottom: 20px;
    font-size: 15px;
}

/* Author name */
.youtube-landing-page .yt-author-name {
    font-weight: 600;
    color: #333;
    margin-bottom: 2px;
}

/* Author location */
.youtube-landing-page .yt-author-location {
    color: #666;
    font-size: 13px;
}

/* Author avatar variant colors */
.youtube-landing-page .author-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: bold;
    margin-right: 15px;
}
.youtube-landing-page .author-avatar--red { background: linear-gradient(135deg, #ff0000, #cc0000); }
.youtube-landing-page .author-avatar--green { background: linear-gradient(135deg, #4caf50, #8bc34a); }
.youtube-landing-page .author-avatar--blue { background: linear-gradient(135deg, #2196f3, #64b5f6); }
.youtube-landing-page .author-avatar--orange { background: linear-gradient(135deg, #ff9800, #ffc107); }
.youtube-landing-page .author-avatar--purple { background: linear-gradient(135deg, #9c27b0, #e1bee7); }
.youtube-landing-page .author-avatar--pink { background: linear-gradient(135deg, #e91e63, #f06292); }

/* ========================================
   U13. Signin Page
   ======================================== */

/* --- Signin: Hero buttons --- */
.signin-hero-dark-btn {
    font-size: 16px;
    background-color: #121d27;
}

/* --- Signin: Competitor Comparison Section --- */
.signin-comparison-section {
    background: #ffc107;
    padding: 60px 0;
}

.signin-comparison-section .home-title h2 {
    color: #121d27;
}

.signin-comparison-section .home-title p {
    color: #666;
    font-size: 16px;
}

.signin-comparison-section .hh-content i {
    color: #fff;
}

/* --- Signin: Comparison Table --- */
.signin-comparison-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: white;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

.signin-comparison-table th.col-feature {
    background: #121d27;
    color: #fff;
    padding: 25px 20px;
    text-align: center;
    font-weight: 700;
    font-size: 16px;
    border: none;
}

.signin-comparison-table th.col-likester {
    background: linear-gradient(135deg, #121d27 0%, #15222e 100%);
    color: #ffc107;
    padding: 25px 20px;
    text-align: center;
    font-weight: 700;
    font-size: 16px;
    border: none;
    position: relative;
}

.signin-comparison-table th.col-competitor {
    background: #f8f9fa;
    color: #666;
    padding: 25px 20px;
    text-align: center;
    font-weight: 600;
    font-size: 16px;
    border: none;
}

.signin-comparison-table .best-badge {
    position: absolute;
    top: 5px;
    right: 10px;
    background: #ffc107;
    color: #121d27;
    padding: 3px 8px;
    border-radius: 10px;
    font-size: 10px;
    font-weight: 600;
}

.signin-comparison-table tr {
    border-bottom: 1px solid #f0f0f0;
}

.signin-comparison-table td.feature-cell {
    padding: 20px;
    font-weight: 600;
    color: #121d27;
    background: #fff;
}

.signin-comparison-table td.feature-cell i {
    color: #ffc107;
    margin-right: 8px;
}

.signin-comparison-table td.likester-cell {
    padding: 20px;
    text-align: center;
    background: linear-gradient(135deg, #fff8e1 0%, #fff3c4 100%);
    color: #121d27;
    font-weight: 700;
    font-size: 18px;
}

.signin-comparison-table td.competitor-cell {
    padding: 20px;
    text-align: center;
    background: #fff;
    color: #666;
    font-weight: 600;
}

.signin-comparison-table td.competitor-cell.text-danger {
    color: #dc3545;
}

/* --- Signin: CTA Dark Box --- */
.signin-cta-section {
    background: linear-gradient(135deg, #121d27 0%, #15222e 100%);
    padding: 40px;
    border-radius: 20px;
    color: white;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

.signin-cta-section h3 {
    margin-bottom: 20px;
    font-size: 28px;
    font-weight: 700;
    color: #ffc107;
}

.signin-cta-section > p {
    font-size: 18px;
    margin-bottom: 30px;
    opacity: 0.9;
}

/* --- Signin: CTA Pill Buttons --- */
.signin-cta-pill-gold {
    background: #ffc107;
    color: #121d27;
    padding: 12px 25px;
    border-radius: 25px;
    font-weight: 700;
    margin: 5px;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
}

.signin-cta-pill-white {
    background: white;
    color: #121d27;
    padding: 12px 25px;
    border-radius: 25px;
    font-weight: 700;
    margin: 5px;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
}

.signin-cta-pill-outline {
    background: transparent;
    color: white;
    padding: 12px 25px;
    border-radius: 25px;
    font-weight: 700;
    margin: 5px;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
    border: 2px solid white;
}

.signin-cta-pill-icon {
    margin-right: 8px;
}

/* --- Signin: FAQ Section --- */
.signin-faq-section {
    background: #ffc107;
    padding: 60px 0;
}

.signin-faq-section .home-title h2 {
    color: #121d27;
}

.signin-faq-section .home-title p {
    color: #666;
    margin-top: 20px;
}

.signin-faq-section .hh-content i {
    color: #fff;
}

/* --- Signin: Blog Section --- */
.signin-blog-section {
    background: #ffc107;
    padding: 60px 0;
}

.signin-blog-section .home-title h2 {
    color: #121d27;
}

.signin-blog-section .home-title p {
    color: #666;
    margin-top: 20px;
}

.signin-blog-section .hh-content i {
    color: #fff;
}

/* --- Signin: Blog Card --- */
.signin-blog-card {
    background: #fff;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
    height: 100%;
    transition: transform 0.3s ease;
}

.signin-blog-card-body {
    padding: 25px;
}

.signin-blog-card-body h3 {
    color: #121d27;
    font-size: 18px;
    margin-bottom: 15px;
    line-height: 1.4;
}

.signin-blog-card-body p {
    color: #6c757d;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 20px;
}

.signin-blog-card-body .btn {
    color: #121d27;
    border-color: #121d27;
    padding: 8px 20px;
    font-size: 14px;
    font-weight: 600;
}

/* Blog card thumbnail with dynamic background-image */
.signin-blog-thumb {
    height: 200px;
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden;
}

.signin-blog-thumb-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(18, 29, 39, 0.7));
    height: 80px;
}

.signin-blog-thumb-icon {
    position: absolute;
    bottom: 20px;
    right: 20px;
    font-size: 30px;
    color: rgba(255,255,255,0.3);
}

.signin-blog-thumb-icon-lg {
    position: absolute;
    bottom: 20px;
    right: 20px;
    font-size: 40px;
    color: rgba(255,255,255,0.3);
}

/* Blog card fallback gradient backgrounds */
.signin-blog-grad-gold {
    background: linear-gradient(135deg, #ffc107 0%, #ffbf00 100%);
    height: 200px;
    position: relative;
    overflow: hidden;
}

.signin-blog-grad-dark {
    background: linear-gradient(135deg, #121d27 0%, #224E64 100%);
    height: 200px;
    position: relative;
    overflow: hidden;
}

.signin-blog-grad-mixed {
    background: linear-gradient(135deg, #ffc107 0%, #ff6b6b 50%, #121d27 100%);
    height: 200px;
    position: relative;
    overflow: hidden;
}

.signin-blog-grad-dark .signin-blog-thumb-overlay {
    background: linear-gradient(transparent, rgba(0,0,0,0.5));
}

.signin-blog-grad-mixed .signin-blog-thumb-overlay {
    background: linear-gradient(transparent, rgba(0,0,0,0.5));
}

/* --- Signin: Featured Keywords CTA --- */
.signin-featured-keywords {
    background: linear-gradient(135deg, #121d27 0%, #15222e 100%);
    padding: 40px;
    border-radius: 20px;
    color: white;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

.signin-featured-keywords h3 {
    color: #ffc107;
    margin-bottom: 30px;
    font-size: 26px;
    font-weight: 700;
}

/* --- Signin: Bottom CTA Pills --- */
.signin-pill-outline-sm {
    background: transparent;
    color: white;
    border: 2px solid white;
    padding: 10px 20px;
    border-radius: 20px;
    font-weight: 600;
    margin: 5px;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
    font-size: 14px;
}

.signin-pill-outline-sm i {
    margin-right: 5px;
}

/* --- Signin: Bottom Final CTA --- */
.signin-bottom-cta h3 {
    color: #121d27;
    margin-bottom: 20px;
}

.signin-bottom-cta .btn {
    font-size: 18px;
    padding: 15px 40px;
}

.signin-view-all-btn {
    background: transparent;
    color: white;
    border: 2px solid white;
    padding: 15px 40px;
    font-size: 18px;
    font-weight: 700;
    border-radius: 15px;
}

/* --- Signin: Tag/Badge Pills --- */
.signin-tag-gold {
    background: #ffc107;
    color: #121d27;
    padding: 10px 20px;
    border-radius: 25px;
    font-weight: 600;
    margin: 0 10px;
}

.signin-tag-dark {
    background: #121d27;
    color: #fff;
    padding: 10px 20px;
    border-radius: 25px;
    font-weight: 600;
    margin: 0 10px;
}

/* --- Signin: Google Sign-In hidden --- */
.signin-google-hidden {
    display: none;
}

.signin-google-svg {
    margin-right: 10px;
}

/* ========================================
   U14. Facebook Landing Page: Testimonials & Review (Blue Section)
   ======================================== */

/* --- FB Testimonials: Blue gradient section --- */
.fb-testimonials-blue {
    background: linear-gradient(135deg, #1877f2 0%, #42a5f5 100%);
    padding: 80px 0;
    margin-top: 0;
}

.fb-testimonials-blue .section-header h2 {
    color: white;
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.fb-testimonials-blue .section-header p {
    color: rgba(255,255,255,0.9);
    font-size: 1.2rem;
    max-width: 600px;
    margin: 0 auto;
}

/* --- FB Testimonials: Card --- */
.fb-testimonial-card {
    background: white;
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    height: 100%;
}

.fb-testimonial-card .testimonial-rating .fas {
    color: #ffc107;
}

.fb-testimonial-card > p {
    color: #555;
    line-height: 1.7;
    margin-bottom: 20px;
    font-size: 15px;
}

.fb-testimonial-author {
    display: flex;
    align-items: center;
}

.fb-testimonial-author-name {
    font-weight: 600;
    color: #333;
    margin-bottom: 2px;
}

.fb-testimonial-author-location {
    color: #666;
    font-size: 13px;
}

/* --- FB Testimonials: Author Avatars --- */
.fb-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: bold;
    margin-right: 15px;
}

.fb-avatar-1 { background: linear-gradient(135deg, #1877f2, #42a5f5); }
.fb-avatar-2 { background: linear-gradient(135deg, #e91e63, #f06292); }
.fb-avatar-3 { background: linear-gradient(135deg, #4caf50, #8bc34a); }
.fb-avatar-4 { background: linear-gradient(135deg, #ff9800, #ffc107); }
.fb-avatar-5 { background: linear-gradient(135deg, #9c27b0, #e1bee7); }
.fb-avatar-6 { background: linear-gradient(135deg, #3f51b5, #7986cb); }

/* --- FB Testimonials: Review Submission --- */
.fb-review-submission {
    background: rgba(255,255,255,0.1);
    border-radius: 20px;
    padding: 40px;
    text-align: center;
}

.fb-review-submission h3 {
    color: white;
    margin-bottom: 20px;
    font-size: 1.8rem;
}

.fb-review-submission > p {
    color: rgba(255,255,255,0.9);
    margin-bottom: 30px;
}

/* --- FB Testimonials: Review Form --- */
.fb-review-form {
    max-width: 600px;
    margin: 0 auto;
}

.fb-review-form .form-control {
    border-radius: 10px;
    padding: 15px;
    border: 2px solid rgba(255,255,255,0.3);
    background: rgba(255,255,255,0.1);
    color: white;
}

.fb-review-form textarea.form-control {
    resize: vertical;
}

.fb-review-form .rating-label {
    color: white;
    display: block;
    margin-bottom: 10px;
    font-weight: 600;
}

.fb-review-form .star-rating {
    font-size: 2rem;
}

.fb-review-form .rating-star {
    color: #ffc107;
    cursor: pointer;
    margin-right: 5px;
}

.fb-review-form .btn-warning {
    padding: 15px 40px;
    border-radius: 10px;
    font-weight: 600;
    border: none;
    min-width: 200px;
}

/* ===================================================================
   U16. NewOrder Page - Inline Migration
   =================================================================== */

/* --- U16a. Alert Banners --- */
.nwo-alert-success {
  color: #ffffff;
  background-color: #28a745;
  border-color: #28a745;
}

.nwo-alert-danger {
  color: #ffffff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.nwo-alert-warning {
  color: #212529;
  background-color: #fff3cd;
  border-color: #ffeaa7;
}

/* Alert CTA Buttons */
.nwo-alert-btn {
  display: inline-block;
  border: 1px solid #ffffff;
  border-radius: 12px;
  padding: 4px 12px;
  font-weight: 600;
  text-decoration: none;
  font-size: 12px;
  margin-left: 8px;
  transition: all 0.2s ease;
  vertical-align: middle;
}

.nwo-alert-btn--success {
  background: #ffffff;
  color: #28a745;
}
.nwo-alert-btn--success:hover {
  background: rgba(255,255,255,0.1);
  color: #ffffff;
}

.nwo-alert-btn--danger {
  background: #ffffff;
  color: #dc3545;
}
.nwo-alert-btn--danger:hover {
  background: rgba(255,255,255,0.1);
  color: #ffffff;
}

.nwo-alert-btn--warning {
  background: #ffc107;
  color: #212529;
  border-color: #ffc107;
}
.nwo-alert-btn--warning:hover {
  background: #e0a800;
  border-color: #e0a800;
}

/* Alert small icon (11px, margin-right 4px) */
.nwo-icon-sm {
  font-size: 11px;
  margin-right: 4px;
}

/* Alert envelope icon (margin-right 8px) */
.nwo-icon-mr8 {
  margin-right: 8px;
}

/* --- U16b. Card Badge Positioning --- */
.nwo-pos-rel {
  position: relative;
}

.nwo-card-badge-wrap {
  position: absolute;
  top: -10px;
  right: -12px;
  z-index: 10;
}

/* Card badge buttons (Dashboard / Use Points) */
.nwo-card-badge-btn {
  border: none;
  font-weight: bold;
  padding: 6px 10px;
  border-radius: 18px;
  font-size: 11px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.25);
  transition: all 0.3s ease;
  white-space: nowrap;
  color: #fff;
}
.nwo-card-badge-btn:hover {
  transform: scale(1.05);
}

.nwo-card-badge-btn--green {
  background: linear-gradient(45deg, #00B14D, #00875A);
  box-shadow: 0 2px 8px rgba(0,177,77,0.4);
}

.nwo-card-badge-btn--gold {
  background: linear-gradient(45deg, #ffc107, #ff9800);
  box-shadow: 0 2px 8px rgba(255,193,7,0.4);
  color: #000;
}

/* Points dollar icon */
.nwo-points-icon {
  color: #fbc10c;
  cursor: pointer;
}

/* --- U16c. Check-in Banner Section --- */
.nwo-ci-banner-card {
  border-radius: 20px;
  cursor: pointer;
}

.nwo-ci-banner-pad {
  padding: 0.75rem 1rem;
}

.nwo-ci-banner-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.nwo-ci-banner-left {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.nwo-ci-circle {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg, #ffc107, #ffab00);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0C141B;
  font-size: 14px;
  flex-shrink: 0;
}

.nwo-ci-text {
  font-weight: 600;
  font-size: 13px;
}

.nwo-ci-streak-badge {
  margin-left: 8px;
  font-size: 12px;
  color: #ffc107;
  font-weight: 600;
}

.nwo-ci-dots {
  display: flex;
  gap: 4px;
  align-items: center;
}

.nwo-ci-btn {
  background: linear-gradient(45deg, #ffc107, #ffab00);
  color: #0C141B;
  border: none;
  border-radius: 20px;
  padding: 4px 16px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

/* --- U16d. Cashback Section --- */
.nwo-cb-card {
  border-radius: 12px;
}

.nwo-cb-content {
  padding: 0.875rem;
}

.nwo-cb-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}

.nwo-cb-header-left {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.nwo-cb-circle {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #ffc107, #e2aa03);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 12px;
}

.nwo-cb-title-wrap {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

.nwo-cb-title {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
}

.nwo-cb-tooltip-wrapper {
  position: relative;
  display: inline-flex;
}

.nwo-cb-tooltip-icon {
  color: #9ca3af;
  font-size: 12px;
  cursor: help;
}

.nwo-cb-tooltip {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  background: #1f2937;
  color: white;
  padding: 0.75rem;
  border-radius: 8px;
  font-size: 11px;
  width: 220px;
  z-index: 99999;
  display: none;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  line-height: 1.4;
}

.nwo-cb-tooltip-heading {
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.nwo-cb-tooltip-body {
  color: #d1d5db;
}

.nwo-cb-tooltip-footer {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid rgba(255,255,255,0.1);
  color: #ffc107;
  font-size: 10px;
}

.nwo-cb-tooltip-arrow {
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #1f2937;
}

.nwo-cb-header-right {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.nwo-cb-period {
  color: #6b7280;
  font-size: 10px;
}

.nwo-cb-status-badge {
  padding: 3px 8px;
  border-radius: 10px;
  font-size: 9px;
  font-weight: 600;
}

/* Cashback Progress Bar */
.nwo-cb-progress-track {
  background: #e5e7eb;
  border-radius: 6px;
  height: 8px;
  overflow: hidden;
  margin-bottom: 0.375rem;
}

.nwo-cb-progress-bar {
  height: 100%;
  border-radius: 6px;
  background: linear-gradient(90deg, #ffc107, #e2aa03);
  width: 0%;
  transition: width 0.5s ease;
}

/* Cashback Stats Row */
.nwo-cb-stats-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
}

.nwo-text-muted {
  color: #6b7280;
}

.nwo-text-gold {
  color: #e2aa03;
}

.nwo-text-darkgold {
  color: #b8860b;
}

.nwo-cb-reward-preview {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 2px 8px;
  background: rgba(255, 193, 7, 0.1);
  border-radius: 6px;
  font-size: 10px;
}

.nwo-text-right {
  text-align: right;
}

/* Cashback Tier Info */
.nwo-cb-tier-info {
  margin-top: 0.5rem;
  padding: 0.625rem;
  background: linear-gradient(135deg, #fff9e6, #fff3cd);
  border-radius: 8px;
  display: none;
}

.nwo-cb-tier-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}

.nwo-cb-tier-left {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.nwo-cb-trophy {
  color: #b8860b;
  font-size: 14px;
}

.nwo-cb-tier-label {
  font-size: 10px;
  color: #92400e;
}

.nwo-cb-tier-name {
  font-size: 13px;
  color: #b8860b;
}

.nwo-cb-tier-reward {
  font-size: 15px;
  color: #b8860b;
}

/* Cashback Ticket Button */
.nwo-cb-ticket-btn {
  display: block;
  width: 100%;
  padding: 8px;
  border: none;
  border-radius: 6px;
  background: linear-gradient(135deg, #ffc107, #e2aa03);
  color: white;
  font-weight: 600;
  font-size: 12px;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s;
}
.nwo-cb-ticket-btn:hover {
  transform: translateY(-1px);
}

/* Cashback icon-mr5 */
.nwo-icon-mr5 {
  margin-right: 5px;
}

.nwo-icon-mr4 {
  margin-right: 4px;
}

.nwo-icon-mr6 {
  margin-right: 6px;
}

/* Cashback Rejection */
.nwo-cb-rejection {
  margin-top: 0.5rem;
  padding: 0.5rem 0.625rem;
  background: #fee2e2;
  border-radius: 6px;
  font-size: 11px;
  color: #991b1b;
  display: none;
}

/* Cashback Current Accumulating */
.nwo-cb-accumulating {
  margin-top: 0.5rem;
  padding: 0.375rem 0.625rem;
  background: #f3f4f6;
  border-radius: 6px;
  font-size: 10px;
  color: #6b7280;
  display: none;
}

/* Cashback Info Collapsible */
.nwo-cb-info-divider {
  margin-top: 0.75rem;
  border-top: 1px dashed #e5e7eb;
  padding-top: 0.625rem;
}

.nwo-cb-info-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  padding: 0.25rem 0;
}

.nwo-cb-info-label {
  font-size: 11px;
  color: #6b7280;
  font-weight: 500;
}

.nwo-cb-info-chevron {
  font-size: 10px;
  color: #9ca3af;
  transition: transform 0.2s;
}

.nwo-cb-info-content {
  display: none;
  margin-top: 0.5rem;
}

.nwo-cb-info-desc {
  font-size: 11px;
  color: #6b7280;
  line-height: 1.5;
  margin-bottom: 0.625rem;
}

/* Cashback Tier Table */
.nwo-cb-tier-table {
  background: linear-gradient(135deg, #fffbeb, #fef3c7);
  border: 1px solid #fcd34d;
  border-radius: 8px;
  padding: 0.625rem;
  margin-bottom: 0.5rem;
}

.nwo-cb-tier-table-head {
  font-size: 10px;
  font-weight: 600;
  color: #92400e;
  margin-bottom: 0.5rem;
}

.nwo-cb-tier-list {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.nwo-cb-tier-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.375rem 0.5rem;
  background: rgba(255,255,255,0.6);
  border-radius: 6px;
}

.nwo-cb-tier-spend {
  font-size: 11px;
  color: #78350f;
}

.nwo-cb-tier-get {
  font-size: 11px;
  font-weight: 700;
  color: #b45309;
}

/* Cashback Deadline */
.nwo-cb-deadline {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 10px;
  color: #ef4444;
  background: #fef2f2;
  padding: 0.375rem 0.5rem;
  border-radius: 6px;
}

/* --- U16e. Cashback Request Modal --- */
.nwo-cbm-content {
  background: linear-gradient(135deg, #0C141B 0%, #121D27 100%);
  border: 1px solid rgba(255,193,7,0.3);
  border-radius: 16px;
}

.nwo-cbm-header {
  border-bottom: 1px solid rgba(255,193,7,0.2);
  padding: 1.25rem;
}

.nwo-cbm-title {
  color: #ffc107;
  font-weight: 600;
}

.nwo-cbm-body {
  padding: 1.25rem;
}

.nwo-cbm-summary {
  background: rgba(255,193,7,0.1);
  border: 1px solid rgba(255,193,7,0.3);
  border-radius: 12px;
  padding: 1rem;
  margin-bottom: 1.25rem;
}

.nwo-cbm-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
}

.nwo-cbm-row:last-child {
  margin-bottom: 0;
}

.nwo-cbm-row--border {
  padding-top: 0.75rem;
  border-top: 1px dashed rgba(255,193,7,0.3);
  margin-bottom: 0;
}

.nwo-cbm-label-muted {
  color: #9ca3af;
  font-size: 13px;
}

.nwo-cbm-value {
  font-size: 14px;
}

.nwo-cbm-label-highlight {
  color: #ffc107;
  font-size: 14px;
  font-weight: 600;
}

.nwo-cbm-amount {
  color: #ffc107;
  font-size: 18px;
}

/* Cashback form labels & icons */
.nwo-cbm-form-label {
  font-weight: 600;
  font-size: 13px;
  margin-bottom: 8px;
}

.nwo-cbm-icon-gold {
  color: #ffc107;
}

.nwo-text-required {
  color: #ef4444;
}

/* Cashback form inputs */
.nwo-cbm-input {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,193,7,0.3);
  color: #fff;
  border-radius: 10px;
  padding: 12px;
  font-size: 14px;
}

/* Cashback form error */
.nwo-cbm-form-error {
  display: none;
  background: rgba(239,68,68,0.1);
  border: 1px solid rgba(239,68,68,0.3);
  border-radius: 8px;
  padding: 10px;
  margin-bottom: 1rem;
  color: #fca5a5;
  font-size: 13px;
}

/* Cashback submit button */
.nwo-cbm-submit {
  background: linear-gradient(135deg, #ffc107, #e2aa03);
  border: none;
  color: #1a1a2e;
  padding: 14px;
  border-radius: 12px;
  font-weight: 700;
  font-size: 15px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(255,193,7,0.3);
}

/* Cashback footer note */
.nwo-cbm-footer-note {
  margin-top: 0.75rem;
  text-align: center;
  font-size: 11px;
  color: #6b7280;
}

/* --- U16f. Points Request Modal --- */
.nwo-points-dialog {
  max-width: 95vw;
  width: 600px;
  margin: 1rem auto;
}

.nwo-points-content {
  border-radius: 20px;
  overflow: hidden;
  border: none;
}

.nwo-points-header {
  border-bottom: 1px solid #e5e7eb;
  border-top: none;
  border-left: none;
  border-right: none;
  border-radius: 20px 20px 0 0;
}

/* --- U16g. Dashboard Footer Info --- */
.nwo-footer-info-sub {
  margin-top: 0.375rem;
  flex-wrap: wrap;
}

.nwo-icon-gold {
  color: #f59e0b;
}

.nwo-icon-green {
  color: #00B14D;
}

/* --- U16h. Search Input Icon (SVG) --- */
.nwo-search-svg {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 1;
}

/* --- U16i. Custom Points Modals (Insufficient / Cooldown) --- */
.nwo-custom-modal-box {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  height: auto;
  right: auto;
  bottom: auto;
  border-radius: 15px;
  background-color: var(--modal-bg, #121d27);
  color: var(--modal-text, #ffffff);
}

.nwo-custom-modal-box--danger {
  max-width: 400px;
  max-height: 300px;
  border: 1px solid #dc3545;
  box-shadow: 0 10px 30px rgba(220, 53, 69, 0.3);
}

.nwo-custom-modal-box--warning {
  max-width: 420px;
  max-height: 320px;
  border: 1px solid #ff9800;
  box-shadow: 0 10px 30px rgba(255, 152, 0, 0.3);
}

.nwo-custom-modal-header {
  padding: 20px;
  border-bottom: 1px solid var(--modal-border, #2a3441);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.nwo-flex-center {
  display: flex;
  align-items: center;
}

.nwo-custom-modal-icon--danger {
  color: #dc3545;
  font-size: 24px;
  margin-right: 12px;
}

.nwo-custom-modal-icon--warning {
  color: #ff9800;
  font-size: 24px;
  margin-right: 12px;
}

.nwo-custom-modal-title {
  margin: 0;
  color: var(--modal-text, #ffffff);
  font-weight: 600;
}

.nwo-custom-modal-close {
  background: none;
  border: none;
  color: var(--modal-text, #ffffff);
  font-size: 20px;
  cursor: pointer;
  padding: 0;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nwo-custom-modal-body {
  padding: 20px;
  color: var(--modal-text, #ffffff);
  line-height: 1.6;
}

.nwo-custom-modal-msg {
  margin: 0;
  font-size: 14px;
  color: var(--modal-text, #ffffff);
}

.nwo-custom-modal-footer {
  padding: 15px 20px;
  border-top: 1px solid var(--modal-border, #2a3441);
  text-align: right;
}

.nwo-custom-modal-btn {
  color: white;
  border: none;
  padding: 8px 20px;
  border-radius: 8px;
  font-size: 14px;
  cursor: pointer;
  font-weight: 600;
  transition: background 0.2s ease;
}

.nwo-custom-modal-btn--danger {
  background: #dc3545;
}
.nwo-custom-modal-btn--danger:hover {
  background: #c82333;
}

.nwo-custom-modal-btn--warning {
  background: #ff9800;
}
.nwo-custom-modal-btn--warning:hover {
  background: #f57c00;
}

/* Cooldown info box */
.nwo-cooldown-info {
  margin-top: 15px;
  padding: 12px;
  background: rgba(255, 152, 0, 0.1);
  border-radius: 8px;
  border-left: 3px solid #ff9800;
}

.nwo-cooldown-info-text {
  margin: 0;
  font-size: 13px;
  color: var(--modal-text, #cccccc);
}

.nwo-cooldown-info-icon {
  margin-right: 6px;
  color: #ff9800;
}

/* Cooldown modal wrapper initial state */
.nwo-modal-hidden {
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}

/* --- U16j. Popup Close Button (commented-out section) --- */
.nwo-popup-footer {
  background: rgba(0,0,0,0.8);
  padding: 12px;
  border-radius: 0 0 8px 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: -4px;
}

.nwo-popup-label {
  color: #ffffff;
  font-size: 13px;
  cursor: pointer;
  display: flex;
  align-items: center;
  margin: 0;
}

.nwo-popup-checkbox {
  margin-right: 8px;
  transform: scale(1.1);
  cursor: pointer;
}

.nwo-popup-close-btn {
  background: #dc3545;
  color: white;
  border: none;
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
  font-weight: 600;
  transition: background 0.2s ease;
}
.nwo-popup-close-btn:hover {
  background: #c82333;
}

/* ============================================
   U15. Affiliates Page - Inline Style Migration
   ============================================ */

/* --- Fee Section --- */
.aff-fee-section {
  margin-bottom: 20px;
}

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

.aff-fee-header-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.aff-fee-header-icon {
  font-size: 20px;
  color: #ffc107;
}

.aff-fee-badge {
  font-size: 11px;
  padding: 4px 10px;
  border-radius: 20px;
  color: #929cb7;
  background: #1B2B3A;
}

/* --- Tier Grid --- */
.aff-tier-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

@media (max-width: 576px) {
  .aff-tier-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }
}

/* --- Tier Card (base) --- */
.aff-tier-card {
  background: #121D27;
  border: 1px solid #1B2B3A;
  border-radius: 12px;
  padding: 16px 14px;
  text-align: center;
  position: relative;
  transition: all .2s ease;
}

.aff-tier-card.aff-tier-active-new {
  background: #15222E;
  border: 2px solid #6c757d;
}

.aff-tier-card.aff-tier-active-gold {
  background: #1a1f14;
  border: 2px solid #ffc107;
}

.aff-tier-card.aff-tier-active-platinum {
  background: #121e24;
  border: 2px solid #17a2b8;
}

.aff-tier-card.aff-tier-active-vip {
  background: #1e1215;
  border: 2px solid #dc3545;
}

/* --- Payout card (balance + withdraw) — base card from .card.card-border --- */
.aff-payout-card { margin-top: 16px; }
.aff-payout-body { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 18px 20px; }
.aff-payout-info { display: flex; align-items: center; gap: 14px; }
.aff-payout-icon { width: 48px; height: 48px; border-radius: 12px; display: grid; place-items: center; flex-shrink: 0; font-size: 24px; color: #ffc107; background: rgba(255,193,7,.12); }
.aff-payout-label { font-size: 12px; font-weight: 600; color: #929cb7; margin-bottom: 2px; }
.aff-payout-amount { font-family: var(--font-en); font-size: 26px; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; color: #fff; }
.aff-payout-card .btn-rounded { white-space: nowrap; }
@media (max-width: 576px) { .aff-payout-body { flex-direction: column; align-items: stretch; } .aff-payout-card .btn-rounded { width: 100%; } }
html.light .aff-payout-icon { background: #fff7e0; color: #ca8a04; }
html.light .aff-payout-label { color: #6b7280; }
html.light .aff-payout-amount { color: #1a1a2e; }

/* --- "YOUR LEVEL" badge --- */
.aff-tier-badge {
  position: absolute;
  top: -9px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 20px;
  white-space: nowrap;
}

.aff-tier-badge-new { background: #6c757d; }
.aff-tier-badge-gold { background: #ffc107; color: #212529; }
.aff-tier-badge-platinum { background: #17a2b8; }
.aff-tier-badge-vip { background: #dc3545; }

/* --- Tier Icon Circle --- */
.aff-tier-icon-wrap {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 10px;
}

.aff-tier-icon-wrap.aff-tier-icon-new { background: rgba(108,117,125,0.15); }
.aff-tier-icon-wrap.aff-tier-icon-gold { background: rgba(255,193,7,0.15); }
.aff-tier-icon-wrap.aff-tier-icon-platinum { background: rgba(23,162,184,0.15); }
.aff-tier-icon-wrap.aff-tier-icon-vip { background: rgba(220,53,69,0.15); }

.aff-tier-icon {
  font-size: 18px;
}

.aff-tier-icon-new { color: #6c757d; }
.aff-tier-icon-gold { color: #ffc107; }
.aff-tier-icon-platinum { color: #17a2b8; }
.aff-tier-icon-vip { color: #dc3545; }

/* --- Tier Name & Rate --- */
.aff-tier-name {
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 8px;
}

.aff-tier-name-new { color: #6c757d; }
.aff-tier-name-gold { color: #ffc107; }
.aff-tier-name-platinum { color: #17a2b8; }
.aff-tier-name-vip { color: #dc3545; }

.aff-tier-rate {
  font-size: 20px;
  font-weight: 700;
}

.aff-tier-rate-fee { color: #ff9800; }
.aff-tier-rate-free { color: #00AF4C; }

.aff-tier-sublabel {
  font-size: 11px;
  color: #929cb7;
  margin-top: 4px;
}

/* --- Upgrade Hint --- */
.aff-upgrade-hint {
  margin-top: 10px;
  padding: 10px 14px;
  background: rgba(255,193,7,0.06);
  border: 1px solid rgba(255,193,7,0.15);
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.aff-upgrade-hint-icon {
  color: #ffc107;
  font-size: 16px;
  flex-shrink: 0;
}

.aff-upgrade-hint-text {
  font-size: 12px;
  color: #929cb7;
}

.aff-upgrade-hint-text strong {
  color: #ffc107;
}

/* --- Section Title (dark/light handled below) --- */
.aff-section-title {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
}

/* --- Withdrawal Notification --- */
.aff-withdraw-notification {
  margin-top: 20px;
  padding: 15px 20px;
  background: linear-gradient(135deg, rgba(255,193,7,0.1) 0%, rgba(255,193,7,0.05) 100%);
  border: 1px solid #ffc107;
  border-radius: 12px;
  display: none;
  animation: slideDown 0.3s ease;
}

.aff-notif-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.aff-notif-icon {
  color: #ffc107;
  font-size: 20px;
  margin-top: 2px;
}

.aff-notif-icon-warning {
  color: #ff9800;
  font-size: 20px;
  margin-top: 2px;
}

.aff-notif-title {
  color: #ffc107;
  font-weight: 600;
  margin-bottom: 4px;
  font-size: 16px;
}

.aff-notif-title-warning {
  color: #ff9800;
  font-weight: 600;
  margin-bottom: 4px;
  font-size: 16px;
}

.aff-notification-msg {
  color: #e9ecef;
  font-size: 14px;
  line-height: 1.4;
}

/* --- Toast Container --- */
.aff-toast-container {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 400px;
}

/* --- Toast Keyframes --- */
@keyframes slideInRight {
  from { transform: translateX(400px); opacity: 0; }
  to   { transform: translateX(0); opacity: 1; }
}

@keyframes slideOutRight {
  from { transform: translateX(0); opacity: 1; }
  to   { transform: translateX(400px); opacity: 0; }
}

@keyframes slideDown {
  from { transform: translateY(-20px); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}

@media (max-width: 480px) {
  .aff-toast-container {
    left: 20px;
    right: 20px;
    top: 20px;
    max-width: none;
  }

  @keyframes slideInRight {
    from { transform: translateY(-20px); opacity: 0; }
    to   { transform: translateY(0); opacity: 1; }
  }

  @keyframes slideOutRight {
    from { transform: translateY(0); opacity: 1; }
    to   { transform: translateY(-20px); opacity: 0; }
  }
}

/* --- Modal Shared --- */
.aff-modal-content {
  border-radius: 20px;
  overflow: hidden;
  border: none;
}

.aff-modal-header {
  background: linear-gradient(135deg, #ffc107 0%, #ffbf00 100%);
  padding: 20px 30px;
  border: none;
}

.aff-modal-title {
  color: #212529;
  font-weight: 700;
  font-size: 20px;
}

.aff-modal-close-gold {
  background: rgba(255,255,255,0.3);
  border-radius: 50%;
}

.aff-modal-close-dark {
  color: #212529;
}

.aff-modal-body {
  background: #121D27;
  padding: 30px;
}

.aff-modal-body-scroll {
  background: #121D27;
  padding: 25px 30px;
  max-height: 80vh;
  overflow-y: auto;
}

.aff-modal-dialog-wide {
  max-width: 95vw;
  width: 1000px;
  margin: 1rem auto;
}

.aff-row-gap {
  gap: 15px;
}

.aff-col-full {
  width: 100%;
}

/* --- Withdraw Option Cards --- */
.aff-option-card {
  background: linear-gradient(135deg, #183441 0%, #111E26 100%);
  border-radius: 12px;
  padding: 20px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}

.aff-option-card-balance {
  border: 1px solid #ffc107;
}

.aff-option-card-balance:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255,193,7,0.3);
  border-color: #ffbf00;
}

.aff-option-card-cash {
  border: 1px solid #ff9800;
}

.aff-option-card-cash:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255,152,0,0.3);
  border-color: #ff5722;
}

/* --- Card Accent Circle (decorative) --- */
.aff-card-accent {
  position: absolute;
  top: -20px;
  right: -20px;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  opacity: 0.1;
}

.aff-card-accent-gold {
  background: linear-gradient(135deg, #ffc107, #ffbf00);
}

.aff-card-accent-orange {
  background: linear-gradient(135deg, #ff9800, #ff5722);
}

/* --- Option Icon Box --- */
.aff-option-icon-box {
  width: 50px;
  height: 50px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 20px;
  flex-shrink: 0;
}

.aff-option-icon-box-gold {
  background: linear-gradient(135deg, #ffc107, #ffbf00);
}

.aff-option-icon-box-orange {
  background: linear-gradient(135deg, #ff9800, #ff5722);
}

.aff-option-icon-lg {
  font-size: 24px;
  color: #212529;
}

/* --- Option Text --- */
.aff-option-text {
  flex: 1;
  position: relative;
}

.aff-option-title-gold {
  color: #ffc107;
  font-weight: 700;
  margin: 0 0 5px 0;
  font-size: 18px;
}

.aff-option-title-orange {
  color: #ff9800;
  font-weight: 700;
  margin: 0 0 5px 0;
  font-size: 18px;
}

.aff-option-desc {
  color: #929cb7;
  font-size: 14px;
  margin: 0;
}

.aff-option-arrow-gold {
  color: #ffc107;
  font-size: 20px;
}

.aff-option-arrow-orange {
  color: #ff9800;
  font-size: 20px;
}

/* --- Cash Withdraw Info Card --- */
.aff-info-card {
  border: 1px solid #ffc107;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

.aff-info-label {
  color: #929cb7;
  font-size: 12px;
  text-transform: uppercase;
}

.aff-info-balance {
  color: #ffc107;
  margin-top: 5px;
  font-weight: 700;
}

.aff-info-level-h3 {
  margin-top: 5px;
}

/* Level badges */
.aff-badge-vip {
  background: linear-gradient(135deg, #dc3545, #c82333);
  padding: 8px 16px;
  font-size: 16px;
}

.aff-badge-platinum {
  background: linear-gradient(135deg, #6c757d, #5a6268);
  padding: 8px 16px;
  font-size: 16px;
}

.aff-badge-gold {
  background: linear-gradient(135deg, #ffc107, #ffbf00);
  color: #212529;
  padding: 8px 16px;
  font-size: 16px;
}

.aff-badge-default {
  background: linear-gradient(135deg, #17a2b8, #138496);
  padding: 8px 16px;
  font-size: 16px;
}

/* --- Fee Warning Box --- */
.aff-fee-warning-box {
  margin-top: 15px;
  padding: 12px 15px;
  background: rgba(255,152,0,0.1);
  border: 1px solid rgba(255,152,0,0.3);
  border-radius: 8px;
}

.aff-fee-warning-title {
  color: #ff9800;
  font-weight: 600;
  margin-bottom: 6px;
  font-size: 14px;
}

.aff-fee-warning-text {
  color: #929cb7;
  font-size: 14px;
}

.aff-fee-highlight {
  color: #ffc107;
  font-size: 18px;
}

/* --- No-Fee Box (Gold+) --- */
.aff-nofee-box {
  margin-top: 20px;
  padding: 15px;
  background: rgba(255,193,7,0.1);
  border: 1px solid #ffc107;
  border-radius: 8px;
}

.aff-nofee-title {
  color: #ffc107;
  font-weight: 600;
}

.aff-nofee-text {
  color: #929cb7;
  font-size: 14px;
  margin-top: 5px;
}

/* --- Form Labels & Inputs --- */
.aff-form-label {
  font-weight: 600;
  margin-bottom: 10px;
}

.aff-form-input {
  background: #183441;
  color: #fff;
  border: 1px solid #ffc107;
  border-radius: 8px;
}

/* --- Submit Button --- */
.aff-submit-btn {
  background: linear-gradient(135deg, #ffc107, #ffbf00);
  border: none;
  color: #212529;
  padding: 15px;
  border-radius: 12px;
  font-weight: 600;
  font-size: 16px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(255,193,7,0.3);
}

.aff-submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255,193,7,0.4);
}

/* ===== Affiliates: Light mode overrides ===== */
html.light .aff-section-title {
  color: #1a1a2e;
}

html.light .aff-fee-badge {
  color: #6b7280;
  background: #e5e7eb;
}

html.light .aff-modal-body,
html.light .aff-modal-body-scroll {
  background: #ffffff;
}

html.light .aff-form-input {
  background: #f8f9fa;
  color: #1a1a2e;
}

html.light .aff-tier-card {
  background: #ffffff;
  border-color: #e5e7eb;
}

html.light .aff-tier-card.aff-tier-active-new {
  background: #ffffff;
  border-color: #6c757d;
}

html.light .aff-tier-card.aff-tier-active-gold {
  background: #ffffff;
  border-color: #ffc107;
}

html.light .aff-tier-card.aff-tier-active-platinum {
  background: #ffffff;
  border-color: #17a2b8;
}

html.light .aff-tier-card.aff-tier-active-vip {
  background: #ffffff;
  border-color: #dc3545;
}

html.light .aff-info-card {
  background: #f8f9fa;
}

html.light .aff-withdraw-card {
  background: #f8f9fa;
}

html.light .aff-notification-msg {
  color: #374151;
}

html.light .aff-option-card {
  background: #f8f9fa !important;
}

html.light .aff-option-desc {
  color: #6b7280 !important;
}

html.light .aff-info-label {
  color: #6b7280 !important;
}

html.light .aff-tier-sublabel {
  color: #6b7280 !important;
}

html.light .aff-upgrade-hint-text {
  color: #6b7280 !important;
}

html.light .aff-fee-warning-text {
  color: #6b7280 !important;
}

html.light .aff-nofee-text {
  color: #6b7280 !important;
}

/* --- Toast Item --- */
.aff-toast {
  background: linear-gradient(135deg, #183441 0%, #111E26 100%);
  border-radius: 12px;
  padding: 15px 20px;
  color: #fff;
  box-shadow: 0 8px 25px rgba(0,0,0,0.3);
  animation: slideInRight 0.3s ease;
  margin-bottom: 10px;
  position: relative;
  overflow: hidden;
  min-width: 300px;
}

.aff-toast-success { border: 1px solid #ffc107; }
.aff-toast-error { border: 1px solid #ff9800; }

.aff-toast-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.aff-toast-icon {
  font-size: 20px;
  margin-top: 2px;
}

.aff-toast-icon-success { color: #ffc107; }
.aff-toast-icon-error { color: #ff9800; }

.aff-toast-body { flex: 1; }

.aff-toast-title {
  font-weight: 600;
  margin-bottom: 4px;
  font-size: 16px;
}

.aff-toast-title-success { color: #ffc107; }
.aff-toast-title-error { color: #ff9800; }

.aff-toast-msg {
  color: #e9ecef;
  font-size: 14px;
  line-height: 1.4;
}

.aff-toast-close {
  background: none;
  border: none;
  color: #929cb7;
  font-size: 18px;
  cursor: pointer;
  padding: 0;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ============================================================
   U17. Small Files Migration
   Embedded <style> block + inline styles extracted from
   addfund.twig, ticket.twig, signup.twig
   ============================================================ */

/* --- addfund.twig embedded <style> block (moved here) --- */

/* === Addfund Payment Selector (af- prefix = scoped to this page only) === */
.af-pay-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 20px;
}
.af-pay-card {
    background: #121D27;
    border: 2px solid #183441;
    border-radius: 14px;
    padding: 16px 10px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    position: relative;
}
.af-pay-card:hover {
    border-color: rgba(255, 193, 7, 0.5);
    background: #162230;
}
.af-pay-card.af-pay-active {
    border-color: #ffc107;
    background: rgba(255, 193, 7, 0.06);
    box-shadow: 0 0 0 1px rgba(255, 193, 7, 0.3), 0 4px 15px rgba(255, 193, 7, 0.1);
}
.af-pay-card.af-pay-active::after {
    content: '\2713';
    position: absolute;
    top: 6px;
    right: 8px;
    width: 20px;
    height: 20px;
    background: #ffc107;
    color: #0C141B;
    border-radius: 50%;
    font-size: 11px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}
.af-pay-icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255,255,255,0.06);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    overflow: hidden;
}
.af-pay-icon svg,
.af-pay-icon img {
    width: 26px;
    height: 26px;
    object-fit: contain;
}
.af-pay-active .af-pay-icon {
    background: rgba(255,255,255,0.12);
    box-shadow: 0 0 0 2px rgba(255,193,7,0.3);
}
.af-pay-name {
    font-size: 12px;
    font-weight: 600;
    color: #cbd5e1;
    line-height: 1.3;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}
.af-pay-active .af-pay-name {
    color: #fff;
}
.af-pay-bonus {
    font-size: 11px;
    font-weight: 700;
    color: #ffc107;
    min-height: 16px;
}
.af-pay-bonus.af-no-bonus {
    color: #556677;
    font-weight: 500;
}

/* Bonus table variants */
.af-bonus-flat {
    text-align: center;
    padding: 50px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}
.af-bonus-flat-icon {
    line-height: 1;
}
.af-bonus-flat-icon svg {
    width: 48px;
    height: 48px;
}
.af-bonus-flat-percent {
    font-size: 52px;
    font-weight: 800;
    color: #ffc107;
    line-height: 1;
}
.af-bonus-flat-text {
    color: #8899aa;
    font-size: 14px;
    margin-top: 4px;
}
.af-bonus-none {
    text-align: center;
    padding: 60px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}
.af-bonus-none-icon {
    line-height: 1;
}
.af-bonus-none-icon svg {
    width: 56px;
    height: 56px;
}
.af-bonus-none-text {
    color: #556677;
    font-size: 14px;
}

/* Terms agreement checkbox */
.af-terms-agree {
    margin-top: 6px;
    margin-bottom: 18px;
    padding: 10px 14px;
    background: rgba(220, 53, 69, 0.06);
    border: 1px solid rgba(220, 53, 69, 0.18);
    border-radius: 12px;
}
.af-terms-label {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 12.5px;
    color: #94a3b8;
    line-height: 1.45;
    margin: 0;
}
.af-terms-label input[type="checkbox"] {
    width: 20px;
    height: 20px;
    min-width: 20px;
    accent-color: #ffc107;
    cursor: pointer;
}
.af-terms-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.af-terms-line1 {
    font-weight: 600;
    color: #cbd5e1;
}
.af-terms-line2 {
    font-size: 11.5px;
    color: #8899aa;
}
.af-terms-label a {
    color: #ffc107;
    text-decoration: underline;
    font-weight: 700;
    white-space: nowrap;
}
.af-terms-label a:hover {
    color: #ffdb4d;
}
.af-terms-warn {
    color: #f87171;
    font-size: 12px;
    margin-top: 6px;
    padding-left: 30px;
    display: none;
}
.af-terms-warn.af-show {
    display: block;
}

/* Disabled submit buttons when terms not agreed */
#normalSubmitButton .btn[disabled],
#manualSubmitButton .btn[disabled] {
    background: #334455 !important;
    border-color: #334455 !important;
    color: #667788 !important;
    cursor: not-allowed;
    opacity: 0.7;
    pointer-events: none;
}

/* === Addfund Light Mode Overrides === */
html.light .af-pay-card {
    background: #f8f9fa;
    border-color: #dee2e6;
}
html.light .af-pay-card:hover {
    border-color: rgba(255, 193, 7, 0.5);
    background: #fff8e1;
}
html.light .af-pay-card.af-pay-active {
    background: rgba(255, 193, 7, 0.06);
}
html.light .af-pay-icon {
    background: rgba(0,0,0,0.05);
}
html.light .af-pay-active .af-pay-icon {
    background: rgba(0,0,0,0.08);
}
html.light .af-pay-name {
    color: #4a5568;
}
html.light .af-pay-active .af-pay-name {
    color: #3d4249;
}
html.light .af-pay-bonus.af-no-bonus {
    color: #9ca3af;
}
html.light .af-bonus-flat-text {
    color: #6b7280;
}
html.light .af-bonus-none-text {
    color: #9ca3af;
}
html.light .af-terms-label {
    color: #4a5568;
}
html.light .af-terms-line1 {
    color: #3d4249;
}
html.light .af-terms-line2 {
    color: #6b7280;
}
html.light #normalSubmitButton .btn[disabled],
html.light #manualSubmitButton .btn[disabled] {
    background: #d1d5db !important;
    border-color: #d1d5db !important;
    color: #9ca3af !important;
}

/* Addfund Responsive */
@media (max-width: 576px) {
    .af-pay-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }
    .af-pay-card { padding: 12px 8px; }
    .af-pay-icon { width: 38px; height: 38px; }
    .af-pay-icon svg, .af-pay-icon img { width: 22px; height: 22px; }
    .af-pay-name { font-size: 11px; }
    .af-terms-label { font-size: 11.5px; gap: 8px; }
    .af-terms-label input[type="checkbox"] { width: 18px; height: 18px; min-width: 18px; }
}

/* --- addfund.twig --- */
.af-alert-banner {
  color: #ffffff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.af-amount-force-visible {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.af-slip-preview {
  margin-top: 15px;
  display: none;
}

.af-slip-preview-img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
}

/* --- ticket.twig --- */
.ticket-label-mt {
  margin-top: 15px;
}

.ticket-textarea {
  height: 150px !important;
}

/* --- signup.twig --- */
.register-page-padded {
  padding-top: 120px;
}

/* --- Shared hero container (about-us, how-it-works, + 20 other pages) --- */
.home-head-content > .container { position: relative; }

/* ========================================
   U14. layout.twig — inline style migration
   ======================================== */

/* CLEANUP 2026-05-07: removed .layout-mobile-spacer + .apHdCr-compact
 * (dead — topbar v4 doesn't render the legacy spacer/compact dropdown styles) */

/* Public header row height */
.layout-header-row {
  height: 99px;
}

/* Public header — language globe button */
.layout-lang-globe {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255,255,255,0.2);
  border: 1px solid rgba(255,255,255,0.3);
  color: white;
  font-size: 16px;
  padding: 0;
}

/* Public header — language dropdown menu */
.layout-lang-dropdown {
  min-width: 120px;
}

/* Public header — language dropdown items */
.layout-lang-item {
  font-size: 14px;
  padding: 8px 12px;
}

/* ========================================
   U15. service-landing-comprehensive.twig
   ======================================== */

/* Trust section large icons (3rem) */
.service-landing-trust-icon {
  font-size: 3rem;
}

/* Benefits check icon (1.5rem) */
.service-landing-benefit-icon {
  font-size: 1.5rem;
}

/* Guarantee icon (2rem) */
.service-landing-guarantee-icon {
  font-size: 2rem;
}

/* ========================================
   U16. instagram-landing.twig
   ======================================== */

/* Instagram-branded submit button */
.ig-landing-submit-btn {
  background-color: #E4405F;
  border-color: #E4405F;
}

.ig-landing-submit-btn:hover {
  background-color: #d63050;
  border-color: #d63050;
}

/* ========================================
   U17. signin_lao.twig
   ======================================== */

/* Lao hero buttons — same as .signin-hero-dark-btn */
.signin-lao-hero-btn {
  font-size: 16px;
  background-color: #121d27;
}

/* Lao hero outline button (white border) */
.signin-lao-hero-outline {
  font-size: 16px;
  border: 2px solid white;
  color: white;
}

/* Lao logbox signup button (large) */
.signin-lao-signup-btn {
  font-size: 18px;
  padding: 15px;
}

/* Lao "or" divider text */
.signin-lao-or-text {
  color: #666;
}

/* Lao logbox outline sign-in button */
.signin-lao-signin-btn {
  font-size: 16px;
  border: 2px solid #fff;
  color: #fff;
}

/* Lao benefits box */
.signin-lao-benefits-box {
  background: rgba(255,255,255,0.1);
  padding: 20px;
  border-radius: 10px;
}

/* Lao benefits heading */
.signin-lao-benefits-title {
  color: #fff;
  margin-bottom: 15px;
}

/* Lao benefits list */
.signin-lao-benefits-list {
  color: #fff;
  list-style: none;
  padding: 0;
}

/* Lao benefits check icon */
.signin-lao-check-icon {
  color: #4CAF50;
}

/* Lao English version button */
.signin-lao-lang-btn {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.3);
  color: #fff;
  font-size: 14px;
}

/* Lao stat section signup button */
.signin-lao-stat-btn {
  font-size: 16px;
  background-color: #121d27;
}

/* ========================================
   U18. setnewpassword.twig + resetpassword.twig
   ======================================== */

/* Rounded borderless alert (auth pages) */
.auth-alert-styled {
  border-radius: 12px;
  border: none;
}

/* Hero subtitle accent (about-us, how-it-works) */
.hl-subtitle--accent {
  font-size: 22px;
  font-weight: 600;
  color: #ffc107;
  margin-top: 10px;
}

/* Hero CTA buttons (about-us, how-it-works) */
.btn--hero-primary {
  font-size: 16px;
  background-color: #121d27;
}

.btn--hero-outline {
  font-size: 16px;
  border: 2px solid #fff;
  color: #fff;
}

/* about-us: map iframe border reset */
.map-container iframe { border: 0; }

/* about-us: contact section */
.about-contact-section {
  background: linear-gradient(135deg, #ffbf00 0%, #ff9500 100%);
  color: #fff;
}

.about-contact-section h2 { color: #fff; }

/* faq: inline bold + unstyled link in content */
.faq-bold { font-weight: 700; }
.faq-link-plain { outline: none; }

/* blog: guest top padding */
.blog-header--guest { padding-top: 150px; }
.blog-posts-section--guest { padding-top: 150px; }

/* blog: centered article */
.blog-main-content--centered { text-align: center; }

/* services: dropdown reset */
.services-filter-dropdown { margin: 0; }

/* services: nothing-found (JS toggle) */
.nothing-found { display: none; }

/* services: large icon in nothing-found */
.nothing-found-icon { font-size: 64px; }

/* services: category icon image sizing */
.category-icon-img {
  max-width: calc(1em + 6px);
  max-height: calc(1em + 6px);
}

/* ============================================
   Subscription Card — Compact Stats Grid
   ============================================ */

.subcard-stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.subcard-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.subcard-stat-label {
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  color: #72879d;
  display: flex;
  align-items: center;
  gap: 5px;
  letter-spacing: 0.02em;
}

.subcard-stat-label i {
  font-size: 14px;
  color: #ffc107;
}

.subcard-stat-value {
  font-size: 15px;
  font-weight: 700;
  line-height: 20px;
  color: #fdfdfd;
}

.subcard-stat-value a {
  color: #5b9aff;
  text-decoration: none;
}

.subcard-stat-value a:hover {
  color: #ffc107;
  text-decoration: underline;
}

/* Empty value — show dash */
.subcard-stat-value:empty::after {
  content: '—';
  color: #4a5568;
}

.subcard-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

@media (max-width: 767.98px) {
  .subcard-stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .subcard-stat-value {
    font-size: 14px;
  }

  .subcard-actions {
    justify-content: center;
  }
}

/* Light mode */
html.light .subcard-stat-label {
  color: #6b7280;
}

html.light .subcard-stat-value {
  color: #1a1a2e;
}

html.light .subcard-stat-value a {
  color: #0258FF;
}

html.light .subcard-actions {
  border-top-color: #e5e7eb;
}

/* ============================================
   U21. Check-in Modal (Daily Rewards)
   (moved from neworder.twig embedded style)
   ============================================ */

/* ═══ DIALOG SIZE ═══ */
.ci-dialog { max-width: 680px; }

/* ═══ MODAL SHELL ═══ */
.ci-modal {
  border-radius: 24px; overflow: hidden; border: none;
  background: #0f1923;
  box-shadow: 0 25px 60px rgba(0,0,0,0.5);
}

/* ═══ HEADER ═══ */
.ci-modal-header {
  position: relative; padding: 2.25rem 2.5rem 1.75rem;
  background: linear-gradient(135deg, #1a2a3a 0%, #0f1923 100%);
  text-align: center; overflow: hidden;
}
.ci-close-btn {
  position: absolute; top: 16px; right: 16px; z-index: 2;
  opacity: 0.5; filter: none;
}
.ci-close-btn:hover { opacity: 1; }
.ci-header-deco {
  position: absolute; top: -30px; right: -30px;
  width: 140px; height: 140px; border-radius: 50%;
  background: rgba(255,193,7,0.05);
}
.ci-header-deco::before {
  content: ''; position: absolute; bottom: -50px; left: -100px;
  width: 100px; height: 100px; border-radius: 50%;
  background: rgba(16,185,129,0.04);
}
.ci-streak-badge {
  display: inline-flex; align-items: center; gap: 10px;
  background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.08);
  border-radius: 50px; padding: 7px 18px 7px 7px; margin-bottom: 14px;
}
.ci-streak-icon {
  width: 38px; height: 38px; border-radius: 50%;
  background: linear-gradient(135deg, #ff6b35, #ff4500);
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 18px;
  box-shadow: 0 3px 12px rgba(255,69,0,0.3);
}
.ci-streak-info { display: flex; align-items: baseline; gap: 6px; }
.ci-streak-num { font-size: 26px; font-weight: 800; color: #ffc107; line-height: 1; }
.ci-streak-label { font-size: 13px; color: rgba(255,255,255,0.4); font-weight: 500; }
.ci-header-title { font-size: 22px; font-weight: 800; color: #fff; margin-bottom: 4px; }
.ci-header-sub { font-size: 14px; color: rgba(255,255,255,0.35); }

/* ═══ BODY ═══ */
.ci-modal-body { padding: 1.75rem 2.5rem 2rem; }

/* ═══ DAY CARD GRID ═══
   7 cards in one row on desktop (flex),
   4+3 wrap on mobile */
.ci-grid {
  display: flex; justify-content: center;
  gap: 12px; margin-bottom: 1.75rem; flex-wrap: wrap;
}
.ci-day {
  flex: 1 1 0; min-width: 72px; max-width: 90px;
  height: 110px; border-radius: 16px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 6px; border: 2px solid #1e2d3a;
  background: #131f2b; color: rgba(255,255,255,0.35);
  transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
  position: relative; cursor: default;
}

/* ── States ── */
.ci-day.checked {
  background: #132b21; border-color: #10b981; color: #10b981;
}
.ci-day.today {
  border-color: #ffc107; background: #1f2510;
  flex: 1.15 1 0;
  box-shadow: 0 0 0 3px rgba(255,193,7,0.1), 0 8px 24px rgba(255,193,7,0.08);
  animation: ci-glow 2.5s ease-in-out infinite;
  color: #ffc107;
}
.ci-day.today.checked {
  background: #2a2510; border-color: #ffc107; color: #ffc107;
  box-shadow: 0 0 0 3px rgba(255,193,7,0.08);
  animation: none;
}
.ci-day.bonus {
  flex: 1.6 1 0; max-width: 140px;
  border-color: #ffc107;
  background: linear-gradient(135deg, #1f1f0f, #131f2b);
}
.ci-day.bonus.checked {
  background: linear-gradient(135deg, #2a2510, #1f2010);
  border-color: #ffc107; color: #ffc107;
}

/* ── Labels ── */
.ci-day-label {
  font-size: 11px; font-weight: 700; color: rgba(255,255,255,0.3);
  text-transform: uppercase; letter-spacing: 0.5px; line-height: 1;
}
.ci-day.checked .ci-day-label { color: #10b981; }
.ci-day.today .ci-day-label { color: #ffc107; font-weight: 800; }
.ci-day.bonus .ci-day-label { color: #ffc107; }

/* ═══ COIN ═══ */
.ci-coin {
  width: 36px; height: 36px; border-radius: 50%;
  background: linear-gradient(145deg, #ffe066, #ffab00, #e6960a);
  box-shadow: 0 2px 4px rgba(0,0,0,0.25),
    inset 0 2px 3px rgba(255,255,255,0.35),
    inset 0 -2px 3px rgba(0,0,0,0.15);
  display: flex; align-items: center; justify-content: center;
  color: #8a6000; font-size: 17px; line-height: 1;
  position: relative;
}
.ci-coin::after {
  content: ''; position: absolute; top: 5px; left: 8px;
  width: 12px; height: 6px; border-radius: 50%;
  background: rgba(255,255,255,0.35);
}
.ci-day.today .ci-coin {
  width: 40px; height: 40px; font-size: 19px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.25), 0 0 20px rgba(255,193,7,0.2),
    inset 0 2px 3px rgba(255,255,255,0.35), inset 0 -2px 3px rgba(0,0,0,0.15);
}
.ci-day.today .ci-coin::after { top: 6px; left: 9px; width: 13px; }
.ci-day.checked .ci-coin { display: none; }

/* ═══ CHECK ═══ */
.ci-check {
  width: 36px; height: 36px; border-radius: 50%;
  background: linear-gradient(135deg, #10b981, #059669);
  box-shadow: 0 2px 8px rgba(16,185,129,0.3);
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 18px;
}
.ci-day.today.checked .ci-check {
  background: linear-gradient(135deg, #ffc107, #f59e0b);
  color: #0C141B; box-shadow: 0 2px 8px rgba(255,193,7,0.3);
}

/* ═══ GIFT ═══ */
.ci-gift {
  width: 40px; height: 40px; border-radius: 12px;
  background: linear-gradient(145deg, #ffe066, #ffab00);
  box-shadow: 0 3px 10px rgba(255,193,7,0.3);
  display: flex; align-items: center; justify-content: center;
  color: #7c4d00; font-size: 20px; position: relative;
}
.ci-gift::before {
  content: ''; position: absolute; top: -4px; right: -4px;
  width: 14px; height: 14px; border-radius: 50%;
  background: #ff4757; border: 2px solid #131f2b;
}
.ci-day.bonus.checked .ci-gift { display: none; }
.ci-day.bonus.checked .ci-check {
  background: linear-gradient(135deg, #ffc107, #f59e0b); color: #0C141B;
}

/* ═══ POINTS ═══ */
.ci-day-pts { font-size: 14px; font-weight: 700; line-height: 1; }
.ci-day.bonus .ci-day-pts { color: #ffc107; font-size: 16px; font-weight: 800; }
.ci-day.checked .ci-day-pts { color: #10b981; opacity: 0.7; font-size: 12px; }
.ci-day.today .ci-day-pts { color: #ffc107; font-weight: 800; }
.ci-bonus-tag {
  font-size: 8px; font-weight: 800; color: #ffc107;
  text-transform: uppercase; letter-spacing: 1px; line-height: 1;
  background: rgba(255,193,7,0.1); border-radius: 4px; padding: 2px 6px;
}
.ci-day.bonus.checked .ci-bonus-tag { background: rgba(255,193,7,0.15); }

/* ═══ REWARD BOX ═══ */
.ci-reward-box {
  text-align: center; padding: 14px 20px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06); border-radius: 16px;
  margin-bottom: 1.25rem; color: #fff;
}

/* ═══ CTA BUTTON ═══ */
.ci-cta-btn {
  display: block; width: 100%;
  background: linear-gradient(135deg, #ffc107, #ffab00);
  color: #0C141B; border: none; border-radius: 16px;
  padding: 16px 24px; font-size: 17px; font-weight: 800;
  box-shadow: 0 4px 16px rgba(255,193,7,0.25), inset 0 1px 0 rgba(255,255,255,0.2);
  transition: all 0.25s cubic-bezier(0.4,0,0.2,1); cursor: pointer;
}
.ci-cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(255,193,7,0.35), inset 0 1px 0 rgba(255,255,255,0.2);
  background: linear-gradient(135deg, #ffd54f, #ffc107);
}
.ci-cta-btn:active { transform: translateY(0); box-shadow: 0 2px 8px rgba(255,193,7,0.2); }
.ci-cta-btn:disabled {
  background: #1a2a3a; color: rgba(255,255,255,0.3);
  box-shadow: none; transform: none; cursor: default;
}

/* ═══ BANNER DOTS ═══ */
.ci-dot {
  width: 10px; height: 10px; border-radius: 50%;
  background: #1e2d3a; transition: all 0.3s ease; flex-shrink: 0;
}
.ci-dot.checked { background: #10b981; }
.ci-dot.today { background: #ffc107; animation: ci-glow 2s ease-in-out infinite; }
.ci-dot.bonus { background: #ffc107; }

/* ═══ ANIMATION ═══ */
@keyframes ci-glow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255,193,7,0.35), 0 0 0 3px rgba(255,193,7,0.1); }
  50% { box-shadow: 0 0 0 8px rgba(255,193,7,0), 0 0 0 3px rgba(255,193,7,0.05); }
}

/* ═══ RESPONSIVE ═══ */
@media (max-width: 576px) {
  .ci-dialog { max-width: 94vw; margin: 0.5rem auto; }
  .ci-modal-header { padding: 1.75rem 1.5rem 1.25rem; }
  .ci-modal-body { padding: 1.25rem 1.5rem 1.5rem; }
  .ci-grid { gap: 10px; }
  .ci-day { min-width: 60px; max-width: none; height: 94px; }
  .ci-day.bonus { max-width: none; }
  .ci-coin { width: 30px; height: 30px; font-size: 14px; }
  .ci-day.today .ci-coin { width: 34px; height: 34px; font-size: 16px; }
  .ci-check { width: 30px; height: 30px; font-size: 16px; }
  .ci-gift { width: 34px; height: 34px; font-size: 17px; }
  .ci-day-label { font-size: 9px; }
  .ci-day-pts { font-size: 12px; }
  .ci-header-title { font-size: 19px; }
  .ci-cta-btn { padding: 15px 20px; font-size: 15px; }
}

/* Light Mode: Check-in Modal */
html.light .ci-modal {
    background: #ffffff;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.15);
}

html.light .ci-modal-header {
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
}

html.light .ci-header-title {
    color: #3d4249;
}

html.light .ci-header-sub {
    color: #6b7280;
}

html.light .ci-streak-badge {
    background: rgba(0, 0, 0, 0.04);
    border-color: #e5e7eb;
}

html.light .ci-streak-label {
    color: #6b7280;
}

html.light .ci-day {
    border-color: #e5e7eb;
    background: #f7f8f9;
    color: #6b7280;
}

html.light .ci-day.checked {
    background: #ecfdf5;
    border-color: #10b981;
    color: #10b981;
}

html.light .ci-day.today {
    border-color: #ffc107;
    background: #fffef5;
}

html.light .ci-close-btn {
    filter: invert(1);
}

/* ── Light mode: Day card text ── */
html.light .ci-day-label {
    color: #9ca3af;
}
html.light .ci-day.checked .ci-day-label {
    color: #10b981;
}
html.light .ci-day.today .ci-day-label {
    color: #b8860b;
    font-weight: 800;
}
html.light .ci-day.bonus .ci-day-label {
    color: #b8860b;
}

/* ── Light mode: Day card points text ── */
html.light .ci-day-pts {
    color: #6b7280;
}
html.light .ci-day.checked .ci-day-pts {
    color: #10b981;
}
html.light .ci-day.today .ci-day-pts {
    color: #b8860b;
}
html.light .ci-day.bonus .ci-day-pts {
    color: #b8860b;
}

/* ── Light mode: Bonus day card ── */
html.light .ci-day.bonus {
    background: linear-gradient(135deg, #fffef5, #fff8e1);
    border-color: #ffc107;
}
html.light .ci-day.bonus.checked {
    background: linear-gradient(135deg, #fffef5, #fff3cd);
    border-color: #ffc107;
    color: #b8860b;
}
html.light .ci-bonus-tag {
    color: #b8860b;
    background: rgba(255, 193, 7, 0.15);
}

/* ── Light mode: Gift dot border fix ── */
html.light .ci-gift::before {
    border-color: #f7f8f9;
}

/* ── Light mode: Reward info box ── */
html.light .ci-reward-box {
    background: rgba(0, 0, 0, 0.03);
    border: 1px solid rgba(0, 0, 0, 0.08);
    color: #3d4249;
}
/* Override inline styles (must use !important to beat inline) */
html.light .ci-reward-box > div:first-child {
    color: #6b7280 !important;
}
html.light .ci-reward-box > div:nth-child(2) {
    color: #3d4249 !important;
}
html.light .ci-reward-box > div:nth-child(2) span {
    color: #b8860b !important;
}
html.light .ci-reward-box > div:last-child {
    color: #9ca3af !important;
}
html.light .ci-reward-box > div:last-child i {
    color: #b8860b !important;
}

/* ── Light mode: CTA disabled state ── */
html.light .ci-cta-btn:disabled {
    background: #e5e7eb;
    color: #9ca3af;
    box-shadow: none;
}

/* ── Light mode: Glow animation ── */
html.light .ci-day.today {
    animation: ci-glow-light 2.5s ease-in-out infinite;
}
@keyframes ci-glow-light {
    0%, 100% { box-shadow: 0 0 0 0 rgba(255, 193, 7, 0.25), 0 0 0 3px rgba(255, 193, 7, 0.08); }
    50% { box-shadow: 0 0 0 8px rgba(255, 193, 7, 0), 0 0 0 3px rgba(255, 193, 7, 0.04); }
}

/* ── Light mode: Header deco ── */
html.light .ci-header-deco {
    background: rgba(255, 193, 7, 0.06);
}
html.light .ci-header-deco::before {
    background: rgba(16, 185, 129, 0.05);
}

/* ============================================
   U20. Member Dashboard Modal V2
   (moved from neworder.twig embedded style)
   ============================================ */

/* ============================================
   MEMBER DASHBOARD MODAL V2 - YELLOW THEME
   ============================================ */

.member-dashboard-modal-v2 {
    border-radius: 20px;
    overflow: hidden;
    border: none;
    background: var(--mdm-bg, #ffffff);
}

/* Header - Yellow Gradient */
.member-dashboard-modal-v2 .mdm-header {
    background: linear-gradient(135deg, #ffc107 0%, #ff9800 100%);
    color: #1a1a2e;
    border-bottom: none;
    padding: 1.25rem 1.5rem;
}

.member-dashboard-modal-v2 .mdm-header .modal-title {
    font-weight: 700;
    font-size: 1.2rem;
    color: #1a1a2e;
}

.member-dashboard-modal-v2 .mdm-header .btn-close {
    filter: brightness(0);
    opacity: 0.6;
}

.member-dashboard-modal-v2 .mdm-header .btn-close:hover {
    opacity: 1;
}

/* Stats Section */
.dashboard-stats-section {
    padding: 1.25rem;
    background: var(--dashboard-stats-bg, #f8f9fa);
}

.dashboard-stat-card {
    background: var(--dashboard-card-bg, #ffffff);
    border-radius: 12px;
    padding: 1rem;
    display: flex;
    align-items: center;
    gap: 0.875rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    border: 1px solid var(--dashboard-card-border, #e9ecef);
    height: 100%;
    transition: all 0.3s ease;
}

.dashboard-stat-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.dashboard-stat-card .stat-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    flex-shrink: 0;
}

.dashboard-stat-card.spent-card .stat-icon {
    background: rgba(0, 177, 77, 0.1);
    color: #00B14D;
}

.dashboard-stat-card.level-card .stat-icon {
    background: linear-gradient(135deg, rgba(255, 193, 7, 0.2), rgba(255, 152, 0, 0.1));
    color: #ff9800;
}

.dashboard-stat-card.next-card .stat-icon {
    background: rgba(59, 130, 246, 0.1);
    color: #3B82F6;
}

.dashboard-stat-card .stat-content {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.dashboard-stat-card .stat-label {
    font-size: 0.75rem;
    color: var(--dashboard-label-color, #6c757d);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 500;
}

.dashboard-stat-card .stat-value {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--dashboard-value-color, #212529);
    line-height: 1.2;
}

.dashboard-stat-card .stat-subtitle {
    font-size: 0.75rem;
    color: var(--dashboard-subtitle-color, #6c757d);
}

.dashboard-stat-card .stat-subtitle.max-reached {
    color: #00B14D;
    font-weight: 500;
}

/* Progress Section */
.dashboard-progress-section {
    padding: 1.25rem;
    background: var(--dashboard-progress-bg, #ffffff);
    border-top: 1px solid var(--dashboard-border-color, #e9ecef);
}

.progress-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
}

.progress-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--dashboard-title-color, #212529);
}

.progress-title i {
    color: #ffc107;
}

.progress-percentage {
    font-size: 0.875rem;
    font-weight: 700;
    color: #e6ac00;
    background: rgba(255, 193, 7, 0.15);
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
}

.level-progress-container {
    position: relative;
}

.level-progress-track {
    height: 12px;
    background: var(--dashboard-track-bg, #e9ecef);
    border-radius: 6px;
    overflow: visible;
    position: relative;
}

.level-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #ffc107, #ff9800);
    border-radius: 6px;
    transition: width 0.5s ease;
    position: relative;
}

.level-progress-fill::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background: #ff9800;
    border: 3px solid #fff;
    border-radius: 50%;
    box-shadow: 0 2px 6px rgba(255, 193, 7, 0.5);
}

.level-progress-labels {
    display: flex;
    justify-content: space-between;
    margin-top: 0.5rem;
    font-size: 0.75rem;
    color: var(--dashboard-label-color, #6c757d);
}

/* Tiers Section - Grid Layout V2 */
.mdm-tiers-section {
    padding: 1.5rem;
    background: var(--dashboard-tiers-bg, #f8f9fa);
    border-top: 1px solid var(--dashboard-border-color, #e9ecef);
}

.mdm-tiers-header {
    font-size: 1rem;
    font-weight: 700;
    color: var(--dashboard-title-color, #212529);
    margin-bottom: 1.25rem;
    display: flex;
    align-items: center;
}

.mdm-tiers-header i {
    color: #ffc107;
    font-size: 1.25rem;
}

/* Grid Layout for Tier Cards */
.mdm-tiers-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

@media (max-width: 992px) {
    .mdm-tiers-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .mdm-tiers-grid {
        grid-template-columns: 1fr;
    }
}

/* Individual Tier Card */
.mdm-tier-card {
    position: relative;
    background: var(--dashboard-card-bg, #ffffff);
    border-radius: 16px;
    padding: 1.25rem 1rem;
    border: 2px solid var(--dashboard-card-border, #e9ecef);
    transition: all 0.3s ease;
    text-align: center;
    display: flex;
    flex-direction: column;
    min-height: 260px;
}

.mdm-tier-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
}

/* Current Tier Highlight */
.mdm-tier-card.mdm-current {
    border-color: #ffc107;
    box-shadow: 0 4px 20px rgba(255, 193, 7, 0.3);
    background: linear-gradient(180deg, rgba(255, 193, 7, 0.05) 0%, transparent 100%);
}

/* Current Badge */
.mdm-current-badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #ffc107 0%, #ff9800 100%);
    color: #1a1a2e;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 20px;
    white-space: nowrap;
    z-index: 10;
    box-shadow: 0 2px 8px rgba(255, 193, 7, 0.4);
}

/* Tier Icon */
.mdm-tier-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 0.875rem;
    font-size: 1.5rem;
}

.mdm-tier-new .mdm-tier-icon {
    background: rgba(108, 117, 125, 0.1);
    color: #6c757d;
}

.mdm-tier-gold .mdm-tier-icon {
    background: rgba(255, 193, 7, 0.15);
    color: #ffc107;
}

.mdm-tier-platinum .mdm-tier-icon {
    background: rgba(23, 162, 184, 0.15);
    color: #17a2b8;
}

.mdm-tier-vip .mdm-tier-icon {
    background: rgba(220, 53, 69, 0.15);
    color: #dc3545;
}

/* Tier Name */
.mdm-tier-name {
    font-weight: 800;
    font-size: 1.1rem;
    margin-bottom: 0.375rem;
    letter-spacing: 0.5px;
}

.mdm-tier-new .mdm-tier-name { color: #6c757d; }
.mdm-tier-gold .mdm-tier-name { color: #e6ac00; }
.mdm-tier-platinum .mdm-tier-name { color: #17a2b8; }
.mdm-tier-vip .mdm-tier-name { color: #dc3545; }

/* Tier Range */
.mdm-tier-range {
    font-size: 0.75rem;
    color: var(--dashboard-label-color, #6c757d);
    background: var(--dashboard-range-bg, #f1f3f4);
    padding: 4px 10px;
    border-radius: 20px;
    margin-bottom: 1rem;
    display: inline-block;
}

/* Tier Benefits */
.mdm-tier-benefits {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left;
    flex-grow: 1;
}

.mdm-tier-benefits li {
    font-size: 0.8rem;
    color: var(--dashboard-text-color, #495057);
    padding: 0.35rem 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    border-bottom: 1px dashed var(--dashboard-border-color, #e9ecef);
}

.mdm-tier-benefits li:last-child {
    border-bottom: none;
}

.mdm-tier-benefits li i {
    color: #00B14D;
    font-size: 0.85rem;
    flex-shrink: 0;
}

/* CLEANUP 2026-05-07: removed all .mdm-cashback-* rules + dark variants
 * (~165 lines, dead — neworder.twig modal uses .member-dashboard-modal-v2 instead) */

/* Footer */
.dashboard-footer {
    padding: 0.875rem 1.25rem;
    background: var(--dashboard-footer-bg, #f1f3f4);
    border-top: 1px solid var(--dashboard-border-color, #e9ecef);
}

.footer-info {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    color: var(--dashboard-label-color, #6c757d);
}

.footer-info i {
    color: #ffc107;
}

/* Dark Mode Support */
html.dark .member-dashboard-modal-v2,
body.dark .member-dashboard-modal-v2,
.dark .member-dashboard-modal-v2,
html.dark .member-dashboard-modal,
body.dark .member-dashboard-modal,
.dark .member-dashboard-modal {
    --mdm-bg: rgba(12, 20, 27, 0.7);
    --dashboard-stats-bg: #0C141B;
    --dashboard-card-bg: #121D27;
    --dashboard-card-border: #183441;
    --dashboard-progress-bg: #0C141B;
    --dashboard-tiers-bg: #0a1017;
    --dashboard-border-color: #183441;
    --dashboard-track-bg: #183441;
    --dashboard-label-color: #72879d;
    --dashboard-value-color: #ffffff;
    --dashboard-subtitle-color: #72879d;
    --dashboard-title-color: #ffffff;
    --dashboard-text-color: #c0cdd8;
    --dashboard-footer-bg: #0a1017;
    --dashboard-range-bg: #183441;
}

html.dark .member-dashboard-modal-v2,
body.dark .member-dashboard-modal-v2,
.dark .member-dashboard-modal-v2,
html.dark .member-dashboard-modal .modal-content,
body.dark .member-dashboard-modal .modal-content,
.dark .member-dashboard-modal .modal-content {
    background: #1a1a2e;
    border: 1px solid #2d3a4f;
}

/* Dark mode tier card adjustments */
html.dark .mdm-tier-card,
body.dark .mdm-tier-card,
.dark .mdm-tier-card {
    background: #16213e;
    border-color: #2d3a4f;
}

html.dark .mdm-tier-card.mdm-current,
body.dark .mdm-tier-card.mdm-current,
.dark .mdm-tier-card.mdm-current {
    border-color: #ffc107;
    background: linear-gradient(180deg, rgba(255, 193, 7, 0.1) 0%, #16213e 100%);
}

html.dark .mdm-tier-card:hover,
body.dark .mdm-tier-card:hover,
.dark .mdm-tier-card:hover {
    box-shadow: 0 8px 25px rgba(0,0,0,0.3);
}

/* Responsive */
@media (max-width: 768px) {
    .dashboard-stat-card {
        padding: 0.75rem;
    }

    .dashboard-stat-card .stat-icon {
        width: 40px;
        height: 40px;
        font-size: 1.25rem;
    }

    .dashboard-stat-card .stat-value {
        font-size: 1rem;
    }

    .mdm-tiers-section {
        padding: 1rem;
    }

    .mdm-tier-card {
        min-height: 220px;
        padding: 1rem 0.875rem;
    }

    .mdm-tier-icon {
        width: 48px;
        height: 48px;
        font-size: 1.25rem;
    }

    .mdm-tier-name {
        font-size: 1rem;
    }

    .mdm-tier-benefits li {
        font-size: 0.75rem;
    }
}

/* ============================================
   U20b. CSS Variables for Light/Dark Theme
   (moved from neworder.twig embedded style)
   ============================================ */

:root {
  --modal-bg: #121d27;
  --modal-text: #ffffff;
  --modal-border: #2a3441;
}

html.light {
  --modal-bg: #ffffff;
  --modal-text: #333333;
  --modal-border: #e0e0e0;
}

/* ============================================================
   MODERNIZATION PACK v2026-04
   - Glassmorphism WCU cards
   - Pill-style social platform tabs with brand colors
   - Enhanced tab content layout (stats/services/CTA)
   Scope: affects signin.twig, signin_lao.twig, smm-panel-thailand.twig,
          smm-panel-laos.twig (all pages using .wcu-* / .hsob / .hsl-*)
   ============================================================ */

/* ---------- Design Tokens (v2026-04) ----------
   Consume via var(--lk-*). Hard-coded values in earlier selectors remain for
   backwards-compatibility — new rules should use tokens. */
:root {
    /* Radius scale */
    --lk-radius-xs:   8px;
    --lk-radius-sm:  12px;
    --lk-radius-md:  16px;
    --lk-radius-lg:  22px;
    --lk-radius-xl:  28px;
    --lk-radius-2xl: 32px;
    --lk-radius-full: 9999px;

    /* Typography scale */
    --lk-text-xs:    12px;
    --lk-text-sm:    14px;
    --lk-text-base:  16px;
    --lk-text-lg:    18px;
    --lk-text-xl:    20px;
    --lk-text-2xl:   24px;
    --lk-text-3xl:   32px;
    --lk-text-4xl:   40px;
    --lk-text-5xl:   48px;

    /* Spacing scale (4px base grid) */
    --lk-space-1:   4px;
    --lk-space-2:   8px;
    --lk-space-3:  12px;
    --lk-space-4:  16px;
    --lk-space-5:  20px;
    --lk-space-6:  24px;
    --lk-space-8:  32px;
    --lk-space-10: 40px;
    --lk-space-12: 48px;
    --lk-space-16: 64px;
    --lk-space-20: 80px;
    --lk-space-24: 96px;

    /* Shadow scale */
    --lk-shadow-sm:  0 4px 14px rgba(0,0,0,0.20);
    --lk-shadow-md:  0 10px 32px rgba(0,0,0,0.28);
    --lk-shadow-lg:  0 18px 48px rgba(0,0,0,0.35);
    --lk-shadow-xl:  0 28px 68px rgba(0,0,0,0.42);
    --lk-glow-green:  0 0 42px rgba(0,175,76,0.25);
    --lk-glow-yellow: 0 0 42px rgba(255,193,7,0.35);

    /* Brand color tokens */
    --lk-bg-body:       #ffbf00;
    --lk-bg-dark:       #0f1d25;
    --lk-bg-dark-hi:    #1a3140;
    --lk-bg-dark-lo:    #0a1218;
    --lk-border-card:   rgba(255, 193, 7, 0.15);
    --lk-border-card-hover: rgba(255, 193, 7, 0.4);
    --lk-text-primary:  #ffffff;
    --lk-text-secondary:#C9D2DC;
    --lk-text-muted:    #8FA2B0;
    --lk-accent-yellow: #ffc107;
    --lk-accent-green:  #00AF4C;
    --lk-accent-orange: #ff9500;
    --lk-gradient-primary: linear-gradient(135deg, #00AF4C 0%, #ffc107 100%);
    --lk-gradient-card:    linear-gradient(165deg, #1a3140 0%, #0f1d25 100%);
    --lk-gradient-card-hi: linear-gradient(165deg, #223f51 0%, #121f29 100%);

    /* Platform brand colors */
    --lk-platform-facebook:  #1877F2;
    --lk-platform-youtube:   #FF0000;
    --lk-platform-instagram: #E4405F;
    --lk-platform-twitter:   #1DA1F2;
    --lk-platform-tiktok:    #00F2EA;
    --lk-platform-telegram:  #0088CC;
    --lk-platform-snapchat:  #FFFC00;
    --lk-platform-spotify:   #1DB954;

    /* Transitions */
    --lk-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --lk-dur-fast: 0.25s;
    --lk-dur-base: 0.4s;
    --lk-dur-slow: 0.6s;
}

/* ---------- WCU Cards: Glass + Glow ---------- */
/* Equal-height cards: stretch the column children so all 4 cards share the same height */
.wcu-content > .row {
    align-items: stretch;
}

.wcu-content > .row > [class*="col-"] {
    display: flex;
}

.wcu-content .wcu-conteiner {
    position: relative;
    margin: 18px 0;
    width: 100%;
    display: flex;
}

/* Kill the old gradient-border and clip-path chevron */
.wcu-content .wcu-conteiner::before {
    display: none !important;
}

.wcu-content .wcu-conteiner .wcu-box {
    /* OPAQUE dark card — body bg is #ffbf00 yellow, glass would bleed yellow through */
    background: linear-gradient(165deg, #1a3140 0%, #0f1d25 100%) !important;
    border: 1px solid rgba(255, 193, 7, 0.15);
    border-radius: 22px !important;
    box-shadow: 0 14px 42px rgba(0, 0, 0, 0.25),
                inset 0 1px 0 rgba(255, 255, 255, 0.06);
    -webkit-clip-path: none !important;
    clip-path: none !important;
    overflow: hidden;
    width: 100%;
    display: flex;
    flex-direction: column;
    -webkit-transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
                        border-color 0.4s ease,
                        box-shadow 0.4s ease,
                        background 0.4s ease;
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
                border-color 0.4s ease,
                box-shadow 0.4s ease,
                background 0.4s ease;
}

.wcu-content .wcu-conteiner .wcu-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 193, 7, 0.6), transparent);
    opacity: 0.5;
}

.wcu-content .wcu-conteiner:hover .wcu-box {
    -webkit-transform: translateY(-10px) !important;
    transform: translateY(-10px) !important;
    background: linear-gradient(165deg, #223f51 0%, #121f29 100%) !important;
    border-color: rgba(255, 193, 7, 0.45);
    box-shadow: 0 26px 62px rgba(0, 0, 0, 0.35),
                0 0 0 1px rgba(255, 193, 7, 0.28),
                0 0 40px rgba(255, 193, 7, 0.15),
                inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.wcu-content .wcu-conteiner .wcu-box .wcu-body {
    padding: 48px 28px 52px;
    text-align: center;
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    width: 100%;
}

/* Push the CTA arrow to the bottom so cards align visually */
.wcu-content .wcu-conteiner .wcu-box .wcu-body .wcu-go {
    margin-top: auto;
}

/* Circular yellow icon badge */
.wcu-content .wcu-conteiner .wcu-box .wcu-icon {
    width: 78px;
    height: 78px;
    margin: 0 auto 26px;
    border-radius: 50%;
    background: #ffc107;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    box-shadow: 0 0 28px rgba(255, 193, 7, 0.4),
                inset 0 2px 0 rgba(255, 255, 255, 0.3),
                inset 0 -2px 4px rgba(0, 0, 0, 0.15);
    -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
                        box-shadow 0.4s ease;
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
                box-shadow 0.4s ease;
}

.wcu-content .wcu-conteiner .wcu-box .wcu-icon i {
    font-size: 32px !important;
    color: #ffffff !important;
    line-height: 1;
    -webkit-transition: none !important;
    transition: none !important;
}

.wcu-content .wcu-conteiner:hover .wcu-box .wcu-icon {
    -webkit-transform: rotate(-8deg) scale(1.08);
    transform: rotate(-8deg) scale(1.08);
    box-shadow: 0 0 50px rgba(255, 193, 7, 0.65),
                inset 0 2px 0 rgba(255, 255, 255, 0.4),
                inset 0 -2px 4px rgba(0, 0, 0, 0.15);
}

.wcu-content .wcu-conteiner .wcu-box .wcu-icon i {
    color: #0c151b !important;
}

.wcu-content .wcu-conteiner:hover .wcu-box .wcu-icon i {
    color: #0c151b !important;
}

.wcu-content .wcu-conteiner .wcu-box .wcu-title {
    font-size: 21px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.35;
    margin: 0 0 14px;
    letter-spacing: -0.2px;
}

.wcu-content .wcu-conteiner .wcu-box .wcu-text {
    font-size: 14.5px;
    line-height: 1.7;
    color: #A8B3BD;
    margin: 0;
}

.wcu-content .wcu-conteiner:hover .wcu-box .wcu-text {
    color: #C9D2DC;
}

.wcu-content .wcu-conteiner .wcu-box .wcu-go {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-top: 26px;
    border-radius: 50%;
    background: rgba(255, 193, 7, 0.1);
    border: 1px solid rgba(255, 193, 7, 0.25);
    transition: all 0.3s ease;
}

.wcu-content .wcu-conteiner .wcu-box .wcu-go i {
    font-size: 20px !important;
    color: #ffc107 !important;
}

.wcu-content .wcu-conteiner:hover .wcu-box .wcu-go {
    background: #ffc107;
    border-color: #ffc107;
    transform: rotate(45deg);
}

.wcu-content .wcu-conteiner:hover .wcu-box .wcu-go i {
    color: #15222e !important;
}

/* Section title polish — solid dark text for readability on yellow body (#ffbf00)
   NOTE: The base rule at line ~815 sets color:#fff (broken on yellow body). We override
   here to dark. Existing overrides in .signin-comparison-section/.signin-faq-section
   etc. also set dark (#121d27) so they remain consistent. */
.home-title h2 {
    font-size: 39px;
    font-weight: 800;
    letter-spacing: -0.5px;
    color: #0c151b;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.1);
}

/* Preserve white title on .about-contact-section (orange gradient bg) */
.about-contact-section .home-title h2 {
    color: #ffffff;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

/* ---------- Social Platform Tabs: Pill + Brand colors ---------- */
.home-section {
    position: relative;
}

.hsobs {
    margin-bottom: 44px;
    padding: 10px;
    background: #0f1d25;
    border: 1px solid rgba(255, 193, 7, 0.1);
    border-radius: 22px;
    box-shadow: 0 14px 42px rgba(0, 0, 0, 0.25),
                inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.hsobs > .row {
    margin: 0;
    gap: 0;
}

.hsobs > .row > [class*="col-"] {
    padding: 4px;
}

.home-section .hsobs .hsob {
    background: transparent !important;
    padding: 14px 20px !important;
    border-radius: 16px !important;
    color: #C9D2DC !important;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    -webkit-transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1) !important;
    transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.home-section .hsobs .hsob::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 16px;
    opacity: 0;
    transition: opacity 0.35s ease;
    z-index: 0;
}

.home-section .hsobs .hsob > * {
    position: relative;
    z-index: 1;
}

.home-section .hsobs .hsob:hover {
    background: rgba(255, 255, 255, 0.05) !important;
    -webkit-transform: translateY(-2px) !important;
    transform: translateY(-2px) !important;
}

.home-section .hsobs .hsob:hover .hsob-icon {
    -webkit-transform: scale(1.1) !important;
    transform: scale(1.1) !important;
    color: #ffffff !important;
}

/* Active state + platform colors (nth-child in row: 1=IG, 2=FB, 3=TW, 4=YT) */
.home-section .hsobs .hsob.active {
    background: transparent !important;
    color: #ffffff !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

.home-section .hsobs .hsob.active::before {
    opacity: 1;
}

/* Instagram pill */
.home-section .hsobs .row > div:nth-child(1) .hsob.active::before {
    background: linear-gradient(135deg, #833ab4 0%, #fd1d1d 50%, #fcb045 100%);
}
.home-section .hsobs .row > div:nth-child(1) .hsob.active .hsob-icon,
.home-section .hsobs .row > div:nth-child(1) .hsob.active .hsob-title {
    color: #ffffff !important;
}

/* Facebook pill */
.home-section .hsobs .row > div:nth-child(2) .hsob.active::before {
    background: linear-gradient(135deg, #1877F2 0%, #00B2FF 100%);
}

/* Twitter/X pill */
.home-section .hsobs .row > div:nth-child(3) .hsob.active::before {
    background: linear-gradient(135deg, #1DA1F2 0%, #0d8bd9 100%);
}

/* YouTube pill */
.home-section .hsobs .row > div:nth-child(4) .hsob.active::before {
    background: linear-gradient(135deg, #FF0000 0%, #CC0000 100%);
}

.home-section .hsobs .hsob-icon {
    color: #ffc107;
    font-size: 26px;
    transition: all 0.35s ease;
}

.home-section .hsobs .hsob-title {
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 0.3px;
}

/* ---------- Tab content: refined layout ---------- */
.home-tabs {
    padding: 40px 32px;
    background: linear-gradient(165deg, #1a3140 0%, #0f1d25 100%);
    border: 1px solid rgba(255, 193, 7, 0.12);
    border-radius: 28px;
    box-shadow: 0 14px 42px rgba(0, 0, 0, 0.3),
                inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.home-tabs .tab {
    animation: hsTabFadeIn 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes hsTabFadeIn {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: translateY(0); }
}

.home-tabs .hsl-title-icon {
    width: 68px !important;
    height: 68px !important;
    border-radius: 20px !important;
    font-size: 34px !important;
    background: #ffc107 !important;
    color: #0c151b !important;
    box-shadow: 0 10px 28px rgba(255, 193, 7, 0.3),
                inset 0 2px 0 rgba(255, 255, 255, 0.25);
}

/* Per-tab icon color override (match brand) */
.home-tabs #tab-1 .hsl-title-icon {
    background: linear-gradient(135deg, #833ab4 0%, #fd1d1d 50%, #fcb045 100%) !important;
    box-shadow: 0 10px 28px rgba(253, 29, 29, 0.3), inset 0 2px 0 rgba(255,255,255,0.25) !important;
}
.home-tabs #tab-2 .hsl-title-icon {
    background: linear-gradient(135deg, #1877F2 0%, #00B2FF 100%) !important;
    box-shadow: 0 10px 28px rgba(24, 119, 242, 0.3), inset 0 2px 0 rgba(255,255,255,0.25) !important;
}
.home-tabs #tab-3 .hsl-title-icon {
    background: linear-gradient(135deg, #1DA1F2 0%, #0d8bd9 100%) !important;
    box-shadow: 0 10px 28px rgba(29, 161, 242, 0.3), inset 0 2px 0 rgba(255,255,255,0.25) !important;
}
.home-tabs #tab-4 .hsl-title-icon {
    background: linear-gradient(135deg, #FF0000 0%, #CC0000 100%) !important;
    box-shadow: 0 10px 28px rgba(255, 0, 0, 0.3), inset 0 2px 0 rgba(255,255,255,0.25) !important;
}

.home-tabs .hsl-title h2 {
    font-size: 34px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.4px;
}

.home-tabs .hsl-text {
    font-size: 17px;
    line-height: 1.75;
    color: #C9D2DC;
    margin: 26px 0;
}

.home-tabs .hsl-bottom {
    margin-top: 28px;
}

.home-tabs .hsl-item {
    position: relative;
    padding: 16px 20px 16px 42px;
    margin: 12px 0;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 14px;
    transition: all 0.3s ease;
}

.home-tabs .hsl-item::before {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free', 'Font Awesome 5 Free', 'FontAwesome';
    font-weight: 900;
    position: absolute;
    left: 16px;
    top: 18px;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    background: #ffc107;
    color: #0c151b;
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(255, 193, 7, 0.45);
}

.home-tabs .hsl-item:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 193, 7, 0.2);
    transform: translateX(4px);
}

.home-tabs .hsli-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin-bottom: 6px !important;
}

.home-tabs .hsli-text {
    font-size: 14px !important;
    line-height: 1.65 !important;
    color: rgba(255, 255, 255, 0.72) !important;
}

/* Right-side image: add glow wrapper */
.home-tabs .tab .col-lg-6 > img.img-fluid {
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4),
                0 0 0 1px rgba(255, 255, 255, 0.08);
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
    background: linear-gradient(145deg, rgba(24, 52, 65, 0.5), rgba(17, 30, 38, 0.7));
}

.home-tabs .tab:hover .col-lg-6 > img.img-fluid {
    transform: translateY(-6px);
}

/* ---------- New enhancement DOM (stats row + CTA) ---------- */
.hsl-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin: 28px 0 24px;
}

.hsl-stat {
    padding: 16px 12px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    text-align: center;
    transition: all 0.3s ease;
}

.hsl-stat:hover {
    border-color: rgba(255, 193, 7, 0.35);
    background: rgba(255, 193, 7, 0.05);
    transform: translateY(-2px);
}

.hsl-stat-value {
    display: block;
    font-size: 22px;
    font-weight: 800;
    color: #ffc107;
    line-height: 1.2;
    margin-bottom: 4px;
}

.hsl-stat-label {
    display: block;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.7);
    font-weight: 500;
}

.hsl-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 24px;
    padding: 14px 28px;
    background: #ffc107;
    color: #0c151b !important;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none !important;
    border-radius: 14px;
    box-shadow: 0 10px 28px rgba(255, 193, 7, 0.35),
                inset 0 2px 0 rgba(255, 255, 255, 0.25);
    transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.hsl-cta:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 16px 40px rgba(255, 193, 7, 0.5),
                inset 0 2px 0 rgba(255, 255, 255, 0.3);
    color: #0c151b !important;
}

.hsl-cta i {
    font-size: 14px;
    transition: transform 0.3s ease;
}

.hsl-cta:hover i {
    transform: translateX(4px);
}

/* ---------- Responsive tweaks ---------- */
@media (max-width: 991px) {
    .home-tabs {
        padding: 28px 20px;
        border-radius: 22px;
    }
    .home-tabs .hsl-title h2 {
        font-size: 26px;
    }
    .hsl-stats {
        grid-template-columns: repeat(3, 1fr);
        gap: 8px;
    }
    .hsl-stat-value {
        font-size: 18px;
    }
    .hsl-stat-label {
        font-size: 11px;
    }
}

@media (max-width: 768px) {
    .home-title h2 {
        font-size: 28px !important;
    }
    .wcu-content .wcu-conteiner .wcu-box .wcu-body {
        padding: 38px 22px 42px;
    }
    .wcu-content .wcu-conteiner .wcu-box .wcu-icon {
        width: 66px;
        height: 66px;
    }
    .wcu-content .wcu-conteiner .wcu-box .wcu-icon i {
        font-size: 28px !important;
    }
    .wcu-content .wcu-conteiner .wcu-box .wcu-title {
        font-size: 19px;
    }
    .home-section .hsobs .hsob-title {
        font-size: 14px;
    }
    .home-section .hsobs .hsob-icon {
        font-size: 22px;
    }
    .home-tabs .col-lg-6 > img.img-fluid {
        margin-top: 24px;
    }
}
/* ===========================================================================
   How-It-Works "ใช้งานง่าย 4 ขั้น" — Direction A (Yellow-native)
   Rewritten 2026-04-11. Philosophy: brand-first, typography-forward.
   - No wave dividers, no white bg (section inherits yellow body color)
   - Title = massive dark typography (no decoration)
   - 4 individual dark cards floating on yellow
   - Massive outline numeric watermarks behind each card (Linear/Framer style)
   =========================================================================== */

/* ---------- Section 1: Title area ---------- */
/* Neutralize any background on .how-pworks — let yellow body show through */
.how-pworks {
    background: transparent !important;
    overflow: visible !important;
    padding: 110px 0 40px !important;
    position: relative;
}

.how-pworks .bg-1,
.how-pworks::before,
.how-pworks::after,
.how-pworks .hpw-content::before,
.how-pworks .hpw-content::after {
    content: none !important;
    display: none !important;
    background: none !important;
}

.how-pworks .hpw-content {
    position: relative;
    z-index: 2;
    /* base rule sets padding: 180px 0 260px — kill it, let section padding handle spacing */
    padding: 0 !important;
}

.how-pworks .hpw-title {
    font-size: clamp(36px, 5.2vw, 64px) !important;
    font-weight: 900 !important;
    color: #0c151b !important; /* !important to defeat mobile @media overrides at line 2183 & 4335 */
    letter-spacing: -1.5px;
    line-height: 1.05;
    margin-bottom: 18px !important;
    text-shadow: none;
}

.how-pworks .hpw-text {
    max-width: 640px;
    margin: 0 auto;
    font-size: clamp(15px, 1.3vw, 18px) !important;
    font-weight: 500 !important;
    color: #0c151b !important;
    opacity: 0.72;
    line-height: 1.65 !important;
}

/* ---------- Section 2: Cards area (.how-pworks-bottom) ---------- */
/* Neutralize wave/fade on this section too */
.how-pworks-bottom {
    background: transparent !important;
    padding: 0 0 130px !important;
    position: relative;
}

.how-pworks-bottom::before,
.how-pworks-bottom::after {
    content: none !important;
    display: none !important;
    background: none !important;
}

/* ---------- Remove old dark wrapper — cards stand alone ---------- */
.hpw-box {
    margin-top: 0 !important;
    padding: 0;
    background: transparent !important;
    position: relative;
}

.hpw-box::before,
.hpw-box::after {
    content: none !important;
    display: none !important;
    background: none !important;
}

.hpw-box .hpw-box-r {
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    position: relative;
    z-index: 2;
}

.hpw-box .hpw-box-r::before,
.hpw-box .hpw-box-r::after {
    content: none !important;
    display: none !important;
    background: none !important;
}

/* Row gutters + equal-height cards */
.hpw-box .hpw-box-r > .row {
    --bs-gutter-x: 28px;
    --bs-gutter-y: 28px;
    align-items: stretch;
}

.hpw-box .hpw-box-r > .row > [class*="col-"] {
    position: relative;
    display: flex;
}

/* Kill the old horizontal dashed connector */
.hpw-box .hpw-box-r > .row > [class*="col-"]:not(:last-child)::after {
    content: none !important;
    display: none !important;
    background: none !important;
}

/* ---------- Individual dark cards floating on yellow ---------- */
.hpw-item {
    position: relative;
    width: 100%;
    text-align: left;
    padding: 140px 28px 34px;
    background: linear-gradient(180deg, #101f28 0%, #0a1218 100%);
    border: 1px solid rgba(255, 193, 7, 0.12);
    border-radius: 22px;
    overflow: hidden;
    min-height: 340px;
    box-shadow: 0 20px 40px rgba(12, 21, 27, 0.2),
                0 4px 12px rgba(12, 21, 27, 0.12),
                inset 0 1px 0 rgba(255, 255, 255, 0.04);
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
                border-color 0.5s ease,
                box-shadow 0.5s ease;
    margin: 0 !important;
    z-index: 2;
}

.hpw-item::after,
.hpw-item::before {
    content: none !important;
    display: none !important;
}

.hpw-item:hover {
    transform: translateY(-8px);
    border-color: rgba(255, 193, 7, 0.38);
    box-shadow: 0 32px 64px rgba(12, 21, 27, 0.28),
                0 8px 20px rgba(12, 21, 27, 0.16),
                0 0 0 1px rgba(255, 193, 7, 0.18),
                inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

/* ---------- Watermark number (outline style) ---------- */
.hpw-item .hpw-num {
    position: absolute !important;
    top: -44px;
    right: -22px;
    z-index: 1;
    margin: 0 !important;
    display: block;
    pointer-events: none;
    line-height: 0.75;
}

.hpw-item .hpw-num::before,
.hpw-item .hpw-num::after {
    content: none !important;
    display: none !important;
    background: none !important;
}

.hpw-item .hpw-num span {
    display: block !important;
    height: auto !important;
    width: auto !important;
    background: none !important;
    background-color: transparent !important;
    border-radius: 0 !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    font-family: 'Inter', -apple-system, 'Noto Sans Thai', sans-serif;
    font-size: 220px !important;
    font-weight: 900 !important;
    line-height: 0.75 !important;
    letter-spacing: -10px;
    color: transparent !important;
    -webkit-text-stroke: 2px rgba(255, 193, 7, 0.2);
    /* `text-stroke` is non-standard; -webkit-text-stroke covers Safari/Chrome
     * and Firefox 116+ ships unprefixed but still labels it experimental. */
    transform: none !important;
    transition: -webkit-text-stroke-color 0.5s ease;
}

.hpw-item:hover .hpw-num span {
    -webkit-text-stroke-color: rgba(255, 193, 7, 0.38);
    transform: none !important;
    box-shadow: none !important;
}

/* ---------- Icon (top-left, left-aligned) ---------- */
.hpw-item .hpw-icon {
    position: relative;
    z-index: 2;
    height: 58px;
    margin: 0 0 26px !important;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.hpw-item:hover .hpw-icon {
    transform: scale(1.08);
}

.hpw-item .hpw-icon img {
    max-height: 54px;
    filter: brightness(0) saturate(100%) invert(83%) sepia(58%) saturate(653%) hue-rotate(1deg) brightness(103%) contrast(106%)
            drop-shadow(0 6px 18px rgba(255, 193, 7, 0.35));
    transition: filter 0.5s ease;
}

.hpw-item:hover .hpw-icon img {
    filter: brightness(0) saturate(100%) invert(93%) sepia(41%) saturate(1352%) hue-rotate(0deg) brightness(107%) contrast(104%)
            drop-shadow(0 8px 22px rgba(255, 193, 7, 0.55));
}

/* ---------- Typography (left-aligned editorial style) ---------- */
.hpw-item .hpw-title {
    position: relative;
    z-index: 2;
    margin: 0 !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    letter-spacing: -0.3px;
    line-height: 1.3;
    text-align: left;
}

.hpw-item .hpw-text {
    position: relative;
    z-index: 2;
    margin: 10px 0 0 !important;
    max-width: none !important;
    font-size: 14px;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.62);
    text-align: left;
    transition: color 0.5s ease;
}

.hpw-item:hover .hpw-text {
    color: rgba(255, 255, 255, 0.78);
}

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
    .how-pworks {
        padding: 80px 0 30px !important;
    }
    .how-pworks-bottom {
        padding: 0 0 90px !important;
    }
    .hpw-item {
        padding: 120px 24px 30px;
        min-height: 310px;
    }
    .hpw-item .hpw-num span {
        font-size: 180px !important;
        letter-spacing: -8px;
    }
    .hpw-item .hpw-num {
        top: -36px;
        right: -18px;
    }
}

@media (max-width: 768px) {
    .how-pworks {
        padding: 60px 0 24px !important;
    }
    .how-pworks-bottom {
        padding: 0 0 70px !important;
    }
    .hpw-item {
        padding: 110px 22px 28px;
        min-height: 280px;
        border-radius: 20px;
    }
    .hpw-item .hpw-num span {
        font-size: 160px !important;
    }
    .hpw-item .hpw-title {
        font-size: 20px !important;
    }
}

/* ---------- "10 ปี" Hero Section (row containing .hl-btns) ---------- */
/* Targets the specific .home-section row that hosts the .hl-btns CTA pair.
   Uses :has() so we don't need new DOM classes. Scope is tight: must contain
   .hl-btns which only appears in this "why we've lasted 10 years" section. */

.home-section:has(.hl-btns) {
    padding: 80px 0;
}

.home-section:has(.hl-btns) > .container > .row {
    position: relative;
    margin-left: 0;
    margin-right: 0;
    padding: 50px 56px;
    background: radial-gradient(ellipse at 85% 30%, #22394a 0%, #0f1d25 65%),
                linear-gradient(165deg, #18303f, #0a1218);
    background-blend-mode: screen;
    border: 1px solid rgba(255, 193, 7, 0.18);
    border-radius: 32px;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35),
                inset 0 1px 0 rgba(255, 255, 255, 0.06);
    overflow: hidden;
}

/* Ambient glow orb behind image */
.home-section:has(.hl-btns) > .container > .row::before {
    content: '';
    position: absolute;
    top: -20%;
    right: -10%;
    width: 520px;
    height: 520px;
    background: radial-gradient(circle, rgba(255, 193, 7, 0.2) 0%, rgba(255, 193, 7, 0.06) 40%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
    z-index: 1;
}

/* Top gradient highlight line */
.home-section:has(.hl-btns) > .container > .row::after {
    content: '';
    position: absolute;
    top: 0;
    left: 10%;
    right: 10%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 193, 7, 0.6), transparent);
    pointer-events: none;
}

.home-section:has(.hl-btns) .col-lg-6 {
    position: relative;
    z-index: 2;
}

/* Reset old py/my padding on desktop — we handle spacing via row padding now */
.home-section:has(.hl-btns) > .container > .row > .col-lg-6.py-5.my-5 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Crown badge — circular gradient badge */
.home-section:has(.hl-btns) .hsl-title {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 4px;
}

.home-section:has(.hl-btns) .hsl-title > .row {
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 0;
    width: 100%;
}

.home-section:has(.hl-btns) .hsl-title > .row > [class*="col-"] {
    padding: 0;
    flex: 0 0 auto;
    width: auto;
}

.home-section:has(.hl-btns) .hsl-title > .row > .col-md:last-child,
.home-section:has(.hl-btns) .hsl-title > .row > .col:last-child {
    flex: 1 1 auto;
}

.home-section:has(.hl-btns) .hsl-title-icon {
    width: 72px !important;
    height: 72px !important;
    border-radius: 22px !important;
    background: linear-gradient(135deg, #ffc107 0%, #ff9500 100%) !important;
    box-shadow: 0 14px 34px rgba(255, 193, 7, 0.4),
                inset 0 2px 0 rgba(255, 255, 255, 0.3),
                inset 0 -3px 6px rgba(0, 0, 0, 0.15) !important;
    font-size: 34px !important;
    color: #0c151b !important;
    position: relative;
}

.home-section:has(.hl-btns) .hsl-title-icon::after {
    content: '';
    position: absolute;
    inset: -6px;
    border-radius: 26px;
    background: radial-gradient(circle, rgba(255, 193, 7, 0.4) 0%, rgba(255, 193, 7, 0.1) 60%, transparent 100%);
    z-index: -1;
    filter: blur(12px);
}

.home-section:has(.hl-btns) .hsl-title h2 {
    font-size: 38px !important;
    font-weight: 800;
    line-height: 1.2;
    color: #ffffff;
    letter-spacing: -0.6px;
    margin: 0;
}

/* Title year highlight */
.home-section:has(.hl-btns) .hsl-title h2 {
    background: linear-gradient(135deg, #ffffff 0%, #ffffff 60%, #ffc107 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.home-section:has(.hl-btns) .hsl-text {
    font-size: 17px;
    line-height: 1.8;
    color: #B8C7D2;
    max-width: 520px;
    margin: 26px 0 8px;
    font-weight: 400;
}

/* Stats chip row — injected via pseudo element would be ideal, but we'll keep
   DOM as-is and add a subtle decorative badge via ::before on .hl-btns */
.home-section:has(.hl-btns) .hl-btns {
    position: relative;
    margin-top: 36px;
    gap: 14px;
    flex-wrap: wrap;
}

.home-section:has(.hl-btns) .hl-btns > a {
    margin: 0 !important;
}

/* Primary CTA: solid yellow */
.home-section:has(.hl-btns) .btn-hero-primary {
    padding: 16px 34px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    background: var(--lk-accent-yellow) !important;
    background-color: var(--lk-accent-yellow) !important;
    border: none !important;
    border-color: transparent !important;
    color: #0c151b !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 30px rgba(255, 193, 7, 0.3),
                inset 0 2px 0 rgba(255, 255, 255, 0.25) !important;
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
                box-shadow 0.35s ease !important;
}

.home-section:has(.hl-btns) .btn-hero-primary:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 18px 44px rgba(255, 193, 7, 0.5),
                inset 0 2px 0 rgba(255, 255, 255, 0.3) !important;
    color: #0c151b !important;
}

/* Secondary CTA: transparent outline */
.home-section:has(.hl-btns) .signin-hero-dark-btn {
    padding: 16px 34px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    background: rgba(255, 255, 255, 0.04) !important;
    background-color: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #ffffff !important;
    border-radius: 14px !important;
    transition: all 0.35s ease !important;
}

.home-section:has(.hl-btns) .signin-hero-dark-btn:hover {
    background: rgba(255, 193, 7, 0.1) !important;
    border-color: rgba(255, 193, 7, 0.4) !important;
    color: #ffc107 !important;
    transform: translateY(-3px);
}

/* Right-side image: glow + subtle float animation */
.home-section:has(.hl-btns) .col-lg-6 > img.img-fluid {
    filter: drop-shadow(0 30px 50px rgba(255, 193, 7, 0.25))
            drop-shadow(0 20px 40px rgba(0, 0, 0, 0.35));
    animation: hero10yFloat 6s ease-in-out infinite;
}

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

/* Responsive tweaks */
@media (max-width: 991px) {
    .home-section:has(.hl-btns) {
        padding: 50px 0;
    }
    .home-section:has(.hl-btns) > .container > .row {
        padding: 36px 28px;
        border-radius: 24px;
    }
    .home-section:has(.hl-btns) .hsl-title h2 {
        font-size: 28px !important;
    }
    .home-section:has(.hl-btns) .hsl-title-icon {
        width: 60px !important;
        height: 60px !important;
        font-size: 28px !important;
    }
    .home-section:has(.hl-btns) .hsl-text {
        font-size: 15px;
    }
}

@media (max-width: 768px) {
    .home-section:has(.hl-btns) > .container > .row {
        padding: 32px 22px;
    }
    .home-section:has(.hl-btns) .hl-btns {
        flex-direction: column;
    }
    .home-section:has(.hl-btns) .hl-btns > a {
        width: 100%;
        text-align: center;
    }
}

/* ---------- how-pworks BG transition REMOVED 2026-04-11 ----------
   Removed: SVG wave dividers (top + bottom), white gradient canvas,
   aurora blobs, dated 2017-era wave transition. Replaced by Direction A
   yellow-native styling (see block at ~line 22186). The section now
   inherits the yellow body color directly — no divider needed. */

/* Keep scroll-reveal on title + cards (still useful in Direction A) */
@supports (animation-timeline: view()) {
    .how-pworks .hpw-title,
    .how-pworks .hpw-text {
        animation: hpwFadeUp linear both;
        animation-timeline: view();
        animation-range: entry 0% entry 40%;
    }

    .hpw-item {
        animation: hpwFadeUp linear both;
        animation-timeline: view();
        animation-range: entry 5% entry 50%;
    }
}

@keyframes hpwFadeUp {
    from { opacity: 0; transform: translateY(28px); }
    to   { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    .how-pworks .hpw-title,
    .how-pworks .hpw-text,
    .hpw-item {
        animation: none;
    }
}

/* ---------- "ครบจบ ทุกโซเชียล" 8 Service Cards (.stepbox .sboxes) ---------- */
/* Overrides old .stepbox rules (lines ~8569-8631). Scope: .stepbox class */

.stepbox {
    position: relative;
}

.stepbox > .row {
    align-items: stretch !important;
    row-gap: var(--lk-space-5);
}

.stepbox > .row > [class*="col-"] {
    display: flex;
}

.stepbox .sboxes {
    position: relative;
    margin: 0 !important;
    width: 100%;
    display: flex;
}

.stepbox .sboxes .barea {
    background: var(--lk-gradient-card) !important;
    border: 1px solid var(--lk-border-card) !important;
    border-radius: var(--lk-radius-lg) !important;
    box-shadow: var(--lk-shadow-md);
    padding: 0 !important;
    position: relative;
    overflow: hidden;
    width: 100%;
    display: flex;
    flex-direction: column;
    transition: transform var(--lk-dur-base) var(--lk-ease),
                border-color var(--lk-dur-base) ease,
                box-shadow var(--lk-dur-base) ease,
                background var(--lk-dur-base) ease;
}

/* Top highlight line */
.stepbox .sboxes .barea::before {
    content: '';
    position: absolute;
    top: 0;
    left: 15%;
    right: 15%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--lk-accent-yellow), transparent);
    opacity: 0.55;
    z-index: 2;
}

/* Kill old yellow hover and ugly invert filter */
.stepbox .sboxes:hover .barea {
    background: var(--lk-gradient-card-hi) !important;
    transform: translateY(-8px);
    border-color: var(--lk-border-card-hover) !important;
    box-shadow: var(--lk-shadow-lg), var(--lk-glow-green);
    cursor: pointer;
}

.stepbox .sboxes:hover .barea .sbicon i {
    filter: none !important;
    -webkit-filter: none !important;
}

/* Content padding */
.stepbox .sboxes .barea .sbbody {
    padding: var(--lk-space-6) var(--lk-space-5) !important;
    height: auto !important;
    min-height: 220px;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 3;
}

/* Flex row with icon + title */
.stepbox .sboxes .barea .sbbody > .row {
    margin: 0 !important;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
}

/* Icon column override (kill bootstrap col-2 sizing — force 50x50 square badge).
   Base bg is yellow fallback; nth-child platform rules override per platform. */
.stepbox .sboxes .barea .sbbody > .row > .sbicon.col-2,
.stepbox .sboxes .barea .sbbody > .row > .col-2.sbicon,
.stepbox .sboxes .barea .sbicon {
    flex: 0 0 50px !important;
    width: 50px !important;
    height: 50px !important;
    max-width: 50px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ffc107;
    border-radius: var(--lk-radius-sm);
    box-shadow: 0 8px 22px rgba(255, 193, 7, 0.35),
                inset 0 2px 0 rgba(255, 255, 255, 0.25);
    transition: transform var(--lk-dur-base) var(--lk-ease),
                box-shadow var(--lk-dur-base) ease;
    aspect-ratio: 1 / 1;
}

.stepbox .sboxes:hover .sbicon {
    transform: rotate(-6deg) scale(1.06);
}

.stepbox .sboxes .barea .sbicon i {
    font-size: 22px !important;
    color: #ffffff !important;
    line-height: 1;
    transition: none !important;
}

/* Title column override */
.stepbox .sboxes .barea .sbbody > .row > .sbtitle.col-10,
.stepbox .sboxes .barea .sbbody > .row > .col-10.sbtitle {
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
}

.stepbox .sboxes .barea .sbtitle {
    margin: 0 !important;
    font-size: var(--lk-text-xl);
    font-weight: 700;
    color: var(--lk-text-primary);
    line-height: 1.3;
    letter-spacing: -0.2px;
}

/* Description text below the row */
.stepbox .sboxes .barea .sbbody .sbtext {
    width: 100%;
    padding: 0 !important;
    margin: 16px 0 0 !important;
    font-size: var(--lk-text-sm) !important;
    color: var(--lk-text-muted) !important;
    line-height: 1.7;
    transition: color var(--lk-dur-base) ease;
}

.stepbox .sboxes:hover .barea .sbtext {
    color: var(--lk-text-secondary) !important;
}

/* ===== Platform-specific icon badge gradients + hover glow =====
   NOTE: !important required because the icon base rule has specificity 0,6,0
   (via .sbicon.col-2 override). These nth-child rules are only 0,4,0. */

/* Facebook */
.stepbox > .row > [class*="col-"]:nth-child(1) .sbicon {
    background: linear-gradient(135deg, #1877F2 0%, #4293F5 100%) !important;
    box-shadow: 0 8px 22px rgba(24, 119, 242, 0.4),
                inset 0 2px 0 rgba(255, 255, 255, 0.25) !important;
}
.stepbox > .row > [class*="col-"]:nth-child(1) .sboxes:hover .barea {
    box-shadow: var(--lk-shadow-lg), 0 0 60px rgba(24, 119, 242, 0.25);
}

/* YouTube */
.stepbox > .row > [class*="col-"]:nth-child(2) .sbicon {
    background: linear-gradient(135deg, #FF0000 0%, #FF5454 100%) !important;
    box-shadow: 0 8px 22px rgba(255, 0, 0, 0.4),
                inset 0 2px 0 rgba(255, 255, 255, 0.25) !important;
}
.stepbox > .row > [class*="col-"]:nth-child(2) .sboxes:hover .barea {
    box-shadow: var(--lk-shadow-lg), 0 0 60px rgba(255, 0, 0, 0.22);
}

/* Instagram — signature gradient */
.stepbox > .row > [class*="col-"]:nth-child(3) .sbicon {
    background: linear-gradient(135deg, #833ab4 0%, #fd1d1d 50%, #fcb045 100%) !important;
    box-shadow: 0 8px 22px rgba(253, 29, 29, 0.35),
                inset 0 2px 0 rgba(255, 255, 255, 0.25) !important;
}
.stepbox > .row > [class*="col-"]:nth-child(3) .sboxes:hover .barea {
    box-shadow: var(--lk-shadow-lg), 0 0 60px rgba(253, 29, 29, 0.22);
}

/* X / Twitter */
.stepbox > .row > [class*="col-"]:nth-child(4) .sbicon {
    background: linear-gradient(135deg, #1DA1F2 0%, #0d8bd9 100%) !important;
    box-shadow: 0 8px 22px rgba(29, 161, 242, 0.4),
                inset 0 2px 0 rgba(255, 255, 255, 0.25) !important;
}
.stepbox > .row > [class*="col-"]:nth-child(4) .sboxes:hover .barea {
    box-shadow: var(--lk-shadow-lg), 0 0 60px rgba(29, 161, 242, 0.22);
}

/* TikTok */
.stepbox > .row > [class*="col-"]:nth-child(5) .sbicon {
    background: linear-gradient(135deg, #25F4EE 0%, #FE2C55 100%) !important;
    box-shadow: 0 8px 22px rgba(254, 44, 85, 0.38),
                inset 0 2px 0 rgba(255, 255, 255, 0.25) !important;
}
.stepbox > .row > [class*="col-"]:nth-child(5) .sboxes:hover .barea {
    box-shadow: var(--lk-shadow-lg), 0 0 60px rgba(254, 44, 85, 0.22);
}

/* Telegram */
.stepbox > .row > [class*="col-"]:nth-child(6) .sbicon {
    background: linear-gradient(135deg, #0088CC 0%, #00AEEF 100%) !important;
    box-shadow: 0 8px 22px rgba(0, 136, 204, 0.4),
                inset 0 2px 0 rgba(255, 255, 255, 0.25) !important;
}
.stepbox > .row > [class*="col-"]:nth-child(6) .sboxes:hover .barea {
    box-shadow: var(--lk-shadow-lg), 0 0 60px rgba(0, 136, 204, 0.22);
}

/* Snapchat */
.stepbox > .row > [class*="col-"]:nth-child(7) .sbicon {
    background: linear-gradient(135deg, #FFFC00 0%, #FFE800 100%) !important;
    box-shadow: 0 8px 22px rgba(255, 252, 0, 0.38),
                inset 0 2px 0 rgba(255, 255, 255, 0.35) !important;
}
.stepbox > .row > [class*="col-"]:nth-child(7) .sbicon i {
    color: #0c151b !important;  /* black icon on yellow badge */
}
.stepbox > .row > [class*="col-"]:nth-child(7) .sboxes:hover .barea {
    box-shadow: var(--lk-shadow-lg), 0 0 60px rgba(255, 252, 0, 0.25);
}

/* Spotify */
.stepbox > .row > [class*="col-"]:nth-child(8) .sbicon {
    background: linear-gradient(135deg, #1DB954 0%, #1ed760 100%) !important;
    box-shadow: 0 8px 22px rgba(29, 185, 84, 0.4),
                inset 0 2px 0 rgba(255, 255, 255, 0.25) !important;
}
.stepbox > .row > [class*="col-"]:nth-child(8) .sboxes:hover .barea {
    box-shadow: var(--lk-shadow-lg), 0 0 60px rgba(29, 185, 84, 0.22);
}

/* Responsive */
@media (max-width: 768px) {
    .stepbox .sboxes .barea .sbbody {
        padding: var(--lk-space-5) var(--lk-space-4) !important;
        min-height: 180px;
    }
    .stepbox .sboxes .barea .sbbody > .row > .sbicon.col-2,
    .stepbox .sboxes .barea .sbbody > .row > .col-2.sbicon,
    .stepbox .sboxes .barea .sbicon {
        flex: 0 0 44px !important;
        width: 44px !important;
        height: 44px !important;
        max-width: 44px !important;
    }
    .stepbox .sboxes .barea .sbicon i {
        font-size: 20px !important;
    }
    .stepbox .sboxes .barea .sbtitle {
        font-size: var(--lk-text-lg);
    }
}

/* ---------- Stats Bar (.hfs-content) — just below hero ---------- */
/* Wrap the 3 stats + CTA into a single glass dark container */

.hfs-content {
    position: relative;
    padding: var(--lk-space-8) var(--lk-space-10);
    background: var(--lk-gradient-card);
    border: 1px solid var(--lk-border-card);
    border-radius: var(--lk-radius-xl);
    box-shadow: var(--lk-shadow-lg);
    overflow: hidden;
}

/* Top gradient highlight */
.hfs-content::before {
    content: '';
    position: absolute;
    top: 0;
    left: 12%;
    right: 12%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--lk-accent-yellow), transparent);
    opacity: 0.6;
}

/* Ambient glow orb */
.hfs-content::after {
    content: '';
    position: absolute;
    top: -40%;
    right: 15%;
    width: 420px;
    height: 420px;
    background: radial-gradient(circle, rgba(255, 193, 7, 0.1) 0%, transparent 60%);
    border-radius: 50%;
    pointer-events: none;
    filter: blur(40px);
}

.hfs-content > .row {
    position: relative;
    z-index: 2;
    align-items: center;
}

.hfs-content .hfs-item {
    position: relative;
    margin: var(--lk-space-3) 0;
    padding-right: var(--lk-space-6);
}

/* Vertical divider between stats (desktop only) */
.hfs-content > .row > .col-lg-3:not(:last-child) .hfs-item::after {
    content: '';
    position: absolute;
    right: 0;
    top: 15%;
    bottom: 15%;
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(255, 193, 7, 0.25), transparent);
}

/* Big gradient stat number */
.hfs-content .hfs-item .hfs-count {
    font-size: var(--lk-text-4xl) !important;
    font-weight: 800 !important;
    letter-spacing: -0.8px;
    line-height: 1.1;
    background: linear-gradient(135deg, #ffffff 0%, var(--lk-accent-yellow) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 6px;
}

/* Label under the number */
.hfs-content .hfs-item .hfs-title {
    font-size: var(--lk-text-sm) !important;
    font-weight: 500 !important;
    color: var(--lk-text-muted) !important;
    letter-spacing: 0.3px;
    text-transform: none;
}

/* CTA button inside stats bar — dark with yellow hover */
.hfs-content .signin-hero-dark-btn {
    padding: 16px 28px !important;
    font-size: var(--lk-text-base) !important;
    font-weight: 700 !important;
    background: #0c151b !important;
    background-color: #0c151b !important;
    border: 1px solid rgba(255, 193, 7, 0.35) !important;
    color: var(--lk-accent-yellow) !important;
    border-radius: var(--lk-radius-sm) !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.3) !important;
    transition: transform var(--lk-dur-fast) var(--lk-ease),
                box-shadow var(--lk-dur-fast) ease,
                background var(--lk-dur-fast) ease !important;
}

.hfs-content .signin-hero-dark-btn:hover {
    transform: translateY(-3px) scale(1.02);
    background: var(--lk-accent-yellow) !important;
    border-color: var(--lk-accent-yellow) !important;
    color: #0c151b !important;
    box-shadow: 0 16px 40px rgba(255, 193, 7, 0.45) !important;
}

/* Responsive */
@media (max-width: 991px) {
    .hfs-content {
        padding: var(--lk-space-6) var(--lk-space-5);
    }
    .hfs-content .hfs-item .hfs-count {
        font-size: var(--lk-text-3xl) !important;
    }
    .hfs-content > .row > .col-lg-3:not(:last-child) .hfs-item::after {
        display: none;
    }
    .hfs-content .hfs-item {
        text-align: center;
        padding-right: 0;
    }
}

/* ---------- Comparison Table (.signin-comparison-table) ---------- */
/* Convert light table to dark glass for consistency with rest of page */

.signin-comparison-section .table-responsive {
    position: relative;
    padding: var(--lk-space-4);
    background: var(--lk-gradient-card);
    border: 1px solid var(--lk-border-card);
    border-radius: var(--lk-radius-xl);
    box-shadow: var(--lk-shadow-lg);
    overflow: hidden;
}

.signin-comparison-section .table-responsive::before {
    content: '';
    position: absolute;
    top: 0;
    left: 12%;
    right: 12%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--lk-accent-yellow), transparent);
    opacity: 0.6;
    z-index: 1;
}

.signin-comparison-table {
    background: transparent !important;
    border-radius: var(--lk-radius-lg) !important;
    box-shadow: none !important;
    overflow: visible !important;
    margin: 0 !important;
    position: relative;
    z-index: 2;
}

/* ===== Header row ===== */
.signin-comparison-table thead tr {
    background: transparent !important;
}

.signin-comparison-table th {
    background: transparent !important;
    border: none !important;
    padding: var(--lk-space-5) var(--lk-space-4) !important;
    font-size: var(--lk-text-base) !important;
    font-weight: 700 !important;
    text-align: center !important;
    position: relative;
}

.signin-comparison-table th.col-feature {
    color: var(--lk-text-secondary) !important;
    text-align: left !important;
    padding-left: var(--lk-space-6) !important;
}

.signin-comparison-table th.col-likester {
    background: #0c151b !important;
    color: var(--lk-accent-yellow) !important;
    border-radius: var(--lk-radius-sm) var(--lk-radius-sm) 0 0 !important;
    position: relative;
    box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.35),
                inset 0 1px 0 rgba(255, 193, 7, 0.25);
    border: 1px solid rgba(255, 193, 7, 0.35) !important;
    border-bottom: none !important;
}

.signin-comparison-table th.col-likester .signin-cta-pill-icon {
    color: var(--lk-accent-yellow);
    margin-right: 6px;
}

.signin-comparison-table th.col-competitor {
    color: var(--lk-text-muted) !important;
    font-weight: 600 !important;
}

.signin-comparison-table .best-badge {
    position: absolute;
    top: 8px;
    right: 12px;
    background: var(--lk-accent-yellow) !important;
    color: #0c151b !important;
    padding: 3px 10px !important;
    border-radius: var(--lk-radius-full) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    box-shadow: 0 3px 10px rgba(255, 193, 7, 0.35);
}

/* ===== Body rows ===== */
.signin-comparison-table tbody tr {
    border: none !important;
    transition: background var(--lk-dur-fast) ease;
}

.signin-comparison-table tbody tr:hover {
    background: rgba(255, 193, 7, 0.04);
}

.signin-comparison-table tbody tr + tr td {
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
}

.signin-comparison-table td {
    padding: var(--lk-space-5) var(--lk-space-4) !important;
    border: none !important;
    background: transparent !important;
    vertical-align: middle !important;
}

.signin-comparison-table td.feature-cell {
    color: var(--lk-text-primary) !important;
    font-size: var(--lk-text-base) !important;
    font-weight: 600 !important;
    background: transparent !important;
    padding-left: var(--lk-space-6) !important;
}

.signin-comparison-table td.feature-cell i {
    color: var(--lk-accent-yellow) !important;
    margin-right: 10px;
    font-size: var(--lk-text-base);
    width: 18px;
    text-align: center;
}

.signin-comparison-table td.likester-cell {
    background: rgba(255, 193, 7, 0.08) !important;
    color: var(--lk-accent-yellow) !important;
    font-weight: 800 !important;
    font-size: var(--lk-text-lg) !important;
    text-align: center !important;
    border-left: 1px solid rgba(255, 193, 7, 0.2) !important;
    border-right: 1px solid rgba(255, 193, 7, 0.2) !important;
}

.signin-comparison-table tbody tr:last-child td.likester-cell {
    border-bottom: 1px solid rgba(255, 193, 7, 0.2) !important;
    border-radius: 0 0 var(--lk-radius-sm) var(--lk-radius-sm);
}

.signin-comparison-table td.likester-cell .fa-check-circle {
    color: var(--lk-accent-green) !important;
    margin-right: 4px;
    /* subtle glow only — check icon is a functional "OK" indicator */
    filter: drop-shadow(0 0 4px rgba(0, 175, 76, 0.25));
}

.signin-comparison-table td.likester-cell .fa-star {
    color: var(--lk-accent-yellow) !important;
    margin-left: 4px;
    filter: drop-shadow(0 0 6px rgba(255, 193, 7, 0.5));
}

.signin-comparison-table td.competitor-cell {
    color: var(--lk-text-muted) !important;
    font-weight: 600 !important;
    font-size: var(--lk-text-base) !important;
    text-align: center !important;
}

.signin-comparison-table td.competitor-cell.text-danger {
    color: #ff6b6b !important;
}

.signin-comparison-table td.competitor-cell.text-danger .fa-times-circle {
    color: #ff6b6b !important;
    margin-right: 4px;
}

.signin-comparison-table td.competitor-cell .fa-check-circle {
    color: rgba(255, 255, 255, 0.35) !important;
}

/* Section background: dark glass on yellow section body */
.signin-comparison-section {
    background: #ffc107 !important;
}

/* ---------- FAQ Cards (.sp-faq-card) ---------- */
/* Keep yellow section bg, convert cards to dark glass for coherence */

.signin-faq-section .sp-faq-card {
    background: var(--lk-gradient-card) !important;
    border: 1px solid var(--lk-border-card) !important;
    border-radius: var(--lk-radius-lg) !important;
    padding: var(--lk-space-6) var(--lk-space-6) !important;
    box-shadow: var(--lk-shadow-md) !important;
    height: 100%;
    position: relative;
    overflow: hidden;
    transition: transform var(--lk-dur-base) var(--lk-ease),
                border-color var(--lk-dur-base) ease,
                box-shadow var(--lk-dur-base) ease;
}

.signin-faq-section .sp-faq-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 15%;
    right: 15%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--lk-accent-yellow), transparent);
    opacity: 0.55;
}

.signin-faq-section .sp-faq-card:hover {
    transform: translateY(-6px);
    border-color: var(--lk-border-card-hover) !important;
    box-shadow: var(--lk-shadow-lg), 0 0 40px rgba(255, 193, 7, 0.1) !important;
}

.signin-faq-section .sp-faq-card h3 {
    color: var(--lk-text-primary) !important;
    font-size: var(--lk-text-lg) !important;
    font-weight: 700 !important;
    margin-bottom: var(--lk-space-4) !important;
    line-height: 1.4 !important;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.signin-faq-section .sp-faq-card h3 i {
    color: #0c151b !important;
    margin-right: 0 !important;
    font-size: 16px !important;
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--lk-accent-yellow);
    border-radius: var(--lk-radius-sm);
    box-shadow: 0 4px 14px rgba(255, 193, 7, 0.35),
                inset 0 1px 0 rgba(255, 255, 255, 0.25);
    flex-shrink: 0;
}

.signin-faq-section .sp-faq-card p {
    color: var(--lk-text-muted) !important;
    font-size: var(--lk-text-sm) !important;
    line-height: 1.75 !important;
    margin: 0 !important;
}

.signin-faq-section .sp-faq-card p a.text-gold {
    color: var(--lk-accent-yellow) !important;
    text-decoration: underline;
    text-decoration-color: rgba(255, 193, 7, 0.35);
    text-underline-offset: 3px;
    transition: text-decoration-color var(--lk-dur-fast) ease;
}

.signin-faq-section .sp-faq-card p a.text-gold:hover {
    text-decoration-color: var(--lk-accent-yellow);
}

/* Bottom CTA chips inside FAQ section */
.signin-faq-section .signin-bottom-cta {
    position: relative;
}

.signin-faq-section .signin-bottom-cta h3 {
    color: #0c151b;
    font-weight: 800;
    font-size: var(--lk-text-2xl);
    margin-bottom: var(--lk-space-5);
}

/* ---------- Blog Cards (.signin-blog-card) ---------- */

.signin-blog-section .signin-blog-card {
    background: var(--lk-gradient-card) !important;
    border: 1px solid var(--lk-border-card) !important;
    border-radius: var(--lk-radius-lg) !important;
    box-shadow: var(--lk-shadow-md) !important;
    overflow: hidden !important;
    height: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: transform var(--lk-dur-base) var(--lk-ease),
                border-color var(--lk-dur-base) ease,
                box-shadow var(--lk-dur-base) ease !important;
}

.signin-blog-section .signin-blog-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 15%;
    right: 15%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--lk-accent-yellow), transparent);
    opacity: 0.55;
    z-index: 3;
}

.signin-blog-section .signin-blog-card:hover {
    transform: translateY(-8px);
    border-color: var(--lk-border-card-hover) !important;
    box-shadow: var(--lk-shadow-lg), 0 0 50px rgba(255, 193, 7, 0.12) !important;
}

.signin-blog-section .signin-blog-thumb,
.signin-blog-section .signin-blog-grad-gold,
.signin-blog-section .signin-blog-grad-dark,
.signin-blog-section .signin-blog-grad-mixed {
    height: 200px;
    position: relative;
    overflow: hidden;
    transition: transform var(--lk-dur-base) var(--lk-ease);
}

.signin-blog-section .signin-blog-card:hover .signin-blog-thumb,
.signin-blog-section .signin-blog-card:hover [class^="signin-blog-grad-"] {
    transform: scale(1.05);
}

.signin-blog-section .signin-blog-thumb-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60%;
    background: linear-gradient(180deg, transparent 0%, rgba(10, 18, 24, 0.9) 100%);
}

.signin-blog-section .signin-blog-card-body {
    padding: var(--lk-space-6) var(--lk-space-5) !important;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

.signin-blog-section .signin-blog-card-body h3 {
    color: var(--lk-text-primary) !important;
    font-size: var(--lk-text-lg) !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    margin-bottom: var(--lk-space-3) !important;
    min-height: 50px;
}

.signin-blog-section .signin-blog-card-body p {
    color: var(--lk-text-muted) !important;
    font-size: var(--lk-text-sm) !important;
    line-height: 1.7 !important;
    margin-bottom: var(--lk-space-5) !important;
    flex: 1 1 auto;
}

.signin-blog-section .signin-blog-card-body .btn {
    align-self: flex-start;
    padding: 10px 22px !important;
    font-size: var(--lk-text-sm) !important;
    font-weight: 700 !important;
    background: transparent !important;
    border: 1px solid rgba(255, 193, 7, 0.3) !important;
    color: var(--lk-accent-yellow) !important;
    border-radius: var(--lk-radius-sm) !important;
    transition: all var(--lk-dur-fast) var(--lk-ease) !important;
}

.signin-blog-section .signin-blog-card-body .btn:hover {
    background: var(--lk-accent-yellow) !important;
    border-color: var(--lk-accent-yellow) !important;
    color: #0c151b !important;
    transform: translateX(4px);
}

/* ---------- Hero Section (.home-head) ---------- */
/* Scope: all pages with .home-head (signin, signin_lao, smm-panel-*, about-us,
   how-it-works, all Social Page landing pages) — shared hero styling */

/* Update badge "อัพเดตใหม่ล่าสุด 2025!" — modern glass pill */
.home-head .hh-left-badge {
    background: rgba(12, 21, 27, 0.85) !important;
    border: 1px solid rgba(255, 193, 7, 0.3);
    border-radius: var(--lk-radius-full) !important;
    padding-right: 18px !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25),
                0 0 0 1px rgba(255, 255, 255, 0.04) inset;
    transition: transform var(--lk-dur-fast) var(--lk-ease),
                box-shadow var(--lk-dur-fast) ease;
}

.home-head .hh-left-badge:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.3),
                0 0 30px rgba(255, 193, 7, 0.25);
}

.home-head .hh-left-badge .hhlb-icon {
    background: var(--lk-accent-yellow) !important;
    color: #0c151b !important;
    box-shadow: 0 6px 18px rgba(255, 193, 7, 0.35),
                inset 0 2px 0 rgba(255, 255, 255, 0.3);
}

.home-head .hh-left-badge .hhlb-text {
    color: var(--lk-accent-yellow) !important;
    font-size: var(--lk-text-sm) !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px;
}

/* Hero headline with gradient accent */
.home-head .hl-title {
    font-size: 54px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: -1px;
    margin-top: 36px !important;
    margin-bottom: 28px !important;
    color: #0c151b !important;
    text-shadow: 0 2px 6px rgba(255, 255, 255, 0.15);
}

/* Preserve yellow highlight span inside title (smm-panel-thailand) — but use
   orange for better contrast on yellow body */
.home-head .hl-title .text-gold {
    color: #d97706 !important;  /* amber-600, readable on yellow body */
    font-weight: 800;
}

.home-head .hl-title .text-gold .fa-star {
    color: var(--lk-accent-yellow) !important;
    filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.4));
}

.home-head .hl-text {
    color: rgba(12, 21, 27, 0.78) !important;
    font-size: var(--lk-text-lg) !important;
    line-height: 1.75 !important;
    font-weight: 500 !important;
    max-width: 560px;
}

/* Hero CTA buttons */
.home-head .hl-btns {
    margin-top: var(--lk-space-10) !important;
    gap: 14px;
    flex-wrap: wrap;
}

.home-head .hl-btns > a {
    margin: 0 !important;
}

.home-head .btn-hero-primary {
    padding: 18px 38px !important;
    font-size: var(--lk-text-base) !important;
    font-weight: 700 !important;
    background: linear-gradient(135deg, #0c151b 0%, #1a2a36 100%) !important;
    background-color: #0c151b !important;
    border: none !important;
    border-color: transparent !important;
    color: #ffffff !important;
    border-radius: var(--lk-radius-sm) !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35),
                inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
    transition: transform var(--lk-dur-fast) var(--lk-ease),
                box-shadow var(--lk-dur-fast) ease !important;
}

.home-head .btn-hero-primary:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.45),
                0 0 40px rgba(255, 193, 7, 0.3),
                inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
}

.home-head .btn-hero-outline {
    padding: 18px 38px !important;
    font-size: var(--lk-text-base) !important;
    font-weight: 700 !important;
    background: rgba(12, 21, 27, 0.06) !important;
    border: 1.5px solid rgba(12, 21, 27, 0.35) !important;
    color: #0c151b !important;
    border-radius: var(--lk-radius-sm) !important;
    transition: all var(--lk-dur-fast) var(--lk-ease) !important;
}

.home-head .btn-hero-outline:hover {
    background: #0c151b !important;
    border-color: #0c151b !important;
    color: #ffc107 !important;
    transform: translateY(-3px) scale(1.02);
}

/* Login box: subtle shadow only — let base CSS handle bg (supports light/dark mode) */
.home-head .logbox .logbox-content {
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.25) !important;
}

/* Subtle float animation on decorative bubble images (desktop only) */
@media (min-width: 992px) {
    .home-head .bub-items .bubi-0 { animation: bubFloat1 7s ease-in-out infinite; }
    .home-head .bub-items .bubi-1 { animation: bubFloat2 9s ease-in-out infinite; }
    .home-head .bub-items .bubi-2 { animation: bubFloat1 8s ease-in-out infinite 0.5s; }
    .home-head .bub-items .bubi-3 { animation: bubFloat2 10s ease-in-out infinite 1s; }
}

@keyframes bubFloat1 {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50%      { transform: translateY(-12px) rotate(-3deg); }
}

@keyframes bubFloat2 {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50%      { transform: translateY(14px) rotate(4deg); }
}

@media (prefers-reduced-motion: reduce) {
    .home-head .bub-items [class*="bubi-"] {
        animation: none !important;
    }
}

/* Responsive */
@media (max-width: 991px) {
    .home-head .hl-title {
        font-size: 36px !important;
        line-height: 1.25 !important;
    }
    .home-head .hl-text {
        font-size: var(--lk-text-base) !important;
    }
    .home-head .btn-hero-primary,
    .home-head .btn-hero-outline {
        padding: 14px 26px !important;
    }
}

@media (max-width: 768px) {
    .home-head .hl-title {
        font-size: 28px !important;
    }
    .home-head .hl-btns {
        flex-direction: column;
    }
    .home-head .hl-btns > a {
        width: 100%;
        text-align: center;
    }
}

/* ---------- CTA Pill buttons (signin-cta-pill-*) ---------- */
/* Used in FAQ bottom CTA, blog section, comparison CTA. Modernize with
   gradient + consistent radius using tokens. */

.signin-cta-pill-gold,
.signin-cta-pill-white,
.signin-cta-pill-outline,
.signin-pill-outline-sm {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    padding: 12px 22px !important;
    margin: 6px !important;
    font-size: var(--lk-text-sm) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    border-radius: var(--lk-radius-full) !important;
    transition: transform var(--lk-dur-fast) var(--lk-ease),
                box-shadow var(--lk-dur-fast) ease,
                background var(--lk-dur-fast) ease !important;
}

.signin-cta-pill-gold {
    background: var(--lk-accent-yellow) !important;
    color: #0c151b !important;
    box-shadow: 0 8px 22px rgba(255, 193, 7, 0.3),
                inset 0 2px 0 rgba(255, 255, 255, 0.25) !important;
}

.signin-cta-pill-gold:hover {
    transform: translateY(-3px);
    background: #0c151b !important;
    color: var(--lk-accent-yellow) !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.35) !important;
}

.signin-cta-pill-white {
    background: #ffffff !important;
    color: #0c151b !important;
    border: 1px solid rgba(12, 21, 27, 0.1) !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.12) !important;
}

.signin-cta-pill-white:hover {
    background: #0c151b !important;
    color: var(--lk-accent-yellow) !important;
    transform: translateY(-3px);
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.3) !important;
}

.signin-cta-pill-outline {
    background: transparent !important;
    border: 1.5px solid rgba(12, 21, 27, 0.4) !important;
    color: #0c151b !important;
}

.signin-cta-pill-outline:hover {
    background: #0c151b !important;
    color: var(--lk-accent-yellow) !important;
    border-color: #0c151b !important;
    transform: translateY(-3px);
}

/* .signin-pill-outline-sm lives inside .signin-featured-keywords which has
   a DARK gradient bg — must use white/yellow text, not dark. Scope it via
   parent to avoid contrast bugs in other contexts. */
.signin-featured-keywords .signin-pill-outline-sm,
.signin-pill-outline-sm {
    padding: 9px 18px !important;
    font-size: var(--lk-text-xs) !important;
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    color: #ffffff !important;
}

.signin-featured-keywords .signin-pill-outline-sm:hover,
.signin-pill-outline-sm:hover {
    background: var(--lk-accent-yellow) !important;
    border-color: var(--lk-accent-yellow) !important;
    color: #0c151b !important;
    transform: translateY(-2px);
}

/* "View all articles" dark button at bottom of featured-keywords (dark bg) */
.signin-view-all-btn {
    padding: 14px 34px !important;
    background: var(--lk-accent-yellow) !important;
    color: #0c151b !important;
    border: none !important;
    border-radius: var(--lk-radius-full) !important;
    font-weight: 700 !important;
    box-shadow: 0 10px 26px rgba(255, 193, 7, 0.35),
                inset 0 2px 0 rgba(255, 255, 255, 0.25) !important;
    transition: all var(--lk-dur-fast) var(--lk-ease) !important;
}

.signin-view-all-btn:hover {
    background: #ffffff !important;
    color: #0c151b !important;
    transform: translateY(-3px);
    box-shadow: 0 16px 36px rgba(255, 255, 255, 0.35) !important;
}

/* Tag chips "เพิ่มไลค์" "เพิ่มวิว" in FAQ bottom CTA (yellow body section).
   Both variants use DARK bg so they contrast against yellow body.
   Use subtle differentiation via border/shadow instead of bg color swap. */
.signin-tag-gold,
.signin-tag-dark {
    display: inline-block;
    padding: 10px 20px;
    margin: 4px;
    font-size: var(--lk-text-sm);
    font-weight: 700;
    border-radius: var(--lk-radius-full);
    background: #0c151b;
    color: var(--lk-accent-yellow);
    box-shadow: 0 6px 18px rgba(12, 21, 27, 0.25);
    transition: transform var(--lk-dur-fast) var(--lk-ease),
                box-shadow var(--lk-dur-fast) ease;
}

.signin-tag-gold {
    /* Primary emphasis: yellow border ring */
    border: 2px solid var(--lk-accent-yellow);
    box-shadow: 0 6px 18px rgba(255, 193, 7, 0.35),
                inset 0 1px 0 rgba(255, 193, 7, 0.2);
}

.signin-tag-dark {
    /* Secondary: subtle outline only */
    border: 1px solid rgba(255, 193, 7, 0.25);
}

.signin-tag-gold:hover,
.signin-tag-dark:hover {
    transform: translateY(-2px) scale(1.05);
    background: var(--lk-accent-yellow);
    color: #0c151b;
    border-color: var(--lk-accent-yellow);
}

/* Final CTA button "เริ่มต้นเพียง 1 บาท!" in .signin-bottom-cta
   (yellow section body — needs dark button to stand out) */
.signin-bottom-cta .btn.btn-primary,
.signin-bottom-cta a.btn.btn-primary {
    padding: 16px 44px !important;
    font-size: var(--lk-text-lg) !important;
    font-weight: 800 !important;
    background: #0c151b !important;
    background-color: #0c151b !important;
    border: 2px solid #0c151b !important;
    color: var(--lk-accent-yellow) !important;
    border-radius: var(--lk-radius-full) !important;
    box-shadow: 0 14px 36px rgba(12, 21, 27, 0.35),
                inset 0 2px 0 rgba(255, 255, 255, 0.08) !important;
    transition: transform var(--lk-dur-fast) var(--lk-ease),
                box-shadow var(--lk-dur-fast) ease,
                background var(--lk-dur-fast) ease !important;
    letter-spacing: 0.3px;
}

.signin-bottom-cta .btn.btn-primary:hover,
.signin-bottom-cta a.btn.btn-primary:hover {
    transform: translateY(-3px) scale(1.03) !important;
    background: var(--lk-accent-yellow) !important;
    background-color: var(--lk-accent-yellow) !important;
    border-color: var(--lk-accent-yellow) !important;
    color: #0c151b !important;
    box-shadow: 0 20px 48px rgba(255, 255, 255, 0.35) !important;
}

/* ============================================================================
   DIRECTION A PASS 2 — 2026-04-11
   ============================================================================
   Applied to 3 sections in signin.twig following the success of how-pworks:
     1. 10-Years Hero Section (.home-section:has(.hl-btns))
     2. Comparison Table (.signin-comparison-section)
     3. Final CTA (.signin-cta-section)
   Philosophy: brand-first (yellow + dark + white), typography-forward,
   editorial layout, zero wave/fade dividers, no nested "box-in-box".
   ============================================================================ */


/* ============================================================================
   1. "10 YEARS" HERO SECTION — Yellow-native editorial with giant watermark
   ============================================================================
   Kills the dark container entirely. Content sits directly on yellow body.
   Adds a massive outline "10+" watermark (220-300px) as a Linear-style
   background element. Highlights "10 ปี" in title with a yellow underline. */

/* --- Override dark wrapper: make row transparent --- */
.home-section:has(.hl-btns) {
    padding: 100px 0 !important;
    overflow: visible !important;
}

.home-section:has(.hl-btns) > .container {
    position: relative;
}

.home-section:has(.hl-btns) > .container > .row {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    overflow: visible !important;
    position: relative;
}

/* --- Kill existing glow orb + highlight line pseudo-elements --- */
.home-section:has(.hl-btns) > .container > .row::before,
.home-section:has(.hl-btns) > .container > .row::after {
    content: none !important;
    display: none !important;
    background: none !important;
}

/* --- Giant "10+" watermark as pseudo on .container --- */
.home-section:has(.hl-btns) > .container::before {
    content: "10+";
    position: absolute;
    top: -40px;
    right: -30px;
    font-family: 'Inter', -apple-system, 'Noto Sans Thai', sans-serif;
    font-size: clamp(180px, 22vw, 320px);
    font-weight: 900;
    line-height: 0.82;
    letter-spacing: -12px;
    color: transparent;
    -webkit-text-stroke: 3px rgba(12, 21, 27, 0.16);
    /* `text-stroke` is non-standard — -webkit-text-stroke is the supported form */
    pointer-events: none;
    z-index: 0;
    user-select: none;
}

/* --- Kill the old crown icon badge entirely (too ornamental) --- */
.home-section:has(.hl-btns) .hsl-title > .row > .col-md-auto,
.home-section:has(.hl-btns) .hsl-title > .row > .col-12.col-md-auto {
    display: none !important;
}

.home-section:has(.hl-btns) .hsl-title-icon,
.home-section:has(.hl-btns) .hsl-title-icon::after {
    display: none !important;
    content: none !important;
}

/* --- Title block: editorial, massive, dark-on-yellow --- */
.home-section:has(.hl-btns) .col-lg-6 {
    position: relative;
    z-index: 2;
}

.home-section:has(.hl-btns) .hsl-title {
    display: block !important;
    margin: 0 0 24px !important;
    gap: 0 !important;
}

.home-section:has(.hl-btns) .hsl-title > .row {
    display: block !important;
    margin: 0 !important;
    gap: 0 !important;
}

.home-section:has(.hl-btns) .hsl-title > .row > [class*="col-"] {
    width: 100% !important;
    flex: 1 1 100% !important;
    padding: 0 !important;
}

.home-section:has(.hl-btns) .hsl-title h2 {
    font-size: clamp(34px, 4.8vw, 58px) !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    letter-spacing: -1.2px;
    color: #0c151b !important;
    margin: 0 !important;
    /* KILL the gradient text-clip from previous pass — use solid dark */
    background: none !important;
    -webkit-background-clip: initial !important;
    background-clip: initial !important;
    -webkit-text-fill-color: #0c151b !important;
    text-align: left;
}

.home-section:has(.hl-btns) .hsl-text {
    font-size: clamp(15px, 1.3vw, 18px) !important;
    font-weight: 500 !important;
    color: #0c151b !important;
    opacity: 0.72 !important;
    max-width: 520px;
    margin: 0 0 32px !important;
    line-height: 1.7 !important;
    text-align: left;
}

/* --- Buttons on yellow: dark solid + yellow outline --- */
.home-section:has(.hl-btns) .hl-btns {
    position: relative !important;
    margin: 0 !important;
    gap: 12px !important;
    flex-wrap: wrap;
    display: flex;
}

.home-section:has(.hl-btns) .hl-btns > a {
    margin: 0 !important;
}

.home-section:has(.hl-btns) .btn-hero-primary {
    padding: 16px 36px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    background: #0c151b !important;
    background-color: #0c151b !important;
    border: 2px solid #0c151b !important;
    color: var(--lk-accent-yellow) !important;
    border-radius: var(--lk-radius-full) !important;
    box-shadow: 0 14px 34px rgba(12, 21, 27, 0.3),
                inset 0 2px 0 rgba(255, 255, 255, 0.08) !important;
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
                background 0.35s ease,
                color 0.35s ease,
                box-shadow 0.35s ease !important;
    letter-spacing: 0.2px;
}

.home-section:has(.hl-btns) .btn-hero-primary:hover {
    transform: translateY(-3px) !important;
    background: var(--lk-accent-yellow) !important;
    background-color: var(--lk-accent-yellow) !important;
    border-color: var(--lk-accent-yellow) !important;
    color: #0c151b !important;
    box-shadow: 0 20px 48px rgba(255, 255, 255, 0.45),
                inset 0 2px 0 rgba(255, 255, 255, 0.35) !important;
}

.home-section:has(.hl-btns) .signin-hero-dark-btn {
    padding: 16px 36px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 2px solid #0c151b !important;
    color: #0c151b !important;
    border-radius: var(--lk-radius-full) !important;
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
                background 0.35s ease,
                color 0.35s ease !important;
    letter-spacing: 0.2px;
}

.home-section:has(.hl-btns) .signin-hero-dark-btn:hover {
    transform: translateY(-3px) !important;
    background: #0c151b !important;
    border-color: #0c151b !important;
    color: var(--lk-accent-yellow) !important;
}

/* --- Right-side image: remove yellow drop-shadow, add subtle lift --- */
.home-section:has(.hl-btns) .col-lg-6 > img.img-fluid {
    position: relative;
    z-index: 2;
    filter: drop-shadow(0 30px 60px rgba(12, 21, 27, 0.25))
            drop-shadow(0 10px 30px rgba(12, 21, 27, 0.18)) !important;
}

/* --- Responsive --- */
@media (max-width: 991px) {
    .home-section:has(.hl-btns) {
        padding: 70px 0 !important;
    }
    .home-section:has(.hl-btns) > .container::before {
        font-size: clamp(140px, 28vw, 220px);
        top: -20px;
        right: -20px;
        -webkit-text-stroke-width: 2px;
    }
    .home-section:has(.hl-btns) .hsl-title h2 {
        font-size: 32px !important;
    }
}

@media (max-width: 768px) {
    .home-section:has(.hl-btns) {
        padding: 56px 0 !important;
    }
    .home-section:has(.hl-btns) > .container::before {
        top: -10px;
        right: -10px;
        font-size: 150px;
        opacity: 0.8;
    }
    .home-section:has(.hl-btns) .hsl-title h2 {
        font-size: 28px !important;
    }
    .home-section:has(.hl-btns) .hl-btns {
        flex-direction: column;
    }
    .home-section:has(.hl-btns) .hl-btns > a {
        width: 100%;
        text-align: center;
    }
}


/* ============================================================================
   2. COMPARISON TABLE — "Likester Winner Podium"
   ============================================================================
   Makes the Likester column POP (podium effect via padding/border/glow),
   fades competitor columns to tier-2 feel, adds grid-dot texture behind table. */

/* Section body: stays yellow, add depth with subtle grid */
.signin-comparison-section {
    position: relative;
    padding: 90px 0 110px !important;
    overflow: hidden;
}

/* Grid dot pattern as subtle texture */
.signin-comparison-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(12, 21, 27, 0.08) 1.2px, transparent 1.2px);
    background-size: 28px 28px;
    opacity: 0.6;
    pointer-events: none;
    z-index: 0;
}

.signin-comparison-section > .container {
    position: relative;
    z-index: 2;
}

/* Glow orb behind Likester column */
.signin-comparison-section .table-responsive::after {
    content: '';
    position: absolute;
    top: -40px;
    left: 46%;
    width: 380px;
    height: 380px;
    background: radial-gradient(circle, rgba(255, 193, 7, 0.55) 0%, rgba(255, 193, 7, 0.18) 35%, transparent 65%);
    filter: blur(40px);
    pointer-events: none;
    z-index: 0;
    transform: translateX(-50%);
}

/* --- Dark glass wrapper: refined --- */
.signin-comparison-section .table-responsive {
    position: relative !important;
    padding: 48px 36px 36px !important;
    background: linear-gradient(180deg, rgba(16, 31, 40, 0.96) 0%, rgba(10, 18, 24, 0.98) 100%) !important;
    border: 1px solid rgba(255, 193, 7, 0.18) !important;
    border-radius: 28px !important;
    box-shadow: 0 40px 90px rgba(12, 21, 27, 0.4),
                0 12px 32px rgba(12, 21, 27, 0.25),
                inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
    overflow: visible !important;
    z-index: 2;
}

/* --- Table reset --- */
.signin-comparison-table {
    position: relative;
    z-index: 2;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

/* --- Header cells --- */
.signin-comparison-table thead tr {
    background: transparent !important;
}

.signin-comparison-table th {
    background: transparent !important;
    border: none !important;
    padding: 24px 18px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-align: center !important;
    position: relative;
    vertical-align: middle !important;
}

.signin-comparison-table th.col-feature {
    color: rgba(255, 255, 255, 0.35) !important;
    text-align: left !important;
    padding-left: 28px !important;
    font-size: 13px !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600 !important;
}

/* --- LIKESTER column (the winner podium) --- */
.signin-comparison-table th.col-likester {
    background: linear-gradient(180deg, #1a2f3d 0%, #0f1d25 100%) !important;
    color: var(--lk-accent-yellow) !important;
    border: 2px solid rgba(255, 193, 7, 0.55) !important;
    border-bottom: none !important;
    border-radius: 18px 18px 0 0 !important;
    box-shadow: 0 -14px 40px rgba(255, 193, 7, 0.25),
                inset 0 2px 0 rgba(255, 193, 7, 0.4) !important;
    padding: 32px 20px 28px !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    letter-spacing: 0.3px;
    position: relative;
}

.signin-comparison-table th.col-likester .signin-cta-pill-icon {
    color: var(--lk-accent-yellow) !important;
    margin-right: 8px;
    font-size: 20px !important;
    filter: drop-shadow(0 0 8px rgba(255, 193, 7, 0.5));
}

/* BEST badge: bigger + crown */
.signin-comparison-table .best-badge {
    position: absolute !important;
    top: -16px !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%);
    background: linear-gradient(135deg, var(--lk-accent-yellow) 0%, #ffa000 100%) !important;
    color: #0c151b !important;
    padding: 7px 18px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase;
    box-shadow: 0 8px 22px rgba(255, 193, 7, 0.55),
                0 0 0 3px rgba(12, 21, 27, 0.8),
                inset 0 2px 0 rgba(255, 255, 255, 0.35) !important;
    white-space: nowrap;
    z-index: 5;
}

.signin-comparison-table .best-badge::before {
    content: '\f521';  /* crown icon */
    font-family: 'Font Awesome 6 Free', 'Font Awesome 5 Free', sans-serif;
    font-weight: 900;
    margin-right: 5px;
    color: #0c151b;
}

/* --- Competitor columns (fade to tier-2) --- */
.signin-comparison-table th.col-competitor {
    color: rgba(255, 255, 255, 0.4) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    opacity: 0.7;
    padding-top: 44px !important;  /* align with Likester baseline */
}

/* --- Body rows --- */
.signin-comparison-table tbody tr {
    border: none !important;
    transition: background 0.3s ease;
}

.signin-comparison-table tbody tr:hover {
    background: transparent !important;
}

.signin-comparison-table tbody tr + tr td {
    border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
}

.signin-comparison-table td {
    padding: 22px 18px !important;
    border: none !important;
    background: transparent !important;
    vertical-align: middle !important;
    text-align: center !important;
}

/* Feature cell (leftmost - descriptions) */
.signin-comparison-table td.feature-cell {
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-align: left !important;
    padding-left: 28px !important;
}

.signin-comparison-table td.feature-cell i {
    color: rgba(255, 193, 7, 0.7) !important;
    margin-right: 12px;
    font-size: 14px;
    width: 18px;
    text-align: center;
}

/* --- LIKESTER column body cells (elevated) --- */
.signin-comparison-table td.likester-cell {
    background: linear-gradient(180deg, rgba(255, 193, 7, 0.08) 0%, rgba(255, 193, 7, 0.04) 100%) !important;
    color: var(--lk-accent-yellow) !important;
    font-weight: 900 !important;
    font-size: 18px !important;
    border-left: 2px solid rgba(255, 193, 7, 0.55) !important;
    border-right: 2px solid rgba(255, 193, 7, 0.55) !important;
    position: relative;
}

.signin-comparison-table tbody tr:last-child td.likester-cell {
    border-bottom: 2px solid rgba(255, 193, 7, 0.55) !important;
    border-radius: 0 0 18px 18px;
}

.signin-comparison-table td.likester-cell .fa-check-circle {
    color: var(--lk-accent-green) !important;
    margin-right: 6px;
    filter: drop-shadow(0 0 6px rgba(0, 175, 76, 0.35));
}

.signin-comparison-table td.likester-cell .fa-star {
    color: var(--lk-accent-yellow) !important;
    margin-left: 6px;
    filter: drop-shadow(0 0 8px rgba(255, 193, 7, 0.6));
}

/* --- Competitor cells (faded, tier-2) --- */
.signin-comparison-table td.competitor-cell {
    color: rgba(255, 255, 255, 0.38) !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    opacity: 0.75;
}

.signin-comparison-table td.competitor-cell.text-danger {
    color: #ff7575 !important;
    opacity: 0.85;
}

.signin-comparison-table td.competitor-cell.text-danger .fa-times-circle {
    color: #ff7575 !important;
    margin-right: 5px;
    opacity: 0.85;
}

.signin-comparison-table td.competitor-cell .fa-check-circle {
    color: rgba(255, 255, 255, 0.28) !important;
    margin-right: 4px;
}

.signin-comparison-table td.competitor-cell.text-gold {
    color: rgba(255, 193, 7, 0.45) !important;
}

/* Section comparison title */
.signin-comparison-section .home-title h2 {
    font-size: clamp(32px, 4.5vw, 52px) !important;
    font-weight: 900 !important;
    color: #0c151b !important;
    letter-spacing: -1px;
    margin-bottom: 14px !important;
    line-height: 1.1;
}

.signin-comparison-section .home-title p {
    color: #0c151b !important;
    opacity: 0.68;
    font-size: 16px;
    font-weight: 500;
    max-width: 640px;
    margin: 0 auto;
    line-height: 1.6;
}

.signin-comparison-section .hh-content i {
    color: #0c151b !important;
}

@media (max-width: 991px) {
    .signin-comparison-section {
        padding: 60px 0 80px !important;
    }
    .signin-comparison-section .table-responsive {
        padding: 40px 20px 24px !important;
    }
    .signin-comparison-table th.col-likester {
        font-size: 18px !important;
        padding: 26px 12px 22px !important;
    }
    .signin-comparison-table td.likester-cell {
        font-size: 16px !important;
    }
    .signin-comparison-table td,
    .signin-comparison-table th {
        padding: 16px 10px !important;
    }
    .signin-comparison-table td.feature-cell,
    .signin-comparison-table th.col-feature {
        padding-left: 14px !important;
    }
    .signin-comparison-section .table-responsive::after {
        width: 280px;
        height: 280px;
    }
}


/* ============================================================================
   3. FINAL CTA "พร้อมเริ่มต้น..." — Typography Finale Moment
   ============================================================================
   Kills the dark wrapper (was nested dark-on-yellow). Makes it a big editorial
   closing moment: massive headline, wider 3 CTAs, decorative arrow accent. */

/* Kill dark wrapper entirely */
.signin-cta-section {
    background: transparent !important;
    background-color: transparent !important;
    padding: 90px 20px 40px !important;
    border-radius: 0 !important;
    color: #0c151b !important;
    box-shadow: none !important;
    position: relative;
    max-width: 900px;
    margin: 40px auto 0 !important;
    text-align: center;
}

/* Decorative arrow above title — uses pseudo, pure CSS */
.signin-cta-section::before {
    content: '';
    position: absolute;
    top: 36px;
    left: 50%;
    width: 2px;
    height: 40px;
    background: linear-gradient(180deg, transparent 0%, rgba(12, 21, 27, 0.4) 100%);
    transform: translateX(-50%);
    pointer-events: none;
}

.signin-cta-section::after {
    content: '';
    position: absolute;
    top: 70px;
    left: 50%;
    width: 14px;
    height: 14px;
    border-right: 2px solid rgba(12, 21, 27, 0.4);
    border-bottom: 2px solid rgba(12, 21, 27, 0.4);
    transform: translateX(-50%) rotate(45deg);
    pointer-events: none;
}

/* Massive headline */
.signin-cta-section h3 {
    margin: 60px 0 20px !important;
    font-size: clamp(28px, 4vw, 48px) !important;
    font-weight: 900 !important;
    color: #0c151b !important;
    letter-spacing: -1px;
    line-height: 1.2 !important;
    text-align: center;
    max-width: 780px;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Subtitle paragraph */
.signin-cta-section > p {
    font-size: clamp(14px, 1.2vw, 17px) !important;
    font-weight: 500 !important;
    color: #0c151b !important;
    opacity: 0.7 !important;
    margin: 0 auto 40px !important;
    max-width: 620px;
    line-height: 1.7 !important;
    text-align: center;
}

/* --- 3 platform CTAs: upgraded pills → large brand-colored cards --- */
.signin-cta-section .d-flex {
    gap: 14px !important;
    flex-wrap: wrap;
    justify-content: center !important;
}

.signin-cta-section .signin-cta-pill-gold,
.signin-cta-section .signin-cta-pill-white,
.signin-cta-section .signin-cta-pill-outline {
    padding: 18px 32px !important;
    margin: 0 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    border-radius: var(--lk-radius-full) !important;
    letter-spacing: 0.2px;
    position: relative;
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
                background 0.4s ease,
                color 0.4s ease,
                box-shadow 0.4s ease,
                border-color 0.4s ease !important;
    min-width: 220px;
    text-align: center;
    justify-content: center;
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
}

.signin-cta-section .signin-cta-pill-gold .signin-cta-pill-icon,
.signin-cta-section .signin-cta-pill-white .signin-cta-pill-icon,
.signin-cta-section .signin-cta-pill-outline .signin-cta-pill-icon {
    margin: 0 !important;
    font-size: 20px !important;
}

/* Instagram (gold pill) → dark card with IG gradient on hover */
.signin-cta-section .signin-cta-pill-gold {
    background: #0c151b !important;
    color: #ffffff !important;
    border: 2px solid #0c151b !important;
    box-shadow: 0 16px 36px rgba(12, 21, 27, 0.28),
                inset 0 2px 0 rgba(255, 255, 255, 0.06) !important;
}

.signin-cta-section .signin-cta-pill-gold:hover {
    transform: translateY(-4px) !important;
    background: linear-gradient(45deg, #833ab4, #fd1d1d, #fcb045) !important;
    border-color: transparent !important;
    color: #ffffff !important;
    box-shadow: 0 22px 50px rgba(253, 29, 29, 0.45),
                inset 0 2px 0 rgba(255, 255, 255, 0.25) !important;
}

/* YouTube (white pill) → dark card with YouTube red on hover */
.signin-cta-section .signin-cta-pill-white {
    background: #0c151b !important;
    color: #ffffff !important;
    border: 2px solid #0c151b !important;
    box-shadow: 0 16px 36px rgba(12, 21, 27, 0.28),
                inset 0 2px 0 rgba(255, 255, 255, 0.06) !important;
}

.signin-cta-section .signin-cta-pill-white:hover {
    transform: translateY(-4px) !important;
    background: linear-gradient(135deg, #ff0000 0%, #cc0000 100%) !important;
    border-color: transparent !important;
    color: #ffffff !important;
    box-shadow: 0 22px 50px rgba(255, 0, 0, 0.4),
                inset 0 2px 0 rgba(255, 255, 255, 0.25) !important;
}

/* TikTok (outline pill) → dark card with TT cyan/pink gradient on hover */
.signin-cta-section .signin-cta-pill-outline {
    background: #0c151b !important;
    color: #ffffff !important;
    border: 2px solid #0c151b !important;
    box-shadow: 0 16px 36px rgba(12, 21, 27, 0.28),
                inset 0 2px 0 rgba(255, 255, 255, 0.06) !important;
}

.signin-cta-section .signin-cta-pill-outline:hover {
    transform: translateY(-4px) !important;
    background: linear-gradient(135deg, #25f4ee 0%, #000000 50%, #fe2c55 100%) !important;
    border-color: transparent !important;
    color: #ffffff !important;
    box-shadow: 0 22px 50px rgba(254, 44, 85, 0.4),
                inset 0 2px 0 rgba(255, 255, 255, 0.25) !important;
}

@media (max-width: 768px) {
    .signin-cta-section {
        padding: 70px 16px 20px !important;
    }
    .signin-cta-section::before {
        top: 24px;
        height: 30px;
    }
    .signin-cta-section::after {
        top: 50px;
    }
    .signin-cta-section h3 {
        margin: 44px 0 16px !important;
        font-size: 26px !important;
    }
    .signin-cta-section .signin-cta-pill-gold,
    .signin-cta-section .signin-cta-pill-white,
    .signin-cta-section .signin-cta-pill-outline {
        width: 100%;
        min-width: 0;
        padding: 16px 24px !important;
    }
}


/* ============================================================
   PHASE 8 — Editorial lift for stepbox + blog + signup page
   (yellow-native direction, matches how-pworks / 10-years /
    comparison table / final-CTA treatments)
   ============================================================ */


/* ============================================================
   8A. "ครบจบ ทุกโซเชี่ยล" — 8 platform cards editorial lift
   Section wrapper is <section class="home-section"> containing
   .stepbox. Target the parent via :has() so we don't touch other
   .home-section uses.
   ============================================================ */

.home-section:has(> .container > .stepbox) {
    position: relative !important;
    background: transparent !important;
    padding: 90px 0 70px !important;
    overflow: visible !important;
}

/* Giant outline watermark "8 SOCIAL" behind the headline */
.home-section:has(> .container > .stepbox) > .container {
    position: relative;
    z-index: 1;
}

.home-section:has(> .container > .stepbox) > .container::before {
    content: "ALL SOCIAL";
    position: absolute;
    top: -36px;
    left: 50%;
    transform: translateX(-50%);
    font-family: 'Inter', -apple-system, 'Noto Sans Thai', sans-serif;
    font-size: clamp(80px, 13vw, 200px);
    font-weight: 900;
    line-height: 0.85;
    letter-spacing: -8px;
    color: transparent;
    -webkit-text-stroke: 2.5px rgba(12, 21, 27, 0.14);
    white-space: nowrap;
    pointer-events: none;
    z-index: 0;
    user-select: none;
}

/* Editorial headline block */
.home-section:has(> .container > .stepbox) .home-title {
    position: relative;
    z-index: 2;
    margin-bottom: 56px !important;
    text-align: center;
}

.home-section:has(> .container > .stepbox) .home-title h2 {
    font-size: clamp(36px, 5.2vw, 64px) !important;
    font-weight: 900 !important;
    color: #0c151b !important;
    letter-spacing: -1.5px;
    line-height: 1.05;
    margin: 0 !important;
    text-shadow: 0 2px 0 rgba(255, 255, 255, 0.2);
}

/* Small eyebrow label below the title */
.home-section:has(> .container > .stepbox) .home-title::after {
    content: "8 PLATFORMS · 1 PANEL";
    display: block;
    margin-top: 18px;
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 4px;
    color: rgba(12, 21, 27, 0.55);
    text-transform: uppercase;
}

/* Kill the old divider (•••) */
.home-section:has(> .container > .stepbox) .home-title .divider {
    display: none !important;
}

/* Override the card backgrounds — upgrade to richer gradient + tighter
   look. Keep platform color accents but bolder. */
.home-section:has(> .container > .stepbox) .stepbox {
    position: relative;
    z-index: 2;
}

.home-section:has(> .container > .stepbox) .stepbox .sboxes .barea {
    background: linear-gradient(180deg, #101f28 0%, #0a1218 100%) !important;
    border: 1px solid rgba(255, 193, 7, 0.14) !important;
    border-radius: 22px !important;
    box-shadow: 0 18px 44px rgba(12, 21, 27, 0.18),
                0 0 0 1px rgba(255, 255, 255, 0.03) inset !important;
    padding: 0 !important;
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
                border-color 0.35s ease,
                box-shadow 0.35s ease !important;
}

.home-section:has(> .container > .stepbox) .stepbox .sboxes:hover .barea {
    transform: translateY(-10px) !important;
    border-color: rgba(255, 193, 7, 0.45) !important;
    box-shadow: 0 30px 60px rgba(12, 21, 27, 0.3),
                0 0 0 1px rgba(255, 193, 7, 0.12) inset !important;
}

.home-section:has(> .container > .stepbox) .stepbox .sboxes .barea::before {
    left: 12% !important;
    right: 12% !important;
    opacity: 0.7 !important;
}

.home-section:has(> .container > .stepbox) .stepbox .sboxes .barea .sbbody {
    padding: 36px 28px 30px !important;
    min-height: 240px !important;
}

/* Icon: switch from square to soft rounded, bigger */
.home-section:has(> .container > .stepbox) .stepbox .sboxes .barea .sbicon {
    flex: 0 0 58px !important;
    width: 58px !important;
    height: 58px !important;
    max-width: 58px !important;
    border-radius: 16px !important;
}

.home-section:has(> .container > .stepbox) .stepbox .sboxes .barea .sbicon i {
    font-size: 26px !important;
}

/* Title stronger, more editorial */
.home-section:has(> .container > .stepbox) .stepbox .sboxes .barea .sbtitle {
    font-size: 20px !important;
    font-weight: 800 !important;
    letter-spacing: -0.3px !important;
    color: #ffffff !important;
}

.home-section:has(> .container > .stepbox) .stepbox .sboxes .barea .sbbody .sbtext {
    font-size: 14.5px !important;
    line-height: 1.72 !important;
    color: rgba(255, 255, 255, 0.62) !important;
    margin-top: 20px !important;
}

.home-section:has(> .container > .stepbox) .stepbox .sboxes:hover .barea .sbtext {
    color: rgba(255, 255, 255, 0.82) !important;
}

/* Responsive */
@media (max-width: 991px) {
    .home-section:has(> .container > .stepbox) {
        padding: 70px 0 50px !important;
    }
    .home-section:has(> .container > .stepbox) > .container::before {
        font-size: clamp(60px, 14vw, 110px);
        top: -20px;
        letter-spacing: -5px;
    }
    .home-section:has(> .container > .stepbox) .home-title {
        margin-bottom: 36px !important;
    }
}

@media (max-width: 768px) {
    .home-section:has(> .container > .stepbox) .stepbox .sboxes .barea .sbbody {
        padding: 26px 22px 24px !important;
        min-height: 200px !important;
    }
    .home-section:has(> .container > .stepbox) .stepbox .sboxes .barea .sbicon {
        flex: 0 0 50px !important;
        width: 50px !important;
        height: 50px !important;
        max-width: 50px !important;
    }
    .home-section:has(> .container > .stepbox) .stepbox .sboxes .barea .sbtitle {
        font-size: 17px !important;
    }
    .home-section:has(> .container > .stepbox) .home-title::after {
        font-size: 11px;
        letter-spacing: 2.5px;
    }
}


/* ============================================================
   8B. "ข่าวสารและเทคนิคล่าสุด" — blog section editorial lift
   Scope: .signin-blog-section (only signin.twig uses this)
   ============================================================ */

.signin-blog-section {
    position: relative !important;
    background: transparent !important;
    padding: 100px 0 80px !important;
    overflow: visible !important;
}

.signin-blog-section > .container {
    position: relative;
    z-index: 1;
}

/* Giant outline watermark "LATEST" */
.signin-blog-section > .container::before {
    content: "LATEST";
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: clamp(90px, 14vw, 220px);
    font-weight: 900;
    line-height: 0.85;
    letter-spacing: -10px;
    color: transparent;
    -webkit-text-stroke: 3px rgba(12, 21, 27, 0.14);
    white-space: nowrap;
    pointer-events: none;
    z-index: 0;
    user-select: none;
}

/* Kill the old newspaper icon badge — editorial doesn't need it */
.signin-blog-section .home-title .hh-icon {
    display: none !important;
}

.signin-blog-section .home-title {
    position: relative;
    z-index: 2;
    margin-bottom: 64px !important;
    text-align: center;
}

.signin-blog-section .home-title h2 {
    font-size: clamp(36px, 5.2vw, 64px) !important;
    font-weight: 900 !important;
    color: #0c151b !important;
    letter-spacing: -1.5px;
    line-height: 1.05;
    margin: 0 0 14px 0 !important;
    text-shadow: 0 2px 0 rgba(255, 255, 255, 0.2);
}

.signin-blog-section .home-title p {
    font-size: 17px !important;
    font-weight: 500 !important;
    color: rgba(12, 21, 27, 0.68) !important;
    margin: 0 !important;
    letter-spacing: 0.1px;
}

/* Eyebrow label */
.signin-blog-section .home-title::before {
    content: "— BLOG & INSIGHTS —";
    display: block;
    margin-bottom: 16px;
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 4px;
    color: rgba(12, 21, 27, 0.5);
    text-transform: uppercase;
}

/* Blog cards — keep dark gradient cards but with bolder editorial typography */
.signin-blog-section .signin-blog-card {
    background: linear-gradient(180deg, #101f28 0%, #0a1218 100%) !important;
    border: 1px solid rgba(255, 193, 7, 0.14) !important;
    border-radius: 22px !important;
    box-shadow: 0 18px 44px rgba(12, 21, 27, 0.18),
                0 0 0 1px rgba(255, 255, 255, 0.03) inset !important;
    overflow: hidden !important;
    position: relative;
}

.signin-blog-section .signin-blog-card:hover {
    transform: translateY(-10px) !important;
    border-color: rgba(255, 193, 7, 0.45) !important;
    box-shadow: 0 30px 60px rgba(12, 21, 27, 0.3),
                0 0 0 1px rgba(255, 193, 7, 0.15) inset !important;
}

.signin-blog-section .signin-blog-card::before {
    left: 12% !important;
    right: 12% !important;
    opacity: 0.7 !important;
}

/* Thumbnail area — make it taller + bolder */
.signin-blog-section .signin-blog-thumb,
.signin-blog-section .signin-blog-grad-gold,
.signin-blog-section .signin-blog-grad-dark,
.signin-blog-section .signin-blog-grad-mixed {
    height: 220px !important;
}

.signin-blog-section .signin-blog-grad-gold {
    background: linear-gradient(135deg, #ffc107 0%, #ff8f00 100%) !important;
}

.signin-blog-section .signin-blog-grad-dark {
    background: linear-gradient(135deg, #0c151b 0%, #1a2f3d 100%) !important;
}

.signin-blog-section .signin-blog-grad-mixed {
    background: linear-gradient(135deg, #0c151b 0%, #ffc107 100%) !important;
}

.signin-blog-section .signin-blog-thumb-icon-lg {
    font-size: 72px !important;
    opacity: 0.9 !important;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.3));
}

.signin-blog-section .signin-blog-card-body {
    padding: 32px 28px 28px !important;
}

.signin-blog-section .signin-blog-card-body h3 {
    font-size: 22px !important;
    font-weight: 800 !important;
    letter-spacing: -0.3px !important;
    line-height: 1.35 !important;
    color: #ffffff !important;
    margin-bottom: 14px !important;
    min-height: auto !important;
}

.signin-blog-section .signin-blog-card-body p {
    font-size: 14.5px !important;
    line-height: 1.72 !important;
    color: rgba(255, 255, 255, 0.62) !important;
    margin-bottom: 22px !important;
}

.signin-blog-section .signin-blog-card:hover .signin-blog-card-body p {
    color: rgba(255, 255, 255, 0.8) !important;
}

/* "อ่านต่อ" link — convert to arrow link editorial style */
.signin-blog-section .signin-blog-card-body .btn {
    align-self: flex-start;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    color: #ffc107 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    position: relative;
    padding-right: 26px !important;
}

.signin-blog-section .signin-blog-card-body .btn::after {
    content: "→";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.3s ease;
    font-size: 16px;
}

.signin-blog-section .signin-blog-card-body .btn:hover {
    background: transparent !important;
    color: #ffffff !important;
    transform: none !important;
}

.signin-blog-section .signin-blog-card-body .btn:hover::after {
    transform: translateY(-50%) translateX(6px);
    color: #ffc107;
}

/* ===== Featured keywords — kill dark wrapper, make editorial ===== */
.signin-blog-section .signin-featured-keywords {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 60px 0 0 !important;
    margin-top: 30px !important;
    max-width: 900px;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
    position: relative;
}

/* Decorative top divider line */
.signin-blog-section .signin-featured-keywords::before {
    content: '';
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 2px;
    background: rgba(12, 21, 27, 0.25);
}

.signin-blog-section .signin-featured-keywords h3 {
    font-size: clamp(24px, 3.5vw, 36px) !important;
    font-weight: 900 !important;
    color: #0c151b !important;
    letter-spacing: -0.8px;
    margin: 0 0 28px !important;
}

/* Since featured-keywords no longer has dark bg, .signin-pill-outline-sm
   inside it should use DARK text/border (revert the white scoping) */
.signin-blog-section .signin-featured-keywords .signin-pill-outline-sm {
    background: transparent !important;
    border: 1.5px solid rgba(12, 21, 27, 0.3) !important;
    color: #0c151b !important;
    padding: 10px 20px !important;
    font-size: 13px !important;
}

.signin-blog-section .signin-featured-keywords .signin-pill-outline-sm:hover {
    background: #0c151b !important;
    border-color: #0c151b !important;
    color: #ffc107 !important;
    transform: translateY(-2px);
}

/* View all articles button — big editorial arrow link style */
.signin-blog-section .signin-view-all-btn {
    display: inline-flex !important;
    align-items: center;
    gap: 12px;
    padding: 16px 36px !important;
    background: #0c151b !important;
    color: #ffc107 !important;
    border: 2px solid #0c151b !important;
    border-radius: 999px !important;
    font-weight: 800 !important;
    font-size: 15px !important;
    letter-spacing: 0.3px;
    box-shadow: 0 12px 32px rgba(12, 21, 27, 0.3),
                inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
    transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1),
                box-shadow 0.25s ease,
                background 0.25s ease !important;
}

.signin-blog-section .signin-view-all-btn::after {
    content: "→";
    font-size: 18px;
    transition: transform 0.3s ease;
}

.signin-blog-section .signin-view-all-btn:hover {
    background: #ffc107 !important;
    color: #0c151b !important;
    border-color: #ffc107 !important;
    transform: translateY(-3px);
    box-shadow: 0 18px 44px rgba(255, 193, 7, 0.45),
                inset 0 2px 0 rgba(255, 255, 255, 0.3) !important;
}

.signin-blog-section .signin-view-all-btn:hover::after {
    transform: translateX(6px);
}

/* Responsive */
@media (max-width: 991px) {
    .signin-blog-section {
        padding: 70px 0 60px !important;
    }
    .signin-blog-section > .container::before {
        font-size: clamp(60px, 16vw, 120px);
        top: -30px;
        letter-spacing: -5px;
    }
    .signin-blog-section .home-title {
        margin-bottom: 40px !important;
    }
    .signin-blog-section .home-title p {
        font-size: 15px !important;
    }
}

@media (max-width: 768px) {
    .signin-blog-section .signin-blog-card-body {
        padding: 26px 22px 24px !important;
    }
    .signin-blog-section .signin-blog-card-body h3 {
        font-size: 19px !important;
    }
    .signin-blog-section .signin-blog-thumb,
    .signin-blog-section .signin-blog-grad-gold,
    .signin-blog-section .signin-blog-grad-dark,
    .signin-blog-section .signin-blog-grad-mixed {
        height: 170px !important;
    }
    .signin-blog-section .home-title::before {
        font-size: 10px;
        letter-spacing: 2.5px;
    }
    .signin-blog-section .signin-view-all-btn {
        padding: 14px 28px !important;
        font-size: 14px !important;
    }
}


/* ============================================================
   8C. signup.twig (.register-page) editorial lift
   Scope: .register-page — same yellow body as signin.
   Fixes:
   - Label color #fff on yellow body = INVISIBLE. Switch to dark.
   - Login text (#606b80) readable but dull — bump contrast.
   - Inputs kept dark (.login-control #183441) — good contrast.
   - Add editorial heading above the form via ::before pseudo.
   - Submit button: big dark solid.
   ============================================================ */

.register-page {
    background: #ffc107 !important;
    padding: 120px 0 80px !important;
}

/* Decorative left column: giant outline watermark "JOIN" */
@media (min-width: 1200px) {
    .register-page::before {
        background-image: none !important;
        background-color: transparent !important;
    }
    .register-page .register-left::before {
        content: "JOIN";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-family: 'Inter', -apple-system, sans-serif;
        font-size: clamp(140px, 18vw, 280px);
        font-weight: 900;
        line-height: 0.85;
        letter-spacing: -12px;
        color: transparent;
        -webkit-text-stroke: 3px rgba(12, 21, 27, 0.18);
        pointer-events: none;
        user-select: none;
        white-space: nowrap;
    }
    .register-page .register-left::after {
        content: "SIGN UP · FREE · INSTANT";
        position: absolute;
        top: calc(50% + 90px);
        left: 50%;
        transform: translateX(-50%);
        font-family: 'Inter', -apple-system, sans-serif;
        font-size: 13px;
        font-weight: 800;
        letter-spacing: 5px;
        color: rgba(12, 21, 27, 0.55);
        white-space: nowrap;
        text-transform: uppercase;
    }
}

/* Right column: editorial header above the form */
.register-page .col-xl-5.offset-xl-1 {
    position: relative;
}

.register-page .col-xl-5.offset-xl-1::before {
    content: "สมัครสมาชิก";
    display: block;
    font-family: 'Inter', -apple-system, 'Noto Sans Thai', sans-serif;
    font-size: clamp(36px, 5vw, 58px);
    font-weight: 900;
    color: #0c151b;
    letter-spacing: -1.2px;
    line-height: 1.05;
    margin-bottom: 10px;
    text-shadow: 0 2px 0 rgba(255, 255, 255, 0.2);
}

.register-page .col-xl-5.offset-xl-1::after {
    content: "— REGISTER IN 30 SECONDS —";
    display: block;
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 4px;
    color: rgba(12, 21, 27, 0.55);
    margin-bottom: 28px;
    text-transform: uppercase;
}

/* Intro paragraph — dark readable on yellow */
.register-page .login-text {
    color: rgba(12, 21, 27, 0.75) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.7 !important;
    margin-bottom: 32px !important;
    max-width: 480px;
}

/* Labels — dark instead of white */
.register-page .login-label {
    color: #0c151b !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 0.4px !important;
    text-transform: uppercase;
    margin-bottom: 10px !important;
}

/* Inputs: modern dark glass */
.register-page .login-control {
    background: rgba(12, 21, 27, 0.92) !important;
    border: 1.5px solid rgba(12, 21, 27, 0.85) !important;
    border-radius: 14px !important;
    height: 56px !important;
    box-shadow: 0 10px 26px rgba(12, 21, 27, 0.18),
                inset 0 1px 0 rgba(255, 255, 255, 0.06);
    transition: border-color 0.2s ease,
                box-shadow 0.2s ease,
                transform 0.2s ease !important;
}

.register-page .login-control:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 34px rgba(12, 21, 27, 0.22),
                inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.register-page .login-control:focus-within {
    background: rgba(12, 21, 27, 0.98) !important;
    border-color: #ffc107 !important;
    box-shadow: 0 14px 34px rgba(12, 21, 27, 0.25),
                0 0 0 3px rgba(255, 255, 255, 0.35),
                inset 0 1px 0 rgba(255, 255, 255, 0.08);
    transform: translateY(-1px);
}

.register-page .login-control .icon {
    color: #ffc107 !important;
    width: 54px;
    font-size: 18px;
}

.register-page .login-control input {
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

.register-page .login-control input::placeholder {
    color: rgba(255, 255, 255, 0.4) !important;
}

/* Checkbox agreement — readable dark on yellow */
.register-page .form-group .checkbox label {
    color: rgba(12, 21, 27, 0.8) !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    line-height: 1.6 !important;
}

.register-page .form-group .checkbox label a {
    color: #0c151b !important;
    font-weight: 800 !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.register-page .form-group .checkbox label a:hover {
    color: #ffffff !important;
    text-decoration-color: #ffffff;
}

/* Submit button — editorial big dark solid */
.register-page .btn.btn-primary.btn-hero-dark,
.register-page button[type="submit"].btn-hero-dark {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    max-width: 360px;
    margin-top: 10px !important;
    padding: 18px 36px !important;
    background: #0c151b !important;
    background-color: #0c151b !important;
    color: #ffc107 !important;
    border: 2px solid #0c151b !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    box-shadow: 0 14px 36px rgba(12, 21, 27, 0.35),
                inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
    transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1),
                box-shadow 0.25s ease,
                background 0.25s ease,
                color 0.25s ease !important;
}

.register-page .btn.btn-primary.btn-hero-dark::after,
.register-page button[type="submit"].btn-hero-dark::after {
    content: "→";
    font-size: 18px;
    transition: transform 0.3s ease;
}

.register-page .btn.btn-primary.btn-hero-dark:hover,
.register-page button[type="submit"].btn-hero-dark:hover {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #0c151b !important;
    border-color: #ffffff !important;
    transform: translateY(-3px);
    box-shadow: 0 22px 50px rgba(12, 21, 27, 0.4),
                inset 0 2px 0 rgba(255, 255, 255, 0.5) !important;
}

.register-page .btn.btn-primary.btn-hero-dark:hover::after,
.register-page button[type="submit"].btn-hero-dark:hover::after {
    transform: translateX(6px);
}

/* Alerts — readable on yellow body */
.register-page .alert {
    border-radius: 14px !important;
    border: 1.5px solid rgba(12, 21, 27, 0.15) !important;
    font-weight: 600;
}

.register-page .alert.alert-danger {
    background: rgba(220, 53, 69, 0.95) !important;
    color: #ffffff !important;
    border-color: rgba(220, 53, 69, 1) !important;
}

.register-page .alert.alert-success {
    background: rgba(12, 21, 27, 0.95) !important;
    color: #ffc107 !important;
    border-color: #0c151b !important;
}

/* Responsive */
@media (max-width: 1199px) {
    .register-page .col-xl-5.offset-xl-1::before {
        font-size: clamp(32px, 7vw, 48px);
    }
}

@media (max-width: 991px) {
    .register-page {
        padding: 100px 0 60px !important;
    }
    .register-page .col-xl-5.offset-xl-1::before {
        font-size: 36px;
    }
    .register-page .col-xl-5.offset-xl-1::after {
        font-size: 11px;
        letter-spacing: 2.5px;
        margin-bottom: 22px;
    }
    .register-page .login-control {
        height: 52px !important;
    }
}

@media (max-width: 768px) {
    .register-page {
        padding: 90px 0 50px !important;
    }
    .register-page .col-xl-5.offset-xl-1::before {
        font-size: 30px;
    }
    .register-page .btn.btn-primary.btn-hero-dark,
    .register-page button[type="submit"].btn-hero-dark {
        padding: 16px 28px !important;
        font-size: 14px !important;
    }
}


/* ============================================================
   PHASE 9 — Editorial lift for blog / faq / terms pages
   All three pages sit on dark app background (.appContent).
   Strategy: yellow outline watermarks on dark, massive white
   headlines, eyebrow labels, dark gradient cards with yellow
   accents, modern pill buttons. Scope via :has() to avoid
   affecting other dashboard pages that share .dashboard-head.
   ============================================================ */


/* ============================================================
   9A. blog.twig  (/blog list page)
   Scope: .blog-header / .blog-posts-section / .blog-post-card
   Only blog.twig uses these class names.
   ============================================================ */

/* --- Blog header editorial block --- */
.blog-header {
    background: transparent !important;
    box-shadow: none !important;
    padding: 130px 0 50px !important;
    margin-bottom: 0 !important;
    position: relative;
    overflow: visible;
}

.blog-header--guest {
    padding-top: 160px !important;
}

.blog-header > .container {
    position: relative;
    z-index: 1;
}

/* Giant outline "BLOG" watermark */
.blog-header > .container::before {
    content: "BLOG";
    position: absolute;
    top: -70px;
    left: 50%;
    transform: translateX(-50%);
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: clamp(120px, 18vw, 280px);
    font-weight: 900;
    line-height: 0.85;
    letter-spacing: -12px;
    color: transparent;
    -webkit-text-stroke: 3px rgba(255, 193, 7, 0.18);
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
    z-index: 0;
}

/* Blog intro content card — editorial, transparent, dark-friendly */
.blog-header .blog-main-content {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    text-align: center;
    position: relative;
    z-index: 2;
}

/* Eyebrow label above intro */
.blog-header .blog-main-content::before {
    content: "— INSIGHTS · STRATEGY · NEWS —";
    display: block;
    margin-bottom: 16px;
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 4px;
    color: rgba(255, 193, 7, 0.65);
    text-transform: uppercase;
}

.blog-header .blog-main-content h1,
.blog-header .blog-main-content h2,
.blog-header .blog-main-content h3 {
    font-family: 'Inter', -apple-system, 'Noto Sans Thai', sans-serif;
    font-size: clamp(36px, 5.2vw, 68px) !important;
    font-weight: 900 !important;
    color: #ffffff !important;
    letter-spacing: -1.5px;
    line-height: 1.05 !important;
    margin: 0 0 20px !important;
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.4);
}

.blog-header .blog-main-content p {
    font-size: 17px !important;
    font-weight: 500 !important;
    color: rgba(255, 255, 255, 0.7) !important;
    line-height: 1.75 !important;
    max-width: 680px;
    margin: 0 auto !important;
}

/* Light mode override */
html.light .blog-header .blog-main-content h1,
html.light .blog-header .blog-main-content h2,
html.light .blog-header .blog-main-content h3 {
    color: #0c151b !important;
    text-shadow: 0 2px 0 rgba(255, 255, 255, 0.3);
}

html.light .blog-header .blog-main-content p {
    color: rgba(12, 21, 27, 0.72) !important;
}

html.light .blog-header > .container::before {
    -webkit-text-stroke: 3px rgba(12, 21, 27, 0.14);
}

html.light .blog-header .blog-main-content::before {
    color: rgba(12, 21, 27, 0.55);
}


/* --- Blog posts grid section --- */
.blog-posts-section {
    position: relative;
    padding: 50px 0 100px !important;
    background: transparent !important;
    overflow: visible;
}

.blog-posts-section--guest {
    padding-top: 140px !important;
}

/* Blog logged-in: clear the fixed topbar so top card isn't clipped */
@media (min-width: 992px) {
  body#appDashboard.l2v2 .l2v2-page-blog .blog-header,
  body#appDashboard.l2v2 .l2v2-page-blog .blog-posts-section:first-child { padding-top: 120px !important; }
}
@media (max-width: 991.98px) {
  body#appDashboard.l2v2 .l2v2-page-blog .blog-header,
  body#appDashboard.l2v2 .l2v2-page-blog .blog-posts-section:first-child { padding-top: 96px !important; }
}

.blog-posts-section--guest > .container {
    position: relative;
}

/* If no .blog-header (guest only sees posts) — add watermark here instead */
.blog-posts-section--guest > .container::before {
    content: "BLOG";
    position: absolute;
    top: -90px;
    left: 50%;
    transform: translateX(-50%);
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: clamp(100px, 16vw, 240px);
    font-weight: 900;
    line-height: 0.85;
    letter-spacing: -10px;
    color: transparent;
    -webkit-text-stroke: 3px rgba(255, 193, 7, 0.18);
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
    z-index: 0;
}

html.light .blog-posts-section--guest > .container::before {
    -webkit-text-stroke: 3px rgba(12, 21, 27, 0.14);
}

/* Post card — match signin-blog-card style but adapted */
.blog-posts-section .blog-post-card {
    background: linear-gradient(180deg, #101f28 0%, #0a1218 100%) !important;
    border: 1px solid rgba(255, 193, 7, 0.14) !important;
    border-radius: 22px !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.3),
                0 0 0 1px rgba(255, 255, 255, 0.03) inset !important;
    overflow: hidden !important;
    position: relative;
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
                border-color 0.35s ease,
                box-shadow 0.35s ease !important;
}

.blog-posts-section .blog-post-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 12%;
    right: 12%;
    height: 1px;
    background: linear-gradient(90deg, transparent, #ffc107, transparent);
    opacity: 0.7;
    z-index: 3;
}

.blog-posts-section .blog-post-card:hover {
    transform: translateY(-10px) !important;
    border-color: rgba(255, 193, 7, 0.4) !important;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.45),
                0 0 0 1px rgba(255, 193, 7, 0.15) inset !important;
}

.blog-posts-section .post-thumbnail {
    width: 100%;
    height: 240px !important;
    overflow: hidden;
    border-bottom: none !important;
    position: relative;
}

.blog-posts-section .post-thumbnail::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(10, 18, 24, 0.7) 100%);
    pointer-events: none;
}

.blog-posts-section .post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.blog-posts-section .blog-post-card:hover .post-thumbnail img {
    transform: scale(1.06);
}

.blog-posts-section .post-content {
    padding: 32px 28px 28px !important;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.blog-posts-section .post-content h3 {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    letter-spacing: -0.3px !important;
    line-height: 1.35 !important;
    margin: 0 0 14px !important;
}

.blog-posts-section .post-excerpt {
    font-size: 14.5px !important;
    line-height: 1.72 !important;
    color: rgba(255, 255, 255, 0.62) !important;
    margin-bottom: 22px !important;
    flex-grow: 1;
}

.blog-posts-section .blog-post-card:hover .post-excerpt {
    color: rgba(255, 255, 255, 0.8) !important;
}

/* "อ่านบทความ" — editorial arrow link style */
.blog-posts-section .blog-read-more,
.blog-posts-section .blog-post-card .btn.blog-read-more {
    align-self: flex-start;
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    color: #ffc107 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    position: relative;
    padding-right: 26px !important;
    transition: transform 0.3s ease, color 0.3s ease !important;
    box-shadow: none !important;
}

.blog-posts-section .blog-read-more::after {
    content: "→";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.3s ease;
    font-size: 16px;
}

.blog-posts-section .blog-read-more:hover {
    background: transparent !important;
    color: #ffffff !important;
    transform: none !important;
}

.blog-posts-section .blog-read-more:hover::after {
    transform: translateY(-50%) translateX(6px);
    color: #ffc107;
}

/* Light mode post cards */
html.light .blog-posts-section .blog-post-card {
    background: #ffffff !important;
    border: 1px solid rgba(12, 21, 27, 0.08) !important;
    box-shadow: 0 18px 44px rgba(12, 21, 27, 0.1),
                0 0 0 1px rgba(0, 0, 0, 0.02) inset !important;
}

html.light .blog-posts-section .blog-post-card:hover {
    border-color: rgba(255, 193, 7, 0.5) !important;
    box-shadow: 0 30px 60px rgba(12, 21, 27, 0.15),
                0 0 0 1px rgba(255, 193, 7, 0.2) inset !important;
}

html.light .blog-posts-section .post-content h3 {
    color: #0c151b !important;
}

html.light .blog-posts-section .post-excerpt {
    color: rgba(12, 21, 27, 0.62) !important;
}

html.light .blog-posts-section .blog-post-card:hover .post-excerpt {
    color: rgba(12, 21, 27, 0.8) !important;
}

html.light .blog-posts-section .blog-read-more {
    color: #d97706 !important;
}

html.light .blog-posts-section .blog-read-more:hover {
    color: #0c151b !important;
}

/* --- Pagination --- */
.blog-pagination {
    margin-top: 60px;
    display: flex;
    justify-content: center;
}

.blog-pagination .pagination {
    display: flex !important;
    gap: 8px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.blog-pagination .pagination > li > a,
.blog-pagination .pagination > li > span {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 0 14px !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 193, 7, 0.14) !important;
    border-radius: 999px !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.blog-pagination .pagination > li > a:hover {
    background: rgba(255, 193, 7, 0.1) !important;
    border-color: rgba(255, 193, 7, 0.5) !important;
    color: #ffc107 !important;
    transform: translateY(-2px);
}

.blog-pagination .pagination > li.active > a,
.blog-pagination .pagination > li.active > span {
    background: #ffc107 !important;
    border-color: #ffc107 !important;
    color: #0c151b !important;
    box-shadow: 0 10px 26px rgba(255, 193, 7, 0.3),
                inset 0 2px 0 rgba(255, 255, 255, 0.35) !important;
}

html.light .blog-pagination .pagination > li > a,
html.light .blog-pagination .pagination > li > span {
    background: #ffffff !important;
    border-color: rgba(12, 21, 27, 0.12) !important;
    color: #0c151b !important;
}

html.light .blog-pagination .pagination > li > a:hover {
    background: #0c151b !important;
    color: #ffc107 !important;
    border-color: #0c151b !important;
}

/* Blog responsive */
@media (max-width: 991px) {
    .blog-header {
        padding: 100px 0 40px !important;
    }
    .blog-header > .container::before {
        font-size: clamp(80px, 18vw, 160px);
        top: -40px;
        letter-spacing: -6px;
    }
    .blog-posts-section {
        padding: 40px 0 70px !important;
    }
}

@media (max-width: 768px) {
    .blog-posts-section .post-content {
        padding: 26px 22px 24px !important;
    }
    .blog-posts-section .post-content h3 {
        font-size: 19px !important;
    }
    .blog-posts-section .post-thumbnail {
        height: 200px !important;
    }
    .blog-header .blog-main-content::before {
        font-size: 10px;
        letter-spacing: 2.5px;
    }
    .blog-pagination .pagination > li > a,
    .blog-pagination .pagination > li > span {
        min-width: 38px;
        height: 38px;
        padding: 0 10px !important;
        font-size: 13px !important;
    }
}


/* ============================================================
   9B. faq.twig  (/faq page)
   Scope: .appContent:has(.card-header-ap .faq-ss-tabs)  — only applies when
   the FAQ accordion is present, so we don't touch other
   dashboard pages that share .dashboard-head-wrapper.
   ============================================================ */

/* --- Section spacing + watermark container --- */
.appContent:has(.card-header-ap .faq-ss-tabs) {
    position: relative;
    overflow: hidden;
}

.appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper {
    position: relative;
    padding-top: 40px !important;
    padding-bottom: 30px !important;
    margin-bottom: 30px !important;
    overflow: visible;
}

.appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper > .container {
    position: relative;
    z-index: 1;
}

/* Giant outline "FAQ" watermark */
.appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper > .container::before {
    content: "FAQ";
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: clamp(140px, 20vw, 300px);
    font-weight: 900;
    line-height: 0.85;
    letter-spacing: -12px;
    color: transparent;
    -webkit-text-stroke: 3px rgba(255, 193, 7, 0.18);
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
    z-index: 0;
}

html.light .appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper > .container::before {
    -webkit-text-stroke: 3px rgba(12, 21, 27, 0.14);
}

/* Dashboard head: kill card border, go editorial */
.appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper .dashboard-head {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    position: relative;
    z-index: 2;
}

.appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper .dhead-body {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 0 !important;
    padding: 40px 20px !important;
}

/* Kill the old dollar icon box — use eyebrow label instead */
.appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper .dhead-left {
    display: none !important;
}

.appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper .dhead-right {
    flex: none !important;
    width: auto !important;
    padding: 0 !important;
    text-align: center;
}

.appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper .dhead-right::before {
    content: "— FREQUENTLY ASKED QUESTIONS —";
    display: block;
    margin-bottom: 18px;
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 4px;
    color: rgba(255, 193, 7, 0.7);
    text-transform: uppercase;
}

html.light .appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper .dhead-right::before {
    color: rgba(12, 21, 27, 0.55);
}

.appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper .dhead-body .title {
    font-size: clamp(40px, 6vw, 72px) !important;
    font-weight: 900 !important;
    color: #ffffff !important;
    letter-spacing: -2px !important;
    line-height: 1.02 !important;
    margin: 0 0 16px 0 !important;
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.4);
}

html.light .appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper .dhead-body .title {
    color: #0c151b !important;
    text-shadow: 0 2px 0 rgba(255, 255, 255, 0.3);
}

.appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper .dhead-body .text {
    font-size: 17px !important;
    font-weight: 500 !important;
    color: rgba(255, 255, 255, 0.68) !important;
    line-height: 1.7 !important;
    margin: 0 auto !important;
    max-width: 560px;
}

html.light .appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper .dhead-body .text {
    color: rgba(12, 21, 27, 0.72) !important;
}

/* --- FAQ outer card wrapper — kill boxy look --- */
.appContent:has(.card-header-ap .faq-ss-tabs) > section:last-child .card.card-border {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.appContent:has(.card-header-ap .faq-ss-tabs) > section:last-child .card-header-ap {
    background: transparent !important;
    border: none !important;
    padding: 20px 0 !important;
}

/* --- Accordion container --- */
.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs {
    max-width: 880px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* --- Individual accordion item --- */
.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab {
    position: relative;
    background: linear-gradient(180deg, rgba(16, 31, 40, 0.7) 0%, rgba(10, 18, 24, 0.85) 100%) !important;
    border: 1px solid rgba(255, 193, 7, 0.1) !important;
    border-radius: 20px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden;
    cursor: pointer;
    transition: background 0.35s ease,
                border-color 0.35s ease,
                box-shadow 0.35s ease,
                transform 0.35s cubic-bezier(0.22, 1, 0.36, 1) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

html.light .appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab {
    background: #ffffff !important;
    border: 1px solid rgba(12, 21, 27, 0.08) !important;
    box-shadow: 0 10px 30px rgba(12, 21, 27, 0.08) !important;
}

.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab:hover {
    border-color: rgba(255, 193, 7, 0.3) !important;
    transform: translateY(-2px);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.3);
}

html.light .appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab:hover {
    box-shadow: 0 16px 40px rgba(12, 21, 27, 0.1) !important;
}

/* Active accordion — override old yellow bg rule */
.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab.active {
    background: linear-gradient(180deg, rgba(24, 52, 65, 0.85) 0%, rgba(16, 31, 40, 0.95) 100%) !important;
    border-color: rgba(255, 193, 7, 0.45) !important;
    color: inherit !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35),
                0 0 0 1px rgba(255, 193, 7, 0.15) inset !important;
}

html.light .appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab.active {
    background: #fffdf5 !important;
    border-color: rgba(255, 193, 7, 0.5) !important;
    box-shadow: 0 20px 50px rgba(12, 21, 27, 0.1),
                0 0 0 1px rgba(255, 193, 7, 0.25) inset !important;
}

/* Top yellow highlight bar when active */
.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab::before {
    content: '';
    position: absolute;
    top: 0;
    left: 20px;
    right: 20px;
    height: 2px;
    background: linear-gradient(90deg, transparent, #ffc107, transparent);
    opacity: 0;
    transition: opacity 0.35s ease;
    z-index: 2;
}

.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab.active::before {
    opacity: 1;
}

/* Head: question text + plus/minus badge */
.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-head {
    padding: 22px 26px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1.5 !important;
    transition: color 0.25s ease;
}

html.light .appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-head {
    color: #0c151b !important;
}

.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab.active .ss-tab-head {
    color: #ffc107 !important;
}

html.light .appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab.active .ss-tab-head {
    color: #0c151b !important;
}

.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-head > .row {
    align-items: center !important;
    margin: 0 !important;
    flex-wrap: nowrap;
    gap: 20px;
}

.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-head > .row > .col {
    padding: 0 !important;
    flex: 1 1 auto;
}

.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-head .right-p {
    flex: 0 0 auto !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255, 193, 7, 0.1) !important;
    border: 1px solid rgba(255, 193, 7, 0.3) !important;
    border-radius: 50% !important;
    color: #ffc107 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab.active .ss-tab-head .right-p {
    background: #ffc107 !important;
    border-color: #ffc107 !important;
    color: #0c151b !important;
    transform: rotate(180deg);
    box-shadow: 0 8px 22px rgba(255, 193, 7, 0.4);
}

/* Content area */
.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-content {
    padding: 0 26px 26px !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
    color: rgba(255, 255, 255, 0.72) !important;
    border-top: 1px solid rgba(255, 193, 7, 0.1);
    padding-top: 20px !important;
    margin-top: 0 !important;
}

html.light .appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-content {
    color: rgba(12, 21, 27, 0.72) !important;
    border-top-color: rgba(12, 21, 27, 0.08);
}

.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-content a {
    color: #ffc107 !important;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: rgba(255, 193, 7, 0.4);
    transition: text-decoration-color 0.25s ease;
}

.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-content a:hover {
    text-decoration-color: #ffc107;
}

/* Responsive */
@media (max-width: 768px) {
    .appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper > .container::before {
        font-size: clamp(90px, 22vw, 140px);
        top: -20px;
        letter-spacing: -6px;
    }
    .appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper .dhead-body {
        padding: 30px 15px !important;
    }
    .appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper .dhead-right::before {
        font-size: 10px;
        letter-spacing: 2.5px;
    }
    .appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-head {
        padding: 18px 20px !important;
        font-size: 15px !important;
    }
    .appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-content {
        padding: 16px 20px 22px !important;
        font-size: 14px !important;
    }
    .appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-head .right-p {
        width: 34px !important;
        height: 34px !important;
        font-size: 12px !important;
    }
}


/* ============================================================
   9C. terms.twig  (/terms page)
   Scope: .appContent:has(.tos-page)
   ============================================================ */

.appContent:has(.tos-page) {
    position: relative;
    overflow: hidden;
}

.appContent:has(.tos-page) .dashboard-head-wrapper {
    position: relative;
    padding-top: 40px !important;
    padding-bottom: 40px !important;
    margin-bottom: 20px !important;
    overflow: visible;
}

.appContent:has(.tos-page) .dashboard-head-wrapper > .container {
    position: relative;
    z-index: 1;
}

/* Giant outline "LEGAL" watermark */
.appContent:has(.tos-page) .dashboard-head-wrapper > .container::before {
    content: "LEGAL";
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: clamp(120px, 18vw, 260px);
    font-weight: 900;
    line-height: 0.85;
    letter-spacing: -12px;
    color: transparent;
    -webkit-text-stroke: 3px rgba(255, 193, 7, 0.18);
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
    z-index: 0;
}

html.light .appContent:has(.tos-page) .dashboard-head-wrapper > .container::before {
    -webkit-text-stroke: 3px rgba(12, 21, 27, 0.14);
}

.appContent:has(.tos-page) .dashboard-head-wrapper .dashboard-head {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    position: relative;
    z-index: 2;
}

.appContent:has(.tos-page) .dashboard-head-wrapper .dhead-body {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 0 !important;
    padding: 40px 20px !important;
}

.appContent:has(.tos-page) .dashboard-head-wrapper .dhead-left {
    display: none !important;
}

.appContent:has(.tos-page) .dashboard-head-wrapper .dhead-right {
    flex: none !important;
    width: 100% !important;
    max-width: 820px;
    padding: 0 !important;
    text-align: center;
}

.appContent:has(.tos-page) .dashboard-head-wrapper .dhead-right::before {
    content: "— TERMS · PRIVACY · REFUND · LAW —";
    display: block;
    margin-bottom: 18px;
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 4px;
    color: rgba(255, 193, 7, 0.7);
    text-transform: uppercase;
}

html.light .appContent:has(.tos-page) .dashboard-head-wrapper .dhead-right::before {
    color: rgba(12, 21, 27, 0.55);
}

.appContent:has(.tos-page) .dashboard-head-wrapper .dhead-body .title {
    font-size: clamp(40px, 6vw, 68px) !important;
    font-weight: 900 !important;
    color: #ffffff !important;
    letter-spacing: -2px !important;
    line-height: 1.02 !important;
    margin: 0 0 18px 0 !important;
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.4);
}

html.light .appContent:has(.tos-page) .dashboard-head-wrapper .dhead-body .title {
    color: #0c151b !important;
    text-shadow: 0 2px 0 rgba(255, 255, 255, 0.3);
}

.appContent:has(.tos-page) .dashboard-head-wrapper .dhead-body .text,
.appContent:has(.tos-page) .dashboard-head-wrapper .dhead-body .tos-intro-text {
    font-size: 15.5px !important;
    font-weight: 500 !important;
    color: rgba(255, 255, 255, 0.68) !important;
    line-height: 1.78 !important;
    margin: 0 auto !important;
    max-width: 780px;
}

html.light .appContent:has(.tos-page) .dashboard-head-wrapper .dhead-body .text,
html.light .appContent:has(.tos-page) .dashboard-head-wrapper .dhead-body .tos-intro-text {
    color: rgba(12, 21, 27, 0.72) !important;
}

/* --- Terms outer card wrapper --- */
.appContent:has(.tos-page) > section:last-child .card.card-border {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.appContent:has(.tos-page) > section:last-child .card-header-ap {
    background: transparent !important;
    border: none !important;
    padding: 20px 0 0 !important;
}

/* --- Tab navigation pill segmented --- */
.appContent:has(.tos-page) .tos-page {
    max-width: 960px;
    margin: 0 auto;
}

.appContent:has(.tos-page) .tos-page .tos-nav-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 12px 22px !important;
    margin: 0 6px 12px 0 !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 193, 7, 0.14) !important;
    border-radius: 999px !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: rgba(255, 255, 255, 0.72) !important;
    cursor: pointer !important;
    transition: all 0.25s cubic-bezier(0.22, 1, 0.36, 1) !important;
    box-shadow: none !important;
}

html.light .appContent:has(.tos-page) .tos-page .tos-nav-btn {
    background: #ffffff !important;
    border-color: rgba(12, 21, 27, 0.1) !important;
    color: rgba(12, 21, 27, 0.7) !important;
    box-shadow: 0 4px 12px rgba(12, 21, 27, 0.04) !important;
}

.appContent:has(.tos-page) .tos-page .tos-nav-btn:hover {
    background: rgba(255, 193, 7, 0.1) !important;
    border-color: rgba(255, 193, 7, 0.45) !important;
    color: #ffc107 !important;
    transform: translateY(-2px);
}

html.light .appContent:has(.tos-page) .tos-page .tos-nav-btn:hover {
    background: #0c151b !important;
    border-color: #0c151b !important;
    color: #ffc107 !important;
}

.appContent:has(.tos-page) .tos-page .tos-nav-btn.active {
    background: #ffc107 !important;
    border-color: #ffc107 !important;
    color: #0c151b !important;
    box-shadow: 0 10px 26px rgba(255, 193, 7, 0.35),
                inset 0 2px 0 rgba(255, 255, 255, 0.35) !important;
}

.appContent:has(.tos-page) .tos-page .tos-nav-btn.active span {
    color: #0c151b !important;
}

/* --- Content card wrapper --- */
.appContent:has(.tos-page) .tos-page .d-card {
    background: linear-gradient(180deg, rgba(16, 31, 40, 0.7) 0%, rgba(10, 18, 24, 0.85) 100%) !important;
    border: 1px solid rgba(255, 193, 7, 0.12) !important;
    border-radius: 22px !important;
    padding: 40px 44px !important;
    margin-top: 20px !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3),
                0 0 0 1px rgba(255, 255, 255, 0.03) inset !important;
    position: relative;
    overflow: hidden;
}

.appContent:has(.tos-page) .tos-page .d-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 20%;
    right: 20%;
    height: 2px;
    background: linear-gradient(90deg, transparent, #ffc107, transparent);
    opacity: 0.6;
}

html.light .appContent:has(.tos-page) .tos-page .d-card {
    background: #ffffff !important;
    border-color: rgba(12, 21, 27, 0.08) !important;
    box-shadow: 0 20px 50px rgba(12, 21, 27, 0.08),
                0 0 0 1px rgba(0, 0, 0, 0.02) inset !important;
}

/* --- Tab content pane --- */
.appContent:has(.tos-page) .tos-tabs .tos-tab {
    display: none;
}

.appContent:has(.tos-page) .tos-tabs .tos-tab.active {
    display: block;
    animation: tosTabFadeIn 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes tosTabFadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

.appContent:has(.tos-page) .tos-tab h4 {
    font-size: clamp(26px, 3.5vw, 38px) !important;
    font-weight: 900 !important;
    color: #ffffff !important;
    letter-spacing: -0.8px;
    line-height: 1.15 !important;
    padding: 0 0 20px !important;
    margin: 0 0 28px !important;
    border-bottom: 1px solid rgba(255, 193, 7, 0.2) !important;
    position: relative;
}

html.light .appContent:has(.tos-page) .tos-tab h4 {
    color: #0c151b !important;
    border-bottom-color: rgba(12, 21, 27, 0.1) !important;
}

.appContent:has(.tos-page) .tos-tab h4::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 60px;
    height: 3px;
    background: #ffc107;
    border-radius: 999px;
}

/* Section label — larger, more prominent */
.appContent:has(.tos-page) .tos-section-label {
    display: inline-block;
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase;
    color: #ffc107 !important;
    background: rgba(255, 193, 7, 0.08) !important;
    border: 1px solid rgba(255, 193, 7, 0.25) !important;
    padding: 7px 16px !important;
    border-radius: 999px !important;
    margin: 30px 0 18px !important;
}

html.light .appContent:has(.tos-page) .tos-section-label {
    color: #d97706 !important;
    background: rgba(255, 193, 7, 0.15) !important;
    border-color: rgba(255, 193, 7, 0.45) !important;
}

.appContent:has(.tos-page) .tos-tab .tos-sub {
    font-size: 17px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    margin: 26px 0 10px !important;
    padding-left: 0 !important;
    letter-spacing: -0.2px;
}

html.light .appContent:has(.tos-page) .tos-tab .tos-sub {
    color: #0c151b !important;
}

.appContent:has(.tos-page) .tos-tab p {
    font-size: 14.5px !important;
    line-height: 1.85 !important;
    color: rgba(255, 255, 255, 0.75) !important;
    margin-bottom: 12px !important;
}

html.light .appContent:has(.tos-page) .tos-tab p {
    color: rgba(12, 21, 27, 0.75) !important;
}

.appContent:has(.tos-page) .tos-tab ul {
    margin: 10px 0 20px !important;
    padding-left: 24px !important;
}

.appContent:has(.tos-page) .tos-tab ul li {
    font-size: 14.5px !important;
    line-height: 1.85 !important;
    color: rgba(255, 255, 255, 0.72) !important;
    margin-bottom: 6px !important;
}

html.light .appContent:has(.tos-page) .tos-tab ul li {
    color: rgba(12, 21, 27, 0.72) !important;
}

.appContent:has(.tos-page) .tos-tab strong,
.appContent:has(.tos-page) .tos-tab ul li strong {
    color: #ffffff !important;
    font-weight: 800;
}

html.light .appContent:has(.tos-page) .tos-tab strong,
html.light .appContent:has(.tos-page) .tos-tab ul li strong {
    color: #0c151b !important;
}

/* Numbered legal items — card-like with yellow bar */
.appContent:has(.tos-page) .tos-item {
    padding: 18px 22px 18px 22px !important;
    margin: 10px 0 !important;
    background: rgba(255, 255, 255, 0.025) !important;
    border: 1px solid rgba(255, 193, 7, 0.08) !important;
    border-left: 3px solid rgba(255, 193, 7, 0.55) !important;
    border-radius: 14px !important;
    transition: all 0.3s ease;
}

.appContent:has(.tos-page) .tos-item:hover {
    background: rgba(255, 255, 255, 0.04) !important;
    border-left-color: #ffc107 !important;
    transform: translateX(4px);
}

html.light .appContent:has(.tos-page) .tos-item {
    background: rgba(12, 21, 27, 0.02) !important;
    border-color: rgba(255, 193, 7, 0.25) !important;
    border-left-color: #ffc107 !important;
}

html.light .appContent:has(.tos-page) .tos-item:hover {
    background: rgba(255, 193, 7, 0.05) !important;
}

.appContent:has(.tos-page) .tos-item p {
    margin: 0 !important;
}

.appContent:has(.tos-page) .tos-item-num {
    display: inline-block;
    min-width: 34px;
    padding: 2px 8px;
    margin-right: 8px;
    background: rgba(255, 193, 7, 0.15);
    border: 1px solid rgba(255, 193, 7, 0.35);
    border-radius: 6px;
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #ffc107 !important;
    text-align: center;
    letter-spacing: 0.3px;
}

html.light .appContent:has(.tos-page) .tos-item-num {
    background: rgba(255, 193, 7, 0.2);
    border-color: rgba(255, 193, 7, 0.45);
    color: #d97706 !important;
}

/* Highlight / warning box */
.appContent:has(.tos-page) .tos-highlight {
    background: rgba(220, 53, 69, 0.08) !important;
    border: 1px solid rgba(220, 53, 69, 0.3) !important;
    border-left: 4px solid #dc3545 !important;
    border-radius: 14px !important;
    padding: 18px 22px !important;
    margin: 22px 0 !important;
    position: relative;
}

.appContent:has(.tos-page) .tos-highlight::before {
    content: '⚠';
    position: absolute;
    top: 16px;
    right: 20px;
    font-size: 20px;
    opacity: 0.6;
}

.appContent:has(.tos-page) .tos-highlight p {
    color: #fca5a5 !important;
    font-weight: 600 !important;
}

.appContent:has(.tos-page) .tos-highlight strong {
    color: #ef4444 !important;
}

html.light .appContent:has(.tos-page) .tos-highlight {
    background: rgba(220, 53, 69, 0.05) !important;
    border-color: rgba(220, 53, 69, 0.35) !important;
}

html.light .appContent:has(.tos-page) .tos-highlight p {
    color: #991b1b !important;
}

html.light .appContent:has(.tos-page) .tos-highlight strong {
    color: #dc2626 !important;
}

/* Info box */
.appContent:has(.tos-page) .tos-info-box {
    background: rgba(59, 130, 246, 0.08) !important;
    border: 1px solid rgba(59, 130, 246, 0.3) !important;
    border-left: 4px solid #3b82f6 !important;
    border-radius: 14px !important;
    padding: 18px 22px !important;
    margin: 22px 0 !important;
    position: relative;
}

.appContent:has(.tos-page) .tos-info-box::before {
    content: 'ⓘ';
    position: absolute;
    top: 16px;
    right: 20px;
    font-size: 20px;
    opacity: 0.6;
}

.appContent:has(.tos-page) .tos-info-box p {
    color: #93c5fd !important;
    font-weight: 600 !important;
}

html.light .appContent:has(.tos-page) .tos-info-box p {
    color: #1e40af !important;
}

/* Contact box */
.appContent:has(.tos-page) .tos-contact-box {
    background: rgba(255, 193, 7, 0.06) !important;
    border: 1px solid rgba(255, 193, 7, 0.3) !important;
    border-left: 4px solid #ffc107 !important;
    border-radius: 14px !important;
    padding: 20px 24px !important;
    margin: 26px 0 12px !important;
    position: relative;
}

.appContent:has(.tos-page) .tos-contact-box::before {
    content: '📧';
    position: absolute;
    top: 18px;
    right: 22px;
    font-size: 20px;
    opacity: 0.8;
}

.appContent:has(.tos-page) .tos-contact-box p {
    color: rgba(255, 255, 255, 0.85) !important;
    font-weight: 600 !important;
}

html.light .appContent:has(.tos-page) .tos-contact-box p {
    color: rgba(12, 21, 27, 0.85) !important;
}

/* Update date footer */
.appContent:has(.tos-page) .tos-update-date {
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 11px !important;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.4) !important;
    margin-top: 36px !important;
    padding-top: 20px !important;
    border-top: 1px solid rgba(255, 193, 7, 0.15) !important;
}

html.light .appContent:has(.tos-page) .tos-update-date {
    color: rgba(12, 21, 27, 0.5) !important;
    border-top-color: rgba(12, 21, 27, 0.08) !important;
}

/* Responsive */
@media (max-width: 768px) {
    .appContent:has(.tos-page) .dashboard-head-wrapper > .container::before {
        font-size: clamp(80px, 22vw, 130px);
        top: -25px;
        letter-spacing: -6px;
    }
    .appContent:has(.tos-page) .dashboard-head-wrapper .dhead-body {
        padding: 30px 15px !important;
    }
    .appContent:has(.tos-page) .dashboard-head-wrapper .dhead-right::before {
        font-size: 10px;
        letter-spacing: 2.5px;
    }
    .appContent:has(.tos-page) .tos-page .d-card {
        padding: 28px 22px !important;
    }
    .appContent:has(.tos-page) .tos-page .tos-nav-btn {
        padding: 10px 16px !important;
        font-size: 12px !important;
        margin: 0 4px 10px 0 !important;
    }
    .appContent:has(.tos-page) .tos-tab p,
    .appContent:has(.tos-page) .tos-tab ul li {
        font-size: 13.5px !important;
    }
    .appContent:has(.tos-page) .tos-item {
        padding: 14px 18px !important;
    }
    .appContent:has(.tos-page) .tos-highlight::before,
    .appContent:has(.tos-page) .tos-info-box::before,
    .appContent:has(.tos-page) .tos-contact-box::before {
        display: none;
    }
}


/* ============================================================
   PHASE 9 FIX PATCH — Critical layout bugs in FAQ/Terms/Blog
   Root causes identified from user screenshots:
   1. Base .dhead-body max-width: 80%/70% (style.css:5077,5084)
      forces header content into left 70-80% → title not centered
   2. Bootstrap row-cols-md-2 wrapping col-lg-12 forces children
      to 50% width at md breakpoint — col-lg-12 loses specificity
      → accordion/tab content only fills LEFT half of container
   3. Blog guest watermark at top:-90px gets hidden under fixed nav
   ============================================================ */


/* --- Fix 1: Full-width centered dashboard header for FAQ/Terms --- */
.appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper .dhead-body,
.appContent:has(.tos-page) .dashboard-head-wrapper .dhead-body {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 50px 30px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 0 !important;
}

@media (min-width: 992px) {
    .appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper .dhead-body,
    .appContent:has(.tos-page) .dashboard-head-wrapper .dhead-body {
        max-width: 100% !important;
        padding: 70px 30px !important;
    }
}

/* Make title + text actually center-align their text too */
.appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper .dhead-body .title,
.appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper .dhead-body .text,
.appContent:has(.tos-page) .dashboard-head-wrapper .dhead-body .title,
.appContent:has(.tos-page) .dashboard-head-wrapper .dhead-body .text {
    text-align: center !important;
    width: 100% !important;
    max-width: 780px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* dhead-right wrapper full width */
.appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper .dhead-right,
.appContent:has(.tos-page) .dashboard-head-wrapper .dhead-right {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    padding: 0 !important;
    text-align: center !important;
}


/* --- Fix 2: row-cols-md-2 forcing 50% width on col-lg-12 --- */
.appContent:has(.card-header-ap .faq-ss-tabs) .card-header-ap > .row.row-cols-md-2,
.appContent:has(.tos-page) .card-header-ap > .row.row-cols-md-2 {
    --bs-gutter-x: 0 !important;
    --bs-gutter-y: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    row-gap: 0 !important;
    display: block !important;
}

.appContent:has(.card-header-ap .faq-ss-tabs) .card-header-ap > .row.row-cols-md-2 > *,
.appContent:has(.tos-page) .card-header-ap > .row.row-cols-md-2 > * {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-top: 0 !important;
}

/* Kill outer .card / .card-header wrappers that force white bg
   (Bootstrap .card default bg is #fff; we want transparent) */
.appContent:has(.card-header-ap .faq-ss-tabs) > section .card,
.appContent:has(.card-header-ap .faq-ss-tabs) > section .card-header,
.appContent:has(.card-header-ap .faq-ss-tabs) > section .card-header-ap,
.appContent:has(.tos-page) > section .card,
.appContent:has(.tos-page) > section .card-header,
.appContent:has(.tos-page) > section .card-header-ap {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Dashboard-head outer card on FAQ/Terms — kill its border/bg too */
.appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper .dashboard-head.card-border,
.appContent:has(.tos-page) .dashboard-head-wrapper .dashboard-head.card-border {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}


/* --- Fix 3: Blog guest page — move watermark above posts, ensure
   it's visible below fixed nav --- */

/* Blog guest page — giant editorial hero: watermark + eyebrow + headline.
   Uses 3 pseudo layers (section::before/::after + container::before).
   Section has breathing room pushed below fixed nav. */
.blog-posts-section--guest {
    padding-top: 320px !important;
    padding-bottom: 120px !important;
    position: relative;
    overflow: visible;
}

/* Layer 1: Giant outline watermark "BLOG" (background) */
.blog-posts-section--guest::before {
    content: "BLOG";
    position: absolute;
    top: 130px;
    left: 50%;
    transform: translateX(-50%);
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: clamp(120px, 18vw, 280px);
    font-weight: 900;
    line-height: 0.82;
    letter-spacing: -12px;
    color: transparent;
    -webkit-text-stroke: 3px rgba(12, 21, 27, 0.14);
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
    z-index: 0;
}

html.dark .blog-posts-section--guest::before {
    -webkit-text-stroke: 3px rgba(255, 193, 7, 0.18);
}

/* Layer 2: Solid editorial headline stacked over the watermark */
.blog-posts-section--guest::after {
    content: "บทความ & ข่าวสาร ล่าสุด";
    position: absolute;
    top: 200px;
    left: 50%;
    transform: translateX(-50%);
    font-family: 'Inter', 'Noto Sans Thai', -apple-system, sans-serif;
    font-size: clamp(30px, 4.6vw, 62px);
    font-weight: 900;
    line-height: 1.05;
    letter-spacing: -1.2px;
    color: #0c151b;
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
    z-index: 2;
    text-shadow: 0 2px 0 rgba(255, 255, 255, 0.35);
}

html.dark .blog-posts-section--guest::after {
    color: #ffffff;
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.4);
}

/* Layer 3: Eyebrow pill above the headline (uses container::before) */
.blog-posts-section--guest > .container {
    position: relative;
    z-index: 3;
}

.blog-posts-section--guest > .container::before {
    content: "— INSIGHTS · STRATEGY · NEWS —";
    position: absolute;
    top: -155px;
    left: 50%;
    transform: translateX(-50%);
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 4px;
    color: rgba(12, 21, 27, 0.6);
    text-transform: uppercase;
    white-space: nowrap;
    pointer-events: none;
    z-index: 3;
    display: block !important;
    padding: 8px 18px;
    border: 1px solid rgba(12, 21, 27, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.35);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

html.dark .blog-posts-section--guest > .container::before {
    color: rgba(255, 193, 7, 0.85);
    border-color: rgba(255, 193, 7, 0.28);
    background: rgba(12, 21, 27, 0.4);
}

/* Ensure post cards float above the watermark layer */
.blog-posts-section--guest > .container > .row {
    position: relative;
    z-index: 2;
}

@media (max-width: 991px) {
    .blog-posts-section--guest {
        padding-top: 240px !important;
        padding-bottom: 80px !important;
    }
    .blog-posts-section--guest::before {
        top: 100px;
        font-size: clamp(70px, 20vw, 140px);
        letter-spacing: -6px;
    }
    .blog-posts-section--guest::after {
        top: 148px;
        font-size: clamp(22px, 6.2vw, 38px);
        letter-spacing: -0.5px;
    }
    .blog-posts-section--guest > .container::before {
        top: -95px;
        font-size: 10px;
        letter-spacing: 2.5px;
        padding: 6px 14px;
    }
}

@media (max-width: 575px) {
    .blog-posts-section--guest::after {
        white-space: normal;
        width: 90%;
        text-align: center;
    }
}


/* --- Fix 4: FAQ accordion — stronger active state + better spacing
   NOTE: Do NOT override `display` on .ss-tab-content — jQuery in
   layout.twig uses .slideToggle() which manages inline display style.
   Any CSS display rule here would fight with jQuery's animation. --- */
.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs {
    gap: 16px;
    padding: 10px 0 40px !important;
}


/* --- Fix 5: Terms d-card margin + width when row-cols-md-2 fix applies --- */
.appContent:has(.tos-page) .tos-page {
    max-width: 960px !important;
    margin: 0 auto !important;
    padding: 20px 0 60px !important;
}

.appContent:has(.tos-page) .tos-page .d-card {
    width: 100%;
    max-width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Tab nav row — center the pills */
.appContent:has(.tos-page) .tos-page > .tos-nav-btn:first-of-type {
    margin-left: 0 !important;
}


/* ============================================================
   SIDEBAR COMPACT — Light tightening
   Desktop (≥993px): ~12% reduction in per-item height
   Mobile  (≤992px): ~7% reduction (subtle)
   Text size UNCHANGED on both — only vertical spacing/padding
   ============================================================ */

/* --- Mobile (tighten ~15-17% total) --- */
@media (max-width: 992px) {
    .sbMenu {
        gap: 11px !important;  /* was 15, now -27% */
        padding: 0 26px !important;  /* was 0 30 */
    }
    .sbMenu .mLink {
        padding: 12px 18px !important;  /* was 15px 20px */
    }
    .sbMenu .mLink .mIcon {
        font-size: 19px !important;  /* was 20 */
        width: 34px !important;  /* was 37 */
    }
    .sbMenu li.qr-code-item {
        margin-top: 16px !important;
    }
}

/* --- Desktop (~12% tighten) --- */
@media (min-width: 993px) {
    .sbMenuWr {
        padding: 16px 0 32px !important;  /* was 20 0 40 */
    }

    .sbMenu {
        gap: 12px !important;  /* was 15 */
        padding: 0 26px !important;  /* was 0 30 */
    }

    .sbMenu .mLink {
        padding: 13px 18px !important;  /* was 15px 20px */
    }

    /* Text size stays 14px — untouched */

    .sbMenu .mLink .mIcon {
        font-size: 19px !important;  /* was 20 */
        width: 34px !important;  /* was 37 */
    }

    /* QR code item: trim a bit of the top gap too */
    .sbMenu li.qr-code-item {
        margin-top: 18px !important;
    }

    /* Section more-button (if present) */
    .sbMenu .mSMore {
        padding: 13px 18px !important;
    }
    .sbMenu .mSMore .mIcon {
        font-size: 19px !important;
    }
}


/* ============================================================
   PHASE 10 — FAQ PREMIUM REDESIGN (Apple / Linear / Vercel)
   ------------------------------------------------------------
   Problem: Previous pass created white cards on yellow body
   (html.light kicking in) — flat, low-contrast, cheap.
   Inspiration: Linear changelog cards, Vercel docs, Stripe FAQ,
   Framer support — dark editorial cards on colored body with
   CSS-counter numbering, big typography, single circular icon.
   ============================================================ */

/* --- Tighten hero so cards aren't floating in emptiness --- */
.appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper {
    padding-bottom: 0 !important;
    margin-bottom: -40px;
}

.appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper .dhead-body,
html.light .appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper .dhead-body {
    padding: 70px 30px 30px !important;
}

@media (min-width: 992px) {
    .appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper .dhead-body,
    html.light .appContent:has(.card-header-ap .faq-ss-tabs) .dashboard-head-wrapper .dhead-body {
        padding: 90px 30px 30px !important;
    }
}

/* --- List container: counter reset + tighter gap + hard centering --- */
.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs {
    counter-reset: faq-counter;
    max-width: 920px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 20px 0 100px !important;
    gap: 12px !important;
    position: relative;
    z-index: 2;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
}

/* Force the parent chain to be full-width so faq-ss-tabs centers cleanly
   inside the section's container (not offset to left) */
.appContent:has(.card-header-ap .faq-ss-tabs) > section:last-child > .container {
    max-width: 1200px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}

.appContent:has(.card-header-ap .faq-ss-tabs) > section:last-child .card,
.appContent:has(.card-header-ap .faq-ss-tabs) > section:last-child .card-header-ap,
.appContent:has(.card-header-ap .faq-ss-tabs) > section:last-child .card-header-ap > .row,
.appContent:has(.card-header-ap .faq-ss-tabs) > section:last-child .card-header-ap > .row > .col-lg-12 {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    flex: 0 0 100% !important;
    display: block !important;
}

/* --- CARD: force dark editorial on BOTH themes --- */
.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab,
html.light .appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab {
    counter-increment: faq-counter;
    position: relative;
    background: linear-gradient(180deg, #101f28 0%, #0a1218 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-radius: 22px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden;
    cursor: pointer;
    box-shadow: 0 14px 44px rgba(12, 21, 27, 0.22),
                0 1px 0 rgba(255, 255, 255, 0.04) inset !important;
    transition: border-color 0.4s ease,
                transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
                box-shadow 0.4s ease !important;
}

.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab:hover,
html.light .appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab:hover {
    border-color: rgba(255, 193, 7, 0.32) !important;
    transform: translateY(-3px);
    box-shadow: 0 24px 56px rgba(12, 21, 27, 0.32),
                0 1px 0 rgba(255, 255, 255, 0.08) inset !important;
}

.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab.active,
html.light .appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab.active {
    background: linear-gradient(180deg, #15283a 0%, #0b141a 100%) !important;
    border-color: rgba(255, 193, 7, 0.42) !important;
    box-shadow: 0 28px 64px rgba(12, 21, 27, 0.4),
                0 0 0 1px rgba(255, 193, 7, 0.2) inset,
                0 0 48px rgba(255, 193, 7, 0.12) !important;
    transform: translateY(-2px) scale(1.003);
}

/* Top glowing accent line on active */
.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab::before {
    content: '' !important;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, #ffc107, transparent);
    opacity: 0;
    transition: width 0.55s ease, opacity 0.35s ease;
    z-index: 2;
    display: block !important;
}
.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab.active::before {
    width: 72%;
    opacity: 1;
}

/* --- HEAD: the clickable question row --- */
.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-head,
html.light .appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-head {
    padding: 26px 30px !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1.5 !important;
    transition: color 0.3s ease;
    background: transparent !important;
}

.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab.active .ss-tab-head,
html.light .appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab.active .ss-tab-head {
    color: #ffc107 !important;
}

.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-head > .row {
    align-items: center !important;
    margin: 0 !important;
    flex-wrap: nowrap !important;
    gap: 22px;
}

.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-head > .row > .col {
    padding: 0 !important;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 22px;
    min-width: 0;
}

/* Question number prefix (01, 02 ... via CSS counter) */
.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-head > .row > .col::before {
    content: counter(faq-counter, decimal-leading-zero);
    flex: 0 0 auto;
    font-family: 'Inter', 'SF Mono', -apple-system, monospace;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
    color: rgba(255, 193, 7, 0.65);
    padding: 8px 12px;
    background: rgba(255, 193, 7, 0.06);
    border: 1px solid rgba(255, 193, 7, 0.18);
    border-radius: 8px;
    line-height: 1;
    transition: all 0.35s ease;
}

.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab.active .ss-tab-head > .row > .col::before {
    background: #ffc107;
    border-color: #ffc107;
    color: #0c151b;
    box-shadow: 0 6px 18px rgba(255, 193, 7, 0.35);
}

/* Toggle icon button (plus/minus wrapper) */
.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-head .right-p {
    flex: 0 0 auto !important;
    width: 46px !important;
    height: 46px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 50% !important;
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 15px !important;
    line-height: 1 !important;
    transition: all 0.45s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab:hover .ss-tab-head .right-p {
    background: rgba(255, 193, 7, 0.1) !important;
    border-color: rgba(255, 193, 7, 0.35) !important;
    color: #ffc107 !important;
}

.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab.active .ss-tab-head .right-p {
    background: #ffc107 !important;
    border-color: #ffc107 !important;
    color: #0c151b !important;
    box-shadow: 0 10px 28px rgba(255, 193, 7, 0.45),
                0 0 0 6px rgba(255, 193, 7, 0.1) !important;
}

/* Keep fa-plus/minus visible (original CSS handles swap) */
.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-head .right-p i {
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

/* --- CONTENT: expanded panel --- */
.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-content,
html.light .appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-content {
    padding: 22px 30px 30px 82px !important;
    font-size: 15px !important;
    line-height: 1.85 !important;
    color: rgba(255, 255, 255, 0.72) !important;
    border-top: 1px solid rgba(255, 193, 7, 0.1) !important;
    margin-top: 0 !important;
    background: transparent !important;
    position: relative;
}

/* Subtle yellow indicator dot at content start */
.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-content::before {
    content: '';
    position: absolute;
    left: 40px;
    top: 30px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #ffc107;
    box-shadow: 0 0 12px rgba(255, 193, 7, 0.6);
}

.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-content a {
    color: #ffc107 !important;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: rgba(255, 193, 7, 0.4);
    transition: text-decoration-color 0.25s ease;
}

.appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-content a:hover {
    text-decoration-color: #ffc107;
}

/* --- RESPONSIVE --- */
@media (max-width: 768px) {
    .appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs {
        padding: 10px 0 60px !important;
    }
    .appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-head {
        padding: 20px 20px !important;
        font-size: 15px !important;
    }
    .appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-head > .row {
        gap: 14px;
    }
    .appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-head > .row > .col {
        gap: 14px;
    }
    .appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-head > .row > .col::before {
        font-size: 11px;
        padding: 6px 9px;
    }
    .appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-content {
        padding: 18px 20px 22px 20px !important;
        font-size: 14px !important;
    }
    .appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-content::before {
        display: none;
    }
    .appContent:has(.card-header-ap .faq-ss-tabs) .faq-ss-tabs .home-ss-tab .ss-tab-head .right-p {
        width: 40px !important;
        height: 40px !important;
        font-size: 13px !important;
    }
}


/* ============================================================
   END MODERNIZATION PACK v2026-04
   ============================================================ */


/* ============================================================
   QR PAYMENT MODAL — Premium loading experience (2026-04-25)
   Modern minimal: soft glass card, concentric radar rings, 3-dot
   wave loader, rotating status, hairline LIKESTER wordmark.
   Ported pattern from adserve R14.4 but redesigned visually so
   the two brands feel distinct.
   ============================================================ */

/* --- Modal delayed reveal (1.7s) --- */
.modal.fade:has(#qr-code-image) .modal-dialog {
    opacity: 0;
    transform: scale(0.95) translateY(18px);
}
.modal.fade.show:has(#qr-code-image) .modal-dialog,
.modal.fade.in:has(#qr-code-image) .modal-dialog {
    animation: lkQRReveal 0.55s cubic-bezier(0.22, 1, 0.36, 1) 1.7s both;
}
@keyframes lkQRReveal {
    from { opacity: 0; transform: scale(0.95) translateY(18px); }
    to   { opacity: 1; transform: scale(1) translateY(0); }
}

/* --- Backdrop tweaks while QR modal is open ---
   Likester already hides .modal-backdrop and applies blur on .modal.show,
   but lift the blur strength + tint while QR is loading so the page
   recedes more deeply. */
body:has(.modal.show #qr-code-image) .modal.show {
    background: rgba(255, 191, 0, 0.08) !important;
    backdrop-filter: blur(20px) saturate(1.4) !important;
    -webkit-backdrop-filter: blur(20px) saturate(1.4) !important;
}
html.dark body:has(.modal.show #qr-code-image) .modal.show {
    background: rgba(12, 20, 27, 0.55) !important;
}

/* --- Prep overlay container --- */
.lk-prep-overlay {
    position: fixed;
    inset: 0;
    z-index: 1055; /* above .modal (1050) so prep card sits on top of blurred modal layer */
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    padding: 20px;
    animation: lkPrepIn 0.32s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.lk-prep-overlay.lk-prep-fading {
    animation: lkPrepOut 0.2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
@keyframes lkPrepIn  { from { opacity: 0; } to { opacity: 1; } }
@keyframes lkPrepOut { from { opacity: 1; transform: scale(1); } to { opacity: 0; transform: scale(0.97); } }

/* --- Card --- */
.lk-prep-card {
    position: relative;
    width: 340px;
    max-width: 100%;
    padding: 38px 32px 26px;
    background: #ffffff;
    border: 1px solid #f0e9d8;
    border-radius: 20px;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.7) inset,
        0 24px 50px -18px rgba(255, 191, 0, 0.20),
        0 8px 22px -6px rgba(20, 22, 30, 0.10);
    text-align: center;
    overflow: hidden;
    isolation: isolate;
    transform: scale(0.97);
    animation: lkPrepCardIn 0.45s cubic-bezier(0.22, 1, 0.36, 1) 0.05s forwards;
}
@keyframes lkPrepCardIn { to { transform: scale(1); } }
.lk-prep-card::before {
    /* warm gradient wash top */
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 70%;
    background: radial-gradient(60% 50% at 50% 0%, rgba(255, 191, 0, 0.16), transparent 70%);
    pointer-events: none;
    z-index: -1;
}

html.dark .lk-prep-card {
    background: rgba(18, 29, 39, 0.96);
    border-color: rgba(255, 255, 255, 0.06);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.04) inset,
        0 28px 60px -20px rgba(0, 0, 0, 0.70),
        0 8px 22px -6px rgba(0, 0, 0, 0.40);
}
html.dark .lk-prep-card::before {
    background: radial-gradient(60% 50% at 50% 0%, rgba(255, 191, 0, 0.20), transparent 70%);
}

/* --- Concentric radar rings + QR mini-icon --- */
.lk-prep-radar {
    position: relative;
    width: 96px;
    height: 96px;
    margin: 0 auto 22px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.lk-prep-radar-ring {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 2px solid #ffbf00;
    opacity: 0;
    animation: lkRing 2s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}
.lk-prep-radar-ring:nth-child(2) { animation-delay: 0.66s; border-color: #ff7a59; }
.lk-prep-radar-ring:nth-child(3) { animation-delay: 1.33s; border-color: #ffbf00; }
@keyframes lkRing {
    0%   { transform: scale(0.55); opacity: 0; border-width: 2.5px; }
    20%  { opacity: 0.85; }
    100% { transform: scale(1.15); opacity: 0; border-width: 1px; }
}
.lk-prep-radar-icon {
    position: relative;
    width: 44px;
    height: 44px;
    border-radius: 11px;
    background: linear-gradient(135deg, #ffbf00 0%, #ff9500 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow:
        0 6px 18px -4px rgba(255, 191, 0, 0.45),
        0 0 0 4px rgba(255, 255, 255, 0.85);
    z-index: 2;
}
html.dark .lk-prep-radar-icon {
    box-shadow:
        0 6px 18px -4px rgba(255, 191, 0, 0.45),
        0 0 0 4px rgba(18, 29, 39, 0.85);
}
.lk-prep-radar-icon svg { width: 22px; height: 22px; color: #ffffff; display: block; }

/* --- Title --- */
.lk-prep-title {
    font-family: "Sarabun", "Noto Sans Thai", -apple-system, sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #1d2a37;
    line-height: 1.35;
    margin: 0 0 6px;
    letter-spacing: 0.005em;
}
html.dark .lk-prep-title { color: #f4f6f9; }

/* --- Status (rotating) --- */
.lk-prep-status {
    font-family: "Noto Sans Thai", -apple-system, sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #6b7785;
    line-height: 1.4;
    margin: 0 0 22px;
    min-height: 18px;
    transition: opacity 0.16s ease;
}
html.dark .lk-prep-status { color: #95a4b3; }

/* --- 3-dot wave bouncer --- */
.lk-prep-dots {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 0 26px;
    height: 18px;
}
.lk-prep-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #ffbf00;
    box-shadow: 0 2px 6px rgba(255, 191, 0, 0.4);
    animation: lkDotWave 1.1s cubic-bezier(0.42, 0, 0.58, 1) infinite;
}
.lk-prep-dot:nth-child(2) { animation-delay: 0.13s; background: #ff9500; box-shadow: 0 2px 6px rgba(255, 149, 0, 0.4); }
.lk-prep-dot:nth-child(3) { animation-delay: 0.26s; background: #ff7a59; box-shadow: 0 2px 6px rgba(255, 122, 89, 0.4); }
@keyframes lkDotWave {
    0%, 60%, 100% { transform: translateY(0) scale(1); opacity: 0.6; }
    30%           { transform: translateY(-7px) scale(1.15); opacity: 1; }
}

/* --- Brand mark — minimal wordmark with hairline --- */
.lk-prep-brand {
    padding-top: 16px;
    border-top: 1px solid #f0e9d8;
}
html.dark .lk-prep-brand { border-top-color: rgba(255, 255, 255, 0.06); }
.lk-prep-brand-text {
    font-family: "Montserrat", "Sarabun", sans-serif;
    font-size: 13px;
    font-weight: 800;
    color: #1d2a37;
    letter-spacing: 0.18em;
    line-height: 1;
    display: inline-block;
    position: relative;
}
.lk-prep-brand-text::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -5px;
    transform: translateX(-50%);
    width: 24px;
    height: 1.5px;
    background: linear-gradient(90deg, #ffbf00, #ff7a59);
    border-radius: 999px;
}
html.dark .lk-prep-brand-text { color: #f4f6f9; }
.lk-prep-brand-tag {
    font-family: "Montserrat", monospace;
    font-size: 9px;
    font-weight: 600;
    color: #9aa6b3;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    line-height: 1;
    display: block;
    margin-top: 12px;
}
html.dark .lk-prep-brand-tag { color: #6b7785; }

/* --- Mobile sizing --- */
@media (max-width: 480px) {
    .lk-prep-card { width: 300px; padding: 32px 24px 22px; border-radius: 18px; }
    .lk-prep-radar { width: 86px; height: 86px; margin-bottom: 18px; }
    .lk-prep-radar-icon { width: 40px; height: 40px; border-radius: 10px; }
    .lk-prep-radar-icon svg { width: 20px; height: 20px; }
    .lk-prep-title { font-size: 15px; }
    .lk-prep-status { font-size: 12.5px; margin-bottom: 18px; }
    .lk-prep-dots { gap: 7px; margin-bottom: 22px; }
    .lk-prep-dot { width: 9px; height: 9px; }
    .lk-prep-brand-text { font-size: 12px; }
}

/* --- Reduced motion --- */
@media (prefers-reduced-motion: reduce) {
    .lk-prep-radar-ring { animation: none; opacity: 0.4; }
    .lk-prep-dot       { animation: none; }
    .lk-prep-card      { animation: none; transform: none; }
}

/* ============================================================
   CSS GAP FIXES — from Claude Design ref (2026-05-27)
   ============================================================ */

/* ---- pg-stat-row / pg-stat-mini (affiliates stats row, etc.) ---- */
.pg-stat-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin: 16px 0;
}
.pg-stat-mini {
    background: var(--side);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 18px;
    display: flex;
    gap: 14px;
    align-items: center;
}
.pg-stat-mini .ic {
    width: 46px; height: 46px;
    border-radius: 50%;
    border: 2.5px solid;
    display: grid; place-items: center;
    font-size: 20px;
    flex-shrink: 0;
}
.pg-stat-mini.b .ic { color: #2A62FF; border-color: #2A62FF; }
.pg-stat-mini.r .ic { color: #FF2828; border-color: #FF2828; }
.pg-stat-mini.g .ic { color: #10b981; border-color: #10b981; }
.pg-stat-mini.p .ic { color: #A12AFF; border-color: #A12AFF; }
.pg-stat-mini .l {
    font-size: 12px;
    color: var(--inkDim);
    font-weight: 500;
}
.pg-stat-mini .v {
    font-family: 'Inter', sans-serif;
    font-weight: 800;
    font-size: 22px;
    color: var(--ink);
    letter-spacing: -0.02em;
    line-height: 1.1;
    margin-top: 2px;
}
.pg-stat-mini .v small {
    font-size: 11px;
    font-weight: 600;
    color: #10b981;
    margin-left: 5px;
}
@media (max-width: 768px) {
    .pg-stat-row { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .pg-stat-mini { padding: 14px; border-radius: 14px; }
    .pg-stat-mini .ic { width: 38px; height: 38px; font-size: 16px; }
    .pg-stat-mini .v { font-size: 18px; }
}

/* ---- af-t-history / af-history (transaction list rows) ---- */
.af-t-history,
.af-history {
    background: var(--side);
    border: 1px solid var(--line);
    border-radius: 14px;
    margin-bottom: 10px;
    overflow: hidden;
}
.af-t-history .sc-sup-item,
.af-history .sc-sup-item,
.af-t-history > a,
.af-history > a {
    display: block;
    padding: 14px 18px;
    text-decoration: none;
    color: var(--ink);
    transition: background 0.15s;
}
.af-t-history .sc-sup-item:hover,
.af-history .sc-sup-item:hover,
.af-t-history > a:hover,
.af-history > a:hover {
    background: rgba(255, 193, 7, 0.04);
    text-decoration: none;
    color: var(--ink);
}
.af-t-history .payment-info,
.af-history .payment-info {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    align-items: start;
}
.af-t-history .payment-info .title,
.af-history .payment-info .title {
    font-size: 11px;
    color: var(--inkDim);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 600;
    margin-bottom: 4px;
}
.af-t-history .payment-info .text,
.af-history .payment-info .text {
    font-size: 14px;
    font-weight: 700;
    color: var(--ink);
}
.af-t-history .payment-info .text.primary-color,
.af-history .payment-info .text.primary-color {
    color: #ffc107;
}
@media (max-width: 640px) {
    .af-t-history .payment-info,
    .af-history .payment-info { grid-template-columns: 1fr 1fr; }
}

/* ---- pre.code / .code (api.twig JSON code block) ---- */
pre.code,
.code {
    background: #0a0f15;
    color: #c5cdd6;
    border: 1px solid #1a2532;
    border-radius: 12px;
    padding: 18px 20px;
    font-family: 'JetBrains Mono', 'SF Mono', Menlo, Consolas, monospace;
    font-size: 12.5px;
    line-height: 1.7;
    overflow-x: auto;
    white-space: pre;
    margin: 0 0 16px;
}
pre.code.card,
.code.card { box-shadow: none; }
html.light pre.code,
html.light .code {
    background: #0c151b;
    color: #e5e7eb;
    border-color: #1f2937;
}

/* ---- Chrome autofill override (dark inputs in child_panel_order form, etc.) ---- */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--ink);
    -webkit-box-shadow: 0 0 0 1000px var(--side) inset;
    caret-color: var(--ink);
    transition: background-color 5000s ease-in-out 0s;
}
html.light input:-webkit-autofill,
html.light input:-webkit-autofill:hover,
html.light input:-webkit-autofill:focus {
    -webkit-text-fill-color: #0c151b;
    -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
}

/* ============================================================
   DAILY CHECK-IN MODAL — Match reference design (modals.jsx lkm-checkin)
   Overrides earlier .ci-modal/.ci-day styles at line 22025+
   ============================================================ */

/* ---- Modal shell ---- */
.ci-modal {
    background: var(--side);
    border-radius: 24px;
    overflow: hidden;
    border: none;
    box-shadow: 0 25px 60px rgba(0,0,0,0.4);
}

/* ---- HERO (yellow gradient with centered gift icon) ---- */
.ci-modal-header {
    background: linear-gradient(135deg, #ffc107 0%, #ffce3a 100%);
    padding: 30px 26px 26px;
    position: relative;
    overflow: hidden;
    text-align: center;
    border: none;
}
.ci-modal-header .ci-header-deco {
    position: absolute;
    right: -40px; top: -50px;
    width: 180px; height: 180px;
    border-radius: 50%;
    background: rgba(255,255,255,0.2);
    pointer-events: none;
    z-index: 0;
}
.ci-modal-header .ci-header-deco::before {
    content: ''; position: absolute;
    left: -30px; bottom: -260px;
    width: 140px; height: 140px;
    border-radius: 50%;
    background: rgba(255,255,255,0.15);
}
.ci-modal-header .ci-header-deco::after { display: none; }
.ci-modal-header .ci-close-btn {
  position: absolute; top: 18px; right: 18px;
  background-color: rgba(0,0,0,0.12) !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c151b'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") !important;
  background-repeat: no-repeat; background-position: center; background-size: 14px;
  border: 0; width: 34px; height: 34px; border-radius: 10px;
  opacity: 1; filter: none; z-index: 2; padding: 0;
}
.ci-modal-header .ci-close-btn:hover { background-color: rgba(0,0,0,0.2) !important; }

/* ---- Header content layout: gift → title → subtitle ---- */
.ci-modal-header .ci-header-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}

/* ---- Gift icon at top center (from streak badge, repurposed) ---- */
.ci-modal-header .ci-streak-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: auto; height: auto;
    background: rgba(12,21,27,0.10);
    border: 1px solid rgba(12,21,27,0.12);
    border-radius: 999px;
    padding: 6px 16px 6px 6px;
    margin: 0 auto 14px;
    box-shadow: 0 6px 16px rgba(0,0,0,0.12);
    backdrop-filter: none;
}
.ci-modal-header .ci-streak-icon {
    flex-shrink: 0;
    width: 34px; height: 34px;
    border-radius: 50%;
    background: #0c151b;
    color: #ffc107;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: none;
    font-size: 18px;
    line-height: 1;
}
.ci-modal-header .ci-streak-icon i::before {
    content: '🎁';
    font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', sans-serif;
}
.ci-modal-header .ci-streak-info {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
}
.ci-modal-header .ci-streak-num {
    font-family: var(--font-en), 'Inter', sans-serif;
    font-weight: 800;
    font-size: 18px;
    line-height: 1;
    color: #0c151b;
}
.ci-modal-header .ci-streak-label {
    font-size: 12px;
    font-weight: 600;
    color: #0c151b;
    opacity: 0.78;
}

/* ---- Title + Subtitle on yellow hero ---- */
.ci-modal-header .ci-header-title {
    margin: 0;
    font-size: 24px;
    font-weight: 900;
    color: #0c151b;
    letter-spacing: -0.02em;
    line-height: 1.2;
}
.ci-modal-header .ci-header-sub {
    margin: 4px 0 0;
    font-size: 13px;
    color: #0c151b;
    opacity: 0.78;
    font-weight: 500;
}

/* ---- Modal body & day grid ---- */
.ci-modal-body {
    padding: 22px 26px 22px;
    background: var(--side);
}
.ci-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 8px;
    margin: 0 0 18px;
    justify-content: stretch;
    flex-wrap: nowrap;
}

/* ---- Day card (rectangular, 3 states: todo/done/today) ---- */
.ci-day {
    background: var(--side2, rgba(255,255,255,0.04));
    border: 1.5px solid var(--line);
    border-radius: 14px;
    padding: 12px 4px;
    text-align: center;
    transition: 0.14s;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-height: auto;
    height: auto;
    min-width: 0;
    max-width: none;
    flex: none;
    color: var(--ink);
    position: relative;
    cursor: default;
    animation: none;
    box-shadow: none;
}
.ci-day-label {
    font-size: 10px;
    font-weight: 700;
    color: var(--inkDim);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    line-height: 1;
    margin-bottom: 2px;
}
/* Icon container — neutralize round coin/check, use plain icon */
.ci-day .ci-coin,
.ci-day .ci-check,
.ci-day .ci-gift {
    width: auto; height: auto;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--ink);
    font-size: 22px;
    line-height: 1;
    border-radius: 0;
    display: block;
    margin: 0 auto;
    padding: 0;
    overflow: visible;
}
.ci-day .ci-coin::after,
.ci-day .ci-check::after,
.ci-day .ci-gift::before,
.ci-day .ci-gift::after { display: none !important; }
.ci-day-pts {
    font-family: 'Inter', sans-serif;
    font-weight: 800;
    font-size: 12px;
    color: var(--ink);
    line-height: 1;
    margin-top: 2px;
    opacity: 1 !important;
}
.ci-bonus-tag { display: none; } /* Reference design omits bonus tag */

/* ── State: done (past, checked-in) ── */
.ci-day.checked {
    background: linear-gradient(135deg, #ffc107, #ffce3a);
    border-color: #ffc107;
    color: #0c151b;
}
.ci-day.checked .ci-day-label { color: #0c151b; opacity: 0.7; }
.ci-day.checked .ci-day-pts { color: #0c151b; font-weight: 900; opacity: 1; font-size: 13px; }
.ci-day.checked .ci-check,
.ci-day.checked .ci-coin,
.ci-day.checked .ci-gift { color: #0c151b !important; display: block; }

/* ── State: today (current day, highlighted) ── */
.ci-day.today {
    background: #0c151b;
    border-color: #0c151b;
    box-shadow: 0 8px 18px rgba(12,21,27,0.3);
    transform: scale(1.05);
    flex: none;
    animation: none;
}
.ci-day.today .ci-day-label { color: #ffc107; font-weight: 800; opacity: 1; }
.ci-day.today .ci-day-pts { color: #ffc107; font-weight: 900; font-size: 13px; }
.ci-day.today .ci-coin,
.ci-day.today .ci-check,
.ci-day.today .ci-gift { color: #ffc107 !important; width: auto; height: auto; font-size: 22px; }

/* ── State: bonus day (day 7) ── */
.ci-day.bonus {
    background: var(--side2, rgba(255,255,255,0.04));
    border: 1.5px solid var(--line);
    flex: none;
    max-width: none;
    color: var(--ink);
}
.ci-day.bonus .ci-gift { color: var(--inkDim) !important; }
.ci-day.bonus.checked {
    background: linear-gradient(135deg, #ffc107, #ffce3a);
    border-color: #ffc107;
    color: #0c151b;
}
.ci-day.bonus.checked .ci-day-label,
.ci-day.bonus.checked .ci-day-pts,
.ci-day.bonus.checked .ci-gift { color: #0c151b !important; }
.ci-day.bonus.today {
    background: #0c151b;
    border-color: #0c151b;
}
.ci-day.bonus.today .ci-gift { color: #ffc107 !important; }

/* ── Future days (not checked, not today) ── */
.ci-day:not(.checked):not(.today) .ci-coin,
.ci-day:not(.checked):not(.today) .ci-gift {
    color: var(--inkDim);
}

/* ---- Reward box (centered claim with big bold number) ---- */
.ci-reward-box {
    text-align: center;
    padding: 14px 0 0;
    background: transparent;
    border: 0;
    margin: 0 0 18px;
    color: var(--ink);
}

/* ---- CTA button (full-width yellow primary) ---- */
.ci-cta-btn {
    display: block;
    width: 100%;
    background: linear-gradient(135deg, #ffc107, #ffab00);
    color: #0c151b;
    border: 0;
    border-radius: 14px;
    padding: 14px 24px;
    font-size: 16px;
    font-weight: 900;
    box-shadow: 0 8px 20px rgba(255,193,7,0.35);
    transition: 0.18s;
    cursor: pointer;
}
.ci-cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(255,193,7,0.45);
}
.ci-cta-btn:disabled {
    background: var(--line);
    color: var(--inkDim);
    box-shadow: none;
    transform: none;
    cursor: not-allowed;
}

/* ---- Responsive: 7 days wrap on small mobile ---- */
@media (max-width: 480px) {
    .ci-modal-header { padding: 24px 18px 20px; }
    .ci-modal-header .ci-streak-badge { padding: 5px 14px 5px 5px; gap: 8px; }
    .ci-modal-header .ci-streak-icon { width: 30px; height: 30px; font-size: 16px; }
    .ci-modal-header .ci-streak-num { font-size: 16px; }
    .ci-modal-header .ci-streak-label { font-size: 11px; }
    .ci-modal-header .ci-header-title { font-size: 20px; }
    .ci-modal-body { padding: 18px 18px 18px; }
    .ci-grid { gap: 5px; }
    .ci-day { padding: 10px 2px; border-radius: 12px; }
    .ci-day-label { font-size: 9px; }
    .ci-day .ci-coin, .ci-day .ci-check, .ci-day .ci-gift { font-size: 18px; }
    .ci-day-pts { font-size: 11px; }
}

/* ---- Light mode override ---- */
html.light .ci-modal {
    background: #ffffff;
    box-shadow: 0 25px 60px rgba(0,0,0,0.15);
}
html.light .ci-modal-body { background: #ffffff; }
html.light .ci-day {
    background: #f7f8f9;
    border-color: #e5e7eb;
    color: #0c151b;
}
html.light .ci-day .ci-coin,
html.light .ci-day .ci-check,
html.light .ci-day .ci-gift { color: #0c151b; }
html.light .ci-day:not(.checked):not(.today) .ci-coin,
html.light .ci-day:not(.checked):not(.today) .ci-gift { color: #9ca3af; }
html.light .ci-day-label { color: #6b7280; }
html.light .ci-day-pts { color: #0c151b; }
html.light .ci-day.today {
    background: #0c151b;
    border-color: #0c151b;
}
html.light .ci-day.today .ci-day-label,
html.light .ci-day.today .ci-day-pts,
html.light .ci-day.today .ci-coin,
html.light .ci-day.today .ci-gift,
html.light .ci-day.today .ci-check { color: #ffc107; }

/* ============================================================
   API DOCUMENTATION — Match reference (pages-2.jsx APIDocsPage)
   ============================================================ */

/* ---- Page header (api documentation hero) ---- */
.api-pg-head {
    background: var(--side);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 24px 28px;
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
.api-pg-head .api-pg-ic {
    width: 52px; height: 52px;
    border-radius: 14px;
    background: rgba(161, 42, 255, 0.15);
    color: #A12AFF;
    display: grid; place-items: center;
    font-size: 26px;
    flex-shrink: 0;
}
.api-pg-head .api-pg-body { flex: 1; min-width: 0; }
.api-pg-head .api-pg-body h1 {
    margin: 0;
    font-size: 22px;
    font-weight: 800;
    color: var(--ink);
    letter-spacing: -0.01em;
}
.api-pg-head .api-pg-body p {
    margin: 4px 0 0;
    font-size: 13px;
    color: var(--inkDim);
}
.api-pg-head .api-pg-actions {
    display: flex; gap: 8px;
    flex-wrap: wrap;
}
.api-pg-head .api-pg-btn {
    background: linear-gradient(135deg, #ffc107, #ffce3a);
    color: #0c151b;
    border: 0;
    padding: 9px 16px;
    border-radius: 11px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    font-family: inherit;
}
.api-pg-head .api-pg-btn.outline {
    background: var(--side2);
    border: 1px solid var(--line);
    color: var(--ink);
}

/* ---- API Key card ---- */
.api-key-card {
    background: var(--side);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 22px 24px;
    margin-bottom: 18px;
}
.api-key-card .akc-h {
    display: flex; align-items: center; gap: 12px;
    margin-bottom: 14px;
}
.api-key-card .akc-h .akc-ic {
    width: 42px; height: 42px;
    border-radius: 11px;
    background: linear-gradient(135deg, #ffc107, #ffce3a);
    color: #0c151b;
    display: grid; place-items: center;
    font-size: 22px;
}
.api-key-card .akc-h h2 {
    margin: 0;
    font-size: 17px;
    font-weight: 800;
    color: var(--ink);
}
.api-key-card .akc-h p {
    margin: 1px 0 0;
    font-size: 12.5px;
    color: var(--inkDim);
}
.api-key-card .key-row {
    background: #0c151b;
    border-radius: 12px;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: #a8b3c7;
    font-family: 'JetBrains Mono', 'SF Mono', Menlo, monospace;
    font-size: 13px;
    flex-wrap: wrap;
}
.api-key-card .key-row .k {
    flex: 1;
    min-width: 0;
    word-break: break-all;
}
.api-key-card .key-row .k.masked {
    letter-spacing: 0.05em;
}
.api-key-card .key-row .key-btn {
    background: rgba(255, 193, 7, 0.2);
    color: #ffc107;
    border: 1px solid rgba(255, 193, 7, 0.3);
    padding: 7px 12px;
    border-radius: 8px;
    font-size: 11.5px;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: inherit;
    text-decoration: none;
}
.api-key-card .key-row .key-btn:hover { background: rgba(255, 193, 7, 0.3); }
.api-key-card .akc-actions {
    display: flex; gap: 8px;
    margin-top: 14px;
    flex-wrap: wrap;
}
.api-key-card .akc-actions .akc-btn {
    background: var(--side2);
    border: 1px solid var(--line);
    color: var(--ink);
    padding: 9px 14px;
    border-radius: 10px;
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: inherit;
    text-decoration: none;
}
.api-key-card .akc-actions .akc-btn:hover { background: var(--side); border-color: var(--brand); }
.api-key-card .akc-actions .akc-btn.danger {
    color: #ef4444;
    border-color: rgba(239, 68, 68, 0.25);
}

/* ---- API shell (2-col layout) ---- */
.api-shell {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 18px;
    align-items: start;
}
@media (max-width: 991px) {
    .api-shell { grid-template-columns: 1fr; }
}

/* ---- API navigation sidebar ---- */
.api-nav {
    background: var(--side);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 14px;
    position: sticky;
    top: 14px;
}
@media (max-width: 991px) {
    .api-nav { position: static; }
}
.api-nav .h {
    font-size: 10.5px;
    font-weight: 800;
    color: var(--inkDim);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    padding: 6px 12px 10px;
}
.api-nav a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border-radius: 9px;
    font-size: 13px;
    color: var(--ink);
    text-decoration: none;
    transition: 0.14s;
}
.api-nav a:hover {
    background: var(--side2);
    color: var(--ink);
    text-decoration: none;
}
.api-nav a.act {
    background: rgba(255, 193, 7, 0.1);
    color: #ffc107;
    font-weight: 700;
}
.api-nav a .method {
    font-family: 'JetBrains Mono', 'SF Mono', Menlo, monospace;
    font-size: 10px;
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 5px;
    letter-spacing: 0.04em;
}
.api-nav a .method.post { background: rgba(16, 185, 129, 0.15); color: #10b981; }
.api-nav a .method.get { background: rgba(42, 98, 255, 0.15); color: #2A62FF; }

/* ---- API documentation main column ---- */
.api-doc {
    background: var(--side);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 0;
    overflow: hidden;
}
.api-endpoint {
    padding: 28px 32px;
    border-bottom: 1px solid var(--line);
}
.api-endpoint:last-child { border-bottom: 0; }
.api-endpoint h3 {
    margin: 0 0 6px;
    font-size: 20px;
    font-weight: 800;
    color: var(--ink);
    letter-spacing: -0.01em;
}
.api-endpoint .desc {
    font-size: 13.5px;
    color: var(--inkDim);
    margin: 0 0 16px;
    max-width: 720px;
    line-height: 1.6;
}
.api-endpoint .desc code,
.api-endpoint code.inline {
    background: var(--side2);
    padding: 1px 6px;
    border-radius: 4px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px;
    color: var(--ink);
}

/* ---- API route box ---- */
.api-route {
    background: var(--side2);
    border: 1px solid var(--line);
    border-radius: 11px;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 13px;
    color: var(--ink);
    margin-bottom: 18px;
}
.api-route .method {
    font-weight: 800;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 11px;
    letter-spacing: 0.04em;
}
.api-route .method.post { background: #10b981; color: #fff; }
.api-route .method.get { background: #2A62FF; color: #fff; }
.api-route .path { flex: 1; }

/* ---- 2-col layout (parameters + response) ---- */
.api-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
@media (max-width: 768px) {
    .api-2col { grid-template-columns: 1fr; }
    .api-endpoint { padding: 22px 20px; }
}
.api-side h4 {
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: 800;
    color: var(--ink);
    letter-spacing: -0.01em;
}

/* ---- API parameters list ---- */
.api-params { display: flex; flex-direction: column; gap: 8px; }
.api-param {
    background: var(--side2);
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 10px 14px;
}
.api-param .pn {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.api-param .pn code {
    font-family: 'JetBrains Mono', monospace;
    font-size: 13px;
    font-weight: 700;
    color: var(--ink);
    background: transparent;
    padding: 0;
}
.api-param .pn .type {
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    color: var(--inkDim);
}
.api-param .pn .req {
    background: rgba(239, 68, 68, 0.15);
    color: #ef4444;
    padding: 1px 7px;
    border-radius: 5px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.02em;
}
.api-param .pn .opt {
    background: rgba(107, 114, 128, 0.15);
    color: #6b7280;
    padding: 1px 7px;
    border-radius: 5px;
    font-size: 10px;
    font-weight: 700;
}
.api-param .pd {
    font-size: 11.5px;
    color: var(--inkDim);
    margin-top: 5px;
}

/* ---- Code block with syntax highlighting ---- */
.code-block {
    background: #0a0f15;
    border-radius: 12px;
    padding: 0;
    overflow: hidden;
    border: 1px solid #1a2532;
}
.code-block .tabs {
    display: flex;
    background: #101820;
    border-bottom: 1px solid #1a2532;
    overflow-x: auto;
}
.code-block .tabs button,
.code-block .tabs a {
    background: transparent;
    border: 0;
    padding: 9px 16px;
    font-size: 11.5px;
    font-weight: 700;
    color: #6b7891;
    cursor: pointer;
    font-family: 'JetBrains Mono', monospace;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    white-space: nowrap;
    text-decoration: none;
}
.code-block .tabs button.act,
.code-block .tabs a.act {
    color: #ffc107;
    background: #0a0f15;
    border-top: 2px solid #ffc107;
    padding-top: 7px;
}
.code-block pre {
    margin: 0;
    padding: 18px 20px;
    font-family: 'JetBrains Mono', 'SF Mono', Menlo, monospace;
    font-size: 12.5px;
    line-height: 1.7;
    color: #c5cdd6;
    overflow-x: auto;
    white-space: pre;
    background: transparent;
    border: 0;
}
/* Syntax highlight tokens — k=keyword, s=string, n=number, c=comment, v=value */
.code-block pre .k { color: #ff79c6; }
.code-block pre .s { color: #f1fa8c; }
.code-block pre .n { color: #bd93f9; }
.code-block pre .c { color: #6272a4; font-style: italic; }
.code-block pre .v { color: #50fa7b; }

/* Light mode tweaks for API doc */
html.light .api-key-card .key-row {
    background: #0c151b;  /* keep dark for key display */
    color: #d1d5db;
}
html.light .api-nav a { color: #0c151b; }
html.light .api-nav a.act { color: #b8860b; }
html.light .code-block,
html.light .code-block .tabs,
html.light .code-block pre {
    /* keep dark theme for code blocks even in light mode */
}

/* ============================================================
   v7 TAB SYSTEM + MISSING PIECES — from tabs.jsx (2026-05-27)
   ============================================================ */

/* ---- Shared tab toolbar ---- */
.tb-toolbar {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    padding: 16px 22px;
    border-bottom: 1px solid var(--line);
}
.tb-toolbar .pill-tabs {
    display: flex;
    gap: 4px;
    background: var(--side2);
    border: 1px solid var(--line);
    border-radius: 11px;
    padding: 3px;
}
.tb-toolbar .pill-tabs button,
.tb-toolbar .pill-tabs a {
    background: transparent;
    border: 0;
    padding: 7px 14px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    color: var(--inkDim);
    cursor: pointer;
    font-family: inherit;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
}
.tb-toolbar .pill-tabs button.active,
.tb-toolbar .pill-tabs a.active {
    background: var(--brand, #ffc107);
    color: var(--brandText, #0c151b);
}
.tb-toolbar .pill-tabs button .c,
.tb-toolbar .pill-tabs a .c {
    background: rgba(0, 0, 0, 0.1);
    color: inherit;
    padding: 1px 7px;
    border-radius: 99px;
    font-size: 10px;
    font-weight: 800;
    font-family: 'Inter', sans-serif;
}
.tb-toolbar .pill-tabs button.active .c,
.tb-toolbar .pill-tabs a.active .c { background: rgba(0, 0, 0, 0.15); }
.tb-toolbar > select {
    padding: 7px 12px;
    background: var(--side2);
    border: 1px solid var(--line);
    border-radius: 9px;
    color: var(--ink);
    font-size: 12px;
    font-weight: 600;
    font-family: inherit;
}
.tb-toolbar .pg-btn {
    padding: 8px 14px;
    border-radius: 9px;
    background: var(--brand);
    color: var(--brandText);
    border: 0;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: inherit;
    text-decoration: none;
}
.tb-toolbar .pg-btn.outline {
    background: var(--side2);
    border: 1px solid var(--line);
    color: var(--ink);
}

/* ---- Add Funds History list/row ---- */
.afh-list { display: flex; flex-direction: column; }
.afh-row {
    display: grid;
    grid-template-columns: 44px 1.2fr 1fr 1fr 1fr 120px;
    gap: 14px;
    align-items: center;
    padding: 14px 22px;
    border-bottom: 1px solid var(--line);
    transition: 0.14s;
}
.afh-row:hover { background: var(--side2); }
.afh-row:last-child { border-bottom: 0; }
.afh-row .ic {
    width: 42px; height: 42px;
    border-radius: 11px;
    display: grid; place-items: center;
    color: #fff;
    font-size: 18px;
}
.afh-row .ic.qr { background: linear-gradient(135deg, #0258FF, #0042c4); }
.afh-row .ic.tm { background: linear-gradient(135deg, #ff8a3c, #ff5722); }
.afh-row .ic.bk { background: linear-gradient(135deg, #10b981, #059669); }
.afh-row .ic.cr { background: linear-gradient(135deg, #8b5cf6, #6d28d9); }
.afh-row .label { font-size: 13px; font-weight: 700; color: var(--ink); }
.afh-row .label small { display: block; font-size: 11px; font-weight: 500; color: var(--inkDim); margin-top: 2px; }
.afh-row .ref { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: var(--inkDim); }
.afh-row .amt { font-family: 'Inter', sans-serif; font-weight: 800; font-size: 16px; color: var(--ink); }
.afh-row .amt em { font-style: normal; color: #10b981; font-size: 11px; margin-left: 4px; }
.afh-row .date { font-size: 12px; color: var(--inkDim); }
.afh-row .date b { color: var(--ink); display: block; font-size: 12.5px; }
.afh-row .st {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 4px 12px; border-radius: 999px;
    font-size: 11px; font-weight: 700;
    justify-self: start;
}
.afh-row .st.done { background: rgba(16, 185, 129, 0.12); color: #10b981; }
.afh-row .st.pend { background: rgba(255, 193, 7, 0.18); color: #ca8a04; }
.afh-row .st.fail { background: rgba(239, 68, 68, 0.12); color: #ef4444; }
@media (max-width: 768px) {
    .afh-row { grid-template-columns: 44px 1fr; gap: 10px; padding: 12px 16px; }
    .afh-row .ref, .afh-row .date { display: none; }
    .afh-row .amt { grid-column: 2; }
    .afh-row .st { grid-column: 2; }
}

/* ---- New Order Tabs (Mass + Info) ---- */
.no-tab-card { padding: 24px; }
.no-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.no-info-it {
    background: var(--side2);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 18px 20px;
    display: flex;
    gap: 14px;
    align-items: flex-start;
}
.no-info-it .ic {
    width: 44px; height: 44px;
    border-radius: 50%;
    border: 2.5px solid;
    display: grid; place-items: center;
    font-size: 20px;
    flex-shrink: 0;
}
.no-info-it.b .ic { color: #2A62FF; border-color: #2A62FF; }
.no-info-it.r .ic { color: #FF2828; border-color: #FF2828; }
.no-info-it.g .ic { color: #10b981; border-color: #10b981; }
.no-info-it.p .ic { color: #A12AFF; border-color: #A12AFF; }
.no-info-it.y .ic { color: #ca8a04; border-color: #ffc107; }
.no-info-it.o .ic { color: #ff6b35; border-color: #ff6b35; }
.no-info-it b { display: block; font-size: 13.5px; font-weight: 800; color: var(--ink); margin-bottom: 5px; }
.no-info-it p { margin: 0; font-size: 12.5px; color: var(--inkDim); line-height: 1.6; }
@media (max-width: 640px) { .no-info-grid { grid-template-columns: 1fr; } }

/* ---- Services List view ---- */
.svc-list {
    background: var(--side);
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
}
.svc-list-row {
    display: grid;
    grid-template-columns: 60px 1fr 100px 110px 110px 130px 110px;
    gap: 14px;
    align-items: center;
    padding: 14px 22px;
    border-bottom: 1px solid var(--line);
}
.svc-list-row:last-child { border-bottom: 0; }
.svc-list-row:hover { background: var(--side2); }
.svc-list-row.head {
    background: var(--side2);
    font-size: 11px; font-weight: 800;
    color: var(--inkDim);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.svc-list-row .pic {
    width: 38px; height: 38px;
    border-radius: 11px;
    display: grid; place-items: center;
    color: #fff;
    font-size: 18px;
}
.svc-list-row .pic.ig { background: linear-gradient(135deg, #f09433, #dc2743, #bc1888); }
.svc-list-row .pic.tt { background: #000; }
.svc-list-row .pic.yt { background: #ff0000; }
.svc-list-row .pic.fb { background: #1877f2; }
.svc-list-row .pic.x { background: #000; }
.svc-list-row .nm { font-size: 13.5px; font-weight: 700; color: var(--ink); }
.svc-list-row .nm small { display: block; font-size: 11.5px; font-weight: 500; color: var(--inkDim); margin-top: 2px; }
.svc-list-row .id { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: var(--inkDim); font-weight: 600; }
.svc-list-row .pr { font-family: 'Inter', sans-serif; font-weight: 800; font-size: 14px; color: var(--brand); }
.svc-list-row .pr small { display: block; font-size: 10.5px; color: var(--inkDim); font-weight: 500; }
.svc-list-row .num { font-family: 'Inter', sans-serif; font-size: 12.5px; color: var(--ink); font-weight: 600; }
.svc-list-row .actions { display: flex; gap: 6px; }
.svc-list-row .actions button,
.svc-list-row .actions a {
    padding: 7px 12px;
    border-radius: 8px;
    font-size: 11.5px;
    font-weight: 700;
    border: 0;
    cursor: pointer;
    font-family: inherit;
    text-decoration: none;
    display: inline-block;
}
.svc-list-row .actions .ord { background: var(--brand); color: var(--brandText); }
.svc-list-row .actions .det { background: var(--side2); color: var(--ink); border: 1px solid var(--line); }
@media (max-width: 991px) {
    .svc-list-row { grid-template-columns: 60px 1fr 100px; gap: 10px; padding: 12px 16px; }
    .svc-list-row .id, .svc-list-row .num, .svc-list-row .pr small { display: none; }
}

/* ---- Account Tabs (Security, Notifications, Billing) ---- */
.acc-tabs {
    display: flex;
    gap: 4px;
    background: var(--side);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 4px;
    margin-bottom: 14px;
}
.acc-tabs button,
.acc-tabs a {
    flex: 1;
    background: transparent;
    border: 0;
    padding: 11px 14px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 700;
    color: var(--ink);
    cursor: pointer;
    font-family: inherit;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: 0.14s;
    text-decoration: none;
}
.acc-tabs button.active,
.acc-tabs a.active {
    background: linear-gradient(95deg, #ffc107, #ffce3a);
    color: #0c151b;
    box-shadow: 0 4px 10px rgba(255, 193, 7, 0.3);
}

.acc-notif-row {
    display: flex; gap: 14px;
    align-items: center;
    padding: 14px 18px;
    border-bottom: 1px solid var(--line);
}
.acc-notif-row:last-child { border-bottom: 0; }
.acc-notif-row .ic {
    width: 38px; height: 38px;
    border-radius: 11px;
    display: grid; place-items: center;
    font-size: 18px;
    flex-shrink: 0;
}
.acc-notif-row .body { flex: 1; min-width: 0; }
.acc-notif-row .body b { display: block; font-size: 13.5px; font-weight: 700; color: var(--ink); }
.acc-notif-row .body span { display: block; font-size: 11.5px; color: var(--inkDim); margin-top: 2px; }
.acc-notif-row .toggle {
    width: 46px; height: 26px;
    background: #10b981;
    border-radius: 99px;
    position: relative;
    cursor: pointer;
}
.acc-notif-row .toggle::after {
    content: '';
    position: absolute;
    top: 2px; right: 2px;
    width: 22px; height: 22px;
    border-radius: 50%;
    background: #fff;
}
.acc-notif-row .toggle.off { background: var(--line, #1f2937); }
.acc-notif-row .toggle.off::after { right: auto; left: 2px; }

.acc-billing-card {
    background: linear-gradient(135deg, #0c151b, #1a2532);
    color: #fff;
    border-radius: 20px;
    padding: 24px;
    position: relative;
    overflow: hidden;
}
.acc-billing-card::before {
    content: '';
    position: absolute;
    right: -50px; top: -50px;
    width: 200px; height: 200px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 193, 7, 0.2), transparent 60%);
}
.acc-billing-card .l {
    font-size: 11px;
    color: #8b98b8;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 700;
}
.acc-billing-card h3 {
    margin: 5px 0 18px;
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-size: 28px;
    color: #ffc107;
    letter-spacing: -0.02em;
}
.acc-billing-card .row {
    display: flex;
    justify-content: space-between;
    padding: 6px 0;
    font-size: 13px;
}
.acc-billing-card .row span { color: #c5cdd6; }
.acc-billing-card .row b { color: #fff; font-weight: 700; }

.acc-bill-row {
    display: grid;
    grid-template-columns: 1fr 100px 100px 100px 80px;
    gap: 14px;
    align-items: center;
    padding: 14px 18px;
    border-bottom: 1px solid var(--line);
    font-size: 13px;
}
.acc-bill-row:last-child { border-bottom: 0; }
.acc-bill-row .id { font-family: 'JetBrains Mono', monospace; color: var(--inkDim); }
.acc-bill-row .amt { font-family: 'Inter', sans-serif; font-weight: 700; color: var(--ink); }
.acc-bill-row .dl { color: var(--brand); font-weight: 700; cursor: pointer; }
@media (max-width: 640px) {
    .acc-bill-row { grid-template-columns: 1fr 80px 80px; }
    .acc-bill-row .id { display: none; }
}

/* ---- Affiliates Tabs (Network, History, Marketing Kit) ---- */
.aff-tabs {
    display: flex;
    gap: 6px;
    background: var(--side);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 4px;
    margin-bottom: 14px;
}
.aff-tabs button,
.aff-tabs a {
    flex: 1;
    background: transparent;
    border: 0;
    padding: 12px 14px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 700;
    color: var(--ink);
    cursor: pointer;
    font-family: inherit;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
}
.aff-tabs button.active,
.aff-tabs a.active {
    background: #0c151b;
    color: #ffc107;
}

.aff-network-row {
    display: grid;
    grid-template-columns: 50px 1fr 110px 110px 110px 100px;
    gap: 14px;
    align-items: center;
    padding: 14px 22px;
    border-bottom: 1px solid var(--line);
}
.aff-network-row:last-child { border-bottom: 0; }
.aff-network-row .av {
    width: 42px; height: 42px;
    border-radius: 50%;
    background: linear-gradient(135deg, #ffc107, #ff9800);
    color: #0c151b;
    display: grid; place-items: center;
    font-weight: 800;
    font-family: 'Inter', sans-serif;
    font-size: 17px;
}
.aff-network-row .nm { font-size: 13.5px; font-weight: 700; color: var(--ink); }
.aff-network-row .nm small { display: block; font-size: 11px; font-weight: 500; color: var(--inkDim); margin-top: 2px; }
.aff-network-row .tier {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 3px 10px;
    border-radius: 99px;
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.06em;
}
.aff-network-row .tier.gold { background: rgba(255, 193, 7, 0.18); color: #ca8a04; }
.aff-network-row .tier.silver { background: rgba(107, 114, 128, 0.15); color: #6b7280; }
.aff-network-row .tier.bronze { background: rgba(180, 83, 9, 0.15); color: #92400e; }
.aff-network-row .tier.dia { background: linear-gradient(135deg, #3D8AFF, #A12AFF); color: #fff; }
.aff-network-row .v { font-family: 'Inter', sans-serif; font-weight: 700; font-size: 13.5px; color: var(--ink); }
.aff-network-row .v.green { color: #10b981; }
@media (max-width: 768px) {
    .aff-network-row { grid-template-columns: 50px 1fr 90px; gap: 10px; padding: 12px 16px; }
    .aff-network-row .v:nth-of-type(2),
    .aff-network-row .v:nth-of-type(3) { display: none; }
}

/* ---- Affiliates Marketing Kit ---- */
.aff-kit {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    padding: 18px;
}
.aff-kit-card {
    background: var(--side2);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 0;
    overflow: hidden;
    cursor: pointer;
    transition: 0.18s;
}
.aff-kit-card:hover {
    transform: translateY(-3px);
    border-color: var(--brand);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.08);
}
.aff-kit-card .thumb {
    aspect-ratio: 16 / 9;
    display: grid;
    place-items: center;
    font-size: 50px;
    color: #fff;
    position: relative;
}
.aff-kit-card .thumb.b1 { background: linear-gradient(135deg, #ffc107, #ff9800); color: #0c151b; }
.aff-kit-card .thumb.b2 { background: linear-gradient(135deg, #0c151b, #1a2532); }
.aff-kit-card .thumb.b3 { background: linear-gradient(135deg, #3D8AFF, #A12AFF); }
.aff-kit-card .thumb.b4 { background: linear-gradient(135deg, #10b981, #059669); }
.aff-kit-card .thumb.b5 { background: linear-gradient(135deg, #ff5e6e, #ff2828); }
.aff-kit-card .thumb.b6 { background: linear-gradient(135deg, #A12AFF, #7e1edd); }
.aff-kit-card .thumb .size {
    position: absolute;
    bottom: 8px; right: 8px;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    padding: 3px 8px;
    border-radius: 6px;
    font-size: 10.5px;
    font-weight: 700;
    font-family: 'Inter', sans-serif;
}
.aff-kit-card .body { padding: 14px 16px; }
.aff-kit-card .body b { display: block; font-size: 13.5px; font-weight: 800; color: var(--ink); margin-bottom: 4px; }
.aff-kit-card .body span { display: block; font-size: 11.5px; color: var(--inkDim); }
.aff-kit-card .body .dl {
    margin-top: 10px;
    padding: 8px 12px;
    border-radius: 9px;
    background: var(--brand);
    color: var(--brandText);
    font-size: 11.5px;
    font-weight: 800;
    border: 0;
    cursor: pointer;
    width: 100%;
    font-family: inherit;
}
@media (max-width: 991px) { .aff-kit { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .aff-kit { grid-template-columns: 1fr; } }

/* ============================================================
   USER FEEDBACK FIXES — 2026-05-28
   ============================================================ */

/* ---- Fix: Daily check-in modal size (was being squished narrow) ---- */
.modal-dialog.ci-dialog,
.ci-dialog {
    max-width: 540px !important;
    width: 100% !important;
    margin: 1.75rem auto;
}
@media (max-width: 575px) {
    .modal-dialog.ci-dialog,
    .ci-dialog { max-width: calc(100vw - 1rem) !important; margin: 0.5rem auto; }
}
.ci-modal { width: 100%; }
.ci-grid {
    display: grid !important;
    grid-template-columns: repeat(7, 1fr) !important;
    width: 100% !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    justify-content: stretch !important;
    margin: 0 0 18px !important;
}

/* ---- Fix: card-h-text + similar muted subtitles too faded (was 0.35 opacity) ---- */
.card-h-text {
    color: rgba(255, 255, 255, 0.65) !important;
    font-weight: 500;
}
html.light .card-h-text { color: rgba(60, 66, 73, 0.7) !important; }

/* ---- Fix: file input visibility on dark mode (tickets, viewticket) ---- */
input[type="file"] {
    color: var(--ink);
    background: var(--side2);
    border: 1.5px dashed var(--line);
    border-radius: 12px;
    padding: 14px 16px;
    cursor: pointer;
    transition: 0.15s;
    font-family: inherit;
    font-size: 13px;
    width: 100%;
    box-sizing: border-box;
}
input[type="file"]:hover {
    border-color: var(--brand);
    background: var(--side);
}
input[type="file"]:focus {
    outline: none;
    border-color: var(--brand);
}
input[type="file"]::-webkit-file-upload-button,
input[type="file"]::file-selector-button {
    background: linear-gradient(135deg, #ffc107, #ffce3a);
    color: #0c151b;
    border: 0;
    border-radius: 8px;
    padding: 7px 14px;
    font-size: 12.5px;
    font-weight: 700;
    cursor: pointer;
    margin-right: 12px;
    font-family: inherit;
}
input[type="file"]::-webkit-file-upload-button:hover,
input[type="file"]::file-selector-button:hover {
    background: linear-gradient(135deg, #ffce3a, #ffc107);
}
html.light input[type="file"] {
    color: #0c151b;
    background: #f7f8f9;
    border-color: #e5e7eb;
}
/* Keep custom .tickets-uploader hidden file input, but if exposed elsewhere, style it */
.tickets-uploader input[type="file"][style*="display: block"],
.tickets-uploader input[type="file"]:not([hidden]):not(.d-none) { display: block; }

/* ---- Fix: child_panel_order.twig form polish (Reseller signup) ---- */
.l2v2-page-child-panel-order .form-control,
.l2v2-page-child-panel-order .form-select,
.l2v2-content .logbox-content .form-control,
.l2v2-content .logbox-content .form-select {
    background: var(--side2);
    border: 1.5px solid var(--line);
    border-radius: 11px;
    color: var(--ink);
    padding: 12px 16px;
    font-size: 14px;
    transition: 0.15s;
}
.l2v2-page-child-panel-order .form-control:focus,
.l2v2-page-child-panel-order .form-select:focus,
.l2v2-content .logbox-content .form-control:focus,
.l2v2-content .logbox-content .form-select:focus {
    border-color: var(--brand);
    outline: none;
    box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.15);
}
.l2v2-page-child-panel-order .control-label,
.l2v2-content .logbox-content .control-label,
.l2v2-content .logbox-content label {
    color: var(--ink);
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 6px;
    display: block;
}
.l2v2-page-child-panel-order .info-panel-yellow,
.l2v2-content .logbox-content .info-panel-yellow {
    background: linear-gradient(135deg, #ffc107, #ffce3a);
    color: #0c151b;
    padding: 18px 22px;
    border-radius: 14px;
    margin-bottom: 18px;
    font-size: 13.5px;
    line-height: 1.6;
    box-shadow: 0 8px 20px rgba(255, 193, 7, 0.18);
}
.l2v2-page-child-panel-order .info-panel-yellow ul,
.l2v2-content .logbox-content .info-panel-yellow ul {
    margin: 8px 0 0;
    padding-left: 20px;
    font-weight: 600;
}
.l2v2-page-child-panel-order .info-panel-yellow li,
.l2v2-content .logbox-content .info-panel-yellow li {
    font-family: 'JetBrains Mono', monospace;
    font-size: 12.5px;
    margin-bottom: 2px;
}
.l2v2-page-child-panel-order .form-group,
.l2v2-content .logbox-content .form-group { margin-bottom: 16px; }
.l2v2-page-child-panel-order .btn-primary,
.l2v2-content .logbox-content button[type="submit"].btn-primary,
.l2v2-content .logbox-content .btn-primary {
    background: linear-gradient(135deg, #ffc107, #ffce3a) !important;
    border: 0 !important;
    color: #0c151b !important;
    padding: 12px 28px;
    border-radius: 12px;
    font-weight: 800;
    font-size: 14px;
    box-shadow: 0 8px 20px rgba(255, 193, 7, 0.3);
    transition: 0.15s;
}
.l2v2-page-child-panel-order .btn-primary:hover,
.l2v2-content .logbox-content .btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(255, 193, 7, 0.4);
}
.l2v2-content .logbox-content {
    background: var(--side);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 28px;
    margin-bottom: 18px;
}

/* ---- Fix: viewticket "เลือกไฟล์" label visibility ---- */
.tk-conv .tk-input input[type="file"],
.viewticket input[type="file"],
.ticket-reply-form input[type="file"] {
    background: var(--side2);
    border: 1.5px dashed var(--line);
    color: var(--ink);
}







/* ==========================================================================
 * LIKESTER 2026 — MODAL FAMILY (lkm-* / vm-*)  [APPEND-ONLY SECTION]
 * Added: 2026-05-31 — paste-ready, token-driven, light/dark aware.
 *
 * STRATEGY (read before editing):
 * The existing .modal-wrapper overlay already owns visibility:
 *   .modal-wrapper { display:none } / .modal-wrapper.active { display:flex }
 * and modalOpen(id) (script.js L135) does exactly:
 *   t = getElementById(id); a = t.querySelector('.modal-box');
 *   t.classList.add('active'); body.overflow='hidden';
 *   click-outside .modal-box closes; .m-close closes.
 * Therefore we DO NOT redefine overlay show/hide. We only RESKIN the
 * .modal-box (via an .lkm / .vm skin class placed ON the .modal-box element)
 * so modalOpen keeps finding .modal-box + .m-close unchanged.
 *
 * The legacy .modal-box rules (style.css L9435+) hard-pin width/height/position
 * to a bottom-sheet drawer; we must override those when the skin class is
 * present. All overrides below are guarded by .lkm / .vm so untouched modals
 * keep their old look. Light/dark comes from :root (dark default) and
 * html.light overrides already defined at style.css L78-103.
 * ========================================================================== */

/* ---- Shared shell: reskin the .modal-box when it carries .lkm ------------ */
.modal-box.lkm,
.modal-box.vm {
    /* neutralise legacy bottom-sheet pinning from style.css L9435/9452/9460 */
    position: relative;
    right: auto; bottom: auto; top: auto; left: auto;
    transform: none;
    margin: auto;
    height: auto;
    max-height: calc(100vh - 40px);
    width: 100%;
    max-width: 540px;
    border-radius: 22px;
    background: var(--side, #fff);
    color: var(--ink, #0c151b);
    text-align: left;
    white-space: normal;
    overflow: hidden auto;
    box-shadow: 0 40px 80px rgba(0,0,0,.4);
    font-family: var(--font-th), var(--font-en);
    animation: lkmIn .25s ease-out;
}
@media (min-width: 992px) {
    .modal-box.lkm, .modal-box.vm { position: relative; transform: none; top: auto; left: auto; }
}
@media (max-width: 991.98px) {
    .modal-box.lkm, .modal-box.vm { max-width: 100%; height: auto; max-height: 88vh; border-radius: 20px; }
}
@keyframes lkmIn { from { opacity:0; transform: translateY(20px) scale(.96); } to { opacity:1; transform: translateY(0) scale(1); } }

/* ---- Header / body / footer (lkm) ---------------------------------------- */
.lkm .lkm-h, .lkm .h {
    display: flex; align-items: center; gap: 13px;
    padding: 22px 26px;
    background: transparent;
    border-bottom: 1px solid var(--line, #eee);
    position: relative;
}
.lkm .lkm-h .ic, .lkm .h .ic {
    width: 46px; height: 46px; border-radius: 13px;
    display: grid; place-items: center; color: #fff; font-size: 22px; flex-shrink: 0;
}
.lkm .lkm-h h2, .lkm .h h2 { margin: 0; font-size: 18px; font-weight: 800; color: var(--ink, #0c151b); letter-spacing: -0.01em; }
.lkm .lkm-h p, .lkm .h p { margin: 2px 0 0; font-size: 12.5px; color: var(--inkDim, #6b7280); font-weight: 600; }

/* close button — the .x visual; pair it with the modalOpen .m-close hook */
.lkm .x, .vm .x {
    margin-left: auto;
    width: 34px; height: 34px; border-radius: 10px;
    background: var(--side2, #f5f6f8); border: 1px solid var(--line, #eee);
    color: var(--ink, #0c151b); cursor: pointer;
    display: grid; place-items: center; font-size: 17px; flex-shrink: 0; padding: 0;
}
.lkm .x:hover, .vm .x:hover { background: var(--line, #eee); }

.lkm .lkm-b, .lkm .b { padding: 22px 26px; }
.lkm .lkm-f, .lkm-f {
    display: flex; gap: 10px;
    padding: 16px 26px 22px;
    border-top: 1px solid var(--line, #eee);
}
.lkm-f button {
    flex: 1; padding: 13px; border-radius: 13px;
    font-weight: 800; font-size: 13.5px; border: 0; cursor: pointer;
    font-family: inherit; display: flex; align-items: center; justify-content: center; gap: 8px;
    transition: .14s;
}
.lkm-f .primary { background: linear-gradient(95deg,#ffc107,#ffd24a); color: #0c151b; box-shadow: 0 8px 20px rgba(255,193,7,.3); }
.lkm-f .primary:hover { filter: brightness(1.03); }
.lkm-f .ghost { background: var(--side2, #f5f6f8); color: var(--ink, #0c151b); border: 1px solid var(--line, #eee); }
.lkm-f .ghost:hover { border-color: var(--brand, #ffc107); }
.lkm-f .danger { background: linear-gradient(95deg,#ef4444,#dc2626); color: #fff; box-shadow: 0 8px 20px rgba(239,68,68,.28); }
.lkm-f .danger:hover { filter: brightness(1.04); }

/* ---- V10 shared shell (vm) — adapted to .modal-box (no .vm-bd needed) ----- */
/* NOTE: original v10-modals.jsx wrapped each modal in its own fixed .vm-bd
 * backdrop. Under modalOpen the .modal-wrapper IS the backdrop, so we drop
 * .vm-bd and apply the .vm skin straight onto .modal-box. */
.vm .vm-yellow-h {
    background: linear-gradient(120deg,#ffc107,#ffd24a);
    padding: 24px 26px; position: relative; overflow: hidden;
}
.vm .vm-yellow-h::before { content:''; position:absolute; right:-40px; top:-50px; width:170px; height:170px; border-radius:50%; background:rgba(255,255,255,.22); }
.vm .vm-yellow-h::after  { content:''; position:absolute; left:30px; bottom:-50px; width:120px; height:120px; border-radius:50%; background:rgba(12,21,27,.05); }
.vm .vm-yellow-h .ttl { position:relative; z-index:1; display:flex; align-items:center; gap:13px; }
.vm .vm-yellow-h .ttl .ic { width:46px; height:46px; border-radius:13px; background:#0c151b; color:#ffc107; display:grid; place-items:center; font-size:22px; flex-shrink:0; }
.vm .vm-yellow-h .ttl h2 { margin:0; font-size:19px; font-weight:800; color:#0c151b; letter-spacing:-0.01em; }
.vm .vm-yellow-h .ttl p { margin:1px 0 0; font-size:12.5px; color:rgba(12,21,27,.65); font-weight:600; }
.vm .vm-yellow-h .x { position:absolute; top:20px; right:20px; z-index:2; background:rgba(12,21,27,.12); border:0; color:#0c151b; }
.vm .vm-yellow-h .x:hover { background:rgba(12,21,27,.2); }
.vm .vm-b { padding: 22px 26px; }
.vm .vm-f { padding: 0 26px 22px; display: flex; gap: 10px; border: 0; }
.vm .vm-f button { flex:1; padding:13px; border-radius:13px; font-weight:800; font-size:13.5px; border:0; cursor:pointer; font-family:inherit; display:flex; align-items:center; justify-content:center; gap:8px; }
.vm .vm-f .primary { background:linear-gradient(95deg,#ffc107,#ffd24a); color:#0c151b; box-shadow:0 8px 20px rgba(255,193,7,.3); }
.vm .vm-f .ghost { background:var(--side2,#f5f6f8); color:var(--ink,#0c151b); border:1px solid var(--line,#eee); }

/* ---- DailyCheckinModal (lkm) · page:layout · net-new ---- */
.lkm-checkin { max-width: 540px; } .lkm-checkin .lkm-checkin-hero { background: linear-gradient(135deg,#ffc107 0%, #ffce3a 100%); padding: 30px 26px 26px; position:relative; overflow:hidden; text-align:center; } .lkm-checkin .lkm-checkin-hero::before { content:''; position:absolute; right:-40px; top:-50px; width:180px; height:180px; border-radius:50%; background: rgba(255,255,255,.2); pointer-events:none; } .lkm-checkin .lkm-checkin-hero::after { content:''; position:absolute; left:-30px; bottom:-40px; width:140px; height:140px; border-radius:50%; background: rgba(255,255,255,.15); pointer-events:none; } .lkm-checkin .lkm-checkin-hero .gift { width:72px; height:72px; border-radius:50%; background:#0c151b; color:#ffc107; display:grid; place-items:center; font-size:36px; margin: 0 auto 14px; box-shadow: 0 10px 24px rgba(0,0,0,.2); position:relative; z-index:1; } .lkm-checkin .lkm-checkin-hero h2 { margin:0; font-size: 24px; font-weight:900; color:#0c151b; letter-spacing:-0.02em; position:relative; z-index:1; } .lkm-checkin .lkm-checkin-hero p { margin: 4px 0 0; font-size: 13px; color:#0c151b; opacity: .78; position:relative; z-index:1; } .lkm-checkin .lkm-checkin-days { padding: 22px 26px 0; display:grid; grid-template-columns: repeat(7, 1fr); gap: 8px; } .lkm-checkin .lkm-day { background: var(--side2,#fafafa); border:1.5px solid var(--line,#eee); border-radius: 14px; padding: 12px 6px; text-align:center; cursor:pointer; transition:.14s; } .lkm-checkin .lkm-day.done { background: linear-gradient(135deg,#ffc107,#ffce3a); border-color: #ffc107; } .lkm-checkin .lkm-day.today { background: #0c151b; border-color: #0c151b; box-shadow: 0 8px 18px rgba(12,21,27,.3); transform: scale(1.05); } .lkm-checkin .lkm-day .d { font-size: 10px; font-weight:700; color: var(--inkDim, #6b7280); margin-bottom: 4px; text-transform:uppercase; letter-spacing:.06em; } .lkm-checkin .lkm-day .ic { font-size: 22px; color: var(--ink,#0c151b); margin-bottom: 4px; } .lkm-checkin .lkm-day.done .ic { color: #0c151b; } .lkm-checkin .lkm-day.today .ic { color: #ffc107; } .lkm-checkin .lkm-day .rw { font-family:var(--font-en); font-weight: 800; font-size: 12px; color: var(--ink,#0c151b); } .lkm-checkin .lkm-day.today .rw, .lkm-checkin .lkm-day.today .d { color: #ffc107; } .lkm-checkin .lkm-day.todo .ic { color: var(--inkDim, #c5cdd6); } .lkm-checkin .lkm-checkin-claim { padding: 18px 26px 4px; text-align:center; } .lkm-checkin .lkm-checkin-claim .lbl { font-size: 12px; color: var(--inkDim,#6b7280); } .lkm-checkin .lkm-checkin-claim .reward { font-family:var(--font-en); font-weight: 900; font-size: 38px; color:var(--ink,#0c151b); letter-spacing:-0.02em; } .lkm-checkin .lkm-checkin-claim .reward em { font-style:normal; color: var(--brand,#ffc107); } .lkm-checkin .lkm-checkin-claim .desc { font-size: 12.5px; color: var(--inkDim,#6b7280); margin-top: 4px; }

/* ---- QRPaymentModal (lkm) · page:addfunds · net-new ---- */
.lkm-qr.modal-box { background: linear-gradient(135deg, #0c151b 0%, #1a2532 100%); color:#fff; max-width: 440px; } .lkm-qr .h { background: transparent; border-bottom: 1px solid rgba(255,255,255,.1); padding: 22px 26px; } .lkm-qr .h h2 { color:#fff; } .lkm-qr .h p { color: rgba(255,255,255,.6); } .lkm-qr .x { background: rgba(255,255,255,.08); color:#fff; border-color: rgba(255,255,255,.15); } .lkm-qr .x:hover { background: rgba(255,255,255,.15); } .lkm-qr .b { padding: 28px; text-align:center; } .lkm-qr .qr-box { background:#fff; padding:22px; border-radius: 18px; display:inline-block; box-shadow: 0 18px 36px rgba(0,0,0,.3); } .lkm-qr .qr-code { width: 220px; height: 220px; background-color: #fff; border-radius: 8px; position:relative; background-image: radial-gradient(circle at 16% 16%, #000 12px, transparent 12px), radial-gradient(circle at 84% 16%, #000 12px, transparent 12px), radial-gradient(circle at 16% 84%, #000 12px, transparent 12px), radial-gradient(rgba(0,0,0,1) 2px, transparent 2.5px); background-size: auto, auto, auto, 10px 10px; background-repeat: no-repeat, no-repeat, no-repeat, repeat; background-position: 0 0, 100% 0, 0 100%, 0 0; } .lkm-qr .qr-code::before { content:''; position:absolute; left: calc(50% - 30px); top: calc(50% - 30px); width: 60px; height: 60px; background:#fff; border-radius: 10px; display:grid; place-items:center; } .lkm-qr .qr-code::after { content:'฿'; position:absolute; left: calc(50% - 22px); top: calc(50% - 22px); width: 44px; height: 44px; background: #ffc107; color: #0c151b; border-radius: 8px; display:grid; place-items:center; font-family:var(--font-en); font-weight:900; font-size: 24px; z-index:1; } .lkm-qr .amt { font-family:var(--font-en); font-weight: 900; font-size: 38px; letter-spacing: -0.02em; color: #ffc107; margin-top:18px; } .lkm-qr .amt small { font-size: 14px; color: #c5cdd6; font-weight: 500; } .lkm-qr .ref { background: rgba(255,255,255,.06); border:1px dashed rgba(255,255,255,.18); padding: 10px 16px; border-radius: 10px; font-size: 12.5px; color: #c5cdd6; margin: 14px 0; font-family:var(--font-en),monospace; } .lkm-qr .ref b { color: #ffc107; } .lkm-qr .timer { display:inline-flex; align-items:center; gap: 8px; background: rgba(239,68,68,.15); border:1px solid rgba(239,68,68,.3); color: #ff6b6b; padding: 6px 14px; border-radius: 999px; font-size: 12px; font-weight: 600; margin-top: 6px; } .lkm-qr .lkm-f { border-top: 1px solid rgba(255,255,255,.1); } .lkm-qr .lkm-f .ghost { background: rgba(255,255,255,.08); color:#fff; border:1px solid rgba(255,255,255,.15); }

/* ---- OrderDetailModal (lkm) · page:orders · net-new ---- */
.lkm-order { max-width: 600px; } .lkm-order .summary { display:grid; grid-template-columns: 1fr 1fr; gap: 12px; } .lkm-order .item { background: var(--side2,#fafafa); border:1px solid var(--line,#eee); border-radius:12px; padding: 12px 14px; } .lkm-order .item .l { font-size:11px; color: var(--inkDim,#6b7280); font-weight:600; letter-spacing:.06em; text-transform:uppercase; } .lkm-order .item .v { font-family:var(--font-en); font-weight:800; font-size:15px; color: var(--ink,#0c151b); margin-top:3px; } .lkm-order .progress-wrap { padding: 14px; background: var(--side2,#fafafa); border-radius:12px; margin-top:12px; } .lkm-order .progress-wrap .top { display:flex; justify-content:space-between; align-items:center; margin-bottom: 8px; font-size:12.5px; } .lkm-order .progress-wrap .top b { font-family:var(--font-en); font-weight:800; color:#10b981; } .lkm-order .progress-bar { height:8px; background: var(--line,#eee); border-radius:99px; overflow:hidden; } .lkm-order .progress-bar .b { height:100%; background: linear-gradient(90deg,#ffc107,#10b981); border-radius:99px; } .lkm-order .timeline { display:flex; flex-direction:column; gap: 12px; margin-top:14px; padding-top:14px; border-top:1px solid var(--line,#eee); } .lkm-order .tl { display:flex; gap: 12px; align-items:flex-start; } .lkm-order .tl .dot { width:24px; height:24px; border-radius:50%; display:grid; place-items:center; font-size:12px; flex-shrink:0; } .lkm-order .tl .dot.done { background:#10b981; color:#fff; } .lkm-order .tl .dot.cur { background:#ffc107; color:#0c151b; } .lkm-order .tl .dot.todo { background: var(--line,#eee); color: var(--inkDim,#6b7280); } .lkm-order .tl .body b { display:block; font-size: 13px; font-weight:700; color: var(--ink,#0c151b); } .lkm-order .tl .body span { display:block; font-size: 11.5px; color: var(--inkDim,#6b7280); margin-top:1px; }

/* ---- SlipUploadModal (lkm) · page:addfunds · net-new ---- */
.lkm .lkm-slip-area { background: var(--side2,#fafafa); border: 2px dashed var(--line2,#d9dfe6); border-radius: 16px; padding: 40px 20px; text-align:center; cursor:pointer; transition:.18s; } .lkm .lkm-slip-area:hover { border-color: var(--brand,#ffc107); background: rgba(255,193,7,.05); } .lkm .lkm-slip-area i { font-size: 44px; color: var(--brand,#ffc107); display:block; margin-bottom: 10px; } .lkm .lkm-slip-area .t { font-size: 14px; font-weight: 700; color: var(--ink,#0c151b); } .lkm .lkm-slip-area .s { font-size: 12px; color: var(--inkDim,#6b7280); margin-top: 4px; } .lkm .lkm-slip-preview { background:var(--side,#fff); border:1px solid var(--line,#eee); border-radius:14px; padding: 16px; margin-top:14px; display:flex; align-items:center; gap:14px; } .lkm .lkm-slip-preview .pic { width: 72px; height:72px; border-radius: 12px; background: linear-gradient(135deg,#10b981,#0a7960); display:grid; place-items:center; color:#fff; font-size:32px; flex-shrink:0; } .lkm .lkm-slip-preview .meta { flex:1; min-width:0; } .lkm .lkm-slip-preview .meta b { display:block; font-size:13.5px; font-weight:700; color: var(--ink,#0c151b); } .lkm .lkm-slip-preview .meta span { display:block; font-size:11.5px; color: var(--inkDim,#6b7280); margin-top:1px; } .lkm .lkm-slip-preview .check { color:#10b981; font-size:24px; }

/* ---- ServiceDetailModal (lkm) · page:services · reskin-existing ---- */
.lkm-svc { max-width: 580px; } .lkm-svc .lkm-h .pic { width:74px; height:74px; border-radius:18px; display:grid; place-items:center; color:#fff; font-size:34px; flex-shrink:0; } .lkm-svc .lkm-svc-spec { display:grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin-top: 14px; } .lkm-svc .lkm-svc-spec .it { background: var(--side2,#fafafa); border:1px solid var(--line,#eee); border-radius:12px; padding: 12px; display:flex; gap:10px; align-items:center; } .lkm-svc .lkm-svc-spec .it .ic { width:34px; height:34px; border-radius:9px; background:var(--side,#fff); border:1px solid var(--line,#eee); display:grid; place-items:center; color: var(--brand,#ffc107); font-size:16px; flex-shrink:0; } .lkm-svc .lkm-svc-spec .it b { display:block; font-size:13px; font-weight:800; color: var(--ink,#0c151b); } .lkm-svc .lkm-svc-spec .it span { display:block; font-size:11px; color: var(--inkDim,#6b7280); margin-top:1px; }

/* ---- WithdrawModal (lkm) · page:affiliates · net-new ---- */
.lkm .lkm-wd-bal { background: linear-gradient(135deg,#10b981,#059669); color:#fff; padding: 20px 22px; border-radius: 14px; margin-bottom: 14px; } .lkm .lkm-wd-bal .l { font-size:11px; opacity:.85; font-weight:700; letter-spacing:.06em; text-transform:uppercase; } .lkm .lkm-wd-bal .v { font-family:var(--font-en); font-weight: 900; font-size: 34px; letter-spacing:-0.02em; line-height: 1; margin-top: 6px; }

/* ---- ToastStack (lkm) · page:layout · net-new ---- */
.lkm-toast-row { position: fixed; top: 20px; right: 20px; display:flex; flex-direction:column; gap: 10px; z-index: 9999; } .lkm-toast { background: var(--side,#fff); border:1px solid var(--line,#eee); border-left: 4px solid; border-radius: 12px; padding: 14px 16px 14px 14px; display:flex; gap:12px; align-items:flex-start; min-width: 320px; max-width: 420px; box-shadow: 0 14px 28px rgba(0,0,0,.12); animation: lkmToast .25s ease-out; } @keyframes lkmToast { from { opacity:0; transform: translateX(20px); } to { opacity:1; transform: translateX(0); } } .lkm-toast.success { border-left-color:#10b981; } .lkm-toast.error { border-left-color:#ef4444; } .lkm-toast.warn { border-left-color:#ffc107; } .lkm-toast.info { border-left-color:#2A62FF; } .lkm-toast .ic { width:32px; height:32px; border-radius:9px; display:grid; place-items:center; font-size:16px; flex-shrink:0; } .lkm-toast.success .ic { background: rgba(16,185,129,.15); color:#10b981; } .lkm-toast.error .ic { background: rgba(239,68,68,.15); color:#ef4444; } .lkm-toast.warn .ic { background: rgba(255,193,7,.18); color:#ca8a04; } .lkm-toast.info .ic { background: rgba(42,98,255,.15); color:#2A62FF; } .lkm-toast .body { flex:1; } .lkm-toast .body b { display:block; font-size:13.5px; font-weight:800; color: var(--ink,#0c151b); } .lkm-toast .body p { margin: 2px 0 0; font-size: 12px; color: var(--inkDim,#6b7280); line-height: 1.5; } .lkm-toast .x { background:transparent; border:0; cursor:pointer; color: var(--inkDim,#6b7280); font-size: 16px; padding: 2px; margin:0; width:auto; height:auto; }

/* ---- MassOrderResultModal (lkm) · page:massorder · net-new ---- */
.lkm .lkm-mass-stat { display:grid; grid-template-columns: repeat(3,1fr); gap:10px; } .lkm .lkm-mass-stat .s { background: var(--side2,#fafafa); border:1px solid var(--line,#eee); border-radius:14px; padding:16px; text-align:center; } .lkm .lkm-mass-stat .s .v { font-family:var(--font-en); font-weight:900; font-size: 28px; letter-spacing:-0.02em; line-height:1; } .lkm .lkm-mass-stat .s .l { font-size:11px; color: var(--inkDim,#6b7280); margin-top:4px; font-weight:600; } .lkm .lkm-mass-stat .s.ok .v { color:#10b981; } .lkm .lkm-mass-stat .s.fail .v { color:#ef4444; } .lkm .lkm-mass-stat .s.tot .v { color:#ca8a04; } .lkm .lkm-mass-list { margin-top: 14px; max-height: 200px; overflow-y: auto; } .lkm .lkm-mass-row { display:flex; align-items:center; gap: 10px; padding: 10px 12px; background: var(--side2,#fafafa); border:1px solid var(--line,#eee); border-radius:10px; margin-bottom: 6px; font-size:12px; } .lkm .lkm-mass-row .st { width: 22px; height: 22px; border-radius:50%; display:grid; place-items:center; font-size:12px; flex-shrink:0; } .lkm .lkm-mass-row .st.ok { background:#10b981; color:#fff; } .lkm .lkm-mass-row .st.fail { background:#ef4444; color:#fff; } .lkm .lkm-mass-row .id { font-family:var(--font-en),monospace; color: var(--inkDim,#6b7280); } .lkm .lkm-mass-row .body { flex:1; min-width:0; color: var(--ink,#0c151b); } .lkm .lkm-mass-row .err { color:#ef4444; font-size:11px; }

/* ---- CheckinModalV10 (vm) · page:neworder · net-new ---- */
.vm-days { display:grid; grid-template-columns:repeat(7,1fr); gap:8px; } .vm-day { border:1.5px solid var(--line,#eee); border-radius:13px; padding:12px 4px; text-align:center; background:var(--side2,#f5f6f8); } .vm-day.done { background:linear-gradient(135deg,#ffc107,#ffd24a); border-color:#ffc107; } .vm-day.today { background:#0c151b; border-color:#0c151b; transform:scale(1.06); box-shadow:0 8px 18px rgba(12,21,27,.3); } .vm-day .d { font-size:9.5px; font-weight:800; color:var(--inkDim,#6b7280); text-transform:uppercase; letter-spacing:.05em; margin-bottom:5px; } .vm-day .ic { font-size:19px; color:var(--ink,#0c151b); } .vm-day.done .ic { color:#0c151b; } .vm-day.today .ic { color:#ffc107; } .vm-day.todo .ic { color:var(--inkDim,#c5cdd6); } .vm-day .rw { font-family:var(--font-en); font-size:11px; font-weight:800; color:var(--ink,#0c151b); margin-top:4px; } .vm-day.today .rw, .vm-day.today .d { color:#ffc107; } .vm-claim { text-align:center; padding:16px 0 4px; } .vm-claim .l { font-size:12px; color:var(--inkDim,#6b7280); } .vm-claim .v { font-family:var(--font-en); font-size:34px; font-weight:900; color:var(--ink,#0c151b); letter-spacing:-0.02em; } .vm-claim .v em { font-style:normal; color:#ca8a04; } .vm-note { display:flex; gap:9px; align-items:flex-start; margin-top:14px; padding:12px 14px; background:rgba(255,193,7,.1); border:1px dashed rgba(255,193,7,.4); border-radius:11px; font-size:11.5px; color:var(--ink2,#344); line-height:1.55; } .vm-note i { color:#ca8a04; font-size:15px; flex-shrink:0; }

/* ---- MemberInfoModalV10 (vm) · page:neworder · net-new ---- */
.vm-lvl-cards { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:16px; } .vm-lvl { border-radius:14px; padding:16px 18px; border:1px solid var(--line,#eee); background:var(--side2,#f5f6f8); } .vm-lvl.cur { background:linear-gradient(135deg,#0c151b,#1a2532); border-color:transparent; } .vm-lvl .l { font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--inkDim,#6b7280); } .vm-lvl.cur .l { color:#8b98b8; } .vm-lvl .badge { display:inline-flex; align-items:center; gap:6px; margin-top:7px; font-family:var(--font-en); font-weight:900; font-size:22px; letter-spacing:-0.02em; color:var(--ink,#0c151b); } .vm-lvl.cur .badge { color:#ffc107; } .vm-lvl .sub { font-size:11.5px; color:var(--inkDim,#6b7280); margin-top:4px; } .vm-lvl.cur .sub { color:#c5cdd6; } .vm-prog { margin-bottom:16px; } .vm-prog .top { display:flex; justify-content:space-between; font-size:12px; margin-bottom:7px; color:var(--ink,#0c151b); } .vm-prog .top b { font-family:var(--font-en); color:#ca8a04; } .vm-prog .track { height:10px; background:var(--line,#eee); border-radius:99px; overflow:hidden; } .vm-prog .track i { display:block; height:100%; background:linear-gradient(90deg,#ffc107,#ffd24a); border-radius:99px; } .vm-prog .lbls { display:flex; justify-content:space-between; font-size:10.5px; color:var(--inkDim,#6b7280); margin-top:6px; font-family:var(--font-en); font-weight:600; } .vm-bens { display:flex; flex-direction:column; gap:8px; } .vm-ben { display:flex; align-items:center; gap:11px; padding:11px 14px; background:var(--side2,#f5f6f8); border:1px solid var(--line,#eee); border-radius:11px; } .vm-ben .ic { width:32px; height:32px; border-radius:9px; background:rgba(255,193,7,.16); color:#ca8a04; display:grid; place-items:center; font-size:15px; flex-shrink:0; } .vm-ben b { font-size:12.5px; font-weight:700; color:var(--ink,#0c151b); } .vm-ben span { display:block; font-size:11px; color:var(--inkDim,#6b7280); margin-top:1px; } .vm-ben .val { margin-left:auto; font-family:var(--font-en); font-weight:800; font-size:14px; color:var(--ink,#0c151b); }

/* ---- PointsModalV10 (vm) · page:neworder · reskin-existing ---- */
.vm-pts-sum { background:linear-gradient(135deg,#0c151b,#1a2532); border-radius:16px; padding:20px 22px; color:#fff; display:flex; align-items:center; gap:18px; margin-bottom:16px; position:relative; overflow:hidden; } .vm-pts-sum::before { content:''; position:absolute; right:-40px; top:-50px; width:160px; height:160px; border-radius:50%; background:radial-gradient(circle,rgba(255,193,7,.25),transparent 60%); } .vm-pts-sum .b1, .vm-pts-sum .b2, .vm-pts-sum .div, .vm-pts-sum .rate { position:relative; z-index:1; } .vm-pts-sum .b1 .l, .vm-pts-sum .b2 .l { font-size:11px; color:#8b98b8; font-weight:600; } .vm-pts-sum .b1 .v { font-family:var(--font-en); font-size:30px; font-weight:900; letter-spacing:-0.02em; color:#ffc107; line-height:1; margin-top:4px; } .vm-pts-sum .b2 .v { font-family:var(--font-en); font-size:30px; font-weight:900; letter-spacing:-0.02em; line-height:1; margin-top:4px; color:#fff; } .vm-pts-sum .b2 .v small { font-size:14px; color:#8b98b8; } .vm-pts-sum .div { width:1px; align-self:stretch; background:rgba(255,255,255,.12); } .vm-pts-sum .rate { margin-left:auto; text-align:right; } .vm-pts-sum .rate .badge { display:inline-flex; align-items:center; gap:5px; background:rgba(255,193,7,.16); color:#ffc107; padding:5px 12px; border-radius:99px; font-size:11px; font-weight:700; } .vm-pts-sum .rate .r { font-size:11px; color:#8b98b8; margin-top:6px; } .vm-seg { display:flex; gap:6px; background:var(--side2,#f5f6f8); border:1px solid var(--line,#eee); border-radius:12px; padding:4px; margin-bottom:14px; } .vm-seg button { flex:1; background:none; border:0; padding:10px; border-radius:9px; font-size:12.5px; font-weight:700; color:var(--inkDim,#6b7280); cursor:pointer; font-family:inherit; } .vm-seg button.active { background:var(--side,#fff); color:var(--ink,#0c151b); box-shadow:0 2px 6px rgba(0,0,0,.08); } .vm-fld { display:flex; flex-direction:column; gap:6px; margin-bottom:13px; } .vm-fld label { font-size:12px; font-weight:700; color:var(--ink,#0c151b); } .vm-fld input, .vm-fld select { padding:12px 14px; background:var(--side2,#f5f6f8); border:1px solid var(--line,#eee); border-radius:11px; color:var(--ink,#0c151b); font-family:inherit; font-size:13.5px; outline:none; } .vm-fld input:focus, .vm-fld select:focus { border-color:var(--brand,#ffc107); box-shadow:0 0 0 3px rgba(255,193,7,.14); } .vm-conv { display:flex; align-items:center; justify-content:space-between; padding:13px 16px; background:rgba(255,193,7,.1); border:1px dashed rgba(255,193,7,.4); border-radius:12px; margin-bottom:13px; } .vm-conv .l { font-size:12px; color:var(--ink2,#344); } .vm-conv .v { font-family:var(--font-en); font-weight:800; font-size:20px; color:#ca8a04; letter-spacing:-0.02em; } .vm-note { display:flex; gap:9px; align-items:flex-start; margin-top:14px; padding:12px 14px; background:rgba(255,193,7,.1); border:1px dashed rgba(255,193,7,.4); border-radius:11px; font-size:11.5px; color:var(--ink2,#344); line-height:1.55; } .vm-note i { color:#ca8a04; font-size:15px; flex-shrink:0; }

/* === END LIKESTER 2026 MODAL FAMILY (U22) === */


/* ==========================================================================
 * LIKESTER 2026 — U23 PAGE INLINE-STYLE CLEANUP HELPERS  [APPEND-ONLY]
 * Added 2026-05-31. Classes that replace repeated/one-off inline styles on
 * .pg-* pages so markup carries no presentational style="". Token-driven.
 * ========================================================================== */
.l2v2 .l2v2-content .pg-head .ic-big.purple { border-color: var(--ring-purple); color: var(--ring-purple); }
.l2v2 .l2v2-content .pg-head .ic-big.green  { border-color: #10b981; color: #10b981; }
.l2v2 .l2v2-content .pg-head .ic-big.red    { border-color: var(--ring-red); color: var(--ring-red); }
.l2v2 .l2v2-content .pg-head .ic-big.blue   { border-color: var(--ring-blue); color: var(--ring-blue); }
.l2v2 .l2v2-content .pg-tbl-empty { text-align: center; padding: 48px 16px; color: var(--inkDim); }
/* viewticket reply textarea (was inline #0c141b = var(--side2)) */
.sd-textarea-dark { background: var(--side2); height: 100px; border: none; }
/* updates card-grid wrapper padding (was inline) */
.l2v2 .l2v2-content .up-grid-pad { padding: 18px 24px; }
/* === END U23 === */


/* ==========================================================================
 * LIKESTER 2026 — U24 MASS ORDER PAGE (mo-*)  [APPEND-ONLY]
 * Added 2026-06-01. Ported from design pages-2.jsx MassOrderPage. Token-driven.
 * ========================================================================== */
.l2v2 .l2v2-content .mo-wrap { display:grid; grid-template-columns:1.4fr 1fr; gap:18px; align-items:start; }
.l2v2 .l2v2-content .mo-card { background:var(--side); border:1px solid var(--line); border-radius:22px; overflow:hidden; }
.l2v2 .l2v2-content .mo-card .h { background:linear-gradient(95deg,#ffc107,#ffce3a); padding:18px 24px; position:relative; overflow:hidden; }
.l2v2 .l2v2-content .mo-card .h::before { content:''; position:absolute; right:-30px; top:-40px; width:160px; height:160px; border-radius:50%; background:rgba(255,255,255,.18); pointer-events:none; }
.l2v2 .l2v2-content .mo-card .h h3 { margin:0; font-size:17px; font-weight:800; color:#0c151b; position:relative; z-index:1; }
.l2v2 .l2v2-content .mo-card .h p { margin:2px 0 0; font-size:12px; color:rgba(0,0,0,.6); font-weight:500; position:relative; z-index:1; }
.l2v2 .l2v2-content .mo-card .h p code { background:rgba(0,0,0,.08); padding:2px 8px; border-radius:5px; font-family:var(--font-mono),monospace; font-size:11px; }
.l2v2 .l2v2-content .mo-card .h.muted { background:var(--side2); border-bottom:1px solid var(--line); }
.l2v2 .l2v2-content .mo-card .h.muted h3 { color:var(--ink); }
.l2v2 .l2v2-content .mo-card .h.muted p { color:var(--inkDim); }
.l2v2 .l2v2-content .mo-card .b { padding:22px; display:flex; flex-direction:column; gap:16px; }
.l2v2 .l2v2-content .mo-card .b.tight { gap:10px; }
.l2v2 .l2v2-content .mo-textarea { width:100%; padding:16px 18px; background:var(--bg); border:1.5px solid var(--line); border-radius:14px; color:var(--ink); font-family:var(--font-mono),monospace; font-size:13px; line-height:1.7; outline:none; min-height:280px; resize:vertical; }
.l2v2 .l2v2-content .mo-textarea:focus { border-color:var(--brand); box-shadow:0 0 0 3px rgba(255,193,7,.15); }
.l2v2 .l2v2-content .mo-format { background:var(--bg); border-radius:12px; padding:14px 18px; font-family:var(--font-mono),monospace; font-size:12px; color:var(--inkDim); line-height:1.8; border:1px dashed var(--line2); }
.l2v2 .l2v2-content .mo-format b { color:var(--ink); }
.l2v2 .l2v2-content .mo-format .ex { color:var(--brand); font-weight:600; }
.l2v2 .l2v2-content .mo-side { display:flex; flex-direction:column; gap:14px; }
.l2v2 .l2v2-content .mo-side .stat-r { background:var(--side2); border:1px solid var(--line); border-radius:14px; padding:14px 18px; display:flex; justify-content:space-between; align-items:center; }
.l2v2 .l2v2-content .mo-side .stat-r .l { font-size:13px; color:var(--ink2); }
.l2v2 .l2v2-content .mo-side .stat-r .v { font-family:var(--font-en); font-weight:800; font-size:18px; color:var(--ink); }
.l2v2 .l2v2-content .mo-side .stat-r .v.b { color:var(--brand); font-size:22px; }
.l2v2 .l2v2-content .mo-warn-row { display:flex; gap:10px; font-size:12px; color:var(--ink2); }
.l2v2 .l2v2-content .mo-warn-row i { color:var(--brand); font-size:16px; flex-shrink:0; margin-top:1px; }
.l2v2 .l2v2-content .mo-warn-row b { color:var(--ink); display:block; font-size:12.5px; }
.l2v2 .l2v2-content .mo-warn-row span { color:var(--inkDim); }
.l2v2 .l2v2-content .pg-btn-big { width:100%; justify-content:center; background:linear-gradient(95deg,#ffc107,#ffce3a); color:#0c151b; padding:14px 18px; border:0; border-radius:14px; font-weight:800; font-size:14px; display:flex; align-items:center; gap:8px; cursor:pointer; font-family:inherit; box-shadow:0 8px 20px rgba(255,193,7,.3); transition:.14s; }
.l2v2 .l2v2-content .pg-btn-big:hover { filter:brightness(1.03); transform:translateY(-1px); }
@media (max-width:991.98px){ .l2v2 .l2v2-content .mo-wrap { grid-template-columns:1fr; } }
/* === END U24 === */


/* ==========================================================================
 * LIKESTER 2026 — U25 SERVICE-DETAIL MODAL (lkm-svc helpers)  [APPEND-ONLY]
 * Added 2026-06-01. Completes the lkm-svc reskin used by services.twig.
 * ========================================================================== */
.lkm-svc .lkm-h .ic { background: linear-gradient(135deg,#ffc107,#ff9800); color:#0c151b; }
.lkm-svc .lkm-svc-spec .it b i { color: var(--inkDim); font-size:13px; cursor:pointer; margin-left:4px; }
.lkm-svc-desc { font-size:13px; color:var(--ink2); line-height:1.65; margin-top:14px; background:var(--side2); border:1px solid var(--line); border-radius:12px; padding:12px 14px; max-height:170px; overflow:auto; }
.lkm-f a { flex:1; padding:13px; border-radius:13px; font-weight:800; font-size:13.5px; text-decoration:none; display:flex; align-items:center; justify-content:center; gap:8px; transition:.14s; }
.lkm-f a.primary { background:linear-gradient(95deg,#ffc107,#ffd24a); color:#0c151b; box-shadow:0 8px 20px rgba(255,193,7,.3); }
.lkm-f a.primary:hover { filter:brightness(1.03); }
/* === END U25 === */

/* U26 — faq guest top padding (was an inline <style> block in faq.twig; unscoped so it works on the public/guest layout too) */
.appContent.faq-guest-pad { padding-top: 150px; color: #fff; }

/* U27 — account change-email button (was inline font/padding) + tab section show/hide for upcoming acc-tabs */
.acc-email-btn { font-size: 13px; font-weight: 400; padding: 5px 25px; }
.acc-section { display: none; }
.acc-section.active { display: block; }


/* ==========================================================================
 * LIKESTER 2026 — U28 AUTH SHELL (.au / au-*)  [APPEND-ONLY]
 * Full-screen light auth shell ported from design auth.jsx. Net-new classes.
 * Used by signup/resetpassword/setnewpassword/confirm_signup.
 * ========================================================================== */
.au { font-family:'Noto Sans Thai','Inter',sans-serif; color:#0c151b; background:#ffc107; min-height:100%; position:relative; display:flex; flex-direction:column; }
.au * { box-sizing:border-box; }
.au .dots { position:absolute; inset:0; background-image:radial-gradient(rgba(12,21,27,.07) 1.5px,transparent 1.5px); background-size:24px 24px; pointer-events:none; }
.au-hex { position:absolute; width:70px; height:78px; clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); display:grid; place-items:center; color:#fff; font-size:28px; box-shadow:0 16px 30px rgba(0,0,0,.18); animation:auf 5.5s ease-in-out infinite; }
.au-hex.h1 { background:linear-gradient(135deg,#ff5e6e,#ff2828); top:14%; left:12%; }
.au-hex.h2 { background:linear-gradient(135deg,#37e09f,#10b981); bottom:16%; right:14%; width:58px; height:64px; font-size:24px; animation-delay:-2.4s; }
.au-hex.h3 { background:linear-gradient(135deg,#3e9bff,#0258ff); top:60%; left:8%; width:52px; height:58px; font-size:22px; animation-delay:-3.6s; }
@keyframes auf { 0%,100%{transform:translateY(0) rotate(-4deg)} 50%{transform:translateY(-15px) rotate(4deg)} }
.au-nav { display:flex; align-items:center; justify-content:space-between; padding:22px 48px; position:relative; z-index:3; }
.au-nav .logo { display:flex; align-items:center; gap:11px; }
.au-nav .lion { width:44px; height:44px; border-radius:12px; background:linear-gradient(135deg,#ff6b35,#ff9800); display:grid; place-items:center; color:#0c151b; font-weight:900; font-family:'Inter',sans-serif; font-size:23px; box-shadow:0 8px 18px rgba(255,107,53,.3); }
.au-nav .word { font-family:'Inter',sans-serif; font-weight:900; font-size:21px; letter-spacing:.02em; line-height:1; }
.au-nav .word small { display:block; font-size:9px; font-weight:600; letter-spacing:.2em; margin-top:3px; text-transform:uppercase; opacity:.65; }
.au-nav .back { display:inline-flex; align-items:center; gap:7px; background:#0c151b; color:#fff; padding:10px 18px; border-radius:12px; font-size:13px; font-weight:700; text-decoration:none; cursor:pointer; }
.au-main { flex:1; display:grid; place-items:center; padding:20px 48px 56px; position:relative; z-index:3; }
.au-card { background:#fff; border-radius:26px; padding:36px 34px; box-shadow:0 30px 70px rgba(0,0,0,.2),0 6px 16px rgba(0,0,0,.06); width:100%; max-width:440px; }
.au-card.wide { max-width:480px; }
.au-ico { width:60px; height:60px; border-radius:17px; display:grid; place-items:center; font-size:28px; margin:0 auto 18px; }
.au-ico.y { background:linear-gradient(135deg,#ffc107,#ffd24a); color:#0c151b; }
.au-ico.g { background:linear-gradient(135deg,#37e09f,#10b981); color:#fff; }
.au-ico.b { background:linear-gradient(135deg,#3e9bff,#0258ff); color:#fff; }
.au-card h1 { margin:0 0 6px; font-size:25px; font-weight:800; letter-spacing:-0.02em; text-align:center; }
.au-card .lead { margin:0 0 22px; font-size:13.5px; color:#6b7280; text-align:center; line-height:1.55; }
.au-card .lead b { color:#0c151b; }
.au-fld { display:flex; flex-direction:column; gap:7px; margin-bottom:14px; }
.au-fld label { font-size:12.5px; font-weight:700; }
.au-fld .w { position:relative; }
.au-fld .w i { position:absolute; left:15px; top:50%; transform:translateY(-50%); color:#9ca3af; font-size:17px; }
.au-fld input { width:100%; padding:14px 16px 14px 44px; border-radius:14px; border:1.5px solid #e5e7eb; background:#f9fafb; font-family:inherit; font-size:14px; outline:none; transition:.14s; }
.au-fld input.plain { padding-left:16px; }
.au-fld input:focus { border-color:#ffc107; background:#fff; box-shadow:0 0 0 3px rgba(255,193,7,.2); }
.au-row2 { display:grid; grid-template-columns:1fr 1fr; gap:11px; }
.au-submit { width:100%; padding:15px; border-radius:15px; background:#ffc107; color:#0c151b; font-weight:800; font-size:15px; border:0; cursor:pointer; box-shadow:0 10px 22px rgba(255,193,7,.4); display:flex; align-items:center; justify-content:center; gap:8px; font-family:inherit; transition:.16s; }
.au-submit:hover { background:#ffce3a; transform:translateY(-2px); }
.au-ghost { width:100%; padding:13px; border-radius:14px; background:#fff; border:1.5px solid #e5e7eb; color:#0c151b; font-weight:700; font-size:13.5px; cursor:pointer; font-family:inherit; display:flex; align-items:center; justify-content:center; gap:8px; margin-top:10px; }
.au-foot { text-align:center; font-size:12.5px; color:#6b7280; margin:16px 0 0; }
.au-foot a { color:#0c151b; font-weight:800; text-decoration:none; }
.au-meter { display:flex; flex-direction:column; gap:4px; padding:10px 14px; background:#fffaef; border:1px dashed #ffc107; border-radius:11px; margin-bottom:14px; }
.au-meter .lbl { font-size:11.5px; font-weight:700; }
.au-meter .track { height:6px; background:#e5e7eb; border-radius:99px; overflow:hidden; }
.au-meter .track i { display:block; height:100%; background:linear-gradient(90deg,#10b981,#ffc107); border-radius:99px; }
.au-meter .ok { font-size:11px; color:#10b981; font-weight:700; }
.au-terms { display:flex; gap:9px; align-items:flex-start; font-size:12px; color:#344; line-height:1.5; margin-bottom:16px; }
.au-terms a { color:#ca8a04; font-weight:700; text-decoration:none; }
.au-otp { display:flex; gap:10px; justify-content:center; margin:6px 0 18px; }
.au-otp input { width:48px; height:58px; text-align:center; font-family:'Inter',sans-serif; font-size:24px; font-weight:800; border:1.5px solid #e5e7eb; border-radius:13px; background:#f9fafb; outline:none; }
.au-otp input:focus { border-color:#ffc107; background:#fff; box-shadow:0 0 0 3px rgba(255,193,7,.2); }
.au-otp input.filled { border-color:#ffc107; background:#fffaef; }
.au-resend { text-align:center; font-size:12.5px; color:#6b7280; margin-top:14px; }
.au-resend a { color:#0c151b; font-weight:800; text-decoration:none; }
/* === END U28 === */

/* U28b — password show/hide toggle inside .au-fld (setnewpassword) */
.au-fld .w .pw-toggle { position:absolute; right:10px; top:50%; transform:translateY(-50%); background:none; border:0; cursor:pointer; color:#9ca3af; font-size:18px; padding:4px; line-height:0; }
.au-fld .w .pw-toggle:hover { color:#0c151b; }
.au-fld .w .pw-toggle .ri-eye-off-line { display:none; }
.au-fld .w .pw-toggle.active .ri-eye-line { display:none; }
.au-fld .w .pw-toggle.active .ri-eye-off-line { display:inline-block; }
.au-fld .w input.pw { padding-right:44px; }

/* ==========================================================================
 * LIKESTER 2026 — U29 SERVICES card grid (pg-svc-*) + guest top pad  [APPEND-ONLY]
 * Restyles services.twig service list into a responsive card grid. Preserves
 * all filter/search/favorite JS hooks (.service-item/.category-card/data-*).
 * ========================================================================== */
.appContent.guest-top-pad { padding-top: 150px; color: #fff; }
html.light .appContent.guest-top-pad { color: #3d4249; }
.l2v2 .l2v2-page-services .services-wrapper { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.l2v2 .l2v2-page-services .service-item.pg-svc-card { background: var(--side); border: 1px solid var(--line); border-radius: 16px; padding: 18px; position: relative; transition: .16s; display: flex; flex-direction: column; gap: 12px; height: 100%; }
.l2v2 .l2v2-page-services .service-item.pg-svc-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); border-color: var(--brand); }
.l2v2 .l2v2-page-services .pg-svc-card .pg-svc-id { font-family: var(--font-en); font-size: 11px; font-weight: 700; color: var(--inkDim); letter-spacing: .04em; }
.l2v2 .l2v2-page-services .pg-svc-card .pg-svc-name { font-size: 14px; font-weight: 700; color: var(--ink); margin: 0; line-height: 1.45; }
.l2v2 .l2v2-page-services .pg-svc-card .pg-svc-meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 12px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin-top: auto; }
.l2v2 .l2v2-page-services .pg-svc-card .pg-svc-meta > div { display: flex; flex-direction: column; gap: 3px; text-align: center; }
.l2v2 .l2v2-page-services .pg-svc-card .pg-svc-meta .l { font-size: 10px; color: var(--inkDim); text-transform: uppercase; letter-spacing: .05em; }
.l2v2 .l2v2-page-services .pg-svc-card .pg-svc-meta .v { font-family: var(--font-en); font-weight: 800; font-size: 13px; color: var(--ink); }
.l2v2 .l2v2-page-services .pg-svc-card .pg-svc-avt { font-size: 11px; color: var(--inkDim); display: flex; align-items: center; gap: 5px; }
.l2v2 .l2v2-page-services .pg-svc-card .pg-svc-btn { background: linear-gradient(95deg, #ffc107, #ffd24a); color: #0c151b; border: 0; border-radius: 11px; padding: 10px; font-weight: 800; font-size: 13px; cursor: pointer; width: 100%; }
.l2v2 .l2v2-page-services .pg-svc-card .pg-svc-btn:hover { filter: brightness(1.03); }
.l2v2 .l2v2-page-services .pg-svc-card .pg-svc-fav { position: absolute; top: 14px; right: 14px; font-size: 17px; color: #ffc107; cursor: pointer; z-index: 1; }
/* === END U29 === */

/* ========================================================================== */
/* === Affiliate light-mode redesign (match /api standard) — token-based  === */
/* === Additive overrides only (legacy dark blocks kept to avoid regress) === */
/* ========================================================================== */

/* [1] Hero (.dashboard-head) in light: clean card surface instead of the flat
   grey #edeff2 from `html.light .dashboard-head-wrapper .dashboard-head`.
   Specificity raised with .l2v2 + .l2v2-page-affiliates + wrapper to beat it. */
html.light .l2v2 .l2v2-page-affiliates .dashboard-head-wrapper .dashboard-head {
    background: var(--side);
    border: 1px solid var(--line);
}
html.light .l2v2 .l2v2-page-affiliates .dashboard-head::before {
    background: radial-gradient(circle, rgba(255, 193, 7, .12), transparent 60%);
}
html.light .l2v2 .l2v2-page-affiliates .dashboard-head .dhead-icon {
    background: rgba(255, 193, 7, .15);
    color: var(--brand);
    box-shadow: none;
}

/* [2] Referral / modern-card in light: white card, no dark gradient, no radial.
   section-title (#fff !important at L859/L2085) re-tokenised; link-input readable. */
html.light .l2v2 .l2v2-page-affiliates .modern-card,
html.light .l2v2 .l2v2-page-affiliates .referral-section {
    background: var(--side) !important;
    border: 1px solid var(--line);
    color: var(--ink);
}
html.light .l2v2 .l2v2-page-affiliates .modern-card::before,
html.light .l2v2 .l2v2-page-affiliates .referral-section::before {
    display: none;
}
html.light .l2v2 .l2v2-page-affiliates .section-title,
html.light .l2v2 .l2v2-page-affiliates .section-title h5,
html.light .l2v2 .l2v2-page-affiliates .referral-section .section-title {
    color: var(--ink) !important;
}
html.light .l2v2 .l2v2-page-affiliates .section-title p {
    color: var(--inkDim) !important;
}
html.light .l2v2 .l2v2-page-affiliates .link-input {
    background: var(--side2);
    border: 1px solid var(--line);
    color: var(--ink);
}

/* [3] Tier cards in light: token surface + neutral text, yellow only on rate.
   Additive (legacy un-scoped #121D27 block & html.light .aff-tier-card kept). */
html.light .l2v2 .l2v2-page-affiliates .aff-tier-card {
    background: var(--side);
    border-color: var(--line);
}
html.light .l2v2 .l2v2-page-affiliates .aff-tier-active-new,
html.light .l2v2 .l2v2-page-affiliates .aff-tier-active-gold,
html.light .l2v2 .l2v2-page-affiliates .aff-tier-active-platinum,
html.light .l2v2 .l2v2-page-affiliates .aff-tier-active-vip {
    background: rgba(255, 193, 7, .08);
    border-color: var(--brand);
}
html.light .l2v2 .l2v2-page-affiliates .aff-tier-name {
    color: var(--ink);
}
html.light .l2v2 .l2v2-page-affiliates .aff-tier-sublabel,
html.light .l2v2 .l2v2-page-affiliates .tier-name {
    color: var(--inkDim);
}
html.light .l2v2 .l2v2-page-affiliates .aff-tier-rate {
    color: var(--brand);
}
html.light .l2v2 .l2v2-page-affiliates .aff-tier-rate-free {
    color: var(--success);
}
/* === END affiliate light redesign === */

/* ================================================================
   FINAL FIX: Daily check-in coins were squished/oval + cells too narrow.
   Earlier block (~L29326) neutralized the round coins to plain icons
   (width:auto/height:auto/border-radius:0/background:transparent) which
   rendered as ~22x24 ovals. This block restores true circular coins and
   forces .ci-day to stretch the full 7-col grid track. Placed last to win
   the cascade; uses !important to override the neutralizing block.
   ================================================================ */
.ci-grid {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 8px !important;
    justify-items: stretch !important;
    margin: 0 0 18px !important;
}
.ci-day {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    justify-self: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    box-sizing: border-box !important;
    padding: 12px 4px !important;
}
.ci-day .ci-coin,
.ci-day .ci-check,
.ci-day .ci-gift {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    flex-shrink: 0 !important;
    border-radius: 50% !important;
    display: grid !important;
    place-items: center !important;
    font-size: 16px !important;
    line-height: 1 !important;
    padding: 0 !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.18) !important;
}
/* default coin = grey */
.ci-day .ci-coin {
    background: linear-gradient(135deg, #d4d4d8, #a1a1aa) !important;
    color: #6b6b73 !important;
}
/* checked = yellow gold */
.ci-day.checked .ci-coin,
.ci-day.checked .ci-check {
    background: linear-gradient(135deg, #ffc107, #e8a800) !important;
    color: #0c151b !important;
    display: grid !important;
}
/* today = bright yellow */
.ci-day.today .ci-coin,
.ci-day.today .ci-check,
.ci-day.today .ci-gift {
    background: linear-gradient(135deg, #ffc107, #ff9800) !important;
    color: #0c151b !important;
    box-shadow: 0 4px 12px rgba(255,193,7,0.4) !important;
}
/* gift (bonus day) = yellow, slightly larger but still 1:1 */
.ci-day .ci-gift {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    background: linear-gradient(135deg, #ff9800, #ff6e3e) !important;
    color: #fff !important;
}
.ci-day.bonus.checked .ci-gift,
.ci-day.bonus.checked .ci-check {
    background: linear-gradient(135deg, #ffc107, #e8a800) !important;
    color: #0c151b !important;
}
/* keep glyph inside the circle from overflowing */
.ci-day .ci-coin i,
.ci-day .ci-check i,
.ci-day .ci-gift i {
    font-size: inherit !important;
    line-height: 1 !important;
}

/* ci-day cell = transparent (coin วงกลมข้างในเป็นตัวแสดง state ไม่ใช่ cell) */
.ci-modal-body .ci-grid .ci-day,
.ci-modal-body .ci-grid .ci-day.today,
.ci-modal-body .ci-grid .ci-day.bonus,
.ci-modal-body .ci-grid .ci-day.checked {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* ================================================================
   DAILY CHECK-IN MODAL — FINAL REDESIGN (token-based, /api standard)
   Self-contained override block. Wins the cascade over all 5 earlier
   .ci-* blocks (L1312 / L2342 / L22055 / L29150 / L30976). Markup &
   JS untouched — CSS only.

   Design notes
   - Header: full yellow gradient hero (streak pill + gift + title + sub).
     Body: token surface (var(--side)) below a hard divider — DAY labels
     sit fully on the body, never straddling the header line.
   - Coin fix: the ri-coin-fill glyph is intrinsically wide and renders as
     a flat oval/"flying saucer" when clipped inside a round chip. We HIDE
     the <i> glyph for plain coins and draw a crisp, true-1:1 coin face via
     ::after (centred ฿-style mark on a domed gold/neutral disc). Gift and
     check glyphs are square, so they're kept (sized to fit the 1:1 chip).
   - Works in light + dark via tokens (--side/--side2/--line/--ink/--inkDim).
   ================================================================ */

/* ---- Shell ---- */
#checkinModal .ci-modal {
    background: var(--side) !important;
    border: 1px solid var(--line) !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    box-shadow: 0 30px 70px rgba(0,0,0,0.45) !important;
}
html.light #checkinModal .ci-modal { box-shadow: 0 30px 70px rgba(12,21,27,0.18) !important; }

/* ---- HERO (full yellow gradient — same on light + dark) ---- */
#checkinModal .ci-modal-header {
    background: linear-gradient(135deg, #ffc107 0%, #ffce3a 100%) !important;
    padding: 30px 26px 28px !important;
    text-align: center !important;
    position: relative !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
}
#checkinModal .ci-modal-header .ci-header-deco {
    position: absolute !important;
    right: -42px; top: -54px;
    width: 184px; height: 184px;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.22) !important;
    pointer-events: none;
    z-index: 0;
}
#checkinModal .ci-modal-header .ci-header-deco::before {
    content: ''; position: absolute;
    left: -10px; bottom: -250px;
    width: 130px; height: 130px;
    border-radius: 50%;
    background: rgba(255,255,255,0.16);
}
#checkinModal .ci-modal-header .ci-header-deco::after { display: none !important; }

/* close button — dark glyph on the yellow hero, top-right */
#checkinModal .ci-modal-header .ci-close-btn {
    position: absolute !important;
    top: 16px !important; right: 16px !important;
    width: 34px !important; height: 34px !important;
    border-radius: 10px !important;
    border: 0 !important;
    padding: 0 !important;
    opacity: 1 !important; filter: none !important;
    z-index: 3 !important;
    background-color: rgba(12,21,27,0.12) !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c151b'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 13px !important;
    transition: background-color .15s ease !important;
}
#checkinModal .ci-modal-header .ci-close-btn:hover { background-color: rgba(12,21,27,0.22) !important; }

/* header content stack: streak pill → title → sub */
#checkinModal .ci-modal-header .ci-header-content {
    position: relative !important;
    z-index: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0 !important;
}

/* streak pill (gift chip + count) */
#checkinModal .ci-modal-header .ci-streak-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: auto !important; height: auto !important;
    background: rgba(12,21,27,0.10) !important;
    border: 1px solid rgba(12,21,27,0.10) !important;
    border-radius: 999px !important;
    padding: 6px 16px 6px 6px !important;
    margin: 0 auto 14px !important;
    box-shadow: 0 6px 16px rgba(12,21,27,0.10) !important;
    backdrop-filter: none !important;
}
#checkinModal .ci-modal-header .ci-streak-icon {
    flex-shrink: 0 !important;
    width: 34px !important; height: 34px !important;
    border-radius: 50% !important;
    background: #0c151b !important;
    color: #ffc107 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 17px !important;
    line-height: 1 !important;
    box-shadow: none !important;
}
#checkinModal .ci-modal-header .ci-streak-icon i { font-size: inherit !important; line-height: 1 !important; }
#checkinModal .ci-modal-header .ci-streak-info {
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 6px !important;
}
#checkinModal .ci-modal-header .ci-streak-num {
    font-family: var(--font-en), "Inter", sans-serif !important;
    font-weight: 800 !important;
    font-size: 18px !important;
    line-height: 1 !important;
    color: #0c151b !important;
}
#checkinModal .ci-modal-header .ci-streak-label {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #0c151b !important;
    opacity: 0.78 !important;
}
#checkinModal .ci-modal-header .ci-header-title {
    margin: 0 !important;
    font-size: 23px !important;
    font-weight: 900 !important;
    color: #0c151b !important;
    letter-spacing: -0.02em !important;
    line-height: 1.2 !important;
}
#checkinModal .ci-modal-header .ci-header-sub {
    margin: 4px 0 0 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #0c151b !important;
    opacity: 0.78 !important;
}

/* ---- BODY (token surface; clear separation from yellow hero) ---- */
#checkinModal .ci-modal-body {
    padding: 24px 24px 22px !important;
    background: var(--side) !important;
    border: 0 !important;
}

/* ---- 7-day grid ---- */
#checkinModal .ci-modal-body .ci-grid {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 0 18px !important;
}

/* ---- Day card (filled cell, 1:1 coin chip inside) ----
   NOTE: must reset width/height/min-height/border-radius because the dashboard
   banner-dot rule `.l2v2 .l2v2-content .ci-day { width:10px; height:10px;
   border-radius:50% }` (7-day dot progress) leaks into this modal — the modal is
   rendered inside .l2v2 .l2v2-content, so without height:auto the cell collapses
   to ~27px and its content overflows onto the reward box below. */
#checkinModal .ci-modal-body .ci-grid .ci-day {
    background: var(--side2) !important;
    border: 1.5px solid var(--line) !important;
    border-radius: 14px !important;
    padding: 12px 4px !important;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
    height: auto !important;
    min-height: 92px !important;
    justify-self: stretch !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    text-align: center !important;
    color: var(--ink) !important;
    box-shadow: none !important;
    transform: none !important;
    animation: none !important;
    cursor: default !important;
    position: relative !important;
}

#checkinModal .ci-modal-body .ci-grid .ci-day-label {
    font-size: 9.5px !important;
    font-weight: 800 !important;
    color: var(--inkDim) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    line-height: 1 !important;
    margin: 0 !important;
}
#checkinModal .ci-modal-body .ci-grid .ci-day-pts {
    font-family: var(--font-en), "Inter", sans-serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    color: var(--ink) !important;
    line-height: 1 !important;
    margin: 0 !important;
    opacity: 1 !important;
}
#checkinModal .ci-modal-body .ci-grid .ci-bonus-tag { display: none !important; }

/* ---- Coin / gift / check chip — true 1:1 circle ---- */
#checkinModal .ci-modal-body .ci-grid .ci-coin,
#checkinModal .ci-modal-body .ci-grid .ci-check,
#checkinModal .ci-modal-body .ci-grid .ci-gift {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    flex-shrink: 0 !important;
    border-radius: 50% !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 auto !important;
    padding: 0 !important;
    line-height: 1 !important;
    position: relative !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* default coin = neutral domed disc; HIDE the wide ri-coin-fill glyph
   (the oval culprit) and draw a crisp coin face via ::after */
#checkinModal .ci-modal-body .ci-grid .ci-coin {
    background:
        radial-gradient(120% 120% at 30% 25%, rgba(255,255,255,0.55), rgba(255,255,255,0) 55%),
        linear-gradient(160deg, #e4e7ec 0%, #b9bfc8 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.6), inset 0 -2px 3px rgba(0,0,0,0.18), 0 2px 5px rgba(0,0,0,0.16) !important;
}
#checkinModal .ci-modal-body .ci-grid .ci-coin i { display: none !important; }
#checkinModal .ci-modal-body .ci-grid .ci-coin::after {
    content: "฿" !important;
    font-family: var(--font-en), "Inter", sans-serif !important;
    font-weight: 900 !important;
    font-size: 16px !important;
    line-height: 1 !important;
    color: #6b7280 !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.5) !important;
}

/* gift chip (bonus day, day 7) — square glyph fits fine */
#checkinModal .ci-modal-body .ci-grid .ci-gift {
    background:
        radial-gradient(120% 120% at 30% 25%, rgba(255,255,255,0.45), rgba(255,255,255,0) 55%),
        linear-gradient(160deg, #ff9800 0%, #ff6e3e 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.4), 0 3px 8px rgba(255,110,62,0.35) !important;
}
#checkinModal .ci-modal-body .ci-grid .ci-gift i {
    display: block !important;
    font-size: 18px !important;
    line-height: 1 !important;
    color: #fff !important;
}

/* check chip (already checked-in) — square glyph fits fine */
#checkinModal .ci-modal-body .ci-grid .ci-check {
    background:
        radial-gradient(120% 120% at 30% 25%, rgba(255,255,255,0.5), rgba(255,255,255,0) 55%),
        linear-gradient(160deg, #ffc107 0%, #e8a800 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), 0 3px 8px rgba(255,193,7,0.3) !important;
}
#checkinModal .ci-modal-body .ci-grid .ci-check i {
    display: block !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    color: #0c151b !important;
}

/* ---- State: checked (past day, claimed) — filled gold card ---- */
#checkinModal .ci-modal-body .ci-grid .ci-day.checked {
    background: linear-gradient(135deg, #ffc107, #ffce3a) !important;
    border-color: #ffc107 !important;
}
#checkinModal .ci-modal-body .ci-grid .ci-day.checked .ci-day-label,
#checkinModal .ci-modal-body .ci-grid .ci-day.checked .ci-day-pts { color: #0c151b !important; }
#checkinModal .ci-modal-body .ci-grid .ci-day.checked .ci-day-label { opacity: 0.7 !important; }
#checkinModal .ci-modal-body .ci-grid .ci-day.checked .ci-check {
    background: rgba(12,21,27,0.12) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.25) !important;
}
#checkinModal .ci-modal-body .ci-grid .ci-day.checked .ci-check i { color: #0c151b !important; }
/* hide the leftover coin chip when a day is checked (markup keeps both) */
#checkinModal .ci-modal-body .ci-grid .ci-day.checked .ci-coin { display: none !important; }

/* ---- State: today (current claimable day) — dark card, gold accents, ring ---- */
#checkinModal .ci-modal-body .ci-grid .ci-day.today {
    background: #0c151b !important;
    border-color: #0c151b !important;
    box-shadow: 0 0 0 2px rgba(255,193,7,0.55), 0 10px 22px rgba(12,21,27,0.35) !important;
    transform: scale(1.05) !important;
    z-index: 1 !important;
}
#checkinModal .ci-modal-body .ci-grid .ci-day.today .ci-day-label { color: #ffc107 !important; opacity: 1 !important; }
#checkinModal .ci-modal-body .ci-grid .ci-day.today .ci-day-pts { color: #ffc107 !important; font-weight: 900 !important; }
#checkinModal .ci-modal-body .ci-grid .ci-day.today .ci-coin {
    background:
        radial-gradient(120% 120% at 30% 25%, rgba(255,255,255,0.65), rgba(255,255,255,0) 55%),
        linear-gradient(160deg, #ffc107 0%, #ff9800 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.6), 0 0 0 3px rgba(255,193,7,0.28), 0 4px 10px rgba(255,152,0,0.45) !important;
}
#checkinModal .ci-modal-body .ci-grid .ci-day.today .ci-coin::after { color: #7a4b00 !important; text-shadow: 0 1px 0 rgba(255,255,255,0.45) !important; }
#checkinModal .ci-modal-body .ci-grid .ci-day.today .ci-gift {
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.4), 0 0 0 3px rgba(255,152,0,0.3), 0 4px 10px rgba(255,110,62,0.5) !important;
}

/* ---- State: bonus (day 7, not yet reached) — neutral card, gift chip ---- */
#checkinModal .ci-modal-body .ci-grid .ci-day.bonus {
    background: var(--side2) !important;
    border-color: var(--line) !important;
}
#checkinModal .ci-modal-body .ci-grid .ci-day.bonus.checked {
    background: linear-gradient(135deg, #ffc107, #ffce3a) !important;
    border-color: #ffc107 !important;
}
#checkinModal .ci-modal-body .ci-grid .ci-day.bonus.checked .ci-gift { display: none !important; }
#checkinModal .ci-modal-body .ci-grid .ci-day.bonus.today {
    background: #0c151b !important;
    border-color: #0c151b !important;
}

/* ---- Reward box (centered claim summary) ---- */
#checkinModal .ci-modal-body .ci-reward-box {
    text-align: center !important;
    padding: 0 !important;
    margin: 0 0 16px !important;
    background: transparent !important;
    border: 0 !important;
    color: var(--ink) !important;
}

/* ---- CTA (full-width gold primary) ---- */
#checkinModal .ci-modal-body .ci-cta-btn {
    display: block !important;
    width: 100% !important;
    background: linear-gradient(135deg, #ffc107, #ffab00) !important;
    color: #0c151b !important;
    border: 0 !important;
    border-radius: 13px !important;
    padding: 15px 24px !important;
    font-size: 15.5px !important;
    font-weight: 900 !important;
    font-family: inherit !important;
    box-shadow: 0 10px 22px rgba(255,193,7,0.34) !important;
    transition: transform .16s ease, box-shadow .16s ease !important;
    cursor: pointer !important;
}
#checkinModal .ci-modal-body .ci-cta-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 30px rgba(255,193,7,0.46) !important;
}
#checkinModal .ci-modal-body .ci-cta-btn:disabled {
    background: var(--side2) !important;
    color: var(--inkDim) !important;
    box-shadow: none !important;
    transform: none !important;
    cursor: not-allowed !important;
}

/* ---- Light mode: body & neutral cards on white tokens ---- */
html.light #checkinModal .ci-modal-body .ci-grid .ci-day { background: var(--side2) !important; border-color: var(--line) !important; }
html.light #checkinModal .ci-modal-body .ci-grid .ci-coin::after { color: #9099a3 !important; }

/* ---- Responsive ---- */
@media (max-width: 480px) {
    #checkinModal .ci-modal-header { padding: 24px 18px 22px !important; }
    #checkinModal .ci-modal-header .ci-header-title { font-size: 20px !important; }
    #checkinModal .ci-modal-body { padding: 18px 16px 18px !important; }
    #checkinModal .ci-modal-body .ci-grid { gap: 5px !important; }
    #checkinModal .ci-modal-body .ci-grid .ci-day { padding: 10px 2px !important; border-radius: 12px !important; gap: 5px !important; height: auto !important; min-height: 84px !important; }
    #checkinModal .ci-modal-body .ci-grid .ci-day-label { font-size: 8.5px !important; }
    #checkinModal .ci-modal-body .ci-grid .ci-day-pts { font-size: 11px !important; }
    #checkinModal .ci-modal-body .ci-grid .ci-coin,
    #checkinModal .ci-modal-body .ci-grid .ci-check,
    #checkinModal .ci-modal-body .ci-grid .ci-gift { width: 32px !important; height: 32px !important; min-width: 32px !important; }
    #checkinModal .ci-modal-body .ci-grid .ci-coin::after { font-size: 14px !important; }
    #checkinModal .ci-modal-body .ci-grid .ci-gift i { font-size: 16px !important; }
    #checkinModal .ci-modal-body .ci-grid .ci-check i { font-size: 17px !important; }
}
