:root{
  --primary:#0b4f6c;
  --secondary:#f37021;
  --soft-bg:#f5f7fa;
}
body{
font-family:'Prompt','Sarabun',sans-serif;
background:var(--soft-bg);
}
/* ===== Section Title ===== */
.section-title h4{
 font-weight:600;
 color:var(--primary);
 letter-spacing:0.5px;
}
.section-title::after{
content:"";
display:block;
width:80px;
height:3px;
background:linear-gradient(90deg,var(--secondary),#ff9f1c);
margin:10px auto 0;
border-radius:10px;
}
/* ===== Card News ===== */
.card{
  border:none;
  border-radius:14px;
  background:#fff;
  box-shadow:0 6px 20px rgba(0,0,0,0.06);
  transition:.3s ease;
}
.card:hover{
  transform:translateY(-4px);
  box-shadow:0 10px 25px rgba(0,0,0,0.12);
}
.card-img-top{
  height:220px;
  object-fit:cover;
  border-radius:14px 14px 0 0;
}
.card-title{
  font-size:.95rem;
  font-weight:500;
  line-height:1.4;
}
.card-text{
font-size:.85rem;
  color:#555;
}
a{text-decoration:none}
/* ===== Hover Image ===== */
.news-img-wrapper{
  overflow:hidden;
  border-radius:14px 14px 0 0;
}
.news-img-wrapper img{
  transition:transform .4s ease;
}
.news-img-wrapper:hover img{
  transform:scale(1.08);
}
/*
.zoom-hover{
transition:transform .4s ease;
}
.zoom-hover:hover{
transform:scale(1.08);
}
*/
/* ===== Button ===== */
.btn-outline-primary{
 border-radius:20px;
 font-size:.8rem;
 padding:4px 14px;
 border-color:var(--primary);
 color:var(--primary);
}
.btn-outline-primary:hover{
  background:var(--primary);
  color:#fff;
}
/* ===== Tourism ===== */
.tour-section{
  background:linear-gradient(180deg,#fff,#eef6f2);
}
/* ===== GOV.TH STYLE SPACING ===== */
.section-gap {
  padding: 2.5rem 0;
}
.section-title {
  margin-bottom: 1.5rem;
}
.section-title h4 {
  margin-bottom: 0;
}
.row.g-4 {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 1.75rem;
}
/* container ไม่ชิดเกิน */
.container {
 max-width: 1280px;
}
/* card body โปร่ง อ่านง่าย */
.card-body {
  padding: 1rem 1rem 0.75rem;
}
.card-footer {
  padding: 0.5rem 1rem 1rem;
}
/* ===== URGENT NEWS ===== */
.urgent-card {
  position:relative;
  border-left: 6px solid #dc3545;
  background: #fff5f5;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
}
.urgent-card::before{
  content:"ด่วน";
  position:absolute;
  top:-12px;
  right:20px;
  background:#dc3545;
  color:#fff;
  font-size:.7rem;
  padding:4px 12px;
  border-radius:20px;
}
.urgent-badge {
  background: #dc3545;
  color: #fff;
  font-size: 0.7rem;
  padding: 4px 10px;
  border-radius: 20px;
}
.urgent-title {
  font-weight: 600;
  font-size: 1rem;
  color: #842029;
}
.urgent-meta {
  font-size: 0.8rem;
  color: #6c757d;
}
/* ===== HERO WOW ===== */
.hero-wrapper{
  position:relative;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 20px 50px rgba(0,0,0,.15);
}
.hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(
    120deg,
    rgba(11,79,108,.85),
    rgba(0,0,0,.35)
  );
  z-index:2;
}
.hero-content{
position:absolute;
inset:0;
 z-index:3;
 display:flex;
 align-items:center;
 padding:3rem;
 color:#fff;
}
.hero-content h1{
  font-size:2.4rem;
  font-weight:600;
}
.hero-content p{
  font-size:1.1rem;
 opacity:.95;
 margin-top:.5rem;
}
.smart-service{
  background:#fff;
  border-radius:20px;
  padding:30px 20px;
  text-align:center;
  box-shadow:0 12px 30px rgba(0,0,0,.08);
  transition:.4s ease;
  height:100%;
}
.smart-service i{
  font-size:2.4rem;
  color:var(--primary);
  margin-bottom:10px;
}
.smart-service:hover{
  transform:translateY(-10px);
  background:linear-gradient(135deg,var(--primary),#1f7aa5);
  color:#fff;
}
.smart-service:hover i{
  color:#fff;
}
.card{
  will-change:transform;
}
#cityMap{
  height:560px;
  border-radius:24px;
 box-shadow:0 18px 40px rgba(0,0,0,.18);
 overflow:hidden;
}
.leaflet-popup-content h6{
 margin-bottom:4px;
  color:#0b4f6c;
 font-weight:600;
}
 /* HEADER */

.featured-header h2{

font-weight:800;
color:#0b4f6c;

}

.gradient-line{

height:4px;
width:120px;

background:linear-gradient(90deg,
#f37021,
#ffb703,
#0b4f6c);

border-radius:10px;

animation:gradientMove 3s linear infinite;

background-size:200%;

}

@keyframes gradientMove{

0%{background-position:0%}
100%{background-position:200%}

}

/* HERO */

.gov-slider{

position:relative;
height:460px;
overflow:hidden;
border-radius:16px;

box-shadow:
0 20px 50px rgba(0,0,0,.25);

background:#000;

}

/* slide */

.gov-slide{

position:absolute;
width:100%;
height:100%;
opacity:0;

transform:scale(1.08);

transition:
opacity 1s ease,
transform 6s ease;

}

.gov-slide.active{

opacity:1;
transform:scale(1);

}

/* image */

.gov-image img{

width:100%;
height:100%;
object-fit:cover;

}

/* overlay */

.gov-overlay {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 24px;
    background: linear-gradient(
        to top,
        rgba(0, 32, 96, 0.95) 0%,
        rgba(0, 32, 96, 0.85) 50%,
        rgba(0, 32, 96, 0.0) 100%
    );
    color: #fff;
}

/* 🔴 Badge */
.gov-badge {
    display: inline-block;
    background: #c00000;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: 4px;
    margin-bottom: 12px;
    letter-spacing: 0.5px;
}
/* 🏛️ Title (เด่นจริง) */
.gov-title {
    font-size: 1.4rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.5;
    margin-bottom: 12px;

    /* ทำให้คมและลอยจากพื้นหลัง */
    text-shadow: 
        0 2px 6px rgba(0,0,0,0.4),
        0 1px 1px rgba(0,0,0,0.6);

    letter-spacing: 0.3px;
}
.gov-title::after {
    content: "";
    display: block;
    width: 60px;
    height: 3px;
    background: #ffcc00;
    margin-top: 10px;
}
/* Metadata */
.gov-meta {
    font-size: 14px;
    opacity: 0.95;
    margin-bottom: 14px;
    display: flex;
    gap: 18px;
}


@keyframes pulse{

0%{transform:scale(1)}
50%{transform:scale(1.1)}
100%{transform:scale(1)}

}

/* ปุ่ม */
.gov-btn {
    display: inline-block;
    background: #ffffff;
    color: #002060;
    font-weight: 600;
    font-size: 14px;
    padding: 8px 18px;
    border-radius: 4px;
    text-decoration: none;
    transition: all .25s ease;
}
.gov-btn:hover {
    background: #ffcc00;
    color: #000;
}

/* progress */

.gov-progress{

position:absolute;
bottom:0;
left:0;

height:4px;
width:0%;

background:#ffc107;

}

/* thumbnails */

.gov-thumbs{

position:absolute;
bottom:10px;
right:10px;

display:flex;
gap:6px;

}

.gov-thumbs img{

width:60px;
height:40px;

object-fit:cover;

opacity:.5;
cursor:pointer;

border-radius:4px;

transition:.3s;

}

.gov-thumbs img.active{

opacity:1;
border:2px solid #ffc107;

}

/* shimmer loading */

.shimmer{

background:
linear-gradient(
90deg,
#333 25%,
#444 50%,
#333 75%
);

background-size:400% 100%;

animation:shimmer 1.5s infinite;

}

@keyframes shimmer{

0%{background-position:100% 0}
100%{background-position:-100% 0}

}

/* mobile */

@media(max-width:768px){

.gov-slider{height:280px}

.gov-overlay{padding:20px}

.gov-overlay h2{font-size:18px}

}