@import url("fonts.css?v=20260826-1");
:root{--ink:#17231d;--forest:#1e3b2d;--leaf:#56735f;--cream:#f6f1e8;--clay:#b9653a;--gold:#e4a84b;--white:#fff;--line:#dedbd3;font-family:"Noto Sans Thai","Leelawadee UI",Tahoma,sans-serif;color:var(--ink)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.btn{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:999px;padding:.8rem 1.3rem;font-weight:700}.primary{background:var(--clay);color:#fff;box-shadow:0 8px 22px #7b39252d}.ghost{border:1px solid #ffffff77;color:#fff;background:#ffffff10}.ghost.dark{border-color:var(--line);color:var(--ink);background:#fff}.danger{background:#a43838;color:#fff}.wide{width:100%}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.16em;color:var(--clay)}.hero{min-height:92vh;padding:1.5rem 6%;color:#fff;background:linear-gradient(90deg,#12251fef 0%,#183629bb 46%,#15302930),radial-gradient(circle at 80% 40%,#99733c,#254e3c 45%,#142b22);position:relative;overflow:hidden}.hero:after{content:"360°";position:absolute;right:-3vw;bottom:-11vw;font-size:28vw;font-weight:900;color:#ffffff08}.hero nav{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.brand{font-weight:800}.hero-copy{max-width:750px;margin:15vh 0 0;position:relative;z-index:1}.hero h1{font-family:Georgia,"Leelawadee UI",serif;font-size:clamp(3rem,7vw,6.5rem);line-height:.98;margin:.35em 0}.hero p{max-width:580px;font-size:1.15rem;color:#e7eee8;margin-bottom:2rem}.section{padding:6rem 6%}.section-head,.page-title{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem}.section h2,.about h2,.page-title h1{font-family:Georgia,"Leelawadee UI",serif;font-size:clamp(2rem,4vw,3.2rem);margin:.2rem 0}.search{display:flex;gap:.5rem}.search input{border:1px solid var(--line);border-radius:999px;padding:.8rem 1.2rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.tour-card{background:#fff;border-radius:1rem;overflow:hidden;box-shadow:0 10px 35px #24382a12;transition:.25s}.tour-card:hover{transform:translateY(-5px)}.cover{height:220px;background:linear-gradient(135deg,#44654e,#d09b55);background-size:cover;background-position:center;padding:1rem;display:flex;align-items:start;justify-content:space-between}.badge,.scene-count,.status{background:#fff;color:var(--ink);border-radius:999px;padding:.35rem .7rem;font-size:.75rem;font-weight:800}.card-body{padding:1.5rem}.card-body h3{font-size:1.35rem;margin:0}.card-body p{color:#68736c;min-height:3em}.card-link{color:var(--clay);font-weight:800}.about{background:var(--forest);color:white;text-align:center;padding:7rem 15%}.about p{color:#cad7cf}footer{background:#11251c;color:#b9c9bf;padding:2rem 6%;text-align:center}.empty{padding:3rem;text-align:center;color:#778078;background:#fff;border-radius:1rem}.viewer-page{background:#07100c;color:#fff;overflow:hidden}.viewer-page #panorama{position:fixed;inset:0}.viewer-top{position:fixed;left:1rem;right:1rem;top:1rem;z-index:5;display:flex;align-items:center;gap:.75rem}.viewer-top div{flex:1;text-shadow:0 2px 10px #000}.viewer-top small{display:block;font-size:.65rem;letter-spacing:.16em}.round{border:1px solid #ffffff55;background:#132219cc;color:#fff;width:44px;height:44px;border-radius:50%;display:grid;place-items:center}.viewer-controls{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:5;background:#102019d9;backdrop-filter:blur(15px);border:1px solid #ffffff25;border-radius:999px;padding:.4rem;display:flex}.viewer-controls button{border:0;background:transparent;color:#fff;padding:.65rem .85rem;border-radius:999px}.viewer-controls button:hover{background:#ffffff1b}.scene-panel{position:fixed;z-index:6;left:1rem;top:5rem;bottom:5.5rem;width:min(340px,calc(100% - 2rem));background:#102019e8;backdrop-filter:blur(20px);border:1px solid #ffffff20;border-radius:1rem;padding:1rem;transform:translateX(calc(-100% - 2rem));transition:.25s}.scene-panel.open{transform:none}.scene-panel h2{font-size:1rem}.scene-panel button{width:100%;display:flex;gap:.75rem;align-items:center;border:0;background:transparent;color:#fff;padding:.5rem;border-radius:.6rem;text-align:left}.scene-panel button:hover{background:#ffffff10}.scene-panel button span{width:70px;height:44px;border-radius:.5rem;background-size:cover;background-position:center}.scene-panel button strong{font-size:.9rem}.vr-hotspot{width:28px!important;height:28px!important;border:4px solid #fff!important;border-radius:50%!important;background:var(--gold)!important;box-shadow:0 0 0 7px #e4a84b55,0 3px 12px #000!important}#loader{position:fixed;inset:0;z-index:20;background:#10251b;display:grid;place-content:center;text-align:center;gap:.5rem;transition:.5s}.loader-mark{font-size:3rem;font-weight:900;color:var(--gold)}#loader span{color:#b8c8be}#loader.done{opacity:0;visibility:hidden}dialog{border:0;border-radius:1rem;padding:2rem;max-width:620px;width:calc(100% - 2rem);color:var(--ink)}dialog::backdrop{background:#000a}.close{position:absolute;right:1rem;top:1rem;border:0;background:none;font-size:1.5rem}.error-page,.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 80% 20%,#43634d,var(--forest));padding:1rem}.error-page>div,.login-card{background:#fff;border-radius:1.2rem;padding:clamp(2rem,5vw,4rem);max-width:480px;width:100%;text-align:center}.error-page b{font-size:5rem;color:var(--clay)}.login-logo{font-size:3rem;font-weight:900;color:var(--clay)}.login-card h1{margin:.5rem 0 2rem}.login-card label,.form-grid label{display:grid;text-align:left;gap:.4rem;font-weight:700;margin-bottom:1rem}.login-card input,.form-grid input,.form-grid textarea,.form-grid select,.upload-row input{width:100%;padding:.8rem;border:1px solid var(--line);border-radius:.55rem;background:#fff}.login-card>a{display:inline-block;margin-top:1.5rem;color:#647067}.alert{padding:.85rem 1rem;border-radius:.6rem;margin:1rem 0}.alert.danger{background:#ffe4e4;color:#8b2020}.alert.success{background:#ddf4e5;color:#145c32}.admin{background:#f5f5f2;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:var(--forest);color:#fff;padding:1.4rem;display:flex;flex-direction:column;z-index:10}.admin-brand{display:flex;gap:.6rem;align-items:center;margin-bottom:2rem}.admin-brand b{font-size:1.5rem;color:var(--gold)}.admin-brand span{font-weight:900}.sidebar nav{display:grid;gap:.4rem}.sidebar nav a,.sidebar form button{padding:.8rem;border-radius:.5rem;color:#dce7e0}.sidebar nav a:hover{background:#ffffff10}.sidebar form{margin-top:auto}.sidebar form button{border:0;background:transparent;width:100%;text-align:left}.admin-main{margin-left:240px;padding:0 3vw 4rem}.admin-top{height:78px;display:flex;justify-content:flex-end;align-items:center;border-bottom:1px solid var(--line);margin-bottom:2rem}.admin-top div{display:grid}.admin-top small{color:#7b837e}.mobile-menu{display:none;margin-right:auto}.stat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}.stat-grid>div,.panel{background:#fff;border:1px solid #e4e3de;border-radius:.8rem;padding:1.3rem}.stat-grid small{display:block;color:#738078}.stat-grid b{font-size:2rem;color:var(--forest)}.panel{margin:1.5rem 0}.bars{height:230px;display:flex;gap:1rem;align-items:end}.bars>div{flex:1;text-align:center}.bars i{display:block;background:linear-gradient(var(--gold),var(--clay));border-radius:.3rem .3rem 0 0}.bars small{font-size:.65rem}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:1rem;border-bottom:1px solid #eee}td small{display:block;color:#89918c}.status.published{background:#dff3e5;color:#196137}.status.draft{background:#f2ead9;color:#815f20}.actions{display:flex;align-items:center;gap:.8rem}.actions a,.link{color:#2b6d50;border:0;background:none;padding:0}.danger-text{color:#a33!important}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.span2{grid-column:span 2}.form-actions{display:flex;justify-content:flex-end;gap:.5rem}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.check input{width:auto}.scene-admin-grid,.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem}.scene-admin-card,.media-grid article{background:#fff;border-radius:.8rem;overflow:hidden;border:1px solid #e5e5df}.scene-thumb,.media-grid img,.file-icon{width:100%;height:150px;object-fit:cover;background-size:cover;background-position:center}.scene-admin-card>div:last-child,.media-grid article{padding:1rem}.scene-admin-card h3{margin:.6rem 0}.scene-admin-card .btn{margin-top:1rem}.media-grid article{overflow:hidden}.media-grid img{margin:-1rem -1rem 1rem;width:calc(100% + 2rem)}.media-grid small{display:block;color:#788079}.file-icon{display:grid;place-items:center;font-size:3rem;background:#e8eee9;color:var(--forest);margin:-1rem -1rem 1rem;width:calc(100% + 2rem)}.upload-row{display:flex;gap:1rem}.editor-layout{display:grid;grid-template-columns:1fr 320px;gap:1rem;height:calc(100vh - 170px)}.editor-stage{position:relative;border-radius:1rem;overflow:hidden;background:#111}.editor-stage #editorPano{position:absolute;inset:0}.crosshair{position:absolute;left:50%;top:50%;font-size:2rem;transform:translate(-50%,-50%);pointer-events:none;text-shadow:0 2px 4px #000}.floating{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%)}.editor-panel{background:#fff;border-radius:1rem;padding:1rem;overflow:auto}.muted{color:#778078;font-size:.85rem}.hotspot-item{display:flex;width:100%;gap:.7rem;text-align:left;border:0;border-bottom:1px solid #eee;background:#fff;padding:.8rem}.hotspot-item span{color:var(--clay)}.hotspot-item small{display:block;color:#7b837e}#hotspotDialog{max-width:700px}
@media(max-width:1000px){.stat-grid{grid-template-columns:repeat(3,1fr)}.editor-layout{grid-template-columns:1fr;height:auto}.editor-stage{height:55vh}.editor-panel{max-height:300px}}@media(max-width:700px){.hero{min-height:85vh}.hero-copy{margin-top:18vh}.hero h1{font-size:3rem}.section{padding:4rem 1rem}.section-head,.page-title{align-items:start;flex-direction:column}.search{width:100%}.search input{min-width:0;flex:1}.sidebar{transform:translateX(-100%);transition:.2s}.nav-open .sidebar{transform:none}.admin-main{margin-left:0;padding:0 1rem 3rem}.mobile-menu{display:block;border:0;background:none;font-size:1.5rem}.stat-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.span2{grid-column:span 1}.viewer-controls{bottom:1rem;width:calc(100% - 2rem);justify-content:center}.viewer-controls button{font-size:.78rem;padding:.6rem}.actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* 2026 travel visual refresh */
:root{--ink:#16342b;--forest:#075d4c;--leaf:#17a673;--mint:#e7f8ef;--cream:#fffaf1;--clay:#f06449;--coral:#ff6f5a;--gold:#ffc83d;--sky:#38bdf8;--line:#dcebe3;font-family:"Noto Sans Thai","Leelawadee UI","Sarabun",Tahoma,sans-serif}.public-home{background:#fffdf8;color:var(--ink);font-feature-settings:"kern" 1}.public-home h1,.public-home h2,.public-home h3{font-family:"Noto Sans Thai","Leelawadee UI",Tahoma,sans-serif;letter-spacing:-.035em}.travel-hero{height:min(860px,100svh);min-height:680px;position:relative;overflow:hidden;color:#fff;background:#06483e}.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slide{background-size:cover;background-position:center;opacity:0;transform:scale(1.05);transition:opacity 1s ease,transform 7s ease}.hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,45,38,.88) 0%,rgba(4,58,48,.48) 44%,rgba(3,30,27,.12) 72%),linear-gradient(0deg,rgba(1,24,20,.65),transparent 50%)}.hero-slide.active{opacity:1;transform:scale(1)}.travel-nav{position:absolute;z-index:3;left:clamp(1rem,6vw,6rem);right:clamp(1rem,6vw,6rem);top:0;height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff3b}.travel-nav .brand,.travel-footer .brand{display:flex;align-items:center;gap:.8rem;color:#fff}.brand-orbit{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;border:2px solid #ffffffa8;color:var(--gold);font-weight:900;font-size:.92rem;box-shadow:inset 0 0 0 5px #ffffff12}.brand b{display:block;font-size:1.05rem;letter-spacing:.13em}.brand small{display:block;font-size:.6rem;letter-spacing:.23em;color:#ffffffb5}.nav-links{display:flex;align-items:center;gap:2.2rem;font-weight:700;font-size:.9rem}.nav-links>a{color:#fff}.nav-admin{padding:.65rem 1.1rem;border:1px solid #ffffff6b;border-radius:99px}.travel-hero-copy{position:absolute;z-index:2;left:clamp(1rem,8vw,9rem);top:50%;transform:translateY(-42%);width:min(720px,calc(100% - 2rem))}.hero-kicker{display:inline-flex;align-items:center;gap:.7rem;color:#fff;font-weight:800;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}.hero-kicker:before{content:"";width:36px;height:3px;border-radius:5px;background:var(--gold)}.travel-hero h1{font-size:clamp(3.4rem,7.5vw,7.4rem);line-height:.92;margin:.25em 0 .2em;text-shadow:0 8px 40px #00251f52}.travel-hero-copy p{font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.75;color:#f2fff9;max-width:620px}.hero-actions{display:flex;align-items:center;gap:1rem;margin-top:2rem}.sunshine{background:var(--gold);color:#27351e;gap:1.6rem;padding:1rem 1.5rem;box-shadow:0 15px 35px #0003}.sunshine span{font-size:1.35rem}.coral{background:var(--coral);color:#fff}.hero-play{display:flex;align-items:center;gap:.65rem;color:#fff;background:#ffffff17;border:1px solid #ffffff3f;border-radius:99px;padding:.85rem 1.15rem;backdrop-filter:blur(8px)}.hero-play span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--forest);font-size:.7rem}.hero-pagination{position:absolute;z-index:3;right:clamp(1rem,6vw,6rem);bottom:3.4rem;display:flex;gap:.7rem}.hero-pagination button{width:55px;height:5px;border:0;border-radius:9px;background:#ffffff55;padding:0;overflow:hidden}.hero-pagination i{display:block;height:100%;width:0;background:var(--gold)}.hero-pagination button.active i{width:100%;transition:width 6s linear}.hero-scroll{position:absolute;z-index:3;left:clamp(1rem,6vw,6rem);bottom:2.8rem;display:flex;align-items:center;gap:.7rem;font-size:.7rem;letter-spacing:.14em}.hero-scroll span{width:32px;height:46px;border:1px solid #ffffff75;border-radius:99px;position:relative}.hero-scroll span:after{content:"";position:absolute;left:50%;top:8px;width:4px;height:9px;border-radius:9px;background:var(--gold);transform:translateX(-50%);animation:scrollDot 1.8s infinite}@keyframes scrollDot{to{transform:translate(-50%,18px);opacity:0}}.explore-section{padding:clamp(5rem,9vw,9rem) clamp(1rem,7vw,8rem);background:radial-gradient(circle at 8% 12%,#e7fbef 0,transparent 23%),#fffdf9}.explore-section .section-head{align-items:center}.explore-section .eyebrow{color:var(--leaf)}.explore-section h2{font-size:clamp(2.4rem,4.7vw,4.7rem);color:#103d31}.section-lead{color:#668078;max-width:580px;margin:.8rem 0 0;font-size:1.05rem}.search{background:#fff;border:1px solid var(--line);padding:.4rem;border-radius:99px;box-shadow:0 15px 40px #064d3310}.search label{display:flex;align-items:center;padding-left:1rem}.search label span{color:var(--leaf);font-size:1.4rem}.search input{border:0!important;outline:0;background:transparent!important;min-width:220px}.cards{gap:2rem}.tour-card{border-radius:1.4rem;box-shadow:0 18px 55px #063e2a14;border:1px solid #e9f2ec;overflow:hidden;background:#fff}.tour-card:hover{transform:translateY(-9px);box-shadow:0 26px 65px #063e2a24}.tour-card .cover{height:300px;position:relative;display:block;padding:1.1rem;background-color:#b7dac5;background-size:cover;background-position:center;overflow:hidden}.tour-card .cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0736293d,transparent 45%,#073a2d93)}.tour-card .cover>*{position:relative;z-index:1}.tour-card .badge{float:left;background:#ffffffed;color:var(--forest);display:inline-flex;align-items:center;gap:.45rem}.tour-card .badge i{width:7px;height:7px;border-radius:50%;background:var(--leaf)}.tour-card .scene-count{float:right;background:#063f34c7;color:#fff;backdrop-filter:blur(7px)}.cover-cta{position:absolute!important;right:1.2rem;bottom:1.2rem;color:#fff;font-size:.78rem;font-weight:800;display:flex;align-items:center;gap:.5rem}.cover-cta b{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--ink);font-size:1rem}.card-body{padding:1.6rem 1.7rem 1.8rem}.card-meta{display:flex;justify-content:space-between;color:var(--leaf);font-size:.68rem;font-weight:800;letter-spacing:.06em}.card-body h3{font-size:1.55rem;color:#123d32;margin:.65rem 0}.card-body p{color:#71827c;line-height:1.65}.card-link{display:flex;justify-content:space-between;align-items:center;color:var(--coral);border-top:1px solid #edf2ef;padding-top:1rem}.card-link span{font-size:1.25rem}.highlight-section{background:#075c4c;color:#fff;padding:clamp(5rem,9vw,9rem) clamp(1rem,7vw,8rem);display:grid;grid-template-columns:minmax(250px,.65fr) 1.35fr;align-items:center;gap:clamp(3rem,7vw,8rem);position:relative;overflow:hidden}.highlight-section:before{content:"360°";position:absolute;left:-2rem;bottom:-5rem;font-size:17rem;font-weight:900;color:#ffffff08}.eyebrow.light{color:var(--gold)}.highlight-intro{position:relative;z-index:1}.highlight-intro h2,.travel-cta h2{font-size:clamp(2.5rem,4.5vw,4.8rem);line-height:1.1;margin:.4em 0}.highlight-intro p{color:#cfe9df;line-height:1.8;max-width:470px}.text-link{display:inline-block;margin-top:1.4rem;color:var(--gold);font-weight:800;border-bottom:1px solid #ffc83d66;padding-bottom:.4rem}.highlight-mosaic{height:630px;display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;gap:1rem}.highlight-mosaic figure{position:relative;overflow:hidden;border-radius:1.3rem;margin:0;min-height:0}.highlight-mosaic .mosaic-main{grid-row:1/3}.highlight-mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.highlight-mosaic figure:hover img{transform:scale(1.04)}.highlight-mosaic figure:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#002c25d9)}.highlight-mosaic figcaption{position:absolute;z-index:1;left:1.4rem;right:1.4rem;bottom:1.3rem}.highlight-mosaic small{display:block;color:var(--gold);font-weight:800;margin-bottom:.25rem}.highlight-mosaic strong{font-size:1.1rem}.travel-cta{padding:5rem clamp(1rem,7vw,8rem);display:flex;align-items:center;justify-content:space-between;color:#16342b;background:linear-gradient(115deg,#ffd75b,#ffba45 55%,#ff8c62)}.travel-cta>div>span{font-weight:800;letter-spacing:.1em}.travel-cta h2{margin:.2em 0 0}.travel-cta .sunshine{background:var(--forest);color:#fff}.travel-footer{padding:2rem clamp(1rem,6vw,6rem);background:#063f35;color:#bfe1d4;display:flex;align-items:center;justify-content:space-between;gap:2rem;font-size:.82rem}.travel-footer .brand-orbit{width:45px;height:45px}.admin{--forest:#075d4c;background:#f4faf6;font-family:"Noto Sans Thai","Leelawadee UI","Sarabun",Tahoma,sans-serif}.sidebar{background:linear-gradient(180deg,#075d4c,#043f35)}.admin-main h1,.admin-main h2,.login-card h1{letter-spacing:-.025em}.stat-grid>div,.panel{border-color:#e0eee6;box-shadow:0 8px 30px #0646300a}.stat-grid b{color:#0d8060}.login-page{background:radial-gradient(circle at 15% 15%,#3dc990,#075d4c 45%,#034139)}.login-logo{color:var(--coral)}
@media(max-width:800px){.travel-hero{min-height:700px}.travel-nav{height:82px}.nav-links>a:not(.nav-admin){display:none}.travel-hero-copy{top:47%;transform:translateY(-40%)}.travel-hero h1{font-size:clamp(3rem,15vw,5rem)}.hero-scroll{display:none}.hero-pagination{left:1rem;right:auto;bottom:1.7rem}.hero-actions{align-items:stretch;flex-direction:column;width:max-content}.highlight-section{grid-template-columns:1fr}.highlight-mosaic{height:650px;grid-template-columns:1fr 1fr;grid-template-rows:1.2fr .8fr}.highlight-mosaic .mosaic-main{grid-column:1/3;grid-row:auto}.travel-cta,.travel-footer{align-items:flex-start;flex-direction:column}.search{width:100%}.search label{flex:1}.search input{min-width:0}.tour-card .cover{height:250px}}
