
                        /* ---- กรอบสีรุ้งหมุน ---- */
                        .tms-nv-wrap { margin-bottom: 15px; }
                        .tms-nv-frame {
                            position: relative; border-radius: 20px; padding: 4px;
                            overflow: hidden; overflow: clip; isolation: isolate; /* ✏️ 18:25 clip: กดลิงก์ #/แท็บไปการ์ดแล้วกรอบไม่เลื่อนเนื้อหาขึ้น (hidden ยังเลื่อนได้) */
                        }
                        .tms-nv-frame::before {
                            content: ''; position: absolute; left: 50%; top: 50%;
                            width: 180%; aspect-ratio: 1; translate: -50% -50%; z-index: 0;
                            background: conic-gradient(from 0deg, #ff5f6d, #ffc371, #f7ff7a, #7afcb5, #6ad7ff, #b18cff, #ff7ad9, #ff5f6d);
                            animation: tms-nv-spin 5s linear infinite;
                        }
                        @keyframes tms-nv-spin { to { rotate: 360deg; } }
                        .tms-nv-inner {
                            position: relative; z-index: 2; border-radius: 16px;
                            overflow: hidden; background: #ffd9ea;
                        }
                        .tms-nv-link { position: relative; display: block; border-radius: 16px; overflow: hidden; }
                        /* รูปขยาย 6% ให้เต็มกรอบ แล้วเฟดขอบบางๆ */
                        .tms-nv-link img {
                            display: block; width: 100%; height: auto;
                            transform: scale(1.06); transform-origin: center;
                            -webkit-mask-image: linear-gradient(to right, transparent 0, #000 3%, #000 97%, transparent 100%),
                                                linear-gradient(to bottom, transparent 0, #000 4.5%, #000 95.5%, transparent 100%);
                            -webkit-mask-composite: source-in;
                            mask-image: linear-gradient(to right, transparent 0, #000 3%, #000 97%, transparent 100%),
                                        linear-gradient(to bottom, transparent 0, #000 4.5%, #000 95.5%, transparent 100%);
                            mask-composite: intersect;
                        }
                                            /* ---- ข้อความโค้งวางบนแถบชมพูที่วาดมาในรูป (ไม่มีกรอบปุ่มซ้อน) ---- */
                        /* 📐 วัดจากไฟล์รูปจริง: แถบชมพูกว้าง 36% ของรูป กึ่งกลางอยู่ที่ 30% จากขอบล่าง
                           ตัวหนังสือสูงราว 34% ของความสูงแถบ และโค้งขึ้นตรงกลางเล็กน้อย (เจ้าของเว็บเลือก 23 ก.ย. 09:36) */
                        .tms-nv-cta {
                            position: absolute; left: 50%; bottom: 30.1%; transform: translate(-50%, 50%);
                            width: 34.5%; min-width: 195px; z-index: 4; overflow: visible; height: auto;
                        }
                        /* 📱 จอแคบ: แถบชมพูในรูปเล็กมาก ถ้าใส่ไอคอนกับลูกศรด้วยจะล้นออกนอกแถบ
                           จึงเหลือเฉพาะข้อความ และให้ข้อความกว้างเต็มแถบ */
                        @media (max-width: 600px) {
                            .tms-nv-ic, .tms-nv-ar { display: none; }
                            .tms-nv-cta { width: 42%; min-width: 170px; }
                        }
    /* ---- ดาวกะพริบในกรอบ ---- */
                        .tms-nv-stars { position: absolute; inset: 10px; z-index: 3; pointer-events: none; }
                        .tms-nv-stars i {
                            position: absolute; display: block; font-style: normal; line-height: 1;
                            opacity: 0; animation: tms-nv-twinkle 2.6s ease-in-out infinite;
                        }
                        @keyframes tms-nv-twinkle {
                            0%, 100% { opacity: 0; transform: scale(.3) rotate(0); }
                            45%      { opacity: 1; transform: scale(1.15) rotate(25deg); }
                            65%      { opacity: .7; transform: scale(.85) rotate(35deg); }
                        }
                        /* ---- ป้ายกิจกรรมและของรางวัล (มุมขวาบน) ---- */
                        .tms-nv-ev {
                            position: absolute; top: 5%; right: 3%; z-index: 6; box-sizing: border-box;
                            display: inline-flex; align-items: center; gap: 5px; max-width: 21%;
                            background: linear-gradient(160deg, #4aa3ff 0%, #2d7ff0 55%, #1b63d6 100%);
                            color: #fff; border: 1.5px solid #fff; border-radius: 10px; padding: 4px 6px;
                            box-shadow: 0 3px 9px rgba(20,80,180,.35);
                            animation: tms-nv-bob 1.8s ease-in-out infinite;
                        }
                        .tms-nv-ev::after {
                            content: ''; position: absolute; left: 11px; bottom: -6px;
                            width: 0; height: 0; border: 6px solid transparent;
                            border-top-color: #2d7ff0; border-bottom: 0;
                            filter: drop-shadow(0 2px 0 #fff);
                        }
                        .tms-nv-ev-gift {
                            font-size: clamp(9px, 1.12vw, 14px); line-height: 1; flex: none; display: inline-block;
                            animation: tms-nv-shake 1.8s ease-in-out infinite;
                        }
                        .tms-nv-ev-tx {
                            font-weight: 800; line-height: 1.2; font-size: clamp(6px, .56vw, 8px);
                            text-shadow: 0 1px 2px rgba(0,40,100,.45);
                        }
                        .tms-nv-ev-tx small { display: block; font-weight: 700; font-size: .85em; opacity: .95; }
                        @keyframes tms-nv-bob {
                            0%, 100% { transform: translateY(0) rotate(-2deg); }
                            50%      { transform: translateY(-5px) rotate(2deg); }
                        }
                        @keyframes tms-nv-shake {
                            0%, 60%, 100% { transform: rotate(0) scale(1); }
                            70%  { transform: rotate(-14deg) scale(1.12); }
                            80%  { transform: rotate(12deg) scale(1.12); }
                            90%  { transform: rotate(-6deg) scale(1.05); }
                        }
                        /* ♿ เคารพการตั้งค่าลดการเคลื่อนไหวของเครื่องผู้ใช้ */
                        @media (prefers-reduced-motion: reduce) {
                            .tms-nv-frame::before, .tms-nv-cta animate, .tms-nv-stars i,
                            .tms-nv-ev, .tms-nv-ev-gift { animation: none !important; }
                            .tms-nv-stars i { opacity: .8; }
                        }
                    