body { font-family: 'Prompt', sans-serif; }
        .no-scrollbar::-webkit-scrollbar { display: none; }
        .no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
        
        .custom-div-icon{
            background: transparent;
            border: none;
        }

        .marker-wrapper{
            display:flex;
            flex-direction:column;
            align-items:center;
            pointer-events:auto;
        }

        .marker-pin{
            width:38px;
            height:38px;
            border-radius:50%;
            background:#f16522;
            border:2px solid #fff;
            display:flex;
            align-items:center;
            justify-content:center;
            color:#fff;
            box-shadow:0 3px 10px rgba(0,0,0,.25);
        }

        /* ป้ายชื่อสถานที่ */
        .marker-label{
            margin-top:6px;
            padding:3px 8px;
            background:rgba(255,255,255,.88);
            border:1px solid rgba(0,0,0,.15);
            border-radius:6px;
            backdrop-filter:blur(4px);

            font-size:11px;
            font-weight:500;
            color:#333;
            line-height:1.2;

            white-space:normal;
            box-shadow:0 2px 8px rgba(0,0,0,.12);
            text-align:center;
            max-width:220px;
            overflow:hidden;
            text-overflow:ellipsis;
            position:relative;
            word-break:break-word;
        }
        .marker-label::after{
            content:"";
            position:absolute;
            left:50%;
            top:-5px;
            transform:translateX(-50%) rotate(45deg);
            width:8px;
            height:8px;
            background:rgba(255,255,255,.88);
            border-left:1px solid rgba(0,0,0,.15);
            border-top:1px solid rgba(0,0,0,.15);
        }
        .marker-pin {
            width: 38px;
            height: 38px;
            border-radius: 50%;
            background: #f16522;
            border: 2px solid #ffffff;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #ffffff;
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
            transition: transform 0.2s ease-in-out;
        }
        .marker-pin:hover {
            transform: scale(1.1);
        }

        /* ลูกเล่นเส้นวิ่งใต้เมนูสำหรับ Desktop */
        .desktop-nav-link {
            position: relative;
            transition: all 0.3s ease;
        }
        .desktop-nav-link::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 50%;
            width: 0;
            height: 2px;
            background-color: #e6007e;
            transition: all 0.3s ease;
            transform: translateX(-50%);
        }
        .desktop-nav-link:hover::after,
        .desktop-nav-link.active::after {
            width: 80%;
        }
        .desktop-nav-link:hover {
            color: #e6007e !important;
            background-color: rgba(230, 0, 126, 0.04);
            padding-left: 1.5rem;
        }
        .desktop-nav-link.active {
            color: #e6007e !important;
            background-color: rgba(230, 0, 126, 0.06);
        }

        /* สไตล์เสริมสำหรับ Language Switcher บนสีใหม่ */
        .lang-active {
            color: #e6007e !important;
        }
        .lang-hover:hover {
            color: #e6007e !important;
        }
        /* =====================================================
           Floating LINE QR Popup
        ===================================================== */

        #linePopup{

            position:fixed;

            right:25px;

            bottom:25px;

            width:235px;

            background:rgba(255,255,255,.92);

            backdrop-filter:blur(15px);

            border-radius:22px;

            overflow:hidden;

            z-index:99999;

            border:1px solid rgba(255,255,255,.5);

            box-shadow:
            0 15px 40px rgba(0,0,0,.18);

            animation:
            popupFade .8s ease,
            popupFloat 4s ease-in-out infinite;

            transition:.35s;
        }

        #linePopup:hover{

            transform:translateY(-8px) scale(1.03);

            box-shadow:
            0 20px 45px rgba(230,0,126,.25);

        }

        /* ---------- Header ---------- */

        .popup-header{

            background:linear-gradient(135deg,#e6007e,#ff4d9d);

            color:#fff;

            padding:13px;

            text-align:center;

            font-weight:600;

            font-size:15px;

            position:relative;

        }

        .popup-header i{

            margin-right:0px;

        }

        /* ---------- Badge ---------- */

        .popup-badge{

            position:absolute;

            left:12px;

            top:10px;

            background:#ffcc00;

            color:#222;

            font-size:10px;

            font-weight:bold;

            padding:3px 8px;

            border-radius:30px;

            animation:blinkBadge 1.8s infinite;

        }

        /* ---------- Online ---------- */

        .popup-online{

            position:absolute;

            right:38px;

            top:12px;

            display:flex;

            align-items:center;

            font-size:11px;

            color:#fff;

        }

        .popup-online span{

            width:8px;

            height:8px;

            background:#00ff6a;

            border-radius:50%;

            margin-right:5px;

            animation:onlineBlink 1s infinite;

        }

        /* ---------- Body ---------- */

        .popup-body{

            padding:16px;

            text-align:center;

        }

        .popup-body img{

            width:150px;

            background:#fff;

            padding:8px;

            border-radius:16px;

            box-shadow:

            0 8px 20px rgba(0,0,0,.12);

            transition:.35s;

            display:block;
            margin:0 auto 15px;

        }

        .popup-body img:hover{

            transform:rotate(-2deg) scale(1.05);

        }

        .popup-body h4{

            margin-top:12px;

            margin-bottom:5px;

            color:#333;

            font-size:17px;

            font-weight:600;

        }

        .popup-body p{

            font-size:13px;

            color:#666;

            line-height:1.7;

        }

        /* ---------- Buttons ---------- */

        .popup-buttons{

            display:flex;

            gap:8px;

            margin-top:15px;

        }

        .popup-buttons a{

            flex:1;

            padding:10px;

            border-radius:12px;

            text-decoration:none;

            font-size:13px;

            font-weight:500;

            transition:.3s;

        }

        .btn-line{

            background:#06C755;

            color:#fff;

        }

        .btn-line:hover{

            background:#03b24b;

        }

        .btn-place{

            background:#f16522;

            color:#fff;

        }

        .btn-place:hover{

            background:#df5718;

        }

        /* ---------- Close ---------- */

        .popup-close{

            position:absolute;

            right:8px;

            top:8px;

            width:28px;

            height:28px;

            border:none;

            background:rgba(255,255,255,.92);

            border-radius:50%;

            cursor:pointer;

            transition:.35s;

        }

        .popup-close:hover{

            transform:rotate(180deg);

        }

        /* ---------- Glow ---------- */

        .popup-glow{

            position:absolute;

            width:180px;

            height:180px;

            background:radial-gradient(circle,#ff5aad33,transparent);

            top:48px;

            left:50%;

            transform:translateX(-50%);

            pointer-events:none;

        }

        /* ---------- Animations ---------- */

        @keyframes popupFade{

            from{

                opacity:0;

                transform:translateY(70px);

            }

            to{

                opacity:1;

                transform:translateY(0);

            }

        }

        @keyframes popupFloat{

            0%{

                transform:translateY(0);

            }

            50%{

                transform:translateY(-8px);

            }

            100%{

                transform:translateY(0);

            }

        }

        @keyframes blinkBadge{

            50%{

                transform:scale(1.1);

            }

        }

        @keyframes onlineBlink{

            50%{

                opacity:.3;

            }

        }

        /* ---------- Mobile ---------- */

        @media(max-width:768px){

        #linePopup{

            width:185px;

            right:12px;

            bottom:85px;

        }

        .popup-body img{

            width:120px;

        }

        .popup-header{

            font-size:13px;

        }

        .popup-buttons{

            flex-direction:column;

        }

        }
        /*==========================
         Mini LINE Button
        ==========================*/

        #miniLine{

            position:fixed;

            right:25px;

            bottom:25px;

            width:65px;

            height:65px;

            border-radius:50%;

            background:#06C755;

            color:#fff;

            display:flex;

            align-items:center;

            justify-content:center;

            font-size:34px;

            cursor:pointer;

            z-index:99999;

            box-shadow:

            0 10px 25px rgba(0,0,0,.25);

            animation:

            pulseLine 2s infinite;

            transition:.3s;

        }

        #miniLine:hover{

            transform:scale(1.1);

        }

        @keyframes pulseLine{

        0%{

        box-shadow:0 0 0 0 rgba(6,199,85,.6);

        }

        70%{

        box-shadow:0 0 0 18px rgba(6,199,85,0);

        }

        100%{

        box-shadow:0 0 0 0 rgba(6,199,85,0);

        }

        }

        @media(max-width:768px){

        #miniLine{

        right:15px;

        bottom:90px;

        width:55px;

        height:55px;

        font-size:30px;

        }

        }
        /* ===================================
           Chat Bubble
        =================================== */

        .popup-chat{

            position:absolute;

            right:15px;

            bottom:255px;

            background:#fff;

            border-radius:18px;

            padding:10px 14px;

            box-shadow:0 10px 25px rgba(0,0,0,.15);

            width:220px;

            font-size:13px;

            color:#555;

            animation:chatFloat 3s infinite;

        }

        .popup-chat::after{

            content:"";

            position:absolute;

            right:20px;

            bottom:-8px;

            width:15px;

            height:15px;

            background:#fff;

            transform:rotate(45deg);

        }

        .popup-chat strong{

            display:block;

            color:#e6007e;

            margin-bottom:3px;

        }

        .popup-chat i{

            color:#06C755;

            margin-right:5px;

        }

        @keyframes chatFloat{

            0%{

                transform:translateY(0);

            }

            50%{

                transform:translateY(-8px);

            }

            100%{

                transform:translateY(0);

            }

        }
        .popup-body img{

            animation:qrGlow 2.5s infinite;

        }

        @keyframes qrGlow{

        0%{

        box-shadow:0 0 0 rgba(230,0,126,0);

        }

        50%{

        box-shadow:0 0 25px rgba(230,0,126,.35);

        }

        100%{

        box-shadow:0 0 0 rgba(230,0,126,0);

        }

        }
        .popup-title{

            display:flex;

            justify-content:center;

            align-items:center;

            gap:6px;

        }

        .popup-tools{

            position:absolute;

            right:8px;

            top:10px;

            display:flex;

            gap:5px;

        }

        .popup-tools button{

            width:26px;

            height:26px;

            border:none;

            border-radius:50%;

            background:rgba(255,255,255,.18);

            color:#fff;

            cursor:pointer;

            transition:.25s;

        }

        .popup-tools button:hover{

            background:#fff;

            color:#e6007e;

        }
        