/* ===== เว็บไซต์หน้าบ้าน ===== */
body.front{background:#f5f7fb}
.front h1,.front h2,.front h3,.front .brand-link b,.front .sec-title,.front .hero h2{font-family:'Prompt','Sarabun',sans-serif}
.container{max-width:1200px;margin:0 auto;padding:0 20px}

/* --- navbar --- */
.site-nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid #e6e9f0}
.nav-in{max-width:1240px;margin:0 auto;padding:0 20px;height:76px;display:flex;align-items:center;gap:24px}
.brand-link{display:flex;align-items:center;gap:12px;color:var(--brand);text-decoration:none!important;min-width:0}
.brand-link b{display:block;font-size:19px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-link small{display:block;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.logo-img{height:46px;width:46px;object-fit:contain;border-radius:50%}
.logo-mark{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 55%,#38bdf8))}
.menu{margin-left:auto;display:flex;align-items:center;gap:2px}
.mi{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:10px;color:#1f2a44;font-weight:600;font-size:15.5px;
  background:none;border:0;font-family:inherit;cursor:pointer;text-decoration:none!important;white-space:nowrap}
.mi:hover{background:#f1f4fa;color:var(--brand)}
.mi.on{color:var(--brand);box-shadow:inset 0 -3px 0 var(--brand);border-radius:10px 10px 0 0}
.dd{position:relative}
.dd-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:220px;background:#fff;border-radius:12px;padding:8px;
  box-shadow:0 12px 32px rgba(15,23,42,.14);border:1px solid #edf0f5;opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s}
.dd:hover .dd-menu,.dd.open .dd-menu{opacity:1;visibility:visible;transform:none}
.dd-menu a{display:block;padding:9px 12px;border-radius:8px;color:#1f2a44;text-decoration:none!important}
.dd-menu a:hover{background:#f1f4fa;color:var(--brand)}
.btn-login{margin-left:10px;padding:9px 20px;border:1.5px solid var(--brand);border-radius:999px;color:var(--brand);font-weight:600;text-decoration:none!important;white-space:nowrap}
.btn-login:hover{background:var(--brand);color:#fff}
.nav-toggle{display:none;margin-left:auto;background:none;border:0;padding:8px;cursor:pointer}
.nav-toggle span{display:block;width:24px;height:2.5px;background:#1f2a44;margin:5px 0;border-radius:2px;transition:.2s}

/* --- hero slider --- */
.hero{position:relative;overflow:hidden;background:#0b1a3a;aspect-ratio:16/5;min-height:340px;max-height:620px}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease;background-size:cover;background-position:center}
.slide.on{opacity:1;z-index:1}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,16,40,.78) 0%,rgba(6,16,40,.45) 45%,rgba(6,16,40,.05) 80%)}
.slide .cap{position:relative;z-index:2;height:100%;max-width:1240px;margin:0 auto;padding:0 64px;display:flex;flex-direction:column;justify-content:center;color:#fff}
.slide h2{font-size:clamp(26px,3.6vw,50px);line-height:1.2;margin:0 0 12px;max-width:760px;text-shadow:0 2px 18px rgba(0,0,0,.25)}
.slide p{font-size:clamp(15px,1.4vw,20px);margin:0 0 22px;max-width:640px;opacity:.92}
.slide.on h2,.slide.on p,.slide.on .hero-btn{animation:rise .8s ease both}
.slide.on p{animation-delay:.12s}.slide.on .hero-btn{animation-delay:.24s}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero-btn{align-self:flex-start;background:#fff;color:var(--brand);padding:12px 26px;border-radius:999px;font-weight:700;text-decoration:none!important;box-shadow:0 6px 20px rgba(0,0,0,.18)}
.hero-btn:hover{transform:translateY(-1px)}
.hero-arrow{position:absolute;top:50%;z-index:3;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.12);color:#fff;font-size:22px;cursor:pointer;backdrop-filter:blur(4px)}
.hero-arrow:hover{background:rgba(255,255,255,.28)}
.hero-arrow.prev{left:18px}.hero-arrow.next{right:18px}
.dots{position:absolute;bottom:22px;left:0;right:0;z-index:3;display:flex;justify-content:center;gap:8px}
.dots button{width:34px;height:4px;border:0;border-radius:4px;background:rgba(255,255,255,.4);cursor:pointer;padding:0}
.dots button.on{background:#fff;width:46px}

/* แบนเนอร์ไม่มีภาพ: ใช้สีพื้นไล่เฉด + ลวดลาย */
.slide.no-img{--bg:var(--brand);background:
  radial-gradient(circle at 82% 30%,rgba(255,255,255,.16) 0,transparent 38%),
  radial-gradient(circle at 65% 95%,rgba(255,255,255,.10) 0,transparent 30%),
  linear-gradient(120deg,color-mix(in srgb,var(--bg) 70%,#020617) 0%,var(--bg) 55%,color-mix(in srgb,var(--bg) 70%,#38bdf8) 100%)}
.slide.no-img::before{content:"";position:absolute;inset:0;opacity:.35;
  background-image:radial-gradient(rgba(255,255,255,.35) 1.2px,transparent 1.3px);background-size:26px 26px;
  -webkit-mask-image:linear-gradient(90deg,transparent 35%,#000 80%);mask-image:linear-gradient(90deg,transparent 35%,#000 80%)}
.slide.no-img::after{background:linear-gradient(90deg,rgba(6,16,40,.35),transparent 60%)}

/* --- sections --- */
.sec{padding:64px 0}
.sec-head{text-align:center;margin-bottom:32px}
.sec-title{font-size:clamp(24px,2.6vw,34px);color:var(--brand);margin:0 0 6px}
.sec-sub{color:var(--muted);margin:0}
.eval-wrap{position:relative;z-index:5;margin-top:-70px}
.hero-less .eval-wrap{margin-top:28px}
.eval-card{background:#fff;border-radius:20px;box-shadow:0 20px 50px rgba(15,23,42,.12);padding:32px;display:grid;grid-template-columns:1.25fr 1fr;gap:32px}
.eval-card h2{margin:0 0 4px;color:var(--brand);font-size:26px}
.eval-card .lead{color:var(--muted);margin:0 0 18px}
.big-search{display:flex;border:1.5px solid #d6dce6;border-radius:14px;overflow:hidden;background:#fff}
.big-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 14%,transparent)}
.big-search input{border:0!important;box-shadow:none!important;font-size:17px;padding:14px 16px}
.big-search button{border:0;background:var(--brand);color:#fff;padding:0 24px;font:inherit;font-weight:600;cursor:pointer}
.steps{display:grid;gap:12px;align-content:start}
.step{display:flex;gap:12px;align-items:flex-start;background:#f6f8fc;border-radius:12px;padding:12px 14px}
.step i{flex:none;width:30px;height:30px;border-radius:50%;background:var(--brand);color:#fff;font-style:normal;font-weight:700;display:grid;place-items:center}
.step b{display:block}.step span{color:var(--muted);font-size:14px}
.eval-card .search-list{margin-top:16px}
.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:22px}
.stat-b{background:#fff;border-radius:16px;padding:18px 20px;box-shadow:0 1px 3px rgba(15,23,42,.06);display:flex;gap:14px;align-items:center}
.stat-b .ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 10%,#fff);color:var(--brand);font-size:22px}
.stat-b b{display:block;font-size:26px;font-family:'Prompt',sans-serif;color:#0f1d3a;line-height:1.1}
.stat-b span{color:var(--muted);font-size:14px}

/* --- news --- */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ncard{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px rgba(15,23,42,.06);display:flex;flex-direction:column;color:inherit;text-decoration:none!important;transition:.2s}
.ncard:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(15,23,42,.12)}
.ncard .thumb{aspect-ratio:16/9;background:#e8edf5 center/cover}
.ncard .body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.ncard h3{font-size:18px;margin:0;color:#0f1d3a;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ncard p{margin:0;color:var(--muted);font-size:14.5px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.meta{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--muted);flex-wrap:wrap}
.tag{background:color-mix(in srgb,var(--brand) 10%,#fff);color:var(--brand);padding:2px 10px;border-radius:999px;font-weight:600}
.tag.pin{background:#fff3e0;color:#b45309}
.more{display:inline-flex;margin-top:auto;color:var(--brand);font-weight:600}
.center{text-align:center}
.btn-outline{display:inline-block;margin-top:28px;padding:11px 26px;border:1.5px solid var(--brand);border-radius:999px;color:var(--brand);font-weight:600;text-decoration:none!important}
.btn-outline:hover{background:var(--brand);color:#fff}

/* --- rooms --- */
.rooms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.rcard{background:#fff;border-radius:16px;padding:20px;border:1px solid #e9edf4;display:flex;flex-direction:column;gap:6px}
.rcard .code{font-family:'Prompt',sans-serif;font-size:26px;font-weight:700;color:var(--brand)}
.rcard .nm{font-weight:600}.rcard small{color:var(--muted)}
.rcard .foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:10px;border-top:1px dashed #e3e7ee;font-size:14px}

/* --- article / page --- */
.page-hero{background:linear-gradient(120deg,var(--brand),color-mix(in srgb,var(--brand) 60%,#1e293b));color:#fff;padding:46px 0 40px}
.page-hero h1{margin:0;font-size:clamp(24px,3vw,36px)}
.crumb{opacity:.8;font-size:14px;margin-bottom:6px}.crumb a{color:#fff}
.article{background:#fff;border-radius:18px;padding:34px;box-shadow:0 1px 3px rgba(15,23,42,.06);font-size:16.5px;line-height:1.8}
.article img{max-width:100%;height:auto;border-radius:12px}
.article iframe{max-width:100%;border:0;border-radius:12px}
.article .cover{width:100%;border-radius:14px;margin-bottom:22px;aspect-ratio:16/9;object-fit:cover}
.layout-2{display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:start}
.side-box{background:#fff;border-radius:16px;padding:20px;box-shadow:0 1px 3px rgba(15,23,42,.06)}
.side-box h4{margin:0 0 12px;font-family:'Prompt',sans-serif;color:var(--brand)}
.side-item{display:flex;gap:12px;padding:10px 0;border-top:1px solid #eef1f6;color:inherit;text-decoration:none!important}
.side-item:first-of-type{border-top:0}
.side-item .t{width:84px;flex:none;aspect-ratio:16/10;border-radius:8px;background:#e8edf5 center/cover}
.side-item b{font-size:14.5px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pager{display:flex;justify-content:center;gap:6px;margin-top:30px}
.pager a,.pager span{min-width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#fff;border:1px solid #e3e7ee;color:#1f2a44;text-decoration:none!important}
.pager .on{background:var(--brand);color:#fff;border-color:var(--brand)}

/* เนื้อหาจาก editor */
.content h1{font-size:28px}.content h2{font-size:24px}.content h3{font-size:20px}
.content h1,.content h2,.content h3{color:#0f1d3a;margin:1.2em 0 .5em;line-height:1.35}
.content p{margin:0 0 .9em}.content blockquote{margin:1em 0;padding:10px 18px;border-left:4px solid var(--brand);background:#f6f8fc;border-radius:0 10px 10px 0}
.content img{cursor:zoom-in;display:block;margin:14px auto}
.content .ql-align-center{text-align:center}.content .ql-align-right{text-align:right}.content .ql-align-justify{text-align:justify}
.content .ql-video{width:100%;aspect-ratio:16/9;height:auto;display:block;margin:14px 0}
.content .ql-indent-1{padding-left:2em}.content .ql-indent-2{padding-left:4em}
.content a{text-decoration:underline}
/* เอกสารดาวน์โหลด */
.dl-box{margin-top:28px;padding-top:20px;border-top:1px solid #e9edf4}
.dl-box h3{margin:0 0 12px;font-size:19px;color:var(--brand)}
.dl-item{display:flex;gap:14px;align-items:center;padding:12px 14px;border:1px solid #e6eaf1;border-radius:12px;margin-bottom:10px;background:#fbfcfe}
.dl-ext{flex:none;width:48px;height:48px;border-radius:10px;color:#fff;font-weight:700;font-size:13px;display:grid;place-items:center;font-family:'Prompt',sans-serif}
.dl-info{flex:1;min-width:0;line-height:1.4}.dl-info b{display:block;font-size:15.5px}.dl-info small{color:var(--muted);font-size:13px;word-break:break-all}
.dl-btns{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.dl-btn,.dl-view{padding:8px 16px;border-radius:999px;font-weight:600;font-size:14px;text-decoration:none!important;white-space:nowrap}
.dl-btn{background:var(--brand);color:#fff}.dl-view{border:1.5px solid var(--brand);color:var(--brand)}
/* lightbox ภาพต้นฉบับ */
.lb{position:fixed;inset:0;z-index:200;background:rgba(5,10,25,.92);display:none;align-items:center;justify-content:center;padding:20px;cursor:zoom-out}
.lb.on{display:flex}.lb img{max-width:100%;max-height:calc(100vh - 90px);border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.lb-bar{position:absolute;top:14px;right:16px;display:flex;gap:10px}
.lb-bar a,.lb-bar button{background:rgba(255,255,255,.14);color:#fff;border:0;padding:8px 14px;border-radius:999px;font:inherit;cursor:pointer;text-decoration:none!important}
@media (max-width:680px){.dl-item{flex-wrap:wrap}.dl-btns{width:100%;justify-content:stretch}.dl-btns a{flex:1;text-align:center}}

/* --- footer --- */
.site-foot{background:#0d1b36;color:#c9d3e6;margin-top:40px}
.foot-in{max-width:1200px;margin:0 auto;padding:48px 20px 30px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
.site-foot h4{color:#fff;margin:0 0 12px;font-family:'Prompt',sans-serif}
.site-foot a{display:block;color:#c9d3e6;padding:3px 0}
.site-foot p{margin:0 0 6px}
.brand-link.light,.brand-link.light b{color:#fff}.brand-link.light small{color:#9fb0cf}
.foot-note{color:#93a3c2;font-size:14px;margin-top:12px!important}
.foot-copy{border-top:1px solid rgba(255,255,255,.08);text-align:center;padding:16px;font-size:13.5px;color:#93a3c2}

/* --- responsive --- */
@media (max-width:1080px){
  .nav-toggle{display:block}
  .menu{position:fixed;inset:76px 0 auto 0;flex-direction:column;align-items:stretch;background:#fff;padding:12px 16px 20px;gap:2px;
    box-shadow:0 18px 30px rgba(15,23,42,.12);transform:translateY(-12px);opacity:0;visibility:hidden;transition:.2s;max-height:calc(100vh - 76px);overflow:auto}
  .nav-open .menu{transform:none;opacity:1;visibility:visible}
  .nav-open .nav-toggle span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  .nav-open .nav-toggle span:nth-child(2){opacity:0}
  .nav-open .nav-toggle span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
  .mi{width:100%;justify-content:space-between;padding:12px}
  .mi.on{box-shadow:inset 3px 0 0 var(--brand);border-radius:0 10px 10px 0}
  .dd-menu{position:static;box-shadow:none;border:0;opacity:1;visibility:visible;transform:none;display:none;padding:0 0 6px 14px}
  .dd.open .dd-menu{display:block}.dd:hover .dd-menu{display:none}.dd.open:hover .dd-menu{display:block}
  .btn-login{margin:10px 0 0;text-align:center}
  .eval-card{grid-template-columns:1fr}
  .news-grid{grid-template-columns:repeat(2,1fr)}
  .layout-2{grid-template-columns:1fr}
}
@media (max-width:680px){
  .nav-in{height:64px}.menu{inset:64px 0 auto 0}
  .brand-link small{display:none}.brand-link b{font-size:16px}
  .hero{aspect-ratio:auto;height:62vh;min-height:360px;max-height:520px}
  .slide .cap{padding:0 24px 40px}
  .slide::after{background:linear-gradient(0deg,rgba(6,16,40,.85) 0%,rgba(6,16,40,.35) 70%)}
  .slide .cap{justify-content:flex-end}
  .hero-arrow{display:none}
  .eval-wrap{margin-top:-40px}.eval-card{padding:22px;border-radius:16px}
  .stats-strip{grid-template-columns:repeat(2,1fr)}
  .news-grid{grid-template-columns:1fr}
  .foot-in{grid-template-columns:1fr}
  .article{padding:22px}
  .sec{padding:44px 0}
}
