/* ภัยสังคม (socialdanger) — official editorial/news theme (light) */
:root{
  --bg:#ffffff;
  --bg-2:#f5f6f8;
  --bg-3:#eef1f4;
  --line:#e3e7ec;
  --text:#18202b;
  --muted:#5b6673;
  --accent:#b3262f;      /* deep red (alerts) */
  --accent-2:#12233a;    /* navy (masthead/footer) */
  --blue:#2456a6;
  --green:#1e7e44;
  --amber:#a9710f;
  --radius:10px;
  --shadow:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.06);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans Thai",sans-serif;background:var(--bg);color:var(--text);line-height:1.7}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:1140px;margin:0 auto;padding:0 20px}
.muted{color:var(--muted)}

/* top utility bar */
.topbar{background:var(--accent-2);color:#cbd4df;font-size:.82rem}
.topbar .container{display:flex;justify-content:space-between;gap:12px;padding-top:8px;padding-bottom:8px}
.topbar a{color:#dfe6ee}
.topbar a:hover{color:#fff}

/* masthead */
.masthead{padding:22px 0;border-bottom:1px solid var(--line)}
.masthead .container{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:14px}
.brand .logo{width:46px;height:46px;flex:none}
.brand .brand-name{margin:0;font-size:1.5rem;line-height:1.1;letter-spacing:-.01em}
.brand .tagline{margin:2px 0 0;color:var(--muted);font-size:.85rem}
.masthead .actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.masthead .date{color:var(--muted);font-size:.85rem}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:8px;font-weight:600;font-size:.92rem;border:1px solid transparent}
.btn.solid{background:var(--accent);color:#fff}
.btn.outline{border-color:var(--line);background:#fff}
.btn.navy{background:var(--accent-2);color:#fff}
.btn.fb{background:#1877f2;color:#fff}

/* navbar */
.navbar{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:40}
.navbar .container{display:flex;gap:2px;overflow-x:auto}
.navbar a{display:inline-block;padding:12px 14px;font-weight:600;color:var(--muted);white-space:nowrap;border-bottom:2px solid transparent}
.navbar a:hover{color:var(--text)}
.navbar a.active{color:var(--accent);border-bottom-color:var(--accent)}

/* page title bar */
.page-head{padding:26px 0 18px}
.page-head .crumbs{font-size:.82rem;color:var(--muted);margin-bottom:6px}
.page-head h1{margin:0;font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.01em}
.page-head p{margin:8px 0 0;color:var(--muted);max-width:720px}

/* section */
.section{padding:30px 0}
.sec-title{display:flex;align-items:center;gap:10px;margin:0 0 18px;font-size:1.25rem}
.sec-title::before{content:"";width:4px;height:22px;background:var(--accent);border-radius:2px}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:18px}
.sec-head h2{margin:0;font-size:1.25rem}
.sec-head .see{color:var(--accent);font-weight:600;font-size:.9rem}

/* lead (featured) article */
.lead{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.lead .img{height:clamp(200px,38vw,340px);background-size:cover;background-position:center}
.lead .body{padding:24px}
.lead h2{font-size:clamp(1.3rem,3vw,1.9rem);line-height:1.25;margin:8px 0 10px}
.lead p{color:var(--muted);margin:0 0 14px}
.meta{color:var(--muted);font-size:.8rem;display:flex;gap:10px;align-items:center}

/* tag pill */
.tag{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:700}
.tag.red{background:#fbecec;color:var(--accent)}
.tag.amber{background:#fbf1dd;color:var(--amber)}
.tag.blue{background:#e8eefb;color:var(--blue)}
.tag.green{background:#e7f3ec;color:var(--green)}

/* grids */
.grid{display:grid;gap:20px;grid-template-columns:1fr}
@media(min-width:640px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.grid{grid-template-columns:repeat(3,1fr)}}
.layout{display:grid;gap:28px;grid-template-columns:1fr}
@media(min-width:960px){.layout{grid-template-columns:2fr 1fr}}

/* cards */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s}
.card:hover{box-shadow:var(--shadow)}
.card .thumb{height:180px;background-size:cover;background-position:center;display:block}
.card .body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.card h3{margin:0;font-size:1.02rem;line-height:1.4}
.card p{margin:0;color:var(--muted);font-size:.9rem}
.card .more{margin-top:auto;color:var(--accent);font-weight:600;font-size:.9rem}
.card .meta{margin-top:6px}

/* side widgets */
.widget{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:20px}
.widget h3{margin:0 0 12px;font-size:1.05rem}
.widget ul{list-style:none;margin:0;padding:0}
.widget li{margin:8px 0}
.widget li a{color:var(--text);font-size:.95rem}
.widget li a:hover{color:var(--accent)}
.widget .warn-box{background:var(--accent);color:#fff;border-radius:8px;padding:14px;margin-top:14px}
.widget .warn-box .btn{background:#fff;color:var(--accent);margin-top:10px}

/* check page */
.check-step{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:16px}
.verdict .vitem .dot{width:12px;height:12px;border-radius:50%;margin-top:5px;flex:none}

/* footer */
.site-footer{background:var(--accent-2);color:#c6cfd9;margin-top:40px;padding:40px 0 34px;font-size:.92rem}
.site-footer a{color:#e6ebf1}
.site-footer .cols{display:grid;gap:26px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.site-footer h4{color:#fff;margin:0 0 12px;font-size:1rem}
.site-footer .foot-title{font-size:1.15rem;color:#fff;font-weight:700}
.site-footer .fine{border-top:1px solid #2a3a52;margin-top:24px;padding-top:16px;font-size:.8rem;color:#93a2b5}

/* full-width hero banner */
.hero-banner{position:relative;border-radius:var(--radius);overflow:hidden;min-height:clamp(300px,46vw,420px);display:flex;align-items:flex-end;color:#fff}
.hero-banner .bg{position:absolute;inset:0;background-size:cover;background-position:center}
.hero-banner .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,35,58,.05),rgba(18,35,58,.86))}
.hero-banner .content{position:relative;padding:clamp(20px,4vw,34px);max-width:760px}
.hero-banner h1,.hero-banner h2{font-size:clamp(1.4rem,4.2vw,2.5rem);line-height:1.18;margin:10px 0 10px;color:#fff}
.hero-banner p{color:#e2e8ef;margin:0 0 16px;max-width:640px}
.hero-banner .meta{display:flex;gap:12px;align-items:center;color:#cfd8e2;font-size:.85rem;flex-wrap:wrap}
.hero-banner .btn{background:#fff;color:var(--accent-2)}

/* facebook page feed */
.fb-feed{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:20px;text-align:center}
.fb-feed iframe{border:none;overflow:hidden;max-width:100%;margin:0 auto;background:#fff}

/* forms */
.form{display:grid;gap:14px}
.field{display:grid;gap:6px}
.field label{font-weight:600;font-size:.9rem}
.field .req{color:var(--accent)}
.field input,.field select,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font:inherit}
.field textarea{min-height:120px;resize:vertical}
.field .hint{font-size:.78rem;color:var(--muted)}
.form .checkbox{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;color:var(--muted)}
.form .checkbox input{width:auto;margin-top:3px}
.form-status{padding:12px 14px;border-radius:8px;font-size:.9rem;display:none}
.form-status.ok{display:block;background:#e7f3ec;color:#1e7e44}
.form-status.err{display:block;background:#fbecec;color:#b3262f}

/* search / tags / news list */
.search-box{display:flex;gap:10px;margin-bottom:20px}
.search-box input{flex:1;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font:inherit}
.search-box button{background:var(--accent);color:#fff;border:none;padding:0 18px;border-radius:8px;font-weight:600}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.tags a{padding:5px 12px;border:1px solid var(--line);border-radius:999px;font-size:.82rem;color:var(--muted);font-weight:600}
.tags a:hover,.tags a.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.news-list{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:640px){.news-list{grid-template-columns:repeat(2,1fr)}}
.pagination{display:flex;gap:8px;margin-top:24px;flex-wrap:wrap}
.pagination a,.pagination span{padding:8px 14px;border:1px solid var(--line);border-radius:8px;font-size:.9rem}
.pagination .cur{background:var(--accent);color:#fff;border-color:var(--accent)}

/* article page */
.article{max-width:780px}
.article .cover{height:clamp(220px,40vw,380px);background-size:cover;background-position:center;border-radius:var(--radius);overflow:hidden;margin-bottom:20px}
.article h1{font-size:clamp(1.5rem,4vw,2.3rem);line-height:1.2;margin:10px 0}
.article .meta{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:.85rem;flex-wrap:wrap;margin-bottom:20px}
.article p{color:#334; }
.article h2{font-size:1.25rem;margin:28px 0 8px}
.article .callout{background:var(--bg-2);border:1px solid var(--line);border-left:4px solid var(--accent);padding:16px;border-radius:8px;margin:20px 0}
.article .source{font-size:.82rem;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-top:28px}

/* trust badge / notice */
.badge-verify{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--green);color:var(--green);border-radius:999px;font-size:.75rem;font-weight:700;background:#e7f3ec}
.notice{background:var(--bg-2);border:1px solid var(--line);border-left:4px solid var(--amber);padding:12px 16px;border-radius:8px;font-size:.88rem;margin:16px 0}

/* cookie banner */
.cookie{position:fixed;left:16px;right:16px;bottom:16px;background:var(--accent-2);color:#dfe6ee;border-radius:12px;padding:16px 18px;box-shadow:var(--shadow);display:none;z-index:100;max-width:560px;margin:0 auto}
.cookie.show{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.cookie p{margin:0;font-size:.86rem;flex:1}
.cookie .btn{background:#fff;color:var(--accent-2)}
