/* V15 · หน้าตาแบบ tmsbr.go.th (ส้ม–ขาว · Kanit) โหลดต่อจาก style.css ซึ่งเป็นสไตล์หน้าในที่เปลี่ยนโทนเป็นส้มแล้ว */
:root {
  --o:var(--g-700); --o2:var(--g-600); --o-dark:var(--g-900); --y:var(--gold); --ink15:#231818; --grey15:#807a77; --wrap15:1170px;
  --thai-gold:none; --thai-ink:none; --kj-gold:none; --kj-cream:none; --kanok:none; --yam-rule:none;
}
body.v15 { font-family:"Kanit","Noto Sans Thai",system-ui,sans-serif; font-weight:300; background:#fff; color:var(--ink15); }
.v15 [hidden] { display:none !important; }
.v15 strong, .v15 b { font-weight:500; }
.wrap15 { width:100%; max-width:var(--wrap15); margin:0 auto; padding:0 1rem; }
.home15 h2, .home15 h3, .home15 p { margin:0; }
.home15 section { scroll-margin-top:80px; }
.sample-tag { font-family:inherit; }

/* ── ปุ่ม "ดูทั้งหมด" ── */
.more15 { display:inline-block; border:2px solid var(--o); background:#fff; color:var(--o-dark); border-radius:99px; padding:.25rem 1.5rem; font-size:.95rem; line-height:1.4; cursor:pointer; transition:background .2s,color .2s; }
.more15:hover { background:var(--o); color:#fff; }
.more15.sm { font-size:.8rem; padding:.15rem 1rem; }
.more15.teal { background:#2bb5a8; border-color:#2bb5a8; color:#fff; border-radius:4px; }
.more15.white { border-color:#fff; color:#444; }
.more15.ghost { background:transparent; border-color:#fff; color:#fff; border-radius:4px; }
.more15-row { text-align:center; margin-top:1.2rem !important; }
.more15-row.right { text-align:right; }
.empty15 { padding:2rem 1rem; text-align:center; color:#777; } .empty15.light { color:#fff; }

/* ── หัวข้อส่วน ── */
.t15 { text-align:center; font-size:clamp(1.5rem,3vw,2.25rem); font-weight:400; color:var(--grey15); margin:0 0 1rem !important; line-height:1.3; }
.t15 b { color:var(--o); font-weight:400; }
.t15.line { color:var(--ink15); font-size:clamp(1.3rem,2.4vw,1.75rem); }
.t15.line::after { content:""; display:block; width:min(280px,70%); height:11px; margin:.7rem auto 1.6rem; background:radial-gradient(circle,var(--o) 4.5px,transparent 5.5px) center/12px 11px no-repeat, linear-gradient(#cfcfcf,#cfcfcf) center/100% 1px no-repeat; }
.t15.big { font-size:clamp(1.8rem,4vw,3rem); color:#6a625e; }
.h15 { font-size:1.1rem; font-weight:400; margin:0 0 .6rem !important; } .h15.lg { font-size:1.6rem; }

/* ── แถบเลื่อนแนวนอน ── */
.hs { position:relative; padding:0 2.2rem; --gap:1rem; }
.hs-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - (var(--n) - 1) * var(--gap)) / var(--n)); gap:var(--gap); overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; }
.hs-track::-webkit-scrollbar { display:none; }
.hs-track > * { scroll-snap-align:start; min-width:0; }
.hs[data-rows="2"] .hs-track { grid-template-rows:repeat(2,auto); }
.hs-btn { position:absolute; top:calc(50% - .9rem); transform:translateY(-50%); width:30px; height:30px; border-radius:50%; border:1px solid #ddd; background:#fff; color:#888; font-size:.7rem; z-index:2; display:grid; place-items:center; padding:0; }
.hs-btn:hover { background:var(--o); border-color:var(--o); color:#fff; }
.hs-btn.prev { left:0; } .hs-btn.next { right:0; }
.hs.single { padding:0; } .hs.single .hs-btn { display:none; }
.hs-dots { display:flex; justify-content:center; gap:6px; margin-top:.9rem; min-height:5px; }
.hs-dots i { width:12px; height:5px; border-radius:3px; background:#d8d8d8; transition:width .2s; } .hs-dots i.on { width:24px; background:var(--o2); }
@media (max-width:1023px) { .hs { --n:3 !important; } .hs.links15-hs { --n:2 !important; } .hs.tiles15 { --n:4 !important; } }
@media (max-width:640px) { .hs { --n:2 !important; padding:0 1.9rem; } .hs.gal15-hs, .hs.short15-hs { --n:1 !important; } .hs.gal15-hs, .hs.oss15-hs, .hs.links15-hs { padding:0; } .hs.tiles15, .hs.oss15-hs { --n:3 !important; } .tile15 { font-size:.75rem; } .tile15 i { font-size:1.7rem; } }
.home15 .dots { position:absolute; left:50%; transform:translateX(-50%); display:flex; gap:6px; z-index:3; }
.home15 .dots i { width:12px; height:5px; border-radius:3px; background:rgba(255,255,255,.85); box-shadow:0 0 2px rgba(0,0,0,.4); } .home15 .dots i.on { width:26px; background:var(--o2); }
.home15 .slide-link { display:block; width:100%; height:100%; }
.home15 .car-nav { position:absolute; top:50%; transform:translateY(-50%); z-index:3; width:38px; height:38px; border-radius:50%; border:0; background:rgba(255,255,255,.75); color:#555; display:grid; place-items:center; }
.home15 .car-nav.prev { left:1rem; } .home15 .car-nav.next { right:1rem; }

/* ── ส่วนหัว ── */
.hd15 { position:sticky; top:0; z-index:40; background:#fff; border-bottom:3px solid var(--o); box-shadow:0 4px 14px -8px rgba(0,0,0,.35); }
.hd15-in { position:relative; max-width:1440px; margin:0 auto; display:flex; align-items:center; gap:1rem; height:108px; padding:0 1.25rem 0 2.2rem; transition:height .3s; }
.hd15-logo { flex:none; align-self:flex-start; margin-top:12px; width:104px; height:104px; border-radius:50%; background:#fff; box-shadow:0 0 0 5px #fff, 0 6px 14px rgba(0,0,0,.25); position:relative; z-index:2; transition:width .3s,height .3s,margin .3s; }
.hd15-logo img { width:100%; height:100%; border-radius:50%; object-fit:contain; }
.hd15-brand { display:flex; flex-direction:column; min-width:0; line-height:1.15; }
.hd15-brand strong { font-size:clamp(1.05rem,2.2vw,1.75rem); color:var(--o); font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hd15-brand small { font-size:.8rem; letter-spacing:.06em; color:#6b8577; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hd15.compact .hd15-in { height:62px; }
.hd15.compact .hd15-logo { width:56px; height:56px; margin-top:3px; box-shadow:none; }
.hd15.compact .hd15-brand small, .hd15.compact .hd15-row + .hd15-row { display:none; }
.hd15.compact .hd15-brand strong { font-size:1.15rem; }
.hd15-tools { display:flex; flex-direction:column; gap:.4rem; align-items:flex-end; font-size:.75rem; flex:none; }
.hd15-row { display:flex; align-items:center; gap:.3rem; }
.hd15-lbl { color:#555; margin-right:.3rem; }
.lang15 { width:30px; height:24px; border:0; border-radius:4px; background:#ededed; font-size:.72rem; color:#666; padding:0; }
.lang15.on { background:var(--o2); color:#fff; }
.sq15 { width:26px; height:24px; border:0; border-radius:4px; background:#e3effa; color:#2a6fb0; padding:0; font-size:.8rem; margin-left:.4rem; }
.sq15[aria-pressed="true"] { background:#000; color:#ff0; }
.sq15.plain { background:none; color:#222; font-size:1.05rem; }
.font15 { width:24px; height:24px; border:0; border-radius:4px; background:var(--g-100); color:var(--g-900); padding:0; line-height:1; font-size:.75rem; }
.font15.m { font-size:.92rem; } .font15.l { font-size:1.1rem; }
.font15[aria-pressed="true"] { background:var(--o); color:#fff; }
.hd15 .nav-top { font-weight:400; }
.mega15-col strong { display:block; font-weight:500; color:var(--o-dark); margin-bottom:.35rem; }
.mega15-col ul { list-style:none; margin:0 0 .8rem; padding:0; }
.mega15-col a { display:block; padding:.28rem 0 .28rem .9rem; font-size:.95rem; color:#444; }
.mega15-col a:hover { color:var(--o); }
@media (min-width:1024px) {
  .hd15-nav { margin:0 auto; align-self:flex-end; padding-bottom:16px; }
  .hd15.compact .hd15-nav { padding-bottom:10px; }
  .hd15 .main-nav > ul { gap:0; margin:0; padding:0; list-style:none; }
  .hd15 .has-mega { position:static; }
  .hd15 .has-mega + .has-mega { border-left:1px solid #c5d9cd; }
  .hd15 .nav-top { font-size:1.08rem; color:var(--g-900); padding:.1rem 1.5rem; border-radius:0; }
  .hd15 .nav-top:hover, .hd15 .has-mega:hover .nav-top { color:var(--o); }
  .hd15 .nav-top::after { left:1.5rem; right:1.5rem; bottom:-6px; background:var(--o); }
  .hd15 .mega-btn { display:none; }
  .hd15 .mega15 { position:absolute; left:0; right:0; top:100%; width:auto; transform:translateY(8px); border:0; border-top:3px solid var(--o); border-radius:0 0 14px 14px; padding:1.6rem 2rem 1rem; background:rgba(255,255,255,.98); box-shadow:0 26px 40px -24px rgba(0,0,0,.45); }
  .hd15 .has-mega:hover .mega, .hd15 .has-mega.open .mega, .hd15 .has-mega:focus-within .mega { transform:none; }
  .mega15-in { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; max-width:var(--wrap15); margin:0 auto; }
}
@media (max-width:1023px) {
  .hd15-in { height:72px; padding-left:1rem; }
  .hd15-logo { width:56px; height:56px; margin-top:8px; box-shadow:none; }
  .hd15-brand { margin-right:auto; } .hd15-brand small { display:none; }
  .hd15-lbl, .hd15-row + .hd15-row { display:none; }
  .hd15 .main-nav ul { list-style:none; margin:0; padding:0; }
  .hd15 .has-mega.solo { padding-right:44px; }
  .hd15 .mega15 { padding:0 0 1rem .5rem; }
}
@media (max-width:520px) { .hd15-tools .lang15, .hd15-tools #contrast-toggle { display:none; } }

/* ── 1 สไลด์ใหญ่ ── */
.hero15 { position:relative; background:var(--g-80,#e7f3ec); }
.hero15-stage { position:relative; height:clamp(230px,33.3vw,560px); overflow:hidden; }
.hero15 .act-slide > img, .hero15 .slide-link > img { object-fit:cover; }
.hero15 .dots { bottom:74px; }
.login15 { position:absolute; right:max(1rem,calc(50% - 600px)); top:1.6rem; z-index:3; background:var(--o2); color:var(--ink15); border-radius:9px; padding:.3rem .9rem; font-weight:400; box-shadow:0 3px 8px rgba(0,0,0,.2); }
.login15:hover { background:var(--g-550,#2f9763); }
.ask15 { position:absolute; left:50%; bottom:16px; transform:translateX(-50%); z-index:4; width:min(770px,92%); display:flex; align-items:center; gap:.5rem; background:rgba(255,255,255,.96); border-radius:8px; padding:.35rem .35rem .35rem .8rem; box-shadow:0 6px 20px rgba(0,0,0,.22); }
.chip15 { flex:none; font-size:.72rem; border:0; border-radius:4px; padding:.25rem .55rem; line-height:1.3; }
.chip15.g { background:#d7ecc0; color:#2f5d00; } .chip15.p { background:var(--g-100); color:var(--g-900); }
.ask15 input { flex:1; min-width:0; border:0; outline:0; background:transparent; font-size:1.05rem; text-align:center; font-weight:400; }
.ask15 input:focus-visible { outline:2px solid var(--o); border-radius:4px; }
.ask15-go { flex:none; background:linear-gradient(var(--g-550,#2f9763),var(--g-700)); color:#fff; border:0; border-radius:6px; font-size:1.25rem; padding:.3rem 1.5rem; }
.hot15 { position:absolute; left:0; bottom:calc(100% + 8px); background:#fff; border-radius:10px; box-shadow:0 10px 30px rgba(0,0,0,.25); padding:.8rem 1rem; min-width:290px; border-top:4px solid var(--o); }
.hot15 a { display:flex; justify-content:space-between; gap:1.5rem; padding:.35rem 0; border-bottom:1px dashed #e5e5e5; font-size:.9rem; } .hot15 a b { color:var(--o-dark); }
@media (max-width:767px) {
  .ask15 { position:relative; left:auto; bottom:auto; transform:none; margin:-1.2rem auto .8rem; flex-wrap:wrap; justify-content:center; }
  .ask15 input { flex-basis:60%; font-size:.95rem; } .login15 { top:.6rem; font-size:.8rem; } .hero15 .dots { bottom:34px; }
}

/* ── 2 แถบ e-Service | ร้องเรียน ── */
.strip15 { background:linear-gradient(#fff,var(--g-50)); }
.strip15-in { display:grid; grid-template-columns:1fr 1.22fr; max-width:1440px; margin:0 auto; }
.strip15 h2 { font-size:1.15rem; font-weight:400; margin-bottom:.8rem; }
.strip15-a { padding:1rem 1.5rem 1.2rem 7%; min-width:0; } .strip15-a h2 { color:var(--g-text,#33503f); }
.strip15-b { background:linear-gradient(100deg,var(--gold),var(--g-700)); padding:1rem 2rem 1rem 2.6rem; clip-path:polygon(22px 0,100% 0,100% 100%,0 100%); min-width:0; text-align:right; }
.strip15-b h2 { text-align:left; color:var(--ink15); }
.tile15 { display:flex; flex-direction:column; align-items:center; gap:.55rem; text-align:center; font-size:.85rem; line-height:1.35; padding:.3rem .4rem; border-right:1px solid rgba(0,0,0,.08); color:#3a3330; }
.tile15 i { font-size:2.2rem; color:var(--o); transition:transform .2s; } .tile15:hover i { transform:translateY(-3px); }
.tiles15.light .tile15 { border-color:rgba(255,255,255,.45); color:var(--ink15); } .tiles15.light .tile15 i { color:#fff; }
.tiles15 .hs-dots { display:none; }
.strip15-b .more15 { margin-top:.6rem; }
@media (max-width:900px) { .strip15-in { grid-template-columns:1fr; } .strip15-a { padding:1rem; } .strip15-b { clip-path:none; padding:1rem; } }

/* ── 3 คำขวัญ ── */
.vision15 { position:relative; text-align:center; padding:1.8rem 1rem 0; background:#fff; overflow:hidden; }
.vision15-top { display:flex; justify-content:center; align-items:center; gap:1.2rem 2rem; flex-wrap:wrap; }
.pill15 { display:inline-flex; border-radius:8px; overflow:hidden; border:2px solid var(--o); font-size:clamp(1.1rem,2.2vw,1.5rem); line-height:1.5; }
.pill15 span { background:#e9e9e9; color:#666; padding:0 1.1rem; } .pill15 b { background:var(--o); color:#fff; font-weight:400; padding:0 1.1rem; }
.cctv15 { display:inline-flex; align-items:center; gap:.8rem; background:linear-gradient(var(--g-600),var(--g-900)); color:#fff; border-radius:6px; padding:.4rem 1.3rem; font-size:1.3rem; line-height:1.1; text-align:left; box-shadow:0 4px 10px rgba(0,0,0,.2); }
.cctv15 i { font-size:1.9rem; } .cctv15 b { display:block; font-weight:400; letter-spacing:.04em; }
.quote15 { position:relative; z-index:1; font-size:clamp(1.15rem,2.4vw,1.75rem); color:#5c5450; margin-top:1rem !important; font-weight:400; }
.sky15 { display:block; width:100%; height:64px; fill:var(--g-200); margin-top:-22px; }

/* ── 4 แบนเนอร์ + ผู้บริหาร ── */
.exec15 { background:linear-gradient(#c7d0d8,#eef1f3); padding-top:2.2rem; }
.exec15-grid { display:grid; grid-template-columns:2.25fr 1fr 1fr 1fr; gap:1rem; align-items:end; }
.exec15-banner { position:relative; aspect-ratio:455/270; background:#fff; align-self:center; margin-bottom:2.4rem; }
.exec15-banner .act-slide > img, .exec15-banner .slide-link > img { object-fit:contain; padding:.6rem; }
.exec15-banner .dots { bottom:-1.3rem; } .exec15-banner .dots i { background:#fff; box-shadow:none; }
.exec15-card { position:relative; display:block; aspect-ratio:210/320; background:linear-gradient(#b3babf,#8d959b); border-radius:6px 6px 0 0; overflow:hidden; }
.exec15-card img { width:100%; height:100%; object-fit:cover; object-position:top; }
.exec15-card span { position:absolute; left:7%; right:7%; bottom:12%; background:rgba(255,255,255,.95); border-radius:6px; padding:.3rem .55rem; font-size:.8rem; line-height:1.3; }
.exec15-card strong { display:block; font-weight:400; }
.exec15-meet { align-self:center; margin-bottom:2.4rem; display:block; background:#8a8f93; color:#fff; border-radius:6px; overflow:hidden; }
.exec15-meet em { display:block; font-style:normal; padding:.3rem .6rem; }
.exec15-meet img { width:100%; aspect-ratio:1/1.05; object-fit:cover; }
.exec15-meet span { display:block; font-size:.78rem; padding:.4rem .6rem; background:rgba(0,0,0,.3); line-height:1.4; }
@media (max-width:900px) { .exec15-grid { grid-template-columns:1fr 1fr; } .exec15-banner { grid-column:1/-1; margin-bottom:1.5rem; } .exec15-meet { grid-column:1/-1; margin:0 0 1rem; } .exec15-meet img { aspect-ratio:16/8; } .exec15-card { order:3; } }

/* ── 5 แนะนำสำหรับคุณ · 6 แถบประกาศ ── */
.reco15 { padding:1rem 0 1.4rem; background:#fff; }
.reco15-card { display:block; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.16); margin:.3rem .1rem; }
.reco15-img { display:grid; place-items:center; aspect-ratio:170/95; background:linear-gradient(135deg,var(--g-60,#eef8f2),var(--g-200)); font-size:2.2rem; color:var(--o); overflow:hidden; }
.reco15-img img { width:100%; height:100%; object-fit:cover; }
.reco15-card strong { display:block; font-weight:300; font-size:.9rem; padding:.45rem .6rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ticker15 { display:flex; align-items:center; height:45px; overflow:hidden; background:#fff; border-top:1px solid #eee; }
.ticker15 > strong { flex:none; height:100%; display:flex; align-items:center; gap:.7rem; background:linear-gradient(100deg,var(--gold),var(--g-700)); color:#fff; font-weight:500; font-style:italic; font-size:1.3rem; padding:0 2.4rem 0 1.6rem; clip-path:polygon(0 0,100% 0,calc(100% - 18px) 100%,0 100%); }
.ticker15-run { flex:1; overflow:hidden; }
.ticker15-run p { display:inline-flex; gap:5rem; white-space:nowrap; padding-left:100%; animation:tick15 45s linear infinite; font-weight:400; }
.ticker15-run:hover p, .ticker15-run:focus-within p { animation-play-state:paused; }
.ticker15-run a:hover { color:var(--o-dark); }
@keyframes tick15 { to { transform:translateX(-100%); } }

/* ── 7 ข่าววันนี้ ── */
.news15 { background:#f1f1f1; padding:1.6rem 0 2rem; }
.tabs15 { display:flex; gap:.2rem; border-bottom:1px solid #c9c9c9; overflow-x:auto; scrollbar-width:none; margin-bottom:1.3rem; }
.tabs15 button { flex:none; background:none; border:0; border-bottom:3px solid transparent; padding:.5rem .8rem; font-size:.95rem; font-weight:400; color:var(--ink15); }
.tabs15 button[aria-selected="true"] { color:var(--o-dark); border-color:var(--o); }
.news15-hs { --gap:.4rem; }
.ncard15 { background:#fff; display:flex; flex-direction:column; padding-bottom:.9rem; }
.ncard15-img img { width:100%; aspect-ratio:13/9; object-fit:cover; }
.ncard15 time { font-size:.78rem; padding:.6rem .5rem 0; color:#444; }
.ncard15 h3 { flex:1; font-size:.9rem; font-weight:300; line-height:1.45; padding:.2rem .5rem; min-height:5.8em; }
.ncard15 h3 a:hover { color:var(--o-dark); } .ncard15 h3 small { color:#666; font-size:.8rem; }
.line15 { align-self:center; font-size:.68rem; font-weight:500; border:1px solid #ccc; border-radius:4px; padding:.05rem .45rem; color:#222; margin-top:.4rem; }
.line15 i { color:#06c755; }
.board15 { list-style:none; margin:0; padding:0; background:#fff; }
.board15 a { display:grid; grid-template-columns:auto 1fr; gap:.05rem .8rem; padding:.7rem 1rem; border-bottom:1px solid #eee; }
.board15 i { grid-row:span 2; align-self:center; color:var(--o); font-size:1.2rem; } .board15 strong { font-weight:400; } .board15 small { color:#777; }
.fb15 { background:#fff; padding:1.5rem; text-align:center; } .fb15 p { margin-bottom:1rem; } .fb15 p i { color:#1877f2; }
.fb15-frame { width:min(500px,100%); height:560px; border:0; }

/* ── 8 จัดซื้อจัดจ้าง ── */
.proc15 { background:#fff; padding:1.6rem 0 2rem; }
.proc15-box { display:grid; grid-template-columns:300px 1fr; background:#f5f5f5; border-radius:10px; overflow:hidden; }
.proc15-side { background:var(--o); display:flex; flex-direction:column; gap:.15rem; padding:.9rem 0 .9rem .9rem; }
.proc15-side button { text-align:left; background:none; border:0; color:#fff; padding:.65rem 1rem; border-radius:10px 0 0 10px; font-size:1rem; font-weight:400; line-height:1.3; }
.proc15-side button[aria-selected="true"] { background:#f5f5f5; color:var(--ink15); }
.proc15-main { padding:1.2rem 1.5rem; min-width:0; }
.subtabs15 { display:inline-flex; border:1px solid var(--o); margin-bottom:.8rem; flex-wrap:wrap; }
.subtabs15 button { border:0; background:#fff; padding:.5rem 1.1rem; font-weight:400; } .subtabs15 button[aria-selected="true"] { background:var(--o); color:#fff; }
.proc15-h { font-weight:400; font-size:1.05rem; color:var(--o-dark); margin-bottom:.6rem !important; }
.plist15 { list-style:none; margin:0; padding:0; }
.plist15 li { display:flex; justify-content:space-between; gap:1.5rem; padding:.55rem 0; font-size:.9rem; border-bottom:1px dotted #ddd; }
.plist15 a { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .plist15 a:hover { color:var(--o-dark); }
.plist15 time { flex:none; color:#333; }
@media (max-width:860px) { .proc15-box { grid-template-columns:1fr; } .proc15-side { flex-direction:row; overflow-x:auto; padding:.6rem; } .proc15-side button { flex:none; border-radius:8px; white-space:nowrap; } .plist15 li { flex-direction:column; gap:0; } .plist15 a { white-space:normal; } }

/* ── 9 ทางลัด ── */
.short15 { padding:.4rem 0 2rem; background:#fff; }
.short15-hs { --gap:.6rem; }
.short15-item { display:flex; align-items:center; gap:.8rem; min-height:74px; border:1px solid var(--y); border-radius:8px; background:#f1f1f1; overflow:hidden; }
.short15-item:hover { background:var(--g-60,#eef8f2); }
.short15-logo { flex:none; width:74px; align-self:stretch; display:grid; place-items:center; background:linear-gradient(105deg,var(--o) 68%,transparent 69%); padding-right:14px; }
.short15-logo img { width:44px; height:44px; border-radius:50%; background:#fff; object-fit:contain; }
.short15-item strong { font-weight:400; font-size:1.05rem; line-height:1.25; padding-right:.6rem; }

/* ── 10 ภาพ/วิดีโอกิจกรรม ── */
.gal15 { background:linear-gradient(rgba(var(--g-rgb,11,58,38),.88),rgba(var(--g-rgb,11,58,38),.88)),url(../images/office.jpg) center/cover; padding:2.2rem 0 1.6rem; }
.gal15-tabs { display:flex; justify-content:center; gap:.8rem 1.6rem; flex-wrap:wrap; margin-bottom:1.6rem; }
.gal15-tabs button { font-size:1.25rem; font-weight:400; padding:.2rem 1.7rem; border-radius:4px; border:0; background:#e6e6e6; color:#666; }
.gal15-tabs button[aria-selected="true"] { background:var(--o); color:#fff; }
.gal15-hs { padding:0; --gap:0px; } .gal15-hs .hs-btn { background:rgba(255,255,255,.8); } .gal15-hs .hs-btn.prev { left:.6rem; } .gal15-hs .hs-btn.next { right:.6rem; }
.gal15 .hs-dots i { background:rgba(255,255,255,.5); } .gal15 .hs-dots i.on { background:var(--o2); }
.gal15-item { position:relative; display:block; aspect-ratio:356/215; overflow:hidden; background:#000; border:0; border-block:7px solid #111; padding:0; color:#fff; width:100%; }
.gal15-item img { width:100%; height:100%; object-fit:cover; transition:transform .5s; } .gal15-item:hover img { transform:scale(1.05); }
.gal15-item span { position:absolute; inset:auto 0 0; display:flex; flex-direction:column; text-align:center; font-size:.82rem; line-height:1.4; padding:1.8rem .8rem .5rem; background:linear-gradient(transparent,rgba(0,0,0,.82)); }
.gal15-item strong { font-weight:400; } .gal15-item small, .gal15-item time { opacity:.85; font-size:.75rem; }
.yt15 > i { position:absolute; inset:0; display:grid; place-items:center; font-size:3.2rem; color:#fff; text-shadow:0 2px 12px rgba(0,0,0,.6); }
.yt15-frame { position:absolute; inset:0; width:100%; height:100%; border:0; }

/* ── 11 รางวัล ── */
.award15 { padding:2rem 0 2.2rem; background:linear-gradient(#fff 72%,#e9e9e9 72%,#f6f6f6); }
.award15-grid { display:grid; grid-template-columns:1.55fr 1fr .9fr; gap:1.5rem; align-items:start; }
.award15 h2 { font-weight:400; font-size:1.6rem; color:#4a4441; }
.award15-a { display:flex; gap:1rem; align-items:center; } .award15-a p { color:#777; margin:.2rem 0 .8rem; } .award15-a p i { color:#231818; font-size:.8rem; }
.award15-cup { position:relative; flex:1; display:flex; align-items:flex-end; justify-content:center; gap:.4rem; min-height:190px; }
.award15-cup img { width:34%; aspect-ratio:3/4; object-fit:cover; border:6px solid var(--gold-deep); box-shadow:0 6px 14px rgba(0,0,0,.3); }
.award15-cup img:nth-child(2) { width:28%; } .award15-cup img:nth-child(3) { width:22%; }
.award15-cup i { font-size:5rem; color:#e0a80f; margin-left:-1.2rem; filter:drop-shadow(0 4px 6px rgba(0,0,0,.3)); }
.award15-stage { position:relative; aspect-ratio:290/205; border-radius:8px; overflow:hidden; margin:.5rem 0 1rem; background:#333; }
.award15-stage .act-slide > img, .award15-stage .slide-link > img { object-fit:cover; }
.award15-stage figcaption { display:block; position:absolute; inset:auto 0 0; background:rgba(0,0,0,.6); color:#fff; font-size:.82rem; padding:.4rem .7rem; }
.award15-stage .dots { bottom:-1rem; } .award15-b { text-align:center; } .award15-b h2 { text-align:left; }
.award15-stage .car-nav { width:26px; height:26px; font-size:.6rem; } .award15-stage .car-nav.prev { left:.3rem; } .award15-stage .car-nav.next { right:.3rem; }
.award15-staff { display:block; background:#fff; border-radius:8px; box-shadow:0 4px 14px rgba(0,0,0,.2); padding:.6rem; margin-top:.5rem; }
.award15-staff img { width:100%; aspect-ratio:4/3; object-fit:cover; } .award15-staff strong { display:block; font-weight:400; font-size:1.1rem; padding:.7rem .4rem .3rem; }
@media (max-width:900px) { .award15-grid { grid-template-columns:1fr; } }

/* ── 12 เมืองน่าอยู่ ── */
.stat15 { min-height:min(46vw,560px); padding:2.6rem 0 12rem; background:linear-gradient(rgba(255,255,255,.82),rgba(255,255,255,.15) 60%,transparent),var(--bg) center/cover; }
.stat15-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem clamp(1rem,4vw,3.4rem); margin-top:2rem; }
.stat15-card { background:rgba(255,255,255,.74); border-radius:8px; text-align:center; padding:.7rem .4rem; color:#555; font-size:1.15rem; backdrop-filter:blur(2px); }
.stat15-card b { display:block; font-size:clamp(1.8rem,4vw,3rem); font-weight:300; color:#1f6fb5; line-height:1.1; }
@media (max-width:640px) { .stat15-grid { grid-template-columns:1fr 1fr; } .stat15 { padding-bottom:5rem; } }

/* ── 13 นโยบาย ── */
.pol15 { display:grid; grid-template-columns:minmax(230px,27%) 1fr; background:#d6d8df; }
.pol15-head { position:relative; background:linear-gradient(135deg,var(--g-900),var(--gold)); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:1.5rem; text-align:center; clip-path:polygon(0 0,100% 0,calc(100% - 26px) 100%,0 100%); }
.pol15-head > b { font-size:8rem; line-height:.9; font-weight:500; text-shadow:0 6px 14px rgba(0,0,0,.2); }
.pol15-head h2 { font-size:2.4rem; font-weight:500; line-height:1; } .pol15-head h2 span { display:block; font-weight:300; font-size:1.9rem; }
.pol15-head small { opacity:.85; margin-top:.3rem; }
.pol15-body { padding:2rem 1rem 1.4rem 0; min-width:0; }
.pol15-card { display:block; background:#fff; box-shadow:0 3px 10px rgba(0,0,0,.18); }
.pol15-card h3 { font-size:1.25rem; font-weight:400; padding:.4rem .8rem; border-left:8px solid var(--c); }
.pol15-card img { width:100%; aspect-ratio:210/135; object-fit:cover; }
.pol15-card p { font-size:.92rem; padding:.6rem .8rem 1.3rem; min-height:5.6em; }
@media (max-width:860px) { .pol15 { grid-template-columns:1fr; } .pol15-head { clip-path:none; flex-direction:row; flex-wrap:wrap; gap:.8rem; } .pol15-head > b { font-size:4rem; } .pol15-body { padding:1.2rem .5rem; } }

/* ── 14 แผนที่ท่องเที่ยว ── */
.travel15 { position:relative; background:#4fb4ee; }
.travel15-map { position:relative; height:clamp(380px,38vw,600px); overflow:hidden; }
.travel15-map > svg { position:absolute; inset:0; width:100%; height:100%; }
.tv15-pins { position:absolute; inset:0; }
.tv15-pin { position:absolute; transform:translate(-50%,-50%); display:flex; flex-direction:column; align-items:center; gap:3px; background:none; border:0; padding:0; z-index:1; }
.tv15-pin b { width:28px; height:28px; border-radius:50%; background:var(--o); color:#fff; display:grid; place-items:center; border:2px solid #fff; font-size:.8rem; box-shadow:0 3px 8px rgba(0,0,0,.4); transition:transform .2s; }
.tv15-pin span { background:rgba(15,105,115,.88); color:#fff; font-size:.7rem; line-height:1.5; padding:0 .5rem; border-radius:4px; white-space:nowrap; }
.tv15-pin:hover, .tv15-pin.on { z-index:2; } .tv15-pin:hover b, .tv15-pin.on b { transform:scale(1.25); background:#d6336c; }
.travel15-find { position:absolute; left:0; top:0; z-index:3; width:214px; display:flex; flex-direction:column; gap:.3rem; background:rgba(16,104,178,.93); color:#fff; padding:.8rem 1rem 1rem; font-size:.78rem; border-radius:0 0 16px 0; }
.travel15-find h2 { font-size:1rem; font-weight:500; margin-bottom:.2rem; }
.tv15-q { position:relative; } .tv15-q input { width:100%; border:0; border-radius:99px; padding:.2rem 1.7rem .2rem .7rem; font-size:.8rem; }
.tv15-q i { position:absolute; right:.55rem; top:50%; transform:translateY(-50%); color:var(--o); }
.travel15-find label { display:flex; align-items:center; gap:.35rem; }
.travel15-find select { border:0; border-radius:99px; padding:.2rem .5rem; background:#ffe9a8; margin-top:.3rem; font-size:.78rem; }
.tv15-go { background:var(--o2); border:0; border-radius:99px; color:#fff; padding:.2rem; margin-top:.2rem; }
.tv15-card { position:absolute; right:1rem; top:1rem; z-index:4; width:min(300px,80%); background:#fff; border-radius:12px; box-shadow:0 12px 30px rgba(0,0,0,.35); }
.tv15-card img { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:12px 12px 0 0; }
.tv15-card div { padding:.7rem .9rem .9rem; } .tv15-card em { font-style:normal; font-size:.72rem; color:var(--o-dark); }
.tv15-card h3 { font-size:1rem; font-weight:500; } .tv15-card p { font-size:.82rem; margin:.2rem 0 .6rem; }
.travel15-tabs { position:absolute; left:50%; bottom:1rem; transform:translateX(-50%); z-index:3; display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem; width:max-content; max-width:96%; }
.travel15-tabs a { background:rgba(255,255,255,.93); padding:.35rem 1.2rem; font-size:.92rem; color:#444; font-weight:400; }
.travel15-tabs a.on, .travel15-tabs a:hover { background:var(--o); color:#fff; }
@media (max-width:860px) { .travel15-find { position:static; width:auto; border-radius:0; flex-direction:row; flex-wrap:wrap; gap:.4rem .9rem; align-items:center; } .travel15-find h2 { flex-basis:100%; } .travel15-tabs { position:static; transform:none; width:auto; max-width:none; padding:.8rem; } .tv15-pin span { display:none; } }

/* ── 15 ต้องไม่พลาด ── */
.must15 { background:radial-gradient(circle at 15% 0,#3d3733,#1d1b1a 60%); color:#fff; padding:1.6rem 0 0; overflow:hidden; }
.must15-t { text-align:center; font-style:italic; font-weight:400; font-size:clamp(1.5rem,3.4vw,2.6rem); color:var(--y); }
.must15-tabs { display:flex; justify-content:center; flex-wrap:wrap; gap:.5rem 2.2rem; margin:.8rem 0 1.2rem; }
.must15-tabs button { background:none; border:0; color:#fff; font-size:1.1rem; font-weight:400; opacity:.75; }
.must15-tabs button[aria-selected="true"] { opacity:1; color:var(--y); }
.must15-tabs button:nth-child(1) i { color:#7bd34e; } .must15-tabs button:nth-child(2) i { color:#3a8dff; } .must15-tabs button:nth-child(3) i { color:#ffd21f; }
.cf15-ring { position:relative; height:250px; z-index:1; }
.cf15-item { position:absolute; left:50%; top:50%; width:230px; height:230px; margin:-115px 0 0 -115px; padding:0; border-radius:50%; border:12px solid #d9d9d9; overflow:hidden; background:#fff; transform:translateX(calc(var(--d,0) * 150px)) scale(max(.2,calc(1 - var(--a,0) * .2))); z-index:calc(10 - var(--a,0)); transition:transform .5s,opacity .4s; box-shadow:0 8px 20px rgba(0,0,0,.45); }
.cf15-item.far { opacity:0; pointer-events:none; }
.cf15-item img { width:100%; height:100%; object-fit:cover; }
.cf15-info { position:relative; background:var(--gold); color:var(--ink15); text-align:center; padding:8.6rem 1rem 1.8rem; margin-top:-7rem; }
.cf15-info h3 { font-style:italic; font-weight:500; font-size:clamp(1.15rem,2.2vw,1.5rem); }
.cf15-info p { max-width:780px; margin:.5rem auto 1rem; font-style:italic; font-size:.95rem; }
@media (max-width:640px) { .cf15-item { width:170px; height:170px; margin:-85px 0 0 -85px; transform:translateX(calc(var(--d,0) * 100px)) scale(max(.2,calc(1 - var(--a,0) * .22))); } .cf15-ring { height:190px; } .cf15-info { padding-top:6.5rem; margin-top:-5.4rem; } }

/* ── 16 ตลาดชาวบ้าน ── */
.market15 { padding:2rem 0 2.4rem; background:linear-gradient(rgba(255,255,255,.72),rgba(255,255,255,.2) 45%,rgba(140,100,60,.15)),repeating-linear-gradient(0deg,#cfa67a 0 58px,#b78d62 58px 60px); }
.market15-t { text-align:center; font-size:clamp(1.8rem,3.5vw,2.75rem); font-weight:400; color:#6b6460; margin-bottom:1.2rem !important; text-shadow:0 0 6px #fff; }
.market15-t b { color:var(--o); font-weight:500; }
.market15-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem clamp(1rem,5vw,4rem); }
.market15-item img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:6px; box-shadow:0 6px 14px rgba(0,0,0,.3); background:#fff; }
.market15-item span { display:block; padding-top:.45rem; font-size:.95rem; font-weight:400; }
@media (max-width:640px) { .market15-grid { grid-template-columns:1fr; } }

/* ── 17 สื่อประชาสัมพันธ์ ── */
.media15 { background:#f3f3f3; padding:2rem 0 2.5rem; }
.media15-t { display:flex; justify-content:center; align-items:center; gap:.8rem; margin-bottom:1.6rem !important; font-weight:400; }
.media15-t > span:first-child { font-size:3.8rem; font-weight:500; color:#8b8480; line-height:1; }
.media15-t b { display:block; color:var(--o); font-size:1.75rem; font-weight:400; letter-spacing:.07em; line-height:1.1; } .media15-t small { display:block; font-size:1.15rem; color:#444; line-height:1.1; }
.media15-grid { display:grid; grid-template-columns:1fr 1.75fr 1fr; gap:2rem; align-items:start; text-align:center; }
.media15-col h3 { font-weight:300; font-size:1.2rem; margin:.6rem 0 .9rem !important; }
.journal15 { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; background:#fff; padding:.8rem; margin-bottom:1rem; text-align:left; }
.journal15-cover { display:grid; place-items:center; align-content:center; gap:.3rem; aspect-ratio:3/4; border-radius:8px; background:linear-gradient(160deg,var(--g-700),#7a3bb5); color:#fff; font-size:2rem; overflow:hidden; }
.journal15-cover img { width:100%; height:100%; object-fit:cover; } .journal15-cover em { font-size:.8rem; font-style:normal; }
.journal15 strong { display:block; font-size:.75rem; font-weight:400; margin-top:.4rem; line-height:1.4; }
.video15 { position:relative; display:block; width:100%; aspect-ratio:16/9; border:6px solid #fff; box-shadow:0 6px 20px rgba(0,0,0,.28); padding:0; background:#000; overflow:hidden; }
.video15 img { width:100%; height:100%; object-fit:cover; }
.media15-col.mid p { background:#fff; margin:0 0 1rem; padding:.6rem .8rem; text-align:left; box-shadow:0 6px 20px rgba(0,0,0,.18); font-weight:400; }
.cal15 { background:#fff; margin-bottom:1rem; font-size:.82rem; }
.cal15-head { display:flex; justify-content:space-between; align-items:center; background:#e9e9e9; padding:.25rem .4rem; }
.cal15-head strong { color:#3a9c6b; font-weight:400; } .cal15-head button { width:22px; height:22px; border:0; background:#555; color:#fff; font-size:.6rem; padding:0; }
.cal15 table { width:100%; border-collapse:collapse; }
.cal15 th { font-weight:300; padding:.35rem 0; border-bottom:1px solid #ddd; }
.cal15 td { text-align:center; color:#666; height:2.1rem; padding:0; } .cal15 .sun { color:#e58b8b; }
.cal15 td.today { box-shadow:inset 0 0 0 2px var(--y); border-radius:50%; }
.cal15 td button { width:1.75rem; height:1.75rem; border:0; border-radius:50%; background:var(--o); color:#fff; padding:0; }
.cal15-list { list-style:none; margin:0; padding:0 .7rem; text-align:left; } .cal15-list li { padding:.35rem 0; border-top:1px dashed #ddd; } .cal15-list a:hover { color:var(--o-dark); }
@media (max-width:900px) { .media15-grid { grid-template-columns:1fr; } .media15-col.mid { order:-1; } .journal15 { max-width:360px; margin-inline:auto; } }

/* ── 18 แอปพลิเคชัน ── */
.app15 { background:linear-gradient(90deg,var(--g-50),var(--g-100) 55%,var(--g-25)); padding:1.6rem 0; }
.app15-grid { display:grid; grid-template-columns:auto 1fr auto auto; gap:1.5rem 2.2rem; align-items:center; }
.app15-icon { width:120px; height:120px; border-radius:16px; background:linear-gradient(#c9c9c9,#a9a9a9); display:grid; place-items:center; box-shadow:0 6px 14px rgba(0,0,0,.25); }
.app15-icon img { width:86px; height:86px; border-radius:50%; background:#fff; object-fit:contain; }
.app15 h2 { font-weight:400; font-size:1.5rem; } .app15 h2 b { display:block; color:var(--o); font-style:italic; font-size:1.7rem; font-weight:500; }
.app15 ul { list-style:none; padding:0; margin:.5rem 0 0; } .app15 li { font-weight:400; }
.app15 li::before { content:""; display:inline-block; width:10px; height:10px; border-radius:50%; background:var(--o); margin-right:.6rem; }
.app15 li:nth-child(2)::before { background:#e83e8c; } .app15 li:nth-child(3)::before { background:#7ac143; }
.app15-phone { font-size:7rem; color:var(--o); line-height:1; }
.app15-get { text-align:center; } .app15-get strong { display:block; font-size:1.7rem; font-weight:500; }
.app15-qr { display:grid; place-items:center; width:100px; height:100px; margin:.4rem auto; background:#fff; font-size:4.6rem; } .app15-qr img { width:100%; height:100%; object-fit:contain; }
.app15-stores { display:flex; gap:.5rem; justify-content:center; } .app15-stores a { background:#111; color:#fff; border-radius:6px; padding:.3rem .8rem; font-size:.75rem; white-space:nowrap; }
@media (max-width:900px) { .app15-grid { grid-template-columns:auto 1fr; } .app15-phone { display:none; } .app15-get { grid-column:1/-1; } }

/* ── 19 One Stop Service | เอกสาร ── */
.oss15 { display:grid; grid-template-columns:1fr 1.02fr; }
.oss15-a { background:var(--g-80,#e7f3ec); padding:2rem 1.5rem 2rem 2rem; display:grid; grid-template-columns:210px 1fr; gap:1rem; align-content:start; min-width:0; }
.oss15-a h2 { font-size:3.1rem; color:var(--o); font-weight:600; line-height:1; } .oss15-a h2 small { display:block; font-size:1.55rem; color:#555; font-weight:500; min-height:1em; }
.oss15-face { grid-column:1; display:flex; flex-direction:column; align-items:center; gap:.7rem; font-size:5.5rem; color:var(--o); align-self:end; }
.oss15-face span { font-size:1rem; line-height:1.2; background:#fff; border-radius:10px; padding:.5rem .9rem; text-align:center; color:var(--o-dark); font-weight:500; box-shadow:0 3px 8px rgba(0,0,0,.12); }
.oss15-face small { display:block; font-size:.78rem; color:#444; font-weight:300; }
.oss15-tiles { grid-column:2; grid-row:1 / span 2; min-width:0; text-align:right; align-self:center; }
.oss15-hs { padding:0; --gap:.8rem; text-align:center; } .oss15-hs .hs-btn { display:none; }
.oss15-tile span { display:grid; place-items:center; aspect-ratio:1; background:#fff; border:4px solid #f3f3f3; border-radius:6px; box-shadow:0 3px 8px rgba(0,0,0,.16); font-size:2.4rem; color:var(--o); transition:transform .2s; }
.oss15-tile:hover span { transform:translateY(-3px); }
.oss15-tile strong { display:block; font-weight:400; font-size:.9rem; line-height:1.3; margin:.5rem 0 .3rem; }
.oss15-b { background:#9b9b9b; color:#fff; padding:2rem 1.5rem; min-width:0; }
.oss15-bh { display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; }
.oss15-bh h2 { font-size:2.1rem; font-weight:400; }
.oss15-bh form { display:flex; background:#fff; border-radius:6px; overflow:hidden; } .oss15-bh input { border:0; padding:.55rem .8rem; min-width:210px; font-size:.82rem; color:#333; } .oss15-bh button { background:var(--o); border:0; color:#fff; width:46px; }
.oss15-cols { display:grid; grid-template-columns:215px 1fr; gap:1rem; margin-top:1rem; }
.oss15-nav { display:flex; flex-direction:column; gap:2px; }
.oss15-nav button { text-align:left; background:#fff; border:0; padding:.55rem .8rem; font-size:.8rem; color:#333; } .oss15-nav button i { color:var(--o); margin-right:.3rem; }
.oss15-nav button[aria-selected="true"] { background:var(--o); color:#fff; } .oss15-nav button[aria-selected="true"] i { color:#fff; }
.oss15-list { min-width:0; } .oss15-list h3 { font-weight:300; font-size:1.5rem; border-left:3px solid #ff8f8f; padding-left:.6rem; }
.oss15-list ul { list-style:none; padding:0; margin:.6rem 0; } .oss15-list li { border-bottom:1px dashed rgba(255,255,255,.55); padding:.4rem 0; font-size:.85rem; }
.oss15-list a:hover { text-decoration:underline; }
@media (max-width:1100px) { .oss15 { grid-template-columns:1fr; } }
@media (max-width:640px) { .oss15-a { grid-template-columns:1fr; padding:1.5rem 1rem; } .oss15-face { display:none; } .oss15-tiles { grid-column:1; grid-row:auto; } .oss15-cols { grid-template-columns:1fr; } .oss15-nav { flex-direction:row; overflow-x:auto; } .oss15-nav button { flex:none; white-space:nowrap; } }

/* ── 20 ระบบสารสนเทศ ── */
.links15 { display:grid; grid-template-columns:1.15fr 1fr 1fr 1fr; gap:1.2rem; padding:2rem 1.2rem; align-items:start; background:linear-gradient(90deg,rgba(255,255,255,0) 18%,rgba(255,255,255,.92) 40%),var(--bg) left center/cover; }
.links15-hero { text-align:center; } .links15-hero p { display:inline-block; margin-top:.6rem; font-size:1.6rem; line-height:1.25; color:#fff; padding:.3rem 2.6rem; background:linear-gradient(90deg,transparent,rgba(28,116,73,.92) 25%,rgba(28,116,73,.92) 75%,transparent); }
.links15-hero b { display:block; font-weight:500; }
.links15-panel { background:#f1f1f1; padding:1rem; min-width:0; }
.links15-panel h3 { text-align:center; font-weight:400; font-size:1.08rem; margin-bottom:1.2rem !important; }
.links15-panel h3::after { content:""; display:block; width:40px; height:3px; background:#56b947; margin:.5rem auto 0; }
.links15-tiles { display:grid; grid-template-columns:1fr 1fr; gap:2px; }
.links15-tiles a, .links15-ext { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.6rem; aspect-ratio:1/1.15; background:#fff; border:1px solid #ddd; text-align:center; font-size:.85rem; line-height:1.35; padding:.5rem; font-weight:400; }
.links15-tiles i { font-size:2.8rem; color:#1c7fb6; }
.links15-tiles .t1 { background:var(--o2); color:#fff; border-color:var(--o2); } .links15-tiles .t1 i { color:#fff; } .links15-tiles .t2 { background:#bfe3fb; }
.links15-tiles a:hover, .links15-ext:hover { box-shadow:inset 0 0 0 3px var(--y); }
.links15-hs { padding:0; --gap:.6rem; } .links15-hs .hs-btn { display:none; }
.links15-ext span { flex:1; display:grid; place-items:center; font-size:2.4rem; color:#888; min-height:0; } .links15-ext img { max-height:74px; max-width:100%; object-fit:contain; } .links15-ext small { font-size:.68rem; line-height:1.3; font-weight:300; }
@media (max-width:1100px) { .links15 { grid-template-columns:1fr 1fr; background:linear-gradient(rgba(255,255,255,.75),rgba(255,255,255,.9)),var(--bg) center/cover; } .links15-hero { grid-column:1/-1; } }
@media (max-width:640px) { .links15 { grid-template-columns:1fr; } }

/* ── ส่วนท้าย ── */
.ft15-main { background:linear-gradient(180deg,var(--g-800),var(--g-950)); color:#fff; padding:1.5rem 0; border-top:6px solid var(--gold); }
.ft15-grid { display:grid; grid-template-columns:1.35fr 1fr 1.25fr; gap:1.5rem 2rem; align-items:center; }
.ft15 h2 { font-weight:400; margin:0; }
.ft15-org { display:flex; gap:1.1rem; align-items:center; } .ft15-org h2 { font-size:1.6rem; } .ft15-org p { margin:0; font-size:.92rem; font-weight:400; }
.ft15-logo { flex:none; width:112px; height:112px; border-radius:50%; background:#fff; object-fit:contain; box-shadow:0 0 0 4px rgba(255,255,255,.4); }
.ft15-btns a { display:inline-block; background:var(--g-text,#33503f); color:#fff; font-size:.72rem; padding:.15rem 1rem; margin:.45rem .3rem 0 0; border-radius:3px; } .ft15-btns a:hover { background:var(--g-text,#33503f); }
.ft15-social { text-align:center; } .ft15-social h2 { font-size:1.3rem; } .ft15-social p { margin:.4rem 0; display:flex; justify-content:center; flex-wrap:wrap; }
.ft15-social p a { display:inline-flex; align-items:center; gap:.5rem; padding:.2rem .9rem; color:#fff; font-size:.95rem; font-weight:400; }
.ft15-social .fb { background:#3b5998; } .ft15-social .yt { background:#e62117; } .ft15-social .ln { background:#06c755; }
.ft15-social nav a { font-size:.78rem; padding:0 .55rem; border-right:1px solid #fff; } .ft15-social nav a:last-child { border:0; } .ft15-social nav a:hover { text-decoration:underline; }
.ft15-contact { margin:0; display:grid; gap:.55rem; font-weight:400; } .ft15-contact div { display:flex; gap:.9rem; align-items:center; }
.ft15-contact dt { flex:none; width:30px; height:30px; border-radius:50%; background:#fff; color:var(--o); display:grid; place-items:center; font-size:.85rem; } .ft15-contact dd { margin:0; overflow-wrap:anywhere; } .ft15-contact small { font-weight:300; }
.ft15-policy { background:#818181; color:#fff; text-align:center; padding:.5rem; font-size:.82rem; }
.ft15-policy a, .ft15-policy button { color:#fff; background:none; border:0; border-right:1px solid #fff; padding:0 .6rem; line-height:1.2; font-weight:300; } .ft15-policy :last-child { border:0; } .ft15-policy a:hover, .ft15-policy button:hover { text-decoration:underline; }
.ft15-copy { background:#fff; font-size:.72rem; padding:.7rem 0 5.2rem; color:#333; }
.ft15-copy .wrap15 { display:flex; justify-content:space-between; align-items:center; gap:.5rem 1rem; flex-wrap:wrap; max-width:1340px; } .ft15-copy p { margin:0; }
.counter15 { display:inline-block; background:#222; color:#fff; border-radius:3px; padding:.05rem .5rem; margin-left:.3rem; } .counter15 b { font-weight:400; color:var(--y); margin-right:.3rem; }
.counter15.total { background:#8a8a8a; border:2px solid #555; color:#ffd24d; letter-spacing:.12em; font-weight:500; }
.staff15 { display:inline-block; border:1px solid #999; border-radius:3px; padding:.1rem .55rem; margin-left:.4rem; } .staff15:hover { background:#f1f1f1; }
@media (min-width:1024px) { .ft15-copy { padding-bottom:.7rem; } }
@media (max-width:900px) { .ft15-grid { grid-template-columns:1fr; } .ft15-contact { justify-content:center; } .ft15-org { flex-direction:column; text-align:center; } }

/* ── ส่วนลอย ── */
.x15 { position:absolute; top:-9px; right:-9px; z-index:2; width:22px; height:22px; border-radius:50%; border:1px solid #999; background:#fff; color:#555; font-size:.6rem; display:grid; place-items:center; padding:0; }
.side15 { position:fixed; left:0; top:150px; z-index:35; width:52px; background:#fff; border-radius:0 14px 14px 0; box-shadow:0 4px 14px rgba(0,0,0,.22); overflow:hidden; }
.side15 ul { list-style:none; margin:0; padding:0; }
.side15 a { display:flex; flex-direction:column; align-items:center; gap:.1rem; font-size:.62rem; line-height:1.3; padding:.45rem 0; color:#555; border-bottom:1px solid #eee; }
.side15 a i { font-size:1rem; color:#333; } .side15 a:hover { background:var(--g-60,#eef8f2); }
.side15 .tag { background:var(--o2); color:#fff; font-weight:500; font-size:.8rem; } .side15 .tag.ita { background:#fff; color:#1c5fa8; font-style:italic; font-weight:600; }
.pm15 { position:fixed; right:1rem; top:40%; z-index:35; width:200px; border-radius:8px; padding:.8rem 1rem; color:var(--ink15); background:linear-gradient(160deg,#ffd27a,#f59a23); box-shadow:0 8px 22px rgba(0,0,0,.3); }
.pm15.lv1, .pm15.lv2 { background:linear-gradient(160deg,#c9f2a6,#58b947); } .pm15.lv3 { background:linear-gradient(160deg,#fff3a3,var(--gold)); } .pm15.lv5 { background:linear-gradient(160deg,#ffb3a3,#e2483a); color:#fff; }
.pm15 strong { font-size:1.5rem; font-weight:500; letter-spacing:.06em; } .pm15 b { display:block; font-size:4rem; line-height:1; text-align:center; } .pm15 small { display:block; text-align:right; }
.pm15 p { font-size:.62rem; line-height:1.5; margin:.3rem 0 0; } .pm15 a { text-decoration:underline; }
@media (max-width:1180px) { .side15, .pm15 { display:none; } }
.bot15 { position:fixed; right:1rem; bottom:9.6rem; z-index:36; }
.bot15-btn { display:flex; flex-direction:column; align-items:center; gap:.2rem; background:#fff; border:2px solid var(--o); border-radius:14px; padding:.4rem .6rem; font-size:.7rem; line-height:1.3; color:var(--o-dark); box-shadow:0 6px 16px rgba(0,0,0,.25); }
.bot15-face { width:44px; height:44px; border-radius:50%; background:var(--g-80,#e7f3ec); display:grid; place-items:center; font-size:1.5rem; color:var(--o); } .bot15-btn b { display:block; }
.bot15-panel { position:absolute; right:0; bottom:calc(100% + 10px); width:min(330px,86vw); background:#fff; border-radius:14px; border-top:4px solid var(--o); box-shadow:0 14px 40px rgba(0,0,0,.35); padding:1rem; }
.bot15-panel h2 { font-size:1rem; font-weight:500; margin:0; } .bot15-panel input { width:100%; border:1px solid #ccc; border-radius:8px; padding:.45rem .7rem; margin:.6rem 0 .3rem; }
.bot15-panel ul { list-style:none; padding:0; margin:0; max-height:250px; overflow:auto; } .bot15-panel li a { display:block; padding:.42rem .2rem; border-bottom:1px solid #eee; font-size:.85rem; } .bot15-panel li a:hover { color:var(--o-dark); } .bot15-panel li.none { padding:.6rem .2rem; color:#777; font-size:.85rem; }
.bot15-foot { font-size:.75rem; margin:.6rem 0 0; color:#555; } .bot15-foot a { color:var(--o-dark); text-decoration:underline; }
@media (min-width:1024px) { .bot15 { bottom:5.2rem; } }
.v15 .to-top { right:1rem; width:46px; height:46px; padding:0; justify-content:center; border-radius:50%; background:#8d8d8d; color:#fff; border:0; }
.cookie.cookie15 { left:50%; transform:translateX(-50%); width:min(580px,calc(100vw - 2rem)); display:flex; flex-wrap:wrap; align-items:center; gap:.6rem 1rem; background:rgba(40,40,40,.94); color:#fff; border:0; border-radius:6px; padding:.8rem 1rem; }
.cookie15 p { flex:1 1 260px; margin:0; font-size:.8rem; } .cookie15 a { color:var(--y); } .cookie15 .cookie-opts { flex-basis:100%; font-size:.8rem; } .cookie15 .btn { min-height:34px; }

/* ── ป๊อปอัปหน้าแรก: กรอบขาวแบบต้นแบบ ── */
.v15 .splash { background:rgba(28,28,28,.78); }
.v15 .splash-stage { background:#fff; border:6px solid #fff; border-radius:4px; }
.v15 .splash-x { top:-12px; right:-12px; width:30px; height:30px; background:#cecece; border:2px solid #fff; color:#333; }

/* ── โหมดสีตัดกัน ── */
html[data-contrast="1"] .v15 :is(header,main,section,footer,nav,aside,div,article,form,ul,li,a,button,table,td,th,p,h2,h3,figure,figcaption,span,strong,dl,dt,dd) { background-color:#000 !important; background-image:none !important; border-color:#ff0 !important; clip-path:none !important; box-shadow:none !important; text-shadow:none !important; }
html[data-contrast="1"] .v15 :is(input,select) { background:#000 !important; color:#ff0 !important; border:1px solid #ff0 !important; }
html[data-contrast="1"] .travel15-map > svg, html[data-contrast="1"] .sky15 { display:none; }
@media print { .hd15, .ft15, .side15, .pm15, .bot15 { display:none !important; } }
